Advertisement
Lisenochek

Untitled

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