From 9e5039be5c1f874a6622301daca2b6780dec02ca Mon Sep 17 00:00:00 2001 From: bowser0000 Date: Thu, 17 Jun 2021 00:07:21 -0400 Subject: Add enderman slayer tracker Also add support for counting 20% drops in chat and tier 5 rev dropping viscera --- .../java/me/Danker/features/loot/LootDisplay.java | 124 +++++++++++++++++++++ 1 file changed, 124 insertions(+) (limited to 'src/main/java/me/Danker/features/loot/LootDisplay.java') diff --git a/src/main/java/me/Danker/features/loot/LootDisplay.java b/src/main/java/me/Danker/features/loot/LootDisplay.java index cd34da7..07a784a 100644 --- a/src/main/java/me/Danker/features/loot/LootDisplay.java +++ b/src/main/java/me/Danker/features/loot/LootDisplay.java @@ -213,6 +213,7 @@ public class LootDisplay { dropsText = EnumChatFormatting.GOLD + "Revs Killed:\n" + EnumChatFormatting.GREEN + "Revenant Flesh:\n" + + EnumChatFormatting.GREEN + "Revenant Viscera:\n" + EnumChatFormatting.BLUE + "Foul Flesh:\n" + EnumChatFormatting.DARK_GREEN + "Pestilence Runes:\n" + EnumChatFormatting.WHITE + "Smite VI Books:\n" + @@ -227,6 +228,7 @@ public class LootDisplay { EnumChatFormatting.AQUA + "Bosses Since RNG:"; countText = EnumChatFormatting.GOLD + nf.format(LootTracker.zombieRevs) + "\n" + EnumChatFormatting.GREEN + nf.format(LootTracker.zombieRevFlesh) + "\n" + + EnumChatFormatting.GREEN + nf.format(LootTracker.zombieRevViscera) + "\n" + EnumChatFormatting.BLUE + drop20 + "\n" + EnumChatFormatting.DARK_GREEN + LootTracker.zombiePestilences + "\n" + EnumChatFormatting.WHITE + LootTracker.zombieBooks + "\n" + @@ -259,6 +261,7 @@ public class LootDisplay { dropsText = EnumChatFormatting.GOLD + "Revs Killed:\n" + EnumChatFormatting.GREEN + "Revenant Flesh:\n" + + EnumChatFormatting.GREEN + "Revenant Viscera:\n" + EnumChatFormatting.BLUE + "Foul Flesh:\n" + EnumChatFormatting.DARK_GREEN + "Pestilence Runes:\n" + EnumChatFormatting.WHITE + "Smite VI Books:\n" + @@ -273,6 +276,7 @@ public class LootDisplay { EnumChatFormatting.AQUA + "Bosses Since RNG:"; countText = EnumChatFormatting.GOLD + nf.format(LootTracker.zombieRevsSession) + "\n" + EnumChatFormatting.GREEN + nf.format(LootTracker.zombieRevFleshSession) + "\n" + + EnumChatFormatting.GREEN + nf.format(LootTracker.zombieRevVisceraSession) + "\n" + EnumChatFormatting.BLUE + drop20 + "\n" + EnumChatFormatting.DARK_GREEN + LootTracker.zombiePestilencesSession + "\n" + EnumChatFormatting.WHITE + LootTracker.zombieBooksSession + "\n" + @@ -286,6 +290,126 @@ public class LootDisplay { EnumChatFormatting.AQUA + timeBetween + "\n" + EnumChatFormatting.AQUA + bossesBetween; break; + case "enderman": + if (LootTracker.endermanTime == -1) { + timeBetween = "Never"; + } else { + timeBetween = Utils.getTimeBetween(LootTracker.endermanTime, timeNow); + } + if (LootTracker.endermanBosses == -1) { + bossesBetween = "Never"; + } else { + bossesBetween = nf.format(LootTracker.endermanBosses); + } + if (ToggleCommand.slayerCountTotal) { + drop20 = nf.format(LootTracker.endermanTAP); + } else { + drop20 = nf.format(LootTracker.endermanTAPDrops) + " times"; + } + + dropsText = EnumChatFormatting.GOLD + "Voidglooms Killed:\n" + + EnumChatFormatting.DARK_GRAY + "Null Spheres:\n" + + EnumChatFormatting.DARK_PURPLE + "Arrow Poison:\n" + + EnumChatFormatting.LIGHT_PURPLE + "Endersnake Runes:\n" + + EnumChatFormatting.DARK_GREEN + "Summoning Eyes:\n" + + EnumChatFormatting.AQUA + "Mana Steal Books:\n" + + EnumChatFormatting.BLUE + "Transmission Tuners:\n" + + EnumChatFormatting.YELLOW + "Null Atoms:\n" + + EnumChatFormatting.AQUA + "Espresso Machines:\n" + + EnumChatFormatting.WHITE + "Smarty Pants Books:\n" + + EnumChatFormatting.LIGHT_PURPLE + "End Runes:\n" + + EnumChatFormatting.RED + "Blood Chalices:\n" + + EnumChatFormatting.RED + "Sinful Dice:\n" + + EnumChatFormatting.DARK_PURPLE + "Artifact Upgrader:\n" + + EnumChatFormatting.DARK_PURPLE + "Enderman Skins:\n" + + EnumChatFormatting.GRAY + "Enchant Runes:\n" + + EnumChatFormatting.GOLD + "Etherwarp Mergers:\n" + + EnumChatFormatting.GOLD + "Judgement Cores:\n" + + EnumChatFormatting.RED + "Ender Slayer Books:\n" + + EnumChatFormatting.AQUA + "Time Since RNG:\n" + + EnumChatFormatting.AQUA + "Bosses Since RNG:"; + countText = EnumChatFormatting.GOLD + nf.format(LootTracker.endermanVoidglooms) + "\n" + + EnumChatFormatting.DARK_GRAY + nf.format(LootTracker.endermanNullSpheres) + "\n" + + EnumChatFormatting.DARK_PURPLE + drop20 + "\n" + + EnumChatFormatting.LIGHT_PURPLE + LootTracker.endermanEndersnakes + "\n" + + EnumChatFormatting.DARK_GREEN + LootTracker.endermanSummoningEyes + "\n" + + EnumChatFormatting.AQUA + LootTracker.endermanManaBooks + "\n" + + EnumChatFormatting.BLUE + LootTracker.endermanTuners + "\n" + + EnumChatFormatting.YELLOW + LootTracker.endermanAtoms + "\n" + + EnumChatFormatting.AQUA + LootTracker.endermanEspressoMachines + "\n" + + EnumChatFormatting.WHITE + LootTracker.endermanSmartyBooks + "\n" + + EnumChatFormatting.LIGHT_PURPLE + LootTracker.endermanEndRunes + "\n" + + EnumChatFormatting.RED + LootTracker.endermanChalices + "\n" + + EnumChatFormatting.RED + LootTracker.endermanDice + "\n" + + EnumChatFormatting.DARK_PURPLE + LootTracker.endermanArtifacts + "\n" + + EnumChatFormatting.DARK_PURPLE + LootTracker.endermanSkins + "\n" + + EnumChatFormatting.GRAY + LootTracker.endermanEnchantRunes + "\n" + + EnumChatFormatting.GOLD + LootTracker.endermanMergers + "\n" + + EnumChatFormatting.GOLD + LootTracker.endermanCores + "\n" + + EnumChatFormatting.RED + LootTracker.endermanEnderBooks + "\n" + + EnumChatFormatting.AQUA + timeBetween + "\n" + + EnumChatFormatting.AQUA + bossesBetween; + break; + case "enderman_session": + if (LootTracker.endermanTimeSession == -1) { + timeBetween = "Never"; + } else { + timeBetween = Utils.getTimeBetween(LootTracker.endermanTimeSession, timeNow); + } + if (LootTracker.endermanBossesSession == -1) { + bossesBetween = "Never"; + } else { + bossesBetween = nf.format(LootTracker.endermanBossesSession); + } + if (ToggleCommand.slayerCountTotal) { + drop20 = nf.format(LootTracker.endermanTAPSession); + } else { + drop20 = nf.format(LootTracker.endermanTAPDropsSession) + " times"; + } + + dropsText = EnumChatFormatting.GOLD + "Voidglooms Killed:\n" + + EnumChatFormatting.DARK_GRAY + "Null Spheres:\n" + + EnumChatFormatting.DARK_PURPLE + "Arrow Poison:\n" + + EnumChatFormatting.LIGHT_PURPLE + "Endersnake Runes:\n" + + EnumChatFormatting.DARK_GREEN + "Summoning Eyes:\n" + + EnumChatFormatting.AQUA + "Mana Steal Books:\n" + + EnumChatFormatting.BLUE + "Transmission Tuners:\n" + + EnumChatFormatting.YELLOW + "Null Atoms:\n" + + EnumChatFormatting.AQUA + "Espresso Machines:\n" + + EnumChatFormatting.WHITE + "Smarty Pants Books:\n" + + EnumChatFormatting.LIGHT_PURPLE + "End Runes:\n" + + EnumChatFormatting.RED + "Blood Chalices:\n" + + EnumChatFormatting.RED + "Sinful Dice:\n" + + EnumChatFormatting.DARK_PURPLE + "Artifact Upgrader:\n" + + EnumChatFormatting.DARK_PURPLE + "Enderman Skins:\n" + + EnumChatFormatting.GRAY + "Enchant Runes:\n" + + EnumChatFormatting.GOLD + "Etherwarp Mergers:\n" + + EnumChatFormatting.GOLD + "Judgement Cores:\n" + + EnumChatFormatting.RED + "Ender Slayer Books:\n" + + EnumChatFormatting.AQUA + "Time Since RNG:\n" + + EnumChatFormatting.AQUA + "Bosses Since RNG:"; + countText = EnumChatFormatting.GOLD + nf.format(LootTracker.endermanVoidgloomsSession) + "\n" + + EnumChatFormatting.DARK_GRAY + nf.format(LootTracker.endermanNullSpheresSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + drop20 + "\n" + + EnumChatFormatting.LIGHT_PURPLE + LootTracker.endermanEndersnakesSession + "\n" + + EnumChatFormatting.DARK_GREEN + LootTracker.endermanSummoningEyesSession + "\n" + + EnumChatFormatting.AQUA + LootTracker.endermanManaBooksSession + "\n" + + EnumChatFormatting.BLUE + LootTracker.endermanTunersSession + "\n" + + EnumChatFormatting.YELLOW + LootTracker.endermanAtomsSession + "\n" + + EnumChatFormatting.AQUA + LootTracker.endermanEspressoMachinesSession + "\n" + + EnumChatFormatting.WHITE + LootTracker.endermanSmartyBooksSession + "\n" + + EnumChatFormatting.LIGHT_PURPLE + LootTracker.endermanEndRunesSession + "\n" + + EnumChatFormatting.RED + LootTracker.endermanChalicesSession + "\n" + + EnumChatFormatting.RED + LootTracker.endermanDiceSession + "\n" + + EnumChatFormatting.DARK_PURPLE + LootTracker.endermanArtifactsSession + "\n" + + EnumChatFormatting.DARK_PURPLE + LootTracker.endermanSkinsSession + "\n" + + EnumChatFormatting.GRAY + LootTracker.endermanEnchantRunesSession + "\n" + + EnumChatFormatting.GOLD + LootTracker.endermanMergersSession + "\n" + + EnumChatFormatting.GOLD + LootTracker.endermanCoresSession + "\n" + + EnumChatFormatting.RED + LootTracker.endermanEnderBooksSession + "\n" + + EnumChatFormatting.AQUA + timeBetween + "\n" + + EnumChatFormatting.AQUA + bossesBetween; + break; case "fishing": if (LootTracker.empTime == -1) { timeBetween = "Never"; -- cgit From ea8413504f2a6663608367ad6ab5fbcad7e6c029 Mon Sep 17 00:00:00 2001 From: bowser0000 Date: Sat, 28 Aug 2021 02:56:06 -0400 Subject: A lot of internal changes Rename RenderOverlay -> RenderOverlayEvent Split loot trackers into own classes Add packet read and write events Move render functions form Utils to RenderUtils Fix warnings in installer frame Move spirit boots fix to own class --- build.gradle | 2 +- .../java/DefenitlyNotAJoikedInstallerFrame.java | 25 +- src/main/java/me/Danker/DankersSkyblockMod.java | 30 +- .../me/Danker/commands/ImportFishingCommand.java | 250 ++-- src/main/java/me/Danker/commands/LootCommand.java | 750 ++++++------ .../java/me/Danker/commands/ResetLootCommand.java | 320 ++--- .../java/me/Danker/events/PacketReadEvent.java | 16 + .../java/me/Danker/events/PacketWriteEvent.java | 16 + src/main/java/me/Danker/events/RenderOverlay.java | 6 - .../java/me/Danker/events/RenderOverlayEvent.java | 6 + src/main/java/me/Danker/features/ArachneESP.java | 4 +- .../java/me/Danker/features/BonzoMaskTimer.java | 4 +- src/main/java/me/Danker/features/CakeTimer.java | 4 +- .../me/Danker/features/CrystalHollowWaypoints.java | 3 +- src/main/java/me/Danker/features/DungeonTimer.java | 4 +- .../java/me/Danker/features/GiantHPDisplay.java | 4 +- .../me/Danker/features/GolemSpawningAlert.java | 4 +- .../Danker/features/HighlightSkeletonMasters.java | 3 +- src/main/java/me/Danker/features/NoF3Coords.java | 4 +- src/main/java/me/Danker/features/PetColours.java | 3 +- .../java/me/Danker/features/Skill50Display.java | 4 +- src/main/java/me/Danker/features/SkillTracker.java | 4 +- src/main/java/me/Danker/features/SlayerESP.java | 9 +- .../java/me/Danker/features/SpiritBootsFix.java | 28 + .../java/me/Danker/features/TetherDisplay.java | 4 +- .../me/Danker/features/loot/CatacombsTracker.java | 431 +++++++ .../me/Danker/features/loot/EndermanTracker.java | 178 +++ .../me/Danker/features/loot/FishingTracker.java | 285 +++++ .../java/me/Danker/features/loot/GhostTracker.java | 60 + .../java/me/Danker/features/loot/LootDisplay.java | 828 ++++++------- .../java/me/Danker/features/loot/LootTracker.java | 1295 +------------------- .../Danker/features/loot/MythologicalTracker.java | 87 ++ .../me/Danker/features/loot/SpiderTracker.java | 114 ++ .../java/me/Danker/features/loot/WolfTracker.java | 116 ++ .../me/Danker/features/loot/ZombieTracker.java | 143 +++ .../Danker/features/puzzlesolvers/BlazeSolver.java | 17 +- .../features/puzzlesolvers/BoulderSolver.java | 3 +- .../features/puzzlesolvers/ChronomatronSolver.java | 5 +- .../features/puzzlesolvers/ClickInOrderSolver.java | 5 +- .../features/puzzlesolvers/CreeperSolver.java | 7 +- .../features/puzzlesolvers/IceWalkSolver.java | 7 +- .../Danker/features/puzzlesolvers/LividSolver.java | 4 +- .../puzzlesolvers/SelectAllColourSolver.java | 3 +- .../features/puzzlesolvers/SilverfishSolver.java | 3 +- .../features/puzzlesolvers/StartsWithSolver.java | 3 +- .../features/puzzlesolvers/SuperpairsSolver.java | 5 +- .../features/puzzlesolvers/ThreeManSolver.java | 3 +- .../features/puzzlesolvers/TicTacToeSolver.java | 3 +- .../puzzlesolvers/UltrasequencerSolver.java | 5 +- .../Danker/features/puzzlesolvers/WaterSolver.java | 4 +- .../java/me/Danker/handlers/ConfigHandler.java | 341 +++--- .../java/me/Danker/handlers/PacketHandler.java | 33 +- src/main/java/me/Danker/utils/BoulderUtils.java | 20 +- src/main/java/me/Danker/utils/RenderUtils.java | 366 ++++++ src/main/java/me/Danker/utils/Utils.java | 353 ------ 55 files changed, 3231 insertions(+), 3003 deletions(-) create mode 100644 src/main/java/me/Danker/events/PacketReadEvent.java create mode 100644 src/main/java/me/Danker/events/PacketWriteEvent.java delete mode 100644 src/main/java/me/Danker/events/RenderOverlay.java create mode 100644 src/main/java/me/Danker/events/RenderOverlayEvent.java create mode 100644 src/main/java/me/Danker/features/SpiritBootsFix.java create mode 100644 src/main/java/me/Danker/features/loot/CatacombsTracker.java create mode 100644 src/main/java/me/Danker/features/loot/EndermanTracker.java create mode 100644 src/main/java/me/Danker/features/loot/FishingTracker.java create mode 100644 src/main/java/me/Danker/features/loot/GhostTracker.java create mode 100644 src/main/java/me/Danker/features/loot/MythologicalTracker.java create mode 100644 src/main/java/me/Danker/features/loot/SpiderTracker.java create mode 100644 src/main/java/me/Danker/features/loot/WolfTracker.java create mode 100644 src/main/java/me/Danker/features/loot/ZombieTracker.java create mode 100644 src/main/java/me/Danker/utils/RenderUtils.java (limited to 'src/main/java/me/Danker/features/loot/LootDisplay.java') diff --git a/build.gradle b/build.gradle index 05a7231..3ccc643 100644 --- a/build.gradle +++ b/build.gradle @@ -20,7 +20,7 @@ plugins { id "net.minecraftforge.gradle.forge" version "2.0.2" } */ -version = "1.8.7-beta4" +version = "1.8.7-beta5" group= "me.Danker.DankersSkyblockMod" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "Danker's Skyblock Mod" diff --git a/src/main/java/DefenitlyNotAJoikedInstallerFrame.java b/src/main/java/DefenitlyNotAJoikedInstallerFrame.java index bd5e218..9d19f5f 100644 --- a/src/main/java/DefenitlyNotAJoikedInstallerFrame.java +++ b/src/main/java/DefenitlyNotAJoikedInstallerFrame.java @@ -80,7 +80,7 @@ public class DefenitlyNotAJoikedInstallerFrame extends JFrame implements ActionL UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); DefenitlyNotAJoikedInstallerFrame frame = new DefenitlyNotAJoikedInstallerFrame(); frame.centerFrame(frame); - frame.show(); + frame.setVisible(true); } catch (Exception ex) { showErrorPopup(ex); @@ -421,10 +421,7 @@ public class DefenitlyNotAJoikedInstallerFrame extends JFrame implements ActionL File thisFile = getThisFile(); if (thisFile != null) { - boolean inSubFolder = false; - if (IN_MODS_SUBFOLDER.matcher(modsFolder.getPath()).find()) { - inSubFolder = true; - } + boolean inSubFolder = IN_MODS_SUBFOLDER.matcher(modsFolder.getPath()).find(); File newFile = new File(modsFolder, "Danker's Skyblock Mod - " + DankersSkyblockMod.VERSION + ".jar"); @@ -627,24 +624,6 @@ public class DefenitlyNotAJoikedInstallerFrame extends JFrame implements ActionL JOptionPane.showMessageDialog(null, errorScrollPane, "Error", JOptionPane.ERROR_MESSAGE); } - private String getVersionFromMcmodInfo() { - String version = ""; - try { - BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(Objects.requireNonNull(getClass(). - getClassLoader().getResourceAsStream("mcmod.info"), "mcmod.info not found."))); - while ((version = bufferedReader.readLine()) != null) { - if (version.contains("\"version\": \"")) { - version = version.split(Pattern.quote("\"version\": \""))[1]; - version = version.substring(0, version.length() - 2); - break; - } - } - } catch (Exception ex) { - // It's okay, I guess just don't use the version lol. - } - return version; - } - private String getModIDFromInputStream(InputStream inputStream) { String version = ""; try { diff --git a/src/main/java/me/Danker/DankersSkyblockMod.java b/src/main/java/me/Danker/DankersSkyblockMod.java index 100db96..d9da871 100644 --- a/src/main/java/me/Danker/DankersSkyblockMod.java +++ b/src/main/java/me/Danker/DankersSkyblockMod.java @@ -4,14 +4,14 @@ import com.google.gson.JsonObject; import me.Danker.commands.*; import me.Danker.events.ChestSlotClickedEvent; import me.Danker.events.GuiChestBackgroundDrawnEvent; -import me.Danker.events.RenderOverlay; +import me.Danker.events.RenderOverlayEvent; import me.Danker.features.*; -import me.Danker.features.loot.LootDisplay; -import me.Danker.features.loot.LootTracker; +import me.Danker.features.loot.*; import me.Danker.features.puzzlesolvers.*; import me.Danker.gui.*; import me.Danker.handlers.ConfigHandler; import me.Danker.handlers.PacketHandler; +import me.Danker.utils.RenderUtils; import me.Danker.utils.Utils; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.EntityPlayerSP; @@ -64,7 +64,7 @@ import java.util.Map; @Mod(modid = DankersSkyblockMod.MODID, version = DankersSkyblockMod.VERSION, clientSideOnly = true) public class DankersSkyblockMod { public static final String MODID = "Danker's Skyblock Mod"; - public static final String VERSION = "1.8.7-beta4"; + public static final String VERSION = "1.8.7-beta5"; public static int titleTimer = -1; public static boolean showTitle = false; public static String titleText = ""; @@ -128,8 +128,6 @@ public class DankersSkyblockMod { MinecraftForge.EVENT_BUS.register(new HighlightSkeletonMasters()); MinecraftForge.EVENT_BUS.register(new IceWalkSolver()); MinecraftForge.EVENT_BUS.register(new LividSolver()); - MinecraftForge.EVENT_BUS.register(new LootDisplay()); - MinecraftForge.EVENT_BUS.register(new LootTracker()); MinecraftForge.EVENT_BUS.register(new LowHealthNotifications()); MinecraftForge.EVENT_BUS.register(new NecronNotifications()); MinecraftForge.EVENT_BUS.register(new NoF3Coords()); @@ -143,6 +141,7 @@ public class DankersSkyblockMod { MinecraftForge.EVENT_BUS.register(new SlayerESP()); MinecraftForge.EVENT_BUS.register(new SpamHider()); MinecraftForge.EVENT_BUS.register(new SpiritBearAlert()); + MinecraftForge.EVENT_BUS.register(new SpiritBootsFix()); MinecraftForge.EVENT_BUS.register(new StartsWithSolver()); MinecraftForge.EVENT_BUS.register(new StopSalvagingStarredItems()); MinecraftForge.EVENT_BUS.register(new SuperpairsSolver()); @@ -155,6 +154,17 @@ public class DankersSkyblockMod { MinecraftForge.EVENT_BUS.register(new WatcherReadyAlert()); MinecraftForge.EVENT_BUS.register(new WaterSolver()); + MinecraftForge.EVENT_BUS.register(new LootDisplay()); + MinecraftForge.EVENT_BUS.register(new LootTracker()); + MinecraftForge.EVENT_BUS.register(new CatacombsTracker()); + MinecraftForge.EVENT_BUS.register(new EndermanTracker()); + MinecraftForge.EVENT_BUS.register(new FishingTracker()); + MinecraftForge.EVENT_BUS.register(new GhostTracker()); + MinecraftForge.EVENT_BUS.register(new MythologicalTracker()); + MinecraftForge.EVENT_BUS.register(new SpiderTracker()); + MinecraftForge.EVENT_BUS.register(new WolfTracker()); + MinecraftForge.EVENT_BUS.register(new ZombieTracker()); + ConfigHandler.reloadConfig(); GoldenEnchants.init(); TriviaSolver.init(); @@ -328,7 +338,7 @@ public class DankersSkyblockMod { if (event.type != RenderGameOverlayEvent.ElementType.EXPERIENCE && event.type != RenderGameOverlayEvent.ElementType.JUMPBAR) return; if (Minecraft.getMinecraft().currentScreen instanceof EditLocationsGui) return; - MinecraftForge.EVENT_BUS.post(new RenderOverlay()); + MinecraftForge.EVENT_BUS.post(new RenderOverlayEvent()); } // LabyMod Support @@ -337,13 +347,13 @@ public class DankersSkyblockMod { if (!usingLabymod) return; if (event.type != null) return; if (Minecraft.getMinecraft().currentScreen instanceof EditLocationsGui) return; - MinecraftForge.EVENT_BUS.post(new RenderOverlay()); + MinecraftForge.EVENT_BUS.post(new RenderOverlayEvent()); } @SubscribeEvent - public void renderPlayerInfo(RenderOverlay event) { + public void renderPlayerInfo(RenderOverlayEvent event) { if (showTitle) { - Utils.drawTitle(titleText); + RenderUtils.drawTitle(titleText); } } diff --git a/src/main/java/me/Danker/commands/ImportFishingCommand.java b/src/main/java/me/Danker/commands/ImportFishingCommand.java index 8d40c0c..f27aa8a 100644 --- a/src/main/java/me/Danker/commands/ImportFishingCommand.java +++ b/src/main/java/me/Danker/commands/ImportFishingCommand.java @@ -2,7 +2,7 @@ package me.Danker.commands; import com.google.gson.JsonObject; import me.Danker.DankersSkyblockMod; -import me.Danker.features.loot.LootTracker; +import me.Danker.features.loot.FishingTracker; import me.Danker.handlers.APIHandler; import me.Danker.handlers.ConfigHandler; import net.minecraft.command.CommandBase; @@ -64,230 +64,230 @@ public class ImportFishingCommand extends CommandBase { System.out.println("Fetching fishing stats..."); JsonObject statsObject = profileResponse.get("profile").getAsJsonObject().get("members").getAsJsonObject().get(uuid).getAsJsonObject().get("stats").getAsJsonObject(); - LootTracker.greatCatches = 0; - LootTracker.goodCatches = 0; + FishingTracker.greatCatches = 0; + FishingTracker.goodCatches = 0; if (statsObject.has("items_fished_treasure")) { if (statsObject.has("items_fished_large_treasure")) { - LootTracker.greatCatches = statsObject.get("items_fished_large_treasure").getAsInt(); - LootTracker.goodCatches = statsObject.get("items_fished_treasure").getAsInt() - LootTracker.greatCatches; + FishingTracker.greatCatches = statsObject.get("items_fished_large_treasure").getAsInt(); + FishingTracker.goodCatches = statsObject.get("items_fished_treasure").getAsInt() - FishingTracker.greatCatches; } else { - LootTracker.goodCatches = statsObject.get("items_fished_treasure").getAsInt(); + FishingTracker.goodCatches = statsObject.get("items_fished_treasure").getAsInt(); } } - LootTracker.seaCreatures = 0; - LootTracker.squids = 0; + FishingTracker.seaCreatures = 0; + FishingTracker.squids = 0; if (statsObject.has("kills_pond_squid")) { - LootTracker.squids = statsObject.get("kills_pond_squid").getAsInt(); + FishingTracker.squids = statsObject.get("kills_pond_squid").getAsInt(); } - LootTracker.seaCreatures += LootTracker.squids; + FishingTracker.seaCreatures += FishingTracker.squids; - LootTracker.seaWalkers = 0; + FishingTracker.seaWalkers = 0; if (statsObject.has("kills_sea_walker")) { - LootTracker.seaWalkers = statsObject.get("kills_sea_walker").getAsInt(); + FishingTracker.seaWalkers = statsObject.get("kills_sea_walker").getAsInt(); } - LootTracker.seaCreatures += LootTracker.seaWalkers; + FishingTracker.seaCreatures += FishingTracker.seaWalkers; - LootTracker.nightSquids = 0; + FishingTracker.nightSquids = 0; if (statsObject.has("kills_night_squid")) { - LootTracker.nightSquids = statsObject.get("kills_night_squid").getAsInt(); + FishingTracker.nightSquids = statsObject.get("kills_night_squid").getAsInt(); } - LootTracker.seaCreatures += LootTracker.nightSquids; + FishingTracker.seaCreatures += FishingTracker.nightSquids; - LootTracker.seaGuardians = 0; + FishingTracker.seaGuardians = 0; if (statsObject.has("kills_sea_guardian")) { - LootTracker.seaGuardians = statsObject.get("kills_sea_guardian").getAsInt(); + FishingTracker.seaGuardians = statsObject.get("kills_sea_guardian").getAsInt(); } - LootTracker.seaCreatures += LootTracker.seaGuardians; + FishingTracker.seaCreatures += FishingTracker.seaGuardians; - LootTracker.seaWitches = 0; + FishingTracker.seaWitches = 0; if (statsObject.has("kills_sea_witch")) { - LootTracker.seaWitches = statsObject.get("kills_sea_witch").getAsInt(); + FishingTracker.seaWitches = statsObject.get("kills_sea_witch").getAsInt(); } - LootTracker.seaCreatures += LootTracker.seaWitches; + FishingTracker.seaCreatures += FishingTracker.seaWitches; - LootTracker.seaArchers = 0; + FishingTracker.seaArchers = 0; if (statsObject.has("kills_sea_archer")) { - LootTracker.seaArchers = statsObject.get("kills_sea_archer").getAsInt(); + FishingTracker.seaArchers = statsObject.get("kills_sea_archer").getAsInt(); } - LootTracker.seaCreatures += LootTracker.seaArchers; + FishingTracker.seaCreatures += FishingTracker.seaArchers; - LootTracker.monsterOfTheDeeps = 0; + FishingTracker.monsterOfTheDeeps = 0; if (statsObject.has("kills_zombie_deep")) { if (statsObject.has("kills_chicken_deep")) { - LootTracker.monsterOfTheDeeps = statsObject.get("kills_zombie_deep").getAsInt() + statsObject.get("kills_chicken_deep").getAsInt(); + FishingTracker.monsterOfTheDeeps = statsObject.get("kills_zombie_deep").getAsInt() + statsObject.get("kills_chicken_deep").getAsInt(); } else { - LootTracker.monsterOfTheDeeps = statsObject.get("kills_zombie_deep").getAsInt(); + FishingTracker.monsterOfTheDeeps = statsObject.get("kills_zombie_deep").getAsInt(); } } else if (statsObject.has("kills_chicken_deep")) { - LootTracker.monsterOfTheDeeps = statsObject.get("kills_chicken_deep").getAsInt(); + FishingTracker.monsterOfTheDeeps = statsObject.get("kills_chicken_deep").getAsInt(); } - LootTracker.seaCreatures += LootTracker.monsterOfTheDeeps; + FishingTracker.seaCreatures += FishingTracker.monsterOfTheDeeps; - LootTracker.catfishes = 0; + FishingTracker.catfishes = 0; if (statsObject.has("kills_catfish")) { - LootTracker.catfishes = statsObject.get("kills_catfish").getAsInt(); + FishingTracker.catfishes = statsObject.get("kills_catfish").getAsInt(); } - LootTracker.seaCreatures += LootTracker.catfishes; + FishingTracker.seaCreatures += FishingTracker.catfishes; - LootTracker.carrotKings = 0; + FishingTracker.carrotKings = 0; if (statsObject.has("kills_carrot_king")) { - LootTracker.carrotKings = statsObject.get("kills_carrot_king").getAsInt(); + FishingTracker.carrotKings = statsObject.get("kills_carrot_king").getAsInt(); } - LootTracker.seaCreatures += LootTracker.carrotKings; + FishingTracker.seaCreatures += FishingTracker.carrotKings; - LootTracker.seaLeeches = 0; + FishingTracker.seaLeeches = 0; if (statsObject.has("kills_sea_leech")) { - LootTracker.seaLeeches = statsObject.get("kills_sea_leech").getAsInt(); + FishingTracker.seaLeeches = statsObject.get("kills_sea_leech").getAsInt(); } - LootTracker.seaCreatures += LootTracker.seaLeeches; + FishingTracker.seaCreatures += FishingTracker.seaLeeches; - LootTracker.guardianDefenders = 0; + FishingTracker.guardianDefenders = 0; if (statsObject.has("kills_guardian_defender")) { - LootTracker.guardianDefenders = statsObject.get("kills_guardian_defender").getAsInt(); + FishingTracker.guardianDefenders = statsObject.get("kills_guardian_defender").getAsInt(); } - LootTracker.seaCreatures += LootTracker.guardianDefenders; + FishingTracker.seaCreatures += FishingTracker.guardianDefenders; - LootTracker.deepSeaProtectors = 0; + FishingTracker.deepSeaProtectors = 0; if (statsObject.has("kills_deep_sea_protector")) { - LootTracker.deepSeaProtectors = statsObject.get("kills_deep_sea_protector").getAsInt(); + FishingTracker.deepSeaProtectors = statsObject.get("kills_deep_sea_protector").getAsInt(); } - LootTracker.seaCreatures += LootTracker.deepSeaProtectors; + FishingTracker.seaCreatures += FishingTracker.deepSeaProtectors; - LootTracker.hydras = 0; + FishingTracker.hydras = 0; if (statsObject.has("kills_water_hydra")) { // Hydra splits - LootTracker.hydras = statsObject.get("kills_water_hydra").getAsInt() / 2; + FishingTracker.hydras = statsObject.get("kills_water_hydra").getAsInt() / 2; } - LootTracker.seaCreatures += LootTracker.hydras; + FishingTracker.seaCreatures += FishingTracker.hydras; - LootTracker.seaEmperors = 0; + FishingTracker.seaEmperors = 0; if (statsObject.has("kills_skeleton_emperor")) { if (statsObject.has("kills_guardian_emperor")) { - LootTracker.seaEmperors = statsObject.get("kills_skeleton_emperor").getAsInt() + statsObject.get("kills_guardian_emperor").getAsInt(); + FishingTracker.seaEmperors = statsObject.get("kills_skeleton_emperor").getAsInt() + statsObject.get("kills_guardian_emperor").getAsInt(); } else { - LootTracker.seaEmperors = statsObject.get("kills_skeleton_emperor").getAsInt(); + FishingTracker.seaEmperors = statsObject.get("kills_skeleton_emperor").getAsInt(); } } else if (statsObject.has("kills_guardian_emperor")) { - LootTracker.seaEmperors = statsObject.get("kills_guardian_emperor").getAsInt(); + FishingTracker.seaEmperors = statsObject.get("kills_guardian_emperor").getAsInt(); } - LootTracker.seaCreatures += LootTracker.seaEmperors; + FishingTracker.seaCreatures += FishingTracker.seaEmperors; - LootTracker.fishingMilestone = 0; + FishingTracker.fishingMilestone = 0; if (statsObject.has("pet_milestone_sea_creatures_killed")) { - LootTracker.fishingMilestone = statsObject.get("pet_milestone_sea_creatures_killed").getAsInt(); + FishingTracker.fishingMilestone = statsObject.get("pet_milestone_sea_creatures_killed").getAsInt(); } - LootTracker.frozenSteves = 0; + FishingTracker.frozenSteves = 0; if (statsObject.has("kills_frozen_steve")) { - LootTracker.frozenSteves = statsObject.get("kills_frozen_steve").getAsInt(); + FishingTracker.frozenSteves = statsObject.get("kills_frozen_steve").getAsInt(); } - LootTracker.seaCreatures += LootTracker.frozenSteves; + FishingTracker.seaCreatures += FishingTracker.frozenSteves; - LootTracker.frostyTheSnowmans = 0; + FishingTracker.frostyTheSnowmans = 0; if (statsObject.has("kills_frosty_the_snowman")) { - LootTracker.frostyTheSnowmans = statsObject.get("kills_frosty_the_snowman").getAsInt(); + FishingTracker.frostyTheSnowmans = statsObject.get("kills_frosty_the_snowman").getAsInt(); } - LootTracker.seaCreatures += LootTracker.frostyTheSnowmans; + FishingTracker.seaCreatures += FishingTracker.frostyTheSnowmans; - LootTracker.grinches = 0; + FishingTracker.grinches = 0; if (statsObject.has("kills_grinch")) { - LootTracker.grinches = statsObject.get("kills_grinch").getAsInt(); + FishingTracker.grinches = statsObject.get("kills_grinch").getAsInt(); } - LootTracker.seaCreatures += LootTracker.grinches; + FishingTracker.seaCreatures += FishingTracker.grinches; - LootTracker.yetis = 0; + FishingTracker.yetis = 0; if (statsObject.has("kills_yeti")) { - LootTracker.yetis = statsObject.get("kills_yeti").getAsInt(); + FishingTracker.yetis = statsObject.get("kills_yeti").getAsInt(); } - LootTracker.seaCreatures += LootTracker.yetis; + FishingTracker.seaCreatures += FishingTracker.yetis; - LootTracker.nurseSharks = 0; + FishingTracker.nurseSharks = 0; if (statsObject.has("kills_nurse_shark")) { - LootTracker.nurseSharks = statsObject.get("kills_nurse_shark").getAsInt(); + FishingTracker.nurseSharks = statsObject.get("kills_nurse_shark").getAsInt(); } - LootTracker.seaCreatures += LootTracker.nurseSharks; + FishingTracker.seaCreatures += FishingTracker.nurseSharks; - LootTracker.blueSharks = 0; + FishingTracker.blueSharks = 0; if (statsObject.has("kills_nurse_shark")) { - LootTracker.blueSharks = statsObject.get("kills_blue_shark").getAsInt(); + FishingTracker.blueSharks = statsObject.get("kills_blue_shark").getAsInt(); } - LootTracker.seaCreatures += LootTracker.blueSharks; + FishingTracker.seaCreatures += FishingTracker.blueSharks; - LootTracker.tigerSharks = 0; + FishingTracker.tigerSharks = 0; if (statsObject.has("kills_nurse_shark")) { - LootTracker.tigerSharks = statsObject.get("kills_tiger_shark").getAsInt(); + FishingTracker.tigerSharks = statsObject.get("kills_tiger_shark").getAsInt(); } - LootTracker.seaCreatures += LootTracker.tigerSharks; + FishingTracker.seaCreatures += FishingTracker.tigerSharks; - LootTracker.greatWhiteSharks = 0; + FishingTracker.greatWhiteSharks = 0; if (statsObject.has("kills_nurse_shark")) { - LootTracker.greatWhiteSharks = statsObject.get("kills_great_white_shark").getAsInt(); + FishingTracker.greatWhiteSharks = statsObject.get("kills_great_white_shark").getAsInt(); } - LootTracker.seaCreatures += LootTracker.greatWhiteSharks; + FishingTracker.seaCreatures += FishingTracker.greatWhiteSharks; - LootTracker.scarecrows = 0; + FishingTracker.scarecrows = 0; if (statsObject.has("kills_scarecrow")) { - LootTracker.scarecrows = statsObject.get("kills_scarecrow").getAsInt(); + FishingTracker.scarecrows = statsObject.get("kills_scarecrow").getAsInt(); } - LootTracker.seaCreatures += LootTracker.scarecrows; + FishingTracker.seaCreatures += FishingTracker.scarecrows; - LootTracker.nightmares = 0; + FishingTracker.nightmares = 0; if (statsObject.has("kills_nightmare")) { - LootTracker.nightmares = statsObject.get("kills_nightmare").getAsInt(); + FishingTracker.nightmares = statsObject.get("kills_nightmare").getAsInt(); } - LootTracker.seaCreatures += LootTracker.nightmares; + FishingTracker.seaCreatures += FishingTracker.nightmares; - LootTracker.werewolfs = 0; + FishingTracker.werewolfs = 0; if (statsObject.has("kills_werewolf")) { - LootTracker.werewolfs = statsObject.get("kills_werewolf").getAsInt(); + FishingTracker.werewolfs = statsObject.get("kills_werewolf").getAsInt(); } - LootTracker.seaCreatures += LootTracker.werewolfs; + FishingTracker.seaCreatures += FishingTracker.werewolfs; - LootTracker.phantomFishers = 0; + FishingTracker.phantomFishers = 0; if (statsObject.has("kills_phantom_fisherman")) { - LootTracker.phantomFishers = statsObject.get("kills_phantom_fisherman").getAsInt(); + FishingTracker.phantomFishers = statsObject.get("kills_phantom_fisherman").getAsInt(); } - LootTracker.seaCreatures += LootTracker.phantomFishers; + FishingTracker.seaCreatures += FishingTracker.phantomFishers; - LootTracker.grimReapers = 0; + FishingTracker.grimReapers = 0; if (statsObject.has("kills_grim_reaper")) { - LootTracker.grimReapers = statsObject.get("kills_grim_reaper").getAsInt(); + FishingTracker.grimReapers = statsObject.get("kills_grim_reaper").getAsInt(); } - LootTracker.seaCreatures += LootTracker.grimReapers; + FishingTracker.seaCreatures += FishingTracker.grimReapers; System.out.println("Writing to config..."); - ConfigHandler.writeIntConfig("fishing", "goodCatch", LootTracker.goodCatches); - ConfigHandler.writeIntConfig("fishing", "greatCatch", LootTracker.greatCatches); - ConfigHandler.writeIntConfig("fishing", "seaCreature", LootTracker.seaCreatures); - ConfigHandler.writeIntConfig("fishing", "squid", LootTracker.squids); - ConfigHandler.writeIntConfig("fishing", "seaWalker", LootTracker.seaWalkers); - ConfigHandler.writeIntConfig("fishing", "nightSquid", LootTracker.nightSquids); - ConfigHandler.writeIntConfig("fishing", "seaGuardian", LootTracker.seaGuardians); - ConfigHandler.writeIntConfig("fishing", "seaWitch", LootTracker.seaWitches); - ConfigHandler.writeIntConfig("fishing", "seaArcher", LootTracker.seaArchers); - ConfigHandler.writeIntConfig("fishing", "monsterOfDeep", LootTracker.monsterOfTheDeeps); - ConfigHandler.writeIntConfig("fishing", "catfish", LootTracker.catfishes); - ConfigHandler.writeIntConfig("fishing", "carrotKing", LootTracker.carrotKings); - ConfigHandler.writeIntConfig("fishing", "seaLeech", LootTracker.seaLeeches); - ConfigHandler.writeIntConfig("fishing", "guardianDefender", LootTracker.guardianDefenders); - ConfigHandler.writeIntConfig("fishing", "deepSeaProtector", LootTracker.deepSeaProtectors); - ConfigHandler.writeIntConfig("fishing", "hydra", LootTracker.hydras); - ConfigHandler.writeIntConfig("fishing", "seaEmperor", LootTracker.seaEmperors); - ConfigHandler.writeIntConfig("fishing", "milestone", LootTracker.fishingMilestone); - ConfigHandler.writeIntConfig("fishing", "frozenSteve", LootTracker.frozenSteves); - ConfigHandler.writeIntConfig("fishing", "snowman", LootTracker.frostyTheSnowmans); - ConfigHandler.writeIntConfig("fishing", "grinch", LootTracker.grinches); - ConfigHandler.writeIntConfig("fishing", "yeti", LootTracker.yetis); - ConfigHandler.writeIntConfig("fishing", "nurseShark", LootTracker.nurseSharks); - ConfigHandler.writeIntConfig("fishing", "blueShark", LootTracker.blueSharks); - ConfigHandler.writeIntConfig("fishing", "tigerShark", LootTracker.tigerSharks); - ConfigHandler.writeIntConfig("fishing", "greatWhiteShark", LootTracker.greatWhiteSharks); - ConfigHandler.writeIntConfig("fishing", "scarecrow", LootTracker.scarecrows); - ConfigHandler.writeIntConfig("fishing", "nightmare", LootTracker.nightmares); - ConfigHandler.writeIntConfig("fishing", "werewolf", LootTracker.werewolfs); - ConfigHandler.writeIntConfig("fishing", "phantomFisher", LootTracker.phantomFishers); - ConfigHandler.writeIntConfig("fishing", "grimReaper", LootTracker.grimReapers); + ConfigHandler.writeIntConfig("fishing", "goodCatch", FishingTracker.goodCatches); + ConfigHandler.writeIntConfig("fishing", "greatCatch", FishingTracker.greatCatches); + ConfigHandler.writeIntConfig("fishing", "seaCreature", FishingTracker.seaCreatures); + ConfigHandler.writeIntConfig("fishing", "squid", FishingTracker.squids); + ConfigHandler.writeIntConfig("fishing", "seaWalker", FishingTracker.seaWalkers); + ConfigHandler.writeIntConfig("fishing", "nightSquid", FishingTracker.nightSquids); + ConfigHandler.writeIntConfig("fishing", "seaGuardian", FishingTracker.seaGuardians); + ConfigHandler.writeIntConfig("fishing", "seaWitch", FishingTracker.seaWitches); + ConfigHandler.writeIntConfig("fishing", "seaArcher", FishingTracker.seaArchers); + ConfigHandler.writeIntConfig("fishing", "monsterOfDeep", FishingTracker.monsterOfTheDeeps); + ConfigHandler.writeIntConfig("fishing", "catfish", FishingTracker.catfishes); + ConfigHandler.writeIntConfig("fishing", "carrotKing", FishingTracker.carrotKings); + ConfigHandler.writeIntConfig("fishing", "seaLeech", FishingTracker.seaLeeches); + ConfigHandler.writeIntConfig("fishing", "guardianDefender", FishingTracker.guardianDefenders); + ConfigHandler.writeIntConfig("fishing", "deepSeaProtector", FishingTracker.deepSeaProtectors); + ConfigHandler.writeIntConfig("fishing", "hydra", FishingTracker.hydras); + ConfigHandler.writeIntConfig("fishing", "seaEmperor", FishingTracker.seaEmperors); + ConfigHandler.writeIntConfig("fishing", "milestone", FishingTracker.fishingMilestone); + ConfigHandler.writeIntConfig("fishing", "frozenSteve", FishingTracker.frozenSteves); + ConfigHandler.writeIntConfig("fishing", "snowman", FishingTracker.frostyTheSnowmans); + ConfigHandler.writeIntConfig("fishing", "grinch", FishingTracker.grinches); + ConfigHandler.writeIntConfig("fishing", "yeti", FishingTracker.yetis); + ConfigHandler.writeIntConfig("fishing", "nurseShark", FishingTracker.nurseSharks); + ConfigHandler.writeIntConfig("fishing", "blueShark", FishingTracker.blueSharks); + ConfigHandler.writeIntConfig("fishing", "tigerShark", FishingTracker.tigerSharks); + ConfigHandler.writeIntConfig("fishing", "greatWhiteShark", FishingTracker.greatWhiteSharks); + ConfigHandler.writeIntConfig("fishing", "scarecrow", FishingTracker.scarecrows); + ConfigHandler.writeIntConfig("fishing", "nightmare", FishingTracker.nightmares); + ConfigHandler.writeIntConfig("fishing", "werewolf", FishingTracker.werewolfs); + ConfigHandler.writeIntConfig("fishing", "phantomFisher", FishingTracker.phantomFishers); + ConfigHandler.writeIntConfig("fishing", "grimReaper", FishingTracker.grimReapers); player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Fishing stats imported.")); }).start(); diff --git a/src/main/java/me/Danker/commands/LootCommand.java b/src/main/java/me/Danker/commands/LootCommand.java index d0b4272..40b215d 100644 --- a/src/main/java/me/Danker/commands/LootCommand.java +++ b/src/main/java/me/Danker/commands/LootCommand.java @@ -1,7 +1,7 @@ package me.Danker.commands; import me.Danker.DankersSkyblockMod; -import me.Danker.features.loot.LootTracker; +import me.Danker.features.loot.*; import me.Danker.utils.Utils; import net.minecraft.command.CommandBase; import net.minecraft.command.CommandException; @@ -71,292 +71,292 @@ public class LootCommand extends CommandBase { switch (arg1[0].toLowerCase()) { case "wolf": if (showSession) { - if (LootTracker.wolfTimeSession == -1) { + if (WolfTracker.wolfTimeSession == -1) { timeBetween = "Never"; } else { - timeBetween = Utils.getTimeBetween(LootTracker.wolfTimeSession, timeNow); + timeBetween = Utils.getTimeBetween(WolfTracker.wolfTimeSession, timeNow); } - if (LootTracker.wolfBossesSession == -1) { + if (WolfTracker.wolfBossesSession == -1) { bossesBetween = "Never"; } else { - bossesBetween = nf.format(LootTracker.wolfBossesSession); + bossesBetween = nf.format(WolfTracker.wolfBossesSession); } if (ToggleCommand.slayerCountTotal) { - drop20 = nf.format(LootTracker.wolfWheelsSession); + drop20 = nf.format(WolfTracker.wolfWheelsSession); } else { - drop20 = nf.format(LootTracker.wolfWheelsDropsSession) + " times"; + drop20 = nf.format(WolfTracker.wolfWheelsDropsSession) + " times"; } player.addChatMessage(new ChatComponentText(EnumChatFormatting.AQUA + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.DARK_AQUA + EnumChatFormatting.BOLD + " Sven Loot Summary (Current Session):\n" + - EnumChatFormatting.GOLD + " Svens Killed: " + nf.format(LootTracker.wolfSvensSession) + "\n" + - EnumChatFormatting.GREEN + " Wolf Teeth: " + nf.format(LootTracker.wolfTeethSession) + "\n" + + EnumChatFormatting.GOLD + " Svens Killed: " + nf.format(WolfTracker.wolfSvensSession) + "\n" + + EnumChatFormatting.GREEN + " Wolf Teeth: " + nf.format(WolfTracker.wolfTeethSession) + "\n" + EnumChatFormatting.BLUE + " Hamster Wheels: " + drop20 + "\n" + - EnumChatFormatting.AQUA + " Spirit Runes: " + LootTracker.wolfSpiritsSession + "\n" + - EnumChatFormatting.WHITE + " Critical VI Books: " + LootTracker.wolfBooksSession + "\n" + - EnumChatFormatting.DARK_RED + " Red Claw Eggs: " + LootTracker.wolfEggsSession + "\n" + - EnumChatFormatting.GOLD + " Couture Runes: " + LootTracker.wolfCouturesSession + "\n" + - EnumChatFormatting.AQUA + " Grizzly Baits: " + LootTracker.wolfBaitsSession + "\n" + - EnumChatFormatting.DARK_PURPLE + " Overfluxes: " + LootTracker.wolfFluxesSession + "\n" + + EnumChatFormatting.AQUA + " Spirit Runes: " + WolfTracker.wolfSpiritsSession + "\n" + + EnumChatFormatting.WHITE + " Critical VI Books: " + WolfTracker.wolfBooksSession + "\n" + + EnumChatFormatting.DARK_RED + " Red Claw Eggs: " + WolfTracker.wolfEggsSession + "\n" + + EnumChatFormatting.GOLD + " Couture Runes: " + WolfTracker.wolfCouturesSession + "\n" + + EnumChatFormatting.AQUA + " Grizzly Baits: " + WolfTracker.wolfBaitsSession + "\n" + + EnumChatFormatting.DARK_PURPLE + " Overfluxes: " + WolfTracker.wolfFluxesSession + "\n" + EnumChatFormatting.AQUA + " Time Since RNG: " + timeBetween + "\n" + EnumChatFormatting.AQUA + " Bosses Since RNG: " + bossesBetween + "\n" + EnumChatFormatting.AQUA + EnumChatFormatting.BOLD + " -------------------")); return; } - if (LootTracker.wolfTime == -1) { + if (WolfTracker.wolfTime == -1) { timeBetween = "Never"; } else { - timeBetween = Utils.getTimeBetween(LootTracker.wolfTime, timeNow); + timeBetween = Utils.getTimeBetween(WolfTracker.wolfTime, timeNow); } - if (LootTracker.wolfBosses == -1) { + if (WolfTracker.wolfBosses == -1) { bossesBetween = "Never"; } else { - bossesBetween = nf.format(LootTracker.wolfBosses); + bossesBetween = nf.format(WolfTracker.wolfBosses); } if (ToggleCommand.slayerCountTotal) { - drop20 = nf.format(LootTracker.wolfWheels); + drop20 = nf.format(WolfTracker.wolfWheels); } else { - drop20 = nf.format(LootTracker.wolfWheelsDrops) + " times"; + drop20 = nf.format(WolfTracker.wolfWheelsDrops) + " times"; } player.addChatMessage(new ChatComponentText(EnumChatFormatting.AQUA + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.DARK_AQUA + EnumChatFormatting.BOLD + " Sven Loot Summary:\n" + - EnumChatFormatting.GOLD + " Svens Killed: " + nf.format(LootTracker.wolfSvens) + "\n" + - EnumChatFormatting.GREEN + " Wolf Teeth: " + nf.format(LootTracker.wolfTeeth) + "\n" + + EnumChatFormatting.GOLD + " Svens Killed: " + nf.format(WolfTracker.wolfSvens) + "\n" + + EnumChatFormatting.GREEN + " Wolf Teeth: " + nf.format(WolfTracker.wolfTeeth) + "\n" + EnumChatFormatting.BLUE + " Hamster Wheels: " + drop20 + "\n" + - EnumChatFormatting.AQUA + " Spirit Runes: " + LootTracker.wolfSpirits + "\n" + - EnumChatFormatting.WHITE + " Critical VI Books: " + LootTracker.wolfBooks + "\n" + - EnumChatFormatting.DARK_RED + " Red Claw Eggs: " + LootTracker.wolfEggs + "\n" + - EnumChatFormatting.GOLD + " Couture Runes: " + LootTracker.wolfCoutures + "\n" + - EnumChatFormatting.AQUA + " Grizzly Baits: " + LootTracker.wolfBaits + "\n" + - EnumChatFormatting.DARK_PURPLE + " Overfluxes: " + LootTracker.wolfFluxes + "\n" + + EnumChatFormatting.AQUA + " Spirit Runes: " + WolfTracker.wolfSpirits + "\n" + + EnumChatFormatting.WHITE + " Critical VI Books: " + WolfTracker.wolfBooks + "\n" + + EnumChatFormatting.DARK_RED + " Red Claw Eggs: " + WolfTracker.wolfEggs + "\n" + + EnumChatFormatting.GOLD + " Couture Runes: " + WolfTracker.wolfCoutures + "\n" + + EnumChatFormatting.AQUA + " Grizzly Baits: " + WolfTracker.wolfBaits + "\n" + + EnumChatFormatting.DARK_PURPLE + " Overfluxes: " + WolfTracker.wolfFluxes + "\n" + EnumChatFormatting.AQUA + " Time Since RNG: " + timeBetween + "\n" + EnumChatFormatting.AQUA + " Bosses Since RNG: " + bossesBetween + "\n" + EnumChatFormatting.AQUA + EnumChatFormatting.BOLD + " -------------------")); break; case "spider": if (showSession) { - if (LootTracker.spiderTimeSession == -1) { + if (SpiderTracker.spiderTimeSession == -1) { timeBetween = "Never"; } else { - timeBetween = Utils.getTimeBetween(LootTracker.spiderTimeSession, timeNow); + timeBetween = Utils.getTimeBetween(SpiderTracker.spiderTimeSession, timeNow); } - if (LootTracker.spiderBossesSession == -1) { + if (SpiderTracker.spiderBossesSession == -1) { bossesBetween = "Never"; } else { - bossesBetween = nf.format(LootTracker.spiderBossesSession); + bossesBetween = nf.format(SpiderTracker.spiderBossesSession); } if (ToggleCommand.slayerCountTotal) { - drop20 = nf.format(LootTracker.spiderTAPSession); + drop20 = nf.format(SpiderTracker.spiderTAPSession); } else { - drop20 = nf.format(LootTracker.spiderTAPDropsSession) + " times"; + drop20 = nf.format(SpiderTracker.spiderTAPDropsSession) + " times"; } player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " Spider Loot Summary (Current Session):\n" + - EnumChatFormatting.GOLD + " Tarantulas Killed: " + nf.format(LootTracker.spiderTarantulasSession) + "\n" + - EnumChatFormatting.GREEN + " Tarantula Webs: " + nf.format(LootTracker.spiderWebsSession) + "\n" + + EnumChatFormatting.GOLD + " Tarantulas Killed: " + nf.format(SpiderTracker.spiderTarantulasSession) + "\n" + + EnumChatFormatting.GREEN + " Tarantula Webs: " + nf.format(SpiderTracker.spiderWebsSession) + "\n" + EnumChatFormatting.DARK_GREEN + " Arrow Poison: " + drop20 + "\n" + - EnumChatFormatting.DARK_GRAY + " Bite Runes: " + LootTracker.spiderBitesSession + "\n" + - EnumChatFormatting.WHITE + " Bane VI Books: " + LootTracker.spiderBooksSession + "\n" + - EnumChatFormatting.AQUA + " Spider Catalysts: " + LootTracker.spiderCatalystsSession + "\n" + - EnumChatFormatting.DARK_PURPLE + " Tarantula Talismans: " + LootTracker.spiderTalismansSession + "\n" + - EnumChatFormatting.LIGHT_PURPLE + " Fly Swatters: " + LootTracker.spiderSwattersSession + "\n" + - EnumChatFormatting.GOLD + " Digested Mosquitos: " + LootTracker.spiderMosquitosSession + "\n" + + EnumChatFormatting.DARK_GRAY + " Bite Runes: " + SpiderTracker.spiderBitesSession + "\n" + + EnumChatFormatting.WHITE + " Bane VI Books: " + SpiderTracker.spiderBooksSession + "\n" + + EnumChatFormatting.AQUA + " Spider Catalysts: " + SpiderTracker.spiderCatalystsSession + "\n" + + EnumChatFormatting.DARK_PURPLE + " Tarantula Talismans: " + SpiderTracker.spiderTalismansSession + "\n" + + EnumChatFormatting.LIGHT_PURPLE + " Fly Swatters: " + SpiderTracker.spiderSwattersSession + "\n" + + EnumChatFormatting.GOLD + " Digested Mosquitos: " + SpiderTracker.spiderMosquitosSession + "\n" + EnumChatFormatting.AQUA + " Time Since RNG: " + timeBetween + "\n" + EnumChatFormatting.AQUA + " Bosses Since RNG: " + bossesBetween + "\n" + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " -------------------")); return; } - if (LootTracker.spiderTime == -1) { + if (SpiderTracker.spiderTime == -1) { timeBetween = "Never"; } else { - timeBetween = Utils.getTimeBetween(LootTracker.spiderTime, timeNow); + timeBetween = Utils.getTimeBetween(SpiderTracker.spiderTime, timeNow); } - if (LootTracker.spiderBosses == -1) { + if (SpiderTracker.spiderBosses == -1) { bossesBetween = "Never"; } else { - bossesBetween = nf.format(LootTracker.spiderBosses); + bossesBetween = nf.format(SpiderTracker.spiderBosses); } if (ToggleCommand.slayerCountTotal) { - drop20 = nf.format(LootTracker.spiderTAP); + drop20 = nf.format(SpiderTracker.spiderTAP); } else { - drop20 = nf.format(LootTracker.spiderTAPDrops) + " times"; + drop20 = nf.format(SpiderTracker.spiderTAPDrops) + " times"; } player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " Spider Loot Summary:\n" + - EnumChatFormatting.GOLD + " Tarantulas Killed: " + nf.format(LootTracker.spiderTarantulas) + "\n" + - EnumChatFormatting.GREEN + " Tarantula Webs: " + nf.format(LootTracker.spiderWebs) + "\n" + + EnumChatFormatting.GOLD + " Tarantulas Killed: " + nf.format(SpiderTracker.spiderTarantulas) + "\n" + + EnumChatFormatting.GREEN + " Tarantula Webs: " + nf.format(SpiderTracker.spiderWebs) + "\n" + EnumChatFormatting.DARK_GREEN + " Arrow Poison: " + drop20 + "\n" + - EnumChatFormatting.DARK_GRAY + " Bite Runes: " + LootTracker.spiderBites + "\n" + - EnumChatFormatting.WHITE + " Bane VI Books: " + LootTracker.spiderBooks + "\n" + - EnumChatFormatting.AQUA + " Spider Catalysts: " + LootTracker.spiderCatalysts + "\n" + - EnumChatFormatting.DARK_PURPLE + " Tarantula Talismans: " + LootTracker.spiderTalismans + "\n" + - EnumChatFormatting.LIGHT_PURPLE + " Fly Swatters: " + LootTracker.spiderSwatters + "\n" + - EnumChatFormatting.GOLD + " Digested Mosquitos: " + LootTracker.spiderMosquitos + "\n" + + EnumChatFormatting.DARK_GRAY + " Bite Runes: " + SpiderTracker.spiderBites + "\n" + + EnumChatFormatting.WHITE + " Bane VI Books: " + SpiderTracker.spiderBooks + "\n" + + EnumChatFormatting.AQUA + " Spider Catalysts: " + SpiderTracker.spiderCatalysts + "\n" + + EnumChatFormatting.DARK_PURPLE + " Tarantula Talismans: " + SpiderTracker.spiderTalismans + "\n" + + EnumChatFormatting.LIGHT_PURPLE + " Fly Swatters: " + SpiderTracker.spiderSwatters + "\n" + + EnumChatFormatting.GOLD + " Digested Mosquitos: " + SpiderTracker.spiderMosquitos + "\n" + EnumChatFormatting.AQUA + " Time Since RNG: " + timeBetween + "\n" + EnumChatFormatting.AQUA + " Bosses Since RNG: " + bossesBetween + "\n" + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " -------------------")); break; case "zombie": if (showSession) { - if (LootTracker.zombieTimeSession == -1) { + if (ZombieTracker.zombieTimeSession == -1) { timeBetween = "Never"; } else { - timeBetween = Utils.getTimeBetween(LootTracker.zombieTimeSession, timeNow); + timeBetween = Utils.getTimeBetween(ZombieTracker.zombieTimeSession, timeNow); } - if (LootTracker.zombieBossesSession == -1) { + if (ZombieTracker.zombieBossesSession == -1) { bossesBetween = "Never"; } else { - bossesBetween = nf.format(LootTracker.zombieBossesSession); + bossesBetween = nf.format(ZombieTracker.zombieBossesSession); } if (ToggleCommand.slayerCountTotal) { - drop20 = nf.format(LootTracker.zombieFoulFleshSession); + drop20 = nf.format(ZombieTracker.zombieFoulFleshSession); } else { - drop20 = nf.format(LootTracker.zombieFoulFleshDropsSession) + " times"; + drop20 = nf.format(ZombieTracker.zombieFoulFleshDropsSession) + " times"; } player.addChatMessage(new ChatComponentText(EnumChatFormatting.GREEN + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.DARK_GREEN + EnumChatFormatting.BOLD + " Zombie Loot Summary (Current Session):\n" + - EnumChatFormatting.GOLD + " Revs Killed: " + nf.format(LootTracker.zombieRevsSession) + "\n" + - EnumChatFormatting.GREEN + " Revenant Flesh: " + nf.format(LootTracker.zombieRevFleshSession) + "\n" + - EnumChatFormatting.GREEN + " Revenant Viscera: " + nf.format(LootTracker.zombieRevVisceraSession) + "\n" + + EnumChatFormatting.GOLD + " Revs Killed: " + nf.format(ZombieTracker.zombieRevsSession) + "\n" + + EnumChatFormatting.GREEN + " Revenant Flesh: " + nf.format(ZombieTracker.zombieRevFleshSession) + "\n" + + EnumChatFormatting.GREEN + " Revenant Viscera: " + nf.format(ZombieTracker.zombieRevVisceraSession) + "\n" + EnumChatFormatting.BLUE + " Foul Flesh: " + drop20 + "\n" + - EnumChatFormatting.DARK_GREEN + " Pestilence Runes: " +LootTracker.zombiePestilencesSession + "\n" + - EnumChatFormatting.WHITE + " Smite VI Books: " + LootTracker.zombieBooksSession + "\n" + - EnumChatFormatting.AQUA + " Undead Catalysts: " + LootTracker.zombieUndeadCatasSession + "\n" + - EnumChatFormatting.DARK_PURPLE + " Beheaded Horrors: " + LootTracker.zombieBeheadedsSession + "\n" + - EnumChatFormatting.RED + " Revenant Catalysts: " + LootTracker.zombieRevCatasSession + "\n" + - EnumChatFormatting.DARK_GREEN + " Snake Runes: " + LootTracker.zombieSnakesSession + "\n" + - EnumChatFormatting.GOLD + " Scythe Blades: " + LootTracker.zombieScythesSession + "\n" + - EnumChatFormatting.RED + " Shard of the Shreddeds: " + LootTracker.zombieShardsSession + "\n" + - EnumChatFormatting.RED + " Warden Hearts: " + LootTracker.zombieWardenHeartsSession + "\n" + + EnumChatFormatting.DARK_GREEN + " Pestilence Runes: " +ZombieTracker.zombiePestilencesSession + "\n" + + EnumChatFormatting.WHITE + " Smite VI Books: " + ZombieTracker.zombieBooksSession + "\n" + + EnumChatFormatting.AQUA + " Undead Catalysts: " + ZombieTracker.zombieUndeadCatasSession + "\n" + + EnumChatFormatting.DARK_PURPLE + " Beheaded Horrors: " + ZombieTracker.zombieBeheadedsSession + "\n" + + EnumChatFormatting.RED + " Revenant Catalysts: " + ZombieTracker.zombieRevCatasSession + "\n" + + EnumChatFormatting.DARK_GREEN + " Snake Runes: " + ZombieTracker.zombieSnakesSession + "\n" + + EnumChatFormatting.GOLD + " Scythe Blades: " + ZombieTracker.zombieScythesSession + "\n" + + EnumChatFormatting.RED + " Shard of the Shreddeds: " + ZombieTracker.zombieShardsSession + "\n" + + EnumChatFormatting.RED + " Warden Hearts: " + ZombieTracker.zombieWardenHeartsSession + "\n" + EnumChatFormatting.AQUA + " Time Since RNG: " + timeBetween + "\n" + EnumChatFormatting.AQUA + " Bosses Since RNG: " + bossesBetween + "\n" + EnumChatFormatting.GREEN + EnumChatFormatting.BOLD + " -------------------")); return; } - if (LootTracker.zombieTime == -1) { + if (ZombieTracker.zombieTime == -1) { timeBetween = "Never"; } else { - timeBetween = Utils.getTimeBetween(LootTracker.zombieTime, timeNow); + timeBetween = Utils.getTimeBetween(ZombieTracker.zombieTime, timeNow); } - if (LootTracker.zombieBosses == -1) { + if (ZombieTracker.zombieBosses == -1) { bossesBetween = "Never"; } else { - bossesBetween = nf.format(LootTracker.zombieBosses); + bossesBetween = nf.format(ZombieTracker.zombieBosses); } if (ToggleCommand.slayerCountTotal) { - drop20 = nf.format(LootTracker.zombieFoulFlesh); + drop20 = nf.format(ZombieTracker.zombieFoulFlesh); } else { - drop20 = nf.format(LootTracker.zombieFoulFleshDrops) + " times"; + drop20 = nf.format(ZombieTracker.zombieFoulFleshDrops) + " times"; } player.addChatMessage(new ChatComponentText(EnumChatFormatting.GREEN + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.DARK_GREEN + EnumChatFormatting.BOLD + " Zombie Loot Summary:\n" + - EnumChatFormatting.GOLD + " Revs Killed: " + nf.format(LootTracker.zombieRevs) + "\n" + - EnumChatFormatting.GREEN + " Revenant Flesh: " + nf.format(LootTracker.zombieRevFlesh) + "\n" + - EnumChatFormatting.GREEN + " Revenant Viscera: " + nf.format(LootTracker.zombieRevViscera) + "\n" + + EnumChatFormatting.GOLD + " Revs Killed: " + nf.format(ZombieTracker.zombieRevs) + "\n" + + EnumChatFormatting.GREEN + " Revenant Flesh: " + nf.format(ZombieTracker.zombieRevFlesh) + "\n" + + EnumChatFormatting.GREEN + " Revenant Viscera: " + nf.format(ZombieTracker.zombieRevViscera) + "\n" + EnumChatFormatting.BLUE + " Foul Flesh: " + drop20 + "\n" + - EnumChatFormatting.DARK_GREEN + " Pestilence Runes: " + LootTracker.zombiePestilences + "\n" + - EnumChatFormatting.WHITE + " Smite VI Books: " + LootTracker.zombieBooks + "\n" + - EnumChatFormatting.AQUA + " Undead Catalysts: " + LootTracker.zombieUndeadCatas + "\n" + - EnumChatFormatting.DARK_PURPLE + " Beheaded Horrors: " + LootTracker.zombieBeheadeds + "\n" + - EnumChatFormatting.RED + " Revenant Catalysts: " + LootTracker.zombieRevCatas + "\n" + - EnumChatFormatting.DARK_GREEN + " Snake Runes: " + LootTracker.zombieSnakes + "\n" + - EnumChatFormatting.GOLD + " Scythe Blades: " + LootTracker.zombieScythes + "\n" + - EnumChatFormatting.RED + " Shard of the Shreddeds: " + LootTracker.zombieShards + "\n" + - EnumChatFormatting.RED + " Warden Hearts: " + LootTracker.zombieWardenHearts + "\n" + + EnumChatFormatting.DARK_GREEN + " Pestilence Runes: " + ZombieTracker.zombiePestilences + "\n" + + EnumChatFormatting.WHITE + " Smite VI Books: " + ZombieTracker.zombieBooks + "\n" + + EnumChatFormatting.AQUA + " Undead Catalysts: " + ZombieTracker.zombieUndeadCatas + "\n" + + EnumChatFormatting.DARK_PURPLE + " Beheaded Horrors: " + ZombieTracker.zombieBeheadeds + "\n" + + EnumChatFormatting.RED + " Revenant Catalysts: " + ZombieTracker.zombieRevCatas + "\n" + + EnumChatFormatting.DARK_GREEN + " Snake Runes: " + ZombieTracker.zombieSnakes + "\n" + + EnumChatFormatting.GOLD + " Scythe Blades: " + ZombieTracker.zombieScythes + "\n" + + EnumChatFormatting.RED + " Shard of the Shreddeds: " + ZombieTracker.zombieShards + "\n" + + EnumChatFormatting.RED + " Warden Hearts: " + ZombieTracker.zombieWardenHearts + "\n" + EnumChatFormatting.AQUA + " Time Since RNG: " + timeBetween + "\n" + EnumChatFormatting.AQUA + " Bosses Since RNG: " + bossesBetween + "\n" + EnumChatFormatting.GREEN + EnumChatFormatting.BOLD + " -------------------")); break; case "enderman": if (showSession) { - if (LootTracker.endermanTimeSession == -1) { + if (EndermanTracker.endermanTimeSession == -1) { timeBetween = "Never"; } else { - timeBetween = Utils.getTimeBetween(LootTracker.endermanTimeSession, timeNow); + timeBetween = Utils.getTimeBetween(EndermanTracker.endermanTimeSession, timeNow); } - if (LootTracker.endermanBossesSession == -1) { + if (EndermanTracker.endermanBossesSession == -1) { bossesBetween = "Never"; } else { - bossesBetween = nf.format(LootTracker.endermanBossesSession); + bossesBetween = nf.format(EndermanTracker.endermanBossesSession); } if (ToggleCommand.slayerCountTotal) { - drop20 = nf.format(LootTracker.endermanTAPSession); + drop20 = nf.format(EndermanTracker.endermanTAPSession); } else { - drop20 = nf.format(LootTracker.endermanTAPDropsSession) + " times"; + drop20 = nf.format(EndermanTracker.endermanTAPDropsSession) + " times"; } player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_PURPLE + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.DARK_GREEN + EnumChatFormatting.BOLD + " Enderman Loot Summary (Current Session):\n" + - EnumChatFormatting.GOLD + " Voidglooms Killed: " + nf.format(LootTracker.endermanVoidgloomsSession) + "\n" + - EnumChatFormatting.DARK_GRAY + " Null Spheres: " + nf.format(LootTracker.endermanNullSpheresSession) + "\n" + + EnumChatFormatting.GOLD + " Voidglooms Killed: " + nf.format(EndermanTracker.endermanVoidgloomsSession) + "\n" + + EnumChatFormatting.DARK_GRAY + " Null Spheres: " + nf.format(EndermanTracker.endermanNullSpheresSession) + "\n" + EnumChatFormatting.DARK_PURPLE + " Arrow Poison: " + drop20 + "\n" + - EnumChatFormatting.LIGHT_PURPLE + " Endersnake Runes: " + LootTracker.endermanEndersnakesSession + "\n" + - EnumChatFormatting.DARK_GREEN + " Summoning Eyes: " + LootTracker.endermanSummoningEyesSession + "\n" + - EnumChatFormatting.AQUA + " Mana Steal Books: " + LootTracker.endermanManaBooksSession + "\n" + - EnumChatFormatting.BLUE + " Transmission Tuners: " + LootTracker.endermanTunersSession + "\n" + - EnumChatFormatting.YELLOW + " Null Atoms: " + LootTracker.endermanAtomsSession + "\n" + - EnumChatFormatting.AQUA + " Espresso Machines: " + LootTracker.endermanEspressoMachinesSession + "\n" + - EnumChatFormatting.WHITE + " Smarty Pants Books: " + LootTracker.endermanSmartyBooksSession + "\n" + - EnumChatFormatting.LIGHT_PURPLE + " End Runes: " + LootTracker.endermanEndRunesSession + "\n" + - EnumChatFormatting.RED + " Blood Chalices: " + LootTracker.endermanChalicesSession + "\n" + - EnumChatFormatting.RED + " Sinful Dice: " + LootTracker.endermanDiceSession + "\n" + - EnumChatFormatting.DARK_PURPLE + " Artifact Upgrader: " + LootTracker.endermanArtifactsSession + "\n" + - EnumChatFormatting.DARK_PURPLE + " Enderman Skins: " + LootTracker.endermanSkinsSession + "\n" + - EnumChatFormatting.GRAY + " Enchant Runes: " + LootTracker.endermanEnchantRunesSession + "\n" + - EnumChatFormatting.GOLD + " Etherwarp Mergers: " + LootTracker.endermanMergersSession + "\n" + - EnumChatFormatting.GOLD + " Judgement Cores: " + LootTracker.endermanCoresSession + "\n" + - EnumChatFormatting.RED + " Ender Slayer VII Books: " + LootTracker.endermanEnderBooksSession + "\n" + + EnumChatFormatting.LIGHT_PURPLE + " Endersnake Runes: " + EndermanTracker.endermanEndersnakesSession + "\n" + + EnumChatFormatting.DARK_GREEN + " Summoning Eyes: " + EndermanTracker.endermanSummoningEyesSession + "\n" + + EnumChatFormatting.AQUA + " Mana Steal Books: " + EndermanTracker.endermanManaBooksSession + "\n" + + EnumChatFormatting.BLUE + " Transmission Tuners: " + EndermanTracker.endermanTunersSession + "\n" + + EnumChatFormatting.YELLOW + " Null Atoms: " + EndermanTracker.endermanAtomsSession + "\n" + + EnumChatFormatting.AQUA + " Espresso Machines: " + EndermanTracker.endermanEspressoMachinesSession + "\n" + + EnumChatFormatting.WHITE + " Smarty Pants Books: " + EndermanTracker.endermanSmartyBooksSession + "\n" + + EnumChatFormatting.LIGHT_PURPLE + " End Runes: " + EndermanTracker.endermanEndRunesSession + "\n" + + EnumChatFormatting.RED + " Blood Chalices: " + EndermanTracker.endermanChalicesSession + "\n" + + EnumChatFormatting.RED + " Sinful Dice: " + EndermanTracker.endermanDiceSession + "\n" + + EnumChatFormatting.DARK_PURPLE + " Artifact Upgrader: " + EndermanTracker.endermanArtifactsSession + "\n" + + EnumChatFormatting.DARK_PURPLE + " Enderman Skins: " + EndermanTracker.endermanSkinsSession + "\n" + + EnumChatFormatting.GRAY + " Enchant Runes: " + EndermanTracker.endermanEnchantRunesSession + "\n" + + EnumChatFormatting.GOLD + " Etherwarp Mergers: " + EndermanTracker.endermanMergersSession + "\n" + + EnumChatFormatting.GOLD + " Judgement Cores: " + EndermanTracker.endermanCoresSession + "\n" + + EnumChatFormatting.RED + " Ender Slayer VII Books: " + EndermanTracker.endermanEnderBooksSession + "\n" + EnumChatFormatting.AQUA + " Time Since RNG: " + timeBetween + "\n" + EnumChatFormatting.AQUA + " Bosses Since RNG: " + bossesBetween + "\n" + EnumChatFormatting.DARK_PURPLE + EnumChatFormatting.BOLD + " -------------------")); return; } - if (LootTracker.endermanTime == -1) { + if (EndermanTracker.endermanTime == -1) { timeBetween = "Never"; } else { - timeBetween = Utils.getTimeBetween(LootTracker.endermanTime, timeNow); + timeBetween = Utils.getTimeBetween(EndermanTracker.endermanTime, timeNow); } - if (LootTracker.endermanBosses == -1) { + if (EndermanTracker.endermanBosses == -1) { bossesBetween = "Never"; } else { - bossesBetween = nf.format(LootTracker.endermanBosses); + bossesBetween = nf.format(EndermanTracker.endermanBosses); } if (ToggleCommand.slayerCountTotal) { - drop20 = nf.format(LootTracker.endermanTAP); + drop20 = nf.format(EndermanTracker.endermanTAP); } else { - drop20 = nf.format(LootTracker.endermanTAPDrops) + " times"; + drop20 = nf.format(EndermanTracker.endermanTAPDrops) + " times"; } player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_PURPLE + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.DARK_GREEN + EnumChatFormatting.BOLD + " Enderman Loot Summary:\n" + - EnumChatFormatting.GOLD + " Voidglooms Killed: " + nf.format(LootTracker.endermanVoidglooms) + "\n" + - EnumChatFormatting.DARK_GRAY + " Null Spheres: " + nf.format(LootTracker.endermanNullSpheres) + "\n" + + EnumChatFormatting.GOLD + " Voidglooms Killed: " + nf.format(EndermanTracker.endermanVoidglooms) + "\n" + + EnumChatFormatting.DARK_GRAY + " Null Spheres: " + nf.format(EndermanTracker.endermanNullSpheres) + "\n" + EnumChatFormatting.DARK_PURPLE + " Arrow Poison: " + drop20 + "\n" + - EnumChatFormatting.LIGHT_PURPLE + " Endersnake Runes: " + LootTracker.endermanEndersnakes + "\n" + - EnumChatFormatting.DARK_GREEN + " Summoning Eyes: " + LootTracker.endermanSummoningEyes + "\n" + - EnumChatFormatting.AQUA + " Mana Steal Books: " + LootTracker.endermanManaBooks + "\n" + - EnumChatFormatting.BLUE + " Transmission Tuners: " + LootTracker.endermanTuners + "\n" + - EnumChatFormatting.YELLOW + " Null Atoms: " + LootTracker.endermanAtoms + "\n" + - EnumChatFormatting.AQUA + " Espresso Machines: " + LootTracker.endermanEspressoMachines + "\n" + - EnumChatFormatting.WHITE + " Smarty Pants Books: " + LootTracker.endermanSmartyBooks + "\n" + - EnumChatFormatting.LIGHT_PURPLE + " End Runes: " + LootTracker.endermanEndRunes + "\n" + - EnumChatFormatting.RED + " Blood Chalices: " + LootTracker.endermanChalices + "\n" + - EnumChatFormatting.RED + " Sinful Dice: " + LootTracker.endermanDice + "\n" + - EnumChatFormatting.DARK_PURPLE + " Artifact Upgrader: " + LootTracker.endermanArtifacts + "\n" + - EnumChatFormatting.DARK_PURPLE + " Enderman Skins: " + LootTracker.endermanSkins + "\n" + - EnumChatFormatting.GRAY + " Enchant Runes: " + LootTracker.endermanEnchantRunes + "\n" + - EnumChatFormatting.GOLD + " Etherwarp Mergers: " + LootTracker.endermanMergers + "\n" + - EnumChatFormatting.GOLD + " Judgement Cores: " + LootTracker.endermanCores + "\n" + - EnumChatFormatting.RED + " Ender Slayer VII Books: " + LootTracker.endermanEnderBooks + "\n" + + EnumChatFormatting.LIGHT_PURPLE + " Endersnake Runes: " + EndermanTracker.endermanEndersnakes + "\n" + + EnumChatFormatting.DARK_GREEN + " Summoning Eyes: " + EndermanTracker.endermanSummoningEyes + "\n" + + EnumChatFormatting.AQUA + " Mana Steal Books: " + EndermanTracker.endermanManaBooks + "\n" + + EnumChatFormatting.BLUE + " Transmission Tuners: " + EndermanTracker.endermanTuners + "\n" + + EnumChatFormatting.YELLOW + " Null Atoms: " + EndermanTracker.endermanAtoms + "\n" + + EnumChatFormatting.AQUA + " Espresso Machines: " + EndermanTracker.endermanEspressoMachines + "\n" + + EnumChatFormatting.WHITE + " Smarty Pants Books: " + EndermanTracker.endermanSmartyBooks + "\n" + + EnumChatFormatting.LIGHT_PURPLE + " End Runes: " + EndermanTracker.endermanEndRunes + "\n" + + EnumChatFormatting.RED + " Blood Chalices: " + EndermanTracker.endermanChalices + "\n" + + EnumChatFormatting.RED + " Sinful Dice: " + EndermanTracker.endermanDice + "\n" + + EnumChatFormatting.DARK_PURPLE + " Artifact Upgrader: " + EndermanTracker.endermanArtifacts + "\n" + + EnumChatFormatting.DARK_PURPLE + " Enderman Skins: " + EndermanTracker.endermanSkins + "\n" + + EnumChatFormatting.GRAY + " Enchant Runes: " + EndermanTracker.endermanEnchantRunes + "\n" + + EnumChatFormatting.GOLD + " Etherwarp Mergers: " + EndermanTracker.endermanMergers + "\n" + + EnumChatFormatting.GOLD + " Judgement Cores: " + EndermanTracker.endermanCores + "\n" + + EnumChatFormatting.RED + " Ender Slayer VII Books: " + EndermanTracker.endermanEnderBooks + "\n" + EnumChatFormatting.AQUA + " Time Since RNG: " + timeBetween + "\n" + EnumChatFormatting.AQUA + " Bosses Since RNG: " + bossesBetween + "\n" + EnumChatFormatting.DARK_PURPLE + EnumChatFormatting.BOLD + " -------------------")); @@ -365,46 +365,46 @@ public class LootCommand extends CommandBase { if (arg1.length > 1) { if (arg1[1].equalsIgnoreCase("winter")) { if (showSession) { - if (LootTracker.yetiTimeSession == -1) { + if (FishingTracker.yetiTimeSession == -1) { timeBetween = "Never"; } else { - timeBetween = Utils.getTimeBetween(LootTracker.yetiTimeSession, timeNow); + timeBetween = Utils.getTimeBetween(FishingTracker.yetiTimeSession, timeNow); } - if (LootTracker.yetiSCsSession == -1) { + if (FishingTracker.yetiSCsSession == -1) { bossesBetween = "Never"; } else { - bossesBetween = nf.format(LootTracker.yetiSCsSession); + bossesBetween = nf.format(FishingTracker.yetiSCsSession); } player.addChatMessage(new ChatComponentText(EnumChatFormatting.AQUA + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.WHITE + EnumChatFormatting.BOLD + " Winter Fishing Summary (Current Session):\n" + - EnumChatFormatting.AQUA + " Frozen Steves: " + nf.format(LootTracker.frozenStevesSession) + "\n" + - EnumChatFormatting.WHITE + " Snowmans: " + nf.format(LootTracker.frostyTheSnowmansSession) + "\n" + - EnumChatFormatting.DARK_GREEN + " Grinches: " + nf.format(LootTracker.grinchesSession) + "\n" + - EnumChatFormatting.GOLD + " Yetis: " + nf.format(LootTracker.yetisSession) + "\n" + + EnumChatFormatting.AQUA + " Frozen Steves: " + nf.format(FishingTracker.frozenStevesSession) + "\n" + + EnumChatFormatting.WHITE + " Snowmans: " + nf.format(FishingTracker.frostyTheSnowmansSession) + "\n" + + EnumChatFormatting.DARK_GREEN + " Grinches: " + nf.format(FishingTracker.grinchesSession) + "\n" + + EnumChatFormatting.GOLD + " Yetis: " + nf.format(FishingTracker.yetisSession) + "\n" + EnumChatFormatting.AQUA + " Time Since Yeti: " + timeBetween + "\n" + EnumChatFormatting.AQUA + " Creatures Since Yeti: " + bossesBetween + "\n" + EnumChatFormatting.AQUA + EnumChatFormatting.BOLD + " -------------------")); return; } - if (LootTracker.yetiTime == -1) { + if (FishingTracker.yetiTime == -1) { timeBetween = "Never"; } else { - timeBetween = Utils.getTimeBetween(LootTracker.yetiTime, timeNow); + timeBetween = Utils.getTimeBetween(FishingTracker.yetiTime, timeNow); } - if (LootTracker.yetiSCs == -1) { + if (FishingTracker.yetiSCs == -1) { bossesBetween = "Never"; } else { - bossesBetween = nf.format(LootTracker.yetiSCs); + bossesBetween = nf.format(FishingTracker.yetiSCs); } player.addChatMessage(new ChatComponentText(EnumChatFormatting.AQUA + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.WHITE + EnumChatFormatting.BOLD + " Winter Fishing Summary:\n" + - EnumChatFormatting.AQUA + " Frozen Steves: " + nf.format(LootTracker.frozenSteves) + "\n" + - EnumChatFormatting.WHITE + " Snowmans: " + nf.format(LootTracker.frostyTheSnowmans) + "\n" + - EnumChatFormatting.DARK_GREEN + " Grinches: " + nf.format(LootTracker.grinches) + "\n" + - EnumChatFormatting.GOLD + " Yetis: " + nf.format(LootTracker.yetis) + "\n" + + EnumChatFormatting.AQUA + " Frozen Steves: " + nf.format(FishingTracker.frozenSteves) + "\n" + + EnumChatFormatting.WHITE + " Snowmans: " + nf.format(FishingTracker.frostyTheSnowmans) + "\n" + + EnumChatFormatting.DARK_GREEN + " Grinches: " + nf.format(FishingTracker.grinches) + "\n" + + EnumChatFormatting.GOLD + " Yetis: " + nf.format(FishingTracker.yetis) + "\n" + EnumChatFormatting.AQUA + " Time Since Yeti: " + timeBetween + "\n" + EnumChatFormatting.AQUA + " Creatures Since Yeti: " + bossesBetween + "\n" + EnumChatFormatting.AQUA + EnumChatFormatting.BOLD + " -------------------")); @@ -413,112 +413,112 @@ public class LootCommand extends CommandBase { if (showSession) { player.addChatMessage(new ChatComponentText(EnumChatFormatting.AQUA + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.DARK_BLUE + EnumChatFormatting.BOLD + " Fishing Festival Summary (Current Session):\n" + - EnumChatFormatting.LIGHT_PURPLE + " Nurse Sharks: " + nf.format(LootTracker.nurseSharksSession) + "\n" + - EnumChatFormatting.BLUE + " Blue Sharks: " + nf.format(LootTracker.blueSharksSession) + "\n" + - EnumChatFormatting.GOLD + " Tiger Sharks: " + nf.format(LootTracker.tigerSharksSession) + "\n" + - EnumChatFormatting.WHITE + " Great White Sharks: " + nf.format(LootTracker.greatWhiteSharksSession) + "\n" + + EnumChatFormatting.LIGHT_PURPLE + " Nurse Sharks: " + nf.format(FishingTracker.nurseSharksSession) + "\n" + + EnumChatFormatting.BLUE + " Blue Sharks: " + nf.format(FishingTracker.blueSharksSession) + "\n" + + EnumChatFormatting.GOLD + " Tiger Sharks: " + nf.format(FishingTracker.tigerSharksSession) + "\n" + + EnumChatFormatting.WHITE + " Great White Sharks: " + nf.format(FishingTracker.greatWhiteSharksSession) + "\n" + EnumChatFormatting.AQUA + EnumChatFormatting.BOLD + " -------------------")); return; } player.addChatMessage(new ChatComponentText(EnumChatFormatting.AQUA + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.DARK_BLUE + EnumChatFormatting.BOLD + " Fishing Festival Summary:\n" + - EnumChatFormatting.LIGHT_PURPLE + " Nurse Sharks: " + nf.format(LootTracker.nurseSharks) + "\n" + - EnumChatFormatting.BLUE + " Blue Sharks: " + nf.format(LootTracker.blueSharks) + "\n" + - EnumChatFormatting.GOLD + " Tiger Sharks: " + nf.format(LootTracker.tigerSharks) + "\n" + - EnumChatFormatting.WHITE + " Great White Sharks: " + nf.format(LootTracker.greatWhiteSharks) + "\n" + + EnumChatFormatting.LIGHT_PURPLE + " Nurse Sharks: " + nf.format(FishingTracker.nurseSharks) + "\n" + + EnumChatFormatting.BLUE + " Blue Sharks: " + nf.format(FishingTracker.blueSharks) + "\n" + + EnumChatFormatting.GOLD + " Tiger Sharks: " + nf.format(FishingTracker.tigerSharks) + "\n" + + EnumChatFormatting.WHITE + " Great White Sharks: " + nf.format(FishingTracker.greatWhiteSharks) + "\n" + EnumChatFormatting.AQUA + EnumChatFormatting.BOLD + " -------------------")); } else if (arg1[1].equalsIgnoreCase("spooky")) { if (showSession) { player.addChatMessage(new ChatComponentText(EnumChatFormatting.AQUA + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.GOLD + EnumChatFormatting.BOLD + " Spooky Fishing Summary (Current Session):\n" + - EnumChatFormatting.BLUE + " Scarecrows: " + nf.format(LootTracker.scarecrowsSession) + "\n" + - EnumChatFormatting.GRAY + " Nightmares: " + nf.format(LootTracker.nightmaresSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Werewolves: " + nf.format(LootTracker.werewolfsSession) + "\n" + - EnumChatFormatting.GOLD + " Phantom Fishers: " + nf.format(LootTracker.phantomFishersSession) + "\n" + - EnumChatFormatting.GOLD + " Grim Reapers: " + nf.format(LootTracker.grimReapersSession) + "\n" + + EnumChatFormatting.BLUE + " Scarecrows: " + nf.format(FishingTracker.scarecrowsSession) + "\n" + + EnumChatFormatting.GRAY + " Nightmares: " + nf.format(FishingTracker.nightmaresSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Werewolves: " + nf.format(FishingTracker.werewolfsSession) + "\n" + + EnumChatFormatting.GOLD + " Phantom Fishers: " + nf.format(FishingTracker.phantomFishersSession) + "\n" + + EnumChatFormatting.GOLD + " Grim Reapers: " + nf.format(FishingTracker.grimReapersSession) + "\n" + EnumChatFormatting.AQUA + "" + EnumChatFormatting.BOLD + "-------------------")); return; } player.addChatMessage(new ChatComponentText(EnumChatFormatting.AQUA + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.GOLD + EnumChatFormatting.BOLD + " Spooky Fishing Summary:\n" + - EnumChatFormatting.BLUE + " Scarecrows: " + nf.format(LootTracker.scarecrows) + "\n" + - EnumChatFormatting.GRAY + " Nightmares: " + nf.format(LootTracker.nightmares) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Werewolves: " + nf.format(LootTracker.werewolfs) + "\n" + - EnumChatFormatting.GOLD + " Phantom Fishers: " + nf.format(LootTracker.phantomFishers) + "\n" + - EnumChatFormatting.GOLD + " Grim Reapers: " + nf.format(LootTracker.grimReapers) + "\n" + + EnumChatFormatting.BLUE + " Scarecrows: " + nf.format(FishingTracker.scarecrows) + "\n" + + EnumChatFormatting.GRAY + " Nightmares: " + nf.format(FishingTracker.nightmares) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Werewolves: " + nf.format(FishingTracker.werewolfs) + "\n" + + EnumChatFormatting.GOLD + " Phantom Fishers: " + nf.format(FishingTracker.phantomFishers) + "\n" + + EnumChatFormatting.GOLD + " Grim Reapers: " + nf.format(FishingTracker.grimReapers) + "\n" + EnumChatFormatting.AQUA + "" + EnumChatFormatting.BOLD + "-------------------")); } } if (showSession) { - if (LootTracker.empTimeSession == -1) { + if (FishingTracker.empTimeSession == -1) { timeBetween = "Never"; } else { - timeBetween = Utils.getTimeBetween(LootTracker.empTimeSession, timeNow); + timeBetween = Utils.getTimeBetween(FishingTracker.empTimeSession, timeNow); } - if (LootTracker.empSCsSession == -1) { + if (FishingTracker.empSCsSession == -1) { bossesBetween = "Never"; } else { - bossesBetween = nf.format(LootTracker.empSCsSession); + bossesBetween = nf.format(FishingTracker.empSCsSession); } player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_AQUA + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.AQUA + EnumChatFormatting.BOLD + " Fishing Summary (Current Session):\n" + - EnumChatFormatting.AQUA + " Sea Creatures Caught: " + nf.format(LootTracker.seaCreaturesSession) + "\n" + - EnumChatFormatting.GOLD + " Good Catches: " + nf.format(LootTracker.goodCatchesSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Great Catches: " + nf.format(LootTracker.greatCatchesSession) + "\n\n" + - EnumChatFormatting.GRAY + " Squids: " + nf.format(LootTracker.squidsSession) + "\n" + - EnumChatFormatting.GREEN + " Sea Walkers: " + nf.format(LootTracker.seaWalkersSession) + "\n" + - EnumChatFormatting.DARK_GRAY + " Night Squids: " + nf.format(LootTracker.nightSquidsSession) + "\n" + - EnumChatFormatting.DARK_AQUA + " Sea Guardians: " + nf.format(LootTracker.seaGuardiansSession) + "\n" + - EnumChatFormatting.BLUE + " Sea Witches: " + nf.format(LootTracker.seaWitchesSession) + "\n" + - EnumChatFormatting.GREEN + " Sea Archers: " + nf.format(LootTracker.seaArchersSession) + "\n" + - EnumChatFormatting.GREEN + " Monster of the Deeps: " + nf.format(LootTracker.monsterOfTheDeepsSession) + "\n" + - EnumChatFormatting.YELLOW + " Catfishes: " + nf.format(LootTracker.catfishesSession) + "\n" + - EnumChatFormatting.GOLD + " Carrot Kings: " + nf.format(LootTracker.carrotKingsSession) + "\n" + - EnumChatFormatting.GRAY + " Sea Leeches: " + nf.format(LootTracker.seaLeechesSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Guardian Defenders: " + nf.format(LootTracker.guardianDefendersSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Deep Sea Protectors: " + nf.format(LootTracker.deepSeaProtectorsSession) + "\n" + - EnumChatFormatting.GOLD + " Hydras: " + nf.format(LootTracker.hydrasSession) + "\n" + - EnumChatFormatting.GOLD + " Sea Emperors: " + nf.format(LootTracker.seaEmperorsSession) + "\n" + + EnumChatFormatting.AQUA + " Sea Creatures Caught: " + nf.format(FishingTracker.seaCreaturesSession) + "\n" + + EnumChatFormatting.GOLD + " Good Catches: " + nf.format(FishingTracker.goodCatchesSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Great Catches: " + nf.format(FishingTracker.greatCatchesSession) + "\n\n" + + EnumChatFormatting.GRAY + " Squids: " + nf.format(FishingTracker.squidsSession) + "\n" + + EnumChatFormatting.GREEN + " Sea Walkers: " + nf.format(FishingTracker.seaWalkersSession) + "\n" + + EnumChatFormatting.DARK_GRAY + " Night Squids: " + nf.format(FishingTracker.nightSquidsSession) + "\n" + + EnumChatFormatting.DARK_AQUA + " Sea Guardians: " + nf.format(FishingTracker.seaGuardiansSession) + "\n" + + EnumChatFormatting.BLUE + " Sea Witches: " + nf.format(FishingTracker.seaWitchesSession) + "\n" + + EnumChatFormatting.GREEN + " Sea Archers: " + nf.format(FishingTracker.seaArchersSession) + "\n" + + EnumChatFormatting.GREEN + " Monster of the Deeps: " + nf.format(FishingTracker.monsterOfTheDeepsSession) + "\n" + + EnumChatFormatting.YELLOW + " Catfishes: " + nf.format(FishingTracker.catfishesSession) + "\n" + + EnumChatFormatting.GOLD + " Carrot Kings: " + nf.format(FishingTracker.carrotKingsSession) + "\n" + + EnumChatFormatting.GRAY + " Sea Leeches: " + nf.format(FishingTracker.seaLeechesSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Guardian Defenders: " + nf.format(FishingTracker.guardianDefendersSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Deep Sea Protectors: " + nf.format(FishingTracker.deepSeaProtectorsSession) + "\n" + + EnumChatFormatting.GOLD + " Hydras: " + nf.format(FishingTracker.hydrasSession) + "\n" + + EnumChatFormatting.GOLD + " Sea Emperors: " + nf.format(FishingTracker.seaEmperorsSession) + "\n" + EnumChatFormatting.AQUA + " Time Since Sea Emperor: " + timeBetween + "\n" + EnumChatFormatting.AQUA + " Sea Creatures Since Sea Emperor: " + bossesBetween + "\n" + EnumChatFormatting.DARK_AQUA + EnumChatFormatting.BOLD + " -------------------")); return; } - if (LootTracker.empTime == -1) { + if (FishingTracker.empTime == -1) { timeBetween = "Never"; } else { - timeBetween = Utils.getTimeBetween(LootTracker.empTime, timeNow); + timeBetween = Utils.getTimeBetween(FishingTracker.empTime, timeNow); } - if (LootTracker.empSCs == -1) { + if (FishingTracker.empSCs == -1) { bossesBetween = "Never"; } else { - bossesBetween = nf.format(LootTracker.empSCs); + bossesBetween = nf.format(FishingTracker.empSCs); } player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_AQUA + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.AQUA + EnumChatFormatting.BOLD + " Fishing Summary:\n" + - EnumChatFormatting.AQUA + " Sea Creatures Caught: " + nf.format(LootTracker.seaCreatures) + "\n" + - EnumChatFormatting.GOLD + " Good Catches: " + nf.format(LootTracker.goodCatches) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Great Catches: " + nf.format(LootTracker.greatCatches) + "\n\n" + - EnumChatFormatting.GRAY + " Squids: " + nf.format(LootTracker.squids) + "\n" + - EnumChatFormatting.GREEN + " Sea Walkers: " + nf.format(LootTracker.seaWalkers) + "\n" + - EnumChatFormatting.DARK_GRAY + " Night Squids: " + nf.format(LootTracker.nightSquids) + "\n" + - EnumChatFormatting.DARK_AQUA + " Sea Guardians: " + nf.format(LootTracker.seaGuardians) + "\n" + - EnumChatFormatting.BLUE + " Sea Witches: " + nf.format(LootTracker.seaWitches) + "\n" + - EnumChatFormatting.GREEN + " Sea Archers: " + nf.format(LootTracker.seaArchers) + "\n" + - EnumChatFormatting.GREEN + " Monster of the Deeps: " + nf.format(LootTracker.monsterOfTheDeeps) + "\n" + - EnumChatFormatting.YELLOW + " Catfishes: " + nf.format(LootTracker.catfishes) + "\n" + - EnumChatFormatting.GOLD + " Carrot Kings: " + nf.format(LootTracker.carrotKings) + "\n" + - EnumChatFormatting.GRAY + " Sea Leeches: " + nf.format(LootTracker.seaLeeches) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Guardian Defenders: " + nf.format(LootTracker.guardianDefenders) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Deep Sea Protectors: " + nf.format(LootTracker.deepSeaProtectors) + "\n" + - EnumChatFormatting.GOLD + " Hydras: " + nf.format(LootTracker.hydras) + "\n" + - EnumChatFormatting.GOLD + " Sea Emperors: " + nf.format(LootTracker.seaEmperors) + "\n" + + EnumChatFormatting.AQUA + " Sea Creatures Caught: " + nf.format(FishingTracker.seaCreatures) + "\n" + + EnumChatFormatting.GOLD + " Good Catches: " + nf.format(FishingTracker.goodCatches) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Great Catches: " + nf.format(FishingTracker.greatCatches) + "\n\n" + + EnumChatFormatting.GRAY + " Squids: " + nf.format(FishingTracker.squids) + "\n" + + EnumChatFormatting.GREEN + " Sea Walkers: " + nf.format(FishingTracker.seaWalkers) + "\n" + + EnumChatFormatting.DARK_GRAY + " Night Squids: " + nf.format(FishingTracker.nightSquids) + "\n" + + EnumChatFormatting.DARK_AQUA + " Sea Guardians: " + nf.format(FishingTracker.seaGuardians) + "\n" + + EnumChatFormatting.BLUE + " Sea Witches: " + nf.format(FishingTracker.seaWitches) + "\n" + + EnumChatFormatting.GREEN + " Sea Archers: " + nf.format(FishingTracker.seaArchers) + "\n" + + EnumChatFormatting.GREEN + " Monster of the Deeps: " + nf.format(FishingTracker.monsterOfTheDeeps) + "\n" + + EnumChatFormatting.YELLOW + " Catfishes: " + nf.format(FishingTracker.catfishes) + "\n" + + EnumChatFormatting.GOLD + " Carrot Kings: " + nf.format(FishingTracker.carrotKings) + "\n" + + EnumChatFormatting.GRAY + " Sea Leeches: " + nf.format(FishingTracker.seaLeeches) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Guardian Defenders: " + nf.format(FishingTracker.guardianDefenders) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Deep Sea Protectors: " + nf.format(FishingTracker.deepSeaProtectors) + "\n" + + EnumChatFormatting.GOLD + " Hydras: " + nf.format(FishingTracker.hydras) + "\n" + + EnumChatFormatting.GOLD + " Sea Emperors: " + nf.format(FishingTracker.seaEmperors) + "\n" + EnumChatFormatting.AQUA + " Time Since Sea Emperor: " + timeBetween + "\n" + EnumChatFormatting.AQUA + " Sea Creatures Since Sea Emperor: " + bossesBetween + "\n" + EnumChatFormatting.DARK_AQUA + EnumChatFormatting.BOLD + " -------------------")); @@ -528,31 +528,31 @@ public class LootCommand extends CommandBase { if (showSession) { player.addChatMessage(new ChatComponentText(EnumChatFormatting.GOLD + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.YELLOW + EnumChatFormatting.BOLD + " Mythological Event Summary (Current Session):\n" + - EnumChatFormatting.YELLOW + " Coins: " + Utils.getMoneySpent(LootTracker.mythCoinsSession) + "\n" + - EnumChatFormatting.WHITE + " Griffin Feathers: " + nf.format(LootTracker.griffinFeathersSession) + "\n" + - EnumChatFormatting.GOLD + " Crown of Greeds: " + nf.format(LootTracker.crownOfGreedsSession) + "\n" + - EnumChatFormatting.AQUA + " Washed-up Souvenirs: " + nf.format(LootTracker.washedUpSouvenirsSession) + "\n" + - EnumChatFormatting.RED + " Minos Hunters: " + nf.format(LootTracker.minosHuntersSession) + "\n" + - EnumChatFormatting.GRAY + " Siamese Lynxes: " + nf.format(LootTracker.siameseLynxesSession) + "\n" + - EnumChatFormatting.RED + " Minotaurs: " + nf.format(LootTracker.minotaursSession) + "\n" + - EnumChatFormatting.WHITE + " Gaia Constructs: " + nf.format(LootTracker.gaiaConstructsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Minos Champions: " + nf.format(LootTracker.minosChampionsSession) + "\n" + - EnumChatFormatting.GOLD + " Minos Inquisitors: " + nf.format(LootTracker.minosInquisitorsSession) + "\n" + + EnumChatFormatting.YELLOW + " Coins: " + Utils.getMoneySpent(MythologicalTracker.mythCoinsSession) + "\n" + + EnumChatFormatting.WHITE + " Griffin Feathers: " + nf.format(MythologicalTracker.griffinFeathersSession) + "\n" + + EnumChatFormatting.GOLD + " Crown of Greeds: " + nf.format(MythologicalTracker.crownOfGreedsSession) + "\n" + + EnumChatFormatting.AQUA + " Washed-up Souvenirs: " + nf.format(MythologicalTracker.washedUpSouvenirsSession) + "\n" + + EnumChatFormatting.RED + " Minos Hunters: " + nf.format(MythologicalTracker.minosHuntersSession) + "\n" + + EnumChatFormatting.GRAY + " Siamese Lynxes: " + nf.format(MythologicalTracker.siameseLynxesSession) + "\n" + + EnumChatFormatting.RED + " Minotaurs: " + nf.format(MythologicalTracker.minotaursSession) + "\n" + + EnumChatFormatting.WHITE + " Gaia Constructs: " + nf.format(MythologicalTracker.gaiaConstructsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Minos Champions: " + nf.format(MythologicalTracker.minosChampionsSession) + "\n" + + EnumChatFormatting.GOLD + " Minos Inquisitors: " + nf.format(MythologicalTracker.minosInquisitorsSession) + "\n" + EnumChatFormatting.GOLD + EnumChatFormatting.BOLD + "-------------------")); return; } player.addChatMessage(new ChatComponentText(EnumChatFormatting.GOLD + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.YELLOW + EnumChatFormatting.BOLD + " Mythological Event Summary:\n" + - EnumChatFormatting.YELLOW + " Coins: " + Utils.getMoneySpent(LootTracker.mythCoins) + "\n" + - EnumChatFormatting.WHITE + " Griffin Feathers: " + nf.format(LootTracker.griffinFeathers) + "\n" + - EnumChatFormatting.GOLD + " Crown of Greeds: " + nf.format(LootTracker.crownOfGreeds) + "\n" + - EnumChatFormatting.AQUA + " Washed-up Souvenirs: " + nf.format(LootTracker.washedUpSouvenirs) + "\n" + - EnumChatFormatting.RED + " Minos Hunters: " + nf.format(LootTracker.minosHunters) + "\n" + - EnumChatFormatting.GRAY + " Siamese Lynxes: " + nf.format(LootTracker.siameseLynxes) + "\n" + - EnumChatFormatting.RED + " Minotaurs: " + nf.format(LootTracker.minotaurs) + "\n" + - EnumChatFormatting.WHITE + " Gaia Constructs: " + nf.format(LootTracker.gaiaConstructs) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Minos Champions: " + nf.format(LootTracker.minosChampions) + "\n" + - EnumChatFormatting.GOLD + " Minos Inquisitors: " + nf.format(LootTracker.minosInquisitors) + "\n" + + EnumChatFormatting.YELLOW + " Coins: " + Utils.getMoneySpent(MythologicalTracker.mythCoins) + "\n" + + EnumChatFormatting.WHITE + " Griffin Feathers: " + nf.format(MythologicalTracker.griffinFeathers) + "\n" + + EnumChatFormatting.GOLD + " Crown of Greeds: " + nf.format(MythologicalTracker.crownOfGreeds) + "\n" + + EnumChatFormatting.AQUA + " Washed-up Souvenirs: " + nf.format(MythologicalTracker.washedUpSouvenirs) + "\n" + + EnumChatFormatting.RED + " Minos Hunters: " + nf.format(MythologicalTracker.minosHunters) + "\n" + + EnumChatFormatting.GRAY + " Siamese Lynxes: " + nf.format(MythologicalTracker.siameseLynxes) + "\n" + + EnumChatFormatting.RED + " Minotaurs: " + nf.format(MythologicalTracker.minotaurs) + "\n" + + EnumChatFormatting.WHITE + " Gaia Constructs: " + nf.format(MythologicalTracker.gaiaConstructs) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Minos Champions: " + nf.format(MythologicalTracker.minosChampions) + "\n" + + EnumChatFormatting.GOLD + " Minos Inquisitors: " + nf.format(MythologicalTracker.minosInquisitors) + "\n" + EnumChatFormatting.GOLD + EnumChatFormatting.BOLD + "-------------------")); break; case "catacombs": @@ -566,21 +566,21 @@ public class LootCommand extends CommandBase { 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(LootTracker.recombobulatorsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(LootTracker.fumingPotatoBooksSession) + "\n" + - EnumChatFormatting.BLUE + " Bonzo's Staffs: " + nf.format(LootTracker.bonzoStaffsSession) + "\n" + - EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(LootTracker.f1CoinsSpentSession) + "\n" + - EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, LootTracker.f1TimeSpentSession) + "\n" + + EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + + EnumChatFormatting.BLUE + " Bonzo's Staffs: " + nf.format(CatacombsTracker.bonzoStaffsSession) + "\n" + + EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(CatacombsTracker.f1CoinsSpentSession) + "\n" + + EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, CatacombsTracker.f1TimeSpentSession) + "\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(LootTracker.recombobulators) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(LootTracker.fumingPotatoBooks) + "\n" + - EnumChatFormatting.BLUE + " Bonzo's Staffs: " + nf.format(LootTracker.bonzoStaffs) + "\n" + - EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(LootTracker.f1CoinsSpent) + "\n" + - EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, LootTracker.f1TimeSpent) + "\n" + + EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(CatacombsTracker.recombobulators) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + + EnumChatFormatting.BLUE + " Bonzo's Staffs: " + nf.format(CatacombsTracker.bonzoStaffs) + "\n" + + EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(CatacombsTracker.f1CoinsSpent) + "\n" + + EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, CatacombsTracker.f1TimeSpent) + "\n" + EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " -------------------")); break; case "f2": @@ -588,23 +588,23 @@ public class LootCommand extends CommandBase { 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(LootTracker.recombobulatorsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(LootTracker.fumingPotatoBooksSession) + "\n" + - EnumChatFormatting.BLUE + " Scarf's Studies: " + nf.format(LootTracker.scarfStudiesSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Adaptive Blades: " + nf.format(LootTracker.adaptiveSwordsSession) + "\n" + - EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(LootTracker.f2CoinsSpentSession) + "\n" + - EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, LootTracker.f2TimeSpentSession) + "\n" + + EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + + EnumChatFormatting.BLUE + " Scarf's Studies: " + nf.format(CatacombsTracker.scarfStudiesSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Adaptive Blades: " + nf.format(CatacombsTracker.adaptiveSwordsSession) + "\n" + + EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(CatacombsTracker.f2CoinsSpentSession) + "\n" + + EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, CatacombsTracker.f2TimeSpentSession) + "\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(LootTracker.recombobulators) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(LootTracker.fumingPotatoBooks) + "\n" + - EnumChatFormatting.BLUE + " Scarf's Studies: " + nf.format(LootTracker.scarfStudies) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Adaptive Blades: " + nf.format(LootTracker.adaptiveSwords) + "\n" + - EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(LootTracker.f2CoinsSpent) + "\n" + - EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, LootTracker.f2TimeSpent) + "\n" + + EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(CatacombsTracker.recombobulators) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + + EnumChatFormatting.BLUE + " Scarf's Studies: " + nf.format(CatacombsTracker.scarfStudies) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Adaptive Blades: " + nf.format(CatacombsTracker.adaptiveSwords) + "\n" + + EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(CatacombsTracker.f2CoinsSpent) + "\n" + + EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, CatacombsTracker.f2TimeSpent) + "\n" + EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " -------------------")); break; case "f3": @@ -612,27 +612,27 @@ public class LootCommand extends CommandBase { 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(LootTracker.recombobulatorsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(LootTracker.fumingPotatoBooksSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Adaptive Helmets: " + nf.format(LootTracker.adaptiveHelmsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Adaptive Chestplates: " + nf.format(LootTracker.adaptiveChestsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Adaptive Leggings: " + nf.format(LootTracker.adaptiveLegsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Adaptive Boots: " + nf.format(LootTracker.adaptiveBootsSession) + "\n" + - EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(LootTracker.f3CoinsSpentSession) + "\n" + - EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, LootTracker.f3TimeSpentSession) + "\n" + + EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Adaptive Helmets: " + nf.format(CatacombsTracker.adaptiveHelmsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Adaptive Chestplates: " + nf.format(CatacombsTracker.adaptiveChestsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Adaptive Leggings: " + nf.format(CatacombsTracker.adaptiveLegsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Adaptive Boots: " + nf.format(CatacombsTracker.adaptiveBootsSession) + "\n" + + EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(CatacombsTracker.f3CoinsSpentSession) + "\n" + + EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, CatacombsTracker.f3TimeSpentSession) + "\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(LootTracker.recombobulators) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(LootTracker.fumingPotatoBooks) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Adaptive Helmets: " + nf.format(LootTracker.adaptiveHelms) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Adaptive Chestplates: " + nf.format(LootTracker.adaptiveChests) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Adaptive Leggings: " + nf.format(LootTracker.adaptiveLegs) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Adaptive Boots: " + nf.format(LootTracker.adaptiveBoots) + "\n" + - EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(LootTracker.f3CoinsSpent) + "\n" + - EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, LootTracker.f3TimeSpent) + "\n" + + EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(CatacombsTracker.recombobulators) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Adaptive Helmets: " + nf.format(CatacombsTracker.adaptiveHelms) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Adaptive Chestplates: " + nf.format(CatacombsTracker.adaptiveChests) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Adaptive Leggings: " + nf.format(CatacombsTracker.adaptiveLegs) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Adaptive Boots: " + nf.format(CatacombsTracker.adaptiveBoots) + "\n" + + EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(CatacombsTracker.f3CoinsSpent) + "\n" + + EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, CatacombsTracker.f3TimeSpent) + "\n" + EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " -------------------")); break; case "f4": @@ -640,33 +640,33 @@ public class LootCommand extends CommandBase { 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(LootTracker.recombobulatorsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(LootTracker.fumingPotatoBooksSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Spirit Wings: " + nf.format(LootTracker.spiritWingsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Spirit Bones: " + nf.format(LootTracker.spiritBonesSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Spirit Boots: " + nf.format(LootTracker.spiritBootsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Spirit Swords: " + nf.format(LootTracker.spiritSwordsSession) + "\n" + - EnumChatFormatting.GOLD + " Spirit Bows: " + nf.format(LootTracker.spiritBowsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Epic Spirit Pets: " + nf.format(LootTracker.epicSpiritPetsSession) + "\n" + - EnumChatFormatting.GOLD + " Leg Spirit Pets: " + nf.format(LootTracker.legSpiritPetsSession) + "\n" + - EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(LootTracker.f4CoinsSpentSession) + "\n" + - EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, LootTracker.f4TimeSpentSession) + "\n" + + EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Spirit Wings: " + nf.format(CatacombsTracker.spiritWingsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Spirit Bones: " + nf.format(CatacombsTracker.spiritBonesSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Spirit Boots: " + nf.format(CatacombsTracker.spiritBootsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Spirit Swords: " + nf.format(CatacombsTracker.spiritSwordsSession) + "\n" + + EnumChatFormatting.GOLD + " Spirit Bows: " + nf.format(CatacombsTracker.spiritBowsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Epic Spirit Pets: " + nf.format(CatacombsTracker.epicSpiritPetsSession) + "\n" + + EnumChatFormatting.GOLD + " Leg Spirit Pets: " + nf.format(CatacombsTracker.legSpiritPetsSession) + "\n" + + EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(CatacombsTracker.f4CoinsSpentSession) + "\n" + + EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, CatacombsTracker.f4TimeSpentSession) + "\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(LootTracker.recombobulators) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(LootTracker.fumingPotatoBooks) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Spirit Wings: " + nf.format(LootTracker.spiritWings) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Spirit Bones: " + nf.format(LootTracker.spiritBones) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Spirit Boots: " + nf.format(LootTracker.spiritBoots) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Spirit Swords: " + nf.format(LootTracker.spiritSwords) + "\n" + - EnumChatFormatting.GOLD + " Spirit Bows: " + nf.format(LootTracker.spiritBows) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Epic Spirit Pets: " + nf.format(LootTracker.epicSpiritPets) + "\n" + - EnumChatFormatting.GOLD + " Leg Spirit Pets: " + nf.format(LootTracker.legSpiritPets) + "\n" + - EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(LootTracker.f4CoinsSpent) + "\n" + - EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, LootTracker.f4TimeSpent) + "\n" + + EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(CatacombsTracker.recombobulators) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Spirit Wings: " + nf.format(CatacombsTracker.spiritWings) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Spirit Bones: " + nf.format(CatacombsTracker.spiritBones) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Spirit Boots: " + nf.format(CatacombsTracker.spiritBoots) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Spirit Swords: " + nf.format(CatacombsTracker.spiritSwords) + "\n" + + EnumChatFormatting.GOLD + " Spirit Bows: " + nf.format(CatacombsTracker.spiritBows) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Epic Spirit Pets: " + nf.format(CatacombsTracker.epicSpiritPets) + "\n" + + EnumChatFormatting.GOLD + " Leg Spirit Pets: " + nf.format(CatacombsTracker.legSpiritPets) + "\n" + + EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(CatacombsTracker.f4CoinsSpent) + "\n" + + EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, CatacombsTracker.f4TimeSpent) + "\n" + EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " -------------------")); break; case "f5": @@ -674,35 +674,35 @@ public class LootCommand extends CommandBase { if (showSession) { player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs F5 Summary (Current Session):\n" + - EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(LootTracker.recombobulatorsSession) + "\n" + - EnumChatFormatting.BLUE + " Warped Stones: " + nf.format(LootTracker.warpedStonesSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(LootTracker.fumingPotatoBooksSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Shadow Assassin Helmets: " + nf.format(LootTracker.shadowAssHelmsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Shadow Assassin Chests: " + nf.format(LootTracker.shadowAssChestsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Shadow Assassin Legs: " + nf.format(LootTracker.shadowAssLegsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Shadow Assassin Boots: " + nf.format(LootTracker.shadowAssBootsSession) + "\n" + - EnumChatFormatting.GOLD + " Last Breaths: " + nf.format(LootTracker.lastBreathsSession) + "\n" + - EnumChatFormatting.GOLD + " Livid Daggers: " + nf.format(LootTracker.lividDaggersSession) + "\n" + - EnumChatFormatting.GOLD + " Shadow Furys: " + nf.format(LootTracker.shadowFurysSession) + "\n" + - EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(LootTracker.f5CoinsSpentSession) + "\n" + - EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, LootTracker.f5TimeSpentSession) + "\n" + + EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + + EnumChatFormatting.BLUE + " Warped Stones: " + nf.format(CatacombsTracker.warpedStonesSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Shadow Assassin Helmets: " + nf.format(CatacombsTracker.shadowAssHelmsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Shadow Assassin Chests: " + nf.format(CatacombsTracker.shadowAssChestsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Shadow Assassin Legs: " + nf.format(CatacombsTracker.shadowAssLegsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Shadow Assassin Boots: " + nf.format(CatacombsTracker.shadowAssBootsSession) + "\n" + + EnumChatFormatting.GOLD + " Last Breaths: " + nf.format(CatacombsTracker.lastBreathsSession) + "\n" + + EnumChatFormatting.GOLD + " Livid Daggers: " + nf.format(CatacombsTracker.lividDaggersSession) + "\n" + + EnumChatFormatting.GOLD + " Shadow Furys: " + nf.format(CatacombsTracker.shadowFurysSession) + "\n" + + EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(CatacombsTracker.f5CoinsSpentSession) + "\n" + + EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, CatacombsTracker.f5TimeSpentSession) + "\n" + EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " -------------------")); return; } player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs F5 Summary:\n" + - EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(LootTracker.recombobulators) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(LootTracker.fumingPotatoBooks) + "\n" + - EnumChatFormatting.BLUE + " Warped Stones: " + nf.format(LootTracker.warpedStones) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Shadow Assassin Helmets: " + nf.format(LootTracker.shadowAssHelms) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Shadow Assassin Chests: " + nf.format(LootTracker.shadowAssChests) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Shadow Assassin Legs: " + nf.format(LootTracker.shadowAssLegs) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Shadow Assassin Boots: " + nf.format(LootTracker.shadowAssBoots) + "\n" + - EnumChatFormatting.GOLD + " Last Breaths: " + nf.format(LootTracker.lastBreaths) + "\n" + - EnumChatFormatting.GOLD + " Livid Daggers: " + nf.format(LootTracker.lividDaggers) + "\n" + - EnumChatFormatting.GOLD + " Shadow Furys: " + nf.format(LootTracker.shadowFurys) + "\n" + - EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(LootTracker.f5CoinsSpent) + "\n" + - EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, LootTracker.f5TimeSpent) + "\n" + + EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(CatacombsTracker.recombobulators) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + + EnumChatFormatting.BLUE + " Warped Stones: " + nf.format(CatacombsTracker.warpedStones) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Shadow Assassin Helmets: " + nf.format(CatacombsTracker.shadowAssHelms) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Shadow Assassin Chests: " + nf.format(CatacombsTracker.shadowAssChests) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Shadow Assassin Legs: " + nf.format(CatacombsTracker.shadowAssLegs) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Shadow Assassin Boots: " + nf.format(CatacombsTracker.shadowAssBoots) + "\n" + + EnumChatFormatting.GOLD + " Last Breaths: " + nf.format(CatacombsTracker.lastBreaths) + "\n" + + EnumChatFormatting.GOLD + " Livid Daggers: " + nf.format(CatacombsTracker.lividDaggers) + "\n" + + EnumChatFormatting.GOLD + " Shadow Furys: " + nf.format(CatacombsTracker.shadowFurys) + "\n" + + EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(CatacombsTracker.f5CoinsSpent) + "\n" + + EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, CatacombsTracker.f5TimeSpent) + "\n" + EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " -------------------")); break; case "f6": @@ -710,35 +710,35 @@ public class LootCommand extends CommandBase { if (showSession) { player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs F6 Summary (Current Session):\n" + - EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(LootTracker.recombobulatorsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(LootTracker.fumingPotatoBooksSession) + "\n" + - EnumChatFormatting.BLUE + " Ancient Roses: " + nf.format(LootTracker.ancientRosesSession) + "\n" + - EnumChatFormatting.GOLD + " Precursor Eyes: " + nf.format(LootTracker.precursorEyesSession) + "\n" + - EnumChatFormatting.GOLD + " Giant's Swords: " + nf.format(LootTracker.giantsSwordsSession) + "\n" + - EnumChatFormatting.GOLD + " Necro Lord Helmets: " + nf.format(LootTracker.necroLordHelmsSession) + "\n" + - EnumChatFormatting.GOLD + " Necro Lord Chestplates: " + nf.format(LootTracker.necroLordChestsSession) + "\n" + - EnumChatFormatting.GOLD + " Necro Lord Leggings: " + nf.format(LootTracker.necroLordLegsSession) + "\n" + - EnumChatFormatting.GOLD + " Necro Lord Boots: " + nf.format(LootTracker.necroLordBootsSession) + "\n" + - EnumChatFormatting.GOLD + " Necro Swords: " + nf.format(LootTracker.necroSwordsSession) + "\n" + - EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(LootTracker.f6CoinsSpentSession) + "\n" + - EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, LootTracker.f6TimeSpentSession) + "\n" + + EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + + EnumChatFormatting.BLUE + " Ancient Roses: " + nf.format(CatacombsTracker.ancientRosesSession) + "\n" + + EnumChatFormatting.GOLD + " Precursor Eyes: " + nf.format(CatacombsTracker.precursorEyesSession) + "\n" + + EnumChatFormatting.GOLD + " Giant's Swords: " + nf.format(CatacombsTracker.giantsSwordsSession) + "\n" + + EnumChatFormatting.GOLD + " Necro Lord Helmets: " + nf.format(CatacombsTracker.necroLordHelmsSession) + "\n" + + EnumChatFormatting.GOLD + " Necro Lord Chestplates: " + nf.format(CatacombsTracker.necroLordChestsSession) + "\n" + + EnumChatFormatting.GOLD + " Necro Lord Leggings: " + nf.format(CatacombsTracker.necroLordLegsSession) + "\n" + + EnumChatFormatting.GOLD + " Necro Lord Boots: " + nf.format(CatacombsTracker.necroLordBootsSession) + "\n" + + EnumChatFormatting.GOLD + " Necro Swords: " + nf.format(CatacombsTracker.necroSwordsSession) + "\n" + + EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(CatacombsTracker.f6CoinsSpentSession) + "\n" + + EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, CatacombsTracker.f6TimeSpentSession) + "\n" + EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " -------------------")); return; } player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs F6 Summary:\n" + - EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(LootTracker.recombobulators) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(LootTracker.fumingPotatoBooks) + "\n" + - EnumChatFormatting.BLUE + " Ancient Roses: " + nf.format(LootTracker.ancientRoses) + "\n" + - EnumChatFormatting.GOLD + " Precursor Eyes: " + nf.format(LootTracker.precursorEyes) + "\n" + - EnumChatFormatting.GOLD + " Giant's Swords: " + nf.format(LootTracker.giantsSwords) + "\n" + - EnumChatFormatting.GOLD + " Necro Lord Helmets: " + nf.format(LootTracker.necroLordHelms) + "\n" + - EnumChatFormatting.GOLD + " Necro Lord Chestplates: " + nf.format(LootTracker.necroLordChests) + "\n" + - EnumChatFormatting.GOLD + " Necro Lord Leggings: " + nf.format(LootTracker.necroLordLegs) + "\n" + - EnumChatFormatting.GOLD + " Necro Lord Boots: " + nf.format(LootTracker.necroLordBoots) + "\n" + - EnumChatFormatting.GOLD + " Necro Swords: " + nf.format(LootTracker.necroSwords) + "\n" + - EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(LootTracker.f6CoinsSpent) + "\n" + - EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, LootTracker.f6TimeSpent) + "\n" + + EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(CatacombsTracker.recombobulators) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + + EnumChatFormatting.BLUE + " Ancient Roses: " + nf.format(CatacombsTracker.ancientRoses) + "\n" + + EnumChatFormatting.GOLD + " Precursor Eyes: " + nf.format(CatacombsTracker.precursorEyes) + "\n" + + EnumChatFormatting.GOLD + " Giant's Swords: " + nf.format(CatacombsTracker.giantsSwords) + "\n" + + EnumChatFormatting.GOLD + " Necro Lord Helmets: " + nf.format(CatacombsTracker.necroLordHelms) + "\n" + + EnumChatFormatting.GOLD + " Necro Lord Chestplates: " + nf.format(CatacombsTracker.necroLordChests) + "\n" + + EnumChatFormatting.GOLD + " Necro Lord Leggings: " + nf.format(CatacombsTracker.necroLordLegs) + "\n" + + EnumChatFormatting.GOLD + " Necro Lord Boots: " + nf.format(CatacombsTracker.necroLordBoots) + "\n" + + EnumChatFormatting.GOLD + " Necro Swords: " + nf.format(CatacombsTracker.necroSwords) + "\n" + + EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(CatacombsTracker.f6CoinsSpent) + "\n" + + EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, CatacombsTracker.f6TimeSpent) + "\n" + EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " -------------------")); break; case "f7": @@ -746,41 +746,41 @@ public class LootCommand extends CommandBase { if (showSession) { player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs F7 Summary (Current Session):\n" + - EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(LootTracker.recombobulatorsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(LootTracker.fumingPotatoBooksSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Wither Bloods: " + nf.format(LootTracker.witherBloodsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Wither Cloaks: " + nf.format(LootTracker.witherCloaksSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Implosions: " + nf.format(LootTracker.implosionsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Wither Shields: " + nf.format(LootTracker.witherShieldsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Shadow Warps: " + nf.format(LootTracker.shadowWarpsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Necron's Handles: " + nf.format(LootTracker.necronsHandlesSession) + "\n" + - EnumChatFormatting.GOLD + " Auto Recombobulator: " + nf.format(LootTracker.autoRecombsSession) + "\n" + - EnumChatFormatting.GOLD + " Wither Helmets: " + nf.format(LootTracker.witherHelmsSession) + "\n" + - EnumChatFormatting.GOLD + " Wither Chesplates: " + nf.format(LootTracker.witherChestsSession) + "\n" + - EnumChatFormatting.GOLD + " Wither Leggings: " + nf.format(LootTracker.witherLegsSession) + "\n" + - EnumChatFormatting.GOLD + " Wither Boots: " + nf.format(LootTracker.witherBootsSession) + "\n" + - EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(LootTracker.f7CoinsSpentSession) + "\n" + - EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, LootTracker.f7TimeSpentSession) + "\n" + + EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Wither Bloods: " + nf.format(CatacombsTracker.witherBloodsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Wither Cloaks: " + nf.format(CatacombsTracker.witherCloaksSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Implosions: " + nf.format(CatacombsTracker.implosionsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Wither Shields: " + nf.format(CatacombsTracker.witherShieldsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Shadow Warps: " + nf.format(CatacombsTracker.shadowWarpsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Necron's Handles: " + nf.format(CatacombsTracker.necronsHandlesSession) + "\n" + + EnumChatFormatting.GOLD + " Auto Recombobulator: " + nf.format(CatacombsTracker.autoRecombsSession) + "\n" + + EnumChatFormatting.GOLD + " Wither Helmets: " + nf.format(CatacombsTracker.witherHelmsSession) + "\n" + + EnumChatFormatting.GOLD + " Wither Chesplates: " + nf.format(CatacombsTracker.witherChestsSession) + "\n" + + EnumChatFormatting.GOLD + " Wither Leggings: " + nf.format(CatacombsTracker.witherLegsSession) + "\n" + + EnumChatFormatting.GOLD + " Wither Boots: " + nf.format(CatacombsTracker.witherBootsSession) + "\n" + + EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(CatacombsTracker.f7CoinsSpentSession) + "\n" + + EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, CatacombsTracker.f7TimeSpentSession) + "\n" + EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " -------------------")); return; } player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs F7 Summary:\n" + - EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(LootTracker.recombobulators) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(LootTracker.fumingPotatoBooks) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Wither Bloods: " + nf.format(LootTracker.witherBloods) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Wither Cloaks: " + nf.format(LootTracker.witherCloaks) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Implosions: " + nf.format(LootTracker.implosions) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Wither Shields: " + nf.format(LootTracker.witherShields) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Shadow Warps: " + nf.format(LootTracker.shadowWarps) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Necron's Handles: " + nf.format(LootTracker.necronsHandles) + "\n" + - EnumChatFormatting.GOLD + " Auto Recombobulator: " + nf.format(LootTracker.autoRecombs) + "\n" + - EnumChatFormatting.GOLD + " Wither Helmets: " + nf.format(LootTracker.witherHelms) + "\n" + - EnumChatFormatting.GOLD + " Wither Chesplates: " + nf.format(LootTracker.witherChests) + "\n" + - EnumChatFormatting.GOLD + " Wither Leggings: " + nf.format(LootTracker.witherLegs) + "\n" + - EnumChatFormatting.GOLD + " Wither Boots: " + nf.format(LootTracker.witherBoots) + "\n" + - EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(LootTracker.f7CoinsSpent) + "\n" + - EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, LootTracker.f7TimeSpent) + "\n" + + EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(CatacombsTracker.recombobulators) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Wither Bloods: " + nf.format(CatacombsTracker.witherBloods) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Wither Cloaks: " + nf.format(CatacombsTracker.witherCloaks) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Implosions: " + nf.format(CatacombsTracker.implosions) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Wither Shields: " + nf.format(CatacombsTracker.witherShields) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Shadow Warps: " + nf.format(CatacombsTracker.shadowWarps) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Necron's Handles: " + nf.format(CatacombsTracker.necronsHandles) + "\n" + + EnumChatFormatting.GOLD + " Auto Recombobulator: " + nf.format(CatacombsTracker.autoRecombs) + "\n" + + EnumChatFormatting.GOLD + " Wither Helmets: " + nf.format(CatacombsTracker.witherHelms) + "\n" + + EnumChatFormatting.GOLD + " Wither Chesplates: " + nf.format(CatacombsTracker.witherChests) + "\n" + + EnumChatFormatting.GOLD + " Wither Leggings: " + nf.format(CatacombsTracker.witherLegs) + "\n" + + EnumChatFormatting.GOLD + " Wither Boots: " + nf.format(CatacombsTracker.witherBoots) + "\n" + + EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(CatacombsTracker.f7CoinsSpent) + "\n" + + EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, CatacombsTracker.f7TimeSpent) + "\n" + EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " -------------------")); break; default: diff --git a/src/main/java/me/Danker/commands/ResetLootCommand.java b/src/main/java/me/Danker/commands/ResetLootCommand.java index e13b1a5..974d50c 100644 --- a/src/main/java/me/Danker/commands/ResetLootCommand.java +++ b/src/main/java/me/Danker/commands/ResetLootCommand.java @@ -1,7 +1,7 @@ package me.Danker.commands; import me.Danker.DankersSkyblockMod; -import me.Danker.features.loot.LootTracker; +import me.Danker.features.loot.*; import me.Danker.handlers.ConfigHandler; import net.minecraft.command.CommandBase; import net.minecraft.command.CommandException; @@ -122,195 +122,195 @@ public class ResetLootCommand extends CommandBase { } static void resetZombie() { - LootTracker.zombieRevsSession = 0; - LootTracker.zombieRevFleshSession = 0; - LootTracker.zombieRevVisceraSession = 0; - LootTracker.zombieFoulFleshSession = 0; - LootTracker.zombieFoulFleshDropsSession = 0; - LootTracker.zombiePestilencesSession = 0; - LootTracker.zombieUndeadCatasSession = 0; - LootTracker.zombieBooksSession = 0; - LootTracker.zombieBeheadedsSession = 0; - LootTracker.zombieRevCatasSession = 0; - LootTracker.zombieSnakesSession = 0; - LootTracker.zombieScythesSession = 0; - LootTracker.zombieTimeSession = -1; - LootTracker.zombieBossesSession = -1; + ZombieTracker.zombieRevsSession = 0; + ZombieTracker.zombieRevFleshSession = 0; + ZombieTracker.zombieRevVisceraSession = 0; + ZombieTracker.zombieFoulFleshSession = 0; + ZombieTracker.zombieFoulFleshDropsSession = 0; + ZombieTracker.zombiePestilencesSession = 0; + ZombieTracker.zombieUndeadCatasSession = 0; + ZombieTracker.zombieBooksSession = 0; + ZombieTracker.zombieBeheadedsSession = 0; + ZombieTracker.zombieRevCatasSession = 0; + ZombieTracker.zombieSnakesSession = 0; + ZombieTracker.zombieScythesSession = 0; + ZombieTracker.zombieTimeSession = -1; + ZombieTracker.zombieBossesSession = -1; ConfigHandler.deleteCategory("zombie"); ConfigHandler.reloadConfig(); } static void resetSpider() { - LootTracker.spiderTarantulasSession = 0; - LootTracker.spiderWebsSession = 0; - LootTracker.spiderTAPSession = 0; - LootTracker.spiderTAPDropsSession = 0; - LootTracker.spiderBitesSession = 0; - LootTracker.spiderCatalystsSession = 0; - LootTracker.spiderBooksSession = 0; - LootTracker.spiderSwattersSession = 0; - LootTracker.spiderTalismansSession = 0; - LootTracker.spiderMosquitosSession = 0; - LootTracker.spiderTimeSession = -1; - LootTracker.spiderBossesSession = -1; + SpiderTracker.spiderTarantulasSession = 0; + SpiderTracker.spiderWebsSession = 0; + SpiderTracker.spiderTAPSession = 0; + SpiderTracker.spiderTAPDropsSession = 0; + SpiderTracker.spiderBitesSession = 0; + SpiderTracker.spiderCatalystsSession = 0; + SpiderTracker.spiderBooksSession = 0; + SpiderTracker.spiderSwattersSession = 0; + SpiderTracker.spiderTalismansSession = 0; + SpiderTracker.spiderMosquitosSession = 0; + SpiderTracker.spiderTimeSession = -1; + SpiderTracker.spiderBossesSession = -1; ConfigHandler.deleteCategory("spider"); ConfigHandler.reloadConfig(); } static void resetWolf() { - LootTracker.wolfSvensSession = 0; - LootTracker.wolfTeethSession = 0; - LootTracker.wolfWheelsSession = 0; - LootTracker.wolfWheelsDropsSession = 0; - LootTracker.wolfSpiritsSession = 0; - LootTracker.wolfBooksSession = 0; - LootTracker.wolfEggsSession = 0; - LootTracker.wolfCouturesSession = 0; - LootTracker.wolfBaitsSession = 0; - LootTracker.wolfFluxesSession = 0; - LootTracker.wolfTimeSession = -1; - LootTracker.wolfBossesSession = -1; + WolfTracker.wolfSvensSession = 0; + WolfTracker.wolfTeethSession = 0; + WolfTracker.wolfWheelsSession = 0; + WolfTracker.wolfWheelsDropsSession = 0; + WolfTracker.wolfSpiritsSession = 0; + WolfTracker.wolfBooksSession = 0; + WolfTracker.wolfEggsSession = 0; + WolfTracker.wolfCouturesSession = 0; + WolfTracker.wolfBaitsSession = 0; + WolfTracker.wolfFluxesSession = 0; + WolfTracker.wolfTimeSession = -1; + WolfTracker.wolfBossesSession = -1; ConfigHandler.deleteCategory("wolf"); ConfigHandler.reloadConfig(); } static void resetEnderman() { - LootTracker.endermanVoidgloomsSession = 0; - LootTracker.endermanNullSpheresSession = 0; - LootTracker.endermanTAPSession = 0; - LootTracker.endermanTAPDropsSession = 0; - LootTracker.endermanEndersnakesSession = 0; - LootTracker.endermanSummoningEyesSession = 0; - LootTracker.endermanManaBooksSession = 0; - LootTracker.endermanTunersSession = 0; - LootTracker.endermanAtomsSession = 0; - LootTracker.endermanEspressoMachinesSession = 0; - LootTracker.endermanSmartyBooksSession = 0; - LootTracker.endermanEndRunesSession = 0; - LootTracker.endermanChalicesSession = 0; - LootTracker.endermanDiceSession = 0; - LootTracker.endermanArtifactsSession = 0; - LootTracker.endermanSkinsSession = 0; - LootTracker.endermanMergersSession = 0; - LootTracker.endermanCoresSession = 0; - LootTracker.endermanEnchantRunesSession = 0; - LootTracker.endermanEnderBooksSession = 0; - LootTracker.endermanTimeSession = -1; - LootTracker.endermanBossesSession = -1; + EndermanTracker.endermanVoidgloomsSession = 0; + EndermanTracker.endermanNullSpheresSession = 0; + EndermanTracker.endermanTAPSession = 0; + EndermanTracker.endermanTAPDropsSession = 0; + EndermanTracker.endermanEndersnakesSession = 0; + EndermanTracker.endermanSummoningEyesSession = 0; + EndermanTracker.endermanManaBooksSession = 0; + EndermanTracker.endermanTunersSession = 0; + EndermanTracker.endermanAtomsSession = 0; + EndermanTracker.endermanEspressoMachinesSession = 0; + EndermanTracker.endermanSmartyBooksSession = 0; + EndermanTracker.endermanEndRunesSession = 0; + EndermanTracker.endermanChalicesSession = 0; + EndermanTracker.endermanDiceSession = 0; + EndermanTracker.endermanArtifactsSession = 0; + EndermanTracker.endermanSkinsSession = 0; + EndermanTracker.endermanMergersSession = 0; + EndermanTracker.endermanCoresSession = 0; + EndermanTracker.endermanEnchantRunesSession = 0; + EndermanTracker.endermanEnderBooksSession = 0; + EndermanTracker.endermanTimeSession = -1; + EndermanTracker.endermanBossesSession = -1; ConfigHandler.deleteCategory("enderman"); ConfigHandler.reloadConfig(); } static void resetFishing() { - LootTracker.seaCreaturesSession = 0; - LootTracker.goodCatchesSession = 0; - LootTracker.greatCatchesSession = 0; - LootTracker.squidsSession = 0; - LootTracker.seaWalkersSession = 0; - LootTracker.nightSquidsSession = 0; - LootTracker.seaGuardiansSession = 0; - LootTracker.seaWitchesSession = 0; - LootTracker.seaArchersSession = 0; - LootTracker.monsterOfTheDeepsSession = 0; - LootTracker.catfishesSession = 0; - LootTracker.carrotKingsSession = 0; - LootTracker.seaLeechesSession = 0; - LootTracker.guardianDefendersSession = 0; - LootTracker.deepSeaProtectorsSession = 0; - LootTracker.hydrasSession = 0; - LootTracker.seaEmperorsSession = 0; - LootTracker.empTimeSession = -1; - LootTracker.empSCsSession = -1; - LootTracker.fishingMilestoneSession = 0; - LootTracker.frozenStevesSession = 0; - LootTracker.frostyTheSnowmansSession = 0; - LootTracker.grinchesSession = 0; - LootTracker.yetisSession = 0; - LootTracker.yetiTimeSession = -1; - LootTracker.yetiSCsSession = -1; - LootTracker.nurseSharksSession = 0; - LootTracker.blueSharksSession = 0; - LootTracker.tigerSharksSession = 0; - LootTracker.greatWhiteSharksSession = 0; - LootTracker.scarecrowsSession = 0; - LootTracker.nightmaresSession = 0; - LootTracker.werewolfsSession = 0; - LootTracker.phantomFishersSession = 0; - LootTracker.grimReapersSession = 0; + FishingTracker.seaCreaturesSession = 0; + FishingTracker.goodCatchesSession = 0; + FishingTracker.greatCatchesSession = 0; + FishingTracker.squidsSession = 0; + FishingTracker.seaWalkersSession = 0; + FishingTracker.nightSquidsSession = 0; + FishingTracker.seaGuardiansSession = 0; + FishingTracker.seaWitchesSession = 0; + FishingTracker.seaArchersSession = 0; + FishingTracker.monsterOfTheDeepsSession = 0; + FishingTracker.catfishesSession = 0; + FishingTracker.carrotKingsSession = 0; + FishingTracker.seaLeechesSession = 0; + FishingTracker.guardianDefendersSession = 0; + FishingTracker.deepSeaProtectorsSession = 0; + FishingTracker.hydrasSession = 0; + FishingTracker.seaEmperorsSession = 0; + FishingTracker.empTimeSession = -1; + FishingTracker.empSCsSession = -1; + FishingTracker.fishingMilestoneSession = 0; + FishingTracker.frozenStevesSession = 0; + FishingTracker.frostyTheSnowmansSession = 0; + FishingTracker.grinchesSession = 0; + FishingTracker.yetisSession = 0; + FishingTracker.yetiTimeSession = -1; + FishingTracker.yetiSCsSession = -1; + FishingTracker.nurseSharksSession = 0; + FishingTracker.blueSharksSession = 0; + FishingTracker.tigerSharksSession = 0; + FishingTracker.greatWhiteSharksSession = 0; + FishingTracker.scarecrowsSession = 0; + FishingTracker.nightmaresSession = 0; + FishingTracker.werewolfsSession = 0; + FishingTracker.phantomFishersSession = 0; + FishingTracker.grimReapersSession = 0; ConfigHandler.deleteCategory("fishing"); ConfigHandler.reloadConfig(); } static void resetMythological() { - LootTracker.mythCoinsSession = 0; - LootTracker.griffinFeathersSession = 0; - LootTracker.crownOfGreedsSession = 0; - LootTracker.washedUpSouvenirsSession = 0; - LootTracker.minosHuntersSession = 0; - LootTracker.siameseLynxesSession = 0; - LootTracker.minotaursSession = 0; - LootTracker.gaiaConstructsSession = 0; - LootTracker.minosChampionsSession = 0; - LootTracker.minosInquisitorsSession = 0; + MythologicalTracker.mythCoinsSession = 0; + MythologicalTracker.griffinFeathersSession = 0; + MythologicalTracker.crownOfGreedsSession = 0; + MythologicalTracker.washedUpSouvenirsSession = 0; + MythologicalTracker.minosHuntersSession = 0; + MythologicalTracker.siameseLynxesSession = 0; + MythologicalTracker.minotaursSession = 0; + MythologicalTracker.gaiaConstructsSession = 0; + MythologicalTracker.minosChampionsSession = 0; + MythologicalTracker.minosInquisitorsSession = 0; ConfigHandler.deleteCategory("mythological"); ConfigHandler.reloadConfig(); } static void resetCatacombs() { - LootTracker.recombobulatorsSession = 0; - LootTracker.fumingPotatoBooksSession = 0; - LootTracker.bonzoStaffsSession = 0; - LootTracker.f1CoinsSpentSession = 0; - LootTracker.f1TimeSpentSession = 0; - LootTracker.scarfStudiesSession = 0; - LootTracker.f2CoinsSpentSession = 0; - LootTracker.f2TimeSpentSession = 0; - LootTracker.adaptiveHelmsSession = 0; - LootTracker.adaptiveChestsSession = 0; - LootTracker.adaptiveLegsSession = 0; - LootTracker.adaptiveBootsSession = 0; - LootTracker.adaptiveSwordsSession = 0; - LootTracker.f3CoinsSpentSession = 0; - LootTracker.f3TimeSpentSession = 0; - LootTracker.spiritWingsSession = 0; - LootTracker.spiritBonesSession = 0; - LootTracker.spiritBootsSession = 0; - LootTracker.spiritSwordsSession = 0; - LootTracker.epicSpiritPetsSession = 0; - LootTracker.f4CoinsSpentSession = 0; - LootTracker.f4TimeSpentSession = 0; - LootTracker.warpedStonesSession = 0; - LootTracker.shadowAssHelmsSession = 0; - LootTracker.shadowAssChestsSession = 0; - LootTracker.shadowAssLegsSession = 0; - LootTracker.shadowAssBootsSession = 0; - LootTracker.lividDaggersSession = 0; - LootTracker.shadowFurysSession = 0; - LootTracker.f5CoinsSpentSession = 0; - LootTracker.f5TimeSpentSession = 0; - LootTracker.ancientRosesSession = 0; - LootTracker.precursorEyesSession = 0; - LootTracker.giantsSwordsSession = 0; - LootTracker.necroLordHelmsSession = 0; - LootTracker.necroLordChestsSession = 0; - LootTracker.necroLordLegsSession = 0; - LootTracker.necroLordBootsSession = 0; - LootTracker.necroSwordsSession = 0; - LootTracker.f6CoinsSpentSession = 0; - LootTracker.f6TimeSpentSession = 0; - LootTracker.witherBloodsSession = 0; - LootTracker.witherCloaksSession = 0; - LootTracker.implosionsSession = 0; - LootTracker.witherShieldsSession = 0; - LootTracker.shadowWarpsSession = 0; - LootTracker.necronsHandlesSession = 0; - LootTracker.autoRecombsSession = 0; - LootTracker.witherHelmsSession = 0; - LootTracker.witherChestsSession = 0; - LootTracker.witherLegsSession = 0; - LootTracker.witherBootsSession = 0; - LootTracker.f7CoinsSpentSession = 0; - LootTracker.f7TimeSpentSession = 0; + CatacombsTracker.recombobulatorsSession = 0; + CatacombsTracker.fumingPotatoBooksSession = 0; + CatacombsTracker.bonzoStaffsSession = 0; + CatacombsTracker.f1CoinsSpentSession = 0; + CatacombsTracker.f1TimeSpentSession = 0; + CatacombsTracker.scarfStudiesSession = 0; + CatacombsTracker.f2CoinsSpentSession = 0; + CatacombsTracker.f2TimeSpentSession = 0; + CatacombsTracker.adaptiveHelmsSession = 0; + CatacombsTracker.adaptiveChestsSession = 0; + CatacombsTracker.adaptiveLegsSession = 0; + CatacombsTracker.adaptiveBootsSession = 0; + CatacombsTracker.adaptiveSwordsSession = 0; + CatacombsTracker.f3CoinsSpentSession = 0; + CatacombsTracker.f3TimeSpentSession = 0; + CatacombsTracker.spiritWingsSession = 0; + CatacombsTracker.spiritBonesSession = 0; + CatacombsTracker.spiritBootsSession = 0; + CatacombsTracker.spiritSwordsSession = 0; + CatacombsTracker.epicSpiritPetsSession = 0; + CatacombsTracker.f4CoinsSpentSession = 0; + CatacombsTracker.f4TimeSpentSession = 0; + CatacombsTracker.warpedStonesSession = 0; + CatacombsTracker.shadowAssHelmsSession = 0; + CatacombsTracker.shadowAssChestsSession = 0; + CatacombsTracker.shadowAssLegsSession = 0; + CatacombsTracker.shadowAssBootsSession = 0; + CatacombsTracker.lividDaggersSession = 0; + CatacombsTracker.shadowFurysSession = 0; + CatacombsTracker.f5CoinsSpentSession = 0; + CatacombsTracker.f5TimeSpentSession = 0; + CatacombsTracker.ancientRosesSession = 0; + CatacombsTracker.precursorEyesSession = 0; + CatacombsTracker.giantsSwordsSession = 0; + CatacombsTracker.necroLordHelmsSession = 0; + CatacombsTracker.necroLordChestsSession = 0; + CatacombsTracker.necroLordLegsSession = 0; + CatacombsTracker.necroLordBootsSession = 0; + CatacombsTracker.necroSwordsSession = 0; + CatacombsTracker.f6CoinsSpentSession = 0; + CatacombsTracker.f6TimeSpentSession = 0; + CatacombsTracker.witherBloodsSession = 0; + CatacombsTracker.witherCloaksSession = 0; + CatacombsTracker.implosionsSession = 0; + CatacombsTracker.witherShieldsSession = 0; + CatacombsTracker.shadowWarpsSession = 0; + CatacombsTracker.necronsHandlesSession = 0; + CatacombsTracker.autoRecombsSession = 0; + CatacombsTracker.witherHelmsSession = 0; + CatacombsTracker.witherChestsSession = 0; + CatacombsTracker.witherLegsSession = 0; + CatacombsTracker.witherBootsSession = 0; + CatacombsTracker.f7CoinsSpentSession = 0; + CatacombsTracker.f7TimeSpentSession = 0; ConfigHandler.deleteCategory("catacombs"); ConfigHandler.reloadConfig(); } diff --git a/src/main/java/me/Danker/events/PacketReadEvent.java b/src/main/java/me/Danker/events/PacketReadEvent.java new file mode 100644 index 0000000..0f3ed7e --- /dev/null +++ b/src/main/java/me/Danker/events/PacketReadEvent.java @@ -0,0 +1,16 @@ +package me.Danker.events; + +import net.minecraft.network.Packet; +import net.minecraftforge.fml.common.eventhandler.Cancelable; +import net.minecraftforge.fml.common.eventhandler.Event; + +@Cancelable +public class PacketReadEvent extends Event { + + public Packet packet; + + public PacketReadEvent(Packet packet) { + this.packet = packet; + } + +} diff --git a/src/main/java/me/Danker/events/PacketWriteEvent.java b/src/main/java/me/Danker/events/PacketWriteEvent.java new file mode 100644 index 0000000..8af5a60 --- /dev/null +++ b/src/main/java/me/Danker/events/PacketWriteEvent.java @@ -0,0 +1,16 @@ +package me.Danker.events; + +import net.minecraft.network.Packet; +import net.minecraftforge.fml.common.eventhandler.Cancelable; +import net.minecraftforge.fml.common.eventhandler.Event; + +@Cancelable +public class PacketWriteEvent extends Event { + + public Packet packet; + + public PacketWriteEvent(Packet packet) { + this.packet = packet; + } + +} diff --git a/src/main/java/me/Danker/events/RenderOverlay.java b/src/main/java/me/Danker/events/RenderOverlay.java deleted file mode 100644 index 06c181f..0000000 --- a/src/main/java/me/Danker/events/RenderOverlay.java +++ /dev/null @@ -1,6 +0,0 @@ -package me.Danker.events; - -import net.minecraftforge.fml.common.eventhandler.Event; - -public class RenderOverlay extends Event { -} diff --git a/src/main/java/me/Danker/events/RenderOverlayEvent.java b/src/main/java/me/Danker/events/RenderOverlayEvent.java new file mode 100644 index 0000000..64264bd --- /dev/null +++ b/src/main/java/me/Danker/events/RenderOverlayEvent.java @@ -0,0 +1,6 @@ +package me.Danker.events; + +import net.minecraftforge.fml.common.eventhandler.Event; + +public class RenderOverlayEvent extends Event { +} diff --git a/src/main/java/me/Danker/features/ArachneESP.java b/src/main/java/me/Danker/features/ArachneESP.java index 1848a9b..807cfb1 100644 --- a/src/main/java/me/Danker/features/ArachneESP.java +++ b/src/main/java/me/Danker/features/ArachneESP.java @@ -1,7 +1,7 @@ package me.Danker.features; import me.Danker.commands.ToggleCommand; -import me.Danker.handlers.ScoreboardHandler; +import me.Danker.utils.RenderUtils; import me.Danker.utils.Utils; import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; @@ -57,7 +57,7 @@ public class ArachneESP { if (arachne != null) { if (arachneActive && ToggleCommand.highlightArachne) { AxisAlignedBB aabb = new AxisAlignedBB(arachne.posX - 0.75, arachne.posY - 1, arachne.posZ - 0.75, arachne.posX + 0.75, arachne.posY, arachne.posZ + 0.75); - Utils.draw3DBox(aabb, ARACHANE_COLOUR, event.partialTicks); + RenderUtils.draw3DBox(aabb, ARACHANE_COLOUR, event.partialTicks); } } } diff --git a/src/main/java/me/Danker/features/BonzoMaskTimer.java b/src/main/java/me/Danker/features/BonzoMaskTimer.java index e038786..e27d0bf 100644 --- a/src/main/java/me/Danker/features/BonzoMaskTimer.java +++ b/src/main/java/me/Danker/features/BonzoMaskTimer.java @@ -3,7 +3,7 @@ package me.Danker.features; import me.Danker.commands.MoveCommand; import me.Danker.commands.ScaleCommand; import me.Danker.commands.ToggleCommand; -import me.Danker.events.RenderOverlay; +import me.Danker.events.RenderOverlayEvent; import me.Danker.handlers.TextRenderer; import me.Danker.utils.Utils; import net.minecraft.client.Minecraft; @@ -56,7 +56,7 @@ public class BonzoMaskTimer { } @SubscribeEvent - public void renderPlayerInfo(RenderOverlay event) { + public void renderPlayerInfo(RenderOverlayEvent event) { if (ToggleCommand.bonzoTimerToggled && Utils.inDungeons) { Minecraft mc = Minecraft.getMinecraft(); ItemStack helmetSlot = mc.thePlayer.getCurrentArmor(3); diff --git a/src/main/java/me/Danker/features/CakeTimer.java b/src/main/java/me/Danker/features/CakeTimer.java index ba6eb3d..480ff07 100644 --- a/src/main/java/me/Danker/features/CakeTimer.java +++ b/src/main/java/me/Danker/features/CakeTimer.java @@ -3,7 +3,7 @@ package me.Danker.features; import me.Danker.commands.MoveCommand; import me.Danker.commands.ScaleCommand; import me.Danker.commands.ToggleCommand; -import me.Danker.events.RenderOverlay; +import me.Danker.events.RenderOverlayEvent; import me.Danker.handlers.ConfigHandler; import me.Danker.handlers.TextRenderer; import me.Danker.utils.Utils; @@ -36,7 +36,7 @@ public class CakeTimer { } @SubscribeEvent - public void renderPlayerInfo(RenderOverlay event) { + public void renderPlayerInfo(RenderOverlayEvent event) { if (ToggleCommand.cakeTimerToggled && Utils.inSkyblock) { Minecraft mc = Minecraft.getMinecraft(); double scale = ScaleCommand.cakeTimerScale; diff --git a/src/main/java/me/Danker/features/CrystalHollowWaypoints.java b/src/main/java/me/Danker/features/CrystalHollowWaypoints.java index 37f709a..fdd49f2 100644 --- a/src/main/java/me/Danker/features/CrystalHollowWaypoints.java +++ b/src/main/java/me/Danker/features/CrystalHollowWaypoints.java @@ -3,6 +3,7 @@ package me.Danker.features; import me.Danker.DankersSkyblockMod; import me.Danker.commands.ToggleCommand; import me.Danker.handlers.ScoreboardHandler; +import me.Danker.utils.RenderUtils; import me.Danker.utils.Utils; import net.minecraft.client.Minecraft; import net.minecraft.entity.item.EntityArmorStand; @@ -139,7 +140,7 @@ public class CrystalHollowWaypoints { public void onWorldRender(RenderWorldLastEvent event) { if (ToggleCommand.crystalHollowWaypoints && Utils.tabLocation.equals("Crystal Hollows")) { for (Waypoint waypoint : waypoints) { - if (waypoint.toggled) Utils.draw3DWaypointString(waypoint, event.partialTicks); + if (waypoint.toggled) RenderUtils.draw3DWaypointString(waypoint, event.partialTicks); } } } diff --git a/src/main/java/me/Danker/features/DungeonTimer.java b/src/main/java/me/Danker/features/DungeonTimer.java index 394f2de..9d363db 100644 --- a/src/main/java/me/Danker/features/DungeonTimer.java +++ b/src/main/java/me/Danker/features/DungeonTimer.java @@ -3,7 +3,7 @@ package me.Danker.features; import me.Danker.commands.MoveCommand; import me.Danker.commands.ScaleCommand; import me.Danker.commands.ToggleCommand; -import me.Danker.events.RenderOverlay; +import me.Danker.events.RenderOverlayEvent; import me.Danker.handlers.TextRenderer; import me.Danker.utils.Utils; import net.minecraft.client.Minecraft; @@ -56,7 +56,7 @@ public class DungeonTimer { } @SubscribeEvent - public void renderPlayerInfo(RenderOverlay event) { + public void renderPlayerInfo(RenderOverlayEvent event) { if (ToggleCommand.dungeonTimerToggled && Utils.inDungeons) { Minecraft mc = Minecraft.getMinecraft(); String dungeonTimerText = EnumChatFormatting.GRAY + "Wither Doors:\n" + diff --git a/src/main/java/me/Danker/features/GiantHPDisplay.java b/src/main/java/me/Danker/features/GiantHPDisplay.java index 456ba0a..4af31ae 100644 --- a/src/main/java/me/Danker/features/GiantHPDisplay.java +++ b/src/main/java/me/Danker/features/GiantHPDisplay.java @@ -4,7 +4,7 @@ import me.Danker.DankersSkyblockMod; import me.Danker.commands.MoveCommand; import me.Danker.commands.ScaleCommand; import me.Danker.commands.ToggleCommand; -import me.Danker.events.RenderOverlay; +import me.Danker.events.RenderOverlayEvent; import me.Danker.handlers.ScoreboardHandler; import me.Danker.handlers.TextRenderer; import me.Danker.utils.Utils; @@ -58,7 +58,7 @@ public class GiantHPDisplay { } @SubscribeEvent - public void renderPlayerInfo(RenderOverlay event) { + public void renderPlayerInfo(RenderOverlayEvent event) { if (ToggleCommand.giantHP && Utils.inDungeons && giants.size() > 0) { StringBuilder sb = new StringBuilder(); diff --git a/src/main/java/me/Danker/features/GolemSpawningAlert.java b/src/main/java/me/Danker/features/GolemSpawningAlert.java index de5cb89..87af663 100644 --- a/src/main/java/me/Danker/features/GolemSpawningAlert.java +++ b/src/main/java/me/Danker/features/GolemSpawningAlert.java @@ -3,7 +3,7 @@ package me.Danker.features; import me.Danker.commands.MoveCommand; import me.Danker.commands.ScaleCommand; import me.Danker.commands.ToggleCommand; -import me.Danker.events.RenderOverlay; +import me.Danker.events.RenderOverlayEvent; import me.Danker.handlers.TextRenderer; import me.Danker.utils.Utils; import net.minecraft.client.Minecraft; @@ -37,7 +37,7 @@ public class GolemSpawningAlert { } @SubscribeEvent - public void renderPlayerInfo(RenderOverlay event) { + public void renderPlayerInfo(RenderOverlayEvent event) { if (ToggleCommand.golemAlertToggled && Utils.inSkyblock && golemTime > System.currentTimeMillis() / 1000) { Minecraft mc = Minecraft.getMinecraft(); double scale = ScaleCommand.golemTimerScale; diff --git a/src/main/java/me/Danker/features/HighlightSkeletonMasters.java b/src/main/java/me/Danker/features/HighlightSkeletonMasters.java index f97699c..72259db 100644 --- a/src/main/java/me/Danker/features/HighlightSkeletonMasters.java +++ b/src/main/java/me/Danker/features/HighlightSkeletonMasters.java @@ -1,6 +1,7 @@ package me.Danker.features; import me.Danker.commands.ToggleCommand; +import me.Danker.utils.RenderUtils; import me.Danker.utils.Utils; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; @@ -33,7 +34,7 @@ public class HighlightSkeletonMasters { if (ToggleCommand.highlightSkeletonMasters) { for (Entity skeletonMaster : skeletonMasters) { if (!skeletonMaster.isDead) - Utils.draw3DBox(skeletonMaster.getEntityBoundingBox(), SKELETON_MASTER_COLOUR, event.partialTicks); + RenderUtils.draw3DBox(skeletonMaster.getEntityBoundingBox(), SKELETON_MASTER_COLOUR, event.partialTicks); } skeletonMasters.clear(); } diff --git a/src/main/java/me/Danker/features/NoF3Coords.java b/src/main/java/me/Danker/features/NoF3Coords.java index 4f362e6..7dc304c 100644 --- a/src/main/java/me/Danker/features/NoF3Coords.java +++ b/src/main/java/me/Danker/features/NoF3Coords.java @@ -3,7 +3,7 @@ package me.Danker.features; import me.Danker.commands.MoveCommand; import me.Danker.commands.ScaleCommand; import me.Danker.commands.ToggleCommand; -import me.Danker.events.RenderOverlay; +import me.Danker.events.RenderOverlayEvent; import me.Danker.handlers.TextRenderer; import net.minecraft.client.Minecraft; import net.minecraft.entity.player.EntityPlayer; @@ -14,7 +14,7 @@ public class NoF3Coords { public static String COORDS_COLOUR; @SubscribeEvent - public void renderPlayerInfo(RenderOverlay event) { + public void renderPlayerInfo(RenderOverlayEvent event) { Minecraft mc = Minecraft.getMinecraft(); if (ToggleCommand.coordsToggled) { diff --git a/src/main/java/me/Danker/features/PetColours.java b/src/main/java/me/Danker/features/PetColours.java index 5889b12..940bb08 100644 --- a/src/main/java/me/Danker/features/PetColours.java +++ b/src/main/java/me/Danker/features/PetColours.java @@ -2,6 +2,7 @@ package me.Danker.features; import me.Danker.commands.ToggleCommand; import me.Danker.events.GuiChestBackgroundDrawnEvent; +import me.Danker.utils.RenderUtils; import me.Danker.utils.Utils; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; @@ -60,7 +61,7 @@ public class PetColours { } else { colour = PET_1_TO_9; } - Utils.drawOnSlot(event.chestSize, slot.xDisplayPosition, slot.yDisplayPosition, colour + 0xBF000000); + RenderUtils.drawOnSlot(event.chestSize, slot.xDisplayPosition, slot.yDisplayPosition, colour + 0xBF000000); } } } diff --git a/src/main/java/me/Danker/features/Skill50Display.java b/src/main/java/me/Danker/features/Skill50Display.java index 5a58b0c..7025ac5 100644 --- a/src/main/java/me/Danker/features/Skill50Display.java +++ b/src/main/java/me/Danker/features/Skill50Display.java @@ -4,7 +4,7 @@ import me.Danker.DankersSkyblockMod; import me.Danker.commands.MoveCommand; import me.Danker.commands.ScaleCommand; import me.Danker.commands.ToggleCommand; -import me.Danker.events.RenderOverlay; +import me.Danker.events.RenderOverlayEvent; import me.Danker.handlers.TextRenderer; import me.Danker.utils.Utils; import net.minecraft.client.Minecraft; @@ -113,7 +113,7 @@ public class Skill50Display { } @SubscribeEvent - public void renderPlayerInfo(RenderOverlay event) { + public void renderPlayerInfo(RenderOverlayEvent event) { if (!Utils.skillsInitialized() && Utils.inSkyblock) { new TextRenderer(Minecraft.getMinecraft(), EnumChatFormatting.RED + "Please open the skill menu to use skill features. (/skills)", MoveCommand.skill50XY[0], MoveCommand.skill50XY[0], ScaleCommand.skill50Scale); return; diff --git a/src/main/java/me/Danker/features/SkillTracker.java b/src/main/java/me/Danker/features/SkillTracker.java index 3d932d0..1c1005f 100644 --- a/src/main/java/me/Danker/features/SkillTracker.java +++ b/src/main/java/me/Danker/features/SkillTracker.java @@ -4,7 +4,7 @@ import me.Danker.DankersSkyblockMod; import me.Danker.commands.MoveCommand; import me.Danker.commands.ScaleCommand; import me.Danker.commands.ToggleCommand; -import me.Danker.events.RenderOverlay; +import me.Danker.events.RenderOverlayEvent; import me.Danker.handlers.TextRenderer; import me.Danker.utils.Utils; import net.minecraft.client.Minecraft; @@ -166,7 +166,7 @@ public class SkillTracker { } @SubscribeEvent - public void renderPlayerInfo(RenderOverlay event) { + public void renderPlayerInfo(RenderOverlayEvent event) { if (showSkillTracker && Utils.inSkyblock) { if (!Utils.skillsInitialized()) { new TextRenderer(Minecraft.getMinecraft(), EnumChatFormatting.RED + "Please open the skill menu to use skill features. (/skills)", MoveCommand.skillTrackerXY[0], MoveCommand.skillTrackerXY[0], ScaleCommand.skillTrackerScale); diff --git a/src/main/java/me/Danker/features/SlayerESP.java b/src/main/java/me/Danker/features/SlayerESP.java index 3629474..b179979 100644 --- a/src/main/java/me/Danker/features/SlayerESP.java +++ b/src/main/java/me/Danker/features/SlayerESP.java @@ -3,6 +3,7 @@ package me.Danker.features; import me.Danker.DankersSkyblockMod; import me.Danker.commands.ToggleCommand; import me.Danker.handlers.ScoreboardHandler; +import me.Danker.utils.RenderUtils; import me.Danker.utils.Utils; import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; @@ -105,22 +106,22 @@ public class SlayerESP { if (slayerActive && ToggleCommand.highlightSlayers) { if (zombie != null) { AxisAlignedBB aabb = new AxisAlignedBB(zombie.posX - 0.5, zombie.posY - 2, zombie.posZ - 0.5, zombie.posX + 0.5, zombie.posY, zombie.posZ + 0.5); - Utils.draw3DBox(aabb, SLAYER_COLOUR, event.partialTicks); + RenderUtils.draw3DBox(aabb, SLAYER_COLOUR, event.partialTicks); return; } if (spider != null) { AxisAlignedBB aabb = new AxisAlignedBB(spider.posX - 0.75, spider.posY - 1, spider.posZ - 0.75, spider.posX + 0.75, spider.posY, spider.posZ + 0.75); - Utils.draw3DBox(aabb, SLAYER_COLOUR, event.partialTicks); + RenderUtils.draw3DBox(aabb, SLAYER_COLOUR, event.partialTicks); return; } if (wolf != null) { AxisAlignedBB aabb = new AxisAlignedBB(wolf.posX - 0.5, wolf.posY - 1, wolf.posZ - 0.5, wolf.posX + 0.5, wolf.posY, wolf.posZ + 0.5); - Utils.draw3DBox(aabb, SLAYER_COLOUR, event.partialTicks); + RenderUtils.draw3DBox(aabb, SLAYER_COLOUR, event.partialTicks); return; } if (enderman != null) { AxisAlignedBB aabb = new AxisAlignedBB(enderman.posX - 0.5, enderman.posY - 3, enderman.posZ - 0.5, enderman.posX + 0.5, enderman.posY, enderman.posZ + 0.5); - Utils.draw3DBox(aabb, SLAYER_COLOUR, event.partialTicks); + RenderUtils.draw3DBox(aabb, SLAYER_COLOUR, event.partialTicks); return; } } diff --git a/src/main/java/me/Danker/features/SpiritBootsFix.java b/src/main/java/me/Danker/features/SpiritBootsFix.java new file mode 100644 index 0000000..c50b538 --- /dev/null +++ b/src/main/java/me/Danker/features/SpiritBootsFix.java @@ -0,0 +1,28 @@ +package me.Danker.features; + +import me.Danker.events.PacketReadEvent; +import me.Danker.utils.Utils; +import net.minecraft.client.Minecraft; +import net.minecraft.network.play.server.S04PacketEntityEquipment; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.relauncher.ReflectionHelper; + +import java.lang.reflect.Field; + +public class SpiritBootsFix { + + static Field slot = ReflectionHelper.findField(S04PacketEntityEquipment.class, "equipmentSlot", "field_149392_b"); + + @SubscribeEvent + public void onPacketRead(PacketReadEvent event) throws IllegalAccessException { + if (Utils.inSkyblock && event.packet instanceof S04PacketEntityEquipment) { + S04PacketEntityEquipment packet = (S04PacketEntityEquipment) event.packet; + if (packet.getEntityID() == Minecraft.getMinecraft().thePlayer.getEntityId()) { + slot.setAccessible(true); + slot.setInt(packet, slot.getInt(packet) + 1); + event.packet = packet; + } + } + } + +} diff --git a/src/main/java/me/Danker/features/TetherDisplay.java b/src/main/java/me/Danker/features/TetherDisplay.java index 363b90f..1af3a0f 100644 --- a/src/main/java/me/Danker/features/TetherDisplay.java +++ b/src/main/java/me/Danker/features/TetherDisplay.java @@ -4,7 +4,7 @@ import me.Danker.DankersSkyblockMod; import me.Danker.commands.MoveCommand; import me.Danker.commands.ScaleCommand; import me.Danker.commands.ToggleCommand; -import me.Danker.events.RenderOverlay; +import me.Danker.events.RenderOverlayEvent; import me.Danker.handlers.TextRenderer; import me.Danker.utils.Utils; import net.minecraft.client.Minecraft; @@ -45,7 +45,7 @@ public class TetherDisplay { } @SubscribeEvent - public void renderPlayerInfo(RenderOverlay event) { + public void renderPlayerInfo(RenderOverlayEvent event) { if (ToggleCommand.teammatesInRadius && Utils.inDungeons) { String teammates; if (playersInRadius.size() > 0) { diff --git a/src/main/java/me/Danker/features/loot/CatacombsTracker.java b/src/main/java/me/Danker/features/loot/CatacombsTracker.java new file mode 100644 index 0000000..9de197c --- /dev/null +++ b/src/main/java/me/Danker/features/loot/CatacombsTracker.java @@ -0,0 +1,431 @@ +package me.Danker.features.loot; + +import me.Danker.events.ChestSlotClickedEvent; +import me.Danker.handlers.ConfigHandler; +import me.Danker.handlers.ScoreboardHandler; +import me.Danker.utils.Utils; +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; +import net.minecraft.util.StringUtils; +import net.minecraftforge.client.event.ClientChatReceivedEvent; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; + +import java.util.List; + +public class CatacombsTracker { + + // Catacombs Dungeons + public static int recombobulators; + public static int fumingPotatoBooks; + // F1 + public static int bonzoStaffs; + public static double f1CoinsSpent; + public static double f1TimeSpent; + // F2 + public static int scarfStudies; + public static int adaptiveSwords; + public static double f2CoinsSpent; + public static double f2TimeSpent; + // F3 + public static int adaptiveHelms; + public static int adaptiveChests; + public static int adaptiveLegs; + public static int adaptiveBoots; + public static double f3CoinsSpent; + public static double f3TimeSpent; + // F4 + public static int spiritWings; + public static int spiritBones; + public static int spiritBoots; + public static int spiritSwords; + public static int spiritBows; + public static int epicSpiritPets; + public static int legSpiritPets; + public static double f4CoinsSpent; + public static double f4TimeSpent; + // F5 + public static int warpedStones; + public static int shadowAssHelms; + public static int shadowAssChests; + public static int shadowAssLegs; + public static int shadowAssBoots; + public static int lastBreaths; + public static int lividDaggers; + public static int shadowFurys; + public static double f5CoinsSpent; + public static double f5TimeSpent; + // F6 + public static int ancientRoses; + public static int precursorEyes; + public static int giantsSwords; + public static int necroLordHelms; + public static int necroLordChests; + public static int necroLordLegs; + public static int necroLordBoots; + public static int necroSwords; + public static double f6CoinsSpent; + public static double f6TimeSpent; + // F7 + public static int witherBloods; + public static int witherCloaks; + public static int implosions; + public static int witherShields; + public static int shadowWarps; + public static int necronsHandles; + public static int autoRecombs; + public static int witherHelms; + public static int witherChests; + public static int witherLegs; + public static int witherBoots; + public static double f7CoinsSpent; + public static double f7TimeSpent; + + // Catacombs Dungeons + public static int recombobulatorsSession = 0; + public static int fumingPotatoBooksSession = 0; + // F1 + public static int bonzoStaffsSession = 0; + public static double f1CoinsSpentSession = 0; + public static double f1TimeSpentSession = 0; + // F2 + public static int scarfStudiesSession = 0; + public static int adaptiveSwordsSession = 0; + public static double f2CoinsSpentSession = 0; + public static double f2TimeSpentSession = 0; + // F3 + public static int adaptiveHelmsSession = 0; + public static int adaptiveChestsSession = 0; + public static int adaptiveLegsSession = 0; + public static int adaptiveBootsSession = 0; + public static double f3CoinsSpentSession = 0; + public static double f3TimeSpentSession = 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 spiritBowsSession = 0; + public static int epicSpiritPetsSession = 0; + public static int legSpiritPetsSession = 0; + public static double f4CoinsSpentSession = 0; + public static double f4TimeSpentSession = 0; + // F5 + public static int warpedStonesSession = 0; + public static int shadowAssHelmsSession = 0; + public static int shadowAssChestsSession = 0; + public static int shadowAssLegsSession = 0; + public static int shadowAssBootsSession = 0; + public static int lastBreathsSession = 0; + public static int lividDaggersSession = 0; + public static int shadowFurysSession = 0; + public static double f5CoinsSpentSession = 0; + public static double f5TimeSpentSession = 0; + // F6 + public static int ancientRosesSession = 0; + public static int precursorEyesSession = 0; + public static int giantsSwordsSession = 0; + public static int necroLordHelmsSession = 0; + public static int necroLordChestsSession = 0; + public static int necroLordLegsSession = 0; + public static int necroLordBootsSession = 0; + public static int necroSwordsSession = 0; + public static double f6CoinsSpentSession = 0; + public static double f6TimeSpentSession = 0; + // F7 + public static int witherBloodsSession = 0; + public static int witherCloaksSession = 0; + public static int implosionsSession = 0; + public static int witherShieldsSession = 0; + public static int shadowWarpsSession = 0; + public static int necronsHandlesSession = 0; + public static int autoRecombsSession = 0; + public static int witherHelmsSession = 0; + public static int witherChestsSession = 0; + public static int witherLegsSession = 0; + public static int witherBootsSession = 0; + public static double f7CoinsSpentSession = 0; + public static double f7TimeSpentSession = 0; + + @SubscribeEvent + public void onChat(ClientChatReceivedEvent event) { + String message = StringUtils.stripControlCodes(event.message.getUnformattedText()); + + if (!Utils.inSkyblock) return; + if (event.type == 2) return; + if (message.contains(":")) return; + + if (message.contains(" ")) { + if (message.contains("Recombobulator 3000")) { + recombobulators++; + recombobulatorsSession++; + ConfigHandler.writeIntConfig("catacombs", "recombobulator", recombobulators); + } else if (message.contains("Fuming Potato Book")) { + fumingPotatoBooks++; + fumingPotatoBooksSession++; + ConfigHandler.writeIntConfig("catacombs", "fumingBooks", fumingPotatoBooks); + } else if (message.contains("Bonzo's Staff")) { // F1 + bonzoStaffs++; + bonzoStaffsSession++; + ConfigHandler.writeIntConfig("catacombs", "bonzoStaff", bonzoStaffs); + } else if (message.contains("Scarf's Studies")) { // F2 + scarfStudies++; + scarfStudiesSession++; + ConfigHandler.writeIntConfig("catacombs", "scarfStudies", scarfStudies); + } else if (message.contains("Adaptive Helmet")) { // F3 + adaptiveHelms++; + adaptiveHelmsSession++; + ConfigHandler.writeIntConfig("catacombs", "adaptiveHelm", adaptiveHelms); + } else if (message.contains("Adaptive Chestplate")) { + adaptiveChests++; + adaptiveChestsSession++; + ConfigHandler.writeIntConfig("catacombs", "adaptiveChest", adaptiveChests); + } else if (message.contains("Adaptive Leggings")) { + adaptiveLegs++; + adaptiveLegsSession++; + ConfigHandler.writeIntConfig("catacombs", "adaptiveLegging", adaptiveLegs); + } else if (message.contains("Adaptive Boots")) { + adaptiveBoots++; + adaptiveBootsSession++; + ConfigHandler.writeIntConfig("catacombs", "adaptiveBoot", adaptiveBoots); + } else if (message.contains("Adaptive Blade")) { + adaptiveSwords++; + adaptiveSwordsSession++; + ConfigHandler.writeIntConfig("catacombs", "adaptiveSword", adaptiveSwords); + } else if (message.contains("Spirit Wing")) { // F4 + spiritWings++; + spiritWingsSession++; + ConfigHandler.writeIntConfig("catacombs", "spiritWing", spiritWings); + } else if (message.contains("Spirit Bone")) { + spiritBones++; + spiritBonesSession++; + ConfigHandler.writeIntConfig("catacombs", "spiritBone", spiritBones); + } else if (message.contains("Spirit Boots")) { + spiritBoots++; + spiritBootsSession++; + ConfigHandler.writeIntConfig("catacombs", "spiritBoot", spiritBoots); + } else if (message.contains("[Lvl 1] Spirit")) { + String formattedMessage = event.message.getFormattedText(); + // Unicode colour code messes up here, just gonna remove the symbols + if (formattedMessage.contains("5Spirit")) { + epicSpiritPets++; + epicSpiritPetsSession++; + ConfigHandler.writeIntConfig("catacombs", "spiritPetEpic", epicSpiritPets); + } else if (formattedMessage.contains("6Spirit")) { + legSpiritPets++; + legSpiritPetsSession++; + ConfigHandler.writeIntConfig("catacombs", "spiritPetLeg", legSpiritPets); + } + } else if (message.contains("Spirit Sword")) { + spiritSwords++; + spiritSwordsSession++; + ConfigHandler.writeIntConfig("catacombs", "spiritSword", spiritSwords); + } else if (message.contains("Spirit Bow")) { + spiritBows++; + spiritBowsSession++; + ConfigHandler.writeIntConfig("catacombs", "spiritBow", spiritBows); + } else if (message.contains("Warped Stone")) { // F5 + warpedStones++; + warpedStonesSession++; + ConfigHandler.writeIntConfig("catacombs", "warpedStone", warpedStones); + } else if (message.contains("Shadow Assassin Helmet")) { + shadowAssHelms++; + shadowAssHelmsSession++; + ConfigHandler.writeIntConfig("catacombs", "shadowAssassinHelm", shadowAssHelms); + } else if (message.contains("Shadow Assassin Chestplate")) { + shadowAssChests++; + shadowAssChestsSession++; + ConfigHandler.writeIntConfig("catacombs", "shadowAssassinChest", shadowAssChests); + } else if (message.contains("Shadow Assassin Leggings")) { + shadowAssLegs++; + shadowAssLegsSession++; + ConfigHandler.writeIntConfig("catacombs", "shadowAssassinLegging", shadowAssLegs); + } else if (message.contains("Shadow Assassin Boots")) { + shadowAssBoots++; + shadowAssBootsSession++; + ConfigHandler.writeIntConfig("catacombs", "shadowAssassinBoot", shadowAssBoots); + } else if (message.contains("Livid Dagger")) { + lividDaggers++; + lividDaggersSession++; + ConfigHandler.writeIntConfig("catacombs", "lividDagger", lividDaggers); + } else if (message.contains("Shadow Fury")) { + shadowFurys++; + shadowFurysSession++; + ConfigHandler.writeIntConfig("catacombs", "shadowFury", shadowFurys); + } else if (message.contains("Ancient Rose")) { // F6 + ancientRoses++; + ancientRosesSession++; + ConfigHandler.writeIntConfig("catacombs", "ancientRose", ancientRoses); + } else if (message.contains("Precursor Eye")) { + precursorEyes++; + precursorEyesSession++; + ConfigHandler.writeIntConfig("catacombs", "precursorEye", precursorEyes); + } else if (message.contains("Giant's Sword")) { + giantsSwords++; + giantsSwordsSession++; + ConfigHandler.writeIntConfig("catacombs", "giantsSword", giantsSwords); + } else if (message.contains("Necromancer Lord Helmet")) { + necroLordHelms++; + necroLordHelmsSession++; + ConfigHandler.writeIntConfig("catacombs", "necroLordHelm", necroLordHelms); + } else if (message.contains("Necromancer Lord Chestplate")) { + necroLordChests++; + necroLordChestsSession++; + ConfigHandler.writeIntConfig("catacombs", "necroLordChest", necroLordChests); + } else if (message.contains("Necromancer Lord Leggings")) { + necroLordLegs++; + necroLordLegsSession++; + ConfigHandler.writeIntConfig("catacombs", "necroLordLegging", necroLordLegs); + } else if (message.contains("Necromancer Lord Boots")) { + necroLordBoots++; + necroLordBootsSession++; + ConfigHandler.writeIntConfig("catacombs", "necroLordBoot", necroLordBoots); + } else if (message.contains("Necromancer Sword")) { + necroSwords++; + necroSwordsSession++; + ConfigHandler.writeIntConfig("catacombs", "necroSword", necroSwords); + } else if (message.contains("Wither Blood")) { // F7 + witherBloods++; + witherBloodsSession++; + ConfigHandler.writeIntConfig("catacombs", "witherBlood", witherBloods); + } else if (message.contains("Wither Cloak")) { + witherCloaks++; + witherCloaksSession++; + ConfigHandler.writeIntConfig("catacombs", "witherCloak", witherCloaks); + } else if (message.contains("Implosion")) { + implosions++; + implosionsSession++; + ConfigHandler.writeIntConfig("catacombs", "implosion", implosions); + } else if (message.contains("Wither Shield")) { + witherShields++; + witherShieldsSession++; + ConfigHandler.writeIntConfig("catacombs", "witherShield", witherShields); + } else if (message.contains("Shadow Warp")) { + shadowWarps++; + shadowWarpsSession++; + ConfigHandler.writeIntConfig("catacombs", "shadowWarp", shadowWarps); + } else if (message.contains("Necron's Handle")) { + necronsHandles++; + necronsHandlesSession++; + ConfigHandler.writeIntConfig("catacombs", "necronsHandle", necronsHandles); + } else if (message.contains("Auto Recombobulator")) { + autoRecombs++; + autoRecombsSession++; + ConfigHandler.writeIntConfig("catacombs", "autoRecomb", autoRecombs); + } else if (message.contains("Wither Helmet")) { + witherHelms++; + witherHelmsSession++; + ConfigHandler.writeIntConfig("catacombs", "witherHelm", witherHelms); + } else if (message.contains("Wither Chestplate")) { + witherChests++; + witherChestsSession++; + ConfigHandler.writeIntConfig("catacombs", "witherChest", witherChests); + } else if (message.contains("Wither Leggings")) { + witherLegs++; + witherLegsSession++; + ConfigHandler.writeIntConfig("catacombs", "witherLegging", witherLegs); + } else if (message.contains("Wither Boots")) { + witherBoots++; + witherBootsSession++; + ConfigHandler.writeIntConfig("catacombs", "witherBoot", witherBoots); + } + } + + if (message.contains("EXTRA STATS ")) { + List scoreboard = ScoreboardHandler.getSidebarLines(); + int timeToAdd = 0; + for (String s : scoreboard) { + String sCleaned = ScoreboardHandler.cleanSB(s); + if (sCleaned.contains("The Catacombs (")) { + // Add time to floor + if (sCleaned.contains("F1")) { + f1TimeSpent = Math.floor(f1TimeSpent + timeToAdd); + f1TimeSpentSession = Math.floor(f1TimeSpentSession + timeToAdd); + ConfigHandler.writeDoubleConfig("catacombs", "floorOneTime", f1TimeSpent); + } else if (sCleaned.contains("F2")) { + f2TimeSpent = Math.floor(f2TimeSpent + timeToAdd); + f2TimeSpentSession = Math.floor(f2TimeSpentSession + timeToAdd); + ConfigHandler.writeDoubleConfig("catacombs", "floorTwoTime", f2TimeSpent); + } else if (sCleaned.contains("F3")) { + f3TimeSpent = Math.floor(f3TimeSpent + timeToAdd); + f3TimeSpentSession = Math.floor(f3TimeSpentSession + timeToAdd); + ConfigHandler.writeDoubleConfig("catacombs", "floorThreeTime", f3TimeSpent); + } else if (sCleaned.contains("F4")) { + f4TimeSpent = Math.floor(f4TimeSpent + timeToAdd); + f4TimeSpentSession = Math.floor(f4TimeSpentSession + timeToAdd); + ConfigHandler.writeDoubleConfig("catacombs", "floorFourTime", f4TimeSpent); + } else if (sCleaned.contains("F5")) { + f5TimeSpent = Math.floor(f5TimeSpent + timeToAdd); + f5TimeSpentSession = Math.floor(f5TimeSpentSession + timeToAdd); + ConfigHandler.writeDoubleConfig("catacombs", "floorFiveTime", f5TimeSpent); + } else if (sCleaned.contains("F6")) { + f6TimeSpent = Math.floor(f6TimeSpent + timeToAdd); + f6TimeSpentSession = Math.floor(f6TimeSpentSession + timeToAdd); + ConfigHandler.writeDoubleConfig("catacombs", "floorSixTime", f6TimeSpent); + } else if (sCleaned.contains("F7")) { + f7TimeSpent = Math.floor(f7TimeSpent + timeToAdd); + f7TimeSpentSession = Math.floor(f7TimeSpentSession + timeToAdd); + ConfigHandler.writeDoubleConfig("catacombs", "floorSevenTime", f7TimeSpent); + } + } else if (sCleaned.contains("Time Elapsed:")) { + // Get floor time + String time = sCleaned.substring(sCleaned.indexOf(":") + 2); + time = time.replaceAll("\\s", ""); + int minutes = Integer.parseInt(time.substring(0, time.indexOf("m"))); + int seconds = Integer.parseInt(time.substring(time.indexOf("m") + 1, time.indexOf("s"))); + timeToAdd = (minutes * 60) + seconds; + } + } + } + } + + @SubscribeEvent + public void onSlotClick(ChestSlotClickedEvent event) { + ItemStack item = event.item; + + if (event.inventoryName.endsWith(" Chest") && item != null && item.getDisplayName().contains("Open Reward Chest")) { + List tooltip = item.getTooltip(Minecraft.getMinecraft().thePlayer, Minecraft.getMinecraft().gameSettings.advancedItemTooltips); + for (String lineUnclean : tooltip) { + String line = StringUtils.stripControlCodes(lineUnclean); + if (line.contains("FREE")) { + break; + } else if (line.contains(" Coins")) { + int coinsSpent = Integer.parseInt(line.substring(0, line.indexOf(" ")).replaceAll(",", "")); + + if (Utils.isInScoreboard("The Catacombs (")) { + if (Utils.isInScoreboard("F1")) { + f1CoinsSpent += coinsSpent; + f1CoinsSpentSession += coinsSpent; + ConfigHandler.writeDoubleConfig("catacombs", "floorOneCoins", f1CoinsSpent); + } else if (Utils.isInScoreboard("F2")) { + f2CoinsSpent += coinsSpent; + f2CoinsSpentSession += coinsSpent; + ConfigHandler.writeDoubleConfig("catacombs", "floorTwoCoins", f2CoinsSpent); + } else if (Utils.isInScoreboard("F3")) { + f3CoinsSpent += coinsSpent; + f3CoinsSpentSession += coinsSpent; + ConfigHandler.writeDoubleConfig("catacombs", "floorThreeCoins", f3CoinsSpent); + } else if (Utils.isInScoreboard("F4")) { + f4CoinsSpent += coinsSpent; + f4CoinsSpentSession += coinsSpent; + ConfigHandler.writeDoubleConfig("catacombs", "floorFourCoins", f4CoinsSpent); + } else if (Utils.isInScoreboard("F5")) { + f5CoinsSpent += coinsSpent; + f5CoinsSpentSession += coinsSpent; + ConfigHandler.writeDoubleConfig("catacombs", "floorFiveCoins", f5CoinsSpent); + } else if (Utils.isInScoreboard("F6")) { + f6CoinsSpent += coinsSpent; + f6CoinsSpentSession += coinsSpent; + ConfigHandler.writeDoubleConfig("catacombs", "floorSixCoins", f6CoinsSpent); + } else if (Utils.isInScoreboard("F7")) { + f7CoinsSpent += coinsSpent; + f7CoinsSpentSession += coinsSpent; + ConfigHandler.writeDoubleConfig("catacombs", "floorSevenCoins", f7CoinsSpent); + } + } + break; + } + } + } + } + +} diff --git a/src/main/java/me/Danker/features/loot/EndermanTracker.java b/src/main/java/me/Danker/features/loot/EndermanTracker.java new file mode 100644 index 0000000..38b22f9 --- /dev/null +++ b/src/main/java/me/Danker/features/loot/EndermanTracker.java @@ -0,0 +1,178 @@ +package me.Danker.features.loot; + +import me.Danker.commands.ToggleCommand; +import me.Danker.handlers.ConfigHandler; +import me.Danker.utils.Utils; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StringUtils; +import net.minecraftforge.client.event.ClientChatReceivedEvent; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; + +public class EndermanTracker { + + public static int endermanVoidglooms; + public static int endermanNullSpheres; + public static int endermanTAP; + public static int endermanTAPDrops; + public static int endermanEndersnakes; + public static int endermanSummoningEyes; + public static int endermanManaBooks; + public static int endermanTuners; + public static int endermanAtoms; + public static int endermanEspressoMachines; + public static int endermanSmartyBooks; + public static int endermanEndRunes; + public static int endermanChalices; + public static int endermanDice; + public static int endermanArtifacts; + public static int endermanSkins; + public static int endermanMergers; + public static int endermanCores; + public static int endermanEnchantRunes; + public static int endermanEnderBooks; + public static double endermanTime; + public static int endermanBosses; + + public static int endermanVoidgloomsSession = 0; + public static int endermanNullSpheresSession = 0; + public static int endermanTAPSession = 0; + public static int endermanTAPDropsSession = 0; + public static int endermanEndersnakesSession = 0; + public static int endermanSummoningEyesSession = 0; + public static int endermanManaBooksSession = 0; + public static int endermanTunersSession = 0; + public static int endermanAtomsSession = 0; + public static int endermanEspressoMachinesSession = 0; + public static int endermanSmartyBooksSession = 0; + public static int endermanEndRunesSession = 0; + public static int endermanChalicesSession = 0; + public static int endermanDiceSession = 0; + public static int endermanArtifactsSession = 0; + public static int endermanSkinsSession = 0; + public static int endermanMergersSession = 0; + public static int endermanCoresSession = 0; + public static int endermanEnchantRunesSession = 0; + public static int endermanEnderBooksSession = 0; + public static double endermanTimeSession = -1; + public static int endermanBossesSession = -1; + + @SubscribeEvent + public void onChat(ClientChatReceivedEvent event) { + String message = StringUtils.stripControlCodes(event.message.getUnformattedText()); + + if (!Utils.inSkyblock) return; + if (event.type == 2) return; + if (message.contains(":")) return; + + boolean rng = false; + + if (message.contains(" Enderman Slayer LVL ")) { + endermanVoidglooms++; + endermanVoidgloomsSession++; + if (endermanBosses != -1) { + endermanBosses++; + } + if (endermanBossesSession != -1) { + endermanBossesSession++; + } + ConfigHandler.writeIntConfig("enderman", "voidglooms", endermanVoidglooms); + ConfigHandler.writeIntConfig("enderman", "bossRNG", endermanBosses); + } else if (message.contains("RARE DROP! (") && message.contains("Twilight Arrow Poison)")) { + int amount = LootTracker.getAmountfromMessage(message); + endermanTAP += amount; + endermanTAPSession += amount; + endermanTAPDrops++; + endermanTAPDropsSession++; + ConfigHandler.writeIntConfig("enderman", "tap", endermanTAP); + ConfigHandler.writeIntConfig("enderman", "tapDrops", endermanTAPDrops); + } else if (message.contains("VERY RARE DROP! (") && message.contains(" Endersnake Rune I)")) { + endermanEndersnakes++; + endermanEndersnakesSession++; + ConfigHandler.writeIntConfig("enderman", "endersnakes", endermanEndersnakes); + } else if (message.contains("VERY RARE DROP! (Summoning Eye)")) { + endermanSummoningEyes++; + endermanSummoningEyesSession++; + ConfigHandler.writeIntConfig("enderman", "summoningEyes", endermanSummoningEyes); + } else if (message.contains("VERY RARE DROP! (Mana Steal I)")) { + endermanManaBooks++; + endermanManaBooksSession++; + ConfigHandler.writeIntConfig("enderman", "manaBooks", endermanManaBooks); + } else if (message.contains("VERY RARE DROP! (Transmission Tuner)")) { + endermanTuners++; + endermanTunersSession++; + ConfigHandler.writeIntConfig("enderman", "tuners", endermanTuners); + } else if (message.contains("VERY RARE DROP! (Null Atom)")) { + endermanAtoms++; + endermanAtomsSession++; + ConfigHandler.writeIntConfig("enderman", "atoms", endermanAtoms); + } else if (message.contains("CRAZY RARE DROP! (Pocket Espresso Machine)")) { + rng = true; + endermanEspressoMachines++; + endermanEspressoMachinesSession++; + ConfigHandler.writeIntConfig("enderman", "espressoMachines", endermanEspressoMachines); + if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.AQUA + "POCKET ESPRESSO MACHINE!", 3); + } else if (message.contains("VERY RARE DROP! (Smarty Pants I)")) { + endermanSmartyBooks++; + endermanSmartyBooksSession++; + ConfigHandler.writeIntConfig("enderman", "smartyBooks", endermanSmartyBooks); + } else if (message.contains("VERY RARE DROP! (") && message.contains(" End Rune I)")) { + endermanEndRunes++; + endermanEndRunesSession++; + ConfigHandler.writeIntConfig("enderman", "endRunes", endermanEndRunes); + } else if (message.contains("CRAZY RARE DROP! (Handy Blood Chalice)")) { + rng = true; + endermanChalices++; + endermanChalicesSession++; + ConfigHandler.writeIntConfig("enderman", "chalices", endermanChalices); + if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.RED + "HANDY BLOOD CHALICE!", 3); + } else if (message.contains("VERY RARE DROP! (Sinful Dice)")) { + endermanDice++; + endermanDiceSession++; + ConfigHandler.writeIntConfig("enderman", "dice", endermanDice); + } else if (message.contains("CRAZY RARE DROP! (Exceedingly Rare Ender Artifact Upgrader)")) { + rng = true; + endermanArtifacts++; + endermanArtifactsSession++; + ConfigHandler.writeIntConfig("enderman", "artifacts", endermanArtifacts); + if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.DARK_PURPLE + "ENDER ARTIFACT UPGRADER!", 3); + } else if (message.contains("CRAZY RARE DROP! (Void Conqueror Enderman Skin)")) { + rng = true; + endermanSkins++; + endermanSkinsSession++; + ConfigHandler.writeIntConfig("enderman", "skins", endermanSkins); + if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.DARK_PURPLE + "ENDERMAN SKIN!", 3); + } else if (message.contains("VERY RARE DROP! (Etherwarp Merger)")) { + endermanMergers++; + endermanMergersSession++; + ConfigHandler.writeIntConfig("enderman", "mergers", endermanMergers); + } else if (message.contains("CRAZY RARE DROP! (Judgement Core)")) { + rng = true; + endermanCores++; + endermanCoresSession++; + ConfigHandler.writeIntConfig("enderman", "cores", endermanCores); + if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.GOLD + "JUDGEMENT CORE!", 5); + } else if (message.contains("CRAZY RARE DROP! (") && message.contains(" Enchant Rune I)")) { + rng = true; + endermanEnchantRunes++; + endermanEnchantRunesSession++; + ConfigHandler.writeIntConfig("enderman", "enchantRunes", endermanEnchantRunes); + if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.GRAY + "ENCHANT RUNE!", 3); + } else if (message.contains("INSANE DROP! (Ender Slayer VII)") || message.contains("CRAZY RARE DROP! (Ender Slayer VII)")) { + rng = true; + endermanEnderBooks++; + endermanEnderBooksSession++; + ConfigHandler.writeIntConfig("enderman", "enderBooks", endermanEnderBooks); + if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.RED + "ENDER SLAYER VII!", 3); + } + + if (rng) { + endermanTime = System.currentTimeMillis() / 1000; + endermanBosses = 0; + endermanTimeSession = System.currentTimeMillis() / 1000; + endermanBossesSession = 0; + ConfigHandler.writeDoubleConfig("enderman", "timeRNG", endermanTime); + ConfigHandler.writeIntConfig("enderman", "bossRNG", 0); + } + } + +} diff --git a/src/main/java/me/Danker/features/loot/FishingTracker.java b/src/main/java/me/Danker/features/loot/FishingTracker.java new file mode 100644 index 0000000..c54f943 --- /dev/null +++ b/src/main/java/me/Danker/features/loot/FishingTracker.java @@ -0,0 +1,285 @@ +package me.Danker.features.loot; + +import me.Danker.handlers.ConfigHandler; +import me.Danker.utils.Utils; +import net.minecraft.util.StringUtils; +import net.minecraftforge.client.event.ClientChatReceivedEvent; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; + +public class FishingTracker { + + // Fishing + public static int seaCreatures; + public static int goodCatches; + public static int greatCatches; + public static int squids; + public static int seaWalkers; + public static int nightSquids; + public static int seaGuardians; + public static int seaWitches; + public static int seaArchers; + public static int monsterOfTheDeeps; + public static int catfishes; + public static int carrotKings; + public static int seaLeeches; + public static int guardianDefenders; + public static int deepSeaProtectors; + public static int hydras; + public static int seaEmperors; + public static double empTime; + public static int empSCs; + public static int fishingMilestone; + // Fishing Winter + public static int frozenSteves; + public static int frostyTheSnowmans; + public static int grinches; + public static int yetis; + public static double yetiTime; + public static int yetiSCs; + // Fishing Festival + public static int nurseSharks; + public static int blueSharks; + public static int tigerSharks; + public static int greatWhiteSharks; + // Spooky Fishing + public static int scarecrows; + public static int nightmares; + public static int werewolfs; + public static int phantomFishers; + public static int grimReapers; + + // Fishing + public static int seaCreaturesSession = 0; + public static int goodCatchesSession = 0; + public static int greatCatchesSession = 0; + public static int squidsSession = 0; + public static int seaWalkersSession = 0; + public static int nightSquidsSession = 0; + public static int seaGuardiansSession = 0; + public static int seaWitchesSession = 0; + public static int seaArchersSession = 0; + public static int monsterOfTheDeepsSession = 0; + public static int catfishesSession = 0; + public static int carrotKingsSession = 0; + public static int seaLeechesSession = 0; + public static int guardianDefendersSession = 0; + public static int deepSeaProtectorsSession = 0; + public static int hydrasSession = 0; + public static int seaEmperorsSession = 0; + public static double empTimeSession = -1; + public static int empSCsSession = -1; + public static int fishingMilestoneSession = 0; + // Fishing Winter + public static int frozenStevesSession = 0; + public static int frostyTheSnowmansSession = 0; + public static int grinchesSession = 0; + public static int yetisSession = 0; + public static double yetiTimeSession = -1; + public static int yetiSCsSession = -1; + // Fishing Festival + public static int nurseSharksSession = 0; + public static int blueSharksSession = 0; + public static int tigerSharksSession = 0; + public static int greatWhiteSharksSession = 0; + // Spooky Fishing + public static int scarecrowsSession = 0; + public static int nightmaresSession = 0; + public static int werewolfsSession = 0; + public static int phantomFishersSession = 0; + public static int grimReapersSession = 0; + + @SubscribeEvent + public void onChat(ClientChatReceivedEvent event) { + String message = StringUtils.stripControlCodes(event.message.getUnformattedText()); + + if (!Utils.inSkyblock) return; + if (event.type == 2) return; + if (message.contains(":")) return; + + if (message.contains("GOOD CATCH!")) { + goodCatches++; + goodCatchesSession++; + ConfigHandler.writeIntConfig("fishing", "goodCatch", goodCatches); + } else if (message.contains("GREAT CATCH!")) { + greatCatches++; + greatCatchesSession++; + ConfigHandler.writeIntConfig("fishing", "greatCatch", greatCatches); + } else if (message.contains("A Squid appeared")) { + squids++; + squidsSession++; + ConfigHandler.writeIntConfig("fishing", "squid", squids); + increaseSeaCreatures(); + } else if (message.contains("You caught a Sea Walker")) { + seaWalkers++; + seaWalkersSession++; + ConfigHandler.writeIntConfig("fishing", "seaWalker", seaWalkers); + increaseSeaCreatures(); + } else if (message.contains("Pitch darkness reveals a Night Squid")) { + nightSquids++; + nightSquidsSession++; + ConfigHandler.writeIntConfig("fishing", "nightSquid", nightSquids); + increaseSeaCreatures(); + } else if (message.contains("You stumbled upon a Sea Guardian")) { + seaGuardians++; + seaGuardiansSession++; + ConfigHandler.writeIntConfig("fishing", "seaGuardian", seaGuardians); + increaseSeaCreatures(); + } else if (message.contains("It looks like you've disrupted the Sea Witch's brewing session. Watch out, she's furious")) { + seaWitches++; + seaWitchesSession++; + ConfigHandler.writeIntConfig("fishing", "seaWitch", seaWitches); + increaseSeaCreatures(); + } else if (message.contains("You reeled in a Sea Archer")) { + seaArchers++; + seaArchersSession++; + ConfigHandler.writeIntConfig("fishing", "seaArcher", seaArchers); + increaseSeaCreatures(); + } else if (message.contains("The Monster of the Deep has emerged")) { + monsterOfTheDeeps++; + monsterOfTheDeepsSession++; + ConfigHandler.writeIntConfig("fishing", "monsterOfDeep", monsterOfTheDeeps); + increaseSeaCreatures(); + } else if (message.contains("Huh? A Catfish")) { + catfishes++; + catfishesSession++; + ConfigHandler.writeIntConfig("fishing", "catfish", catfishes); + increaseSeaCreatures(); + } else if (message.contains("Is this even a fish? It's the Carrot King")) { + carrotKings++; + carrotKingsSession++; + ConfigHandler.writeIntConfig("fishing", "carrotKing", carrotKings); + increaseSeaCreatures(); + } else if (message.contains("Gross! A Sea Leech")) { + seaLeeches++; + seaLeechesSession++; + ConfigHandler.writeIntConfig("fishing", "seaLeech", seaLeeches); + increaseSeaCreatures(); + } else if (message.contains("You've discovered a Guardian Defender of the sea")) { + guardianDefenders++; + guardianDefendersSession++; + ConfigHandler.writeIntConfig("fishing", "guardianDefender", guardianDefenders); + increaseSeaCreatures(); + } else if (message.contains("You have awoken the Deep Sea Protector, prepare for a battle")) { + deepSeaProtectors++; + deepSeaProtectorsSession++; + ConfigHandler.writeIntConfig("fishing", "deepSeaProtector", deepSeaProtectors); + increaseSeaCreatures(); + } else if (message.contains("The Water Hydra has come to test your strength")) { + hydras++; + hydrasSession++; + ConfigHandler.writeIntConfig("fishing", "hydra", hydras); + increaseSeaCreatures(); + } else if (message.contains("The Sea Emperor arises from the depths")) { + increaseSeaCreatures(); + + seaEmperors++; + empTime = System.currentTimeMillis() / 1000; + empSCs = 0; + seaEmperorsSession++; + empTimeSession = System.currentTimeMillis() / 1000; + empSCsSession = 0; + ConfigHandler.writeIntConfig("fishing", "seaEmperor", seaEmperors); + ConfigHandler.writeDoubleConfig("fishing", "empTime", empTime); + ConfigHandler.writeIntConfig("fishing", "empSC", empSCs); + } else if (message.contains("Frozen Steve fell into the pond long ago")) { // Fishing Winter + frozenSteves++; + frozenStevesSession++; + ConfigHandler.writeIntConfig("fishing", "frozenSteve", frozenSteves); + increaseSeaCreatures(); + } else if (message.contains("It's a snowman! He looks harmless")) { + frostyTheSnowmans++; + frostyTheSnowmansSession++; + ConfigHandler.writeIntConfig("fishing", "snowman", frostyTheSnowmans); + increaseSeaCreatures(); + } else if (message.contains("stole Jerry's Gifts...get them back")) { + grinches++; + grinchesSession++; + ConfigHandler.writeIntConfig("fishing", "grinch", grinches); + increaseSeaCreatures(); + } else if (message.contains("What is this creature")) { + yetis++; + yetiTime = System.currentTimeMillis() / 1000; + yetiSCs = 0; + yetisSession++; + yetiTimeSession = System.currentTimeMillis() / 1000; + yetiSCsSession = 0; + ConfigHandler.writeIntConfig("fishing", "yeti", yetis); + ConfigHandler.writeDoubleConfig("fishing", "yetiTime", yetiTime); + ConfigHandler.writeIntConfig("fishing", "yetiSC", yetiSCs); + increaseSeaCreatures(); + } else if (message.contains("A tiny fin emerges from the water, you've caught a Nurse Shark")) { // Fishing Festival + nurseSharks++; + nurseSharksSession++; + ConfigHandler.writeIntConfig("fishing", "nurseShark", nurseSharks); + increaseSeaCreatures(); + } else if (message.contains("You spot a fin as blue as the water it came from, it's a Blue Shark")) { + blueSharks++; + blueSharksSession++; + ConfigHandler.writeIntConfig("fishing", "blueShark", blueSharks); + increaseSeaCreatures(); + } else if (message.contains("A striped beast bounds from the depths, the wild Tiger Shark")) { + tigerSharks++; + tigerSharksSession++; + ConfigHandler.writeIntConfig("fishing", "tigerShark", tigerSharks); + increaseSeaCreatures(); + } else if (message.contains("Hide no longer, a Great White Shark has tracked your scent and thirsts for your blood")) { + greatWhiteSharks++; + greatWhiteSharksSession++; + ConfigHandler.writeIntConfig("fishing", "greatWhiteShark", greatWhiteSharks); + increaseSeaCreatures(); + } else if (message.contains("Phew! It's only a Scarecrow")) { + scarecrows++; + scarecrowsSession++; + ConfigHandler.writeIntConfig("fishing", "scarecrow", scarecrows); + increaseSeaCreatures(); + } else if (message.contains("You hear trotting from beneath the waves, you caught a Nightmare")) { + nightmares++; + nightmaresSession++; + ConfigHandler.writeIntConfig("fishing", "nightmare", nightmares); + increaseSeaCreatures(); + } else if (message.contains("It must be a full moon, a Werewolf appears")) { + werewolfs++; + werewolfsSession++; + ConfigHandler.writeIntConfig("fishing", "werewolf", werewolfs); + increaseSeaCreatures(); + } else if (message.contains("The spirit of a long lost Phantom Fisher has come to haunt you")) { + phantomFishers++; + phantomFishersSession++; + ConfigHandler.writeIntConfig("fishing", "phantomFisher", phantomFishers); + increaseSeaCreatures(); + } else if (message.contains("This can't be! The manifestation of death himself")) { + grimReapers++; + grimReapersSession++; + ConfigHandler.writeIntConfig("fishing", "grimReaper", grimReapers); + increaseSeaCreatures(); + } + } + + public void increaseSeaCreatures() { + if (empSCs != -1) { + empSCs++; + } + if (empSCsSession != -1) { + empSCsSession++; + } + // Only increment Yetis when in Jerry's Workshop + if (Utils.isInScoreboard("Jerry's Workshop") || Utils.isInScoreboard("Jerry Pond")) { + if (yetiSCs != -1) { + yetiSCs++; + } + if (yetiSCsSession != -1) { + yetiSCsSession++; + } + } + + seaCreatures++; + fishingMilestone++; + seaCreaturesSession++; + fishingMilestoneSession++; + ConfigHandler.writeIntConfig("fishing", "seaCreature", seaCreatures); + ConfigHandler.writeIntConfig("fishing", "milestone", fishingMilestone); + ConfigHandler.writeIntConfig("fishing", "empSC", empSCs); + ConfigHandler.writeIntConfig("fishing", "yetiSC", yetiSCs); + } + +} diff --git a/src/main/java/me/Danker/features/loot/GhostTracker.java b/src/main/java/me/Danker/features/loot/GhostTracker.java new file mode 100644 index 0000000..f402823 --- /dev/null +++ b/src/main/java/me/Danker/features/loot/GhostTracker.java @@ -0,0 +1,60 @@ +package me.Danker.features.loot; + +import me.Danker.handlers.ConfigHandler; +import me.Danker.utils.Utils; +import net.minecraft.util.StringUtils; +import net.minecraftforge.client.event.ClientChatReceivedEvent; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; + +public class GhostTracker { + + public static int sorrows = 0; + public static int bagOfCashs = 0; + public static int voltas = 0; + public static int plasmas = 0; + public static int ghostlyBoots = 0; + + public static int sorrowSession = 0; + public static int bagOfCashSession = 0; + public static int voltaSession = 0; + public static int plasmaSession = 0; + public static int ghostlyBootsSession = 0; + + @SubscribeEvent + public void onChat(ClientChatReceivedEvent event) { + String message = StringUtils.stripControlCodes(event.message.getUnformattedText()); + + if (!Utils.inSkyblock) return; + if (event.type == 2) return; + if (message.contains(":")) return; + + if (message.contains("RARE DROP!")) { + if (message.contains("Sorrow")) { + sorrows++; + sorrowSession++; + ConfigHandler.writeIntConfig("ghosts", "sorrow", sorrows); + } + if (message.contains("Volta")) { + voltas++; + voltaSession++; + ConfigHandler.writeIntConfig("ghosts", "volta", voltas); + } + if (message.contains("Plasma")) { + plasmas++; + plasmaSession++; + ConfigHandler.writeIntConfig("ghosts", "plasma", plasmas); + } + if (message.contains("Ghostly Boots")) { + ghostlyBoots++; + ghostlyBootsSession++; + ConfigHandler.writeIntConfig("ghosts", "ghostlyBoots", ghostlyBoots); + } + if (message.contains("The ghost's death materialized ")) { + bagOfCashs++; + bagOfCashSession++; + ConfigHandler.writeIntConfig("ghosts", "bagOfCash", bagOfCashs); + } + } + } + +} diff --git a/src/main/java/me/Danker/features/loot/LootDisplay.java b/src/main/java/me/Danker/features/loot/LootDisplay.java index 07a784a..9f7f0e3 100644 --- a/src/main/java/me/Danker/features/loot/LootDisplay.java +++ b/src/main/java/me/Danker/features/loot/LootDisplay.java @@ -3,7 +3,7 @@ package me.Danker.features.loot; import me.Danker.commands.MoveCommand; import me.Danker.commands.ScaleCommand; import me.Danker.commands.ToggleCommand; -import me.Danker.events.RenderOverlay; +import me.Danker.events.RenderOverlayEvent; import me.Danker.handlers.ConfigHandler; import me.Danker.handlers.TextRenderer; import me.Danker.utils.Utils; @@ -20,7 +20,7 @@ public class LootDisplay { public static boolean auto; @SubscribeEvent - public void renderPlayerInfo(RenderOverlay event) { + public void renderPlayerInfo(RenderOverlayEvent event) { if (!display.equals("off")) { Minecraft mc = Minecraft.getMinecraft(); String dropsText = ""; @@ -35,20 +35,20 @@ public class LootDisplay { switch (display) { case "wolf": - if (LootTracker.wolfTime == -1) { + if (WolfTracker.wolfTime == -1) { timeBetween = "Never"; } else { - timeBetween = Utils.getTimeBetween(LootTracker.wolfTime, timeNow); + timeBetween = Utils.getTimeBetween(WolfTracker.wolfTime, timeNow); } - if (LootTracker.wolfBosses == -1) { + if (WolfTracker.wolfBosses == -1) { bossesBetween = "Never"; } else { - bossesBetween = nf.format(LootTracker.wolfBosses); + bossesBetween = nf.format(WolfTracker.wolfBosses); } if (ToggleCommand.slayerCountTotal) { - drop20 = nf.format(LootTracker.wolfWheels); + drop20 = nf.format(WolfTracker.wolfWheels); } else { - drop20 = nf.format(LootTracker.wolfWheelsDrops) + " times"; + drop20 = nf.format(WolfTracker.wolfWheelsDrops) + " times"; } dropsText = EnumChatFormatting.GOLD + "Svens Killed:\n" + @@ -62,33 +62,33 @@ public class LootDisplay { EnumChatFormatting.DARK_PURPLE + "Overfluxes:\n" + EnumChatFormatting.AQUA + "Time Since RNG:\n" + EnumChatFormatting.AQUA + "Bosses Since RNG:"; - countText = EnumChatFormatting.GOLD + nf.format(LootTracker.wolfSvens) + "\n" + - EnumChatFormatting.GREEN + nf.format(LootTracker.wolfTeeth) + "\n" + + countText = EnumChatFormatting.GOLD + nf.format(WolfTracker.wolfSvens) + "\n" + + EnumChatFormatting.GREEN + nf.format(WolfTracker.wolfTeeth) + "\n" + EnumChatFormatting.BLUE + drop20 + "\n" + - EnumChatFormatting.AQUA + LootTracker.wolfSpirits + "\n" + - EnumChatFormatting.WHITE + LootTracker.wolfBooks + "\n" + - EnumChatFormatting.DARK_RED + LootTracker.wolfEggs + "\n" + - EnumChatFormatting.GOLD + LootTracker.wolfCoutures + "\n" + - EnumChatFormatting.AQUA + LootTracker.wolfBaits + "\n" + - EnumChatFormatting.DARK_PURPLE + LootTracker.wolfFluxes + "\n" + + EnumChatFormatting.AQUA + WolfTracker.wolfSpirits + "\n" + + EnumChatFormatting.WHITE + WolfTracker.wolfBooks + "\n" + + EnumChatFormatting.DARK_RED + WolfTracker.wolfEggs + "\n" + + EnumChatFormatting.GOLD + WolfTracker.wolfCoutures + "\n" + + EnumChatFormatting.AQUA + WolfTracker.wolfBaits + "\n" + + EnumChatFormatting.DARK_PURPLE + WolfTracker.wolfFluxes + "\n" + EnumChatFormatting.AQUA + timeBetween + "\n" + EnumChatFormatting.AQUA + bossesBetween; break; case "wolf_session": - if (LootTracker.wolfTimeSession == -1) { + if (WolfTracker.wolfTimeSession == -1) { timeBetween = "Never"; } else { - timeBetween = Utils.getTimeBetween(LootTracker.wolfTimeSession, timeNow); + timeBetween = Utils.getTimeBetween(WolfTracker.wolfTimeSession, timeNow); } - if (LootTracker.wolfBossesSession == -1) { + if (WolfTracker.wolfBossesSession == -1) { bossesBetween = "Never"; } else { - bossesBetween = nf.format(LootTracker.wolfBossesSession); + bossesBetween = nf.format(WolfTracker.wolfBossesSession); } if (ToggleCommand.slayerCountTotal) { - drop20 = nf.format(LootTracker.wolfWheelsSession); + drop20 = nf.format(WolfTracker.wolfWheelsSession); } else { - drop20 = nf.format(LootTracker.wolfWheelsDropsSession) + " times"; + drop20 = nf.format(WolfTracker.wolfWheelsDropsSession) + " times"; } dropsText = EnumChatFormatting.GOLD + "Svens Killed:\n" + @@ -102,33 +102,33 @@ public class LootDisplay { EnumChatFormatting.DARK_PURPLE + "Overfluxes:\n" + EnumChatFormatting.AQUA + "Time Since RNG:\n" + EnumChatFormatting.AQUA + "Bosses Since RNG:"; - countText = EnumChatFormatting.GOLD + nf.format(LootTracker.wolfSvensSession) + "\n" + - EnumChatFormatting.GREEN + nf.format(LootTracker.wolfTeethSession) + "\n" + + countText = EnumChatFormatting.GOLD + nf.format(WolfTracker.wolfSvensSession) + "\n" + + EnumChatFormatting.GREEN + nf.format(WolfTracker.wolfTeethSession) + "\n" + EnumChatFormatting.BLUE + drop20 + "\n" + - EnumChatFormatting.AQUA + LootTracker.wolfSpiritsSession + "\n" + - EnumChatFormatting.WHITE + LootTracker.wolfBooksSession + "\n" + - EnumChatFormatting.DARK_RED + LootTracker.wolfEggsSession + "\n" + - EnumChatFormatting.GOLD + LootTracker.wolfCouturesSession + "\n" + - EnumChatFormatting.AQUA + LootTracker.wolfBaitsSession + "\n" + - EnumChatFormatting.DARK_PURPLE + LootTracker.wolfFluxesSession + "\n" + + EnumChatFormatting.AQUA + WolfTracker.wolfSpiritsSession + "\n" + + EnumChatFormatting.WHITE + WolfTracker.wolfBooksSession + "\n" + + EnumChatFormatting.DARK_RED + WolfTracker.wolfEggsSession + "\n" + + EnumChatFormatting.GOLD + WolfTracker.wolfCouturesSession + "\n" + + EnumChatFormatting.AQUA + WolfTracker.wolfBaitsSession + "\n" + + EnumChatFormatting.DARK_PURPLE + WolfTracker.wolfFluxesSession + "\n" + EnumChatFormatting.AQUA + timeBetween + "\n" + EnumChatFormatting.AQUA + bossesBetween; break; case "spider": - if (LootTracker.spiderTime == -1) { + if (SpiderTracker.spiderTime == -1) { timeBetween = "Never"; } else { - timeBetween = Utils.getTimeBetween(LootTracker.spiderTime, timeNow); + timeBetween = Utils.getTimeBetween(SpiderTracker.spiderTime, timeNow); } - if (LootTracker.spiderBosses == -1) { + if (SpiderTracker.spiderBosses == -1) { bossesBetween = "Never"; } else { - bossesBetween = nf.format(LootTracker.spiderBosses); + bossesBetween = nf.format(SpiderTracker.spiderBosses); } if (ToggleCommand.slayerCountTotal) { - drop20 = nf.format(LootTracker.spiderTAP); + drop20 = nf.format(SpiderTracker.spiderTAP); } else { - drop20 = nf.format(LootTracker.spiderTAPDrops) + " times"; + drop20 = nf.format(SpiderTracker.spiderTAPDrops) + " times"; } dropsText = EnumChatFormatting.GOLD + "Tarantulas Killed:\n" + @@ -142,33 +142,33 @@ public class LootDisplay { EnumChatFormatting.GOLD + "Digested Mosquitos:\n" + EnumChatFormatting.AQUA + "Time Since RNG:\n" + EnumChatFormatting.AQUA + "Bosses Since RNG:"; - countText = EnumChatFormatting.GOLD + nf.format(LootTracker.spiderTarantulas) + "\n" + - EnumChatFormatting.GREEN + nf.format(LootTracker.spiderWebs) + "\n" + + countText = EnumChatFormatting.GOLD + nf.format(SpiderTracker.spiderTarantulas) + "\n" + + EnumChatFormatting.GREEN + nf.format(SpiderTracker.spiderWebs) + "\n" + EnumChatFormatting.DARK_GREEN + drop20 + "\n" + - EnumChatFormatting.DARK_GRAY + LootTracker.spiderBites + "\n" + - EnumChatFormatting.WHITE + LootTracker.spiderBooks + "\n" + - EnumChatFormatting.AQUA + LootTracker.spiderCatalysts + "\n" + - EnumChatFormatting.DARK_PURPLE + LootTracker.spiderTalismans + "\n" + - EnumChatFormatting.LIGHT_PURPLE + LootTracker.spiderSwatters + "\n" + - EnumChatFormatting.GOLD + LootTracker.spiderMosquitos + "\n" + + EnumChatFormatting.DARK_GRAY + SpiderTracker.spiderBites + "\n" + + EnumChatFormatting.WHITE + SpiderTracker.spiderBooks + "\n" + + EnumChatFormatting.AQUA + SpiderTracker.spiderCatalysts + "\n" + + EnumChatFormatting.DARK_PURPLE + SpiderTracker.spiderTalismans + "\n" + + EnumChatFormatting.LIGHT_PURPLE + SpiderTracker.spiderSwatters + "\n" + + EnumChatFormatting.GOLD + SpiderTracker.spiderMosquitos + "\n" + EnumChatFormatting.AQUA + timeBetween + "\n" + EnumChatFormatting.AQUA + bossesBetween; break; case "spider_session": - if (LootTracker.spiderTimeSession == -1) { + if (SpiderTracker.spiderTimeSession == -1) { timeBetween = "Never"; } else { - timeBetween = Utils.getTimeBetween(LootTracker.spiderTimeSession, timeNow); + timeBetween = Utils.getTimeBetween(SpiderTracker.spiderTimeSession, timeNow); } - if (LootTracker.spiderBossesSession == -1) { + if (SpiderTracker.spiderBossesSession == -1) { bossesBetween = "Never"; } else { - bossesBetween = nf.format(LootTracker.spiderBossesSession); + bossesBetween = nf.format(SpiderTracker.spiderBossesSession); } if (ToggleCommand.slayerCountTotal) { - drop20 = nf.format(LootTracker.spiderTAPSession); + drop20 = nf.format(SpiderTracker.spiderTAPSession); } else { - drop20 = nf.format(LootTracker.spiderTAPDropsSession) + " times"; + drop20 = nf.format(SpiderTracker.spiderTAPDropsSession) + " times"; } dropsText = EnumChatFormatting.GOLD + "Tarantulas Killed:\n" + @@ -182,33 +182,33 @@ public class LootDisplay { EnumChatFormatting.GOLD + "Digested Mosquitos:\n" + EnumChatFormatting.AQUA + "Time Since RNG:\n" + EnumChatFormatting.AQUA + "Bosses Since RNG:"; - countText = EnumChatFormatting.GOLD + nf.format(LootTracker.spiderTarantulasSession) + "\n" + - EnumChatFormatting.GREEN + nf.format(LootTracker.spiderWebsSession) + "\n" + + countText = EnumChatFormatting.GOLD + nf.format(SpiderTracker.spiderTarantulasSession) + "\n" + + EnumChatFormatting.GREEN + nf.format(SpiderTracker.spiderWebsSession) + "\n" + EnumChatFormatting.DARK_GREEN + drop20 + "\n" + - EnumChatFormatting.DARK_GRAY + LootTracker.spiderBitesSession + "\n" + - EnumChatFormatting.WHITE + LootTracker.spiderBooksSession + "\n" + - EnumChatFormatting.AQUA + LootTracker.spiderCatalystsSession + "\n" + - EnumChatFormatting.DARK_PURPLE + LootTracker.spiderTalismansSession + "\n" + - EnumChatFormatting.LIGHT_PURPLE + LootTracker.spiderSwattersSession + "\n" + - EnumChatFormatting.GOLD + LootTracker.spiderMosquitosSession + "\n" + + EnumChatFormatting.DARK_GRAY + SpiderTracker.spiderBitesSession + "\n" + + EnumChatFormatting.WHITE + SpiderTracker.spiderBooksSession + "\n" + + EnumChatFormatting.AQUA + SpiderTracker.spiderCatalystsSession + "\n" + + EnumChatFormatting.DARK_PURPLE + SpiderTracker.spiderTalismansSession + "\n" + + EnumChatFormatting.LIGHT_PURPLE + SpiderTracker.spiderSwattersSession + "\n" + + EnumChatFormatting.GOLD + SpiderTracker.spiderMosquitosSession + "\n" + EnumChatFormatting.AQUA + timeBetween + "\n" + EnumChatFormatting.AQUA + bossesBetween; break; case "zombie": - if (LootTracker.zombieTime == -1) { + if (ZombieTracker.zombieTime == -1) { timeBetween = "Never"; } else { - timeBetween = Utils.getTimeBetween(LootTracker.zombieTime, timeNow); + timeBetween = Utils.getTimeBetween(ZombieTracker.zombieTime, timeNow); } - if (LootTracker.zombieBosses == -1) { + if (ZombieTracker.zombieBosses == -1) { bossesBetween = "Never"; } else { - bossesBetween = nf.format(LootTracker.zombieBosses); + bossesBetween = nf.format(ZombieTracker.zombieBosses); } if (ToggleCommand.slayerCountTotal) { - drop20 = nf.format(LootTracker.zombieFoulFlesh); + drop20 = nf.format(ZombieTracker.zombieFoulFlesh); } else { - drop20 = nf.format(LootTracker.zombieFoulFleshDrops) + " times"; + drop20 = nf.format(ZombieTracker.zombieFoulFleshDrops) + " times"; } dropsText = EnumChatFormatting.GOLD + "Revs Killed:\n" + @@ -226,37 +226,37 @@ public class LootDisplay { EnumChatFormatting.RED + "Warden Hearts:\n" + EnumChatFormatting.AQUA + "Time Since RNG:\n" + EnumChatFormatting.AQUA + "Bosses Since RNG:"; - countText = EnumChatFormatting.GOLD + nf.format(LootTracker.zombieRevs) + "\n" + - EnumChatFormatting.GREEN + nf.format(LootTracker.zombieRevFlesh) + "\n" + - EnumChatFormatting.GREEN + nf.format(LootTracker.zombieRevViscera) + "\n" + + countText = EnumChatFormatting.GOLD + nf.format(ZombieTracker.zombieRevs) + "\n" + + EnumChatFormatting.GREEN + nf.format(ZombieTracker.zombieRevFlesh) + "\n" + + EnumChatFormatting.GREEN + nf.format(ZombieTracker.zombieRevViscera) + "\n" + EnumChatFormatting.BLUE + drop20 + "\n" + - EnumChatFormatting.DARK_GREEN + LootTracker.zombiePestilences + "\n" + - EnumChatFormatting.WHITE + LootTracker.zombieBooks + "\n" + - EnumChatFormatting.AQUA + LootTracker.zombieUndeadCatas + "\n" + - EnumChatFormatting.DARK_PURPLE + LootTracker.zombieBeheadeds + "\n" + - EnumChatFormatting.RED + LootTracker.zombieRevCatas + "\n" + - EnumChatFormatting.DARK_GREEN + LootTracker.zombieSnakes + "\n" + - EnumChatFormatting.GOLD + LootTracker.zombieScythes + "\n" + - EnumChatFormatting.RED + LootTracker.zombieShards + "\n" + - EnumChatFormatting.RED + LootTracker.zombieWardenHearts + "\n" + + EnumChatFormatting.DARK_GREEN + ZombieTracker.zombiePestilences + "\n" + + EnumChatFormatting.WHITE + ZombieTracker.zombieBooks + "\n" + + EnumChatFormatting.AQUA + ZombieTracker.zombieUndeadCatas + "\n" + + EnumChatFormatting.DARK_PURPLE + ZombieTracker.zombieBeheadeds + "\n" + + EnumChatFormatting.RED + ZombieTracker.zombieRevCatas + "\n" + + EnumChatFormatting.DARK_GREEN + ZombieTracker.zombieSnakes + "\n" + + EnumChatFormatting.GOLD + ZombieTracker.zombieScythes + "\n" + + EnumChatFormatting.RED + ZombieTracker.zombieShards + "\n" + + EnumChatFormatting.RED + ZombieTracker.zombieWardenHearts + "\n" + EnumChatFormatting.AQUA + timeBetween + "\n" + EnumChatFormatting.AQUA + bossesBetween; break; case "zombie_session": - if (LootTracker.zombieTimeSession == -1) { + if (ZombieTracker.zombieTimeSession == -1) { timeBetween = "Never"; } else { - timeBetween = Utils.getTimeBetween(LootTracker.zombieTimeSession, timeNow); + timeBetween = Utils.getTimeBetween(ZombieTracker.zombieTimeSession, timeNow); } - if (LootTracker.zombieBossesSession == -1) { + if (ZombieTracker.zombieBossesSession == -1) { bossesBetween = "Never"; } else { - bossesBetween = nf.format(LootTracker.zombieBossesSession); + bossesBetween = nf.format(ZombieTracker.zombieBossesSession); } if (ToggleCommand.slayerCountTotal) { - drop20 = nf.format(LootTracker.zombieFoulFleshSession); + drop20 = nf.format(ZombieTracker.zombieFoulFleshSession); } else { - drop20 = nf.format(LootTracker.zombieFoulFleshDropsSession) + " times"; + drop20 = nf.format(ZombieTracker.zombieFoulFleshDropsSession) + " times"; } dropsText = EnumChatFormatting.GOLD + "Revs Killed:\n" + @@ -274,37 +274,37 @@ public class LootDisplay { EnumChatFormatting.RED + "Warden Hearts:\n" + EnumChatFormatting.AQUA + "Time Since RNG:\n" + EnumChatFormatting.AQUA + "Bosses Since RNG:"; - countText = EnumChatFormatting.GOLD + nf.format(LootTracker.zombieRevsSession) + "\n" + - EnumChatFormatting.GREEN + nf.format(LootTracker.zombieRevFleshSession) + "\n" + - EnumChatFormatting.GREEN + nf.format(LootTracker.zombieRevVisceraSession) + "\n" + + countText = EnumChatFormatting.GOLD + nf.format(ZombieTracker.zombieRevsSession) + "\n" + + EnumChatFormatting.GREEN + nf.format(ZombieTracker.zombieRevFleshSession) + "\n" + + EnumChatFormatting.GREEN + nf.format(ZombieTracker.zombieRevVisceraSession) + "\n" + EnumChatFormatting.BLUE + drop20 + "\n" + - EnumChatFormatting.DARK_GREEN + LootTracker.zombiePestilencesSession + "\n" + - EnumChatFormatting.WHITE + LootTracker.zombieBooksSession + "\n" + - EnumChatFormatting.AQUA + LootTracker.zombieUndeadCatasSession + "\n" + - EnumChatFormatting.DARK_PURPLE + LootTracker.zombieBeheadedsSession + "\n" + - EnumChatFormatting.RED + LootTracker.zombieRevCatasSession + "\n" + - EnumChatFormatting.DARK_GREEN + LootTracker.zombieSnakesSession + "\n" + - EnumChatFormatting.GOLD + LootTracker.zombieScythes + "\n" + - EnumChatFormatting.RED + LootTracker.zombieShardsSession + "\n" + - EnumChatFormatting.RED + LootTracker.zombieWardenHeartsSession + "\n" + + EnumChatFormatting.DARK_GREEN + ZombieTracker.zombiePestilencesSession + "\n" + + EnumChatFormatting.WHITE + ZombieTracker.zombieBooksSession + "\n" + + EnumChatFormatting.AQUA + ZombieTracker.zombieUndeadCatasSession + "\n" + + EnumChatFormatting.DARK_PURPLE + ZombieTracker.zombieBeheadedsSession + "\n" + + EnumChatFormatting.RED + ZombieTracker.zombieRevCatasSession + "\n" + + EnumChatFormatting.DARK_GREEN + ZombieTracker.zombieSnakesSession + "\n" + + EnumChatFormatting.GOLD + ZombieTracker.zombieScythes + "\n" + + EnumChatFormatting.RED + ZombieTracker.zombieShardsSession + "\n" + + EnumChatFormatting.RED + ZombieTracker.zombieWardenHeartsSession + "\n" + EnumChatFormatting.AQUA + timeBetween + "\n" + EnumChatFormatting.AQUA + bossesBetween; break; case "enderman": - if (LootTracker.endermanTime == -1) { + if (EndermanTracker.endermanTime == -1) { timeBetween = "Never"; } else { - timeBetween = Utils.getTimeBetween(LootTracker.endermanTime, timeNow); + timeBetween = Utils.getTimeBetween(EndermanTracker.endermanTime, timeNow); } - if (LootTracker.endermanBosses == -1) { + if (EndermanTracker.endermanBosses == -1) { bossesBetween = "Never"; } else { - bossesBetween = nf.format(LootTracker.endermanBosses); + bossesBetween = nf.format(EndermanTracker.endermanBosses); } if (ToggleCommand.slayerCountTotal) { - drop20 = nf.format(LootTracker.endermanTAP); + drop20 = nf.format(EndermanTracker.endermanTAP); } else { - drop20 = nf.format(LootTracker.endermanTAPDrops) + " times"; + drop20 = nf.format(EndermanTracker.endermanTAPDrops) + " times"; } dropsText = EnumChatFormatting.GOLD + "Voidglooms Killed:\n" + @@ -328,43 +328,43 @@ public class LootDisplay { EnumChatFormatting.RED + "Ender Slayer Books:\n" + EnumChatFormatting.AQUA + "Time Since RNG:\n" + EnumChatFormatting.AQUA + "Bosses Since RNG:"; - countText = EnumChatFormatting.GOLD + nf.format(LootTracker.endermanVoidglooms) + "\n" + - EnumChatFormatting.DARK_GRAY + nf.format(LootTracker.endermanNullSpheres) + "\n" + + countText = EnumChatFormatting.GOLD + nf.format(EndermanTracker.endermanVoidglooms) + "\n" + + EnumChatFormatting.DARK_GRAY + nf.format(EndermanTracker.endermanNullSpheres) + "\n" + EnumChatFormatting.DARK_PURPLE + drop20 + "\n" + - EnumChatFormatting.LIGHT_PURPLE + LootTracker.endermanEndersnakes + "\n" + - EnumChatFormatting.DARK_GREEN + LootTracker.endermanSummoningEyes + "\n" + - EnumChatFormatting.AQUA + LootTracker.endermanManaBooks + "\n" + - EnumChatFormatting.BLUE + LootTracker.endermanTuners + "\n" + - EnumChatFormatting.YELLOW + LootTracker.endermanAtoms + "\n" + - EnumChatFormatting.AQUA + LootTracker.endermanEspressoMachines + "\n" + - EnumChatFormatting.WHITE + LootTracker.endermanSmartyBooks + "\n" + - EnumChatFormatting.LIGHT_PURPLE + LootTracker.endermanEndRunes + "\n" + - EnumChatFormatting.RED + LootTracker.endermanChalices + "\n" + - EnumChatFormatting.RED + LootTracker.endermanDice + "\n" + - EnumChatFormatting.DARK_PURPLE + LootTracker.endermanArtifacts + "\n" + - EnumChatFormatting.DARK_PURPLE + LootTracker.endermanSkins + "\n" + - EnumChatFormatting.GRAY + LootTracker.endermanEnchantRunes + "\n" + - EnumChatFormatting.GOLD + LootTracker.endermanMergers + "\n" + - EnumChatFormatting.GOLD + LootTracker.endermanCores + "\n" + - EnumChatFormatting.RED + LootTracker.endermanEnderBooks + "\n" + + EnumChatFormatting.LIGHT_PURPLE + EndermanTracker.endermanEndersnakes + "\n" + + EnumChatFormatting.DARK_GREEN + EndermanTracker.endermanSummoningEyes + "\n" + + EnumChatFormatting.AQUA + EndermanTracker.endermanManaBooks + "\n" + + EnumChatFormatting.BLUE + EndermanTracker.endermanTuners + "\n" + + EnumChatFormatting.YELLOW + EndermanTracker.endermanAtoms + "\n" + + EnumChatFormatting.AQUA + EndermanTracker.endermanEspressoMachines + "\n" + + EnumChatFormatting.WHITE + EndermanTracker.endermanSmartyBooks + "\n" + + EnumChatFormatting.LIGHT_PURPLE + EndermanTracker.endermanEndRunes + "\n" + + EnumChatFormatting.RED + EndermanTracker.endermanChalices + "\n" + + EnumChatFormatting.RED + EndermanTracker.endermanDice + "\n" + + EnumChatFormatting.DARK_PURPLE + EndermanTracker.endermanArtifacts + "\n" + + EnumChatFormatting.DARK_PURPLE + EndermanTracker.endermanSkins + "\n" + + EnumChatFormatting.GRAY + EndermanTracker.endermanEnchantRunes + "\n" + + EnumChatFormatting.GOLD + EndermanTracker.endermanMergers + "\n" + + EnumChatFormatting.GOLD + EndermanTracker.endermanCores + "\n" + + EnumChatFormatting.RED + EndermanTracker.endermanEnderBooks + "\n" + EnumChatFormatting.AQUA + timeBetween + "\n" + EnumChatFormatting.AQUA + bossesBetween; break; case "enderman_session": - if (LootTracker.endermanTimeSession == -1) { + if (EndermanTracker.endermanTimeSession == -1) { timeBetween = "Never"; } else { - timeBetween = Utils.getTimeBetween(LootTracker.endermanTimeSession, timeNow); + timeBetween = Utils.getTimeBetween(EndermanTracker.endermanTimeSession, timeNow); } - if (LootTracker.endermanBossesSession == -1) { + if (EndermanTracker.endermanBossesSession == -1) { bossesBetween = "Never"; } else { - bossesBetween = nf.format(LootTracker.endermanBossesSession); + bossesBetween = nf.format(EndermanTracker.endermanBossesSession); } if (ToggleCommand.slayerCountTotal) { - drop20 = nf.format(LootTracker.endermanTAPSession); + drop20 = nf.format(EndermanTracker.endermanTAPSession); } else { - drop20 = nf.format(LootTracker.endermanTAPDropsSession) + " times"; + drop20 = nf.format(EndermanTracker.endermanTAPDropsSession) + " times"; } dropsText = EnumChatFormatting.GOLD + "Voidglooms Killed:\n" + @@ -388,38 +388,38 @@ public class LootDisplay { EnumChatFormatting.RED + "Ender Slayer Books:\n" + EnumChatFormatting.AQUA + "Time Since RNG:\n" + EnumChatFormatting.AQUA + "Bosses Since RNG:"; - countText = EnumChatFormatting.GOLD + nf.format(LootTracker.endermanVoidgloomsSession) + "\n" + - EnumChatFormatting.DARK_GRAY + nf.format(LootTracker.endermanNullSpheresSession) + "\n" + + countText = EnumChatFormatting.GOLD + nf.format(EndermanTracker.endermanVoidgloomsSession) + "\n" + + EnumChatFormatting.DARK_GRAY + nf.format(EndermanTracker.endermanNullSpheresSession) + "\n" + EnumChatFormatting.DARK_PURPLE + drop20 + "\n" + - EnumChatFormatting.LIGHT_PURPLE + LootTracker.endermanEndersnakesSession + "\n" + - EnumChatFormatting.DARK_GREEN + LootTracker.endermanSummoningEyesSession + "\n" + - EnumChatFormatting.AQUA + LootTracker.endermanManaBooksSession + "\n" + - EnumChatFormatting.BLUE + LootTracker.endermanTunersSession + "\n" + - EnumChatFormatting.YELLOW + LootTracker.endermanAtomsSession + "\n" + - EnumChatFormatting.AQUA + LootTracker.endermanEspressoMachinesSession + "\n" + - EnumChatFormatting.WHITE + LootTracker.endermanSmartyBooksSession + "\n" + - EnumChatFormatting.LIGHT_PURPLE + LootTracker.endermanEndRunesSession + "\n" + - EnumChatFormatting.RED + LootTracker.endermanChalicesSession + "\n" + - EnumChatFormatting.RED + LootTracker.endermanDiceSession + "\n" + - EnumChatFormatting.DARK_PURPLE + LootTracker.endermanArtifactsSession + "\n" + - EnumChatFormatting.DARK_PURPLE + LootTracker.endermanSkinsSession + "\n" + - EnumChatFormatting.GRAY + LootTracker.endermanEnchantRunesSession + "\n" + - EnumChatFormatting.GOLD + LootTracker.endermanMergersSession + "\n" + - EnumChatFormatting.GOLD + LootTracker.endermanCoresSession + "\n" + - EnumChatFormatting.RED + LootTracker.endermanEnderBooksSession + "\n" + + EnumChatFormatting.LIGHT_PURPLE + EndermanTracker.endermanEndersnakesSession + "\n" + + EnumChatFormatting.DARK_GREEN + EndermanTracker.endermanSummoningEyesSession + "\n" + + EnumChatFormatting.AQUA + EndermanTracker.endermanManaBooksSession + "\n" + + EnumChatFormatting.BLUE + EndermanTracker.endermanTunersSession + "\n" + + EnumChatFormatting.YELLOW + EndermanTracker.endermanAtomsSession + "\n" + + EnumChatFormatting.AQUA + EndermanTracker.endermanEspressoMachinesSession + "\n" + + EnumChatFormatting.WHITE + EndermanTracker.endermanSmartyBooksSession + "\n" + + EnumChatFormatting.LIGHT_PURPLE + EndermanTracker.endermanEndRunesSession + "\n" + + EnumChatFormatting.RED + EndermanTracker.endermanChalicesSession + "\n" + + EnumChatFormatting.RED + EndermanTracker.endermanDiceSession + "\n" + + EnumChatFormatting.DARK_PURPLE + EndermanTracker.endermanArtifactsSession + "\n" + + EnumChatFormatting.DARK_PURPLE + EndermanTracker.endermanSkinsSession + "\n" + + EnumChatFormatting.GRAY + EndermanTracker.endermanEnchantRunesSession + "\n" + + EnumChatFormatting.GOLD + EndermanTracker.endermanMergersSession + "\n" + + EnumChatFormatting.GOLD + EndermanTracker.endermanCoresSession + "\n" + + EnumChatFormatting.RED + EndermanTracker.endermanEnderBooksSession + "\n" + EnumChatFormatting.AQUA + timeBetween + "\n" + EnumChatFormatting.AQUA + bossesBetween; break; case "fishing": - if (LootTracker.empTime == -1) { + if (FishingTracker.empTime == -1) { timeBetween = "Never"; } else { - timeBetween = Utils.getTimeBetween(LootTracker.empTime, timeNow); + timeBetween = Utils.getTimeBetween(FishingTracker.empTime, timeNow); } - if (LootTracker.empSCs == -1) { + if (FishingTracker.empSCs == -1) { bossesBetween = "Never"; } else { - bossesBetween = nf.format(LootTracker.empSCs); + bossesBetween = nf.format(FishingTracker.empSCs); } dropsText = EnumChatFormatting.AQUA + "Creatures Caught:\n" + @@ -432,16 +432,16 @@ public class LootDisplay { EnumChatFormatting.DARK_AQUA + "Sea Guardians:\n" + EnumChatFormatting.BLUE + "Sea Witches:\n" + EnumChatFormatting.GREEN + "Sea Archers:"; - countText = EnumChatFormatting.AQUA + nf.format(LootTracker.seaCreatures) + "\n" + - EnumChatFormatting.AQUA + nf.format(LootTracker.fishingMilestone) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.goodCatches) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.greatCatches) + "\n" + - EnumChatFormatting.GRAY + nf.format(LootTracker.squids) + "\n" + - EnumChatFormatting.GREEN + nf.format(LootTracker.seaWalkers) + "\n" + - EnumChatFormatting.DARK_GRAY + nf.format(LootTracker.nightSquids) + "\n" + - EnumChatFormatting.DARK_AQUA + nf.format(LootTracker.seaGuardians) + "\n" + - EnumChatFormatting.BLUE + nf.format(LootTracker.seaWitches) + "\n" + - EnumChatFormatting.GREEN + nf.format(LootTracker.seaArchers); + countText = EnumChatFormatting.AQUA + nf.format(FishingTracker.seaCreatures) + "\n" + + EnumChatFormatting.AQUA + nf.format(FishingTracker.fishingMilestone) + "\n" + + EnumChatFormatting.GOLD + nf.format(FishingTracker.goodCatches) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(FishingTracker.greatCatches) + "\n" + + EnumChatFormatting.GRAY + nf.format(FishingTracker.squids) + "\n" + + EnumChatFormatting.GREEN + nf.format(FishingTracker.seaWalkers) + "\n" + + EnumChatFormatting.DARK_GRAY + nf.format(FishingTracker.nightSquids) + "\n" + + EnumChatFormatting.DARK_AQUA + nf.format(FishingTracker.seaGuardians) + "\n" + + EnumChatFormatting.BLUE + nf.format(FishingTracker.seaWitches) + "\n" + + EnumChatFormatting.GREEN + nf.format(FishingTracker.seaArchers); // Seperated to save vertical space dropsTextTwo = EnumChatFormatting.GREEN + "Monster of Deeps:\n" + EnumChatFormatting.YELLOW + "Catfishes:\n" + @@ -453,14 +453,14 @@ public class LootDisplay { EnumChatFormatting.GOLD + "Sea Emperors:\n" + EnumChatFormatting.AQUA + "Time Since Emp:\n" + EnumChatFormatting.AQUA + "Creatures Since Emp:"; - countTextTwo = EnumChatFormatting.GREEN + nf.format(LootTracker.monsterOfTheDeeps) + "\n" + - EnumChatFormatting.YELLOW + nf.format(LootTracker.catfishes) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.carrotKings) + "\n" + - EnumChatFormatting.GRAY + nf.format(LootTracker.seaLeeches) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.guardianDefenders) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.deepSeaProtectors) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.hydras) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.seaEmperors) + "\n" + + countTextTwo = EnumChatFormatting.GREEN + nf.format(FishingTracker.monsterOfTheDeeps) + "\n" + + EnumChatFormatting.YELLOW + nf.format(FishingTracker.catfishes) + "\n" + + EnumChatFormatting.GOLD + nf.format(FishingTracker.carrotKings) + "\n" + + EnumChatFormatting.GRAY + nf.format(FishingTracker.seaLeeches) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(FishingTracker.guardianDefenders) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(FishingTracker.deepSeaProtectors) + "\n" + + EnumChatFormatting.GOLD + nf.format(FishingTracker.hydras) + "\n" + + EnumChatFormatting.GOLD + nf.format(FishingTracker.seaEmperors) + "\n" + EnumChatFormatting.AQUA + timeBetween + "\n" + EnumChatFormatting.AQUA + bossesBetween; @@ -473,15 +473,15 @@ public class LootDisplay { } break; case "fishing_session": - if (LootTracker.empTimeSession == -1) { + if (FishingTracker.empTimeSession == -1) { timeBetween = "Never"; } else { - timeBetween = Utils.getTimeBetween(LootTracker.empTimeSession, timeNow); + timeBetween = Utils.getTimeBetween(FishingTracker.empTimeSession, timeNow); } - if (LootTracker.empSCsSession == -1) { + if (FishingTracker.empSCsSession == -1) { bossesBetween = "Never"; } else { - bossesBetween = nf.format(LootTracker.empSCsSession); + bossesBetween = nf.format(FishingTracker.empSCsSession); } dropsText = EnumChatFormatting.AQUA + "Creatures Caught:\n" + @@ -494,16 +494,16 @@ public class LootDisplay { EnumChatFormatting.DARK_AQUA + "Sea Guardians:\n" + EnumChatFormatting.BLUE + "Sea Witches:\n" + EnumChatFormatting.GREEN + "Sea Archers:"; - countText = EnumChatFormatting.AQUA + nf.format(LootTracker.seaCreaturesSession) + "\n" + - EnumChatFormatting.AQUA + nf.format(LootTracker.fishingMilestoneSession) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.goodCatchesSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.greatCatchesSession) + "\n" + - EnumChatFormatting.GRAY + nf.format(LootTracker.squidsSession) + "\n" + - EnumChatFormatting.GREEN + nf.format(LootTracker.seaWalkersSession) + "\n" + - EnumChatFormatting.DARK_GRAY + nf.format(LootTracker.nightSquidsSession) + "\n" + - EnumChatFormatting.DARK_AQUA + nf.format(LootTracker.seaGuardiansSession) + "\n" + - EnumChatFormatting.BLUE + nf.format(LootTracker.seaWitchesSession) + "\n" + - EnumChatFormatting.GREEN + nf.format(LootTracker.seaArchersSession); + countText = EnumChatFormatting.AQUA + nf.format(FishingTracker.seaCreaturesSession) + "\n" + + EnumChatFormatting.AQUA + nf.format(FishingTracker.fishingMilestoneSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(FishingTracker.goodCatchesSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(FishingTracker.greatCatchesSession) + "\n" + + EnumChatFormatting.GRAY + nf.format(FishingTracker.squidsSession) + "\n" + + EnumChatFormatting.GREEN + nf.format(FishingTracker.seaWalkersSession) + "\n" + + EnumChatFormatting.DARK_GRAY + nf.format(FishingTracker.nightSquidsSession) + "\n" + + EnumChatFormatting.DARK_AQUA + nf.format(FishingTracker.seaGuardiansSession) + "\n" + + EnumChatFormatting.BLUE + nf.format(FishingTracker.seaWitchesSession) + "\n" + + EnumChatFormatting.GREEN + nf.format(FishingTracker.seaArchersSession); // Seperated to save vertical space dropsTextTwo = EnumChatFormatting.GREEN + "Monster of Deeps:\n" + EnumChatFormatting.YELLOW + "Catfishes:\n" + @@ -515,14 +515,14 @@ public class LootDisplay { EnumChatFormatting.GOLD + "Sea Emperors:\n" + EnumChatFormatting.AQUA + "Time Since Emp:\n" + EnumChatFormatting.AQUA + "Creatures Since Emp:"; - countTextTwo = EnumChatFormatting.GREEN + nf.format(LootTracker.monsterOfTheDeepsSession) + "\n" + - EnumChatFormatting.YELLOW + nf.format(LootTracker.catfishesSession) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.carrotKingsSession) + "\n" + - EnumChatFormatting.GRAY + nf.format(LootTracker.seaLeechesSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.guardianDefendersSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.deepSeaProtectorsSession) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.hydrasSession) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.seaEmperorsSession) + "\n" + + countTextTwo = EnumChatFormatting.GREEN + nf.format(FishingTracker.monsterOfTheDeepsSession) + "\n" + + EnumChatFormatting.YELLOW + nf.format(FishingTracker.catfishesSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(FishingTracker.carrotKingsSession) + "\n" + + EnumChatFormatting.GRAY + nf.format(FishingTracker.seaLeechesSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(FishingTracker.guardianDefendersSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(FishingTracker.deepSeaProtectorsSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(FishingTracker.hydrasSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(FishingTracker.seaEmperorsSession) + "\n" + EnumChatFormatting.AQUA + timeBetween + "\n" + EnumChatFormatting.AQUA + bossesBetween; @@ -535,15 +535,15 @@ public class LootDisplay { } break; case "fishing_winter": - if (LootTracker.yetiTime == -1) { + if (FishingTracker.yetiTime == -1) { timeBetween = "Never"; } else { - timeBetween = Utils.getTimeBetween(LootTracker.yetiTime, timeNow); + timeBetween = Utils.getTimeBetween(FishingTracker.yetiTime, timeNow); } - if (LootTracker.yetiSCs == -1) { + if (FishingTracker.yetiSCs == -1) { bossesBetween = "Never"; } else { - bossesBetween = nf.format(LootTracker.yetiSCs); + bossesBetween = nf.format(FishingTracker.yetiSCs); } dropsText = EnumChatFormatting.AQUA + "Creatures Caught:\n" + @@ -556,27 +556,27 @@ public class LootDisplay { EnumChatFormatting.GOLD + "Yetis:\n" + EnumChatFormatting.AQUA + "Time Since Yeti:\n" + EnumChatFormatting.AQUA + "Creatures Since Yeti:"; - countText = EnumChatFormatting.AQUA + nf.format(LootTracker.seaCreatures) + "\n" + - EnumChatFormatting.AQUA + nf.format(LootTracker.fishingMilestone) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.goodCatches) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.greatCatches) + "\n" + - EnumChatFormatting.AQUA + nf.format(LootTracker.frozenSteves) + "\n" + - EnumChatFormatting.WHITE + nf.format(LootTracker.frostyTheSnowmans) + "\n" + - EnumChatFormatting.DARK_GREEN + nf.format(LootTracker.grinches) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.yetis) + "\n" + + countText = EnumChatFormatting.AQUA + nf.format(FishingTracker.seaCreatures) + "\n" + + EnumChatFormatting.AQUA + nf.format(FishingTracker.fishingMilestone) + "\n" + + EnumChatFormatting.GOLD + nf.format(FishingTracker.goodCatches) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(FishingTracker.greatCatches) + "\n" + + EnumChatFormatting.AQUA + nf.format(FishingTracker.frozenSteves) + "\n" + + EnumChatFormatting.WHITE + nf.format(FishingTracker.frostyTheSnowmans) + "\n" + + EnumChatFormatting.DARK_GREEN + nf.format(FishingTracker.grinches) + "\n" + + EnumChatFormatting.GOLD + nf.format(FishingTracker.yetis) + "\n" + EnumChatFormatting.AQUA + timeBetween + "\n" + EnumChatFormatting.AQUA + bossesBetween; break; case "fishing_winter_session": - if (LootTracker.yetiTimeSession == -1) { + if (FishingTracker.yetiTimeSession == -1) { timeBetween = "Never"; } else { - timeBetween = Utils.getTimeBetween(LootTracker.yetiTimeSession, timeNow); + timeBetween = Utils.getTimeBetween(FishingTracker.yetiTimeSession, timeNow); } - if (LootTracker.yetiSCsSession == -1) { + if (FishingTracker.yetiSCsSession == -1) { bossesBetween = "Never"; } else { - bossesBetween = nf.format(LootTracker.yetiSCsSession); + bossesBetween = nf.format(FishingTracker.yetiSCsSession); } dropsText = EnumChatFormatting.AQUA + "Creatures Caught:\n" + @@ -589,14 +589,14 @@ public class LootDisplay { EnumChatFormatting.GOLD + "Yetis:\n" + EnumChatFormatting.AQUA + "Time Since Yeti:\n" + EnumChatFormatting.AQUA + "Creatures Since Yeti:"; - countText = EnumChatFormatting.AQUA + nf.format(LootTracker.seaCreaturesSession) + "\n" + - EnumChatFormatting.AQUA + nf.format(LootTracker.fishingMilestoneSession) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.goodCatchesSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.greatCatchesSession) + "\n" + - EnumChatFormatting.AQUA + nf.format(LootTracker.frozenStevesSession) + "\n" + - EnumChatFormatting.WHITE + nf.format(LootTracker.frostyTheSnowmansSession) + "\n" + - EnumChatFormatting.DARK_GREEN + nf.format(LootTracker.grinchesSession) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.yetisSession) + "\n" + + countText = EnumChatFormatting.AQUA + nf.format(FishingTracker.seaCreaturesSession) + "\n" + + EnumChatFormatting.AQUA + nf.format(FishingTracker.fishingMilestoneSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(FishingTracker.goodCatchesSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(FishingTracker.greatCatchesSession) + "\n" + + EnumChatFormatting.AQUA + nf.format(FishingTracker.frozenStevesSession) + "\n" + + EnumChatFormatting.WHITE + nf.format(FishingTracker.frostyTheSnowmansSession) + "\n" + + EnumChatFormatting.DARK_GREEN + nf.format(FishingTracker.grinchesSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(FishingTracker.yetisSession) + "\n" + EnumChatFormatting.AQUA + timeBetween + "\n" + EnumChatFormatting.AQUA + bossesBetween; break; @@ -609,14 +609,14 @@ public class LootDisplay { EnumChatFormatting.BLUE + "Blue Sharks:\n" + EnumChatFormatting.GOLD + "Tiger Sharks:\n" + EnumChatFormatting.WHITE + "Great White Sharks:"; - countText = EnumChatFormatting.AQUA + nf.format(LootTracker.seaCreatures) + "\n" + - EnumChatFormatting.AQUA + nf.format(LootTracker.fishingMilestone) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.goodCatches) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.greatCatches) + "\n" + - EnumChatFormatting.LIGHT_PURPLE + nf.format(LootTracker.nurseSharks) + "\n" + - EnumChatFormatting.BLUE + nf.format(LootTracker.blueSharks) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.tigerSharks) + "\n" + - EnumChatFormatting.WHITE + nf.format(LootTracker.greatWhiteSharks); + countText = EnumChatFormatting.AQUA + nf.format(FishingTracker.seaCreatures) + "\n" + + EnumChatFormatting.AQUA + nf.format(FishingTracker.fishingMilestone) + "\n" + + EnumChatFormatting.GOLD + nf.format(FishingTracker.goodCatches) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(FishingTracker.greatCatches) + "\n" + + EnumChatFormatting.LIGHT_PURPLE + nf.format(FishingTracker.nurseSharks) + "\n" + + EnumChatFormatting.BLUE + nf.format(FishingTracker.blueSharks) + "\n" + + EnumChatFormatting.GOLD + nf.format(FishingTracker.tigerSharks) + "\n" + + EnumChatFormatting.WHITE + nf.format(FishingTracker.greatWhiteSharks); break; case "fishing_festival_session": dropsText = EnumChatFormatting.AQUA + "Creatures Caught:\n" + @@ -627,14 +627,14 @@ public class LootDisplay { EnumChatFormatting.BLUE + "Blue Sharks:\n" + EnumChatFormatting.GOLD + "Tiger Sharks:\n" + EnumChatFormatting.WHITE + "Great White Sharks:"; - countText = EnumChatFormatting.AQUA + nf.format(LootTracker.seaCreaturesSession) + "\n" + - EnumChatFormatting.AQUA + nf.format(LootTracker.fishingMilestoneSession) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.goodCatchesSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.greatCatchesSession) + "\n" + - EnumChatFormatting.LIGHT_PURPLE + nf.format(LootTracker.nurseSharksSession) + "\n" + - EnumChatFormatting.BLUE + nf.format(LootTracker.blueSharksSession) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.tigerSharksSession) + "\n" + - EnumChatFormatting.WHITE + nf.format(LootTracker.greatWhiteSharksSession); + countText = EnumChatFormatting.AQUA + nf.format(FishingTracker.seaCreaturesSession) + "\n" + + EnumChatFormatting.AQUA + nf.format(FishingTracker.fishingMilestoneSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(FishingTracker.goodCatchesSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(FishingTracker.greatCatchesSession) + "\n" + + EnumChatFormatting.LIGHT_PURPLE + nf.format(FishingTracker.nurseSharksSession) + "\n" + + EnumChatFormatting.BLUE + nf.format(FishingTracker.blueSharksSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(FishingTracker.tigerSharksSession) + "\n" + + EnumChatFormatting.WHITE + nf.format(FishingTracker.greatWhiteSharksSession); break; case "fishing_spooky": dropsText = EnumChatFormatting.AQUA + "Creatures Caught:\n" + @@ -646,15 +646,15 @@ public class LootDisplay { EnumChatFormatting.DARK_PURPLE + "Werewolves:\n" + EnumChatFormatting.GOLD + "Phantom Fishers:\n" + EnumChatFormatting.GOLD + "Grim Reapers:"; - countText = EnumChatFormatting.AQUA + nf.format(LootTracker.seaCreatures) + "\n" + - EnumChatFormatting.AQUA + nf.format(LootTracker.fishingMilestone) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.goodCatches) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.greatCatches) + "\n" + - EnumChatFormatting.BLUE + nf.format(LootTracker.scarecrows) + "\n" + - EnumChatFormatting.GRAY + nf.format(LootTracker.nightmares) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.werewolfs) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.phantomFishers) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.grimReapers); + countText = EnumChatFormatting.AQUA + nf.format(FishingTracker.seaCreatures) + "\n" + + EnumChatFormatting.AQUA + nf.format(FishingTracker.fishingMilestone) + "\n" + + EnumChatFormatting.GOLD + nf.format(FishingTracker.goodCatches) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(FishingTracker.greatCatches) + "\n" + + EnumChatFormatting.BLUE + nf.format(FishingTracker.scarecrows) + "\n" + + EnumChatFormatting.GRAY + nf.format(FishingTracker.nightmares) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(FishingTracker.werewolfs) + "\n" + + EnumChatFormatting.GOLD + nf.format(FishingTracker.phantomFishers) + "\n" + + EnumChatFormatting.GOLD + nf.format(FishingTracker.grimReapers); break; case "fishing_spooky_session": dropsText = EnumChatFormatting.AQUA + "Creatures Caught:\n" + @@ -666,15 +666,15 @@ public class LootDisplay { EnumChatFormatting.DARK_PURPLE + "Werewolves:\n" + EnumChatFormatting.GOLD + "Phantom Fishers:\n" + EnumChatFormatting.GOLD + "Grim Reapers:"; - countText = EnumChatFormatting.AQUA + nf.format(LootTracker.seaCreaturesSession) + "\n" + - EnumChatFormatting.AQUA + nf.format(LootTracker.fishingMilestoneSession) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.goodCatchesSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.greatCatchesSession) + "\n" + - EnumChatFormatting.BLUE + nf.format(LootTracker.scarecrowsSession) + "\n" + - EnumChatFormatting.GRAY + nf.format(LootTracker.nightmaresSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.werewolfsSession) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.phantomFishersSession) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.grimReapersSession); + countText = EnumChatFormatting.AQUA + nf.format(FishingTracker.seaCreaturesSession) + "\n" + + EnumChatFormatting.AQUA + nf.format(FishingTracker.fishingMilestoneSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(FishingTracker.goodCatchesSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(FishingTracker.greatCatchesSession) + "\n" + + EnumChatFormatting.BLUE + nf.format(FishingTracker.scarecrowsSession) + "\n" + + EnumChatFormatting.GRAY + nf.format(FishingTracker.nightmaresSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(FishingTracker.werewolfsSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(FishingTracker.phantomFishersSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(FishingTracker.grimReapersSession); break; case "mythological": dropsText = EnumChatFormatting.GOLD + "Coins:\n" + @@ -687,16 +687,16 @@ public class LootDisplay { EnumChatFormatting.WHITE + "Gaia Constructs:\n" + EnumChatFormatting.DARK_PURPLE + "Minos Champions:\n" + EnumChatFormatting.GOLD + "Minos Inquisitors:"; - countText = EnumChatFormatting.GOLD + nf.format(LootTracker.mythCoins) + "\n" + - EnumChatFormatting.WHITE + nf.format(LootTracker.griffinFeathers) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.crownOfGreeds) + "\n" + - EnumChatFormatting.AQUA + nf.format(LootTracker.washedUpSouvenirs) + "\n" + - EnumChatFormatting.RED + nf.format(LootTracker.minosHunters) + "\n" + - EnumChatFormatting.GRAY + nf.format(LootTracker.siameseLynxes) + "\n" + - EnumChatFormatting.RED + nf.format(LootTracker.minotaurs) + "\n" + - EnumChatFormatting.WHITE + nf.format(LootTracker.gaiaConstructs) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.minosChampions) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.minosInquisitors); + countText = EnumChatFormatting.GOLD + nf.format(MythologicalTracker.mythCoins) + "\n" + + EnumChatFormatting.WHITE + nf.format(MythologicalTracker.griffinFeathers) + "\n" + + EnumChatFormatting.GOLD + nf.format(MythologicalTracker.crownOfGreeds) + "\n" + + EnumChatFormatting.AQUA + nf.format(MythologicalTracker.washedUpSouvenirs) + "\n" + + EnumChatFormatting.RED + nf.format(MythologicalTracker.minosHunters) + "\n" + + EnumChatFormatting.GRAY + nf.format(MythologicalTracker.siameseLynxes) + "\n" + + EnumChatFormatting.RED + nf.format(MythologicalTracker.minotaurs) + "\n" + + EnumChatFormatting.WHITE + nf.format(MythologicalTracker.gaiaConstructs) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(MythologicalTracker.minosChampions) + "\n" + + EnumChatFormatting.GOLD + nf.format(MythologicalTracker.minosInquisitors); break; case "mythological_session": dropsText = EnumChatFormatting.GOLD + "Coins:\n" + @@ -709,16 +709,16 @@ public class LootDisplay { EnumChatFormatting.WHITE + "Gaia Constructs:\n" + EnumChatFormatting.DARK_PURPLE + "Minos Champions:\n" + EnumChatFormatting.GOLD + "Minos Inquisitors:"; - countText = EnumChatFormatting.GOLD + nf.format(LootTracker.mythCoinsSession) + "\n" + - EnumChatFormatting.WHITE + nf.format(LootTracker.griffinFeathersSession) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.crownOfGreedsSession) + "\n" + - EnumChatFormatting.AQUA + nf.format(LootTracker.washedUpSouvenirsSession) + "\n" + - EnumChatFormatting.RED + nf.format(LootTracker.minosHuntersSession) + "\n" + - EnumChatFormatting.GRAY + nf.format(LootTracker.siameseLynxesSession) + "\n" + - EnumChatFormatting.RED + nf.format(LootTracker.minotaursSession) + "\n" + - EnumChatFormatting.WHITE + nf.format(LootTracker.gaiaConstructsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.minosChampionsSession) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.minosInquisitorsSession); + countText = EnumChatFormatting.GOLD + nf.format(MythologicalTracker.mythCoinsSession) + "\n" + + EnumChatFormatting.WHITE + nf.format(MythologicalTracker.griffinFeathersSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(MythologicalTracker.crownOfGreedsSession) + "\n" + + EnumChatFormatting.AQUA + nf.format(MythologicalTracker.washedUpSouvenirsSession) + "\n" + + EnumChatFormatting.RED + nf.format(MythologicalTracker.minosHuntersSession) + "\n" + + EnumChatFormatting.GRAY + nf.format(MythologicalTracker.siameseLynxesSession) + "\n" + + EnumChatFormatting.RED + nf.format(MythologicalTracker.minotaursSession) + "\n" + + EnumChatFormatting.WHITE + nf.format(MythologicalTracker.gaiaConstructsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(MythologicalTracker.minosChampionsSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(MythologicalTracker.minosInquisitorsSession); break; case "catacombs_floor_one": dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" + @@ -726,11 +726,11 @@ public class LootDisplay { EnumChatFormatting.BLUE + "Bonzo's Staffs:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + EnumChatFormatting.AQUA + "Time Spent:"; - countText = EnumChatFormatting.GOLD + nf.format(LootTracker.recombobulators) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.fumingPotatoBooks) + "\n" + - EnumChatFormatting.BLUE + nf.format(LootTracker.bonzoStaffs) + "\n" + - EnumChatFormatting.AQUA + Utils.getMoneySpent(LootTracker.f1CoinsSpent) + "\n" + - EnumChatFormatting.AQUA + Utils.getTimeBetween(0, LootTracker.f1TimeSpent); + countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulators) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + + EnumChatFormatting.BLUE + nf.format(CatacombsTracker.bonzoStaffs) + "\n" + + EnumChatFormatting.AQUA + Utils.getMoneySpent(CatacombsTracker.f1CoinsSpent) + "\n" + + EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.f1TimeSpent); break; case "catacombs_floor_one_session": dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" + @@ -738,11 +738,11 @@ public class LootDisplay { EnumChatFormatting.BLUE + "Bonzo's Staffs:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + EnumChatFormatting.AQUA + "Time Spent:"; - countText = EnumChatFormatting.GOLD + nf.format(LootTracker.recombobulatorsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.fumingPotatoBooksSession) + "\n" + - EnumChatFormatting.BLUE + nf.format(LootTracker.bonzoStaffsSession) + "\n" + - EnumChatFormatting.AQUA + Utils.getMoneySpent(LootTracker.f1CoinsSpentSession) + "\n" + - EnumChatFormatting.AQUA + Utils.getTimeBetween(0, LootTracker.f1TimeSpentSession); + countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + + EnumChatFormatting.BLUE + nf.format(CatacombsTracker.bonzoStaffsSession) + "\n" + + EnumChatFormatting.AQUA + Utils.getMoneySpent(CatacombsTracker.f1CoinsSpentSession) + "\n" + + EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.f1TimeSpentSession); break; case "catacombs_floor_two": dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" + @@ -751,12 +751,12 @@ public class LootDisplay { EnumChatFormatting.DARK_PURPLE + "Adaptive Blades:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + EnumChatFormatting.AQUA + "Time Spent:"; - countText = EnumChatFormatting.GOLD + nf.format(LootTracker.recombobulators) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.fumingPotatoBooks) + "\n" + - EnumChatFormatting.BLUE + nf.format(LootTracker.scarfStudies) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.adaptiveSwords) + "\n" + - EnumChatFormatting.AQUA + Utils.getMoneySpent(LootTracker.f2CoinsSpent) + "\n" + - EnumChatFormatting.AQUA + Utils.getTimeBetween(0, LootTracker.f2TimeSpent); + countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulators) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + + EnumChatFormatting.BLUE + nf.format(CatacombsTracker.scarfStudies) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.adaptiveSwords) + "\n" + + EnumChatFormatting.AQUA + Utils.getMoneySpent(CatacombsTracker.f2CoinsSpent) + "\n" + + EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.f2TimeSpent); break; case "catacombs_floor_two_session": dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" + @@ -765,12 +765,12 @@ public class LootDisplay { EnumChatFormatting.DARK_PURPLE + "Adaptive Blades:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + EnumChatFormatting.AQUA + "Time Spent:"; - countText = EnumChatFormatting.GOLD + nf.format(LootTracker.recombobulatorsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.fumingPotatoBooksSession) + "\n" + - EnumChatFormatting.BLUE + nf.format(LootTracker.scarfStudiesSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.adaptiveSwordsSession) + "\n" + - EnumChatFormatting.AQUA + Utils.getMoneySpent(LootTracker.f2CoinsSpentSession) + "\n" + - EnumChatFormatting.AQUA + Utils.getTimeBetween(0, LootTracker.f2TimeSpentSession); + countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + + EnumChatFormatting.BLUE + nf.format(CatacombsTracker.scarfStudiesSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.adaptiveSwordsSession) + "\n" + + EnumChatFormatting.AQUA + Utils.getMoneySpent(CatacombsTracker.f2CoinsSpentSession) + "\n" + + EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.f2TimeSpentSession); break; case "catacombs_floor_three": dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" + @@ -781,14 +781,14 @@ public class LootDisplay { EnumChatFormatting.DARK_PURPLE + "Adaptive Boots:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + EnumChatFormatting.AQUA + "Time Spent:"; - countText = EnumChatFormatting.GOLD + nf.format(LootTracker.recombobulators) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.fumingPotatoBooks) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.adaptiveHelms) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.adaptiveChests) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.adaptiveLegs) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.adaptiveBoots) + "\n" + - EnumChatFormatting.AQUA + Utils.getMoneySpent(LootTracker.f3CoinsSpent) + "\n" + - EnumChatFormatting.AQUA + Utils.getTimeBetween(0, LootTracker.f3TimeSpent); + countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulators) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.adaptiveHelms) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.adaptiveChests) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.adaptiveLegs) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.adaptiveBoots) + "\n" + + EnumChatFormatting.AQUA + Utils.getMoneySpent(CatacombsTracker.f3CoinsSpent) + "\n" + + EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.f3TimeSpent); break; case "catacombs_floor_three_session": dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" + @@ -799,14 +799,14 @@ public class LootDisplay { EnumChatFormatting.DARK_PURPLE + "Adaptive Boots:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + EnumChatFormatting.AQUA + "Time Spent:"; - countText = EnumChatFormatting.GOLD + nf.format(LootTracker.recombobulatorsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.fumingPotatoBooksSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.adaptiveHelmsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.adaptiveChestsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.adaptiveLegsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.adaptiveBootsSession) + "\n" + - EnumChatFormatting.AQUA + Utils.getMoneySpent(LootTracker.f3CoinsSpentSession) + "\n" + - EnumChatFormatting.AQUA + Utils.getTimeBetween(0, LootTracker.f3TimeSpentSession); + countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.adaptiveHelmsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.adaptiveChestsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.adaptiveLegsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.adaptiveBootsSession) + "\n" + + EnumChatFormatting.AQUA + Utils.getMoneySpent(CatacombsTracker.f3CoinsSpentSession) + "\n" + + EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.f3TimeSpentSession); break; case "catacombs_floor_four": dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" + @@ -820,17 +820,17 @@ public class LootDisplay { EnumChatFormatting.GOLD + "Leg Spirit Pets:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + EnumChatFormatting.AQUA + "Time Spent:"; - countText = EnumChatFormatting.GOLD + nf.format(LootTracker.recombobulators) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.fumingPotatoBooks) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.spiritWings) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.spiritBones) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.spiritBoots) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.spiritSwords) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.spiritBows) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.epicSpiritPets) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.legSpiritPets) + "\n" + - EnumChatFormatting.AQUA + Utils.getMoneySpent(LootTracker.f4CoinsSpent) + "\n" + - EnumChatFormatting.AQUA + Utils.getTimeBetween(0, LootTracker.f4TimeSpent); + countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulators) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.spiritWings) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.spiritBones) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.spiritBoots) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.spiritSwords) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.spiritBows) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.epicSpiritPets) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.legSpiritPets) + "\n" + + EnumChatFormatting.AQUA + Utils.getMoneySpent(CatacombsTracker.f4CoinsSpent) + "\n" + + EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.f4TimeSpent); break; case "catacombs_floor_four_session": dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" + @@ -844,17 +844,17 @@ public class LootDisplay { EnumChatFormatting.GOLD + "Leg Spirit Pets:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + EnumChatFormatting.AQUA + "Time Spent:"; - countText = EnumChatFormatting.GOLD + nf.format(LootTracker.recombobulatorsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.fumingPotatoBooksSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.spiritWingsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.spiritBonesSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.spiritBootsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.spiritSwordsSession) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.spiritBowsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.epicSpiritPetsSession) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.legSpiritPetsSession) + "\n" + - EnumChatFormatting.AQUA + Utils.getMoneySpent(LootTracker.f4CoinsSpentSession) + "\n" + - EnumChatFormatting.AQUA + Utils.getTimeBetween(0, LootTracker.f4TimeSpentSession); + countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.spiritWingsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.spiritBonesSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.spiritBootsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.spiritSwordsSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.spiritBowsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.epicSpiritPetsSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.legSpiritPetsSession) + "\n" + + EnumChatFormatting.AQUA + Utils.getMoneySpent(CatacombsTracker.f4CoinsSpentSession) + "\n" + + EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.f4TimeSpentSession); break; case "catacombs_floor_five": dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" + @@ -869,18 +869,18 @@ public class LootDisplay { EnumChatFormatting.GOLD + "Shadow Furys:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + EnumChatFormatting.AQUA + "Time Spent:"; - countText = EnumChatFormatting.GOLD + nf.format(LootTracker.recombobulators) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.fumingPotatoBooks) + "\n" + - EnumChatFormatting.BLUE + nf.format(LootTracker.warpedStones) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.shadowAssHelms) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.shadowAssChests) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.shadowAssLegs) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.shadowAssBoots) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.lastBreaths) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.lividDaggers) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.shadowFurys) + "\n" + - EnumChatFormatting.AQUA + Utils.getMoneySpent(LootTracker.f5CoinsSpent) + "\n" + - EnumChatFormatting.AQUA + Utils.getTimeBetween(0, LootTracker.f5TimeSpent); + countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulators) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + + EnumChatFormatting.BLUE + nf.format(CatacombsTracker.warpedStones) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.shadowAssHelms) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.shadowAssChests) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.shadowAssLegs) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.shadowAssBoots) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.lastBreaths) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.lividDaggers) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.shadowFurys) + "\n" + + EnumChatFormatting.AQUA + Utils.getMoneySpent(CatacombsTracker.f5CoinsSpent) + "\n" + + EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.f5TimeSpent); break; case "catacombs_floor_five_session": dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" + @@ -895,18 +895,18 @@ public class LootDisplay { EnumChatFormatting.GOLD + "Shadow Furys:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + EnumChatFormatting.AQUA + "Time Spent:"; - countText = EnumChatFormatting.GOLD + nf.format(LootTracker.recombobulatorsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.fumingPotatoBooksSession) + "\n" + - EnumChatFormatting.BLUE + nf.format(LootTracker.warpedStonesSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.shadowAssHelmsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.shadowAssChestsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.shadowAssLegsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.shadowAssBootsSession) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.lastBreathsSession) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.lividDaggersSession) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.shadowFurysSession) + "\n" + - EnumChatFormatting.AQUA + Utils.getMoneySpent(LootTracker.f5CoinsSpentSession) + "\n" + - EnumChatFormatting.AQUA + Utils.getTimeBetween(0, LootTracker.f5TimeSpentSession); + countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + + EnumChatFormatting.BLUE + nf.format(CatacombsTracker.warpedStonesSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.shadowAssHelmsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.shadowAssChestsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.shadowAssLegsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.shadowAssBootsSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.lastBreathsSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.lividDaggersSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.shadowFurysSession) + "\n" + + EnumChatFormatting.AQUA + Utils.getMoneySpent(CatacombsTracker.f5CoinsSpentSession) + "\n" + + EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.f5TimeSpentSession); break; case "catacombs_floor_six": dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" + @@ -921,18 +921,18 @@ public class LootDisplay { EnumChatFormatting.GOLD + "Necro Swords:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + EnumChatFormatting.AQUA + "Time Spent:"; - countText = EnumChatFormatting.GOLD + nf.format(LootTracker.recombobulators) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.fumingPotatoBooks) + "\n" + - EnumChatFormatting.BLUE + nf.format(LootTracker.ancientRoses) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.precursorEyes) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.giantsSwords) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.necroLordHelms) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.necroLordChests) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.necroLordLegs) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.necroLordBoots) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.necroSwords) + "\n" + - EnumChatFormatting.AQUA + Utils.getMoneySpent(LootTracker.f6CoinsSpent) + "\n" + - EnumChatFormatting.AQUA + Utils.getTimeBetween(0, LootTracker.f6TimeSpent); + countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulators) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + + EnumChatFormatting.BLUE + nf.format(CatacombsTracker.ancientRoses) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.precursorEyes) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.giantsSwords) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.necroLordHelms) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.necroLordChests) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.necroLordLegs) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.necroLordBoots) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.necroSwords) + "\n" + + EnumChatFormatting.AQUA + Utils.getMoneySpent(CatacombsTracker.f6CoinsSpent) + "\n" + + EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.f6TimeSpent); break; case "catacombs_floor_six_session": dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" + @@ -947,18 +947,18 @@ public class LootDisplay { EnumChatFormatting.GOLD + "Necro Swords:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + EnumChatFormatting.AQUA + "Time Spent:"; - countText = EnumChatFormatting.GOLD + nf.format(LootTracker.recombobulatorsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.fumingPotatoBooksSession) + "\n" + - EnumChatFormatting.BLUE + nf.format(LootTracker.ancientRosesSession) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.precursorEyesSession) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.giantsSwordsSession) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.necroLordHelmsSession) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.necroLordChestsSession) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.necroLordLegsSession) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.necroLordBootsSession) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.necroSwordsSession) + "\n" + - EnumChatFormatting.AQUA + Utils.getMoneySpent(LootTracker.f6CoinsSpentSession) + "\n" + - EnumChatFormatting.AQUA + Utils.getTimeBetween(0, LootTracker.f6TimeSpentSession); + countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + + EnumChatFormatting.BLUE + nf.format(CatacombsTracker.ancientRosesSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.precursorEyesSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.giantsSwordsSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.necroLordHelmsSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.necroLordChestsSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.necroLordLegsSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.necroLordBootsSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.necroSwordsSession) + "\n" + + EnumChatFormatting.AQUA + Utils.getMoneySpent(CatacombsTracker.f6CoinsSpentSession) + "\n" + + EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.f6TimeSpentSession); break; case "catacombs_floor_seven": dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" + @@ -976,21 +976,21 @@ public class LootDisplay { EnumChatFormatting.GOLD + "Wither Boots:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + EnumChatFormatting.AQUA + "Time Spent:"; - countText = EnumChatFormatting.GOLD + nf.format(LootTracker.recombobulators) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.fumingPotatoBooks) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.witherBloods) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.witherCloaks) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.implosions) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.witherShields) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.shadowWarps) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.necronsHandles) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.autoRecombs) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.witherHelms) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.witherChests) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.witherLegs) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.witherBoots) + "\n" + - EnumChatFormatting.AQUA + Utils.getMoneySpent(LootTracker.f7CoinsSpent) + "\n" + - EnumChatFormatting.AQUA + Utils.getTimeBetween(0, LootTracker.f7TimeSpent); + countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulators) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.witherBloods) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.witherCloaks) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.implosions) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.witherShields) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.shadowWarps) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.necronsHandles) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.autoRecombs) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.witherHelms) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.witherChests) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.witherLegs) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.witherBoots) + "\n" + + EnumChatFormatting.AQUA + Utils.getMoneySpent(CatacombsTracker.f7CoinsSpent) + "\n" + + EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.f7TimeSpent); break; case "catacombs_floor_seven_session": dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" + @@ -1008,21 +1008,21 @@ public class LootDisplay { EnumChatFormatting.GOLD + "Wither Boots:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + EnumChatFormatting.AQUA + "Time Spent:"; - countText = EnumChatFormatting.GOLD + nf.format(LootTracker.recombobulatorsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.fumingPotatoBooksSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.witherBloodsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.witherCloaksSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.implosionsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.witherShieldsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.shadowWarpsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.necronsHandlesSession) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.autoRecombsSession) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.witherHelmsSession) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.witherChestsSession) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.witherLegsSession) + "\n" + - EnumChatFormatting.GOLD + nf.format(LootTracker.witherBootsSession) + "\n" + - EnumChatFormatting.AQUA + Utils.getMoneySpent(LootTracker.f7CoinsSpentSession) + "\n" + - EnumChatFormatting.AQUA + Utils.getTimeBetween(0, LootTracker.f7TimeSpentSession); + countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.witherBloodsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.witherCloaksSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.implosionsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.witherShieldsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.shadowWarpsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.necronsHandlesSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.autoRecombsSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.witherHelmsSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.witherChestsSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.witherLegsSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.witherBootsSession) + "\n" + + EnumChatFormatting.AQUA + Utils.getMoneySpent(CatacombsTracker.f7CoinsSpentSession) + "\n" + + EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.f7TimeSpentSession); break; case "ghost_session": dropsText = EnumChatFormatting.GOLD + "Bags of Cash:\n" + @@ -1031,12 +1031,12 @@ public class LootDisplay { EnumChatFormatting.DARK_PURPLE + "Voltas:\n" + EnumChatFormatting.DARK_PURPLE + "Plasmas:" ; // + \n // EnumChatFormatting.AQUA + "Time Spent:" + - countText = EnumChatFormatting.GOLD + nf.format(LootTracker.bagOfCashSession) + "\n" + - EnumChatFormatting.BLUE + nf.format(LootTracker.sorrowSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.ghostlyBootsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.voltaSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.plasmaSession); //+ "\n" + - // EnumChatFormatting.AQUA + nf.format(LootTracker.ghostsTimeSpentSession); + countText = EnumChatFormatting.GOLD + nf.format(GhostTracker.bagOfCashSession) + "\n" + + EnumChatFormatting.BLUE + nf.format(GhostTracker.sorrowSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(GhostTracker.ghostlyBootsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(GhostTracker.voltaSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(GhostTracker.plasmaSession); //+ "\n" + + // EnumChatFormatting.AQUA + nf.format(GhostTracker.ghostsTimeSpentSession); break; case "ghost": dropsText = EnumChatFormatting.GOLD + "Bags of Cash:\n" + @@ -1045,12 +1045,12 @@ public class LootDisplay { EnumChatFormatting.DARK_PURPLE + "Voltas:\n" + EnumChatFormatting.DARK_PURPLE + "Plasmas:" ; // + \n // EnumChatFormatting.AQUA + "Time Spent:" + - countText = EnumChatFormatting.GOLD + nf.format(LootTracker.bagOfCashSession) + "\n" + - EnumChatFormatting.BLUE + nf.format(LootTracker.sorrowSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.ghostlyBootsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.voltaSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + nf.format(LootTracker.plasmaSession); //+ "\n" + - // EnumChatFormatting.AQUA + nf.format(LootTracker.ghostsTimeSpentSession); + countText = EnumChatFormatting.GOLD + nf.format(GhostTracker.bagOfCashSession) + "\n" + + EnumChatFormatting.BLUE + nf.format(GhostTracker.sorrowSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(GhostTracker.ghostlyBootsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(GhostTracker.voltaSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(GhostTracker.plasmaSession); //+ "\n" + + // EnumChatFormatting.AQUA + nf.format(GhostTracker.ghostsTimeSpentSession); break; diff --git a/src/main/java/me/Danker/features/loot/LootTracker.java b/src/main/java/me/Danker/features/loot/LootTracker.java index 8a2739a..5371ddc 100644 --- a/src/main/java/me/Danker/features/loot/LootTracker.java +++ b/src/main/java/me/Danker/features/loot/LootTracker.java @@ -1,15 +1,8 @@ package me.Danker.features.loot; -import me.Danker.commands.ToggleCommand; -import me.Danker.events.ChestSlotClickedEvent; import me.Danker.handlers.ConfigHandler; import me.Danker.handlers.ScoreboardHandler; import me.Danker.utils.Utils; -import net.minecraft.client.Minecraft; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StringUtils; -import net.minecraftforge.client.event.ClientChatReceivedEvent; import net.minecraftforge.client.event.sound.PlaySoundEvent; import net.minecraftforge.fml.common.eventhandler.EventPriority; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; @@ -18,1239 +11,14 @@ import java.util.List; public class LootTracker { - // Wolf - public static int wolfSvens; - public static int wolfTeeth; - public static int wolfWheels; - public static int wolfWheelsDrops; - public static int wolfSpirits; - public static int wolfBooks; - public static int wolfEggs; - public static int wolfCoutures; - public static int wolfBaits; - public static int wolfFluxes; - public static double wolfTime; - public static int wolfBosses; - // Spider - public static int spiderTarantulas; - public static int spiderWebs; - public static int spiderTAP; - public static int spiderTAPDrops; - public static int spiderBites; - public static int spiderCatalysts; - public static int spiderBooks; - public static int spiderSwatters; - public static int spiderTalismans; - public static int spiderMosquitos; - public static double spiderTime; - public static int spiderBosses; - // Zombie - public static int zombieRevs; - public static int zombieRevFlesh; - public static int zombieRevViscera; - public static int zombieFoulFlesh; - public static int zombieFoulFleshDrops; - public static int zombiePestilences; - public static int zombieUndeadCatas; - public static int zombieBooks; - public static int zombieBeheadeds; - public static int zombieRevCatas; - public static int zombieSnakes; - public static int zombieScythes; - public static int zombieShards; - public static int zombieWardenHearts; - public static double zombieTime; - public static int zombieBosses; - // Enderman - public static int endermanVoidglooms; - public static int endermanNullSpheres; - public static int endermanTAP; - public static int endermanTAPDrops; - public static int endermanEndersnakes; - public static int endermanSummoningEyes; - public static int endermanManaBooks; - public static int endermanTuners; - public static int endermanAtoms; - public static int endermanEspressoMachines; - public static int endermanSmartyBooks; - public static int endermanEndRunes; - public static int endermanChalices; - public static int endermanDice; - public static int endermanArtifacts; - public static int endermanSkins; - public static int endermanMergers; - public static int endermanCores; - public static int endermanEnchantRunes; - public static int endermanEnderBooks; - public static double endermanTime; - public static int endermanBosses; - - // Fishing - public static int seaCreatures; - public static int goodCatches; - public static int greatCatches; - public static int squids; - public static int seaWalkers; - public static int nightSquids; - public static int seaGuardians; - public static int seaWitches; - public static int seaArchers; - public static int monsterOfTheDeeps; - public static int catfishes; - public static int carrotKings; - public static int seaLeeches; - public static int guardianDefenders; - public static int deepSeaProtectors; - public static int hydras; - public static int seaEmperors; - public static double empTime; - public static int empSCs; - public static int fishingMilestone; - // Fishing Winter - public static int frozenSteves; - public static int frostyTheSnowmans; - public static int grinches; - public static int yetis; - public static double yetiTime; - public static int yetiSCs; - // Fishing Festival - public static int nurseSharks; - public static int blueSharks; - public static int tigerSharks; - public static int greatWhiteSharks; - // Spooky Fishing - public static int scarecrows; - public static int nightmares; - public static int werewolfs; - public static int phantomFishers; - public static int grimReapers; - - // Mythological - public static double mythCoins; - public static int griffinFeathers; - public static int crownOfGreeds; - public static int washedUpSouvenirs; - public static int minosHunters; - public static int siameseLynxes; - public static int minotaurs; - public static int gaiaConstructs; - public static int minosChampions; - public static int minosInquisitors; - - // Catacombs Dungeons - public static int recombobulators; - public static int fumingPotatoBooks; - // F1 - public static int bonzoStaffs; - public static double f1CoinsSpent; - public static double f1TimeSpent; - // F2 - public static int scarfStudies; - public static int adaptiveSwords; - public static double f2CoinsSpent; - public static double f2TimeSpent; - // F3 - public static int adaptiveHelms; - public static int adaptiveChests; - public static int adaptiveLegs; - public static int adaptiveBoots; - public static double f3CoinsSpent; - public static double f3TimeSpent; - // F4 - public static int spiritWings; - public static int spiritBones; - public static int spiritBoots; - public static int spiritSwords; - public static int spiritBows; - public static int epicSpiritPets; - public static int legSpiritPets; - public static double f4CoinsSpent; - public static double f4TimeSpent; - // F5 - public static int warpedStones; - public static int shadowAssHelms; - public static int shadowAssChests; - public static int shadowAssLegs; - public static int shadowAssBoots; - public static int lastBreaths; - public static int lividDaggers; - public static int shadowFurys; - public static double f5CoinsSpent; - public static double f5TimeSpent; - // F6 - public static int ancientRoses; - public static int precursorEyes; - public static int giantsSwords; - public static int necroLordHelms; - public static int necroLordChests; - public static int necroLordLegs; - public static int necroLordBoots; - public static int necroSwords; - public static double f6CoinsSpent; - public static double f6TimeSpent; - // F7 - public static int witherBloods; - public static int witherCloaks; - public static int implosions; - public static int witherShields; - public static int shadowWarps; - public static int necronsHandles; - public static int autoRecombs; - public static int witherHelms; - public static int witherChests; - public static int witherLegs; - public static int witherBoots; - public static double f7CoinsSpent; - public static double f7TimeSpent; - // Ghosts - public static int sorrows = 0; - public static int bagOfCashs = 0; - public static int voltas = 0; - public static int plasmas = 0; - public static int ghostlyBoots = 0; - // public static double ghostsTimeSpent = -1; - - // Single sessions (No config saves) - // Wolf - public static int wolfSvensSession = 0; - public static int wolfTeethSession = 0; - public static int wolfWheelsSession = 0; - public static int wolfWheelsDropsSession = 0; - public static int wolfSpiritsSession = 0; - public static int wolfBooksSession = 0; - public static int wolfEggsSession = 0; - public static int wolfCouturesSession = 0; - public static int wolfBaitsSession = 0; - public static int wolfFluxesSession = 0; - public static double wolfTimeSession = -1; - public static int wolfBossesSession = -1; - // Spider - public static int spiderTarantulasSession = 0; - public static int spiderWebsSession = 0; - public static int spiderTAPSession = 0; - public static int spiderTAPDropsSession = 0; - public static int spiderBitesSession = 0; - public static int spiderCatalystsSession = 0; - public static int spiderBooksSession = 0; - public static int spiderSwattersSession = 0; - public static int spiderTalismansSession = 0; - public static int spiderMosquitosSession = 0; - public static double spiderTimeSession = -1; - public static int spiderBossesSession = -1; - // Zombie - public static int zombieRevsSession = 0; - public static int zombieRevFleshSession = 0; - public static int zombieRevVisceraSession = 0; - public static int zombieFoulFleshSession = 0; - public static int zombieFoulFleshDropsSession = 0; - public static int zombiePestilencesSession = 0; - public static int zombieUndeadCatasSession = 0; - public static int zombieBooksSession = 0; - public static int zombieBeheadedsSession = 0; - public static int zombieRevCatasSession = 0; - public static int zombieSnakesSession = 0; - public static int zombieScythesSession = 0; - public static int zombieShardsSession = 0; - public static int zombieWardenHeartsSession = 0; - public static double zombieTimeSession = -1; - public static int zombieBossesSession = -1; - // Enderman - public static int endermanVoidgloomsSession = 0; - public static int endermanNullSpheresSession = 0; - public static int endermanTAPSession = 0; - public static int endermanTAPDropsSession = 0; - public static int endermanEndersnakesSession = 0; - public static int endermanSummoningEyesSession = 0; - public static int endermanManaBooksSession = 0; - public static int endermanTunersSession = 0; - public static int endermanAtomsSession = 0; - public static int endermanEspressoMachinesSession = 0; - public static int endermanSmartyBooksSession = 0; - public static int endermanEndRunesSession = 0; - public static int endermanChalicesSession = 0; - public static int endermanDiceSession = 0; - public static int endermanArtifactsSession = 0; - public static int endermanSkinsSession = 0; - public static int endermanMergersSession = 0; - public static int endermanCoresSession = 0; - public static int endermanEnchantRunesSession = 0; - public static int endermanEnderBooksSession = 0; - public static double endermanTimeSession = -1; - public static int endermanBossesSession = -1; - - // Fishing - public static int seaCreaturesSession = 0; - public static int goodCatchesSession = 0; - public static int greatCatchesSession = 0; - public static int squidsSession = 0; - public static int seaWalkersSession = 0; - public static int nightSquidsSession = 0; - public static int seaGuardiansSession = 0; - public static int seaWitchesSession = 0; - public static int seaArchersSession = 0; - public static int monsterOfTheDeepsSession = 0; - public static int catfishesSession = 0; - public static int carrotKingsSession = 0; - public static int seaLeechesSession = 0; - public static int guardianDefendersSession = 0; - public static int deepSeaProtectorsSession = 0; - public static int hydrasSession = 0; - public static int seaEmperorsSession = 0; - public static double empTimeSession = -1; - public static int empSCsSession = -1; - public static int fishingMilestoneSession = 0; - // Fishing Winter - public static int frozenStevesSession = 0; - public static int frostyTheSnowmansSession = 0; - public static int grinchesSession = 0; - public static int yetisSession = 0; - public static double yetiTimeSession = -1; - public static int yetiSCsSession = -1; - // Fishing Festival - public static int nurseSharksSession = 0; - public static int blueSharksSession = 0; - public static int tigerSharksSession = 0; - public static int greatWhiteSharksSession = 0; - // Spooky Fishing - public static int scarecrowsSession = 0; - public static int nightmaresSession = 0; - public static int werewolfsSession = 0; - public static int phantomFishersSession = 0; - public static int grimReapersSession = 0; - - // Mythological - public static double mythCoinsSession = 0; - public static int griffinFeathersSession = 0; - public static int crownOfGreedsSession = 0; - public static int washedUpSouvenirsSession = 0; - public static int minosHuntersSession = 0; - public static int siameseLynxesSession = 0; - public static int minotaursSession = 0; - public static int gaiaConstructsSession = 0; - public static int minosChampionsSession = 0; - public static int minosInquisitorsSession = 0; - - // Catacombs Dungeons - public static int recombobulatorsSession = 0; - public static int fumingPotatoBooksSession = 0; - // F1 - public static int bonzoStaffsSession = 0; - public static double f1CoinsSpentSession = 0; - public static double f1TimeSpentSession = 0; - // F2 - public static int scarfStudiesSession = 0; - public static int adaptiveSwordsSession = 0; - public static double f2CoinsSpentSession = 0; - public static double f2TimeSpentSession = 0; - // F3 - public static int adaptiveHelmsSession = 0; - public static int adaptiveChestsSession = 0; - public static int adaptiveLegsSession = 0; - public static int adaptiveBootsSession = 0; - public static double f3CoinsSpentSession = 0; - public static double f3TimeSpentSession = 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 spiritBowsSession = 0; - public static int epicSpiritPetsSession = 0; - public static int legSpiritPetsSession = 0; - public static double f4CoinsSpentSession = 0; - public static double f4TimeSpentSession = 0; - // F5 - public static int warpedStonesSession = 0; - public static int shadowAssHelmsSession = 0; - public static int shadowAssChestsSession = 0; - public static int shadowAssLegsSession = 0; - public static int shadowAssBootsSession = 0; - public static int lastBreathsSession = 0; - public static int lividDaggersSession = 0; - public static int shadowFurysSession = 0; - public static double f5CoinsSpentSession = 0; - public static double f5TimeSpentSession = 0; - // F6 - public static int ancientRosesSession = 0; - public static int precursorEyesSession = 0; - public static int giantsSwordsSession = 0; - public static int necroLordHelmsSession = 0; - public static int necroLordChestsSession = 0; - public static int necroLordLegsSession = 0; - public static int necroLordBootsSession = 0; - public static int necroSwordsSession = 0; - public static double f6CoinsSpentSession = 0; - public static double f6TimeSpentSession = 0; - // F7 - public static int witherBloodsSession = 0; - public static int witherCloaksSession = 0; - public static int implosionsSession = 0; - public static int witherShieldsSession = 0; - public static int shadowWarpsSession = 0; - public static int necronsHandlesSession = 0; - public static int autoRecombsSession = 0; - public static int witherHelmsSession = 0; - public static int witherChestsSession = 0; - public static int witherLegsSession = 0; - public static int witherBootsSession = 0; - public static double f7CoinsSpentSession = 0; - public static double f7TimeSpentSession = 0; - // Ghosts - public static int sorrowSession = 0; - public static int bagOfCashSession = 0; - public static int voltaSession = 0; - public static int plasmaSession = 0; - public static int ghostlyBootsSession = 0; - // public static double ghostsSecondsSinceStarts = 0; - - static double checkItemsNow = 0; - static double itemsChecked = 0; - - @SubscribeEvent(priority = EventPriority.HIGHEST) - public void onChat(ClientChatReceivedEvent event) { - String message = StringUtils.stripControlCodes(event.message.getUnformattedText()); - - if (!Utils.inSkyblock) return; - if (event.type == 2) return; - if (message.contains(":")) return; - - boolean wolfRNG = false; - boolean spiderRNG = false; - boolean zombieRNG = false; - boolean endermanRNG = false; - - // Slayer tracker - // T6 books - if (message.contains("VERY RARE DROP! (Enchanted Book)") || message.contains("CRAZY RARE DROP! (Enchanted Book)")) { - // Loop through scoreboard to see what boss you're doing - List scoreboard = ScoreboardHandler.getSidebarLines(); - for (String s : scoreboard) { - String sCleaned = ScoreboardHandler.cleanSB(s); - if (sCleaned.contains("Sven Packmaster")) { - wolfBooks++; - ConfigHandler.writeIntConfig("wolf", "book", wolfBooks); - } else if (sCleaned.contains("Tarantula Broodfather")) { - spiderBooks++; - ConfigHandler.writeIntConfig("spider", "book", spiderBooks); - } else if (sCleaned.contains("Revenant Horror")) { - zombieBooks++; - ConfigHandler.writeIntConfig("zombie", "book", zombieBooks); - } - - } - } - - // Wolf - if (message.contains(" Wolf Slayer LVL ")) { - wolfSvens++; - wolfSvensSession++; - if (wolfBosses != -1) { - wolfBosses++; - } - if (wolfBossesSession != -1) { - wolfBossesSession++; - } - ConfigHandler.writeIntConfig("wolf", "svens", wolfSvens); - ConfigHandler.writeIntConfig("wolf", "bossRNG", wolfBosses); - } else if (message.contains("RARE DROP! (") && message.contains("Hamster Wheel)")) { - int amount = getAmountfromMessage(message); - wolfWheels += amount; - wolfWheelsSession += amount; - wolfWheelsDrops++; - wolfWheelsDropsSession++; - ConfigHandler.writeIntConfig("wolf", "wheel", wolfWheels); - ConfigHandler.writeIntConfig("wolf", "wheelDrops", wolfWheelsDrops); - } else if (message.contains("VERY RARE DROP! (") && message.contains(" Spirit Rune I)")) { // Removing the unicode here *should* fix rune drops not counting - wolfSpirits++; - wolfSpiritsSession++; - ConfigHandler.writeIntConfig("wolf", "spirit", wolfSpirits); - } else if (message.contains("CRAZY RARE DROP! (Red Claw Egg)")) { - wolfRNG = true; - wolfEggs++; - wolfEggsSession++; - ConfigHandler.writeIntConfig("wolf", "egg", wolfEggs); - if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.DARK_RED + "RED CLAW EGG!", 3); - } else if (message.contains("CRAZY RARE DROP! (") && message.contains(" Couture Rune I)")) { - wolfRNG = true; - wolfCoutures++; - wolfCouturesSession++; - ConfigHandler.writeIntConfig("wolf", "couture", wolfCoutures); - if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.GOLD + "COUTURE RUNE!", 3); - } else if (message.contains("CRAZY RARE DROP! (Grizzly Bait)") || message.contains("CRAZY RARE DROP! (Rename Me)")) { // How did Skyblock devs even manage to make this item Rename Me - wolfRNG = true; - wolfBaits++; - wolfBaitsSession++; - ConfigHandler.writeIntConfig("wolf", "bait", wolfBaits); - if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.AQUA + "GRIZZLY BAIT!", 3); - } else if (message.contains("CRAZY RARE DROP! (Overflux Capacitor)")) { - wolfRNG = true; - wolfFluxes++; - wolfFluxesSession++; - ConfigHandler.writeIntConfig("wolf", "flux", wolfFluxes); - if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.DARK_PURPLE + "OVERFLUX CAPACITOR!", 5); - } else if (message.contains(" Spider Slayer LVL ")) { // Spider - spiderTarantulas++; - spiderTarantulasSession++; - if (spiderBosses != -1) { - spiderBosses++; - } - if (spiderBossesSession != -1) { - spiderBossesSession++; - } - ConfigHandler.writeIntConfig("spider", "tarantulas", spiderTarantulas); - ConfigHandler.writeIntConfig("spider", "bossRNG", spiderBosses); - } else if (message.contains("RARE DROP! (") && message.contains("Toxic Arrow Poison)")) { - int amount = getAmountfromMessage(message); - spiderTAP += amount; - spiderTAPSession += amount; - spiderTAPDrops++; - spiderTAPDropsSession++; - ConfigHandler.writeIntConfig("spider", "tap", spiderTAP); - ConfigHandler.writeIntConfig("spider", "tapDrops", spiderTAPDrops); - } else if (message.contains("VERY RARE DROP! (") && message.contains(" Bite Rune I)")) { - spiderBites++; - spiderBitesSession++; - ConfigHandler.writeIntConfig("spider", "bite", spiderBites); - } else if (message.contains("VERY RARE DROP! (Spider Catalyst)")) { - spiderCatalysts++; - spiderCatalystsSession++; - ConfigHandler.writeIntConfig("spider", "catalyst", spiderCatalysts); - } else if (message.contains("CRAZY RARE DROP! (Fly Swatter)")) { - spiderRNG = true; - spiderSwatters++; - spiderSwattersSession++; - ConfigHandler.writeIntConfig("spider", "swatter", spiderSwatters); - if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.LIGHT_PURPLE + "FLY SWATTER!", 3); - } else if (message.contains("CRAZY RARE DROP! (Tarantula Talisman")) { - spiderRNG = true; - spiderTalismans++; - spiderTalismansSession++; - ConfigHandler.writeIntConfig("spider", "talisman", spiderTalismans); - if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.DARK_PURPLE + "TARANTULA TALISMAN!", 3); - } else if (message.contains("CRAZY RARE DROP! (Digested Mosquito)")) { - spiderRNG = true; - spiderMosquitos++; - spiderMosquitosSession++; - ConfigHandler.writeIntConfig("spider", "mosquito", spiderMosquitos); - if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.GOLD + "DIGESTED MOSQUITO!", 5); - } else if (message.contains(" Zombie Slayer LVL ")) { // Zombie - zombieRevs++; - zombieRevsSession++; - if (zombieBosses != -1) { - zombieBosses++; - } - if (zombieBossesSession != 1) { - zombieBossesSession++; - } - ConfigHandler.writeIntConfig("zombie", "revs", zombieRevs); - ConfigHandler.writeIntConfig("zombie", "bossRNG", zombieBosses); - } else if (message.contains("RARE DROP! (") && message.contains("Revenant Viscera)")) { - int amount = getAmountfromMessage(message); - zombieRevViscera += amount; - zombieRevVisceraSession += amount; - ConfigHandler.writeIntConfig("zombie", "revViscera", zombieRevViscera); - } else if (message.contains("RARE DROP! (") && message.contains("Foul Flesh)")) { - int amount = getAmountfromMessage(message); - zombieFoulFlesh += amount; - zombieFoulFleshSession += amount; - zombieFoulFleshDrops++; - zombieFoulFleshDropsSession++; - ConfigHandler.writeIntConfig("zombie", "foulFlesh", zombieFoulFlesh); - ConfigHandler.writeIntConfig("zombie", "foulFleshDrops", zombieFoulFleshDrops); - } else if (message.contains("VERY RARE DROP! (Revenant Catalyst)")) { - zombieRevCatas++; - zombieRevCatasSession++; - ConfigHandler.writeIntConfig("zombie", "revCatalyst", zombieRevCatas); - } else if (message.contains("VERY RARE DROP! (") && message.contains(" Pestilence Rune I)")) { - zombiePestilences++; - zombiePestilencesSession++; - ConfigHandler.writeIntConfig("zombie", "pestilence", zombiePestilences); - } else if (message.contains("VERY RARE DROP! (Undead Catalyst)")) { - zombieUndeadCatas++; - zombieUndeadCatasSession++; - ConfigHandler.writeIntConfig("zombie", "undeadCatalyst", zombieUndeadCatas); - } else if (message.contains("CRAZY RARE DROP! (Beheaded Horror)")) { - zombieRNG = true; - zombieBeheadeds++; - zombieBeheadedsSession++; - ConfigHandler.writeIntConfig("zombie", "beheaded", zombieBeheadeds); - if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.DARK_PURPLE + "BEHEADED HORROR!", 3); - } else if (message.contains("CRAZY RARE DROP! (") && message.contains(" Snake Rune I)")) { - zombieRNG = true; - zombieSnakes++; - zombieSnakesSession++; - ConfigHandler.writeIntConfig("zombie", "snake", zombieSnakes); - if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.DARK_GREEN + "SNAKE RUNE!", 3); - } else if (message.contains("CRAZY RARE DROP! (Scythe Blade)")) { - zombieRNG = true; - zombieScythes++; - zombieScythesSession++; - ConfigHandler.writeIntConfig("zombie", "scythe", zombieScythes); - if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.GOLD + "SCYTHE BLADE!", 5); - } else if (message.contains("CRAZY RARE DROP! (Shard of the Shredded)")) { - zombieRNG = true; - zombieShards++; - zombieShardsSession++; - ConfigHandler.writeIntConfig("zombie", "shard", zombieShards); - if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.RED + "SHARD OF THE SHREDDED!", 5); - } else if (message.contains("INSANE DROP! (Warden Heart)") || message.contains("CRAZY RARE DROP! (Warden Heart)")) { - zombieRNG = true; - zombieWardenHearts++; - zombieWardenHeartsSession++; - ConfigHandler.writeIntConfig("zombie", "heart", zombieWardenHearts); - if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.RED + "WARDEN HEART!", 5); - } else if (message.contains(" Enderman Slayer LVL ")) { - endermanVoidglooms++; - endermanVoidgloomsSession++; - if (endermanBosses != -1) { - endermanBosses++; - } - if (endermanBossesSession != -1) { - endermanBossesSession++; - } - ConfigHandler.writeIntConfig("enderman", "voidglooms", endermanVoidglooms); - ConfigHandler.writeIntConfig("enderman", "bossRNG", endermanBosses); - } else if (message.contains("RARE DROP! (") && message.contains("Twilight Arrow Poison)")) { - int amount = getAmountfromMessage(message); - endermanTAP += amount; - endermanTAPSession += amount; - endermanTAPDrops++; - endermanTAPDropsSession++; - ConfigHandler.writeIntConfig("enderman", "tap", endermanTAP); - ConfigHandler.writeIntConfig("enderman", "tapDrops", endermanTAPDrops); - } else if (message.contains("VERY RARE DROP! (") && message.contains(" Endersnake Rune I)")) { - endermanEndersnakes++; - endermanEndersnakesSession++; - ConfigHandler.writeIntConfig("enderman", "endersnakes", endermanEndersnakes); - } else if (message.contains("VERY RARE DROP! (Summoning Eye)")) { - endermanSummoningEyes++; - endermanSummoningEyesSession++; - ConfigHandler.writeIntConfig("enderman", "summoningEyes", endermanSummoningEyes); - } else if (message.contains("VERY RARE DROP! (Mana Steal I)")) { - endermanManaBooks++; - endermanManaBooksSession++; - ConfigHandler.writeIntConfig("enderman", "manaBooks", endermanManaBooks); - } else if (message.contains("VERY RARE DROP! (Transmission Tuner)")) { - endermanTuners++; - endermanTunersSession++; - ConfigHandler.writeIntConfig("enderman", "tuners", endermanTuners); - } else if (message.contains("VERY RARE DROP! (Null Atom)")) { - endermanAtoms++; - endermanAtomsSession++; - ConfigHandler.writeIntConfig("enderman", "atoms", endermanAtoms); - } else if (message.contains("CRAZY RARE DROP! (Pocket Espresso Machine)")) { - endermanRNG = true; - endermanEspressoMachines++; - endermanEspressoMachinesSession++; - ConfigHandler.writeIntConfig("enderman", "espressoMachines", endermanEspressoMachines); - if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.AQUA + "POCKET ESPRESSO MACHINE!", 3); - } else if (message.contains("VERY RARE DROP! (Smarty Pants I)")) { - endermanSmartyBooks++; - endermanSmartyBooksSession++; - ConfigHandler.writeIntConfig("enderman", "smartyBooks", endermanSmartyBooks); - } else if (message.contains("VERY RARE DROP! (") && message.contains(" End Rune I)")) { - endermanEndRunes++; - endermanEndRunesSession++; - ConfigHandler.writeIntConfig("enderman", "endRunes", endermanEndRunes); - } else if (message.contains("CRAZY RARE DROP! (Handy Blood Chalice)")) { - endermanRNG = true; - endermanChalices++; - endermanChalicesSession++; - ConfigHandler.writeIntConfig("enderman", "chalices", endermanChalices); - if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.RED + "HANDY BLOOD CHALICE!", 3); - } else if (message.contains("VERY RARE DROP! (Sinful Dice)")) { - endermanDice++; - endermanDiceSession++; - ConfigHandler.writeIntConfig("enderman", "dice", endermanDice); - } else if (message.contains("CRAZY RARE DROP! (Exceedingly Rare Ender Artifact Upgrader)")) { - endermanRNG = true; - endermanArtifacts++; - endermanArtifactsSession++; - ConfigHandler.writeIntConfig("enderman", "artifacts", endermanArtifacts); - if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.DARK_PURPLE + "ENDER ARTIFACT UPGRADER!", 3); - } else if (message.contains("CRAZY RARE DROP! (Void Conqueror Enderman Skin)")) { - endermanRNG = true; - endermanSkins++; - endermanSkinsSession++; - ConfigHandler.writeIntConfig("enderman", "skins", endermanSkins); - if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.DARK_PURPLE + "ENDERMAN SKIN!", 3); - } else if (message.contains("VERY RARE DROP! (Etherwarp Merger)")) { - endermanMergers++; - endermanMergersSession++; - ConfigHandler.writeIntConfig("enderman", "mergers", endermanMergers); - } else if (message.contains("CRAZY RARE DROP! (Judgement Core)")) { - endermanRNG = true; - endermanCores++; - endermanCoresSession++; - ConfigHandler.writeIntConfig("enderman", "cores", endermanCores); - if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.GOLD + "JUDGEMENT CORE!", 5); - } else if (message.contains("CRAZY RARE DROP! (") && message.contains(" Enchant Rune I)")) { - endermanRNG = true; - endermanEnchantRunes++; - endermanEnchantRunesSession++; - ConfigHandler.writeIntConfig("enderman", "enchantRunes", endermanEnchantRunes); - if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.GRAY + "ENCHANT RUNE!", 3); - } else if (message.contains("INSANE DROP! (Ender Slayer VII)") || message.contains("CRAZY RARE DROP! (Ender Slayer VII)")) { - endermanRNG = true; - endermanEnderBooks++; - endermanEnderBooksSession++; - ConfigHandler.writeIntConfig("enderman", "enderBooks", endermanEnderBooks); - if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.RED + "ENDER SLAYER VII!", 3); - } - - if (wolfRNG) { - wolfTime = System.currentTimeMillis() / 1000; - wolfBosses = 0; - wolfTimeSession = System.currentTimeMillis() / 1000; - wolfBossesSession = 0; - ConfigHandler.writeDoubleConfig("wolf", "timeRNG", wolfTime); - ConfigHandler.writeIntConfig("wolf", "bossRNG", 0); - } - if (spiderRNG) { - spiderTime = System.currentTimeMillis() / 1000; - spiderBosses = 0; - spiderTimeSession = System.currentTimeMillis() / 1000; - spiderBossesSession = 0; - ConfigHandler.writeDoubleConfig("spider", "timeRNG", spiderTime); - ConfigHandler.writeIntConfig("spider", "bossRNG", 0); - } - if (zombieRNG) { - zombieTime = System.currentTimeMillis() / 1000; - zombieBosses = 0; - zombieTimeSession = System.currentTimeMillis() / 1000; - zombieBossesSession = 0; - ConfigHandler.writeDoubleConfig("zombie", "timeRNG", zombieTime); - ConfigHandler.writeIntConfig("zombie", "bossRNG", 0); - } - if (endermanRNG) { - endermanTime = System.currentTimeMillis() / 1000; - endermanBosses = 0; - endermanTimeSession = System.currentTimeMillis() / 1000; - endermanBossesSession = 0; - ConfigHandler.writeDoubleConfig("enderman", "timeRNG", endermanTime); - ConfigHandler.writeIntConfig("enderman", "bossRNG", 0); - } - - // Fishing tracker - if (message.contains("GOOD CATCH!")) { - goodCatches++; - goodCatchesSession++; - ConfigHandler.writeIntConfig("fishing", "goodCatch", goodCatches); - } else if (message.contains("GREAT CATCH!")) { - greatCatches++; - greatCatchesSession++; - ConfigHandler.writeIntConfig("fishing", "greatCatch", greatCatches); - } else if (message.contains("A Squid appeared")) { - squids++; - squidsSession++; - ConfigHandler.writeIntConfig("fishing", "squid", squids); - increaseSeaCreatures(); - } else if (message.contains("You caught a Sea Walker")) { - seaWalkers++; - seaWalkersSession++; - ConfigHandler.writeIntConfig("fishing", "seaWalker", seaWalkers); - increaseSeaCreatures(); - } else if (message.contains("Pitch darkness reveals a Night Squid")) { - nightSquids++; - nightSquidsSession++; - ConfigHandler.writeIntConfig("fishing", "nightSquid", nightSquids); - increaseSeaCreatures(); - } else if (message.contains("You stumbled upon a Sea Guardian")) { - seaGuardians++; - seaGuardiansSession++; - ConfigHandler.writeIntConfig("fishing", "seaGuardian", seaGuardians); - increaseSeaCreatures(); - } else if (message.contains("It looks like you've disrupted the Sea Witch's brewing session. Watch out, she's furious")) { - seaWitches++; - seaWitchesSession++; - ConfigHandler.writeIntConfig("fishing", "seaWitch", seaWitches); - increaseSeaCreatures(); - } else if (message.contains("You reeled in a Sea Archer")) { - seaArchers++; - seaArchersSession++; - ConfigHandler.writeIntConfig("fishing", "seaArcher", seaArchers); - increaseSeaCreatures(); - } else if (message.contains("The Monster of the Deep has emerged")) { - monsterOfTheDeeps++; - monsterOfTheDeepsSession++; - ConfigHandler.writeIntConfig("fishing", "monsterOfDeep", monsterOfTheDeeps); - increaseSeaCreatures(); - } else if (message.contains("Huh? A Catfish")) { - catfishes++; - catfishesSession++; - ConfigHandler.writeIntConfig("fishing", "catfish", catfishes); - increaseSeaCreatures(); - } else if (message.contains("Is this even a fish? It's the Carrot King")) { - carrotKings++; - carrotKingsSession++; - ConfigHandler.writeIntConfig("fishing", "carrotKing", carrotKings); - increaseSeaCreatures(); - } else if (message.contains("Gross! A Sea Leech")) { - seaLeeches++; - seaLeechesSession++; - ConfigHandler.writeIntConfig("fishing", "seaLeech", seaLeeches); - increaseSeaCreatures(); - } else if (message.contains("You've discovered a Guardian Defender of the sea")) { - guardianDefenders++; - guardianDefendersSession++; - ConfigHandler.writeIntConfig("fishing", "guardianDefender", guardianDefenders); - increaseSeaCreatures(); - } else if (message.contains("You have awoken the Deep Sea Protector, prepare for a battle")) { - deepSeaProtectors++; - deepSeaProtectorsSession++; - ConfigHandler.writeIntConfig("fishing", "deepSeaProtector", deepSeaProtectors); - increaseSeaCreatures(); - } else if (message.contains("The Water Hydra has come to test your strength")) { - hydras++; - hydrasSession++; - ConfigHandler.writeIntConfig("fishing", "hydra", hydras); - increaseSeaCreatures(); - } else if (message.contains("The Sea Emperor arises from the depths")) { - increaseSeaCreatures(); - - seaEmperors++; - empTime = System.currentTimeMillis() / 1000; - empSCs = 0; - seaEmperorsSession++; - empTimeSession = System.currentTimeMillis() / 1000; - empSCsSession = 0; - ConfigHandler.writeIntConfig("fishing", "seaEmperor", seaEmperors); - ConfigHandler.writeDoubleConfig("fishing", "empTime", empTime); - ConfigHandler.writeIntConfig("fishing", "empSC", empSCs); - } else if (message.contains("Frozen Steve fell into the pond long ago")) { // Fishing Winter - frozenSteves++; - frozenStevesSession++; - ConfigHandler.writeIntConfig("fishing", "frozenSteve", frozenSteves); - increaseSeaCreatures(); - } else if (message.contains("It's a snowman! He looks harmless")) { - frostyTheSnowmans++; - frostyTheSnowmansSession++; - ConfigHandler.writeIntConfig("fishing", "snowman", frostyTheSnowmans); - increaseSeaCreatures(); - } else if (message.contains("stole Jerry's Gifts...get them back")) { - grinches++; - grinchesSession++; - ConfigHandler.writeIntConfig("fishing", "grinch", grinches); - increaseSeaCreatures(); - } else if (message.contains("What is this creature")) { - yetis++; - yetiTime = System.currentTimeMillis() / 1000; - yetiSCs = 0; - yetisSession++; - yetiTimeSession = System.currentTimeMillis() / 1000; - yetiSCsSession = 0; - ConfigHandler.writeIntConfig("fishing", "yeti", yetis); - ConfigHandler.writeDoubleConfig("fishing", "yetiTime", yetiTime); - ConfigHandler.writeIntConfig("fishing", "yetiSC", yetiSCs); - increaseSeaCreatures(); - } else if (message.contains("A tiny fin emerges from the water, you've caught a Nurse Shark")) { // Fishing Festival - nurseSharks++; - nurseSharksSession++; - ConfigHandler.writeIntConfig("fishing", "nurseShark", nurseSharks); - increaseSeaCreatures(); - } else if (message.contains("You spot a fin as blue as the water it came from, it's a Blue Shark")) { - blueSharks++; - blueSharksSession++; - ConfigHandler.writeIntConfig("fishing", "blueShark", blueSharks); - increaseSeaCreatures(); - } else if (message.contains("A striped beast bounds from the depths, the wild Tiger Shark")) { - tigerSharks++; - tigerSharksSession++; - ConfigHandler.writeIntConfig("fishing", "tigerShark", tigerSharks); - increaseSeaCreatures(); - } else if (message.contains("Hide no longer, a Great White Shark has tracked your scent and thirsts for your blood")) { - greatWhiteSharks++; - greatWhiteSharksSession++; - ConfigHandler.writeIntConfig("fishing", "greatWhiteShark", greatWhiteSharks); - increaseSeaCreatures(); - } else if (message.contains("Phew! It's only a Scarecrow")) { - scarecrows++; - scarecrowsSession++; - ConfigHandler.writeIntConfig("fishing", "scarecrow", scarecrows); - increaseSeaCreatures(); - } else if (message.contains("You hear trotting from beneath the waves, you caught a Nightmare")) { - nightmares++; - nightmaresSession++; - ConfigHandler.writeIntConfig("fishing", "nightmare", nightmares); - increaseSeaCreatures(); - } else if (message.contains("It must be a full moon, a Werewolf appears")) { - werewolfs++; - werewolfsSession++; - ConfigHandler.writeIntConfig("fishing", "werewolf", werewolfs); - increaseSeaCreatures(); - } else if (message.contains("The spirit of a long lost Phantom Fisher has come to haunt you")) { - phantomFishers++; - phantomFishersSession++; - ConfigHandler.writeIntConfig("fishing", "phantomFisher", phantomFishers); - increaseSeaCreatures(); - } else if (message.contains("This can't be! The manifestation of death himself")) { - grimReapers++; - grimReapersSession++; - ConfigHandler.writeIntConfig("fishing", "grimReaper", grimReapers); - increaseSeaCreatures(); - } - - // Dungeons tracker - if (message.contains(" ")) { - if (message.contains("Recombobulator 3000")) { - recombobulators++; - recombobulatorsSession++; - ConfigHandler.writeIntConfig("catacombs", "recombobulator", recombobulators); - } else if (message.contains("Fuming Potato Book")) { - fumingPotatoBooks++; - fumingPotatoBooksSession++; - ConfigHandler.writeIntConfig("catacombs", "fumingBooks", fumingPotatoBooks); - } else if (message.contains("Bonzo's Staff")) { // F1 - bonzoStaffs++; - bonzoStaffsSession++; - ConfigHandler.writeIntConfig("catacombs", "bonzoStaff", bonzoStaffs); - } else if (message.contains("Scarf's Studies")) { // F2 - scarfStudies++; - scarfStudiesSession++; - ConfigHandler.writeIntConfig("catacombs", "scarfStudies", scarfStudies); - } else if (message.contains("Adaptive Helmet")) { // F3 - adaptiveHelms++; - adaptiveHelmsSession++; - ConfigHandler.writeIntConfig("catacombs", "adaptiveHelm", adaptiveHelms); - } else if (message.contains("Adaptive Chestplate")) { - adaptiveChests++; - adaptiveChestsSession++; - ConfigHandler.writeIntConfig("catacombs", "adaptiveChest", adaptiveChests); - } else if (message.contains("Adaptive Leggings")) { - adaptiveLegs++; - adaptiveLegsSession++; - ConfigHandler.writeIntConfig("catacombs", "adaptiveLegging", adaptiveLegs); - } else if (message.contains("Adaptive Boots")) { - adaptiveBoots++; - adaptiveBootsSession++; - ConfigHandler.writeIntConfig("catacombs", "adaptiveBoot", adaptiveBoots); - } else if (message.contains("Adaptive Blade")) { - adaptiveSwords++; - adaptiveSwordsSession++; - ConfigHandler.writeIntConfig("catacombs", "adaptiveSword", adaptiveSwords); - } else if (message.contains("Spirit Wing")) { // F4 - spiritWings++; - spiritWingsSession++; - ConfigHandler.writeIntConfig("catacombs", "spiritWing", spiritWings); - } else if (message.contains("Spirit Bone")) { - spiritBones++; - spiritBonesSession++; - ConfigHandler.writeIntConfig("catacombs", "spiritBone", spiritBones); - } else if (message.contains("Spirit Boots")) { - spiritBoots++; - spiritBootsSession++; - ConfigHandler.writeIntConfig("catacombs", "spiritBoot", spiritBoots); - } else if (message.contains("[Lvl 1] Spirit")) { - String formattedMessage = event.message.getFormattedText(); - // Unicode colour code messes up here, just gonna remove the symbols - if (formattedMessage.contains("5Spirit")) { - epicSpiritPets++; - epicSpiritPetsSession++; - ConfigHandler.writeIntConfig("catacombs", "spiritPetEpic", epicSpiritPets); - } else if (formattedMessage.contains("6Spirit")) { - legSpiritPets++; - legSpiritPetsSession++; - ConfigHandler.writeIntConfig("catacombs", "spiritPetLeg", legSpiritPets); - } - } else if (message.contains("Spirit Sword")) { - spiritSwords++; - spiritSwordsSession++; - ConfigHandler.writeIntConfig("catacombs", "spiritSword", spiritSwords); - } else if (message.contains("Spirit Bow")) { - spiritBows++; - spiritBowsSession++; - ConfigHandler.writeIntConfig("catacombs", "spiritBow", spiritBows); - } else if (message.contains("Warped Stone")) { // F5 - warpedStones++; - warpedStonesSession++; - ConfigHandler.writeIntConfig("catacombs", "warpedStone", warpedStones); - } else if (message.contains("Shadow Assassin Helmet")) { - shadowAssHelms++; - shadowAssHelmsSession++; - ConfigHandler.writeIntConfig("catacombs", "shadowAssassinHelm", shadowAssHelms); - } else if (message.contains("Shadow Assassin Chestplate")) { - shadowAssChests++; - shadowAssChestsSession++; - ConfigHandler.writeIntConfig("catacombs", "shadowAssassinChest", shadowAssChests); - } else if (message.contains("Shadow Assassin Leggings")) { - shadowAssLegs++; - shadowAssLegsSession++; - ConfigHandler.writeIntConfig("catacombs", "shadowAssassinLegging", shadowAssLegs); - } else if (message.contains("Shadow Assassin Boots")) { - shadowAssBoots++; - shadowAssBootsSession++; - ConfigHandler.writeIntConfig("catacombs", "shadowAssassinBoot", shadowAssBoots); - } else if (message.contains("Livid Dagger")) { - lividDaggers++; - lividDaggersSession++; - ConfigHandler.writeIntConfig("catacombs", "lividDagger", lividDaggers); - } else if (message.contains("Shadow Fury")) { - shadowFurys++; - shadowFurysSession++; - ConfigHandler.writeIntConfig("catacombs", "shadowFury", shadowFurys); - } else if (message.contains("Ancient Rose")) { // F6 - ancientRoses++; - ancientRosesSession++; - ConfigHandler.writeIntConfig("catacombs", "ancientRose", ancientRoses); - } else if (message.contains("Precursor Eye")) { - precursorEyes++; - precursorEyesSession++; - ConfigHandler.writeIntConfig("catacombs", "precursorEye", precursorEyes); - } else if (message.contains("Giant's Sword")) { - giantsSwords++; - giantsSwordsSession++; - ConfigHandler.writeIntConfig("catacombs", "giantsSword", giantsSwords); - } else if (message.contains("Necromancer Lord Helmet")) { - necroLordHelms++; - necroLordHelmsSession++; - ConfigHandler.writeIntConfig("catacombs", "necroLordHelm", necroLordHelms); - } else if (message.contains("Necromancer Lord Chestplate")) { - necroLordChests++; - necroLordChestsSession++; - ConfigHandler.writeIntConfig("catacombs", "necroLordChest", necroLordChests); - } else if (message.contains("Necromancer Lord Leggings")) { - necroLordLegs++; - necroLordLegsSession++; - ConfigHandler.writeIntConfig("catacombs", "necroLordLegging", necroLordLegs); - } else if (message.contains("Necromancer Lord Boots")) { - necroLordBoots++; - necroLordBootsSession++; - ConfigHandler.writeIntConfig("catacombs", "necroLordBoot", necroLordBoots); - } else if (message.contains("Necromancer Sword")) { - necroSwords++; - necroSwordsSession++; - ConfigHandler.writeIntConfig("catacombs", "necroSword", necroSwords); - } else if (message.contains("Wither Blood")) { // F7 - witherBloods++; - witherBloodsSession++; - ConfigHandler.writeIntConfig("catacombs", "witherBlood", witherBloods); - } else if (message.contains("Wither Cloak")) { - witherCloaks++; - witherCloaksSession++; - ConfigHandler.writeIntConfig("catacombs", "witherCloak", witherCloaks); - } else if (message.contains("Implosion")) { - implosions++; - implosionsSession++; - ConfigHandler.writeIntConfig("catacombs", "implosion", implosions); - } else if (message.contains("Wither Shield")) { - witherShields++; - witherShieldsSession++; - ConfigHandler.writeIntConfig("catacombs", "witherShield", witherShields); - } else if (message.contains("Shadow Warp")) { - shadowWarps++; - shadowWarpsSession++; - ConfigHandler.writeIntConfig("catacombs", "shadowWarp", shadowWarps); - } else if (message.contains("Necron's Handle")) { - necronsHandles++; - necronsHandlesSession++; - ConfigHandler.writeIntConfig("catacombs", "necronsHandle", necronsHandles); - } else if (message.contains("Auto Recombobulator")) { - autoRecombs++; - autoRecombsSession++; - ConfigHandler.writeIntConfig("catacombs", "autoRecomb", autoRecombs); - } else if (message.contains("Wither Helmet")) { - witherHelms++; - witherHelmsSession++; - ConfigHandler.writeIntConfig("catacombs", "witherHelm", witherHelms); - } else if (message.contains("Wither Chestplate")) { - witherChests++; - witherChestsSession++; - ConfigHandler.writeIntConfig("catacombs", "witherChest", witherChests); - } else if (message.contains("Wither Leggings")) { - witherLegs++; - witherLegsSession++; - ConfigHandler.writeIntConfig("catacombs", "witherLegging", witherLegs); - } else if (message.contains("Wither Boots")) { - witherBoots++; - witherBootsSession++; - ConfigHandler.writeIntConfig("catacombs", "witherBoot", witherBoots); - } - } - - if (message.contains("EXTRA STATS ")) { - List scoreboard = ScoreboardHandler.getSidebarLines(); - int timeToAdd = 0; - for (String s : scoreboard) { - String sCleaned = ScoreboardHandler.cleanSB(s); - if (sCleaned.contains("The Catacombs (")) { - // Add time to floor - if (sCleaned.contains("F1")) { - f1TimeSpent = Math.floor(f1TimeSpent + timeToAdd); - f1TimeSpentSession = Math.floor(f1TimeSpentSession + timeToAdd); - ConfigHandler.writeDoubleConfig("catacombs", "floorOneTime", f1TimeSpent); - } else if (sCleaned.contains("F2")) { - f2TimeSpent = Math.floor(f2TimeSpent + timeToAdd); - f2TimeSpentSession = Math.floor(f2TimeSpentSession + timeToAdd); - ConfigHandler.writeDoubleConfig("catacombs", "floorTwoTime", f2TimeSpent); - } else if (sCleaned.contains("F3")) { - f3TimeSpent = Math.floor(f3TimeSpent + timeToAdd); - f3TimeSpentSession = Math.floor(f3TimeSpentSession + timeToAdd); - ConfigHandler.writeDoubleConfig("catacombs", "floorThreeTime", f3TimeSpent); - } else if (sCleaned.contains("F4")) { - f4TimeSpent = Math.floor(f4TimeSpent + timeToAdd); - f4TimeSpentSession = Math.floor(f4TimeSpentSession + timeToAdd); - ConfigHandler.writeDoubleConfig("catacombs", "floorFourTime", f4TimeSpent); - } else if (sCleaned.contains("F5")) { - f5TimeSpent = Math.floor(f5TimeSpent + timeToAdd); - f5TimeSpentSession = Math.floor(f5TimeSpentSession + timeToAdd); - ConfigHandler.writeDoubleConfig("catacombs", "floorFiveTime", f5TimeSpent); - } else if (sCleaned.contains("F6")) { - f6TimeSpent = Math.floor(f6TimeSpent + timeToAdd); - f6TimeSpentSession = Math.floor(f6TimeSpentSession + timeToAdd); - ConfigHandler.writeDoubleConfig("catacombs", "floorSixTime", f6TimeSpent); - } else if (sCleaned.contains("F7")) { - f7TimeSpent = Math.floor(f7TimeSpent + timeToAdd); - f7TimeSpentSession = Math.floor(f7TimeSpentSession + timeToAdd); - ConfigHandler.writeDoubleConfig("catacombs", "floorSevenTime", f7TimeSpent); - } - } else if (sCleaned.contains("Time Elapsed:")) { - // Get floor time - String time = sCleaned.substring(sCleaned.indexOf(":") + 2); - time = time.replaceAll("\\s", ""); - int minutes = Integer.parseInt(time.substring(0, time.indexOf("m"))); - int seconds = Integer.parseInt(time.substring(time.indexOf("m") + 1, time.indexOf("s"))); - timeToAdd = (minutes * 60) + seconds; - } - } - } - - // Mythological Tracker - if (message.contains("You dug out")) { - if (message.contains(" coins!")) { - double coinsEarned = Double.parseDouble(message.replaceAll("[^\\d]", "")); - mythCoins += coinsEarned; - mythCoinsSession += coinsEarned; - ConfigHandler.writeDoubleConfig("mythological", "coins", mythCoins); - } else if (message.contains("a Griffin Feather!")) { - griffinFeathers++; - griffinFeathersSession++; - ConfigHandler.writeIntConfig("mythological", "griffinFeather", griffinFeathers); - } else if (message.contains("a Crown of Greed!")) { - crownOfGreeds++; - crownOfGreedsSession++; - ConfigHandler.writeIntConfig("mythological", "crownOfGreed", crownOfGreeds); - } else if (message.contains("a Washed-up Souvenir!")) { - washedUpSouvenirs++; - washedUpSouvenirsSession++; - ConfigHandler.writeIntConfig("mythological", "washedUpSouvenir", washedUpSouvenirs); - } else if (message.contains("a Minos Hunter!")) { - minosHunters++; - minosHuntersSession++; - ConfigHandler.writeIntConfig("mythological", "minosHunter", minosHunters); - } else if (message.contains("Siamese Lynxes!")) { - siameseLynxes++; - siameseLynxesSession++; - ConfigHandler.writeIntConfig("mythological", "siameseLynx", siameseLynxes); - } else if (message.contains("a Minotaur!")) { - minotaurs++; - minotaursSession++; - ConfigHandler.writeIntConfig("mythological", "minotaur", minotaurs); - } else if (message.contains("a Gaia Construct!")) { - gaiaConstructs++; - gaiaConstructsSession++; - ConfigHandler.writeIntConfig("mythological", "gaiaConstruct", gaiaConstructs); - } else if (message.contains("a Minos Champion!")) { - minosChampions++; - minosChampionsSession++; - ConfigHandler.writeIntConfig("mythological", "minosChampion", minosChampions); - } else if (message.contains("a Minos Inquisitor!")) { - minosInquisitors++; - minosInquisitorsSession++; - ConfigHandler.writeIntConfig("mythological", "minosInquisitor", minosInquisitors); - } - } - - - if (message.contains("RARE DROP!")) { - if (message.contains("Sorrow")) { - sorrows++; - sorrowSession++; - ConfigHandler.writeIntConfig("ghosts", "sorrow", sorrows); - } - if (message.contains("Volta")) { - voltas++; - voltaSession++; - ConfigHandler.writeIntConfig("ghosts", "volta", voltas); - } - if (message.contains("Plasma")) { - plasmas++; - plasmaSession++; - ConfigHandler.writeIntConfig("ghosts", "plasma", plasmas); - } - if (message.contains("Ghostly Boots")) { - ghostlyBoots++; - ghostlyBootsSession++; - ConfigHandler.writeIntConfig("ghosts", "ghostlyBoots", ghostlyBoots); - } - if (message.contains("The ghost's death materialized ")) { - bagOfCashs++; - bagOfCashSession++; - ConfigHandler.writeIntConfig("ghosts", "bagOfCash", bagOfCashs); - } - } - } - - @SubscribeEvent - public void onSlotClick(ChestSlotClickedEvent event) { - ItemStack item = event.item; - - if (event.inventoryName.endsWith(" Chest") && item != null && item.getDisplayName().contains("Open Reward Chest")) { - List tooltip = item.getTooltip(Minecraft.getMinecraft().thePlayer, Minecraft.getMinecraft().gameSettings.advancedItemTooltips); - for (String lineUnclean : tooltip) { - String line = StringUtils.stripControlCodes(lineUnclean); - if (line.contains("FREE")) { - break; - } else if (line.contains(" Coins")) { - int coinsSpent = Integer.parseInt(line.substring(0, line.indexOf(" ")).replaceAll(",", "")); - - List scoreboard = ScoreboardHandler.getSidebarLines(); - for (String s : scoreboard) { - String sCleaned = ScoreboardHandler.cleanSB(s); - if (sCleaned.contains("The Catacombs (")) { - if (sCleaned.contains("F1")) { - f1CoinsSpent += coinsSpent; - f1CoinsSpentSession += coinsSpent; - ConfigHandler.writeDoubleConfig("catacombs", "floorOneCoins", f1CoinsSpent); - } else if (sCleaned.contains("F2")) { - f2CoinsSpent += coinsSpent; - f2CoinsSpentSession += coinsSpent; - ConfigHandler.writeDoubleConfig("catacombs", "floorTwoCoins", f2CoinsSpent); - } else if (sCleaned.contains("F3")) { - f3CoinsSpent += coinsSpent; - f3CoinsSpentSession += coinsSpent; - ConfigHandler.writeDoubleConfig("catacombs", "floorThreeCoins", f3CoinsSpent); - } else if (sCleaned.contains("F4")) { - f4CoinsSpent += coinsSpent; - f4CoinsSpentSession += coinsSpent; - ConfigHandler.writeDoubleConfig("catacombs", "floorFourCoins", f4CoinsSpent); - } else if (sCleaned.contains("F5")) { - f5CoinsSpent += coinsSpent; - f5CoinsSpentSession += coinsSpent; - ConfigHandler.writeDoubleConfig("catacombs", "floorFiveCoins", f5CoinsSpent); - } else if (sCleaned.contains("F6")) { - f6CoinsSpent += coinsSpent; - f6CoinsSpentSession += coinsSpent; - ConfigHandler.writeDoubleConfig("catacombs", "floorSixCoins", f6CoinsSpent); - } else if (sCleaned.contains("F7")) { - f7CoinsSpent += coinsSpent; - f7CoinsSpentSession += coinsSpent; - ConfigHandler.writeDoubleConfig("catacombs", "floorSevenCoins", f7CoinsSpent); - } - break; - } - } - break; - } - } - } - } + public static long itemsChecked = 0; @SubscribeEvent(priority = EventPriority.HIGHEST) public void onSound(PlaySoundEvent event) { if (!Utils.inSkyblock) return; if (event.name.equals("note.pling")) { // Don't check twice within 3 seconds - checkItemsNow = System.currentTimeMillis() / 1000; + long checkItemsNow = System.currentTimeMillis() / 1000; if (checkItemsNow - itemsChecked < 3) return; List scoreboard = ScoreboardHandler.getSidebarLines(); @@ -1267,57 +35,26 @@ public class LootTracker { // If no items, are detected, allow check again. Should fix items not being found if (itemTeeth + itemWebs + itemRev + itemNullSphere > 0) { itemsChecked = System.currentTimeMillis() / 1000; - wolfTeeth += itemTeeth; - spiderWebs += itemWebs; - zombieRevFlesh += itemRev; - endermanNullSpheres += itemNullSphere; - wolfTeethSession += itemTeeth; - spiderWebsSession += itemWebs; - zombieRevFleshSession += itemRev; - endermanNullSpheresSession += itemNullSphere; - - ConfigHandler.writeIntConfig("wolf", "teeth", wolfTeeth); - ConfigHandler.writeIntConfig("spider", "web", spiderWebs); - ConfigHandler.writeIntConfig("zombie", "revFlesh", zombieRevFlesh); - ConfigHandler.writeIntConfig("enderman", "nullSpheres", endermanNullSpheres); + WolfTracker.wolfTeeth += itemTeeth; + SpiderTracker.spiderWebs += itemWebs; + ZombieTracker.zombieRevFlesh += itemRev; + EndermanTracker.endermanNullSpheres += itemNullSphere; + WolfTracker.wolfTeethSession += itemTeeth; + SpiderTracker.spiderWebsSession += itemWebs; + ZombieTracker.zombieRevFleshSession += itemRev; + EndermanTracker.endermanNullSpheresSession += itemNullSphere; + + ConfigHandler.writeIntConfig("wolf", "teeth", WolfTracker.wolfTeeth); + ConfigHandler.writeIntConfig("spider", "web", SpiderTracker.spiderWebs); + ConfigHandler.writeIntConfig("zombie", "revFlesh", ZombieTracker.zombieRevFlesh); + ConfigHandler.writeIntConfig("enderman", "nullSpheres", EndermanTracker.endermanNullSpheres); } } } } } - - public void increaseSeaCreatures() { - if (empSCs != -1) { - empSCs++; - } - if (empSCsSession != -1) { - empSCsSession++; - } - // Only increment Yetis when in Jerry's Workshop - List scoreboard = ScoreboardHandler.getSidebarLines(); - for (String s : scoreboard) { - String sCleaned = ScoreboardHandler.cleanSB(s); - if (sCleaned.contains("Jerry's Workshop") || sCleaned.contains("Jerry Pond")) { - if (yetiSCs != -1) { - yetiSCs++; - } - if (yetiSCsSession != -1) { - yetiSCsSession++; - } - } - } - - seaCreatures++; - fishingMilestone++; - seaCreaturesSession++; - fishingMilestoneSession++; - ConfigHandler.writeIntConfig("fishing", "seaCreature", seaCreatures); - ConfigHandler.writeIntConfig("fishing", "milestone", fishingMilestone); - ConfigHandler.writeIntConfig("fishing", "empSC", empSCs); - ConfigHandler.writeIntConfig("fishing", "yetiSC", yetiSCs); - } - public int getAmountfromMessage(String message) { + public static int getAmountfromMessage(String message) { if (message.charAt(message.indexOf("(") + 2) == 'x') { return Integer.parseInt(message.substring(message.indexOf("(") + 1, message.indexOf("x"))); } else { diff --git a/src/main/java/me/Danker/features/loot/MythologicalTracker.java b/src/main/java/me/Danker/features/loot/MythologicalTracker.java new file mode 100644 index 0000000..1784b41 --- /dev/null +++ b/src/main/java/me/Danker/features/loot/MythologicalTracker.java @@ -0,0 +1,87 @@ +package me.Danker.features.loot; + +import me.Danker.handlers.ConfigHandler; +import me.Danker.utils.Utils; +import net.minecraft.util.StringUtils; +import net.minecraftforge.client.event.ClientChatReceivedEvent; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; + +public class MythologicalTracker { + + public static double mythCoins; + public static int griffinFeathers; + public static int crownOfGreeds; + public static int washedUpSouvenirs; + public static int minosHunters; + public static int siameseLynxes; + public static int minotaurs; + public static int gaiaConstructs; + public static int minosChampions; + public static int minosInquisitors; + + public static double mythCoinsSession = 0; + public static int griffinFeathersSession = 0; + public static int crownOfGreedsSession = 0; + public static int washedUpSouvenirsSession = 0; + public static int minosHuntersSession = 0; + public static int siameseLynxesSession = 0; + public static int minotaursSession = 0; + public static int gaiaConstructsSession = 0; + public static int minosChampionsSession = 0; + public static int minosInquisitorsSession = 0; + + @SubscribeEvent + public void onChat(ClientChatReceivedEvent event) { + String message = StringUtils.stripControlCodes(event.message.getUnformattedText()); + + if (!Utils.inSkyblock) return; + if (event.type == 2) return; + if (message.contains(":")) return; + + if (message.contains("You dug out")) { + if (message.contains(" coins!")) { + double coinsEarned = Double.parseDouble(message.replaceAll("[^\\d]", "")); + mythCoins += coinsEarned; + mythCoinsSession += coinsEarned; + ConfigHandler.writeDoubleConfig("mythological", "coins", mythCoins); + } else if (message.contains("a Griffin Feather!")) { + griffinFeathers++; + griffinFeathersSession++; + ConfigHandler.writeIntConfig("mythological", "griffinFeather", griffinFeathers); + } else if (message.contains("a Crown of Greed!")) { + crownOfGreeds++; + crownOfGreedsSession++; + ConfigHandler.writeIntConfig("mythological", "crownOfGreed", crownOfGreeds); + } else if (message.contains("a Washed-up Souvenir!")) { + washedUpSouvenirs++; + washedUpSouvenirsSession++; + ConfigHandler.writeIntConfig("mythological", "washedUpSouvenir", washedUpSouvenirs); + } else if (message.contains("a Minos Hunter!")) { + minosHunters++; + minosHuntersSession++; + ConfigHandler.writeIntConfig("mythological", "minosHunter", minosHunters); + } else if (message.contains("Siamese Lynxes!")) { + siameseLynxes++; + siameseLynxesSession++; + ConfigHandler.writeIntConfig("mythological", "siameseLynx", siameseLynxes); + } else if (message.contains("a Minotaur!")) { + minotaurs++; + minotaursSession++; + ConfigHandler.writeIntConfig("mythological", "minotaur", minotaurs); + } else if (message.contains("a Gaia Construct!")) { + gaiaConstructs++; + gaiaConstructsSession++; + ConfigHandler.writeIntConfig("mythological", "gaiaConstruct", gaiaConstructs); + } else if (message.contains("a Minos Champion!")) { + minosChampions++; + minosChampionsSession++; + ConfigHandler.writeIntConfig("mythological", "minosChampion", minosChampions); + } else if (message.contains("a Minos Inquisitor!")) { + minosInquisitors++; + minosInquisitorsSession++; + ConfigHandler.writeIntConfig("mythological", "minosInquisitor", minosInquisitors); + } + } + } + +} diff --git a/src/main/java/me/Danker/features/loot/SpiderTracker.java b/src/main/java/me/Danker/features/loot/SpiderTracker.java new file mode 100644 index 0000000..e6227b2 --- /dev/null +++ b/src/main/java/me/Danker/features/loot/SpiderTracker.java @@ -0,0 +1,114 @@ +package me.Danker.features.loot; + +import me.Danker.commands.ToggleCommand; +import me.Danker.handlers.ConfigHandler; +import me.Danker.utils.Utils; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StringUtils; +import net.minecraftforge.client.event.ClientChatReceivedEvent; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; + +public class SpiderTracker { + + public static int spiderTarantulas; + public static int spiderWebs; + public static int spiderTAP; + public static int spiderTAPDrops; + public static int spiderBites; + public static int spiderCatalysts; + public static int spiderBooks; + public static int spiderSwatters; + public static int spiderTalismans; + public static int spiderMosquitos; + public static double spiderTime; + public static int spiderBosses; + + public static int spiderTarantulasSession = 0; + public static int spiderWebsSession = 0; + public static int spiderTAPSession = 0; + public static int spiderTAPDropsSession = 0; + public static int spiderBitesSession = 0; + public static int spiderCatalystsSession = 0; + public static int spiderBooksSession = 0; + public static int spiderSwattersSession = 0; + public static int spiderTalismansSession = 0; + public static int spiderMosquitosSession = 0; + public static double spiderTimeSession = -1; + public static int spiderBossesSession = -1; + + @SubscribeEvent + public void onChat(ClientChatReceivedEvent event) { + String message = StringUtils.stripControlCodes(event.message.getUnformattedText()); + + if (!Utils.inSkyblock) return; + if (event.type == 2) return; + if (message.contains(":")) return; + + boolean rng = false; + + if (message.contains("VERY RARE DROP! (Enchanted Book)") || message.contains("CRAZY RARE DROP! (Enchanted Book)")) { + if (Utils.isInScoreboard("Tarantula Broodfather")) { + spiderBooks++; + spiderBooksSession++; + ConfigHandler.writeIntConfig("spider", "book", spiderBooks); + } + } + + if (message.contains(" Spider Slayer LVL ")) { // Spider + spiderTarantulas++; + spiderTarantulasSession++; + if (spiderBosses != -1) { + spiderBosses++; + } + if (spiderBossesSession != -1) { + spiderBossesSession++; + } + ConfigHandler.writeIntConfig("spider", "tarantulas", spiderTarantulas); + ConfigHandler.writeIntConfig("spider", "bossRNG", spiderBosses); + } else if (message.contains("RARE DROP! (") && message.contains("Toxic Arrow Poison)")) { + int amount = LootTracker.getAmountfromMessage(message); + spiderTAP += amount; + spiderTAPSession += amount; + spiderTAPDrops++; + spiderTAPDropsSession++; + ConfigHandler.writeIntConfig("spider", "tap", spiderTAP); + ConfigHandler.writeIntConfig("spider", "tapDrops", spiderTAPDrops); + } else if (message.contains("VERY RARE DROP! (") && message.contains(" Bite Rune I)")) { + spiderBites++; + spiderBitesSession++; + ConfigHandler.writeIntConfig("spider", "bite", spiderBites); + } else if (message.contains("VERY RARE DROP! (Spider Catalyst)")) { + spiderCatalysts++; + spiderCatalystsSession++; + ConfigHandler.writeIntConfig("spider", "catalyst", spiderCatalysts); + } else if (message.contains("CRAZY RARE DROP! (Fly Swatter)")) { + rng = true; + spiderSwatters++; + spiderSwattersSession++; + ConfigHandler.writeIntConfig("spider", "swatter", spiderSwatters); + if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.LIGHT_PURPLE + "FLY SWATTER!", 3); + } else if (message.contains("CRAZY RARE DROP! (Tarantula Talisman")) { + rng = true; + spiderTalismans++; + spiderTalismansSession++; + ConfigHandler.writeIntConfig("spider", "talisman", spiderTalismans); + if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.DARK_PURPLE + "TARANTULA TALISMAN!", 3); + } else if (message.contains("CRAZY RARE DROP! (Digested Mosquito)")) { + rng = true; + spiderMosquitos++; + spiderMosquitosSession++; + ConfigHandler.writeIntConfig("spider", "mosquito", spiderMosquitos); + if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.GOLD + "DIGESTED MOSQUITO!", 5); + } + + if (rng) { + spiderTime = System.currentTimeMillis() / 1000; + spiderBosses = 0; + spiderTimeSession = System.currentTimeMillis() / 1000; + spiderBossesSession = 0; + ConfigHandler.writeDoubleConfig("spider", "timeRNG", spiderTime); + ConfigHandler.writeIntConfig("spider", "bossRNG", 0); + } + } + +} diff --git a/src/main/java/me/Danker/features/loot/WolfTracker.java b/src/main/java/me/Danker/features/loot/WolfTracker.java new file mode 100644 index 0000000..f248914 --- /dev/null +++ b/src/main/java/me/Danker/features/loot/WolfTracker.java @@ -0,0 +1,116 @@ +package me.Danker.features.loot; + +import me.Danker.commands.ToggleCommand; +import me.Danker.handlers.ConfigHandler; +import me.Danker.utils.Utils; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StringUtils; +import net.minecraftforge.client.event.ClientChatReceivedEvent; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; + +public class WolfTracker { + + public static int wolfSvens; + public static int wolfTeeth; + public static int wolfWheels; + public static int wolfWheelsDrops; + public static int wolfSpirits; + public static int wolfBooks; + public static int wolfEggs; + public static int wolfCoutures; + public static int wolfBaits; + public static int wolfFluxes; + public static double wolfTime; + public static int wolfBosses; + + public static int wolfSvensSession = 0; + public static int wolfTeethSession = 0; + public static int wolfWheelsSession = 0; + public static int wolfWheelsDropsSession = 0; + public static int wolfSpiritsSession = 0; + public static int wolfBooksSession = 0; + public static int wolfEggsSession = 0; + public static int wolfCouturesSession = 0; + public static int wolfBaitsSession = 0; + public static int wolfFluxesSession = 0; + public static double wolfTimeSession = -1; + public static int wolfBossesSession = -1; + + @SubscribeEvent + public void onChat(ClientChatReceivedEvent event) { + String message = StringUtils.stripControlCodes(event.message.getUnformattedText()); + + if (!Utils.inSkyblock) return; + if (event.type == 2) return; + if (message.contains(":")) return; + + boolean rng = false; + + if (message.contains("VERY RARE DROP! (Enchanted Book)") || message.contains("CRAZY RARE DROP! (Enchanted Book)")) { + if (Utils.isInScoreboard("Sven Packmaster")) { + wolfBooks++; + wolfBooksSession++; + ConfigHandler.writeIntConfig("wolf", "book", wolfBooks); + } + } + + if (message.contains(" Wolf Slayer LVL ")) { + wolfSvens++; + wolfSvensSession++; + if (wolfBosses != -1) { + wolfBosses++; + } + if (wolfBossesSession != -1) { + wolfBossesSession++; + } + ConfigHandler.writeIntConfig("wolf", "svens", wolfSvens); + ConfigHandler.writeIntConfig("wolf", "bossRNG", wolfBosses); + } else if (message.contains("RARE DROP! (") && message.contains("Hamster Wheel)")) { + int amount = LootTracker.getAmountfromMessage(message); + wolfWheels += amount; + wolfWheelsSession += amount; + wolfWheelsDrops++; + wolfWheelsDropsSession++; + ConfigHandler.writeIntConfig("wolf", "wheel", wolfWheels); + ConfigHandler.writeIntConfig("wolf", "wheelDrops", wolfWheelsDrops); + } else if (message.contains("VERY RARE DROP! (") && message.contains(" Spirit Rune I)")) { // Removing the unicode here *should* fix rune drops not counting + wolfSpirits++; + wolfSpiritsSession++; + ConfigHandler.writeIntConfig("wolf", "spirit", wolfSpirits); + } else if (message.contains("CRAZY RARE DROP! (Red Claw Egg)")) { + rng = true; + wolfEggs++; + wolfEggsSession++; + ConfigHandler.writeIntConfig("wolf", "egg", wolfEggs); + if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.DARK_RED + "RED CLAW EGG!", 3); + } else if (message.contains("CRAZY RARE DROP! (") && message.contains(" Couture Rune I)")) { + rng = true; + wolfCoutures++; + wolfCouturesSession++; + ConfigHandler.writeIntConfig("wolf", "couture", wolfCoutures); + if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.GOLD + "COUTURE RUNE!", 3); + } else if (message.contains("CRAZY RARE DROP! (Grizzly Bait)") || message.contains("CRAZY RARE DROP! (Rename Me)")) { // How did Skyblock devs even manage to make this item Rename Me + rng = true; + wolfBaits++; + wolfBaitsSession++; + ConfigHandler.writeIntConfig("wolf", "bait", wolfBaits); + if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.AQUA + "GRIZZLY BAIT!", 3); + } else if (message.contains("CRAZY RARE DROP! (Overflux Capacitor)")) { + rng = true; + wolfFluxes++; + wolfFluxesSession++; + ConfigHandler.writeIntConfig("wolf", "flux", wolfFluxes); + if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.DARK_PURPLE + "OVERFLUX CAPACITOR!", 5); + } + + if (rng) { + wolfTime = System.currentTimeMillis() / 1000; + wolfBosses = 0; + wolfTimeSession = System.currentTimeMillis() / 1000; + wolfBossesSession = 0; + ConfigHandler.writeDoubleConfig("wolf", "timeRNG", wolfTime); + ConfigHandler.writeIntConfig("wolf", "bossRNG", 0); + } + } + +} diff --git a/src/main/java/me/Danker/features/loot/ZombieTracker.java b/src/main/java/me/Danker/features/loot/ZombieTracker.java new file mode 100644 index 0000000..5914599 --- /dev/null +++ b/src/main/java/me/Danker/features/loot/ZombieTracker.java @@ -0,0 +1,143 @@ +package me.Danker.features.loot; + +import me.Danker.commands.ToggleCommand; +import me.Danker.handlers.ConfigHandler; +import me.Danker.utils.Utils; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StringUtils; +import net.minecraftforge.client.event.ClientChatReceivedEvent; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; + +public class ZombieTracker { + + public static int zombieRevs; + public static int zombieRevFlesh; + public static int zombieRevViscera; + public static int zombieFoulFlesh; + public static int zombieFoulFleshDrops; + public static int zombiePestilences; + public static int zombieUndeadCatas; + public static int zombieBooks; + public static int zombieBeheadeds; + public static int zombieRevCatas; + public static int zombieSnakes; + public static int zombieScythes; + public static int zombieShards; + public static int zombieWardenHearts; + public static double zombieTime; + public static int zombieBosses; + + public static int zombieRevsSession = 0; + public static int zombieRevFleshSession = 0; + public static int zombieRevVisceraSession = 0; + public static int zombieFoulFleshSession = 0; + public static int zombieFoulFleshDropsSession = 0; + public static int zombiePestilencesSession = 0; + public static int zombieUndeadCatasSession = 0; + public static int zombieBooksSession = 0; + public static int zombieBeheadedsSession = 0; + public static int zombieRevCatasSession = 0; + public static int zombieSnakesSession = 0; + public static int zombieScythesSession = 0; + public static int zombieShardsSession = 0; + public static int zombieWardenHeartsSession = 0; + public static double zombieTimeSession = -1; + public static int zombieBossesSession = -1; + + @SubscribeEvent + public void onChat(ClientChatReceivedEvent event) { + String message = StringUtils.stripControlCodes(event.message.getUnformattedText()); + + if (!Utils.inSkyblock) return; + if (event.type == 2) return; + if (message.contains(":")) return; + + boolean rng = false; + + if (message.contains("VERY RARE DROP! (Enchanted Book)") || message.contains("CRAZY RARE DROP! (Enchanted Book)")) { + if (Utils.isInScoreboard("Revenant Horror")) { + zombieBooks++; + zombieBooksSession++; + ConfigHandler.writeIntConfig("zombie", "book", zombieBooks); + } + } + + if (message.contains(" Zombie Slayer LVL ")) { // Zombie + zombieRevs++; + zombieRevsSession++; + if (zombieBosses != -1) { + zombieBosses++; + } + if (zombieBossesSession != 1) { + zombieBossesSession++; + } + ConfigHandler.writeIntConfig("zombie", "revs", zombieRevs); + ConfigHandler.writeIntConfig("zombie", "bossRNG", zombieBosses); + } else if (message.contains("RARE DROP! (") && message.contains("Revenant Viscera)")) { + int amount = LootTracker.getAmountfromMessage(message); + zombieRevViscera += amount; + zombieRevVisceraSession += amount; + ConfigHandler.writeIntConfig("zombie", "revViscera", zombieRevViscera); + } else if (message.contains("RARE DROP! (") && message.contains("Foul Flesh)")) { + int amount = LootTracker.getAmountfromMessage(message); + zombieFoulFlesh += amount; + zombieFoulFleshSession += amount; + zombieFoulFleshDrops++; + zombieFoulFleshDropsSession++; + ConfigHandler.writeIntConfig("zombie", "foulFlesh", zombieFoulFlesh); + ConfigHandler.writeIntConfig("zombie", "foulFleshDrops", zombieFoulFleshDrops); + } else if (message.contains("VERY RARE DROP! (Revenant Catalyst)")) { + zombieRevCatas++; + zombieRevCatasSession++; + ConfigHandler.writeIntConfig("zombie", "revCatalyst", zombieRevCatas); + } else if (message.contains("VERY RARE DROP! (") && message.contains(" Pestilence Rune I)")) { + zombiePestilences++; + zombiePestilencesSession++; + ConfigHandler.writeIntConfig("zombie", "pestilence", zombiePestilences); + } else if (message.contains("VERY RARE DROP! (Undead Catalyst)")) { + zombieUndeadCatas++; + zombieUndeadCatasSession++; + ConfigHandler.writeIntConfig("zombie", "undeadCatalyst", zombieUndeadCatas); + } else if (message.contains("CRAZY RARE DROP! (Beheaded Horror)")) { + rng = true; + zombieBeheadeds++; + zombieBeheadedsSession++; + ConfigHandler.writeIntConfig("zombie", "beheaded", zombieBeheadeds); + if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.DARK_PURPLE + "BEHEADED HORROR!", 3); + } else if (message.contains("CRAZY RARE DROP! (") && message.contains(" Snake Rune I)")) { + rng = true; + zombieSnakes++; + zombieSnakesSession++; + ConfigHandler.writeIntConfig("zombie", "snake", zombieSnakes); + if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.DARK_GREEN + "SNAKE RUNE!", 3); + } else if (message.contains("CRAZY RARE DROP! (Scythe Blade)")) { + rng = true; + zombieScythes++; + zombieScythesSession++; + ConfigHandler.writeIntConfig("zombie", "scythe", zombieScythes); + if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.GOLD + "SCYTHE BLADE!", 5); + } else if (message.contains("CRAZY RARE DROP! (Shard of the Shredded)")) { + rng = true; + zombieShards++; + zombieShardsSession++; + ConfigHandler.writeIntConfig("zombie", "shard", zombieShards); + if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.RED + "SHARD OF THE SHREDDED!", 5); + } else if (message.contains("INSANE DROP! (Warden Heart)") || message.contains("CRAZY RARE DROP! (Warden Heart)")) { + rng = true; + zombieWardenHearts++; + zombieWardenHeartsSession++; + ConfigHandler.writeIntConfig("zombie", "heart", zombieWardenHearts); + if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.RED + "WARDEN HEART!", 5); + } + + if (rng) { + zombieTime = System.currentTimeMillis() / 1000; + zombieBosses = 0; + zombieTimeSession = System.currentTimeMillis() / 1000; + zombieBossesSession = 0; + ConfigHandler.writeDoubleConfig("zombie", "timeRNG", zombieTime); + ConfigHandler.writeIntConfig("zombie", "bossRNG", 0); + } + } + +} diff --git a/src/main/java/me/Danker/features/puzzlesolvers/BlazeSolver.java b/src/main/java/me/Danker/features/puzzlesolvers/BlazeSolver.java index affe416..b76e3ca 100644 --- a/src/main/java/me/Danker/features/puzzlesolvers/BlazeSolver.java +++ b/src/main/java/me/Danker/features/puzzlesolvers/BlazeSolver.java @@ -2,6 +2,7 @@ package me.Danker.features.puzzlesolvers; import me.Danker.DankersSkyblockMod; import me.Danker.commands.ToggleCommand; +import me.Danker.utils.RenderUtils; import me.Danker.utils.Utils; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; @@ -102,28 +103,28 @@ public class BlazeSolver { if (foundChest) { if (lowestBlaze != null && !higherToLower) { BlockPos stringPos = new BlockPos(lowestBlaze.posX, lowestBlaze.posY + 1, lowestBlaze.posZ); - Utils.draw3DString(stringPos, EnumChatFormatting.BOLD + "Shoot me!", LOWEST_BLAZE_COLOUR, event.partialTicks); + RenderUtils.draw3DString(stringPos, EnumChatFormatting.BOLD + "Shoot me!", LOWEST_BLAZE_COLOUR, event.partialTicks); AxisAlignedBB aabb = new AxisAlignedBB(lowestBlaze.posX - 0.5, lowestBlaze.posY - 2, lowestBlaze.posZ - 0.5, lowestBlaze.posX + 0.5, lowestBlaze.posY, lowestBlaze.posZ + 0.5); - Utils.draw3DBox(aabb, LOWEST_BLAZE_COLOUR, event.partialTicks); + RenderUtils.draw3DBox(aabb, LOWEST_BLAZE_COLOUR, event.partialTicks); } if (highestBlaze != null && higherToLower) { BlockPos stringPos = new BlockPos(highestBlaze.posX, highestBlaze.posY + 1, highestBlaze.posZ); - Utils.draw3DString(stringPos, EnumChatFormatting.BOLD + "Shoot me!", LOWEST_BLAZE_COLOUR, event.partialTicks); + RenderUtils.draw3DString(stringPos, EnumChatFormatting.BOLD + "Shoot me!", LOWEST_BLAZE_COLOUR, event.partialTicks); AxisAlignedBB aabb = new AxisAlignedBB(highestBlaze.posX - 0.5, highestBlaze.posY - 2, highestBlaze.posZ - 0.5, highestBlaze.posX + 0.5, highestBlaze.posY, highestBlaze.posZ + 0.5); - Utils.draw3DBox(aabb, LOWEST_BLAZE_COLOUR, event.partialTicks); + RenderUtils.draw3DBox(aabb, LOWEST_BLAZE_COLOUR, event.partialTicks); } } else { if (lowestBlaze != null) { BlockPos stringPos = new BlockPos(lowestBlaze.posX, lowestBlaze.posY + 1, lowestBlaze.posZ); - Utils.draw3DString(stringPos, EnumChatFormatting.BOLD + "Smallest", LOWEST_BLAZE_COLOUR, event.partialTicks); + RenderUtils.draw3DString(stringPos, EnumChatFormatting.BOLD + "Smallest", LOWEST_BLAZE_COLOUR, event.partialTicks); AxisAlignedBB aabb = new AxisAlignedBB(lowestBlaze.posX - 0.5, lowestBlaze.posY - 2, lowestBlaze.posZ - 0.5, lowestBlaze.posX + 0.5, lowestBlaze.posY, lowestBlaze.posZ + 0.5); - Utils.draw3DBox(aabb, LOWEST_BLAZE_COLOUR, event.partialTicks); + RenderUtils.draw3DBox(aabb, LOWEST_BLAZE_COLOUR, event.partialTicks); } if (highestBlaze != null) { BlockPos stringPos = new BlockPos(highestBlaze.posX, highestBlaze.posY + 1, highestBlaze.posZ); - Utils.draw3DString(stringPos, EnumChatFormatting.BOLD + "Biggest", HIGHEST_BLAZE_COLOUR, event.partialTicks); + RenderUtils.draw3DString(stringPos, EnumChatFormatting.BOLD + "Biggest", HIGHEST_BLAZE_COLOUR, event.partialTicks); AxisAlignedBB aabb = new AxisAlignedBB(highestBlaze.posX - 0.5, highestBlaze.posY - 2, highestBlaze.posZ - 0.5, highestBlaze.posX + 0.5, highestBlaze.posY, highestBlaze.posZ + 0.5); - Utils.draw3DBox(aabb, HIGHEST_BLAZE_COLOUR, event.partialTicks); + RenderUtils.draw3DBox(aabb, HIGHEST_BLAZE_COLOUR, event.partialTicks); } } } diff --git a/src/main/java/me/Danker/features/puzzlesolvers/BoulderSolver.java b/src/main/java/me/Danker/features/puzzlesolvers/BoulderSolver.java index 0089038..3096e16 100644 --- a/src/main/java/me/Danker/features/puzzlesolvers/BoulderSolver.java +++ b/src/main/java/me/Danker/features/puzzlesolvers/BoulderSolver.java @@ -3,6 +3,7 @@ package me.Danker.features.puzzlesolvers; import me.Danker.DankersSkyblockMod; import me.Danker.commands.ToggleCommand; import me.Danker.utils.BoulderUtils; +import me.Danker.utils.RenderUtils; import me.Danker.utils.Utils; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; @@ -145,7 +146,7 @@ public class BoulderSolver { int[] currentBlockArray = route.get(currentStep); AxisAlignedBB currentBoulder = BoulderUtils.getBoulder(currentBlockArray[0], currentBlockArray[1], chest, boulderRoomDirection); if (currentBoulder == null) return; - Utils.drawFilled3DBox(currentBoulder, BOULDER_COLOUR, true, false, event.partialTicks); + RenderUtils.drawFilled3DBox(currentBoulder, BOULDER_COLOUR, true, false, event.partialTicks); char direction; switch (currentBlockArray[2]) { case 1: diff --git a/src/main/java/me/Danker/features/puzzlesolvers/ChronomatronSolver.java b/src/main/java/me/Danker/features/puzzlesolvers/ChronomatronSolver.java index 1fff07a..ed4adca 100644 --- a/src/main/java/me/Danker/features/puzzlesolvers/ChronomatronSolver.java +++ b/src/main/java/me/Danker/features/puzzlesolvers/ChronomatronSolver.java @@ -4,6 +4,7 @@ import me.Danker.commands.ToggleCommand; import me.Danker.events.ChestSlotClickedEvent; import me.Danker.events.GuiChestBackgroundDrawnEvent; import me.Danker.handlers.TextRenderer; +import me.Danker.utils.RenderUtils; import me.Danker.utils.Utils; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.ScaledResolution; @@ -69,9 +70,9 @@ public class ChronomatronSolver { if (glass.getDisplayName().equals(chronomatronPattern.get(chronomatronMouseClicks))) { - Utils.drawOnSlot(chestSize, glassSlot.xDisplayPosition, glassSlot.yDisplayPosition, CHRONOMATRON_NEXT + 0xE5000000); + RenderUtils.drawOnSlot(chestSize, glassSlot.xDisplayPosition, glassSlot.yDisplayPosition, CHRONOMATRON_NEXT + 0xE5000000); } else if (chronomatronMouseClicks + 1 < chronomatronPattern.size() && glass.getDisplayName().equals(chronomatronPattern.get(chronomatronMouseClicks + 1))) { - Utils.drawOnSlot(chestSize, glassSlot.xDisplayPosition, glassSlot.yDisplayPosition, CHRONOMATRON_NEXT_TO_NEXT + 0XBE000000); + RenderUtils.drawOnSlot(chestSize, glassSlot.xDisplayPosition, glassSlot.yDisplayPosition, CHRONOMATRON_NEXT_TO_NEXT + 0XBE000000); } } diff --git a/src/main/java/me/Danker/features/puzzlesolvers/ClickInOrderSolver.java b/src/main/java/me/Danker/features/puzzlesolvers/ClickInOrderSolver.java index e503b37..1665ba7 100644 --- a/src/main/java/me/Danker/features/puzzlesolvers/ClickInOrderSolver.java +++ b/src/main/java/me/Danker/features/puzzlesolvers/ClickInOrderSolver.java @@ -2,6 +2,7 @@ package me.Danker.features.puzzlesolvers; import me.Danker.commands.ToggleCommand; import me.Danker.events.GuiChestBackgroundDrawnEvent; +import me.Danker.utils.RenderUtils; import me.Danker.utils.Utils; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.EntityPlayerSP; @@ -91,10 +92,10 @@ public class ClickInOrderSolver { int chestSize = event.chestSize; List invSlots = event.slots; Slot slot = invSlots.get(terminalNumberNeeded[1]); - Utils.drawOnSlot(chestSize, slot.xDisplayPosition, slot.yDisplayPosition, CLICK_IN_ORDER_NEXT + 0xFF000000); + RenderUtils.drawOnSlot(chestSize, slot.xDisplayPosition, slot.yDisplayPosition, CLICK_IN_ORDER_NEXT + 0xFF000000); Slot nextSlot = invSlots.get(terminalNumberNeeded[3]); if (nextSlot != slot && nextSlot.getSlotIndex() != 0) { - Utils.drawOnSlot(chestSize, nextSlot.xDisplayPosition, nextSlot.yDisplayPosition, CLICK_IN_ORDER_NEXT_TO_NEXT + 0xFF000000); + RenderUtils.drawOnSlot(chestSize, nextSlot.xDisplayPosition, nextSlot.yDisplayPosition, CLICK_IN_ORDER_NEXT_TO_NEXT + 0xFF000000); } } } diff --git a/src/main/java/me/Danker/features/puzzlesolvers/CreeperSolver.java b/src/main/java/me/Danker/features/puzzlesolvers/CreeperSolver.java index eb9e268..e35abe3 100644 --- a/src/main/java/me/Danker/features/puzzlesolvers/CreeperSolver.java +++ b/src/main/java/me/Danker/features/puzzlesolvers/CreeperSolver.java @@ -2,6 +2,7 @@ package me.Danker.features.puzzlesolvers; import me.Danker.DankersSkyblockMod; import me.Danker.commands.ToggleCommand; +import me.Danker.utils.RenderUtils; import me.Danker.utils.Utils; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; @@ -82,9 +83,9 @@ public class CreeperSolver { Vec3 pos2 = creeperLines.get(i)[1]; int colour = CREEPER_COLOURS[i % 10]; - if (ToggleCommand.creeperLinesToggled) Utils.draw3DLine(pos1, pos2, colour, 2, true, event.partialTicks); - Utils.drawFilled3DBox(new AxisAlignedBB(pos1.xCoord - 0.51, pos1.yCoord - 0.51, pos1.zCoord - 0.51, pos1.xCoord + 0.51, pos1.yCoord + 0.51, pos1.zCoord + 0.51), colour, true, true, event.partialTicks); - Utils.drawFilled3DBox(new AxisAlignedBB(pos2.xCoord - 0.51, pos2.yCoord - 0.51, pos2.zCoord - 0.51, pos2.xCoord + 0.51, pos2.yCoord + 0.51, pos2.zCoord + 0.51), colour, true, true, event.partialTicks); + if (ToggleCommand.creeperLinesToggled) RenderUtils.draw3DLine(pos1, pos2, colour, 2, true, event.partialTicks); + RenderUtils.drawFilled3DBox(new AxisAlignedBB(pos1.xCoord - 0.51, pos1.yCoord - 0.51, pos1.zCoord - 0.51, pos1.xCoord + 0.51, pos1.yCoord + 0.51, pos1.zCoord + 0.51), colour, true, true, event.partialTicks); + RenderUtils.drawFilled3DBox(new AxisAlignedBB(pos2.xCoord - 0.51, pos2.yCoord - 0.51, pos2.zCoord - 0.51, pos2.xCoord + 0.51, pos2.yCoord + 0.51, pos2.zCoord + 0.51), colour, true, true, event.partialTicks); } } } diff --git a/src/main/java/me/Danker/features/puzzlesolvers/IceWalkSolver.java b/src/main/java/me/Danker/features/puzzlesolvers/IceWalkSolver.java index eaabf6e..fdcf503 100644 --- a/src/main/java/me/Danker/features/puzzlesolvers/IceWalkSolver.java +++ b/src/main/java/me/Danker/features/puzzlesolvers/IceWalkSolver.java @@ -3,6 +3,7 @@ package me.Danker.features.puzzlesolvers; import me.Danker.DankersSkyblockMod; import me.Danker.commands.ToggleCommand; import me.Danker.utils.IceWalkUtils; +import me.Danker.utils.RenderUtils; import me.Danker.utils.Utils; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; @@ -214,7 +215,7 @@ public class IceWalkSolver { default: return; } - Utils.draw3DLine(pos1, pos2, ICE_WALK_LINE_COLOUR, 5, true, event.partialTicks); + RenderUtils.draw3DLine(pos1, pos2, ICE_WALK_LINE_COLOUR, 5, true, event.partialTicks); } } @@ -242,7 +243,7 @@ public class IceWalkSolver { default: return; } - Utils.draw3DLine(pos1, pos2, ICE_WALK_LINE_COLOUR, 5, true, event.partialTicks); + RenderUtils.draw3DLine(pos1, pos2, ICE_WALK_LINE_COLOUR, 5, true, event.partialTicks); } } @@ -270,7 +271,7 @@ public class IceWalkSolver { default: return; } - Utils.draw3DLine(pos1, pos2, ICE_WALK_LINE_COLOUR, 5, true, event.partialTicks); + RenderUtils.draw3DLine(pos1, pos2, ICE_WALK_LINE_COLOUR, 5, true, event.partialTicks); } } } diff --git a/src/main/java/me/Danker/features/puzzlesolvers/LividSolver.java b/src/main/java/me/Danker/features/puzzlesolvers/LividSolver.java index 6f02982..4e9f498 100644 --- a/src/main/java/me/Danker/features/puzzlesolvers/LividSolver.java +++ b/src/main/java/me/Danker/features/puzzlesolvers/LividSolver.java @@ -4,7 +4,7 @@ import me.Danker.DankersSkyblockMod; import me.Danker.commands.MoveCommand; import me.Danker.commands.ScaleCommand; import me.Danker.commands.ToggleCommand; -import me.Danker.events.RenderOverlay; +import me.Danker.events.RenderOverlayEvent; import me.Danker.handlers.TextRenderer; import me.Danker.utils.Utils; import net.minecraft.client.Minecraft; @@ -57,7 +57,7 @@ public class LividSolver { } @SubscribeEvent - public void renderPlayerInfo(RenderOverlay event) { + public void renderPlayerInfo(RenderOverlayEvent event) { if (ToggleCommand.lividSolverToggled && foundLivid && livid != null) { new TextRenderer(Minecraft.getMinecraft(), livid.getName().replace("" + EnumChatFormatting.BOLD, ""), MoveCommand.lividHpXY[0], MoveCommand.lividHpXY[1], ScaleCommand.lividHpScale); } diff --git a/src/main/java/me/Danker/features/puzzlesolvers/SelectAllColourSolver.java b/src/main/java/me/Danker/features/puzzlesolvers/SelectAllColourSolver.java index 16125db..e43a971 100644 --- a/src/main/java/me/Danker/features/puzzlesolvers/SelectAllColourSolver.java +++ b/src/main/java/me/Danker/features/puzzlesolvers/SelectAllColourSolver.java @@ -2,6 +2,7 @@ package me.Danker.features.puzzlesolvers; import me.Danker.commands.ToggleCommand; import me.Danker.events.GuiChestBackgroundDrawnEvent; +import me.Danker.utils.RenderUtils; import me.Danker.utils.Utils; import net.minecraft.client.Minecraft; import net.minecraft.inventory.Slot; @@ -45,7 +46,7 @@ public class SelectAllColourSolver { (terminalColorNeeded.equals("BLACK") && itemName.equals("INK SACK")) || (terminalColorNeeded.equals("BLUE") && itemName.equals("LAPIS LAZULI")) || (terminalColorNeeded.equals("BROWN") && itemName.equals("COCOA BEAN"))) { - Utils.drawOnSlot(event.chestSize, slot.xDisplayPosition, slot.yDisplayPosition, 0xBF40FF40); + RenderUtils.drawOnSlot(event.chestSize, slot.xDisplayPosition, slot.yDisplayPosition, 0xBF40FF40); } } } diff --git a/src/main/java/me/Danker/features/puzzlesolvers/SilverfishSolver.java b/src/main/java/me/Danker/features/puzzlesolvers/SilverfishSolver.java index 575dcd3..541a298 100644 --- a/src/main/java/me/Danker/features/puzzlesolvers/SilverfishSolver.java +++ b/src/main/java/me/Danker/features/puzzlesolvers/SilverfishSolver.java @@ -2,6 +2,7 @@ package me.Danker.features.puzzlesolvers; import me.Danker.DankersSkyblockMod; import me.Danker.commands.ToggleCommand; +import me.Danker.utils.RenderUtils; import me.Danker.utils.SilverfishUtils; import me.Danker.utils.Utils; import net.minecraft.block.BlockHopper; @@ -171,7 +172,7 @@ public class SilverfishSolver { default: return; } - Utils.draw3DLine(pos1, pos2, SILVERFISH_LINE_COLOUR, 5, true, event.partialTicks); + RenderUtils.draw3DLine(pos1, pos2, SILVERFISH_LINE_COLOUR, 5, true, event.partialTicks); } } } diff --git a/src/main/java/me/Danker/features/puzzlesolvers/StartsWithSolver.java b/src/main/java/me/Danker/features/puzzlesolvers/StartsWithSolver.java index 8f15fa7..8b79af5 100644 --- a/src/main/java/me/Danker/features/puzzlesolvers/StartsWithSolver.java +++ b/src/main/java/me/Danker/features/puzzlesolvers/StartsWithSolver.java @@ -2,6 +2,7 @@ package me.Danker.features.puzzlesolvers; import me.Danker.commands.ToggleCommand; import me.Danker.events.GuiChestBackgroundDrawnEvent; +import me.Danker.utils.RenderUtils; import me.Danker.utils.Utils; import net.minecraft.client.Minecraft; import net.minecraft.inventory.Slot; @@ -22,7 +23,7 @@ public class StartsWithSolver { if (item == null) continue; if (item.isItemEnchanted()) continue; if (StringUtils.stripControlCodes(item.getDisplayName()).charAt(0) == letter) { - Utils.drawOnSlot(event.chestSize, slot.xDisplayPosition, slot.yDisplayPosition, 0xBF40FF40); + RenderUtils.drawOnSlot(event.chestSize, slot.xDisplayPosition, slot.yDisplayPosition, 0xBF40FF40); } } } diff --git a/src/main/java/me/Danker/features/puzzlesolvers/SuperpairsSolver.java b/src/main/java/me/Danker/features/puzzlesolvers/SuperpairsSolver.java index c6e1d76..6f532bd 100644 --- a/src/main/java/me/Danker/features/puzzlesolvers/SuperpairsSolver.java +++ b/src/main/java/me/Danker/features/puzzlesolvers/SuperpairsSolver.java @@ -2,6 +2,7 @@ package me.Danker.features.puzzlesolvers; import me.Danker.commands.ToggleCommand; import me.Danker.events.GuiChestBackgroundDrawnEvent; +import me.Danker.utils.RenderUtils; import me.Danker.utils.Utils; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.EntityPlayerSP; @@ -135,9 +136,7 @@ public class SuperpairsSolver { ArrayList slots = new ArrayList<>(); slotSet.forEach(slotNum -> slots.add(event.slots.get(slotNum))); Color color = colorIterator.next(); - slots.forEach(slot -> { - Utils.drawOnSlot(event.chestSize, slot.xDisplayPosition, slot.yDisplayPosition, color.getRGB()); - }); + slots.forEach(slot -> RenderUtils.drawOnSlot(event.chestSize, slot.xDisplayPosition, slot.yDisplayPosition, color.getRGB())); }); } } diff --git a/src/main/java/me/Danker/features/puzzlesolvers/ThreeManSolver.java b/src/main/java/me/Danker/features/puzzlesolvers/ThreeManSolver.java index 500c8eb..b0935c3 100644 --- a/src/main/java/me/Danker/features/puzzlesolvers/ThreeManSolver.java +++ b/src/main/java/me/Danker/features/puzzlesolvers/ThreeManSolver.java @@ -3,6 +3,7 @@ package me.Danker.features.puzzlesolvers; import com.google.gson.JsonArray; import me.Danker.DankersSkyblockMod; import me.Danker.commands.ToggleCommand; +import me.Danker.utils.RenderUtils; import me.Danker.utils.Utils; import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; @@ -59,7 +60,7 @@ public class ThreeManSolver { @SubscribeEvent public void onWorldRender(RenderWorldLastEvent event) { if (ToggleCommand.threeManToggled && riddleChest != null) { - Utils.drawFilled3DBox(new AxisAlignedBB(riddleChest.getX() - 0.05, riddleChest.getY(), riddleChest.getZ() - 0.05, riddleChest.getX() + 1.05, riddleChest.getY() + 1, riddleChest.getZ() + 1.05), 0x197F19, true, true, event.partialTicks); + RenderUtils.drawFilled3DBox(new AxisAlignedBB(riddleChest.getX() - 0.05, riddleChest.getY(), riddleChest.getZ() - 0.05, riddleChest.getX() + 1.05, riddleChest.getY() + 1, riddleChest.getZ() + 1.05), 0x197F19, true, true, event.partialTicks); } } diff --git a/src/main/java/me/Danker/features/puzzlesolvers/TicTacToeSolver.java b/src/main/java/me/Danker/features/puzzlesolvers/TicTacToeSolver.java index 1b4a2e1..a50a7b8 100644 --- a/src/main/java/me/Danker/features/puzzlesolvers/TicTacToeSolver.java +++ b/src/main/java/me/Danker/features/puzzlesolvers/TicTacToeSolver.java @@ -2,6 +2,7 @@ package me.Danker.features.puzzlesolvers; import me.Danker.DankersSkyblockMod; import me.Danker.commands.ToggleCommand; +import me.Danker.utils.RenderUtils; import me.Danker.utils.TicTacToeUtils; import me.Danker.utils.Utils; import net.minecraft.block.Block; @@ -128,7 +129,7 @@ public class TicTacToeSolver { @SubscribeEvent public void onWorldRender(RenderWorldLastEvent event) { if (ToggleCommand.ticTacToeToggled && correctTicTacToeButton != null) { - Utils.draw3DBox(correctTicTacToeButton, 0x40FF40, event.partialTicks); + RenderUtils.draw3DBox(correctTicTacToeButton, 0x40FF40, event.partialTicks); } } diff --git a/src/main/java/me/Danker/features/puzzlesolvers/UltrasequencerSolver.java b/src/main/java/me/Danker/features/puzzlesolvers/UltrasequencerSolver.java index 3df6fc4..6813b7f 100644 --- a/src/main/java/me/Danker/features/puzzlesolvers/UltrasequencerSolver.java +++ b/src/main/java/me/Danker/features/puzzlesolvers/UltrasequencerSolver.java @@ -2,6 +2,7 @@ package me.Danker.features.puzzlesolvers; import me.Danker.commands.ToggleCommand; import me.Danker.events.GuiChestBackgroundDrawnEvent; +import me.Danker.utils.RenderUtils; import me.Danker.utils.Utils; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.EntityPlayerSP; @@ -66,12 +67,12 @@ public class UltrasequencerSolver { } if (clickInOrderSlots[lastUltraSequencerClicked] != null) { Slot nextSlot = clickInOrderSlots[lastUltraSequencerClicked]; - Utils.drawOnSlot(event.chestSize, nextSlot.xDisplayPosition, nextSlot.yDisplayPosition, ULTRASEQUENCER_NEXT + 0xE5000000); + RenderUtils.drawOnSlot(event.chestSize, nextSlot.xDisplayPosition, nextSlot.yDisplayPosition, ULTRASEQUENCER_NEXT + 0xE5000000); } if (lastUltraSequencerClicked + 1 < clickInOrderSlots.length) { if (clickInOrderSlots[lastUltraSequencerClicked + 1] != null) { Slot nextSlot = clickInOrderSlots[lastUltraSequencerClicked + 1]; - Utils.drawOnSlot(event.chestSize, nextSlot.xDisplayPosition, nextSlot.yDisplayPosition, ULTRASEQUENCER_NEXT_TO_NEXT + 0xD7000000); + RenderUtils.drawOnSlot(event.chestSize, nextSlot.xDisplayPosition, nextSlot.yDisplayPosition, ULTRASEQUENCER_NEXT_TO_NEXT + 0xD7000000); } } } diff --git a/src/main/java/me/Danker/features/puzzlesolvers/WaterSolver.java b/src/main/java/me/Danker/features/puzzlesolvers/WaterSolver.java index 2be92f9..c3a379e 100644 --- a/src/main/java/me/Danker/features/puzzlesolvers/WaterSolver.java +++ b/src/main/java/me/Danker/features/puzzlesolvers/WaterSolver.java @@ -4,7 +4,7 @@ import me.Danker.DankersSkyblockMod; import me.Danker.commands.MoveCommand; import me.Danker.commands.ScaleCommand; import me.Danker.commands.ToggleCommand; -import me.Danker.events.RenderOverlay; +import me.Danker.events.RenderOverlayEvent; import me.Danker.handlers.TextRenderer; import me.Danker.utils.Utils; import net.minecraft.block.Block; @@ -153,7 +153,7 @@ public class WaterSolver { } @SubscribeEvent - public void renderPlayerInfo(RenderOverlay event) { + public void renderPlayerInfo(RenderOverlayEvent event) { if (ToggleCommand.waterToggled && Utils.inDungeons && waterAnswers != null) { new TextRenderer(Minecraft.getMinecraft(), waterAnswers, MoveCommand.waterAnswerXY[0], MoveCommand.waterAnswerXY[1], ScaleCommand.waterAnswerScale); } diff --git a/src/main/java/me/Danker/handlers/ConfigHandler.java b/src/main/java/me/Danker/handlers/ConfigHandler.java index 98368e1..6655d43 100644 --- a/src/main/java/me/Danker/handlers/ConfigHandler.java +++ b/src/main/java/me/Danker/handlers/ConfigHandler.java @@ -5,8 +5,7 @@ import me.Danker.commands.MoveCommand; import me.Danker.commands.ScaleCommand; import me.Danker.commands.ToggleCommand; import me.Danker.features.*; -import me.Danker.features.loot.LootDisplay; -import me.Danker.features.loot.LootTracker; +import me.Danker.features.loot.*; import me.Danker.features.puzzlesolvers.*; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.ScaledResolution; @@ -295,196 +294,196 @@ public class ConfigHandler { if (!hasKey("api", "APIKey")) writeStringConfig("api", "APIKey", ""); // Wolf - LootTracker.wolfSvens = initInt("wolf", "svens", 0); - LootTracker.wolfTeeth = initInt("wolf", "teeth", 0); - LootTracker.wolfWheels = initInt("wolf", "wheel", 0); - LootTracker.wolfWheelsDrops = initInt("wolf", "wheelDrops", 0); - LootTracker.wolfSpirits = initInt("wolf", "spirit", 0); - LootTracker.wolfBooks = initInt("wolf", "book", 0); - LootTracker.wolfEggs = initInt("wolf", "egg", 0); - LootTracker.wolfCoutures = initInt("wolf", "couture", 0); - LootTracker.wolfBaits = initInt("wolf", "bait", 0); - LootTracker.wolfFluxes = initInt("wolf", "flux", 0); - LootTracker.wolfTime = initDouble("wolf", "timeRNG", -1); - LootTracker.wolfBosses = initInt("wolf", "bossRNG", -1); + WolfTracker.wolfSvens = initInt("wolf", "svens", 0); + WolfTracker.wolfTeeth = initInt("wolf", "teeth", 0); + WolfTracker.wolfWheels = initInt("wolf", "wheel", 0); + WolfTracker.wolfWheelsDrops = initInt("wolf", "wheelDrops", 0); + WolfTracker.wolfSpirits = initInt("wolf", "spirit", 0); + WolfTracker.wolfBooks = initInt("wolf", "book", 0); + WolfTracker.wolfEggs = initInt("wolf", "egg", 0); + WolfTracker.wolfCoutures = initInt("wolf", "couture", 0); + WolfTracker.wolfBaits = initInt("wolf", "bait", 0); + WolfTracker.wolfFluxes = initInt("wolf", "flux", 0); + WolfTracker.wolfTime = initDouble("wolf", "timeRNG", -1); + WolfTracker.wolfBosses = initInt("wolf", "bossRNG", -1); // Spider - LootTracker.spiderTarantulas = initInt("spider", "tarantulas", 0); - LootTracker.spiderWebs = initInt("spider", "web", 0); - LootTracker.spiderTAP = initInt("spider", "tap", 0); - LootTracker.spiderTAPDrops = initInt("spider", "tapDrops", 0); - LootTracker.spiderBites = initInt("spider", "bite", 0); - LootTracker.spiderCatalysts = initInt("spider", "catalyst", 0); - LootTracker.spiderBooks = initInt("spider", "book", 0); - LootTracker.spiderSwatters = initInt("spider", "swatter", 0); - LootTracker.spiderTalismans = initInt("spider", "talisman", 0); - LootTracker.spiderMosquitos = initInt("spider", "mosquito", 0); - LootTracker.spiderTime = initDouble("spider", "timeRNG", -1); - LootTracker.spiderBosses = initInt("spider", "bossRNG", -1); + SpiderTracker.spiderTarantulas = initInt("spider", "tarantulas", 0); + SpiderTracker.spiderWebs = initInt("spider", "web", 0); + SpiderTracker.spiderTAP = initInt("spider", "tap", 0); + SpiderTracker.spiderTAPDrops = initInt("spider", "tapDrops", 0); + SpiderTracker.spiderBites = initInt("spider", "bite", 0); + SpiderTracker.spiderCatalysts = initInt("spider", "catalyst", 0); + SpiderTracker.spiderBooks = initInt("spider", "book", 0); + SpiderTracker.spiderSwatters = initInt("spider", "swatter", 0); + SpiderTracker.spiderTalismans = initInt("spider", "talisman", 0); + SpiderTracker.spiderMosquitos = initInt("spider", "mosquito", 0); + SpiderTracker.spiderTime = initDouble("spider", "timeRNG", -1); + SpiderTracker.spiderBosses = initInt("spider", "bossRNG", -1); // Zombie - LootTracker.zombieRevs = initInt("zombie", "revs", 0); - LootTracker.zombieRevFlesh = initInt("zombie", "revFlesh", 0); - LootTracker.zombieRevViscera = initInt("zombie", "revViscera", 0); - LootTracker.zombieFoulFlesh = initInt("zombie", "foulFlesh", 0); - LootTracker.zombieFoulFleshDrops = initInt("zombie", "foulFleshDrops", 0); - LootTracker.zombiePestilences = initInt("zombie", "pestilence", 0); - LootTracker.zombieUndeadCatas = initInt("zombie", "undeadCatalyst", 0); - LootTracker.zombieBooks = initInt("zombie", "book", 0); - LootTracker.zombieBeheadeds = initInt("zombie", "beheaded", 0); - LootTracker.zombieRevCatas = initInt("zombie", "revCatalyst", 0); - LootTracker.zombieSnakes = initInt("zombie", "snake", 0); - LootTracker.zombieScythes = initInt("zombie", "scythe", 0); - LootTracker.zombieShards = initInt("zombie", "shard", 0); - LootTracker.zombieWardenHearts = initInt("zombie", "heart", 0); - LootTracker.zombieTime = initDouble("zombie", "timeRNG", -1); - LootTracker.zombieBosses = initInt("zombie", "bossRNG", -1); + ZombieTracker.zombieRevs = initInt("zombie", "revs", 0); + ZombieTracker.zombieRevFlesh = initInt("zombie", "revFlesh", 0); + ZombieTracker.zombieRevViscera = initInt("zombie", "revViscera", 0); + ZombieTracker.zombieFoulFlesh = initInt("zombie", "foulFlesh", 0); + ZombieTracker.zombieFoulFleshDrops = initInt("zombie", "foulFleshDrops", 0); + ZombieTracker.zombiePestilences = initInt("zombie", "pestilence", 0); + ZombieTracker.zombieUndeadCatas = initInt("zombie", "undeadCatalyst", 0); + ZombieTracker.zombieBooks = initInt("zombie", "book", 0); + ZombieTracker.zombieBeheadeds = initInt("zombie", "beheaded", 0); + ZombieTracker.zombieRevCatas = initInt("zombie", "revCatalyst", 0); + ZombieTracker.zombieSnakes = initInt("zombie", "snake", 0); + ZombieTracker.zombieScythes = initInt("zombie", "scythe", 0); + ZombieTracker.zombieShards = initInt("zombie", "shard", 0); + ZombieTracker.zombieWardenHearts = initInt("zombie", "heart", 0); + ZombieTracker.zombieTime = initDouble("zombie", "timeRNG", -1); + ZombieTracker.zombieBosses = initInt("zombie", "bossRNG", -1); // Enderman - LootTracker.endermanVoidglooms = initInt("enderman", "voidglooms", 0); - LootTracker.endermanNullSpheres = initInt("enderman", "nullSpheres", 0); - LootTracker.endermanTAP = initInt("enderman", "tap", 0); - LootTracker.endermanTAPDrops = initInt("enderman", "tapDrops", 0); - LootTracker.endermanEndersnakes = initInt("enderman", "endersnakes", 0); - LootTracker.endermanSummoningEyes = initInt("enderman", "summoningEyes", 0); - LootTracker.endermanManaBooks = initInt("enderman", "manaBooks", 0); - LootTracker.endermanTuners = initInt("enderman", "tuners", 0); - LootTracker.endermanAtoms = initInt("enderman", "atoms", 0); - LootTracker.endermanEspressoMachines = initInt("enderman", "espressoMachines", 0); - LootTracker.endermanSmartyBooks = initInt("enderman", "smartyBooks", 0); - LootTracker.endermanEndRunes = initInt("enderman", "endRunes", 0); - LootTracker.endermanChalices = initInt("enderman", "chalices", 0); - LootTracker.endermanDice = initInt("enderman", "dice", 0); - LootTracker.endermanArtifacts = initInt("enderman", "artifacts", 0); - LootTracker.endermanSkins = initInt("enderman", "skins", 0); - LootTracker.endermanMergers = initInt("enderman", "mergers", 0); - LootTracker.endermanCores = initInt("enderman", "cores", 0); - LootTracker.endermanEnchantRunes = initInt("enderman", "enchantRunes", 0); - LootTracker.endermanEnderBooks = initInt("enderman", "enderBooks", 0); - LootTracker.endermanTime = initDouble("enderman", "timeRNG", -1); - LootTracker.endermanBosses = initInt("enderman", "bossRNG", -1); + EndermanTracker.endermanVoidglooms = initInt("enderman", "voidglooms", 0); + EndermanTracker.endermanNullSpheres = initInt("enderman", "nullSpheres", 0); + EndermanTracker.endermanTAP = initInt("enderman", "tap", 0); + EndermanTracker.endermanTAPDrops = initInt("enderman", "tapDrops", 0); + EndermanTracker.endermanEndersnakes = initInt("enderman", "endersnakes", 0); + EndermanTracker.endermanSummoningEyes = initInt("enderman", "summoningEyes", 0); + EndermanTracker.endermanManaBooks = initInt("enderman", "manaBooks", 0); + EndermanTracker.endermanTuners = initInt("enderman", "tuners", 0); + EndermanTracker.endermanAtoms = initInt("enderman", "atoms", 0); + EndermanTracker.endermanEspressoMachines = initInt("enderman", "espressoMachines", 0); + EndermanTracker.endermanSmartyBooks = initInt("enderman", "smartyBooks", 0); + EndermanTracker.endermanEndRunes = initInt("enderman", "endRunes", 0); + EndermanTracker.endermanChalices = initInt("enderman", "chalices", 0); + EndermanTracker.endermanDice = initInt("enderman", "dice", 0); + EndermanTracker.endermanArtifacts = initInt("enderman", "artifacts", 0); + EndermanTracker.endermanSkins = initInt("enderman", "skins", 0); + EndermanTracker.endermanMergers = initInt("enderman", "mergers", 0); + EndermanTracker.endermanCores = initInt("enderman", "cores", 0); + EndermanTracker.endermanEnchantRunes = initInt("enderman", "enchantRunes", 0); + EndermanTracker.endermanEnderBooks = initInt("enderman", "enderBooks", 0); + EndermanTracker.endermanTime = initDouble("enderman", "timeRNG", -1); + EndermanTracker.endermanBosses = initInt("enderman", "bossRNG", -1); // Fishing - LootTracker.seaCreatures = initInt("fishing", "seaCreature", 0); - LootTracker.goodCatches = initInt("fishing", "goodCatch", 0); - LootTracker.greatCatches = initInt("fishing", "greatCatch", 0); - LootTracker.squids = initInt("fishing", "squid", 0); - LootTracker.seaWalkers = initInt("fishing", "seaWalker", 0); - LootTracker.nightSquids = initInt("fishing", "nightSquid", 0); - LootTracker.seaGuardians = initInt("fishing", "seaGuardian", 0); - LootTracker.seaWitches = initInt("fishing", "seaWitch", 0); - LootTracker.seaArchers = initInt("fishing", "seaArcher", 0); - LootTracker.monsterOfTheDeeps = initInt("fishing", "monsterOfDeep", 0); - LootTracker.catfishes = initInt("fishing", "catfish", 0); - LootTracker.carrotKings = initInt("fishing", "carrotKing", 0); - LootTracker.seaLeeches = initInt("fishing", "seaLeech", 0); - LootTracker.guardianDefenders = initInt("fishing", "guardianDefender", 0); - LootTracker.deepSeaProtectors = initInt("fishing", "deepSeaProtector", 0); - LootTracker.hydras = initInt("fishing", "hydra", 0); - LootTracker.seaEmperors = initInt("fishing", "seaEmperor", 0); - LootTracker.empTime = initDouble("fishing", "empTime", -1); - LootTracker.empSCs = initInt("fishing", "empSC", -1); - LootTracker.fishingMilestone = initInt("fishing", "milestone", 0); + FishingTracker.seaCreatures = initInt("fishing", "seaCreature", 0); + FishingTracker.goodCatches = initInt("fishing", "goodCatch", 0); + FishingTracker.greatCatches = initInt("fishing", "greatCatch", 0); + FishingTracker.squids = initInt("fishing", "squid", 0); + FishingTracker.seaWalkers = initInt("fishing", "seaWalker", 0); + FishingTracker.nightSquids = initInt("fishing", "nightSquid", 0); + FishingTracker.seaGuardians = initInt("fishing", "seaGuardian", 0); + FishingTracker.seaWitches = initInt("fishing", "seaWitch", 0); + FishingTracker.seaArchers = initInt("fishing", "seaArcher", 0); + FishingTracker.monsterOfTheDeeps = initInt("fishing", "monsterOfDeep", 0); + FishingTracker.catfishes = initInt("fishing", "catfish", 0); + FishingTracker.carrotKings = initInt("fishing", "carrotKing", 0); + FishingTracker.seaLeeches = initInt("fishing", "seaLeech", 0); + FishingTracker.guardianDefenders = initInt("fishing", "guardianDefender", 0); + FishingTracker.deepSeaProtectors = initInt("fishing", "deepSeaProtector", 0); + FishingTracker.hydras = initInt("fishing", "hydra", 0); + FishingTracker.seaEmperors = initInt("fishing", "seaEmperor", 0); + FishingTracker.empTime = initDouble("fishing", "empTime", -1); + FishingTracker.empSCs = initInt("fishing", "empSC", -1); + FishingTracker.fishingMilestone = initInt("fishing", "milestone", 0); // Fishing Winter - LootTracker.frozenSteves = initInt("fishing", "frozenSteve", 0); - LootTracker.frostyTheSnowmans = initInt("fishing", "snowman", 0); - LootTracker.grinches = initInt("fishing", "grinch", 0); - LootTracker.yetis = initInt("fishing", "yeti", 0); - LootTracker.yetiTime = initDouble("fishing", "yetiTime", -1); - LootTracker.yetiSCs = initInt("fishing", "yetiSC", -1); + FishingTracker.frozenSteves = initInt("fishing", "frozenSteve", 0); + FishingTracker.frostyTheSnowmans = initInt("fishing", "snowman", 0); + FishingTracker.grinches = initInt("fishing", "grinch", 0); + FishingTracker.yetis = initInt("fishing", "yeti", 0); + FishingTracker.yetiTime = initDouble("fishing", "yetiTime", -1); + FishingTracker.yetiSCs = initInt("fishing", "yetiSC", -1); // Fishing Festival - LootTracker.nurseSharks = initInt("fishing", "nurseShark", 0); - LootTracker.blueSharks = initInt("fishing", "blueShark", 0); - LootTracker.tigerSharks = initInt("fishing", "tigerShark", 0); - LootTracker.greatWhiteSharks = initInt("fishing", "greatWhiteShark", 0); + FishingTracker.nurseSharks = initInt("fishing", "nurseShark", 0); + FishingTracker.blueSharks = initInt("fishing", "blueShark", 0); + FishingTracker.tigerSharks = initInt("fishing", "tigerShark", 0); + FishingTracker.greatWhiteSharks = initInt("fishing", "greatWhiteShark", 0); // Spooky Fishing - LootTracker.scarecrows = initInt("fishing", "scarecrow", 0); - LootTracker.nightmares = initInt("fishing", "nightmare", 0); - LootTracker.werewolfs = initInt("fishing", "werewolf", 0); - LootTracker.phantomFishers = initInt("fishing", "phantomFisher", 0); - LootTracker.grimReapers = initInt("fishing", "grimReaper", 0); + FishingTracker.scarecrows = initInt("fishing", "scarecrow", 0); + FishingTracker.nightmares = initInt("fishing", "nightmare", 0); + FishingTracker.werewolfs = initInt("fishing", "werewolf", 0); + FishingTracker.phantomFishers = initInt("fishing", "phantomFisher", 0); + FishingTracker.grimReapers = initInt("fishing", "grimReaper", 0); // Mythological - LootTracker.mythCoins = initDouble("mythological", "coins", 0); - LootTracker.griffinFeathers = initInt("mythological", "griffinFeather", 0); - LootTracker.crownOfGreeds = initInt("mythological", "crownOfGreed", 0); - LootTracker.washedUpSouvenirs = initInt("mythological", "washedUpSouvenir", 0); - LootTracker.minosHunters = initInt("mythological", "minosHunter", 0); - LootTracker.siameseLynxes = initInt("mythological", "siameseLynx", 0); - LootTracker.minotaurs = initInt("mythological", "minotaur", 0); - LootTracker.gaiaConstructs = initInt("mythological", "gaiaConstruct", 0); - LootTracker.minosChampions = initInt("mythological", "minosChampion", 0); - LootTracker.minosInquisitors = initInt("mythological", "minosInquisitor", 0); + MythologicalTracker.mythCoins = initDouble("mythological", "coins", 0); + MythologicalTracker.griffinFeathers = initInt("mythological", "griffinFeather", 0); + MythologicalTracker.crownOfGreeds = initInt("mythological", "crownOfGreed", 0); + MythologicalTracker.washedUpSouvenirs = initInt("mythological", "washedUpSouvenir", 0); + MythologicalTracker.minosHunters = initInt("mythological", "minosHunter", 0); + MythologicalTracker.siameseLynxes = initInt("mythological", "siameseLynx", 0); + MythologicalTracker.minotaurs = initInt("mythological", "minotaur", 0); + MythologicalTracker.gaiaConstructs = initInt("mythological", "gaiaConstruct", 0); + MythologicalTracker.minosChampions = initInt("mythological", "minosChampion", 0); + MythologicalTracker.minosInquisitors = initInt("mythological", "minosInquisitor", 0); // Dungeons - LootTracker.recombobulators = initInt("catacombs", "recombobulator", 0); - LootTracker.fumingPotatoBooks = initInt("catacombs", "fumingBooks", 0); + CatacombsTracker.recombobulators = initInt("catacombs", "recombobulator", 0); + CatacombsTracker.fumingPotatoBooks = initInt("catacombs", "fumingBooks", 0); // F1 - LootTracker.bonzoStaffs = initInt("catacombs", "bonzoStaff", 0); - LootTracker.f1CoinsSpent = initDouble("catacombs", "floorOneCoins", 0); - LootTracker.f1TimeSpent = initDouble("catacombs", "floorOneTime", 0); + CatacombsTracker.bonzoStaffs = initInt("catacombs", "bonzoStaff", 0); + CatacombsTracker.f1CoinsSpent = initDouble("catacombs", "floorOneCoins", 0); + CatacombsTracker.f1TimeSpent = initDouble("catacombs", "floorOneTime", 0); // F2 - LootTracker.scarfStudies = initInt("catacombs", "scarfStudies", 0); - LootTracker.f2CoinsSpent = initDouble("catacombs", "floorTwoCoins", 0); - LootTracker.f2TimeSpent = initDouble("catacombs", "floorTwoTime", 0); + CatacombsTracker.scarfStudies = initInt("catacombs", "scarfStudies", 0); + CatacombsTracker.f2CoinsSpent = initDouble("catacombs", "floorTwoCoins", 0); + CatacombsTracker.f2TimeSpent = initDouble("catacombs", "floorTwoTime", 0); // F3 - LootTracker.adaptiveHelms = initInt("catacombs", "adaptiveHelm", 0); - LootTracker.adaptiveChests = initInt("catacombs", "adaptiveChest", 0); - LootTracker.adaptiveLegs = initInt("catacombs", "adaptiveLegging", 0); - LootTracker.adaptiveBoots = initInt("catacombs", "adaptiveBoot", 0); - LootTracker.adaptiveSwords = initInt("catacombs", "adaptiveSword", 0); - LootTracker.f3CoinsSpent = initDouble("catacombs", "floorThreeCoins", 0); - LootTracker.f3TimeSpent = initDouble("catacombs", "floorThreeTime", 0); + CatacombsTracker.adaptiveHelms = initInt("catacombs", "adaptiveHelm", 0); + CatacombsTracker.adaptiveChests = initInt("catacombs", "adaptiveChest", 0); + CatacombsTracker.adaptiveLegs = initInt("catacombs", "adaptiveLegging", 0); + CatacombsTracker.adaptiveBoots = initInt("catacombs", "adaptiveBoot", 0); + CatacombsTracker.adaptiveSwords = initInt("catacombs", "adaptiveSword", 0); + CatacombsTracker.f3CoinsSpent = initDouble("catacombs", "floorThreeCoins", 0); + CatacombsTracker.f3TimeSpent = initDouble("catacombs", "floorThreeTime", 0); // F4 - LootTracker.spiritWings = initInt("catacombs", "spiritWing", 0); - LootTracker.spiritBones = initInt("catacombs", "spiritBone", 0); - LootTracker.spiritBoots = initInt("catacombs", "spiritBoot", 0); - LootTracker.spiritSwords = initInt("catacombs", "spiritSword", 0); - LootTracker.spiritBows = initInt("catacombs", "spiritBow", 0); - LootTracker.epicSpiritPets = initInt("catacombs", "spiritPetEpic", 0); - LootTracker.legSpiritPets = initInt("catacombs", "spiritPetLeg", 0); - LootTracker.f4CoinsSpent = initDouble("catacombs", "floorFourCoins", 0); - LootTracker.f4TimeSpent = initDouble("catacombs", "floorFourTime", 0); + CatacombsTracker.spiritWings = initInt("catacombs", "spiritWing", 0); + CatacombsTracker.spiritBones = initInt("catacombs", "spiritBone", 0); + CatacombsTracker.spiritBoots = initInt("catacombs", "spiritBoot", 0); + CatacombsTracker.spiritSwords = initInt("catacombs", "spiritSword", 0); + CatacombsTracker.spiritBows = initInt("catacombs", "spiritBow", 0); + CatacombsTracker.epicSpiritPets = initInt("catacombs", "spiritPetEpic", 0); + CatacombsTracker.legSpiritPets = initInt("catacombs", "spiritPetLeg", 0); + CatacombsTracker.f4CoinsSpent = initDouble("catacombs", "floorFourCoins", 0); + CatacombsTracker.f4TimeSpent = initDouble("catacombs", "floorFourTime", 0); // F5 - LootTracker.warpedStones = initInt("catacombs", "warpedStone", 0); - LootTracker.shadowAssHelms = initInt("catacombs", "shadowAssassinHelm", 0); - LootTracker.shadowAssChests = initInt("catacombs", "shadowAssassinChest", 0); - LootTracker.shadowAssLegs = initInt("catacombs", "shadowAssassinLegging", 0); - LootTracker.shadowAssBoots = initInt("catacombs", "shadowAssassinBoot", 0); - LootTracker.lastBreaths = initInt("catacombs", "lastBreath", 0); - LootTracker.lividDaggers = initInt("catacombs", "lividDagger", 0); - LootTracker.shadowFurys = initInt("catacombs", "shadowFury", 0); - LootTracker.f5CoinsSpent = initDouble("catacombs", "floorFiveCoins", 0); - LootTracker.f5TimeSpent = initDouble("catacombs", "floorFiveTime", 0); + CatacombsTracker.warpedStones = initInt("catacombs", "warpedStone", 0); + CatacombsTracker.shadowAssHelms = initInt("catacombs", "shadowAssassinHelm", 0); + CatacombsTracker.shadowAssChests = initInt("catacombs", "shadowAssassinChest", 0); + CatacombsTracker.shadowAssLegs = initInt("catacombs", "shadowAssassinLegging", 0); + CatacombsTracker.shadowAssBoots = initInt("catacombs", "shadowAssassinBoot", 0); + CatacombsTracker.lastBreaths = initInt("catacombs", "lastBreath", 0); + CatacombsTracker.lividDaggers = initInt("catacombs", "lividDagger", 0); + CatacombsTracker.shadowFurys = initInt("catacombs", "shadowFury", 0); + CatacombsTracker.f5CoinsSpent = initDouble("catacombs", "floorFiveCoins", 0); + CatacombsTracker.f5TimeSpent = initDouble("catacombs", "floorFiveTime", 0); // F6 - LootTracker.ancientRoses = initInt("catacombs", "ancientRose", 0); - LootTracker.precursorEyes = initInt("catacombs", "precursorEye", 0); - LootTracker.giantsSwords = initInt("catacombs", "giantsSword", 0); - LootTracker.necroLordHelms = initInt("catacombs", "necroLordHelm", 0); - LootTracker.necroLordChests = initInt("catacombs", "necroLordChest", 0); - LootTracker.necroLordLegs = initInt("catacombs", "necroLordLegging", 0); - LootTracker.necroLordBoots = initInt("catacombs", "necroLordBoot", 0); - LootTracker.necroSwords = initInt("catacombs", "necroSword", 0); - LootTracker.f6CoinsSpent = initDouble("catacombs", "floorSixCoins", 0); - LootTracker.f6TimeSpent = initDouble("catacombs", "floorSixTime", 0); + CatacombsTracker.ancientRoses = initInt("catacombs", "ancientRose", 0); + CatacombsTracker.precursorEyes = initInt("catacombs", "precursorEye", 0); + CatacombsTracker.giantsSwords = initInt("catacombs", "giantsSword", 0); + CatacombsTracker.necroLordHelms = initInt("catacombs", "necroLordHelm", 0); + CatacombsTracker.necroLordChests = initInt("catacombs", "necroLordChest", 0); + CatacombsTracker.necroLordLegs = initInt("catacombs", "necroLordLegging", 0); + CatacombsTracker.necroLordBoots = initInt("catacombs", "necroLordBoot", 0); + CatacombsTracker.necroSwords = initInt("catacombs", "necroSword", 0); + CatacombsTracker.f6CoinsSpent = initDouble("catacombs", "floorSixCoins", 0); + CatacombsTracker.f6TimeSpent = initDouble("catacombs", "floorSixTime", 0); // F7 - LootTracker.witherBloods = initInt("catacombs", "witherBlood", 0); - LootTracker.witherCloaks = initInt("catacombs", "witherCloak", 0); - LootTracker.implosions = initInt("catacombs", "implosion", 0); - LootTracker.witherShields = initInt("catacombs", "witherShield", 0); - LootTracker.shadowWarps = initInt("catacombs", "shadowWarp", 0); - LootTracker.necronsHandles = initInt("catacombs", "necronsHandle", 0); - LootTracker.autoRecombs = initInt("catacombs", "autoRecomb", 0); - LootTracker.witherHelms = initInt("catacombs", "witherHelm", 0); - LootTracker.witherChests = initInt("catacombs", "witherChest", 0); - LootTracker.witherLegs = initInt("catacombs", "witherLegging", 0); - LootTracker.witherBoots = initInt("catacombs", "witherBoot", 0); - LootTracker.f7CoinsSpent = initDouble("catacombs", "floorSevenCoins", 0); - LootTracker.f7TimeSpent = initDouble("catacombs", "floorSevenTime", 0); + CatacombsTracker.witherBloods = initInt("catacombs", "witherBlood", 0); + CatacombsTracker.witherCloaks = initInt("catacombs", "witherCloak", 0); + CatacombsTracker.implosions = initInt("catacombs", "implosion", 0); + CatacombsTracker.witherShields = initInt("catacombs", "witherShield", 0); + CatacombsTracker.shadowWarps = initInt("catacombs", "shadowWarp", 0); + CatacombsTracker.necronsHandles = initInt("catacombs", "necronsHandle", 0); + CatacombsTracker.autoRecombs = initInt("catacombs", "autoRecomb", 0); + CatacombsTracker.witherHelms = initInt("catacombs", "witherHelm", 0); + CatacombsTracker.witherChests = initInt("catacombs", "witherChest", 0); + CatacombsTracker.witherLegs = initInt("catacombs", "witherLegging", 0); + CatacombsTracker.witherBoots = initInt("catacombs", "witherBoot", 0); + CatacombsTracker.f7CoinsSpent = initDouble("catacombs", "floorSevenCoins", 0); + CatacombsTracker.f7TimeSpent = initDouble("catacombs", "floorSevenTime", 0); // Ghost - LootTracker.sorrows = initInt("ghosts", "sorrow", 0); - LootTracker.voltas = initInt("ghosts", "volta", 0); - LootTracker.plasmas = initInt("ghosts", "plasma", 0); - LootTracker.ghostlyBoots = initInt("ghosts", "ghostlyBoots", 0); - LootTracker.bagOfCashs = initInt("ghosts", "bagOfCash", 0); + GhostTracker.sorrows = initInt("ghosts", "sorrow", 0); + GhostTracker.voltas = initInt("ghosts", "volta", 0); + GhostTracker.plasmas = initInt("ghosts", "plasma", 0); + GhostTracker.ghostlyBoots = initInt("ghosts", "ghostlyBoots", 0); + GhostTracker.bagOfCashs = initInt("ghosts", "bagOfCash", 0); // Misc LootDisplay.display = initString("misc", "display", "off"); diff --git a/src/main/java/me/Danker/handlers/PacketHandler.java b/src/main/java/me/Danker/handlers/PacketHandler.java index a4fd85e..a5a858b 100644 --- a/src/main/java/me/Danker/handlers/PacketHandler.java +++ b/src/main/java/me/Danker/handlers/PacketHandler.java @@ -2,29 +2,30 @@ package me.Danker.handlers; import io.netty.channel.ChannelDuplexHandler; import io.netty.channel.ChannelHandlerContext; -import me.Danker.utils.Utils; -import net.minecraft.client.Minecraft; +import io.netty.channel.ChannelPromise; +import me.Danker.events.PacketReadEvent; +import me.Danker.events.PacketWriteEvent; import net.minecraft.network.Packet; -import net.minecraft.network.play.server.S04PacketEntityEquipment; - -import java.lang.reflect.Field; +import net.minecraftforge.common.MinecraftForge; public class PacketHandler extends ChannelDuplexHandler { - - // Spirit boots fix + @Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { - if (Utils.inSkyblock && msg instanceof Packet && msg.getClass().getName().endsWith("S04PacketEntityEquipment")) { // Inventory packet name - S04PacketEntityEquipment packet = (S04PacketEntityEquipment) msg; - if (packet.getEntityID() == Minecraft.getMinecraft().thePlayer.getEntityId()) { - Field slot = packet.getClass().getDeclaredField("field_149392_b"); // equipmentSlot - slot.setAccessible(true); - slot.setInt(packet, slot.getInt(packet) + 1); - msg = packet; - } + if (msg instanceof Packet) { + if (MinecraftForge.EVENT_BUS.post(new PacketReadEvent((Packet) msg))) return; } - + super.channelRead(ctx, msg); } + + @Override + public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) throws Exception { + if (msg instanceof Packet) { + if (MinecraftForge.EVENT_BUS.post(new PacketWriteEvent((Packet) msg))) return; + } + + super.write(ctx, msg, promise); + } } diff --git a/src/main/java/me/Danker/utils/BoulderUtils.java b/src/main/java/me/Danker/utils/BoulderUtils.java index 2d437d0..ca26c96 100644 --- a/src/main/java/me/Danker/utils/BoulderUtils.java +++ b/src/main/java/me/Danker/utils/BoulderUtils.java @@ -254,26 +254,26 @@ public class BoulderUtils { double averageZ = (aabb.minZ + aabb.maxZ) / 2; if (((boulderRoomDirection.equals("north") || boulderRoomDirection.equals("south")) && (direction == 'u' || direction == 'd')) || ((boulderRoomDirection.equals("east") || boulderRoomDirection.equals("west")) && (direction == 'l' || direction == 'r'))) { - Utils.draw3DLine(new Vec3(averageX, aabb.minY, aabb.minZ), new Vec3(averageX, aabb.minY, aabb.maxZ), colourInt, 10, false, partialTicks); + RenderUtils.draw3DLine(new Vec3(averageX, aabb.minY, aabb.minZ), new Vec3(averageX, aabb.minY, aabb.maxZ), colourInt, 10, false, partialTicks); } else { - Utils.draw3DLine(new Vec3(aabb.minX, aabb.minY, averageZ), new Vec3(aabb.maxX, aabb.minY, averageZ), colourInt, 10, false, partialTicks); + RenderUtils.draw3DLine(new Vec3(aabb.minX, aabb.minY, averageZ), new Vec3(aabb.maxX, aabb.minY, averageZ), colourInt, 10, false, partialTicks); } if ((boulderRoomDirection.equals("north") && direction == 'u') || (boulderRoomDirection.equals("south") && direction == 'd') || (boulderRoomDirection.equals("east") && direction == 'l') || (boulderRoomDirection.equals("west") && direction == 'r')) { - Utils.draw3DLine(new Vec3(averageX, aabb.minY, aabb.minZ), new Vec3(aabb.minX + thirtyPercent, aabb.minY, aabb.minZ + thirtyPercent), colourInt, 10, false, partialTicks); - Utils.draw3DLine(new Vec3(averageX, aabb.minY, aabb.minZ), new Vec3(aabb.maxX - thirtyPercent, aabb.minY, aabb.minZ + thirtyPercent), colourInt, 10, false, partialTicks); + RenderUtils.draw3DLine(new Vec3(averageX, aabb.minY, aabb.minZ), new Vec3(aabb.minX + thirtyPercent, aabb.minY, aabb.minZ + thirtyPercent), colourInt, 10, false, partialTicks); + RenderUtils.draw3DLine(new Vec3(averageX, aabb.minY, aabb.minZ), new Vec3(aabb.maxX - thirtyPercent, aabb.minY, aabb.minZ + thirtyPercent), colourInt, 10, false, partialTicks); } else if ((boulderRoomDirection.equals("north") && direction == 'd') || (boulderRoomDirection.equals("south") && direction == 'u') || (boulderRoomDirection.equals("east") && direction == 'r') || (boulderRoomDirection.equals("west") && direction == 'l')) { - Utils.draw3DLine(new Vec3(averageX, aabb.minY, aabb.maxZ), new Vec3(aabb.minX + thirtyPercent, aabb.minY, aabb.maxZ - thirtyPercent), colourInt, 10, false, partialTicks); - Utils.draw3DLine(new Vec3(averageX, aabb.minY, aabb.maxZ), new Vec3(aabb.maxX - thirtyPercent, aabb.minY, aabb.maxZ - thirtyPercent), colourInt, 10, false, partialTicks); + RenderUtils.draw3DLine(new Vec3(averageX, aabb.minY, aabb.maxZ), new Vec3(aabb.minX + thirtyPercent, aabb.minY, aabb.maxZ - thirtyPercent), colourInt, 10, false, partialTicks); + RenderUtils.draw3DLine(new Vec3(averageX, aabb.minY, aabb.maxZ), new Vec3(aabb.maxX - thirtyPercent, aabb.minY, aabb.maxZ - thirtyPercent), colourInt, 10, false, partialTicks); } else if ((boulderRoomDirection.equals("north") && direction == 'l') || (boulderRoomDirection.equals("south") && direction == 'r') || (boulderRoomDirection.equals("east") && direction == 'd') || (boulderRoomDirection.equals("west") && direction == 'u')) { - Utils.draw3DLine(new Vec3(aabb.minX, aabb.minY, averageZ), new Vec3(aabb.minX + thirtyPercent, aabb.minY, aabb.minZ + thirtyPercent), colourInt, 10, false, partialTicks); - Utils.draw3DLine(new Vec3(aabb.minX, aabb.minY, averageZ), new Vec3(aabb.minX + thirtyPercent, aabb.minY, aabb.maxZ - thirtyPercent), colourInt, 10, false, partialTicks); + RenderUtils.draw3DLine(new Vec3(aabb.minX, aabb.minY, averageZ), new Vec3(aabb.minX + thirtyPercent, aabb.minY, aabb.minZ + thirtyPercent), colourInt, 10, false, partialTicks); + RenderUtils.draw3DLine(new Vec3(aabb.minX, aabb.minY, averageZ), new Vec3(aabb.minX + thirtyPercent, aabb.minY, aabb.maxZ - thirtyPercent), colourInt, 10, false, partialTicks); } else { - Utils.draw3DLine(new Vec3(aabb.maxX, aabb.minY, averageZ), new Vec3(aabb.maxX - thirtyPercent, aabb.minY, aabb.minZ + thirtyPercent), colourInt, 10, false, partialTicks); - Utils.draw3DLine(new Vec3(aabb.maxX, aabb.minY, averageZ), new Vec3(aabb.maxX - thirtyPercent, aabb.minY, aabb.maxZ - thirtyPercent), colourInt, 10, false, partialTicks); + RenderUtils.draw3DLine(new Vec3(aabb.maxX, aabb.minY, averageZ), new Vec3(aabb.maxX - thirtyPercent, aabb.minY, aabb.minZ + thirtyPercent), colourInt, 10, false, partialTicks); + RenderUtils.draw3DLine(new Vec3(aabb.maxX, aabb.minY, averageZ), new Vec3(aabb.maxX - thirtyPercent, aabb.minY, aabb.maxZ - thirtyPercent), colourInt, 10, false, partialTicks); } } diff --git a/src/main/java/me/Danker/utils/RenderUtils.java b/src/main/java/me/Danker/utils/RenderUtils.java new file mode 100644 index 0000000..f117969 --- /dev/null +++ b/src/main/java/me/Danker/utils/RenderUtils.java @@ -0,0 +1,366 @@ +package me.Danker.utils; + +import me.Danker.features.CrystalHollowWaypoints; +import me.Danker.handlers.TextRenderer; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.FontRenderer; +import net.minecraft.client.gui.Gui; +import net.minecraft.client.gui.ScaledResolution; +import net.minecraft.client.renderer.*; +import net.minecraft.client.renderer.entity.RenderManager; +import net.minecraft.client.renderer.vertex.DefaultVertexFormats; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.BlockPos; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.Vec3; +import org.lwjgl.opengl.GL11; + +import java.awt.*; + +public class RenderUtils { + + public static void drawTitle(String text) { + Minecraft mc = Minecraft.getMinecraft(); + ScaledResolution scaledResolution = new ScaledResolution(mc); + + int height = scaledResolution.getScaledHeight(); + int width = scaledResolution.getScaledWidth(); + int drawHeight = 0; + String[] splitText = text.split("\n"); + for (String title : splitText) { + int textLength = mc.fontRendererObj.getStringWidth(title); + + double scale = 4; + if (textLength * scale > (width * 0.9F)) { + scale = (width * 0.9F) / (float) textLength; + } + + int titleX = (int) ((width / 2) - (textLength * scale / 2)); + int titleY = (int) ((height * 0.45) / scale) + (int) (drawHeight * scale); + new TextRenderer(mc, title, titleX, titleY, scale); + drawHeight += mc.fontRendererObj.FONT_HEIGHT; + } + } + + public static void drawOnSlot(int size, int xSlotPos, int ySlotPos, int colour) { + ScaledResolution sr = new ScaledResolution(Minecraft.getMinecraft()); + int guiLeft = (sr.getScaledWidth() - 176) / 2; + int guiTop = (sr.getScaledHeight() - 222) / 2; + int x = guiLeft + xSlotPos; + int y = guiTop + ySlotPos; + // Move down when chest isn't 6 rows + if (size != 90) y += (6 - (size - 36) / 9) * 9; + + GL11.glTranslated(0, 0, 1); + Gui.drawRect(x, y, x + 16, y + 16, colour); + GL11.glTranslated(0, 0, -1); + } + + public static void draw3DLine(Vec3 pos1, Vec3 pos2, int colourInt, int lineWidth, boolean depth, float partialTicks) { + Entity render = Minecraft.getMinecraft().getRenderViewEntity(); + WorldRenderer worldRenderer = Tessellator.getInstance().getWorldRenderer(); + Color colour = new Color(colourInt); + + double realX = render.lastTickPosX + (render.posX - render.lastTickPosX) * partialTicks; + double realY = render.lastTickPosY + (render.posY - render.lastTickPosY) * partialTicks; + double realZ = render.lastTickPosZ + (render.posZ - render.lastTickPosZ) * partialTicks; + + GlStateManager.pushMatrix(); + GlStateManager.translate(-realX, -realY, -realZ); + GlStateManager.disableTexture2D(); + GlStateManager.enableBlend(); + GlStateManager.disableAlpha(); + GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0); + GL11.glLineWidth(lineWidth); + if (!depth) { + GL11.glDisable(GL11.GL_DEPTH_TEST); + GlStateManager.depthMask(false); + } + GlStateManager.color(colour.getRed() / 255f, colour.getGreen() / 255f, colour.getBlue() / 255f, colour.getAlpha() / 255f); + worldRenderer.begin(GL11.GL_LINE_STRIP, DefaultVertexFormats.POSITION); + + worldRenderer.pos(pos1.xCoord, pos1.yCoord, pos1.zCoord).endVertex(); + worldRenderer.pos(pos2.xCoord, pos2.yCoord, pos2.zCoord).endVertex(); + Tessellator.getInstance().draw(); + + GlStateManager.translate(realX, realY, realZ); + if (!depth) { + GL11.glEnable(GL11.GL_DEPTH_TEST); + GlStateManager.depthMask(true); + } + GlStateManager.disableBlend(); + GlStateManager.enableAlpha(); + GlStateManager.enableTexture2D(); + GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); + GlStateManager.popMatrix(); + } + + public static void draw3DString(BlockPos pos, String text, int colour, float partialTicks) { + Minecraft mc = Minecraft.getMinecraft(); + EntityPlayer player = mc.thePlayer; + double x = (pos.getX() - player.lastTickPosX) + ((pos.getX() - player.posX) - (pos.getX() - player.lastTickPosX)) * partialTicks; + double y = (pos.getY() - player.lastTickPosY) + ((pos.getY() - player.posY) - (pos.getY() - player.lastTickPosY)) * partialTicks; + double z = (pos.getZ() - player.lastTickPosZ) + ((pos.getZ() - player.posZ) - (pos.getZ() - player.lastTickPosZ)) * partialTicks; + RenderManager renderManager = mc.getRenderManager(); + + float f = 1.6F; + float f1 = 0.016666668F * f; + int width = mc.fontRendererObj.getStringWidth(text) / 2; + GlStateManager.pushMatrix(); + GlStateManager.translate(x, y, z); + GL11.glNormal3f(0f, 1f, 0f); + GlStateManager.rotate(-renderManager.playerViewY, 0f, 1f, 0f); + GlStateManager.rotate(renderManager.playerViewX, 1f, 0f, 0f); + GlStateManager.scale(-f1, -f1, -f1); + GlStateManager.enableBlend(); + GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0); + mc.fontRendererObj.drawString(text, -width, 0, colour); + GlStateManager.disableBlend(); + GlStateManager.popMatrix(); + } + + // I couldnt get waypoint strings to work so in the end I just copied from NEU + // If anyone sees this please help + /*public static void draw3DWaypointString(CrystalHollowWaypoints.Waypoint waypoint, float partialTicks) { + Minecraft mc = Minecraft.getMinecraft(); + EntityPlayer player = mc.thePlayer; + BlockPos pos = waypoint.pos; + double x = (pos.getX() - player.lastTickPosX) + ((pos.getX() - player.posX) - (pos.getX() - player.lastTickPosX)) * partialTicks; + double y = (pos.getY() - player.lastTickPosY) + ((pos.getY() - player.posY) - (pos.getY() - player.lastTickPosY)) * partialTicks; + double z = (pos.getZ() - player.lastTickPosZ) + ((pos.getZ() - player.posZ) - (pos.getZ() - player.lastTickPosZ)) * partialTicks; + + double distance = player.getDistance(x, y, z); + if (distance > 12) { + x *= 12 / distance; + y *= 12 / distance; + z *= 12 / distance; + } + + RenderManager renderManager = mc.getRenderManager(); + Entity viewer = Minecraft.getMinecraft().getRenderViewEntity(); + + float f = 1.6F; + float f1 = 0.016666668F * f; + int width = mc.fontRendererObj.getStringWidth(waypoint.location) / 2; + int width2 = mc.fontRendererObj.getStringWidth(waypoint.getDistance(player)) / 2; + GlStateManager.pushMatrix(); + GlStateManager.translate(x, y, z); + GL11.glNormal3f(0f, 1f, 0f); + GlStateManager.rotate(-renderManager.playerViewY, 0f, 1f, 0f); + GlStateManager.rotate(renderManager.playerViewX, 1f, 0f, 0f); + GlStateManager.scale(-f1, -f1, -f1); + GlStateManager.enableBlend(); + GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0); + GL11.glDisable(GL11.GL_DEPTH_TEST); + GlStateManager.depthMask(false); + + mc.fontRendererObj.drawString(waypoint.location, -width, 0, 0x55FFFF); + + GlStateManager.rotate(-renderManager.playerViewY, 0.0F, 1.0F, 0.0F); + GlStateManager.rotate(renderManager.playerViewX, 1.0F, 0.0F, 0.0F); + GlStateManager.translate(0, -1, 0); + GlStateManager.rotate(-renderManager.playerViewX, 1.0F, 0.0F, 0.0F); + GlStateManager.rotate(renderManager.playerViewY, 0.0F, 1.0F, 0.0F); + + mc.fontRendererObj.drawString(waypoint.getDistance(player), -width2, 0, 0xFFFF55); + + GL11.glEnable(GL11.GL_DEPTH_TEST); + GlStateManager.depthMask(true); + GlStateManager.disableBlend(); + GlStateManager.popMatrix(); + }*/ + + // https://github.com/Moulberry/NotEnoughUpdates/blob/master/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/DwarvenMinesWaypoints.java#L261 + public static void draw3DWaypointString(CrystalHollowWaypoints.Waypoint waypoint, float partialTicks) { + GlStateManager.alphaFunc(516, 0.1F); + + GlStateManager.pushMatrix(); + + Entity viewer = Minecraft.getMinecraft().getRenderViewEntity(); + double viewerX = viewer.lastTickPosX + (viewer.posX - viewer.lastTickPosX) * partialTicks; + double viewerY = viewer.lastTickPosY + (viewer.posY - viewer.lastTickPosY) * partialTicks; + double viewerZ = viewer.lastTickPosZ + (viewer.posZ - viewer.lastTickPosZ) * partialTicks; + + double x = waypoint.pos.getX()-viewerX+0.5f; + double y = waypoint.pos.getY()-viewerY-viewer.getEyeHeight(); + double z = waypoint.pos.getZ()-viewerZ+0.5f; + + double distSq = x*x + y*y + z*z; + double dist = Math.sqrt(distSq); + if(distSq > 144) { + x *= 12/dist; + y *= 12/dist; + z *= 12/dist; + } + GlStateManager.translate(x, y, z); + GlStateManager.translate(0, viewer.getEyeHeight(), 0); + + renderNametag(EnumChatFormatting.AQUA + waypoint.location); + + GlStateManager.rotate(-Minecraft.getMinecraft().getRenderManager().playerViewY, 0.0F, 1.0F, 0.0F); + GlStateManager.rotate(Minecraft.getMinecraft().getRenderManager().playerViewX, 1.0F, 0.0F, 0.0F); + GlStateManager.translate(0, -0.25f, 0); + GlStateManager.rotate(-Minecraft.getMinecraft().getRenderManager().playerViewX, 1.0F, 0.0F, 0.0F); + GlStateManager.rotate(Minecraft.getMinecraft().getRenderManager().playerViewY, 0.0F, 1.0F, 0.0F); + + renderNametag(EnumChatFormatting.YELLOW + waypoint.getDistance(Minecraft.getMinecraft().thePlayer)); + + GlStateManager.popMatrix(); + + GlStateManager.disableLighting(); + } + + // https://github.com/Moulberry/NotEnoughUpdates/blob/master/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/DwarvenMinesWaypoints.java#L300 + public static void renderNametag(String str) { + FontRenderer fontrenderer = Minecraft.getMinecraft().fontRendererObj; + float f = 1.6F; + float f1 = 0.016666668F * f; + GlStateManager.pushMatrix(); + GL11.glNormal3f(0.0F, 1.0F, 0.0F); + GlStateManager.rotate(-Minecraft.getMinecraft().getRenderManager().playerViewY, 0.0F, 1.0F, 0.0F); + GlStateManager.rotate(Minecraft.getMinecraft().getRenderManager().playerViewX, 1.0F, 0.0F, 0.0F); + GlStateManager.scale(-f1, -f1, f1); + GlStateManager.disableLighting(); + GlStateManager.depthMask(false); + GlStateManager.disableDepth(); + GlStateManager.enableBlend(); + GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0); + Tessellator tessellator = Tessellator.getInstance(); + WorldRenderer worldrenderer = tessellator.getWorldRenderer(); + int i = 0; + + int j = fontrenderer.getStringWidth(str) / 2; + GlStateManager.disableTexture2D(); + worldrenderer.begin(7, DefaultVertexFormats.POSITION_COLOR); + worldrenderer.pos(-j - 1, -1 + i, 0.0D).color(0.0F, 0.0F, 0.0F, 0.25F).endVertex(); + worldrenderer.pos(-j - 1, 8 + i, 0.0D).color(0.0F, 0.0F, 0.0F, 0.25F).endVertex(); + worldrenderer.pos(j + 1, 8 + i, 0.0D).color(0.0F, 0.0F, 0.0F, 0.25F).endVertex(); + worldrenderer.pos(j + 1, -1 + i, 0.0D).color(0.0F, 0.0F, 0.0F, 0.25F).endVertex(); + tessellator.draw(); + GlStateManager.enableTexture2D(); + fontrenderer.drawString(str, -fontrenderer.getStringWidth(str) / 2, i, 553648127); + GlStateManager.depthMask(true); + + fontrenderer.drawString(str, -fontrenderer.getStringWidth(str) / 2, i, -1); + + GlStateManager.enableDepth(); + GlStateManager.enableBlend(); + GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); + GlStateManager.popMatrix(); + } + + public static void draw3DBox(AxisAlignedBB aabb, int colourInt, float partialTicks) { + Entity render = Minecraft.getMinecraft().getRenderViewEntity(); + Color colour = new Color(colourInt); + + double realX = render.lastTickPosX + (render.posX - render.lastTickPosX) * partialTicks; + double realY = render.lastTickPosY + (render.posY - render.lastTickPosY) * partialTicks; + double realZ = render.lastTickPosZ + (render.posZ - render.lastTickPosZ) * partialTicks; + + GlStateManager.pushMatrix(); + GlStateManager.translate(-realX, -realY, -realZ); + GlStateManager.disableTexture2D(); + GlStateManager.enableBlend(); + GlStateManager.disableAlpha(); + GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0); + GL11.glLineWidth(2); + + RenderGlobal.drawOutlinedBoundingBox(aabb, colour.getRed(), colour.getGreen(), colour.getBlue(), colour.getAlpha()); + + GlStateManager.translate(realX, realY, realZ); + GlStateManager.disableBlend(); + GlStateManager.enableAlpha(); + GlStateManager.enableTexture2D(); + GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); + GlStateManager.popMatrix(); + } + + public static void drawFilled3DBox(AxisAlignedBB aabb, int colourInt, boolean translucent, boolean depth, float partialTicks) { + Entity render = Minecraft.getMinecraft().getRenderViewEntity(); + WorldRenderer worldRenderer = Tessellator.getInstance().getWorldRenderer(); + Color colour = new Color(colourInt); + + double realX = render.lastTickPosX + (render.posX - render.lastTickPosX) * partialTicks; + double realY = render.lastTickPosY + (render.posY - render.lastTickPosY) * partialTicks; + double realZ = render.lastTickPosZ + (render.posZ - render.lastTickPosZ) * partialTicks; + + GlStateManager.pushMatrix(); + GlStateManager.pushAttrib(); + GlStateManager.translate(-realX, -realY, -realZ); + GlStateManager.disableTexture2D(); + GlStateManager.enableAlpha(); + GlStateManager.enableBlend(); + GlStateManager.disableCull(); + GlStateManager.tryBlendFuncSeparate(770, translucent ? 1 : 771, 1, 0); + if (!depth) { + GL11.glDisable(GL11.GL_DEPTH_TEST); + GlStateManager.depthMask(false); + } + GlStateManager.color(colour.getRed() / 255f, colour.getGreen() / 255f, colour.getBlue() / 255f, colour.getAlpha() / 255f); + worldRenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION); + // Bottom + worldRenderer.pos(aabb.minX, aabb.minY, aabb.minZ).endVertex(); + worldRenderer.pos(aabb.maxX, aabb.minY, aabb.minZ).endVertex(); + worldRenderer.pos(aabb.maxX, aabb.minY, aabb.maxZ).endVertex(); + worldRenderer.pos(aabb.minX, aabb.minY, aabb.maxZ).endVertex(); + // Top + worldRenderer.pos(aabb.minX, aabb.maxY, aabb.minZ).endVertex(); + worldRenderer.pos(aabb.maxX, aabb.maxY, aabb.minZ).endVertex(); + worldRenderer.pos(aabb.maxX, aabb.maxY, aabb.maxZ).endVertex(); + worldRenderer.pos(aabb.minX, aabb.maxY, aabb.maxZ).endVertex(); + // West + worldRenderer.pos(aabb.minX, aabb.minY, aabb.minZ).endVertex(); + worldRenderer.pos(aabb.minX, aabb.maxY, aabb.minZ).endVertex(); + worldRenderer.pos(aabb.minX, aabb.maxY, aabb.maxZ).endVertex(); + worldRenderer.pos(aabb.minX, aabb.minY, aabb.maxZ).endVertex(); + // East + worldRenderer.pos(aabb.maxX, aabb.minY, aabb.minZ).endVertex(); + worldRenderer.pos(aabb.maxX, aabb.maxY, aabb.minZ).endVertex(); + worldRenderer.pos(aabb.maxX, aabb.maxY, aabb.maxZ).endVertex(); + worldRenderer.pos(aabb.maxX, aabb.minY, aabb.maxZ).endVertex(); + // North + worldRenderer.pos(aabb.minX, aabb.minY, aabb.minZ).endVertex(); + worldRenderer.pos(aabb.maxX, aabb.minY, aabb.minZ).endVertex(); + worldRenderer.pos(aabb.maxX, aabb.maxY, aabb.minZ).endVertex(); + worldRenderer.pos(aabb.minX, aabb.maxY, aabb.minZ).endVertex(); + // South + worldRenderer.pos(aabb.minX, aabb.minY, aabb.maxZ).endVertex(); + worldRenderer.pos(aabb.maxX, aabb.minY, aabb.maxZ).endVertex(); + worldRenderer.pos(aabb.maxX, aabb.maxY, aabb.maxZ).endVertex(); + worldRenderer.pos(aabb.minX, aabb.maxY, aabb.maxZ).endVertex(); + Tessellator.getInstance().draw(); + + GlStateManager.translate(realX, realY, realZ); + if (!depth) { + GL11.glEnable(GL11.GL_DEPTH_TEST); + GlStateManager.depthMask(true); + } + GlStateManager.enableCull(); + GlStateManager.disableAlpha(); + GlStateManager.disableBlend(); + GlStateManager.enableTexture2D(); + GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); + GlStateManager.popAttrib(); + GlStateManager.popMatrix(); + } + + public static void renderItem(ItemStack item, float x, float y, float z) { + + GlStateManager.enableRescaleNormal(); + RenderHelper.enableGUIStandardItemLighting(); + GlStateManager.enableDepth(); + + GlStateManager.pushMatrix(); + GlStateManager.translate(x, y, z); + Minecraft.getMinecraft().getRenderItem().renderItemIntoGUI(item, 0, 0); + GlStateManager.popMatrix(); + + GlStateManager.disableDepth(); + RenderHelper.disableStandardItemLighting(); + GlStateManager.disableRescaleNormal(); + } + +} diff --git a/src/main/java/me/Danker/utils/Utils.java b/src/main/java/me/Danker/utils/Utils.java index 31c791a..71fc4ba 100644 --- a/src/main/java/me/Danker/utils/Utils.java +++ b/src/main/java/me/Danker/utils/Utils.java @@ -2,22 +2,13 @@ package me.Danker.utils; import me.Danker.DankersSkyblockMod; import me.Danker.features.ColouredNames; -import me.Danker.features.CrystalHollowWaypoints; import me.Danker.features.GoldenEnchants; import me.Danker.handlers.APIHandler; import me.Danker.handlers.ConfigHandler; import me.Danker.handlers.ScoreboardHandler; -import me.Danker.handlers.TextRenderer; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.gui.Gui; -import net.minecraft.client.gui.ScaledResolution; import net.minecraft.client.network.NetworkPlayerInfo; -import net.minecraft.client.renderer.*; -import net.minecraft.client.renderer.entity.RenderManager; -import net.minecraft.client.renderer.vertex.DefaultVertexFormats; -import net.minecraft.entity.Entity; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.item.EntityItemFrame; import net.minecraft.entity.player.EntityPlayer; @@ -27,10 +18,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.scoreboard.ScoreObjective; import net.minecraft.util.*; -import org.lwjgl.opengl.GL11; -import java.awt.*; -import java.util.List; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -113,29 +101,6 @@ public class Utils { DankersSkyblockMod.showTitle = true; DankersSkyblockMod.titleText = text; } - - public static void drawTitle(String text) { - Minecraft mc = Minecraft.getMinecraft(); - ScaledResolution scaledResolution = new ScaledResolution(mc); - - int height = scaledResolution.getScaledHeight(); - int width = scaledResolution.getScaledWidth(); - int drawHeight = 0; - String[] splitText = text.split("\n"); - for (String title : splitText) { - int textLength = mc.fontRendererObj.getStringWidth(title); - - double scale = 4; - if (textLength * scale > (width * 0.9F)) { - scale = (width * 0.9F) / (float) textLength; - } - - int titleX = (int) ((width / 2) - (textLength * scale / 2)); - int titleY = (int) ((height * 0.45) / scale) + (int) (drawHeight * scale); - new TextRenderer(mc, title, titleX, titleY, scale); - drawHeight += mc.fontRendererObj.FONT_HEIGHT; - } - } public static boolean isOnHypixel() { Minecraft mc = Minecraft.getMinecraft(); @@ -211,20 +176,6 @@ public class Utils { return result; } - public static void drawOnSlot(int size, int xSlotPos, int ySlotPos, int colour) { - ScaledResolution sr = new ScaledResolution(Minecraft.getMinecraft()); - int guiLeft = (sr.getScaledWidth() - 176) / 2; - int guiTop = (sr.getScaledHeight() - 222) / 2; - int x = guiLeft + xSlotPos; - int y = guiTop + ySlotPos; - // Move down when chest isn't 6 rows - if (size != 90) y += (6 - (size - 36) / 9) * 9; - - GL11.glTranslated(0, 0, 1); - Gui.drawRect(x, y, x + 16, y + 16, colour); - GL11.glTranslated(0, 0, -1); - } - public static String getTimeBetween(double timeOne, double timeTwo) { double secondsBetween = Math.floor(timeTwo - timeOne); @@ -352,310 +303,6 @@ public class Utils { }); } - public static void draw3DLine(Vec3 pos1, Vec3 pos2, int colourInt, int lineWidth, boolean depth, float partialTicks) { - Entity render = Minecraft.getMinecraft().getRenderViewEntity(); - WorldRenderer worldRenderer = Tessellator.getInstance().getWorldRenderer(); - Color colour = new Color(colourInt); - - double realX = render.lastTickPosX + (render.posX - render.lastTickPosX) * partialTicks; - double realY = render.lastTickPosY + (render.posY - render.lastTickPosY) * partialTicks; - double realZ = render.lastTickPosZ + (render.posZ - render.lastTickPosZ) * partialTicks; - - GlStateManager.pushMatrix(); - GlStateManager.translate(-realX, -realY, -realZ); - GlStateManager.disableTexture2D(); - GlStateManager.enableBlend(); - GlStateManager.disableAlpha(); - GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0); - GL11.glLineWidth(lineWidth); - if (!depth) { - GL11.glDisable(GL11.GL_DEPTH_TEST); - GlStateManager.depthMask(false); - } - GlStateManager.color(colour.getRed() / 255f, colour.getGreen() / 255f, colour.getBlue() / 255f, colour.getAlpha() / 255f); - worldRenderer.begin(GL11.GL_LINE_STRIP, DefaultVertexFormats.POSITION); - - worldRenderer.pos(pos1.xCoord, pos1.yCoord, pos1.zCoord).endVertex(); - worldRenderer.pos(pos2.xCoord, pos2.yCoord, pos2.zCoord).endVertex(); - Tessellator.getInstance().draw(); - - GlStateManager.translate(realX, realY, realZ); - if (!depth) { - GL11.glEnable(GL11.GL_DEPTH_TEST); - GlStateManager.depthMask(true); - } - GlStateManager.disableBlend(); - GlStateManager.enableAlpha(); - GlStateManager.enableTexture2D(); - GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); - GlStateManager.popMatrix(); - } - - public static void draw3DString(BlockPos pos, String text, int colour, float partialTicks) { - Minecraft mc = Minecraft.getMinecraft(); - EntityPlayer player = mc.thePlayer; - double x = (pos.getX() - player.lastTickPosX) + ((pos.getX() - player.posX) - (pos.getX() - player.lastTickPosX)) * partialTicks; - double y = (pos.getY() - player.lastTickPosY) + ((pos.getY() - player.posY) - (pos.getY() - player.lastTickPosY)) * partialTicks; - double z = (pos.getZ() - player.lastTickPosZ) + ((pos.getZ() - player.posZ) - (pos.getZ() - player.lastTickPosZ)) * partialTicks; - RenderManager renderManager = mc.getRenderManager(); - - float f = 1.6F; - float f1 = 0.016666668F * f; - int width = mc.fontRendererObj.getStringWidth(text) / 2; - GlStateManager.pushMatrix(); - GlStateManager.translate(x, y, z); - GL11.glNormal3f(0f, 1f, 0f); - GlStateManager.rotate(-renderManager.playerViewY, 0f, 1f, 0f); - GlStateManager.rotate(renderManager.playerViewX, 1f, 0f, 0f); - GlStateManager.scale(-f1, -f1, -f1); - GlStateManager.enableBlend(); - GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0); - mc.fontRendererObj.drawString(text, -width, 0, colour); - GlStateManager.disableBlend(); - GlStateManager.popMatrix(); - } - - // I couldnt get waypoint strings to work so in the end I just copied from NEU - // If anyone sees this please help - /*public static void draw3DWaypointString(CrystalHollowWaypoints.Waypoint waypoint, float partialTicks) { - Minecraft mc = Minecraft.getMinecraft(); - EntityPlayer player = mc.thePlayer; - BlockPos pos = waypoint.pos; - double x = (pos.getX() - player.lastTickPosX) + ((pos.getX() - player.posX) - (pos.getX() - player.lastTickPosX)) * partialTicks; - double y = (pos.getY() - player.lastTickPosY) + ((pos.getY() - player.posY) - (pos.getY() - player.lastTickPosY)) * partialTicks; - double z = (pos.getZ() - player.lastTickPosZ) + ((pos.getZ() - player.posZ) - (pos.getZ() - player.lastTickPosZ)) * partialTicks; - - double distance = player.getDistance(x, y, z); - if (distance > 12) { - x *= 12 / distance; - y *= 12 / distance; - z *= 12 / distance; - } - - RenderManager renderManager = mc.getRenderManager(); - Entity viewer = Minecraft.getMinecraft().getRenderViewEntity(); - - float f = 1.6F; - float f1 = 0.016666668F * f; - int width = mc.fontRendererObj.getStringWidth(waypoint.location) / 2; - int width2 = mc.fontRendererObj.getStringWidth(waypoint.getDistance(player)) / 2; - GlStateManager.pushMatrix(); - GlStateManager.translate(x, y, z); - GL11.glNormal3f(0f, 1f, 0f); - GlStateManager.rotate(-renderManager.playerViewY, 0f, 1f, 0f); - GlStateManager.rotate(renderManager.playerViewX, 1f, 0f, 0f); - GlStateManager.scale(-f1, -f1, -f1); - GlStateManager.enableBlend(); - GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0); - GL11.glDisable(GL11.GL_DEPTH_TEST); - GlStateManager.depthMask(false); - - mc.fontRendererObj.drawString(waypoint.location, -width, 0, 0x55FFFF); - - GlStateManager.rotate(-renderManager.playerViewY, 0.0F, 1.0F, 0.0F); - GlStateManager.rotate(renderManager.playerViewX, 1.0F, 0.0F, 0.0F); - GlStateManager.translate(0, -1, 0); - GlStateManager.rotate(-renderManager.playerViewX, 1.0F, 0.0F, 0.0F); - GlStateManager.rotate(renderManager.playerViewY, 0.0F, 1.0F, 0.0F); - - mc.fontRendererObj.drawString(waypoint.getDistance(player), -width2, 0, 0xFFFF55); - - GL11.glEnable(GL11.GL_DEPTH_TEST); - GlStateManager.depthMask(true); - GlStateManager.disableBlend(); - GlStateManager.popMatrix(); - }*/ - - // https://github.com/Moulberry/NotEnoughUpdates/blob/master/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/DwarvenMinesWaypoints.java#L261 - public static void draw3DWaypointString(CrystalHollowWaypoints.Waypoint waypoint, float partialTicks) { - GlStateManager.alphaFunc(516, 0.1F); - - GlStateManager.pushMatrix(); - - Entity viewer = Minecraft.getMinecraft().getRenderViewEntity(); - double viewerX = viewer.lastTickPosX + (viewer.posX - viewer.lastTickPosX) * partialTicks; - double viewerY = viewer.lastTickPosY + (viewer.posY - viewer.lastTickPosY) * partialTicks; - double viewerZ = viewer.lastTickPosZ + (viewer.posZ - viewer.lastTickPosZ) * partialTicks; - - double x = waypoint.pos.getX()-viewerX+0.5f; - double y = waypoint.pos.getY()-viewerY-viewer.getEyeHeight(); - double z = waypoint.pos.getZ()-viewerZ+0.5f; - - double distSq = x*x + y*y + z*z; - double dist = Math.sqrt(distSq); - if(distSq > 144) { - x *= 12/dist; - y *= 12/dist; - z *= 12/dist; - } - GlStateManager.translate(x, y, z); - GlStateManager.translate(0, viewer.getEyeHeight(), 0); - - renderNametag(EnumChatFormatting.AQUA + waypoint.location); - - GlStateManager.rotate(-Minecraft.getMinecraft().getRenderManager().playerViewY, 0.0F, 1.0F, 0.0F); - GlStateManager.rotate(Minecraft.getMinecraft().getRenderManager().playerViewX, 1.0F, 0.0F, 0.0F); - GlStateManager.translate(0, -0.25f, 0); - GlStateManager.rotate(-Minecraft.getMinecraft().getRenderManager().playerViewX, 1.0F, 0.0F, 0.0F); - GlStateManager.rotate(Minecraft.getMinecraft().getRenderManager().playerViewY, 0.0F, 1.0F, 0.0F); - - renderNametag(EnumChatFormatting.YELLOW + waypoint.getDistance(Minecraft.getMinecraft().thePlayer)); - - GlStateManager.popMatrix(); - - GlStateManager.disableLighting(); - } - - // https://github.com/Moulberry/NotEnoughUpdates/blob/master/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/DwarvenMinesWaypoints.java#L300 - public static void renderNametag(String str) { - FontRenderer fontrenderer = Minecraft.getMinecraft().fontRendererObj; - float f = 1.6F; - float f1 = 0.016666668F * f; - GlStateManager.pushMatrix(); - GL11.glNormal3f(0.0F, 1.0F, 0.0F); - GlStateManager.rotate(-Minecraft.getMinecraft().getRenderManager().playerViewY, 0.0F, 1.0F, 0.0F); - GlStateManager.rotate(Minecraft.getMinecraft().getRenderManager().playerViewX, 1.0F, 0.0F, 0.0F); - GlStateManager.scale(-f1, -f1, f1); - GlStateManager.disableLighting(); - GlStateManager.depthMask(false); - GlStateManager.disableDepth(); - GlStateManager.enableBlend(); - GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0); - Tessellator tessellator = Tessellator.getInstance(); - WorldRenderer worldrenderer = tessellator.getWorldRenderer(); - int i = 0; - - int j = fontrenderer.getStringWidth(str) / 2; - GlStateManager.disableTexture2D(); - worldrenderer.begin(7, DefaultVertexFormats.POSITION_COLOR); - worldrenderer.pos(-j - 1, -1 + i, 0.0D).color(0.0F, 0.0F, 0.0F, 0.25F).endVertex(); - worldrenderer.pos(-j - 1, 8 + i, 0.0D).color(0.0F, 0.0F, 0.0F, 0.25F).endVertex(); - worldrenderer.pos(j + 1, 8 + i, 0.0D).color(0.0F, 0.0F, 0.0F, 0.25F).endVertex(); - worldrenderer.pos(j + 1, -1 + i, 0.0D).color(0.0F, 0.0F, 0.0F, 0.25F).endVertex(); - tessellator.draw(); - GlStateManager.enableTexture2D(); - fontrenderer.drawString(str, -fontrenderer.getStringWidth(str) / 2, i, 553648127); - GlStateManager.depthMask(true); - - fontrenderer.drawString(str, -fontrenderer.getStringWidth(str) / 2, i, -1); - - GlStateManager.enableDepth(); - GlStateManager.enableBlend(); - GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); - GlStateManager.popMatrix(); - } - - public static void draw3DBox(AxisAlignedBB aabb, int colourInt, float partialTicks) { - Entity render = Minecraft.getMinecraft().getRenderViewEntity(); - Color colour = new Color(colourInt); - - double realX = render.lastTickPosX + (render.posX - render.lastTickPosX) * partialTicks; - double realY = render.lastTickPosY + (render.posY - render.lastTickPosY) * partialTicks; - double realZ = render.lastTickPosZ + (render.posZ - render.lastTickPosZ) * partialTicks; - - GlStateManager.pushMatrix(); - GlStateManager.translate(-realX, -realY, -realZ); - GlStateManager.disableTexture2D(); - GlStateManager.enableBlend(); - GlStateManager.disableAlpha(); - GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0); - GL11.glLineWidth(2); - - RenderGlobal.drawOutlinedBoundingBox(aabb, colour.getRed(), colour.getGreen(), colour.getBlue(), colour.getAlpha()); - - GlStateManager.translate(realX, realY, realZ); - GlStateManager.disableBlend(); - GlStateManager.enableAlpha(); - GlStateManager.enableTexture2D(); - GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); - GlStateManager.popMatrix(); - } - - public static void drawFilled3DBox(AxisAlignedBB aabb, int colourInt, boolean translucent, boolean depth, float partialTicks) { - Entity render = Minecraft.getMinecraft().getRenderViewEntity(); - WorldRenderer worldRenderer = Tessellator.getInstance().getWorldRenderer(); - Color colour = new Color(colourInt); - - double realX = render.lastTickPosX + (render.posX - render.lastTickPosX) * partialTicks; - double realY = render.lastTickPosY + (render.posY - render.lastTickPosY) * partialTicks; - double realZ = render.lastTickPosZ + (render.posZ - render.lastTickPosZ) * partialTicks; - - GlStateManager.pushMatrix(); - GlStateManager.pushAttrib(); - GlStateManager.translate(-realX, -realY, -realZ); - GlStateManager.disableTexture2D(); - GlStateManager.enableAlpha(); - GlStateManager.enableBlend(); - GlStateManager.disableCull(); - GlStateManager.tryBlendFuncSeparate(770, translucent ? 1 : 771, 1, 0); - if (!depth) { - GL11.glDisable(GL11.GL_DEPTH_TEST); - GlStateManager.depthMask(false); - } - GlStateManager.color(colour.getRed() / 255f, colour.getGreen() / 255f, colour.getBlue() / 255f, colour.getAlpha() / 255f); - worldRenderer.begin(GL11.GL_QUADS, DefaultVertexFormats.POSITION); - // Bottom - worldRenderer.pos(aabb.minX, aabb.minY, aabb.minZ).endVertex(); - worldRenderer.pos(aabb.maxX, aabb.minY, aabb.minZ).endVertex(); - worldRenderer.pos(aabb.maxX, aabb.minY, aabb.maxZ).endVertex(); - worldRenderer.pos(aabb.minX, aabb.minY, aabb.maxZ).endVertex(); - // Top - worldRenderer.pos(aabb.minX, aabb.maxY, aabb.minZ).endVertex(); - worldRenderer.pos(aabb.maxX, aabb.maxY, aabb.minZ).endVertex(); - worldRenderer.pos(aabb.maxX, aabb.maxY, aabb.maxZ).endVertex(); - worldRenderer.pos(aabb.minX, aabb.maxY, aabb.maxZ).endVertex(); - // West - worldRenderer.pos(aabb.minX, aabb.minY, aabb.minZ).endVertex(); - worldRenderer.pos(aabb.minX, aabb.maxY, aabb.minZ).endVertex(); - worldRenderer.pos(aabb.minX, aabb.maxY, aabb.maxZ).endVertex(); - worldRenderer.pos(aabb.minX, aabb.minY, aabb.maxZ).endVertex(); - // East - worldRenderer.pos(aabb.maxX, aabb.minY, aabb.minZ).endVertex(); - worldRenderer.pos(aabb.maxX, aabb.maxY, aabb.minZ).endVertex(); - worldRenderer.pos(aabb.maxX, aabb.maxY, aabb.maxZ).endVertex(); - worldRenderer.pos(aabb.maxX, aabb.minY, aabb.maxZ).endVertex(); - // North - worldRenderer.pos(aabb.minX, aabb.minY, aabb.minZ).endVertex(); - worldRenderer.pos(aabb.maxX, aabb.minY, aabb.minZ).endVertex(); - worldRenderer.pos(aabb.maxX, aabb.maxY, aabb.minZ).endVertex(); - worldRenderer.pos(aabb.minX, aabb.maxY, aabb.minZ).endVertex(); - // South - worldRenderer.pos(aabb.minX, aabb.minY, aabb.maxZ).endVertex(); - worldRenderer.pos(aabb.maxX, aabb.minY, aabb.maxZ).endVertex(); - worldRenderer.pos(aabb.maxX, aabb.maxY, aabb.maxZ).endVertex(); - worldRenderer.pos(aabb.minX, aabb.maxY, aabb.maxZ).endVertex(); - Tessellator.getInstance().draw(); - - GlStateManager.translate(realX, realY, realZ); - if (!depth) { - GL11.glEnable(GL11.GL_DEPTH_TEST); - GlStateManager.depthMask(true); - } - GlStateManager.enableCull(); - GlStateManager.disableAlpha(); - GlStateManager.disableBlend(); - GlStateManager.enableTexture2D(); - GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); - GlStateManager.popAttrib(); - GlStateManager.popMatrix(); - } - - public static void renderItem(ItemStack item, float x, float y, float z) { - - GlStateManager.enableRescaleNormal(); - RenderHelper.enableGUIStandardItemLighting(); - GlStateManager.enableDepth(); - - GlStateManager.pushMatrix(); - GlStateManager.translate(x, y, z); - Minecraft.getMinecraft().getRenderItem().renderItemIntoGUI(item, 0, 0); - GlStateManager.popMatrix(); - - GlStateManager.disableDepth(); - RenderHelper.disableStandardItemLighting(); - GlStateManager.disableRescaleNormal(); - } - public static BlockPos getFirstBlockPosAfterVectors(Minecraft mc, Vec3 pos1, Vec3 pos2, int strength, int distance) { double x = pos2.xCoord - pos1.xCoord; double y = pos2.yCoord - pos1.yCoord; -- cgit From 948058741199d41b1e5e76970da28d45e166c244 Mon Sep 17 00:00:00 2001 From: bowser0000 Date: Thu, 2 Sep 2021 15:03:53 -0400 Subject: Fix slayer book tracking and add smite 7 --- src/main/java/me/Danker/commands/LootCommand.java | 2 ++ src/main/java/me/Danker/commands/ResetLootCommand.java | 1 + src/main/java/me/Danker/features/PetColours.java | 1 - src/main/java/me/Danker/features/SpiritBootsFix.java | 2 +- src/main/java/me/Danker/features/loot/LootDisplay.java | 4 ++++ .../java/me/Danker/features/loot/SpiderTracker.java | 12 ++++-------- src/main/java/me/Danker/features/loot/WolfTracker.java | 12 ++++-------- .../java/me/Danker/features/loot/ZombieTracker.java | 18 ++++++++++-------- .../features/puzzlesolvers/ChronomatronSolver.java | 1 - .../features/puzzlesolvers/UltrasequencerSolver.java | 1 - 10 files changed, 26 insertions(+), 28 deletions(-) (limited to 'src/main/java/me/Danker/features/loot/LootDisplay.java') diff --git a/src/main/java/me/Danker/commands/LootCommand.java b/src/main/java/me/Danker/commands/LootCommand.java index 40b215d..e91c656 100644 --- a/src/main/java/me/Danker/commands/LootCommand.java +++ b/src/main/java/me/Danker/commands/LootCommand.java @@ -227,6 +227,7 @@ public class LootCommand extends CommandBase { EnumChatFormatting.BLUE + " Foul Flesh: " + drop20 + "\n" + EnumChatFormatting.DARK_GREEN + " Pestilence Runes: " +ZombieTracker.zombiePestilencesSession + "\n" + EnumChatFormatting.WHITE + " Smite VI Books: " + ZombieTracker.zombieBooksSession + "\n" + + EnumChatFormatting.WHITE + " Smite VII Books: " + ZombieTracker.zombieBooksT7Session + "\n" + EnumChatFormatting.AQUA + " Undead Catalysts: " + ZombieTracker.zombieUndeadCatasSession + "\n" + EnumChatFormatting.DARK_PURPLE + " Beheaded Horrors: " + ZombieTracker.zombieBeheadedsSession + "\n" + EnumChatFormatting.RED + " Revenant Catalysts: " + ZombieTracker.zombieRevCatasSession + "\n" + @@ -264,6 +265,7 @@ public class LootCommand extends CommandBase { EnumChatFormatting.BLUE + " Foul Flesh: " + drop20 + "\n" + EnumChatFormatting.DARK_GREEN + " Pestilence Runes: " + ZombieTracker.zombiePestilences + "\n" + EnumChatFormatting.WHITE + " Smite VI Books: " + ZombieTracker.zombieBooks + "\n" + + EnumChatFormatting.WHITE + " Smite VII Books: " + ZombieTracker.zombieBooksT7 + "\n" + EnumChatFormatting.AQUA + " Undead Catalysts: " + ZombieTracker.zombieUndeadCatas + "\n" + EnumChatFormatting.DARK_PURPLE + " Beheaded Horrors: " + ZombieTracker.zombieBeheadeds + "\n" + EnumChatFormatting.RED + " Revenant Catalysts: " + ZombieTracker.zombieRevCatas + "\n" + diff --git a/src/main/java/me/Danker/commands/ResetLootCommand.java b/src/main/java/me/Danker/commands/ResetLootCommand.java index 974d50c..f64ceb1 100644 --- a/src/main/java/me/Danker/commands/ResetLootCommand.java +++ b/src/main/java/me/Danker/commands/ResetLootCommand.java @@ -130,6 +130,7 @@ public class ResetLootCommand extends CommandBase { ZombieTracker.zombiePestilencesSession = 0; ZombieTracker.zombieUndeadCatasSession = 0; ZombieTracker.zombieBooksSession = 0; + ZombieTracker.zombieBooksT7Session = 0; ZombieTracker.zombieBeheadedsSession = 0; ZombieTracker.zombieRevCatasSession = 0; ZombieTracker.zombieSnakesSession = 0; diff --git a/src/main/java/me/Danker/features/PetColours.java b/src/main/java/me/Danker/features/PetColours.java index 940bb08..0e219db 100644 --- a/src/main/java/me/Danker/features/PetColours.java +++ b/src/main/java/me/Danker/features/PetColours.java @@ -3,7 +3,6 @@ package me.Danker.features; import me.Danker.commands.ToggleCommand; import me.Danker.events.GuiChestBackgroundDrawnEvent; import me.Danker.utils.RenderUtils; -import me.Danker.utils.Utils; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; import net.minecraft.util.StringUtils; diff --git a/src/main/java/me/Danker/features/SpiritBootsFix.java b/src/main/java/me/Danker/features/SpiritBootsFix.java index c50b538..8719fcf 100644 --- a/src/main/java/me/Danker/features/SpiritBootsFix.java +++ b/src/main/java/me/Danker/features/SpiritBootsFix.java @@ -11,7 +11,7 @@ import java.lang.reflect.Field; public class SpiritBootsFix { - static Field slot = ReflectionHelper.findField(S04PacketEntityEquipment.class, "equipmentSlot", "field_149392_b"); + static Field slot = ReflectionHelper.findField(S04PacketEntityEquipment.class, "equipmentSlot", "field_149392_b", "b"); @SubscribeEvent public void onPacketRead(PacketReadEvent event) throws IllegalAccessException { diff --git a/src/main/java/me/Danker/features/loot/LootDisplay.java b/src/main/java/me/Danker/features/loot/LootDisplay.java index 9f7f0e3..b1c584d 100644 --- a/src/main/java/me/Danker/features/loot/LootDisplay.java +++ b/src/main/java/me/Danker/features/loot/LootDisplay.java @@ -217,6 +217,7 @@ public class LootDisplay { EnumChatFormatting.BLUE + "Foul Flesh:\n" + EnumChatFormatting.DARK_GREEN + "Pestilence Runes:\n" + EnumChatFormatting.WHITE + "Smite VI Books:\n" + + EnumChatFormatting.WHITE + "Smite VII Books:\n" + EnumChatFormatting.AQUA + "Undead Catalysts:\n" + EnumChatFormatting.DARK_PURPLE + "Beheaded Horrors:\n" + EnumChatFormatting.RED + "Revenant Catalysts:\n" + @@ -232,6 +233,7 @@ public class LootDisplay { EnumChatFormatting.BLUE + drop20 + "\n" + EnumChatFormatting.DARK_GREEN + ZombieTracker.zombiePestilences + "\n" + EnumChatFormatting.WHITE + ZombieTracker.zombieBooks + "\n" + + EnumChatFormatting.WHITE + ZombieTracker.zombieBooksT7 + "\n" + EnumChatFormatting.AQUA + ZombieTracker.zombieUndeadCatas + "\n" + EnumChatFormatting.DARK_PURPLE + ZombieTracker.zombieBeheadeds + "\n" + EnumChatFormatting.RED + ZombieTracker.zombieRevCatas + "\n" + @@ -265,6 +267,7 @@ public class LootDisplay { EnumChatFormatting.BLUE + "Foul Flesh:\n" + EnumChatFormatting.DARK_GREEN + "Pestilence Runes:\n" + EnumChatFormatting.WHITE + "Smite VI Books:\n" + + EnumChatFormatting.WHITE + "Smite VII Books:\n" + EnumChatFormatting.AQUA + "Undead Catalysts:\n" + EnumChatFormatting.DARK_PURPLE + "Beheaded Horrors:\n" + EnumChatFormatting.RED + "Revenant Catalysts:\n" + @@ -280,6 +283,7 @@ public class LootDisplay { EnumChatFormatting.BLUE + drop20 + "\n" + EnumChatFormatting.DARK_GREEN + ZombieTracker.zombiePestilencesSession + "\n" + EnumChatFormatting.WHITE + ZombieTracker.zombieBooksSession + "\n" + + EnumChatFormatting.WHITE + ZombieTracker.zombieBooksT7Session + "\n" + EnumChatFormatting.AQUA + ZombieTracker.zombieUndeadCatasSession + "\n" + EnumChatFormatting.DARK_PURPLE + ZombieTracker.zombieBeheadedsSession + "\n" + EnumChatFormatting.RED + ZombieTracker.zombieRevCatasSession + "\n" + diff --git a/src/main/java/me/Danker/features/loot/SpiderTracker.java b/src/main/java/me/Danker/features/loot/SpiderTracker.java index e6227b2..34ee695 100644 --- a/src/main/java/me/Danker/features/loot/SpiderTracker.java +++ b/src/main/java/me/Danker/features/loot/SpiderTracker.java @@ -46,14 +46,6 @@ public class SpiderTracker { boolean rng = false; - if (message.contains("VERY RARE DROP! (Enchanted Book)") || message.contains("CRAZY RARE DROP! (Enchanted Book)")) { - if (Utils.isInScoreboard("Tarantula Broodfather")) { - spiderBooks++; - spiderBooksSession++; - ConfigHandler.writeIntConfig("spider", "book", spiderBooks); - } - } - if (message.contains(" Spider Slayer LVL ")) { // Spider spiderTarantulas++; spiderTarantulasSession++; @@ -77,6 +69,10 @@ public class SpiderTracker { spiderBites++; spiderBitesSession++; ConfigHandler.writeIntConfig("spider", "bite", spiderBites); + } else if (message.contains("VERY RARE DROP! (Bane of Arthropods VI)")) { + spiderBooks++; + spiderBooksSession++; + ConfigHandler.writeIntConfig("spider", "book", spiderBooks); } else if (message.contains("VERY RARE DROP! (Spider Catalyst)")) { spiderCatalysts++; spiderCatalystsSession++; diff --git a/src/main/java/me/Danker/features/loot/WolfTracker.java b/src/main/java/me/Danker/features/loot/WolfTracker.java index f248914..449a3b4 100644 --- a/src/main/java/me/Danker/features/loot/WolfTracker.java +++ b/src/main/java/me/Danker/features/loot/WolfTracker.java @@ -46,14 +46,6 @@ public class WolfTracker { boolean rng = false; - if (message.contains("VERY RARE DROP! (Enchanted Book)") || message.contains("CRAZY RARE DROP! (Enchanted Book)")) { - if (Utils.isInScoreboard("Sven Packmaster")) { - wolfBooks++; - wolfBooksSession++; - ConfigHandler.writeIntConfig("wolf", "book", wolfBooks); - } - } - if (message.contains(" Wolf Slayer LVL ")) { wolfSvens++; wolfSvensSession++; @@ -77,6 +69,10 @@ public class WolfTracker { wolfSpirits++; wolfSpiritsSession++; ConfigHandler.writeIntConfig("wolf", "spirit", wolfSpirits); + } else if (message.contains("VERY RARE DROP! (Critical VI)")) { + wolfBooks++; + wolfBooksSession++; + ConfigHandler.writeIntConfig("wolf", "book", wolfBooks); } else if (message.contains("CRAZY RARE DROP! (Red Claw Egg)")) { rng = true; wolfEggs++; diff --git a/src/main/java/me/Danker/features/loot/ZombieTracker.java b/src/main/java/me/Danker/features/loot/ZombieTracker.java index 5914599..1d71222 100644 --- a/src/main/java/me/Danker/features/loot/ZombieTracker.java +++ b/src/main/java/me/Danker/features/loot/ZombieTracker.java @@ -18,6 +18,7 @@ public class ZombieTracker { public static int zombiePestilences; public static int zombieUndeadCatas; public static int zombieBooks; + public static int zombieBooksT7; public static int zombieBeheadeds; public static int zombieRevCatas; public static int zombieSnakes; @@ -35,6 +36,7 @@ public class ZombieTracker { public static int zombiePestilencesSession = 0; public static int zombieUndeadCatasSession = 0; public static int zombieBooksSession = 0; + public static int zombieBooksT7Session = 0; public static int zombieBeheadedsSession = 0; public static int zombieRevCatasSession = 0; public static int zombieSnakesSession = 0; @@ -54,14 +56,6 @@ public class ZombieTracker { boolean rng = false; - if (message.contains("VERY RARE DROP! (Enchanted Book)") || message.contains("CRAZY RARE DROP! (Enchanted Book)")) { - if (Utils.isInScoreboard("Revenant Horror")) { - zombieBooks++; - zombieBooksSession++; - ConfigHandler.writeIntConfig("zombie", "book", zombieBooks); - } - } - if (message.contains(" Zombie Slayer LVL ")) { // Zombie zombieRevs++; zombieRevsSession++; @@ -94,6 +88,14 @@ public class ZombieTracker { zombiePestilences++; zombiePestilencesSession++; ConfigHandler.writeIntConfig("zombie", "pestilence", zombiePestilences); + } else if (message.contains("VERY RARE DROP! (Smite VI)")) { + zombieBooks++; + zombieBooksSession++; + ConfigHandler.writeIntConfig("zombie", "book", zombieBooks); + } else if (message.contains("VERY RARE DROP! (Smite VII)")) { + zombieBooksT7++; + zombieBooksT7Session++; + ConfigHandler.writeIntConfig("zombie", "bookT7", zombieBooksT7); } else if (message.contains("VERY RARE DROP! (Undead Catalyst)")) { zombieUndeadCatas++; zombieUndeadCatasSession++; diff --git a/src/main/java/me/Danker/features/puzzlesolvers/ChronomatronSolver.java b/src/main/java/me/Danker/features/puzzlesolvers/ChronomatronSolver.java index ed4adca..51ffd0d 100644 --- a/src/main/java/me/Danker/features/puzzlesolvers/ChronomatronSolver.java +++ b/src/main/java/me/Danker/features/puzzlesolvers/ChronomatronSolver.java @@ -5,7 +5,6 @@ import me.Danker.events.ChestSlotClickedEvent; import me.Danker.events.GuiChestBackgroundDrawnEvent; import me.Danker.handlers.TextRenderer; import me.Danker.utils.RenderUtils; -import me.Danker.utils.Utils; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.ScaledResolution; import net.minecraft.init.Blocks; diff --git a/src/main/java/me/Danker/features/puzzlesolvers/UltrasequencerSolver.java b/src/main/java/me/Danker/features/puzzlesolvers/UltrasequencerSolver.java index 6813b7f..a3a97b6 100644 --- a/src/main/java/me/Danker/features/puzzlesolvers/UltrasequencerSolver.java +++ b/src/main/java/me/Danker/features/puzzlesolvers/UltrasequencerSolver.java @@ -3,7 +3,6 @@ package me.Danker.features.puzzlesolvers; import me.Danker.commands.ToggleCommand; import me.Danker.events.GuiChestBackgroundDrawnEvent; import me.Danker.utils.RenderUtils; -import me.Danker.utils.Utils; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.EntityPlayerSP; import net.minecraft.client.gui.inventory.GuiChest; -- cgit From 6bc2a39f06664f55e8fe2eae06ddecb38173c6b5 Mon Sep 17 00:00:00 2001 From: bowser0000 Date: Fri, 3 Sep 2021 20:04:01 -0400 Subject: Add S+ runs and rerolls to catacombs tracker --- src/main/java/me/Danker/commands/LootCommand.java | 18 +++ .../java/me/Danker/commands/ResetLootCommand.java | 9 ++ .../me/Danker/features/loot/CatacombsTracker.java | 156 ++++++++++++++++----- .../java/me/Danker/features/loot/LootDisplay.java | 92 ++++++++---- .../java/me/Danker/handlers/ConfigHandler.java | 9 ++ 5 files changed, 218 insertions(+), 66 deletions(-) (limited to 'src/main/java/me/Danker/features/loot/LootDisplay.java') diff --git a/src/main/java/me/Danker/commands/LootCommand.java b/src/main/java/me/Danker/commands/LootCommand.java index e91c656..617a957 100644 --- a/src/main/java/me/Danker/commands/LootCommand.java +++ b/src/main/java/me/Danker/commands/LootCommand.java @@ -568,6 +568,7 @@ public class LootCommand extends CommandBase { if (showSession) { player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs F1 Summary (Current Session):\n" + + EnumChatFormatting.GOLD + " S+ Runs: " + nf.format(CatacombsTracker.f1SPlusSession) + "\n" + EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + EnumChatFormatting.BLUE + " Bonzo's Staffs: " + nf.format(CatacombsTracker.bonzoStaffsSession) + "\n" + @@ -578,6 +579,7 @@ public class LootCommand extends CommandBase { } player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs F1 Summary:\n" + + EnumChatFormatting.GOLD + " S+ Runs: " + nf.format(CatacombsTracker.f1SPlus) + "\n" + EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(CatacombsTracker.recombobulators) + "\n" + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + EnumChatFormatting.BLUE + " Bonzo's Staffs: " + nf.format(CatacombsTracker.bonzoStaffs) + "\n" + @@ -590,6 +592,7 @@ public class LootCommand extends CommandBase { if (showSession) { player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs F2 Summary (Current Session):\n" + + EnumChatFormatting.GOLD + " S+ Runs: " + nf.format(CatacombsTracker.f2SPlusSession) + "\n" + EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + EnumChatFormatting.BLUE + " Scarf's Studies: " + nf.format(CatacombsTracker.scarfStudiesSession) + "\n" + @@ -601,6 +604,7 @@ public class LootCommand extends CommandBase { } player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs F2 Summary:\n" + + EnumChatFormatting.GOLD + " S+ Runs: " + nf.format(CatacombsTracker.f2SPlus) + "\n" + EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(CatacombsTracker.recombobulators) + "\n" + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + EnumChatFormatting.BLUE + " Scarf's Studies: " + nf.format(CatacombsTracker.scarfStudies) + "\n" + @@ -614,6 +618,7 @@ public class LootCommand extends CommandBase { if (showSession) { player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs F3 Summary (Current Session):\n" + + EnumChatFormatting.GOLD + " S+ Runs: " + nf.format(CatacombsTracker.f3SPlusSession) + "\n" + EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + EnumChatFormatting.DARK_PURPLE + " Adaptive Helmets: " + nf.format(CatacombsTracker.adaptiveHelmsSession) + "\n" + @@ -627,6 +632,7 @@ public class LootCommand extends CommandBase { } player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs F3 Summary:\n" + + EnumChatFormatting.GOLD + " S+ Runs: " + nf.format(CatacombsTracker.f3SPlus) + "\n" + EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(CatacombsTracker.recombobulators) + "\n" + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + EnumChatFormatting.DARK_PURPLE + " Adaptive Helmets: " + nf.format(CatacombsTracker.adaptiveHelms) + "\n" + @@ -642,6 +648,7 @@ public class LootCommand extends CommandBase { if (showSession) { player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs F4 Summary (Current Session):\n" + + EnumChatFormatting.GOLD + " S+ Runs: " + nf.format(CatacombsTracker.f4SPlusSession) + "\n" + EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + EnumChatFormatting.DARK_PURPLE + " Spirit Wings: " + nf.format(CatacombsTracker.spiritWingsSession) + "\n" + @@ -658,6 +665,7 @@ public class LootCommand extends CommandBase { } player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs F4 Summary:\n" + + EnumChatFormatting.GOLD + " S+ Runs: " + nf.format(CatacombsTracker.f4SPlus) + "\n" + EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(CatacombsTracker.recombobulators) + "\n" + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + EnumChatFormatting.DARK_PURPLE + " Spirit Wings: " + nf.format(CatacombsTracker.spiritWings) + "\n" + @@ -676,6 +684,7 @@ public class LootCommand extends CommandBase { if (showSession) { player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs F5 Summary (Current Session):\n" + + EnumChatFormatting.GOLD + " S+ Runs: " + nf.format(CatacombsTracker.f5SPlusSession) + "\n" + EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + EnumChatFormatting.BLUE + " Warped Stones: " + nf.format(CatacombsTracker.warpedStonesSession) + "\n" + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + @@ -693,6 +702,7 @@ public class LootCommand extends CommandBase { } player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs F5 Summary:\n" + + EnumChatFormatting.GOLD + " S+ Runs: " + nf.format(CatacombsTracker.f5SPlus) + "\n" + EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(CatacombsTracker.recombobulators) + "\n" + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + EnumChatFormatting.BLUE + " Warped Stones: " + nf.format(CatacombsTracker.warpedStones) + "\n" + @@ -712,6 +722,7 @@ public class LootCommand extends CommandBase { if (showSession) { player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs F6 Summary (Current Session):\n" + + EnumChatFormatting.GOLD + " S+ Runs: " + nf.format(CatacombsTracker.f6SPlusSession) + "\n" + EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + EnumChatFormatting.BLUE + " Ancient Roses: " + nf.format(CatacombsTracker.ancientRosesSession) + "\n" + @@ -722,6 +733,7 @@ public class LootCommand extends CommandBase { EnumChatFormatting.GOLD + " Necro Lord Leggings: " + nf.format(CatacombsTracker.necroLordLegsSession) + "\n" + EnumChatFormatting.GOLD + " Necro Lord Boots: " + nf.format(CatacombsTracker.necroLordBootsSession) + "\n" + EnumChatFormatting.GOLD + " Necro Swords: " + nf.format(CatacombsTracker.necroSwordsSession) + "\n" + + EnumChatFormatting.WHITE + " Rerolls: " + nf.format(CatacombsTracker.f6RerollsSession) + "\n" + EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(CatacombsTracker.f6CoinsSpentSession) + "\n" + EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, CatacombsTracker.f6TimeSpentSession) + "\n" + EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " -------------------")); @@ -729,6 +741,7 @@ public class LootCommand extends CommandBase { } player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs F6 Summary:\n" + + EnumChatFormatting.GOLD + " S+ Runs: " + nf.format(CatacombsTracker.f6SPlus) + "\n" + EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(CatacombsTracker.recombobulators) + "\n" + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + EnumChatFormatting.BLUE + " Ancient Roses: " + nf.format(CatacombsTracker.ancientRoses) + "\n" + @@ -739,6 +752,7 @@ public class LootCommand extends CommandBase { EnumChatFormatting.GOLD + " Necro Lord Leggings: " + nf.format(CatacombsTracker.necroLordLegs) + "\n" + EnumChatFormatting.GOLD + " Necro Lord Boots: " + nf.format(CatacombsTracker.necroLordBoots) + "\n" + EnumChatFormatting.GOLD + " Necro Swords: " + nf.format(CatacombsTracker.necroSwords) + "\n" + + EnumChatFormatting.WHITE + " Rerolls: " + nf.format(CatacombsTracker.f6Rerolls) + "\n" + EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(CatacombsTracker.f6CoinsSpent) + "\n" + EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, CatacombsTracker.f6TimeSpent) + "\n" + EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " -------------------")); @@ -748,6 +762,7 @@ public class LootCommand extends CommandBase { if (showSession) { player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs F7 Summary (Current Session):\n" + + EnumChatFormatting.GOLD + " S+ Runs: " + nf.format(CatacombsTracker.f7SPlusSession) + "\n" + EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + EnumChatFormatting.DARK_PURPLE + " Wither Bloods: " + nf.format(CatacombsTracker.witherBloodsSession) + "\n" + @@ -761,6 +776,7 @@ public class LootCommand extends CommandBase { EnumChatFormatting.GOLD + " Wither Chesplates: " + nf.format(CatacombsTracker.witherChestsSession) + "\n" + EnumChatFormatting.GOLD + " Wither Leggings: " + nf.format(CatacombsTracker.witherLegsSession) + "\n" + EnumChatFormatting.GOLD + " Wither Boots: " + nf.format(CatacombsTracker.witherBootsSession) + "\n" + + EnumChatFormatting.WHITE + " Rerolls: " + nf.format(CatacombsTracker.f7RerollsSession) + "\n" + EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(CatacombsTracker.f7CoinsSpentSession) + "\n" + EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, CatacombsTracker.f7TimeSpentSession) + "\n" + EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " -------------------")); @@ -768,6 +784,7 @@ public class LootCommand extends CommandBase { } player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs F7 Summary:\n" + + EnumChatFormatting.GOLD + " S+ Runs: " + nf.format(CatacombsTracker.f7SPlus) + "\n" + EnumChatFormatting.GOLD + " Recombobulator 3000s: " + nf.format(CatacombsTracker.recombobulators) + "\n" + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + EnumChatFormatting.DARK_PURPLE + " Wither Bloods: " + nf.format(CatacombsTracker.witherBloods) + "\n" + @@ -781,6 +798,7 @@ public class LootCommand extends CommandBase { EnumChatFormatting.GOLD + " Wither Chesplates: " + nf.format(CatacombsTracker.witherChests) + "\n" + EnumChatFormatting.GOLD + " Wither Leggings: " + nf.format(CatacombsTracker.witherLegs) + "\n" + EnumChatFormatting.GOLD + " Wither Boots: " + nf.format(CatacombsTracker.witherBoots) + "\n" + + EnumChatFormatting.WHITE + " Rerolls: " + nf.format(CatacombsTracker.f7Rerolls) + "\n" + EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(CatacombsTracker.f7CoinsSpent) + "\n" + EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, CatacombsTracker.f7TimeSpent) + "\n" + EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " -------------------")); diff --git a/src/main/java/me/Danker/commands/ResetLootCommand.java b/src/main/java/me/Danker/commands/ResetLootCommand.java index f64ceb1..2c5c947 100644 --- a/src/main/java/me/Danker/commands/ResetLootCommand.java +++ b/src/main/java/me/Danker/commands/ResetLootCommand.java @@ -260,12 +260,15 @@ public class ResetLootCommand extends CommandBase { static void resetCatacombs() { CatacombsTracker.recombobulatorsSession = 0; CatacombsTracker.fumingPotatoBooksSession = 0; + CatacombsTracker.f1SPlusSession = 0; CatacombsTracker.bonzoStaffsSession = 0; CatacombsTracker.f1CoinsSpentSession = 0; CatacombsTracker.f1TimeSpentSession = 0; + CatacombsTracker.f2SPlusSession = 0; CatacombsTracker.scarfStudiesSession = 0; CatacombsTracker.f2CoinsSpentSession = 0; CatacombsTracker.f2TimeSpentSession = 0; + CatacombsTracker.f3SPlusSession = 0; CatacombsTracker.adaptiveHelmsSession = 0; CatacombsTracker.adaptiveChestsSession = 0; CatacombsTracker.adaptiveLegsSession = 0; @@ -273,6 +276,7 @@ public class ResetLootCommand extends CommandBase { CatacombsTracker.adaptiveSwordsSession = 0; CatacombsTracker.f3CoinsSpentSession = 0; CatacombsTracker.f3TimeSpentSession = 0; + CatacombsTracker.f4SPlusSession = 0; CatacombsTracker.spiritWingsSession = 0; CatacombsTracker.spiritBonesSession = 0; CatacombsTracker.spiritBootsSession = 0; @@ -280,6 +284,7 @@ public class ResetLootCommand extends CommandBase { CatacombsTracker.epicSpiritPetsSession = 0; CatacombsTracker.f4CoinsSpentSession = 0; CatacombsTracker.f4TimeSpentSession = 0; + CatacombsTracker.f5SPlusSession = 0; CatacombsTracker.warpedStonesSession = 0; CatacombsTracker.shadowAssHelmsSession = 0; CatacombsTracker.shadowAssChestsSession = 0; @@ -289,6 +294,7 @@ public class ResetLootCommand extends CommandBase { CatacombsTracker.shadowFurysSession = 0; CatacombsTracker.f5CoinsSpentSession = 0; CatacombsTracker.f5TimeSpentSession = 0; + CatacombsTracker.f6SPlusSession = 0; CatacombsTracker.ancientRosesSession = 0; CatacombsTracker.precursorEyesSession = 0; CatacombsTracker.giantsSwordsSession = 0; @@ -297,8 +303,10 @@ public class ResetLootCommand extends CommandBase { CatacombsTracker.necroLordLegsSession = 0; CatacombsTracker.necroLordBootsSession = 0; CatacombsTracker.necroSwordsSession = 0; + CatacombsTracker.f6RerollsSession = 0; CatacombsTracker.f6CoinsSpentSession = 0; CatacombsTracker.f6TimeSpentSession = 0; + CatacombsTracker.f7SPlusSession = 0; CatacombsTracker.witherBloodsSession = 0; CatacombsTracker.witherCloaksSession = 0; CatacombsTracker.implosionsSession = 0; @@ -310,6 +318,7 @@ public class ResetLootCommand extends CommandBase { CatacombsTracker.witherChestsSession = 0; CatacombsTracker.witherLegsSession = 0; CatacombsTracker.witherBootsSession = 0; + CatacombsTracker.f7RerollsSession = 0; CatacombsTracker.f7CoinsSpentSession = 0; CatacombsTracker.f7TimeSpentSession = 0; ConfigHandler.deleteCategory("catacombs"); diff --git a/src/main/java/me/Danker/features/loot/CatacombsTracker.java b/src/main/java/me/Danker/features/loot/CatacombsTracker.java index 9de197c..a581db5 100644 --- a/src/main/java/me/Danker/features/loot/CatacombsTracker.java +++ b/src/main/java/me/Danker/features/loot/CatacombsTracker.java @@ -18,15 +18,18 @@ public class CatacombsTracker { public static int recombobulators; public static int fumingPotatoBooks; // F1 + public static int f1SPlus; public static int bonzoStaffs; public static double f1CoinsSpent; public static double f1TimeSpent; // F2 + public static int f2SPlus; public static int scarfStudies; public static int adaptiveSwords; public static double f2CoinsSpent; public static double f2TimeSpent; // F3 + public static int f3SPlus; public static int adaptiveHelms; public static int adaptiveChests; public static int adaptiveLegs; @@ -34,6 +37,7 @@ public class CatacombsTracker { public static double f3CoinsSpent; public static double f3TimeSpent; // F4 + public static int f4SPlus; public static int spiritWings; public static int spiritBones; public static int spiritBoots; @@ -44,6 +48,7 @@ public class CatacombsTracker { public static double f4CoinsSpent; public static double f4TimeSpent; // F5 + public static int f5SPlus; public static int warpedStones; public static int shadowAssHelms; public static int shadowAssChests; @@ -55,6 +60,7 @@ public class CatacombsTracker { public static double f5CoinsSpent; public static double f5TimeSpent; // F6 + public static int f6SPlus; public static int ancientRoses; public static int precursorEyes; public static int giantsSwords; @@ -63,9 +69,11 @@ public class CatacombsTracker { public static int necroLordLegs; public static int necroLordBoots; public static int necroSwords; + public static int f6Rerolls; public static double f6CoinsSpent; public static double f6TimeSpent; // F7 + public static int f7SPlus; public static int witherBloods; public static int witherCloaks; public static int implosions; @@ -77,6 +85,7 @@ public class CatacombsTracker { public static int witherChests; public static int witherLegs; public static int witherBoots; + public static int f7Rerolls; public static double f7CoinsSpent; public static double f7TimeSpent; @@ -84,15 +93,18 @@ public class CatacombsTracker { public static int recombobulatorsSession = 0; public static int fumingPotatoBooksSession = 0; // F1 + public static int f1SPlusSession = 0; public static int bonzoStaffsSession = 0; public static double f1CoinsSpentSession = 0; public static double f1TimeSpentSession = 0; // F2 + public static int f2SPlusSession = 0; public static int scarfStudiesSession = 0; public static int adaptiveSwordsSession = 0; public static double f2CoinsSpentSession = 0; public static double f2TimeSpentSession = 0; // F3 + public static int f3SPlusSession = 0; public static int adaptiveHelmsSession = 0; public static int adaptiveChestsSession = 0; public static int adaptiveLegsSession = 0; @@ -100,6 +112,7 @@ public class CatacombsTracker { public static double f3CoinsSpentSession = 0; public static double f3TimeSpentSession = 0; // F4 + public static int f4SPlusSession = 0; public static int spiritWingsSession = 0; public static int spiritBonesSession = 0; public static int spiritBootsSession = 0; @@ -110,6 +123,7 @@ public class CatacombsTracker { public static double f4CoinsSpentSession = 0; public static double f4TimeSpentSession = 0; // F5 + public static int f5SPlusSession = 0; public static int warpedStonesSession = 0; public static int shadowAssHelmsSession = 0; public static int shadowAssChestsSession = 0; @@ -121,6 +135,7 @@ public class CatacombsTracker { public static double f5CoinsSpentSession = 0; public static double f5TimeSpentSession = 0; // F6 + public static int f6SPlusSession = 0; public static int ancientRosesSession = 0; public static int precursorEyesSession = 0; public static int giantsSwordsSession = 0; @@ -129,9 +144,11 @@ public class CatacombsTracker { public static int necroLordLegsSession = 0; public static int necroLordBootsSession = 0; public static int necroSwordsSession = 0; + public static int f6RerollsSession = 0; public static double f6CoinsSpentSession = 0; public static double f6TimeSpentSession = 0; // F7 + public static int f7SPlusSession = 0; public static int witherBloodsSession = 0; public static int witherCloaksSession = 0; public static int implosionsSession = 0; @@ -143,6 +160,7 @@ public class CatacombsTracker { public static int witherChestsSession = 0; public static int witherLegsSession = 0; public static int witherBootsSession = 0; + public static int f7RerollsSession = 0; public static double f7CoinsSpentSession = 0; public static double f7TimeSpentSession = 0; @@ -152,6 +170,45 @@ public class CatacombsTracker { if (!Utils.inSkyblock) return; if (event.type == 2) return; + + if (message.contains(" Team Score: ") && message.contains("(S+)")) { + List scoreboard = ScoreboardHandler.getSidebarLines(); + for (String s : scoreboard) { + String sCleaned = ScoreboardHandler.cleanSB(s); + if (sCleaned.contains("The Catacombs (")) { + if (sCleaned.contains("F1")) { + f1SPlus++; + f1SPlusSession++; + ConfigHandler.writeDoubleConfig("catacombs", "floorOneSPlus", f1SPlus); + } else if (sCleaned.contains("F2")) { + f2SPlus++; + f2SPlusSession++; + ConfigHandler.writeDoubleConfig("catacombs", "floorTwoSPlus", f2SPlus); + } else if (sCleaned.contains("F3")) { + f3SPlus++; + f3SPlusSession++; + ConfigHandler.writeDoubleConfig("catacombs", "floorThreeSPlus", f3SPlus); + } else if (sCleaned.contains("F4")) { + f4SPlus++; + f4SPlusSession++; + ConfigHandler.writeDoubleConfig("catacombs", "floorFourSPlus", f4SPlus); + } else if (sCleaned.contains("F5")) { + f5SPlus++; + f5SPlusSession++; + ConfigHandler.writeDoubleConfig("catacombs", "floorFiveSPlus", f5SPlus); + } else if (sCleaned.contains("F6")) { + f6SPlus++; + f6SPlusSession++; + ConfigHandler.writeDoubleConfig("catacombs", "floorSixSPlus", f6SPlus); + } else if (sCleaned.contains("F7")) { + f7SPlus++; + f7SPlusSession++; + ConfigHandler.writeDoubleConfig("catacombs", "floorSevenSPlus", f7SPlus); + } + } + } + } + if (message.contains(":")) return; if (message.contains(" ")) { @@ -382,47 +439,70 @@ public class CatacombsTracker { public void onSlotClick(ChestSlotClickedEvent event) { ItemStack item = event.item; - if (event.inventoryName.endsWith(" Chest") && item != null && item.getDisplayName().contains("Open Reward Chest")) { - List tooltip = item.getTooltip(Minecraft.getMinecraft().thePlayer, Minecraft.getMinecraft().gameSettings.advancedItemTooltips); - for (String lineUnclean : tooltip) { - String line = StringUtils.stripControlCodes(lineUnclean); - if (line.contains("FREE")) { - break; - } else if (line.contains(" Coins")) { - int coinsSpent = Integer.parseInt(line.substring(0, line.indexOf(" ")).replaceAll(",", "")); + if (event.inventoryName.endsWith(" Chest") && item != null) { + if (item.getDisplayName().contains("Open Reward Chest")) { + List tooltip = item.getTooltip(Minecraft.getMinecraft().thePlayer, Minecraft.getMinecraft().gameSettings.advancedItemTooltips); + for (String lineUnclean : tooltip) { + String line = StringUtils.stripControlCodes(lineUnclean); + if (line.contains("FREE")) { + break; + } else if (line.contains(" Coins") && !line.contains("NOTE:")) { + int coinsSpent = Integer.parseInt(line.substring(0, line.indexOf(" ")).replaceAll(",", "")); - if (Utils.isInScoreboard("The Catacombs (")) { - if (Utils.isInScoreboard("F1")) { - f1CoinsSpent += coinsSpent; - f1CoinsSpentSession += coinsSpent; - ConfigHandler.writeDoubleConfig("catacombs", "floorOneCoins", f1CoinsSpent); - } else if (Utils.isInScoreboard("F2")) { - f2CoinsSpent += coinsSpent; - f2CoinsSpentSession += coinsSpent; - ConfigHandler.writeDoubleConfig("catacombs", "floorTwoCoins", f2CoinsSpent); - } else if (Utils.isInScoreboard("F3")) { - f3CoinsSpent += coinsSpent; - f3CoinsSpentSession += coinsSpent; - ConfigHandler.writeDoubleConfig("catacombs", "floorThreeCoins", f3CoinsSpent); - } else if (Utils.isInScoreboard("F4")) { - f4CoinsSpent += coinsSpent; - f4CoinsSpentSession += coinsSpent; - ConfigHandler.writeDoubleConfig("catacombs", "floorFourCoins", f4CoinsSpent); - } else if (Utils.isInScoreboard("F5")) { - f5CoinsSpent += coinsSpent; - f5CoinsSpentSession += coinsSpent; - ConfigHandler.writeDoubleConfig("catacombs", "floorFiveCoins", f5CoinsSpent); - } else if (Utils.isInScoreboard("F6")) { - f6CoinsSpent += coinsSpent; - f6CoinsSpentSession += coinsSpent; - ConfigHandler.writeDoubleConfig("catacombs", "floorSixCoins", f6CoinsSpent); - } else if (Utils.isInScoreboard("F7")) { - f7CoinsSpent += coinsSpent; - f7CoinsSpentSession += coinsSpent; - ConfigHandler.writeDoubleConfig("catacombs", "floorSevenCoins", f7CoinsSpent); + List scoreboard = ScoreboardHandler.getSidebarLines(); + for (String s : scoreboard) { + String sCleaned = ScoreboardHandler.cleanSB(s); + if (sCleaned.contains("The Catacombs (")) { + if (sCleaned.contains("F1")) { + f1CoinsSpent += coinsSpent; + f1CoinsSpentSession += coinsSpent; + ConfigHandler.writeDoubleConfig("catacombs", "floorOneCoins", f1CoinsSpent); + } else if (sCleaned.contains("F2")) { + f2CoinsSpent += coinsSpent; + f2CoinsSpentSession += coinsSpent; + ConfigHandler.writeDoubleConfig("catacombs", "floorTwoCoins", f2CoinsSpent); + } else if (sCleaned.contains("F3")) { + f3CoinsSpent += coinsSpent; + f3CoinsSpentSession += coinsSpent; + ConfigHandler.writeDoubleConfig("catacombs", "floorThreeCoins", f3CoinsSpent); + } else if (sCleaned.contains("F4")) { + f4CoinsSpent += coinsSpent; + f4CoinsSpentSession += coinsSpent; + ConfigHandler.writeDoubleConfig("catacombs", "floorFourCoins", f4CoinsSpent); + } else if (sCleaned.contains("F5")) { + f5CoinsSpent += coinsSpent; + f5CoinsSpentSession += coinsSpent; + ConfigHandler.writeDoubleConfig("catacombs", "floorFiveCoins", f5CoinsSpent); + } else if (sCleaned.contains("F6")) { + f6CoinsSpent += coinsSpent; + f6CoinsSpentSession += coinsSpent; + ConfigHandler.writeDoubleConfig("catacombs", "floorSixCoins", f6CoinsSpent); + } else if (sCleaned.contains("F7")) { + f7CoinsSpent += coinsSpent; + f7CoinsSpentSession += coinsSpent; + ConfigHandler.writeDoubleConfig("catacombs", "floorSevenCoins", f7CoinsSpent); + } + } + break; + } + } + } + } else if (item.getDisplayName().contains("Reroll Chest")) { + List scoreboard = ScoreboardHandler.getSidebarLines(); + for (String s : scoreboard) { + String sCleaned = ScoreboardHandler.cleanSB(s); + if (sCleaned.contains("The Catacombs (")) { + if (sCleaned.contains("F6")) { + f6Rerolls++; + f6RerollsSession++; + ConfigHandler.writeDoubleConfig("catacombs", "floorSixRerolls", f6Rerolls); + } else if (sCleaned.contains("F7")) { + f7Rerolls++; + f7RerollsSession++; + ConfigHandler.writeDoubleConfig("catacombs", "floorSevenRerolls", f7Rerolls); } + break; } - break; } } } diff --git a/src/main/java/me/Danker/features/loot/LootDisplay.java b/src/main/java/me/Danker/features/loot/LootDisplay.java index b1c584d..d7a5f74 100644 --- a/src/main/java/me/Danker/features/loot/LootDisplay.java +++ b/src/main/java/me/Danker/features/loot/LootDisplay.java @@ -725,37 +725,43 @@ public class LootDisplay { EnumChatFormatting.GOLD + nf.format(MythologicalTracker.minosInquisitorsSession); break; case "catacombs_floor_one": - dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" + + dropsText = EnumChatFormatting.GOLD + "S+ Runs:\n" + + EnumChatFormatting.GOLD + "Recombobulators:\n" + EnumChatFormatting.DARK_PURPLE + "Fuming Potato Books:\n" + EnumChatFormatting.BLUE + "Bonzo's Staffs:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + EnumChatFormatting.AQUA + "Time Spent:"; - countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulators) + "\n" + + countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.f1SPlus) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulators) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + EnumChatFormatting.BLUE + nf.format(CatacombsTracker.bonzoStaffs) + "\n" + EnumChatFormatting.AQUA + Utils.getMoneySpent(CatacombsTracker.f1CoinsSpent) + "\n" + EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.f1TimeSpent); break; case "catacombs_floor_one_session": - dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" + + dropsText = EnumChatFormatting.GOLD + "S+ Runs:\n" + + EnumChatFormatting.GOLD + "Recombobulators:\n" + EnumChatFormatting.DARK_PURPLE + "Fuming Potato Books:\n" + EnumChatFormatting.BLUE + "Bonzo's Staffs:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + EnumChatFormatting.AQUA + "Time Spent:"; - countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + + countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.f1SPlusSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + EnumChatFormatting.BLUE + nf.format(CatacombsTracker.bonzoStaffsSession) + "\n" + EnumChatFormatting.AQUA + Utils.getMoneySpent(CatacombsTracker.f1CoinsSpentSession) + "\n" + EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.f1TimeSpentSession); break; case "catacombs_floor_two": - dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" + + dropsText = EnumChatFormatting.GOLD + "S+ Runs:\n" + + EnumChatFormatting.GOLD + "Recombobulators:\n" + EnumChatFormatting.DARK_PURPLE + "Fuming Potato Books:\n" + EnumChatFormatting.BLUE + "Scarf's Studies:\n" + EnumChatFormatting.DARK_PURPLE + "Adaptive Blades:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + EnumChatFormatting.AQUA + "Time Spent:"; - countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulators) + "\n" + + countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.f2SPlus) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulators) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + EnumChatFormatting.BLUE + nf.format(CatacombsTracker.scarfStudies) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.adaptiveSwords) + "\n" + @@ -763,13 +769,15 @@ public class LootDisplay { EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.f2TimeSpent); break; case "catacombs_floor_two_session": - dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" + + dropsText = EnumChatFormatting.GOLD + "S+ Runs:\n" + + EnumChatFormatting.GOLD + "Recombobulators:\n" + EnumChatFormatting.DARK_PURPLE + "Fuming Potato Books:\n" + EnumChatFormatting.BLUE + "Scarf's Studies:\n" + EnumChatFormatting.DARK_PURPLE + "Adaptive Blades:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + EnumChatFormatting.AQUA + "Time Spent:"; - countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + + countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.f2SPlusSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + EnumChatFormatting.BLUE + nf.format(CatacombsTracker.scarfStudiesSession) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.adaptiveSwordsSession) + "\n" + @@ -777,7 +785,8 @@ public class LootDisplay { EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.f2TimeSpentSession); break; case "catacombs_floor_three": - dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" + + dropsText = EnumChatFormatting.GOLD + "S+ Runs:\n" + + EnumChatFormatting.GOLD + "Recombobulators:\n" + EnumChatFormatting.DARK_PURPLE + "Fuming Potato Books:\n" + EnumChatFormatting.DARK_PURPLE + "Adaptive Helmets:\n" + EnumChatFormatting.DARK_PURPLE + "Adaptive Chestplates:\n" + @@ -785,7 +794,8 @@ public class LootDisplay { EnumChatFormatting.DARK_PURPLE + "Adaptive Boots:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + EnumChatFormatting.AQUA + "Time Spent:"; - countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulators) + "\n" + + countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.f3SPlus) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulators) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.adaptiveHelms) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.adaptiveChests) + "\n" + @@ -795,7 +805,8 @@ public class LootDisplay { EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.f3TimeSpent); break; case "catacombs_floor_three_session": - dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" + + dropsText = EnumChatFormatting.GOLD + "S+ Runs:\n" + + EnumChatFormatting.GOLD + "Recombobulators:\n" + EnumChatFormatting.DARK_PURPLE + "Fuming Potato Books:\n" + EnumChatFormatting.DARK_PURPLE + "Adaptive Helmets:\n" + EnumChatFormatting.DARK_PURPLE + "Adaptive Chestplates:\n" + @@ -803,7 +814,8 @@ public class LootDisplay { EnumChatFormatting.DARK_PURPLE + "Adaptive Boots:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + EnumChatFormatting.AQUA + "Time Spent:"; - countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + + countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.f3SPlusSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.adaptiveHelmsSession) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.adaptiveChestsSession) + "\n" + @@ -813,7 +825,8 @@ public class LootDisplay { EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.f3TimeSpentSession); break; case "catacombs_floor_four": - dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" + + dropsText = EnumChatFormatting.GOLD + "S+ Runs:\n" + + EnumChatFormatting.GOLD + "Recombobulators:\n" + EnumChatFormatting.DARK_PURPLE + "Fuming Potato Books:\n" + EnumChatFormatting.DARK_PURPLE + "Spirit Wings:\n" + EnumChatFormatting.DARK_PURPLE + "Spirit Bones:\n" + @@ -824,7 +837,8 @@ public class LootDisplay { EnumChatFormatting.GOLD + "Leg Spirit Pets:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + EnumChatFormatting.AQUA + "Time Spent:"; - countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulators) + "\n" + + countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.f4SPlus) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulators) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.spiritWings) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.spiritBones) + "\n" + @@ -837,7 +851,8 @@ public class LootDisplay { EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.f4TimeSpent); break; case "catacombs_floor_four_session": - dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" + + dropsText = EnumChatFormatting.GOLD + "S+ Runs:\n" + + EnumChatFormatting.GOLD + "Recombobulators:\n" + EnumChatFormatting.DARK_PURPLE + "Fuming Potato Books:\n" + EnumChatFormatting.DARK_PURPLE + "Spirit Wings:\n" + EnumChatFormatting.DARK_PURPLE + "Spirit Bones:\n" + @@ -848,7 +863,8 @@ public class LootDisplay { EnumChatFormatting.GOLD + "Leg Spirit Pets:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + EnumChatFormatting.AQUA + "Time Spent:"; - countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + + countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.f4SPlusSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.spiritWingsSession) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.spiritBonesSession) + "\n" + @@ -861,7 +877,8 @@ public class LootDisplay { EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.f4TimeSpentSession); break; case "catacombs_floor_five": - dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" + + dropsText = EnumChatFormatting.GOLD + "S+ Runs:\n" + + EnumChatFormatting.GOLD + "Recombobulators:\n" + EnumChatFormatting.DARK_PURPLE + "Fuming Potato Books:\n" + EnumChatFormatting.BLUE + "Warped Stones:\n" + EnumChatFormatting.DARK_PURPLE + "Shadow Helmets:\n" + @@ -873,7 +890,8 @@ public class LootDisplay { EnumChatFormatting.GOLD + "Shadow Furys:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + EnumChatFormatting.AQUA + "Time Spent:"; - countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulators) + "\n" + + countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.f5SPlus) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulators) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + EnumChatFormatting.BLUE + nf.format(CatacombsTracker.warpedStones) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.shadowAssHelms) + "\n" + @@ -887,7 +905,8 @@ public class LootDisplay { EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.f5TimeSpent); break; case "catacombs_floor_five_session": - dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" + + dropsText = EnumChatFormatting.GOLD + "S+ Runs:\n" + + EnumChatFormatting.GOLD + "Recombobulators:\n" + EnumChatFormatting.DARK_PURPLE + "Fuming Potato Books:\n" + EnumChatFormatting.BLUE + "Warped Stones:\n" + EnumChatFormatting.DARK_PURPLE + "Shadow Helmets:\n" + @@ -899,7 +918,8 @@ public class LootDisplay { EnumChatFormatting.GOLD + "Shadow Furys:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + EnumChatFormatting.AQUA + "Time Spent:"; - countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + + countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.f5SPlusSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + EnumChatFormatting.BLUE + nf.format(CatacombsTracker.warpedStonesSession) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.shadowAssHelmsSession) + "\n" + @@ -913,7 +933,8 @@ public class LootDisplay { EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.f5TimeSpentSession); break; case "catacombs_floor_six": - dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" + + dropsText = EnumChatFormatting.GOLD + "S+ Runs:\n" + + EnumChatFormatting.GOLD + "Recombobulators:\n" + EnumChatFormatting.DARK_PURPLE + "Fuming Potato Books:\n" + EnumChatFormatting.BLUE + "Ancient Roses:\n" + EnumChatFormatting.GOLD + "Precursor Eyes:\n" + @@ -923,9 +944,11 @@ public class LootDisplay { EnumChatFormatting.GOLD + "Necro Lord Leggings:\n" + EnumChatFormatting.GOLD + "Necro Lord Boots:\n" + EnumChatFormatting.GOLD + "Necro Swords:\n" + + EnumChatFormatting.WHITE + "Rerolls:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + EnumChatFormatting.AQUA + "Time Spent:"; - countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulators) + "\n" + + countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.f6SPlus) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulators) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + EnumChatFormatting.BLUE + nf.format(CatacombsTracker.ancientRoses) + "\n" + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.precursorEyes) + "\n" + @@ -935,11 +958,13 @@ public class LootDisplay { EnumChatFormatting.GOLD + nf.format(CatacombsTracker.necroLordLegs) + "\n" + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.necroLordBoots) + "\n" + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.necroSwords) + "\n" + + EnumChatFormatting.WHITE + nf.format(CatacombsTracker.f6Rerolls) + "\n" + EnumChatFormatting.AQUA + Utils.getMoneySpent(CatacombsTracker.f6CoinsSpent) + "\n" + EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.f6TimeSpent); break; case "catacombs_floor_six_session": - dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" + + dropsText = EnumChatFormatting.GOLD + "S+ Runs:\n" + + EnumChatFormatting.GOLD + "Recombobulators:\n" + EnumChatFormatting.DARK_PURPLE + "Fuming Potato Books:\n" + EnumChatFormatting.BLUE + "Ancient Roses:\n" + EnumChatFormatting.GOLD + "Precursor Eyes:\n" + @@ -949,9 +974,11 @@ public class LootDisplay { EnumChatFormatting.GOLD + "Necro Lord Leggings:\n" + EnumChatFormatting.GOLD + "Necro Lord Boots:\n" + EnumChatFormatting.GOLD + "Necro Swords:\n" + + EnumChatFormatting.WHITE + "Rerolls:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + EnumChatFormatting.AQUA + "Time Spent:"; - countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + + countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.f6SPlusSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + EnumChatFormatting.BLUE + nf.format(CatacombsTracker.ancientRosesSession) + "\n" + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.precursorEyesSession) + "\n" + @@ -961,11 +988,13 @@ public class LootDisplay { EnumChatFormatting.GOLD + nf.format(CatacombsTracker.necroLordLegsSession) + "\n" + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.necroLordBootsSession) + "\n" + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.necroSwordsSession) + "\n" + + EnumChatFormatting.WHITE + nf.format(CatacombsTracker.f6RerollsSession) + "\n" + EnumChatFormatting.AQUA + Utils.getMoneySpent(CatacombsTracker.f6CoinsSpentSession) + "\n" + EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.f6TimeSpentSession); break; case "catacombs_floor_seven": - dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" + + dropsText = EnumChatFormatting.GOLD + "S+ Runs:\n" + + EnumChatFormatting.GOLD + "Recombobulators:\n" + EnumChatFormatting.DARK_PURPLE + "Fuming Potato Books:\n" + EnumChatFormatting.DARK_PURPLE + "Wither Bloods:\n" + EnumChatFormatting.DARK_PURPLE + "Wither Cloaks:\n" + @@ -978,9 +1007,11 @@ public class LootDisplay { EnumChatFormatting.GOLD + "Wither Chests:\n" + EnumChatFormatting.GOLD + "Wither Leggings:\n" + EnumChatFormatting.GOLD + "Wither Boots:\n" + + EnumChatFormatting.WHITE + "Rerolls:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + EnumChatFormatting.AQUA + "Time Spent:"; - countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulators) + "\n" + + countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.f7SPlus) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulators) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.witherBloods) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.witherCloaks) + "\n" + @@ -993,11 +1024,13 @@ public class LootDisplay { EnumChatFormatting.GOLD + nf.format(CatacombsTracker.witherChests) + "\n" + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.witherLegs) + "\n" + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.witherBoots) + "\n" + + EnumChatFormatting.WHITE + nf.format(CatacombsTracker.f7Rerolls) + "\n" + EnumChatFormatting.AQUA + Utils.getMoneySpent(CatacombsTracker.f7CoinsSpent) + "\n" + EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.f7TimeSpent); break; case "catacombs_floor_seven_session": - dropsText = EnumChatFormatting.GOLD + "Recombobulators:\n" + + dropsText = EnumChatFormatting.GOLD + "S+ Runs:\n" + + EnumChatFormatting.GOLD + "Recombobulators:\n" + EnumChatFormatting.DARK_PURPLE + "Fuming Potato Books:\n" + EnumChatFormatting.DARK_PURPLE + "Wither Bloods:\n" + EnumChatFormatting.DARK_PURPLE + "Wither Cloaks:\n" + @@ -1010,9 +1043,11 @@ public class LootDisplay { EnumChatFormatting.GOLD + "Wither Chests:\n" + EnumChatFormatting.GOLD + "Wither Leggings:\n" + EnumChatFormatting.GOLD + "Wither Boots:\n" + + EnumChatFormatting.WHITE + "Rerolls:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + EnumChatFormatting.AQUA + "Time Spent:"; - countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + + countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.f7SPlusSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.witherBloodsSession) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.witherCloaksSession) + "\n" + @@ -1025,6 +1060,7 @@ public class LootDisplay { EnumChatFormatting.GOLD + nf.format(CatacombsTracker.witherChestsSession) + "\n" + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.witherLegsSession) + "\n" + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.witherBootsSession) + "\n" + + EnumChatFormatting.WHITE + nf.format(CatacombsTracker.f7RerollsSession) + "\n" + EnumChatFormatting.AQUA + Utils.getMoneySpent(CatacombsTracker.f7CoinsSpentSession) + "\n" + EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.f7TimeSpentSession); break; diff --git a/src/main/java/me/Danker/handlers/ConfigHandler.java b/src/main/java/me/Danker/handlers/ConfigHandler.java index 6655d43..5323202 100644 --- a/src/main/java/me/Danker/handlers/ConfigHandler.java +++ b/src/main/java/me/Danker/handlers/ConfigHandler.java @@ -416,14 +416,17 @@ public class ConfigHandler { CatacombsTracker.recombobulators = initInt("catacombs", "recombobulator", 0); CatacombsTracker.fumingPotatoBooks = initInt("catacombs", "fumingBooks", 0); // F1 + CatacombsTracker.f1SPlus = initInt("catacombs", "floorOneSPlus", 0); CatacombsTracker.bonzoStaffs = initInt("catacombs", "bonzoStaff", 0); CatacombsTracker.f1CoinsSpent = initDouble("catacombs", "floorOneCoins", 0); CatacombsTracker.f1TimeSpent = initDouble("catacombs", "floorOneTime", 0); // F2 + CatacombsTracker.f2SPlus = initInt("catacombs", "floorTwoSPlus", 0); CatacombsTracker.scarfStudies = initInt("catacombs", "scarfStudies", 0); CatacombsTracker.f2CoinsSpent = initDouble("catacombs", "floorTwoCoins", 0); CatacombsTracker.f2TimeSpent = initDouble("catacombs", "floorTwoTime", 0); // F3 + CatacombsTracker.f3SPlus = initInt("catacombs", "floorThreeSPlus", 0); CatacombsTracker.adaptiveHelms = initInt("catacombs", "adaptiveHelm", 0); CatacombsTracker.adaptiveChests = initInt("catacombs", "adaptiveChest", 0); CatacombsTracker.adaptiveLegs = initInt("catacombs", "adaptiveLegging", 0); @@ -432,6 +435,7 @@ public class ConfigHandler { CatacombsTracker.f3CoinsSpent = initDouble("catacombs", "floorThreeCoins", 0); CatacombsTracker.f3TimeSpent = initDouble("catacombs", "floorThreeTime", 0); // F4 + CatacombsTracker.f4SPlus = initInt("catacombs", "floorFourSPlus", 0); CatacombsTracker.spiritWings = initInt("catacombs", "spiritWing", 0); CatacombsTracker.spiritBones = initInt("catacombs", "spiritBone", 0); CatacombsTracker.spiritBoots = initInt("catacombs", "spiritBoot", 0); @@ -442,6 +446,7 @@ public class ConfigHandler { CatacombsTracker.f4CoinsSpent = initDouble("catacombs", "floorFourCoins", 0); CatacombsTracker.f4TimeSpent = initDouble("catacombs", "floorFourTime", 0); // F5 + CatacombsTracker.f5SPlus = initInt("catacombs", "floorFiveSPlus", 0); CatacombsTracker.warpedStones = initInt("catacombs", "warpedStone", 0); CatacombsTracker.shadowAssHelms = initInt("catacombs", "shadowAssassinHelm", 0); CatacombsTracker.shadowAssChests = initInt("catacombs", "shadowAssassinChest", 0); @@ -453,6 +458,7 @@ public class ConfigHandler { CatacombsTracker.f5CoinsSpent = initDouble("catacombs", "floorFiveCoins", 0); CatacombsTracker.f5TimeSpent = initDouble("catacombs", "floorFiveTime", 0); // F6 + CatacombsTracker.f6SPlus = initInt("catacombs", "floorSixSPlus", 0); CatacombsTracker.ancientRoses = initInt("catacombs", "ancientRose", 0); CatacombsTracker.precursorEyes = initInt("catacombs", "precursorEye", 0); CatacombsTracker.giantsSwords = initInt("catacombs", "giantsSword", 0); @@ -461,9 +467,11 @@ public class ConfigHandler { CatacombsTracker.necroLordLegs = initInt("catacombs", "necroLordLegging", 0); CatacombsTracker.necroLordBoots = initInt("catacombs", "necroLordBoot", 0); CatacombsTracker.necroSwords = initInt("catacombs", "necroSword", 0); + CatacombsTracker.f6Rerolls = initInt("catacombs", "floorSixRerolls", 0); CatacombsTracker.f6CoinsSpent = initDouble("catacombs", "floorSixCoins", 0); CatacombsTracker.f6TimeSpent = initDouble("catacombs", "floorSixTime", 0); // F7 + CatacombsTracker.f7SPlus = initInt("catacombs", "floorSevenSPlus", 0); CatacombsTracker.witherBloods = initInt("catacombs", "witherBlood", 0); CatacombsTracker.witherCloaks = initInt("catacombs", "witherCloak", 0); CatacombsTracker.implosions = initInt("catacombs", "implosion", 0); @@ -475,6 +483,7 @@ public class ConfigHandler { CatacombsTracker.witherChests = initInt("catacombs", "witherChest", 0); CatacombsTracker.witherLegs = initInt("catacombs", "witherLegging", 0); CatacombsTracker.witherBoots = initInt("catacombs", "witherBoot", 0); + CatacombsTracker.f7Rerolls = initInt("catacombs", "floorSevenRerolls", 0); CatacombsTracker.f7CoinsSpent = initDouble("catacombs", "floorSevenCoins", 0); CatacombsTracker.f7TimeSpent = initDouble("catacombs", "floorSevenTime", 0); -- cgit From dda83961a0922b5753c7d4dd3e239a925d3afa7a Mon Sep 17 00:00:00 2001 From: bowser0000 Date: Sun, 26 Dec 2021 21:57:22 -0500 Subject: Add master mode loot tracker --- README.md | 4 +- .../java/me/Danker/commands/DisplayCommand.java | 11 +- src/main/java/me/Danker/commands/LootCommand.java | 37 +++++- src/main/java/me/Danker/features/AutoDisplay.java | 2 + .../me/Danker/features/loot/CatacombsTracker.java | 125 ++++++++++++++++----- .../java/me/Danker/features/loot/LootDisplay.java | 48 ++++++++ src/main/java/me/Danker/gui/DisplayGui.java | 62 +++++----- .../java/me/Danker/handlers/ConfigHandler.java | 10 ++ 8 files changed, 236 insertions(+), 63 deletions(-) (limited to 'src/main/java/me/Danker/features/loot/LootDisplay.java') diff --git a/README.md b/README.md index 4b4802c..d613908 100644 --- a/README.md +++ b/README.md @@ -70,8 +70,8 @@ Discord Server: https://discord.gg/QsEkNQS - /toggle - Toggles features. /toggle list returns values of every toggle. - /setkey - Sets API key. - /getkey - Returns key set with /setkey and copies it to your clipboard. -- /loot [winter/festival/spooky/f(1-7)/session] - Returns loot received from slayer quests or fishing stats. /loot fishing winter returns winter sea creatures instead. -- /display [winter/festival/spooky/f(1-7)/session] - Text display for trackers. /display fishing winter displays winter sea creatures instead. /display auto automatically displays the loot for the slayer quest you have active. +- /loot [winter/festival/spooky/f(1-7)/mm/session] - Returns loot received from slayer quests or fishing stats. /loot fishing winter returns winter sea creatures instead. +- /display [winter/festival/spooky/f(1-7)/mm/session] - Text display for trackers. /display fishing winter displays winter sea creatures instead. /display auto automatically displays the loot for the slayer quest you have active. - /resetloot - - Resets loot for trackers. /resetloot confirm confirms the reset. - /move - Moves text display to specified X and Y coordinates. - /scale - Scales text display to a specified multipler between 0.1x and 10x. diff --git a/src/main/java/me/Danker/commands/DisplayCommand.java b/src/main/java/me/Danker/commands/DisplayCommand.java index e248888..d335a8a 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() + " [winter/festival/spooky/session/f(1-7)]"; + return "/" + getCommandName() + " [winter/festival/spooky/session/f(1-7)/mm]"; } public static String usage(ICommandSender arg0) { @@ -40,7 +40,7 @@ public class DisplayCommand extends CommandBase { } else if (args.length == 2 && args[0].equalsIgnoreCase("fishing")) { return getListOfStringsMatchingLastWord(args, "winter", "festival", "spooky", "session"); } else if (args.length == 2 && args[0].equalsIgnoreCase("catacombs")) { - return getListOfStringsMatchingLastWord(args, "f1", "floor1", "f2", "floor2", "f3", "floor3", "f4", "floor4", "f5", "floor5", "f6", "floor6", "f7", "floor7"); + return getListOfStringsMatchingLastWord(args, "f1", "floor1", "f2", "floor2", "f3", "floor3", "f4", "floor4", "f5", "floor5", "f6", "floor6", "f7", "floor7", "mm", "master"); } else if (args.length > 1) { return getListOfStringsMatchingLastWord(args, "session"); } @@ -198,6 +198,13 @@ public class DisplayCommand extends CommandBase { LootDisplay.display = "catacombs_floor_seven"; } break; + case "mm": + case "master": + if (showSession) { + LootDisplay.display = "catacombs_master_session"; + } else { + LootDisplay.display = "catacombs_master"; + } default: player.addChatMessage(new ChatComponentText(DankersSkyblockMod.ERROR_COLOUR + "Usage: /display catacombs ")); return; diff --git a/src/main/java/me/Danker/commands/LootCommand.java b/src/main/java/me/Danker/commands/LootCommand.java index 617a957..1437b36 100644 --- a/src/main/java/me/Danker/commands/LootCommand.java +++ b/src/main/java/me/Danker/commands/LootCommand.java @@ -24,7 +24,7 @@ public class LootCommand extends CommandBase { @Override public String getCommandUsage(ICommandSender arg0) { - return "/" + getCommandName() + " [winter/festival/spooky/f(1-7)/session]"; + return "/" + getCommandName() + " [winter/festival/spooky/f(1-7)/mm/session]"; } public static String usage(ICommandSender arg0) { @@ -43,7 +43,7 @@ public class LootCommand extends CommandBase { } else if (args.length == 2 && args[0].equalsIgnoreCase("fishing")) { return getListOfStringsMatchingLastWord(args, "winter", "festival", "spooky", "session"); } else if (args.length == 2 && args[0].equalsIgnoreCase("catacombs")) { - return getListOfStringsMatchingLastWord(args, "f1", "floor1", "f2", "floor2", "f3", "floor3", "f4", "floor4", "f5", "floor5", "f6", "floor6", "f7", "floor7"); + return getListOfStringsMatchingLastWord(args, "f1", "floor1", "f2", "floor2", "f3", "floor3", "f4", "floor4", "f5", "floor5", "f6", "floor6", "f7", "floor7", "mm", "master"); } else if (args.length > 1) { return getListOfStringsMatchingLastWord(args, "session"); } @@ -803,6 +803,39 @@ public class LootCommand extends CommandBase { EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, CatacombsTracker.f7TimeSpent) + "\n" + EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " -------------------")); break; + case "mm": + case "master": + if (showSession) { + player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" + + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs MM Summary (Current Session):\n" + + EnumChatFormatting.GOLD + " S Runs:" + nf.format(CatacombsTracker.masterSSession) + "\n" + + EnumChatFormatting.GOLD + " Recombobulators:" + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books:" + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " 1st Master Stars:" + nf.format(CatacombsTracker.firstStarsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " 2nd Master Stars:" + nf.format(CatacombsTracker.secondStarsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " 3rd Master Stars:" + nf.format(CatacombsTracker.thirdStarsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " 4th Master Stars:" + nf.format(CatacombsTracker.fourthStarsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " 5th Master Stars:" + nf.format(CatacombsTracker.fifthStarsSession) + "\n" + + EnumChatFormatting.WHITE + " Rerolls:" + nf.format(CatacombsTracker.masterRerollsSession) + "\n" + + EnumChatFormatting.AQUA + " Coins Spent:" + nf.format(CatacombsTracker.masterCoinsSpentSession) + "\n" + + EnumChatFormatting.AQUA + " Time Spent:" + nf.format(CatacombsTracker.masterTimeSpentSession) + "\n" + + EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " -------------------")); + return; + } + player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" + + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs MM Summary:\n" + + EnumChatFormatting.GOLD + " S Runs:" + nf.format(CatacombsTracker.masterS) + "\n" + + EnumChatFormatting.GOLD + " Recombobulators:" + nf.format(CatacombsTracker.recombobulators) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books:" + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + + EnumChatFormatting.DARK_PURPLE + " 1st Master Stars:" + nf.format(CatacombsTracker.firstStars) + "\n" + + EnumChatFormatting.DARK_PURPLE + " 2nd Master Stars:" + nf.format(CatacombsTracker.secondStars) + "\n" + + EnumChatFormatting.DARK_PURPLE + " 3rd Master Stars:" + nf.format(CatacombsTracker.thirdStars) + "\n" + + EnumChatFormatting.DARK_PURPLE + " 4th Master Stars:" + nf.format(CatacombsTracker.fourthStars) + "\n" + + EnumChatFormatting.DARK_PURPLE + " 5th Master Stars:" + nf.format(CatacombsTracker.fifthStars) + "\n" + + EnumChatFormatting.WHITE + " Rerolls:" + nf.format(CatacombsTracker.masterRerolls) + "\n" + + EnumChatFormatting.AQUA + " Coins Spent:" + nf.format(CatacombsTracker.masterCoinsSpent) + "\n" + + EnumChatFormatting.AQUA + " Time Spent:" + nf.format(CatacombsTracker.masterTimeSpent) + "\n" + + EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " -------------------")); default: player.addChatMessage(new ChatComponentText(DankersSkyblockMod.ERROR_COLOUR + "Usage: /loot catacombs ")); } diff --git a/src/main/java/me/Danker/features/AutoDisplay.java b/src/main/java/me/Danker/features/AutoDisplay.java index 89b1750..8dbe359 100644 --- a/src/main/java/me/Danker/features/AutoDisplay.java +++ b/src/main/java/me/Danker/features/AutoDisplay.java @@ -59,6 +59,8 @@ public class AutoDisplay { LootDisplay.display = "catacombs_floor_six"; } else if (sCleaned.contains("F7")) { LootDisplay.display = "catacombs_floor_seven"; + } else if (sCleaned.contains("(M")) { + LootDisplay.display = "catacombs_master"; } found = true; } diff --git a/src/main/java/me/Danker/features/loot/CatacombsTracker.java b/src/main/java/me/Danker/features/loot/CatacombsTracker.java index ddcb7d5..86770d6 100644 --- a/src/main/java/me/Danker/features/loot/CatacombsTracker.java +++ b/src/main/java/me/Danker/features/loot/CatacombsTracker.java @@ -88,6 +88,16 @@ public class CatacombsTracker { public static int f7Rerolls; public static double f7CoinsSpent; public static double f7TimeSpent; + // MM + public static int masterS; + public static int firstStars; + public static int secondStars; + public static int thirdStars; + public static int fourthStars; + public static int fifthStars; + public static int masterRerolls; + public static double masterCoinsSpent; + public static double masterTimeSpent; // Catacombs Dungeons public static int recombobulatorsSession = 0; @@ -163,6 +173,16 @@ public class CatacombsTracker { public static int f7RerollsSession = 0; public static double f7CoinsSpentSession = 0; public static double f7TimeSpentSession = 0; + // MM + public static int masterSSession = 0; + public static int firstStarsSession = 0; + public static int secondStarsSession = 0; + public static int thirdStarsSession = 0; + public static int fourthStarsSession = 0; + public static int fifthStarsSession = 0; + public static int masterRerollsSession = 0; + public static double masterCoinsSpentSession = 0; + public static double masterTimeSpentSession = 0; @SubscribeEvent public void onChat(ClientChatReceivedEvent event) { @@ -173,37 +193,48 @@ public class CatacombsTracker { if (message.contains(" Team Score: ") && message.contains("(S+)")) { List scoreboard = ScoreboardHandler.getSidebarLines(); - for (String s : scoreboard) { - String sCleaned = ScoreboardHandler.cleanSB(s); - if (sCleaned.contains("The Catacombs (")) { - if (sCleaned.contains("F1")) { - f1SPlus++; - f1SPlusSession++; - ConfigHandler.writeIntConfig("catacombs", "floorOneSPlus", f1SPlus); - } else if (sCleaned.contains("F2")) { - f2SPlus++; - f2SPlusSession++; - ConfigHandler.writeIntConfig("catacombs", "floorTwoSPlus", f2SPlus); - } else if (sCleaned.contains("F3")) { - f3SPlus++; - f3SPlusSession++; - ConfigHandler.writeIntConfig("catacombs", "floorThreeSPlus", f3SPlus); - } else if (sCleaned.contains("F4")) { - f4SPlus++; - f4SPlusSession++; - ConfigHandler.writeIntConfig("catacombs", "floorFourSPlus", f4SPlus); - } else if (sCleaned.contains("F5")) { - f5SPlus++; - f5SPlusSession++; - ConfigHandler.writeIntConfig("catacombs", "floorFiveSPlus", f5SPlus); - } else if (sCleaned.contains("F6")) { - f6SPlus++; - f6SPlusSession++; - ConfigHandler.writeIntConfig("catacombs", "floorSixSPlus", f6SPlus); - } else if (sCleaned.contains("F7")) { - f7SPlus++; - f7SPlusSession++; - ConfigHandler.writeIntConfig("catacombs", "floorSevenSPlus", f7SPlus); + if (message.contains("(S+)")) { + for (String s : scoreboard) { + String sCleaned = ScoreboardHandler.cleanSB(s); + if (sCleaned.contains("The Catacombs (")) { + if (sCleaned.contains("F1")) { + f1SPlus++; + f1SPlusSession++; + ConfigHandler.writeIntConfig("catacombs", "floorOneSPlus", f1SPlus); + } else if (sCleaned.contains("F2")) { + f2SPlus++; + f2SPlusSession++; + ConfigHandler.writeIntConfig("catacombs", "floorTwoSPlus", f2SPlus); + } else if (sCleaned.contains("F3")) { + f3SPlus++; + f3SPlusSession++; + ConfigHandler.writeIntConfig("catacombs", "floorThreeSPlus", f3SPlus); + } else if (sCleaned.contains("F4")) { + f4SPlus++; + f4SPlusSession++; + ConfigHandler.writeIntConfig("catacombs", "floorFourSPlus", f4SPlus); + } else if (sCleaned.contains("F5")) { + f5SPlus++; + f5SPlusSession++; + ConfigHandler.writeIntConfig("catacombs", "floorFiveSPlus", f5SPlus); + } else if (sCleaned.contains("F6")) { + f6SPlus++; + f6SPlusSession++; + ConfigHandler.writeIntConfig("catacombs", "floorSixSPlus", f6SPlus); + } else if (sCleaned.contains("F7")) { + f7SPlus++; + f7SPlusSession++; + ConfigHandler.writeIntConfig("catacombs", "floorSevenSPlus", f7SPlus); + } + } + } + } else if (message.contains("(S)")) { + for (String s : scoreboard) { + String sCleaned = ScoreboardHandler.cleanSB(s); + if (sCleaned.contains("The Catacombs (M")) { + masterS++; + masterSSession++; + ConfigHandler.writeIntConfig("catacombs", "masterS", masterS); } } } @@ -384,6 +415,26 @@ public class CatacombsTracker { witherBoots++; witherBootsSession++; ConfigHandler.writeIntConfig("catacombs", "witherBoot", witherBoots); + } else if (message.contains("First Master Star")) { + firstStars++; + firstStarsSession++; + ConfigHandler.writeIntConfig("catacombs", "firstStar", firstStars); + } else if (message.contains("Second Master Star")) { + secondStars++; + secondStarsSession++; + ConfigHandler.writeIntConfig("catacombs", "secondStar", secondStars); + } else if (message.contains("Third Master Star")) { + thirdStars++; + thirdStarsSession++; + ConfigHandler.writeIntConfig("catacombs", "thirdStar", thirdStars); + } else if (message.contains("Fourth Master Star")) { + fourthStars++; + fourthStarsSession++; + ConfigHandler.writeIntConfig("catacombs", "fourthStar", fourthStars); + } else if (message.contains("Fifth Master Star")) { + fifthStars++; + fifthStarsSession++; + ConfigHandler.writeIntConfig("catacombs", "fifthStar", fifthStars); } } @@ -422,6 +473,10 @@ public class CatacombsTracker { f7TimeSpent = Math.floor(f7TimeSpent + timeToAdd); f7TimeSpentSession = Math.floor(f7TimeSpentSession + timeToAdd); ConfigHandler.writeDoubleConfig("catacombs", "floorSevenTime", f7TimeSpent); + } else if (sCleaned.contains("(M")) { + masterTimeSpent = Math.floor(masterTimeSpent + timeToAdd); + masterTimeSpentSession = Math.floor(masterTimeSpentSession + timeToAdd); + ConfigHandler.writeDoubleConfig("catacombs", "masterTime", masterTimeSpent); } } else if (sCleaned.contains("Time Elapsed:")) { // Get floor time @@ -481,6 +536,10 @@ public class CatacombsTracker { f7CoinsSpent += coinsSpent; f7CoinsSpentSession += coinsSpent; ConfigHandler.writeDoubleConfig("catacombs", "floorSevenCoins", f7CoinsSpent); + } else if (sCleaned.contains("(M")) { + masterCoinsSpent += coinsSpent; + masterCoinsSpentSession += coinsSpent; + ConfigHandler.writeDoubleConfig("catacombs", "masterCoins", masterCoinsSpent); } } break; @@ -500,6 +559,10 @@ public class CatacombsTracker { f7Rerolls++; f7RerollsSession++; ConfigHandler.writeDoubleConfig("catacombs", "floorSevenRerolls", f7Rerolls); + } else if (sCleaned.contains("(M")) { + masterRerolls++; + masterRerollsSession++; + ConfigHandler.writeDoubleConfig("catacombs", "masterRerolls", masterRerolls); } break; } diff --git a/src/main/java/me/Danker/features/loot/LootDisplay.java b/src/main/java/me/Danker/features/loot/LootDisplay.java index d7a5f74..1878b47 100644 --- a/src/main/java/me/Danker/features/loot/LootDisplay.java +++ b/src/main/java/me/Danker/features/loot/LootDisplay.java @@ -1064,6 +1064,54 @@ public class LootDisplay { EnumChatFormatting.AQUA + Utils.getMoneySpent(CatacombsTracker.f7CoinsSpentSession) + "\n" + EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.f7TimeSpentSession); break; + case "catacombs_master": + dropsText = EnumChatFormatting.GOLD + "S Runs:\n" + + EnumChatFormatting.GOLD + "Recombobulators:\n" + + EnumChatFormatting.DARK_PURPLE + "Fuming Potato Books:\n" + + EnumChatFormatting.DARK_PURPLE + "1st Master Stars:\n" + + EnumChatFormatting.DARK_PURPLE + "2nd Master Stars:\n" + + EnumChatFormatting.DARK_PURPLE + "3rd Master Stars:\n" + + EnumChatFormatting.DARK_PURPLE + "4th Master Stars:\n" + + EnumChatFormatting.DARK_PURPLE + "5th Master Stars:\n" + + EnumChatFormatting.WHITE + "Rerolls:\n" + + EnumChatFormatting.AQUA + "Coins Spent:\n" + + EnumChatFormatting.AQUA + "Time Spent:"; + countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.masterS) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulators) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.firstStars) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.secondStars) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.thirdStars) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fourthStars) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fifthStars) + "\n" + + EnumChatFormatting.WHITE + nf.format(CatacombsTracker.masterRerolls) + "\n" + + EnumChatFormatting.AQUA + Utils.getMoneySpent(CatacombsTracker.masterCoinsSpent) + "\n" + + EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.masterTimeSpent); + break; + case "catacombs_master_session": + dropsText = EnumChatFormatting.GOLD + "S Runs:\n" + + EnumChatFormatting.GOLD + "Recombobulators:\n" + + EnumChatFormatting.DARK_PURPLE + "Fuming Potato Books:\n" + + EnumChatFormatting.DARK_PURPLE + "1st Master Stars:\n" + + EnumChatFormatting.DARK_PURPLE + "2nd Master Stars:\n" + + EnumChatFormatting.DARK_PURPLE + "3rd Master Stars:\n" + + EnumChatFormatting.DARK_PURPLE + "4th Master Stars:\n" + + EnumChatFormatting.DARK_PURPLE + "5th Master Stars:\n" + + EnumChatFormatting.WHITE + "Rerolls:\n" + + EnumChatFormatting.AQUA + "Coins Spent:\n" + + EnumChatFormatting.AQUA + "Time Spent:"; + countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.masterSSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.firstStarsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.secondStarsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.thirdStarsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fourthStarsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fifthStarsSession) + "\n" + + EnumChatFormatting.WHITE + nf.format(CatacombsTracker.masterRerollsSession) + "\n" + + EnumChatFormatting.AQUA + Utils.getMoneySpent(CatacombsTracker.masterCoinsSpentSession) + "\n" + + EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.masterTimeSpentSession); + break; case "ghost_session": dropsText = EnumChatFormatting.GOLD + "Bags of Cash:\n" + EnumChatFormatting.BLUE + "Sorrows:\n" + diff --git a/src/main/java/me/Danker/gui/DisplayGui.java b/src/main/java/me/Danker/gui/DisplayGui.java index c6b1381..06239b1 100644 --- a/src/main/java/me/Danker/gui/DisplayGui.java +++ b/src/main/java/me/Danker/gui/DisplayGui.java @@ -34,6 +34,7 @@ public class DisplayGui extends GuiScreen { private GuiButton catacombsF5; private GuiButton catacombsF6; private GuiButton catacombsF7; + private GuiButton catacombsMM; private GuiButton ghost; @Override @@ -63,13 +64,14 @@ public class DisplayGui extends GuiScreen { fishingSpooky = new GuiButton(0, width / 2 + 130, (int) (height * 0.4), 100, 20, "Fishing Spooky"); mythological = new GuiButton(0, width / 2 - 100, (int) (height * 0.5), 95, 20, "Mythological"); ghost = new GuiButton(0, width / 2 + 5, (int) (height * 0.5), 95, 20, "Ghost"); - catacombsF1 = new GuiButton(0, width / 2 - 205, (int) (height * 0.65), 50, 20, "F1"); - catacombsF2 = new GuiButton(0, width / 2 - 145, (int) (height * 0.65), 50, 20, "F2"); - catacombsF3 = new GuiButton(0, width / 2 - 85, (int) (height * 0.65), 50, 20, "F3"); - catacombsF4 = new GuiButton(0, width / 2 - 25, (int) (height * 0.65), 50, 20, "F4"); - catacombsF5 = new GuiButton(0, width / 2 + 35, (int) (height * 0.65), 50, 20, "F5"); - catacombsF6 = new GuiButton(0, width / 2 + 95, (int) (height * 0.65), 50, 20, "F6"); - catacombsF7 = new GuiButton(0, width / 2 + 155, (int) (height * 0.65), 50, 20, "F7"); + catacombsF1 = new GuiButton(0, width / 2 - 235, (int) (height * 0.65), 50, 20, "F1"); + catacombsF2 = new GuiButton(0, width / 2 - 175, (int) (height * 0.65), 50, 20, "F2"); + catacombsF3 = new GuiButton(0, width / 2 - 115, (int) (height * 0.65), 50, 20, "F3"); + catacombsF4 = new GuiButton(0, width / 2 - 55, (int) (height * 0.65), 50, 20, "F4"); + catacombsF5 = new GuiButton(0, width / 2 + 5, (int) (height * 0.65), 50, 20, "F5"); + catacombsF6 = new GuiButton(0, width / 2 + 65, (int) (height * 0.65), 50, 20, "F6"); + catacombsF7 = new GuiButton(0, width / 2 + 125, (int) (height * 0.65), 50, 20, "F7"); + catacombsMM = new GuiButton(0, width / 2 + 185, (int) (height * 0.65), 50, 20, "MM"); this.buttonList.add(showSession); this.buttonList.add(off); @@ -90,6 +92,7 @@ public class DisplayGui extends GuiScreen { this.buttonList.add(catacombsF5); this.buttonList.add(catacombsF6); this.buttonList.add(catacombsF7); + this.buttonList.add(catacombsMM); this.buttonList.add(ghost); this.buttonList.add(goBack); } @@ -125,44 +128,47 @@ public class DisplayGui extends GuiScreen { } else if (button == off) { setDisplay("off", true); } else if (button == zombie) { - setDisplay("zombie", false); + setDisplay("zombie"); } else if (button == spider) { - setDisplay("spider", false); + setDisplay("spider"); } else if (button == wolf) { - setDisplay("wolf", false); + setDisplay("wolf"); } else if (button == enderman) { - setDisplay("enderman", false); + setDisplay("enderman"); } else if (button == auto) { LootDisplay.auto = true; ConfigHandler.writeBooleanConfig("misc", "autoDisplay", true); } else if (button == fishing) { - setDisplay("fishing", false); + setDisplay("fishing"); } else if (button == fishingWinter) { - setDisplay("fishing_winter", false); + setDisplay("fishing_winter"); } else if (button == fishingFestival) { - setDisplay("fishing_festival", false); + setDisplay("fishing_festival"); } else if (button == fishingSpooky) { - setDisplay("fishing_spooky", false); + setDisplay("fishing_spooky"); } else if (button == mythological) { - setDisplay("mythological", false); + setDisplay("mythological"); } else if (button == catacombsF1) { - setDisplay("catacombs_floor_one", false); + setDisplay("catacombs_floor_one"); } else if (button == catacombsF2) { - setDisplay("catacombs_floor_two", false); + setDisplay("catacombs_floor_two"); } else if (button == catacombsF3) { - setDisplay("catacombs_floor_three", false); + setDisplay("catacombs_floor_three"); } else if (button == catacombsF4) { - setDisplay("catacombs_floor_four", false); + setDisplay("catacombs_floor_four"); } else if (button == catacombsF5) { - setDisplay("catacombs_floor_five", false); + setDisplay("catacombs_floor_five"); } else if (button == catacombsF6) { - setDisplay("catacombs_floor_six", false); + setDisplay("catacombs_floor_six"); } else if (button == catacombsF7) { - setDisplay("catacombs_floor_seven", false); - } else if (button == ghost) - setDisplay("ghost",false); + setDisplay("catacombs_floor_seven"); + } else if (button == catacombsMM) { + setDisplay("catacombs_master"); + } else if (button == ghost) { + setDisplay("ghost"); + } } - + public void setDisplay(String display, boolean forceNoSession) { if (!forceNoSession && addSession) display += "_session"; LootDisplay.auto = false; @@ -170,5 +176,9 @@ public class DisplayGui extends GuiScreen { ConfigHandler.writeBooleanConfig("misc", "autoDisplay", false); ConfigHandler.writeStringConfig("misc", "display", display); } + + public void setDisplay(String display) { + setDisplay(display, false); + } } diff --git a/src/main/java/me/Danker/handlers/ConfigHandler.java b/src/main/java/me/Danker/handlers/ConfigHandler.java index c785ff1..112d86d 100644 --- a/src/main/java/me/Danker/handlers/ConfigHandler.java +++ b/src/main/java/me/Danker/handlers/ConfigHandler.java @@ -504,6 +504,16 @@ public class ConfigHandler { CatacombsTracker.f7Rerolls = initInt("catacombs", "floorSevenRerolls", 0); CatacombsTracker.f7CoinsSpent = initDouble("catacombs", "floorSevenCoins", 0); CatacombsTracker.f7TimeSpent = initDouble("catacombs", "floorSevenTime", 0); + // MM + CatacombsTracker.masterS = initInt("catacombs", "masterS", 0); + CatacombsTracker.firstStars = initInt("catacombs", "firstStar", 0); + CatacombsTracker.secondStars = initInt("catacombs", "secondStar", 0); + CatacombsTracker.thirdStars = initInt("catacombs", "thirdStar", 0); + CatacombsTracker.fourthStars = initInt("catacombs", "fourthStar", 0); + CatacombsTracker.fifthStars = initInt("catacombs", "fifthStar", 0); + CatacombsTracker.masterRerolls = initInt("catacombs", "masterRerolls", 0); + CatacombsTracker.masterCoinsSpent = initDouble("catacombs", "masterCoins", 0); + CatacombsTracker.masterTimeSpent = initDouble("catacombs", "masterTime", 0); // Ghost GhostTracker.sorrows = initInt("ghosts", "sorrow", 0); -- cgit From 2b57ccad6d21b325c3164117fe14e00e13399a7c Mon Sep 17 00:00:00 2001 From: bowser0000 Date: Fri, 4 Mar 2022 13:20:20 -0500 Subject: Add CH fishing tracker Organized change display GUI Add method to make centered text rendering easier --- README.md | 6 +- .../java/me/Danker/commands/DisplayCommand.java | 11 +- .../me/Danker/commands/ImportFishingCommand.java | 116 ++++++++++++++------- src/main/java/me/Danker/commands/LootCommand.java | 28 ++++- .../java/me/Danker/commands/ResetLootCommand.java | 6 ++ .../me/Danker/features/loot/FishingTracker.java | 44 ++++++++ .../java/me/Danker/features/loot/LootDisplay.java | 44 ++++++++ src/main/java/me/Danker/gui/DankerGui.java | 4 +- src/main/java/me/Danker/gui/DisplayGui.java | 51 +++++---- src/main/java/me/Danker/gui/OnlySlayerGui.java | 4 +- src/main/java/me/Danker/gui/SkillTrackerGui.java | 6 +- src/main/java/me/Danker/gui/WarningGui.java | 16 ++- .../java/me/Danker/gui/alerts/AlertActionGui.java | 2 + src/main/java/me/Danker/gui/alerts/AlertsGui.java | 4 +- .../CrystalHollowWaypointActionGui.java | 5 +- .../CrystalHollowWaypointsGui.java | 4 +- .../java/me/Danker/handlers/ConfigHandler.java | 7 ++ src/main/java/me/Danker/utils/RenderUtils.java | 6 ++ 18 files changed, 272 insertions(+), 92 deletions(-) (limited to 'src/main/java/me/Danker/features/loot/LootDisplay.java') diff --git a/README.md b/README.md index 8e31daa..4ae2a40 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ Discord Server: https://discord.gg/QsEkNQS - Maddox menu keybind - Block starting other slayer quests - Slayer slain alert -- Fishing, jerry fishing, fishing festival, spooky fishing trackers +- Fishing, jerry fishing, fishing festival, spooky fishing, crystal hollows fishing trackers - Expertise kills in fishing rod lore - Gemstones applied in item lore - Catacombs trackers @@ -70,8 +70,8 @@ Discord Server: https://discord.gg/QsEkNQS - /toggle - Toggles features. /toggle list returns values of every toggle. - /setkey - Sets API key. - /getkey - Returns key set with /setkey and copies it to your clipboard. -- /loot [winter/festival/spooky/f(1-7)/mm/session] - Returns loot received from slayer quests or fishing stats. /loot fishing winter returns winter sea creatures instead. -- /display [winter/festival/spooky/f(1-7)/mm/session] - Text display for trackers. /display fishing winter displays winter sea creatures instead. /display auto automatically displays the loot for the slayer quest you have active. +- /loot [winter/festival/spooky/ch/f(1-7)/mm/session] - Returns loot received from slayer quests or fishing stats. /loot fishing winter returns winter sea creatures instead. +- /display [winter/festival/spooky/ch/f(1-7)/mm/session] - Text display for trackers. /display fishing winter displays winter sea creatures instead. /display auto automatically displays the loot for the slayer quest you have active. - /resetloot - - Resets loot for trackers. /resetloot confirm confirms the reset. - /move - Moves text display to specified X and Y coordinates. - /scale - Scales text display to a specified multipler between 0.1x and 10x. diff --git a/src/main/java/me/Danker/commands/DisplayCommand.java b/src/main/java/me/Danker/commands/DisplayCommand.java index d335a8a..3db6853 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() + " [winter/festival/spooky/session/f(1-7)/mm]"; + return "/" + getCommandName() + " [winter/festival/spooky/ch/session/f(1-7)/mm]"; } public static String usage(ICommandSender arg0) { @@ -38,7 +38,7 @@ public class DisplayCommand extends CommandBase { if (args.length == 1) { return getListOfStringsMatchingLastWord(args, "wolf", "spider", "zombie", "enderman", "fishing", "catacombs", "mythological", "ghost", "auto", "off"); } else if (args.length == 2 && args[0].equalsIgnoreCase("fishing")) { - return getListOfStringsMatchingLastWord(args, "winter", "festival", "spooky", "session"); + return getListOfStringsMatchingLastWord(args, "winter", "festival", "spooky", "ch", "session"); } else if (args.length == 2 && args[0].equalsIgnoreCase("catacombs")) { return getListOfStringsMatchingLastWord(args, "f1", "floor1", "f2", "floor2", "f3", "floor3", "f4", "floor4", "f5", "floor5", "f6", "floor6", "f7", "floor7", "mm", "master"); } else if (args.length > 1) { @@ -113,6 +113,13 @@ public class DisplayCommand extends CommandBase { LootDisplay.display = "fishing_spooky"; } break; + case "ch": + if (showSession) { + LootDisplay.display = "fishing_ch"; + } else { + LootDisplay.display = "fishing_ch_session"; + } + break; default: if (showSession) { LootDisplay.display = "fishing_session"; diff --git a/src/main/java/me/Danker/commands/ImportFishingCommand.java b/src/main/java/me/Danker/commands/ImportFishingCommand.java index 3ee5ebd..bdd3281 100644 --- a/src/main/java/me/Danker/commands/ImportFishingCommand.java +++ b/src/main/java/me/Danker/commands/ImportFishingCommand.java @@ -37,22 +37,22 @@ public class ImportFishingCommand extends CommandBase { // MULTI THREAD DRIFTING new Thread(() -> { EntityPlayer player = (EntityPlayer) arg0; - + // Check key String key = ConfigHandler.getString("api", "APIKey"); if (key.equals("")) { player.addChatMessage(new ChatComponentText(DankersSkyblockMod.ERROR_COLOUR + "API key not set. Use /setkey.")); return; } - + player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Importing your fishing stats...")); - + // Get UUID for Hypixel API requests String uuid = player.getUniqueID().toString().replaceAll("[\\-]", ""); - + String latestProfile = APIHandler.getLatestProfileID(uuid, key); if (latestProfile == null) return; - + String profileURL = "https://api.hypixel.net/skyblock/profile?profile=" + latestProfile + "&key=" + key; System.out.println("Fetching profile..."); JsonObject profileResponse = APIHandler.getResponse(profileURL, true); @@ -61,10 +61,10 @@ public class ImportFishingCommand extends CommandBase { player.addChatMessage(new ChatComponentText(DankersSkyblockMod.ERROR_COLOUR + "Failed with reason: " + reason)); return; } - + System.out.println("Fetching fishing stats..."); JsonObject statsObject = profileResponse.get("profile").getAsJsonObject().get("members").getAsJsonObject().get(uuid).getAsJsonObject().get("stats").getAsJsonObject(); - + FishingTracker.greatCatches = 0; FishingTracker.goodCatches = 0; if (statsObject.has("items_fished_treasure")) { @@ -75,44 +75,44 @@ public class ImportFishingCommand extends CommandBase { FishingTracker.goodCatches = statsObject.get("items_fished_treasure").getAsInt(); } } - + FishingTracker.seaCreatures = 0; FishingTracker.squids = 0; if (statsObject.has("kills_pond_squid")) { FishingTracker.squids = statsObject.get("kills_pond_squid").getAsInt(); } FishingTracker.seaCreatures += FishingTracker.squids; - + FishingTracker.seaWalkers = 0; if (statsObject.has("kills_sea_walker")) { FishingTracker.seaWalkers = statsObject.get("kills_sea_walker").getAsInt(); } FishingTracker.seaCreatures += FishingTracker.seaWalkers; - + FishingTracker.nightSquids = 0; if (statsObject.has("kills_night_squid")) { FishingTracker.nightSquids = statsObject.get("kills_night_squid").getAsInt(); } FishingTracker.seaCreatures += FishingTracker.nightSquids; - + FishingTracker.seaGuardians = 0; if (statsObject.has("kills_sea_guardian")) { FishingTracker.seaGuardians = statsObject.get("kills_sea_guardian").getAsInt(); } FishingTracker.seaCreatures += FishingTracker.seaGuardians; - + FishingTracker.seaWitches = 0; if (statsObject.has("kills_sea_witch")) { FishingTracker.seaWitches = statsObject.get("kills_sea_witch").getAsInt(); } FishingTracker.seaCreatures += FishingTracker.seaWitches; - + FishingTracker.seaArchers = 0; if (statsObject.has("kills_sea_archer")) { FishingTracker.seaArchers = statsObject.get("kills_sea_archer").getAsInt(); } FishingTracker.seaCreatures += FishingTracker.seaArchers; - + FishingTracker.monsterOfTheDeeps = 0; if (statsObject.has("kills_zombie_deep")) { if (statsObject.has("kills_chicken_deep")) { @@ -124,44 +124,44 @@ public class ImportFishingCommand extends CommandBase { FishingTracker.monsterOfTheDeeps = statsObject.get("kills_chicken_deep").getAsInt(); } FishingTracker.seaCreatures += FishingTracker.monsterOfTheDeeps; - + FishingTracker.catfishes = 0; if (statsObject.has("kills_catfish")) { FishingTracker.catfishes = statsObject.get("kills_catfish").getAsInt(); } FishingTracker.seaCreatures += FishingTracker.catfishes; - + FishingTracker.carrotKings = 0; if (statsObject.has("kills_carrot_king")) { FishingTracker.carrotKings = statsObject.get("kills_carrot_king").getAsInt(); } FishingTracker.seaCreatures += FishingTracker.carrotKings; - + FishingTracker.seaLeeches = 0; if (statsObject.has("kills_sea_leech")) { FishingTracker.seaLeeches = statsObject.get("kills_sea_leech").getAsInt(); } FishingTracker.seaCreatures += FishingTracker.seaLeeches; - + FishingTracker.guardianDefenders = 0; if (statsObject.has("kills_guardian_defender")) { FishingTracker.guardianDefenders = statsObject.get("kills_guardian_defender").getAsInt(); } FishingTracker.seaCreatures += FishingTracker.guardianDefenders; - + FishingTracker.deepSeaProtectors = 0; if (statsObject.has("kills_deep_sea_protector")) { FishingTracker.deepSeaProtectors = statsObject.get("kills_deep_sea_protector").getAsInt(); } FishingTracker.seaCreatures += FishingTracker.deepSeaProtectors; - + FishingTracker.hydras = 0; if (statsObject.has("kills_water_hydra")) { // Hydra splits FishingTracker.hydras = statsObject.get("kills_water_hydra").getAsInt() / 2; } FishingTracker.seaCreatures += FishingTracker.hydras; - + FishingTracker.seaEmperors = 0; if (statsObject.has("kills_skeleton_emperor")) { if (statsObject.has("kills_guardian_emperor")) { @@ -173,90 +173,126 @@ public class ImportFishingCommand extends CommandBase { FishingTracker.seaEmperors = statsObject.get("kills_guardian_emperor").getAsInt(); } FishingTracker.seaCreatures += FishingTracker.seaEmperors; - + FishingTracker.fishingMilestone = 0; if (statsObject.has("pet_milestone_sea_creatures_killed")) { FishingTracker.fishingMilestone = statsObject.get("pet_milestone_sea_creatures_killed").getAsInt(); } - + FishingTracker.frozenSteves = 0; if (statsObject.has("kills_frozen_steve")) { FishingTracker.frozenSteves = statsObject.get("kills_frozen_steve").getAsInt(); } FishingTracker.seaCreatures += FishingTracker.frozenSteves; - + FishingTracker.frostyTheSnowmans = 0; if (statsObject.has("kills_frosty_the_snowman")) { FishingTracker.frostyTheSnowmans = statsObject.get("kills_frosty_the_snowman").getAsInt(); } FishingTracker.seaCreatures += FishingTracker.frostyTheSnowmans; - + FishingTracker.grinches = 0; if (statsObject.has("kills_grinch")) { FishingTracker.grinches = statsObject.get("kills_grinch").getAsInt(); } FishingTracker.seaCreatures += FishingTracker.grinches; - + FishingTracker.yetis = 0; if (statsObject.has("kills_yeti")) { FishingTracker.yetis = statsObject.get("kills_yeti").getAsInt(); } FishingTracker.seaCreatures += FishingTracker.yetis; - + FishingTracker.nurseSharks = 0; if (statsObject.has("kills_nurse_shark")) { FishingTracker.nurseSharks = statsObject.get("kills_nurse_shark").getAsInt(); } FishingTracker.seaCreatures += FishingTracker.nurseSharks; - + FishingTracker.blueSharks = 0; if (statsObject.has("kills_nurse_shark")) { FishingTracker.blueSharks = statsObject.get("kills_blue_shark").getAsInt(); } FishingTracker.seaCreatures += FishingTracker.blueSharks; - + FishingTracker.tigerSharks = 0; if (statsObject.has("kills_nurse_shark")) { FishingTracker.tigerSharks = statsObject.get("kills_tiger_shark").getAsInt(); } FishingTracker.seaCreatures += FishingTracker.tigerSharks; - + FishingTracker.greatWhiteSharks = 0; if (statsObject.has("kills_nurse_shark")) { FishingTracker.greatWhiteSharks = statsObject.get("kills_great_white_shark").getAsInt(); } FishingTracker.seaCreatures += FishingTracker.greatWhiteSharks; - + FishingTracker.scarecrows = 0; if (statsObject.has("kills_scarecrow")) { FishingTracker.scarecrows = statsObject.get("kills_scarecrow").getAsInt(); } FishingTracker.seaCreatures += FishingTracker.scarecrows; - + FishingTracker.nightmares = 0; if (statsObject.has("kills_nightmare")) { FishingTracker.nightmares = statsObject.get("kills_nightmare").getAsInt(); } FishingTracker.seaCreatures += FishingTracker.nightmares; - + FishingTracker.werewolfs = 0; if (statsObject.has("kills_werewolf")) { FishingTracker.werewolfs = statsObject.get("kills_werewolf").getAsInt(); } FishingTracker.seaCreatures += FishingTracker.werewolfs; - + FishingTracker.phantomFishers = 0; if (statsObject.has("kills_phantom_fisherman")) { FishingTracker.phantomFishers = statsObject.get("kills_phantom_fisherman").getAsInt(); } FishingTracker.seaCreatures += FishingTracker.phantomFishers; - + FishingTracker.grimReapers = 0; if (statsObject.has("kills_grim_reaper")) { FishingTracker.grimReapers = statsObject.get("kills_grim_reaper").getAsInt(); } FishingTracker.seaCreatures += FishingTracker.grimReapers; - + + FishingTracker.waterWorms = 0; + if (statsObject.has("kills_water_worm")) { + FishingTracker.waterWorms = statsObject.get("kills_water_worm").getAsInt(); + } + FishingTracker.seaCreatures += FishingTracker.waterWorms; + + FishingTracker.poisonedWaterWorms = 0; + if (statsObject.has("kills_poisoned_water_worm")) { + FishingTracker.poisonedWaterWorms = statsObject.get("kills_poisoned_water_worm").getAsInt(); + } + FishingTracker.seaCreatures += FishingTracker.poisonedWaterWorms; + + FishingTracker.flamingWorms = 0; + if (statsObject.has("kills_flaming_worm")) { + FishingTracker.flamingWorms = statsObject.get("kills_flaming_worm").getAsInt(); + } + FishingTracker.seaCreatures += FishingTracker.flamingWorms; + + FishingTracker.lavaBlazes = 0; + if (statsObject.has("kills_lava_blaze")) { + FishingTracker.lavaBlazes = statsObject.get("kills_lava_blaze").getAsInt(); + } + FishingTracker.seaCreatures += FishingTracker.lavaBlazes; + + FishingTracker.lavaPigmen = 0; + if (statsObject.has("kills_lava_pigman")) { + FishingTracker.lavaPigmen = statsObject.get("kills_lava_pigman").getAsInt(); + } + FishingTracker.seaCreatures += FishingTracker.lavaPigmen; + + FishingTracker.zombieMiners = 0; + if (statsObject.has("kills_zombie_miner")) { + FishingTracker.zombieMiners = statsObject.get("kills_zombie_miner").getAsInt(); + } + FishingTracker.seaCreatures += FishingTracker.zombieMiners; + System.out.println("Writing to config..."); ConfigHandler.writeIntConfig("fishing", "goodCatch", FishingTracker.goodCatches); ConfigHandler.writeIntConfig("fishing", "greatCatch", FishingTracker.greatCatches); @@ -289,7 +325,13 @@ public class ImportFishingCommand extends CommandBase { ConfigHandler.writeIntConfig("fishing", "werewolf", FishingTracker.werewolfs); ConfigHandler.writeIntConfig("fishing", "phantomFisher", FishingTracker.phantomFishers); ConfigHandler.writeIntConfig("fishing", "grimReaper", FishingTracker.grimReapers); - + ConfigHandler.writeIntConfig("fishing", "waterWorm", FishingTracker.waterWorms); + ConfigHandler.writeIntConfig("fishing", "poisonedWaterWorm", FishingTracker.poisonedWaterWorms); + ConfigHandler.writeIntConfig("fishing", "flamingWorm", FishingTracker.flamingWorms); + ConfigHandler.writeIntConfig("fishing", "lavaBlaze", FishingTracker.lavaBlazes); + ConfigHandler.writeIntConfig("fishing", "lavaPigman", FishingTracker.lavaPigmen); + ConfigHandler.writeIntConfig("fishing", "zombieMiner", FishingTracker.zombieMiners); + player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Fishing stats imported.")); }).start(); } diff --git a/src/main/java/me/Danker/commands/LootCommand.java b/src/main/java/me/Danker/commands/LootCommand.java index 1437b36..2a647c6 100644 --- a/src/main/java/me/Danker/commands/LootCommand.java +++ b/src/main/java/me/Danker/commands/LootCommand.java @@ -24,7 +24,7 @@ public class LootCommand extends CommandBase { @Override public String getCommandUsage(ICommandSender arg0) { - return "/" + getCommandName() + " [winter/festival/spooky/f(1-7)/mm/session]"; + return "/" + getCommandName() + " [winter/festival/spooky/ch/f(1-7)/mm/session]"; } public static String usage(ICommandSender arg0) { @@ -41,7 +41,7 @@ public class LootCommand extends CommandBase { if (args.length == 1) { return getListOfStringsMatchingLastWord(args, "wolf", "spider", "zombie", "enderman", "fishing", "catacombs", "mythological"); } else if (args.length == 2 && args[0].equalsIgnoreCase("fishing")) { - return getListOfStringsMatchingLastWord(args, "winter", "festival", "spooky", "session"); + return getListOfStringsMatchingLastWord(args, "winter", "festival", "spooky", "ch", "session"); } else if (args.length == 2 && args[0].equalsIgnoreCase("catacombs")) { return getListOfStringsMatchingLastWord(args, "f1", "floor1", "f2", "floor2", "f3", "floor3", "f4", "floor4", "f5", "floor5", "f6", "floor6", "f7", "floor7", "mm", "master"); } else if (args.length > 1) { @@ -451,6 +451,30 @@ public class LootCommand extends CommandBase { EnumChatFormatting.GOLD + " Phantom Fishers: " + nf.format(FishingTracker.phantomFishers) + "\n" + EnumChatFormatting.GOLD + " Grim Reapers: " + nf.format(FishingTracker.grimReapers) + "\n" + EnumChatFormatting.AQUA + "" + EnumChatFormatting.BOLD + "-------------------")); + } else if (arg1[1].equalsIgnoreCase("ch")) { + if (showSession) { + player.addChatMessage(new ChatComponentText(EnumChatFormatting.AQUA + "" + EnumChatFormatting.BOLD + "-------------------\n" + + EnumChatFormatting.GOLD + EnumChatFormatting.BOLD + " Crystal Hollows Fishing Summary:\n" + + EnumChatFormatting.BLUE + " Water Worms: " + nf.format(FishingTracker.waterWormsSession) + "\n" + + EnumChatFormatting.GREEN + " Poisoned Water Worms: " + nf.format(FishingTracker.poisonedWaterWormsSession) + "\n" + + EnumChatFormatting.RED + " Flaming Worms: " + nf.format(FishingTracker.flamingWormsSession) + "\n" + + EnumChatFormatting.LIGHT_PURPLE + " Lava Blazes: " + nf.format(FishingTracker.lavaBlazesSession) + "\n" + + EnumChatFormatting.LIGHT_PURPLE + " Lava Pigmen: " + nf.format(FishingTracker.lavaPigmenSession) + "\n" + + EnumChatFormatting.GOLD + " Zombie Miners: " + nf.format(FishingTracker.zombieMinersSession) + "\n" + + EnumChatFormatting.AQUA + "" + EnumChatFormatting.BOLD + "-------------------")); + + return; + } + + player.addChatMessage(new ChatComponentText(EnumChatFormatting.AQUA + "" + EnumChatFormatting.BOLD + "-------------------\n" + + EnumChatFormatting.GOLD + EnumChatFormatting.BOLD + " Crystal Hollows Fishing Summary:\n" + + EnumChatFormatting.BLUE + " Water Worms: " + nf.format(FishingTracker.waterWorms) + "\n" + + EnumChatFormatting.GREEN + " Poisoned Water Worms: " + nf.format(FishingTracker.poisonedWaterWorms) + "\n" + + EnumChatFormatting.RED + " Flaming Worms: " + nf.format(FishingTracker.flamingWorms) + "\n" + + EnumChatFormatting.LIGHT_PURPLE + " Lava Blazes: " + nf.format(FishingTracker.lavaBlazes) + "\n" + + EnumChatFormatting.LIGHT_PURPLE + " Lava Pigmen: " + nf.format(FishingTracker.lavaPigmen) + "\n" + + EnumChatFormatting.GOLD + " Zombie Miners: " + nf.format(FishingTracker.zombieMiners) + "\n" + + EnumChatFormatting.AQUA + "" + EnumChatFormatting.BOLD + "-------------------")); } } diff --git a/src/main/java/me/Danker/commands/ResetLootCommand.java b/src/main/java/me/Danker/commands/ResetLootCommand.java index 2c5c947..cca7dda 100644 --- a/src/main/java/me/Danker/commands/ResetLootCommand.java +++ b/src/main/java/me/Danker/commands/ResetLootCommand.java @@ -238,6 +238,12 @@ public class ResetLootCommand extends CommandBase { FishingTracker.werewolfsSession = 0; FishingTracker.phantomFishersSession = 0; FishingTracker.grimReapersSession = 0; + FishingTracker.waterWorms = 0; + FishingTracker.poisonedWaterWorms = 0; + FishingTracker.flamingWorms = 0; + FishingTracker.lavaBlazes = 0; + FishingTracker.lavaPigmen = 0; + FishingTracker.zombieMiners = 0; ConfigHandler.deleteCategory("fishing"); ConfigHandler.reloadConfig(); } diff --git a/src/main/java/me/Danker/features/loot/FishingTracker.java b/src/main/java/me/Danker/features/loot/FishingTracker.java index c54f943..cf329aa 100644 --- a/src/main/java/me/Danker/features/loot/FishingTracker.java +++ b/src/main/java/me/Danker/features/loot/FishingTracker.java @@ -47,6 +47,13 @@ public class FishingTracker { public static int werewolfs; public static int phantomFishers; public static int grimReapers; + // CH Fishing + public static int waterWorms; + public static int poisonedWaterWorms; + public static int flamingWorms; + public static int lavaBlazes; + public static int lavaPigmen; + public static int zombieMiners; // Fishing public static int seaCreaturesSession = 0; @@ -87,6 +94,13 @@ public class FishingTracker { public static int werewolfsSession = 0; public static int phantomFishersSession = 0; public static int grimReapersSession = 0; + // CH Fishing + public static int waterWormsSession = 0; + public static int poisonedWaterWormsSession = 0; + public static int flamingWormsSession = 0; + public static int lavaBlazesSession = 0; + public static int lavaPigmenSession = 0; + public static int zombieMinersSession = 0; @SubscribeEvent public void onChat(ClientChatReceivedEvent event) { @@ -252,6 +266,36 @@ public class FishingTracker { grimReapersSession++; ConfigHandler.writeIntConfig("fishing", "grimReaper", grimReapers); increaseSeaCreatures(); + } else if (message.contains("A Water Worm surfaces")) { + waterWorms++; + waterWormsSession++; + ConfigHandler.writeIntConfig("fishing", "waterWorm", waterWorms); + increaseSeaCreatures(); + } else if (message.contains("A Poisoned Water Worm surfaces")) { + poisonedWaterWorms++; + poisonedWaterWormsSession++; + ConfigHandler.writeIntConfig("fishing", "poisonedWaterWorm", poisonedWaterWorms); + increaseSeaCreatures(); + } else if (message.contains("A flaming worm surfaces from the depths")) { + flamingWorms++; + flamingWormsSession++; + ConfigHandler.writeIntConfig("fishing", "flamingWorm", flamingWorms); + increaseSeaCreatures(); + } else if (message.contains("A Lava Blaze has surfaced from the depths")) { + lavaBlazes++; + lavaBlazesSession++; + ConfigHandler.writeIntConfig("fishing", "lavaBlaze", lavaBlazes); + increaseSeaCreatures(); + } else if (message.contains("A Lava Pigman arose from the depths")) { + lavaPigmen++; + lavaPigmenSession++; + ConfigHandler.writeIntConfig("fishing", "lavaPigman", lavaPigmen); + increaseSeaCreatures(); + } else if (message.contains("A Zombie Miner surfaces")) { + zombieMiners++; + zombieMinersSession++; + ConfigHandler.writeIntConfig("fishing", "zombieMiner", zombieMiners); + increaseSeaCreatures(); } } diff --git a/src/main/java/me/Danker/features/loot/LootDisplay.java b/src/main/java/me/Danker/features/loot/LootDisplay.java index 1878b47..812108b 100644 --- a/src/main/java/me/Danker/features/loot/LootDisplay.java +++ b/src/main/java/me/Danker/features/loot/LootDisplay.java @@ -680,6 +680,50 @@ public class LootDisplay { EnumChatFormatting.GOLD + nf.format(FishingTracker.phantomFishersSession) + "\n" + EnumChatFormatting.GOLD + nf.format(FishingTracker.grimReapersSession); break; + case "fishing_ch": + dropsText = EnumChatFormatting.AQUA + "Creatures Caught:\n" + + EnumChatFormatting.AQUA + "Fishing Milestone:\n" + + EnumChatFormatting.GOLD + "Good Catches:\n" + + EnumChatFormatting.DARK_PURPLE + "Great Catches:\n" + + EnumChatFormatting.BLUE + "Water Worms:\n" + + EnumChatFormatting.GREEN + "Poison Water Worms:\n" + + EnumChatFormatting.RED + "Flaming Worms:\n" + + EnumChatFormatting.DARK_PURPLE + "Lava Blazes:\n" + + EnumChatFormatting.DARK_PURPLE + "Lava Pigmen:\n" + + EnumChatFormatting.GOLD + "Zombie Miners:"; + countText = EnumChatFormatting.AQUA + nf.format(FishingTracker.seaCreatures) + "\n" + + EnumChatFormatting.AQUA + nf.format(FishingTracker.fishingMilestone) + "\n" + + EnumChatFormatting.GOLD + nf.format(FishingTracker.goodCatches) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(FishingTracker.greatCatches) + "\n" + + EnumChatFormatting.BLUE + nf.format(FishingTracker.waterWorms) + "\n" + + EnumChatFormatting.GREEN + nf.format(FishingTracker.poisonedWaterWorms) + "\n" + + EnumChatFormatting.RED + nf.format(FishingTracker.flamingWorms) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(FishingTracker.lavaBlazes) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(FishingTracker.lavaPigmen) + "\n" + + EnumChatFormatting.GOLD + nf.format(FishingTracker.zombieMiners); + break; + case "fishing_ch_session": + dropsText = EnumChatFormatting.AQUA + "Creatures Caught:\n" + + EnumChatFormatting.AQUA + "Fishing Milestone:\n" + + EnumChatFormatting.GOLD + "Good Catches:\n" + + EnumChatFormatting.DARK_PURPLE + "Great Catches:\n" + + EnumChatFormatting.BLUE + "Water Worms:\n" + + EnumChatFormatting.GREEN + "Poison Water Worms:\n" + + EnumChatFormatting.RED + "Flaming Worms:\n" + + EnumChatFormatting.DARK_PURPLE + "Lava Blazes:\n" + + EnumChatFormatting.DARK_PURPLE + "Lava Pigmen:\n" + + EnumChatFormatting.GOLD + "Zombie Miners:"; + countText = EnumChatFormatting.AQUA + nf.format(FishingTracker.seaCreaturesSession) + "\n" + + EnumChatFormatting.AQUA + nf.format(FishingTracker.fishingMilestoneSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(FishingTracker.goodCatchesSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(FishingTracker.greatCatchesSession) + "\n" + + EnumChatFormatting.BLUE + nf.format(FishingTracker.waterWormsSession) + "\n" + + EnumChatFormatting.GREEN + nf.format(FishingTracker.poisonedWaterWormsSession) + "\n" + + EnumChatFormatting.RED + nf.format(FishingTracker.flamingWormsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(FishingTracker.lavaBlazesSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(FishingTracker.lavaPigmenSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(FishingTracker.zombieMinersSession); + break; case "mythological": dropsText = EnumChatFormatting.GOLD + "Coins:\n" + EnumChatFormatting.WHITE + "Griffin Feathers:\n" + diff --git a/src/main/java/me/Danker/gui/DankerGui.java b/src/main/java/me/Danker/gui/DankerGui.java index c7af0da..6edffa9 100644 --- a/src/main/java/me/Danker/gui/DankerGui.java +++ b/src/main/java/me/Danker/gui/DankerGui.java @@ -7,6 +7,7 @@ import me.Danker.gui.buttons.FeatureButton; import me.Danker.gui.crystalhollowwaypoints.CrystalHollowWaypointsGui; import me.Danker.handlers.ConfigHandler; import me.Danker.handlers.TextRenderer; +import me.Danker.utils.RenderUtils; import me.Danker.utils.Utils; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiButton; @@ -274,8 +275,7 @@ public class DankerGui extends GuiScreen { super.drawScreen(mouseX, mouseY, partialTicks); String pageText = "Page: " + page + "/" + (int) Math.ceil(foundButtons.size() / 7D); - int pageWidth = mc.fontRendererObj.getStringWidth(pageText); - new TextRenderer(mc, pageText, width / 2 - pageWidth / 2, 10, 1D); + RenderUtils.drawCenteredText(pageText, width, 10, 1D); for (GuiButton button : this.buttonList) { if (button instanceof FeatureButton && button.isMouseOver()) { diff --git a/src/main/java/me/Danker/gui/DisplayGui.java b/src/main/java/me/Danker/gui/DisplayGui.java index 06239b1..4da92c6 100644 --- a/src/main/java/me/Danker/gui/DisplayGui.java +++ b/src/main/java/me/Danker/gui/DisplayGui.java @@ -4,6 +4,7 @@ import me.Danker.DankersSkyblockMod; import me.Danker.features.loot.LootDisplay; import me.Danker.handlers.ConfigHandler; import me.Danker.handlers.TextRenderer; +import me.Danker.utils.RenderUtils; import me.Danker.utils.Utils; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiButton; @@ -26,7 +27,7 @@ public class DisplayGui extends GuiScreen { private GuiButton fishingWinter; private GuiButton fishingFestival; private GuiButton fishingSpooky; - private GuiButton mythological; + private GuiButton fishingCH; private GuiButton catacombsF1; private GuiButton catacombsF2; private GuiButton catacombsF3; @@ -35,6 +36,7 @@ public class DisplayGui extends GuiScreen { private GuiButton catacombsF6; private GuiButton catacombsF7; private GuiButton catacombsMM; + private GuiButton mythological; private GuiButton ghost; @Override @@ -54,16 +56,15 @@ public class DisplayGui extends GuiScreen { showSession = new GuiButton(0, width / 2 - 100, (int) (height * 0.1), "Current Session Only: " + Utils.getColouredBoolean(addSession)); off = new GuiButton(0, width / 2 - 210, (int) (height * 0.2), "Off"); auto = new GuiButton(0, width / 2 + 10, (int) (height * 0.2), "Auto"); - zombie = new GuiButton(0, width / 2 - 230, (int) (height * 0.3), 100, 20, "Zombie"); - spider = new GuiButton(0, width / 2 - 110, (int) (height * 0.3), 100, 20, "Spider"); - wolf = new GuiButton(0, width / 2 + 10, (int) (height * 0.3), 100, 20, "Wolf"); - enderman = new GuiButton(0, width / 2 + 130, (int) (height * 0.3), 100, 20, "Enderman"); - fishing = new GuiButton(0, width / 2 - 230, (int) (height * 0.4), 100, 20, "Fishing"); - fishingWinter = new GuiButton(0, width / 2 - 110, (int) (height * 0.4), 100, 20, "Fishing Winter"); - fishingFestival = new GuiButton(0, width / 2 + 10, (int) (height * 0.4), 100, 20, "Fishing Festival"); - fishingSpooky = new GuiButton(0, width / 2 + 130, (int) (height * 0.4), 100, 20, "Fishing Spooky"); - mythological = new GuiButton(0, width / 2 - 100, (int) (height * 0.5), 95, 20, "Mythological"); - ghost = new GuiButton(0, width / 2 + 5, (int) (height * 0.5), 95, 20, "Ghost"); + zombie = new GuiButton(0, width / 2 - 230, (int) (height * 0.35), 100, 20, "Zombie"); + spider = new GuiButton(0, width / 2 - 110, (int) (height * 0.35), 100, 20, "Spider"); + wolf = new GuiButton(0, width / 2 + 10, (int) (height * 0.35), 100, 20, "Wolf"); + enderman = new GuiButton(0, width / 2 + 130, (int) (height * 0.35), 100, 20, "Enderman"); + fishing = new GuiButton(0, width / 2 - 270, (int) (height * 0.5), 100, 20, "Fishing"); + fishingWinter = new GuiButton(0, width / 2 - 160, (int) (height * 0.5), 100, 20, "Fishing Winter"); + fishingFestival = new GuiButton(0, width / 2 - 50, (int) (height * 0.5), 100, 20, "Fishing Festival"); + fishingSpooky = new GuiButton(0, width / 2 + 60, (int) (height * 0.5), 100, 20, "Fishing Spooky"); + fishingCH = new GuiButton(0, width / 2 + 170, (int) (height * 0.5), 100, 20, "CH Fishing"); catacombsF1 = new GuiButton(0, width / 2 - 235, (int) (height * 0.65), 50, 20, "F1"); catacombsF2 = new GuiButton(0, width / 2 - 175, (int) (height * 0.65), 50, 20, "F2"); catacombsF3 = new GuiButton(0, width / 2 - 115, (int) (height * 0.65), 50, 20, "F3"); @@ -72,6 +73,8 @@ public class DisplayGui extends GuiScreen { catacombsF6 = new GuiButton(0, width / 2 + 65, (int) (height * 0.65), 50, 20, "F6"); catacombsF7 = new GuiButton(0, width / 2 + 125, (int) (height * 0.65), 50, 20, "F7"); catacombsMM = new GuiButton(0, width / 2 + 185, (int) (height * 0.65), 50, 20, "MM"); + mythological = new GuiButton(0, width / 2 - 100, (int) (height * 0.8), 95, 20, "Mythological"); + ghost = new GuiButton(0, width / 2 + 5, (int) (height * 0.8), 95, 20, "Ghost"); this.buttonList.add(showSession); this.buttonList.add(off); @@ -84,7 +87,7 @@ public class DisplayGui extends GuiScreen { this.buttonList.add(fishingWinter); this.buttonList.add(fishingFestival); this.buttonList.add(fishingSpooky); - this.buttonList.add(mythological); + this.buttonList.add(fishingCH); this.buttonList.add(catacombsF1); this.buttonList.add(catacombsF2); this.buttonList.add(catacombsF3); @@ -93,6 +96,7 @@ public class DisplayGui extends GuiScreen { this.buttonList.add(catacombsF6); this.buttonList.add(catacombsF7); this.buttonList.add(catacombsMM); + this.buttonList.add(mythological); this.buttonList.add(ghost); this.buttonList.add(goBack); } @@ -100,20 +104,13 @@ public class DisplayGui extends GuiScreen { @Override public void drawScreen(int mouseX, int mouseY, float partialTicks) { this.drawDefaultBackground(); - Minecraft mc = Minecraft.getMinecraft(); - - String displayText; - if (LootDisplay.auto) { - displayText = "Current Display: auto"; - } else { - displayText = "Current Display: " + LootDisplay.display; - } - int displayWidth = mc.fontRendererObj.getStringWidth(displayText); - new TextRenderer(mc, displayText, width / 2 - displayWidth / 2, 10, 1D); - - String catacombsTitleText = "Catacombs Dungeon"; - int catacombsTitleWidth = mc.fontRendererObj.getStringWidth(catacombsTitleText); - new TextRenderer(mc, catacombsTitleText, width / 2 - catacombsTitleWidth / 2, (int) (height * 0.6), 1D); + + String displayText = LootDisplay.auto ? "Current Display: auto" : "Current Display: " + LootDisplay.display; + RenderUtils.drawCenteredText(displayText, width, 10, 1D); + RenderUtils.drawCenteredText("Slayer", width, (int) (height * 0.3), 1D); + RenderUtils.drawCenteredText("Fishing", width, (int) (height * 0.45), 1D); + RenderUtils.drawCenteredText("Catacombs Dungeon", width, (int) (height * 0.6), 1D); + RenderUtils.drawCenteredText("Misc", width, (int) (height * 0.75), 1D); super.drawScreen(mouseX, mouseY, partialTicks); } @@ -146,6 +143,8 @@ public class DisplayGui extends GuiScreen { setDisplay("fishing_festival"); } else if (button == fishingSpooky) { setDisplay("fishing_spooky"); + } else if (button == fishingCH) { + setDisplay("fishing_ch"); } else if (button == mythological) { setDisplay("mythological"); } else if (button == catacombsF1) { diff --git a/src/main/java/me/Danker/gui/OnlySlayerGui.java b/src/main/java/me/Danker/gui/OnlySlayerGui.java index c203b8a..a5674f8 100644 --- a/src/main/java/me/Danker/gui/OnlySlayerGui.java +++ b/src/main/java/me/Danker/gui/OnlySlayerGui.java @@ -5,6 +5,7 @@ import me.Danker.commands.ToggleCommand; import me.Danker.features.BlockWrongSlayer; import me.Danker.handlers.ConfigHandler; import me.Danker.handlers.TextRenderer; +import me.Danker.utils.RenderUtils; import me.Danker.utils.Utils; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiButton; @@ -97,8 +98,7 @@ public class OnlySlayerGui extends GuiScreen { } else { displayText = "Only Allow Slayer: " + BlockWrongSlayer.onlySlayerName + " " + BlockWrongSlayer.onlySlayerNumber; } - int displayWidth = mc.fontRendererObj.getStringWidth(displayText); - new TextRenderer(mc, displayText, width / 2 - displayWidth / 2, 10, 1D); + RenderUtils.drawCenteredText(displayText, width, 10, 1D); super.drawScreen(mouseX, mouseY, partialTicks); } diff --git a/src/main/java/me/Danker/gui/SkillTrackerGui.java b/src/main/java/me/Danker/gui/SkillTrackerGui.java index 290310f..84cc2e3 100644 --- a/src/main/java/me/Danker/gui/SkillTrackerGui.java +++ b/src/main/java/me/Danker/gui/SkillTrackerGui.java @@ -4,6 +4,7 @@ import me.Danker.DankersSkyblockMod; import me.Danker.features.SkillTracker; import me.Danker.handlers.ConfigHandler; import me.Danker.handlers.TextRenderer; +import me.Danker.utils.RenderUtils; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiScreen; @@ -50,6 +51,7 @@ public class SkillTrackerGui extends GuiScreen { @Override public void drawScreen(int mouseX, int mouseY, float partialTicks) { this.drawDefaultBackground(); + String stateText = ""; if (SkillTracker.skillStopwatch.isStarted() && !SkillTracker.skillStopwatch.isSuspended()) { stateText = "Timer: Running"; @@ -59,8 +61,8 @@ public class SkillTrackerGui extends GuiScreen { if (!SkillTracker.showSkillTracker) { stateText += " (Hidden)"; } - int stateTextWidth = mc.fontRendererObj.getStringWidth(stateText); - new TextRenderer(mc, stateText, width / 2 - stateTextWidth / 2, 10, 1D); + RenderUtils.drawCenteredText(stateText, width, 10, 1D); + super.drawScreen(mouseX, mouseY, partialTicks); } diff --git a/src/main/java/me/Danker/gui/WarningGui.java b/src/main/java/me/Danker/gui/WarningGui.java index db0c21b..bb37b83 100644 --- a/src/main/java/me/Danker/gui/WarningGui.java +++ b/src/main/java/me/Danker/gui/WarningGui.java @@ -1,10 +1,12 @@ package me.Danker.gui; import me.Danker.handlers.TextRenderer; +import me.Danker.utils.RenderUtils; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.gui.ScaledResolution; +import net.minecraft.util.EnumChatFormatting; public class WarningGui extends GuiScreen { private GuiButton close; @@ -34,15 +36,11 @@ public class WarningGui extends GuiScreen { @Override public void drawScreen(int mouseX, int mouseY, float partialTicks) { this.drawDefaultBackground(); - String text0 = "§cWARNING!§0"; - int text0Width = mc.fontRendererObj.getStringWidth(text0); - new TextRenderer(mc, text0, (int)(width * 0.45) - text0Width / 2, (int) (height * 0.1), 2 ); - String text1 = "You are using SpiderFrog's Old Animations mod."; - int text1Width = mc.fontRendererObj.getStringWidth(text1); - new TextRenderer(mc, text1, width / 2 - text1Width / 2, (int) (height * 0.3), 1D ); - String text2 = "This mod breaks Danker's Skyblock Mod."; - int text2Width = mc.fontRendererObj.getStringWidth(text2); - new TextRenderer(mc, text2, width / 2 - text2Width / 2, (int) (height * 0.4), 1D); + + RenderUtils.drawCenteredText(EnumChatFormatting.RED + "WARNING!", (int) (width * 0.9), (int) (height * 0.1), 2D); + RenderUtils.drawCenteredText("You are using SpiderFrog's Old Animations mod.", width, (int) (height * 0.3), 1D); + RenderUtils.drawCenteredText("This mod breaks Danker's Skyblock Mod.", width, (int) (height * 0.4), 1D); + super.drawScreen(mouseX, mouseY, partialTicks); } diff --git a/src/main/java/me/Danker/gui/alerts/AlertActionGui.java b/src/main/java/me/Danker/gui/alerts/AlertActionGui.java index 06dfd91..034ad79 100644 --- a/src/main/java/me/Danker/gui/alerts/AlertActionGui.java +++ b/src/main/java/me/Danker/gui/alerts/AlertActionGui.java @@ -2,6 +2,7 @@ package me.Danker.gui.alerts; import me.Danker.features.Alerts; import me.Danker.handlers.TextRenderer; +import me.Danker.utils.RenderUtils; import me.Danker.utils.Utils; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiButton; @@ -55,6 +56,7 @@ public class AlertActionGui extends GuiScreen { Alerts.Alert alert = Alerts.alerts.get(id); + RenderUtils.drawCenteredText(alert.alert, width, 10, 1D); String alertText = alert.alert; int textWidth = mc.fontRendererObj.getStringWidth(alertText); new TextRenderer(mc, alertText, width / 2 - textWidth / 2, 10, 1D); diff --git a/src/main/java/me/Danker/gui/alerts/AlertsGui.java b/src/main/java/me/Danker/gui/alerts/AlertsGui.java index 3ccd869..8eaedca 100644 --- a/src/main/java/me/Danker/gui/alerts/AlertsGui.java +++ b/src/main/java/me/Danker/gui/alerts/AlertsGui.java @@ -6,6 +6,7 @@ import me.Danker.gui.DankerGui; import me.Danker.gui.buttons.FeatureButton; import me.Danker.handlers.ConfigHandler; import me.Danker.handlers.TextRenderer; +import me.Danker.utils.RenderUtils; import me.Danker.utils.Utils; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiButton; @@ -78,8 +79,7 @@ public class AlertsGui extends GuiScreen { super.drawScreen(mouseX, mouseY, partialTicks); String pageText = "Page: " + page + "/" + (int) Math.ceil(allButtons.size() / 7D); - int pageWidth = mc.fontRendererObj.getStringWidth(pageText); - new TextRenderer(mc, pageText, width / 2 - pageWidth / 2, 10, 1D); + RenderUtils.drawCenteredText(pageText, width, 10, 1D); } @Override diff --git a/src/main/java/me/Danker/gui/crystalhollowwaypoints/CrystalHollowWaypointActionGui.java b/src/main/java/me/Danker/gui/crystalhollowwaypoints/CrystalHollowWaypointActionGui.java index f792892..30447a0 100644 --- a/src/main/java/me/Danker/gui/crystalhollowwaypoints/CrystalHollowWaypointActionGui.java +++ b/src/main/java/me/Danker/gui/crystalhollowwaypoints/CrystalHollowWaypointActionGui.java @@ -3,6 +3,7 @@ package me.Danker.gui.crystalhollowwaypoints; import me.Danker.DankersSkyblockMod; import me.Danker.features.CrystalHollowWaypoints; import me.Danker.handlers.TextRenderer; +import me.Danker.utils.RenderUtils; import me.Danker.utils.Utils; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.EntityPlayerSP; @@ -63,9 +64,7 @@ public class CrystalHollowWaypointActionGui extends GuiScreen { CrystalHollowWaypoints.Waypoint waypoint = CrystalHollowWaypoints.waypoints.get(id); - String waypointText = waypoint.location + " @ " + waypoint.getPos(); - int pageWidth = mc.fontRendererObj.getStringWidth(waypointText); - new TextRenderer(mc, waypointText, width / 2 - pageWidth / 2, 10, 1D); + RenderUtils.drawCenteredText(waypoint.location + " @ " + waypoint.getPos(), width, 10, 1D); } @Override diff --git a/src/main/java/me/Danker/gui/crystalhollowwaypoints/CrystalHollowWaypointsGui.java b/src/main/java/me/Danker/gui/crystalhollowwaypoints/CrystalHollowWaypointsGui.java index a3d0452..2331ec0 100644 --- a/src/main/java/me/Danker/gui/crystalhollowwaypoints/CrystalHollowWaypointsGui.java +++ b/src/main/java/me/Danker/gui/crystalhollowwaypoints/CrystalHollowWaypointsGui.java @@ -7,6 +7,7 @@ import me.Danker.gui.DankerGui; import me.Danker.gui.buttons.FeatureButton; import me.Danker.handlers.ConfigHandler; import me.Danker.handlers.TextRenderer; +import me.Danker.utils.RenderUtils; import me.Danker.utils.Utils; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.EntityPlayerSP; @@ -94,8 +95,7 @@ public class CrystalHollowWaypointsGui extends GuiScreen { super.drawScreen(mouseX, mouseY, partialTicks); String pageText = "Page: " + page + "/" + (int) Math.ceil(allButtons.size() / 7D); - int pageWidth = mc.fontRendererObj.getStringWidth(pageText); - new TextRenderer(mc, pageText, width / 2 - pageWidth / 2, 10, 1D); + RenderUtils.drawCenteredText(pageText, width, 10, 1D); } @Override diff --git a/src/main/java/me/Danker/handlers/ConfigHandler.java b/src/main/java/me/Danker/handlers/ConfigHandler.java index 112d86d..e5ed372 100644 --- a/src/main/java/me/Danker/handlers/ConfigHandler.java +++ b/src/main/java/me/Danker/handlers/ConfigHandler.java @@ -417,6 +417,13 @@ public class ConfigHandler { FishingTracker.werewolfs = initInt("fishing", "werewolf", 0); FishingTracker.phantomFishers = initInt("fishing", "phantomFisher", 0); FishingTracker.grimReapers = initInt("fishing", "grimReaper", 0); + // CH Fishing + FishingTracker.waterWorms = initInt("fishing", "waterWorm", 0); + FishingTracker.poisonedWaterWorms = initInt("fishing", "poisonedWaterWorm", 0); + FishingTracker.flamingWorms = initInt("fishing", "flamingWorm", 0); + FishingTracker.lavaBlazes = initInt("fishing", "lavaBlaze", 0); + FishingTracker.lavaPigmen = initInt("fishing", "lavaPigman", 0); + FishingTracker.zombieMiners = initInt("fishing", "zombieMiner", 0); // Mythological MythologicalTracker.mythCoins = initDouble("mythological", "coins", 0); diff --git a/src/main/java/me/Danker/utils/RenderUtils.java b/src/main/java/me/Danker/utils/RenderUtils.java index f117969..50b9786 100644 --- a/src/main/java/me/Danker/utils/RenderUtils.java +++ b/src/main/java/me/Danker/utils/RenderUtils.java @@ -363,4 +363,10 @@ public class RenderUtils { GlStateManager.disableRescaleNormal(); } + public static void drawCenteredText(String text, int screenWidth, int height, double scale) { + Minecraft mc = Minecraft.getMinecraft(); + int textWidth = mc.fontRendererObj.getStringWidth(text); + new TextRenderer(mc, text, screenWidth / 2 - textWidth / 2, height, scale); + } + } -- cgit From e1b746ce2ab5207a3c6df39697c94edb0fcd7801 Mon Sep 17 00:00:00 2001 From: bowser0000 Date: Sat, 5 Mar 2022 22:46:57 -0500 Subject: Update catacombs tracker Add Dark Claymore Track both S and S+ and allow switching Make floor detection easier and use less computing Allow livid detector to work in M5 Stop updating ToggleCommand --- src/main/java/me/Danker/DankersSkyblockMod.java | 1 + src/main/java/me/Danker/commands/LootCommand.java | 32 +- .../java/me/Danker/commands/ToggleCommand.java | 5 +- src/main/java/me/Danker/features/AutoDisplay.java | 50 ++- src/main/java/me/Danker/features/DungeonScore.java | 57 +-- .../me/Danker/features/loot/CatacombsTracker.java | 420 ++++++++++++++------- .../java/me/Danker/features/loot/LootDisplay.java | 78 +++- .../Danker/features/puzzlesolvers/LividSolver.java | 2 +- src/main/java/me/Danker/gui/DankerGui.java | 7 + .../java/me/Danker/handlers/ConfigHandler.java | 17 +- src/main/java/me/Danker/utils/Utils.java | 45 +++ 11 files changed, 508 insertions(+), 206 deletions(-) (limited to 'src/main/java/me/Danker/features/loot/LootDisplay.java') diff --git a/src/main/java/me/Danker/DankersSkyblockMod.java b/src/main/java/me/Danker/DankersSkyblockMod.java index ce39152..02eeff4 100644 --- a/src/main/java/me/Danker/DankersSkyblockMod.java +++ b/src/main/java/me/Danker/DankersSkyblockMod.java @@ -383,6 +383,7 @@ public class DankersSkyblockMod { if (player != null) { Utils.checkForSkyblock(); Utils.checkForDungeons(); + Utils.checkForDungeonFloor(); Utils.checkTabLocation(); } diff --git a/src/main/java/me/Danker/commands/LootCommand.java b/src/main/java/me/Danker/commands/LootCommand.java index 2a647c6..246d1aa 100644 --- a/src/main/java/me/Danker/commands/LootCommand.java +++ b/src/main/java/me/Danker/commands/LootCommand.java @@ -832,7 +832,20 @@ public class LootCommand extends CommandBase { if (showSession) { player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs MM Summary (Current Session):\n" + - EnumChatFormatting.GOLD + " S Runs:" + nf.format(CatacombsTracker.masterSSession) + "\n" + + EnumChatFormatting.GOLD + " Master One S Runs:" + nf.format(CatacombsTracker.m1SSession) + "\n" + + EnumChatFormatting.GOLD + " Master One S+ Runs:" + nf.format(CatacombsTracker.m1SPlusSession) + "\n" + + EnumChatFormatting.GOLD + " Master Two S Runs:" + nf.format(CatacombsTracker.m2SSession) + "\n" + + EnumChatFormatting.GOLD + " Master Two S+ Runs:" + nf.format(CatacombsTracker.m2SPlusSession) + "\n" + + EnumChatFormatting.GOLD + " Master Three S Runs:" + nf.format(CatacombsTracker.m3SSession) + "\n" + + EnumChatFormatting.GOLD + " Master Three S+ Runs:" + nf.format(CatacombsTracker.m3SPlusSession) + "\n" + + EnumChatFormatting.GOLD + " Master Four S Runs:" + nf.format(CatacombsTracker.m4SSession) + "\n" + + EnumChatFormatting.GOLD + " Master Four S+ Runs:" + nf.format(CatacombsTracker.m4SPlusSession) + "\n" + + EnumChatFormatting.GOLD + " Master Five S Runs:" + nf.format(CatacombsTracker.m5SSession) + "\n" + + EnumChatFormatting.GOLD + " Master Five S+ Runs:" + nf.format(CatacombsTracker.m5SPlusSession) + "\n" + + EnumChatFormatting.GOLD + " Master Six S Runs:" + nf.format(CatacombsTracker.m6SSession) + "\n" + + EnumChatFormatting.GOLD + " Master Six S+ Runs:" + nf.format(CatacombsTracker.m6SPlusSession) + "\n" + + EnumChatFormatting.GOLD + " Master Seven S Runs:" + nf.format(CatacombsTracker.m7SSession) + "\n" + + EnumChatFormatting.GOLD + " Master Seven S+ Runs:" + nf.format(CatacombsTracker.m7SPlusSession) + "\n" + EnumChatFormatting.GOLD + " Recombobulators:" + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books:" + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + EnumChatFormatting.DARK_PURPLE + " 1st Master Stars:" + nf.format(CatacombsTracker.firstStarsSession) + "\n" + @@ -840,6 +853,7 @@ public class LootCommand extends CommandBase { EnumChatFormatting.DARK_PURPLE + " 3rd Master Stars:" + nf.format(CatacombsTracker.thirdStarsSession) + "\n" + EnumChatFormatting.DARK_PURPLE + " 4th Master Stars:" + nf.format(CatacombsTracker.fourthStarsSession) + "\n" + EnumChatFormatting.DARK_PURPLE + " 5th Master Stars:" + nf.format(CatacombsTracker.fifthStarsSession) + "\n" + + EnumChatFormatting.GOLD + " Dark Claymores: " + nf.format(CatacombsTracker.darkClaymoresSession) + "\n" + EnumChatFormatting.WHITE + " Rerolls:" + nf.format(CatacombsTracker.masterRerollsSession) + "\n" + EnumChatFormatting.AQUA + " Coins Spent:" + nf.format(CatacombsTracker.masterCoinsSpentSession) + "\n" + EnumChatFormatting.AQUA + " Time Spent:" + nf.format(CatacombsTracker.masterTimeSpentSession) + "\n" + @@ -848,7 +862,20 @@ public class LootCommand extends CommandBase { } player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs MM Summary:\n" + - EnumChatFormatting.GOLD + " S Runs:" + nf.format(CatacombsTracker.masterS) + "\n" + + EnumChatFormatting.GOLD + " Master One S Runs:" + nf.format(CatacombsTracker.m1S) + "\n" + + EnumChatFormatting.GOLD + " Master One S+ Runs:" + nf.format(CatacombsTracker.m1SPlus) + "\n" + + EnumChatFormatting.GOLD + " Master Two S Runs:" + nf.format(CatacombsTracker.m2S) + "\n" + + EnumChatFormatting.GOLD + " Master Two S+ Runs:" + nf.format(CatacombsTracker.m2SPlus) + "\n" + + EnumChatFormatting.GOLD + " Master Three S Runs:" + nf.format(CatacombsTracker.m3S) + "\n" + + EnumChatFormatting.GOLD + " Master Three S+ Runs:" + nf.format(CatacombsTracker.m3SPlus) + "\n" + + EnumChatFormatting.GOLD + " Master Four S Runs:" + nf.format(CatacombsTracker.m4S) + "\n" + + EnumChatFormatting.GOLD + " Master Four S+ Runs:" + nf.format(CatacombsTracker.m4SPlus) + "\n" + + EnumChatFormatting.GOLD + " Master Five S Runs:" + nf.format(CatacombsTracker.m5S) + "\n" + + EnumChatFormatting.GOLD + " Master Five S+ Runs:" + nf.format(CatacombsTracker.m5SPlus) + "\n" + + EnumChatFormatting.GOLD + " Master Six S Runs:" + nf.format(CatacombsTracker.m6S) + "\n" + + EnumChatFormatting.GOLD + " Master Six S+ Runs:" + nf.format(CatacombsTracker.m6SPlus) + "\n" + + EnumChatFormatting.GOLD + " Master Seven S Runs:" + nf.format(CatacombsTracker.m7S) + "\n" + + EnumChatFormatting.GOLD + " Master Seven S+ Runs:" + nf.format(CatacombsTracker.m7SPlus) + "\n" + EnumChatFormatting.GOLD + " Recombobulators:" + nf.format(CatacombsTracker.recombobulators) + "\n" + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books:" + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + EnumChatFormatting.DARK_PURPLE + " 1st Master Stars:" + nf.format(CatacombsTracker.firstStars) + "\n" + @@ -856,6 +883,7 @@ public class LootCommand extends CommandBase { EnumChatFormatting.DARK_PURPLE + " 3rd Master Stars:" + nf.format(CatacombsTracker.thirdStars) + "\n" + EnumChatFormatting.DARK_PURPLE + " 4th Master Stars:" + nf.format(CatacombsTracker.fourthStars) + "\n" + EnumChatFormatting.DARK_PURPLE + " 5th Master Stars:" + nf.format(CatacombsTracker.fifthStars) + "\n" + + EnumChatFormatting.GOLD + " Dark Claymores: " + nf.format(CatacombsTracker.darkClaymores) + "\n" + EnumChatFormatting.WHITE + " Rerolls:" + nf.format(CatacombsTracker.masterRerolls) + "\n" + EnumChatFormatting.AQUA + " Coins Spent:" + nf.format(CatacombsTracker.masterCoinsSpent) + "\n" + EnumChatFormatting.AQUA + " Time Spent:" + nf.format(CatacombsTracker.masterTimeSpent) + "\n" + diff --git a/src/main/java/me/Danker/commands/ToggleCommand.java b/src/main/java/me/Danker/commands/ToggleCommand.java index 94425c0..04770aa 100644 --- a/src/main/java/me/Danker/commands/ToggleCommand.java +++ b/src/main/java/me/Danker/commands/ToggleCommand.java @@ -14,12 +14,12 @@ import net.minecraft.util.ChatComponentText; import java.util.List; public class ToggleCommand extends CommandBase implements ICommand { - // i hate this file so much // Some of these end with toggled and some don't, I don't want to go back and fix them all for consistency public static boolean gpartyToggled; public static boolean coordsToggled; public static boolean goldenToggled; public static boolean slayerCountTotal; + public static boolean masterSPlusDisplay; public static boolean rngesusAlerts; public static boolean ghostDisplay; public static boolean splitFishing; @@ -106,6 +106,7 @@ public class ToggleCommand extends CommandBase implements ICommand { public static boolean endMusic; public static boolean parkMusic; + // NO LONGER UPDATED @Override public String getCommandName() { return "toggle"; @@ -150,7 +151,7 @@ public class ToggleCommand extends CommandBase implements ICommand { } return null; } - + @Override public void processCommand(ICommandSender arg0, String[] arg1) throws CommandException { final EntityPlayer player = (EntityPlayer)arg0; diff --git a/src/main/java/me/Danker/features/AutoDisplay.java b/src/main/java/me/Danker/features/AutoDisplay.java index 8dbe359..5fc4489 100644 --- a/src/main/java/me/Danker/features/AutoDisplay.java +++ b/src/main/java/me/Danker/features/AutoDisplay.java @@ -4,6 +4,7 @@ import me.Danker.DankersSkyblockMod; import me.Danker.features.loot.LootDisplay; import me.Danker.handlers.ConfigHandler; import me.Danker.handlers.ScoreboardHandler; +import me.Danker.utils.Utils; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.EntityPlayerSP; import net.minecraft.init.Items; @@ -44,23 +45,38 @@ public class AutoDisplay { } else if (sCleaned.contains("The Mist")){ LootDisplay.display = "ghost"; found = true; - } else if (sCleaned.contains("The Catacombs (")) { - if (sCleaned.contains("F1")) { - LootDisplay.display = "catacombs_floor_one"; - } else if (sCleaned.contains("F2")) { - LootDisplay.display = "catacombs_floor_two"; - } else if (sCleaned.contains("F3")) { - LootDisplay.display = "catacombs_floor_three"; - } else if (sCleaned.contains("F4")) { - LootDisplay.display = "catacombs_floor_four"; - } else if (sCleaned.contains("F5")) { - LootDisplay.display = "catacombs_floor_five"; - } else if (sCleaned.contains("F6")) { - LootDisplay.display = "catacombs_floor_six"; - } else if (sCleaned.contains("F7")) { - LootDisplay.display = "catacombs_floor_seven"; - } else if (sCleaned.contains("(M")) { - LootDisplay.display = "catacombs_master"; + } else if (Utils.inDungeons) { + switch (Utils.currentFloor) { + case F1: + LootDisplay.display = "catacombs_floor_one"; + break; + case F2: + LootDisplay.display = "catacombs_floor_two"; + break; + case F3: + LootDisplay.display = "catacombs_floor_three"; + break; + case F4: + LootDisplay.display = "catacombs_floor_four"; + break; + case F5: + LootDisplay.display = "catacombs_floor_five"; + break; + case F6: + LootDisplay.display = "catacombs_floor_six"; + break; + case F7: + LootDisplay.display = "catacombs_floor_seven"; + break; + case M1: + case M2: + case M3: + case M4: + case M5: + case M6: + case M7: + LootDisplay.display = "catacombs_master"; + break; } found = true; } diff --git a/src/main/java/me/Danker/features/DungeonScore.java b/src/main/java/me/Danker/features/DungeonScore.java index 706ce62..588db8a 100644 --- a/src/main/java/me/Danker/features/DungeonScore.java +++ b/src/main/java/me/Danker/features/DungeonScore.java @@ -5,7 +5,6 @@ import me.Danker.commands.MoveCommand; import me.Danker.commands.ScaleCommand; import me.Danker.commands.ToggleCommand; import me.Danker.events.RenderOverlayEvent; -import me.Danker.handlers.ScoreboardHandler; import me.Danker.handlers.TextRenderer; import me.Danker.utils.Utils; import net.minecraft.client.Minecraft; @@ -19,7 +18,6 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.TickEvent; import java.util.Collection; -import java.util.List; public class DungeonScore { @@ -55,29 +53,6 @@ public class DungeonScore { if (!ToggleCommand.dungeonScore || !Utils.inDungeons) return; if (DankersSkyblockMod.tickAmount % 20 == 0) { - String floor = ""; - List scoreboard = ScoreboardHandler.getSidebarLines(); - for (String s : scoreboard) { - String sCleaned = ScoreboardHandler.cleanSB(s); - if (sCleaned.contains("The Catacombs (")) { - if (sCleaned.contains("F1")) { - floor = "F1"; - } else if (sCleaned.contains("F2")) { - floor = "F2"; - } else if (sCleaned.contains("F3")) { - floor = "F3"; - } else if (sCleaned.contains("F4")) { - floor = "F4"; - } else if (sCleaned.contains("F5")) { - floor = "F5"; - } else if (sCleaned.contains("F6")) { - floor = "F6"; - } else if (sCleaned.contains("F7")) { - floor = "F7"; - } - } - } - int missingPuzzles = 0; double openedRooms = 0; double completedRooms = 0; @@ -99,23 +74,23 @@ public class DungeonScore { double secretCount = Double.parseDouble(display.replaceAll("[^\\d.]", "")); - switch (floor) { - case "F1": + switch (Utils.currentFloor) { + case F1: secretScore = secretCount / 30D; break; - case "F2": + case F2: secretScore = secretCount / 40D; break; - case "F3": + case F3: secretScore = secretCount / 50D; break; - case "F4": + case F4: secretScore = secretCount / 60D; break; - case "F5": + case F5: secretScore = secretCount / 70D; break; - case "F6": + case F6: secretScore = secretCount / 85D; break; default: @@ -127,19 +102,19 @@ public class DungeonScore { int seconds = Integer.parseInt(timeText.substring(timeText.indexOf("m") + 1, timeText.indexOf("s"))); int time = minutes * 60 + seconds; - if (floor.equals("F2")) time -= 120; + if (Utils.currentFloor == Utils.DungeonFloor.F2) time -= 120; int base; - switch (floor) { - case "F1": - case "F2": - case "F3": - case "F5": + switch (Utils.currentFloor) { + case F1: + case F2: + case F3: + case F5: base = 600; break; - case "F4": - case "F6": - case "F7": + case F4: + case F6: + case F7: base = 720; break; default: diff --git a/src/main/java/me/Danker/features/loot/CatacombsTracker.java b/src/main/java/me/Danker/features/loot/CatacombsTracker.java index c4b9634..8d50ab3 100644 --- a/src/main/java/me/Danker/features/loot/CatacombsTracker.java +++ b/src/main/java/me/Danker/features/loot/CatacombsTracker.java @@ -89,12 +89,26 @@ public class CatacombsTracker { public static double f7CoinsSpent; public static double f7TimeSpent; // MM - public static int masterS; + public static int m1S; + public static int m1SPlus; + public static int m2S; + public static int m2SPlus; + public static int m3S; + public static int m3SPlus; + public static int m4S; + public static int m4SPlus; + public static int m5S; + public static int m5SPlus; + public static int m6S; + public static int m6SPlus; + public static int m7S; + public static int m7SPlus; public static int firstStars; public static int secondStars; public static int thirdStars; public static int fourthStars; public static int fifthStars; + public static int darkClaymores; public static int masterRerolls; public static double masterCoinsSpent; public static double masterTimeSpent; @@ -174,12 +188,26 @@ public class CatacombsTracker { public static double f7CoinsSpentSession = 0; public static double f7TimeSpentSession = 0; // MM - public static int masterSSession = 0; + public static int m1SSession = 0; + public static int m1SPlusSession = 0; + public static int m2SSession = 0; + public static int m2SPlusSession = 0; + public static int m3SSession = 0; + public static int m3SPlusSession = 0; + public static int m4SSession = 0; + public static int m4SPlusSession = 0; + public static int m5SSession = 0; + public static int m5SPlusSession = 0; + public static int m6SSession = 0; + public static int m6SPlusSession = 0; + public static int m7SSession = 0; + public static int m7SPlusSession = 0; public static int firstStarsSession = 0; public static int secondStarsSession = 0; public static int thirdStarsSession = 0; public static int fourthStarsSession = 0; public static int fifthStarsSession = 0; + public static int darkClaymoresSession = 0; public static int masterRerollsSession = 0; public static double masterCoinsSpentSession = 0; public static double masterTimeSpentSession = 0; @@ -191,51 +219,138 @@ public class CatacombsTracker { if (!Utils.inDungeons) return; if (event.type == 2) return; - if (message.contains(" Team Score: ") && message.contains("(S+)")) { - List scoreboard = ScoreboardHandler.getSidebarLines(); + if (message.contains(" Team Score: ")) { if (message.contains("(S+)")) { - for (String s : scoreboard) { - String sCleaned = ScoreboardHandler.cleanSB(s); - if (sCleaned.contains("The Catacombs (")) { - if (sCleaned.contains("F1")) { - f1SPlus++; - f1SPlusSession++; - ConfigHandler.writeIntConfig("catacombs", "floorOneSPlus", f1SPlus); - } else if (sCleaned.contains("F2")) { - f2SPlus++; - f2SPlusSession++; - ConfigHandler.writeIntConfig("catacombs", "floorTwoSPlus", f2SPlus); - } else if (sCleaned.contains("F3")) { - f3SPlus++; - f3SPlusSession++; - ConfigHandler.writeIntConfig("catacombs", "floorThreeSPlus", f3SPlus); - } else if (sCleaned.contains("F4")) { - f4SPlus++; - f4SPlusSession++; - ConfigHandler.writeIntConfig("catacombs", "floorFourSPlus", f4SPlus); - } else if (sCleaned.contains("F5")) { - f5SPlus++; - f5SPlusSession++; - ConfigHandler.writeIntConfig("catacombs", "floorFiveSPlus", f5SPlus); - } else if (sCleaned.contains("F6")) { - f6SPlus++; - f6SPlusSession++; - ConfigHandler.writeIntConfig("catacombs", "floorSixSPlus", f6SPlus); - } else if (sCleaned.contains("F7")) { - f7SPlus++; - f7SPlusSession++; - ConfigHandler.writeIntConfig("catacombs", "floorSevenSPlus", f7SPlus); - } - } + switch (Utils.currentFloor) { + case F1: + f1SPlus++; + f1SPlusSession++; + ConfigHandler.writeIntConfig("catacombs", "floorOneSPlus", f1SPlus); + break; + case F2: + f2SPlus++; + f2SPlusSession++; + ConfigHandler.writeIntConfig("catacombs", "floorTwoSPlus", f2SPlus); + break; + case F3: + f3SPlus++; + f3SPlusSession++; + ConfigHandler.writeIntConfig("catacombs", "floorThreeSPlus", f3SPlus); + break; + case F4: + f4SPlus++; + f4SPlusSession++; + ConfigHandler.writeIntConfig("catacombs", "floorFourSPlus", f4SPlus); + break; + case F5: + f5SPlus++; + f5SPlusSession++; + ConfigHandler.writeIntConfig("catacombs", "floorFiveSPlus", f5SPlus); + break; + case F6: + f6SPlus++; + f6SPlusSession++; + ConfigHandler.writeIntConfig("catacombs", "floorSixSPlus", f6SPlus); + break; + case F7: + f7SPlus++; + f7SPlusSession++; + ConfigHandler.writeIntConfig("catacombs", "floorSevenSPlus", f7SPlus); + break; + case M1: + m1S++; + m1SPlus++; + m1SSession++; + m1SPlusSession++; + ConfigHandler.writeIntConfig("catacombs", "masterOneS", m1S); + ConfigHandler.writeIntConfig("catacombs", "masterOneSPlus", m1SPlus); + break; + case M2: + m2S++; + m2SPlus++; + m2SSession++; + m2SPlusSession++; + ConfigHandler.writeIntConfig("catacombs", "masterTwoS", m2S); + ConfigHandler.writeIntConfig("catacombs", "masterTwoSPlus", m2SPlus); + break; + case M3: + m3S++; + m3SPlus++; + m3SSession++; + m3SPlusSession++; + ConfigHandler.writeIntConfig("catacombs", "masterThreeS", m3S); + ConfigHandler.writeIntConfig("catacombs", "masterThreeSPlus", m3SPlus); + break; + case M4: + m4S++; + m4SPlus++; + m4SSession++; + m4SPlusSession++; + ConfigHandler.writeIntConfig("catacombs", "masterFourS", m4S); + ConfigHandler.writeIntConfig("catacombs", "masterFourSPlus", m4SPlus); + break; + case M5: + m5S++; + m5SPlus++; + m5SSession++; + m5SPlusSession++; + ConfigHandler.writeIntConfig("catacombs", "masterFiveS", m5S); + ConfigHandler.writeIntConfig("catacombs", "masterFiveSPlus", m5SPlus); + break; + case M6: + m6S++; + m6SPlus++; + m6SSession++; + m6SPlusSession++; + ConfigHandler.writeIntConfig("catacombs", "masterSixS", m6S); + ConfigHandler.writeIntConfig("catacombs", "masterSixSPlus", m6SPlus); + break; + case M7: + m7S++; + m7SPlus++; + m7SSession++; + m7SPlusSession++; + ConfigHandler.writeIntConfig("catacombs", "masterSevenS", m7S); + ConfigHandler.writeIntConfig("catacombs", "masterSevenSPlus", m7SPlus); + break; } } else if (message.contains("(S)")) { - for (String s : scoreboard) { - String sCleaned = ScoreboardHandler.cleanSB(s); - if (sCleaned.contains("The Catacombs (M")) { - masterS++; - masterSSession++; - ConfigHandler.writeIntConfig("catacombs", "masterS", masterS); - } + switch (Utils.currentFloor) { + case M1: + m1S++; + m1SPlus++; + ConfigHandler.writeIntConfig("catacombs", "masterOneS", m1S); + break; + case M2: + m2S++; + m2SPlus++; + ConfigHandler.writeIntConfig("catacombs", "masterTwoS", m2S); + break; + case M3: + m3S++; + m3SPlus++; + ConfigHandler.writeIntConfig("catacombs", "masterThreeS", m3S); + break; + case M4: + m4S++; + m4SPlus++; + ConfigHandler.writeIntConfig("catacombs", "masterFourS", m4S); + break; + case M5: + m5S++; + m5SPlus++; + ConfigHandler.writeIntConfig("catacombs", "masterFiveS", m5S); + break; + case M6: + m6S++; + m6SPlus++; + ConfigHandler.writeIntConfig("catacombs", "masterSixS", m6S); + break; + case M7: + m7S++; + m7SPlus++; + ConfigHandler.writeIntConfig("catacombs", "masterSevenS", m7S); + break; } } } @@ -435,56 +550,74 @@ public class CatacombsTracker { fifthStars++; fifthStarsSession++; ConfigHandler.writeIntConfig("catacombs", "fifthStar", fifthStars); + } else if (message.contains("Dark Claymore")) { + darkClaymores++; + darkClaymoresSession++; + ConfigHandler.writeIntConfig("catacombs", "darkClaymore", darkClaymores); } } if (message.contains("EXTRA STATS ")) { List scoreboard = ScoreboardHandler.getSidebarLines(); - int timeToAdd = 0; for (String s : scoreboard) { String sCleaned = ScoreboardHandler.cleanSB(s); - if (sCleaned.contains("The Catacombs (")) { - // Add time to floor - if (sCleaned.contains("F1")) { - f1TimeSpent = Math.floor(f1TimeSpent + timeToAdd); - f1TimeSpentSession = Math.floor(f1TimeSpentSession + timeToAdd); - ConfigHandler.writeDoubleConfig("catacombs", "floorOneTime", f1TimeSpent); - } else if (sCleaned.contains("F2")) { - f2TimeSpent = Math.floor(f2TimeSpent + timeToAdd); - f2TimeSpentSession = Math.floor(f2TimeSpentSession + timeToAdd); - ConfigHandler.writeDoubleConfig("catacombs", "floorTwoTime", f2TimeSpent); - } else if (sCleaned.contains("F3")) { - f3TimeSpent = Math.floor(f3TimeSpent + timeToAdd); - f3TimeSpentSession = Math.floor(f3TimeSpentSession + timeToAdd); - ConfigHandler.writeDoubleConfig("catacombs", "floorThreeTime", f3TimeSpent); - } else if (sCleaned.contains("F4")) { - f4TimeSpent = Math.floor(f4TimeSpent + timeToAdd); - f4TimeSpentSession = Math.floor(f4TimeSpentSession + timeToAdd); - ConfigHandler.writeDoubleConfig("catacombs", "floorFourTime", f4TimeSpent); - } else if (sCleaned.contains("F5")) { - f5TimeSpent = Math.floor(f5TimeSpent + timeToAdd); - f5TimeSpentSession = Math.floor(f5TimeSpentSession + timeToAdd); - ConfigHandler.writeDoubleConfig("catacombs", "floorFiveTime", f5TimeSpent); - } else if (sCleaned.contains("F6")) { - f6TimeSpent = Math.floor(f6TimeSpent + timeToAdd); - f6TimeSpentSession = Math.floor(f6TimeSpentSession + timeToAdd); - ConfigHandler.writeDoubleConfig("catacombs", "floorSixTime", f6TimeSpent); - } else if (sCleaned.contains("F7")) { - f7TimeSpent = Math.floor(f7TimeSpent + timeToAdd); - f7TimeSpentSession = Math.floor(f7TimeSpentSession + timeToAdd); - ConfigHandler.writeDoubleConfig("catacombs", "floorSevenTime", f7TimeSpent); - } else if (sCleaned.contains("(M")) { - masterTimeSpent = Math.floor(masterTimeSpent + timeToAdd); - masterTimeSpentSession = Math.floor(masterTimeSpentSession + timeToAdd); - ConfigHandler.writeDoubleConfig("catacombs", "masterTime", masterTimeSpent); - } - } else if (sCleaned.contains("Time Elapsed:")) { + if (sCleaned.contains("Time Elapsed:")) { // Get floor time String time = sCleaned.substring(sCleaned.indexOf(":") + 2); time = time.replaceAll("\\s", ""); int minutes = Integer.parseInt(time.substring(0, time.indexOf("m"))); int seconds = Integer.parseInt(time.substring(time.indexOf("m") + 1, time.indexOf("s"))); - timeToAdd = (minutes * 60) + seconds; + int timeToAdd = (minutes * 60) + seconds; + + // Add time to floor + switch (Utils.currentFloor) { + case F1: + f1TimeSpent = Math.floor(f1TimeSpent + timeToAdd); + f1TimeSpentSession = Math.floor(f1TimeSpentSession + timeToAdd); + ConfigHandler.writeDoubleConfig("catacombs", "floorOneTime", f1TimeSpent); + break; + case F2: + f2TimeSpent = Math.floor(f2TimeSpent + timeToAdd); + f2TimeSpentSession = Math.floor(f2TimeSpentSession + timeToAdd); + ConfigHandler.writeDoubleConfig("catacombs", "floorTwoTime", f2TimeSpent); + break; + case F3: + f3TimeSpent = Math.floor(f3TimeSpent + timeToAdd); + f3TimeSpentSession = Math.floor(f3TimeSpentSession + timeToAdd); + ConfigHandler.writeDoubleConfig("catacombs", "floorThreeTime", f3TimeSpent); + break; + case F4: + f4TimeSpent = Math.floor(f4TimeSpent + timeToAdd); + f4TimeSpentSession = Math.floor(f4TimeSpentSession + timeToAdd); + ConfigHandler.writeDoubleConfig("catacombs", "floorFourTime", f4TimeSpent); + break; + case F5: + f5TimeSpent = Math.floor(f5TimeSpent + timeToAdd); + f5TimeSpentSession = Math.floor(f5TimeSpentSession + timeToAdd); + ConfigHandler.writeDoubleConfig("catacombs", "floorFiveTime", f5TimeSpent); + break; + case F6: + f6TimeSpent = Math.floor(f6TimeSpent + timeToAdd); + f6TimeSpentSession = Math.floor(f6TimeSpentSession + timeToAdd); + ConfigHandler.writeDoubleConfig("catacombs", "floorSixTime", f6TimeSpent); + break; + case F7: + f7TimeSpent = Math.floor(f7TimeSpent + timeToAdd); + f7TimeSpentSession = Math.floor(f7TimeSpentSession + timeToAdd); + ConfigHandler.writeDoubleConfig("catacombs", "floorSevenTime", f7TimeSpent); + break; + case M1: + case M2: + case M3: + case M4: + case M5: + case M6: + case M7: + masterTimeSpent = Math.floor(masterTimeSpent + timeToAdd); + masterTimeSpentSession = Math.floor(masterTimeSpentSession + timeToAdd); + ConfigHandler.writeDoubleConfig("catacombs", "masterTime", masterTimeSpent); + break; + } } } } @@ -504,69 +637,80 @@ public class CatacombsTracker { if (line.contains(" Coins") && !line.contains("NOTE:")) { int coinsSpent = Integer.parseInt(line.replaceAll("[^\\d]", "")); - List scoreboard = ScoreboardHandler.getSidebarLines(); - for (String s : scoreboard) { - String sCleaned = ScoreboardHandler.cleanSB(s); - if (sCleaned.contains("The Catacombs (")) { - if (sCleaned.contains("F1")) { - f1CoinsSpent += coinsSpent; - f1CoinsSpentSession += coinsSpent; - ConfigHandler.writeDoubleConfig("catacombs", "floorOneCoins", f1CoinsSpent); - } else if (sCleaned.contains("F2")) { - f2CoinsSpent += coinsSpent; - f2CoinsSpentSession += coinsSpent; - ConfigHandler.writeDoubleConfig("catacombs", "floorTwoCoins", f2CoinsSpent); - } else if (sCleaned.contains("F3")) { - f3CoinsSpent += coinsSpent; - f3CoinsSpentSession += coinsSpent; - ConfigHandler.writeDoubleConfig("catacombs", "floorThreeCoins", f3CoinsSpent); - } else if (sCleaned.contains("F4")) { - f4CoinsSpent += coinsSpent; - f4CoinsSpentSession += coinsSpent; - ConfigHandler.writeDoubleConfig("catacombs", "floorFourCoins", f4CoinsSpent); - } else if (sCleaned.contains("F5")) { - f5CoinsSpent += coinsSpent; - f5CoinsSpentSession += coinsSpent; - ConfigHandler.writeDoubleConfig("catacombs", "floorFiveCoins", f5CoinsSpent); - } else if (sCleaned.contains("F6")) { - f6CoinsSpent += coinsSpent; - f6CoinsSpentSession += coinsSpent; - ConfigHandler.writeDoubleConfig("catacombs", "floorSixCoins", f6CoinsSpent); - } else if (sCleaned.contains("F7")) { - f7CoinsSpent += coinsSpent; - f7CoinsSpentSession += coinsSpent; - ConfigHandler.writeDoubleConfig("catacombs", "floorSevenCoins", f7CoinsSpent); - } else if (sCleaned.contains("(M")) { - masterCoinsSpent += coinsSpent; - masterCoinsSpentSession += coinsSpent; - ConfigHandler.writeDoubleConfig("catacombs", "masterCoins", masterCoinsSpent); - } + switch (Utils.currentFloor) { + case F1: + f1CoinsSpent += coinsSpent; + f1CoinsSpentSession += coinsSpent; + ConfigHandler.writeDoubleConfig("catacombs", "floorOneCoins", f1CoinsSpent); + break; + case F2: + f2CoinsSpent += coinsSpent; + f2CoinsSpentSession += coinsSpent; + ConfigHandler.writeDoubleConfig("catacombs", "floorTwoCoins", f2CoinsSpent); + break; + case F3: + f3CoinsSpent += coinsSpent; + f3CoinsSpentSession += coinsSpent; + ConfigHandler.writeDoubleConfig("catacombs", "floorThreeCoins", f3CoinsSpent); + break; + case F4: + f4CoinsSpent += coinsSpent; + f4CoinsSpentSession += coinsSpent; + ConfigHandler.writeDoubleConfig("catacombs", "floorFourCoins", f4CoinsSpent); + break; + case F5: + f5CoinsSpent += coinsSpent; + f5CoinsSpentSession += coinsSpent; + ConfigHandler.writeDoubleConfig("catacombs", "floorFiveCoins", f5CoinsSpent); + break; + case F6: + f6CoinsSpent += coinsSpent; + f6CoinsSpentSession += coinsSpent; + ConfigHandler.writeDoubleConfig("catacombs", "floorSixCoins", f6CoinsSpent); + break; + case F7: + f7CoinsSpent += coinsSpent; + f7CoinsSpentSession += coinsSpent; + ConfigHandler.writeDoubleConfig("catacombs", "floorSevenCoins", f7CoinsSpent); + break; + case M1: + case M2: + case M3: + case M4: + case M5: + case M6: + case M7: + masterCoinsSpent += coinsSpent; + masterCoinsSpentSession += coinsSpent; + ConfigHandler.writeDoubleConfig("catacombs", "masterCoins", masterCoinsSpent); break; - } } break; } } } else if (item.getDisplayName().contains("Reroll Chest")) { - List scoreboard = ScoreboardHandler.getSidebarLines(); - for (String s : scoreboard) { - String sCleaned = ScoreboardHandler.cleanSB(s); - if (sCleaned.contains("The Catacombs (")) { - if (sCleaned.contains("F6")) { - f6Rerolls++; - f6RerollsSession++; - ConfigHandler.writeDoubleConfig("catacombs", "floorSixRerolls", f6Rerolls); - } else if (sCleaned.contains("F7")) { - f7Rerolls++; - f7RerollsSession++; - ConfigHandler.writeDoubleConfig("catacombs", "floorSevenRerolls", f7Rerolls); - } else if (sCleaned.contains("(M")) { - masterRerolls++; - masterRerollsSession++; - ConfigHandler.writeDoubleConfig("catacombs", "masterRerolls", masterRerolls); - } + switch (Utils.currentFloor) { + case F6: + f6Rerolls++; + f6RerollsSession++; + ConfigHandler.writeDoubleConfig("catacombs", "floorSixRerolls", f6Rerolls); + break; + case F7: + f7Rerolls++; + f7RerollsSession++; + ConfigHandler.writeDoubleConfig("catacombs", "floorSevenRerolls", f7Rerolls); + break; + case M1: + case M2: + case M3: + case M4: + case M5: + case M6: + case M7: + masterRerolls++; + masterRerollsSession++; + ConfigHandler.writeDoubleConfig("catacombs", "masterRerolls", masterRerolls); break; - } } } } diff --git a/src/main/java/me/Danker/features/loot/LootDisplay.java b/src/main/java/me/Danker/features/loot/LootDisplay.java index 812108b..16e64f6 100644 --- a/src/main/java/me/Danker/features/loot/LootDisplay.java +++ b/src/main/java/me/Danker/features/loot/LootDisplay.java @@ -30,6 +30,8 @@ public class LootDisplay { String timeBetween; String bossesBetween; String drop20; + String runs; + String runsCount; double timeNow = System.currentTimeMillis() / 1000; NumberFormat nf = NumberFormat.getIntegerInstance(Locale.US); @@ -1109,7 +1111,39 @@ public class LootDisplay { EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.f7TimeSpentSession); break; case "catacombs_master": - dropsText = EnumChatFormatting.GOLD + "S Runs:\n" + + if (ToggleCommand.masterSPlusDisplay) { + runs = EnumChatFormatting.GOLD + "Master One S+:\n" + + EnumChatFormatting.GOLD + "Master Two S+:\n" + + EnumChatFormatting.GOLD + "Master Three S+:\n" + + EnumChatFormatting.GOLD + "Master Four S+:\n" + + EnumChatFormatting.GOLD + "Master Five S+:\n" + + EnumChatFormatting.GOLD + "Master Six S+:\n" + + EnumChatFormatting.GOLD + "Master Seven S+:\n"; + runsCount = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.m1SPlus) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.m2SPlus) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.m3SPlus) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.m4SPlus) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.m5SPlus) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.m6SPlus) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.m7SPlus) + "\n"; + } else { + runs = EnumChatFormatting.GOLD + "Master One S:\n" + + EnumChatFormatting.GOLD + "Master Two S:\n" + + EnumChatFormatting.GOLD + "Master Three S:\n" + + EnumChatFormatting.GOLD + "Master Four S:\n" + + EnumChatFormatting.GOLD + "Master Five S:\n" + + EnumChatFormatting.GOLD + "Master Six S:\n" + + EnumChatFormatting.GOLD + "Master Seven S:\n"; + runsCount = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.m1S) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.m2S) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.m3S) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.m4S) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.m5S) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.m6S) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.m7S) + "\n"; + } + + dropsText = runs + EnumChatFormatting.GOLD + "Recombobulators:\n" + EnumChatFormatting.DARK_PURPLE + "Fuming Potato Books:\n" + EnumChatFormatting.DARK_PURPLE + "1st Master Stars:\n" + @@ -1117,10 +1151,11 @@ public class LootDisplay { EnumChatFormatting.DARK_PURPLE + "3rd Master Stars:\n" + EnumChatFormatting.DARK_PURPLE + "4th Master Stars:\n" + EnumChatFormatting.DARK_PURPLE + "5th Master Stars:\n" + + EnumChatFormatting.GOLD + "Dark Claymores:\n" + EnumChatFormatting.WHITE + "Rerolls:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + EnumChatFormatting.AQUA + "Time Spent:"; - countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.masterS) + "\n" + + countText = runsCount + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulators) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.firstStars) + "\n" + @@ -1128,12 +1163,45 @@ public class LootDisplay { EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.thirdStars) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fourthStars) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fifthStars) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.darkClaymores) + "\n" + EnumChatFormatting.WHITE + nf.format(CatacombsTracker.masterRerolls) + "\n" + EnumChatFormatting.AQUA + Utils.getMoneySpent(CatacombsTracker.masterCoinsSpent) + "\n" + EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.masterTimeSpent); break; case "catacombs_master_session": - dropsText = EnumChatFormatting.GOLD + "S Runs:\n" + + if (ToggleCommand.masterSPlusDisplay) { + runs = EnumChatFormatting.GOLD + "Master One S+:\n" + + EnumChatFormatting.GOLD + "Master Two S+:\n" + + EnumChatFormatting.GOLD + "Master Three S+:\n" + + EnumChatFormatting.GOLD + "Master Four S+:\n" + + EnumChatFormatting.GOLD + "Master Five S+:\n" + + EnumChatFormatting.GOLD + "Master Six S+:\n" + + EnumChatFormatting.GOLD + "Master Seven S+:\n"; + runsCount = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.m1SPlusSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.m2SPlusSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.m3SPlusSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.m4SPlusSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.m5SPlusSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.m6SPlusSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.m7SPlusSession) + "\n"; + } else { + runs = EnumChatFormatting.GOLD + "Master One S:\n" + + EnumChatFormatting.GOLD + "Master Two S:\n" + + EnumChatFormatting.GOLD + "Master Three S:\n" + + EnumChatFormatting.GOLD + "Master Four S:\n" + + EnumChatFormatting.GOLD + "Master Five S:\n" + + EnumChatFormatting.GOLD + "Master Six S:\n" + + EnumChatFormatting.GOLD + "Master Seven S:\n"; + runsCount = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.m1SSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.m2SSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.m3SSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.m4SSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.m5SSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.m6SSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.m7SSession) + "\n"; + } + + dropsText = runs + EnumChatFormatting.GOLD + "Recombobulators:\n" + EnumChatFormatting.DARK_PURPLE + "Fuming Potato Books:\n" + EnumChatFormatting.DARK_PURPLE + "1st Master Stars:\n" + @@ -1141,10 +1209,11 @@ public class LootDisplay { EnumChatFormatting.DARK_PURPLE + "3rd Master Stars:\n" + EnumChatFormatting.DARK_PURPLE + "4th Master Stars:\n" + EnumChatFormatting.DARK_PURPLE + "5th Master Stars:\n" + + EnumChatFormatting.GOLD + "Dark Claymores:\n" + EnumChatFormatting.WHITE + "Rerolls:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + EnumChatFormatting.AQUA + "Time Spent:"; - countText = EnumChatFormatting.GOLD + nf.format(CatacombsTracker.masterSSession) + "\n" + + countText = runsCount + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.firstStarsSession) + "\n" + @@ -1152,6 +1221,7 @@ public class LootDisplay { EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.thirdStarsSession) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fourthStarsSession) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fifthStarsSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.darkClaymoresSession) + "\n" + EnumChatFormatting.WHITE + nf.format(CatacombsTracker.masterRerollsSession) + "\n" + EnumChatFormatting.AQUA + Utils.getMoneySpent(CatacombsTracker.masterCoinsSpentSession) + "\n" + EnumChatFormatting.AQUA + Utils.getTimeBetween(0, CatacombsTracker.masterTimeSpentSession); diff --git a/src/main/java/me/Danker/features/puzzlesolvers/LividSolver.java b/src/main/java/me/Danker/features/puzzlesolvers/LividSolver.java index 4e9f498..b947cdb 100644 --- a/src/main/java/me/Danker/features/puzzlesolvers/LividSolver.java +++ b/src/main/java/me/Danker/features/puzzlesolvers/LividSolver.java @@ -38,7 +38,7 @@ public class LividSolver { World world = Minecraft.getMinecraft().theWorld; if (DankersSkyblockMod.tickAmount % 20 == 0) { if (ToggleCommand.lividSolverToggled && Utils.inDungeons && !foundLivid && world != null) { - if (Utils.isInScoreboard("The Catacombs (F5)")) { + if (Utils.currentFloor == Utils.DungeonFloor.F5 || Utils.currentFloor == Utils.DungeonFloor.M5) { List loadedLivids = new ArrayList<>(); List entities = world.getLoadedEntityList(); for (Entity entity : entities) { diff --git a/src/main/java/me/Danker/gui/DankerGui.java b/src/main/java/me/Danker/gui/DankerGui.java index d5e9ee8..a6f76b1 100644 --- a/src/main/java/me/Danker/gui/DankerGui.java +++ b/src/main/java/me/Danker/gui/DankerGui.java @@ -50,6 +50,7 @@ public class DankerGui extends GuiScreen { private GuiButton coords; private GuiButton goldenEnch; private GuiButton slayerCount; + private GuiButton masterSPlusDisplay; private GuiButton rngesusAlert; private GuiButton splitFishing; private GuiButton chatMaddox; @@ -135,6 +136,7 @@ public class DankerGui extends GuiScreen { cakeTimer = new FeatureButton("Cake Timer: " + Utils.getColouredBoolean(ToggleCommand.cakeTimerToggled), "Displays time until century cake buffs run out."); skill50Display = new FeatureButton("Display Progress To Skill Level 50: " + Utils.getColouredBoolean(ToggleCommand.skill50DisplayToggled), "Display total progress to max skill level."); slayerCount = new FeatureButton("Count Total 20% Drops: " + Utils.getColouredBoolean(ToggleCommand.slayerCountTotal), "Counts times dropped instead of amount dropped.\nE.x. Hamster Wheels: 40 -> Hamster Wheels: 10 times."); + masterSPlusDisplay = new FeatureButton("Display MM S+ Runs: " + Utils.getColouredBoolean(ToggleCommand.masterSPlusDisplay), "Dispay Master Mode S+ runs instead of S runs."); spiritBearAlert = new FeatureButton("Spirit Bear Spawn Alerts: " + Utils.getColouredBoolean(ToggleCommand.spiritBearAlerts), "Alert when Spirit Bear spawns."); sceptreMessages = new FeatureButton("Spirit Sceptre Messages: " + Utils.getColouredBoolean(ToggleCommand.sceptreMessages), "Turn " + EnumChatFormatting.RED + "off" + EnumChatFormatting.RESET + " to hide Spirit Sceptre messages."); midasStaffMessages = new FeatureButton("Midas Staff Messages: " + Utils.getColouredBoolean(ToggleCommand.midasStaffMessages), "Turn " + EnumChatFormatting.RED + "off" + EnumChatFormatting.RESET + " to hide Midas Staff messages."); @@ -190,6 +192,7 @@ public class DankerGui extends GuiScreen { allButtons.add(cakeTimer); allButtons.add(skill50Display); allButtons.add(slayerCount); + allButtons.add(masterSPlusDisplay); allButtons.add(spiritBearAlert); allButtons.add(sceptreMessages); allButtons.add(midasStaffMessages); @@ -503,6 +506,10 @@ public class DankerGui extends GuiScreen { ToggleCommand.dungeonScore = !ToggleCommand.dungeonScore; ConfigHandler.writeBooleanConfig("toggles", "DungeonScore", ToggleCommand.dungeonScore); dungeonScore.displayString = "Dungeon Score Display: " + Utils.getColouredBoolean(ToggleCommand.dungeonScore); + } else if (button == masterSPlusDisplay) { + ToggleCommand.masterSPlusDisplay = !ToggleCommand.masterSPlusDisplay; + ConfigHandler.writeBooleanConfig("toggles", "MasterSPlusDisplay", ToggleCommand.masterSPlusDisplay); + masterSPlusDisplay.displayString = "Display MM S+ Runs: " + Utils.getColouredBoolean(ToggleCommand.masterSPlusDisplay); } } diff --git a/src/main/java/me/Danker/handlers/ConfigHandler.java b/src/main/java/me/Danker/handlers/ConfigHandler.java index 3839766..9365b63 100644 --- a/src/main/java/me/Danker/handlers/ConfigHandler.java +++ b/src/main/java/me/Danker/handlers/ConfigHandler.java @@ -201,6 +201,7 @@ public class ConfigHandler { ToggleCommand.coordsToggled = initBoolean("toggles", "Coords", false); ToggleCommand.goldenToggled = initBoolean("toggles", "Golden", false); ToggleCommand.slayerCountTotal = initBoolean("toggles", "SlayerCount", true); + ToggleCommand.masterSPlusDisplay = initBoolean("toggles", "MasterSPlusDisplay", true); ToggleCommand.rngesusAlerts = initBoolean("toggles", "RNGesusAlerts", false); ToggleCommand.ghostDisplay = initBoolean("toggles", "GhostDisplay", true); ToggleCommand.dungeonTimerToggled = initBoolean("toggles", "GhostTimer", false); @@ -514,12 +515,26 @@ public class ConfigHandler { CatacombsTracker.f7CoinsSpent = initDouble("catacombs", "floorSevenCoins", 0); CatacombsTracker.f7TimeSpent = initDouble("catacombs", "floorSevenTime", 0); // MM - CatacombsTracker.masterS = initInt("catacombs", "masterS", 0); + CatacombsTracker.m1S = initInt("catacombs", "masterOneS", 0); + CatacombsTracker.m1SPlus = initInt("catacombs", "masterOneSPlus", 0); + CatacombsTracker.m2S = initInt("catacombs", "masterTwoS", 0); + CatacombsTracker.m2SPlus = initInt("catacombs", "masterTwoSPlus", 0); + CatacombsTracker.m3S = initInt("catacombs", "masterThreeS", 0); + CatacombsTracker.m3SPlus = initInt("catacombs", "masterThreeSPlus", 0); + CatacombsTracker.m4S = initInt("catacombs", "masterFourS", 0); + CatacombsTracker.m4SPlus = initInt("catacombs", "masterFourSPlus", 0); + CatacombsTracker.m5S = initInt("catacombs", "masterFiveS", 0); + CatacombsTracker.m5SPlus = initInt("catacombs", "masterFiveSPlus", 0); + CatacombsTracker.m6S = initInt("catacombs", "masterSixS", 0); + CatacombsTracker.m6SPlus = initInt("catacombs", "masterSixSPlus", 0); + CatacombsTracker.m7S = initInt("catacombs", "masterSevenS", 0); + CatacombsTracker.m7SPlus = initInt("catacombs", "masterSevenSPlus", 0); CatacombsTracker.firstStars = initInt("catacombs", "firstStar", 0); CatacombsTracker.secondStars = initInt("catacombs", "secondStar", 0); CatacombsTracker.thirdStars = initInt("catacombs", "thirdStar", 0); CatacombsTracker.fourthStars = initInt("catacombs", "fourthStar", 0); CatacombsTracker.fifthStars = initInt("catacombs", "fifthStar", 0); + CatacombsTracker.darkClaymores = initInt("catacombs", "darkClaymore", 0); CatacombsTracker.masterRerolls = initInt("catacombs", "masterRerolls", 0); CatacombsTracker.masterCoinsSpent = initDouble("catacombs", "masterCoins", 0); CatacombsTracker.masterTimeSpent = initDouble("catacombs", "masterTime", 0); diff --git a/src/main/java/me/Danker/utils/Utils.java b/src/main/java/me/Danker/utils/Utils.java index 8c48c54..30e8249 100644 --- a/src/main/java/me/Danker/utils/Utils.java +++ b/src/main/java/me/Danker/utils/Utils.java @@ -28,6 +28,7 @@ public class Utils { public static boolean inSkyblock = false; public static boolean inDungeons = false; + public static DungeonFloor currentFloor = DungeonFloor.NONE; public static String tabLocation = ""; public static int[] skillXPPerLevel = {0, 50, 125, 200, 300, 500, 750, 1000, 1500, 2000, 3500, 5000, 7500, 10000, 15000, 20000, 30000, 50000, 75000, 100000, 200000, 300000, 400000, 500000, 600000, 700000, 800000, 900000, 1000000, 1100000, @@ -135,6 +136,31 @@ public class Utils { inDungeons = false; } + public static void checkForDungeonFloor() { + if (inDungeons) { + List scoreboard = ScoreboardHandler.getSidebarLines(); + + for (String s : scoreboard) { + String sCleaned = ScoreboardHandler.cleanSB(s); + + if (sCleaned.contains("The Catacombs (")) { + String floor = sCleaned.substring(sCleaned.indexOf("(") + 1, sCleaned.indexOf(")")); + + try { + currentFloor = DungeonFloor.valueOf(floor); + } catch (IllegalArgumentException ex) { + currentFloor = DungeonFloor.NONE; + ex.printStackTrace(); + } + + break; + } + } + } else { + currentFloor = DungeonFloor.NONE; + } + } + public static void checkTabLocation() { if (inSkyblock) { Collection players = Minecraft.getMinecraft().getNetHandler().getPlayerInfoMap(); @@ -465,4 +491,23 @@ public class Utils { return (Math.floor(level / 2D) + 25) / 100D; } + public enum DungeonFloor { + NONE, + E0, + F1, + F2, + F3, + F4, + F5, + F6, + F7, + M1, + M2, + M3, + M4, + M5, + M6, + M7 + } + } -- cgit From 21ec0b98fff64031c1e42e00487fd31463d5f26d Mon Sep 17 00:00:00 2001 From: bowser0000 Date: Thu, 10 Mar 2022 21:01:28 -0500 Subject: Add Necron Dye to MM tracker Also fix /loot catacombs mm issues --- src/main/java/me/Danker/commands/LootCommand.java | 98 +++++++++++----------- .../me/Danker/features/loot/CatacombsTracker.java | 6 ++ .../java/me/Danker/features/loot/LootDisplay.java | 4 + .../java/me/Danker/handlers/ConfigHandler.java | 1 + 4 files changed, 61 insertions(+), 48 deletions(-) (limited to 'src/main/java/me/Danker/features/loot/LootDisplay.java') diff --git a/src/main/java/me/Danker/commands/LootCommand.java b/src/main/java/me/Danker/commands/LootCommand.java index bfef29d..5edc5f4 100644 --- a/src/main/java/me/Danker/commands/LootCommand.java +++ b/src/main/java/me/Danker/commands/LootCommand.java @@ -834,61 +834,63 @@ public class LootCommand extends CommandBase { if (showSession) { player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs MM Summary (Current Session):\n" + - EnumChatFormatting.GOLD + " Master One S Runs:" + nf.format(CatacombsTracker.m1SSession) + "\n" + - EnumChatFormatting.GOLD + " Master One S+ Runs:" + nf.format(CatacombsTracker.m1SPlusSession) + "\n" + - EnumChatFormatting.GOLD + " Master Two S Runs:" + nf.format(CatacombsTracker.m2SSession) + "\n" + - EnumChatFormatting.GOLD + " Master Two S+ Runs:" + nf.format(CatacombsTracker.m2SPlusSession) + "\n" + - EnumChatFormatting.GOLD + " Master Three S Runs:" + nf.format(CatacombsTracker.m3SSession) + "\n" + - EnumChatFormatting.GOLD + " Master Three S+ Runs:" + nf.format(CatacombsTracker.m3SPlusSession) + "\n" + - EnumChatFormatting.GOLD + " Master Four S Runs:" + nf.format(CatacombsTracker.m4SSession) + "\n" + - EnumChatFormatting.GOLD + " Master Four S+ Runs:" + nf.format(CatacombsTracker.m4SPlusSession) + "\n" + - EnumChatFormatting.GOLD + " Master Five S Runs:" + nf.format(CatacombsTracker.m5SSession) + "\n" + - EnumChatFormatting.GOLD + " Master Five S+ Runs:" + nf.format(CatacombsTracker.m5SPlusSession) + "\n" + - EnumChatFormatting.GOLD + " Master Six S Runs:" + nf.format(CatacombsTracker.m6SSession) + "\n" + - EnumChatFormatting.GOLD + " Master Six S+ Runs:" + nf.format(CatacombsTracker.m6SPlusSession) + "\n" + - EnumChatFormatting.GOLD + " Master Seven S Runs:" + nf.format(CatacombsTracker.m7SSession) + "\n" + - EnumChatFormatting.GOLD + " Master Seven S+ Runs:" + nf.format(CatacombsTracker.m7SPlusSession) + "\n" + - EnumChatFormatting.GOLD + " Recombobulators:" + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books:" + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " 1st Master Stars:" + nf.format(CatacombsTracker.firstStarsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " 2nd Master Stars:" + nf.format(CatacombsTracker.secondStarsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " 3rd Master Stars:" + nf.format(CatacombsTracker.thirdStarsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " 4th Master Stars:" + nf.format(CatacombsTracker.fourthStarsSession) + "\n" + - EnumChatFormatting.DARK_PURPLE + " 5th Master Stars:" + nf.format(CatacombsTracker.fifthStarsSession) + "\n" + + EnumChatFormatting.GOLD + " Master One S Runs: " + nf.format(CatacombsTracker.m1SSession) + "\n" + + EnumChatFormatting.GOLD + " Master One S+ Runs: " + nf.format(CatacombsTracker.m1SPlusSession) + "\n" + + EnumChatFormatting.GOLD + " Master Two S Runs: " + nf.format(CatacombsTracker.m2SSession) + "\n" + + EnumChatFormatting.GOLD + " Master Two S+ Runs: " + nf.format(CatacombsTracker.m2SPlusSession) + "\n" + + EnumChatFormatting.GOLD + " Master Three S Runs: " + nf.format(CatacombsTracker.m3SSession) + "\n" + + EnumChatFormatting.GOLD + " Master Three S+ Runs: " + nf.format(CatacombsTracker.m3SPlusSession) + "\n" + + EnumChatFormatting.GOLD + " Master Four S Runs: " + nf.format(CatacombsTracker.m4SSession) + "\n" + + EnumChatFormatting.GOLD + " Master Four S+ Runs: " + nf.format(CatacombsTracker.m4SPlusSession) + "\n" + + EnumChatFormatting.GOLD + " Master Five S Runs: " + nf.format(CatacombsTracker.m5SSession) + "\n" + + EnumChatFormatting.GOLD + " Master Five S+ Runs: " + nf.format(CatacombsTracker.m5SPlusSession) + "\n" + + EnumChatFormatting.GOLD + " Master Six S Runs: " + nf.format(CatacombsTracker.m6SSession) + "\n" + + EnumChatFormatting.GOLD + " Master Six S+ Runs: " + nf.format(CatacombsTracker.m6SPlusSession) + "\n" + + EnumChatFormatting.GOLD + " Master Seven S Runs: " + nf.format(CatacombsTracker.m7SSession) + "\n" + + EnumChatFormatting.GOLD + " Master Seven S+ Runs: " + nf.format(CatacombsTracker.m7SPlusSession) + "\n" + + EnumChatFormatting.GOLD + " Recombobulators: " + nf.format(CatacombsTracker.recombobulatorsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(CatacombsTracker.fumingPotatoBooksSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " 1st Master Stars: " + nf.format(CatacombsTracker.firstStarsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " 2nd Master Stars: " + nf.format(CatacombsTracker.secondStarsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " 3rd Master Stars: " + nf.format(CatacombsTracker.thirdStarsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " 4th Master Stars: " + nf.format(CatacombsTracker.fourthStarsSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + " 5th Master Stars: " + nf.format(CatacombsTracker.fifthStarsSession) + "\n" + + EnumChatFormatting.GOLD + " Necron Dyes: " + nf.format(CatacombsTracker.necronDyesSession) + "\n" + EnumChatFormatting.GOLD + " Dark Claymores: " + nf.format(CatacombsTracker.darkClaymoresSession) + "\n" + - EnumChatFormatting.WHITE + " Rerolls:" + nf.format(CatacombsTracker.masterRerollsSession) + "\n" + - EnumChatFormatting.AQUA + " Coins Spent:" + nf.format(CatacombsTracker.masterCoinsSpentSession) + "\n" + - EnumChatFormatting.AQUA + " Time Spent:" + nf.format(CatacombsTracker.masterTimeSpentSession) + "\n" + + EnumChatFormatting.WHITE + " Rerolls: " + nf.format(CatacombsTracker.masterRerollsSession) + "\n" + + EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(CatacombsTracker.masterCoinsSpentSession) + "\n" + + EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, CatacombsTracker.masterTimeSpentSession) + "\n" + EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " -------------------")); return; } player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + "" + EnumChatFormatting.BOLD + "-------------------\n" + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Catacombs MM Summary:\n" + - EnumChatFormatting.GOLD + " Master One S Runs:" + nf.format(CatacombsTracker.m1S) + "\n" + - EnumChatFormatting.GOLD + " Master One S+ Runs:" + nf.format(CatacombsTracker.m1SPlus) + "\n" + - EnumChatFormatting.GOLD + " Master Two S Runs:" + nf.format(CatacombsTracker.m2S) + "\n" + - EnumChatFormatting.GOLD + " Master Two S+ Runs:" + nf.format(CatacombsTracker.m2SPlus) + "\n" + - EnumChatFormatting.GOLD + " Master Three S Runs:" + nf.format(CatacombsTracker.m3S) + "\n" + - EnumChatFormatting.GOLD + " Master Three S+ Runs:" + nf.format(CatacombsTracker.m3SPlus) + "\n" + - EnumChatFormatting.GOLD + " Master Four S Runs:" + nf.format(CatacombsTracker.m4S) + "\n" + - EnumChatFormatting.GOLD + " Master Four S+ Runs:" + nf.format(CatacombsTracker.m4SPlus) + "\n" + - EnumChatFormatting.GOLD + " Master Five S Runs:" + nf.format(CatacombsTracker.m5S) + "\n" + - EnumChatFormatting.GOLD + " Master Five S+ Runs:" + nf.format(CatacombsTracker.m5SPlus) + "\n" + - EnumChatFormatting.GOLD + " Master Six S Runs:" + nf.format(CatacombsTracker.m6S) + "\n" + - EnumChatFormatting.GOLD + " Master Six S+ Runs:" + nf.format(CatacombsTracker.m6SPlus) + "\n" + - EnumChatFormatting.GOLD + " Master Seven S Runs:" + nf.format(CatacombsTracker.m7S) + "\n" + - EnumChatFormatting.GOLD + " Master Seven S+ Runs:" + nf.format(CatacombsTracker.m7SPlus) + "\n" + - EnumChatFormatting.GOLD + " Recombobulators:" + nf.format(CatacombsTracker.recombobulators) + "\n" + - EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books:" + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + - EnumChatFormatting.DARK_PURPLE + " 1st Master Stars:" + nf.format(CatacombsTracker.firstStars) + "\n" + - EnumChatFormatting.DARK_PURPLE + " 2nd Master Stars:" + nf.format(CatacombsTracker.secondStars) + "\n" + - EnumChatFormatting.DARK_PURPLE + " 3rd Master Stars:" + nf.format(CatacombsTracker.thirdStars) + "\n" + - EnumChatFormatting.DARK_PURPLE + " 4th Master Stars:" + nf.format(CatacombsTracker.fourthStars) + "\n" + - EnumChatFormatting.DARK_PURPLE + " 5th Master Stars:" + nf.format(CatacombsTracker.fifthStars) + "\n" + + EnumChatFormatting.GOLD + " Master One S Runs: " + nf.format(CatacombsTracker.m1S) + "\n" + + EnumChatFormatting.GOLD + " Master One S+ Runs: " + nf.format(CatacombsTracker.m1SPlus) + "\n" + + EnumChatFormatting.GOLD + " Master Two S Runs: " + nf.format(CatacombsTracker.m2S) + "\n" + + EnumChatFormatting.GOLD + " Master Two S+ Runs: " + nf.format(CatacombsTracker.m2SPlus) + "\n" + + EnumChatFormatting.GOLD + " Master Three S Runs: " + nf.format(CatacombsTracker.m3S) + "\n" + + EnumChatFormatting.GOLD + " Master Three S+ Runs: " + nf.format(CatacombsTracker.m3SPlus) + "\n" + + EnumChatFormatting.GOLD + " Master Four S Runs: " + nf.format(CatacombsTracker.m4S) + "\n" + + EnumChatFormatting.GOLD + " Master Four S+ Runs: " + nf.format(CatacombsTracker.m4SPlus) + "\n" + + EnumChatFormatting.GOLD + " Master Five S Runs: " + nf.format(CatacombsTracker.m5S) + "\n" + + EnumChatFormatting.GOLD + " Master Five S+ Runs: " + nf.format(CatacombsTracker.m5SPlus) + "\n" + + EnumChatFormatting.GOLD + " Master Six S Runs: " + nf.format(CatacombsTracker.m6S) + "\n" + + EnumChatFormatting.GOLD + " Master Six S+ Runs: " + nf.format(CatacombsTracker.m6SPlus) + "\n" + + EnumChatFormatting.GOLD + " Master Seven S Runs: " + nf.format(CatacombsTracker.m7S) + "\n" + + EnumChatFormatting.GOLD + " Master Seven S+ Runs: " + nf.format(CatacombsTracker.m7SPlus) + "\n" + + EnumChatFormatting.GOLD + " Recombobulators: " + nf.format(CatacombsTracker.recombobulators) + "\n" + + EnumChatFormatting.DARK_PURPLE + " Fuming Potato Books: " + nf.format(CatacombsTracker.fumingPotatoBooks) + "\n" + + EnumChatFormatting.DARK_PURPLE + " 1st Master Stars: " + nf.format(CatacombsTracker.firstStars) + "\n" + + EnumChatFormatting.DARK_PURPLE + " 2nd Master Stars: " + nf.format(CatacombsTracker.secondStars) + "\n" + + EnumChatFormatting.DARK_PURPLE + " 3rd Master Stars: " + nf.format(CatacombsTracker.thirdStars) + "\n" + + EnumChatFormatting.DARK_PURPLE + " 4th Master Stars: " + nf.format(CatacombsTracker.fourthStars) + "\n" + + EnumChatFormatting.DARK_PURPLE + " 5th Master Stars: " + nf.format(CatacombsTracker.fifthStars) + "\n" + + EnumChatFormatting.GOLD + " Necron Dyes: " + nf.format(CatacombsTracker.necronDyes) + "\n" + EnumChatFormatting.GOLD + " Dark Claymores: " + nf.format(CatacombsTracker.darkClaymores) + "\n" + - EnumChatFormatting.WHITE + " Rerolls:" + nf.format(CatacombsTracker.masterRerolls) + "\n" + - EnumChatFormatting.AQUA + " Coins Spent:" + nf.format(CatacombsTracker.masterCoinsSpent) + "\n" + - EnumChatFormatting.AQUA + " Time Spent:" + nf.format(CatacombsTracker.masterTimeSpent) + "\n" + + EnumChatFormatting.WHITE + " Rerolls: " + nf.format(CatacombsTracker.masterRerolls) + "\n" + + EnumChatFormatting.AQUA + " Coins Spent: " + Utils.getMoneySpent(CatacombsTracker.masterCoinsSpent) + "\n" + + EnumChatFormatting.AQUA + " Time Spent: " + Utils.getTimeBetween(0, CatacombsTracker.masterTimeSpent) + "\n" + EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " -------------------")); break; default: diff --git a/src/main/java/me/Danker/features/loot/CatacombsTracker.java b/src/main/java/me/Danker/features/loot/CatacombsTracker.java index 8d50ab3..634c7ad 100644 --- a/src/main/java/me/Danker/features/loot/CatacombsTracker.java +++ b/src/main/java/me/Danker/features/loot/CatacombsTracker.java @@ -108,6 +108,7 @@ public class CatacombsTracker { public static int thirdStars; public static int fourthStars; public static int fifthStars; + public static int necronDyes; public static int darkClaymores; public static int masterRerolls; public static double masterCoinsSpent; @@ -207,6 +208,7 @@ public class CatacombsTracker { public static int thirdStarsSession = 0; public static int fourthStarsSession = 0; public static int fifthStarsSession = 0; + public static int necronDyesSession = 0; public static int darkClaymoresSession = 0; public static int masterRerollsSession = 0; public static double masterCoinsSpentSession = 0; @@ -554,6 +556,10 @@ public class CatacombsTracker { darkClaymores++; darkClaymoresSession++; ConfigHandler.writeIntConfig("catacombs", "darkClaymore", darkClaymores); + } else if (message.contains("Necron Dye")) { + necronDyes++; + necronDyesSession++; + ConfigHandler.writeIntConfig("catacombs", "necronDye", necronDyes); } } diff --git a/src/main/java/me/Danker/features/loot/LootDisplay.java b/src/main/java/me/Danker/features/loot/LootDisplay.java index 16e64f6..aabdbd9 100644 --- a/src/main/java/me/Danker/features/loot/LootDisplay.java +++ b/src/main/java/me/Danker/features/loot/LootDisplay.java @@ -1151,6 +1151,7 @@ public class LootDisplay { EnumChatFormatting.DARK_PURPLE + "3rd Master Stars:\n" + EnumChatFormatting.DARK_PURPLE + "4th Master Stars:\n" + EnumChatFormatting.DARK_PURPLE + "5th Master Stars:\n" + + EnumChatFormatting.GOLD + "Necron Dyes:\n" + EnumChatFormatting.GOLD + "Dark Claymores:\n" + EnumChatFormatting.WHITE + "Rerolls:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + @@ -1163,6 +1164,7 @@ public class LootDisplay { EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.thirdStars) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fourthStars) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fifthStars) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.necronDyes) + "\n" + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.darkClaymores) + "\n" + EnumChatFormatting.WHITE + nf.format(CatacombsTracker.masterRerolls) + "\n" + EnumChatFormatting.AQUA + Utils.getMoneySpent(CatacombsTracker.masterCoinsSpent) + "\n" + @@ -1209,6 +1211,7 @@ public class LootDisplay { EnumChatFormatting.DARK_PURPLE + "3rd Master Stars:\n" + EnumChatFormatting.DARK_PURPLE + "4th Master Stars:\n" + EnumChatFormatting.DARK_PURPLE + "5th Master Stars:\n" + + EnumChatFormatting.GOLD + "Necron Dyes:\n" + EnumChatFormatting.GOLD + "Dark Claymores:\n" + EnumChatFormatting.WHITE + "Rerolls:\n" + EnumChatFormatting.AQUA + "Coins Spent:\n" + @@ -1221,6 +1224,7 @@ public class LootDisplay { EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.thirdStarsSession) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fourthStarsSession) + "\n" + EnumChatFormatting.DARK_PURPLE + nf.format(CatacombsTracker.fifthStarsSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.necronDyesSession) + "\n" + EnumChatFormatting.GOLD + nf.format(CatacombsTracker.darkClaymoresSession) + "\n" + EnumChatFormatting.WHITE + nf.format(CatacombsTracker.masterRerollsSession) + "\n" + EnumChatFormatting.AQUA + Utils.getMoneySpent(CatacombsTracker.masterCoinsSpentSession) + "\n" + diff --git a/src/main/java/me/Danker/handlers/ConfigHandler.java b/src/main/java/me/Danker/handlers/ConfigHandler.java index 25988a6..dc57e91 100644 --- a/src/main/java/me/Danker/handlers/ConfigHandler.java +++ b/src/main/java/me/Danker/handlers/ConfigHandler.java @@ -534,6 +534,7 @@ public class ConfigHandler { CatacombsTracker.thirdStars = initInt("catacombs", "thirdStar", 0); CatacombsTracker.fourthStars = initInt("catacombs", "fourthStar", 0); CatacombsTracker.fifthStars = initInt("catacombs", "fifthStar", 0); + CatacombsTracker.necronDyes = initInt("catacombs", "necronDye", 0); CatacombsTracker.darkClaymores = initInt("catacombs", "darkClaymore", 0); CatacombsTracker.masterRerolls = initInt("catacombs", "masterRerolls", 0); CatacombsTracker.masterCoinsSpent = initDouble("catacombs", "masterCoins", 0); -- cgit From f214832fb6f315d59d876267f71e9e9f0a6082fd Mon Sep 17 00:00:00 2001 From: bowser0000 Date: Wed, 20 Apr 2022 22:52:26 -0400 Subject: Add blaze slayer support + tracker --- README.md | 8 +- src/main/java/me/Danker/DankersSkyblockMod.java | 1 + .../me/Danker/commands/BlockSlayerCommand.java | 10 +- .../java/me/Danker/commands/DisplayCommand.java | 13 +- src/main/java/me/Danker/commands/LootCommand.java | 89 +++++++++- .../java/me/Danker/commands/ResetLootCommand.java | 39 ++++- .../me/Danker/commands/SkyblockPlayersCommand.java | 19 +-- .../java/me/Danker/commands/SlayerCommand.java | 10 +- .../java/me/Danker/commands/WeightCommand.java | 2 + src/main/java/me/Danker/features/AutoDisplay.java | 3 + .../java/me/Danker/features/loot/BlazeTracker.java | 184 +++++++++++++++++++++ .../java/me/Danker/features/loot/LootDisplay.java | 122 ++++++++++++++ .../java/me/Danker/features/loot/LootTracker.java | 6 +- src/main/java/me/Danker/gui/DisplayGui.java | 13 +- src/main/java/me/Danker/gui/OnlySlayerGui.java | 14 +- .../java/me/Danker/handlers/ConfigHandler.java | 27 ++- 16 files changed, 519 insertions(+), 41 deletions(-) create mode 100644 src/main/java/me/Danker/features/loot/BlazeTracker.java (limited to 'src/main/java/me/Danker/features/loot/LootDisplay.java') diff --git a/README.md b/README.md index 4a77ae4..2a740c7 100644 --- a/README.md +++ b/README.md @@ -72,9 +72,9 @@ Discord Server: https://discord.gg/QsEkNQS - /toggle - Toggles features. /toggle list returns values of every toggle. - /setkey - Sets API key. - /getkey - Returns key set with /setkey and copies it to your clipboard. -- /loot [winter/festival/spooky/ch/f(1-7)/mm/session] - Returns loot received from slayer quests or fishing stats. /loot fishing winter returns winter sea creatures instead. -- /display [winter/festival/spooky/ch/f(1-7)/mm/session] - Text display for trackers. /display fishing winter displays winter sea creatures instead. /display auto automatically displays the loot for the slayer quest you have active. -- /resetloot - - Resets loot for trackers. /resetloot confirm confirms the reset. +- /loot [winter/festival/spooky/ch/f(1-7)/mm/session] - Returns loot received from slayer quests or fishing stats. /loot fishing winter returns winter sea creatures instead. +- /display [winter/festival/spooky/ch/f(1-7)/mm/session] - Text display for trackers. /display fishing winter displays winter sea creatures instead. /display auto automatically displays the loot for the slayer quest you have active. +- /resetloot - - Resets loot for trackers. /resetloot confirm confirms the reset. - /move - Moves text display to specified X and Y coordinates. - /scale - Scales text display to a specified multipler between 0.1x and 10x. - /slayer [player] - Uses API to get slayer xp of a person. If no name is provided, it checks yours. @@ -88,7 +88,7 @@ Discord Server: https://discord.gg/QsEkNQS - /weight [player] [lily/farming] - Uses API to get weight of a person. If no name is provided, it checks yours. Adding lily uses lily's weight. Adding farming uses Kaeso's farming weight. - /importfishing - Imports your fishing stats from your latest profile to your fishing tracker using the API. - /sbplayers - Uses API to find how many players are on each Skyblock island. -- /onlyslayer <1/2/3/4/5> +- /onlyslayer <1/2/3/4/5> - /skilltracker - Text display for skill xp/hour. - /reparty - Disbands and reparties all members in the party - /fairysouls - Check the fairysouls of a player diff --git a/src/main/java/me/Danker/DankersSkyblockMod.java b/src/main/java/me/Danker/DankersSkyblockMod.java index 07ba904..fb98068 100644 --- a/src/main/java/me/Danker/DankersSkyblockMod.java +++ b/src/main/java/me/Danker/DankersSkyblockMod.java @@ -166,6 +166,7 @@ public class DankersSkyblockMod { MinecraftForge.EVENT_BUS.register(new LootDisplay()); MinecraftForge.EVENT_BUS.register(new LootTracker()); + MinecraftForge.EVENT_BUS.register(new BlazeTracker()); MinecraftForge.EVENT_BUS.register(new CatacombsTracker()); MinecraftForge.EVENT_BUS.register(new EndermanTracker()); MinecraftForge.EVENT_BUS.register(new FishingTracker()); diff --git a/src/main/java/me/Danker/commands/BlockSlayerCommand.java b/src/main/java/me/Danker/commands/BlockSlayerCommand.java index 9f51be6..37047c9 100644 --- a/src/main/java/me/Danker/commands/BlockSlayerCommand.java +++ b/src/main/java/me/Danker/commands/BlockSlayerCommand.java @@ -21,7 +21,7 @@ public class BlockSlayerCommand extends CommandBase { @Override public String getCommandUsage(ICommandSender arg0) { - return "/" + getCommandName() + " <1/2/3/4/5>"; + return "/" + getCommandName() + " <1/2/3/4/5>"; } public static String usage(ICommandSender arg0) { @@ -36,7 +36,7 @@ public class BlockSlayerCommand extends CommandBase { @Override public List addTabCompletionOptions(ICommandSender sender, String[] args, BlockPos pos) { if (args.length == 1) { - return getListOfStringsMatchingLastWord(args, "zombie", "spider", "wolf", "enderman"); + return getListOfStringsMatchingLastWord(args, "zombie", "spider", "wolf", "enderman", "blaze"); } else if (args.length == 2) { return getListOfStringsMatchingLastWord(args, "1", "2", "3", "4", "5"); } @@ -62,6 +62,12 @@ public class BlockSlayerCommand extends CommandBase { case "wolf": BlockWrongSlayer.onlySlayerName = "Sven Packmaster"; break; + case "enderman": + BlockWrongSlayer.onlySlayerName = "Voidgloom Seraph"; + break; + case "blaze": + BlockWrongSlayer.onlySlayerName = "Inferno Demonlord"; + break; case "off": BlockWrongSlayer.onlySlayerName = ""; BlockWrongSlayer.onlySlayerNumber = ""; diff --git a/src/main/java/me/Danker/commands/DisplayCommand.java b/src/main/java/me/Danker/commands/DisplayCommand.java index 3db6853..174258d 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() + " [winter/festival/spooky/ch/session/f(1-7)/mm]"; + return "/" + getCommandName() + " [winter/festival/spooky/ch/session/f(1-7)/mm]"; } public static String usage(ICommandSender arg0) { @@ -36,7 +36,7 @@ public class DisplayCommand extends CommandBase { @Override public List addTabCompletionOptions(ICommandSender sender, String[] args, BlockPos pos) { if (args.length == 1) { - return getListOfStringsMatchingLastWord(args, "wolf", "spider", "zombie", "enderman", "fishing", "catacombs", "mythological", "ghost", "auto", "off"); + return getListOfStringsMatchingLastWord(args, "wolf", "spider", "zombie", "enderman", "blaze", "fishing", "catacombs", "mythological", "ghost", "auto", "off"); } else if (args.length == 2 && args[0].equalsIgnoreCase("fishing")) { return getListOfStringsMatchingLastWord(args, "winter", "festival", "spooky", "ch", "session"); } else if (args.length == 2 && args[0].equalsIgnoreCase("catacombs")) { @@ -89,6 +89,13 @@ public class DisplayCommand extends CommandBase { LootDisplay.display = "enderman"; } break; + case "blaze": + if (showSession) { + LootDisplay.display = "blaze_session"; + } else { + LootDisplay.display = "blaze"; + } + break; case "fishing": if (arg1.length > 1) { switch (arg1[1].toLowerCase()) { @@ -213,7 +220,7 @@ public class DisplayCommand extends CommandBase { LootDisplay.display = "catacombs_master"; } default: - player.addChatMessage(new ChatComponentText(DankersSkyblockMod.ERROR_COLOUR + "Usage: /display catacombs ")); + player.addChatMessage(new ChatComponentText(DankersSkyblockMod.ERROR_COLOUR + "Usage: /display catacombs ")); return; } break; diff --git a/src/main/java/me/Danker/commands/LootCommand.java b/src/main/java/me/Danker/commands/LootCommand.java index 5edc5f4..5d91573 100644 --- a/src/main/java/me/Danker/commands/LootCommand.java +++ b/src/main/java/me/Danker/commands/LootCommand.java @@ -24,7 +24,7 @@ public class LootCommand extends CommandBase { @Override public String getCommandUsage(ICommandSender arg0) { - return "/" + getCommandName() + " [winter/festival/spooky/ch/f(1-7)/mm/session]"; + return "/" + getCommandName() + " [winter/festival/spooky/ch/f(1-7)/mm/session]"; } public static String usage(ICommandSender arg0) { @@ -39,7 +39,7 @@ public class LootCommand extends CommandBase { @Override public List addTabCompletionOptions(ICommandSender sender, String[] args, BlockPos pos) { if (args.length == 1) { - return getListOfStringsMatchingLastWord(args, "wolf", "spider", "zombie", "enderman", "fishing", "catacombs", "mythological"); + return getListOfStringsMatchingLastWord(args, "wolf", "spider", "zombie", "enderman", "blaze", "fishing", "catacombs", "mythological"); } else if (args.length == 2 && args[0].equalsIgnoreCase("fishing")) { return getListOfStringsMatchingLastWord(args, "winter", "festival", "spooky", "ch", "session"); } else if (args.length == 2 && args[0].equalsIgnoreCase("catacombs")) { @@ -64,9 +64,8 @@ public class LootCommand extends CommandBase { String bossesBetween; String drop20; NumberFormat nf = NumberFormat.getIntegerInstance(Locale.US); - boolean showSession = false; - if (arg1[arg1.length - 1].equalsIgnoreCase("session")) showSession = true; + boolean showSession = arg1[arg1.length - 1].equalsIgnoreCase("session"); switch (arg1[0].toLowerCase()) { case "wolf": @@ -363,6 +362,88 @@ public class LootCommand extends CommandBase { EnumChatFormatting.AQUA + " Bosses Since RNG: " + bossesBetween + "\n" + EnumChatFormatting.DARK_PURPLE + EnumChatFormatting.BOLD + " -------------------")); break; + case "blaze": + if (showSession) { + if (BlazeTracker.timeSession == -1) { + timeBetween = "Never"; + } else { + timeBetween = Utils.getTimeBetween(BlazeTracker.timeSession, timeNow); + } + if (BlazeTracker.bossesSession == -1) { + bossesBetween = "Never"; + } else { + bossesBetween = nf.format(BlazeTracker.bossesSession); + } + + player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "" + EnumChatFormatting.BOLD + "-------------------\n" + + EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " Blaze Loot Summary (Current Session):\n" + + EnumChatFormatting.GOLD + " Demonlords Killed: " + nf.format(BlazeTracker.demonlordsSession) + "\n" + + EnumChatFormatting.GRAY + " Derelict Ashes: " + nf.format(BlazeTracker.derelictAshesSession) + "\n" + + EnumChatFormatting.RED + " Lavatear Runes: " + nf.format(BlazeTracker.lavatearRunesSession) + "\n" + + EnumChatFormatting.AQUA + " Splash Potions: " + nf.format(BlazeTracker.splashPotionsSession) + "\n" + + EnumChatFormatting.DARK_RED + " Magma Arrows: " + nf.format(BlazeTracker.magmaArrowsSession) + "\n" + + EnumChatFormatting.DARK_AQUA + " Mana Disintegrators: " + nf.format(BlazeTracker.manaDisintegratorsSession) + "\n" + + EnumChatFormatting.LIGHT_PURPLE + " Scorched Books: " + nf.format(BlazeTracker.scorchedBooksSession) + "\n" + + EnumChatFormatting.WHITE + " Kelvin Inverters: " + nf.format(BlazeTracker.kelvinInvertersSession) + "\n" + + EnumChatFormatting.BLUE + " Blaze Rod Distillates: " + nf.format(BlazeTracker.blazeRodDistillatesSession) + "\n" + + EnumChatFormatting.BLUE + " Glowstone Distillates: " + nf.format(BlazeTracker.glowstoneDistillatesSession) + "\n" + + EnumChatFormatting.BLUE + " Magma Cream Distillates: " + nf.format(BlazeTracker.magmaCreamDistillatesSession) + "\n" + + EnumChatFormatting.BLUE + " Nether Wart Distillates: " + nf.format(BlazeTracker.netherWartDistillatesSession) + "\n" + + EnumChatFormatting.BLUE + " Gabagool Distillates: " + nf.format(BlazeTracker.gabagoolDistillatesSession) + "\n" + + EnumChatFormatting.RED + " Scorched Power Crystals: " + nf.format(BlazeTracker.scorchedPowerCrystalsSession) + "\n" + + EnumChatFormatting.RED + " Fire Aspect Books: " + nf.format(BlazeTracker.fireAspectBooksSession) + "\n" + + EnumChatFormatting.GOLD + " Fiery Burst Runes: " + nf.format(BlazeTracker.fieryBurstRunesSession) + "\n" + + EnumChatFormatting.WHITE + " Opal Gems: " + nf.format(BlazeTracker.opalGemsSession) + "\n" + + EnumChatFormatting.RED + " Archfiend Dice: " + nf.format(BlazeTracker.archfiendDiceSession) + "\n" + + EnumChatFormatting.LIGHT_PURPLE + " Duplex Books: " + nf.format(BlazeTracker.duplexBooksSession) + "\n" + + EnumChatFormatting.GOLD + " High Class Archfiend Dice: " + nf.format(BlazeTracker.highClassArchfiendDiceSession) + "\n" + + EnumChatFormatting.GOLD + " Engineering Plans: " + nf.format(BlazeTracker.engineeringPlansSession) + "\n" + + EnumChatFormatting.GOLD + " Subzero Inverters: " + nf.format(BlazeTracker.subzeroInvertersSession) + "\n" + + EnumChatFormatting.AQUA + " Time Since RNG: " + timeBetween + "\n" + + EnumChatFormatting.AQUA + " Bosses Since RNG: " + bossesBetween + "\n" + + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " -------------------")); + return; + } + + if (BlazeTracker.time == -1) { + timeBetween = "Never"; + } else { + timeBetween = Utils.getTimeBetween(BlazeTracker.time, timeNow); + } + if (BlazeTracker.bosses == -1) { + bossesBetween = "Never"; + } else { + bossesBetween = nf.format(BlazeTracker.bosses); + } + + player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "" + EnumChatFormatting.BOLD + "-------------------\n" + + EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " Blaze Loot Summary:\n" + + EnumChatFormatting.GOLD + " Demonlords Killed: " + nf.format(BlazeTracker.demonlords) + "\n" + + EnumChatFormatting.GRAY + " Derelict Ashes: " + nf.format(BlazeTracker.derelictAshes) + "\n" + + EnumChatFormatting.RED + " Lavatear Runes: " + nf.format(BlazeTracker.lavatearRunes) + "\n" + + EnumChatFormatting.AQUA + " Splash Potions: " + nf.format(BlazeTracker.splashPotions) + "\n" + + EnumChatFormatting.DARK_RED + " Magma Arrows: " + nf.format(BlazeTracker.magmaArrows) + "\n" + + EnumChatFormatting.DARK_AQUA + " Mana Disintegrators: " + nf.format(BlazeTracker.manaDisintegrators) + "\n" + + EnumChatFormatting.LIGHT_PURPLE + " Scorched Books: " + nf.format(BlazeTracker.scorchedBooks) + "\n" + + EnumChatFormatting.WHITE + " Kelvin Inverters: " + nf.format(BlazeTracker.kelvinInverters) + "\n" + + EnumChatFormatting.BLUE + " Blaze Rod Distillates: " + nf.format(BlazeTracker.blazeRodDistillates) + "\n" + + EnumChatFormatting.BLUE + " Glowstone Distillates: " + nf.format(BlazeTracker.glowstoneDistillates) + "\n" + + EnumChatFormatting.BLUE + " Magma Cream Distillates: " + nf.format(BlazeTracker.magmaCreamDistillates) + "\n" + + EnumChatFormatting.BLUE + " Nether Wart Distillates: " + nf.format(BlazeTracker.netherWartDistillates) + "\n" + + EnumChatFormatting.BLUE + " Gabagool Distillates: " + nf.format(BlazeTracker.gabagoolDistillates) + "\n" + + EnumChatFormatting.RED + " Scorched Power Crystals: " + nf.format(BlazeTracker.scorchedPowerCrystals) + "\n" + + EnumChatFormatting.RED + " Fire Aspect Books: " + nf.format(BlazeTracker.fireAspectBooks) + "\n" + + EnumChatFormatting.GOLD + " Fiery Burst Runes: " + nf.format(BlazeTracker.fieryBurstRunes) + "\n" + + EnumChatFormatting.WHITE + " Opal Gems: " + nf.format(BlazeTracker.opalGems) + "\n" + + EnumChatFormatting.RED + " Archfiend Dice: " + nf.format(BlazeTracker.archfiendDice) + "\n" + + EnumChatFormatting.LIGHT_PURPLE + " Duplex Books: " + nf.format(BlazeTracker.duplexBooks) + "\n" + + EnumChatFormatting.GOLD + " High Class Archfiend Dice: " + nf.format(BlazeTracker.highClassArchfiendDice) + "\n" + + EnumChatFormatting.GOLD + " Engineering Plans: " + nf.format(BlazeTracker.engineeringPlans) + "\n" + + EnumChatFormatting.GOLD + " Subzero Inverters: " + nf.format(BlazeTracker.subzeroInverters) + "\n" + + EnumChatFormatting.AQUA + " Time Since RNG: " + timeBetween + "\n" + + EnumChatFormatting.AQUA + " Bosses Since RNG: " + bossesBetween + "\n" + + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " -------------------")); + break; case "fishing": if (arg1.length > 1) { if (arg1[1].equalsIgnoreCase("winter")) { diff --git a/src/main/java/me/Danker/commands/ResetLootCommand.java b/src/main/java/me/Danker/commands/ResetLootCommand.java index f1d2828..d3294b2 100644 --- a/src/main/java/me/Danker/commands/ResetLootCommand.java +++ b/src/main/java/me/Danker/commands/ResetLootCommand.java @@ -25,7 +25,7 @@ public class ResetLootCommand extends CommandBase { @Override public String getCommandUsage(ICommandSender arg0) { - return "/" + getCommandName() + ""; + return "/" + getCommandName() + ""; } public static String usage(ICommandSender arg0) { @@ -44,7 +44,7 @@ public class ResetLootCommand extends CommandBase { if (confirmReset) { return getListOfStringsMatchingLastWord(args, "confirm", "cancel"); } else { - return getListOfStringsMatchingLastWord(args, "zombie", "spider", "wolf", "enderman", "fishing", "mythological", "catacombs"); + return getListOfStringsMatchingLastWord(args, "zombie", "spider", "wolf", "enderman", "blaze", "fishing", "mythological", "catacombs"); } } @@ -53,7 +53,7 @@ public class ResetLootCommand extends CommandBase { final EntityPlayer player = (EntityPlayer) arg0; if (arg1.length == 0) { - player.addChatMessage(new ChatComponentText(DankersSkyblockMod.ERROR_COLOUR + "Usage: /resetloot ")); + player.addChatMessage(new ChatComponentText(DankersSkyblockMod.ERROR_COLOUR + "Usage: /resetloot ")); return; } @@ -75,6 +75,9 @@ public class ResetLootCommand extends CommandBase { case "enderman": resetEnderman(); break; + case "blaze": + resetBlaze(); + break; case "fishing": resetFishing(); break; @@ -102,6 +105,7 @@ public class ResetLootCommand extends CommandBase { case "spider": case "wolf": case "enderman": + case "blaze": case "fishing": case "mythological": case "catacombs": @@ -201,6 +205,35 @@ public class ResetLootCommand extends CommandBase { ConfigHandler.deleteCategory("enderman"); ConfigHandler.reloadConfig(); } + + static void resetBlaze() { + BlazeTracker.demonlordsSession = 0; + BlazeTracker.derelictAshesSession = 0; + BlazeTracker.lavatearRunesSession = 0; + BlazeTracker.splashPotionsSession = 0; + BlazeTracker.magmaArrowsSession = 0; + BlazeTracker.manaDisintegratorsSession = 0; + BlazeTracker.scorchedBooksSession = 0; + BlazeTracker.kelvinInvertersSession = 0; + BlazeTracker.blazeRodDistillatesSession = 0; + BlazeTracker.glowstoneDistillatesSession = 0; + BlazeTracker.magmaCreamDistillatesSession = 0; + BlazeTracker.netherWartDistillatesSession = 0; + BlazeTracker.gabagoolDistillatesSession = 0; + BlazeTracker.scorchedPowerCrystalsSession = 0; + BlazeTracker.fireAspectBooksSession = 0; + BlazeTracker.fieryBurstRunesSession = 0; + BlazeTracker.opalGemsSession = 0; + BlazeTracker.archfiendDiceSession = 0; + BlazeTracker.duplexBooksSession = 0; + BlazeTracker.highClassArchfiendDiceSession = 0; + BlazeTracker.engineeringPlansSession = 0; + BlazeTracker.subzeroInvertersSession = 0; + BlazeTracker.timeSession = 0; + BlazeTracker.bossesSession = 0; + ConfigHandler.deleteCategory("blaze"); + ConfigHandler.reloadConfig(); + } static void resetFishing() { FishingTracker.seaCreaturesSession = 0; diff --git a/src/main/java/me/Danker/commands/SkyblockPlayersCommand.java b/src/main/java/me/Danker/commands/SkyblockPlayersCommand.java index 0923b57..37e89c5 100644 --- a/src/main/java/me/Danker/commands/SkyblockPlayersCommand.java +++ b/src/main/java/me/Danker/commands/SkyblockPlayersCommand.java @@ -70,15 +70,14 @@ public class SkyblockPlayersCommand extends CommandBase { int skyblockTotalPlayers = 0; // players int privateIsland = 0; // dynamic int hub = 0; // hub - int barn = 0; // farming_1 - int mushroomDesert = 0; // farming_2 + int farmingIslands = 0; // farming_1 int park = 0; // foraging_1 int goldMine = 0; // mining_1 int deepCaverns = 0; // mining_2 int dwarvenMines = 0; // mining_3 int crystalHollows = 0; // crystal_hollows int spidersDen = 0; // combat_1 - int blazingFortress = 0; // combat_2 + int crimsonIsle = 0; // crimson_isle int end = 0; // combat_3 int dungeonsHub = 0; // dungeon_hub int dungeons = 0; // dungeon @@ -94,10 +93,7 @@ public class SkyblockPlayersCommand extends CommandBase { hub = skyblockPlayers.get("hub").getAsInt(); } if (skyblockPlayers.has("farming_1")) { - barn = skyblockPlayers.get("farming_1").getAsInt(); - } - if (skyblockPlayers.has("farming_2")) { - mushroomDesert = skyblockPlayers.get("farming_2").getAsInt(); + farmingIslands = skyblockPlayers.get("farming_1").getAsInt(); } if (skyblockPlayers.has("foraging_1")) { park = skyblockPlayers.get("foraging_1").getAsInt(); @@ -117,8 +113,8 @@ public class SkyblockPlayersCommand extends CommandBase { if (skyblockPlayers.has("combat_1")) { spidersDen = skyblockPlayers.get("combat_1").getAsInt(); } - if (skyblockPlayers.has("combat_2")) { - blazingFortress = skyblockPlayers.get("combat_2").getAsInt(); + if (skyblockPlayers.has("crimson_isle")) { + crimsonIsle = skyblockPlayers.get("crimson_isle").getAsInt(); } if (skyblockPlayers.has("combat_3")) { end = skyblockPlayers.get("combat_3").getAsInt(); @@ -143,15 +139,14 @@ public class SkyblockPlayersCommand extends CommandBase { DankersSkyblockMod.TYPE_COLOUR + " Skyblock: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(skyblockTotalPlayers) + " / " + Utils.getPercentage(skyblockTotalPlayers, totalPlayers) + "%\n" + DankersSkyblockMod.TYPE_COLOUR + " Private Island: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(privateIsland) + " / " + Utils.getPercentage(privateIsland, skyblockTotalPlayers) + "%\n" + DankersSkyblockMod.TYPE_COLOUR + " Hub: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(hub) + " / " + Utils.getPercentage(hub, skyblockTotalPlayers) + "%\n" + - DankersSkyblockMod.TYPE_COLOUR + " Barn: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(barn) + " / " + Utils.getPercentage(barn, skyblockTotalPlayers) + "%\n" + - DankersSkyblockMod.TYPE_COLOUR + " Mushroom Desert: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(mushroomDesert) + " / " + Utils.getPercentage(mushroomDesert, skyblockTotalPlayers) + "%\n" + + DankersSkyblockMod.TYPE_COLOUR + " Farming Islands: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(farmingIslands) + " / " + Utils.getPercentage(farmingIslands, skyblockTotalPlayers) + "%\n" + DankersSkyblockMod.TYPE_COLOUR + " Park: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(park) + " / " + Utils.getPercentage(park, skyblockTotalPlayers) + "%\n" + DankersSkyblockMod.TYPE_COLOUR + " Gold Mine: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(goldMine) + " / " + Utils.getPercentage(goldMine, skyblockTotalPlayers) + "%\n" + DankersSkyblockMod.TYPE_COLOUR + " Deep Caverns: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(deepCaverns) + " / " + Utils.getPercentage(deepCaverns, skyblockTotalPlayers) + "%\n" + DankersSkyblockMod.TYPE_COLOUR + " Dwarven Mines: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(dwarvenMines) + " / " + Utils.getPercentage(dwarvenMines, skyblockTotalPlayers) + "%\n" + DankersSkyblockMod.TYPE_COLOUR + " Crystal Hollows: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(crystalHollows) + " / " + Utils.getPercentage(crystalHollows, skyblockTotalPlayers) + "%\n" + DankersSkyblockMod.TYPE_COLOUR + " Spider's Den: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(spidersDen) + " / " + Utils.getPercentage(spidersDen, skyblockTotalPlayers) + "%\n" + - DankersSkyblockMod.TYPE_COLOUR + " Blazing Fortress: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(blazingFortress) + " / " + Utils.getPercentage(blazingFortress, skyblockTotalPlayers) + "%\n" + + DankersSkyblockMod.TYPE_COLOUR + " Crimson Isle: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(crimsonIsle) + " / " + Utils.getPercentage(crimsonIsle, skyblockTotalPlayers) + "%\n" + DankersSkyblockMod.TYPE_COLOUR + " The End: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(end) + " / " + Utils.getPercentage(end, skyblockTotalPlayers) + "%\n" + DankersSkyblockMod.TYPE_COLOUR + " Dungeons Hub: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(dungeonsHub) + " / " + Utils.getPercentage(dungeonsHub, skyblockTotalPlayers) + "%\n" + DankersSkyblockMod.TYPE_COLOUR + " Dungeons: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(dungeons) + " / " + Utils.getPercentage(dungeons, skyblockTotalPlayers) + "%\n" + diff --git a/src/main/java/me/Danker/commands/SlayerCommand.java b/src/main/java/me/Danker/commands/SlayerCommand.java index 5444754..8ad87ae 100644 --- a/src/main/java/me/Danker/commands/SlayerCommand.java +++ b/src/main/java/me/Danker/commands/SlayerCommand.java @@ -113,15 +113,21 @@ public class SlayerCommand extends CommandBase { if (slayersObject.get("enderman").getAsJsonObject().has("xp")) { endermanXP = slayersObject.get("enderman").getAsJsonObject().get("xp").getAsInt(); } + // Blaze + int blazeXP = 0; + if (slayersObject.get("blaze").getAsJsonObject().has("xp")) { + blazeXP = slayersObject.get("blaze").getAsJsonObject().get("xp").getAsInt(); + } NumberFormat nf = NumberFormat.getIntegerInstance(Locale.US); player.addChatMessage(new ChatComponentText(DankersSkyblockMod.DELIMITER_COLOUR + "" + EnumChatFormatting.BOLD + "-------------------\n" + - EnumChatFormatting.AQUA + " " + username + "'s Total XP: " + EnumChatFormatting.GOLD + EnumChatFormatting.BOLD + nf.format(zombieXP + spiderXP + wolfXP + endermanXP) + "\n" + + EnumChatFormatting.AQUA + " " + username + "'s Total XP: " + EnumChatFormatting.GOLD + EnumChatFormatting.BOLD + nf.format(zombieXP + spiderXP + wolfXP + endermanXP + blazeXP) + "\n" + DankersSkyblockMod.TYPE_COLOUR + " Zombie XP: " + DankersSkyblockMod.VALUE_COLOUR + EnumChatFormatting.BOLD + nf.format(zombieXP) + "\n" + DankersSkyblockMod.TYPE_COLOUR + " Spider XP: " + DankersSkyblockMod.VALUE_COLOUR + EnumChatFormatting.BOLD + nf.format(spiderXP) + "\n" + DankersSkyblockMod.TYPE_COLOUR + " Wolf XP: " + DankersSkyblockMod.VALUE_COLOUR + EnumChatFormatting.BOLD + nf.format(wolfXP) + "\n" + DankersSkyblockMod.TYPE_COLOUR + " Enderman XP: " + DankersSkyblockMod.VALUE_COLOUR + EnumChatFormatting.BOLD + nf.format(endermanXP) + "\n" + - DankersSkyblockMod.DELIMITER_COLOUR + " " + EnumChatFormatting.BOLD + "-------------------")); + DankersSkyblockMod.TYPE_COLOUR + " Blaze XP: " + DankersSkyblockMod.VALUE_COLOUR + EnumChatFormatting.BOLD + nf.format(blazeXP) + "\n" + + DankersSkyblockMod.DELIMITER_COLOUR + EnumChatFormatting.BOLD + "-------------------")); }).start(); } diff --git a/src/main/java/me/Danker/commands/WeightCommand.java b/src/main/java/me/Danker/commands/WeightCommand.java index b00d881..ade909d 100644 --- a/src/main/java/me/Danker/commands/WeightCommand.java +++ b/src/main/java/me/Danker/commands/WeightCommand.java @@ -63,6 +63,8 @@ public class WeightCommand extends CommandBase { public List addTabCompletionOptions(ICommandSender sender, String[] args, BlockPos pos) { if (args.length == 1) { return Utils.getMatchingPlayers(args[0]); + } else if (args.length == 2) { + return getListOfStringsMatchingLastWord(args, "lily", "farming"); } return null; } diff --git a/src/main/java/me/Danker/features/AutoDisplay.java b/src/main/java/me/Danker/features/AutoDisplay.java index 5fc4489..63b66d5 100644 --- a/src/main/java/me/Danker/features/AutoDisplay.java +++ b/src/main/java/me/Danker/features/AutoDisplay.java @@ -42,6 +42,9 @@ public class AutoDisplay { } else if (sCleaned.contains("Voidgloom Seraph")) { LootDisplay.display = "enderman"; found = true; + } else if (sCleaned.contains("Inferno Demonlord")) { + LootDisplay.display = "blaze"; + found = true; } else if (sCleaned.contains("The Mist")){ LootDisplay.display = "ghost"; found = true; diff --git a/src/main/java/me/Danker/features/loot/BlazeTracker.java b/src/main/java/me/Danker/features/loot/BlazeTracker.java new file mode 100644 index 0000000..896f65f --- /dev/null +++ b/src/main/java/me/Danker/features/loot/BlazeTracker.java @@ -0,0 +1,184 @@ +package me.Danker.features.loot; + +import me.Danker.commands.ToggleCommand; +import me.Danker.handlers.ConfigHandler; +import me.Danker.utils.Utils; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StringUtils; +import net.minecraftforge.client.event.ClientChatReceivedEvent; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; + +public class BlazeTracker { + + public static int demonlords; + public static int derelictAshes; + public static int lavatearRunes; + public static int splashPotions; + public static int magmaArrows; + public static int manaDisintegrators; + public static int scorchedBooks; + public static int kelvinInverters; + public static int blazeRodDistillates; + public static int glowstoneDistillates; + public static int magmaCreamDistillates; + public static int netherWartDistillates; + public static int gabagoolDistillates; + public static int scorchedPowerCrystals; + public static int fireAspectBooks; + public static int fieryBurstRunes; + public static int opalGems; + public static int archfiendDice; + public static int duplexBooks; + public static int highClassArchfiendDice; + public static int engineeringPlans; + public static int subzeroInverters; + public static double time; + public static int bosses; + + public static int demonlordsSession = 0; + public static int derelictAshesSession = 0; + public static int lavatearRunesSession = 0; + public static int splashPotionsSession = 0; + public static int magmaArrowsSession = 0; + public static int manaDisintegratorsSession = 0; + public static int scorchedBooksSession = 0; + public static int kelvinInvertersSession = 0; + public static int blazeRodDistillatesSession = 0; + public static int glowstoneDistillatesSession = 0; + public static int magmaCreamDistillatesSession = 0; + public static int netherWartDistillatesSession = 0; + public static int gabagoolDistillatesSession = 0; + public static int scorchedPowerCrystalsSession = 0; + public static int fireAspectBooksSession = 0; + public static int fieryBurstRunesSession = 0; + public static int opalGemsSession = 0; + public static int archfiendDiceSession = 0; + public static int duplexBooksSession = 0; + public static int highClassArchfiendDiceSession = 0; + public static int engineeringPlansSession = 0; + public static int subzeroInvertersSession = 0; + public static double timeSession = 0; + public static int bossesSession = 0; + + @SubscribeEvent + public void onChat(ClientChatReceivedEvent event) { + String message = StringUtils.stripControlCodes(event.message.getUnformattedText()); + + if (!Utils.inSkyblock) return; + if (event.type == 2) return; + if (message.contains(":")) return; + + boolean rng = false; + + if (message.contains(" Blaze Slayer LVL ")) { + demonlords++; + demonlordsSession++; + if (bosses != -1) { + bosses++; + } + if (bossesSession != -1) { + bossesSession++; + } + ConfigHandler.writeIntConfig("blaze", "demonlords", demonlords); + ConfigHandler.writeIntConfig("blaze", "bossRNG", bosses); + } else if (message.contains("VERY RARE DROP! (") && message.contains(" Lavatears Rune I)")) { + lavatearRunes++; + lavatearRunesSession++; + ConfigHandler.writeIntConfig("blaze", "lavatearRunes", lavatearRunes); + } else if (message.contains("VERY RARE DROP! (Wisp's Ice-Flavored Water I Splash Potion)")) { + splashPotions++; + splashPotionsSession++; + ConfigHandler.writeIntConfig("blaze", "splashPotions", splashPotions); + } else if (message.contains("RARE DROP! (Bundle of Magma Arrows)")) { + magmaArrows++; + magmaArrowsSession++; + ConfigHandler.writeIntConfig("blaze", "magmaArrows", magmaArrows); + } else if (message.contains("VERY RARE DROP! (Mana Disintegrator)")) { + manaDisintegrators++; + manaDisintegratorsSession++; + ConfigHandler.writeIntConfig("blaze", "manaDisintegrators", manaDisintegrators); + } else if (message.contains("VERY RARE DROP! (Scorched Books)")) { + scorchedBooks++; + scorchedBooksSession++; + ConfigHandler.writeIntConfig("blaze", "scorchedBooks", scorchedBooks); + } else if (message.contains("VERY RARE DROP! (Kelvin Inverter)")) { + kelvinInverters++; + kelvinInvertersSession++; + ConfigHandler.writeIntConfig("blaze", "kelvinInverters", kelvinInverters); + } else if (message.contains("VERY RARE DROP! (Blaze Rod Distillate)")) { + blazeRodDistillates++; + blazeRodDistillatesSession++; + ConfigHandler.writeIntConfig("blaze", "blazeRodDistillates", blazeRodDistillates); + } else if (message.contains("VERY RARE DROP! (Glowstone Distillate)")) { + glowstoneDistillates++; + glowstoneDistillatesSession++; + ConfigHandler.writeIntConfig("blaze", "glowstoneDistillates", glowstoneDistillates); + } else if (message.contains("VERY RARE DROP! (Magma Cream Distillate)")) { + magmaCreamDistillates++; + magmaCreamDistillatesSession++; + ConfigHandler.writeIntConfig("blaze", "magmaCreamDistillates", magmaCreamDistillates); + } else if (message.contains("VERY RARE DROP! (Nether Wart Distillate)")) { + netherWartDistillates++; + netherWartDistillatesSession++; + ConfigHandler.writeIntConfig("blaze", "netherWartDistillates", netherWartDistillates); + } else if (message.contains("VERY RARE DROP! (Gabagool Distillate)")) { + gabagoolDistillates++; + gabagoolDistillatesSession++; + ConfigHandler.writeIntConfig("blaze", "gabagoolDistillates", gabagoolDistillates); + } else if (message.contains("VERY RARE DROP! (Scorched Power Crystal)")) { + scorchedPowerCrystals++; + scorchedPowerCrystalsSession++; + ConfigHandler.writeIntConfig("blaze", "scorchedPowerCrystals", scorchedPowerCrystals); + } else if (message.contains("VERY RARE DROP! (Fire Aspect III)")) { + fireAspectBooks++; + fireAspectBooksSession++; + ConfigHandler.writeIntConfig("blaze", "fireAspectBooks", fireAspectBooks); + } else if (message.contains("CRAZY RARE DROP! (") && message.contains(" Fiery Burst Rune I)")) { + rng = true; + fieryBurstRunes++; + fieryBurstRunesSession++; + ConfigHandler.writeIntConfig("blaze", "fieryBurstRunes", fieryBurstRunes); + if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.RED + "FIERY BURST RUNE!", 5); + } else if (message.contains("VERY RARE DROP! (") && message.contains(" Flawed Opal Gemstone)")) { + opalGems++; + opalGemsSession++; + ConfigHandler.writeIntConfig("blaze", "opalGems", opalGems); + } else if (message.contains("VERY RARE DROP! (Archfiend Dice)")) { + archfiendDice++; + archfiendDiceSession++; + ConfigHandler.writeIntConfig("blaze", "archfiendDice", archfiendDice); + } else if (message.contains("VERY RARE DROP! (Duplex I)")) { + duplexBooks++; + duplexBooksSession++; + ConfigHandler.writeIntConfig("blaze", "duplexBooks", duplexBooks); + } else if (message.contains("CRAZY RARE DROP! (High Class Archfiend Dice)")) { + rng = true; + highClassArchfiendDice++; + highClassArchfiendDiceSession++; + ConfigHandler.writeIntConfig("blaze", "highClassArchfiendDice", highClassArchfiendDice); + if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.GOLD + "HIGH CLASS ARCHFIEND DICE!", 5); + } else if (message.contains("CRAZY RARE DROP! (Wilson's Engineering Plans)")) { + rng = true; + engineeringPlans++; + engineeringPlansSession++; + ConfigHandler.writeIntConfig("blaze", "engineeringPlans", engineeringPlans); + if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.GOLD + "ENGINEERING PLANS!", 5); + } else if (message.contains("CRAZY RARE DROP! (Subzero Inverter)")) { + rng = true; + subzeroInverters++; + subzeroInvertersSession++; + ConfigHandler.writeIntConfig("blaze", "subzeroInverters", subzeroInverters); + if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.GOLD + "SUBZERO INVERTER!", 5); + } + + if (rng) { + time = System.currentTimeMillis() / 1000; + bosses = 0; + timeSession = System.currentTimeMillis() / 1000; + bossesSession = 0; + ConfigHandler.writeDoubleConfig("blaze", "timeRNG", time); + ConfigHandler.writeIntConfig("blaze", "bossRNG", 0); + } + } + +} diff --git a/src/main/java/me/Danker/features/loot/LootDisplay.java b/src/main/java/me/Danker/features/loot/LootDisplay.java index aabdbd9..9d3f466 100644 --- a/src/main/java/me/Danker/features/loot/LootDisplay.java +++ b/src/main/java/me/Danker/features/loot/LootDisplay.java @@ -416,6 +416,128 @@ public class LootDisplay { EnumChatFormatting.AQUA + timeBetween + "\n" + EnumChatFormatting.AQUA + bossesBetween; break; + case "blaze": + if (BlazeTracker.time == -1) { + timeBetween = "Never"; + } else { + timeBetween = Utils.getTimeBetween(BlazeTracker.time, timeNow); + } + if (BlazeTracker.bosses == -1) { + bossesBetween = "Never"; + } else { + bossesBetween = nf.format(BlazeTracker.bosses); + } + + dropsText = EnumChatFormatting.GOLD + "Demonlords Killed:\n" + + EnumChatFormatting.GRAY + "Derelict Ashes:\n" + + EnumChatFormatting.RED + "Lavatear Runes:\n" + + EnumChatFormatting.AQUA + "Splash Potions:\n" + + EnumChatFormatting.DARK_RED + "Magma Arrows:\n" + + EnumChatFormatting.DARK_AQUA + "Mana Disintegrators:\n" + + EnumChatFormatting.LIGHT_PURPLE + "Scorched Books:\n" + + EnumChatFormatting.WHITE + "Kelvin Inverters:\n" + + EnumChatFormatting.BLUE + "Blaze Rod Distillates:\n" + + EnumChatFormatting.BLUE + "Glowstone Distillates:\n" + + EnumChatFormatting.BLUE + "Magma Cream Distillates:\n" + + EnumChatFormatting.BLUE + "Nether Wart Distillates:\n" + + EnumChatFormatting.BLUE + "Gabagool Distillates:\n" + + EnumChatFormatting.RED + "Scorched Power Crystals:\n" + + EnumChatFormatting.RED + "Fire Aspect Books:\n" + + EnumChatFormatting.GOLD + "Fiery Burst Runes:\n" + + EnumChatFormatting.WHITE + "Opal Gems:\n" + + EnumChatFormatting.RED + "Archfiend Dice:\n" + + EnumChatFormatting.LIGHT_PURPLE + "Duplex Books:\n" + + EnumChatFormatting.GOLD + "High Class Archfiend Dice:\n" + + EnumChatFormatting.GOLD + "Engineering Plans:\n" + + EnumChatFormatting.GOLD + "Subzero Inverters:\n" + + EnumChatFormatting.AQUA + "Time Since RNG:\n" + + EnumChatFormatting.AQUA + "Bosses Since RNG:"; + countText = EnumChatFormatting.GOLD + nf.format(BlazeTracker.demonlords) + "\n" + + EnumChatFormatting.GRAY + nf.format(BlazeTracker.derelictAshes) + "\n" + + EnumChatFormatting.RED + nf.format(BlazeTracker.lavatearRunes) + "\n" + + EnumChatFormatting.AQUA + nf.format(BlazeTracker.splashPotions) + "\n" + + EnumChatFormatting.DARK_RED + nf.format(BlazeTracker.magmaArrows) + "\n" + + EnumChatFormatting.DARK_AQUA + nf.format(BlazeTracker.manaDisintegrators) + "\n" + + EnumChatFormatting.LIGHT_PURPLE + nf.format(BlazeTracker.scorchedBooks) + "\n" + + EnumChatFormatting.WHITE + nf.format(BlazeTracker.kelvinInverters) + "\n" + + EnumChatFormatting.BLUE + nf.format(BlazeTracker.blazeRodDistillates) + "\n" + + EnumChatFormatting.BLUE + nf.format(BlazeTracker.glowstoneDistillates) + "\n" + + EnumChatFormatting.BLUE + nf.format(BlazeTracker.magmaCreamDistillates) + "\n" + + EnumChatFormatting.BLUE + nf.format(BlazeTracker.netherWartDistillates) + "\n" + + EnumChatFormatting.BLUE + nf.format(BlazeTracker.gabagoolDistillates) + "\n" + + EnumChatFormatting.RED + nf.format(BlazeTracker.scorchedPowerCrystals) + "\n" + + EnumChatFormatting.RED + nf.format(BlazeTracker.fireAspectBooks) + "\n" + + EnumChatFormatting.GOLD + nf.format(BlazeTracker.fieryBurstRunes) + "\n" + + EnumChatFormatting.WHITE + nf.format(BlazeTracker.opalGems) + "\n" + + EnumChatFormatting.RED + nf.format(BlazeTracker.archfiendDice) + "\n" + + EnumChatFormatting.LIGHT_PURPLE + nf.format(BlazeTracker.duplexBooks) + "\n" + + EnumChatFormatting.GOLD + nf.format(BlazeTracker.highClassArchfiendDice) + "\n" + + EnumChatFormatting.GOLD + nf.format(BlazeTracker.engineeringPlans) + "\n" + + EnumChatFormatting.GOLD + nf.format(BlazeTracker.subzeroInverters) + "\n" + + EnumChatFormatting.AQUA + timeBetween + "\n" + + EnumChatFormatting.AQUA + bossesBetween; + break; + case "blaze_session": + if (BlazeTracker.timeSession == -1) { + timeBetween = "Never"; + } else { + timeBetween = Utils.getTimeBetween(BlazeTracker.timeSession, timeNow); + } + if (BlazeTracker.bossesSession == -1) { + bossesBetween = "Never"; + } else { + bossesBetween = nf.format(BlazeTracker.bossesSession); + } + + dropsText = EnumChatFormatting.GOLD + "Demonlords Killed:\n" + + EnumChatFormatting.GRAY + "Derelict Ashes:\n" + + EnumChatFormatting.RED + "Lavatear Runes:\n" + + EnumChatFormatting.AQUA + "Splash Potions:\n" + + EnumChatFormatting.DARK_RED + "Magma Arrows:\n" + + EnumChatFormatting.DARK_AQUA + "Mana Disintegrators:\n" + + EnumChatFormatting.LIGHT_PURPLE + "Scorched Books:\n" + + EnumChatFormatting.WHITE + "Kelvin Inverters:\n" + + EnumChatFormatting.BLUE + "Blaze Rod Distillates:\n" + + EnumChatFormatting.BLUE + "Glowstone Distillates:\n" + + EnumChatFormatting.BLUE + "Magma Cream Distillates:\n" + + EnumChatFormatting.BLUE + "Nether Wart Distillates:\n" + + EnumChatFormatting.BLUE + "Gabagool Distillates:\n" + + EnumChatFormatting.RED + "Scorched Power Crystals:\n" + + EnumChatFormatting.RED + "Fire Aspect Books:\n" + + EnumChatFormatting.GOLD + "Fiery Burst Runes:\n" + + EnumChatFormatting.WHITE + "Opal Gems:\n" + + EnumChatFormatting.RED + "Archfiend Dice:\n" + + EnumChatFormatting.LIGHT_PURPLE + "Duplex Books:\n" + + EnumChatFormatting.GOLD + "High Class Archfiend Dice:\n" + + EnumChatFormatting.GOLD + "Engineering Plans:\n" + + EnumChatFormatting.GOLD + "Subzero Inverters:\n" + + EnumChatFormatting.AQUA + "Time Since RNG:\n" + + EnumChatFormatting.AQUA + "Bosses Since RNG:"; + countText = EnumChatFormatting.GOLD + nf.format(BlazeTracker.demonlordsSession) + "\n" + + EnumChatFormatting.GRAY + nf.format(BlazeTracker.derelictAshesSession) + "\n" + + EnumChatFormatting.RED + nf.format(BlazeTracker.lavatearRunesSession) + "\n" + + EnumChatFormatting.AQUA + nf.format(BlazeTracker.splashPotionsSession) + "\n" + + EnumChatFormatting.DARK_RED + nf.format(BlazeTracker.magmaArrowsSession) + "\n" + + EnumChatFormatting.DARK_AQUA + nf.format(BlazeTracker.manaDisintegratorsSession) + "\n" + + EnumChatFormatting.LIGHT_PURPLE + nf.format(BlazeTracker.scorchedBooksSession) + "\n" + + EnumChatFormatting.WHITE + nf.format(BlazeTracker.kelvinInvertersSession) + "\n" + + EnumChatFormatting.BLUE + nf.format(BlazeTracker.blazeRodDistillatesSession) + "\n" + + EnumChatFormatting.BLUE + nf.format(BlazeTracker.glowstoneDistillatesSession) + "\n" + + EnumChatFormatting.BLUE + nf.format(BlazeTracker.magmaCreamDistillatesSession) + "\n" + + EnumChatFormatting.BLUE + nf.format(BlazeTracker.netherWartDistillatesSession) + "\n" + + EnumChatFormatting.BLUE + nf.format(BlazeTracker.gabagoolDistillatesSession) + "\n" + + EnumChatFormatting.RED + nf.format(BlazeTracker.scorchedPowerCrystalsSession) + "\n" + + EnumChatFormatting.RED + nf.format(BlazeTracker.fireAspectBooksSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(BlazeTracker.fieryBurstRunesSession) + "\n" + + EnumChatFormatting.WHITE + nf.format(BlazeTracker.opalGemsSession) + "\n" + + EnumChatFormatting.RED + nf.format(BlazeTracker.archfiendDiceSession) + "\n" + + EnumChatFormatting.LIGHT_PURPLE + nf.format(BlazeTracker.duplexBooksSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(BlazeTracker.highClassArchfiendDiceSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(BlazeTracker.engineeringPlansSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(BlazeTracker.subzeroInvertersSession) + "\n" + + EnumChatFormatting.AQUA + timeBetween + "\n" + + EnumChatFormatting.AQUA + bossesBetween; + break; case "fishing": if (FishingTracker.empTime == -1) { timeBetween = "Never"; diff --git a/src/main/java/me/Danker/features/loot/LootTracker.java b/src/main/java/me/Danker/features/loot/LootTracker.java index 4e5974c..27f0779 100644 --- a/src/main/java/me/Danker/features/loot/LootTracker.java +++ b/src/main/java/me/Danker/features/loot/LootTracker.java @@ -31,23 +31,27 @@ public class LootTracker { int itemWebs = Utils.getItems("Tarantula Web"); int itemRev = Utils.getItems("Revenant Flesh"); int itemNullSphere = Utils.getItems("Null Sphere"); + int itemDerelictAshe = Utils.getItems("Derelict Ashe"); // If no items, are detected, allow check again. Should fix items not being found - if (itemTeeth + itemWebs + itemRev + itemNullSphere > 0) { + if (itemTeeth + itemWebs + itemRev + itemNullSphere + itemDerelictAshe > 0) { itemsChecked = System.currentTimeMillis() / 1000; WolfTracker.wolfTeeth += itemTeeth; SpiderTracker.spiderWebs += itemWebs; ZombieTracker.zombieRevFlesh += itemRev; EndermanTracker.endermanNullSpheres += itemNullSphere; + BlazeTracker.derelictAshes += itemDerelictAshe; WolfTracker.wolfTeethSession += itemTeeth; SpiderTracker.spiderWebsSession += itemWebs; ZombieTracker.zombieRevFleshSession += itemRev; EndermanTracker.endermanNullSpheresSession += itemNullSphere; + BlazeTracker.derelictAshesSession += itemDerelictAshe; ConfigHandler.writeIntConfig("wolf", "teeth", WolfTracker.wolfTeeth); ConfigHandler.writeIntConfig("spider", "web", SpiderTracker.spiderWebs); ConfigHandler.writeIntConfig("zombie", "revFlesh", ZombieTracker.zombieRevFlesh); ConfigHandler.writeIntConfig("enderman", "nullSpheres", EndermanTracker.endermanNullSpheres); + ConfigHandler.writeIntConfig("blaze", "derelictAshe", BlazeTracker.derelictAshes); } } } diff --git a/src/main/java/me/Danker/gui/DisplayGui.java b/src/main/java/me/Danker/gui/DisplayGui.java index 17726f8..073b161 100644 --- a/src/main/java/me/Danker/gui/DisplayGui.java +++ b/src/main/java/me/Danker/gui/DisplayGui.java @@ -20,6 +20,7 @@ public class DisplayGui extends GuiScreen { private GuiButton spider; private GuiButton wolf; private GuiButton enderman; + private GuiButton blaze; private GuiButton auto; private GuiButton fishing; private GuiButton fishingWinter; @@ -54,10 +55,11 @@ public class DisplayGui extends GuiScreen { showSession = new GuiButton(0, width / 2 - 100, (int) (height * 0.1), "Current Session Only: " + Utils.getColouredBoolean(addSession)); off = new GuiButton(0, width / 2 - 210, (int) (height * 0.2), "Off"); auto = new GuiButton(0, width / 2 + 10, (int) (height * 0.2), "Auto"); - zombie = new GuiButton(0, width / 2 - 230, (int) (height * 0.35), 100, 20, "Zombie"); - spider = new GuiButton(0, width / 2 - 110, (int) (height * 0.35), 100, 20, "Spider"); - wolf = new GuiButton(0, width / 2 + 10, (int) (height * 0.35), 100, 20, "Wolf"); - enderman = new GuiButton(0, width / 2 + 130, (int) (height * 0.35), 100, 20, "Enderman"); + zombie = new GuiButton(0, width / 2 - 270, (int) (height * 0.35), 100, 20, "Zombie"); + spider = new GuiButton(0, width / 2 - 160, (int) (height * 0.35), 100, 20, "Spider"); + wolf = new GuiButton(0, width / 2 - 50, (int) (height * 0.35), 100, 20, "Wolf"); + enderman = new GuiButton(0, width / 2 + 60, (int) (height * 0.35), 100, 20, "Enderman"); + blaze = new GuiButton(0, width / 2 + 170, (int) (height * 0.35), 100, 20, "Blaze"); fishing = new GuiButton(0, width / 2 - 270, (int) (height * 0.5), 100, 20, "Fishing"); fishingWinter = new GuiButton(0, width / 2 - 160, (int) (height * 0.5), 100, 20, "Fishing Winter"); fishingFestival = new GuiButton(0, width / 2 - 50, (int) (height * 0.5), 100, 20, "Fishing Festival"); @@ -81,6 +83,7 @@ public class DisplayGui extends GuiScreen { this.buttonList.add(spider); this.buttonList.add(wolf); this.buttonList.add(enderman); + this.buttonList.add(blaze); this.buttonList.add(fishing); this.buttonList.add(fishingWinter); this.buttonList.add(fishingFestival); @@ -130,6 +133,8 @@ public class DisplayGui extends GuiScreen { setDisplay("wolf"); } else if (button == enderman) { setDisplay("enderman"); + } else if (button == blaze) { + setDisplay("blaze"); } else if (button == auto) { LootDisplay.auto = true; ConfigHandler.writeBooleanConfig("misc", "autoDisplay", true); diff --git a/src/main/java/me/Danker/gui/OnlySlayerGui.java b/src/main/java/me/Danker/gui/OnlySlayerGui.java index 2a6d844..c637ff9 100644 --- a/src/main/java/me/Danker/gui/OnlySlayerGui.java +++ b/src/main/java/me/Danker/gui/OnlySlayerGui.java @@ -19,6 +19,7 @@ public class OnlySlayerGui extends GuiScreen { private GuiButton spider; private GuiButton wolf; private GuiButton enderman; + private GuiButton blaze; private GuiButton one; private GuiButton two; private GuiButton three; @@ -60,10 +61,11 @@ public class OnlySlayerGui extends GuiScreen { goBack = new GuiButton(0, 2, height - 30, 100, 20, "Go Back"); off = new GuiButton(0, width / 2 - 100, (int) (height * 0.3), "Off"); - zombie = new GuiButton(0, width / 2 - 230, (int) (height * 0.4), 100, 20, "Zombie"); - spider = new GuiButton(0, width / 2 - 110, (int) (height * 0.4), 100, 20, "Spider"); - wolf = new GuiButton(0, width / 2 + 10, (int) (height * 0.4), 100, 20, "Wolf"); - enderman = new GuiButton(0, width / 2 + 130, (int) (height * 0.4), 100, 20, "Enderman"); + zombie = new GuiButton(0, width / 2 - 270, (int) (height * 0.4), 100, 20, "Zombie"); + spider = new GuiButton(0, width / 2 - 160, (int) (height * 0.4), 100, 20, "Spider"); + wolf = new GuiButton(0, width / 2 - 50, (int) (height * 0.4), 100, 20, "Wolf"); + enderman = new GuiButton(0, width / 2 + 60, (int) (height * 0.4), 100, 20, "Enderman"); + blaze = new GuiButton(0, width / 2 + 170, (int) (height * 0.4), 100, 20, "Blaze"); one = new GuiButton(0, width / 2 - 190, (int) (height * 0.6), 60, 20, "I"); two = new GuiButton(0, width / 2 - 110, (int) (height * 0.6), 60, 20, "II"); three = new GuiButton(0, width / 2 - 30, (int) (height * 0.6), 60, 20, "III"); @@ -75,6 +77,7 @@ public class OnlySlayerGui extends GuiScreen { this.buttonList.add(spider); this.buttonList.add(wolf); this.buttonList.add(enderman); + this.buttonList.add(blaze); this.buttonList.add(one); this.buttonList.add(two); this.buttonList.add(three); @@ -86,7 +89,6 @@ public class OnlySlayerGui extends GuiScreen { @Override public void drawScreen(int mouseX, int mouseY, float partialTicks) { this.drawDefaultBackground(); - Minecraft mc = Minecraft.getMinecraft(); String displayText; if (BlockWrongSlayer.onlySlayerName.equals("")) { @@ -117,6 +119,8 @@ public class OnlySlayerGui extends GuiScreen { onlyName = "Sven Packmaster"; } else if (button == enderman) { onlyName = "Voidgloom Seraph"; + } else if (button == blaze) { + onlyName = "Inferno Demonlord"; } else if (button == one) { onlyNumberInt = 1; } else if (button == two) { diff --git a/src/main/java/me/Danker/handlers/ConfigHandler.java b/src/main/java/me/Danker/handlers/ConfigHandler.java index b042177..4298c2a 100644 --- a/src/main/java/me/Danker/handlers/ConfigHandler.java +++ b/src/main/java/me/Danker/handlers/ConfigHandler.java @@ -384,7 +384,32 @@ public class ConfigHandler { EndermanTracker.endermanEnderBooks = initInt("enderman", "enderBooks", 0); EndermanTracker.endermanTime = initDouble("enderman", "timeRNG", -1); EndermanTracker.endermanBosses = initInt("enderman", "bossRNG", -1); - + // Blaze + BlazeTracker.demonlords = initInt("blaze", "demonlords", 0); + BlazeTracker.derelictAshes = initInt("blaze", "derelictAshes", 0); + BlazeTracker.lavatearRunes = initInt("blaze", "lavatearRunes", 0); + BlazeTracker.splashPotions = initInt("blaze", "splashPotions", 0); + BlazeTracker.magmaArrows = initInt("blaze", "magmaArrows", 0); + BlazeTracker.manaDisintegrators = initInt("blaze", "manaDisintegrators", 0); + BlazeTracker.scorchedBooks = initInt("blaze", "scorchedBooks", 0); + BlazeTracker.kelvinInverters = initInt("blaze", "kelvinInverters", 0); + BlazeTracker.blazeRodDistillates = initInt("blaze", "blazeRodDistillates", 0); + BlazeTracker.glowstoneDistillates = initInt("blaze", "glowstoneDistillates", 0); + BlazeTracker.magmaCreamDistillates = initInt("blaze", "magmaCreamDistillates", 0); + BlazeTracker.netherWartDistillates = initInt("blaze", "netherWartDistillates", 0); + BlazeTracker.gabagoolDistillates = initInt("blaze", "gabagoolDistillates", 0); + BlazeTracker.scorchedPowerCrystals = initInt("blaze", "scorchedPowerCrystals", 0); + BlazeTracker.fireAspectBooks = initInt("blaze", "fireAspectBooks", 0); + BlazeTracker.fieryBurstRunes = initInt("blaze", "fieryBurstRunes", 0); + BlazeTracker.opalGems = initInt("blaze", "opalGems", 0); + BlazeTracker.archfiendDice = initInt("blaze", "archfiendDice", 0); + BlazeTracker.duplexBooks = initInt("blaze", "duplexBooks", 0); + BlazeTracker.highClassArchfiendDice = initInt("blaze", "highClassArchfiendDice", 0); + BlazeTracker.engineeringPlans = initInt("blaze", "engineeringPlans", 0); + BlazeTracker.subzeroInverters = initInt("blaze", "subzeroInverters", 0); + BlazeTracker.time = initDouble("blaze", "timeRNG", -1); + BlazeTracker.bossesSession = initInt("blaze", "bossRNG", -1); + // Fishing FishingTracker.seaCreatures = initInt("fishing", "seaCreature", 0); FishingTracker.goodCatches = initInt("fishing", "goodCatch", 0); -- cgit From 3ea4a9b5d7d686a9f4eb1d699b2c8c6f6432e60f Mon Sep 17 00:00:00 2001 From: bowser0000 Date: Thu, 21 Apr 2022 01:32:56 -0400 Subject: Fix text for blaze display --- src/main/java/me/Danker/features/loot/LootDisplay.java | 16 ++++++++-------- src/main/java/me/Danker/handlers/ConfigHandler.java | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) (limited to 'src/main/java/me/Danker/features/loot/LootDisplay.java') diff --git a/src/main/java/me/Danker/features/loot/LootDisplay.java b/src/main/java/me/Danker/features/loot/LootDisplay.java index 9d3f466..9436ec6 100644 --- a/src/main/java/me/Danker/features/loot/LootDisplay.java +++ b/src/main/java/me/Danker/features/loot/LootDisplay.java @@ -438,16 +438,16 @@ public class LootDisplay { EnumChatFormatting.WHITE + "Kelvin Inverters:\n" + EnumChatFormatting.BLUE + "Blaze Rod Distillates:\n" + EnumChatFormatting.BLUE + "Glowstone Distillates:\n" + - EnumChatFormatting.BLUE + "Magma Cream Distillates:\n" + - EnumChatFormatting.BLUE + "Nether Wart Distillates:\n" + + EnumChatFormatting.BLUE + "Magma Distillates:\n" + + EnumChatFormatting.BLUE + "Wart Distillates:\n" + EnumChatFormatting.BLUE + "Gabagool Distillates:\n" + - EnumChatFormatting.RED + "Scorched Power Crystals:\n" + + EnumChatFormatting.RED + "Power Crystals:\n" + EnumChatFormatting.RED + "Fire Aspect Books:\n" + EnumChatFormatting.GOLD + "Fiery Burst Runes:\n" + EnumChatFormatting.WHITE + "Opal Gems:\n" + EnumChatFormatting.RED + "Archfiend Dice:\n" + EnumChatFormatting.LIGHT_PURPLE + "Duplex Books:\n" + - EnumChatFormatting.GOLD + "High Class Archfiend Dice:\n" + + EnumChatFormatting.GOLD + "High Class Dice:\n" + EnumChatFormatting.GOLD + "Engineering Plans:\n" + EnumChatFormatting.GOLD + "Subzero Inverters:\n" + EnumChatFormatting.AQUA + "Time Since RNG:\n" + @@ -499,16 +499,16 @@ public class LootDisplay { EnumChatFormatting.WHITE + "Kelvin Inverters:\n" + EnumChatFormatting.BLUE + "Blaze Rod Distillates:\n" + EnumChatFormatting.BLUE + "Glowstone Distillates:\n" + - EnumChatFormatting.BLUE + "Magma Cream Distillates:\n" + - EnumChatFormatting.BLUE + "Nether Wart Distillates:\n" + + EnumChatFormatting.BLUE + "Magma Distillates:\n" + + EnumChatFormatting.BLUE + "Wart Distillates:\n" + EnumChatFormatting.BLUE + "Gabagool Distillates:\n" + - EnumChatFormatting.RED + "Scorched Power Crystals:\n" + + EnumChatFormatting.RED + "Power Crystals:\n" + EnumChatFormatting.RED + "Fire Aspect Books:\n" + EnumChatFormatting.GOLD + "Fiery Burst Runes:\n" + EnumChatFormatting.WHITE + "Opal Gems:\n" + EnumChatFormatting.RED + "Archfiend Dice:\n" + EnumChatFormatting.LIGHT_PURPLE + "Duplex Books:\n" + - EnumChatFormatting.GOLD + "High Class Archfiend Dice:\n" + + EnumChatFormatting.GOLD + "High Class Dice:\n" + EnumChatFormatting.GOLD + "Engineering Plans:\n" + EnumChatFormatting.GOLD + "Subzero Inverters:\n" + EnumChatFormatting.AQUA + "Time Since RNG:\n" + diff --git a/src/main/java/me/Danker/handlers/ConfigHandler.java b/src/main/java/me/Danker/handlers/ConfigHandler.java index 3ecb2cc..a4d7ca9 100644 --- a/src/main/java/me/Danker/handlers/ConfigHandler.java +++ b/src/main/java/me/Danker/handlers/ConfigHandler.java @@ -408,7 +408,7 @@ public class ConfigHandler { BlazeTracker.engineeringPlans = initInt("blaze", "engineeringPlans", 0); BlazeTracker.subzeroInverters = initInt("blaze", "subzeroInverters", 0); BlazeTracker.time = initDouble("blaze", "timeRNG", -1); - BlazeTracker.bossesSession = initInt("blaze", "bossRNG", -1); + BlazeTracker.bosses = initInt("blaze", "bossRNG", -1); // Fishing FishingTracker.seaCreatures = initInt("fishing", "seaCreature", 0); -- cgit From 0aef9021be5143adb5be5e624675d79868aa9738 Mon Sep 17 00:00:00 2001 From: bowser0000 Date: Fri, 22 Apr 2022 00:32:25 -0400 Subject: Add lava fishing tracker --- README.md | 6 +- .../java/me/Danker/commands/DisplayCommand.java | 21 +- .../me/Danker/commands/ImportFishingCommand.java | 273 +++++---------------- src/main/java/me/Danker/commands/LootCommand.java | 65 ++++- .../java/me/Danker/commands/ResetLootCommand.java | 11 + src/main/java/me/Danker/features/AutoDisplay.java | 6 +- .../me/Danker/features/loot/FishingTracker.java | 96 +++++++- .../java/me/Danker/features/loot/LootDisplay.java | 86 +++++++ src/main/java/me/Danker/gui/DisplayGui.java | 15 +- .../java/me/Danker/handlers/ConfigHandler.java | 12 + 10 files changed, 350 insertions(+), 241 deletions(-) (limited to 'src/main/java/me/Danker/features/loot/LootDisplay.java') diff --git a/README.md b/README.md index e3b7ee8..ea32b5d 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ Discord Server: https://discord.gg/QsEkNQS - Maddox menu keybind - Block starting other slayer quests - Slayer slain alert -- Fishing, jerry fishing, fishing festival, spooky fishing, crystal hollows fishing trackers +- Fishing, jerry fishing, fishing festival, spooky fishing, crystal hollows fishing, lava fishing trackers - Expertise kills in fishing rod lore - Gemstones applied in item lore - Catacombs trackers @@ -72,8 +72,8 @@ Discord Server: https://discord.gg/QsEkNQS - /toggle - Toggles features. /toggle list returns values of every toggle. - /setkey - Sets API key. - /getkey - Returns key set with /setkey and copies it to your clipboard. -- /loot [winter/festival/spooky/ch/f(1-7)/mm/session] - Returns loot received from slayer quests or fishing stats. /loot fishing winter returns winter sea creatures instead. -- /display [winter/festival/spooky/ch/f(1-7)/mm/session] - Text display for trackers. /display fishing winter displays winter sea creatures instead. /display auto automatically displays the loot for the slayer quest you have active. +- /loot [winter/festival/spooky/ch/lava/f(1-7)/mm/session] - Returns loot received from slayer quests or fishing stats. /loot fishing winter returns winter sea creatures instead. +- /display [winter/festival/spooky/ch/lava/f(1-7)/mm/session] - Text display for trackers. /display fishing winter displays winter sea creatures instead. /display auto automatically displays the loot for the slayer quest you have active. - /resetloot - - Resets loot for trackers. /resetloot confirm confirms the reset. - /move - Moves text display to specified X and Y coordinates. - /scale - Scales text display to a specified multipler between 0.1x and 10x. diff --git a/src/main/java/me/Danker/commands/DisplayCommand.java b/src/main/java/me/Danker/commands/DisplayCommand.java index 174258d..21ada93 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() + " [winter/festival/spooky/ch/session/f(1-7)/mm]"; + return "/" + getCommandName() + " [winter/festival/spooky/ch/lava/session/f(1-7)/mm]"; } public static String usage(ICommandSender arg0) { @@ -38,7 +38,7 @@ public class DisplayCommand extends CommandBase { if (args.length == 1) { return getListOfStringsMatchingLastWord(args, "wolf", "spider", "zombie", "enderman", "blaze", "fishing", "catacombs", "mythological", "ghost", "auto", "off"); } else if (args.length == 2 && args[0].equalsIgnoreCase("fishing")) { - return getListOfStringsMatchingLastWord(args, "winter", "festival", "spooky", "ch", "session"); + return getListOfStringsMatchingLastWord(args, "winter", "festival", "spooky", "ch", "lava", "session"); } else if (args.length == 2 && args[0].equalsIgnoreCase("catacombs")) { return getListOfStringsMatchingLastWord(args, "f1", "floor1", "f2", "floor2", "f3", "floor3", "f4", "floor4", "f5", "floor5", "f6", "floor6", "f7", "floor7", "mm", "master"); } else if (args.length > 1) { @@ -56,10 +56,8 @@ public class DisplayCommand extends CommandBase { return; } - boolean showSession = false; - - if (arg1[arg1.length - 1].equalsIgnoreCase("session")) showSession = true; - + boolean showSession = arg1[arg1.length - 1].equalsIgnoreCase("session"); + switch (arg1[0].toLowerCase()) { case "wolf": if (showSession) { @@ -122,9 +120,16 @@ public class DisplayCommand extends CommandBase { break; case "ch": if (showSession) { + LootDisplay.display = "fishing_ch_session"; + } else { LootDisplay.display = "fishing_ch"; + } + break; + case "lava": + if (showSession) { + LootDisplay.display = "fishing_lava_session"; } else { - LootDisplay.display = "fishing_ch_session"; + LootDisplay.display = "fishing_lava"; } break; default: @@ -230,7 +235,7 @@ public class DisplayCommand extends CommandBase { } else { LootDisplay.display = "ghost"; } - + break; case "auto": LootDisplay.auto = true; player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Display set to " + DankersSkyblockMod.SECONDARY_COLOUR + "auto" + DankersSkyblockMod.MAIN_COLOUR + ".")); diff --git a/src/main/java/me/Danker/commands/ImportFishingCommand.java b/src/main/java/me/Danker/commands/ImportFishingCommand.java index bdd3281..f51e01f 100644 --- a/src/main/java/me/Danker/commands/ImportFishingCommand.java +++ b/src/main/java/me/Danker/commands/ImportFishingCommand.java @@ -77,221 +77,50 @@ public class ImportFishingCommand extends CommandBase { } FishingTracker.seaCreatures = 0; - FishingTracker.squids = 0; - if (statsObject.has("kills_pond_squid")) { - FishingTracker.squids = statsObject.get("kills_pond_squid").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.squids; - - FishingTracker.seaWalkers = 0; - if (statsObject.has("kills_sea_walker")) { - FishingTracker.seaWalkers = statsObject.get("kills_sea_walker").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.seaWalkers; - - FishingTracker.nightSquids = 0; - if (statsObject.has("kills_night_squid")) { - FishingTracker.nightSquids = statsObject.get("kills_night_squid").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.nightSquids; - - FishingTracker.seaGuardians = 0; - if (statsObject.has("kills_sea_guardian")) { - FishingTracker.seaGuardians = statsObject.get("kills_sea_guardian").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.seaGuardians; - - FishingTracker.seaWitches = 0; - if (statsObject.has("kills_sea_witch")) { - FishingTracker.seaWitches = statsObject.get("kills_sea_witch").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.seaWitches; - - FishingTracker.seaArchers = 0; - if (statsObject.has("kills_sea_archer")) { - FishingTracker.seaArchers = statsObject.get("kills_sea_archer").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.seaArchers; - - FishingTracker.monsterOfTheDeeps = 0; - if (statsObject.has("kills_zombie_deep")) { - if (statsObject.has("kills_chicken_deep")) { - FishingTracker.monsterOfTheDeeps = statsObject.get("kills_zombie_deep").getAsInt() + statsObject.get("kills_chicken_deep").getAsInt(); - } else { - FishingTracker.monsterOfTheDeeps = statsObject.get("kills_zombie_deep").getAsInt(); - } - } else if (statsObject.has("kills_chicken_deep")) { - FishingTracker.monsterOfTheDeeps = statsObject.get("kills_chicken_deep").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.monsterOfTheDeeps; - - FishingTracker.catfishes = 0; - if (statsObject.has("kills_catfish")) { - FishingTracker.catfishes = statsObject.get("kills_catfish").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.catfishes; - - FishingTracker.carrotKings = 0; - if (statsObject.has("kills_carrot_king")) { - FishingTracker.carrotKings = statsObject.get("kills_carrot_king").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.carrotKings; - - FishingTracker.seaLeeches = 0; - if (statsObject.has("kills_sea_leech")) { - FishingTracker.seaLeeches = statsObject.get("kills_sea_leech").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.seaLeeches; - - FishingTracker.guardianDefenders = 0; - if (statsObject.has("kills_guardian_defender")) { - FishingTracker.guardianDefenders = statsObject.get("kills_guardian_defender").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.guardianDefenders; - - FishingTracker.deepSeaProtectors = 0; - if (statsObject.has("kills_deep_sea_protector")) { - FishingTracker.deepSeaProtectors = statsObject.get("kills_deep_sea_protector").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.deepSeaProtectors; - - FishingTracker.hydras = 0; - if (statsObject.has("kills_water_hydra")) { - // Hydra splits - FishingTracker.hydras = statsObject.get("kills_water_hydra").getAsInt() / 2; - } - FishingTracker.seaCreatures += FishingTracker.hydras; - - FishingTracker.seaEmperors = 0; - if (statsObject.has("kills_skeleton_emperor")) { - if (statsObject.has("kills_guardian_emperor")) { - FishingTracker.seaEmperors = statsObject.get("kills_skeleton_emperor").getAsInt() + statsObject.get("kills_guardian_emperor").getAsInt(); - } else { - FishingTracker.seaEmperors = statsObject.get("kills_skeleton_emperor").getAsInt(); - } - } else if (statsObject.has("kills_guardian_emperor")) { - FishingTracker.seaEmperors = statsObject.get("kills_guardian_emperor").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.seaEmperors; - - FishingTracker.fishingMilestone = 0; - if (statsObject.has("pet_milestone_sea_creatures_killed")) { - FishingTracker.fishingMilestone = statsObject.get("pet_milestone_sea_creatures_killed").getAsInt(); - } - - FishingTracker.frozenSteves = 0; - if (statsObject.has("kills_frozen_steve")) { - FishingTracker.frozenSteves = statsObject.get("kills_frozen_steve").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.frozenSteves; - - FishingTracker.frostyTheSnowmans = 0; - if (statsObject.has("kills_frosty_the_snowman")) { - FishingTracker.frostyTheSnowmans = statsObject.get("kills_frosty_the_snowman").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.frostyTheSnowmans; - - FishingTracker.grinches = 0; - if (statsObject.has("kills_grinch")) { - FishingTracker.grinches = statsObject.get("kills_grinch").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.grinches; - - FishingTracker.yetis = 0; - if (statsObject.has("kills_yeti")) { - FishingTracker.yetis = statsObject.get("kills_yeti").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.yetis; - - FishingTracker.nurseSharks = 0; - if (statsObject.has("kills_nurse_shark")) { - FishingTracker.nurseSharks = statsObject.get("kills_nurse_shark").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.nurseSharks; - - FishingTracker.blueSharks = 0; - if (statsObject.has("kills_nurse_shark")) { - FishingTracker.blueSharks = statsObject.get("kills_blue_shark").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.blueSharks; - - FishingTracker.tigerSharks = 0; - if (statsObject.has("kills_nurse_shark")) { - FishingTracker.tigerSharks = statsObject.get("kills_tiger_shark").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.tigerSharks; - - FishingTracker.greatWhiteSharks = 0; - if (statsObject.has("kills_nurse_shark")) { - FishingTracker.greatWhiteSharks = statsObject.get("kills_great_white_shark").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.greatWhiteSharks; - - FishingTracker.scarecrows = 0; - if (statsObject.has("kills_scarecrow")) { - FishingTracker.scarecrows = statsObject.get("kills_scarecrow").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.scarecrows; - - FishingTracker.nightmares = 0; - if (statsObject.has("kills_nightmare")) { - FishingTracker.nightmares = statsObject.get("kills_nightmare").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.nightmares; - - FishingTracker.werewolfs = 0; - if (statsObject.has("kills_werewolf")) { - FishingTracker.werewolfs = statsObject.get("kills_werewolf").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.werewolfs; - - FishingTracker.phantomFishers = 0; - if (statsObject.has("kills_phantom_fisherman")) { - FishingTracker.phantomFishers = statsObject.get("kills_phantom_fisherman").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.phantomFishers; - - FishingTracker.grimReapers = 0; - if (statsObject.has("kills_grim_reaper")) { - FishingTracker.grimReapers = statsObject.get("kills_grim_reaper").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.grimReapers; - - FishingTracker.waterWorms = 0; - if (statsObject.has("kills_water_worm")) { - FishingTracker.waterWorms = statsObject.get("kills_water_worm").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.waterWorms; - - FishingTracker.poisonedWaterWorms = 0; - if (statsObject.has("kills_poisoned_water_worm")) { - FishingTracker.poisonedWaterWorms = statsObject.get("kills_poisoned_water_worm").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.poisonedWaterWorms; - FishingTracker.flamingWorms = 0; - if (statsObject.has("kills_flaming_worm")) { - FishingTracker.flamingWorms = statsObject.get("kills_flaming_worm").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.flamingWorms; - - FishingTracker.lavaBlazes = 0; - if (statsObject.has("kills_lava_blaze")) { - FishingTracker.lavaBlazes = statsObject.get("kills_lava_blaze").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.lavaBlazes; - - FishingTracker.lavaPigmen = 0; - if (statsObject.has("kills_lava_pigman")) { - FishingTracker.lavaPigmen = statsObject.get("kills_lava_pigman").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.lavaPigmen; - - FishingTracker.zombieMiners = 0; - if (statsObject.has("kills_zombie_miner")) { - FishingTracker.zombieMiners = statsObject.get("kills_zombie_miner").getAsInt(); - } - FishingTracker.seaCreatures += FishingTracker.zombieMiners; + FishingTracker.squids = getSCFromApi(statsObject, "kills_pond_squid"); + FishingTracker.seaWalkers = getSCFromApi(statsObject, "kills_sea_walker"); + FishingTracker.nightSquids = getSCFromApi(statsObject, "kills_night_squid"); + FishingTracker.seaGuardians = getSCFromApi(statsObject, "kills_sea_guardian"); + FishingTracker.seaWitches = getSCFromApi(statsObject, "kills_sea_witch"); + FishingTracker.seaArchers = getSCFromApi(statsObject, "kills_sea_archer"); + FishingTracker.monsterOfTheDeeps = getSCFromApi(statsObject, "kills_zombie_deep") + getSCFromApi(statsObject, "kills_chicken_deep"); + FishingTracker.catfishes = getSCFromApi(statsObject, "kills_catfish"); + FishingTracker.carrotKings = getSCFromApi(statsObject, "kills_carrot_king"); + FishingTracker.seaLeeches = getSCFromApi(statsObject, "kills_sea_leech"); + FishingTracker.guardianDefenders = getSCFromApi(statsObject, "kills_guardian_defender"); + FishingTracker.deepSeaProtectors = getSCFromApi(statsObject, "kills_deep_sea_protector"); + FishingTracker.hydras = getSCFromApi(statsObject, "kills_water_hydra") / 2; + FishingTracker.seaEmperors = getSCFromApi(statsObject, "kills_skeleton_emperor") + getSCFromApi(statsObject, "kills_guardian_emperor"); + FishingTracker.fishingMilestone = getSCFromApi(statsObject, "pet_milestone_sea_creatures_killed"); + FishingTracker.frozenSteves = getSCFromApi(statsObject, "kills_frozen_steve"); + FishingTracker.frostyTheSnowmans = getSCFromApi(statsObject, "kills_frosty_the_snowman"); + FishingTracker.grinches = getSCFromApi(statsObject, "kills_grinch"); + FishingTracker.yetis = getSCFromApi(statsObject, "kills_yeti"); + FishingTracker.nurseSharks = getSCFromApi(statsObject, "kills_nurse_shark"); + FishingTracker.blueSharks = getSCFromApi(statsObject, "kills_blue_shark"); + FishingTracker.tigerSharks = getSCFromApi(statsObject, "kills_tiger_shark"); + FishingTracker.greatWhiteSharks = getSCFromApi(statsObject, "kills_great_white_shark"); + FishingTracker.scarecrows = getSCFromApi(statsObject, "kills_scarecrow"); + FishingTracker.nightmares = getSCFromApi(statsObject, "kills_nightmare"); + FishingTracker.werewolfs = getSCFromApi(statsObject, "kills_werewolf"); + FishingTracker.phantomFishers = getSCFromApi(statsObject, "kills_phantom_fisherman"); + FishingTracker.grimReapers = getSCFromApi(statsObject, "kills_grim_reaper"); + FishingTracker.waterWorms = getSCFromApi(statsObject, "kills_water_worm"); + FishingTracker.poisonedWaterWorms = getSCFromApi(statsObject, "kills_poisoned_water_worm"); + FishingTracker.flamingWorms = getSCFromApi(statsObject, "kills_flaming_worm"); + FishingTracker.lavaBlazes = getSCFromApi(statsObject, "kills_lava_blaze"); + FishingTracker.lavaPigmen = getSCFromApi(statsObject, "kills_lava_pigman"); + FishingTracker.zombieMiners = getSCFromApi(statsObject, "kills_zombie_miner"); + FishingTracker.magmaSlugs = getSCFromApi(statsObject, "kills_magma_slug"); + FishingTracker.moogmas = getSCFromApi(statsObject, "kills_moogma"); + FishingTracker.lavaLeeches = getSCFromApi(statsObject, "kills_lava_leech"); + FishingTracker.pyroclasticWorms = getSCFromApi(statsObject, "kills_pyroclastic_worm"); + FishingTracker.lavaFlames = getSCFromApi(statsObject, "kills_lava_flame"); + FishingTracker.fireEels = getSCFromApi(statsObject, "kills_fire_eel"); + FishingTracker.tauruses = getSCFromApi(statsObject, "kills_taurus"); + FishingTracker.thunders = getSCFromApi(statsObject, "kills_thunder"); + FishingTracker.lordJawbuses = getSCFromApi(statsObject, "kills_lord_jawbus"); System.out.println("Writing to config..."); ConfigHandler.writeIntConfig("fishing", "goodCatch", FishingTracker.goodCatches); @@ -331,9 +160,25 @@ public class ImportFishingCommand extends CommandBase { ConfigHandler.writeIntConfig("fishing", "lavaBlaze", FishingTracker.lavaBlazes); ConfigHandler.writeIntConfig("fishing", "lavaPigman", FishingTracker.lavaPigmen); ConfigHandler.writeIntConfig("fishing", "zombieMiner", FishingTracker.zombieMiners); + ConfigHandler.writeIntConfig("fishing", "magmaSlug", FishingTracker.magmaSlugs); + ConfigHandler.writeIntConfig("fishing", "moogma", FishingTracker.moogmas); + ConfigHandler.writeIntConfig("fishing", "lavaLeech", FishingTracker.lavaLeeches); + ConfigHandler.writeIntConfig("fishing", "pyroclasticWorm", FishingTracker.pyroclasticWorms); + ConfigHandler.writeIntConfig("fishing", "lavaFlame", FishingTracker.lavaFlames); + ConfigHandler.writeIntConfig("fishing", "fireEel", FishingTracker.fireEels); + ConfigHandler.writeIntConfig("fishing", "taurus", FishingTracker.tauruses); + ConfigHandler.writeIntConfig("fishing", "thunder", FishingTracker.thunders); + ConfigHandler.writeIntConfig("fishing", "lordJawbus", FishingTracker.lordJawbuses); player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Fishing stats imported.")); }).start(); } + static int getSCFromApi(JsonObject obj, String key) { + int sc = 0; + if (obj.has(key)) sc = obj.get(key).getAsInt(); + FishingTracker.seaCreatures += sc; + return sc; + } + } diff --git a/src/main/java/me/Danker/commands/LootCommand.java b/src/main/java/me/Danker/commands/LootCommand.java index 5d91573..3be46a4 100644 --- a/src/main/java/me/Danker/commands/LootCommand.java +++ b/src/main/java/me/Danker/commands/LootCommand.java @@ -24,7 +24,7 @@ public class LootCommand extends CommandBase { @Override public String getCommandUsage(ICommandSender arg0) { - return "/" + getCommandName() + " [winter/festival/spooky/ch/f(1-7)/mm/session]"; + return "/" + getCommandName() + " [winter/festival/spooky/ch/lava/f(1-7)/mm/session]"; } public static String usage(ICommandSender arg0) { @@ -41,7 +41,7 @@ public class LootCommand extends CommandBase { if (args.length == 1) { return getListOfStringsMatchingLastWord(args, "wolf", "spider", "zombie", "enderman", "blaze", "fishing", "catacombs", "mythological"); } else if (args.length == 2 && args[0].equalsIgnoreCase("fishing")) { - return getListOfStringsMatchingLastWord(args, "winter", "festival", "spooky", "ch", "session"); + return getListOfStringsMatchingLastWord(args, "winter", "festival", "spooky", "ch", "lava", "session"); } else if (args.length == 2 && args[0].equalsIgnoreCase("catacombs")) { return getListOfStringsMatchingLastWord(args, "f1", "floor1", "f2", "floor2", "f3", "floor3", "f4", "floor4", "f5", "floor5", "f6", "floor6", "f7", "floor7", "mm", "master"); } else if (args.length > 1) { @@ -511,6 +511,7 @@ public class LootCommand extends CommandBase { EnumChatFormatting.GOLD + " Tiger Sharks: " + nf.format(FishingTracker.tigerSharks) + "\n" + EnumChatFormatting.WHITE + " Great White Sharks: " + nf.format(FishingTracker.greatWhiteSharks) + "\n" + EnumChatFormatting.AQUA + EnumChatFormatting.BOLD + " -------------------")); + return; } else if (arg1[1].equalsIgnoreCase("spooky")) { if (showSession) { player.addChatMessage(new ChatComponentText(EnumChatFormatting.AQUA + "" + EnumChatFormatting.BOLD + "-------------------\n" + @@ -532,6 +533,7 @@ public class LootCommand extends CommandBase { EnumChatFormatting.GOLD + " Phantom Fishers: " + nf.format(FishingTracker.phantomFishers) + "\n" + EnumChatFormatting.GOLD + " Grim Reapers: " + nf.format(FishingTracker.grimReapers) + "\n" + EnumChatFormatting.AQUA + "" + EnumChatFormatting.BOLD + "-------------------")); + return; } else if (arg1[1].equalsIgnoreCase("ch")) { if (showSession) { player.addChatMessage(new ChatComponentText(EnumChatFormatting.AQUA + "" + EnumChatFormatting.BOLD + "-------------------\n" + @@ -556,9 +558,64 @@ public class LootCommand extends CommandBase { EnumChatFormatting.LIGHT_PURPLE + " Lava Pigmen: " + nf.format(FishingTracker.lavaPigmen) + "\n" + EnumChatFormatting.GOLD + " Zombie Miners: " + nf.format(FishingTracker.zombieMiners) + "\n" + EnumChatFormatting.AQUA + "" + EnumChatFormatting.BOLD + "-------------------")); - } + return; + } else if (arg1[1].equalsIgnoreCase("lava")) { + if (showSession) { + if (FishingTracker.jawbusTimeSession == -1) { + timeBetween = "Never"; + } else { + timeBetween = Utils.getTimeBetween(FishingTracker.jawbusTimeSession, timeNow); + } + if (FishingTracker.jawbusSCsSession == -1) { + bossesBetween = "Never"; + } else { + bossesBetween = nf.format(FishingTracker.jawbusSCsSession); + } - return; + player.addChatMessage(new ChatComponentText(EnumChatFormatting.AQUA + "" + EnumChatFormatting.BOLD + "-------------------\n" + + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Lava Fishing Summary (Current Session):\n" + + EnumChatFormatting.DARK_RED + " Magma Slugs: " + nf.format(FishingTracker.magmaSlugsSession) + "\n" + + EnumChatFormatting.RED + " Moogmas: " + nf.format(FishingTracker.moogmasSession) + "\n" + + EnumChatFormatting.RED + " Lava Leeches: " + nf.format(FishingTracker.lavaLeechesSession) + "\n" + + EnumChatFormatting.RED + " Pyroclastic Worms: " + nf.format(FishingTracker.pyroclasticWormsSession) + "\n" + + EnumChatFormatting.DARK_RED + " Lava Flames: " + nf.format(FishingTracker.lavaFlamesSession) + "\n" + + EnumChatFormatting.RED + " Fire Eels: " + nf.format(FishingTracker.fireEelsSession) + "\n" + + EnumChatFormatting.GOLD + " Tauruses: " + nf.format(FishingTracker.taurusesSession) + "\n" + + EnumChatFormatting.LIGHT_PURPLE + " Thunders: " + nf.format(FishingTracker.thundersSession) + "\n" + + EnumChatFormatting.LIGHT_PURPLE + " Lord Jawbuses: " + nf.format(FishingTracker.lordJawbusesSession) + "\n" + + EnumChatFormatting.AQUA + " Time Since Lord Jawbus: " + timeBetween + "\n" + + EnumChatFormatting.AQUA + " Creatures Since Lord Jawbus: " + bossesBetween + "\n" + + EnumChatFormatting.AQUA + EnumChatFormatting.BOLD + " -------------------")); + return; + } + + if (FishingTracker.jawbusTime == -1) { + timeBetween = "Never"; + } else { + timeBetween = Utils.getTimeBetween(FishingTracker.jawbusTime, timeNow); + } + if (FishingTracker.jawbusSCs == -1) { + bossesBetween = "Never"; + } else { + bossesBetween = nf.format(FishingTracker.jawbusSCs); + } + + player.addChatMessage(new ChatComponentText(EnumChatFormatting.AQUA + "" + EnumChatFormatting.BOLD + "-------------------\n" + + EnumChatFormatting.RED + EnumChatFormatting.BOLD + " Lava Fishing Summary:\n" + + EnumChatFormatting.DARK_RED + " Magma Slugs: " + nf.format(FishingTracker.magmaSlugs) + "\n" + + EnumChatFormatting.RED + " Moogmas: " + nf.format(FishingTracker.moogmas) + "\n" + + EnumChatFormatting.RED + " Lava Leeches: " + nf.format(FishingTracker.lavaLeeches) + "\n" + + EnumChatFormatting.RED + " Pyroclastic Worms: " + nf.format(FishingTracker.pyroclasticWorms) + "\n" + + EnumChatFormatting.DARK_RED + " Lava Flames: " + nf.format(FishingTracker.lavaFlames) + "\n" + + EnumChatFormatting.RED + " Fire Eels: " + nf.format(FishingTracker.fireEels) + "\n" + + EnumChatFormatting.GOLD + " Tauruses: " + nf.format(FishingTracker.tauruses) + "\n" + + EnumChatFormatting.LIGHT_PURPLE + " Thunders: " + nf.format(FishingTracker.thunders) + "\n" + + EnumChatFormatting.LIGHT_PURPLE + " Lord Jawbuses: " + nf.format(FishingTracker.lordJawbuses) + "\n" + + EnumChatFormatting.AQUA + " Time Since Lord Jawbus: " + timeBetween + "\n" + + EnumChatFormatting.AQUA + " Creatures Since Lord Jawbus: " + bossesBetween + "\n" + + EnumChatFormatting.AQUA + EnumChatFormatting.BOLD + " -------------------")); + return; + } } if (showSession) { diff --git a/src/main/java/me/Danker/commands/ResetLootCommand.java b/src/main/java/me/Danker/commands/ResetLootCommand.java index d3294b2..c17c2ae 100644 --- a/src/main/java/me/Danker/commands/ResetLootCommand.java +++ b/src/main/java/me/Danker/commands/ResetLootCommand.java @@ -277,6 +277,17 @@ public class ResetLootCommand extends CommandBase { FishingTracker.lavaBlazesSession = 0; FishingTracker.lavaPigmenSession = 0; FishingTracker.zombieMinersSession = 0; + FishingTracker.magmaSlugsSession = 0; + FishingTracker.moogmasSession = 0; + FishingTracker.lavaLeechesSession = 0; + FishingTracker.pyroclasticWormsSession = 0; + FishingTracker.lavaFlamesSession = 0; + FishingTracker.fireEelsSession = 0; + FishingTracker.taurusesSession = 0; + FishingTracker.thundersSession = 0; + FishingTracker.lordJawbusesSession = 0; + FishingTracker.jawbusTimeSession = 0; + FishingTracker.jawbusSCsSession = 0; ConfigHandler.deleteCategory("fishing"); ConfigHandler.reloadConfig(); } diff --git a/src/main/java/me/Danker/features/AutoDisplay.java b/src/main/java/me/Danker/features/AutoDisplay.java index 63b66d5..7f86035 100644 --- a/src/main/java/me/Danker/features/AutoDisplay.java +++ b/src/main/java/me/Danker/features/AutoDisplay.java @@ -95,7 +95,11 @@ public class AutoDisplay { List lore = hotbarItem.getTooltip(player, mc.gameSettings.advancedItemTooltips); for (int j = lore.size() - 1; j >= 0; j--) { // reverse if (lore.get(j).contains("FISHING ROD")) { - LootDisplay.display = "fishing"; + if (Utils.tabLocation.equals("Crimson Isle")) { + LootDisplay.display = "fishing_lava"; + } else { + LootDisplay.display = "fishing"; + } found = true; break; } diff --git a/src/main/java/me/Danker/features/loot/FishingTracker.java b/src/main/java/me/Danker/features/loot/FishingTracker.java index cf329aa..95a9040 100644 --- a/src/main/java/me/Danker/features/loot/FishingTracker.java +++ b/src/main/java/me/Danker/features/loot/FishingTracker.java @@ -54,6 +54,18 @@ public class FishingTracker { public static int lavaBlazes; public static int lavaPigmen; public static int zombieMiners; + // Lava fishing + public static int magmaSlugs; + public static int moogmas; + public static int lavaLeeches; + public static int pyroclasticWorms; + public static int lavaFlames; + public static int fireEels; + public static int tauruses; + public static int thunders; + public static int lordJawbuses; + public static double jawbusTime; + public static int jawbusSCs; // Fishing public static int seaCreaturesSession = 0; @@ -101,6 +113,18 @@ public class FishingTracker { public static int lavaBlazesSession = 0; public static int lavaPigmenSession = 0; public static int zombieMinersSession = 0; + // Lava fishing + public static int magmaSlugsSession = 0; + public static int moogmasSession = 0; + public static int lavaLeechesSession = 0; + public static int pyroclasticWormsSession = 0; + public static int lavaFlamesSession = 0; + public static int fireEelsSession = 0; + public static int taurusesSession = 0; + public static int thundersSession = 0; + public static int lordJawbusesSession = 0; + public static double jawbusTimeSession = 0; + public static int jawbusSCsSession = 0; @SubscribeEvent public void onChat(ClientChatReceivedEvent event) { @@ -296,16 +320,61 @@ public class FishingTracker { zombieMinersSession++; ConfigHandler.writeIntConfig("fishing", "zombieMiner", zombieMiners); increaseSeaCreatures(); + } else if (message.contains("From Beneath the lava appears a Magma Slug")) { + magmaSlugs++; + magmaSlugsSession++; + ConfigHandler.writeIntConfig("fishing", "magmaSlug", magmaSlugs); + increaseSeaCreatures(); + } else if (message.contains("You hear a faint Moo from the lava... A Moogma appears")) { + moogmas++; + moogmasSession++; + ConfigHandler.writeIntConfig("fishing", "moogma", moogmas); + increaseSeaCreatures(); + } else if (message.contains("A small but fearsome Lava Leech emerges")) { + lavaLeeches++; + lavaLeechesSession++; + ConfigHandler.writeIntConfig("fishing", "lavaLeech", lavaLeeches); + increaseSeaCreatures(); + } else if (message.contains("You feel the heat radiating as a Pyroclastic Worm surfaces")) { + pyroclasticWorms++; + pyroclasticWormsSession++; + ConfigHandler.writeIntConfig("fishing", "pyroclasticWorm", pyroclasticWorms); + increaseSeaCreatures(); + } else if (message.contains("A Lava Flame flies out from beneath the lava")) { + lavaFlames++; + lavaFlamesSession++; + ConfigHandler.writeIntConfig("fishing", "lavaFlame", lavaFlames); + increaseSeaCreatures(); + } else if (message.contains("A Fire Eel slithers out from the depths")) { + fireEels++; + fireEelsSession++; + ConfigHandler.writeIntConfig("fishing", "fireEel", fireEels); + increaseSeaCreatures(); + } else if (message.contains("Taurus and his steed emerge")) { + tauruses++; + taurusesSession++; + ConfigHandler.writeIntConfig("fishing", "taurus", tauruses); + increaseSeaCreatures(); + } else if (message.contains("You hear a massive rumble as Thunder emerges")) { + thunders++; + thundersSession++; + ConfigHandler.writeIntConfig("fishing", "thunder", thunders); + increaseSeaCreatures(); + } else if (message.contains("You have angered a legendary creature... Lord Jawbus has arrived")) { + lordJawbuses++; + jawbusTime = System.currentTimeMillis() / 1000; + jawbusSCs = 0; + lordJawbusesSession++; + jawbusTimeSession = System.currentTimeMillis() / 1000; + jawbusSCsSession = 0; + ConfigHandler.writeIntConfig("fishing", "lordJawbus", lordJawbuses); + ConfigHandler.writeDoubleConfig("fishing", "jawbusTime", jawbusTime); + ConfigHandler.writeIntConfig("fishing", "jawbusSC", jawbusSCs); + increaseSeaCreatures(); } } public void increaseSeaCreatures() { - if (empSCs != -1) { - empSCs++; - } - if (empSCsSession != -1) { - empSCsSession++; - } // Only increment Yetis when in Jerry's Workshop if (Utils.isInScoreboard("Jerry's Workshop") || Utils.isInScoreboard("Jerry Pond")) { if (yetiSCs != -1) { @@ -314,6 +383,20 @@ public class FishingTracker { if (yetiSCsSession != -1) { yetiSCsSession++; } + } else if (Utils.tabLocation.equals("Crimson Isle")) { + if (jawbusSCs != -1) { + jawbusSCs++; + } + if (jawbusSCsSession != -1) { + jawbusSCsSession++; + } + } else { + if (empSCs != -1) { + empSCs++; + } + if (empSCsSession != -1) { + empSCsSession++; + } } seaCreatures++; @@ -324,6 +407,7 @@ public class FishingTracker { ConfigHandler.writeIntConfig("fishing", "milestone", fishingMilestone); ConfigHandler.writeIntConfig("fishing", "empSC", empSCs); ConfigHandler.writeIntConfig("fishing", "yetiSC", yetiSCs); + ConfigHandler.writeIntConfig("fishing", "jawbusSC", jawbusSCs); } } diff --git a/src/main/java/me/Danker/features/loot/LootDisplay.java b/src/main/java/me/Danker/features/loot/LootDisplay.java index 9436ec6..e1ddcb0 100644 --- a/src/main/java/me/Danker/features/loot/LootDisplay.java +++ b/src/main/java/me/Danker/features/loot/LootDisplay.java @@ -848,6 +848,92 @@ public class LootDisplay { EnumChatFormatting.DARK_PURPLE + nf.format(FishingTracker.lavaPigmenSession) + "\n" + EnumChatFormatting.GOLD + nf.format(FishingTracker.zombieMinersSession); break; + case "fishing_lava": + if (FishingTracker.jawbusTime == -1) { + timeBetween = "Never"; + } else { + timeBetween = Utils.getTimeBetween(FishingTracker.jawbusTime, timeNow); + } + if (FishingTracker.jawbusSCs == -1) { + bossesBetween = "Never"; + } else { + bossesBetween = nf.format(FishingTracker.jawbusSCs); + } + + dropsText = EnumChatFormatting.AQUA + "Creatures Caught:\n" + + EnumChatFormatting.AQUA + "Fishing Milestone:\n" + + EnumChatFormatting.GOLD + "Good Catches:\n" + + EnumChatFormatting.DARK_PURPLE + "Great Catches:\n" + + EnumChatFormatting.DARK_RED + "Magma Slugs:\n" + + EnumChatFormatting.RED + "Moogmas:\n" + + EnumChatFormatting.RED + "Lava Leeches:\n" + + EnumChatFormatting.RED + "Pyroclastic Worms:\n" + + EnumChatFormatting.DARK_RED + "Lava Flames:\n" + + EnumChatFormatting.RED + "Fire Eels:\n" + + EnumChatFormatting.GOLD + "Tauruses:\n" + + EnumChatFormatting.LIGHT_PURPLE + "Thunders:\n" + + EnumChatFormatting.LIGHT_PURPLE + "Lord Jawbuses:\n" + + EnumChatFormatting.AQUA + "Time Since Jawbus:\n" + + EnumChatFormatting.AQUA + "SC Since Jawbus:"; + countText = EnumChatFormatting.AQUA + nf.format(FishingTracker.seaCreatures) + "\n" + + EnumChatFormatting.AQUA + nf.format(FishingTracker.fishingMilestone) + "\n" + + EnumChatFormatting.GOLD + nf.format(FishingTracker.goodCatches) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(FishingTracker.greatCatches) + "\n" + + EnumChatFormatting.DARK_RED + nf.format(FishingTracker.magmaSlugs) + "\n" + + EnumChatFormatting.RED + nf.format(FishingTracker.moogmas) + "\n" + + EnumChatFormatting.RED + nf.format(FishingTracker.lavaLeeches) + "\n" + + EnumChatFormatting.RED + nf.format(FishingTracker.pyroclasticWorms) + "\n" + + EnumChatFormatting.DARK_RED + nf.format(FishingTracker.lavaFlames) + "\n" + + EnumChatFormatting.RED + nf.format(FishingTracker.fireEels) + "\n" + + EnumChatFormatting.GOLD + nf.format(FishingTracker.tauruses) + "\n" + + EnumChatFormatting.LIGHT_PURPLE + nf.format(FishingTracker.thunders) + "\n" + + EnumChatFormatting.LIGHT_PURPLE + nf.format(FishingTracker.lordJawbuses) + "\n" + + EnumChatFormatting.AQUA + timeBetween + "\n" + + EnumChatFormatting.AQUA + bossesBetween; + break; + case "fishing_lava_session": + if (FishingTracker.jawbusTimeSession == -1) { + timeBetween = "Never"; + } else { + timeBetween = Utils.getTimeBetween(FishingTracker.jawbusTimeSession, timeNow); + } + if (FishingTracker.jawbusSCsSession == -1) { + bossesBetween = "Never"; + } else { + bossesBetween = nf.format(FishingTracker.jawbusSCsSession); + } + + dropsText = EnumChatFormatting.AQUA + "Creatures Caught:\n" + + EnumChatFormatting.AQUA + "Fishing Milestone:\n" + + EnumChatFormatting.GOLD + "Good Catches:\n" + + EnumChatFormatting.DARK_PURPLE + "Great Catches:\n" + + EnumChatFormatting.DARK_RED + "Magma Slugs:\n" + + EnumChatFormatting.RED + "Moogmas:\n" + + EnumChatFormatting.RED + "Lava Leeches:\n" + + EnumChatFormatting.RED + "Pyroclastic Worms:\n" + + EnumChatFormatting.DARK_RED + "Lava Flames:\n" + + EnumChatFormatting.RED + "Fire Eels:\n" + + EnumChatFormatting.GOLD + "Tauruses:\n" + + EnumChatFormatting.LIGHT_PURPLE + "Thunders:\n" + + EnumChatFormatting.LIGHT_PURPLE + "Lord Jawbuses:\n" + + EnumChatFormatting.AQUA + "Time Since Jawbus:\n" + + EnumChatFormatting.AQUA + "SC Since Jawbus:"; + countText = EnumChatFormatting.AQUA + nf.format(FishingTracker.seaCreaturesSession) + "\n" + + EnumChatFormatting.AQUA + nf.format(FishingTracker.fishingMilestoneSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(FishingTracker.goodCatchesSession) + "\n" + + EnumChatFormatting.DARK_PURPLE + nf.format(FishingTracker.greatCatchesSession) + "\n" + + EnumChatFormatting.DARK_RED + nf.format(FishingTracker.magmaSlugsSession) + "\n" + + EnumChatFormatting.RED + nf.format(FishingTracker.moogmasSession) + "\n" + + EnumChatFormatting.RED + nf.format(FishingTracker.lavaLeechesSession) + "\n" + + EnumChatFormatting.RED + nf.format(FishingTracker.pyroclasticWormsSession) + "\n" + + EnumChatFormatting.DARK_RED + nf.format(FishingTracker.lavaFlamesSession) + "\n" + + EnumChatFormatting.RED + nf.format(FishingTracker.fireEelsSession) + "\n" + + EnumChatFormatting.GOLD + nf.format(FishingTracker.taurusesSession) + "\n" + + EnumChatFormatting.LIGHT_PURPLE + nf.format(FishingTracker.thundersSession) + "\n" + + EnumChatFormatting.LIGHT_PURPLE + nf.format(FishingTracker.lordJawbusesSession) + "\n" + + EnumChatFormatting.AQUA + timeBetween + "\n" + + EnumChatFormatting.AQUA + bossesBetween; + break; case "mythological": dropsText = EnumChatFormatting.GOLD + "Coins:\n" + EnumChatFormatting.WHITE + "Griffin Feathers:\n" + diff --git a/src/main/java/me/Danker/gui/DisplayGui.java b/src/main/java/me/Danker/gui/DisplayGui.java index 073b161..b8be3d6 100644 --- a/src/main/java/me/Danker/gui/DisplayGui.java +++ b/src/main/java/me/Danker/gui/DisplayGui.java @@ -27,6 +27,7 @@ public class DisplayGui extends GuiScreen { private GuiButton fishingFestival; private GuiButton fishingSpooky; private GuiButton fishingCH; + private GuiButton fishingLava; private GuiButton catacombsF1; private GuiButton catacombsF2; private GuiButton catacombsF3; @@ -60,11 +61,12 @@ public class DisplayGui extends GuiScreen { wolf = new GuiButton(0, width / 2 - 50, (int) (height * 0.35), 100, 20, "Wolf"); enderman = new GuiButton(0, width / 2 + 60, (int) (height * 0.35), 100, 20, "Enderman"); blaze = new GuiButton(0, width / 2 + 170, (int) (height * 0.35), 100, 20, "Blaze"); - fishing = new GuiButton(0, width / 2 - 270, (int) (height * 0.5), 100, 20, "Fishing"); - fishingWinter = new GuiButton(0, width / 2 - 160, (int) (height * 0.5), 100, 20, "Fishing Winter"); - fishingFestival = new GuiButton(0, width / 2 - 50, (int) (height * 0.5), 100, 20, "Fishing Festival"); - fishingSpooky = new GuiButton(0, width / 2 + 60, (int) (height * 0.5), 100, 20, "Fishing Spooky"); - fishingCH = new GuiButton(0, width / 2 + 170, (int) (height * 0.5), 100, 20, "CH Fishing"); + fishing = new GuiButton(0, width / 2 - 295, (int) (height * 0.5), 90, 20, "Fishing"); + fishingWinter = new GuiButton(0, width / 2 - 195, (int) (height * 0.5), 90, 20, "Fishing Winter"); + fishingFestival = new GuiButton(0, width / 2 - 95, (int) (height * 0.5), 90, 20, "Fishing Festival"); + fishingSpooky = new GuiButton(0, width / 2 + 5, (int) (height * 0.5), 90, 20, "Fishing Spooky"); + fishingCH = new GuiButton(0, width / 2 + 105, (int) (height * 0.5), 90, 20, "CH Fishing"); + fishingLava = new GuiButton(0, width / 2 + 205, (int) (height * 0.5), 90, 20, "Lava Fishing"); catacombsF1 = new GuiButton(0, width / 2 - 235, (int) (height * 0.65), 50, 20, "F1"); catacombsF2 = new GuiButton(0, width / 2 - 175, (int) (height * 0.65), 50, 20, "F2"); catacombsF3 = new GuiButton(0, width / 2 - 115, (int) (height * 0.65), 50, 20, "F3"); @@ -89,6 +91,7 @@ public class DisplayGui extends GuiScreen { this.buttonList.add(fishingFestival); this.buttonList.add(fishingSpooky); this.buttonList.add(fishingCH); + this.buttonList.add(fishingLava); this.buttonList.add(catacombsF1); this.buttonList.add(catacombsF2); this.buttonList.add(catacombsF3); @@ -148,6 +151,8 @@ public class DisplayGui extends GuiScreen { setDisplay("fishing_spooky"); } else if (button == fishingCH) { setDisplay("fishing_ch"); + } else if (button == fishingLava) { + setDisplay("fishing_lava"); } else if (button == mythological) { setDisplay("mythological"); } else if (button == catacombsF1) { diff --git a/src/main/java/me/Danker/handlers/ConfigHandler.java b/src/main/java/me/Danker/handlers/ConfigHandler.java index a4d7ca9..1267b9b 100644 --- a/src/main/java/me/Danker/handlers/ConfigHandler.java +++ b/src/main/java/me/Danker/handlers/ConfigHandler.java @@ -456,6 +456,18 @@ public class ConfigHandler { FishingTracker.lavaBlazes = initInt("fishing", "lavaBlaze", 0); FishingTracker.lavaPigmen = initInt("fishing", "lavaPigman", 0); FishingTracker.zombieMiners = initInt("fishing", "zombieMiner", 0); + // Lava Fishing + FishingTracker.magmaSlugs = initInt("fishing", "magmaSlug", 0); + FishingTracker.moogmas = initInt("fishing", "moogma", 0); + FishingTracker.lavaLeeches = initInt("fishing", "lavaLeech", 0); + FishingTracker.pyroclasticWorms = initInt("fishing", "pyroclasticWorm", 0); + FishingTracker.lavaFlames = initInt("fishing", "lavaFlame", 0); + FishingTracker.fireEels = initInt("fishing", "fireEel", 0); + FishingTracker.tauruses = initInt("fishing", "taurus", 0); + FishingTracker.thunders = initInt("fishing", "thunder", 0); + FishingTracker.lordJawbuses = initInt("fishing", "lordJawbus", 0); + FishingTracker.jawbusTime = initDouble("fishing", "jawbusTime", -1); + FishingTracker.jawbusSCs = initInt("fishing", "jawbusSC", -1); // Mythological MythologicalTracker.mythCoins = initDouble("mythological", "coins", 0); -- cgit