Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ru.proempire.lisenochek.pj.base;
- import java.io.*;
- import java.util.Base64;
- import java.util.HashMap;
- public class AchievementData implements Serializable {
- private boolean isCompleted;
- private HashMap<String, Data> dataMap;
- public AchievementData(boolean isCompleted, HashMap<String, Data> dataMap) {
- this.isCompleted = isCompleted;
- this.dataMap = dataMap;
- }
- public static AchievementData getData(String playerName, Achievement achievement) {
- return PlayerData.playersMap.get(playerName).getAchievementsMap().get(achievement);
- }
- public static AchievementData deserialize(String data) {
- try {
- ObjectInputStream objectInputStream = new ObjectInputStream(new ByteArrayInputStream(Base64.getDecoder().decode(data)));
- AchievementData achievementData = (AchievementData) objectInputStream.readObject();
- objectInputStream.close();
- return achievementData;
- } catch (EOFException e) {
- return null;
- } catch (IOException | ClassNotFoundException e) {
- e.printStackTrace();
- return null;
- }
- }
- public boolean isCompleted() {
- return isCompleted;
- }
- public HashMap<String, Data> getDataMap() {
- return dataMap;
- }
- public void addData(String key, Object value) {
- dataMap.put(key, new Data((Serializable) value));
- }
- public void setCompleted(boolean isCompleted) {
- this.isCompleted = isCompleted;
- }
- public String serialize() {
- try {
- ByteArrayOutputStream byteOutputStream = new ByteArrayOutputStream();
- ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteOutputStream);
- objectOutputStream.writeObject(this);
- objectOutputStream.flush();
- return Base64.getEncoder().encodeToString(byteOutputStream.toByteArray());
- } catch (Exception e) {
- e.printStackTrace();
- return null;
- }
- }
- public enum Achievement implements Serializable {
- ANARCHY_RUBOLOV(Server.ANARCHY, Level.EASY, "isCount"),
- ANARCHY_SOTOCHKA(Server.ANARCHY, Level.EASY, "isCount"),
- ANARCHY_PERVOBUTNYY_TORGASH(Server.ANARCHY, Level.EASY),
- ANARCHY_FIASCO(Server.ANARCHY, Level.EASY),
- ANARCHY_JUVUCHUY(Server.ANARCHY, Level.EASY),
- ANARCHY_NA_UBOU(Server.ANARCHY, Level.EASY, "list"),
- ANARCHY_PISKAR(Server.ANARCHY, Level.EASY),
- ANARCHY_DACHNIK(Server.ANARCHY, Level.EASY),
- ANARCHY_VODUCHU_NAPICHYA(Server.ANARCHY, Level.MEDIUM),
- ANARCHY_ANTI_BOOM(Server.ANARCHY, Level.MEDIUM),
- ANARCHY_NU_POGODU(Server.ANARCHY, Level.MEDIUM),
- ANARCHY_BANDIT(Server.ANARCHY, Level.MEDIUM),
- ANARCHY_HVATIT_UJE(Server.ANARCHY, Level.MEDIUM, "isCount"),
- ANARCHY_COSAR(Server.ANARCHY, Level.MEDIUM, "isCount"),
- ANARCHY_SLADOST(Server.ANARCHY, Level.MEDIUM),
- ANARHCY_JELEZNUY_CHELOVEK(Server.ANARCHY, Level.MEDIUM),
- ANARHCY_GURMAN(Server.ANARCHY, Level.MEDIUM),
- ANARHCY_SAXAROCHEK(Server.ANARCHY, Level.MEDIUM),
- ANARCHY_OHOTNIK_NA_MONSTROV(Server.ANARCHY, Level.MEDIUM),
- ANARCHY_KAK_VEDRO_ETO_DERJUT(Server.ANARCHY, Level.MEDIUM),
- ANARCHY_TEPER_MOE(Server.ANARCHY, Level.MEDIUM),
- ANARCHY_SIDOROVICH(Server.ANARCHY, Level.MEDIUM, "isCount"),
- ANARCHY_GOLOVOREZ(Server.ANARCHY, Level.HARD, "isCount"),
- ANARCHY_OBRYAD_OCHUSHENYA(Server.ANARCHY, Level.HARD),
- ANARCHY_POCHEKOTAT_DRACONA(Server.ANARCHY, Level.HARD, "isCount"),
- ANARCHY_NA_SHASHLUK_POUDET(Server.ANARCHY, Level.HARD),
- ANARCHY_MORSKOU_CHERT(Server.ANARCHY, Level.HARD, "isCount"),
- ANARCHY_KROVAT_NE_DRUG(Server.ANARCHY, Level.HARD),
- ANARCHY_BLESTYASHKA(Server.ANARCHY, Level.HARD),
- ANARCHY_MASTER_NA_VSE_RUKI(Server.ANARCHY, Level.HARD),
- ANARCHY_300_VOLT(Server.ANARCHY, Level.HARD),
- ANARCHY_KOSHEI(Server.ANARCHY, Level.EXTREME, "isCount"),
- ANARCHY_PROKLYATYE_ADA(Server.ANARCHY, Level.EXTREME),
- HARD_TU_KTO_TAKOU(Server.HARD, Level.EASY),
- HARD_PRIVET_MUP(Server.HARD, Level.EASY),
- HARD_SHASLUCHOK(Server.HARD, Level.EASY),
- HARD_A_MOJNO_MNE_KUSOCHEK(Server.HARD, Level.EASY),
- HARD_YA_NE_UMEU_LETAT(Server.HARD, Level.EASY),
- HARD_UDAR_BOGATURYA(Server.HARD, Level.EASY),
- HARD_ALHUMUYA(Server.HARD, Level.EASY),
- HARD_VMESTE_MU_SULA(Server.HARD, Level.EASY),
- HARD_Y_NAS_OBHUYA_CHEL(Server.HARD, Level.EASY),
- HARD_ROBIN_BOBIN(Server.HARD, Level.MEDIUM),
- HARD_A_NU_IDI_SUDA(Server.HARD, Level.MEDIUM),
- HARD_AI_MOU_ZUB(Server.HARD, Level.MEDIUM),
- HARD_PUST_MUSUCA_IGRAET(Server.HARD, Level.MEDIUM),
- HARD_LUSHYA_EDA(Server.HARD, Level.MEDIUM),
- HARD_MOYA_PRELEST(Server.HARD, Level.MEDIUM),
- HARD_A_ETO_VOOBSHE_NUJNO(Server.HARD, Level.MEDIUM),
- HARD_CHAR_CHAR(Server.HARD, Level.MEDIUM),
- HARD_MENYA_NE_SLOMIT(Server.HARD, Level.MEDIUM),
- HARD_POSTOYANYY_CLIENT(Server.HARD, Level.MEDIUM, "isCount"),
- HARD_NAM_NE_NUJNUY_SLABAKU(Server.HARD, Level.MEDIUM),
- HARD_KREPOST(Server.HARD, Level.HARD, "isCount"),
- HARD_COLLECTIONER(Server.HARD, Level.HARD),
- HARD_NEPRESTUPNUY(Server.HARD, Level.HARD),
- HARD_DALEK(Server.HARD, Level.HARD, "isCount"),
- HARD_MAYAK(Server.HARD, Level.HARD),
- HARD_SHABASH(Server.HARD, Level.HARD, "isCount"),
- HARD_PRODVISJENUE_PO_SLUJBE(Server.HARD, Level.HARD),
- HARD_HOCHES_SDELAT_ETO_HOROSHO_SDELAY_ETO_SAM(Server.HARD, Level.HARD),
- HARD_BOGATEU(Server.HARD, Level.EXTREME, "isCount"),
- LITE_ZAYADLYY_IGROK(Server.LITE, Level.EASY, "isCount"),
- LITE_PERVYA_KROV(Server.LITE, Level.EASY),
- LITE_RABOTYAGA(Server.LITE, Level.EASY),
- LITE_NARIK(Server.LITE, Level.EASY),
- LITE_PYT_K_YSPEHY(Server.LITE, Level.EASY),
- LITE_TVOY_NOVYY_DRUG(Server.LITE, Level.EASY),
- LITE_YA_PTICYA(Server.LITE, Level.EASY),
- LITE_COMMANDYY_IGROK(Server.LITE, Level.EASY),
- LITE_BYHAR(Server.LITE, Level.EASY),
- LITE_SCHASLIVSHIK(Server.LITE, Level.EASY),
- LITE_VTORAYA_POLOVINKA(Server.LITE, Level.EASY),
- LITE_CHARODEI(Server.LITE, Level.EASY),
- LITE_NOCHANYA_PTUCHYA(Server.LITE, Level.EASY),
- LITE_BEGI_ILI_YMRU(Server.LITE, Level.EASY),
- LITE_KOPAU_CHTOBU_VUJUT(Server.LITE, Level.EASY),
- LITE_OHOTNUK_ZA_GOLOVAMU(Server.LITE, Level.MEDIUM, "isCount"),
- LITE_RABOTYAGA_2(Server.LITE, Level.MEDIUM, "isCount"),
- LITE_NAYDI_SVOE(Server.LITE, Level.MEDIUM),
- LITE_KONSPURACHYA(Server.LITE, Level.MEDIUM),
- LITE_KOPAU_CHTOBU_VUJUT_2(Server.LITE, Level.MEDIUM),
- LITE_BEGI_ILI_YMRU_2(Server.LITE, Level.MEDIUM),
- LITE_KILLER(Server.LITE, Level.MEDIUM, "isCount"),
- LITE_NACHALO_CHEGO_TO_BOLCHEGO(Server.LITE, Level.MEDIUM),
- LITE_SPONSOR(Server.LITE, Level.MEDIUM, "isCount"),
- LITE_BYHAR_2(Server.LITE, Level.MEDIUM, "isCount"),
- LITE_NOCHANYA_PTUCHYA_2(Server.LITE, Level.MEDIUM, "isCount"),
- LITE_ZAYADLYY_IGROK_2(Server.LITE, Level.MEDIUM, "isCount"),
- LITE_OHOTNUK_ZA_GOLOVAMU_2(Server.LITE, Level.MEDIUM, "isCount"),
- LITE_STAJUROVKA(Server.LITE, Level.MEDIUM),
- LITE_TVOU_DRUG(Server.LITE, Level.MEDIUM),
- LITE_YA_PTICYA_2(Server.LITE, Level.MEDIUM, "isCount"),
- LITE_COMMANDYY_IGROK_2(Server.LITE, Level.MEDIUM, "isCount"),
- LITE_COLLECTIV(Server.LITE, Level.MEDIUM),
- LITE_SCHASLIVSHIK_2(Server.LITE, Level.MEDIUM, "isCount"),
- LITE_BYHAR_3(Server.LITE, Level.MEDIUM, "isCount"),
- LITE_KOPAU_CHTOBU_VUJUT_3(Server.LITE, Level.HARD, "isCount"),
- LITE_BEGI_ILI_YMRU_3(Server.LITE, Level.HARD, "isCount"),
- LITE_SPONSOR_2(Server.LITE, Level.HARD, "isCount"),
- LITE_KILLER_2(Server.LITE, Level.HARD, "isCount"),
- LITE_NOCHANYA_PTUCHYA_3(Server.LITE, Level.HARD, "isCount"),
- LITE_ZAYADLYY_IGROK_3(Server.LITE, Level.HARD, "isCount"),
- LITE_RABOTYAGA_3(Server.LITE, Level.HARD, "isCount"),
- LITE_BYHAR_4(Server.LITE, Level.HARD, "isCount"),
- LITE_CHEZAR(Server.LITE, Level.HARD),
- LITE_YA_PTICYA_3(Server.LITE, Level.HARD, "isCount"),
- LITE_COMMANDYY_IGROK_3(Server.LITE, Level.HARD, "isCount"),
- LITE_SCHASLIVSHIK_3(Server.LITE, Level.HARD, "isCount"),
- LITE_POD_ZAVYAZKY(Server.LITE, Level.EXTREME),
- LITE_RAZNORABOCHUY(Server.LITE, Level.EXTREME),
- TECH_CHELUY_MUP_V_ODNOM_SLOTE(Server.TECH, Level.EASY),
- TECH_OFFICER_PRU_USPOLNENUY(Server.TECH, Level.EASY),
- TECH_PLAV_POKA_GORYACHO(Server.TECH, Level.EASY),
- TECH_PERVUY_SHAG(Server.TECH, Level.EASY),
- TECH_SMESNYA_EDA(Server.TECH, Level.EASY),
- TECH_MAG_UCHENIK(Server.TECH, Level.EASY),
- TECH_VSE_SVOE_NOCHY_S_SOBOU(Server.TECH, Level.EASY),
- TECH_UVELUR(Server.TECH, Level.EASY),
- TECH_POCHTI_KAK_PODOROJNIK(Server.TECH, Level.EASY),
- TECH_ALPINIST(Server.TECH, Level.MEDIUM),
- TECH_TALISMANY_UDACHI(Server.TECH, Level.MEDIUM),
- TECH_ZNAKOMSTO_S_TEHNOLOGUYAMI(Server.TECH, Level.MEDIUM),
- TECH_ENERGYA_SOLNCHA(Server.TECH, Level.MEDIUM),
- TECH_RASKALENYY_OBUH(Server.TECH, Level.MEDIUM),
- TECH_VUSOKYY_UGLEROD(Server.TECH, Level.MEDIUM),
- TECH_K_VZLETY_GOTOV(Server.TECH, Level.MEDIUM),
- TECH_RADUGA(Server.TECH, Level.HARD),
- TECH_VES_V_ZOLOTE(Server.TECH, Level.HARD),
- TECH_COSMOS(Server.TECH, Level.HARD),
- TECH_EPL_ILI(Server.TECH, Level.HARD),
- TECH_GDE_MOU_KRULYA(Server.TECH, Level.HARD),
- TECH_DUSHA_KOMPANUU(Server.TECH, Level.EXTREME),
- TECH_CHENUTEL_UMORA(Server.TECH, Level.EXTREME, "isCount"),
- BW_SPARTA(Server.BEDWARS, Level.EASY),
- BW_PERVYA_KROV(Server.BEDWARS, Level.EASY),
- BW_SNIPER(Server.BEDWARS, Level.EASY, "isCount"),
- BW_POKROVITEL_GOLEMOV(Server.BEDWARS, Level.EASY),
- BW_VEDMA(Server.BEDWARS, Level.EASY),
- BW_KRUSUNYY_KOROL(Server.BEDWARS, Level.EASY, "isCount"),
- BW_SUICIDNIK(Server.BEDWARS, Level.EASY),
- BW_NE_TAK_BUSTRO(Server.BEDWARS, Level.EASY),
- BW_ODINOCHKA(Server.BEDWARS, Level.EASY, "isCount"),
- BW_PASSIVNYY(Server.BEDWARS, Level.EASY),
- BW_VZRUVNUK(Server.BEDWARS, Level.EASY),
- BW_NE_TERYAT_NADEJDY(Server.BEDWARS, Level.EASY, "isCount"),
- BW_NE_PACHYAT_RUKI(Server.BEDWARS, Level.EASY),
- BW_BUSNESSMAN(Server.BEDWARS, Level.EASY, "isCount"),
- BW_DOMINIROVANIE(Server.BEDWARS, Level.EASY, "isCount"),
- BW_ASSASIN(Server.BEDWARS, Level.EASY),
- BW_NETERPELUVYY(Server.BEDWARS, Level.EASY),
- BW_PREDANYY(Server.BEDWARS, Level.EASY, "isCount"),
- BW_OM_NOM_NOM(Server.BEDWARS, Level.EASY, "isCount"),
- ALL_NEZATUKAEMYY(Server.SURVIVALS, Level.MEDIUM),
- ALL_ETO_VOOBHE_EMEET_SMUSL(Server.SURVIVALS, Level.MEDIUM),
- ALL_CARDINALNUYA_BOMBEJKA(Server.SURVIVALS, Level.MEDIUM),
- ALL_MUTKI(Server.SURVIVALS, Level.MEDIUM, "isCount"),
- ALL_RUDOKOP(Server.SURVIVALS, Level.HARD),
- ALL_GDE_MOJNO_KUPUT_LOTEREYKY(Server.SURVIVALS, Level.HARD),
- ALL_MNE_BOLSHE_NE_HOLODNO(Server.SURVIVALS, Level.HARD),
- ALL_MAM_MNE_HOLODNO_PUSTI_DOMOU(Server.SURVIVALS, Level.HARD),
- ALL_ETO_MASKA(Server.SURVIVALS, Level.HARD),
- ALL_MAGNAT(Server.SURVIVALS, Level.HARD, "isCount"),
- ALL_VEZDESHUSHUY(Server.SURVIVALS, Level.EXTREME),
- ALL_MANYAK(Server.SURVIVALS, Level.EXTREME, "isCount");
- private Server server;
- private Level level;
- private String[] defaultKeys;
- Achievement(Server server, Level level, String... defaultKeys) {
- this.server = server;
- this.level = level;
- this.defaultKeys = defaultKeys;
- }
- Achievement(Server server, Level level) {
- this.server = server;
- this.level = level;
- }
- public Server getServer() {
- return server;
- }
- public Level getLevel() {
- return level;
- }
- public String[] getDefaultKeys() {
- return defaultKeys;
- }
- }
- public enum Server {
- ANARCHY,
- HARD,
- LITE,
- BASIC,
- TECH,
- BEDWARS,
- SURVIVALS
- }
- public enum Level {
- EASY(10),
- MEDIUM(25),
- HARD(50),
- EXTREME(300);
- private int xpReward;
- Level(int xpReward) {
- this.xpReward = xpReward;
- }
- public int getXPReward() {
- return xpReward;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement