aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/me/Danker/TheMod.java944
-rw-r--r--src/main/java/me/Danker/commands/ArmourCommand.java2
-rw-r--r--src/main/java/me/Danker/commands/BankCommand.java2
-rw-r--r--src/main/java/me/Danker/commands/BlockSlayerCommand.java97
-rw-r--r--src/main/java/me/Danker/commands/DHelpCommand.java16
-rw-r--r--src/main/java/me/Danker/commands/DankerGuiCommand.java32
-rw-r--r--src/main/java/me/Danker/commands/DisplayCommand.java40
-rw-r--r--src/main/java/me/Danker/commands/DungeonsCommand.java110
-rw-r--r--src/main/java/me/Danker/commands/GetkeyCommand.java2
-rw-r--r--src/main/java/me/Danker/commands/GuildOfCommand.java5
-rw-r--r--src/main/java/me/Danker/commands/ImportFishingCommand.java30
-rw-r--r--src/main/java/me/Danker/commands/LobbySkillsCommand.java215
-rw-r--r--src/main/java/me/Danker/commands/LootCommand.java153
-rw-r--r--src/main/java/me/Danker/commands/MoveCommand.java15
-rw-r--r--src/main/java/me/Danker/commands/PetsCommand.java5
-rw-r--r--src/main/java/me/Danker/commands/ReloadConfigCommand.java2
-rw-r--r--src/main/java/me/Danker/commands/ResetLootCommand.java14
-rw-r--r--src/main/java/me/Danker/commands/ScaleCommand.java13
-rw-r--r--src/main/java/me/Danker/commands/SetkeyCommand.java4
-rw-r--r--src/main/java/me/Danker/commands/SkillsCommand.java34
-rw-r--r--src/main/java/me/Danker/commands/SkyblockPlayersCommand.java2
-rw-r--r--src/main/java/me/Danker/commands/SlayerCommand.java2
-rw-r--r--src/main/java/me/Danker/commands/ToggleCommand.java40
-rw-r--r--src/main/java/me/Danker/gui/DankerGui.java206
-rw-r--r--src/main/java/me/Danker/gui/DisplayGui.java155
-rw-r--r--src/main/java/me/Danker/gui/EditLocationsGui.java152
-rw-r--r--src/main/java/me/Danker/gui/OnlySlayerGui.java135
-rw-r--r--src/main/java/me/Danker/gui/buttons/LocationButton.java61
-rw-r--r--src/main/java/me/Danker/handlers/APIHandler.java5
-rw-r--r--src/main/java/me/Danker/handlers/ConfigHandler.java79
-rw-r--r--src/main/java/me/Danker/handlers/PacketHandler.java31
-rw-r--r--src/main/java/me/Danker/handlers/ScoreboardHandler.java2
-rw-r--r--src/main/java/me/Danker/handlers/TextRenderer.java13
-rw-r--r--src/main/java/me/Danker/utils/Utils.java55
34 files changed, 2323 insertions, 350 deletions
diff --git a/src/main/java/me/Danker/TheMod.java b/src/main/java/me/Danker/TheMod.java
index ec2dedf..4c30ee9 100644
--- a/src/main/java/me/Danker/TheMod.java
+++ b/src/main/java/me/Danker/TheMod.java
@@ -18,12 +18,16 @@ import com.google.gson.JsonObject;
import me.Danker.commands.ArmourCommand;
import me.Danker.commands.BankCommand;
+import me.Danker.commands.BlockSlayerCommand;
import me.Danker.commands.ChatMaddoxCommand;
import me.Danker.commands.DHelpCommand;
+import me.Danker.commands.DankerGuiCommand;
import me.Danker.commands.DisplayCommand;
+import me.Danker.commands.DungeonsCommand;
import me.Danker.commands.GetkeyCommand;
import me.Danker.commands.GuildOfCommand;
import me.Danker.commands.ImportFishingCommand;
+import me.Danker.commands.LobbySkillsCommand;
import me.Danker.commands.LootCommand;
import me.Danker.commands.MoveCommand;
import me.Danker.commands.PetsCommand;
@@ -35,8 +39,13 @@ import me.Danker.commands.SkillsCommand;
import me.Danker.commands.SkyblockPlayersCommand;
import me.Danker.commands.SlayerCommand;
import me.Danker.commands.ToggleCommand;
+import me.Danker.gui.DankerGui;
+import me.Danker.gui.DisplayGui;
+import me.Danker.gui.EditLocationsGui;
+import me.Danker.gui.OnlySlayerGui;
import me.Danker.handlers.APIHandler;
import me.Danker.handlers.ConfigHandler;
+import me.Danker.handlers.PacketHandler;
import me.Danker.handlers.ScoreboardHandler;
import me.Danker.handlers.TextRenderer;
import me.Danker.utils.Utils;
@@ -47,8 +56,12 @@ import net.minecraft.client.settings.KeyBinding;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.event.ClickEvent;
import net.minecraft.event.ClickEvent.Action;
+import net.minecraft.inventory.Container;
+import net.minecraft.inventory.ContainerChest;
+import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.ChatComponentText;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IChatComponent;
@@ -64,21 +77,24 @@ import net.minecraftforge.event.entity.player.ItemTooltipEvent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.fml.client.registry.ClientRegistry;
import net.minecraftforge.fml.common.FMLCommonHandler;
+import net.minecraftforge.fml.common.Loader;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
+import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.eventhandler.EventPriority;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.InputEvent.KeyInputEvent;
import net.minecraftforge.fml.common.gameevent.TickEvent;
+import net.minecraftforge.fml.common.network.FMLNetworkEvent.ClientConnectedToServerEvent;
import net.minecraftforge.fml.common.versioning.DefaultArtifactVersion;
@Mod(modid = TheMod.MODID, version = TheMod.VERSION, clientSideOnly = true)
public class TheMod
{
public static final String MODID = "Danker's Skyblock Mod";
- public static final String VERSION = "1.7";
+ public static final String VERSION = "1.8";
static double checkItemsNow = 0;
static double itemsChecked = 0;
@@ -88,10 +104,15 @@ public class TheMod
public static int titleTimer = -1;
public static boolean showTitle = false;
public static String titleText = "";
+ public static int skillTimer = -1;
+ public static boolean showSkill = false;
+ public static String skillText = "";
static int tickAmount = 1;
public static String lastMaddoxCommand = "/cb placeholdervalue";
static KeyBinding[] keyBindings = new KeyBinding[1];
static int lastMouse = -1;
+ static boolean usingLabymod = false;
+ public static String guiToOpen = null;
static double dungeonStartTime = 0;
static double bloodOpenTime = 0;
@@ -102,10 +123,10 @@ public class TheMod
static int puzzleFails = 0;
@EventHandler
- public void init(FMLInitializationEvent event)
- {
+ public void init(FMLInitializationEvent event) {
FMLCommonHandler.instance().bus().register(this);
MinecraftForge.EVENT_BUS.register(this);
+ MinecraftForge.EVENT_BUS.register(new PacketHandler());
final ConfigHandler cf = new ConfigHandler();
cf.reloadConfig();
@@ -171,6 +192,16 @@ public class TheMod
ClientCommandHandler.instance.registerCommand(new ScaleCommand());
ClientCommandHandler.instance.registerCommand(new ChatMaddoxCommand());
ClientCommandHandler.instance.registerCommand(new SkyblockPlayersCommand());
+ ClientCommandHandler.instance.registerCommand(new BlockSlayerCommand());
+ ClientCommandHandler.instance.registerCommand(new DungeonsCommand());
+ ClientCommandHandler.instance.registerCommand(new LobbySkillsCommand());
+ ClientCommandHandler.instance.registerCommand(new DankerGuiCommand());
+ }
+
+ @EventHandler
+ public void postInit(final FMLPostInitializationEvent event) {
+ usingLabymod = Loader.isModLoaded("labymod");
+ System.out.println("LabyMod detection: " + usingLabymod);
}
// Update checker
@@ -214,9 +245,30 @@ public class TheMod
final ToggleCommand tc = new ToggleCommand();
String message = event.message.getUnformattedText();
- if (event.type == 2) return;
if (!Utils.inSkyblock) return;
+ // Action Bar
+ if (event.type == 2) {
+ String[] actionBarSections = event.message.getUnformattedText().split(" {3,}");
+ for (String section : actionBarSections) {
+ if (tc.skill50DisplayToggled) {
+ if (section.contains("+") && section.contains("/") && section.contains("(")) {
+ if (section.contains("Runecrafting")) return;
+
+ String xpGained = section.substring(section.indexOf("+"), section.indexOf("(") - 1);
+ double currentXp = Double.parseDouble(section.substring(section.indexOf("(") + 1, section.indexOf("/")).replaceAll(",", ""));
+ int previousXp = Utils.getPastXpEarned(Integer.parseInt(section.substring(section.indexOf("/") + 1, section.indexOf(")")).replaceAll(",", "")));
+ double percentage = (double) Math.floor(((currentXp + previousXp) / 55172425) * 10000D) / 100D;
+
+ skillTimer = 40;
+ showSkill = true;
+ skillText = EnumChatFormatting.AQUA + xpGained + " (" + NumberFormat.getNumberInstance(Locale.US).format(currentXp + previousXp) + "/55,172,425) " + percentage + "%";
+ }
+ }
+ }
+ return;
+ }
+
// Replace chat messages with Maddox command
List<IChatComponent> chatSiblings = event.message.getSiblings();
for (IChatComponent sibling : chatSiblings) {
@@ -229,8 +281,8 @@ public class TheMod
if (message.contains("[BOSS] The Watcher: You have proven yourself. You may pass.")) {
watcherClearTime = System.currentTimeMillis() / 1000;
}
- if (message.contains(" PUZZLE FAIL! ") || message.contains("chose the wrong answer! I shall never forget this moment")) {
- dungeonDeaths++;
+ if (message.contains("PUZZLE FAIL! ") || message.contains("chose the wrong answer! I shall never forget this moment")) {
+ puzzleFails++;
}
if (message.contains(":")) return;
@@ -252,6 +304,12 @@ public class TheMod
}
}
+ if (tc.golemAlertToggled) {
+ if (message.contains("The ground begins to shake as an Endstone Protector rises from below!")) {
+ Utils.createTitle(EnumChatFormatting.RED + "GOLEM SPAWNING!", 3);
+ }
+ }
+
final LootCommand lc = new LootCommand();
final ConfigHandler cf = new ConfigHandler();
boolean wolfRNG = false;
@@ -288,50 +346,39 @@ public class TheMod
}
cf.writeIntConfig("wolf", "svens", lc.wolfSvens);
cf.writeIntConfig("wolf", "bossRNG", lc.wolfBosses);
- }
- if (message.contains("RARE DROP! (Hamster Wheel)")) {
+ } else if (message.contains("RARE DROP! (Hamster Wheel)")) {
lc.wolfWheelsDrops++;
lc.wolfWheelsDropsSession++;
cf.writeIntConfig("wolf", "wheelDrops", lc.wolfWheelsDrops);
- }
- // Removing the unicode here *should* fix rune drops not counting
- if (message.contains("VERY RARE DROP! (") && message.contains(" Spirit Rune I)")) {
+ } else if (message.contains("VERY RARE DROP! (") && message.contains(" Spirit Rune I)")) { // Removing the unicode here *should* fix rune drops not counting
lc.wolfSpirits++;
lc.wolfSpiritsSession++;
cf.writeIntConfig("wolf", "spirit", lc.wolfSpirits);
- }
- if (message.contains("CRAZY RARE DROP! (Red Claw Egg)")) {
+ } else if (message.contains("CRAZY RARE DROP! (Red Claw Egg)")) {
wolfRNG = true;
lc.wolfEggs++;
lc.wolfEggsSession++;
cf.writeIntConfig("wolf", "egg", lc.wolfEggs);
if (tc.rngesusAlerts) Utils.createTitle(EnumChatFormatting.DARK_RED + "RED CLAW EGG!", 3);
- }
- if (message.contains("CRAZY RARE DROP! (") && message.contains(" Couture Rune I)")) {
+ } else if (message.contains("CRAZY RARE DROP! (") && message.contains(" Couture Rune I)")) {
wolfRNG = true;
lc.wolfCoutures++;
lc.wolfCouturesSession++;
cf.writeIntConfig("wolf", "couture", lc.wolfCoutures);
if (tc.rngesusAlerts) Utils.createTitle(EnumChatFormatting.GOLD + "COUTURE RUNE!", 3);
- }
- // How did Skyblock devs even manage to make this item Rename Me
- if (message.contains("CRAZY RARE DROP! (Grizzly Bait)") || message.contains("CRAZY RARE DROP! (Rename Me)")) {
+ } 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;
lc.wolfBaits++;
lc.wolfBaitsSession++;
cf.writeIntConfig("wolf", "bait", lc.wolfBaits);
if (tc.rngesusAlerts) Utils.createTitle(EnumChatFormatting.AQUA + "GRIZZLY BAIT!", 3);
- }
- if (message.contains("CRAZY RARE DROP! (Overflux Capacitor)")) {
+ } else if (message.contains("CRAZY RARE DROP! (Overflux Capacitor)")) {
wolfRNG = true;
lc.wolfFluxes++;
lc.wolfFluxesSession++;
cf.writeIntConfig("wolf", "flux", lc.wolfFluxes);
if (tc.rngesusAlerts) Utils.createTitle(EnumChatFormatting.DARK_PURPLE + "OVERFLUX CAPACITOR!", 5);
- }
-
- // Spider
- if (message.contains("Talk to Maddox to claim your Spider Slayer XP!")) {
+ } else if (message.contains("Talk to Maddox to claim your Spider Slayer XP!")) { // Spider
lc.spiderTarantulas++;
lc.spiderTarantulasSession++;
if (lc.spiderBosses != -1) {
@@ -342,46 +389,37 @@ public class TheMod
}
cf.writeIntConfig("spider", "tarantulas", lc.spiderTarantulas);
cf.writeIntConfig("spider", "bossRNG", lc.spiderBosses);
- }
- if (message.contains("RARE DROP! (Toxic Arrow Poison)")) {
+ } else if (message.contains("RARE DROP! (Toxic Arrow Poison)")) {
lc.spiderTAPDrops++;
lc.spiderTAPDropsSession++;
cf.writeIntConfig("spider", "tapDrops", lc.spiderTAPDrops);
- }
- if (message.contains("VERY RARE DROP! (") && message.contains(" Bite Rune I)")) {
+ } else if (message.contains("VERY RARE DROP! (") && message.contains(" Bite Rune I)")) {
lc.spiderBites++;
lc.spiderBitesSession++;
cf.writeIntConfig("spider", "bite", lc.spiderBites);
- }
- if (message.contains("VERY RARE DROP! (Spider Catalyst)")) {
+ } else if (message.contains("VERY RARE DROP! (Spider Catalyst)")) {
lc.spiderCatalysts++;
lc.spiderCatalystsSession++;
cf.writeIntConfig("spider", "catalyst", lc.spiderCatalysts);
- }
- if (message.contains("CRAZY RARE DROP! (Fly Swatter)")) {
+ } else if (message.contains("CRAZY RARE DROP! (Fly Swatter)")) {
spiderRNG = true;
lc.spiderSwatters++;
lc.spiderSwattersSession++;
cf.writeIntConfig("spider", "swatter", lc.spiderSwatters);
if (tc.rngesusAlerts) Utils.createTitle(EnumChatFormatting.LIGHT_PURPLE + "FLY SWATTER!", 3);
- }
- if (message.contains("CRAZY RARE DROP! (Tarantula Talisman")) {
+ } else if (message.contains("CRAZY RARE DROP! (Tarantula Talisman")) {
spiderRNG = true;
lc.spiderTalismans++;
lc.spiderTalismansSession++;
cf.writeIntConfig("spider", "talisman", lc.spiderTalismans);
if (tc.rngesusAlerts) Utils.createTitle(EnumChatFormatting.DARK_PURPLE + "TARANTULA TALISMAN!", 3);
- }
- if (message.contains("CRAZY RARE DROP! (Digested Mosquito)")) {
+ } else if (message.contains("CRAZY RARE DROP! (Digested Mosquito)")) {
spiderRNG = true;
lc.spiderMosquitos++;
lc.spiderMosquitosSession++;
cf.writeIntConfig("spider", "mosquito", lc.spiderMosquitos);
if (tc.rngesusAlerts) Utils.createTitle(EnumChatFormatting.GOLD + "DIGESTED MOSQUITO!", 5);
- }
-
- // Zombie
- if (message.contains("Talk to Maddox to claim your Zombie Slayer XP!")) {
+ } else if (message.contains("Talk to Maddox to claim your Zombie Slayer XP!")) { // Zombie
lc.zombieRevs++;
lc.zombieRevsSession++;
if (lc.zombieBosses != -1) {
@@ -392,86 +430,49 @@ public class TheMod
}
cf.writeIntConfig("zombie", "revs", lc.zombieRevs);
cf.writeIntConfig("zombie", "bossRNG", lc.zombieBosses);
- }
- if (message.contains("RARE DROP! (Foul Flesh)")) {
+ } else if (message.contains("RARE DROP! (Foul Flesh)")) {
lc.zombieFoulFleshDrops++;
lc.zombieFoulFleshDropsSession++;
cf.writeIntConfig("zombie", "foulFleshDrops", lc.zombieFoulFleshDrops);
- }
- if (message.contains("VERY RARE DROP! (Revenant Catalyst)")) {
+ } else if (message.contains("VERY RARE DROP! (Revenant Catalyst)")) {
lc.zombieRevCatas++;
lc.zombieRevCatasSession++;
cf.writeIntConfig("zombie", "revCatalyst", lc.zombieRevCatas);
- }
- if (message.contains("VERY RARE DROP! (") && message.contains(" Pestilence Rune I)")) {
+ } else if (message.contains("VERY RARE DROP! (") && message.contains(" Pestilence Rune I)")) {
lc.zombiePestilences++;
lc.zombiePestilencesSession++;
cf.writeIntConfig("zombie", "pestilence", lc.zombiePestilences);
- }
- if (message.contains("VERY RARE DROP! (Undead Catalyst)")) {
+ } else if (message.contains("VERY RARE DROP! (Undead Catalyst)")) {
lc.zombieUndeadCatas++;
lc.zombieUndeadCatasSession++;
cf.writeIntConfig("zombie", "undeadCatalyst", lc.zombieUndeadCatas);
- }
- if (message.contains("CRAZY RARE DROP! (Beheaded Horror)")) {
+ } else if (message.contains("CRAZY RARE DROP! (Beheaded Horror)")) {
zombieRNG = true;
lc.zombieBeheadeds++;
lc.zombieBeheadedsSession++;
cf.writeIntConfig("zombie", "beheaded", lc.zombieBeheadeds);
if (tc.rngesusAlerts) Utils.createTitle(EnumChatFormatting.DARK_PURPLE + "BEHEADED HORROR!", 3);
- }
- if (message.contains("CRAZY RARE DROP! (") && message.contains(" Snake Rune I)")) {
+ } else if (message.contains("CRAZY RARE DROP! (") && message.contains(" Snake Rune I)")) {
zombieRNG = true;
lc.zombieSnakes++;
lc.zombieSnakesSession++;
cf.writeIntConfig("zombie", "snake", lc.zombieSnakes);
if (tc.rngesusAlerts) Utils.createTitle(EnumChatFormatting.DARK_GREEN + "SNAKE RUNE!", 3);
- }
- if (message.contains("CRAZY RARE DROP! (Scythe Blade)")) {
+ } else if (message.contains("CRAZY RARE DROP! (Scythe Blade)")) {
zombieRNG = true;
lc.zombieScythes++;
lc.zombieScythesSession++;
cf.writeIntConfig("zombie", "scythe", lc.zombieScythes);
if (tc.rngesusAlerts) Utils.createTitle(EnumChatFormatting.GOLD + "SCYTHE BLADE!", 5);
- }
-
- if (wolfRNG) {
- lc.wolfTime = System.currentTimeMillis() / 1000;
- lc.wolfBosses = 0;
- lc.wolfTimeSession = System.currentTimeMillis() / 1000;
- lc.wolfBossesSession = 0;
- cf.writeDoubleConfig("wolf", "timeRNG", lc.wolfTime);
- cf.writeIntConfig("wolf", "bossRNG", 0);
- }
- if (spiderRNG) {
- lc.spiderTime = System.currentTimeMillis() / 1000;
- lc.spiderBosses = 0;
- lc.spiderTimeSession = System.currentTimeMillis() / 1000;
- lc.spiderBossesSession = 0;
- cf.writeDoubleConfig("spider", "timeRNG", lc.spiderTime);
- cf.writeIntConfig("spider", "bossRNG", 0);
- }
- if (zombieRNG) {
- lc.zombieTime = System.currentTimeMillis() / 1000;
- lc.zombieBosses = 0;
- lc.zombieTimeSession = System.currentTimeMillis() / 1000;
- lc.zombieBossesSession = 0;
- cf.writeDoubleConfig("zombie", "timeRNG", lc.zombieTime);
- cf.writeIntConfig("zombie", "bossRNG", 0);
- }
-
- // Fishing
- if (message.contains("GOOD CATCH!")) {
+ } else if (message.contains("GOOD CATCH!")) { // Fishing
lc.goodCatches++;
lc.goodCatchesSession++;
cf.writeIntConfig("fishing", "goodCatch", lc.goodCatches);
- }
- if (message.contains("GREAT CATCH!")) {
+ } else if (message.contains("GREAT CATCH!")) {
lc.greatCatches++;
lc.greatCatchesSession++;
cf.writeIntConfig("fishing", "greatCatch", lc.greatCatches);
- }
- if (message.contains("You caught a lowly Squid")) {
+ } else if (message.contains("You caught a lowly Squid")) {
lc.squids++;
lc.seaCreatures++;
lc.fishingMilestone++;
@@ -482,8 +483,7 @@ public class TheMod
cf.writeIntConfig("fishing", "seaCreature", lc.seaCreatures);
cf.writeIntConfig("fishing", "milestone", lc.fishingMilestone);
increaseSeaCreatures();
- }
- if (message.contains("From the depths of the waters, you've reeled in a Sea Walker")) {
+ } else if (message.contains("From the depths of the waters, you've reeled in a Sea Walker")) {
lc.seaWalkers++;
lc.seaCreatures++;
lc.fishingMilestone++;
@@ -494,8 +494,7 @@ public class TheMod
cf.writeIntConfig("fishing", "seaCreature", lc.seaCreatures);
cf.writeIntConfig("fishing", "milestone", lc.fishingMilestone);
increaseSeaCreatures();
- }
- if (message.contains("Pitch darkness reveals you've caught a")) {
+ } else if (message.contains("Pitch darkness reveals you've caught a")) {
lc.nightSquids++;
lc.seaCreatures++;
lc.fishingMilestone++;
@@ -506,8 +505,7 @@ public class TheMod
cf.writeIntConfig("fishing", "seaCreature", lc.seaCreatures);
cf.writeIntConfig("fishing", "milestone", lc.fishingMilestone);
increaseSeaCreatures();
- }
- if (message.contains("You've stumbled upon a patrolling Sea Guardian")) {
+ } else if (message.contains("You've stumbled upon a patrolling Sea Guardian")) {
lc.seaGuardians++;
lc.seaCreatures++;
lc.fishingMilestone++;
@@ -518,8 +516,7 @@ public class TheMod
cf.writeIntConfig("fishing", "seaCreature", lc.seaCreatures);
cf.writeIntConfig("fishing", "milestone", lc.fishingMilestone);
increaseSeaCreatures();
- }
- if (message.contains("It looks like you've disrupted the Sea Witch's brewing session. Watch out, she's furious")) {
+ } else if (message.contains("It looks like you've disrupted the Sea Witch's brewing session. Watch out, she's furious")) {
lc.seaWitches++;
lc.seaCreatures++;
lc.fishingMilestone++;
@@ -530,8 +527,7 @@ public class TheMod
cf.writeIntConfig("fishing", "seaCreature", lc.seaCreatures);
cf.writeIntConfig("fishing", "milestone", lc.fishingMilestone);
increaseSeaCreatures();
- }
- if (message.contains("From the depths of the waters, you've reeled in a Sea Archer")) {
+ } else if (message.contains("From the depths of the waters, you've reeled in a Sea Archer")) {
lc.seaArchers++;
lc.seaCreatures++;
lc.fishingMilestone++;
@@ -542,8 +538,7 @@ public class TheMod
cf.writeIntConfig("fishing", "seaCreature", lc.seaCreatures);
cf.writeIntConfig("fishing", "milestone", lc.fishingMilestone);
increaseSeaCreatures();
- }
- if (message.contains("The Monster of the Deep emerges from the dark depths")) {
+ } else if (message.contains("The Monster of the Deep emerges from the dark depths")) {
lc.monsterOfTheDeeps++;
lc.seaCreatures++;
lc.fishingMilestone++;
@@ -554,8 +549,7 @@ public class TheMod
cf.writeIntConfig("fishing", "seaCreature", lc.seaCreatures);
cf.writeIntConfig("fishing", "milestone", lc.fishingMilestone);
increaseSeaCreatures();
- }
- if (message.contains("You have found a Catfish, don't let it steal your catches")) {
+ } else if (message.contains("You have found a Catfish, don't let it steal your catches")) {
lc.catfishes++;
lc.seaCreatures++;
lc.fishingMilestone++;
@@ -566,8 +560,7 @@ public class TheMod
cf.writeIntConfig("fishing", "seaCreature", lc.seaCreatures);
cf.writeIntConfig("fishing", "milestone", lc.fishingMilestone);
increaseSeaCreatures();
- }
- if (message.contains("Is this even a fish? It's the Carrot King")) {
+ } else if (message.contains("Is this even a fish? It's the Carrot King")) {
lc.carrotKings++;
lc.seaCreatures++;
lc.fishingMilestone++;
@@ -578,8 +571,7 @@ public class TheMod
cf.writeIntConfig("fishing", "seaCreature", lc.seaCreatures);
cf.writeIntConfig("fishing", "milestone", lc.fishingMilestone);
increaseSeaCreatures();
- }
- if (message.contains("Gross! A Sea Leech")) {
+ } else if (message.contains("Gross! A Sea Leech")) {
lc.seaLeeches++;
lc.seaCreatures++;
lc.fishingMilestone++;
@@ -590,8 +582,7 @@ public class TheMod
cf.writeIntConfig("fishing", "seaCreature", lc.seaCreatures);
cf.writeIntConfig("fishing", "milestone", lc.fishingMilestone);
increaseSeaCreatures();
- }
- if (message.contains("You've discovered a Guardian Defender of the sea")) {
+ } else if (message.contains("You've discovered a Guardian Defender of the sea")) {
lc.guardianDefenders++;
lc.seaCreatures++;
lc.fishingMilestone++;
@@ -602,8 +593,7 @@ public class TheMod
cf.writeIntConfig("fishing", "seaCreature", lc.seaCreatures);
cf.writeIntConfig("fishing", "milestone", lc.fishingMilestone);
increaseSeaCreatures();
- }
- if (message.contains("You have awoken the Deep Sea Protector, prepare for a battle")) {
+ } else if (message.contains("You have awoken the Deep Sea Protector, prepare for a battle")) {
lc.deepSeaProtectors++;
lc.seaCreatures++;
lc.fishingMilestone++;
@@ -614,8 +604,7 @@ public class TheMod
cf.writeIntConfig("fishing", "seaCreature", lc.seaCreatures);
cf.writeIntConfig("fishing", "milestone", lc.fishingMilestone);
increaseSeaCreatures();
- }
- if (message.contains("The Water Hydra has come to test your strength")) {
+ } else if (message.contains("The Water Hydra has come to test your strength")) {
lc.hydras++;
lc.seaCreatures++;
lc.fishingMilestone++;
@@ -626,8 +615,7 @@ public class TheMod
cf.writeIntConfig("fishing", "seaCreature", lc.seaCreatures);
cf.writeIntConfig("fishing", "milestone", lc.fishingMilestone);
increaseSeaCreatures();
- }
- if (message.contains("The Sea Emperor arises from the depths")) {
+ } else if (message.contains("The Sea Emperor arises from the depths")) {
lc.seaEmperors++;
lc.seaCreatures++;
lc.fishingMilestone++;
@@ -643,9 +631,7 @@ public class TheMod
cf.writeIntConfig("fishing", "milestone", lc.fishingMilestone);
cf.writeDoubleConfig("fishing", "empTime", lc.empTime);
cf.writeIntConfig("fishing", "empSC", lc.empSCs);
- }
- // Fishing Winter
- if (message.contains("Frozen Steve fell into the pond long ago")) {
+ } else if (message.contains("Frozen Steve fell into the pond long ago")) { // Fishing Winter
lc.frozenSteves++;
lc.seaCreatures++;
lc.fishingMilestone++;
@@ -656,8 +642,7 @@ public class TheMod
cf.writeIntConfig("fishing", "seaCreature", lc.seaCreatures);
cf.writeIntConfig("fishing", "milestone", lc.fishingMilestone);
increaseSeaCreatures();
- }
- if (message.contains("It's a snowman! He looks harmless")) {
+ } else if (message.contains("It's a snowman! He looks harmless")) {
lc.frostyTheSnowmans++;
lc.seaCreatures++;
lc.fishingMilestone++;
@@ -668,8 +653,7 @@ public class TheMod
cf.writeIntConfig("fishing", "seaCreature", lc.seaCreatures);
cf.writeIntConfig("fishing", "milestone", lc.fishingMilestone);
increaseSeaCreatures();
- }
- if (message.contains("stole Jerry's Gifts...get them back")) {
+ } else if (message.contains("stole Jerry's Gifts...get them back")) {
lc.grinches++;
lc.seaCreatures++;
lc.fishingMilestone++;
@@ -680,8 +664,7 @@ public class TheMod
cf.writeIntConfig("fishing", "seaCreature", lc.seaCreatures);
cf.writeIntConfig("fishing", "milestone", lc.fishingMilestone);
increaseSeaCreatures();
- }
- if (message.contains("What is this creature")) {
+ } else if (message.contains("What is this creature")) {
lc.yetis++;
lc.seaCreatures++;
lc.fishingMilestone++;
@@ -697,11 +680,51 @@ public class TheMod
cf.writeIntConfig("fishing", "yetiSC", lc.yetiSCs);
cf.writeIntConfig("fishing", "seaCreature", lc.seaCreatures);
cf.writeIntConfig("fishing", "milestone", lc.fishingMilestone);
- }
-
- // Catacombs Dungeons
- // Timers
- if (message.contains("Dungeon starts in 1 second.")) {
+ } else if (message.contains("A tiny fin emerges from the water, you've caught a Nurse Shark")) { // Fishing Festival
+ lc.nurseSharks++;
+ lc.seaCreatures++;
+ lc.fishingMilestone++;
+ lc.nurseSharksSession++;
+ lc.seaCreaturesSession++;
+ lc.fishingMilestoneSession++;
+ cf.writeIntConfig("fishing", "nurseShark", lc.nurseSharks);
+ cf.writeIntConfig("fishing", "seaCreature", lc.seaCreatures);
+ cf.writeIntConfig("fishing", "milestone", lc.fishingMilestone);
+ increaseSeaCreatures();
+ } else if (message.contains("You spot a fin as blue as the water it came from, it's a Blue Shark")) {
+ lc.blueSharks++;
+ lc.seaCreatures++;
+ lc.fishingMilestone++;
+ lc.blueSharksSession++;
+ lc.seaCreaturesSession++;
+ lc.fishingMilestoneSession++;
+ cf.writeIntConfig("fishing", "blueShark", lc.blueSharks);
+ cf.writeIntConfig("fishing", "seaCreature", lc.seaCreatures);
+ cf.writeIntConfig("fishing", "milestone", lc.fishingMilestone);
+ increaseSeaCreatures();
+ } else if (message.contains("A striped beast bounds from the depths, the wild Tiger Shark")) {
+ lc.tigerSharks++;
+ lc.seaCreatures++;
+ lc.fishingMilestone++;
+ lc.tigerSharksSession++;
+ lc.seaCreaturesSession++;
+ lc.fishingMilestoneSession++;
+ cf.writeIntConfig("fishing", "tigerShark", lc.tigerSharks);
+ cf.writeIntConfig("fishing", "seaCreature", lc.seaCreatures);
+ cf.writeIntConfig("fishing", "milestone", lc.fishingMilestone);
+ increaseSeaCreatures();
+ } else if (message.contains("Hide no longer, a Great White Shark has tracked your scent and thirsts for your blood")) {
+ lc.greatWhiteSharks++;
+ lc.seaCreatures++;
+ lc.fishingMilestone++;
+ lc.greatWhiteSharksSession++;
+ lc.seaCreaturesSession++;
+ lc.fishingMilestoneSession++;
+ cf.writeIntConfig("fishing", "greatWhiteShark", lc.greatWhiteSharks);
+ cf.writeIntConfig("fishing", "seaCreature", lc.seaCreatures);
+ cf.writeIntConfig("fishing", "milestone", lc.fishingMilestone);
+ increaseSeaCreatures();
+ } else if (message.contains("Dungeon starts in 1 second.")) { // Dungeons Stuff
dungeonStartTime = System.currentTimeMillis() / 1000;
bloodOpenTime = dungeonStartTime;
watcherClearTime = dungeonStartTime;
@@ -709,22 +732,15 @@ public class TheMod
witherDoors = 0;
dungeonDeaths = 0;
puzzleFails = 0;
- }
- if (message.contains("The BLOOD DOOR has been opened!")) {
+ } else if (message.contains("The BLOOD DOOR has been opened!")) {
bloodOpenTime = System.currentTimeMillis() / 1000;
- }
- if (message.contains(" opened a WITHER door!")) {
+ } else if (message.contains(" opened a WITHER door!")) {
witherDoors++;
- }
- if (message.contains(" and became a ghost.")) {
+ } else if (message.contains(" and became a ghost.")) {
dungeonDeaths++;
- }
-
- // Trackers
- if (message.contains(" Defeated ") && message.contains(" in ")) {
+ } else if (message.contains(" Defeated ") && message.contains(" in ")) {
bossClearTime = System.currentTimeMillis() / 1000;
- }
- if (message.contains("EXTRA STATS ")) {
+ } else if (message.contains("EXTRA STATS ")) {
List<String> scoreboard = ScoreboardHandler.getSidebarLines();
int timeToAdd = 0;
for (String s : scoreboard) {
@@ -747,104 +763,182 @@ public class TheMod
lc.f4TimeSpent = Math.floor(lc.f4TimeSpent + timeToAdd);
lc.f4TimeSpentSession = Math.floor(lc.f4TimeSpentSession + timeToAdd);
cf.writeDoubleConfig("catacombs", "floorFourTime", lc.f4TimeSpent);
+ } else if (sCleaned.contains("F5")) {
+ lc.f5TimeSpent = Math.floor(lc.f5TimeSpent + timeToAdd);
+ lc.f5TimeSpentSession = Math.floor(lc.f5TimeSpentSession + timeToAdd);
+ cf.writeDoubleConfig("catacombs", "floorFiveTime", lc.f5TimeSpent);
+ } else if (sCleaned.contains("F6")) {
+ lc.f6TimeSpent = Math.floor(lc.f6TimeSpent + timeToAdd);
+ lc.f6TimeSpentSession = Math.floor(lc.f6TimeSpentSession + timeToAdd);
+ cf.writeDoubleConfig("catacombs", "floorSixTime", lc.f