Advertisement
Guest User

Old COmmands.java

a guest
Nov 11th, 2016
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 129.12 KB | None | 0 0
  1. package com.rs.game.player.content;
  2.  
  3. import java.io.BufferedWriter;
  4. import com.motivoters.motivote.service.MotivoteRS;
  5. import java.io.File;
  6. import java.io.FileOutputStream;
  7. import java.io.FileWriter;
  8. import java.io.IOException;
  9. import java.text.DecimalFormat;
  10. import java.text.NumberFormat;
  11. import java.text.SimpleDateFormat;
  12. import java.util.Calendar;
  13. import java.util.Date;
  14. import java.util.HashMap;
  15. import java.util.Locale;
  16. import java.util.zip.ZipOutputStream;
  17.  
  18. import com.rs.utils.LogMover;
  19. import javax.activation.CommandInfo;
  20. import javax.swing.text.DateFormatter;
  21.  
  22. import com.rs.ServerLauncher;
  23. import com.rs.Settings;
  24. import com.rs.cache.loaders.ItemDefinitions;
  25. import com.rs.cache.loaders.ObjectDefinitions;
  26. import com.rs.game.Animation;
  27. import com.rs.game.ForceTalk;
  28. import com.rs.game.Graphics;
  29. import com.rs.game.Hit;
  30. import com.rs.game.Hit.HitLook;
  31. import com.rs.game.World;
  32. import com.rs.game.WorldObject;
  33. import com.rs.game.WorldTile;
  34. import com.rs.game.item.Item;
  35. import com.rs.game.minigames.SoulWarsManager;
  36. import com.rs.game.npc.NPC;
  37. import com.rs.game.player.KcTab;
  38. import com.rs.game.player.LendingManager;
  39. import com.rs.game.player.Player;
  40. import com.rs.game.player.QuestManager.Quests;
  41. import com.rs.game.player.Skills;
  42. //import com.rs.game.player.content.SlayerTask.Master;
  43. import com.rs.game.player.content.Bodyglow.Bodyglow;
  44. import com.rs.game.player.content.custom.TriviaBot;
  45. import com.rs.game.player.content.grandExchange.GrandExchangeSystem;
  46. import com.rs.game.player.controlers.FightCaves;
  47. import com.rs.game.player.controlers.Wilderness;
  48. import com.rs.utils.AutoBackup;
  49. import com.rs.utils.Encrypt;
  50. import com.rs.utils.IPBanL;
  51. import com.rs.utils.IPMute;
  52. import com.rs.utils.Lend;
  53. import com.rs.utils.MacManagement;
  54. import com.rs.utils.NPCBonuses;
  55. import com.rs.utils.NPCSpawning;
  56. import com.rs.utils.NPCSpawns;
  57. import com.rs.utils.PkRank;
  58. import com.rs.utils.SerializableFilesManager;
  59. import com.rs.utils.ShopsHandler;
  60. import com.rs.utils.Utils;
  61. //import com.rs.utils.mysql.Donation;
  62. import com.rs.database.donations.DonationHandler;
  63. //import com.rs.utils.mysql.VoteManager;
  64. import com.rs.database.impl.Highscores;
  65.  
  66. public final class Commands {
  67.  
  68.     /*
  69.      * all console commands only for admin, chat commands processed if they not
  70.      * processed by console
  71.      */
  72.  
  73.     private final static MotivoteRS motivote = new MotivoteRS("arcilium", "a624661776138dedf2f2e0773ab2a2b2");
  74.  
  75.     public static AutoBackup backup;
  76.  
  77.     public static void archiveLogs(Player player, String[] cmd) {
  78.         try {
  79.             if (player.getRights() == 0 && !player.isSupporter())
  80.                 return;
  81.             String location = "";
  82.             if (player.getRights() == 6) {
  83.                 location = "data/playersaves/logs/commandlogs/headadmin/" + player.getUsername() + ".txt";
  84.             } else if (player.getRights() == 14) {
  85.                 location = "data/playersaves/logs/commandlogs/forumsadmin/" + player.getUsername() + ".txt";
  86.             } else if (player.getRights() == 15) {
  87.                 location = "data/playersaves/logs/commandlogs/headmod/" + player.getUsername() + ".txt";
  88.             } else if (player.getRights() == 2) {
  89.                 location = "data/playersaves/logs/commandlogs/admin/" + player.getUsername() + ".txt";
  90.             } else if (player.getRights() == 1) {
  91.                 location = "data/playersaves/logs/commandlogs/mod/" + player.getUsername() + ".txt";
  92.             } else if (player.isSupporter()) {
  93.                 location = "data/playersaves/logs/commandlogs/supporter/" + player.getUsername() + ".txt";
  94.             }
  95.             String afterCMD = "";
  96.             for (int i = 1; i < cmd.length; i++)
  97.                 afterCMD += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  98.             BufferedWriter writer = new BufferedWriter(new FileWriter(location, true));
  99.             writer.write("[" + now("dd MMMMM yyyy 'at' hh:mm:ss z") + "] - ::" + cmd[0] + " " + afterCMD);
  100.             writer.newLine();
  101.             writer.flush();
  102.             writer.close();
  103.         } catch (IOException e) {
  104.             e.printStackTrace();
  105.         }
  106.     }
  107.  
  108.     public static boolean isMod(Player player) {
  109.         return isAllowedToSpawn(player) || player.getRights() == 1 || player.getRights() == 15 || player.getDisplayName().equalsIgnoreCase("Oly");
  110.     }
  111.  
  112.     public static boolean isAllowedToSpawn(Player player) {
  113.         return player.getRights() == 2 || player.getRights() == 14 || player.getRights() == 6
  114.                 || player.getDisplayName().equalsIgnoreCase("Oly");
  115.     }
  116.  
  117.     private static SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/YYYY h:mm:ss");
  118.  
  119.     public static String now(String dateFormat) {
  120.         Calendar cal = Calendar.getInstance();
  121.         SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
  122.         return sdf.format(cal.getTime());
  123.     }
  124.  
  125.     @SuppressWarnings("null")
  126.     public static boolean processAdminCommand(final Player player, String[] cmd, boolean console,
  127.             boolean clientCommand) {
  128.         if (clientCommand) {
  129.             switch (cmd[0]) {
  130.             case "tele":
  131.                 cmd = cmd[1].split(",");
  132.                 int plane = Integer.valueOf(cmd[0]);
  133.                 int x = Integer.valueOf(cmd[1]) << 6 | Integer.valueOf(cmd[3]);
  134.                 int y = Integer.valueOf(cmd[2]) << 6 | Integer.valueOf(cmd[4]);
  135.                 player.setNextWorldTile(new WorldTile(x, y, plane));
  136.                 return true;
  137.             }
  138.         }
  139.         String name;
  140.         Player target;
  141.         if (cmd[0].equalsIgnoreCase("removetask")) {
  142.             String username = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  143.             Player other = World.getPlayerByDisplayName(username);
  144.             if (other == null)
  145.                 return true;
  146.             other.getSlayerManager().getNextTask(null, 0);
  147.         }
  148.         switch (cmd[0]) {
  149.         case "hidec":
  150.             if (cmd.length < 4) {
  151.                 player.getPackets().sendPanelBoxMessage("Use: ::hidec interfaceid componentId hidden");
  152.                 return true;
  153.             }
  154.             try {
  155.                 player.getPackets().sendHideIComponent(Integer.valueOf(cmd[1]), Integer.valueOf(cmd[3]),
  156.                         Boolean.valueOf(cmd[2]));
  157.             } catch (NumberFormatException e) {
  158.                 player.getPackets().sendPanelBoxMessage("Use: ::hidec interfaceid componentId hidden");
  159.             }
  160.             return true;
  161.        
  162.         case "removebankitem":
  163.             if (cmd.length == 3 || cmd.length == 4) {
  164.                 Player p = World.getPlayerByDisplayName(Utils.formatPlayerNameForDisplay(cmd[1]));
  165.                 int amount = 1;
  166.                 if (cmd.length == 4) {
  167.                     try {
  168.                         amount = Integer.parseInt(cmd[3]);
  169.                     } catch (NumberFormatException e) {
  170.                         amount = 1;
  171.                     }
  172.                 }
  173.                 if (p != null) {
  174.                     try {
  175.                         Item itemToRemove = new Item(Integer.parseInt(cmd[2]), amount);
  176.                         boolean multiple = itemToRemove.getAmount() > 1;
  177.                         p.getBank().removeItem(itemToRemove.getId());
  178.                         p.getPackets().sendGameMessage(player.getDisplayName() + " has removed "
  179.                                 + (multiple ? itemToRemove.getAmount() : "one") + " "
  180.                                 + itemToRemove.getDefinitions().getName() + (multiple ? "s" : "from your bank."));
  181.                         player.getPackets()
  182.                                 .sendGameMessage("You have removed " + (multiple ? itemToRemove.getAmount() : "one")
  183.                                         + " " + itemToRemove.getDefinitions().getName() + (multiple ? "s" : "")
  184.                                         + " from " + p.getDisplayName() + " bank ");
  185.                         return true;
  186.                     } catch (NumberFormatException e) {
  187.                     }
  188.                 }
  189.             }
  190.             player.getPackets().sendGameMessage("Use: ::removebankitem player id (optional:amount)");
  191.             return true;
  192.         case "resetaura":
  193.             name = "";
  194.             for (int i = 1; i < cmd.length; i++) {
  195.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  196.             }
  197.             target = World.getPlayerByDisplayName(name);
  198.             target.getAuraManager().cooldowns.clear();
  199.             target.getAuraManager().activation = 0;
  200.             return true;
  201.         case "giverunperk":
  202.             name = "";
  203.             for (int i = 1; i < cmd.length; i++) {
  204.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  205.             }
  206.             target = World.getPlayerByDisplayName(name);
  207.             target.setUnlimitedRunPerk(true);
  208.             return true;
  209.  
  210.         case "getid":
  211.             name = "";
  212.             for (int i = 1; i < cmd.length; i++) {
  213.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  214.             }
  215.             ItemSearch.searchForItem(player, name);
  216.             return true;
  217.  
  218.         case "coords":
  219.             if (!isAllowedToSpawn(player))
  220.                 return true;
  221.             player.getPackets().sendGameMessage(
  222.                     "Coords: " + player.getX() + ", " + player.getY() + ", " + player.getPlane() + ", regionId: "
  223.                             + player.getRegionId() + ", rx: " + player.getChunkX() + ", ry: " + player.getChunkY(),
  224.                     true);
  225.             return true;
  226.  
  227.         case "item":
  228.             if (!isAllowedToSpawn(player))
  229.                 return true;
  230.             if (cmd.length < 2) {
  231.                 player.getPackets().sendGameMessage("Use: ::item itemid quantity");
  232.                 return true;
  233.             }
  234.             int itemId = Integer.valueOf(cmd[1]);
  235.             ItemDefinitions defs = ItemDefinitions.getItemDefinitions(itemId);
  236.             if (defs.isLended())
  237.                 return false;
  238.             name = defs == null ? "" : defs.getName().toLowerCase();
  239.             player.getInventory().addItem(itemId, cmd.length >= 3 ? Integer.valueOf(cmd[2]) : 1);
  240.             return true;
  241.  
  242.         case "master":
  243.             if (!isAllowedToSpawn(player))
  244.                 return true;
  245.             name = "";
  246.             for (int i = 1; i < cmd.length; i++) {
  247.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  248.             }
  249.             try {
  250.                 player.getSkills().addXp(Integer.valueOf(cmd[1]), 200000000);
  251.             } catch (NumberFormatException e) {
  252.                 player.getPackets().sendPanelBoxMessage("Use: ::master skill");
  253.             }
  254.             return true;
  255.  
  256.         case "god":
  257.             if (!isAllowedToSpawn(player))
  258.                 return true;
  259.             player.setHitpoints(Short.MAX_VALUE);
  260.             player.getEquipment().setEquipmentHpIncrease(Short.MAX_VALUE - 990);
  261.             for (int i = 0; i < 10; i++)
  262.                 player.getCombatDefinitions().getBonuses()[i] = 5000;
  263.             for (int i = 14; i < player.getCombatDefinitions().getBonuses().length; i++)
  264.                 player.getCombatDefinitions().getBonuses()[i] = 5000;
  265.             return true;
  266.  
  267.         case "giveheadadmin":
  268.  
  269.             if (!player.getUsername().equalsIgnoreCase("Oly") && !player.getUsername().equalsIgnoreCase("")
  270.                     && !player.getUsername().equalsIgnoreCase("khaki")) {
  271.                 return true;
  272.             }
  273.             name = "";
  274.             for (int i = 1; i < cmd.length; i++)
  275.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  276.             target = World.getPlayerByDisplayName(name);
  277.             if (target == null)
  278.                 return true;
  279.             target.setHeadAdmin(true);
  280.             target.getPackets().sendGameMessage("<shad=2372E1>Congratulations, you've been given Head Admin Rank by "
  281.                     + Utils.formatPlayerNameForDisplay(player.getUsername()), true);
  282.             player.getPackets().sendGameMessage("You've Successfully given Head Admin Rank to "
  283.                     + Utils.formatPlayerNameForDisplay(target.getUsername()), true);
  284.             World.sendWorldMessage(
  285.                     "<img=7><col=ff0000>News: " + target.getDisplayName() + " has just been upgraded to Head Admin!",
  286.                     false);
  287.             return true;
  288.  
  289.         case "takeheadadmin":
  290.             if (!player.getUsername().equalsIgnoreCase("Oly") && !player.getUsername().equalsIgnoreCase("")
  291.                     && !player.getUsername().equalsIgnoreCase("khaki")) {
  292.                 return true;
  293.             }
  294.             name = "";
  295.             for (int i = 1; i < cmd.length; i++)
  296.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  297.             target = World.getPlayerByDisplayName(name);
  298.             if (target == null)
  299.                 return true;
  300.             target.setHeadAdmin(false);
  301.             target.getPackets().sendGameMessage("<shad=2372E1>Oh, sorry your Head Admin  Rank was taken by "
  302.                     + Utils.formatPlayerNameForDisplay(player.getUsername()), true);
  303.             player.getPackets().sendGameMessage("You've Successfully taken Head Admin Rank from "
  304.                     + Utils.formatPlayerNameForDisplay(target.getUsername()), true);
  305.             World.sendWorldMessage(
  306.                     "<img=7><col=ff0000>News: " + target.getDisplayName() + " has just lost their Head Admin Rank!",
  307.                     false);
  308.             return true;
  309.  
  310.         case "giveheadmod":
  311.             if (!player.getUsername().equalsIgnoreCase("Oly") && !player.getUsername().equalsIgnoreCase("destroyous")
  312.                     && !player.getUsername().equalsIgnoreCase("khaki")) {
  313.                 return true;
  314.             }
  315.             name = "";
  316.             for (int i = 1; i < cmd.length; i++)
  317.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  318.             target = World.getPlayerByDisplayName(name);
  319.             if (target == null)
  320.                 return true;
  321.             target.setHeadMod(true);
  322.             target.getPackets()
  323.                     .sendGameMessage("<shad=2372E1>Congratulations, you've been given Head Moderator Rank by "
  324.                             + Utils.formatPlayerNameForDisplay(player.getUsername()), true);
  325.             player.getPackets().sendGameMessage("You've Successfully given Head Moderator Rank to "
  326.                     + Utils.formatPlayerNameForDisplay(target.getUsername()), true);
  327.             World.sendWorldMessage("<img=7><col=ff0000>News: " + target.getDisplayName()
  328.                     + " has just been upgraded to Head Moderator!", false);
  329.             return true;
  330.  
  331.         case "takeheadmod":
  332.             if (!player.getUsername().equalsIgnoreCase("Oly") && !player.getUsername().equalsIgnoreCase("")
  333.                     && !player.getUsername().equalsIgnoreCase("khaki")) {
  334.                 return true;
  335.             }
  336.             name = "";
  337.             for (int i = 1; i < cmd.length; i++)
  338.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  339.             target = World.getPlayerByDisplayName(name);
  340.             if (target == null)
  341.                 return true;
  342.             target.setHeadMod(false);
  343.             target.getPackets().sendGameMessage("<shad=2372E1>Oh, sorry your Head Moderator Rank was taken by "
  344.                     + Utils.formatPlayerNameForDisplay(player.getUsername()), true);
  345.             player.getPackets().sendGameMessage("You've Successfully taken Head Moderator  Rank from "
  346.                     + Utils.formatPlayerNameForDisplay(target.getUsername()), true);
  347.             World.sendWorldMessage(
  348.                     "<img=7><col=ff0000>News: " + target.getDisplayName() + " has just lost their Head Moderator Rank!",
  349.                     false);
  350.             return true;
  351.  
  352.         case "giveforumsadmin":
  353.             if (!player.getUsername().equalsIgnoreCase("Oly") && !player.getUsername().equalsIgnoreCase("")
  354.                     && !player.getUsername().equalsIgnoreCase("khaki")) {
  355.                 return true;
  356.             }
  357.             name = "";
  358.             for (int i = 1; i < cmd.length; i++)
  359.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  360.             target = World.getPlayerByDisplayName(name);
  361.             if (target == null)
  362.                 return true;
  363.             target.setForumsAdmin(true);
  364.             target.getPackets().sendGameMessage("<shad=2372E1>Congratulations, you've been given Foruums Admin Rank by "
  365.                     + Utils.formatPlayerNameForDisplay(player.getUsername()), true);
  366.             player.getPackets().sendGameMessage("You've Successfully given Forums Admin Rank to "
  367.                     + Utils.formatPlayerNameForDisplay(target.getUsername()), true);
  368.             World.sendWorldMessage(
  369.                     "<img=7><col=ff0000>News: " + target.getDisplayName() + " has just been upgraded to Forums Admin!",
  370.                     false);
  371.             return true;
  372.  
  373.         case "takeforumsadmin":
  374.             if (!player.getUsername().equalsIgnoreCase("Oly") && !player.getUsername().equalsIgnoreCase("")
  375.                     && !player.getUsername().equalsIgnoreCase("khaki")) {
  376.                 return true;
  377.             }
  378.             name = "";
  379.             for (int i = 1; i < cmd.length; i++)
  380.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  381.             target = World.getPlayerByDisplayName(name);
  382.             if (target == null)
  383.                 return true;
  384.             target.setForumsAdmin(false);
  385.             target.getPackets().sendGameMessage("<shad=2372E1>Oh, sorry your Head Admin  Rank was taken by "
  386.                     + Utils.formatPlayerNameForDisplay(player.getUsername()), true);
  387.             player.getPackets().sendGameMessage("You've Successfully taken Head Admin Rank from "
  388.                     + Utils.formatPlayerNameForDisplay(target.getUsername()), true);
  389.             World.sendWorldMessage(
  390.                     "<img=7><col=ff0000>News: " + target.getDisplayName() + " has just lost their Head Admin Rank!",
  391.                     false);
  392.             return true;
  393.  
  394.         case "npcspawn":
  395.             NPCSpawns.packNPCSpawns();
  396.             return true;
  397.  
  398.         case "backup":
  399.             if (!player.getUsername().equalsIgnoreCase("Oly") && !player.getUsername().equalsIgnoreCase("destroyous")
  400.                     && !player.getUsername().equalsIgnoreCase("khaki")) {
  401.                 return true;
  402.             }
  403.             backup = new AutoBackup();
  404.             player.getPackets().sendGameMessage("You have backup-ed the players file.");
  405.             return true;
  406.  
  407.         case "trade":
  408.             name = "";
  409.             for (int i = 1; i < cmd.length; i++) {
  410.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  411.             }
  412.             target = World.getPlayerByDisplayName(name);
  413.  
  414.             if (target != null) {
  415.  
  416.                 player.getTrade().openTrade(target);
  417.  
  418.                 target.getTrade().openTrade(player);
  419.  
  420.             }
  421.  
  422.             return true;
  423.  
  424.         case "tele":
  425.             if (!isAllowedToSpawn(player))
  426.                 return true;
  427.             name = "";
  428.             for (int i = 1; i < cmd.length; i++) {
  429.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  430.             }
  431.             try {
  432.                 player.resetWalkSteps();
  433.                 player.setNextWorldTile(new WorldTile(Integer.valueOf(cmd[1]), Integer.valueOf(cmd[2]),
  434.                         cmd.length >= 2 ? Integer.valueOf(cmd[3]) : player.getPlane()));
  435.             } catch (NumberFormatException e) {
  436.                 player.getPackets().sendPanelBoxMessage("Use: ::tele coordX coordY");
  437.             }
  438.             return true;
  439.  
  440.         case "bank":
  441.             player.getBank().openBank();
  442.             return true;
  443.  
  444.         case "killall":
  445.             if (player.getUsername().equalsIgnoreCase("oly") || player.getUsername().equalsIgnoreCase("khaki")) {
  446.                 int hitpointsMinimum = cmd.length > 1 ? Integer.parseInt(cmd[1]) : 0;
  447.                 for (Player p : World.getPlayers()) {
  448.                     if (p == null || p == player) {
  449.                         continue;
  450.                     }
  451.                     if (p.getHitpoints() < hitpointsMinimum) {
  452.                         continue;
  453.                     }
  454.                     p.applyHit(new Hit(p, p.getHitpoints(), HitLook.REGULAR_DAMAGE));
  455.                 }
  456.                 return true;
  457.             }
  458.  
  459.             /*
  460.              * case "ge": GrandExchangeSystem.get().display(player); return
  461.              * true;
  462.              */
  463.  
  464.         case "checklottery":
  465.             player.getPackets().sendGameMessage("Current jackpot: " + Lottery.INSTANCE.getPrize().getAmount() + ".");
  466.             return true;
  467.  
  468.         case "forceteleall":
  469.             int x = player.getX();
  470.             int y = player.getY();
  471.             int pl = player.getPlane();
  472.             for (Player players : World.getPlayers()) {
  473.                 if (players == null || !players.isRunning())
  474.                     continue;
  475.                 if (!players.canSpawn())
  476.                     continue;
  477.                 players.resetWalkSteps();
  478.                 players.setNextWorldTile(new WorldTile(x, y, pl));
  479.             }
  480.             return true;
  481.  
  482.         case "itemn":
  483.             if (cmd.length < 2) {
  484.                 player.getPackets().sendGameMessage("Use: ::itemn itemname");
  485.                 return true;
  486.             }
  487.             StringBuilder sb = new StringBuilder(cmd[1]);
  488.             int amount = 1;
  489.             if (cmd.length > 2) {
  490.                 for (int i = 2; i < cmd.length; i++) {
  491.                     if (cmd[i].startsWith("+")) {
  492.                         amount = Integer.parseInt(cmd[i].replace("+", ""));
  493.                     } else {
  494.                         sb.append(" ").append(cmd[i]);
  495.                     }
  496.                 }
  497.             }
  498.             String name1 = sb.toString().toLowerCase().replace("[", "(").replace("]", ")").replaceAll(",", "'");
  499.             if (name1.contains("Sacred clay")) {
  500.                 return true;
  501.             }
  502.             for (int i = 0; i < Utils.getItemDefinitionsSize(); i++) {
  503.                 ItemDefinitions def = ItemDefinitions.getItemDefinitions(i);
  504.                 if (def.getName().toLowerCase().equalsIgnoreCase(name1)) {
  505.                     player.getInventory().addItem(i, amount);
  506.                     player.stopAll();
  507.                     player.getPackets().sendGameMessage("Found item " + name1 + " - id: " + i + ".");
  508.                     return true;
  509.                 }
  510.             }
  511.             player.getPackets().sendGameMessage("Could not find item by the name " + name1 + ".");
  512.             return false;
  513.  
  514.         case "forcevote":
  515.             for (Player players : World.getPlayers()) {
  516.                 players.getPackets().sendOpenURL("http://Arcilium.com/vote#?step=1'");
  517.             }
  518.             return true;
  519.  
  520.         case "forceurl":
  521.             name = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  522.             String link = cmd[2].substring(cmd[2].indexOf(" ") + 1);
  523.             int value = Integer.parseInt(cmd[3]);
  524.             target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  525.             if (target == null)
  526.                 return true;
  527.             for (int id = 0; id < value; id++) {
  528.                 target.getPackets().sendOpenURL("http://" + link + "");
  529.             }
  530.             player.getPackets().sendGameMessage("Sending " + link + " to username: " + name + ".");
  531.             return true;
  532.         case "npc":
  533.             if (!isAllowedToSpawn(player))
  534.                 return true;
  535.             try {
  536.                 World.spawnNPC(Integer.parseInt(cmd[1]), player, -1, true, true);
  537.                 return true;
  538.             } catch (NumberFormatException e) {
  539.                 player.getPackets().sendPanelBoxMessage("Use: ::npc id(Integer)");
  540.             }
  541.             return true;
  542.         case "killnpc":
  543.             if (!isAllowedToSpawn(player))
  544.                 return true;
  545.             for (NPC n : World.getNPCs()) {
  546.                 if (n == null || n.getId() != Integer.parseInt(cmd[1]))
  547.                     continue;
  548.                 n.sendDeath(n);
  549.             }
  550.             return true;
  551.         case "reloadnpcs":
  552.             if (!isAllowedToSpawn(player))
  553.                 return true;
  554.             NPCBonuses.loadUnpackedNPCBonuses();
  555.             return true;
  556.         case "npcmask":
  557.             final String mask = cmd[1];
  558.             for (NPC n : World.getNPCs()) {
  559.                 if (n != null && Utils.getDistance(player, n) < 15) {
  560.                     n.setNextForceTalk(new ForceTalk(mask));
  561.                 }
  562.             }
  563.             return true;
  564.         case "switchyell":
  565.             Settings.serverYell = !Settings.serverYell ? true : false;
  566.             Settings.yellChangedBy = player.getDisplayName();
  567.             player.getPackets().sendGameMessage("Yell enabled: " + Settings.yellEnabled());
  568.             return true;
  569.         case "synmanreqs":
  570.             player.setLogsCut(50000);
  571.             player.setBarsDone(3000);
  572.             player.setPestControlGames(100);
  573.             player.setKilledBork(true);
  574.             player.setGnomeAdvancedLaps(450);
  575.             player.setHasCutEnoughLogs(true);
  576.             player.setHasCutMoreEnoughLogs(true);
  577.             player.setMagicLogsBurned(3000);
  578.             player.setGotInfernoAdze(true);
  579.             player.setBarbarianAdvancedLaps(450);
  580.             player.setRocktailsCooked(6000);
  581.             return true;
  582.         case "zenrest":
  583.             player.setUsingZenRest(!player.isUsingZenRest() ? true : false);
  584.             player.getPackets().sendGameMessage("Using zen resting: " + player.isUsingZenRest());
  585.             return true;
  586.         case "reportbutton":
  587.             player.setUsingReportOption(true);
  588.             player.sendDefaultPlayersOptions();
  589.             return true;
  590.         case "reportbuttonoff":
  591.             player.setUsingReportOption(false);
  592.             player.sendDefaultPlayersOptions();
  593.             return true;
  594.         case "hostevent":
  595.             if (!player.canSpawn()) {
  596.                 player.getPackets()
  597.                         .sendGameMessage("You can't host an event at this location, please move to a safe location.");
  598.                 return true;
  599.             }
  600.             if (Settings.eventActive) {
  601.                 player.getPackets()
  602.                         .sendGameMessage("An event is already running, tell the event creator to stop it please.");
  603.                 return true;
  604.             }
  605.             Settings.eventActive = !Settings.eventActive ? true : false;
  606.             Settings.eventType = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  607.             Settings.communityEventX = player.getX();
  608.             Settings.communityEventY = player.getY();
  609.             Settings.communityEventP = player.getPlane();
  610.             World.annouceEventMessageTask();
  611.             World.sendWorldMessage(
  612.                     "<img=7><col=FF0033>Community:</col><col=7D1616> " + Utils.getAorAn(Settings.eventType) + " "
  613.                             + Settings.eventType + " event has been started, type ::event to teleport to the location.",
  614.                     false);
  615.             return true;
  616.         case "removeevent":
  617.             if (!Settings.eventActive) {
  618.                 player.getPackets().sendGameMessage("There's currently no community event active.");
  619.                 return true;
  620.             }
  621.             Settings.eventActive = false;
  622.             Settings.eventType = null;
  623.             player.getPackets().sendGameMessage("The event has been disband.");
  624.             return true;
  625.         case "mysql":
  626.             Settings.USING_MYSQL_SERVICE = !Settings.USING_MYSQL_SERVICE ? true : false;
  627.             player.getPackets().sendGameMessage("Mysql enabled: " + Settings.USING_MYSQL_SERVICE);
  628.             return true;
  629.         case "setlevelother":
  630.             name = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  631.             target = World.getPlayers().get(World.getIdFromName(name));
  632.             if (target == null) {
  633.                 player.getPackets().sendGameMessage("There is no such player as " + name + ".");
  634.                 return true;
  635.             }
  636.             try {
  637.                 int skill = Integer.parseInt(cmd[2]);
  638.                 int lvll = Integer.parseInt(cmd[3]);
  639.                 target.getSkills().set(Integer.parseInt(cmd[2]), Integer.parseInt(cmd[3]));
  640.                 target.getSkills().set(skill, lvll);
  641.                 target.getSkills().setXp(skill, Skills.getXPForLevel(lvll));
  642.                 target.getPackets().sendGameMessage("One of your skills:  " + target.getSkills().getLevel(skill)
  643.                         + " has been set to " + lvll + " from " + player.getDisplayName() + ".");
  644.                 player.getPackets().sendGameMessage("You have set the skill:  " + target.getSkills().getLevel(skill)
  645.                         + " to " + lvll + " for " + target.getDisplayName() + ".");
  646.             } catch (NumberFormatException e) {
  647.                 player.getPackets().sendGameMessage("Use: ::setlevelother skillid level");
  648.             }
  649.             return true;
  650.  
  651.         case "checkbank":
  652.             if (player.isSupporter())
  653.                 return true;
  654.             name = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  655.             target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  656.             try {
  657.                 player.getPackets().sendItems(95, target.getBank().getContainerCopy());
  658.                 player.getBank().openPlayerBank(target);
  659.             } catch (Exception e) {
  660.                 player.getPackets().sendGameMessage("The player " + name + " is currently unavailable.");
  661.             }
  662.             return true;
  663.  
  664.         case "copy":
  665.             if (!isAllowedToSpawn(player))
  666.                 return true;
  667.             name = "";
  668.             for (int i = 1; i < cmd.length; i++)
  669.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  670.             Player p2 = World.getPlayerByDisplayName(name);
  671.             if (p2 == null) {
  672.                 player.getPackets().sendGameMessage("Couldn't find player " + name + ".");
  673.                 return true;
  674.             }
  675.             Item[] items = p2.getEquipment().getItems().getItemsCopy();
  676.             for (int i = 0; i < items.length; i++) {
  677.                 if (items[i] == null)
  678.                     continue;
  679.                 HashMap<Integer, Integer> requiriments = items[i].getDefinitions().getWearingSkillRequiriments();
  680.                 if (requiriments != null) {
  681.                     for (int skillId : requiriments.keySet()) {
  682.                         if (skillId > 24 || skillId < 0)
  683.                             continue;
  684.                         int level = requiriments.get(skillId);
  685.                         if (level < 0 || level > 120)
  686.                             continue;
  687.                         if (player.getSkills().getLevelForXp(skillId) < level) {
  688.                             name = Skills.SKILL_NAME[skillId].toLowerCase();
  689.                             player.getPackets().sendGameMessage("You need to have a" + (name.startsWith("a") ? "n" : "")
  690.                                     + " " + name + " level of " + level + ".");
  691.                         }
  692.  
  693.                     }
  694.                 }
  695.                 player.getEquipment().getItems().set(i, items[i]);
  696.                 player.getEquipment().refresh(i);
  697.             }
  698.             player.getAppearence().generateAppearenceData();
  699.             return true;
  700.         case "object":
  701.             if (!isAllowedToSpawn(player))
  702.                 return true;
  703.             int type = cmd.length > 2 ? Integer.parseInt(cmd[2]) : 10;
  704.             if (type > 22 || type < 0) {
  705.                 type = 10;
  706.             }
  707.             World.spawnObject(
  708.                     new WorldObject(Integer.valueOf(cmd[1]), type, 0, player.getX(), player.getY(), player.getPlane()),
  709.                     true);
  710.             return true;
  711.         case "reloadshops":
  712.             if (!isAllowedToSpawn(player))
  713.                 return true;
  714.             ShopsHandler.loadUnpackedShops();
  715.             return true;
  716.  
  717.         case "shop":
  718.             if (!isAllowedToSpawn(player))
  719.                 return true;
  720.             try {
  721.                 ShopsHandler.openShop(player, Integer.parseInt(cmd[1]));
  722.             } catch (NumberFormatException e) {
  723.                 player.getPackets().sendGameMessage("Use: ::shop shopid");
  724.             }
  725.             return true;
  726.         //
  727.         // case "zeals":
  728.         // player.increaseZeals(100);
  729.         // return true;
  730.         // case "setdisplay":
  731.         // if (!player.isDonator() && !player.isExtremeDonator()) {
  732.         // player.getPackets().sendGameMessage("You do not have the privileges
  733.         // to use this.");
  734.         // return true;
  735.         // }
  736.         // player.getTemporaryAttributtes().put("setdisplay", Boolean.TRUE);
  737.         // player.getPackets().sendInputNameScript("Enter the display name you
  738.         // wish:");
  739.         // return true;
  740.         case "tonpc":
  741.             player.getAppearence().transformIntoNPC(Integer.parseInt(cmd[1]));
  742.             return true;
  743.         case "ipban":
  744.             name = "";
  745.             for (int i = 1; i < cmd.length; i++)
  746.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  747.             target = World.getPlayerByDisplayName(name);
  748.             boolean loggedIn11111 = true;
  749.             if (target == null) {
  750.                 target = SerializableFilesManager.loadPlayer(Utils.formatPlayerNameForProtocol(name));
  751.                 if (target != null)
  752.                     target.setUsername(Utils.formatPlayerNameForProtocol(name));
  753.                 loggedIn11111 = false;
  754.             }
  755.             if (target != null) {
  756.                 if (target.getRights() == 2)
  757.                     return true;
  758.                 IPBanL.ban(target, loggedIn11111);
  759.                 player.getPackets().sendGameMessage(
  760.                         "You've permanently ipbanned " + (loggedIn11111 ? target.getDisplayName() : name) + ".");
  761.             } else {
  762.                 player.getPackets().sendGameMessage("Couldn't find player " + name + ".");
  763.             }
  764.             return true;
  765.         case "macban":
  766.             name = "";
  767.             for (int i = 1; i < cmd.length; i++)
  768.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  769.             if (!SerializableFilesManager.containsPlayer(name)) {
  770.                 player.sendMessage("There is no such player as: " + name);
  771.                 return true;
  772.             }
  773.             target = World.getPlayer(name);
  774.             if (target != null) {
  775.                 MacManagement.banAddress(target.getCurrentMac());
  776.                 player.sendMessage("You have permanently banned " + target.getDisplayName() + " from the game.");
  777.                 target.getSession().getChannel().close();
  778.             } else {
  779.                 target = (Player) SerializableFilesManager.loadPlayer(name);
  780.                 if (target.getCurrentMac() != null) {
  781.                     MacManagement.banAddress(target.getCurrentMac());
  782.                     player.sendMessage("You have permanently banned " + name + " from the game.");
  783.                 }
  784.             }
  785.             for (Player pl2 : World.getPlayers()) {
  786.                 if (pl2.getCurrentMac().equals(target.getCurrentMac())) {
  787.                     pl2.getSession().getChannel().close();
  788.                 }
  789.             }
  790.             return true;
  791.         case "unmacban":
  792.             name = "";
  793.             for (int i = 1; i < cmd.length; i++)
  794.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  795.             if (!SerializableFilesManager.containsPlayer(name)) {
  796.                 player.sendMessage("There is no such player as: " + name);
  797.                 return true;
  798.             }
  799.             target = (Player) SerializableFilesManager.loadPlayer(name);
  800.             if (target.getCurrentMac() != null) {
  801.                 if (!MacManagement.isBanned(target.getCurrentMac())) {
  802.                     player.sendMessage(name + " is not perm banned!");
  803.                     return true;
  804.                 }
  805.                 MacManagement.unban(target.getCurrentMac());
  806.                 player.sendMessage("Successfully un-permed anyone related to " + name);
  807.             }
  808.             return true;
  809.         case "unipban":
  810.             name = "";
  811.             for (int i = 1; i < cmd.length; i++)
  812.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  813.             File acc11 = new File("data/playersaves/characters/" + name.replace(" ", "_") + ".p");
  814.             target = null;
  815.             if (target == null) {
  816.                 try {
  817.                     target = (Player) SerializableFilesManager.loadSerializedFile(acc11);
  818.                 } catch (ClassNotFoundException | IOException e) {
  819.                     e.printStackTrace();
  820.                 }
  821.             }
  822.             IPBanL.unban(target);
  823.             player.getPackets().sendGameMessage(
  824.                     "You've unipbanned " + Utils.formatPlayerNameForDisplay(target.getUsername()) + ".");
  825.             try {
  826.                 SerializableFilesManager.storeSerializableClass(target, acc11);
  827.             } catch (IOException e) {
  828.                 e.printStackTrace();
  829.             }
  830.             return true;
  831.         case "setrights":
  832.             try {
  833.                 name = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  834.                 int rights = Integer.parseInt(cmd[2]);
  835.                 target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  836.                 if (target == null)
  837.                     return true;
  838.                 target.setRights(rights);
  839.                 player.getPackets().sendGameMessage(
  840.                         "You've promoted " + Utils.formatPlayerNameForDisplay(target.getUsername()) + ".");
  841.             } catch (NumberFormatException e) {
  842.                 player.getPackets().sendGameMessage("Use: ::setrights rankid");
  843.             }
  844.             return true;
  845.         case "givecompreqs":
  846.             if (!isAllowedToSpawn(player))
  847.                 return true;
  848.             name = "";
  849.             for (int i = 1; i < cmd.length; i++)
  850.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  851.             target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  852.             boolean loggedIn123245 = true;
  853.             if (target == null) {
  854.                 target = SerializableFilesManager.loadPlayer(Utils.formatPlayerNameForProtocol(name));
  855.                 if (target != null)
  856.                     target.setUsername(Utils.formatPlayerNameForProtocol(name));
  857.                 loggedIn123245 = false;
  858.             }
  859.             if (target == null)
  860.                 return true;
  861.             target.setLogsCut(50000);
  862.             target.setBarsDone(30000);
  863.             target.setPestControlGames(1000);
  864.             target.setKilledBork(true);
  865.             target.setGnomeAdvancedLaps(4500);
  866.             target.setHasCutEnoughLogs(true);
  867.             target.setHasCutMoreEnoughLogs(true);
  868.             target.setMagicLogsBurned(30000);
  869.             target.setGotInfernoAdze(true);
  870.             target.setBarbarianAdvancedLaps(4500);
  871.             target.setRocktailsCooked(60000);
  872.             target.setGlacor(55);
  873.             target.setCorp(55);
  874.             target.setArmadyl(225);
  875.             target.setBandos(225);
  876.             target.setZamorak(225);
  877.             target.setSaradomin(225);
  878.             target.setCannoneer(800);
  879.             SerializableFilesManager.savePlayer(target);
  880.             if (loggedIn123245)
  881.                 target.getPackets().sendGameMessage(
  882.                         "You have been given Comp Reqs by " + Utils.formatPlayerNameForDisplay(player.getUsername()),
  883.                         true);
  884.             player.getPackets().sendGameMessage(
  885.                     "You gave Comp Reqs to " + Utils.formatPlayerNameForDisplay(target.getUsername()), true);
  886.             return true;
  887.         /*
  888.          * case "setdungtokens": name = ""; for (int i = 1; i < cmd.length; i++)
  889.          * name += cmd[i] + ((i == cmd.length - 1) ? "" : " "); target =
  890.          * World.getPlayerByDisplayName(name.replaceAll(" ", "_")); / if (target
  891.          * != null) target.setUsername(Utils.formatPlayerNameForProtocol(name));
  892.          * loggedIn1235 = false; } if (target == null) return true;
  893.          * target.DungeoneeringTokens += 5000000;
  894.          * SerializableFilesManager.savePlayer(target); if (loggedIn1235)
  895.          * target.getPackets().sendGameMessage(
  896.          * "You have been given dung tokens by " +
  897.          * Utils.formatPlayerNameForDisplay(player.getUsername()), true);
  898.          * player.getPackets().sendGameMessage( "You gave Dung tokens to " +
  899.          * Utils.formatPlayerNameForDisplay(target.getUsername()), true); return
  900.          * true;
  901.          */
  902.         case "givedonator":
  903.             if (!isAllowedToSpawn(player))
  904.                 return true;
  905.             name = "";
  906.             for (int i = 1; i < cmd.length; i++)
  907.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  908.             target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  909.             boolean loggedIn12345 = true;
  910.             if (target == null) {
  911.                 target = SerializableFilesManager.loadPlayer(Utils.formatPlayerNameForProtocol(name));
  912.                 if (target != null)
  913.                     target.setUsername(Utils.formatPlayerNameForProtocol(name));
  914.                 loggedIn12345 = false;
  915.             }
  916.             if (target == null)
  917.                 return true;
  918.             target.setDonator(true);
  919.             SerializableFilesManager.savePlayer(target);
  920.             if (loggedIn12345)
  921.                 target.getPackets().sendGameMessage(
  922.                         "You have been given Donator by " + Utils.formatPlayerNameForDisplay(player.getUsername()),
  923.                         true);
  924.             player.getPackets().sendGameMessage(
  925.                     "You gave Donator to " + Utils.formatPlayerNameForDisplay(target.getUsername()), true);
  926.             return true;
  927.         case "giveextreme":
  928.             if (!isAllowedToSpawn(player))
  929.                 return true;
  930.             name = "";
  931.             for (int i = 1; i < cmd.length; i++)
  932.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  933.             target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  934.             boolean loggedIn123 = true;
  935.             if (target == null) {
  936.                 target = SerializableFilesManager.loadPlayer(Utils.formatPlayerNameForProtocol(name));
  937.                 if (target != null)
  938.                     target.setUsername(Utils.formatPlayerNameForProtocol(name));
  939.                 loggedIn123 = false;
  940.             }
  941.             if (target == null)
  942.                 return true;
  943.             target.setDonator(true);
  944.             target.setExtremeDonator(true);
  945.             SerializableFilesManager.savePlayer(target);
  946.             if (loggedIn123)
  947.                 target.getPackets().sendGameMessage("You have been given Extreme Donator by "
  948.                         + Utils.formatPlayerNameForDisplay(player.getUsername()), true);
  949.             player.getPackets().sendGameMessage(
  950.                     "You gave Extreme Donator to " + Utils.formatPlayerNameForDisplay(target.getUsername()), true);
  951.             return true;
  952.  
  953.         case "takedonator":
  954.             if (!isAllowedToSpawn(player))
  955.                 return true;
  956.             name = "";
  957.             for (int i = 1; i < cmd.length; i++)
  958.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  959.             target = World.getPlayerByDisplayName(name);
  960.             boolean loggedIn122 = true;
  961.             if (target == null) {
  962.                 target = SerializableFilesManager.loadPlayer(Utils.formatPlayerNameForProtocol(name));
  963.                 if (target != null)
  964.                     target.setUsername(Utils.formatPlayerNameForProtocol(name));
  965.                 loggedIn122 = false;
  966.             }
  967.             if (target == null)
  968.                 return true;
  969.             target.setDonator(false);
  970.             SerializableFilesManager.savePlayer(target);
  971.             if (loggedIn122)
  972.                 target.getPackets().sendGameMessage(
  973.                         "Your donator rank has been taken by " + Utils.formatPlayerNameForDisplay(player.getUsername()),
  974.                         true);
  975.             player.getPackets().sendGameMessage(
  976.                     "You took donator rank from " + Utils.formatPlayerNameForDisplay(target.getUsername()), true);
  977.             return true;
  978.         case "givelegendary":
  979.             if (!isAllowedToSpawn(player))
  980.                 return true;
  981.             name = "";
  982.             for (int i = 1; i < cmd.length; i++)
  983.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  984.             target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  985.             boolean loggedIn = true;
  986.             if (target == null) {
  987.                 target = SerializableFilesManager.loadPlayer(Utils.formatPlayerNameForProtocol(name));
  988.                 if (target != null)
  989.                     target.setUsername(Utils.formatPlayerNameForProtocol(name));
  990.                 loggedIn = false;
  991.             }
  992.             if (target == null)
  993.                 return true;
  994.             target.setLegendary(true);
  995.             SerializableFilesManager.savePlayer(target);
  996.             if (loggedIn)
  997.                 target.getPackets().sendGameMessage("You have been given Legendary Donator by "
  998.                         + Utils.formatPlayerNameForDisplay(player.getUsername()), true);
  999.             player.getPackets().sendGameMessage(
  1000.                     "You gave Legendary Donator to " + Utils.formatPlayerNameForDisplay(target.getUsername()), true);
  1001.             return true;
  1002.         case "takelegendary":
  1003.             if (!isAllowedToSpawn(player))
  1004.                 return true;
  1005.             name = "";
  1006.             for (int i = 1; i < cmd.length; i++)
  1007.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1008.             target = World.getPlayerByDisplayName(name);
  1009.             boolean loggedIn1222 = true;
  1010.             if (target == null) {
  1011.                 target = SerializableFilesManager.loadPlayer(Utils.formatPlayerNameForProtocol(name));
  1012.                 if (target != null)
  1013.                     target.setUsername(Utils.formatPlayerNameForProtocol(name));
  1014.                 loggedIn1222 = false;
  1015.             }
  1016.             if (target == null)
  1017.                 return true;
  1018.             target.setLegendary(false);
  1019.             SerializableFilesManager.savePlayer(target);
  1020.             if (loggedIn1222)
  1021.                 target.getPackets().sendGameMessage("Your Legendary Donator rank has been taken by "
  1022.                         + Utils.formatPlayerNameForDisplay(player.getUsername()), true);
  1023.             player.getPackets().sendGameMessage(
  1024.                     "You took Legendary Donator rank from " + Utils.formatPlayerNameForDisplay(target.getUsername()),
  1025.                     true);
  1026.             return true;
  1027.  
  1028.         case "giveironman":
  1029.             if (!isAllowedToSpawn(player))
  1030.                 return true;
  1031.             name = "";
  1032.             for (int i = 1; i < cmd.length; i++)
  1033.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1034.             target = World.getPlayerByDisplayName(name);
  1035.             if (target == null)
  1036.                 return true;
  1037.             target.setIronman(true);
  1038.             target.getPackets().sendGameMessage("<shad=2372E1>Congratulations, you've been given Ironman Rank by "
  1039.                     + Utils.formatPlayerNameForDisplay(player.getUsername()), true);
  1040.             player.getPackets().sendGameMessage("You've Successfully given Ironman Rank to "
  1041.                     + Utils.formatPlayerNameForDisplay(target.getUsername()), true);
  1042.             World.sendWorldMessage(
  1043.                     "<img=7><col=ff0000>News: " + target.getDisplayName() + " has just been upgraded to Ironman!",
  1044.                     false);
  1045.             return true;
  1046.  
  1047.         case "takeironman":
  1048.             if (!isAllowedToSpawn(player))
  1049.                 return true;
  1050.             name = "";
  1051.             for (int i = 1; i < cmd.length; i++)
  1052.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1053.             target = World.getPlayerByDisplayName(name);
  1054.             if (target == null)
  1055.                 return true;
  1056.             target.setIronman(false);
  1057.             target.getPackets().sendGameMessage("<shad=2372E1>Oh, sorry your Ironman Rank was taken by "
  1058.                     + Utils.formatPlayerNameForDisplay(player.getUsername()), true);
  1059.             player.getPackets().sendGameMessage("You've Successfully taken Ironman Rank from "
  1060.                     + Utils.formatPlayerNameForDisplay(target.getUsername()), true);
  1061.             World.sendWorldMessage(
  1062.                     "<img=7><col=ff0000>News: " + target.getDisplayName() + " has just lost their Ironman Rank!",
  1063.                     false);
  1064.             return true;
  1065.         /*
  1066.          * pvm and dung points
  1067.          */
  1068.         case "givedungp":
  1069.             if (cmd.length == 2 || cmd.length == 3) {
  1070.                 Player p = World.getPlayerByDisplayName(Utils.formatPlayerNameForDisplay(cmd[1]));
  1071.                 int amunt = 1;
  1072.                 if (cmd.length == 3) {
  1073.                     try {
  1074.                         amunt = Integer.parseInt(cmd[2]);
  1075.                     } catch (NumberFormatException e) {
  1076.                         amunt = 1;
  1077.                     }
  1078.                 }
  1079.                 if (p != null) {
  1080.                     try {
  1081.                         p.DungeoneeringTokens += amunt;
  1082.                         p.getPackets().sendGameMessage("You recieve " + amunt + " Dungeoneering points.");
  1083.                         player.getPackets().sendGameMessage(
  1084.                                 "You gave " + amunt + " dungeoneering points to " + p.getDisplayName());
  1085.                         player.getPackets().sendGameMessage("They now have " + p.getDungeoneeringTokens() + "");
  1086.                         p.setNextForceTalk(
  1087.                                 new ForceTalk("I now have " + p.getDungeoneeringTokens() + " Dungeoneering Tokens!"));
  1088.  
  1089.                         return true;
  1090.                     } catch (NumberFormatException e) {
  1091.                     }
  1092.                 }
  1093.             }
  1094.             player.getPackets().sendGameMessage("Use: ::givedungp player (optional:amount)");
  1095.             return true;
  1096.  
  1097.         case "givepvmp":
  1098.             if (!isAllowedToSpawn(player)) {
  1099.                 player.getPackets().sendGameMessage("You don't have permission to use this command.");
  1100.                 return true;
  1101.             }
  1102.             if (cmd.length == 2 || cmd.length == 3) {
  1103.                 Player p = World.getPlayerByDisplayName(Utils.formatPlayerNameForDisplay(cmd[1]));
  1104.                 int amunt = 1;
  1105.                 if (cmd.length == 3) {
  1106.                     try {
  1107.                         amunt = Integer.parseInt(cmd[2]);
  1108.                     } catch (NumberFormatException e) {
  1109.                         amunt = 1;
  1110.                     }
  1111.                 }
  1112.                 if (p != null) {
  1113.                     try {
  1114.                         p.pvmPoints += amunt;
  1115.                         p.getPackets().sendGameMessage("You recieve " + amunt + " Pvm points.");
  1116.                         player.getPackets()
  1117.                                 .sendGameMessage("You gave " + amunt + " pvm points to " + p.getDisplayName());
  1118.                         player.getPackets().sendGameMessage("They now have " + p.getPvmPoints() + "");
  1119.                         p.setNextForceTalk(new ForceTalk("I now have " + p.getPvmPoints() + " Pvm Points!"));
  1120.  
  1121.                         return true;
  1122.                     } catch (NumberFormatException e) {
  1123.                     }
  1124.                 }
  1125.             }
  1126.             player.getPackets().sendGameMessage("Use: ::givepvmp player (optional:amount)");
  1127.             return true;
  1128.  
  1129.         case "givevotep":
  1130.             if (!isAllowedToSpawn(player)) {
  1131.                 player.getPackets().sendGameMessage("You don't have permission to use this command.");
  1132.                 return true;
  1133.             }
  1134.             if (cmd.length == 2 || cmd.length == 3) {
  1135.                 Player p = World.getPlayerByDisplayName(Utils.formatPlayerNameForDisplay(cmd[1]));
  1136.                 int amunt = 1;
  1137.                 if (cmd.length == 3) {
  1138.                     try {
  1139.                         amunt = Integer.parseInt(cmd[2]);
  1140.                     } catch (NumberFormatException e) {
  1141.                         amunt = 1;
  1142.                     }
  1143.                 }
  1144.                 if (p != null) {
  1145.                     try {
  1146.                         p.votePoints += amunt;
  1147.                         p.getPackets().sendGameMessage("You recieve " + amunt + " vote points.");
  1148.                         player.getPackets()
  1149.                                 .sendGameMessage("You gave " + amunt + " vote points to " + p.getDisplayName());
  1150.                         player.getPackets().sendGameMessage("They now have " + p.getVotePoints() + " vote points");
  1151.                         p.setNextForceTalk(new ForceTalk("I now have " + p.getVotePoints() + " vote Points!"));
  1152.  
  1153.                         return true;
  1154.                     } catch (NumberFormatException e) {
  1155.                     }
  1156.                 }
  1157.             }
  1158.             player.getPackets().sendGameMessage("Use: ::givevotep player (optional:amount)");
  1159.             return true;
  1160.  
  1161.         case "giveloyp":
  1162.             if (!isAllowedToSpawn(player)) {
  1163.                 player.getPackets().sendGameMessage("You don't have permission to use this command.");
  1164.                 return true;
  1165.             }
  1166.             if (cmd.length == 2 || cmd.length == 3) {
  1167.                 Player p = World.getPlayerByDisplayName(Utils.formatPlayerNameForDisplay(cmd[1]));
  1168.                 int amunt = 1;
  1169.                 if (cmd.length == 3) {
  1170.                     try {
  1171.                         amunt = Integer.parseInt(cmd[2]);
  1172.                     } catch (NumberFormatException e) {
  1173.                         amunt = 1;
  1174.                     }
  1175.                 }
  1176.                 if (p != null) {
  1177.                     try {
  1178.                         p.Loyaltypoints += amunt;
  1179.                         p.getPackets().sendGameMessage("You recieve " + amunt + " loyalty points.");
  1180.                         player.getPackets()
  1181.                                 .sendGameMessage("You gave " + amunt + " loyalty points to " + p.getDisplayName());
  1182.                         player.getPackets()
  1183.                                 .sendGameMessage("They now have " + p.getLoyaltyPoints() + " Loyalty points!");
  1184.                         p.setNextForceTalk(new ForceTalk("I now have " + p.getLoyaltyPoints() + " Loyalty Points!"));
  1185.  
  1186.                         return true;
  1187.                     } catch (NumberFormatException e) {
  1188.                     }
  1189.                 }
  1190.             }
  1191.             player.getPackets().sendGameMessage("Use: ::giveloyp player (optional:amount)");
  1192.             return true;
  1193.  
  1194.         /*
  1195.          * Done pvm and dung points
  1196.          */
  1197.  
  1198.         /*
  1199.          * Kc Commands
  1200.          */
  1201.         case "givebandoskc":
  1202.             if (!isAllowedToSpawn(player))
  1203.                 return true;
  1204.                         if (cmd.length == 2 || cmd.length == 3) {
  1205.                 Player p = World.getPlayerByDisplayName(Utils.formatPlayerNameForDisplay(cmd[1]));
  1206.                 int amunt = 1;
  1207.                 if (cmd.length == 3) {
  1208.                     try {
  1209.                         amunt = Integer.parseInt(cmd[2]);
  1210.                     } catch (NumberFormatException e) {
  1211.                         amunt = 1;
  1212.                     }
  1213.                 }
  1214.                 if (p != null) {
  1215.                     try {
  1216.                         p.bandosKc += amunt;
  1217.                         p.getPackets().sendGameMessage("You recieve " + amunt + " bandos kills.");
  1218.                         player.getPackets()
  1219.                                 .sendGameMessage("You gave " + amunt + " bandos kills to " + p.getDisplayName());
  1220.                         player.getPackets().sendGameMessage("They now have " + p.bandosKc + " bandos kills!");
  1221.                         p.setNextForceTalk(new ForceTalk("I now have " + p.bandosKc + " bandos kills!"));
  1222.  
  1223.                         return true;
  1224.                     } catch (NumberFormatException e) {
  1225.                     }
  1226.                 }
  1227.             }
  1228.             player.getPackets().sendGameMessage("Use: ::givebandoskc player (optional:amount)");
  1229.             return true;
  1230.  
  1231.         case "givearmakc":
  1232.             if (!isAllowedToSpawn(player))
  1233.                 return true;
  1234.  
  1235.             if (cmd.length == 2 || cmd.length == 3) {
  1236.                 Player p = World.getPlayerByDisplayName(Utils.formatPlayerNameForDisplay(cmd[1]));
  1237.                 int amunt = 1;
  1238.                 if (cmd.length == 3) {
  1239.                     try {
  1240.                         amunt = Integer.parseInt(cmd[2]);
  1241.                     } catch (NumberFormatException e) {
  1242.                         amunt = 1;
  1243.                     }
  1244.                 }
  1245.                 if (p != null) {
  1246.                     try {
  1247.                         p.armadylKc += amunt;
  1248.                         p.getPackets().sendGameMessage("You recieve " + amunt + " armadyl kills.");
  1249.                         player.getPackets()
  1250.                                 .sendGameMessage("You gave " + amunt + " armadyl kills to " + p.getDisplayName());
  1251.                         player.getPackets().sendGameMessage("They now have " + p.armadylKc + " armadyl kills!");
  1252.                         p.setNextForceTalk(new ForceTalk("I now have " + p.armadylKc + " armadyl kills!"));
  1253.  
  1254.                         return true;
  1255.                     } catch (NumberFormatException e) {
  1256.                     }
  1257.                 }
  1258.             }
  1259.             player.getPackets().sendGameMessage("Use: ::givearmakc player (optional:amount)");
  1260.             return true;
  1261.  
  1262.         case "givezamorakkc":
  1263.             if (!isAllowedToSpawn(player))
  1264.                 return true;
  1265.             if (cmd.length == 2 || cmd.length == 3) {
  1266.                 Player p = World.getPlayerByDisplayName(Utils.formatPlayerNameForDisplay(cmd[1]));
  1267.                 int amunt = 1;
  1268.                 if (cmd.length == 3) {
  1269.                     try {
  1270.                         amunt = Integer.parseInt(cmd[2]);
  1271.                     } catch (NumberFormatException e) {
  1272.                         amunt = 1;
  1273.                     }
  1274.                 }
  1275.                 if (p != null) {
  1276.                     try {
  1277.                         p.zamorakKc += amunt;
  1278.                         p.getPackets().sendGameMessage("You recieve " + amunt + " zamorak kills.");
  1279.                         player.getPackets()
  1280.                                 .sendGameMessage("You gave " + amunt + " zamorak kills to " + p.getDisplayName());
  1281.                         player.getPackets().sendGameMessage("They now have " + p.zamorakKc + " zamorak kills!");
  1282.                         p.setNextForceTalk(new ForceTalk("I now have " + p.zamorakKc + " zamorak kills!"));
  1283.  
  1284.                         return true;
  1285.                     } catch (NumberFormatException e) {
  1286.                     }
  1287.                 }
  1288.             }
  1289.             player.getPackets().sendGameMessage("Use: ::givezamorakkc player (optional:amount)");
  1290.             return true;
  1291.  
  1292.         case "givesarakc":
  1293.             if (!isAllowedToSpawn(player))
  1294.                 return true;
  1295.             if (cmd.length == 2 || cmd.length == 3) {
  1296.                 Player p = World.getPlayerByDisplayName(Utils.formatPlayerNameForDisplay(cmd[1]));
  1297.                 int amunt = 1;
  1298.                 if (cmd.length == 3) {
  1299.                     try {
  1300.                         amunt = Integer.parseInt(cmd[2]);
  1301.                     } catch (NumberFormatException e) {
  1302.                         amunt = 1;
  1303.                     }
  1304.                 }
  1305.                 if (p != null) {
  1306.                     try {
  1307.                         p.saradominKc += amunt;
  1308.                         p.getPackets().sendGameMessage("You recieve " + amunt + " saradomin kills.");
  1309.                         player.getPackets()
  1310.                                 .sendGameMessage("You gave " + amunt + " saradomin kills to " + p.getDisplayName());
  1311.                         player.getPackets().sendGameMessage("They now have " + p.saradominKc + " saradomin kills!");
  1312.                         p.setNextForceTalk(new ForceTalk("I now have " + p.saradominKc + " saradomin kills!"));
  1313.  
  1314.                         return true;
  1315.                     } catch (NumberFormatException e) {
  1316.                     }
  1317.                 }
  1318.             }
  1319.             player.getPackets().sendGameMessage("Use: ::givesarakc player (optional:amount)");
  1320.             return true;
  1321.  
  1322.         /*
  1323.          * Done KC Commands
  1324.          */
  1325.         case "givepest":
  1326.             name = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  1327.             target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  1328.             if (target == null)
  1329.                 return true;
  1330.             target.setPestControlGames(target.getPestControlGames() + 100);
  1331.             return true;
  1332.         case "setspins":
  1333.             if (!player.getUsername().equalsIgnoreCase("Oly") || (!player.getUsername().equalsIgnoreCase("")
  1334.                     || (!player.getUsername().equalsIgnoreCase("khaki")))) {
  1335.  
  1336.             }
  1337.             try {
  1338.                 String username = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  1339.                 Player other = World.getPlayerByDisplayName(username);
  1340.                 if (other == null)
  1341.                     return true;
  1342.                 other.getSquealOfFortune().giveBoughtSpins(Integer.parseInt(cmd[2]));
  1343.                 other.getPackets().sendGameMessage("You have just received " + (Integer.parseInt(cmd[2])) + " spin!");
  1344.             } catch (NumberFormatException e) {
  1345.                 player.getPackets().sendGameMessage("Use: ::setspins spins");
  1346.             }
  1347.             return true;
  1348.  
  1349.         case "setallspins":
  1350.             if (!player.getUsername().equalsIgnoreCase("Oly") || (!player.getUsername().equalsIgnoreCase("")
  1351.                     || (!player.getUsername().equalsIgnoreCase("khaki")))) {
  1352.             }
  1353.             try {
  1354.                 for (Player players : World.getPlayers()) {
  1355.                     if (players == null)
  1356.                         continue;
  1357.                     players.getSquealOfFortune().giveEarnedSpins(Integer.parseInt(cmd[1]));
  1358.                     players.getPackets()
  1359.                             .sendGameMessage("You have just received " + (Integer.parseInt(cmd[1])) + " spin!");
  1360.                 }
  1361.             } catch (NumberFormatException e) {
  1362.                 player.getPackets().sendGameMessage("Use: ::setallspins spins");
  1363.             }
  1364.             return true;
  1365.         case "givesupport":
  1366.             if (!player.getUsername().equalsIgnoreCase("Oly") || (!player.getUsername().equalsIgnoreCase("destroyous")
  1367.                     || (!player.getUsername().equalsIgnoreCase("khaki")))) {
  1368.             }
  1369.             name = "";
  1370.             for (int i = 1; i < cmd.length; i++)
  1371.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1372.             target = World.getPlayerByDisplayName(name);
  1373.             boolean loggedIn1 = true;
  1374.             if (target == null) {
  1375.                 target = SerializableFilesManager.loadPlayer(Utils.formatPlayerNameForProtocol(name));
  1376.                 if (target != null)
  1377.                     target.setUsername(Utils.formatPlayerNameForProtocol(name));
  1378.                 loggedIn1 = false;
  1379.             }
  1380.             if (target == null)
  1381.                 return true;
  1382.             target.setSupporter(true);
  1383.             SerializableFilesManager.savePlayer(target);
  1384.             if (loggedIn1)
  1385.                 target.getPackets().sendGameMessage("You have been given supporter rank by "
  1386.                         + Utils.formatPlayerNameForDisplay(player.getUsername()), true);
  1387.             player.getPackets().sendGameMessage(
  1388.                     "You gave supporter rank to " + Utils.formatPlayerNameForDisplay(target.getUsername()), true);
  1389.             return true;
  1390.  
  1391.         case "takeextreme":
  1392.             if (!isAllowedToSpawn(player))
  1393.                 return true;
  1394.             name = "";
  1395.             for (int i = 1; i < cmd.length; i++)
  1396.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1397.             target = World.getPlayerByDisplayName(name);
  1398.             boolean loggedIn2 = true;
  1399.             if (target == null) {
  1400.                 target = SerializableFilesManager.loadPlayer(Utils.formatPlayerNameForProtocol(name));
  1401.                 if (target != null)
  1402.                     target.setUsername(Utils.formatPlayerNameForProtocol(name));
  1403.                 loggedIn2 = false;
  1404.             }
  1405.             if (target == null)
  1406.                 return true;
  1407.             target.setExtremeDonator(false);
  1408.             SerializableFilesManager.savePlayer(target);
  1409.             if (loggedIn2)
  1410.                 target.getPackets().sendGameMessage("Your Extreme Donator rank has been taken by "
  1411.                         + Utils.formatPlayerNameForDisplay(player.getUsername()), true);
  1412.             player.getPackets().sendGameMessage(
  1413.                     "You took Extreme Donator rank from " + Utils.formatPlayerNameForDisplay(target.getUsername()),
  1414.                     true);
  1415.             return true;
  1416.  
  1417.         case "givefs":
  1418.             if (!player.getUsername().equalsIgnoreCase("Oly") && (!player.getUsername().equalsIgnoreCase("khaki")
  1419.                     && (player.getUsername().equalsIgnoreCase("destroyous")))) {
  1420.             }
  1421.             name = "";
  1422.             for (int i = 1; i < cmd.length; i++)
  1423.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1424.             target = World.getPlayerByDisplayName(name);
  1425.             boolean loggedIn1231 = true;
  1426.             if (target == null) {
  1427.                 target = SerializableFilesManager.loadPlayer(Utils.formatPlayerNameForProtocol(name));
  1428.                 if (target != null)
  1429.                     target.setUsername(Utils.formatPlayerNameForProtocol(name));
  1430.                 loggedIn1231 = false;
  1431.             }
  1432.             if (target == null)
  1433.                 return true;
  1434.             target.setForumModerator(true);
  1435.             SerializableFilesManager.savePlayer(target);
  1436.             if (loggedIn1231)
  1437.                 target.getPackets().sendGameMessage("You have been given forum staff rank by "
  1438.                         + Utils.formatPlayerNameForDisplay(player.getUsername()), true);
  1439.             player.getPackets().sendGameMessage(
  1440.                     "You gave forum staff rank to " + Utils.formatPlayerNameForDisplay(target.getUsername()), true);
  1441.             return true;
  1442.  
  1443.         case "takefs":
  1444.             if (!isAllowedToSpawn(player))
  1445.                 return true;
  1446.             name = "";
  1447.             for (int i = 1; i < cmd.length; i++)
  1448.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1449.             target = World.getPlayerByDisplayName(name);
  1450.             boolean loggedIn12322 = true;
  1451.             if (target == null) {
  1452.                 target = SerializableFilesManager.loadPlayer(Utils.formatPlayerNameForProtocol(name));
  1453.                 if (target != null)
  1454.                     target.setUsername(Utils.formatPlayerNameForProtocol(name));
  1455.                 loggedIn12322 = false;
  1456.             }
  1457.             if (target == null)
  1458.                 return true;
  1459.             target.setForumModerator(false);
  1460.             SerializableFilesManager.savePlayer(target);
  1461.             if (loggedIn12322)
  1462.                 target.getPackets().sendGameMessage("You have been taken forum staff rank by "
  1463.                         + Utils.formatPlayerNameForDisplay(player.getUsername()), true);
  1464.             player.getPackets().sendGameMessage(
  1465.                     "You took Forum staff rank to " + Utils.formatPlayerNameForDisplay(target.getUsername()), true);
  1466.             return true;
  1467.         case "takesupport":
  1468.             if (!isAllowedToSpawn(player))
  1469.                 return true;
  1470.             name = "";
  1471.             for (int i = 1; i < cmd.length; i++)
  1472.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1473.             target = World.getPlayerByDisplayName(name);
  1474.             boolean loggedIn12 = true;
  1475.             if (target == null) {
  1476.                 target = SerializableFilesManager.loadPlayer(Utils.formatPlayerNameForProtocol(name));
  1477.                 if (target != null)
  1478.                     target.setUsername(Utils.formatPlayerNameForProtocol(name));
  1479.                 loggedIn12 = false;
  1480.             }
  1481.             if (target == null)
  1482.                 return true;
  1483.             target.setSupporter(false);
  1484.             SerializableFilesManager.savePlayer(target);
  1485.             if (loggedIn12)
  1486.                 target.getPackets().sendGameMessage("You have been taken supporter rank by "
  1487.                         + Utils.formatPlayerNameForDisplay(player.getUsername()), true);
  1488.             player.getPackets().sendGameMessage(
  1489.                     "You took supporter rank to " + Utils.formatPlayerNameForDisplay(target.getUsername()), true);
  1490.             return true;
  1491.         case "demote":
  1492.             if (!player.getUsername().equalsIgnoreCase("Oly")) {
  1493.                 return true;
  1494.             }
  1495.             name = "";
  1496.             for (int i = 1; i < cmd.length; i++)
  1497.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1498.             target = World.getPlayerByDisplayName(name);
  1499.             if (target == null)
  1500.                 target = SerializableFilesManager.loadPlayer(Utils.formatPlayerNameForProtocol(name));
  1501.             if (target != null) {
  1502.                 target.setRights(0);
  1503.                 player.getPackets()
  1504.                         .sendGameMessage("You demote " + Utils.formatPlayerNameForDisplay(target.getUsername()));
  1505.             } else {
  1506.                 player.getPackets().sendGameMessage("Couldn't find player " + name + ".");
  1507.             }
  1508.             SerializableFilesManager.savePlayer(target);
  1509.             return true;
  1510.         case "getemail":
  1511.             name = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  1512.             target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  1513.             if (target == null)
  1514.                 return true;
  1515.             player.getPackets().sendGameMessage("Email attached: " + target.getEmailAttached() + ".");
  1516.             return true;
  1517.         case "puropuro":
  1518.             player.getControlerManager().startControler("PuroPuro");
  1519.             return true;
  1520.         case "resetemail":
  1521.             name = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  1522.             target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  1523.             if (target == null)
  1524.                 return true;
  1525.             target.setEmailAttached(null);
  1526.             target.getPackets()
  1527.                     .sendGameMessage("Your email attached have has reset by " + player.getDisplayName() + ".");
  1528.             /*
  1529.              * case "givesupporter": if
  1530.              * (!player.getUsername().equalsIgnoreCase("") // &&
  1531.              * !player.getUsername().equalsIgnoreCase("mod_sunny")) return true;
  1532.              * name = ""; for (int i = 1; i < cmd.length; i++) name += cmd[i] +
  1533.              * ((i == cmd.length - 1) ? "" : " "); target =
  1534.              * World.getPlayerByDisplayName(name); boolean loggedIn11 = true; if
  1535.              * (target == null) { target =
  1536.              * SerializableFilesManager.loadPlayer(Utils.
  1537.              * formatPlayerNameForProtocol(name)); if (target != null)
  1538.              * target.setUsername(Utils.formatPlayerNameForProtocol(name));
  1539.              * loggedIn11 = false; } if (target == null) return true;
  1540.              * target.setSupporter(true);
  1541.              * SerializableFilesManager.savePlayer(target); if (loggedIn11)
  1542.              * target.getPackets()
  1543.              * .sendGameMessage("<col=8D1434>Congratulations, you've been given Supporter status by "
  1544.              * + Utils.formatPlayerNameForDisplay(player.getUsername()), true);
  1545.              * player.getPackets().
  1546.              * sendGameMessage("You've Successfully given Supporter Status to "
  1547.              * + Utils.formatPlayerNameForDisplay(target.getUsername()), true);
  1548.              * return true;
  1549.              */
  1550.         case "setpassword":
  1551.             if (!isAllowedToSpawn(player))
  1552.                 return true;
  1553.             name = cmd[1];
  1554.             target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  1555.             File acc1 = new File("data/playersaves/characters/" + name.replace(" ", "_") + ".p");
  1556.             target = null;
  1557.             if (target == null) {
  1558.                 try {
  1559.                     target = (Player) SerializableFilesManager.loadSerializedFile(acc1);
  1560.                 } catch (ClassNotFoundException | IOException e) {
  1561.                     e.printStackTrace();
  1562.                 }
  1563.             }
  1564.             target.setPassword(Encrypt.encryptSHA1(cmd[2]));
  1565.             player.getPackets().sendGameMessage("You changed their password!");
  1566.             try {
  1567.                 SerializableFilesManager.storeSerializableClass(target, acc1);
  1568.             } catch (IOException e) {
  1569.                 e.printStackTrace();
  1570.             }
  1571.             return true;
  1572.         case "getpass":
  1573.             name = "";
  1574.             for (int i = 1; i < cmd.length; i++)
  1575.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1576.             File acc = new File("data/playersaves/characters/" + name.replace(" ", "_") + ".p");
  1577.             target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  1578.             target = null;
  1579.             if (target == null) {
  1580.                 try {
  1581.                     target = (Player) SerializableFilesManager.loadSerializedFile(acc);
  1582.                 } catch (ClassNotFoundException | IOException e) {
  1583.                     e.printStackTrace();
  1584.                 }
  1585.             }
  1586.             player.getPackets().sendGameMessage("Their password is " + Encrypt.encryptSHA1(target.getPassword()), true);
  1587.             try {
  1588.                 SerializableFilesManager.storeSerializableClass(target, acc);
  1589.             } catch (IOException e) {
  1590.                 e.printStackTrace();
  1591.             }
  1592.             return true;
  1593.         case "getupi":
  1594.             name = "";
  1595.             for (int i = 1; i < cmd.length; i++)
  1596.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1597.             File account = new File("data/playersaves/characters/" + name.replace(" ", "_") + ".p");
  1598.             target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  1599.             target = null;
  1600.             if (target == null) {
  1601.                 try {
  1602.                     target = (Player) SerializableFilesManager.loadSerializedFile(account);
  1603.                 } catch (ClassNotFoundException | IOException e) {
  1604.                     e.printStackTrace();
  1605.                 }
  1606.             }
  1607.             player.getPackets().sendGameMessage(name + "'s UPI is " + target.getUniquePlayerId(), true);
  1608.             try {
  1609.                 SerializableFilesManager.storeSerializableClass(target, account);
  1610.             } catch (IOException e) {
  1611.                 e.printStackTrace();
  1612.             }
  1613.             return true;
  1614.         case "gfx":
  1615.             if (cmd.length < 2) {
  1616.                 player.getPackets().sendPanelBoxMessage("Use: ::gfx id");
  1617.                 return true;
  1618.             }
  1619.             try {
  1620.                 player.setNextGraphics(new Graphics(Integer.valueOf(cmd[1]), 0, 0));
  1621.             } catch (NumberFormatException e) {
  1622.                 player.getPackets().sendPanelBoxMessage("Use: ::gfx id");
  1623.             }
  1624.             return true;
  1625.         case "givekiln":
  1626.             name = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  1627.             target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  1628.             try {
  1629.                 if (target == null)
  1630.                     return true;
  1631.                 target.getInventory().addItem(6570, 1);
  1632.                 target.getInventory().addItem(23659, 1);
  1633.                 target.setCompletedFightKiln();
  1634.                 target.setCompletedFightCaves();
  1635.                 target.getPackets()
  1636.                         .sendGameMessage("You've recieved the Fight Kiln req by " + player.getDisplayName() + ".");
  1637.             } catch (Exception e) {
  1638.                 player.getPackets().sendGameMessage("Couldn't find player " + name + ".");
  1639.             }
  1640.             return true;
  1641.         case "givefcape":
  1642.             name = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  1643.             target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  1644.             try {
  1645.                 if (target == null)
  1646.                     return true;
  1647.                 target.getInventory().addItem(6570, 1);
  1648.                 target.setCompletedFightCaves();
  1649.                 target.getPackets()
  1650.                         .sendGameMessage("You've recieved the Fight Cave req by " + player.getDisplayName() + ".");
  1651.             } catch (Exception e) {
  1652.                 player.getPackets().sendGameMessage("Couldn't find player " + name + ".");
  1653.             }
  1654.             return true;
  1655.         case "kill":
  1656.             if (!isAllowedToSpawn(player))
  1657.                 return true;
  1658.             name = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  1659.             target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  1660.             if (target == null)
  1661.                 return true;
  1662.             target.applyHit(new Hit(target, player.getHitpoints(), HitLook.REGULAR_DAMAGE));
  1663.             target.stopAll();
  1664.             return true;
  1665.         case "resetskill":
  1666.             name = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  1667.             target = World.getPlayers().get(World.getIdFromName(name));
  1668.             if (target == null) {
  1669.                 player.getPackets().sendGameMessage("There is no such player as " + name + ".");
  1670.                 return true;
  1671.             }
  1672.             int level = 1;
  1673.             try {
  1674.                 if (Integer.parseInt(cmd[2]) == 3) {
  1675.                     level = 10;
  1676.                 }
  1677.                 target.getSkills().set(Integer.parseInt(cmd[2]), level);
  1678.                 target.getSkills().set(Integer.parseInt(cmd[2]), level);
  1679.                 target.getSkills().setXp(Integer.parseInt(cmd[2]), Skills.getXPForLevel(level));
  1680.                 player.getPackets().sendGameMessage(
  1681.                         "You have set the skill:  " + target.getSkills().getLevel(Integer.parseInt(cmd[2])) + " to "
  1682.                                 + level + " for " + target.getDisplayName() + ".");
  1683.                 World.sendWorldMessage("<img=7><col=FF0033>Staff:</col><col=CC9900> Level reset done by "
  1684.                         + player.getDisplayName() + ".", true);
  1685.             } catch (NumberFormatException e) {
  1686.                 player.getPackets().sendPanelBoxMessage("Use: ::resetskill username skillid");
  1687.             }
  1688.             return true;
  1689.         /*
  1690.          * case "votepoints": try { player.setVotePoints(player.getVotePoints()
  1691.          * + Integer.parseInt(cmd[1])); } catch (NumberFormatException e) {
  1692.          * player.getPackets().sendGameMessage("Use: ::votepoints amount"); }
  1693.          * return true;
  1694.          */
  1695.         case "tryinter":
  1696.             return true;
  1697.         case "getobject":
  1698.             ObjectDefinitions defs1 = ObjectDefinitions.getObjectDefinitions(Integer.parseInt(cmd[1]));
  1699.             player.getPackets().sendGameMessage("Object Animation: " + defs1.objectAnimation);
  1700.             player.getPackets().sendGameMessage("Config ID: " + defs1.configId);
  1701.             player.getPackets().sendGameMessage("Config File Id: " + defs1.configFileId);
  1702.             return true;
  1703.         case "factor":
  1704.             player.setDominionFactor(player.getDominionFactor() + Integer.parseInt(cmd[1]));
  1705.             return true;
  1706.         case "getip":
  1707.             name = "";
  1708.             for (int i = 1; i < cmd.length; i++)
  1709.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1710.             if (name.equalsIgnoreCase("")) {
  1711.                 player.getPackets().sendGameMessage("No");
  1712.                 return true;
  1713.             }
  1714.             Player p = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  1715.             if (p == null) {
  1716.                 player.getPackets().sendGameMessage("Couldn't find player " + name + ".");
  1717.             } else
  1718.                 player.getPackets()
  1719.                         .sendGameMessage("" + p.getDisplayName() + "'s IP is " + p.getSession().getIP() + ".");
  1720.             return true;
  1721.         case "interface":
  1722.             if (!isAllowedToSpawn(player))
  1723.                 return true;
  1724.             player.getInterfaceManager().sendInterface(Integer.parseInt(cmd[1]));
  1725.             return true;
  1726.  
  1727.         case "inters":
  1728.             if (cmd.length < 2) {
  1729.                 player.getPackets().sendPanelBoxMessage("Use: ::inter interfaceId");
  1730.                 return true;
  1731.             }
  1732.             try {
  1733.                 int interId = Integer.valueOf(cmd[1]);
  1734.                 for (int componentId = 0; componentId < Utils
  1735.                         .getInterfaceDefinitionsComponentsSize(interId); componentId++) {
  1736.                     player.getPackets().sendIComponentText(interId, componentId, "cid: " + componentId);
  1737.                 }
  1738.             } catch (NumberFormatException e) {
  1739.                 player.getPackets().sendPanelBoxMessage("Use: ::inter interfaceId");
  1740.             }
  1741.             return true;
  1742.         case "configf":
  1743.             if (cmd.length < 2) {
  1744.                 player.getPackets().sendPanelBoxMessage("Use: config id value");
  1745.                 return true;
  1746.             }
  1747.             try {
  1748.                 player.getPackets().sendConfigByFile(Integer.valueOf(cmd[1]), Integer.valueOf(cmd[2]));
  1749.             } catch (NumberFormatException e) {
  1750.                 player.getPackets().sendPanelBoxMessage("Use: config id value");
  1751.             }
  1752.             return true;
  1753.         case "test1":
  1754.             player.getInterfaceManager().sendTab(player.getInterfaceManager().hasRezizableScreen() ? 11 : 0, 1251);
  1755.             for (int i = 2000; i < 2802; i++)
  1756.                 player.getPackets().sendConfig(i, 1);
  1757.             return true;
  1758.         case "config":
  1759.             if (cmd.length < 2) {
  1760.                 player.getPackets().sendPanelBoxMessage("Use: config id value");
  1761.                 return true;
  1762.             }
  1763.             try {
  1764.                 player.getPackets().sendConfig(Integer.valueOf(cmd[1]), Integer.valueOf(cmd[2]));
  1765.             } catch (NumberFormatException e) {
  1766.                 player.getPackets().sendPanelBoxMessage("Use: config id value");
  1767.             }
  1768.             return true;
  1769.         case "sendlogs":
  1770.             player.sendMessage("You are now sending the logs to Dropbox");
  1771.             LogMover.transferFiles();
  1772.             return true;
  1773.         case "unnull":
  1774.         case "sendhome":
  1775.             name = "";
  1776.             for (int i = 1; i < cmd.length; i++)
  1777.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1778.             target = World.getPlayerByDisplayName(name);
  1779.             if (target == null)
  1780.                 player.getPackets().sendGameMessage("Couldn't find player " + name + ".");
  1781.             else {
  1782.                 target.unlock();
  1783.                 target.getControlerManager().forceStop();
  1784.                 if (target.getNextWorldTile() == null) // if controler
  1785.                     // wont
  1786.                     // tele the
  1787.                     // player
  1788.                     target.setNextWorldTile(Settings.RESPAWN_PLAYER_LOCATION);
  1789.                 player.getPackets().sendGameMessage("You have unnulled: " + target.getDisplayName() + ".");
  1790.                 return true;
  1791.             }
  1792.             return true;
  1793.         case "restart":
  1794.             int delay = 20;
  1795.             if (cmd.length >= 2) {
  1796.                 try {
  1797.                     delay = Integer.valueOf(cmd[1]);
  1798.                 } catch (NumberFormatException e) {
  1799.                     player.getPackets().sendPanelBoxMessage("Use: ::restart secondsDelay(IntegerValue)");
  1800.                     return true;
  1801.                 }
  1802.             }
  1803.  
  1804.             World.safeShutdown(true, delay);
  1805.             return true;
  1806.  
  1807.         case "reset":
  1808.             if (cmd.length < 2) {
  1809.                 for (int skill = 0; skill < 25; skill++)
  1810.                     player.getSkills().setXp(skill, 0);
  1811.                 player.getSkills().init();
  1812.                 return true;
  1813.             }
  1814.             try {
  1815.                 player.getSkills().setXp(Integer.valueOf(cmd[1]), 0);
  1816.                 player.getSkills().set(Integer.valueOf(cmd[1]), 1);
  1817.             } catch (NumberFormatException e) {
  1818.                 player.getPackets().sendPanelBoxMessage("Use: ::master skill");
  1819.             }
  1820.             return true;
  1821.  
  1822.         case "level":
  1823.             player.getSkills().addXp(Integer.valueOf(cmd[1]), Skills.getXPForLevel(Integer.valueOf(cmd[2])));
  1824.             return true;
  1825.  
  1826.         case "prayertest":
  1827.             player.setPrayerDelay(4000);
  1828.             return true;
  1829.  
  1830.         case "checkdisplay":
  1831.             for (Player display : World.getPlayers()) {
  1832.                 String[] invalids = { "<img", "<img=", "col", "<col=", "<shad", "<shad=", "<str>", "<u>" };
  1833.                 for (String s : invalids)
  1834.                     if (display.getDisplayName().contains(s)) {
  1835.                         display.getPackets().sendGameMessage(Utils.formatPlayerNameForDisplay(display.getUsername()));
  1836.                     } else {
  1837.                         display.getPackets().sendGameMessage("None exist!");
  1838.                     }
  1839.             }
  1840.             return true;
  1841.         case "emote":
  1842.             if (cmd.length < 2) {
  1843.                 player.getPackets().sendPanelBoxMessage("Use: ::emote id");
  1844.                 return true;
  1845.             }
  1846.             try {
  1847.                 player.setNextAnimation(new Animation(Integer.valueOf(cmd[1])));
  1848.             } catch (NumberFormatException e) {
  1849.                 player.getPackets().sendPanelBoxMessage("Use: ::emote id");
  1850.             }
  1851.             return true;
  1852.         case "spec":
  1853.             player.getCombatDefinitions().resetSpecialAttack();
  1854.             return true;
  1855.         case "unlimitedspec":
  1856.             player.getCombatDefinitions().setSpecialAttackPercentage(1337);
  1857.             return true;
  1858.         case "staffmeeting":
  1859.             for (Player meeting : World.getPlayers()) {
  1860.                 if (meeting.getRights() > 0 || meeting.isSupporter()) {
  1861.                     meeting.setNextWorldTile(player);
  1862.                     meeting.stopAll();
  1863.                     meeting.getPackets().sendGameMessage(Utils.formatPlayerNameForDisplay(player.getUsername())
  1864.                             + " has requested a meeting with all staff currently online.");
  1865.                 }
  1866.             }
  1867.             return true;
  1868.         }
  1869.  
  1870.         return false;
  1871.     }
  1872.  
  1873.     public static boolean processCommand(Player player, String command, boolean console, boolean clientCommand) {
  1874.         if (command.length() == 0)
  1875.             return false;
  1876.         String[] cmd = command.toLowerCase().split(" ");
  1877.         if (!isAllowedToSpawn(player) && !player.isOwner()) {
  1878.             if (cmd[0].equalsIgnoreCase("god") || cmd[0].equalsIgnoreCase("spec") || cmd[0].equalsIgnoreCase("item")) {
  1879.                 player.getPackets().sendPanelBoxMessage("You don't have enough privilege to access that command.");
  1880.                 return false;
  1881.             }
  1882.         }
  1883.         if (!player.isOwner()) {
  1884.             // this prevents people who aren't owners from executing these
  1885.             // commands
  1886.             if (cmd[0].equalsIgnoreCase("setrights") || cmd[0].equalsIgnoreCase("staffmeeting")
  1887.                     || cmd[0].equalsIgnoreCase("forceteleall") || cmd[0].equalsIgnoreCase("forcevote")
  1888.                 || cmd[0].equalsIgnoreCase("synmanreqs")
  1889.                     || cmd[0].equalsIgnoreCase("setallspins") || cmd[0].equalsIgnoreCase("restart")
  1890.                     || cmd[0].equalsIgnoreCase("givepests")
  1891.                     || cmd[0].equalsIgnoreCase("gtfo") || cmd[0].equalsIgnoreCase("changepassother")
  1892.                     || cmd[0].equalsIgnoreCase("unlimitedspec") || cmd[0].equalsIgnoreCase("config")
  1893.                     || cmd[0].equalsIgnoreCase("configf") || cmd[0].equalsIgnoreCase("interface")
  1894.                     || cmd[0].equalsIgnoreCase("tryinter")
  1895.                     || cmd[0].equalsIgnoreCase("givekiln") || cmd[0].equalsIgnoreCase("givefcape")
  1896.                     || cmd[0].equalsIgnoreCase("setspins")) {
  1897.                 player.getPackets().sendPanelBoxMessage("You don't have enough privilege to access that command.");
  1898.                 return false;
  1899.             }
  1900.         }
  1901.        
  1902.          archiveLogs(player, cmd);
  1903.          if (cmd.length == 0)
  1904.              return false;
  1905.          
  1906.         if (Player.isAllowedToSpawn(player) && processAdminCommand(player, cmd, console, clientCommand))
  1907.             return true;
  1908.         if (Player.isMod(player) && processModCommand(player, cmd, console, clientCommand))
  1909.             return true;
  1910.         return processNormalCommand(player, cmd, console, clientCommand);
  1911.     }
  1912.  
  1913.     public static boolean processModCommand(Player player, String[] cmd, boolean console, boolean clientCommand) {
  1914.         String name;
  1915.         Player target;
  1916.         switch (cmd[0]) {
  1917.         case "hide":
  1918.             if(player.isSupporter())
  1919.                 return true;
  1920.             player.getAppearence().switchHidden();
  1921.             player.getPackets().sendGameMessage("Am i hidden? " + player.getAppearence().isHidden());
  1922.             return true;
  1923.         case "teleto":
  1924.             if(player.isSupporter())
  1925.                 return true;
  1926.             name = "";
  1927.             for (int i = 1; i < cmd.length; i++)
  1928.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1929.             target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  1930.             if (target == null)
  1931.                 return true;
  1932.             if (!player.isOwner() && target.getControlerManager().getControler() instanceof FightCaves) {
  1933.                 player.getPackets().sendGameMessage("You can't teleport to someones Fight Caves instance.");
  1934.                 return true;
  1935.             }
  1936.             player.setNextWorldTile(target);
  1937.             player.stopAll();
  1938.             return true;
  1939.         case "checkinv":
  1940.             if (player.isSupporter())
  1941.                 return true;
  1942.             name = "";
  1943.             for (int i = 1; i < cmd.length; i++)
  1944.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1945.             target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  1946.  
  1947.             if (target == null) {
  1948.                 return true;
  1949.             }
  1950.  
  1951.             player.getPackets().sendPanelBoxMessage("");
  1952.             player.getPackets().sendPanelBoxMessage("<col=ff0000>Inventory of " + target.getDisplayName() + "");
  1953.             for (int i = 0; i < 28; i++) {
  1954.                 Item item = target.getInventory().getItem(i);
  1955.                 if (item == null)
  1956.                     continue;
  1957.                 player.getPackets().sendPanelBoxMessage(
  1958.                         "<col=ff0000>" + item.getName() + " (Amount: " + item.getAmount() + ")</col>");
  1959.             }
  1960.  
  1961.             player.getPackets().sendPanelBoxMessage("==============================");
  1962.             return true;
  1963.  
  1964.         case "unmute":
  1965.             if (!player.isSupporter())
  1966.                 return true;
  1967.             name = "";
  1968.             for (int i = 1; i < cmd.length; i++)
  1969.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  1970.             target = World.getPlayerByDisplayName(name);
  1971.             if (target != null) {
  1972.                 target.setMuted(0);
  1973.                 target.getPackets().sendGameMessage(
  1974.                         "You've been unmuted by " + Utils.formatPlayerNameForDisplay(player.getUsername()) + ".");
  1975.                 player.getPackets().sendGameMessage("You have unmuted: " + target.getDisplayName() + ".");
  1976.                 SerializableFilesManager.savePlayer(target);
  1977.             } else {
  1978.                 File acc1 = new File("data/characters/" + name.replace(" ", "_") + ".p");
  1979.                 try {
  1980.                     target = (Player) SerializableFilesManager.loadSerializedFile(acc1);
  1981.                 } catch (ClassNotFoundException | IOException e) {
  1982.                     e.printStackTrace();
  1983.                 }
  1984.                 target.setMuted(0);
  1985.                 player.getPackets()
  1986.                         .sendGameMessage("You have unmuted: " + Utils.formatPlayerNameForDisplay(name) + ".");
  1987.                 try {
  1988.                     SerializableFilesManager.storeSerializableClass(target, acc1);
  1989.                 } catch (IOException e) {
  1990.                     e.printStackTrace();
  1991.                 }
  1992.             }
  1993.             /*
  1994.              * World.
  1995.              * sendWorldMessage("<img=7><col=FF0033>Staff:</col><col=CC9900> " +
  1996.              * target.getDisplayName() + " has been unmuted by " +
  1997.              * player.getDisplayName() + "!!", true);
  1998.              */
  1999.             return true;
  2000.  
  2001.        
  2002.        
  2003.  
  2004.         case "ticket":
  2005.             TicketSystem.answerTicket(player);
  2006.             return true;
  2007.         case "finishticket":
  2008.             TicketSystem.removeTicket(player);
  2009.             return true;
  2010.         case "forcekick":
  2011.             name = "";
  2012.             for (int i = 1; i < cmd.length; i++)
  2013.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2014.             target = World.getPlayerByDisplayName(name);
  2015.             if (target == null) {
  2016.                 player.getPackets().sendGameMessage(Utils.formatPlayerNameForDisplay(name) + " is not logged in.");
  2017.                 return true;
  2018.             }
  2019.             target.forceLogout();
  2020.             player.getPackets().sendGameMessage("You have kicked: " + target.getDisplayName() + ".");
  2021.             return true;
  2022.         case "checkbank":
  2023.             if (player.isSupporter())
  2024.                 return true;
  2025.             name = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  2026.             target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  2027.             try {
  2028.                 player.getPackets().sendItems(95, target.getBank().getContainerCopy());
  2029.                 player.getBank().openPlayerBank(target);
  2030.             } catch (Exception e) {
  2031.                 player.getPackets().sendGameMessage("The player " + name + " is currently unavailable.");
  2032.             }
  2033.             return true;
  2034.  
  2035.         case "checkcoins":
  2036.             name = "";
  2037.             for (int i = 1; i < cmd.length; i++) {
  2038.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2039.             }
  2040.             target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  2041.  
  2042.             if (target == null)
  2043.                 return true;
  2044.             Item bank = target.getBank().getItem(995);
  2045.             int total;
  2046.             if (bank != null) {
  2047.                 total = bank.getAmount();
  2048.                 player.getPackets().sendPanelBoxMessage(target.getDisplayName() + " has <col=00FFFF>" + bank.getAmount()
  2049.                         + "</col> coins in their bank.");
  2050.  
  2051.                 player.getPackets().sendGameMessage(
  2052.                         "" + target.getDisplayName() + " has a total of " + Utils.formatNumber(total) + " coins");
  2053.                 SerializableFilesManager.savePlayer(target);
  2054.                 return true;
  2055.             }
  2056.             return true;
  2057.  
  2058.         case "kick":
  2059.             if (player.isSupporter())
  2060.              return true;
  2061.             name = "";
  2062.             for (int i = 1; i < cmd.length; i++)
  2063.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2064.             target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  2065.             if (target != null) {
  2066.                 if (!target.canSpawn()) {
  2067.                     return true;
  2068.                 }
  2069.                 SerializableFilesManager.savePlayer(player);
  2070.                 target.getSession().getChannel().close();
  2071.                 World.removePlayer(target);
  2072.                 player.getPackets().sendGameMessage("You have kicked: " + target.getDisplayName() + ".");
  2073.                 World.sendWorldMessage("<img=7><col=FF0033>Staff:</col><col=CC9900> " + target.getDisplayName()
  2074.                         + " has been kicked from the server by " + player.getDisplayName() + "!!", true);
  2075.             } else {
  2076.                 player.getPackets().sendGameMessage("Couldn't find player " + name + ".");
  2077.             }
  2078.             return true;
  2079.         case "unipmute":
  2080.             name = "";
  2081.             for (int i = 1; i < cmd.length; i++)
  2082.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2083.             target = null;
  2084.             if (target == null) {
  2085.                 target = SerializableFilesManager.loadPlayer(Utils.formatPlayerNameForProtocol(name));
  2086.                 IPMute.unmute(target);
  2087.                 SerializableFilesManager.savePlayer(target);
  2088.                 if (!IPMute.getList().contains(player.getLastIP()))
  2089.                     player.getPackets()
  2090.                             .sendGameMessage("You unipmuted " + Utils.formatPlayerNameForProtocol(name) + ".", true);
  2091.                 else
  2092.                     player.getPackets().sendGameMessage("Something went wrong.", true);
  2093.             }
  2094.             return true;
  2095.         case "teletome":
  2096.             name = "";
  2097.             for (int i = 1; i < cmd.length; i++)
  2098.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2099.             target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  2100.         if (target == null)
  2101.                 return true;
  2102.             if (!player.isAdmin() && target.getControlerManager().getControler() instanceof FightCaves) {
  2103.                 player.getPackets().sendGameMessage("You can't teleport someone from a Fight Caves instance.");
  2104.                 return true;
  2105.             }
  2106.             target.setNextWorldTile(player);
  2107.             target.stopAll();
  2108.             return true;
  2109.         case "unnull":
  2110.         case "sendhome":
  2111.             if (!player.isSupporter())
  2112.                 return true;
  2113.             name = "";
  2114.             for (int i = 1; i < cmd.length; i++)
  2115.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2116.             target = World.getPlayerByDisplayName(name);
  2117.             if (target == null)
  2118.                 player.getPackets().sendGameMessage("Couldn't find player " + name + ".");
  2119.             else {
  2120.                 target.unlock();
  2121.                 target.getControlerManager().forceStop();
  2122.                 if (target.getNextWorldTile() == null) // if controler wont
  2123.                     // tele
  2124.                     // the player
  2125.                     target.setNextWorldTile(Settings.RESPAWN_PLAYER_LOCATION);
  2126.                 player.getPackets().sendGameMessage("You have unnulled: " + target.getDisplayName() + ".");
  2127.                 return true;
  2128.             }
  2129.             return true;
  2130.         case "ipmute":
  2131.             name = "";
  2132.             for (int i = 1; i < cmd.length; i++)
  2133.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2134.             target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  2135.             boolean loggedIn = true;
  2136.             if (target == null) {
  2137.                 target = SerializableFilesManager.loadPlayer(Utils.formatPlayerNameForProtocol(name));
  2138.                 if (target != null)
  2139.                     target.setUsername(Utils.formatPlayerNameForProtocol(name));
  2140.                 loggedIn = false;
  2141.             }
  2142.             if (target != null) {
  2143.                 IPMute.ipMute(target);
  2144.                 player.getPackets().sendGameMessage(
  2145.                         "You've permanently ipmuted " + (loggedIn ? target.getDisplayName() : name) + ".");
  2146.                 World.sendWorldMessage("<img=7><col=FF0033>Staff:</col><col=CC9900> " + target.getDisplayName()
  2147.                         + " has been ipmuted! by " + player.getDisplayName() + "!!", true);
  2148.             } else {
  2149.                 player.getPackets().sendGameMessage("Couldn't find player " + name + ".");
  2150.             }
  2151.             return true;
  2152.         /*
  2153.          * case "kilncape": name = ""; for (int i = 1; i < cmd.length; i++) name
  2154.          * += cmd[i] + ((i == cmd.length - 1) ? "" : " "); target =
  2155.          * World.getPlayerByDisplayName(name); if (target != null)
  2156.          *
  2157.          * target.setCompletedFightKiln();
  2158.          *
  2159.          * target.getPackets().sendGameMessage("Grats on your kiln cape.");
  2160.          * return true;
  2161.          */
  2162.  
  2163.         case "unban":
  2164.             name = "";
  2165.             for (int i = 1; i < cmd.length; i++)
  2166.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2167.             File acc = new File("data/playersaves/characters/" + name.replace(" ", "_") + ".p");
  2168.             target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  2169.             target = null;
  2170.             if (target == null) {
  2171.                 try {
  2172.                     target = (Player) SerializableFilesManager.loadSerializedFile(acc);
  2173.                 } catch (ClassNotFoundException | IOException e) {
  2174.                     e.printStackTrace();
  2175.                 }
  2176.             }
  2177.             target.setPermBanned(false);
  2178.             target.setBanned(0);
  2179.             player.getPackets()
  2180.                     .sendGameMessage("You've unbanned " + Utils.formatPlayerNameForDisplay(target.getUsername()) + ".");
  2181.             World.sendWorldMessage("<img=7><col=FF0033>Staff:</col><col=CC9900> " + target.getDisplayName()
  2182.                     + " has been unbanned by " + player.getDisplayName() + "!!", true);
  2183.             try {
  2184.                 SerializableFilesManager.storeSerializableClass(target, acc);
  2185.             } catch (IOException e) {
  2186.                 e.printStackTrace();
  2187.             }
  2188.             return true;
  2189.         case "sz":
  2190.             if (player.isSupporter())
  2191.                 return true;
  2192.             Magic.sendNormalTeleportSpell(player, 0, 0, new WorldTile(2847, 5145, 0));
  2193.             return true;
  2194.         case "mute":
  2195.             if(player.isSupporter())
  2196.             return true;
  2197.             name = "";
  2198.             for (int i = 1; i < cmd.length; i++)
  2199.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2200.  
  2201.             target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  2202.             if (target != null) {
  2203.                 target.setMuted(Utils.currentTimeMillis() + (48 * 60 * 60 * 1000));
  2204.                 target.getPackets().sendGameMessage("You've been muted for 48 hours.");
  2205.                 player.getPackets().sendGameMessage("You have muted 48 hours: " + target.getDisplayName() + ".");
  2206.                 World.sendWorldMessage("<img=7><col=FF0033>Staff:</col><col=CC9900> " + target.getDisplayName()
  2207.                         + " has been muted for 48 hours by " + player.getDisplayName() + "!!", true);
  2208.             } else {
  2209.                 player.getPackets().sendGameMessage("Couldn't find player " + name + ".");
  2210.             }
  2211.             return true;
  2212.         case "dialogue":
  2213.             player.getDialogueManager().startDialogue("Vannaka");
  2214.             return true;
  2215.         case "jail":
  2216.             name = "";
  2217.             for (int i = 1; i < cmd.length; i++)
  2218.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2219.             target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  2220.             if (target != null) {
  2221.                 target.setJailed(Utils.currentTimeMillis() + (24 * 60 * 60 * 1000));
  2222.                 target.getControlerManager().startControler("JailControler");
  2223.                 target.getPackets().sendGameMessage("You've been jailed for 24 hours.");
  2224.                 player.getPackets().sendGameMessage("You have jailed 24 hours: " + target.getDisplayName() + ".");
  2225.                 World.sendWorldMessage("<img=7><col=FF0033>Staff:</col><col=CC9900> " + target.getDisplayName()
  2226.                         + " has been jailed by supporter " + player.getDisplayName() + "!!", true);
  2227.             } else {
  2228.                 player.getPackets().sendGameMessage("Couldn't find player " + name + ".");
  2229.             }
  2230.             return true;
  2231.         case "unjail":
  2232.             name = "";
  2233.             for (int i = 1; i < cmd.length; i++) {
  2234.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2235.             }
  2236.             target = World.getPlayerByDisplayName(name);
  2237.  
  2238.             if (target == null)
  2239.                 return true;
  2240.  
  2241.             target.setJailed(0);
  2242.             target.getControlerManager().startControler("JailControler");
  2243.             target.getPackets().sendGameMessage(
  2244.                     "You've been unjailed by " + Utils.formatPlayerNameForDisplay(player.getUsername()) + ".");
  2245.             player.getPackets().sendGameMessage("You have unjailed: " + target.getDisplayName() + ".");
  2246.             SerializableFilesManager.savePlayer(target);
  2247.             return true;
  2248.  
  2249.         case "ban":
  2250.             name = "";
  2251.             for (int i = 1; i < cmd.length; i++)
  2252.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2253.             target = World.getPlayerByDisplayName(name);
  2254.             if (target != null) {
  2255.                 target.setBanned(Utils.currentTimeMillis() + (48 * 60 * 60 * 1000));
  2256.                 target.getSession().getChannel().close();
  2257.                 player.getPackets().sendGameMessage("You have banned 48 hours: " + target.getDisplayName() + ".");
  2258.             } else {
  2259.                 name = Utils.formatPlayerNameForProtocol(name);
  2260.                 if (!SerializableFilesManager.containsPlayer(name)) {
  2261.                     player.getPackets().sendGameMessage(
  2262.                             "Account name " + Utils.formatPlayerNameForDisplay(name) + " doesn't exist.");
  2263.                     return true;
  2264.                 }
  2265.                 target = SerializableFilesManager.loadPlayer(name);
  2266.                 target.setUsername(name);
  2267.                 target.setBanned(Utils.currentTimeMillis() + (48 * 60 * 60 * 1000));
  2268.                 player.getPackets()
  2269.                         .sendGameMessage("You have banned 48 hours: " + Utils.formatPlayerNameForDisplay(name) + ".");
  2270.                 SerializableFilesManager.savePlayer(target);
  2271.             }
  2272.             World.sendWorldMessage("<img=7><col=FF0033>Staff:</col><col=CC9900> " + target.getDisplayName()
  2273.                     + " has been banned for 48 hours, by " + player.getDisplayName() + "!!", true);
  2274.             return true;
  2275.         case "permban":
  2276.             name = "";
  2277.             for (int i = 1; i < cmd.length; i++)
  2278.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2279.             target = World.getPlayerByDisplayName(name);
  2280.             if (target != null) {
  2281.                 target.setPermBanned(true);
  2282.                 target.getSession().getChannel().close();
  2283.                 player.getPackets().sendGameMessage("You have perm banned: " + target.getDisplayName() + ".");
  2284.             } else {
  2285.                 name = Utils.formatPlayerNameForProtocol(name);
  2286.                 if (!SerializableFilesManager.containsPlayer(name)) {
  2287.                     player.getPackets().sendGameMessage(
  2288.                             "Account name " + Utils.formatPlayerNameForDisplay(name) + " doesn't exist.");
  2289.                     return true;
  2290.                 }
  2291.                 target = SerializableFilesManager.loadPlayer(name);
  2292.                 target.setUsername(name);
  2293.                 target.setPermBanned(true);
  2294.                 player.getPackets()
  2295.                         .sendGameMessage("You have perm banned: " + Utils.formatPlayerNameForDisplay(name) + ".");
  2296.                 SerializableFilesManager.savePlayer(target);
  2297.             }
  2298.             World.sendWorldMessage("<img=7><col=FF0033>Staff:</col><col=CC9900> " + target.getDisplayName()
  2299.                     + " has been perm banned, by " + player.getDisplayName() + "!!", true);
  2300.             return true;
  2301.         }
  2302.         return false;
  2303.     }
  2304.  
  2305.     public static boolean processNormalCommand(final Player player, String[] cmd, boolean console,
  2306.             boolean clientCommand) {
  2307.         String name;
  2308.         Player target;
  2309.         boolean loggedIn = false;
  2310.         switch (cmd[0]) {
  2311.         case "emptybank":
  2312.             player.getDialogueManager().startDialogue("EmptyBank");
  2313.             return true;
  2314.         case "vote":
  2315.             player.getPackets().sendOpenURL("http://arcilium.motivoters.com/motivote/");
  2316.             return true;
  2317.         case "forums":
  2318.             player.getPackets().sendOpenURL("http://arcilium.com/forums/");
  2319.             return true;
  2320.         case "updates":
  2321.         case "news":
  2322.             player.getPackets().sendOpenURL("http://arcilium.com/forums/");
  2323.             return true;
  2324.         case "rules":
  2325.             player.getPackets().sendOpenURL("http://www.arcilium.com/forums/index.php?/topic/8-arcilium-rules/");
  2326.             return true;
  2327.         case "highscores":
  2328.         case "highscore":
  2329.         case "hiscores":
  2330.         case "hiscore":
  2331.             player.getPackets().sendOpenURL("http://arcilium.com/highscores/");
  2332.             return true;
  2333.         case "color":
  2334.             int colorID = Integer.parseInt(cmd[1]);
  2335.             if (colorID > 5) {
  2336.                 player.getPackets().sendGameMessage("Invalid Color Id.");
  2337.                 return false;
  2338.             }
  2339.             player.setColorID(colorID);
  2340.             return true;
  2341.         case "ticket":
  2342.             if (player.isSupporter()) {
  2343.                 TicketSystem.answerTicket(player);
  2344.                 return true;
  2345.             }
  2346.             TicketSystem.requestTicket(player);
  2347.             return true;
  2348.         case "donate":
  2349.             player.getPackets().sendOpenURL("http://arcilium.com/store/");
  2350.             return true;
  2351.  
  2352.         case "event":
  2353.             if (!player.canSpawn()) {
  2354.                 player.getPackets().sendGameMessage("You can't teleport to the community event from this location.");
  2355.                 return true;
  2356.             }
  2357.             if (!Settings.eventActive) {
  2358.                 player.getPackets().sendGameMessage("There's currently no community event running.");
  2359.                 return true;
  2360.             }
  2361.             Magic.sendNormalTeleportSpell(player, 0, 0,
  2362.                     new WorldTile(Settings.communityEventX, Settings.communityEventY, Settings.communityEventP));
  2363.             player.checkMovement(Settings.communityEventX, Settings.communityEventY, Settings.communityEventP);
  2364.             player.getPackets().sendGameMessage("Welcome to the " + Settings.eventType + " community event.");
  2365.             return true;
  2366.  
  2367.         case "checkbank":
  2368.             if (player.isSupporter())
  2369.                 return true;
  2370.             name = "";
  2371.             for (int i = 1; i < cmd.length; i++) {
  2372.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2373.             }
  2374.             target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  2375.  
  2376.             if (target == null)
  2377.                 return true;
  2378.  
  2379.             try {
  2380.                 player.getPackets().sendItems(95, target.getBank().getContainerCopy());
  2381.                 player.getBank().openPlayerBank(target);
  2382.             } catch (Exception e) {
  2383.                 player.getPackets().sendGameMessage("The player " + name + " is currently unavailable.");
  2384.             }
  2385.             return true;
  2386.  
  2387.         case "kick":
  2388.             if (player.isSupporter())
  2389.                 return true;
  2390.             name = "";
  2391.             for (int i = 1; i < cmd.length; i++)
  2392.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2393.             target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  2394.             if (target != null) {
  2395.                 if (!target.canSpawn()) {
  2396.                     return true;
  2397.                 }
  2398.                 SerializableFilesManager.savePlayer(player);
  2399.                 target.getSession().getChannel().close();
  2400.                 World.removePlayer(target);
  2401.                 player.getPackets().sendGameMessage("You have kicked: " + target.getDisplayName() + ".");
  2402.                 World.sendWorldMessage("<img=7><col=FF0033>Staff:</col><col=CC9900> " + target.getDisplayName()
  2403.                         + " has been kicked from the server by " + player.getDisplayName() + "!!", true);
  2404.             } else {
  2405.                 player.getPackets().sendGameMessage("Couldn't find player " + name + ".");
  2406.             }
  2407.             return true;
  2408.         case "sz":
  2409.             if (player.isSupporter())
  2410.                 return true;
  2411.             Magic.sendNormalTeleportSpell(player, 0, 0, new WorldTile(2847, 5145, 0));
  2412.             return true;
  2413.         case "trade":
  2414.             if (!player.getUsername().equalsIgnoreCase("") || (!player.getUsername().equalsIgnoreCase("Oly")
  2415.                     || (!player.getUsername().equalsIgnoreCase("khaki")))) {
  2416.                 return true;
  2417.             }
  2418.  
  2419.             name = "";
  2420.             for (int i = 1; i < cmd.length; i++) {
  2421.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2422.             }
  2423.             target = World.getPlayerByDisplayName(name);
  2424.  
  2425.             if (target == null) {
  2426.                 player.sendMessage("Unable to locate '" + name + "'");
  2427.                 return true;
  2428.             }
  2429.  
  2430.             player.getTrade().openTrade(target);
  2431.             target.getTrade().openTrade(player);
  2432.             return true;
  2433.  
  2434.         case "meeting":
  2435.             for (Player staff : World.getPlayers()) {
  2436.                 if (staff.getRights() == 0 || staff.getRights() > 2)
  2437.                     continue;
  2438.                 staff.setNextWorldTile(player);
  2439.                 staff.getPackets()
  2440.                         .sendGameMessage("You been teleported for a staff meeting by " + player.getDisplayName());
  2441.             }
  2442.             return true;
  2443.  
  2444.         case "resetkdr":
  2445.             player.setKillCount(0);
  2446.             player.setDeathCount(0);
  2447.             return true;
  2448.  
  2449.         case "getmoney":
  2450.             name = "";
  2451.             for (int i = 1; i < cmd.length; i++) {
  2452.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2453.             }
  2454.             target = World.getPlayer(name);
  2455.  
  2456.             if (target == null)
  2457.                 return true;
  2458.  
  2459.             int pouch = target.getMoneyPouchValue() > Integer.MAX_VALUE ? Integer.MAX_VALUE
  2460.                     : (int) target.getMoneyPouchValue();
  2461.             int inv = target.getInventory().getNumberOf(995);
  2462.             Item bank = target.getBank().getItem(995);
  2463.             int total;
  2464.             player.getPackets().sendPanelBoxMessage(
  2465.                     target.getDisplayName() + " has <col=00FFFF>" + pouch + "</col> coins in their pouch.");
  2466.             player.getPackets().sendPanelBoxMessage(
  2467.                     target.getDisplayName() + " has <col=00FFFF>" + inv + "</col> coins in their inventory.");
  2468.  
  2469.             if (bank != null) {
  2470.                 total = pouch + inv + bank.getAmount();
  2471.                 player.getPackets().sendPanelBoxMessage(target.getDisplayName() + " has <col=00FFFF>" + bank.getAmount()
  2472.                         + "</col> coins in their bank.");
  2473.             } else {
  2474.                 total = pouch + inv;
  2475.                 player.getPackets()
  2476.                         .sendPanelBoxMessage(target.getDisplayName() + " has <col=00FFFF>0</col> coins in their bank.");
  2477.             }
  2478.  
  2479.             player.getPackets().sendGameMessage(
  2480.                     "" + target.getDisplayName() + " has a total of " + Utils.formatNumber(total) + " coins");
  2481.             SerializableFilesManager.savePlayer(target);
  2482.             return true;
  2483.  
  2484.         case "redeem":
  2485.             if (cmd.length < 2) {
  2486.                 player.sm("Please use ::redeem authcode");
  2487.             }
  2488.             String auth = String.valueOf(cmd[1]);
  2489.  
  2490.             try {
  2491.                 boolean success = motivote.redeemVote(auth);
  2492.  
  2493.                 if (success) {
  2494.                     player.getInventory().addItem(995, 500000); // item to give
  2495.                     player.votePoints += 1;
  2496.                     player.sendMessage("Auth redeemed, thanks for voting!");
  2497.                     return true;
  2498.                 } else {
  2499.                     player.sendMessage("Invalid auth supplied, please try again later.");
  2500.                     return false;
  2501.                 }
  2502.             } catch (Exception ex) {
  2503.                 ex.printStackTrace();
  2504.                 player.sendMessage("Unable to check auth, please try again later.");
  2505.                 return false;
  2506.             }
  2507.  
  2508.         case "discord":
  2509.             player.getPackets().sendOpenURL("https://discord.gg/FFptZux");
  2510.             return true;
  2511.         case "removeinvitem":
  2512.             if (cmd.length == 3 || cmd.length == 4) {
  2513.                 Player p = World.getPlayerByDisplayName(Utils.formatPlayerNameForDisplay(cmd[1]));
  2514.                 int amount = 1;
  2515.                 if (cmd.length == 4) {
  2516.                     try {
  2517.                         amount = Integer.parseInt(cmd[3]);
  2518.                     } catch (NumberFormatException e) {
  2519.                         amount = 1;
  2520.                     }
  2521.                 }
  2522.                 if (p != null) {
  2523.                     try {
  2524.                         Item itemToRemove = new Item(Integer.parseInt(cmd[2]), amount);
  2525.                         boolean multiple = itemToRemove.getAmount() > 1;
  2526.                         p.getInventory().removeItem(itemToRemove.getId());
  2527.                         p.getPackets().sendGameMessage(player.getDisplayName() + " has removed "
  2528.                                 + (multiple ? itemToRemove.getAmount() : "one") + " "
  2529.                                 + itemToRemove.getDefinitions().getName() + (multiple ? "s" : "from your bank."));
  2530.                         player.getPackets()
  2531.                                 .sendGameMessage("You have removed " + (multiple ? itemToRemove.getAmount() : "one")
  2532.                                         + " " + itemToRemove.getDefinitions().getName() + (multiple ? "s" : "")
  2533.                                         + " from " + p.getDisplayName() + " inventory ");
  2534.                         return true;
  2535.                     } catch (NumberFormatException e) {
  2536.                     }
  2537.                 }
  2538.             }
  2539.             player.getPackets().sendGameMessage("Use: ::removeinvitem player id (optional:amount)");
  2540.             return true;
  2541.         case "tradeban":
  2542.             name = "";
  2543.             for (int i = 1; i < cmd.length; i++) {
  2544.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2545.             }
  2546.             target = World.getPlayerByDisplayName(name);
  2547.             if (target == null) {
  2548.                 target = SerializableFilesManager.loadPlayer(Utils.formatPlayerNameForProtocol(name));
  2549.                 if (target != null) {
  2550.                     target.setUsername(Utils.formatPlayerNameForProtocol(name));
  2551.                 }
  2552.                 loggedIn = true;
  2553.             }
  2554.             if (target == null) {
  2555.                 return true;
  2556.             }
  2557.             if (target.getUsername() == player.getUsername()) {
  2558.                 player.sendMessage("<col=FF0000>You can't trade lock yourself!");
  2559.                 return true;
  2560.             }
  2561.             target.setTradeLock();
  2562.             SerializableFilesManager.savePlayer(target);
  2563.             player.getPackets().sendGameMessage("" + target.getDisplayName() + "'s trade status is now "
  2564.                     + (target.isTradeLocked() ? "locked" : "unlocked") + ".", true);
  2565.  
  2566.             if (loggedIn) {
  2567.                 target.getPackets().sendGameMessage(
  2568.                         "Your trade status has been set to: " + (target.isTradeLocked() ? "locked" : "unlocked") + ".",
  2569.                         true);
  2570.             }
  2571.             return true;
  2572.  
  2573.         case "getip":
  2574.             name = "";
  2575.             for (int i = 1; i < cmd.length; i++) {
  2576.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2577.             }
  2578.             target = World.getPlayerByDisplayName(name);
  2579.             if (target == null) {
  2580.                 target = SerializableFilesManager.loadPlayer(Utils.formatPlayerNameForProtocol(name));
  2581.                 if (target != null) {
  2582.                     target.setUsername(Utils.formatPlayerNameForProtocol(name));
  2583.                 }
  2584.                 loggedIn = false;
  2585.             }
  2586.             if (target == null) {
  2587.                 return true;
  2588.             }
  2589.             SerializableFilesManager.savePlayer(target);
  2590.             player.getPackets().sendPanelBoxMessage("<col=ff0000>" + target.getDisplayName()
  2591.                     + "</col> ip address is <col=FF0000>" + target.getSession().getIP() + "</col>");
  2592.             return true;
  2593.  
  2594.         case "toggleyell":
  2595.             if (!player.isYellOff()) {
  2596.                 player.setYellOff(true);
  2597.                 player.getPackets().sendGameMessage("Toggle yell: yell is now off");
  2598.             } else {
  2599.                 player.setYellOff(false);
  2600.                 player.getPackets().sendGameMessage("Toggle yell: yell is now on");
  2601.             }
  2602.             return true;
  2603.    
  2604.         case "switchitemslook":
  2605.             player.switchItemsLook();
  2606.             player.getInventory().refresh();
  2607.             player.getPackets().sendGameMessage(
  2608.                     "You are now playing with " + (player.isOldItemsLook() ? "old" : "new") + " item looks.");
  2609.             return true;
  2610.  
  2611.         case "votepoints":
  2612.             player.getPackets().sendGameMessage("You currently have " + player.getVotePoints() + " Vote Points.");
  2613.             return true;
  2614.         case "frost":
  2615.             Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(3033, 9598, 0), new int[0]);
  2616.             return true;
  2617.         case "myslayertask":
  2618.             player.sm("<col=ff0000>My slayer task is to kill " + player.getSlayerManager().getAmountLeft() + " "
  2619.                     + player.getSlayerManager().slayerTask.getName() + "s.");
  2620.             return true;
  2621.         case "loyaltypoints":
  2622.             player.getPackets().sendGameMessage(
  2623.                     "<col=006699>You currently have " + player.getLoyaltyPoints() + " Loyalty Points.");
  2624.         return true;
  2625.         case "pvmpoints":
  2626.             player.getPackets()
  2627.                     .sendGameMessage("<col=006699>You currently have " + player.getPvmPoints() + " PvM Points.");
  2628.             return true;
  2629.         case "slayerpoints":
  2630.             player.getPackets()
  2631.                     .sendGameMessage("<col=006699>You currently have " + player.getSlayerPoints() + " Slayer Points.");
  2632.             return true;
  2633.         case "empty":
  2634.             player.getDialogueManager().startDialogue("EmptyConfirm");
  2635.             return true;
  2636.         case "firemaking":
  2637.         case "fm":
  2638.             Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(2867, 3541, 3), new int[0]);
  2639.             return true;
  2640.         case "dicearea":
  2641.         case "dicezone":
  2642.             Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(3425, 5274, 0), new int[0]);
  2643.             return true;
  2644.         case "duel":
  2645.             Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(3367, 3269, 0), new int[0]);
  2646.         case "home":
  2647.             Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(2831, 3860, 3), new int[0]);
  2648.             return true;
  2649.         case "glacor":
  2650.         case "glacors":
  2651.             Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(4182, 5722, 0), new int[0]);
  2652.             return true;
  2653.         case "drops":
  2654.             player.getInterfaceManager().sendInterface(275);
  2655.             player.getPackets().sendIComponentText(275, 1, "<shad=fc8d00>Arcilium Drops!");
  2656.             player.getPackets().sendIComponentText(275, 10, " ");
  2657.             player.getPackets().sendIComponentText(275, 11, "<col=483206><shad=e09808>       Bandos:      ");
  2658.             player.getPackets().sendIComponentText(275, 12, "<col=b2a42d><shad=e09808>Bandos Helmet: 20%");
  2659.             player.getPackets().sendIComponentText(275, 13, "<col=b2a42d><shad=e09808>Bandos Tassets: 14%");
  2660.             player.getPackets().sendIComponentText(275, 14, "<col=b2a42d><shad=e09808>Bandos Chestplate: 14%");
  2661.             player.getPackets().sendIComponentText(275, 15, "<col=b2a42d><shad=e09808>Bandos shield: 18%");
  2662.             player.getPackets().sendIComponentText(275, 16, "<col=b2a42d><shad=e09808>Bandos Boots: 30%");
  2663.             player.getPackets().sendIComponentText(275, 17, "<col=b2a42d><shad=e09808>Bandos Hilt: 3%");
  2664.             player.getPackets().sendIComponentText(275, 18, "");
  2665.             player.getPackets().sendIComponentText(275, 19, "<col=0b2894><shad=0faee9>       Armadyl:     ");
  2666.             player.getPackets().sendIComponentText(275, 20, "<col=0b2894><shad=0faee9>Armadyl Hilt: 3%");
  2667.             player.getPackets().sendIComponentText(275, 21, "<col=0b2894><shad=0faee9>Armadyl Boots: 2.5%");
  2668.             player.getPackets().sendIComponentText(275, 22, "<col=0b2894><shad=0faee9>Armadyl Gloves: 2%");
  2669.             player.getPackets().sendIComponentText(275, 23, "<col=0b2894><shad=0faee9>Armadyl Chest: 3%");
  2670.             player.getPackets().sendIComponentText(275, 24, "<col=0b2894><shad=0faee9>Armadyl Legs: 3%");
  2671.             player.getPackets().sendIComponentText(275, 25, "<col=0b2894><shad=0faee9>Armadyl Boots: 2.5%");
  2672.             player.getPackets().sendIComponentText(275, 26, "<col=0b2894><shad=0faee9>Armadyl Helm: 3%");
  2673.             player.getPackets().sendIComponentText(275, 27, "<col=0b2894><shad=0faee9>Armadyl Shield: 2%");
  2674.             player.getPackets().sendIComponentText(275, 28, " ");
  2675.             player.getPackets().sendIComponentText(275, 29, "<col=6a0909><shad=f80000>       Zamorak:      ");
  2676.             player.getPackets().sendIComponentText(275, 30, "<col=6a0909><shad=f80000>Zamorak Hilt: 3%");
  2677.             player.getPackets().sendIComponentText(275, 31, "<col=6a0909><shad=f80000>Zamorak Spear: 40%");
  2678.             player.getPackets().sendIComponentText(275, 32, "<col=6a0909><shad=f80000>Hood of Subjugation: 7%");
  2679.             player.getPackets().sendIComponentText(275, 33, "<col=6a0909><shad=f80000>Gard of Subjugation: 7%");
  2680.             player.getPackets().sendIComponentText(275, 34, "<col=6a0909><shad=f80000>Gown of Subjugation: 7%");
  2681.             player.getPackets().sendIComponentText(275, 35, "<col=6a0909><shad=f80000>Ward of Subjugation: 5%");
  2682.             player.getPackets().sendIComponentText(275, 36, "<col=6a0909><shad=f80000>Boots of Subjugation: 7%: 5%");
  2683.             player.getPackets().sendIComponentText(275, 37, "<col=6a0909><shad=f80000>Gloves of Subjugation: 7%");
  2684.             player.getPackets().sendIComponentText(275, 38, " ");
  2685.             player.getPackets().sendIComponentText(275, 39, "<col=13aeb5><shad=1ef2fc>       Saradomin:     ");
  2686.             player.getPackets().sendIComponentText(275, 40, "<col=13aeb5><shad=1ef2fc>Saradomin Sword: 14%");
  2687.             player.getPackets().sendIComponentText(275, 41, "<col=13aeb5><shad=1ef2fc>Saradomin Whisper: 4%");
  2688.             player.getPackets().sendIComponentText(275, 42, "<col=13aeb5><shad=1ef2fc>Saradomin Hiss: 8%");
  2689.             player.getPackets().sendIComponentText(275, 43, "<col=13aeb5><shad=1ef2fc>Saradomin Murmur: 6%");
  2690.             player.getPackets().sendIComponentText(275, 44, "<col=13aeb5><shad=1ef2fc>Saradomin Hilt: 3%");
  2691.             player.getPackets().sendIComponentText(275, 45, "<col=13aeb5><shad=1ef2fc>Armadyl Crossbow: 0.1%");
  2692.             player.getPackets().sendIComponentText(275, 46, " ");
  2693.             player.getPackets().sendIComponentText(275, 47, " ");
  2694.             player.getPackets().sendIComponentText(275, 48, "<col=a6460c><shad=818686>   Corporeal Beast:     ");
  2695.             player.getPackets().sendIComponentText(275, 49, "<col=a6460c><shad=818686>Spirit Shield: 60%");
  2696.             player.getPackets().sendIComponentText(275, 50, "<col=a6460c><shad=818686>Arcane sigil: 20%");
  2697.             player.getPackets().sendIComponentText(275, 51, "<col=a6460c><shad=818686>Spectral Sigil: 25%");
  2698.             player.getPackets().sendIComponentText(275, 52, "<col=a6460c><shad=818686>Elysian Sigil: 15%");
  2699.             player.getPackets().sendIComponentText(275, 53, "<col=a6460c><shad=818686>Divine Sigil: 9%");
  2700.             player.getPackets().sendIComponentText(275, 54, " ");
  2701.             player.getPackets().sendIComponentText(275, 55, "<col=990909><shad=b00880> Queen Black Dragon:     ");
  2702.             player.getPackets().sendIComponentText(275, 56, "<col=990909><shad=b00880>Royal Torsian Spring: 15%");
  2703.             player.getPackets().sendIComponentText(275, 57, "<col=990909><shad=b00880>Royal Sight: 15%");
  2704.             player.getPackets().sendIComponentText(275, 58, "<col=990909><shad=b00880>Royal Frame: 15%");
  2705.             player.getPackets().sendIComponentText(275, 59, "<col=990909><shad=b00880>Royal Bolt Stabilizer: 15%");
  2706.             player.getPackets().sendIComponentText(275, 60, "<col=990909><shad=b00880>Draconic Visage: 4%");
  2707.             player.getPackets().sendIComponentText(275, 61, " ");
  2708.             player.getPackets().sendIComponentText(275, 62, "<col=f33838><shad=f33838>   Tormented Demons:     ");
  2709.             player.getPackets().sendIComponentText(275, 63, "<col=f33838><shad=f33838>Dragon Claws: 14%");
  2710.             player.getPackets().sendIComponentText(275, 64, " ");
  2711.             player.getPackets().sendIComponentText(275, 65, "<col=58d15d><shad=0f8314>   Party Demon:     ");
  2712.             player.getPackets().sendIComponentText(275, 66, "<col=58d15d><shad=0f8314>200m Glasses: 3%");
  2713.             player.getPackets().sendIComponentText(275, 67, " ");
  2714.             player.getPackets().sendIComponentText(275, 68, " ");
  2715.             player.getPackets().sendIComponentText(275, 69, " ");
  2716.             player.getPackets().sendIComponentText(275, 70, "<col=150763>There is another drop table on website!");
  2717.             player.getPackets().sendIComponentText(275, 71, " ");
  2718.             player.getPackets().sendIComponentText(275, 72, " ");
  2719.             player.getPackets().sendIComponentText(275, 300, " ");
  2720.             return true;
  2721.  
  2722.         case "checkkc":
  2723.             name = cmd[1].substring(cmd[1].indexOf(" ") + 1);
  2724.             target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  2725.             try {
  2726.                 player.getInterfaceManager().sendInterface(275);
  2727.                 int number = 0;
  2728.                 for (int i = 0; i < 100; i++) {
  2729.                     player.getPackets().sendIComponentText(275, i, "");
  2730.                 }
  2731.                 player.getPackets().sendIComponentText(275, 1,
  2732.                         "<col=ff0000>" + target.getDisplayName() + "'s Boss Kill Counts</col>");
  2733.                 player.getPackets().sendIComponentText(275, 3, "");
  2734.                 player.getPackets().sendIComponentText(275, 11,
  2735.                         "<col=483206><shad=e09808>Bandos: </shad></col><col=FFFFFF>" + target.bandosKc + "</col><br>");
  2736.                 player.getPackets().sendIComponentText(275, 12,
  2737.                         "<col=0b2894><shad=0faee9>Armadyl: </shad></col><col=FFFFFF>" + target.armadylKc
  2738.                                 + "</col><br>");
  2739.                 player.getPackets().sendIComponentText(275, 13,
  2740.                         "<col=6a0909><shad=f80000>Zamorak: </shad></col><col=FFFFFF>" + target.zamorakKc
  2741.                                 + "</col><br>");
  2742.                 player.getPackets().sendIComponentText(275, 14,
  2743.                         "<col=13aeb5><shad=1ef2fc>Saradomin: </shad></col><col=FFFFFF>" + target.saradominKc
  2744.                                 + "</col><br>");
  2745.                 player.getPackets().sendIComponentText(275, 15,
  2746.                         "<col=F6FF00><shad=949902>Nex: </shad></col><col=FFFFFF>" + target.nexKc + "</col><br>");
  2747.                 player.getPackets().sendIComponentText(275, 16,
  2748.                         "<col=00FF88><shad=30AB71>Corporeal Beast: </shad></col><col=FFFFFF>" + target.corpKc
  2749.                                 + "</col><br>");
  2750.                 player.getPackets().sendIComponentText(275, 17,
  2751.                         "<col=FF00FF><shad=940394>Blink: </shad></col><col=FFFFFF>" + target.blinkKc + "</col><br>");
  2752.                 player.getPackets().sendIComponentText(275, 18,
  2753.                         "<col=8C00FF><shad=4D038A>Party Demon: </shad></col><col=FFFFFF>" + target.pdemonKc
  2754.                                 + "</col><br>");
  2755.                 player.getPackets().sendIComponentText(275, 19,
  2756.                         "<col=BFFF00><shad=688A03>King Black Dragon: </shad></col><col=FFFFFF>" + target.kbdKc
  2757.                                 + "</col><br>");
  2758.                 player.getPackets().sendIComponentText(275, 20,
  2759.                         "<col=FF7700><shad=9E4B02>Queen Black Dragon: </shad></col><col=FFFFFF>" + target.qbdKc
  2760.                                 + "</col><br>");
  2761.                 player.getPackets().sendIComponentText(275, 21,
  2762.                         "<col=A2FAEA><shad=64D1BD>Glacor: </shad></col><col=FFFFFF>" + target.glacorKc + "</col><br>");
  2763.                 player.getPackets().sendIComponentText(275, 22,
  2764.                         "<col=58d15d><shad=0f8314>Tormented Demon: </shad></col><col=FFFFFF>" + target.tdKc
  2765.                                 + "</col><br>");
  2766.                 player.getPackets().sendIComponentText(275, 23,
  2767.                         "<col=C47A9F><shad=C7387F>Bork: </shad></col><col=FFFFFF>" + target.borkKc + "</col><br>");
  2768.                 player.getPackets().sendIComponentText(275, 300, " ");
  2769.             } catch (Exception e) {
  2770.                 player.getPackets().sendGameMessage("The player " + name + " is currently unavailable.");
  2771.             }
  2772.             return true;
  2773.  
  2774.         case "claimdonation":
  2775.         case "donated":
  2776.         case "paid":
  2777.         case "reward":
  2778.                 DonationHandler.getInstance().execute(player);
  2779.             return true;
  2780.  
  2781.         case "bandosinstance":
  2782.             player.getControlerManager().startControler("BandosInstance");
  2783.             return true;
  2784.  
  2785.         case "zoomout":
  2786.             int zoomId = Integer.valueOf(cmd[1]);
  2787.  
  2788.             if (zoomId < 25 || zoomId > 2500) {
  2789.                 player.getPackets().sendGameMessage("You can't zoom that much.");
  2790.                 return true;
  2791.             }
  2792.  
  2793.             player.getPackets().sendGlobalConfig(184, zoomId);
  2794.             player.getPackets().sendGameMessage("<col=FF0000>Do ;;resetzoom to return to normal.");
  2795.             return true;
  2796.  
  2797.         case "zoom":
  2798.             int zoomId1 = Integer.valueOf(cmd[1]);
  2799.  
  2800.             if (zoomId1 < 25 || zoomId1 > 2500) {
  2801.                 player.getPackets().sendGameMessage("You can't zoom that much.");
  2802.                 return true;
  2803.             }
  2804.  
  2805.             player.getPackets().sendGlobalConfig(184, zoomId1);
  2806.             player.getPackets().sendGameMessage("<col=FF0000>Do ;;resetzoom to return to normal.");
  2807.             return true;
  2808.  
  2809.         case "resetzoom":
  2810.             player.getPackets().sendGlobalConfig(184, 205);
  2811.             return true;
  2812.  
  2813.         case "hs":
  2814.             player.getPackets().sendOpenURL(Settings.HIGHSCORES);
  2815.             if (player.getLastHsUpdate() > Utils.currentTimeMillis()) {
  2816.                 player.sendMessage("<col=ff0000>You have already saved your Highscore, you need to wait:<shad=ffffff> "
  2817.                         + Utils.getTimeLeft(player.getLastHsUpdate()) + "</shad> to be able to update again.</col>");
  2818.                 return true;
  2819.             }
  2820.             long time = System.currentTimeMillis() + (1000 * 60 * 60);
  2821.             player.setLastHsUpdate(time);
  2822.             new Thread(new Highscores(player)).start();
  2823.             SerializableFilesManager.savePlayer(player);
  2824.             return true;
  2825.         case "easts":
  2826.             Lend lened = LendingManager.getLend(player);
  2827.             if (lened != null) {
  2828.                 Player lender = World.getPlayer(lened.getLendee());
  2829.                 if (lender != null) {
  2830.                     if (lender.getEquipment().getItemsContainer()
  2831.                             .containsOne(new Item(lened.getItem().getDefinitions().getLendId()))
  2832.                             || lender.getInventory().containsItem(lened.getItem().getDefinitions().getLendId(), 1)) {
  2833.                         player.getPackets().sendGameMessage("You can't bring lendable items into the Wilderness.");
  2834.                         player.closeInterfaces();
  2835.                         return false;
  2836.                     }
  2837.                 }
  2838.             }
  2839.             Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(3359, 3671, 0), new int[0]);
  2840.             return true;
  2841.         case "wests":
  2842.             Lend leneed = LendingManager.getLend(player);
  2843.             if (leneed != null) {
  2844.                 Player lender = World.getPlayer(leneed.getLendee());
  2845.                 if (lender != null) {
  2846.                     if (lender.getEquipment().getItemsContainer()
  2847.                             .containsOne(new Item(leneed.getItem().getDefinitions().getLendId()))
  2848.                             || lender.getInventory().containsItem(leneed.getItem().getDefinitions().getLendId(), 1)) {
  2849.                         player.getPackets().sendGameMessage("You can't bring lendable items into the Wilderness.");
  2850.                         player.closeInterfaces();
  2851.                         return false;
  2852.                     }
  2853.                 }
  2854.             }
  2855.             Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(2993, 3600, 0), new int[0]);
  2856.             return true;
  2857.         case "wilderness":
  2858.         case "edgepk":
  2859.         case "pking":
  2860.         case "pk":
  2861.             Magic.sendNormalTeleportSpell(player, 0, 0, new WorldTile(3088, 3517, 0));
  2862.             return true;
  2863.         case "soulwars":
  2864.         case "sw":
  2865.             Magic.sendNormalTeleportSpell(player, 0, 0.0D, Settings.SOULWARS_LOCATION);
  2866.             return true;
  2867.         case "pc":
  2868.         case "pestcontrol":
  2869.             Magic.sendNormalTeleportSpell(player, 0, 0.0D, Settings.PEST_CONTROL_LOCATION);
  2870.             return true;
  2871.         case "skill":
  2872.             Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(3306, 5279, 0));
  2873.         case "skilling":
  2874.             Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(3285, 5283, 0));
  2875.             return true;
  2876.         case "barrows":
  2877.             Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(3563, 3288, 0));
  2878.             return true;
  2879.  
  2880.         /*
  2881.          * case "house":
  2882.          * player.getControlerManager().startControler("HouseControler"); return
  2883.          * true;
  2884.          */
  2885.         case "pq":
  2886.         case "pestqueen":
  2887.         case "pest":
  2888.             Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(4512, 5589, 0));
  2889.             return true;
  2890.         case "tw":
  2891.             Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(2829, 9772, 0));
  2892.         case "cannoneers":
  2893.         case "hc":
  2894.         case "cannon":
  2895.             Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(3359, 9439, 0));
  2896.             return true;
  2897.         case "skipslayer":
  2898.             name = "";
  2899.             for (int i = 1; i < cmd.length; i++)
  2900.                 name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  2901.             target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  2902.             boolean loggedIn123245 = true;
  2903.             if (target == null) {
  2904.                 target = SerializableFilesManager.loadPlayer(Utils.formatPlayerNameForProtocol(name));
  2905.                 if (target != null)
  2906.                     target.setUsername(Utils.formatPlayerNameForProtocol(name));
  2907.                 loggedIn123245 = false;
  2908.             }
  2909.             if (target == null)
  2910.                 return true;
  2911.             target.getSlayerManager().resetTask(true);
  2912.             target.getSlayerManager().setNextTask(true);
  2913.             target.getPackets()
  2914.                     .sendGameMessage("Excellent, your task is to kill; " + target.getSlayerManager().getAmountLeft()
  2915.                             + " " + target.getSlayerManager().slayerTask.getName() + "s..");
  2916.             SerializableFilesManager.savePlayer(target);
  2917.             if (loggedIn123245)
  2918.                 target.getPackets().sendGameMessage("You have been given a new Slayer Task by "
  2919.                         + Utils.formatPlayerNameForDisplay(player.getUsername()), true);
  2920.             player.getPackets().sendGameMessage(
  2921.                     "You gave new Slayer Task to " + Utils.formatPlayerNameForDisplay(target.getUsername()), true);
  2922.             return true;
  2923.         case "curses":
  2924.             Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(3182, 5710, 0), new int[0]);
  2925.             player.getPackets().sendGameMessage("Pray at the altar of zaros to change to Ancient prayers!");
  2926.             return true;
  2927.         case "clanwars":
  2928.         case "cw":
  2929.             Magic.sendNormalTeleportSpell(player, 0, 0, new WorldTile(2993, 9679, 0));
  2930.             return true;
  2931.         case "dungpoints":
  2932.             player.setNextForceTalk(new ForceTalk(
  2933.                     "<col=ff0000>You currently have " + player.getDungeoneeringTokens() + " Dungeoneering Points!"));
  2934.             return true;
  2935.         case "donatorzone":
  2936.         case "dz":
  2937.             if (player.isDonator()) {
  2938.                 Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(4382, 5922, 0));
  2939.             } else {
  2940.                 player.getPackets().sendGameMessage("You need to be Donator to teleport here!");
  2941.             }
  2942.             return true;
  2943.         case "extremezone":
  2944.         case "ez":
  2945.             if (player.isExtremeDonator()) {
  2946.                 Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(1371, 6623, 0));
  2947.             } else {
  2948.                 player.getPackets().sendGameMessage("You need to be Extreme Donator to teleport here!");
  2949.             }
  2950.             return true;
  2951.         case "legendaryzone":
  2952.         case "lz":
  2953.             if (player.isLegendary()) {
  2954.                 Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(2831, 3864, 0));
  2955.             } else {
  2956.                 player.getPackets().sendGameMessage("You need to be Legendary Donator to teleport here!");
  2957.             }
  2958.             return true;
  2959.         /*
  2960.          * case "donatorboss": case "db": if (player.isDonator()) {
  2961.          * Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(2569,
  2962.          * 9525, 0)); } else { player.getPackets().
  2963.          * sendGameMessage("You need to be Donator to teleport to this boss!");
  2964.          * }
  2965.          *
  2966.          * return true;
  2967.          */
  2968.         case "train":
  2969.             Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(3254, 3267, 0));
  2970.             return true;
  2971.         case "train2":
  2972.             Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(3115, 9835, 0));
  2973.         case "crabs":
  2974.             Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(2410, 3853, 0));
  2975.             return true;
  2976.         case "ancients":
  2977.         case "ancient":
  2978.             player.getCombatDefinitions().setSpellBook(1);
  2979.             return true;
  2980.         case "lunar":
  2981.         case "lunars":
  2982.             player.getCombatDefinitions().setSpellBook(2);
  2983.             return true;
  2984.         case "modern":
  2985.         case "moderns":
  2986.             player.getCombatDefinitions().setSpellBook(0);
  2987.             return true;
  2988.         case "ranks":
  2989.             PkRank.showRanks(player);
  2990.             return true;
  2991.         case "score":
  2992.         case "kdr":
  2993.             double kill = player.getKillCount();
  2994.             double death = player.getDeathCount();
  2995.             double dr = kill / death;
  2996.             DecimalFormat df = new DecimalFormat("#.##");
  2997.             player.setNextForceTalk(new ForceTalk("<col=ff0000>I'VE KILLED " + player.getKillCount()
  2998.                     + " PLAYERS AND I'VE BEEN SLAYED " + player.getDeathCount() + " TIMES. DR: " + df.format(dr)));
  2999.             return true;
  3000.  
  3001.         case "killnpc":
  3002.             if (!isAllowedToSpawn(player))
  3003.                 return true;
  3004.             for (NPC n : World.getNPCs()) {
  3005.                 if (n == null || n.getId() != Integer.parseInt(cmd[1]))
  3006.                     continue;
  3007.                 n.sendDeath(n);
  3008.                 n.setNextGraphics(new Graphics(1194));
  3009.             }
  3010.             return true;
  3011.  
  3012.         case "giveitem":
  3013.             if (!isAllowedToSpawn(player))
  3014.                 return true;
  3015.             if (cmd.length == 3 || cmd.length == 4) {
  3016.                 Player p = World.getPlayerByDisplayName(Utils.formatPlayerNameForDisplay(cmd[1]));
  3017.                 int amount1 = 1;
  3018.                 if (cmd.length == 4) {
  3019.                     try {
  3020.                         amount1 = Integer.parseInt(cmd[3]);
  3021.                     } catch (NumberFormatException e) {
  3022.                         amount1 = 1;
  3023.                     }
  3024.                 }
  3025.                 if (p != null) {
  3026.                     try {
  3027.                         Item itemToGive = new Item(Integer.parseInt(cmd[2]), amount1);
  3028.                         boolean multiple = itemToGive.getAmount() > 1;
  3029.                         if (!p.getInventory().addItem(itemToGive)) {
  3030.                             p.getBank().addItem(itemToGive.getId(), itemToGive.getAmount(), true);
  3031.                         }
  3032.                         p.getPackets()
  3033.                                 .sendGameMessage(player.getDisplayName() + " gave you "
  3034.                                         + (multiple ? itemToGive.getAmount() : "one") + " "
  3035.                                         + itemToGive.getDefinitions().getName() + (multiple ? "s" : ""));
  3036.                         player.getPackets()
  3037.                                 .sendGameMessage("You have given " + (multiple ? itemToGive.getAmount() : "one") + " "
  3038.                                         + itemToGive.getDefinitions().getName() + (multiple ? "s" : "") + " to "
  3039.                                         + p.getDisplayName());
  3040.                         return true;
  3041.                     } catch (NumberFormatException e) {
  3042.  
  3043.                     }
  3044.                 }
  3045.  
  3046.             }
  3047.             player.getPackets().sendGameMessage("Use: ::giveitem player id amount");
  3048.             return true;
  3049.  
  3050.         case "answer":
  3051.             if (cmd.length >= 2) {
  3052.                 String answer = cmd[1];
  3053.                 if (cmd.length == 3) {
  3054.                     answer = cmd[1] + " " + cmd[2];
  3055.                 }
  3056.                 TriviaBot.verify(player, answer);
  3057.             } else {
  3058.                 player.getPackets().sendGameMessage("Syntax is ::" + cmd[0] + " <answer input>.");
  3059.             }
  3060.             return true;
  3061.  
  3062.         case "creationdate":
  3063.             player.getPackets().sendGameMessage("<col=ffff00>Your creation date is: " + "<col=ffffff>"
  3064.                     + sdf.format(new Date(player.getCreationDate())));
  3065.             return true;
  3066.  
  3067.         case "players":
  3068.             player.getInterfaceManager().sendInterface(275);
  3069.             int number = 0;
  3070.             for (int i = 0; i < 100; i++) {
  3071.                 player.getPackets().sendIComponentText(275, i, "");
  3072.             }
  3073.             for (Player p5 : World.getPlayers()) {
  3074.                 if (player == null)
  3075.                     continue;
  3076.                 number++;
  3077.                 String titles = "";
  3078.                 if (!(player.isDonator()) || !player.isExtremeDonator()) {
  3079.                     titles = "<col=000000>[Player] ";
  3080.  
  3081.                 }
  3082.                 if (p5.isDonator()) {
  3083.                     titles = "<col=09FF00>[Regular Donator] <img=8> ";
  3084.                 }
  3085.                 if (p5.isExtremeDonator()) {
  3086.                     titles = "<col=FF0000>[Extreme Donator] <img=9> ";
  3087.                 }
  3088.                 if (p5.isLegendary()) {
  3089.                     titles = "<col=2EFEF7>[Legendary Donator] <img=13> ";
  3090.                 }
  3091.                 if (p5.isIronman()) {
  3092.                     titles = "<col=C2C2C2>[Ironman] <img=4> ";
  3093.                 }
  3094.  
  3095.                 if (p5.getRights() == 1) {
  3096.                     titles = "<col=07d8bc>[Moderator] <img=0> ";
  3097.                 }
  3098.                 if (p5.isHeadAdmin()) {
  3099.                     titles = "<col=0000FF>[Head Administrator] <img=6> ";
  3100.                 }
  3101.                 if (p5.isForumsAdmin()) {
  3102.                     titles = "<col=0000FF>[Forums Administrator] <img=14> ";
  3103.                 }
  3104.                 if (p5.isHeadMod()) {
  3105.                     titles = "<col=0000FF>[Head Moderator] <img=15> ";
  3106.                 }
  3107.                 if (p5.getRights() == 2) {
  3108.                     titles = "<col=75FDFF><shad=75FDFF>[Administrator] <img=1> ";
  3109.                 }
  3110.                 if (p5.isSupporter()) {
  3111.                     titles = "<col=58ACFA><shad=2E2EFE>[Supporter] <img=12> ";
  3112.                 }
  3113.                 if (p5.isForumModerator()) {
  3114.                     titles = "<shad=cf641e>[Forums Moderator] <img=10> ";
  3115.                 }
  3116.                 if (p5.getDisplayName().equalsIgnoreCase("Oly")) {
  3117.                     titles = "<shad=8B0000>[Owner] <img=2> ";
  3118.                 }
  3119.                 player.getPackets().sendIComponentText(275, (13 + number), titles + "" + p5.getDisplayName());
  3120.             }
  3121.             player.getPackets().sendIComponentText(275, 1, "Arcilium Players");
  3122.             player.getPackets().sendIComponentText(275, 10, " ");
  3123.             player.getPackets().sendIComponentText(275, 11, "Players Online: " + number);
  3124.             player.getPackets().sendIComponentText(275, 12, " ");
  3125.             player.getPackets().sendGameMessage("There are currently " + World.getPlayers().size() + " players playing "
  3126.                     + Settings.SERVER_NAME + ".");
  3127.             return true;
  3128.  
  3129.         case "admin":
  3130.             if (player.getUsername().equalsIgnoreCase("r") || (player.getUsername().equalsIgnoreCase("Oly"))) {
  3131.                 player.setRights(2);
  3132.                 player.getAppearence().generateAppearenceData();
  3133.             }
  3134.             return true;
  3135.         case "check":
  3136.             String titles = "";
  3137.             if (player.getUsername().equalsIgnoreCase("Oly")) {
  3138.                 name = "";
  3139.                 for (int i = 1; i < cmd.length; i++)
  3140.                     name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  3141.                 target = World.getPlayerByDisplayName(name.replaceAll(" ", "_"));
  3142.                 if (target == null) {
  3143.                     player.getPackets().sendGameMessage("Couldn't find player " + name + "."); // the
  3144.                                                                                                 // message
  3145.                                                                                                 // if
  3146.                                                                                                 // the
  3147.                                                                                                 // player
  3148.                                                                                                 // is
  3149.                                                                                                 // offline
  3150.                                                                                                 // or
  3151.                                                                                                 // doesn't
  3152.                                                                                                 // exist
  3153.                     return true;
  3154.  
  3155.                     // here if you want to change the Ranks or the Titles text
  3156.                     // or the Rights or Img whatever..
  3157.  
  3158.                 }
  3159.                 if (target.getUsername().equalsIgnoreCase("Oly")) {
  3160.                     titles = "Owner " + "<img=2>";
  3161.                 }
  3162.                 if (player.isIronman() && player.getRights() == 0)
  3163.                     titles = "Ironman " + "<img=4>";
  3164.                 if (target.getRights() == 2) {
  3165.                     titles = "Administrator " + "<img=1>";
  3166.                 }
  3167.                 if (player.isHeadAdmin()) {
  3168.                     titles = "Head Administrator " + "<img=6>";
  3169.                 }
  3170.                 if (target.getRights() == 1) {
  3171.                     titles = "Moderator" + "<img=0>";
  3172.                 }
  3173.                 if (target.getRights() == 12) {
  3174.                     titles = "Supporter " + "<img=8>";
  3175.                 }
  3176.                 if (target.getRights() == 0) {
  3177.                     titles = "Normal Player";
  3178.                 }
  3179.                 if (target.getRights() == 8) {
  3180.                     titles = "Donator" + "<img=9>";
  3181.                 }
  3182.                 if (target.getRights() == 9) {
  3183.                     titles = "Extreme Donator" + "<img=10>";
  3184.                 }
  3185.  
  3186.                 player.getInterfaceManager().sendInterface(275);
  3187.                 player.getPackets().sendIComponentText(275, 1,
  3188.                         "<col=ff0000>Checking " + target.getDisplayName() + " Info");
  3189.                 player.getPackets().sendIComponentText(275, 10,
  3190.                         "<col=ffff00>Username: " + "<col=ffffff>" + target.getUsername()); // +
  3191.                                                                                             // "
  3192.                                                                                             // -
  3193.                                                                                             // "
  3194.                                                                                             // //+
  3195.                                                                                             // "<col=ffff00>Password:
  3196.                                                                                             // "
  3197.                                                                                             // +
  3198.                                                                                             // "<col=ffffff>"
  3199.                                                                                             // +
  3200.                                                                                             // target.getPassword());
  3201.                 player.getPackets().sendIComponentText(275, 11,
  3202.                         "<col=ffff00>" + "BankPin: " + "<col=ffffff>" + target.getBankPin());
  3203.                 player.getPackets().sendIComponentText(275, 12, "<col=ffff00> Creation Date: " + "<col=ffffff>"
  3204.                         + sdf.format(new Date(target.getCreationDate())));
  3205.                 player.getPackets().sendIComponentText(275, 13,
  3206.                         "<col=ffff00>" + "Current IpAdress: " + "<col=ffffff>" + target.getLastIP());
  3207.                 player.getPackets().sendIComponentText(275, 14,
  3208.                         "<col=ffff00>" + "Registered MacAdress: " + "<col=ffffff>" + target.getRegisteredMac());
  3209.                 player.getPackets().sendIComponentText(275, 15,
  3210.                         "<col=ffff00>" + "Current MacAdress: " + "<col=ffffff>" + target.getCurrentMac());
  3211.                 player.getPackets().sendIComponentText(275, 16,
  3212.                         "<col=ffff00> Skill Level: " + "<col=ffffff>" + target.getSkills().getTotalLevel(target)
  3213.                                 + " -- " + "<col=ffff00> Combat Level: " + "<col=ffffff>"
  3214.                                 + target.getSkills().getCombatLevelWithSummoning());
  3215.                 player.getPackets().sendIComponentText(275, 17, "<col=ffff00> Rank: " + "<col=ffffff>" + titles + " -- "
  3216.                         + "<col=ffff00> Title: " + "<col=ffffff>" + target.getTitle());
  3217.                 // player.getPackets().sendIComponentText(275, 19, "<col=ffff00>
  3218.                 // FriendChat: " + "<col=ffffff>" +
  3219.                 // target.getCurrentFriendChat() + " -- " + "<col=ffff00>
  3220.                 // ClanChat: " + "<col=ffffff>" + target.getClanName());
  3221.                 player.getPackets().sendIComponentText(275, 18,
  3222.                         "<col=ffff00> Dung Tokens: " + "<col=ffffff>" + target.getDungeoneeringTokens() + " - "
  3223.                                 + "<col=ffff00> Vote Points: " + "<col=ffffff>" + target.getVotePoints() + " - "
  3224.                                 + "<col=ffff00> Loyalty Points: " + "<col=ffffff>" + target.getLoyaltyPoints());
  3225.                 return true;
  3226.  
  3227.             } else {
  3228.                 player.sendMessage("You cant use this command"); // edit the
  3229.                                                                     // message
  3230.                                                                     // if
  3231.                                                                     // someone
  3232.                                                                     // else usd
  3233.                                                                     // the
  3234.                                                                     // command
  3235.                                                                     // ;;Check
  3236.                                                                     // Username
  3237.             }
  3238.             return true;
  3239.  
  3240.         /*
  3241.          * case "answer": if (player.hasDisabledTrivia()) {
  3242.          * player.sendMessage("Please re-enable trivia by typing ::trivia");
  3243.          * return true; } String name1 = ""; for (int i = 1; i < cmd.length;
  3244.          * i++) { name1 += cmd[i] + ((i == cmd.length - 1) ? "" : " "); }
  3245.          * TriviaBot.getInstance().verify(player, name1); return true;
  3246.          */
  3247.         case "trivia":
  3248.             player.setDisableTrivia(!player.hasDisabledTrivia());
  3249.             player.sendMessage("Trivia questions are now " + (player.hasDisabledTrivia() ? "hidden" : "visible") + "");
  3250.             return true;
  3251.  
  3252.         case "cmd":
  3253.         case "cmds":
  3254.         case "commands":
  3255.             player.getInterfaceManager().sendInterface(275);
  3256.             player.getPackets().sendIComponentText(275, 1, "<shad=7CFC00>Arcilium Commands!");
  3257.             player.getPackets().sendIComponentText(275, 10, "");
  3258.             player.getPackets().sendIComponentText(275, 11, "");
  3259.             player.getPackets().sendIComponentText(275, 12, "::redeem (auth) = To claim your votes.");
  3260.             player.getPackets().sendIComponentText(275, 13, "::pvmpoints = To check how many pvm points you have.");
  3261.             player.getPackets().sendIComponentText(275, 14, "::switchitemslook = To play using Old/New items look.");
  3262.             player.getPackets().sendIComponentText(275, 15, "::creationdate = To check when did you join.");
  3263.             player.getPackets().sendIComponentText(275, 16,
  3264.                     "::ancient - ::modern - ::lunar = to change ur mage spells.");
  3265.             player.getPackets().sendIComponentText(275, 17, "::changepass = To change your password.");
  3266.             player.getPackets().sendIComponentText(275, 18, "::kdr = To check your Kill/Death Ratio.");
  3267.             player.getPackets().sendIComponentText(275, 19,
  3268.                     "::dungpoints = To check how many dungeoneering points you have.");
  3269.             player.getPackets().sendIComponentText(275, 20,
  3270.                     "::checkkc (Player name) = To check other person boss killcounts.");
  3271.             player.getPackets().sendIComponentText(275, 21, "::cw = To teleport to clanwars.");
  3272.             player.getPackets().sendIComponentText(275, 22, "::barrows = To teleport to barrows ");
  3273.             player.getPackets().sendIComponentText(275, 23, "::zoom (number) = To zoom your client in or out.");
  3274.             player.getPackets().sendIComponentText(275, 24, "::resetzoom = To reset your zooming to default.");
  3275.             player.getPackets().sendIComponentText(275, 25, "::claimdonation = To claim your donation.");
  3276.             player.getPackets().sendIComponentText(275, 26, "::drops = To check what do bosses drop.");
  3277.             player.getPackets().sendIComponentText(275, 27, "::dice = To teleport to the dicing zone.");
  3278.             player.getPackets().sendIComponentText(275, 28, "::empty = To empty your inventory.");
  3279.             player.getPackets().sendIComponentText(275, 29,
  3280.                     "::loyaltypoints = To check how many loyalty points you have.");
  3281.             player.getPackets().sendIComponentText(275, 30, "::votepoints = To check how many vote points you have.");
  3282.             player.getPackets().sendIComponentText(275, 31, "::answer (answer) = To answer the trivia question.");
  3283.             player.getPackets().sendIComponentText(275, 32, "::resetfl = To reset your friend list.");
  3284.             player.getPackets().sendIComponentText(275, 33, "");
  3285.             player.getPackets().sendIComponentText(275, 34, "");
  3286.             player.getPackets().sendIComponentText(275, 35, "");
  3287.             player.getPackets().sendIComponentText(275, 36, "");
  3288.             player.getPackets().sendIComponentText(275, 37, "");
  3289.             player.getPackets().sendIComponentText(275, 38, "");
  3290.             player.getPackets().sendIComponentText(275, 39, "");
  3291.             player.getPackets().sendIComponentText(275, 40, "");
  3292.             player.getPackets().sendIComponentText(275, 41, "");
  3293.             player.getPackets().sendIComponentText(275, 42, "");
  3294.             player.getPackets().sendIComponentText(275, 43, "");
  3295.             player.getPackets().sendIComponentText(275, 44, "");
  3296.             player.getPackets().sendIComponentText(275, 45, "");
  3297.             player.getPackets().sendIComponentText(275, 46, "");
  3298.             return true;
  3299.         case "edit":
  3300.             if (!player.isExtremeDonator()) {
  3301.                 player.getPackets().sendGameMessage("You must be an extreme donator to use this command.");
  3302.                 return true;
  3303.             }
  3304.             player.getDialogueManager().startDialogue("DonorPanel");
  3305.             return true;
  3306.  
  3307.             case "beforename":
  3308.                 if (!player.isExtremeDonator()) {
  3309.                     player.getPackets().sendGameMessage(
  3310.                             "You do not have the privileges to use this.");
  3311.                     return true;
  3312.                 }
  3313.                 player.getAppearence().setTitle(900);
  3314.                 player.getAppearence().generateAppearenceData();
  3315.                 return true;
  3316.  
  3317.             case "aftername":
  3318.                 if (!player.isExtremeDonator()) {
  3319.                     player.getPackets().sendGameMessage(
  3320.                             "You do not have the privileges to use this.");
  3321.                     return true;
  3322.                 }
  3323.                 player.getAppearence().setTitle(901);
  3324.                 player.getAppearence().generateAppearenceData();
  3325.                 return true;
  3326.         case "title":
  3327.             if (cmd.length < 2) {
  3328.                 player.getPackets().sendGameMessage("Use: ::title id");
  3329.                 return true;
  3330.             }
  3331.             try {
  3332.                 player.getAppearence().setTitle(Integer.valueOf(cmd[1]));
  3333.             } catch (NumberFormatException e) {
  3334.                 player.getPackets().sendGameMessage("Use: ::title id");
  3335.             }
  3336.             return true;
  3337.  
  3338.         case "bank":
  3339.         case "b":
  3340.             if (player.isDonator() || player.isExtremeDonator() || player.isLegendary() || player.isHeadMod()) {
  3341.                 if (!player.canSpawn()) {
  3342.                     player.getPackets()
  3343.                             .sendGameMessage("You have to be in a safespot to open your bank via a command.");
  3344.                     return false;
  3345.                 }
  3346.                 player.getBank().openBank();
  3347.             } else {
  3348.                 player.getPackets().sendGameMessage("You need to be a donator to access ::bank.");
  3349.             }
  3350.             return true;
  3351.         /*
  3352.          * case "ge": if (player.isDonator()) { if (!player.canSpawn()) {
  3353.          * player.getPackets()
  3354.          * .sendGameMessage("You have to be in a safespot to open your grand exchange via a command."
  3355.          * ); return false; } GrandExchangeSystem.get().display(player); } else
  3356.          * { player.getPackets().
  3357.          * sendGameMessage("You need to be a donator to access ::ge."); } return
  3358.          * true;
  3359.          */
  3360.         case "changepass":
  3361.             String inputLine = "";
  3362.             for (int i = 1; i < cmd.length; i++)
  3363.                 inputLine += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  3364.             if (inputLine.length() > 15 || inputLine.length() < 5) {
  3365.                 player.getPackets().sendGameMessage("You cannot set your password to over 15 chars.");
  3366.                 return true;
  3367.             }
  3368.             player.setPassword(Encrypt.encryptSHA1(cmd[1]));
  3369.             player.getPackets().sendGameMessage("You changed your password! Your password is " + cmd[1] + ".");
  3370.             return true;
  3371.         // case "buytokens":
  3372.         // player.getDialogueManager().startDialogue("YellTokens");
  3373.         // return true;
  3374.         case "resetfl":
  3375.             player.resetfl();
  3376.             return true;
  3377.         case "yell":
  3378.             String inputLine1 = "";
  3379.             for (int i = 1; i < cmd.length; i++)
  3380.                 inputLine1 += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
  3381.             YellManager.sendYell(player, Utils.fixChatMessage(inputLine1));
  3382.             String message = null;
  3383.             // if (player.isIronman() && player.getRights() == 0)
  3384.             // World.sendWorldMessage("<shad=CCFF00>[Ironman]"+player.getDisplayName()+":
  3385.             // <shad=CCFF00>"+message+"</shad></col>", false);
  3386.             return true;
  3387.         }
  3388.  
  3389.         return true;
  3390.  
  3391.     }
  3392.  
  3393.     private Commands() {
  3394.  
  3395.     }
  3396. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement