Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ps.havoc.game.content.command;
- import ps.havoc.GameServer;
- import ps.havoc.game.World;
- import ps.havoc.game.content.CommandInterfaces;
- import ps.havoc.game.content.HelpQueue;
- import ps.havoc.game.content.ItemsKeptOnDeath;
- import ps.havoc.game.content.Jail;
- import ps.havoc.game.content.combat.CombatFactory;
- import ps.havoc.game.content.combat.Formulas;
- import ps.havoc.game.content.combat.prayer.CurseHandler;
- import ps.havoc.game.content.combat.prayer.PrayerHandler;
- import ps.havoc.game.content.dialogue.DialogueManager;
- import ps.havoc.game.content.dialogue.OptionDialogue;
- import ps.havoc.game.content.ffa.FreeForAllTask;
- import ps.havoc.game.content.logging.KillsLog;
- import ps.havoc.game.content.poll.PollInterface;
- import ps.havoc.game.content.titles.LoyaltyTitle;
- import ps.havoc.game.content.transportation.TeleportHandler;
- import ps.havoc.game.model.Locations;
- import ps.havoc.game.model.Position;
- import ps.havoc.game.model.definitions.NpcDropDefinition;
- import ps.havoc.game.model.item.Item;
- import ps.havoc.game.model.player.Player;
- import ps.havoc.game.task.impl.DoubleBloodMoney;
- import ps.havoc.network.rest.payments.Transaction;
- import ps.havoc.network.rest.vote.Vote4Rewards;
- import ps.havoc.util.ChatColor;
- import ps.havoc.util.StringUtil;
- import java.util.HashSet;
- import java.util.Set;
- import static ps.havoc.Constants.EDGEVILLE_HOME_POSITION;
- @CommandKey(
- {"prot", "dks", "gwd", "mb", "brim", "barrows", "dusties", "edge", "reward", "vote", "keybind", "droplist", "killcounts", "commands", "staff",
- "home", "reportbug", "claim", "claimpayment", "store", "donate", "droprate", "maxhit", "help", "empty", "changepass", "changepassword", "players", "yell", "skull", "duel",
- "stake", "trade", "doublebm", "ffa", "drag", "fps", "forums", "rules", "topic", "discord",
- "lumbridge", "lumb", "varrock", "varr", "falador", "fally", "camelot", "cammy", "ardogune", "ardy", "yanille", "canifis", "rimmington", "rimm", "draynor", "dray", "zanaris", "taverly",
- "priceguide", "prices", "clues", "clueguide", "donatorperks", "rwt", "poll", "donatorbenefits"
- })
- public final class DefaultCommandListener implements CommandListener {
- @Override
- public void execute(Player player, String name, CommandArguments arguments) {
- switch (name) {
- case "poll":
- PollInterface.getSingleton().open(player);
- return;
- case "rwt":
- player.getPacketSender().sendString(1, "http://www.RuneGuild.org/");
- return;
- case "forums":
- player.getPacketSender().sendString(1, "http://www.RuneGuild.org/");
- return;
- case "donatorperks":
- case "donatorbenefits":
- player.getPacketSender().sendString(1, "http://www.RuneGuild.org/");
- return;
- case "rules":
- player.getPacketSender().sendString(1, "http://www.RuneGuild.org/");
- return;
- case "priceguide":
- case "prices":
- player.getPacketSender().sendString(1, "http://www.RuneGuild.org/");
- return;
- case "clues":
- case "clueguide":
- player.getPacketSender().sendString(1, "http://www.RuneGuild.org/");
- return;
- case "topic":
- if (!arguments.hasRemaining()) {
- player.message("You must specify the topics id.");
- return;
- }
- player.getPacketSender().sendString(1, "http://www.RuneGuild.org/" + arguments.getNext());
- return;
- case "discord":
- player.getPacketSender().sendString(1, "https://discord.gg/CKcVM4b");
- return;
- case "ffa":
- if (FreeForAllTask.isQueueing()) {
- FreeForAllTask.queue(player);
- } else {
- player.message("Free for all is not current queueing.");
- }
- return;
- case "doublebm":
- player.message("Double blood money is currently @blu@" + (DoubleBloodMoney.isEnabled() ? "enabled" : "disabled") + " @bla@.");
- return;
- case "yell":
- if (player.getPrivilege().isStaff() || player.getDonatorPrivilege().isDonator()) {
- if (player.isMuted()) {
- player.getPacketSender().sendMessage("You are muted and cannot yell.");
- return;
- }
- int delay = 0;
- switch (player.getDonatorPrivilege()) {
- case ELDER:
- delay = 120;
- break;
- case ALPHA:
- delay = 60;
- break;
- case ROYAL:
- delay = 30;
- break;
- case DIVINE:
- delay = 30;
- break;
- case LEGENDARY:
- delay = 20;
- break;
- case RENOWNED:
- delay = 10;
- break;
- case CELESTIAL:
- delay = 0;
- break;
- }
- if (player.getPrivilege().isStaff()) {
- delay = 0;
- }
- if (!player.getLastYell().hasElapsed((delay * 1000))) {
- player.getPacketSender().sendMessage("You must wait at least " + delay + " seconds between every yell message you send.");
- return;
- }
- if (Jail.isJailed(player)) {
- player.message("You cannot yell while jailed.");
- return;
- }
- String title = GameServer.getEnvironment().getName();
- LoyaltyTitle activeTitle = player.getLoyaltyTitles().getActiveTitle();
- if (activeTitle != null) {
- title = activeTitle.getTitle();
- }
- StringBuilder crownsToString = new StringBuilder();
- player.getCrowns().forEach(crown -> crownsToString.append(String.format("<img=%s>", crown.getId())));
- String message = "@bla@[@red@" + title + "@bla@] " + crownsToString + " " + player.getUsername() + ": @dre@" + StringUtil.sanitizeInput(arguments.get());
- World.broadcastIf(message, p -> p != null && !p.getPrivateMessaging().getIgnoreList().contains(player.getLongUsername()));
- player.getLastYell().reset();
- }
- return;
- case "lumbridge":
- case "lumb":
- TeleportHandler.teleportPlayer(player, new Position(3222, 3222), player.getSpellbook().getTeleportType());
- return;
- case "varrock":
- case "varr":
- TeleportHandler.teleportPlayer(player, new Position(3210, 3424), player.getSpellbook().getTeleportType());
- return;
- case "falador":
- case "fally":
- TeleportHandler.teleportPlayer(player, new Position(2964, 3378), player.getSpellbook().getTeleportType());
- return;
- case "camelot":
- case "cammy":
- TeleportHandler.teleportPlayer(player, new Position(2757, 3477), player.getSpellbook().getTeleportType());
- return;
- case "ardougne":
- case "ardy":
- TeleportHandler.teleportPlayer(player, new Position(2662, 3305), player.getSpellbook().getTeleportType());
- return;
- case "yanille":
- TeleportHandler.teleportPlayer(player, new Position(2606, 3093), player.getSpellbook().getTeleportType());
- return;
- case "canifis":
- TeleportHandler.teleportPlayer(player, new Position(3496, 3491), player.getSpellbook().getTeleportType());
- return;
- case "rimmington":
- case "rimm":
- TeleportHandler.teleportPlayer(player, new Position(2960, 3215), player.getSpellbook().getTeleportType());
- return;
- case "draynor":
- case "dray":
- TeleportHandler.teleportPlayer(player, new Position(3093, 3244), player.getSpellbook().getTeleportType());
- return;
- case "zanaris":
- TeleportHandler.teleportPlayer(player, new Position(2452, 4472), player.getSpellbook().getTeleportType());
- return;
- case "taverly":
- TeleportHandler.teleportPlayer(player, new Position(2897, 3456), player.getSpellbook().getTeleportType());
- return;
- case "duel":
- case "stake":
- TeleportHandler.teleportPlayer(player, new Position(3366, 3268), player.getSpellbook().getTeleportType());
- return;
- case "trade":
- TeleportHandler.teleportPlayer(player, new Position(3164, 3472), player.getSpellbook().getTeleportType());
- player.message("<img=10> @blu@Join the clan chat " + '"' + "trade" + '"' + " to communicate with traders.");
- break;
- case "prot":
- boolean prot = player.getPrayerActive()[PrayerHandler.PROTECT_ITEM] || player.getCurseActive()[CurseHandler.PROTECT_ITEM];
- int amount = ItemsKeptOnDeath.getAmountToKeep(player);
- player.message("Your protect item prayer is " + (prot ? ChatColor.GREEN + "on" : ChatColor.RED + "off") + ".");
- player.message("You will keep " + ChatColor.RED + amount + "</col> items on death.");
- return;
- case "dks":
- TeleportHandler.teleportPlayer(player, new Position(1913, 4367), player.getSpellbook().getTeleportType());
- return;
- case "gwd":
- if (player.getLocation() == Locations.Location.GODWARS_DUNGEON) {
- player.message("You are already in the Godwars dungeon.");
- return;
- }
- TeleportHandler.teleportPlayer(player, new Position(2881, 5310, 2), player.getSpellbook().getTeleportType());
- return;
- case "mb":
- TeleportHandler.teleportPlayer(player, new Position(2538, 4715), player.getSpellbook().getTeleportType());
- return;
- case "brim":
- TeleportHandler.teleportPlayer(player, new Position(2667, 9561), player.getSpellbook().getTeleportType());
- return;
- case "barrows":
- TeleportHandler.teleportPlayer(player, new Position(3567, 3318), player.getSpellbook().getTeleportType());
- return;
- case "dusties":
- TeleportHandler.teleportPlayer(player, new Position(3206, 9379), player.getSpellbook().getTeleportType());
- return;
- case "edge":
- TeleportHandler.teleportPlayer(player, new Position(3088, 3492), player.getSpellbook().getTeleportType());
- return;
- case "skull":
- if (player.getSkullTimer() > 0) {
- player.message("You are already skulled.");
- return;
- }
- CombatFactory.skullPlayer(player);
- return;
- case "reward":
- Vote4Rewards.claim(player);
- return;
- case "vote":
- player.getPacketSender().sendString(1, "http://runeguild.everythingrs.com/services/vote");
- return;
- case "keybind":
- player.getPacketSender().sendInterface(64_434);
- return;
- case "killcounts":
- KillsLog.open(player);
- return;
- case "droplist":
- player.getPacketSender().sendInterface(60_912);
- return;
- case "commands":
- CommandInterfaces.openCommandList(player);
- return;
- case "staff":
- CommandInterfaces.openStaffList(player);
- return;
- case "home":
- TeleportHandler.teleportPlayer(player, EDGEVILLE_HOME_POSITION, player.getSpellbook().getTeleportType());
- return;
- case "reportbug":
- player.getPacketSender().sendString(1, "http://www.RuneGuild.org/");
- return;
- case "droprate":
- NpcDropDefinition.getChanceIncrease(player, 1, true);
- return;
- case "claimpayment":
- case "claim":
- Transaction.query(player);
- player.message("Sending your request to space...");
- return;
- case "donate":
- case "store":
- player.getPacketSender().sendString(1, "http://www.RuneGuild.org/");
- return;
- case "maxhit":
- player.getPacketSender().sendMessage("@bla@Melee hit: @or2@" + Formulas.calculateMaxMeleeHit(player, null) / 10);
- player.getPacketSender().sendMessage("@bla@Ranged hit: @or2@" + Formulas.calculateMaxRangedHit(player, null) / 10);
- return;
- case "help":
- if(player.getPrivilege().isStaff()) {
- HelpQueue.acceptNext(player);
- } else {
- HelpQueue.requestHelp(player);
- }
- return;
- case "empty":
- Set<Item> items = new HashSet<>();
- DialogueManager.start(player, new OptionDialogue("Yes. This is irreversible.", "No, I want to keep my items.") {
- @Override
- public void option(Player player, int option) {
- player.getPacketSender().sendInterfaceRemoval();
- if (option == 1) {
- for (Item item : player.getInventory().getItems()) {
- if (item != null && item.getId() > 0 && item.getAmount() > 0) {
- if (!item.tradeable()) {
- player.messageWithDelay(10_000, "Some of your items were unable to be deleted.");
- continue;
- }
- player.getInventory().delete(item.getId(), item.getAmount());
- items.add(new Item(item.getId(), item.getAmount()));
- }
- }
- }
- }
- @Override
- public String getTitle() {
- return "Delete all inventory items?";
- }
- });
- return;
- case "players":
- player.message("There are currently <col=255>%s</col> people playing %s!", World.getPlayerCount(), GameServer.getEnvironment().getName());
- return;
- case "changepass":
- case "changepassword":
- player.message(ChatColor.RED + "You can change your password from our website http://www.RuneGuild.org/");
- return;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement