aboutsummaryrefslogtreecommitdiff
path: root/me/Danker/commands/ResetLootCommand.java
diff options
context:
space:
mode:
authorbowser0000 <bowser0000@gmail.com>2020-08-05 20:28:13 -0400
committerbowser0000 <bowser0000@gmail.com>2020-08-05 20:28:13 -0400
commitcd9303b0c510005f6162468beb26eb4ec397a757 (patch)
tree75cd784c1829139bdbfb2b5c63dd4bd2dd59f410 /me/Danker/commands/ResetLootCommand.java
parent92b0a7959090b56ab313f77143ffd07a1483ea71 (diff)
downloadSkyblockMod-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.java177
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();
+ }
+
+}