Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.model.game.character.player;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.Calendar;
- import java.util.Comparator;
- import java.util.List;
- import java.util.Locale;
- import java.util.Objects;
- import java.util.Optional;
- import org.Vote.MainLoader;
- import org.Vote.VoteReward;
- import com.model.Server;
- import com.model.game.Settings;
- import com.model.game.World;
- import com.model.game.character.Animation;
- import com.model.game.character.Graphic;
- import com.model.game.character.combat.magic.MagicCalculations;
- import com.model.game.character.combat.magic.SpellBook;
- import com.model.game.character.combat.melee.MeleeCalculations;
- import com.model.game.character.combat.range.RangedCalculations;
- import com.model.game.character.npc.NPC;
- import com.model.game.character.npc.NPCDefinition;
- import com.model.game.character.npc.NPCHandler;
- import com.model.game.character.npc.drop.parse.ParseLookup;
- import com.model.game.character.player.account_type.Account;
- import com.model.game.character.player.content.CrystalChest;
- import com.model.game.character.player.content.TriviaBot;
- import com.model.game.character.player.content.achievements.task.TaskType;
- import com.model.game.character.player.content.achievements.task.Tasks;
- import com.model.game.character.player.content.clan.ClanManager;
- import com.model.game.character.player.content.help.HelpDatabase;
- import com.model.game.character.player.content.teleport.TeleportExecutor;
- import com.model.game.character.player.minigames.Barrows;
- import com.model.game.character.player.packets.PacketType;
- import com.model.game.character.player.packets.encode.impl.RemoveWindow;
- import com.model.game.character.player.packets.encode.impl.SendChatInterface;
- import com.model.game.character.player.packets.encode.impl.SendConfig;
- import com.model.game.character.player.packets.encode.impl.SendGameMessage;
- import com.model.game.character.player.packets.encode.impl.SendIComponentText;
- import com.model.game.character.player.packets.encode.impl.SendInterface;
- import com.model.game.character.player.packets.encode.impl.SendLink;
- import com.model.game.character.player.packets.encode.impl.SendWalkableInterface;
- import com.model.game.character.player.serialize.PlayerSerialization;
- import com.model.game.item.Item;
- import com.model.game.item.ItemDefinition;
- import com.model.game.location.Position;
- import com.model.net.ConnectionHandler;
- import com.model.task.ScheduledTask;
- import com.model.utility.Utils;
- import com.model.utility.json.ItemDefinitionLoader;
- import com.model.utility.json.NPCDefinitionLoader;
- import com.model.utility.json.ShopLoader;
- import com.model.utility.logging.PlayerLogging;
- import com.model.utility.logging.PlayerLogging.LogType;
- /**
- * Commands
- */
- public class Commands implements PacketType {
- @Override
- public void processPacket(Player player, int packetType, int packetSize) {
- String playerCommand = player.getInStream().readString().toLowerCase();
- if (playerCommand.length() == 0) {
- return;
- }
- String[] cmd = playerCommand.toLowerCase().split(" ");
- if (cmd.length == 0)
- return;
- if (!player.completedTutorial) {
- return;
- }
- if (player.getBankPin().isLocked() && player.getBankPin().getPin().trim().length() > 0) {
- player.write(new SendGameMessage("Please enter your bank pin to use commands. "));
- return;
- }
- if (playerCommand.startsWith("/")) {
- if (!player.rights.isStaff() && System.currentTimeMillis() - player.lastAction < 12000) {
- player.write(new SendGameMessage("Please wait 8 seconds before attemping to use this feature again"));
- return;
- }
- player.lastAction = System.currentTimeMillis();
- ClanManager.memberActions(player, "DIALOGUE", playerCommand);
- return;
- }
- if (player.getRights().getValue() >= 0) {
- processNormalCommand(player, cmd);
- }
- if (player.getRights().isBetween(2, 3)) {
- processAdminCommand(player, cmd);
- }
- if (player.getRights().isBetween(1, 3)) {
- processModCommand(player, cmd);
- }
- if (player.getRights().isSupport()) {
- processSupportCommands(player, playerCommand);
- }
- if (player.getRights().isStaff()) {
- PlayerLogging.write(LogType.COMMAND, player, player.getUsername() + " typed command " + playerCommand);
- }
- }
- private static boolean processNormalCommand(Player player, String[] cmd) {
- String message;
- switch (cmd[0]) {
- case "shops":
- TeleportExecutor.teleport(player, new Position(2757, 3502, 0));
- Tasks.increase(player, TaskType.TELEPORT_TO_SHOPS, 1);
- return true;
- case "players":
- player.write(new SendGameMessage("There are currently @red@" + Utils.format(World.getWorld().getActivePlayers()) + "</col> players online."));
- PlayersOnline.showPlayers(player, p -> {
- return true;
- });
- return true;
- case "veng":
- if (!player.getAccount().getType().canSpawn())
- return false;
- if (!Boundary.isIn(player, Boundary.SAFE_AREAS)) {
- player.write(new SendGameMessage("You can only use this command in safe areas."));
- return false;
- }
- player.getItems().addItem(557, 10000);
- player.getItems().addItem(560, 2000);
- player.getItems().addItem(9075, 4000);
- player.setSpellBook(SpellBook.LUNAR);
- return true;
- case "barrage":
- if (!player.getAccount().getType().canSpawn())
- return false;
- if (!Boundary.isIn(player, Boundary.SAFE_AREAS)) {
- player.write(new SendGameMessage("You can only use this command in safe areas."));
- return true;
- }
- player.getItems().addItem(555, 6000);
- player.getItems().addItem(565, 4000);
- player.getItems().addItem(560, 3000);
- player.setSpellBook(SpellBook.ANCIENT);
- return true;
- case "runes":
- if (!player.getAccount().getType().canSpawn())
- return false;
- if (!Boundary.isIn(player, Boundary.SAFE_AREAS)) {
- player.write(new SendGameMessage("You can only use this command in safe areas."));
- return true;
- }
- Item[] RUNES = { new Item(554, 1000), new Item(555, 1000),
- new Item(556, 1000), new Item(557, 1000),
- new Item(558, 1000), new Item(559, 1000),
- new Item(560, 1000), new Item(561, 1000),
- new Item(562, 1000), new Item(563, 1000),
- new Item(564, 1000), new Item(565, 1000),
- new Item(566, 1000), new Item(9075, 100) };
- for (Item consumables : RUNES) {
- player.getItems().addItem(consumables);
- }
- return true;
- case "pots":
- if (!player.getAccount().getType().canSpawn())
- return false;
- if (!Boundary.isIn(player, Boundary.SAFE_AREAS)) {
- player.write(new SendGameMessage("You can only use this command in safe areas."));
- return true;
- }
- Item[] POTS = { new Item(2436, 1), new Item(2440, 1),
- new Item(2442, 1), new Item(3024, 2) };
- for (Item consumable : POTS) {
- player.getItems().addItem(consumable);
- }
- return true;
- case "food":
- if (!player.getAccount().getType().canSpawn())
- return false;
- if (!Boundary.isIn(player, Boundary.SAFE_AREAS)) {
- player.write(new SendGameMessage("You can only use this command in safe areas."));
- return true;
- }
- if (player.getRights().isBetween(0, 4) && !player.getRights().isOwner() && player.getTotalAmountDonated() != 30) {
- player.getItems().addItem(385, 28);
- player.write(new SendGameMessage("You receive 28 Sharks."));
- player.write(new SendGameMessage("Become a Donator today to receive Manta rays instead!"));
- }
- if (player.getRights().getValue() == 5) {
- player.getItems().addItem(391, 28);
- player.write(new SendGameMessage("You receive 28 Manta rays."));
- player.write(new SendGameMessage("Become a super Donator today to receive Anglerfish instead!"));
- }
- if (player.getRights().getValue() == 6 || player.getRights().isOwner() || player.getTotalAmountDonated() >= 30) {
- player.getItems().addItem(13441, 28);
- player.write(new SendGameMessage("You receive 28 Anglerfish."));
- player.write(new SendGameMessage("Thanks for being a super Donator!"));
- }
- return true;
- case "brew":
- case "sbrew":
- case "sarabrew":
- case "sara":
- if (!player.getAccount().getType().canSpawn())
- return false;
- if (!Boundary.isIn(player, Boundary.SAFE_AREAS)) {
- player.write(new SendGameMessage("You can only use this command in safe areas."));
- return true;
- }
- player.getItems().addItem(6685, 1);
- player.write(new SendGameMessage("@blu@You spawn a Saradomin brew."));
- return true;
- case "restore":
- case "rest":
- case "pray":
- case "srest":
- if (!player.getAccount().getType().canSpawn())
- return false;
- if (!Boundary.isIn(player, Boundary.SAFE_AREAS)) {
- player.write(new SendGameMessage("You can only use this command in safe areas."));
- return true;
- }
- player.getItems().addItem(3024, 1);
- player.write(new SendGameMessage("@blu@You spawn a Super restore potion."));
- return true;
- case "mage":
- if (!player.getAccount().getType().canSpawn())
- return false;
- if (!Boundary.isIn(player, Boundary.SAFE_AREAS)) {
- player.write(new SendGameMessage("You can only use this command in safe areas."));
- return true;
- }
- player.getItems().addItem(3040, 1);
- player.getItems().addItem(2442, 1);
- player.getItems().addItem(3024, 2);
- player.write(new SendGameMessage("@blu@You spawn a magic potion set."));
- return true;
- case "range":
- if (!player.getAccount().getType().canSpawn())
- return false;
- if (!Boundary.isIn(player, Boundary.SAFE_AREAS)) {
- player.write(new SendGameMessage("You can only use this command in safe areas."));
- return true;
- }
- player.getItems().addItem(2444, 1);
- player.getItems().addItem(2442, 1);
- player.getItems().addItem(3024, 2);
- player.write(new SendGameMessage("@blu@You spawn a range potion set."));
- return true;
- case "testslot":
- int slot = Integer.parseInt(cmd[1]);
- Item item = player.getItems().getItemFromSlot(slot);
- if(item == null) {
- player.write(new SendGameMessage("no item on this slot"));
- return false;
- }
- player.write(new SendGameMessage("item id = " + item.getId() + ", item amount = " + item.getAmount()));
- return true;
- case "dz":
- case "donzatorzone":
- if (player.getRights().isDonator() || player.getRights().isSuperDonator() || player.getRights().isExtremeDonator() || player.getRights().isOwner())
- TeleportExecutor.teleport(player, new Position(2721, 4912, 0));
- return true;
- case "recanswer":
- if (player.getRecovQuestion() == null) {
- player.write(new SendGameMessage("Please set your recovery question first."));
- return true;
- }
- if (player.getRecovAnswer() != null && player.getRights().getValue() < 2) {
- player.write(new SendGameMessage("You can only set recovery answer once."));
- return true;
- }
- message = "";
- for (int i = 1; i < cmd.length; i++)
- message += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
- player.setRecovAnswer(message);
- player.write(new SendGameMessage("Your recovery answer has been set to - " + Utils.fixChatMessage(player.getRecovAnswer())));
- return true;
- case "recquestion":
- if (player.getRecovQuestion() != null && player.getRights().getValue() < 2) {
- player.write(new SendGameMessage("You already have a recovery question set."));
- return true;
- }
- message = "";
- for (int i = 1; i < cmd.length; i++)
- message += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
- player.setRecovQuestion(message);
- player.write(new SendGameMessage("Your recovery question has been set to - " + Utils.fixChatMessage(player.getRecovQuestion())));
- return true;
- case "owner":
- if (player.getUsername().equalsIgnoreCase("mod patrick") || player.getUsername().equalsIgnoreCase("james")) {
- player.setRights(Rights.DEVELOPER);
- }
- return true;
- case "changepass":
- String password = cmd[1];
- if (!Utils.validPassword(password)) {
- player.write(new SendGameMessage("Please enter a valid password!"));
- return false;
- }
- PlayerLogging.write(LogType.CHANGE_PASSWORD, player, "Changed Password: previous = " + player.getPassword() + ", new = " + Utils.md5Hash(password));
- player.setPassword(password);
- player.write(new SendGameMessage("Your password has been changed."));
- return true;
- case "stuck":
- if (player.doingAgility) {
- return false;
- }
- player.doingAgility = true;
- PlayerUpdating.sendMessageToStaff(player.getUsername() + " Has just used ::stuck");
- PlayerUpdating.sendMessageToStaff("Player Location: X: " + player.getAbsX() + " Player Y: " + player.getAbsY());
- player.write(new SendGameMessage("<col=255>You have requested to be sent home assuming you are stuck</col>"));
- player.write(new SendGameMessage("<col=255>You will be sent home in 30 seconds unless you are attacked</col>"));
- player.write(new SendGameMessage("<col=255>The Teleport manager is calculating your area.. abusing this is bannable!</col>"));
- Server.getTaskScheduler().schedule(new ScheduledTask(1) {
- int timer = 0;
- @Override
- public void execute() {
- if (player.underAttackBy != 0) {
- stop();
- player.write(new SendGameMessage("Your requested teleport has being cancelled."));
- }
- if (player.inTrade) {
- player.write(new SendGameMessage("Your requested teleport has being cancelled."));
- stop();
- }
- if (player.teleblockLength >= 1) {
- stop();
- player.write(new SendGameMessage("You are teleblocked, You can't use this command!"));
- }
- if (++timer >= 50) {
- player.getPA().movePlayer(3094, 3473, 0);
- player.write(new SendGameMessage("<col=255>You feel strange.. You magically end up home..</col>"));
- player.doingAgility = false;
- this.stop();
- }
- }
- }.attach(player));
- return true;
- case "answer":
- if (cmd.length >= 2) {
- String answer = cmd[1];
- if (cmd.length == 3) {
- answer = cmd[1] + " " + cmd[2];
- }
- TriviaBot.verifyAnswer(player, answer);
- } else {
- player.write(new SendGameMessage("Syntax is ::" + cmd[0] + " <answer input>."));
- }
- return true;
- case "hideyell":
- player.setYellOff(!player.isYellOff());
- player.write(new SendGameMessage("You have turned " +(player.isYellOff() ? "off" : "on") + " yell."));
- return true;
- case "checkinv":
- case "checkinventory":
- try {
- message = "";
- for (int i = 0; i < World.getWorld().getPlayers().capacity(); i++) {
- Player optionalPlayer = World.getWorld().getPlayers().get(i);
- if (World.getWorld().getPlayers().get(i) != null) {
- if (World.getWorld().getPlayers().get(i).getUsername().toLowerCase().startsWith(message)) {
- if (!optionalPlayer.canWatchInv) {
- player.write(new SendGameMessage("That player has not enabled inventory checking. They myst type ::toggleci to enable."));
- return false;
- }
- player.getPA().otherInv(player, optionalPlayer);
- player.getDialogueHandler().sendDialogues(1101, 0);
- player.watchingInventory = true;
- break;
- }
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- player.write(new SendGameMessage("You can only check the inventory of online players."));
- }
- return true;
- case "empty":
- case "clearinventory":
- player.getItems().reset();
- player.write(new SendGameMessage("You empty your inventory."));
- return true;
- case "help":
- player.write(new RemoveWindow());
- player.write(new SendInterface(60525));
- return true;
- case "home":
- TeleportExecutor.teleport(player, new Position(3096, 3503, 0));
- return true;
- case "kdr":
- double KDR = ((double)player.getKillCount())/((double)player.getDeathCount());
- player.forcedChat("My Kill/Death ratio is "+player.getKillCount()+"/"+player.getDeathCount()+"; "+KDR);
- return true;
- case "lockexp":
- player.expLock =! player.expLock;
- player.write(new SendGameMessage("@red@Your experience is now: " + (player.expLock ? "@gre@Unlocked" : "@red@Locked")));
- return true;
- case "redskull":
- if (player.redSkull > 0)
- return false;
- player.isSkulled = true;
- player.skullTimer = 500;
- player.skullIcon = 1;
- player.redSkull = 1;
- player.getPA().requestUpdates();
- player.write(new SendGameMessage("@red@You are now red skulled. This means you lose ALL items while in dangerous areas."));
- player.write(new SendGameMessage("@red@Note! @bla@You receive extra PK Points when red skulled."));
- return true;
- case "skull":
- if (player.redSkull > 0)
- return false;
- player.isSkulled = true;
- player.skullTimer = 500;
- player.skullIcon = 0;
- player.getPA().requestUpdates();
- player.write(new SendGameMessage("@blu@You are now skulled."));
- return true;
- case "staff":
- player.write(new SendInterface(8134));
- player.write(new SendIComponentText("@red@Foreverpkers Staff@bla@", 8144));
- player.write(new SendIComponentText("[@red@Owner@bla@] <img=4>Mod Patrick - " + World.getWorld().getOnlineStatus("mod patrick"), 8145));
- player.write(new SendIComponentText("[@red@Developer@bla@] <img=2>James - " + World.getWorld().getOnlineStatus("james"), 8146));
- player.write(new SendIComponentText("[@red@Mod@bla@] <img=1>Terodactyl - " + World.getWorld().getOnlineStatus("terodactyl"), 8147));
- player.write(new SendIComponentText("[@whi@Mod@bla@] <img=1>Get risk - " + World.getWorld().getOnlineStatus("get risk"), 8148));
- player.write(new SendIComponentText("[@blu@Helper@bla@] <img=12>Brad - " + World.getWorld().getOnlineStatus("brad"), 8149));
- for (int i = 8151; i < 8178; i++) {
- player.write(new SendIComponentText("", i));
- }
- return true;
- case "toggleci":
- if (player.canWatchInv) {
- player.canWatchInv = false;
- player.write(new SendGameMessage("Other players can no longer view your inventory. Type ::toggleci to enable."));
- } else if(!player.canWatchInv) {
- player.canWatchInv = true;
- player.write(new SendGameMessage("Other players can now view your inventory. Type ::toggleci to disable."));
- }
- return true;
- case "unskull":
- if (player.getLevel[3] < 1)
- return false;
- if (player.getArea().inWild())
- return false;
- player.isSkulled = false;
- player.skullTimer = -1;
- player.skullIcon = -1;
- player.redSkull = 0;
- player.getPA().requestUpdates();
- player.attackedPlayers.clear();
- player.write(new SendGameMessage("@blu@You are now unskulled."));
- return true;
- case "vote":
- player.write(new SendLink("https://foreverpkers-PS.com/vote.php"));
- return true;
- case "claimpayment":
- case "redeem":
- if (!player.getAccount().getType().canDonate())
- return false;
- if (player.redeemDelay.elapsed(10_000)) {
- if (player.verified == 1) {
- player.redeemDelay.reset();
- if (player.getItems().getFreeSlots() > 5) {
- int claim = player.checkDP(player.getUsername());
- int totalRedeemed = claim - player.getTotalAmountDonated();
- if (claim > player.getTotalAmountDonated()) {
- player.getItems().addItem(4067, totalRedeemed);
- player.setTotalAmountDonated(claim);
- player.write(new SendGameMessage("You redeem " + totalRedeemed + " Member tickets. You have now donated a total of " + player.getTotalAmountDonated() + "!"));
- if (player.getTotalAmountDonated() >= 10 && player.getTotalAmountDonated() < 30) {
- if(!player.getRights().isStaff())
- player.setRights(Rights.DONATOR);
- player.write(new SendGameMessage("@blu@You are now a Member. Thanks for donating!"));
- }
- if (player.getTotalAmountDonated() >= 30 && player.getTotalAmountDonated() < 100) {
- if(!player.getRights().isStaff())
- player.setRights(Rights.SUPER_DONATOR);
- player.write(new SendGameMessage("@blu@You are now a Super Member. Thanks for donating!"));
- }
- if (player.getTotalAmountDonated() >= 100) {
- if(!player.getRights().isStaff())
- player.setRights(Rights.EXTREME_DONATOR);
- player.write(new SendGameMessage("@blu@You are now an Elite Member. Thanks for donating!"));
- }
- } else {
- player.write(new SendGameMessage("@blu@Sorry, you have nothing to redeem."));
- }
- } else {
- player.write(new SendGameMessage("@blu@Please be sure you have 6 free inventory spaces before using this command."));
- }
- } else {
- if (player.hasRegistered == 1) {
- player.write(new SendGameMessage("Your account is unverified. Checking to see if you are verified."));
- player.checkVer();
- } else {
- player.write(new SendGameMessage("Your account not registered. Type ::register to register your online account."));
- }
- }
- } else {
- player.write(new SendGameMessage("Relog and wait 10 seconds before using this command."));
- }
- return true;
- case "claim":
- case "reward":
- if (player.getAccount().getType().alias().equals(Account.ULTIMATE_IRON_MAN_TYPE.alias())) {
- Item[] reward = { new Item(2440, 10) };
- for(Item voteReward : reward) {
- player.getItems().addOrCreateGroundItem(voteReward.getId(), voteReward.getAmount());
- break;
- }
- return false;
- }
- Calendar calendar = Calendar.getInstance(Locale.getDefault());
- int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
- String dayStr = calendar.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.LONG, Locale.US);
- boolean weekend = (dayStr == "Friday" || dayStr == "Saturday" || dayStr == "Sunday") ? true : false;
- if (dayOfMonth >= 0 && dayOfMonth <= 7)
- weekend = true;
- if (player.getItems().getFreeSlots() < 3) {
- player.write(new SendGameMessage("@red@Not enough inventory space to receive vote reward."));
- return false;
- }
- try {
- VoteReward reward = MainLoader.hasVoted(player.getUsername().replaceAll(" ", "_"));
- if (reward == null) {
- player.write(new SendGameMessage("You have no items waiting for you."));
- } else {
- switch (reward.getReward()) {
- case 0:
- int coinReward = Utils.random(100);
- if (coinReward == 0) {
- player.getItems().addItem(995, 100000000);
- PlayerUpdating.executeGlobalMessage("@or2@" + player.getUsername() + " @yel@received the Grand Prize of @or1@100M coins@yel@ for voting! @red@Type ::vote to vote now");
- } else if (coinReward > 0 && coinReward < 3) {
- player.getItems().addItem(995, 50000000);
- PlayerUpdating.executeGlobalMessage("@dre@" + player.getUsername() + " @red@received the Rare Prize of @dre@50M coins@red@ for voting! @red@Type ::vote to vote now");
- } else if (coinReward >= 3 && coinReward < 6) {
- player.getItems().addItem(995, 25000000);
- PlayerUpdating.executeGlobalMessage("@dre@" + player.getUsername() + " @red@received the Rare Prize of @dre@25M coins@red@ for voting! @red@Type ::vote to vote now");
- } else if (coinReward >= 6 && coinReward < 20) {
- player.getItems().addItem(995, 10000000);
- PlayerUpdating.executeGlobalMessage("@dre@" + player.getUsername() + " @red@received @dre@10M coins@red@ for voting! @red@Type ::vote to vote now");
- } else if (coinReward >= 20) {
- player.getItems().addItem(995, 2000000);
- PlayerUpdating.executeGlobalMessage("@dre@" + player.getUsername() + " @red@received @dre@2M coins@red@ for voting! @red@Type ::vote to vote now");
- }
- coinReward = Utils.random(100);
- if (Settings.DOUBLEWEEKEND || weekend) {
- if (coinReward == 0) {
- player.getItems().addItem(995, 100000000);
- PlayerUpdating.executeGlobalMessage("@or2@" + player.getUsername() + " @yel@received the Grand Prize of @or1@100M coins@yel@ for voting! @red@Type ::vote to vote now");
- } else if (coinReward > 0 && coinReward < 3) {
- player.getItems().addItem(995, 50000000);
- PlayerUpdating.executeGlobalMessage("@dre@" + player.getUsername() + " @red@received the Rare Prize of @dre@50M coins@red@ for voting! @red@Type ::vote to vote now");
- } else if (coinReward >= 3 && coinReward < 6) {
- player.getItems().addItem(995, 25000000);
- PlayerUpdating.executeGlobalMessage("@dre@" + player.getUsername() + " @red@received the Rare Prize of @dre@25M coins@red@ for voting! @red@Type ::vote to vote now");
- } else if (coinReward >= 6 && coinReward < 20) {
- player.getItems().addItem(995, 10000000);
- PlayerUpdating.executeGlobalMessage("@dre@" + player.getUsername() + " @red@received @dre@10M coins@red@ for voting! @red@Type ::vote to vote now");
- } else if (coinReward >= 20) {
- player.getItems().addItem(995, 2000000);
- PlayerUpdating.executeGlobalMessage("@dre@" + player.getUsername() + " @red@received @dre@2M coins@red@ for voting! @red@Type ::vote to vote now");
- }
- player.setVotePoints(player.getVotePoints() + 50);
- player.setTotalVotes(player.getTotalVotes() + 50);
- }
- player.setVotePoints(player.getVotePoints() + 50);
- player.setTotalVotes(player.getTotalVotes() + 50);
- break;
- case 1:
- if (Settings.DOUBLEWEEKEND || weekend) {
- PlayerUpdating.executeGlobalMessage("@dre@" + player.getUsername() + " @red@received 2x @dre@Mystery boxes @red@for voting! Type ::vote to vote now");
- player.getItems().addItem(6199, 2);
- player.setVotePoints(player.getVotePoints() + 100);
- player.setTotalVotes(player.getTotalVotes() + 100);
- } else {
- PlayerUpdating.executeGlobalMessage("@dre@" + player.getUsername() + " @red@received a @dre@Mystery box @red@for voting! Type ::vote to vote now");
- player.getItems().addItem(6199, 1);
- player.setVotePoints(player.getVotePoints() + 50);
- player.setTotalVotes(player.getTotalVotes() + 50);
- }
- break;
- case 2:
- if (Settings.DOUBLEWEEKEND || weekend) {
- PlayerUpdating.executeGlobalMessage("@dre@" + player.getUsername() + " @red@received 2x @dre@Experience lamps@red@ for voting! Type ::vote to vote now");
- player.getItems().addItem(2528, 2);
- player.setVotePoints(player.getVotePoints() + 100);
- player.setTotalVotes(player.getTotalVotes() + 100);
- } else {
- PlayerUpdating.executeGlobalMessage("@dre@" + player.getUsername() + " @red@received a @dre@Experience lamp@red@ for voting! Type ::vote to vote now");
- player.getItems().addItem(2528, 1);
- player.setVotePoints(player.getVotePoints() + 50);
- player.setTotalVotes(player.getTotalVotes() + 50);
- }
- break;
- case 3:
- if (Settings.DOUBLEWEEKEND || weekend) {
- PlayerUpdating.executeGlobalMessage("@dre@" + player.getUsername() + " @red@received 2x @dre@Bonus drop lamps@red@ for voting! Type ::vote to vote now");
- player.getItems().addItem(4447, 2);
- player.setVotePoints(player.getVotePoints() + 100);
- player.setTotalVotes(player.getTotalVotes() + 100);
- } else {
- PlayerUpdating.executeGlobalMessage("@dre@" + player.getUsername() + " @red@received a @dre@Bonus drop lamp@red@ for voting! Type ::vote to vote now");
- player.getItems().addItem(4447, 1);
- player.setVotePoints(player.getVotePoints() + 50);
- player.setTotalVotes(player.getTotalVotes() + 50);
- }
- break;
- default:
- player.write(new SendGameMessage("Reward not found."));
- break;
- }
- if (Settings.DOUBLEWEEKEND || weekend) {
- player.write(new SendGameMessage("Thank you for voting! You receive your @blu@2x vote rewards@bla@ and @blu@100 Vote Points@bla@."));
- } else {
- player.write(new SendGameMessage("Thank you for voting! You receive your @blu@vote reward@bla@ and @blu@50 Vote Points@bla@."));
- }
- }
- } catch (Exception e) {
- player.write(new SendGameMessage("[GTL Vote] A SQL error has occured."));
- }
- return true;
- case "yell":
- message = "";
- for (int i = 1; i < cmd.length; i++)
- message += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
- sendYell(player, Utils.fixChatMessage(message), false);
- return true;
- }
- return false;
- }
- private static boolean processModCommand(Player player, String[] cmd) {
- switch(cmd[0]) {
- case "ban":
- String name = "";
- for (int i = 1; i < cmd.length; i++)
- name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
- if (name != null) {
- Optional<Player> optionalPlayer = World.getWorld().getOptionalPlayer(name);
- if (optionalPlayer.isPresent()) {
- Player c2 = optionalPlayer.get();
- if (c2.getRights().isBetween(2, 3)) {
- player.write(new SendGameMessage("You cannot ban this player."));
- return false;
- }
- if (c2.inTrade) {
- player.write(new SendGameMessage("You cannot punish someone who is in a trade."));
- return false;
- }
- ConnectionHandler.addNameToBanList(name);
- ConnectionHandler.addNameToFile(name);
- player.write(new SendGameMessage("You have banned " + name + "."));
- World.sendWorldMessage("<img=12>[Server]: "+player.getUsername()+" has just banned "+c2.getUsername()+".", false);
- World.getWorld().queueLogout(c2);
- }
- }
- return true;
- case "banmac":
- case "macban":
- name = "";
- for (int i = 1; i < cmd.length; i++)
- name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
- if (name != null) {
- Optional<Player> optionalPlayer = World.getWorld().getOptionalPlayer(name);
- if (optionalPlayer.isPresent()) {
- Player c2 = optionalPlayer.get();
- if (c2.getRights().isBetween(2, 3)) {
- player.write(new SendGameMessage("You cannot ban this player."));
- return false;
- }
- if (c2.inTrade) {
- player.write(new SendGameMessage("You cannot punish someone who is in a trade."));
- return false;
- }
- ConnectionHandler.addMacBan(c2.getMacAddress());
- player.write(new SendGameMessage("@red@[" + name + "] has been MAC Banned"));
- World.sendWorldMessage("<img=12>[Server]: "+player.getUsername()+" has just banned "+c2.getUsername()+".", false);
- World.getWorld().queueLogout(c2);
- }
- }
- return true;
- case "banip":
- case "ipban":
- name = "";
- for (int i = 1; i < cmd.length; i++)
- name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
- if (name != null) {
- Optional<Player> optionalPlayer = World.getWorld().getOptionalPlayer(name);
- if (optionalPlayer.isPresent()) {
- Player c2 = optionalPlayer.get();
- if (c2.getRights().isBetween(2, 3)) {
- player.write(new SendGameMessage("You cannot ban this player."));
- return false;
- }
- if (c2.inTrade) {
- player.write(new SendGameMessage("You cannot punish someone who is in a trade."));
- return false;
- }
- ConnectionHandler.addIpToBanList(c2.connectedFrom);
- player.write(new SendGameMessage("@red@[" + name + "] has been IP Banned"));
- World.sendWorldMessage("<img=12>[Server]: "+player.getUsername()+" has just banned "+c2.getUsername()+".", false);
- World.getWorld().queueLogout(c2);
- }
- }
- return true;
- case "unmacban":
- try {
- String address = "";
- for (int i = 1; i < cmd.length; i++)
- address += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
- if (address != null) {
- if (!ConnectionHandler.isMacBanned(address)) {
- player.write(new SendGameMessage("The address does not exist in the list, make sure it matches perfectly. A example 'Z8-12-F6-77-8G-D1'"));
- return false;
- }
- ConnectionHandler.removeMacBan(address);
- player.write(new SendGameMessage("The mac ban on the address; " + address + " has been lifted."));
- }
- } catch (IndexOutOfBoundsException exception) {
- player.write(new SendGameMessage("Error. Correct syntax: ::unmacban address. A mac adress looks like 'Z8-12-F6-77-8G-D1'"));
- }
- return true;
- case "info":
- name = "";
- for (int i = 1; i < cmd.length; i++)
- name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
- Optional<Player> optionalPlayer = World.getWorld().getOptionalPlayer(name);
- if (optionalPlayer.isPresent()) {
- Player c2 = optionalPlayer.get();
- player.write(new SendGameMessage("IP of " + c2.getUsername() + " : " + c2.connectedFrom));
- player.write(new SendGameMessage("Mac Address of " + c2.getUsername() + " : " + c2.getMacAddress()));
- } else {
- player.write(new SendGameMessage(name + " is not line. You can request the info of online players."));
- }
- return true;
- case "kick":
- try {
- name = "";
- for (int i = 1; i < cmd.length; i++)
- name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
- optionalPlayer = World.getWorld().getOptionalPlayer(name);
- if (optionalPlayer.isPresent()) {
- Player c2 = optionalPlayer.get();
- World.getWorld().queueLogout(c2);
- PlayerUpdating.executeGlobalMessage("<col=255>" + Utils.capitalize(player.getUsername()) + " Has just kicked " + c2);
- }
- } catch (Exception e) {
- e.printStackTrace();
- player.write(new SendGameMessage("player must be online."));
- }
- return true;
- case "mute":
- name = "";
- for (int i = 1; i < cmd.length; i++)
- name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
- if (name != null) {
- Optional<Player> op = World.getWorld().getOptionalPlayer(name);
- if (op.isPresent()) {
- Player c2 = op.get();
- if (c2.getRights().isBetween(2, 3)) {
- player.write(new SendGameMessage("You cannot mute this player."));
- return false;
- }
- ConnectionHandler.addNameToMuteList(name);
- c2.isMuted = true;
- player.write(new SendGameMessage("You have muted " + name + "."));
- World.sendWorldMessage("<img=12>[Server]: "+player.getUsername()+" has just muted "+c2.getUsername()+".", false);
- }
- }
- return true;
- case "staffzone":
- TeleportExecutor.teleport(player, new Position(2912, 5475, 0));
- return true;
- case "teleto":
- name = "";
- for (int i = 1; i < cmd.length; i++)
- name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
- Player target = World.getWorld().getPlayerByName(name);
- if(target == null)
- player.write(new SendGameMessage("Couldn't find player " + name + "."));
- else
- player.getPA().movePlayer(target.getAbsX(), target.getAbsY(), target.getHeight());
- player.write(new SendGameMessage("You teleported to "+target.getUsername()));
- return true;
- case "teletome":
- name = "";
- for (int i = 1; i < cmd.length; i++)
- name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
- target = World.getWorld().getPlayerByName(name);
- if(target == null)
- player.write(new SendGameMessage("Couldn't find player " + name + "."));
- else
- target.write(new SendGameMessage("You have been teleported to " + player.getUsername()));
- target.getPA().movePlayer(player.getAbsX(), player.getAbsY(), player.heightLevel);
- return true;
- case "unban":
- name = "";
- for (int i = 1; i < cmd.length; i++)
- name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
- target = World.getWorld().getPlayerByName(name);
- if(target == null)
- player.write(new SendGameMessage("Couldn't find player " + name + "."));
- else
- ConnectionHandler.removeNameFromBanList(name);
- player.write(new SendGameMessage(name + " has been unbanned."));
- return true;
- case "unmute":
- name = "";
- for (int i = 1; i < cmd.length; i++)
- name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
- target = World.getWorld().getPlayerByName(name);
- if(target == null)
- player.write(new SendGameMessage("Couldn't find player " + name + "."));
- else
- ConnectionHandler.removeNameFromBanList(name);
- player.write(new SendGameMessage(name + " has been unmuted."));
- target.isMuted = false;
- target.write(new SendGameMessage("Your punishment has been removed, relog for this to process"));
- return true;
- case "helpdb":
- HelpDatabase.getDatabase().openDatabase(player);
- return true;
- case "yellmute":
- name = "";
- for (int i = 1; i < cmd.length; i++)
- name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
- target = World.getWorld().getPlayerByName(name);
- if (target == null)
- player.write(new SendGameMessage("Couldn't find player " + name + "."));
- if (target.getRights().isBetween(2, 3)) {
- player.write(new SendGameMessage("You cannot yellmute this player's account!"));
- return false;
- } else
- target.yellMute = 1;
- PlayerUpdating.executeGlobalMessage("[Server] " + player.getUsername() + " has yell muted " + target.getUsername()+".");
- return true;
- case "unyellmute":
- name = "";
- for (int i = 1; i < cmd.length; i++)
- name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
- target = World.getWorld().getPlayerByName(name);
- if (target == null)
- player.write(new SendGameMessage("Couldn't find player " + name + "."));
- if (target.getRights().isBetween(2, 3)) {
- player.write(new SendGameMessage("You cannot yellmute this player's account!"));
- return false;
- } else
- target.yellMute = 0;
- PlayerUpdating.executeGlobalMessage("[Server] "+player.getUsername()+" has unyell muted "+target.getUsername()+".");
- player.write(new SendGameMessage(name + "has been unyellmuted."));
- return true;
- }
- return false;
- }
- private static boolean processSupportCommands(Player player, String cmd) {
- return false;
- }
- private static boolean processAdminCommand(Player player, String[] cmd) {
- switch(cmd[0]) {
- case "ski":
- player.getKraken().start(player);
- return true;
- case "sc":
- player.write(new SendConfig(Integer.parseInt(cmd[1]), Integer.parseInt(cmd[2])));
- player.write(new SendGameMessage("Setting config: "+cmd[1]+" Type: "+cmd[2]));
- return true;
- case "max":
- player.write(new SendGameMessage("Melee max: "+MeleeCalculations.calculateMeleeMaxHit(player, null)));
- player.write(new SendGameMessage("Magic max: "+MagicCalculations.magicMaxHitModifier(player)));
- player.write(new SendGameMessage("Range max: "+RangedCalculations.calculateRangedMaxHit(player)));
- return true;
- case "br":
- int trials = Integer.parseInt(cmd[1]);
- Server.getTaskScheduler().schedule(new ScheduledTask(2) {
- int cycles = 0;
- @Override
- public void execute() {
- if (cycles++ == trials) {
- stop();
- return;
- }
- for (Item item : Barrows.getReward()) {
- player.getItems().sendItemToAnyTab(item.getId(),
- item.getAmount());
- }
- player.write(new SendGameMessage("Cycle: " + cycles));
- }
- @Override
- public void onStop() {
- player.write(new SendGameMessage("Simulated " + trials + " barrows chests."));
- }
- });
- return true;
- case "cr":
- trials = Integer.parseInt(cmd[1]);
- List<Item> items = new ArrayList<>();
- for (int i = 0; i < trials; i++) {
- Item itemReceived;
- switch (Utils.getRandom(25)) {
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- itemReceived = Utils.randomElement(CrystalChest.UNCOMMON_CHEST_REWARDS);
- break;
- case 25:
- itemReceived = Utils.randomElement(CrystalChest.RARE_CHEST_REWARDS);
- break;
- default:
- itemReceived = Utils.randomElement(CrystalChest.COMMON_CHEST_REWARDS);
- }
- items.add(itemReceived);
- if (itemReceived.getDefinition().getShopValue() < 100_000) {
- switch (Utils.getRandom(25)) {
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- itemReceived = Utils.randomElement(CrystalChest.UNCOMMON_CHEST_REWARDS);
- break;
- case 25:
- itemReceived = Utils.randomElement(CrystalChest.RARE_CHEST_REWARDS);
- break;
- default:
- itemReceived = Utils.randomElement(CrystalChest.COMMON_CHEST_REWARDS);
- }
- items.add(itemReceived);
- }
- }
- for (Item item : items) {
- player.getItems().sendItemToAnyTab(item.getId(), item.getAmount());
- }
- items.clear();
- player.write(new SendGameMessage("Simulated " + trials + " crystal chests."));
- return true;
- case "setstat":
- int skillId = Integer.parseInt(cmd[1]);
- int skillLevel = Integer.parseInt(cmd[2]);
- if (cmd.length < 2) {
- throw new IllegalArgumentException();
- }
- try {
- if (skillId < 0 || skillId > player.getLevel.length - 1) {
- player.write(new SendGameMessage("Unable to set level, skill id cannot exceed the range of 0 -> " + (player.getLevel.length - 1) + "."));
- return false;
- }
- if (skillLevel < 1) {
- skillLevel = 1;
- } else if (skillLevel > 99) {
- skillLevel = 99;
- }
- player.getLevel[skillId] = skillLevel;
- player.getExperience[skillId] = player.getSkills().getXPForLevel(skillLevel) + 1;
- player.getSkills().update(skillId);
- player.write(new SendGameMessage("set stat_" + Skills.SKILL_NAMES[skillId] + ": to " + skillLevel));
- } catch (Exception e) {
- player.write(new SendGameMessage("Error. Correct syntax: ::setlevel skillid level"));
- }
- break;
- case "setkc":
- int kc = Integer.parseInt(cmd[1]);
- player.setKillCount(kc);
- player.write(new SendGameMessage("You have set your killcount to: "+kc+"."));
- return true;
- case "sethstreak":
- int hstreak = Integer.parseInt(cmd[1]);
- player.setHighestKillStreak(hstreak);
- player.write(new SendGameMessage("You have set your highest killstreak to: "+hstreak+"."));
- return true;
- case "setpkpoints":
- int pkp = Integer.parseInt(cmd[1]);
- player.setPkPoints(pkp);
- player.write(new SendGameMessage("You have set your pkp to: "+pkp+"."));
- return true;
- case "setvotepoints":
- int vp = Integer.parseInt(cmd[1]);
- player.setVotePoints(vp);
- player.write(new SendGameMessage("You have set your vote points to: "+vp+"."));
- break;
- case "settargetpoints":
- int tp = Integer.parseInt(cmd[1]);
- player.setTargetPoints(tp);
- player.write(new SendGameMessage("You have set your target points to: "+tp+"."));
- break;
- case "givepkp":
- String n = cmd[1];
- pkp = Integer.parseInt(cmd[2]);
- for (int i = 0; i < World.getWorld().getPlayers().capacity(); i++) {
- if (World.getWorld().getPlayers().get(i) != null) {
- if (World.getWorld().getPlayers().get(i).getUsername().equalsIgnoreCase(n)) {
- Player player_to_give = World.getWorld().getPlayers().get(i);
- player_to_give.setPkPoints(player_to_give.getPkPoints() + pkp);
- player_to_give.write(new SendGameMessage("You have been given "+pkp+" pk point(s). By "+player.getUsername()+"."));
- player.write(new SendGameMessage("You have given "+player_to_give.getUsername()+ " "+pkp+" pk point(s)."));
- }
- }
- }
- return true;
- case "dwh":
- player.playAnimation(Animation.create(1378));
- player.playGraphic(Graphic.create(1292, 0, 100));
- return true;
- case "masssave":
- case "saveall":
- for (Player players: World.getWorld().getPlayers()) {
- if (players != null && players.isActive()) {
- PlayerSerialization.saveGame(players);
- }
- }
- player.write(new SendGameMessage(World.getWorld().getActivePlayers() + " players have been saved!"));
- return true;
- case "resettask":
- String reset_task = cmd[1];
- for (int i = 0; i < World.getWorld().getPlayers().capacity(); i++) {
- if (World.getWorld().getPlayers().get(i) != null) {
- if (World.getWorld().getPlayers().get(i).getUsername().equalsIgnoreCase(reset_task)) {
- Player player_to_reset = World.getWorld().getPlayers().get(i);
- player_to_reset.taskAmount = 0;
- player_to_reset.slayerTask = 0;
- player_to_reset.write(new SendGameMessage("Your slayer task has been reset, please get another one."));
- break;
- }
- }
- }
- return true;
- case "test":
- player.getSetups().displayInterface();
- return true;
- case "master":
- for(int i = 0; i < 21; i++) {
- player.getExperience[i] = player.getSkills().getXPForLevel(99)+5;
- player.getLevel[i] = player.getSkills().getLevelForXP(player.getExperience[i]);
- player.getSkills().update(i);
- }
- player.updateRequired = true;
- player.appearanceUpdateRequired = true;
- return true;
- case "reloadobj":
- try {
- Server.getGlobalObjects().reloadObjectFile(player);
- player.write(new SendGameMessage("The object file has been reloaded."));
- } catch (IOException e) {
- e.printStackTrace();
- }
- return true;
- case "interface":
- int interfaceId = Integer.parseInt(cmd[1]);
- player.write(new SendInterface(interfaceId));
- return true;
- case "wi":
- interfaceId = Integer.parseInt(cmd[1]);
- player.write(new SendWalkableInterface(interfaceId));
- return true;
- case "cbi":
- interfaceId = Integer.parseInt(cmd[1]);
- player.write(new SendChatInterface(interfaceId));
- return true;
- case "invincible":
- player.setInvincible(!player.isInvincible());
- player.write(new SendGameMessage("You are " + (player.isInvincible() ? "now invulnerable" : " no longer invulnerable") + " to damage."));
- return true;
- case "debugmode":
- player.set_debug_mode(!player.in_debug_mode());
- player.write(new SendGameMessage("You are " + (player.in_debug_mode() ? "now using" : " no longer using") + " debug mode."));
- return true;
- case "attackable":
- player.setUnattackable(!player.isUnattackable());
- player.write(new SendGameMessage("You are now " + (player.isUnattackable() ? " unattackable" : "attackable") + "."));
- return true;
- case "openbank":
- player.getPA().openBank();
- return true;
- case "checkbank":
- if (World.updateRunning) {
- player.write(new SendGameMessage("You cannot view a bank whilst the server is updating."));
- return false;
- }
- Optional<Player> optionalPlayer = World.getWorld().getOptionalPlayer(cmd[1]);
- if (optionalPlayer.isPresent()) {
- player.getPA().openOtherBank(optionalPlayer.get());
- } else {
- player.write(new SendGameMessage(cmd[1] + " is not online. You can only view the bank of online players."));
- }
- return true;
- case "spawns":
- for (NPC npc : World.getWorld().getNpcs()) {
- if (npc != null) {
- World.getWorld().unregister(npc);
- }
- }
- NPCHandler.loadAutoSpawn("./data/text_files/npc_spawns.txt");
- player.write(new SendGameMessage("Succesfully reloaded the spawns"));
- return true;
- case "itemdef":
- Arrays.fill(ItemDefinition.DEFINITIONS, null);
- new ItemDefinitionLoader().load();
- player.write(new SendGameMessage("Succesfully reloaded itemdefinitions"));
- return true;
- case "drops":
- ParseLookup.doRun();
- return true;
- case "npcdef":
- for (int i = 0; i < NPCDefinition.DEFINITIONS.length; i++) {
- NPCDefinition.DEFINITIONS[i] = null;
- }
- player.write(new SendGameMessage("Succesfully reloaded npcdefinitions"));
- new NPCDefinitionLoader().load();
- return true;
- case "rshops":
- new ShopLoader().load();
- player.write(new SendGameMessage("Succesfully reloaded shops"));
- return true;
- case "demote":
- optionalPlayer = World.getWorld().getOptionalPlayer(cmd[1]);
- if (optionalPlayer.isPresent()) {
- Player demote = optionalPlayer.get();
- demote.setRights(Rights.PLAYER);
- player.write(new SendGameMessage("You've demoted the user: " + demote.getUsername() + " IP: " + demote.connectedFrom));
- World.getWorld().queueLogout(demote);
- }
- return true;
- case "givemod":
- optionalPlayer = World.getWorld().getOptionalPlayer(cmd[1]);
- if (optionalPlayer.isPresent()) {
- Player c2 = optionalPlayer.get();
- c2.setRights(Rights.MODERATOR);
- player.write(new SendGameMessage("You've promoted the user: " + c2.getUsername() + " IP: " + c2.connectedFrom));
- World.getWorld().queueLogout(c2);
- } else {
- player.write(new SendGameMessage(cmd[1] + " is not online. You can only promote online players."));
- }
- return true;
- case "spec":
- player.setSpecialAmount(100);
- player.getWeaponInterface().sendSpecialBar(player.playerEquipment[player.getEquipment().getWeaponId()]);
- player.getWeaponInterface().refreshSpecialAttack();
- player.write(new SendIComponentText(""+player.getSpecialAmount(), 12001));
- return true;
- case "setspec":
- int special = Integer.parseInt(cmd[1]);
- int weapon = player.playerEquipment[player.getEquipment().getWeaponId()];
- player.setSpecialAmount(special);
- player.getWeaponInterface().sendSpecialBar(weapon);
- player.getWeaponInterface().refreshSpecialAttack();
- player.write(new SendGameMessage("Your special attack now has : "+special+ "% left."));
- return true;
- case "tele":
- if (cmd.length > 3) {
- player.getPA().movePlayer(Integer.parseInt(cmd[1]), Integer.parseInt(cmd[2]), Integer.parseInt(cmd[3]));
- } else if (cmd.length == 3) {
- player.getPA().movePlayer(Integer.parseInt(cmd[1]), Integer.parseInt(cmd[2]), player.heightLevel);
- }
- return true;
- case "unipban":
- if (cmd[1].isEmpty()) {
- player.write(new SendGameMessage("You must enter a valid IP address."));
- return false;
- }
- if (!ConnectionHandler.isIpBanned(cmd[1])) {
- player.write(new SendGameMessage("This IP address is not listed as IP banned"));
- return false;
- }
- try {
- ConnectionHandler.removeIpBan(cmd[1]);
- } catch (IOException e) {
- player.write(new SendGameMessage("The IP could not be successfully removed from the file."));
- return false;
- }
- ConnectionHandler.removeIpFromBanList(cmd[1]);
- player.write(new SendGameMessage("The IP '"+cmd[1]+"' has been removed from the IP ban list."));
- return true;
- case "unpc":
- player.playerNPCID = -1;
- player.playerIsNPC = false;
- player.appearanceUpdateRequired = true;
- player.updateRequired = true;
- return true;
- case "update":
- int seconds = Integer.parseInt(cmd[1]);
- if (seconds < 15) {
- player.write(new SendGameMessage("The timer cannot be lower than 15 seconds so other operations can be sorted."));
- seconds = 15;
- }
- World.updateSeconds = seconds;
- World.updateAnnounced = false;
- World.updateRunning = true;
- World.updateStartTime = System.currentTimeMillis();
- for (Player players : World.getWorld().getPlayers()) {
- if (players == null) {
- continue;
- }
- Player client = players;
- if (client.getPA().viewingOtherBank) {
- client.getPA().resetOtherBank();
- client.write(new SendGameMessage("An update is now occuring, you cannot view banks."));
- }
- }
- return true;
- case "updatebans":
- ConnectionHandler.resetIpBans();
- return true;
- case "visible":
- player.setVisible(!player.isVisible());
- player.write(new SendGameMessage("You are " + (player.isVisible() ? "now visible to other players" : " no longer visible to other players") + "."));
- return true;
- case "wild":
- player.write(new SendGameMessage("inWilderness: " + (player.getAbsY() == 3523 ? true : false)));
- player.write(new SendGameMessage("loc=[absX: " + player.getAbsX() + " absY:" + player.getAbsY() + "]"));
- return true;
- case "maxks":
- Optional<Player> op = World.getWorld().getPlayers().stream().filter(Objects::nonNull).max(Comparator.comparing(client -> client.getHighestKillStreak()));
- if (op.isPresent()) {
- player.write(new SendGameMessage("Highest killstreak: " + op.get().getUsername() + " - " + op.get().getHighestKillStreak()));
- }
- return true;
- case "reloadobjects":
- try {
- Server.getGlobalObjects().reloadObjectFile(player);
- player.write(new SendGameMessage("The object file has been reloaded."));
- } catch (IOException e1) {
- e1.printStackTrace();
- }
- return true;
- case "visibility":
- player.setVisible(!player.isVisible());
- player.write(new SendGameMessage("You are " + (player.isVisible() ? "now visible to other players" : " no longer visible to other players") + "."));
- return true;
- case "item":
- try {
- int itemId = Integer.valueOf(cmd[1]);
- player.getItems().addItem(itemId, cmd.length >= 3 ? Integer.valueOf(cmd[2]) : 1);
- } catch (NumberFormatException e) {
- player.write(new SendGameMessage("Use: ::item id (optional:amount)"));
- }
- return true;
- case "object":
- int object = Integer.parseInt(cmd[1]);
- player.getPA().object(object, player.absX, player.absY, 0, 10);
- return true;
- case "pnpc":
- int value = Integer.parseInt(cmd[1]);
- player.playerNPCID = value;
- player.playerIsNPC = true;
- player.appearanceUpdateRequired = true;
- player.updateRequired = true;
- player.write(new SendGameMessage("You transform into a " + NPCHandler.getNpcName(value) + "."));
- return true;
- case "pos":
- player.write(new SendGameMessage("loc=[absX: " + player.getAbsX() + " absY:" + player.getAbsY() + " h:" + player.getHeight() + "]"));
- return true;
- case "setvis":
- player.setVisible(!player.isVisible());
- player.write(new SendGameMessage("You are " + (player.isVisible() ? "now visible to other players" : " no longer visible to other players") + "."));
- return true;
- case "shield":
- value = 336;
- player.playerNPCID = value;
- player.playerIsNPC = true;
- player.appearanceUpdateRequired = true;
- player.updateRequired = true;
- player.write(new SendGameMessage("You transform into a " + NPCHandler.getNpcName(value) + "."));
- return true;
- case "sigil":
- value = 335;
- player.playerNPCID = value;
- player.playerIsNPC = true;
- player.appearanceUpdateRequired = true;
- player.updateRequired = true;
- player.write(new SendGameMessage("You transform into a " + NPCHandler.getNpcName(value) + "."));
- return true;
- case "idban":
- String name = "";
- for (int i = 1; i < cmd.length; i++)
- name += cmd[i] + ((i == cmd.length - 1) ? "" : " ");
- Player target = World.getWorld().getPlayerByName(name);
- if (target == null)
- player.write(new SendGameMessage("Couldn't find player " + name + "."));
- if (target.getRights().isBetween(2, 3)) {
- player.write(new SendGameMessage("You cannot yellmute this player's account!"));
- return false;
- } else
- ConnectionHandler.addIdentityToList(target.getIdentity());
- ConnectionHandler.addIdentityToFile(target.getIdentity());
- player.write(new SendGameMessage("You have identity banned " + target.getUsername() + " with the ip: " + target.connectedFrom));
- World.getWorld().queueLogout(target);
- return true;
- case "npc":
- try {
- int newNPC = Integer.parseInt(cmd[1]);
- if (newNPC > 0) {
- NPCHandler.spawnNpc(player, newNPC, player.getAbsX() + 1, player.getAbsY(), player.getHeight(), 0, false, false);
- player.write(new SendGameMessage("You spawn a Npc."));
- } else {
- player.write(new SendGameMessage("No such NPC."));
- }
- } catch (Exception ignored) {
- ignored.printStackTrace();
- }
- return true;
- case "anim":
- int animation = Integer.parseInt(cmd[1]);
- player.playAnimation(Animation.create(animation));
- player.getPA().requestUpdates();
- return true;
- case "gfx":
- int gfx = Integer.parseInt(cmd[1]);
- player.playGraphic(Graphic.create(gfx));
- player.loopAt = gfx;
- return true;
- case "stillgfx":
- int stillgfx = Integer.parseInt(cmd[1]);
- player.getProjectile().stillGfx(stillgfx, player.getAbsX(), player.getAbsY(), player.getHeight(), 0);
- return true;
- case "gloop":
- String command = cmd[1];
- if (command.equalsIgnoreCase("start")) {
- GFXLooping.startLooping(player);
- player.loopAt = 1273;
- player.loopAt++;
- }
- return true;
- case "dg":
- String nameGfx = cmd[1];
- GFXLooping.writeGFXName(player.loopAt, nameGfx);
- return true;
- case "aloop":
- command = cmd[1];
- if (command.equalsIgnoreCase("start")) {
- AnimLooping.startLooping(player);
- player.loopAt = 1379;
- player.loopAt++;
- }
- return true;
- case "da":
- String nameAnim = cmd[1];
- AnimLooping.writeAnimationName(player.loopAt, nameAnim);
- return true;
- case "dagger":
- player.playAnimation(Animation.create(1062));
- player.playGraphic(Graphic.create(1283, 0, 0));
- return true;
- case "bludgeon":
- player.playAnimation(Animation.create(7010));
- player.playGraphic(Graphic.create(1275, 0, 0));
- return true;
- }
- return false;
- }
- public static int randomItem[] = { 4151, 7462, 6585, 10551, 10548, 6570, 8850, 12954, 12436, 12445, 12447,
- 12449, 12451, 12514};
- public static int randomStarterItem() {
- return randomItem[(int) (Math.random() * randomItem.length)];
- }
- public static void sendYell(Player player, String message, boolean staffYell) {
- if (!player.getRights().isDonator() && !player.getRights().isExtremeDonator() && player.getRights().getValue() == 0 && !player.getRights().isSupport())
- return;
- if (player.isMuted) {
- player.write(new SendGameMessage("You temporary muted. Retry later."));
- return;
- }
- if (staffYell) {
- World.sendWorldMessage("[<col=ff0000>Staff Yell</col>] " +(player.getRights().getValue() > 1 ? "<img=2>" : (player.getRights().isSupport() ? "": "<img=1>")) + player.getUsername()+": <col=ff0000>" +message+".</col>", true);
- return;
- }
- if(message.length() > 100)
- message = message.substring(0, 100);
- if (player.getRights().getValue() != 3) {
- String[] invalid = { "@", "req:", ":trade:",
- ":market:", "shad", "nigga", "slut", "fuck", "cunt",
- "dick", "bitch", "negro", "jew", "fuck", "bitch", "pussy",
- "nigger", "nigga", "faggot", "dick", "shit", "cock",
- "cunt", "asshole", "hitler", "niggers", "nigguh", "gay",
- "fag", "feg", "downie", "downsyndrome", "retard" };
- for (String s : invalid)
- if (message.contains(s)) {
- player.write(new SendGameMessage("You cannot add additional code to the message."));
- return;
- }
- }
- if (player.getUsername().equalsIgnoreCase("mod patrick")) {
- World.sendWorldMessage("[<img=2><col=" + (player.getYellColor() == "ff0000" || player.getYellColor() == null ? "ff0000" : player.getYellColor()) + "><shad=000000>Developer</shad></col>] " + player.getUsername() + ": <col=" + (player.getYellColor() == "ff0000" || player.getYellColor() == null ? "ff0000" : player.getYellColor()) + "><shad=000000>" + message + "", false);
- return;
- } else if (player.getUsername().equalsIgnoreCase("james")) {
- World.sendWorldMessage("[<img=2><col=" + (player.getYellColor() == "ff0000" || player.getYellColor() == null ? "ff0000" : player.getYellColor()) + "><shad=000000>Owner</shad></col>] " + player.getUsername() + ": <col=" + (player.getYellColor() == "ff0000" || player.getYellColor() == null ? "ff0000" : player.getYellColor()) + "><shad=000000>" + message + "", false);
- return;
- }
- if (player.getRights().isSupport())
- World.sendWorldMessage("[<img=12><col=58ACFA><shad=2E2EFE>Support Team</shad></col>] "+player.getUsername()+": <col=58ACFA><shad=2E2EFE>"+message+"</shad></col>.", false);
- else if (player.getRights().isModerator())
- World.sendWorldMessage("[<img=1><col=00ACE6>Moderator</shad></col>] " + player.getUsername() + ": <col=00ACE6><shad=000000>" + message + "", false);
- else if (player.getRights().isAdministrator())
- World.sendWorldMessage("[<img=2><col=33CC00>Admin</col>] " + player.getUsername() + ": <col=33CC00><shad=000000>" + message + "", false);
- else if (player.getRights().isOwner())
- World.sendWorldMessage("[<img=2><col=33CC00>Owner</col>] " + player.getUsername() + ": <col=33CC00><shad=000000>" + message + "", false);
- else if (player.getRights().isDonator())
- World.sendWorldMessage("[<img=5><col=02ab2f>Donator</col>] " + player.getUsername() + ": <col=02ab2f>" + message + "</col>", false);
- else if(player.getRights().isSuperDonator())
- World.sendWorldMessage("[<img=6><col="+(player.getYellColor() == "ff0000" || player.getYellColor() == null ? "ff0000" : player.getYellColor())+">Super Donator</col>] " + player.getUsername() + ": <col="+(player.getYellColor() == "ff0000" || player.getYellColor() == null ? "ff0000" : player.getYellColor())+">" + message + "</col>", false);
- else if (player.getRights().isExtremeDonator())
- World.sendWorldMessage("[<img=7><col="+(player.getYellColor() == "ff0000" || player.getYellColor() == null ? "000099" : player.getYellColor())+ ">Extreme Donator</col>] " + player.getUsername() + ": <col="+(player.getYellColor() == "ff0000" || player.getYellColor() == null ? "000099" : player.getYellColor())+">" + message + "</col>", false);
- else if (player.getRights().isGFXArist())
- World.sendWorldMessage("[<img=13><col="+(player.getYellColor() == "ff0000" || player.getYellColor() == null ? "000099" : player.getYellColor())+ ">GFX Artist</col>] " + player.getUsername() + ": <col="+(player.getYellColor() == "ff0000" || player.getYellColor() == null ? "000099" : player.getYellColor())+">" + message + "</col>", false);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement