Files
2006Scape/2006Redone Server/src/redone/net/packets/impl/Commands.java
T
2019-11-23 12:38:41 +13:00

731 lines
50 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package redone.net.packets.impl;
import redone.Connection;
import redone.Constants;
import redone.Server;
import redone.game.bots.BotHandler;
import redone.game.items.ItemAssistant;
import redone.game.npcs.NpcHandler;
import redone.game.players.*;
import redone.net.packets.PacketType;
import redone.util.GameLogger;
import redone.util.Misc;
import redone.world.clip.Region;
import java.util.Arrays;
import static redone.game.content.combat.magic.MagicTeleports.LUMBRIDGE_X;
import static redone.game.content.combat.magic.MagicTeleports.LUMBRIDGE_Y;
public class Commands implements PacketType {
@Override
public void processPacket(Client player, int packetType, int packetSize) {
String[] messageArr = player.getInStream().readString().split(" ");
String playerCommand = messageArr[0];
String[] commandArguments = Arrays.copyOfRange(messageArr, 1, messageArr.length);
if ((playerCommand.startsWith("ban") || playerCommand.startsWith("ip") || playerCommand.startsWith("mute") || playerCommand.startsWith("un")) && player.playerRights > 0 && player.playerRights < 4) {
GameLogger.writeLog(player.playerName, "commands", player.playerName + " used command: " + playerCommand);
}
if (player.playerRights >= 0) {
playerCommands(player, playerCommand, commandArguments);
}
if (player.membership || player.playerRights > 1) {
donatorCommands(player, playerCommand, commandArguments);
}
if (player.playerRights >= 1) {
moderatorCommands(player, playerCommand, commandArguments);
}
if (player.playerRights >= 2 && player.playerRights < 4) {
adminCommands(player, playerCommand, commandArguments);
}
if (player.playerRights == 3) {
developerCommands(player, playerCommand, commandArguments);
}
}
public static void playerCommands(Client player, String playerCommand, String[] arguments) {
switch (playerCommand.toLowerCase())
{
case "bank":
player.getPlayerAssistant().openUpBank();
break;
case "claimvote":
if(!Server.ersSecret.equals("")) {
final String playerName = player.playerName;
com.everythingrs.vote.Vote.service.execute(new Runnable() {
@Override
public void run() {
try {
int currentPoints = player.votePoints;
com.everythingrs.vote.Vote[] reward = com.everythingrs.vote.Vote.reward(Server.ersSecret, playerName, "1", "all");
if (reward[0].message != null) {
player.getActionSender().sendMessage(reward[0].message);
return;
}
player.votePoints = (currentPoints + reward[0].give_amount);
//player.getActionSender().sendMessage("Thank you for voting! You now have " + reward[0].vote_points + " vote points.");
player.getActionSender().sendMessage(
"Thank you for voting! You now have " + player.votePoints + " vote points.");
} catch (Exception e) {
player.getActionSender().sendMessage("Api Services are currently offline. Please check back shortly");
e.printStackTrace();
}
}
});
} else {
player.getActionSender().sendMessage("Voting Is Not Enabled");
}
break;
case "coords":
case "coord":
case "pos":
player.getActionSender().sendMessage("Your coords are [" + player.absX + "," + player.absY + "]");
break;
case "null":
break;
case "players":
if (PlayerHandler.getPlayerCount() != 1) {
player.getActionSender().sendMessage("There are currently " + PlayerHandler.getPlayerCount() + " players online.");
} else {
player.getActionSender().sendMessage("There is currently " + PlayerHandler.getPlayerCount() + " player online.");
}
break;
case "shop":
BotHandler.playerShop(player);
break;
case "wshop":
BotHandler.takeCoins(player);
break;
case "wealth":
int totalWealth = player.getPlayerAssistant().totalGold();
player.getActionSender().sendMessage("You currently have " + totalWealth + "gp.");
break;
case "gfx100":
if (arguments.length == 0)
player.getActionSender().sendMessage("Must have 1 argument: ::gfx100 80");
else
player.gfx100(Integer.parseInt(arguments[0]));
break;
case "gfx0":
if (arguments.length == 0)
player.getActionSender().sendMessage("Must have 1 argument: ::gfx0 80");
else
player.gfx0(Integer.parseInt(arguments[0]));
break;
case "tele":
if (player.connectedFrom.equals("127.0.0.1")) {
try {
if (arguments.length < 2) {
player.getActionSender().sendMessage("Must specify x, y and optionally z coordinates: ::tele 3222 3218 0");
return;
}
if (arguments.length == 3)
player.getPlayerAssistant().movePlayer(Integer.parseInt(arguments[0]), Integer.parseInt(arguments[1]), Integer.parseInt(arguments[2]));
else
player.getPlayerAssistant().movePlayer(Integer.parseInt(arguments[0]), Integer.parseInt(arguments[1]), player.heightLevel);
} catch (Exception e) {
player.getActionSender().sendMessage("Invalid coordinates");
}
} else {
player.getActionSender().sendMessage("Can't tele with ip " + player.connectedFrom);
}
break;
case "close_interface":
player.getPlayerAssistant().closeAllWindows();
break;
case "commands":
player.getActionSender().sendMessage("::players, ::highscores, ::loc, ::stuck, ::randomtoggle, ::debug, ::togglegfx, ::shop, ::wshop");
break;
case "loc":
player.getActionSender().sendMessage(player.absX + "," + player.absY);
break;
case "stuck":
player.getPlayerAssistant().startTeleport(LUMBRIDGE_X, LUMBRIDGE_Y, 0, "modern");
player.getActionSender().sendMessage("How did you manage that one..");
player.gfx100(80);
player.startAnimation(404);
break;
case "randomtoggle":
case "togglerandom":
player.randomEventsEnabled = !player.randomEventsEnabled;
player.getActionSender().sendMessage("You will " + (player.randomEventsEnabled ? "now" : "no longer") + " receieve random events.");
break;
case "debug":
case "debugmode":
player.debugMode = !player.debugMode;
player.getActionSender().sendMessage("You will " + (player.debugMode ? "now" : "no longer") + " receieve additional debug information when doing things.");
break;
case "highscores":
for (Player p : PlayerHandler.players) {
if (p == null) {
continue;
}
PlayerSave.saveGame((Client) p);
System.out.println("Saved game for " + p.playerName
+ ".");
Server.lastMassSave = System.currentTimeMillis();
}
HighscoresHandler hs = new HighscoresHandler();
String[] highscores = new String[]{
"@dre@Highscores",
"",
"Top 5 Total Level:",
hs.getRank(player, 0, "level"), hs.getRank(player,1, "level"), hs.getRank(player,2, "level"), hs.getRank(player,3, "level"), hs.getRank(player,4, "level"),
"",
"Top 5 Wealthiest Players:",
hs.getRank(player,0, "gold"), hs.getRank(player,1, "gold"), hs.getRank(player,2, "gold"), hs.getRank(player,3, "gold"), hs.getRank(player, 4, "gold"),
"",
"Top 5 Highest Total Damage:",
hs.getRank(player,0, "damage"), hs.getRank(player,1, "damage"), hs.getRank(player,2, "damage"), hs.getRank(player, 3, "damage"), hs.getRank(player, 4, "damage"),
};
for (int i = 8144; i < 8245; i++) {
player.getPlayerAssistant().sendFrame126("", i);
}
for (int i = 8144; i < 8144 + highscores.length; i++) {
player.getPlayerAssistant().sendFrame126(highscores[i - 8144], i+3);
}
player.getPlayerAssistant().showInterface(8134);
break;
}
}
public static void donatorCommands(Client player, String playerCommand, String[] arguments) {
}
public static void moderatorCommands(Client player, String playerCommand, String[] arguments) {
switch (playerCommand.toLowerCase()) {
case "kick":
try {
if (arguments.length == 0) {
player.getActionSender().sendMessage("You must specify a player name: ::kick playername");
return;
}
String playerToKick = String.join(" ", arguments);
for(Player player2 : PlayerHandler.players) {
if(player2 != null) {
if(player2.playerName.equalsIgnoreCase(playerToKick)) {
Client c2 = (Client)player2;
player.getActionSender().sendMessage("You have kicked " + playerToKick + ".");
c2.disconnected = true;
c2.logout(true);
break;
}
}
}
} catch(Exception e) {
player.getActionSender().sendMessage("Player Must Be Online.");
}
break;
case "yell":
for (int j = 0; j < PlayerHandler.players.length; j++) {
if (PlayerHandler.players[j] != null) {
Client c2 = (Client) PlayerHandler.players[j];
if (player.playerRights == 1) {
c2.getActionSender().sendMessage("@blu@[Moderator] @bla@" + Misc.optimizeText(player.playerName) + ": " + Misc.optimizeText(String.join(" ", arguments)) + "");
} else if (player.playerRights == 2) {
c2.getActionSender().sendMessage("@gre@[Administator] @bla@" + Misc.optimizeText(player.playerName) + ": " + Misc.optimizeText(String.join(" ", arguments)) + "");
} else if (player.playerRights == 3) {
c2.getActionSender().sendMessage("@red@[Developer] @bla@" + Misc.optimizeText(player.playerName) + ": " + Misc.optimizeText(String.join(" ", arguments)) + "");
}
}
}
break;
case "mute":
try {
if (arguments.length == 0) {
player.getActionSender().sendMessage("You must specify a player name: ::mute playername");
return;
}
String playerToBan = String.join(" ", arguments);
Connection.addNameToMuteList(playerToBan);
for (int i = 0; i < Constants.MAX_PLAYERS; i++) {
if (PlayerHandler.players[i] != null) {
if (PlayerHandler.players[i].playerName.equalsIgnoreCase(playerToBan)) {
Client c2 = (Client) PlayerHandler.players[i];
c2.getActionSender().sendMessage("You have been muted by: " + player.playerName);
break;
}
}
}
} catch (Exception e) {
player.getActionSender().sendMessage("Player Must Be Offline.");
}
break;
case "ipmute":
try {
if (arguments.length == 0) {
player.getActionSender().sendMessage("You must specify a player name: ::ipmute playername");
return;
}
String playerToBan = String.join(" ", arguments);
for (int i = 0; i < Constants.MAX_PLAYERS; i++) {
if (PlayerHandler.players[i] != null) {
if (PlayerHandler.players[i].playerName.equalsIgnoreCase(playerToBan)) {
Connection.addIpToMuteList(PlayerHandler.players[i].connectedFrom);
player.getActionSender().sendMessage("You have IP Muted the user: " + PlayerHandler.players[i].playerName);
Client c2 = (Client) PlayerHandler.players[i];
c2.getActionSender().sendMessage("You have been muted by: " + player.playerName);
break;
}
}
}
} catch (Exception e) {
player.getActionSender().sendMessage("Player Must Be Offline.");
}
break;
case "unipmute":
try {
if (arguments.length == 0) {
player.getActionSender().sendMessage("You must specify a player name: ::unipmute playername");
return;
}
String playerToBan = String.join(" ", arguments);
for (int i = 0; i < Constants.MAX_PLAYERS; i++) {
if (PlayerHandler.players[i] != null) {
if (PlayerHandler.players[i].playerName.equalsIgnoreCase(playerToBan)) {
Connection.unIPMuteUser(PlayerHandler.players[i].connectedFrom);
player.getActionSender().sendMessage("You have Un Ip-Muted the user: " + PlayerHandler.players[i].playerName);
break;
}
}
}
} catch (Exception e) {
player.getActionSender().sendMessage("Player Must Be Offline.");
}
break;
case "unmute":
try {
if (arguments.length == 0) {
player.getActionSender().sendMessage("You must specify a player name: ::unmute playername");
return;
}
String playerToBan = String.join(" ", arguments);
Connection.unMuteUser(playerToBan);
} catch (Exception e) {
player.getActionSender().sendMessage("Player Must Be Offline.");
}
break;
}
}
public static void adminCommands(Client player, String playerCommand, String[] arguments) {
switch (playerCommand.toLowerCase()) {
case "clearbank":
player.getItemAssistant().clearBank();
break;
case "ipban":
try {
if (arguments.length == 0) {
player.getActionSender().sendMessage("You must specify a player name: ::ipban playername");
return;
}
String playerToBan = String.join(" ", arguments);
for(int i = 0; i < Constants.MAX_PLAYERS; i++) {
if(PlayerHandler.players[i] != null) {
if(PlayerHandler.players[i].playerName.equalsIgnoreCase(playerToBan)) {
Connection.addIpToBanList(PlayerHandler.players[i].connectedFrom);
Connection.addIpToFile(PlayerHandler.players[i].connectedFrom);
player.getActionSender().sendMessage("You have IP banned the user: "+PlayerHandler.players[i].playerName+" with the host: "+PlayerHandler.players[i].connectedFrom);
PlayerHandler.players[i].disconnected = true;
}
}
}
} catch(Exception e) {
player.getActionSender().sendMessage("Player Must Be Offline.");
}
break;
case "ban":
try {
if (arguments.length == 0) {
player.getActionSender().sendMessage("You must specify a player name: ::ban playername");
return;
}
String playerToBan = String.join(" ", arguments);
Connection.addNameToBanList(playerToBan);
Connection.addNameToFile(playerToBan);
for(int i = 0; i < Constants.MAX_PLAYERS; i++) {
if(PlayerHandler.players[i] != null) {
if(PlayerHandler.players[i].playerName.equalsIgnoreCase(playerToBan)) {
PlayerHandler.players[i].disconnected = true;
}
}
}
} catch(Exception e) {
player.getActionSender().sendMessage("Player Must Be Offline.");
}
break;
case "unban":
try {
if (arguments.length == 0) {
player.getActionSender().sendMessage("You must specify a player name: ::unban playername");
return;
}
String playerToBan = String.join(" ", arguments);
Connection.removeNameFromBanList(playerToBan);
player.getActionSender().sendMessage(playerToBan + " has been unbanned.");
} catch(Exception e) {
player.getActionSender().sendMessage("Player Must Be Offline.");
}
break;
case "empty":
player.getPlayerAssistant().handleEmpty();
break;
case "dialogue":
if (arguments.length == 0) {
player.getActionSender().sendMessage("You must specify an id: ::dialogue id");
return;
}
int npcType = 1552;
int dialogueID = Integer.parseInt(arguments[0]);
player.getDialogueHandler().sendDialogues(dialogueID, npcType);
break;
case "interface":
if (arguments.length == 0) {
player.getActionSender().sendMessage("You must specify an id: ::interface id");
return;
}
int interfaceID = Integer.parseInt(arguments[0]);
player.getPlayerAssistant().showInterface(interfaceID);
break;
case "gfx":
if (arguments.length == 0) {
player.getActionSender().sendMessage("You must specify an id: ::gfx id");
return;
}
int gfxID = Integer.parseInt(arguments[0]);
player.gfx0(gfxID);
break;
case "anim":
if (arguments.length == 0) {
player.getActionSender().sendMessage("You must specify an id: ::anim id");
return;
}
int animationID = Integer.parseInt(arguments[0]);
player.startAnimation(animationID);
player.getPlayerAssistant().requestUpdates();
break;
case "mypos":
player.getActionSender().sendMessage("X: " + player.absX);
player.getActionSender().sendMessage("Y: " + player.absY);
player.getActionSender().sendMessage("H: " + player.heightLevel);
break;
case "bank":
player.getPlayerAssistant().openUpBank();
break;
case "xteletome":
case "teletome":
try {
if (arguments.length == 0) {
player.getActionSender().sendMessage("You must specify a player name: ::teletome playername");
return;
}
String teleToMe = String.join(" ", arguments);
for (int i = 0; i < PlayerHandler.players.length; i++) {
if (PlayerHandler.players[i] != null) {
if (PlayerHandler.players[i].playerName.equalsIgnoreCase(teleToMe)) {
Client p = (Client) PlayerHandler.players[i];
player.getActionSender().sendMessage(p.playerName + " has been teleported to you.");
p.getPlayerAssistant().movePlayer(player.absX, player.absY, player.heightLevel);
}
}
}
} catch (Exception e) {
player.getActionSender().sendMessage("Player is not online.");
}
break;
case "xteleto":
case "teleto":
if (arguments.length == 0) {
player.getActionSender().sendMessage("You must specify a player name: ::teleto playername");
return;
}
String teleTo = String.join(" ", arguments);
for (int i = 0; i < PlayerHandler.players.length; i++) {
if (PlayerHandler.players[i] != null) {
if (PlayerHandler.players[i].playerName.equalsIgnoreCase(teleTo)) {
player.getPlayerAssistant().movePlayer(PlayerHandler.players[i].getX(), PlayerHandler.players[i].getY(), PlayerHandler.players[i].heightLevel);
return;
}
}
}
player.getActionSender().sendMessage("Could not find " + teleTo + " they must be online!");
break;
case "tp":
case "teleport":
case "to":
if (arguments.length <= 2)
player.getPlayerAssistant().movePlayer(Integer.parseInt(arguments[0]), Integer.parseInt(arguments[1]), 0);
else
player.getPlayerAssistant().movePlayer(Integer.parseInt(arguments[0]), Integer.parseInt(arguments[1]), Integer.parseInt(arguments[2]));
break;
case "up":
player.getPlayerAssistant().movePlayer(player.absX, player.absY, player.heightLevel + 1);
player.getActionSender().sendMessage("You are now on height level " + player.heightLevel + ".");
break;
case "up2":
player.getPlayerAssistant().movePlayer(player.absX, player.absY - 6400, player.heightLevel);
player.getActionSender().sendMessage("You are now on height level " + player.heightLevel + ".");
break;
case "down":
player.getPlayerAssistant().movePlayer(player.absX, player.absY, player.heightLevel - 1);
player.getActionSender().sendMessage("You are now on height level " + player.heightLevel + ".");
break;
case "down2":
player.getPlayerAssistant().movePlayer(player.absX, player.absY + 6400, player.heightLevel);
player.getActionSender().sendMessage("You are now on height level " + player.heightLevel + ".");
break;
case "spec":
player.specAmount = 100.0;
break;
case "setlevel":
try {
if (arguments.length < 2) {
player.getActionSender().sendMessage("Must specify a skill and level: ::setlevel 1 99");
return;
}
int skill = Integer.parseInt(arguments[0]);
int level = Integer.parseInt(arguments[1]);
if (level > 99) {
level = 99;
} else if (level < 0) {
level = 1;
}
player.playerXP[skill] = player.getPlayerAssistant().getXPForLevel(level) + 5;
player.playerLevel[skill] = player.getPlayerAssistant().getLevelForXP(player.playerXP[skill]);
player.getPlayerAssistant().refreshSkill(skill);
player.getPlayerAssistant().levelUp(skill);
} catch (Exception e) {}
break;
case "spellbook":
if (player.inWild()) {
return;
}
if (player.playerMagicBook == 0) {
player.playerMagicBook = 1;
player.getActionSender().setSidebarInterface(6, 12855);
player.getActionSender().sendMessage("An ancient wisdomin fills your mind.");
player.getPlayerAssistant().resetAutocast();
} else if (player.playerMagicBook == 1) {
player.getActionSender().setSidebarInterface(6, 1151); // modern
player.playerMagicBook = 0;
player.getActionSender().sendMessage("You feel a drain on your memory.");
player.autocastId = -1;
player.getPlayerAssistant().resetAutocast();
}
break;
case "item":
try {
if (arguments.length == 0) {
player.getActionSender().sendMessage("Must specify an item id: ::item 995 1000");
return;
}
int newItemID = Integer.parseInt(arguments[0]);
int newItemAmount = arguments.length >= 2 ? Integer.parseInt(arguments[1]) : 1;
if (newItemID <= 10000 && newItemID >= 0) {
player.getItemAssistant().addItem(newItemID, newItemAmount);
if (player.isBusy()) {
player.getPlayerAssistant().closeAllWindows();
}
player.getActionSender().sendMessage("You spawn " + newItemAmount + " × "+ ItemAssistant.getItemName(newItemID) + ".");
} else {
player.getActionSender().sendMessage("No such item.");
}
} catch (Exception e) {}
break;
case "master":
for (int i = 0; i < 25; i++) {
player.playerLevel[i] = 99;
player.playerXP[i] = player.getPlayerAssistant().getXPForLevel(100);
player.getPlayerAssistant().refreshSkill(i);
}
player.getPlayerAssistant().requestUpdates();
break;
}
}
public static void developerCommands(Client player, String playerCommand, String[] arguments) {
switch (playerCommand.toLowerCase()) {
case "clicktotele":
case "ctt": // alias
player.clickToTele = !player.clickToTele;
player.getActionSender().sendMessage("Click to teleport: " + (player.clickToTele ? "Enabled" : "Disabled"));
break;
case "giveadmin":
try {
if (arguments.length == 0) {
player.getActionSender().sendMessage("You must specify a player name: ::giveadmin playername");
return;
}
String playerToAdmin = String.join(" ", arguments);
for(int i = 0; i < Constants.MAX_PLAYERS; i++) {
if(PlayerHandler.players[i] != null) {
if(PlayerHandler.players[i].playerName.equalsIgnoreCase(playerToAdmin)) {
Client c2 = (Client)PlayerHandler.players[i];
player.getActionSender().sendMessage("You have given " + playerToAdmin + " admin.");
c2.playerRights = 2;
c2.logout(true);
break;
}
}
}
} catch(Exception e) {
player.getActionSender().sendMessage("Player Must Be Offline.");
}
break;
case "demote":
try {
if (arguments.length == 0) {
player.getActionSender().sendMessage("You must specify a player name: ::demote playername");
return;
}
String playerToAdmin = String.join(" ", arguments);
for(int i = 0; i < Constants.MAX_PLAYERS; i++) {
if(PlayerHandler.players[i] != null) {
if(PlayerHandler.players[i].playerName.equalsIgnoreCase(playerToAdmin)) {
Client c2 = (Client)PlayerHandler.players[i];
player.getActionSender().sendMessage("You have demoted " + playerToAdmin + ".");
c2.playerRights = 0;
c2.logout(true);
break;
}
}
}
} catch(Exception e) {
player.getActionSender().sendMessage("Player Must Be Offline.");
}
break;
case "givemod":
try {
if (arguments.length == 0) {
player.getActionSender().sendMessage("You must specify a player name: ::givemod playername");
return;
}
String playerToMod = String.join(" ", arguments);
for(int i = 0; i < Constants.MAX_PLAYERS; i++) {
if(PlayerHandler.players[i] != null) {
if(PlayerHandler.players[i].playerName.equalsIgnoreCase(playerToMod)) {
Client c2 = (Client)PlayerHandler.players[i];
player.getActionSender().sendMessage("You have given " + playerToMod + " mod.");
c2.playerRights = 1;
c2.logout(true);
break;
}
}
}
} catch(Exception e) {
player.getActionSender().sendMessage("Player Must Be Offline.");
}
break;
case "object":
if (arguments.length == 0) {
player.getActionSender().sendMessage("You must specify an ID: ::object 1000");
return;
}
player.getActionSender().object(Integer.parseInt(arguments[0]), player.absX, player.absY, player.heightLevel, 0, 10);
Region.addObject(Integer.parseInt(arguments[0]), player.absX, player.absY, player.heightLevel, 10, 0, false);
break;
case "object2":
if (arguments.length == 0) {
player.getActionSender().sendMessage("You must specify an ID: ::object2 1000");
return;
}
player.getActionSender().object(Integer.parseInt(arguments[0]), player.absX, player.absY, player.heightLevel, 0, 0);
Region.addObject(Integer.parseInt(arguments[0]), player.absX, player.absY, player.heightLevel, 0, 0, false);
break;
case "npc":
try {
if (arguments.length == 0) {
player.getActionSender().sendMessage("You must specify an ID: ::npc 1000");
return;
}
int newNPC = Integer.parseInt(arguments[0]),
maxHit = NpcHandler.getNpcListCombat(newNPC) / 10,
attack = NpcHandler.getNpcListCombat(newNPC),
defence = NpcHandler.getNpcListCombat(newNPC);
boolean attackPlayer = NpcHandler.getNpcListCombat(newNPC) > 0;
if (newNPC > 0) {
NpcHandler.spawnNpc(player, newNPC, player.absX, player.absY, player.heightLevel, 0, NpcHandler.getNpcListHP(newNPC), maxHit, attack, defence, attackPlayer, false);
player.getActionSender().sendMessage("You spawn a " + NpcHandler.getNpcListName(newNPC).toLowerCase() + ".");
//player.npcSpawned = newNPC;
} else {
player.getActionSender().sendMessage("Npc " + newNPC + " does not exist.");
}
} catch (Exception e) {}
break;
case "cantattack":
player.npcCanAttack = !player.npcCanAttack;
player.getActionSender().sendMessage("Npcs " + (player.npcCanAttack ? "can" : "can no longer") + " attack you.");
break;
case "sound":
if (arguments.length == 0) {
player.getActionSender().sendMessage("You must specify an ID: ::sound 10");
return;
}
player.getActionSender().sendSound(Integer.parseInt(arguments[0]), 100, 0);
break;
case "tutprog":
if (arguments.length == 0) {
player.getActionSender().sendMessage("You must specify an ID: ::tutprog 10");
return;
}
player.tutorialProgress = Integer.parseInt(arguments[0]);;
break;
case "song":
if (arguments.length == 0) {
player.getActionSender().sendMessage("You must specify an ID: ::song 10");
return;
}
int songID = Integer.parseInt(arguments[0]);
player.getActionSender().sendSong(songID);
break;
case "run":
player.getActionSender().sendMessage("You have refilled your run-energy!");
player.playerEnergy = 100;
break;
case "runes":
final int amount = 10000;
final int[][] RUNES = { { 554, amount }, { 555, amount },
{ 556, amount }, { 557, amount }, { 558, amount },
{ 559, amount }, { 560, amount }, { 561, amount },
{ 562, amount }, { 563, amount }, { 564, amount },
{ 565, amount }, { 566, amount }, { 1963, 1 }, };
for (int[] element : RUNES) {
int item = element[0];
int amountToRecieve = element[1];
player.getItemAssistant().addItem(item, amountToRecieve);
}
break;
case "sidebars":
player.getPlayerAssistant().sendSidebars();
break;
case "update":
try {
if (arguments.length == 0) {
player.getActionSender().sendMessage("You must specify the amount of time in seconds: ::update 300");
return;
}
int seconds = Integer.parseInt(arguments[0]);
PlayerHandler.updateSeconds = seconds;
PlayerHandler.updateAnnounced = false;
PlayerHandler.updateRunning = true;
PlayerHandler.updateStartTime = System.currentTimeMillis();
} catch (Exception e) {}
break;
}
}
}