diff options
Diffstat (limited to 'me/Danker/commands')
-rw-r--r-- | me/Danker/commands/DHelpCommand.java | 1 | ||||
-rw-r--r-- | me/Danker/commands/ResetLootCommand.java | 177 |
2 files changed, 178 insertions, 0 deletions
diff --git a/me/Danker/commands/DHelpCommand.java b/me/Danker/commands/DHelpCommand.java index e4bc278..e36adb0 100644 --- a/me/Danker/commands/DHelpCommand.java +++ b/me/Danker/commands/DHelpCommand.java @@ -37,6 +37,7 @@ public class DHelpCommand extends CommandBase { EnumChatFormatting.GOLD + " /getkey" + EnumChatFormatting.AQUA + " - Returns key set with /setkey.\n" + EnumChatFormatting.GOLD + " /loot <zombie/spider/wolf/fishing> [winter/session]" + EnumChatFormatting.AQUA + " - Returns loot received from slayer quests or fishing stats. /loot fishing winter returns winter sea creatures instead.\n" + EnumChatFormatting.GOLD + " /display <zombie/spider/wolf/fishing/off> [winter/session]" + EnumChatFormatting.AQUA + " - Text display for trackers. /display fishing winter displays winter sea creatures instead.\n" + + EnumChatFormatting.GOLD + "/resetloot <zombie/spider/wolf/fishing/confirm/cancel>" + EnumChatFormatting.AQUA + " - Resets loot for trackers. /resetloot confirm confirms the reset.\n" + EnumChatFormatting.GOLD + " /move <coords/display> <x> <y>" + EnumChatFormatting.AQUA + " - Moves text display to specified X and Y coordinates.\n" + EnumChatFormatting.GOLD + " /slayer [player]" + EnumChatFormatting.AQUA + " - Uses API to get slayer xp of a person. If no name is provided, it checks yours.\n" + EnumChatFormatting.GOLD + " /skills [player]" + EnumChatFormatting.AQUA + " - Uses API to get skill levels of a person. If no name is provided, it checks yours.\n" + diff --git a/me/Danker/commands/ResetLootCommand.java b/me/Danker/commands/ResetLootCommand.java new file mode 100644 index 0000000..af58a8d --- /dev/null +++ b/me/Danker/commands/ResetLootCommand.java @@ -0,0 +1,177 @@ +package me.Danker.commands; + +import java.util.List; + +import me.Danker.handlers.ConfigHandler; +import net.minecraft.command.CommandBase; +import net.minecraft.command.CommandException; +import net.minecraft.command.ICommandSender; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.BlockPos; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.EnumChatFormatting; + +public class ResetLootCommand extends CommandBase { + + static String resetOption; + static boolean confirmReset = false; + + @Override + public String getCommandName() { + return "resetloot"; + } + + @Override + public String getCommandUsage(ICommandSender arg0) { + return getCommandName() + "<zombie/spider/wolf/fishing/confirm/cancel>"; + } + + @Override + public int getRequiredPermissionLevel() { + return 0; + } + + @Override + public List<String> addTabCompletionOptions(ICommandSender sender, String[] args, BlockPos pos) { + if (args.length != 1) return null; + + if (confirmReset) { + return getListOfStringsMatchingLastWord(args, "confirm", "cancel"); + } else { + return getListOfStringsMatchingLastWord(args, "zombie", "spider", "wolf", "fishing"); + } + } + + @Override + public void processCommand(ICommandSender arg0, String[] arg1) throws CommandException { + final EntityPlayer player = (EntityPlayer) arg0; + + if (arg1.length == 0) { + player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Usage: /resetloot <zombie/spider/wolf/fishing>")); + return; + } + + if (confirmReset) { + if (arg1[0].equalsIgnoreCase("confirm")) { + confirmReset = false; + player.addChatMessage(new ChatComponentText(EnumChatFormatting.GREEN + "Resetting " + resetOption + " tracker...")); + if (resetOption.equalsIgnoreCase("zombie")) { + resetZombie(); + } else if (resetOption.equalsIgnoreCase("spider")) { + resetSpider(); + } else if (resetOption.equalsIgnoreCase("wolf")) { + resetWolf(); + } else if (resetOption.equalsIgnoreCase("fishing")) { + resetFishing(); + } + player.addChatMessage(new ChatComponentText(EnumChatFormatting.GREEN + "Reset complete.")); + } else if (arg1[0].equalsIgnoreCase("cancel")) { + confirmReset = false; + player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Reset cancelled.")); + } else { + player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Please confirm the reset of the " + resetOption + " tracker by using /resetloot confirm." + + EnumChatFormatting.RED + " Cancel by using /resetloot cancel.")); + } + } else { + if (arg1[0].equalsIgnoreCase("zombie") || arg1[0].equalsIgnoreCase("spider") || arg1[0].equalsIgnoreCase("wolf") || arg1[0].equalsIgnoreCase("fishing")) { + resetOption = arg1[0]; + player.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "Are you sure you want to reset the " + resetOption + " tracker?" + + " Confirm with " + EnumChatFormatting.GREEN + "/resetloot confirm" + EnumChatFormatting.YELLOW + "." + + " Cancel by using " + EnumChatFormatting.GREEN + "/resetloot cancel" + EnumChatFormatting.YELLOW + ".")); + confirmReset = true; + } else if (arg1[0].equalsIgnoreCase("confirm") || arg1[0].equalsIgnoreCase("cancel")) { + player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Pick something to reset first.")); + } else { + player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Usage: /resetloot <zombie/spider/wolf/fishing>")); + } + } + } + + static void resetZombie() { + LootCommand lc = new LootCommand(); + ConfigHandler cf = new ConfigHandler(); + + lc.zombieRevsSession = 0; + lc.zombieRevFleshSession = 0; + lc.zombieFoulFleshSession = 0; + lc.zombiePestilencesSession = 0; + lc.zombieUndeadCatasSession = 0; + lc.zombieBooksSession = 0; + lc.zombieBeheadedsSession = 0; + lc.zombieRevCatasSession = 0; + lc.zombieSnakesSession = 0; + lc.zombieScythesSession = 0; + lc.zombieTimeSession = -1; + lc.zombieBossesSession = -1; + cf.deleteCategory("zombie"); + cf.reloadConfig(); + } + + static void resetSpider() { + LootCommand lc = new LootCommand(); + ConfigHandler cf = new ConfigHandler(); + + lc.spiderTarantulasSession = 0; + lc.spiderWebsSession = 0; + lc.spiderTAPSession = 0; + lc.spiderBitesSession = 0; + lc.spiderCatalystsSession = 0; + lc.spiderBooksSession = 0; + lc.spiderSwattersSession = 0; + lc.spiderTalismansSession = 0; + lc.spiderMosquitosSession = 0; + lc.spiderTimeSession = -1; + lc.spiderBossesSession = -1; + cf.deleteCategory("spider"); + cf.reloadConfig(); + } + + static void resetWolf() { + LootCommand lc = new LootCommand(); + ConfigHandler cf = new ConfigHandler(); + lc.wolfSvensSession = 0; + lc.wolfTeethSession = 0; + lc.wolfWheelsSession = 0; + lc.wolfSpiritsSession = 0; + lc.wolfBooksSession = 0; + lc.wolfEggsSession = 0; + lc.wolfCouturesSession = 0; + lc.wolfBaitsSession = 0; + lc.wolfFluxesSession = 0; + lc.wolfTimeSession = -1; + lc.wolfBossesSession = -1; + cf.deleteCategory("wolf"); + cf.reloadConfig(); + } + + static void resetFishing() { + LootCommand lc = new LootCommand(); + ConfigHandler cf = new ConfigHandler(); + lc.seaCreaturesSession = 0; + lc.goodCatchesSession = 0; + lc.greatCatchesSession = 0; + lc.squidsSession = 0; + lc.seaWalkersSession = 0; + lc.nightSquidsSession = 0; + lc.seaGuardiansSession = 0; + lc.seaWitchesSession = 0; + lc.seaArchersSession = 0; + lc.monsterOfTheDeepsSession = 0; + lc.catfishesSession = 0; + lc.carrotKingsSession = 0; + lc.seaLeechesSession = 0; + lc.guardianDefendersSession = 0; + lc.deepSeaProtectorsSession = 0; + lc.hydrasSession = 0; + lc.seaEmperorsSession = 0; + lc.empTimeSession = -1; + lc.empSCsSession = -1; + lc.frozenStevesSession = 0; + lc.frostyTheSnowmansSession = 0; + lc.grinchesSession = 0; + lc.yetisSession = 0; + cf.deleteCategory("fishing"); + cf.reloadConfig(); + } + +} |