Advertisement
Lisenochek

Untitled

Sep 3rd, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.52 KB | None | 0 0
  1. package ru.proempire.lisenochek.pj.base;
  2.  
  3. import java.io.*;
  4. import java.util.Base64;
  5.  
  6. public class AchievementData implements Serializable {
  7.  
  8. private Achievement achievement;
  9. private boolean isCompleted;
  10. private Data data;
  11.  
  12. public AchievementData(Achievement achievement, boolean isCompleted, Data data) {
  13. this.achievement = achievement;
  14. this.isCompleted = isCompleted;
  15. this.data = data;
  16. }
  17.  
  18. public static AchievementData getData(String playerName, Achievement achievement) {
  19. return PlayerData.playersMap.get(playerName).getAchievementsMap().get(achievement);
  20. }
  21.  
  22. public static AchievementData deserialize(String data) {
  23. try {
  24. ObjectInputStream objectInputStream = new ObjectInputStream(new ByteArrayInputStream(Base64.getDecoder().decode(data)));
  25. AchievementData achievementData = (AchievementData) objectInputStream.readObject();
  26. objectInputStream.close();
  27. return achievementData;
  28. } catch (IOException | ClassNotFoundException e) {
  29. e.printStackTrace();
  30. return null;
  31. }
  32. }
  33.  
  34. public Achievement getAchievement() {
  35. return achievement;
  36. }
  37.  
  38. public boolean isCompleted() {
  39. return isCompleted;
  40. }
  41.  
  42. public Data getData() {
  43. return data;
  44. }
  45.  
  46. public void setCompleted(boolean isCompleted) {
  47. this.isCompleted = isCompleted;
  48. }
  49.  
  50. public void setData(Object data) {
  51. this.data.setData(data);
  52. }
  53.  
  54. public String serialize() {
  55. try {
  56. ByteArrayOutputStream byteOutputStream = new ByteArrayOutputStream();
  57. ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteOutputStream);
  58. objectOutputStream.writeObject(this);
  59. objectOutputStream.flush();
  60. return Base64.getEncoder().encodeToString(byteOutputStream.toByteArray());
  61. } catch (Exception e) {
  62. e.printStackTrace();
  63. return null;
  64. }
  65. }
  66.  
  67. public enum Achievement implements Serializable {
  68.  
  69. ANARCHY_RUBOLOV(Server.ANARCHY, Level.EASY, true),
  70. ANARCHY_SOTOCHKA(Server.ANARCHY, Level.EASY, true),
  71. ANARCHY_PERVOBUTNYY_TORGASH(Server.ANARCHY, Level.EASY),
  72. ANARCHY_FIASCO(Server.ANARCHY, Level.EASY),
  73. ANARCHY_JUVUCHUY(Server.ANARCHY, Level.EASY),
  74. ANARCHY_NA_UBOU(Server.ANARCHY, Level.EASY),
  75. ANARCHY_PISKAR(Server.ANARCHY, Level.EASY),
  76. ANARCHY_DACHNIK(Server.ANARCHY, Level.EASY),
  77. ANARCHY_VODUCHU_NAPICHYA(Server.ANARCHY, Level.MEDIUM),
  78. ANARCHY_ANTI_BOOM(Server.ANARCHY, Level.MEDIUM),
  79. ANARCHY_NU_POGODU(Server.ANARCHY, Level.MEDIUM),
  80. ANARCHY_BANDIT(Server.ANARCHY, Level.MEDIUM),
  81. ANARCHY_HVATIT_UJE(Server.ANARCHY, Level.MEDIUM, true),
  82. ANARCHY_COSAR(Server.ANARCHY, Level.MEDIUM, true),
  83. ANARCHY_SLADOST(Server.ANARCHY, Level.MEDIUM),
  84. ANARHCY_JELEZNUY_CHELOVEK(Server.ANARCHY, Level.MEDIUM),
  85. ANARHCY_GURMAN(Server.ANARCHY, Level.MEDIUM),
  86. ANARHCY_SAXAROCHEK(Server.ANARCHY, Level.MEDIUM),
  87. ANARCHY_OHOTNIK_NA_MONSTROV(Server.ANARCHY, Level.MEDIUM),
  88. ANARCHY_KAK_VEDRO_ETO_DERJUT(Server.ANARCHY, Level.MEDIUM),
  89. ANARCHY_TEPER_MOE(Server.ANARCHY, Level.MEDIUM),
  90. ANARCHY_SIDOROVICH(Server.ANARCHY, Level.MEDIUM, true),
  91. ANARCHY_GOLOVOREZ(Server.ANARCHY, Level.HARD, true),
  92. ANARCHY_OBRYAD_OCHUSHENYA(Server.ANARCHY, Level.HARD),
  93. ANARCHY_POCHEKOTAT_DRACONA(Server.ANARCHY, Level.HARD, true),
  94. ANARCHY_NA_SHASHLUK_POUDET(Server.ANARCHY, Level.HARD),
  95. ANARCHY_MORSKOU_CHERT(Server.ANARCHY, Level.HARD, true),
  96. ANARCHY_KROVAT_NE_DRUG(Server.ANARCHY, Level.HARD),
  97. ANARCHY_BLESTYASHKA(Server.ANARCHY, Level.HARD),
  98. ANARCHY_MASTER_NA_VSE_RUKI(Server.ANARCHY, Level.HARD),
  99. ANARCHY_300_VOLT(Server.ANARCHY, Level.HARD),
  100. ANARCHY_KOSHEI(Server.ANARCHY, Level.EXTREME, true),
  101. ANARCHY_PROKLYATYE_ADA(Server.ANARCHY, Level.EXTREME),
  102.  
  103. HARD_TU_KTO_TAKOU(Server.HARD, Level.EASY),
  104. HARD_PRIVET_MUP(Server.HARD, Level.EASY),
  105. HARD_SHASLUCHOK(Server.HARD, Level.EASY),
  106. HARD_A_MOJNO_MNE_KUSOCHEK(Server.HARD, Level.EASY),
  107. HARD_YA_NE_UMEU_LETAT(Server.HARD, Level.EASY),
  108. HARD_UDAR_BOGATURYA(Server.HARD, Level.EASY),
  109. HARD_ALHUMUYA(Server.HARD, Level.EASY),
  110. HARD_VMESTE_MU_SULA(Server.HARD, Level.EASY),
  111. HARD_Y_NAS_OBHUYA_CHEL(Server.HARD, Level.EASY),
  112. HARD_ROBIN_BOBIN(Server.HARD, Level.MEDIUM),
  113. HARD_A_NU_IDI_SUDA(Server.HARD, Level.MEDIUM),
  114. HARD_AI_MOU_ZUB(Server.HARD, Level.MEDIUM),
  115. HARD_PUST_MUSUCA_IGRAET(Server.HARD, Level.MEDIUM),
  116. HARD_LUSHYA_EDA(Server.HARD, Level.MEDIUM),
  117. HARD_MOYA_PRELEST(Server.HARD, Level.MEDIUM),
  118. HARD_A_ETO_VOOBSHE_NUJNO(Server.HARD, Level.MEDIUM),
  119. HARD_CHAR_CHAR(Server.HARD, Level.MEDIUM),
  120. HARD_MENYA_NE_SLOMIT(Server.HARD, Level.MEDIUM),
  121. HARD_POSTOYANYY_CLIENT(Server.HARD, Level.MEDIUM, true),
  122. HARD_NAM_NE_NUJNUY_SLABAKU(Server.HARD, Level.MEDIUM),
  123. HARD_KREPOST(Server.HARD, Level.HARD, true),
  124. HARD_COLLECTIONER(Server.HARD, Level.HARD),
  125. HARD_NEPRESTUPNUY(Server.HARD, Level.HARD),
  126. HARD_DALEK(Server.HARD, Level.HARD, true),
  127. HARD_MAYAK(Server.HARD, Level.HARD),
  128. HARD_SHABASH(Server.HARD, Level.HARD, true),
  129. HARD_PRODVISJENUE_PO_SLUJBE(Server.HARD, Level.HARD),
  130. HARD_HOCHES_SDELAT_ETO_HOROSHO_SDELAY_ETO_SAM(Server.HARD, Level.HARD),
  131. HARD_BOGATEU(Server.HARD, Level.EXTREME, true),
  132.  
  133. LITE_ZAYADLYY_IGROK(Server.LITE, Level.EASY, true),
  134. LITE_PERVYA_KROV(Server.LITE, Level.EASY),
  135. LITE_RABOTYAGA(Server.LITE, Level.EASY),
  136. LITE_NARIK(Server.LITE, Level.EASY),
  137. LITE_PYT_K_YSPEHY(Server.LITE, Level.EASY),
  138. LITE_TVOY_NOVYY_DRUG(Server.LITE, Level.EASY),
  139. LITE_YA_PTICYA(Server.LITE, Level.EASY),
  140. LITE_COMMANDYY_IGROK(Server.LITE, Level.EASY),
  141. LITE_BYHAR(Server.LITE, Level.EASY),
  142. LITE_SCHASLIVSHIK(Server.LITE, Level.EASY),
  143. LITE_VTORAYA_POLOVINKA(Server.LITE, Level.EASY),
  144. LITE_CHARODEI(Server.LITE, Level.EASY),
  145. LITE_NOCHANYA_PTUCHYA(Server.LITE, Level.EASY),
  146. LITE_BEGI_ILI_YMRU(Server.LITE, Level.EASY),
  147. LITE_KOPAU_CHTOBU_VUJUT(Server.LITE, Level.EASY),
  148. LITE_OHOTNUK_ZA_GOLOVAMU(Server.LITE, Level.MEDIUM, true),
  149. LITE_RABOTYAGA_2(Server.LITE, Level.MEDIUM, true),
  150. LITE_NAYDI_SVOE(Server.LITE, Level.MEDIUM),
  151. LITE_KONSPURACHYA(Server.LITE, Level.MEDIUM),
  152. LITE_KOPAU_CHTOBU_VUJUT_2(Server.LITE, Level.MEDIUM),
  153. LITE_BEGI_ILI_YMRU_2(Server.LITE, Level.MEDIUM),
  154. LITE_KILLER(Server.LITE, Level.MEDIUM, true),
  155. LITE_NACHALO_CHEGO_TO_BOLCHEGO(Server.LITE, Level.MEDIUM),
  156. LITE_SPONSOR(Server.LITE, Level.MEDIUM, true),
  157. LITE_BYHAR_2(Server.LITE, Level.MEDIUM, true),
  158. LITE_NOCHANYA_PTUCHYA_2(Server.LITE, Level.MEDIUM, true),
  159. LITE_ZAYADLYY_IGROK_2(Server.LITE, Level.MEDIUM, true),
  160. LITE_OHOTNUK_ZA_GOLOVAMU_2(Server.LITE, Level.MEDIUM, true),
  161. LITE_STAJUROVKA(Server.LITE, Level.MEDIUM),
  162. LITE_TVOU_DRUG(Server.LITE, Level.MEDIUM),
  163. LITE_YA_PTICYA_2(Server.LITE, Level.MEDIUM, true),
  164. LITE_COMMANDYY_IGROK_2(Server.LITE, Level.MEDIUM, true),
  165. LITE_COLLECTIV(Server.LITE, Level.MEDIUM),
  166. LITE_SCHASLIVSHIK_2(Server.LITE, Level.MEDIUM, true),
  167. LITE_BYHAR_3(Server.LITE, Level.MEDIUM, true),
  168. LITE_KOPAU_CHTOBU_VUJUT_3(Server.LITE, Level.HARD, true),
  169. LITE_BEGI_ILI_YMRU_3(Server.LITE, Level.HARD, true),
  170. LITE_SPONSOR_2(Server.LITE, Level.HARD, true),
  171. LITE_KILLER_2(Server.LITE, Level.HARD, true),
  172. LITE_NOCHANYA_PTUCHYA_3(Server.LITE, Level.HARD, true),
  173. LITE_ZAYADLYY_IGROK_3(Server.LITE, Level.HARD, true),
  174. LITE_RABOTYAGA_3(Server.LITE, Level.HARD, true),
  175. LITE_BYHAR_4(Server.LITE, Level.HARD, true),
  176. LITE_CHEZAR(Server.LITE, Level.HARD),
  177. LITE_YA_PTICYA_3(Server.LITE, Level.HARD, true),
  178. LITE_COMMANDYY_IGROK_3(Server.LITE, Level.HARD, true),
  179. LITE_SCHASLIVSHIK_3(Server.LITE, Level.HARD, true),
  180. LITE_POD_ZAVYAZKY(Server.LITE, Level.EXTREME),
  181. LITE_RAZNORABOCHUY(Server.LITE, Level.EXTREME),
  182.  
  183. TECH_CHELUY_MUP_V_ODNOM_SLOTE(Server.TECH, Level.EASY),
  184. TECH_OFFICER_PRU_USPOLNENUY(Server.TECH, Level.EASY),
  185. TECH_PLAV_POKA_GORYACHO(Server.TECH, Level.EASY),
  186. TECH_PERVUY_SHAG(Server.TECH, Level.EASY),
  187. TECH_SMESNYA_EDA(Server.TECH, Level.EASY),
  188. TECH_MAG_UCHENIK(Server.TECH, Level.EASY),
  189. TECH_VSE_SVOE_NOCHY_S_SOBOU(Server.TECH, Level.EASY),
  190. TECH_UVELUR(Server.TECH, Level.EASY),
  191. TECH_POCHTI_KAK_PODOROJNIK(Server.TECH, Level.EASY),
  192. TECH_ALPINIST(Server.TECH, Level.MEDIUM),
  193. TECH_TALISMANY_UDACHI(Server.TECH, Level.MEDIUM),
  194. TECH_ZNAKOMSTO_S_TEHNOLOGUYAMI(Server.TECH, Level.MEDIUM),
  195. TECH_ENERGYA_SOLNCHA(Server.TECH, Level.MEDIUM),
  196. TECH_RASKALENYY_OBUH(Server.TECH, Level.MEDIUM),
  197. TECH_VUSOKYY_UGLEROD(Server.TECH, Level.MEDIUM),
  198. TECH_K_VZLETY_GOTOV(Server.TECH, Level.MEDIUM),
  199. TECH_RADUGA(Server.TECH, Level.HARD),
  200. TECH_VES_V_ZOLOTE(Server.TECH, Level.HARD),
  201. TECH_COSMOS(Server.TECH, Level.HARD),
  202. TECH_EPL_ILI(Server.TECH, Level.HARD),
  203. TECH_GDE_MOU_KRULYA(Server.TECH, Level.HARD),
  204. TECH_DUSHA_KOMPANUU(Server.TECH, Level.EXTREME),
  205. TECH_CHENUTEL_UMORA(Server.TECH, Level.EXTREME, true),
  206.  
  207. BW_SPARTA(Server.BEDWARS, Level.EASY),
  208. BW_PERVYA_KROV(Server.BEDWARS, Level.EASY),
  209. BW_SNIPER(Server.BEDWARS, Level.EASY, true),
  210. BW_POKROVITEL_GOLEMOV(Server.BEDWARS, Level.EASY),
  211. BW_VEDMA(Server.BEDWARS, Level.EASY),
  212. BW_KRUSUNYY_KOROL(Server.BEDWARS, Level.EASY, true),
  213. BW_SUICIDNIK(Server.BEDWARS, Level.EASY),
  214. BW_NE_TAK_BUSTRO(Server.BEDWARS, Level.EASY),
  215. BW_ODINOCHKA(Server.BEDWARS, Level.EASY, true),
  216. BW_PASSIVNYY(Server.BEDWARS, Level.EASY),
  217. BW_VZRUVNUK(Server.BEDWARS, Level.EASY),
  218. BW_NE_TERYAT_NADEJDY(Server.BEDWARS, Level.EASY, true),
  219. BW_NE_PACHYAT_RUKI(Server.BEDWARS, Level.EASY),
  220. BW_BUSNESSMAN(Server.BEDWARS, Level.EASY, true),
  221. BW_DOMINIROVANIE(Server.BEDWARS, Level.EASY, true),
  222. BW_ASSASIN(Server.BEDWARS, Level.EASY),
  223. BW_NETERPELUVYY(Server.BEDWARS, Level.EASY),
  224. BW_PREDANYY(Server.BEDWARS, Level.EASY, true),
  225. BW_OM_NOM_NOM(Server.BEDWARS, Level.EASY, true),
  226.  
  227. ALL_NEZATUKAEMYY(Server.SURVIVALS, Level.MEDIUM),
  228. ALL_ETO_VOOBHE_EMEET_SMUSL(Server.SURVIVALS, Level.MEDIUM),
  229. ALL_CARDINALNUYA_BOMBEJKA(Server.SURVIVALS, Level.MEDIUM),
  230. ALL_MUTKI(Server.SURVIVALS, Level.MEDIUM, true),
  231. ALL_RUDOKOP(Server.SURVIVALS, Level.HARD),
  232. ALL_GDE_MOJNO_KUPUT_LOTEREYKY(Server.SURVIVALS, Level.HARD),
  233. ALL_MNE_BOLSHE_NE_HOLODNO(Server.SURVIVALS, Level.HARD),
  234. ALL_MAM_MNE_HOLODNO_PUSTI_DOMOU(Server.SURVIVALS, Level.HARD),
  235. ALL_ETO_MASKA(Server.SURVIVALS, Level.HARD),
  236. ALL_MAGNAT(Server.SURVIVALS, Level.HARD, true),
  237. ALL_VEZDESHUSHUY(Server.SURVIVALS, Level.EXTREME),
  238. ALL_MANYAK(Server.SURVIVALS, Level.EXTREME, true);
  239.  
  240. private Server server;
  241. private Level level;
  242. private boolean isCount;
  243.  
  244. Achievement(Server server, Level level, boolean isCount) {
  245. this.server = server;
  246. this.level = level;
  247. this.isCount = isCount;
  248. }
  249.  
  250. Achievement(Server server, Level level) {
  251. this.server = server;
  252. this.level = level;
  253. }
  254.  
  255. public Server getServer() {
  256. return server;
  257. }
  258.  
  259. public Level getLevel() {
  260. return level;
  261. }
  262.  
  263. public boolean isCount() {
  264. return isCount;
  265. }
  266. }
  267.  
  268. public enum Server {
  269. ANARCHY,
  270. HARD,
  271. LITE,
  272. BASIC,
  273. TECH,
  274. BEDWARS,
  275. SURVIVALS
  276. }
  277.  
  278. public enum Level {
  279.  
  280. EASY(10),
  281. MEDIUM(25),
  282. HARD(50),
  283. EXTREME(300);
  284.  
  285. private int xpReward;
  286.  
  287. Level(int xpReward) {
  288. this.xpReward = xpReward;
  289. }
  290.  
  291. public int getXPReward() {
  292. return xpReward;
  293. }
  294. }
  295. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement