diff options
author | bowser0000 <bowser0000@gmail.com> | 2020-08-05 20:28:13 -0400 |
---|---|---|
committer | bowser0000 <bowser0000@gmail.com> | 2020-08-05 20:28:13 -0400 |
commit | cd9303b0c510005f6162468beb26eb4ec397a757 (patch) | |
tree | 75cd784c1829139bdbfb2b5c63dd4bd2dd59f410 /me/Danker/commands/ResetLootCommand.java | |
parent | 92b0a7959090b56ab313f77143ffd07a1483ea71 (diff) | |
download | SkyblockMod-cd9303b0c510005f6162468beb26eb4ec397a757.tar.gz SkyblockMod-cd9303b0c510005f6162468beb26eb4ec397a757.tar.bz2 SkyblockMod-cd9303b0c510005f6162468beb26eb4ec397a757.zip |
Add ability to reset trackers
With confirmation in case some person decides to randomly type /resetloot
Diffstat (limited to 'me/Danker/commands/ResetLootCommand.java')
-rw-r--r-- | me/Danker/commands/ResetLootCommand.java | 177 |
1 files changed, 177 insertions, 0 deletions
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(); + } + +} |