aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/Danker/features
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/Danker/features')
-rw-r--r--src/main/java/me/Danker/features/ArachneESP.java4
-rw-r--r--src/main/java/me/Danker/features/BonzoMaskTimer.java4
-rw-r--r--src/main/java/me/Danker/features/CakeTimer.java4
-rw-r--r--src/main/java/me/Danker/features/CrystalHollowWaypoints.java3
-rw-r--r--src/main/java/me/Danker/features/DungeonTimer.java4
-rw-r--r--src/main/java/me/Danker/features/GiantHPDisplay.java4
-rw-r--r--src/main/java/me/Danker/features/GolemSpawningAlert.java4
-rw-r--r--src/main/java/me/Danker/features/HighlightSkeletonMasters.java3
-rw-r--r--src/main/java/me/Danker/features/NoF3Coords.java4
-rw-r--r--src/main/java/me/Danker/features/PetColours.java3
-rw-r--r--src/main/java/me/Danker/features/Skill50Display.java4
-rw-r--r--src/main/java/me/Danker/features/SkillTracker.java4
-rw-r--r--src/main/java/me/Danker/features/SlayerESP.java9
-rw-r--r--src/main/java/me/Danker/features/SpiritBootsFix.java28
-rw-r--r--src/main/java/me/Danker/features/TetherDisplay.java4
-rw-r--r--src/main/java/me/Danker/features/loot/CatacombsTracker.java431
-rw-r--r--src/main/java/me/Danker/features/loot/EndermanTracker.java178
-rw-r--r--src/main/java/me/Danker/features/loot/FishingTracker.java285
-rw-r--r--src/main/java/me/Danker/features/loot/GhostTracker.java60
-rw-r--r--src/main/java/me/Danker/features/loot/LootDisplay.java828
-rw-r--r--src/main/java/me/Danker/features/loot/LootTracker.java1295
-rw-r--r--src/main/java/me/Danker/features/loot/MythologicalTracker.java87
-rw-r--r--src/main/java/me/Danker/features/loot/SpiderTracker.java114
-rw-r--r--src/main/java/me/Danker/features/loot/WolfTracker.java116
-rw-r--r--src/main/java/me/Danker/features/loot/ZombieTracker.java143
-rw-r--r--src/main/java/me/Danker/features/puzzlesolvers/BlazeSolver.java17
-rw-r--r--src/main/java/me/Danker/features/puzzlesolvers/BoulderSolver.java3
-rw-r--r--src/main/java/me/Danker/features/puzzlesolvers/ChronomatronSolver.java5
-rw-r--r--src/main/java/me/Danker/features/puzzlesolvers/ClickInOrderSolver.java5
-rw-r--r--src/main/java/me/Danker/features/puzzlesolvers/CreeperSolver.java7
-rw-r--r--src/main/java/me/Danker/features/puzzlesolvers/IceWalkSolver.java7
-rw-r--r--src/main/java/me/Danker/features/puzzlesolvers/LividSolver.java4
-rw-r--r--src/main/java/me/Danker/features/puzzlesolvers/SelectAllColourSolver.java3
-rw-r--r--src/main/java/me/Danker/features/puzzlesolvers/SilverfishSolver.java3
-rw-r--r--src/main/java/me/Danker/features/puzzlesolvers/StartsWithSolver.java3
-rw-r--r--src/main/java/me/Danker/features/puzzlesolvers/SuperpairsSolver.java5
-rw-r--r--src/main/java/me/Danker/features/puzzlesolvers/ThreeManSolver.java3
-rw-r--r--src/main/java/me/Danker/features/puzzlesolvers/TicTacToeSolver.java3
-rw-r--r--src/main/java/me/Danker/features/puzzlesolvers/UltrasequencerSolver.java5
-rw-r--r--src/main/java/me/Danker/features/puzzlesolvers/WaterSolver.java4
40 files changed, 1947 insertions, 1753 deletions
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)