Advertisement
Guest User

Player Loading

a guest
Feb 23rd, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 20.39 KB | None | 0 0
  1. package com.ruseps.world.entity.impl.player;
  2.  
  3. import java.io.File;
  4. import java.io.FileReader;
  5. import java.nio.file.Path;
  6. import java.nio.file.Paths;
  7. import java.util.ArrayList;
  8. import java.util.List;
  9.  
  10. import com.google.gson.Gson;
  11. import com.google.gson.GsonBuilder;
  12. import com.google.gson.JsonObject;
  13. import com.google.gson.JsonParser;
  14. import com.ruseps.engine.task.impl.FamiliarSpawnTask;
  15. import com.ruseps.model.GameMode;
  16. import com.ruseps.model.Gender;
  17. import com.ruseps.model.Item;
  18. import com.ruseps.model.MagicSpellbook;
  19. import com.ruseps.model.PlayerRelations.PrivateChatStatus;
  20. import com.ruseps.model.PlayerRights;
  21. import com.ruseps.model.Position;
  22. import com.ruseps.model.Prayerbook;
  23. import com.ruseps.model.container.impl.Bank;
  24. import com.ruseps.net.login.LoginResponses;
  25. import com.ruseps.world.content.DropLog;
  26. import com.ruseps.world.content.DropLog.DropLogEntry;
  27. import com.ruseps.world.content.KillsTracker;
  28. import com.ruseps.world.content.KillsTracker.KillsEntry;
  29. import com.ruseps.world.content.LoyaltyProgramme.LoyaltyTitles;
  30. import com.ruseps.world.content.combat.magic.CombatSpells;
  31. import com.ruseps.world.content.combat.weapon.FightType;
  32. import com.ruseps.world.content.grandexchange.GrandExchangeOffer;
  33. import com.ruseps.world.content.grandexchange.GrandExchangeSlot;
  34. import com.ruseps.world.content.grandexchange.GrandExchangeSlotState;
  35. import com.ruseps.world.content.skill.SkillManager.Skills;
  36. import com.ruseps.world.content.skill.impl.slayer.SlayerMaster;
  37. import com.ruseps.world.content.skill.impl.slayer.SlayerTasks;
  38.  
  39.  
  40. public class PlayerLoading {
  41.    
  42.     public static int getResult(Player player) {
  43.  
  44.         // Create the path and file objects.
  45.         Path path = Paths.get("./data/saves/characters/", player.getUsername() + ".json");
  46.         File file = path.toFile();
  47.  
  48.         // If the file doesn't exist, we're logging in for the first
  49.         // time and can skip all of this.
  50.         if (!file.exists()) {
  51.             return LoginResponses.NEW_ACCOUNT;
  52.         }
  53.  
  54.         // Now read the properties from the json parser.
  55.         try (FileReader fileReader = new FileReader(file)) {
  56.             JsonParser fileParser = new JsonParser();
  57.             Gson builder = new GsonBuilder().create();
  58.             JsonObject reader = (JsonObject) fileParser.parse(fileReader);
  59.  
  60.  
  61.             if (reader.has("total-play-time-ms")) {
  62.                 player.setTotalPlayTime(reader.get("total-play-time-ms").getAsLong());
  63.             }
  64.  
  65.             if (reader.has("username")) {
  66.                 player.setUsername(reader.get("username").getAsString());
  67.             }
  68.  
  69.             if (reader.has("password")) {
  70.                 String password = reader.get("password").getAsString();
  71.                 if (!player.getPassword().equals(password)) {
  72.                     return LoginResponses.LOGIN_INVALID_CREDENTIALS;
  73.                 }
  74.                 player.setPassword(password);
  75.             }
  76.  
  77.             if (reader.has("email")) {
  78.                 player.setEmailAddress(reader.get("email").getAsString());
  79.             }
  80.  
  81.             if (reader.has("staff-rights")) {
  82.                 player.setRights(PlayerRights.valueOf(reader.get("staff-rights").getAsString()));
  83.             }
  84.            
  85.             if (reader.has("game-mode")) {
  86.                 player.setGameMode(GameMode.valueOf(reader.get("game-mode").getAsString()));
  87.             }
  88.            
  89.  
  90.             if (reader.has("loyalty-title")) {
  91.                 player.setLoyaltyTitle(LoyaltyTitles.valueOf(reader.get("loyalty-title").getAsString()));
  92.             }
  93.  
  94.             if (reader.has("position")) {
  95.                 player.getPosition().setAs(builder.fromJson(reader.get("position"), Position.class));
  96.             }
  97.            
  98.             if(reader.has("online-status")) {
  99.                 player.getRelations().setStatus(PrivateChatStatus.valueOf(reader.get("online-status").getAsString()), false);
  100.             }
  101.  
  102.             if (reader.has("money-pouch")) {
  103.                 player.setMoneyInPouch(reader.get("money-pouch").getAsLong());
  104.             }
  105.             if (reader.has("pw-changed")) {
  106.                 player.setChangedPassword(reader.get("pw-changed").getAsBoolean());
  107.             }
  108.  
  109.             if (reader.has("given-starter")) {
  110.                 player.setReceivedStarter(reader.get("given-starter").getAsBoolean());
  111.             }
  112.  
  113.             if (reader.has("donated")) {
  114.                 player.incrementAmountDonated(reader.get("donated").getAsInt());
  115.             }
  116.            
  117.            
  118.             if(reader.has("minutes-bonus-exp")) {
  119.                 player.setMinutesBonusExp(reader.get("minutes-bonus-exp").getAsInt(), false);
  120.             }
  121.  
  122.             if (reader.has("total-gained-exp")) {
  123.                 player.getSkillManager().setTotalGainedExp(reader.get("total-gained-exp").getAsInt());
  124.             }
  125.  
  126.             if (reader.has("dung-tokens")) {
  127.                 player.getPointsHandler().setDungeoneeringTokens(reader.get("dung-tokens").getAsInt(), false);
  128.             }
  129.  
  130.             if(reader.has("prestige-points")) {
  131.                 player.getPointsHandler().setPrestigePoints(reader.get("prestige-points").getAsInt(), false);
  132.             }
  133.            
  134.             if(reader.has("achievement-points")) {
  135.                 player.getPointsHandler().setAchievementPoints(reader.get("achievement-points").getAsInt(), false);
  136.             }
  137.            
  138.             if(reader.has("commendations")) {
  139.                 player.getPointsHandler().setCommendations(reader.get("commendations").getAsInt(), false);
  140.             }
  141.            
  142.             if(reader.has("loyalty-points")) {
  143.                 player.getPointsHandler().setLoyaltyPoints(reader.get("loyalty-points").getAsInt(), false);
  144.             }
  145.            
  146.             if (reader.has("total-loyalty-points")) {
  147.                 player.getAchievementAttributes().incrementTotalLoyaltyPointsEarned(reader.get("total-loyalty-points").getAsDouble());
  148.             }
  149.  
  150.             if(reader.has("voting-points")) {
  151.                 player.getPointsHandler().setVotingPoints(reader.get("voting-points").getAsInt(), false);
  152.             }
  153.             if(reader.has("trivia-points")) {
  154.                    player.getPointsHandler().setTriviaPoints(reader.get("trivia-points").getAsInt());
  155.             }
  156.             if(reader.has("slayer-points")) {
  157.                 player.getPointsHandler().setSlayerPoints(reader.get("slayer-points").getAsInt(), false);
  158.             }
  159.             if(reader.has("im-points")) {
  160.                 player.getPointsHandler().setIronManPoints(reader.get("im-points").getAsInt(), false);
  161.             }
  162.             if(reader.has("refeer-friend")) {
  163.                 player.getPointsHandler().setIronManPoints(reader.get("refeer-friend").getAsInt(), false);
  164.             }
  165.             if(reader.has("refered-friend")) {
  166.                 player.setReferedAFriend(reader.get("refered-friend").getAsBoolean());
  167.             }
  168.             if(reader.has("received-br-reward")) {
  169.                 player.setReceivedBrReward(reader.get("received-br-reward").getAsBoolean());
  170.             }
  171.             if(reader.has("pk-points")) {
  172.                 player.getPointsHandler().setPkPoints(reader.get("pk-points").getAsInt(), false);
  173.             }
  174.  
  175.             if(reader.has("player-kills")) {
  176.                 player.getPlayerKillingAttributes().setPlayerKills(reader.get("player-kills").getAsInt());
  177.             }
  178.  
  179.             if(reader.has("player-killstreak")) {
  180.                 player.getPlayerKillingAttributes().setPlayerKillStreak(reader.get("player-killstreak").getAsInt());
  181.             }
  182.  
  183.             if(reader.has("player-deaths")) {
  184.                 player.getPlayerKillingAttributes().setPlayerDeaths(reader.get("player-deaths").getAsInt());
  185.             }
  186.  
  187.             if(reader.has("target-percentage")) {
  188.                 player.getPlayerKillingAttributes().setTargetPercentage(reader.get("target-percentage").getAsInt());
  189.             }
  190.  
  191.             if(reader.has("bh-rank")) {
  192.                 player.getAppearance().setBountyHunterSkull(reader.get("bh-rank").getAsInt());
  193.             }
  194.  
  195.             if (reader.has("gender")) {
  196.                 player.getAppearance().setGender(Gender.valueOf(reader.get("gender").getAsString()));
  197.             }
  198.             if (reader.has("date-joined")) {
  199.                 player.getPointsHandler().setDateJoined(reader.get("date-joined").getAsString());
  200.             }
  201.             if (reader.has("spell-book")) {
  202.                 player.setSpellbook(MagicSpellbook.valueOf(reader.get("spell-book").getAsString()));
  203.             }
  204.  
  205.             if (reader.has("prayer-book")) {
  206.                 player.setPrayerbook(Prayerbook.valueOf(reader.get("prayer-book").getAsString()));
  207.             }
  208.             if (reader.has("running")) {
  209.                 player.setRunning(reader.get("running").getAsBoolean());
  210.             }
  211.             if (reader.has("run-energy")) {
  212.                 player.setRunEnergy(reader.get("run-energy").getAsInt());
  213.             }
  214.             if (reader.has("music")) {
  215.                 player.setMusicActive(reader.get("music").getAsBoolean());
  216.             }
  217.             if (reader.has("sounds")) {
  218.                 player.setSoundsActive(reader.get("sounds").getAsBoolean());
  219.             }
  220.             if (reader.has("auto-retaliate")) {
  221.                 player.setAutoRetaliate(reader.get("auto-retaliate").getAsBoolean());
  222.             }
  223.             if (reader.has("xp-locked")) {
  224.                 player.setExperienceLocked(reader.get("xp-locked").getAsBoolean());
  225.             }
  226.             if (reader.has("veng-cast")) {
  227.                 player.setHasVengeance(reader.get("veng-cast").getAsBoolean());
  228.             }
  229.             if (reader.has("last-veng")) {
  230.                 player.getLastVengeance().reset(reader.get("last-veng").getAsLong());
  231.             }
  232.             if (reader.has("fight-type")) {
  233.                 player.setFightType(FightType.valueOf(reader.get("fight-type").getAsString()));
  234.             }
  235.             if(reader.has("sol-effect")) {
  236.                 player.setStaffOfLightEffect(Integer.valueOf(reader.get("sol-effect").getAsInt()));
  237.             }
  238.             if (reader.has("skull-timer")) {
  239.                 player.setSkullTimer(reader.get("skull-timer").getAsInt());
  240.             }
  241.             if (reader.has("accept-aid")) {
  242.                 player.setAcceptAid(reader.get("accept-aid").getAsBoolean());
  243.             }
  244.             if (reader.has("poison-damage")) {
  245.                 player.setPoisonDamage(reader.get("poison-damage").getAsInt());
  246.             }
  247.             if (reader.has("poison-immunity")) {
  248.                 player.setPoisonImmunity(reader.get("poison-immunity").getAsInt());
  249.             }
  250.             if (reader.has("overload-timer")) {
  251.                 player.setOverloadPotionTimer(reader.get("overload-timer").getAsInt());
  252.             }
  253.             if (reader.has("fire-immunity")) {
  254.                 player.setFireImmunity(reader.get("fire-immunity").getAsInt());
  255.             }
  256.             if (reader.has("fire-damage-mod")) {
  257.                 player.setFireDamageModifier(reader.get("fire-damage-mod").getAsInt());
  258.             }
  259.             if (reader.has("overload-timer")) {
  260.                 player.setOverloadPotionTimer(reader.get("overload-timer").getAsInt());
  261.             }
  262.             if (reader.has("prayer-renewal-timer")) {
  263.                 player.setPrayerRenewalPotionTimer(reader.get("prayer-renewal-timer").getAsInt());
  264.             }
  265.             if (reader.has("teleblock-timer")) {
  266.                 player.setTeleblockTimer(reader.get("teleblock-timer").getAsInt());
  267.             }
  268.             if (reader.has("special-amount")) {
  269.                 player.setSpecialPercentage(reader.get("special-amount").getAsInt());
  270.             }
  271.            
  272.             if(reader.has("entered-gwd-room")) {
  273.                 player.getMinigameAttributes().getGodwarsDungeonAttributes().setHasEnteredRoom(reader.get("entered-gwd-room").getAsBoolean());
  274.             }
  275.            
  276.             if(reader.has("gwd-altar-delay")) {
  277.                 player.getMinigameAttributes().getGodwarsDungeonAttributes().setAltarDelay(reader.get("gwd-altar-delay").getAsLong());
  278.             }
  279.            
  280.             if(reader.has("gwd-killcount")) {
  281.                 player.getMinigameAttributes().getGodwarsDungeonAttributes().setKillcount(builder.fromJson(reader.get("gwd-killcount"), int[].class));
  282.             }
  283.            
  284.             if(reader.has("effigy")) {
  285.                 player.setEffigy(reader.get("effigy").getAsInt());
  286.             }
  287.            
  288.             if (reader.has("summon-npc")) {
  289.                 int npc = reader.get("summon-npc").getAsInt();
  290.                 if(npc > 0)
  291.                     player.getSummoning().setFamiliarSpawnTask(new FamiliarSpawnTask(player)).setFamiliarId(npc);
  292.             }
  293.             if (reader.has("summon-death")) {
  294.                 int death = reader.get("summon-death").getAsInt();
  295.                 if(death > 0 && player.getSummoning().getSpawnTask() != null)
  296.                     player.getSummoning().getSpawnTask().setDeathTimer(death);
  297.             }
  298.             if (reader.has("process-farming")) {
  299.                 player.setProcessFarming(reader.get("process-farming").getAsBoolean());
  300.             }
  301.  
  302.             if (reader.has("clanchat")) {
  303.                 String clan = reader.get("clanchat").getAsString();
  304.                 if(!clan.equals("null"))
  305.                     player.setClanChatName(clan);
  306.             }
  307.             if (reader.has("autocast")) {
  308.                 player.setAutocast(reader.get("autocast").getAsBoolean());
  309.             }
  310.             if (reader.has("autocast-spell")) {
  311.                 int spell = reader.get("autocast-spell").getAsInt();
  312.                 if(spell != -1)
  313.                     player.setAutocastSpell(CombatSpells.getSpell(spell));
  314.             }
  315.  
  316.             if (reader.has("dfs-charges")) {
  317.                 player.incrementDfsCharges(reader.get("dfs-charges").getAsInt());
  318.             }
  319.             if (reader.has("kills")) {
  320.                 KillsTracker.submit(player, builder.fromJson(reader.get("kills").getAsJsonArray(), KillsEntry[].class));
  321.             }
  322.            
  323.             if (reader.has("drops")) {
  324.                 DropLog.submit(player, builder.fromJson(reader.get("drops").getAsJsonArray(), DropLogEntry[].class));
  325.             }
  326.  
  327.             if (reader.has("coins-gambled")) {
  328.                 player.getAchievementAttributes().setCoinsGambled(reader.get("coins-gambled").getAsInt());
  329.             }
  330.            
  331.             if (reader.has("slayer-master")) {
  332.                 player.getSlayer().setSlayerMaster(SlayerMaster.valueOf(reader.get("slayer-master").getAsString()));
  333.             }
  334.  
  335.             if (reader.has("slayer-task")) {
  336.                 player.getSlayer().setSlayerTask(SlayerTasks.valueOf(reader.get("slayer-task").getAsString()));
  337.             }
  338.  
  339.             if (reader.has("prev-slayer-task")) {
  340.                 player.getSlayer().setLastTask(SlayerTasks.valueOf(reader.get("prev-slayer-task").getAsString()));
  341.             }
  342.  
  343.             if (reader.has("task-amount")) {
  344.                 player.getSlayer().setAmountToSlay(reader.get("task-amount").getAsInt());
  345.             }
  346.  
  347.             if (reader.has("task-streak")) {
  348.                 player.getSlayer().setTaskStreak(reader.get("task-streak").getAsInt());
  349.             }
  350.  
  351.             if (reader.has("duo-partner")) {
  352.                 String partner = reader.get("duo-partner").getAsString();
  353.                 player.getSlayer().setDuoPartner(partner.equals("null") ? null : partner);
  354.             }
  355.  
  356.             if (reader.has("double-slay-xp")) {
  357.                 player.getSlayer().doubleSlayerXP = reader.get("double-slay-xp").getAsBoolean();
  358.             }
  359.            
  360.             if (reader.has("recoil-deg")) {
  361.                 player.setRecoilCharges(reader.get("recoil-deg").getAsInt());
  362.             }
  363.            
  364.             if(reader.has("brawler-deg")) {
  365.                 player.setBrawlerCharges(builder.fromJson(reader.get("brawler-deg").getAsJsonArray(), int[].class));
  366.             }
  367.  
  368.             if (reader.has("killed-players")) {
  369.                 List<String> list = new ArrayList<String>();
  370.                 String[] killed_players = builder.fromJson(reader.get("killed-players").getAsJsonArray(), String[].class);
  371.                 for(String s : killed_players)
  372.                     list.add(s);
  373.                 player.getPlayerKillingAttributes().setKilledPlayers(list);
  374.             }
  375.  
  376.             if (reader.has("killed-gods")) {
  377.                 player.getAchievementAttributes().setGodsKilled(builder.fromJson(reader.get("killed-gods").getAsJsonArray(), boolean[].class));
  378.             }
  379.  
  380.             if (reader.has("barrows-brother")) {
  381.                 player.getMinigameAttributes().getBarrowsMinigameAttributes().setBarrowsData(builder.fromJson(reader.get("barrows-brother").getAsJsonArray(), int[][].class));
  382.             }
  383.  
  384.             if (reader.has("random-coffin")) {
  385.                 player.getMinigameAttributes().getBarrowsMinigameAttributes().setRandomCoffin((reader.get("random-coffin").getAsInt()));
  386.             }
  387.  
  388.             if (reader.has("barrows-killcount")) {
  389.                 player.getMinigameAttributes().getBarrowsMinigameAttributes().setKillcount((reader.get("barrows-killcount").getAsInt()));
  390.             }
  391.  
  392.             if (reader.has("nomad")) {
  393.                 player.getMinigameAttributes().getNomadAttributes().setQuestParts(builder.fromJson(reader.get("nomad").getAsJsonArray(), boolean[].class));
  394.             }
  395.  
  396.             if (reader.has("recipe-for-disaster")) {
  397.                 player.getMinigameAttributes().getRecipeForDisasterAttributes().setQuestParts(builder.fromJson(reader.get("recipe-for-disaster").getAsJsonArray(), boolean[].class));
  398.             }
  399.  
  400.             if (reader.has("recipe-for-disaster-wave")) {
  401.                 player.getMinigameAttributes().getRecipeForDisasterAttributes().setWavesCompleted((reader.get("recipe-for-disaster-wave").getAsInt()));
  402.             }
  403.            
  404.             if (reader.has("dung-items-bound")) {
  405.                 player.getMinigameAttributes().getDungeoneeringAttributes().setBoundItems(builder.fromJson(reader.get("dung-items-bound").getAsJsonArray(), int[].class));
  406.             }
  407.  
  408.             if (reader.has("rune-ess")) {
  409.                 player.setStoredRuneEssence((reader.get("rune-ess").getAsInt()));
  410.             }
  411.  
  412.             if (reader.has("pure-ess")) {
  413.                 player.setStoredPureEssence((reader.get("pure-ess").getAsInt()));
  414.             }
  415.  
  416.             if (reader.has("bank-pin")) {
  417.                 player.getBankPinAttributes().setBankPin(builder.fromJson(reader.get("bank-pin").getAsJsonArray(), int[].class));
  418.             }
  419.  
  420.             if (reader.has("has-bank-pin")) {
  421.                 player.getBankPinAttributes().setHasBankPin(reader.get("has-bank-pin").getAsBoolean());
  422.             }
  423.             if (reader.has("last-pin-attempt")) {
  424.                 player.getBankPinAttributes().setLastAttempt(reader.get("last-pin-attempt").getAsLong());
  425.             }
  426.             if (reader.has("invalid-pin-attempts")) {
  427.                 player.getBankPinAttributes().setInvalidAttempts(reader.get("invalid-pin-attempts").getAsInt());
  428.             }
  429.  
  430.             if (reader.has("bank-pin")) {
  431.                 player.getBankPinAttributes().setBankPin(builder.fromJson(reader.get("bank-pin").getAsJsonArray(), int[].class));
  432.             }
  433.  
  434.             if (reader.has("appearance")) {
  435.                 player.getAppearance().set(builder.fromJson(
  436.                         reader.get("appearance").getAsJsonArray(), int[].class));
  437.             }
  438.  
  439.             if (reader.has("agility-obj")) {
  440.                 player.setCrossedObstacles(builder.fromJson(
  441.                         reader.get("agility-obj").getAsJsonArray(), boolean[].class));
  442.             }
  443.  
  444.             if (reader.has("skills")) {
  445.                 player.getSkillManager().setSkills(builder.fromJson(
  446.                         reader.get("skills"), Skills.class));
  447.             }
  448.             if (reader.has("inventory")) {
  449.                 player.getInventory().setItems(builder.fromJson(reader.get("inventory").getAsJsonArray(), Item[].class));
  450.             }
  451.             if (reader.has("equipment")) {
  452.                 player.getEquipment().setItems(builder.fromJson(reader.get("equipment").getAsJsonArray(), Item[].class));
  453.             }
  454.  
  455.             /** BANK **/
  456.             for(int i = 0; i < 9; i++) {
  457.                 if(reader.has("bank-"+i+""))
  458.                     player.setBank(i, new Bank(player)).getBank(i).addItems(builder.fromJson(reader.get("bank-"+i+"").getAsJsonArray(), Item[].class), false);
  459.             }
  460.            
  461.             if(reader.has("bank-0")) {
  462.                 player.setBank(0, new Bank(player)).getBank(0).addItems(builder.fromJson(reader.get("bank-0").getAsJsonArray(), Item[].class), false);
  463.             }
  464.             if(reader.has("bank-1")) {
  465.                 player.setBank(1, new Bank(player)).getBank(1).addItems(builder.fromJson(reader.get("bank-1").getAsJsonArray(), Item[].class), false);
  466.             }
  467.             if(reader.has("bank-2")) {
  468.                 player.setBank(2, new Bank(player)).getBank(2).addItems(builder.fromJson(reader.get("bank-2").getAsJsonArray(), Item[].class), false);
  469.             }
  470.             if(reader.has("bank-3")) {
  471.                 player.setBank(3, new Bank(player)).getBank(3).addItems(builder.fromJson(reader.get("bank-3").getAsJsonArray(), Item[].class), false);
  472.             }
  473.             if(reader.has("bank-4")) {
  474.                 player.setBank(4, new Bank(player)).getBank(4).addItems(builder.fromJson(reader.get("bank-4").getAsJsonArray(), Item[].class), false);
  475.             }
  476.             if(reader.has("bank-5")) {
  477.                 player.setBank(5, new Bank(player)).getBank(5).addItems(builder.fromJson(reader.get("bank-5").getAsJsonArray(), Item[].class), false);
  478.             }
  479.             if(reader.has("bank-6")) {
  480.                 player.setBank(6, new Bank(player)).getBank(6).addItems(builder.fromJson(reader.get("bank-6").getAsJsonArray(), Item[].class), false);
  481.             }
  482.             if(reader.has("bank-7")) {
  483.                 player.setBank(7, new Bank(player)).getBank(7).addItems(builder.fromJson(reader.get("bank-7").getAsJsonArray(), Item[].class), false);
  484.             }
  485.             if(reader.has("bank-8")) {
  486.                 player.setBank(8, new Bank(player)).getBank(8).addItems(builder.fromJson(reader.get("bank-8").getAsJsonArray(), Item[].class), false);
  487.             }
  488.            
  489.             if (reader.has("ge-slots")) {
  490.                 GrandExchangeSlot[] slots = builder.fromJson(reader.get("ge-slots").getAsJsonArray(), GrandExchangeSlot[].class);
  491.                 player.setGrandExchangeSlots(slots);
  492.             }
  493.            
  494.             if (reader.has("store")) {
  495.                 Item[] validStoredItems = builder.fromJson(reader.get("store").getAsJsonArray(), Item[].class);
  496.                 if(player.getSummoning().getSpawnTask() != null)
  497.                     player.getSummoning().getSpawnTask().setValidItems(validStoredItems);
  498.             }
  499.            
  500.             if (reader.has("charm-imp")) {
  501.                 int[] charmImpConfig = builder.fromJson(reader.get("charm-imp").getAsJsonArray(), int[].class);
  502.                 player.getSummoning().setCharmimpConfig(charmImpConfig);
  503.             }
  504.            
  505.             if (reader.has("friends")) {
  506.                 long[] friends = builder.fromJson(
  507.                         reader.get("friends").getAsJsonArray(), long[].class);
  508.  
  509.                 for (long l : friends) {
  510.                     player.getRelations().getFriendList().add(l);
  511.                 }
  512.             }
  513.             if (reader.has("ignores")) {
  514.                 long[] ignores = builder.fromJson(
  515.                         reader.get("ignores").getAsJsonArray(), long[].class);
  516.  
  517.                 for (long l : ignores) {
  518.                     player.getRelations().getIgnoreList().add(l);
  519.                 }
  520.             }
  521.  
  522.             if (reader.has("loyalty-titles")) {
  523.                 player.setUnlockedLoyaltyTitles(builder.fromJson(reader.get("loyalty-titles").getAsJsonArray(), boolean[].class));
  524.             }
  525.  
  526.             if (reader.has("achievements-completion")) {
  527.                 player.getAchievementAttributes().setCompletion(builder.fromJson(reader.get("achievements-completion").getAsJsonArray(), boolean[].class));
  528.             }
  529.            
  530.             if (reader.has("achievements-progress")) {
  531.                 player.getAchievementAttributes().setProgress(builder.fromJson(reader.get("achievements-progress").getAsJsonArray(), int[].class));
  532.             }
  533.  
  534.         } catch (Exception e) {
  535.             e.printStackTrace();
  536.             return LoginResponses.LOGIN_SUCCESSFUL;
  537.         }
  538.         return LoginResponses.LOGIN_SUCCESSFUL;
  539.     }
  540. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement