Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package server.game.entities.player.packets.processors.commands;
- import server.Server;
- import server.configurations.Config;
- import server.game.entities.player.Rank;
- import server.game.entities.player.packets.PacketProcessor;
- import server.model.mobile.players.Player;
- import server.model.mobile.players.PlayerHandler;
- import server.model.mobile.players.skills.Fishing;
- import server.net.packets.Packet;
- import server.util.Misc;
- import java.util.HashMap;
- /**
- * Ivandis
- *
- * @author Naqash Tanzeel
- * @version 1.0
- */
- public class Commands implements server.model.mobile.players.IncomingPacket, PacketProcessor {
- private HashMap<String, Command> commands = this.getCommands();
- public void process(Player player, Packet packet) {
- processPacket(player, packet.getId(), packet.getLength());
- }
- /**
- * @param player
- * @param packetType
- * @param packetSize
- */
- @Override
- public void processPacket(Player player, int packetType, int packetSize) {
- String inStream = player.getInStream().readString();
- if (inStream.startsWith("/")) processClanChat(player, inStream.substring(1));
- else {
- String playerCommand = inStream.split(" ")[0].toLowerCase();
- String playerInput = inStream.substring(playerCommand.length()).trim();
- ProcessCommand(player, playerCommand, playerInput);
- }
- }
- /**
- * @param player
- * @param playerCommand
- * @param playerInput
- */
- private void ProcessCommand(Player player, String playerCommand, String playerInput) {
- Command command = this.commands.get(playerCommand);
- if (command != null && player.getRank().isSuperiorTo(command.getRank()))
- command.execute(player, playerInput);
- else player.sendMessage("The command you have entered does not exist, please try again.");
- if (command != null && command.getRank().isSuperiorTo(Rank.MODERATOR))
- player.getPA().writeCommandLog(playerCommand);
- }
- /**
- * @param player
- * @param playerInput
- */
- private void processClanChat(Player player, String playerInput) {
- if (player.clan != null && player.clan.isInClan(player))
- Server.clanManager.getClan(player.clan.getFounder()).sendChat(player, playerInput); //player.clan.sendChat(player, playerInput);
- else player.sendMessage("You are not in a clan.");
- }
- private HashMap<String, Command> getCommands() {
- /** Create a HashMap to store the commands where the command name is the key. **/
- HashMap<String, Command> commands = new HashMap<String, Command>();
- /** Player Commands **/
- commands.put("empty", new Command() {
- @Override
- public void execute(Player player, String input) {
- if (player.stopPlayerSkill) {
- player.stopPlayerSkill = false;
- Fishing.resetFishing(player);
- }
- player.mining[0] = -1;
- player.miningTimer = -1;
- player.getPA().removeAllItems();
- }
- });
- commands.put("skull", new Command() {
- @Override
- public void execute(Player player, String input) {
- if (player.inWild() && player.duelStatus == 0) {
- if (!player.isSkulled) {
- player.isSkulled = true;
- player.skullTimer = Config.SKULL_TIMER;
- player.headIconPk = 0;
- player.getPA().requestUpdates();
- }
- } else player.sendMessage("You must be in the wilderness to skull.");
- }
- });
- commands.put("stats", new Command() {
- @Override
- public void execute(Player player, String input) {
- player.sendMessage("Pk: " + player.killPoints + " - Slayer: " + player.getSkills().getSlayer().getPoints() +
- " - Quest: " + player.questPoints);
- player.sendMessage("Barbarian Assault: " + player.assaultPoints + " - Pest Control: " + player.pcPoints +
- " - Mage Bank: " + player.magePoints + " - Fishing Trawler: " + player.trawlerPoints);
- }
- });
- /** Donator Commands **/
- /** Moderator Commands **/
- /**
- * Command: StaffZone
- * Rank: Moderator +
- *
- * Teleports the memeber of staff to the staff zone.
- */
- commands.put("staffzone", new Command(Rank.MODERATOR) {
- @Override
- public void execute(Player player, String input) {
- player.getPA().movePlayer(2847, 5216, 0);
- }
- });
- /**
- * Command: Interrogate
- * Rank: Moderator +
- *
- * Teleports the member of staff and the player with the specified name to the interrogation room.
- */
- commands.put("interrogate", new Command(Rank.ADMINISTRATOR) {
- @Override
- public void execute(Player player, String username) {
- Player targetPlayer = PlayerHandler.getPlayerByName(username);
- if (targetPlayer != null) {
- player.getPA().movePlayer(0, 0, 0);
- targetPlayer.getPA().movePlayer(0, 0, 0);
- }
- }
- });
- /**
- * Command: Mute
- * Rank: Moderator +
- *
- * Mutes the player with the specified name. If the player is online, they are notified about their mute.
- */
- commands.put("mute", new Command(Rank.MODERATOR) {
- @Override
- public void execute(Player player, String username) {
- Player targetPlayer = PlayerHandler.getPlayerByName(username);
- Server.getConnection().mutePlayer(username);
- player.sendMessage(username + " has been muted. Please log this infraction in the infraction center.");
- if (targetPlayer != null)
- targetPlayer.sendMessage("You have been muted. You can appeal this on the forums.");
- }
- });
- /**
- * Command: UnMute
- * Rank: Moderator +
- *
- * Un-Mutes the player with the specified name.
- */
- commands.put("unmute", new Command(Rank.MODERATOR) {
- @Override
- public void execute(Player player, String username) {
- Server.getConnection().unmutePlayer(username);
- player.sendMessage("Player '" + username + "' has been un-muted. Please archive the infraction in infraction center.");
- }
- });
- /**
- *
- */
- commands.put("ban", new Command(Rank.MODERATOR) {
- @Override
- public void execute(Player player, String username) {
- Server.getConnection().banPlayer(username);
- player.sendMessage("Player '" + username + "' has been banned. Please log this infraction in the infraction center.");
- }
- });
- commands.put("unban", new Command(Rank.MODERATOR) {
- @Override
- public void execute(Player player, String username) {
- Server.getConnection().unBanPlayer(username);
- player.sendMessage("Player '" + username + "' has been un-banned. Please archive the infraction in infraction center.");
- }
- });
- commands.put("ipmute", new Command(Rank.MODERATOR) {
- @Override
- public void execute(Player player, String username) {
- Player targetPlayer = PlayerHandler.getPlayerByName(username);
- if (targetPlayer != null && player.getRank().isSuperiorTo(targetPlayer.getRank())) {
- Server.getConnection().ipMutePlayer(targetPlayer);
- player.sendMessage("Player '" + username + "; has been ip-muted. Please log this infraction in the infraction center.");
- targetPlayer.sendMessage("You have been ip-muted. You can appeal this on the forums.");
- } else player.sendMessage("Player '" + username + "' is either offline or superior to you.");
- }
- });
- commands.put("alias", new Command(Rank.MODERATOR) {
- @Override
- public void execute(Player player, String username) {
- Player targetPlayer = PlayerHandler.getPlayerByName(username);
- if (targetPlayer != null && player.getRank().isSuperiorTo(targetPlayer.getRank())) {
- String aliases = "Aliases: " + targetPlayer.getUsername();
- for (Player instance : PlayerHandler.players) {
- if (instance.connectedFrom.equalsIgnoreCase(targetPlayer.connectedFrom)
- || instance.macAddress.equalsIgnoreCase(targetPlayer.macAddress))
- aliases += ", " + instance.getUsername();
- }
- player.sendMessage(aliases);
- } else player.sendMessage("Player '" + username + "' is either offline or superior to you.");
- }
- });
- commands.put("goto", new Command(Rank.MODERATOR) {
- @Override
- public void execute(Player player, String username) {
- if (!player.inWild() && player.duelStatus != 5 && !player.inCw()) {
- Player targetPlayer = PlayerHandler.getPlayerByName(username);
- if (targetPlayer != null && player.getRank().isSuperiorTo(targetPlayer.getRank())) {
- if (!targetPlayer.inWild() && targetPlayer.duelStatus != 5 && !targetPlayer.inCw())
- player.getPA().movePlayer(targetPlayer.getX(), targetPlayer.getY(), targetPlayer.getHeight());
- }
- player.sendMessage("Player '" + username + "' is either offline or superior to you.");
- }
- player.sendMessage("You cannot teleport to this player whilst you are at this location.");
- }
- });
- commands.put("bringhere", new Command(Rank.MODERATOR) {
- @Override
- public void execute(Player player, String username) {
- if (!player.inWild() && player.duelStatus != 5 && !player.inCw()) {
- Player targetPlayer = PlayerHandler.getPlayerByName(username);
- if (targetPlayer != null && player.getRank().isSuperiorTo(targetPlayer.getRank())) {
- if (!targetPlayer.inWild() && targetPlayer.duelStatus != 5 && !targetPlayer.inCw())
- player.getPA().movePlayer(targetPlayer.getX(), targetPlayer.getY(), targetPlayer.getHeight());
- else
- player.sendMessage("You cannot teleport this player to you whilst he is at his current location.");
- }
- player.sendMessage("Player '" + username + "' is either offline or superior to you.");
- }
- player.sendMessage("You cannot teleport this player to you whilst you are at this location.");
- }
- });
- commands.put("yell", new Command(Rank.MODERATOR) {
- @Override
- public void execute(Player player, String input) {
- player.getPA().sendYell(Misc.optimizeText(input));
- }
- });
- /** Administrator Commands **/
- commands.put("unipmute", new Command(Rank.ADMINISTRATOR) {
- @Override
- public void execute(Player player, String input) {
- Server.getConnection().unIPMutePlayer(input);
- }
- });
- commands.put("ipban", new Command(Rank.ADMINISTRATOR) {
- @Override
- public void execute(Player player, String username) {
- Player targetPlayer = PlayerHandler.getPlayerByName(username);
- if (targetPlayer != null && player.getRank().isSuperiorTo(targetPlayer.getRank())) {
- Server.getConnection().ipMutePlayer(targetPlayer);
- player.sendMessage("Player '" + username + "; has been ip-banned. Please log this infraction in the infraction center.");
- } else player.sendMessage("Player '" + username + "' is either offline or superior to you.");
- }
- });
- commands.put("unipban", new Command(Rank.ADMINISTRATOR) {
- @Override
- public void execute(Player player, String username) {
- Server.getConnection().unIPBanPlayer(username);
- }
- });
- /** Owner Commands **/
- commands.put("rank", new Command(Rank.OWNER) {
- @Override
- public void execute(Player player, String input) {
- int newRank = Integer.parseInt("" + input.charAt(0));
- Player playerToPromote = PlayerHandler.getPlayerByName(input.substring(2));
- if (playerToPromote != null) {
- playerToPromote.setRank(Rank.valueOf(newRank));
- playerToPromote.disconnected = true;
- player.sendMessage(playerToPromote.getUsername() + " has been promoted to " + playerToPromote.getRank().getTitle());
- } else player.sendMessage("Player '" + input.substring(2) + "' is offline.");
- }
- });
- commands.put("update", new Command() {
- @Override
- public void execute(Player player, String input) {
- int countdownSeconds = Integer.parseInt(input);
- if (countdownSeconds > 0) {
- PlayerHandler.updateSeconds = countdownSeconds;
- PlayerHandler.updateAnnounced = false;
- PlayerHandler.updateRunning = true;
- PlayerHandler.updateStartTime = System.currentTimeMillis();
- }
- }
- });
- commands.put("coordinates", new Command(Rank.OWNER) {
- @Override
- public void execute(Player player, String input) {
- String[] coordinates = input.split(" ");
- if (coordinates.length == 3)
- player.getPA().movePlayer(Integer.parseInt(coordinates[0]), Integer.parseInt(coordinates[1]), Integer.parseInt(coordinates[2]));
- else
- player.sendMessage("Current Location - X: " + player.getX() + ", Y: " + player.getY() + ", Z: " + player.getHeight());
- }
- });
- commands.put("item", new Command(Rank.OWNER) {
- @Override
- public void execute(Player player, String input) {
- String[] spawnInfo = input.split(" ", 2);
- if (spawnInfo.length == 2)
- player.getItems().addItem(Integer.parseInt(spawnInfo[0]), Integer.parseInt(spawnInfo[1]));
- else player.sendMessage("Please use ::item id amount.");
- }
- });
- commands.put("master", new Command(Rank.OWNER) {
- @Override
- public void execute(Player player, String input) {
- for (int i = 0; i < player.playerLevel.length; i++)
- player.getPA().addSkillXP(14000000, -i);
- }
- });
- return commands;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement