aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/Danker/features/loot
diff options
context:
space:
mode:
authorbowser0000 <bowser0000@gmail.com>2022-08-09 20:32:25 -0400
committerGitHub <noreply@github.com>2022-08-09 20:32:25 -0400
commit4d2a84d9fd2f522b2ade9954f8d40f6d80e2b12b (patch)
tree7f762c94a742a07e5c3939e70d35cf7128071b32 /src/main/java/me/Danker/features/loot
parent48253eddf00cf5d94ecc2eb6b63e7c490b3145be (diff)
parentf56302bee3939677fc3fd015a97b12b5100c45b1 (diff)
downloadSkyblockMod-4d2a84d9fd2f522b2ade9954f8d40f6d80e2b12b.tar.gz
SkyblockMod-4d2a84d9fd2f522b2ade9954f8d40f6d80e2b12b.tar.bz2
SkyblockMod-4d2a84d9fd2f522b2ade9954f8d40f6d80e2b12b.zip
Merge branch 'development' into development
Diffstat (limited to 'src/main/java/me/Danker/features/loot')
-rw-r--r--src/main/java/me/Danker/features/loot/FishingTracker.java6
-rw-r--r--src/main/java/me/Danker/features/loot/LootDisplay.java118
-rw-r--r--src/main/java/me/Danker/features/loot/LootTracker.java25
-rw-r--r--src/main/java/me/Danker/features/loot/TrophyFishTracker.java143
4 files changed, 274 insertions, 18 deletions
diff --git a/src/main/java/me/Danker/features/loot/FishingTracker.java b/src/main/java/me/Danker/features/loot/FishingTracker.java
index f8adfa2..1690793 100644
--- a/src/main/java/me/Danker/features/loot/FishingTracker.java
+++ b/src/main/java/me/Danker/features/loot/FishingTracker.java
@@ -125,8 +125,8 @@ public class FishingTracker {
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;
+ public static double jawbusTimeSession = -1;
+ public static int jawbusSCsSession = -1;
@SubscribeEvent
public void onChat(ClientChatReceivedEvent event) {
@@ -174,7 +174,7 @@ public class FishingTracker {
seaArchersSession++;
ConfigHandler.writeIntConfig("fishing", "seaArcher", seaArchers);
increaseSeaCreatures();
- } else if (message.contains("The Monster of the Deep has emerged")) {
+ } else if (message.contains("The Rider of the Deep has emerged")) {
monsterOfTheDeeps++;
monsterOfTheDeepsSession++;
ConfigHandler.writeIntConfig("fishing", "monsterOfDeep", monsterOfTheDeeps);
diff --git a/src/main/java/me/Danker/features/loot/LootDisplay.java b/src/main/java/me/Danker/features/loot/LootDisplay.java
index 7832362..fe68c3e 100644
--- a/src/main/java/me/Danker/features/loot/LootDisplay.java
+++ b/src/main/java/me/Danker/features/loot/LootDisplay.java
@@ -946,6 +946,124 @@ public class LootDisplay {
EnumChatFormatting.AQUA + timeBetween + "\n" +
EnumChatFormatting.AQUA + bossesBetween;
break;
+ case "fishing_trophy":
+ dropsText = EnumChatFormatting.WHITE + "Sulpher Skitter:\n" +
+ EnumChatFormatting.WHITE + "Obfuscated 1:\n" +
+ EnumChatFormatting.WHITE + "Steaminghot Flounder:\n" +
+ EnumChatFormatting.WHITE + "Gusher:\n" +
+ EnumChatFormatting.WHITE + "Blobfish:\n" +
+ EnumChatFormatting.GREEN + "Obfuscated 2:\n" +
+ EnumChatFormatting.GREEN + "Slugfish:\n" +
+ EnumChatFormatting.GREEN + "Flyfish:\n" +
+ EnumChatFormatting.BLUE + "Obfuscated 3:\n" +
+ EnumChatFormatting.BLUE + "Lavahorse:\n" +
+ EnumChatFormatting.BLUE + "Mana Ray:\n" +
+ EnumChatFormatting.BLUE + "Volcanic Stonefish:\n" +
+ EnumChatFormatting.BLUE + "Vanille:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Skeleton Fish:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Moldfin:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Soul Fish:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Karate Fish:\n" +
+ EnumChatFormatting.GOLD + "Golden Fish:";
+ if (!ToggleCommand.showTrophyCompletion) countText = EnumChatFormatting.WHITE + TrophyFishTracker.getTierCount(TrophyFishTracker.fish, "Sulpher Skitter") + "\n" +
+ EnumChatFormatting.WHITE + TrophyFishTracker.getTierCount(TrophyFishTracker.fish, "Obfuscated 1") + "\n" +
+ EnumChatFormatting.WHITE + TrophyFishTracker.getTierCount(TrophyFishTracker.fish, "Steaming-Hot Flounder") + "\n" +
+ EnumChatFormatting.WHITE + TrophyFishTracker.getTierCount(TrophyFishTracker.fish, "Gusher") + "\n" +
+ EnumChatFormatting.WHITE + TrophyFishTracker.getTierCount(TrophyFishTracker.fish, "Blobfish") + "\n" +
+ EnumChatFormatting.GREEN + TrophyFishTracker.getTierCount(TrophyFishTracker.fish, "Obfuscated 2") + "\n" +
+ EnumChatFormatting.GREEN + TrophyFishTracker.getTierCount(TrophyFishTracker.fish, "Slugfish") + "\n" +
+ EnumChatFormatting.GREEN + TrophyFishTracker.getTierCount(TrophyFishTracker.fish, "Flyfish") + "\n" +
+ EnumChatFormatting.BLUE + TrophyFishTracker.getTierCount(TrophyFishTracker.fish, "Obfuscated 3") + "\n" +
+ EnumChatFormatting.BLUE + TrophyFishTracker.getTierCount(TrophyFishTracker.fish, "Lavahorse") + "\n" +
+ EnumChatFormatting.BLUE + TrophyFishTracker.getTierCount(TrophyFishTracker.fish, "Mana Ray") + "\n" +
+ EnumChatFormatting.BLUE + TrophyFishTracker.getTierCount(TrophyFishTracker.fish, "Volcanic Stonefish") + "\n" +
+ EnumChatFormatting.BLUE + TrophyFishTracker.getTierCount(TrophyFishTracker.fish, "Vanille") + "\n" +
+ EnumChatFormatting.DARK_PURPLE + TrophyFishTracker.getTierCount(TrophyFishTracker.fish, "Skeleton Fish") + "\n" +
+ EnumChatFormatting.DARK_PURPLE + TrophyFishTracker.getTierCount(TrophyFishTracker.fish, "Moldfin") + "\n" +
+ EnumChatFormatting.DARK_PURPLE + TrophyFishTracker.getTierCount(TrophyFishTracker.fish, "Soul Fish") + "\n" +
+ EnumChatFormatting.DARK_PURPLE + TrophyFishTracker.getTierCount(TrophyFishTracker.fish, "Karate Fish") + "\n" +
+ EnumChatFormatting.GOLD + TrophyFishTracker.getTierCount(TrophyFishTracker.fish, "Golden Fish");
+
+ if (ToggleCommand.showTrophyCompletion) {
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fish, "Sulpher Skitter", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), MoveCommand.displayXY[1], ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fish, "Obfuscated 1", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fish, "Steaming-Hot Flounder", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (2 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fish, "Gusher", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (3 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fish, "Blobfish", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (4 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fish, "Obfuscated 2", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (5 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fish, "Slugfish", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (6 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fish, "Flyfish", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (7 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fish, "Obfuscated 3", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (8 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fish, "Lavahorse", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (9 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fish, "Mana Ray", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (10 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fish, "Volcanic Stonefish", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (11 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fish, "Vanille", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (12 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fish, "Skeleton Fish", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (13 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fish, "Moldfin", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (14 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fish, "Soul Fish", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (15 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fish, "Karate Fish", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (16 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fish, "Golden Fish", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (17 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ }
+ break;
+ case "fishing_trophy_session":
+ dropsText = EnumChatFormatting.WHITE + "Sulpher Skitter:\n" +
+ EnumChatFormatting.WHITE + "Obfuscated 1:\n" +
+ EnumChatFormatting.WHITE + "Steaminghot Flounder:\n" +
+ EnumChatFormatting.WHITE + "Gusher:\n" +
+ EnumChatFormatting.WHITE + "Blobfish:\n" +
+ EnumChatFormatting.GREEN + "Obfuscated 2:\n" +
+ EnumChatFormatting.GREEN + "Slugfish:\n" +
+ EnumChatFormatting.GREEN + "Flyfish:\n" +
+ EnumChatFormatting.BLUE + "Obfuscated 3:\n" +
+ EnumChatFormatting.BLUE + "Lavahorse:\n" +
+ EnumChatFormatting.BLUE + "Mana Ray:\n" +
+ EnumChatFormatting.BLUE + "Volcanic Stonefish:\n" +
+ EnumChatFormatting.BLUE + "Vanille:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Skeleton Fish:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Moldfin:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Soul Fish:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Karate Fish:\n" +
+ EnumChatFormatting.GOLD + "Golden Fish:";
+ if (!ToggleCommand.showTrophyCompletion) countText = EnumChatFormatting.WHITE + TrophyFishTracker.getTierCount(TrophyFishTracker.fishSession, "Sulpher Skitter") + "\n" +
+ EnumChatFormatting.WHITE + TrophyFishTracker.getTierCount(TrophyFishTracker.fishSession, "Obfuscated 1") + "\n" +
+ EnumChatFormatting.WHITE + TrophyFishTracker.getTierCount(TrophyFishTracker.fishSession, "Steaming-Hot Flounder") + "\n" +
+ EnumChatFormatting.WHITE + TrophyFishTracker.getTierCount(TrophyFishTracker.fishSession, "Gusher") + "\n" +
+ EnumChatFormatting.WHITE + TrophyFishTracker.getTierCount(TrophyFishTracker.fishSession, "Blobfish") + "\n" +
+ EnumChatFormatting.GREEN + TrophyFishTracker.getTierCount(TrophyFishTracker.fishSession, "Obfuscated 2") + "\n" +
+ EnumChatFormatting.GREEN + TrophyFishTracker.getTierCount(TrophyFishTracker.fishSession, "Slugfish") + "\n" +
+ EnumChatFormatting.GREEN + TrophyFishTracker.getTierCount(TrophyFishTracker.fishSession, "Flyfish") + "\n" +
+ EnumChatFormatting.BLUE + TrophyFishTracker.getTierCount(TrophyFishTracker.fishSession, "Obfuscated 3") + "\n" +
+ EnumChatFormatting.BLUE + TrophyFishTracker.getTierCount(TrophyFishTracker.fishSession, "Lavahorse") + "\n" +
+ EnumChatFormatting.BLUE + TrophyFishTracker.getTierCount(TrophyFishTracker.fishSession, "Mana Ray") + "\n" +
+ EnumChatFormatting.BLUE + TrophyFishTracker.getTierCount(TrophyFishTracker.fishSession, "Volcanic Stonefish") + "\n" +
+ EnumChatFormatting.BLUE + TrophyFishTracker.getTierCount(TrophyFishTracker.fishSession, "Vanille") + "\n" +
+ EnumChatFormatting.DARK_PURPLE + TrophyFishTracker.getTierCount(TrophyFishTracker.fishSession, "Skeleton Fish") + "\n" +
+ EnumChatFormatting.DARK_PURPLE + TrophyFishTracker.getTierCount(TrophyFishTracker.fishSession, "Moldfin") + "\n" +
+ EnumChatFormatting.DARK_PURPLE + TrophyFishTracker.getTierCount(TrophyFishTracker.fishSession, "Soul Fish") + "\n" +
+ EnumChatFormatting.DARK_PURPLE + TrophyFishTracker.getTierCount(TrophyFishTracker.fishSession, "Karate Fish") + "\n" +
+ EnumChatFormatting.GOLD + TrophyFishTracker.getTierCount(TrophyFishTracker.fishSession, "Golden Fish");
+
+ if (ToggleCommand.showTrophyCompletion) {
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fishSession, "Sulpher Skitter", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), MoveCommand.displayXY[1], ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fishSession, "Obfuscated 1", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fishSession, "Steaming-Hot Flounder", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (2 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fishSession, "Gusher", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (3 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fishSession, "Blobfish", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (4 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fishSession, "Obfuscated 2", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (5 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fishSession, "Slugfish", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (6 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fishSession, "Flyfish", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (7 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fishSession, "Obfuscated 3", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (8 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fishSession, "Lavahorse", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (9 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fishSession, "Mana Ray", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (10 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fishSession, "Volcanic Stonefish", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (11 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fishSession, "Vanille", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (12 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fishSession, "Skeleton Fish", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (13 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fishSession, "Moldfin", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (14 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fishSession, "Soul Fish", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (15 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fishSession, "Karate Fish", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (16 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ TrophyFishTracker.drawCompletion(TrophyFishTracker.fishSession, "Golden Fish", (int) (MoveCommand.displayXY[0] + (110 * ScaleCommand.displayScale)), (int) (MoveCommand.displayXY[1] + (17 * mc.fontRendererObj.FONT_HEIGHT * ScaleCommand.displayScale)), ScaleCommand.displayScale);
+ }
+ break;
case "mythological":
dropsText = EnumChatFormatting.GOLD + "Coins:\n" +
EnumChatFormatting.WHITE + "Griffin Feathers:\n" +
diff --git a/src/main/java/me/Danker/features/loot/LootTracker.java b/src/main/java/me/Danker/features/loot/LootTracker.java
index 7fa223d..13599a0 100644
--- a/src/main/java/me/Danker/features/loot/LootTracker.java
+++ b/src/main/java/me/Danker/features/loot/LootTracker.java
@@ -1,13 +1,11 @@
package me.Danker.features.loot;
+import me.Danker.events.PacketReadEvent;
import me.Danker.handlers.ConfigHandler;
-import me.Danker.handlers.ScoreboardHandler;
import me.Danker.utils.Utils;
-import net.minecraftforge.client.event.sound.PlaySoundEvent;
-import net.minecraftforge.fml.common.eventhandler.EventPriority;
+import net.minecraft.network.play.server.S29PacketSoundEffect;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
-import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -16,20 +14,17 @@ public class LootTracker {
public static long itemsChecked = 0;
static Pattern dropPattern = Pattern.compile(".*? \\((?<amount>\\d+)x .*\\).*");
- @SubscribeEvent(priority = EventPriority.HIGHEST)
- public void onSound(PlaySoundEvent event) {
+ @SubscribeEvent
+ public void onPacketRead(PacketReadEvent event) {
if (!Utils.inSkyblock) return;
- if (event.name.equals("note.pling")) {
- // Don't check twice within 3 seconds
- long checkItemsNow = System.currentTimeMillis() / 1000;
- if (checkItemsNow - itemsChecked < 3) return;
- List<String> scoreboard = ScoreboardHandler.getSidebarLines();
+ if (event.packet instanceof S29PacketSoundEffect) {
+ S29PacketSoundEffect packet = (S29PacketSoundEffect) event.packet;
- for (String line : scoreboard) {
- String cleanedLine = ScoreboardHandler.cleanSB(line);
- // If Hypixel lags and scoreboard doesn't update
- if (cleanedLine.contains("Boss slain!") || cleanedLine.contains("Slay the boss!")) {
+ if (packet.getSoundName().equals("note.pling")) {
+ if (System.currentTimeMillis() / 1000 - itemsChecked < 3) return;
+
+ if (Utils.isInScoreboard("Boss slain!") || Utils.isInScoreboard("Slay the boss!")) {
int itemTeeth = Utils.getItems("Wolf Tooth");
int itemWebs = Utils.getItems("Tarantula Web");
int itemRev = Utils.getItems("Revenant Flesh");
diff --git a/src/main/java/me/Danker/features/loot/TrophyFishTracker.java b/src/main/java/me/Danker/features/loot/TrophyFishTracker.java
new file mode 100644
index 0000000..6202871
--- /dev/null
+++ b/src/main/java/me/Danker/features/loot/TrophyFishTracker.java
@@ -0,0 +1,143 @@
+package me.Danker.features.loot;
+
+import com.google.gson.GsonBuilder;
+import com.google.gson.JsonObject;
+import me.Danker.events.ModInitEvent;
+import me.Danker.utils.RenderUtils;
+import me.Danker.utils.Utils;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.StringUtils;
+import net.minecraftforge.client.event.ClientChatReceivedEvent;
+import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+public class TrophyFishTracker {
+
+ public static JsonObject fish = new JsonObject();
+ public static JsonObject fishSession = new JsonObject();
+ public static Pattern fishPattern = Pattern.compile("TROPHY FISH! You caught a (?<fish>.*) (?<tier>.*).");
+ public static String configFile;
+
+ public static JsonObject createEmpty() {
+ JsonObject fish = new JsonObject();
+
+ JsonObject tiers = new JsonObject();
+ tiers.addProperty("BRONZE", 0);
+ tiers.addProperty("SILVER", 0);
+ tiers.addProperty("GOLD", 0);
+ tiers.addProperty("DIAMOND", 0);
+
+ fish.add("Sulpher Skitter", Utils.deepCopy(tiers));
+ fish.add("Obfuscated 1", Utils.deepCopy(tiers));
+ fish.add("Steaming-Hot Flounder", Utils.deepCopy(tiers));
+ fish.add("Obfuscated 2", Utils.deepCopy(tiers));
+ fish.add("Gusher", Utils.deepCopy(tiers));
+ fish.add("Blobfish", Utils.deepCopy(tiers));
+ fish.add("Slugfish", Utils.deepCopy(tiers));
+ fish.add("Obfuscated 3", Utils.deepCopy(tiers));
+ fish.add("Flyfish", Utils.deepCopy(tiers));
+ fish.add("Lavahorse", Utils.deepCopy(tiers));
+ fish.add("Mana Ray", Utils.deepCopy(tiers));
+ fish.add("Volcanic Stonefish", Utils.deepCopy(tiers));
+ fish.add("Vanille", Utils.deepCopy(tiers));
+ fish.add("Skeleton Fish", Utils.deepCopy(tiers));
+ fish.add("Moldfin", Utils.deepCopy(tiers));
+ fish.add("Soul Fish", Utils.deepCopy(tiers));
+ fish.add("Karate Fish", Utils.deepCopy(tiers));
+ fish.add("Golden Fish", Utils.deepCopy(tiers));
+
+ return fish;
+ }
+
+ @SubscribeEvent
+ public void init(ModInitEvent event) {
+ configFile = event.configDirectory + "/dsmtrophyfish.json";
+ if (fish.entrySet().isEmpty()) fish = createEmpty();
+ fishSession = createEmpty();
+ }
+
+ @SubscribeEvent(receiveCanceled = true)
+ public void onChat(ClientChatReceivedEvent event) {
+ String message = StringUtils.stripControlCodes(event.message.getUnformattedText());
+
+ if (!Utils.inSkyblock) return;
+ if (!Utils.tabLocation.equals("Crimson Isle")) return;
+ if (event.type == 2) return;
+ if (message.contains(":")) return;
+
+ Matcher matcher = fishPattern.matcher(message);
+
+ if (matcher.matches()) {
+ String fishName = matcher.group("fish");
+ String tier = matcher.group("tier");
+
+ JsonObject fishObj = fish.get(fishName).getAsJsonObject();
+ int amount = fishObj.get(tier).getAsInt();
+ fishObj.addProperty(tier, amount + 1);
+
+ JsonObject fishSessionObj = fishSession.get(fishName).getAsJsonObject();
+ int amountSession = fishSessionObj.get(tier).getAsInt();
+ fishSessionObj.addProperty(tier, amountSession + 1);
+
+ save();
+ }
+ }
+
+ public static void save() {
+ try (FileWriter writer = new FileWriter(configFile)) {
+ new GsonBuilder().create().toJson(fish, writer);
+ writer.flush();
+ } catch (IOException ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ public static String getTierCount(JsonObject obj, String name) {
+ JsonObject type = obj.get(name).getAsJsonObject();
+
+ int bronze = type.get("BRONZE").getAsInt();
+ int silver = type.get("SILVER").getAsInt();
+ int gold = type.get("GOLD").getAsInt();
+ int diamond = type.get("DIAMOND").getAsInt();
+
+ return EnumChatFormatting.DARK_GRAY + "" + bronze + EnumChatFormatting.WHITE + "-" +
+ EnumChatFormatting.GRAY + silver + EnumChatFormatting.WHITE + "-" +
+ EnumChatFormatting.GOLD + gold + EnumChatFormatting.WHITE + "-" +
+ EnumChatFormatting.AQUA + diamond;
+ }
+
+ public static int getSum(JsonObject obj, String name) {
+ JsonObject type = obj.get(name).getAsJsonObject();
+ return type.get("BRONZE").getAsInt() +
+ type.get("SILVER").getAsInt() +
+ type.get("GOLD").getAsInt() +
+ type.get("DIAMOND").getAsInt();
+ }
+
+ public static void drawCompletion(JsonObject obj, String name, int x, int y, double scale) {
+ JsonObject type = obj.get(name).getAsJsonObject();
+
+ boolean bronze = type.get("BRONZE").getAsInt() > 0;
+ boolean silver = type.get("SILVER").getAsInt() > 0;
+ boolean gold = type.get("GOLD").getAsInt() > 0;
+ boolean diamond = type.get("DIAMOND").getAsInt() > 0;
+
+ ItemStack incomplete = new ItemStack(Items.dye, 1, 8);
+ ItemStack bronzeComplete = new ItemStack(Items.brick);
+ ItemStack silverComplete = new ItemStack(Items.iron_ingot);
+ ItemStack goldComplete = new ItemStack(Items.gold_ingot);
+ ItemStack diamondComplete = new ItemStack(Items.diamond);
+
+ RenderUtils.renderItem(bronze ? bronzeComplete : incomplete, x, y - 2, scale / 1.3D);
+ RenderUtils.renderItem(silver ? silverComplete : incomplete, x + 15, y - 2, scale / 1.3D);
+ RenderUtils.renderItem(gold ? goldComplete : incomplete, x + 30, y - 2, scale / 1.3D);
+ RenderUtils.renderItem(diamond ? diamondComplete : incomplete, x + 45, y - 2, scale / 1.3D);
+ }
+
+}