aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorbowser0000 <bowser0000@gmail.com>2020-08-13 00:35:14 -0400
committerbowser0000 <bowser0000@gmail.com>2020-08-13 00:35:14 -0400
commit72eb6d8b5df4c86fbf5fb63eb3edae0f8c7e14d8 (patch)
tree209f0ef1cf898e512891bdee997a901e72148b6a /src/main/java
parentb93db28ffa5fb44bbf3af350b11adf4b77b75b60 (diff)
downloadSkyblockMod-72eb6d8b5df4c86fbf5fb63eb3edae0f8c7e14d8.tar.gz
SkyblockMod-72eb6d8b5df4c86fbf5fb63eb3edae0f8c7e14d8.tar.bz2
SkyblockMod-72eb6d8b5df4c86fbf5fb63eb3edae0f8c7e14d8.zip
Add chat maddox menu and dungeons tracker
Don't have strings for Spirit Bone, Spirit Boots or Spirit Pet. Hoping that Spirit Pet tracking works.
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/me/Danker/TheMod.java217
-rw-r--r--src/main/java/me/Danker/commands/ChatMaddoxCommand.java33
-rw-r--r--src/main/java/me/Danker/commands/DHelpCommand.java8
-rw-r--r--src/main/java/me/Danker/commands/DisplayCommand.java53
-rw-r--r--src/main/java/me/Danker/commands/LootCommand.java154
-rw-r--r--src/main/java/me/Danker/commands/ResetLootCommand.java33
-rw-r--r--src/main/java/me/Danker/commands/ToggleCommand.java16
-rw-r--r--src/main/java/me/Danker/handlers/ConfigHandler.java44
-rw-r--r--src/main/java/me/Danker/utils/Utils.java20
9 files changed, 535 insertions, 43 deletions
diff --git a/src/main/java/me/Danker/TheMod.java b/src/main/java/me/Danker/TheMod.java
index bdc19d3..ca8eaae 100644
--- a/src/main/java/me/Danker/TheMod.java
+++ b/src/main/java/me/Danker/TheMod.java
@@ -15,6 +15,7 @@ import com.google.gson.JsonObject;
import me.Danker.commands.ArmourCommand;
import me.Danker.commands.BankCommand;
+import me.Danker.commands.ChatMaddoxCommand;
import me.Danker.commands.DHelpCommand;
import me.Danker.commands.DisplayCommand;
import me.Danker.commands.GetkeyCommand;
@@ -36,11 +37,13 @@ import me.Danker.handlers.ScoreboardHandler;
import me.Danker.handlers.TextRenderer;
import me.Danker.utils.Utils;
import net.minecraft.client.Minecraft;
+import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.event.ClickEvent;
import net.minecraft.event.ClickEvent.Action;
import net.minecraft.util.ChatComponentText;
import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.IChatComponent;
import net.minecraftforge.client.ClientCommandHandler;
import net.minecraftforge.client.event.ClientChatReceivedEvent;
import net.minecraftforge.client.event.RenderGameOverlayEvent;
@@ -72,6 +75,8 @@ public class TheMod
public static int titleTimer = -1;
public static boolean showTitle = false;
public static String titleText = "";
+ static int tickAmount = 1;
+ public static String lastMaddoxCommand = "/cb placeholdervalue";
@EventHandler
public void init(FMLInitializationEvent event)
@@ -135,6 +140,7 @@ public class TheMod
ClientCommandHandler.instance.registerCommand(new ImportFishingCommand());
ClientCommandHandler.instance.registerCommand(new ResetLootCommand());
ClientCommandHandler.instance.registerCommand(new ScaleCommand());
+ ClientCommandHandler.instance.registerCommand(new ChatMaddoxCommand());
}
// Update checker
@@ -178,6 +184,19 @@ public class TheMod
final ToggleCommand tc = new ToggleCommand();
String message = event.message.getUnformattedText();
+ if (event.type == 2) return;
+ if (!Utils.inSkyblock) return;
+
+ // Replace chat messages with Maddox command
+ List<IChatComponent> chatSiblings = event.message.getSiblings();
+ for (IChatComponent sibling : chatSiblings) {
+ if (sibling.getChatStyle().getChatClickEvent() == null) {
+ sibling.setChatStyle(sibling.getChatStyle().setChatClickEvent(new ClickEvent(Action.RUN_COMMAND, "/dmodopenmaddoxmenu")));
+ }
+ }
+
+ System.out.println(event.message);
+
if (message.contains(":")) return;
if (tc.gpartyToggled) {
@@ -197,7 +216,7 @@ public class TheMod
}
}
}
-
+
final LootCommand lc = new LootCommand();
final ConfigHandler cf = new ConfigHandler();
boolean wolfRNG = false;
@@ -635,6 +654,100 @@ public class TheMod
cf.writeIntConfig("fishing", "seaCreature", lc.seaCreatures);
cf.writeIntConfig("fishing", "milestone", lc.fishingMilestone);
}
+
+ // Catacombs Dungeons
+ if (message.contains(" RARE REWARD! Recombobulator 3000")) {
+ lc.recombobulators++;
+ lc.recombobulatorsSession++;
+ cf.writeIntConfig("catacombs", "recombobulator", lc.recombobulators);
+ }
+ if (message.contains(" RARE REWARD! FUMING POTATO BOOK PLACEHOLDER")) {
+
+ }
+ // F1
+ if (message.contains(" RARE REWARD! Bonzo's Staff")) {
+ lc.bonzoStaffs++;
+ lc.bonzoStaffsSession++;
+ cf.writeIntConfig("catacombs", "bonzoStaff", lc.bonzoStaffs);
+ }
+ // F2
+ if (message.contains(" RARE REWARD! Scarf's Studies")) {
+ lc.scarfStudies++;
+ lc.scarfStudiesSession++;
+ cf.writeIntConfig("catacombs", "scarfStudies", lc.scarfStudies);
+ }
+ // F3
+ if (message.contains(" RARE REWARD! Adaptive Helmet")) {
+ lc.adaptiveHelms++;
+ lc.adaptiveHelmsSession++;
+ cf.writeIntConfig("catacombs", "adaptiveHelm", lc.adaptiveHelms);
+ }
+ if (message.contains(" RARE REWARD! Adaptive Chestplate")) {
+ lc.adaptiveChests++;
+ lc.adaptiveChestsSession++;
+ cf.writeIntConfig("catacombs", "adaptiveChest", lc.adaptiveChests);
+ }
+ if (message.contains(" RARE REWARD! Adaptive Leggings")) {
+ lc.adaptiveLegs++;
+ lc.adaptiveLegsSession++;
+ cf.writeIntConfig("catacombs", "adaptiveLegging", lc.adaptiveLegs);
+ }
+ if (message.contains(" RARE REWARD! Adaptive Boots")) {
+ lc.adaptiveBoots++;
+ lc.adaptiveBootsSession++;
+ cf.writeIntConfig("catacombs", "adaptiveBoot", lc.adaptiveBoots);
+ }
+ if (message.contains(" RARE REWARD! Adaptive Blade")) {
+ lc.adaptiveSwords++;
+ lc.adaptiveSwordsSession++;
+ cf.writeIntConfig("catacombs", "adaptiveSword", lc.adaptiveSwords);
+ }
+ // F4
+ if (message.contains(" Spirit Wing")) {
+ lc.spiritWings++;
+ lc.spiritWingsSession++;
+ cf.writeIntConfig("catacombs", "spiritWing", lc.spiritWings);
+ }
+ // TODO
+ // Fix strings for Spirit Bone, Spirit Boots, Spirit Pet
+ if (message.contains(" ") && message.contains("Spirit Bone")) {
+ lc.spiritBones++;
+ lc.spiritBonesSession++;
+ cf.writeIntConfig("catacombs", "spiritBone", lc.spiritBones);
+ }
+ if (message.contains(" ") && message.contains("Spirit Boots")) {
+ lc.spiritBoots++;
+ lc.spiritBootsSession++;
+ cf.writeIntConfig("catacombs", "spiritBoot", lc.spiritBoots);
+ }
+ if (message.contains(" ") && message.contains("Spirit Pet")) {
+ String formattedMessage = event.message.getFormattedText();
+ if (formattedMessage.contains("§5Spirit Pet")) {
+ lc.epicSpiritPets++;
+ lc.epicSpiritPetsSession++;
+ cf.writeIntConfig("catacombs", "spiritPetEpic", lc.epicSpiritPets);
+ } else if (formattedMessage.contains("§6Spirit Pet")) {
+ lc.legSpiritPets++;
+ lc.legSpiritPetsSession++;
+ cf.writeIntConfig("catacombs", "spiritPetLeg", lc.legSpiritPets);
+ }
+ }
+ if (message.contains(" Spirit Sword")) {
+ lc.spiritSwords++;
+ lc.spiritSwordsSession++;
+ cf.writeIntConfig("catacombs", "spiritSword", lc.spiritSwords);
+ }
+
+ // Chat Maddox
+ if (message.contains("[OPEN MENU]")) {
+ List<IChatComponent> listOfSiblings = event.message.getSiblings();
+ for (IChatComponent sibling : listOfSiblings) {
+ if (sibling.getUnformattedText().contains("[OPEN MENU]")) {
+ lastMaddoxCommand = sibling.getChatStyle().getChatClickEvent().getValue();
+ }
+ }
+ if (tc.chatMaddoxToggled) Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText(EnumChatFormatting.GREEN + "Click anywhere in chat to open Maddox"));
+ }
}
@SubscribeEvent
@@ -1060,6 +1173,98 @@ public class TheMod
EnumChatFormatting.WHITE + nf.format(lc.frostyTheSnowmansSession) + "\n" +
EnumChatFormatting.DARK_GREEN + nf.format(lc.grinchesSession) + "\n" +
EnumChatFormatting.GOLD + nf.format(lc.yetisSession);
+ } else if (ds.display.equals("catacombs_floor_one")) {
+ dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Fuming Potato Books:\n" +
+ EnumChatFormatting.BLUE + "Bonzo's Staffs:";
+ countText = EnumChatFormatting.GOLD + nf.format(lc.recombobulators) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + nf.format(lc.fumingPotatoBooks) + "\n" +
+ EnumChatFormatting.BLUE + nf.format(lc.bonzoStaffs);
+ } else if (ds.display.equals("catacombs_floor_one_session")) {
+ dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Fuming Potato Books:\n" +
+ EnumChatFormatting.BLUE + "Bonzo's Staffs:";
+ countText = EnumChatFormatting.GOLD + nf.format(lc.recombobulatorsSession) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + nf.format(lc.fumingPotatoBooksSession) + "\n" +
+ EnumChatFormatting.BLUE + nf.format(lc.bonzoStaffsSession);
+ } else if (ds.display.equals("catacombs_floor_two")) {
+ dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Fuming Potato Books:\n" +
+ EnumChatFormatting.BLUE + "Scarf's Studies:";
+ countText = EnumChatFormatting.GOLD + nf.format(lc.recombobulators) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + nf.format(lc.fumingPotatoBooks) + "\n" +
+ EnumChatFormatting.BLUE + nf.format(lc.scarfStudies);
+ } else if (ds.display.equals("catacombs_floor_two_session")) {
+ dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Fuming Potato Books:\n" +
+ EnumChatFormatting.BLUE + "Scarf's Studies:";
+ countText = EnumChatFormatting.GOLD + nf.format(lc.recombobulatorsSession) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + nf.format(lc.fumingPotatoBooksSession) + "\n" +
+ EnumChatFormatting.BLUE + nf.format(lc.scarfStudiesSession);
+ } else if (ds.display.equals("catacombs_floor_three")) {
+ dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Fuming Potato Books:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Adaptive Helmets:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Adaptive Chestplates:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Adaptive Leggings:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Adaptive Boots:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Adaptive Blades:";
+ countText = EnumChatFormatting.GOLD + nf.format(lc.recombobulators) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + nf.format(lc.fumingPotatoBooks) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + nf.format(lc.adaptiveHelms) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + nf.format(lc.adaptiveChests) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + nf.format(lc.adaptiveLegs) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + nf.format(lc.adaptiveBoots) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + nf.format(lc.adaptiveSwords);
+ } else if (ds.display.equals("catacombs_floor_three_session")) {
+ dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Fuming Potato Books:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Adaptive Helmets:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Adaptive Chestplates:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Adaptive Leggings:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Adaptive Boots:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Adaptive Blades:";
+ countText = EnumChatFormatting.GOLD + nf.format(lc.recombobulatorsSession) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + nf.format(lc.fumingPotatoBooksSession) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + nf.format(lc.adaptiveHelmsSession) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + nf.format(lc.adaptiveChestsSession) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + nf.format(lc.adaptiveLegsSession) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + nf.format(lc.adaptiveBootsSession) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + nf.format(lc.adaptiveSwordsSession);
+ } else if (ds.display.equals("catacombs_floor_four")) {
+ dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Fuming Potato Books:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Spirit Wings:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Spirit Bones:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Spirit Boots:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Spirit Swords:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Epic Spirit Pets:\n" +
+ EnumChatFormatting.GOLD + "Leg Spirit Pets:";
+ countText = EnumChatFormatting.GOLD + nf.format(lc.recombobulators) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + nf.format(lc.fumingPotatoBooks) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + nf.format(lc.spiritWings) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + nf.format(lc.spiritBones) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + nf.format(lc.spiritBoots) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + nf.format(lc.spiritSwords) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + nf.format(lc.epicSpiritPets) + "\n" +
+ EnumChatFormatting.GOLD + nf.format(lc.legSpiritPets);
+ } else if (ds.display.equals("catacombs_floor_four_session")) {
+ dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Fuming Potato Books:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Spirit Wings:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Spirit Bones:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Spirit Boots:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Spirit Swords:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Epic Spirit Pets:\n" +
+ EnumChatFormatting.GOLD + "Leg Spirit Pets:";
+ countText = EnumChatFormatting.GOLD + nf.format(lc.recombobulatorsSession) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + nf.format(lc.fumingPotatoBooksSession) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + nf.format(lc.spiritWingsSession) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + nf.format(lc.spiritBonesSession) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + nf.format(lc.spiritBootsSession) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + nf.format(lc.spiritSwordsSession) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + nf.format(lc.epicSpiritPetsSession) + "\n" +
+ EnumChatFormatting.GOLD + nf.format(lc.legSpiritPetsSession);
} else {
ConfigHandler cf = new ConfigHandler();
@@ -1142,6 +1347,16 @@ public class TheMod
@SubscribeEvent
public void onTick(TickEvent.ClientTickEvent event) {
+ // Check if player is in Skyblock every second
+ tickAmount++;
+ if (tickAmount % 20 == 0) {
+ EntityPlayerSP player = Minecraft.getMinecraft().thePlayer;
+ if (player != null) {
+ Utils.checkForSkyblock();
+ }
+ tickAmount = 1;
+ }
+
if (titleTimer >= 0) {
if (titleTimer == 0) {
showTitle = false;
diff --git a/src/main/java/me/Danker/commands/ChatMaddoxCommand.java b/src/main/java/me/Danker/commands/ChatMaddoxCommand.java
new file mode 100644
index 0000000..518f26f
--- /dev/null
+++ b/src/main/java/me/Danker/commands/ChatMaddoxCommand.java
@@ -0,0 +1,33 @@
+package me.Danker.commands;
+
+import me.Danker.TheMod;
+import net.minecraft.client.Minecraft;
+import net.minecraft.command.CommandBase;
+import net.minecraft.command.CommandException;
+import net.minecraft.command.ICommandSender;
+import net.minecraft.entity.player.EntityPlayer;
+
+public class ChatMaddoxCommand extends CommandBase {
+
+ @Override
+ public String getCommandName() {
+ return "dmodopenmaddoxmenu";
+ }
+
+ @Override
+ public String getCommandUsage(ICommandSender arg0) {
+ return null;
+ }
+
+ @Override
+ public int getRequiredPermissionLevel() {
+ return 0;
+ }
+
+ @Override
+ public void processCommand(ICommandSender arg0, String[] arg1) throws CommandException {
+ if (!ToggleCommand.chatMaddoxToggled) return;
+ Minecraft.getMinecraft().thePlayer.sendChatMessage(TheMod.lastMaddoxCommand);
+ }
+
+}
diff --git a/src/main/java/me/Danker/commands/DHelpCommand.java b/src/main/java/me/Danker/commands/DHelpCommand.java
index fac8202..0a48213 100644
--- a/src/main/java/me/Danker/commands/DHelpCommand.java
+++ b/src/main/java/me/Danker/commands/DHelpCommand.java
@@ -32,12 +32,12 @@ public class DHelpCommand extends CommandBase {
player.addChatMessage(new ChatComponentText("\n" + EnumChatFormatting.GOLD + " " + TheMod.MODID + " Version " + TheMod.VERSION + "\n" +
EnumChatFormatting.AQUA + " <> = Mandatory parameter. [] = Optional parameter.\n" +
EnumChatFormatting.GOLD + " /dhelp" + EnumChatFormatting.AQUA + " - Returns this message.\n" +
- EnumChatFormatting.GOLD + " /toggle <gparty/coords/golden/slayercount/rngesusalerts/splitfishing/list>" + EnumChatFormatting.AQUA + " - Toggles features. /toggle list returns values of every toggle.\n" +
+ EnumChatFormatting.GOLD + " /toggle <gparty/coords/golden/slayercount/rngesusalerts/splitfishing/chatmaddox/list>" + EnumChatFormatting.AQUA + " - Toggles features. /toggle list returns values of every toggle.\n" +
EnumChatFormatting.GOLD + " /setkey <key>" + EnumChatFormatting.AQUA + " - Sets API key.\n" +
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 + " /loot <zombie/spider/wolf/fishing/catacombs> [winter/f(1-4)/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/catacombs/off> [winter/f(1-4)/session]" + EnumChatFormatting.AQUA + " - Text display for trackers. /display fishing winter displays winter sea creatures instead.\n" +
+ EnumChatFormatting.GOLD + " /resetloot <zombie/spider/wolf/fishing/catacombs/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 + " /scale <coords/display> <scale (0.1 - 10)" + EnumChatFormatting.AQUA + " - Scales text display to a specified multipler between 0.1x and 10x.\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" +
diff --git a/src/main/java/me/Danker/commands/DisplayCommand.java b/src/main/java/me/Danker/commands/DisplayCommand.java
index 916245e..7707442 100644
--- a/src/main/java/me/Danker/commands/DisplayCommand.java
+++ b/src/main/java/me/Danker/commands/DisplayCommand.java
@@ -21,7 +21,7 @@ public class DisplayCommand extends CommandBase {
@Override
public String getCommandUsage(ICommandSender arg0) {
- return getCommandName() + " <zombie/spider/wolf/fishing/off> [winter/session]";
+ return getCommandName() + " <zombie/spider/wolf/fishing/catacombs/off> [winter/session/f(1-4)]";
}
@Override
@@ -35,7 +35,9 @@ public class DisplayCommand extends CommandBase {
return getListOfStringsMatchingLastWord(args, "wolf", "spider", "zombie", "fishing", "off");
} else if (args.length == 2 && args[0].equalsIgnoreCase("fishing")) {
return getListOfStringsMatchingLastWord(args, "winter", "session");
- } else if (args.length == 2 || (args.length == 3 && args[0].equalsIgnoreCase("fishing") && args[1].equalsIgnoreCase("winter"))) {
+ } else if (args.length == 2 && args[0].equalsIgnoreCase("catacombs")) {
+ return getListOfStringsMatchingLastWord(args, "f1", "floor1", "f2", "floor2", "f3", "floor3", "f4", "floor4");
+ } else if (args.length > 1 || (args.length == 3 && args[0].equalsIgnoreCase("fishing") && args[1].equalsIgnoreCase("winter"))) {
return getListOfStringsMatchingLastWord(args, "session");
}
return null;
@@ -46,22 +48,14 @@ public class DisplayCommand extends CommandBase {
final EntityPlayer player = (EntityPlayer) arg0;
if (arg1.length == 0) {
- player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Usage: /display <zombie/spider/wolf/fishing/off> [winter/session]"));
+ player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Usage: <zombie/spider/wolf/fishing/catacombs/off> [winter/session/f(1-4)]"));
return;
}
final ConfigHandler cf = new ConfigHandler();
boolean showSession = false;
- if (arg1.length > 1) {
- if (arg1[1].equalsIgnoreCase("session")) {
- showSession = true;
- } else if (arg1.length > 2) {
- if (arg1[2].equalsIgnoreCase("session")) {
- showSession = true;
- }
- }
- }
+ if (arg1[arg1.length - 1].equalsIgnoreCase("session")) showSession = true;
if (arg1[0].equalsIgnoreCase("wolf")) {
if (showSession) {
@@ -95,10 +89,43 @@ public class DisplayCommand extends CommandBase {
display = "fishing";
}
}
+ } else if (arg1[0].equalsIgnoreCase("catacombs")) {
+ if (arg1.length == 1) {
+ player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Usage: /display catacombs <f1/f2/f3/f4>"));
+ return;
+ }
+ if (arg1[1].equalsIgnoreCase("f1") || arg1[1].equalsIgnoreCase("floor1")) {
+ if (showSession) {
+ display = "catacombs_floor_one_session";
+ } else {
+ display = "catacombs_floor_one";
+ }
+ } else if (arg1[1].equalsIgnoreCase("f2") || arg1[1].equalsIgnoreCase("floor2")) {
+ if (showSession) {
+ display = "catacombs_floor_two_session";
+ } else {
+ display = "catacombs_floor_two";
+ }
+ } else if (arg1[1].equalsIgnoreCase("f3") || arg1[1].equalsIgnoreCase("floor3")) {
+ if (showSession) {
+ display = "catacombs_floor_three_session";
+ } else {
+ display = "catacombs_floor_three";
+ }
+ } else if (arg1[1].equalsIgnoreCase("f4") || arg1[1].equalsIgnoreCase("floor4")) {
+ if (showSession) {
+ display = "catacombs_floor_four_session";
+ } else {
+ display = "catacombs_floor_four";
+ }
+ } else {
+ player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Usage: /display catacombs <f1/f2/f3/f4>"));
+ return;
+ }
} else if (arg1[0].equalsIgnoreCase("off")) {
display = "off";
} else {
- player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Usage: /display <zombie/spider/wolf/fishing/off> [winter/session]"));
+ player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Usage: <zombie/spider/wolf/fishing/catacombs/off> [winter/session/f(1-4)]"));
return;
}
player.addChatMessage(new ChatComponentText(EnumChatFormatting.GREEN + "Display set to " + EnumChatFormatting.DARK_GREEN + display + EnumChatFormatting.GREEN + "."));
diff --git a/src/main/java/me/Danker/commands/LootCommand.java b/src/main/java/me/Danker/commands/LootCommand.java
index d64e9d9..1142f4e 100644
--- a/src/main/java/me/Danker/commands/LootCommand.java
+++ b/src/main/java/me/Danker/commands/LootCommand.java
@@ -81,6 +81,27 @@ public class LootCommand extends CommandBase {
public static int grinches;
public static int yetis;
+ // Catacombs Dungeons
+ public static int recombobulators;
+ public static int fumingPotatoBooks;
+ // F1
+ public static int bonzoStaffs;
+ // F2
+ public static int scarfStudies;
+ // F3
+ public static int adaptiveHelms;
+ public static int adaptiveChests;
+ public static int adaptiveLegs;
+ public static int adaptiveBoots;
+ public static int adaptiveSwords;
+ // F4
+ public static int spiritWings;
+ public static int spiritBones;
+ public static int spiritBoots;
+ public static int spiritSwords;
+ public static int epicSpiritPets;
+ public static int legSpiritPets;
+
// Single sessions (No config saves)
// Wolf
public static int wolfSvensSession = 0;
@@ -150,6 +171,27 @@ public class LootCommand extends CommandBase {
public static int grinchesSession = 0;
public static int yetisSession = 0;
+ // Catacombs Dungeons
+ public static int recombobulatorsSession = 0;
+ public static int fumingPotatoBooksSession = 0;
+ // F1
+ public static int bonzoStaffsSession = 0;
+ // F2
+ public static int scarfStudiesSession = 0;
+ // F3
+ public static int adaptiveHelmsSession = 0;
+ public static int adaptiveChestsSession = 0;
+ public static int adaptiveLegsSession = 0;
+ public static int adaptiveBootsSession = 0;
+ public static int adaptiveSwordsSession = 0;
+ // F4
+ public static int spiritWingsSession = 0;
+ public static int spiritBonesSession = 0;
+ public static int spiritBootsSession = 0;
+ public static int spiritSwordsSession = 0;
+ public static int epicSpiritPetsSession = 0;
+ public static int legSpiritPetsSession = 0;
+
public String getTimeBetween(double timeOne, double timeTwo) {
double secondsBetween = Math.floor(timeTwo - timeOne);
@@ -186,7 +228,7 @@ public class LootCommand extends CommandBase {
@Override
public String getCommandUsage(ICommandSender arg0) {
- return getCommandName() + " <zombie/spider/wolf/fishing> [winter/session]";
+ return getCommandName() + " <zombie/spider/wolf/fishing/catacombs> [winter/f(1-4)/session]";
}
@Override
@@ -200,7 +242,9 @@ public class LootCommand extends CommandBase {
return getListOfStringsMatchingLastWord(args, "wolf", "spider", "zombie", "fishing");
} else if (args.length == 2 && args[0].equalsIgnoreCase("fishing")) {
return getListOfStringsMatchingLastWord(args, "winter", "session");
- } else if (args.length == 2 || (args.length == 3 && args[0].equalsIgnoreCase("fishing") && args[1].equalsIgnoreCase("winter"))) {
+ } else if (args.length == 2 && args[0].equalsIgnoreCase("catacombs")) {
+ return getListOfStringsMatchingLastWord(args, "f1", "floor1", "f2", "floor2", "f3", "floor3", "f4", "floor4");
+ } else if (args.length > 1 || (args.length == 3 && args[0].equalsIgnoreCase("fishing") && args[1].equalsIgnoreCase("winter"))) {
return getListOfStringsMatchingLastWord(args, "session");
}
return null;
@@ -211,7 +255,7 @@ public class LootCommand extends CommandBase {
final EntityPlayer player = (EntityPlayer) arg0;
if (arg1.length == 0) {
- player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Usage: /loot <zombie/spider/wolf/fishing> [winter/session]"));
+ player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Usage: /loot <zombie/spider/wolf/fishing/catacombs> [winter/f(1-4)/session]"));
return;
}
@@ -222,16 +266,8 @@ public class LootCommand extends CommandBase {
NumberFormat nf = NumberFormat.getIntegerInstance(Locale.US);
boolean showSession = false;
- if (arg1.length > 1) {
- if (arg1[1].equalsIgnoreCase("session")) {
- showSession = true;
- } else if (arg1.length > 2) {
- if (arg1[2].equalsIgnoreCase("session")) {
- showSession = true;
- }
- }
- }
-
+ if (arg1[arg1.length - 1].equalsIgnoreCase("session")) showSession = true;
+
if (arg1[0].equalsIgnoreCase("wolf")) {
if (showSession) {
if (wolfTimeSession == -1) {
@@ -524,8 +560,98 @@ public class LootCommand extends CommandBase {
EnumChatFormatting.AQUA + " Time Since Sea Emperor: " + timeBetween + "\n" +
EnumChatFormatting.AQUA + " Sea Creatures Since Sea Emperor: " + bossesBetween + "\n" +
EnumChatFormatting.DARK_AQUA + EnumChatFormatting.BOLD + " -------------------"));
+ } else if (arg1[0].equalsIgnoreCase("catacombs")) {
+ if (arg1.length == 1) {
+ player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Usage: /loot catacombs <f1/f2/f3/f4>"));
+ return;
+ }
+ if (arg1[1].equalsIgnoreCase("f1") || arg1[1].equalsIgnoreCase("floor1")) {
+ if (showSession) {
+ player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" +
+ EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs F1 Summary (Current Session):\n" +
+ EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(recombobulatorsSession) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(fumingPotatoBooksSession) + "\n" +
+ EnumChatFormatting.BLUE + " Bonzo's Staffs: " + nf.format(bonzoStaffsSession) + "\n" +
+ EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " -------------------"));
+ return;
+ }
+ player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" +
+ EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs F1 Summary:\n" +
+ EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(recombobulators) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(fumingPotatoBooks) + "\n" +
+ EnumChatFormatting.BLUE + " Bonzo's Staffs: " + nf.format(bonzoStaffs) + "\n" +
+ EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " -------------------"));
+ } else if (arg1[1].equalsIgnoreCase("f2") || arg1[1].equalsIgnoreCase("floor2")) {
+ if (showSession) {
+ player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" +
+ EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs F2 Summary (Current Session):\n" +
+ EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(recombobulatorsSession) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(fumingPotatoBooksSession) + "\n" +
+ EnumChatFormatting.BLUE + " Scarf's Studies: " + nf.format(scarfStudiesSession) + "\n" +
+ EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " -------------------"));
+ return;
+ }
+ player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" +
+ EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs F2 Summary:\n" +
+ EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(recombobulators) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(fumingPotatoBooks) + "\n" +
+ EnumChatFormatting.BLUE + " Scarf's Studies: " + nf.format(scarfStudies) + "\n" +
+ EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " -------------------"));
+ } else if (arg1[1].equalsIgnoreCase("f3") || arg1[1].equalsIgnoreCase("floor3")) {
+ if (showSession) {
+ player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" +
+ EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs F3 Summary (Current Session):\n" +
+ EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(recombobulatorsSession) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(fumingPotatoBooksSession) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + " Adaptive Helmets: " + nf.format(adaptiveHelmsSession) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + " Adaptive Chestplates: " + nf.format(adaptiveChestsSession) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + " Adaptive Leggings: " + nf.format(adaptiveLegsSession) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + " Adaptive Boots: " + nf.format(adaptiveBootsSession) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + " Adaptive Blades: " + nf.format(adaptiveSwordsSession) + "\n" +
+ EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " -------------------"));
+ return;
+ }
+ player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" +
+ EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs F3 Summary:\n" +
+ EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(recombobulators) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(fumingPotatoBooks) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + " Adaptive Helmets: " + nf.format(adaptiveHelms) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + " Adaptive Chestplates: " + nf.format(adaptiveChests) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + " Adaptive Leggings: " + nf.format(adaptiveLegs) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + " Adaptive Boots: " + nf.format(adaptiveBoots) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + " Adaptive Blades: " + nf.format(adaptiveSwords) + "\n" +
+ EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " -------------------"));
+ } else if (arg1[1].equalsIgnoreCase("f4") || arg1[1].equalsIgnoreCase("floor4")) {
+ if (showSession) {
+ player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" +
+ EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs F4 Summary (Current Session):\n" +
+ EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(recombobulatorsSession) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(fumingPotatoBooksSession) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + " Spirit Wings: " + nf.format(spiritWingsSession) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + " Spirit Bones: " + nf.format(spiritBonesSession) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + " Spirit Boots: " + nf.format(spiritBootsSession) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + " Spirit Swords: " + nf.format(spiritSwordsSession) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + " Epic Spirit Pets: " + nf.format(epicSpiritPetsSession) + "\n" +
+ EnumChatFormatting.GOLD + " Leg Spirit Pets: " + nf.format(legSpiritPetsSession) + "\n" +
+ EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " -------------------"));
+ return;
+ }
+ player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" +
+ EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs F4 Summary:\n" +
+ EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(recombobulators) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(fumingPotatoBooks) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + " Spirit Wings: " + nf.format(spiritWings) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + " Spirit Bones: " + nf.format(spiritBones) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + " Spirit Boots: " + nf.format(spiritBoots) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + " Spirit Swords: " + nf.format(spiritSwords) + "\n" +
+ EnumChatFormatting.DARK_PURPLE + " Epic Spirit Pets: " + nf.format(epicSpiritPets) + "\n" +
+ EnumChatFormatting.GOLD + " Leg Spirit Pets: " + nf.format(legSpiritPets) + "\n" +
+ EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " -------------------"));
+ } else {
+ player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Usage: /loot catacombs <f1/f2/f3/f4>"));
+ }
} else {
- player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Usage: /loot <zombie/spider/wolf/fishing> [winter/session]"));
+ player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Usage: /loot <zombie/spider/wolf/fishing/catacombs> [winter/f(1-4)/session]"));
}
}
diff --git a/src/main/java/me/Danker/commands/ResetLootCommand.java b/src/main/java/me/Danker/commands/ResetLootCommand.java
index 1afc204..97ac151 100644
--- a/src/main/java/me/Danker/commands/ResetLootCommand.java
+++ b/src/main/java/me/Danker/commands/ResetLootCommand.java
@@ -23,7 +23,7 @@ public class ResetLootCommand extends CommandBase {
@Override
public String getCommandUsage(ICommandSender arg0) {
- return getCommandName() + "<zombie/spider/wolf/fishing/confirm/cancel>";
+ return getCommandName() + "<zombie/spider/wolf/fishing/catacombs/confirm/cancel>";
}
@Override
@@ -38,7 +38,7 @@ public class ResetLootCommand extends CommandBase {
if (confirmReset) {
return getListOfStringsMatchingLastWord(args, "confirm", "cancel");
} else {
- return getListOfStringsMatchingLastWord(args, "zombie", "spider", "wolf", "fishing");
+ return getListOfStringsMatchingLastWord(args, "zombie", "spider", "wolf", "fishing", "catacombs");
}
}
@@ -47,7 +47,7 @@ public class ResetLootCommand extends CommandBase {
final EntityPlayer player = (EntityPlayer) arg0;
if (arg1.length == 0) {
- player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Usage: /resetloot <zombie/spider/wolf/fishing>"));
+ player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Usage: /resetloot <zombie/spider/wolf/fishing/catacombs>"));
return;
}