From cd4ac5964b9578c305a563edb7b4604328cad93a Mon Sep 17 00:00:00 2001 From: MadisonMadi Date: Wed, 22 Oct 2025 18:10:26 +0200 Subject: [PATCH 01/15] Lures not being displayed with First Capital Letters for words. --- .../handler/screens/hud/NotificationHudHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/io/github/markassk/fishonmcextras/handler/screens/hud/NotificationHudHandler.java b/src/main/java/io/github/markassk/fishonmcextras/handler/screens/hud/NotificationHudHandler.java index bada6d97..96df6874 100644 --- a/src/main/java/io/github/markassk/fishonmcextras/handler/screens/hud/NotificationHudHandler.java +++ b/src/main/java/io/github/markassk/fishonmcextras/handler/screens/hud/NotificationHudHandler.java @@ -122,7 +122,7 @@ public List assembleNotificationText() { textList.add(Text.empty()); textList.add(TextHelper.concat( Text.literal("Your ").formatted(Formatting.RED), - Text.literal(lure.name).formatted(Formatting.WHITE), + Text.literal(TextHelper.upperCaseAllFirstCharacter(lure.name)).formatted(Formatting.WHITE), Text.literal(" has no use in ").formatted(Formatting.RED), LocationInfo.valueOfId(BossBarHandler.instance().currentLocation.ID).WATER.TAG, Text.literal(" here").formatted(Formatting.RED), From a0c8535d0ade3637a05c659a73610c3db66de799 Mon Sep 17 00:00:00 2001 From: MadisonMadi Date: Thu, 30 Oct 2025 18:53:10 +0100 Subject: [PATCH 02/15] Blood Moon Notification fix (wrong name) --- .../io/github/markassk/fishonmcextras/handler/EventHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/io/github/markassk/fishonmcextras/handler/EventHandler.java b/src/main/java/io/github/markassk/fishonmcextras/handler/EventHandler.java index 458f090c..997b95b9 100644 --- a/src/main/java/io/github/markassk/fishonmcextras/handler/EventHandler.java +++ b/src/main/java/io/github/markassk/fishonmcextras/handler/EventHandler.java @@ -172,7 +172,7 @@ public enum WeatherEvent { ), BLOOD_MOON("blood_moon", "BLOOD MOON » A Blood Moon has risen!", TextHelper.concat( Text.literal("A ").formatted(Formatting.WHITE), - Text.literal("Super Moon ").formatted(Formatting.BOLD).withColor(0xE44848), + Text.literal("Blood Moon ").formatted(Formatting.BOLD).withColor(0xE44848), Text.literal("has risen!").formatted(Formatting.WHITE)), TextHelper.concat( Text.literal("+").formatted(Formatting.GRAY), From bbcf91e318abc1f71b8c1ac441f4b2c2997726d9 Mon Sep 17 00:00:00 2001 From: MadisonMadi Date: Mon, 10 Nov 2025 14:44:34 +0100 Subject: [PATCH 03/15] Pet Equip Hud Color changes + color lvls Equipment Hud Color Display --- .../screens/hud/PetEquipHudHandler.java | 42 +++++++++------ .../screens/hud/EquipmentHud.java | 52 +++++++++++++++---- .../fishonmcextras/util/TextHelper.java | 33 +++++++----- 3 files changed, 89 insertions(+), 38 deletions(-) diff --git a/src/main/java/io/github/markassk/fishonmcextras/handler/screens/hud/PetEquipHudHandler.java b/src/main/java/io/github/markassk/fishonmcextras/handler/screens/hud/PetEquipHudHandler.java index 09def74a..15cc979c 100644 --- a/src/main/java/io/github/markassk/fishonmcextras/handler/screens/hud/PetEquipHudHandler.java +++ b/src/main/java/io/github/markassk/fishonmcextras/handler/screens/hud/PetEquipHudHandler.java @@ -20,6 +20,13 @@ public static PetEquipHudHandler instance() { return INSTANCE; } + private Formatting getProgressColor(double value) { + return value <= 25 ? Formatting.RED : + value <= 50 ? Formatting.GOLD : + value <= 75 ? Formatting.YELLOW : + Formatting.GREEN; + } + public List assemblePetText() { ProfileDataHandler.ProfileData profileData = ProfileDataHandler.instance().profileData; @@ -32,31 +39,36 @@ public List assemblePetText() { float neededXp = profileData.equippedPet.neededXp; float percentXp = currentXp / neededXp * 100f; + Formatting levelColor = getProgressColor(level); textList.add(TextHelper.concat( profileData.equippedPet.rarity.TAG, Text.literal(" "), namePet, - Text.literal(" (ʟᴠʟ " + level + ")").formatted(Formatting.GRAY) + Text.literal(" (").formatted(Formatting.DARK_GRAY), + Text.literal("ʟᴠʟ ").formatted(Formatting.GRAY), + Text.literal(String.valueOf(level)).formatted(levelColor), + Text.literal(")").formatted(Formatting.DARK_GRAY) )); if(level == 100) { textList.add(TextHelper.concat( - Text.literal("(").formatted(Formatting.GRAY), - Text.literal(TextHelper.fmnt(currentXp)).formatted(Formatting.YELLOW), - Text.literal("/").formatted(Formatting.GRAY), - Text.literal("MAX").formatted(Formatting.YELLOW), - Text.literal(") ").formatted(Formatting.GRAY), - Text.literal("100").formatted(Formatting.YELLOW), - Text.literal("%").formatted(Formatting.GRAY) + Text.literal("(").formatted(Formatting.DARK_GRAY), + Text.literal(TextHelper.fmnt(currentXp)).formatted(Formatting.AQUA), + Text.literal("/").formatted(Formatting.DARK_GRAY), + Text.literal("MAX").formatted(Formatting.BLUE), + Text.literal(") ").formatted(Formatting.DARK_GRAY), + Text.literal("100").formatted(Formatting.GREEN), + Text.literal("%").formatted(Formatting.GREEN) )); } else { + Formatting percentColor = getProgressColor(percentXp); textList.add(TextHelper.concat( - Text.literal("(").formatted(Formatting.GRAY), - Text.literal(TextHelper.fmnt(currentXp)).formatted(Formatting.YELLOW), - Text.literal("/").formatted(Formatting.GRAY), - Text.literal(TextHelper.fmnt(neededXp)).formatted(Formatting.YELLOW), - Text.literal(") ").formatted(Formatting.GRAY), - Text.literal(TextHelper.fmt(percentXp, 1)).formatted(Formatting.YELLOW), - Text.literal("%").formatted(Formatting.GRAY) + Text.literal("(").formatted(Formatting.DARK_GRAY), + Text.literal(TextHelper.fmnt(currentXp)).formatted(Formatting.AQUA), + Text.literal("/").formatted(Formatting.DARK_GRAY), + Text.literal(TextHelper.fmnt(neededXp)).formatted(Formatting.BLUE), + Text.literal(") ").formatted(Formatting.DARK_GRAY), + Text.literal(TextHelper.fmt(percentXp, 1)).formatted(percentColor), + Text.literal("%").formatted(percentColor) )); } } else if (PetEquipHandler.instance().petStatus == PetEquipHandler.PetStatus.NO_PET) { diff --git a/src/main/java/io/github/markassk/fishonmcextras/screens/hud/EquipmentHud.java b/src/main/java/io/github/markassk/fishonmcextras/screens/hud/EquipmentHud.java index 6a20b571..2d92a6f2 100644 --- a/src/main/java/io/github/markassk/fishonmcextras/screens/hud/EquipmentHud.java +++ b/src/main/java/io/github/markassk/fishonmcextras/screens/hud/EquipmentHud.java @@ -1,6 +1,9 @@ package io.github.markassk.fishonmcextras.screens.hud; +import io.github.markassk.fishonmcextras.FOMC.Constant; +import io.github.markassk.fishonmcextras.FOMC.Types.FOMCItem; import io.github.markassk.fishonmcextras.config.FishOnMCExtrasConfig; +import io.github.markassk.fishonmcextras.handler.FishingRodHandler; import io.github.markassk.fishonmcextras.handler.screens.hud.EquipmentHudHandler; import net.minecraft.client.MinecraftClient; import net.minecraft.client.font.TextRenderer; @@ -55,31 +58,62 @@ public void render(DrawContext drawContext, MinecraftClient client) { int offsetBottomRodParts = config.equipmentTracker.rodPartsHUDOptions.offsetFromBottom; // Chestplate - renderBox(drawContext, textRenderer, scaledX - 64 + offsetMiddleArmor, scaledY - offsetBottomArmor - 20, alphaInt, chestplate, "ᴄ"); + renderBox(drawContext, textRenderer, scaledX - 64 + offsetMiddleArmor, scaledY - offsetBottomArmor - 20, alphaInt, chestplate, "ᴄ", null); // Leggings - renderBox(drawContext, textRenderer, scaledX - 42 + offsetMiddleArmor, scaledY - offsetBottomArmor - 20, alphaInt, leggings, "ʟ"); + renderBox(drawContext, textRenderer, scaledX - 42 + offsetMiddleArmor, scaledY - offsetBottomArmor - 20, alphaInt, leggings, "ʟ", null); // Boots - renderBox(drawContext, textRenderer, scaledX - 20 + offsetMiddleArmor, scaledY - offsetBottomArmor - 20, alphaInt, boots, "ʙ"); + renderBox(drawContext, textRenderer, scaledX - 20 + offsetMiddleArmor, scaledY - offsetBottomArmor - 20, alphaInt, boots, "ʙ", null); // Reel - renderBox(drawContext, textRenderer, scaledX + offsetMiddleRodParts, scaledY - offsetBottomRodParts - 20, alphaInt, reel, "ʀ"); + renderBox(drawContext, textRenderer, scaledX + offsetMiddleRodParts, scaledY - offsetBottomRodParts - 20, alphaInt, reel, "ʀ", "reel"); // Pole - renderBox(drawContext, textRenderer, scaledX + 22 + offsetMiddleRodParts, scaledY - offsetBottomRodParts - 20, alphaInt, pole, "ᴘ"); + renderBox(drawContext, textRenderer, scaledX + 22 + offsetMiddleRodParts, scaledY - offsetBottomRodParts - 20, alphaInt, pole, "ᴘ", "pole"); // Line - renderBox(drawContext, textRenderer, scaledX + 44 + offsetMiddleRodParts, scaledY - offsetBottomRodParts - 20, alphaInt, line, "ʟ"); + renderBox(drawContext, textRenderer, scaledX + 44 + offsetMiddleRodParts, scaledY - offsetBottomRodParts - 20, alphaInt, line, "ʟ", "line"); } finally { drawContext.getMatrices().pop(); } } - private void renderBox(DrawContext drawContext, TextRenderer textRenderer, int x, int y, int alpha, ItemStack itemStack, String character) { + private void renderBox(DrawContext drawContext, TextRenderer textRenderer, int x, int y, int alpha, ItemStack itemStack, String character, String equipmentType) { drawContext.fill(x, y, x + 20, y + 20, alpha); - drawContext.drawBorder(x, y + 20, 20, 1, alpha | 0xFFFFFF); + + int borderColor = alpha | 0xFFFFFF; + Constant rarity = Constant.DEFAULT; + + if (equipmentType != null) { + switch (equipmentType) { + case "reel" -> { + if (FishingRodHandler.instance().fishingRod.reel != null) { + rarity = FishingRodHandler.instance().fishingRod.reel.rarity; + } + } + case "pole" -> { + if (FishingRodHandler.instance().fishingRod.pole != null) { + rarity = FishingRodHandler.instance().fishingRod.pole.rarity; + } + } + case "line" -> { + if (FishingRodHandler.instance().fishingRod.line != null) { + rarity = FishingRodHandler.instance().fishingRod.line.rarity; + } + } + } + } else { + rarity = FOMCItem.getRarity(itemStack); + } + + if (rarity != Constant.DEFAULT) { + borderColor = (alpha & 0xFF000000) | (rarity.COLOR & 0x00FFFFFF); + } + + drawContext.drawBorder(x, y + 20, 20, 1, borderColor); + if(itemStack.getItem() != Items.AIR) { drawContext.drawItem(itemStack, x + 2, y + 2); } else { drawContext.drawText(textRenderer, Text.literal(character).formatted(Formatting.GRAY), x + 10 - textRenderer.getWidth(character) / 2, y + 10 - textRenderer.fontHeight / 2, alpha | 0xFFFFFF, true); } } -} +} \ No newline at end of file diff --git a/src/main/java/io/github/markassk/fishonmcextras/util/TextHelper.java b/src/main/java/io/github/markassk/fishonmcextras/util/TextHelper.java index 6668dd19..5bd36f5c 100644 --- a/src/main/java/io/github/markassk/fishonmcextras/util/TextHelper.java +++ b/src/main/java/io/github/markassk/fishonmcextras/util/TextHelper.java @@ -10,6 +10,7 @@ import java.math.BigDecimal; import java.math.RoundingMode; +import java.util.Locale; import java.util.regex.Pattern; public class TextHelper { @@ -26,37 +27,41 @@ public static MutableText concat(Text... texts) { // Format to string public static String fmt(float d) { - return String.format("%.0f", d); + return String.format(Locale.US,"%.0f", d); } public static String fmt(float d, int decimalPlaces) { switch (decimalPlaces) { case 1 -> { - return String.format("%.1f", d); + String s = String.format(Locale.US,"%.1f", d); + return s.replaceAll("0*$", "").replaceAll("[.,]$", ""); } case 2 -> { - return String.format("%.2f", d); + String s = String.format(Locale.US,"%.2f", d); + return s.replaceAll("0*$", "").replaceAll("[.,]$", ""); } default -> { - return String.format("%.0f", d); + String s = String.format(Locale.US,"%.0f", d); + return s.replaceAll("0*$", "").replaceAll("[.,]$", ""); } } } // Format to number string public static String fmnt(float d) { - if(d > 1000 && d < 1000000) { - String s = String.format("%.2f", d / 1000); - return (s.contains(".") ? s.replaceAll("0*$","").replaceAll("\\.$","") : s) + "K"; - } else if (d > 1000000 && d < 1000000000 ){ - String s =String.format("%.2f", d / 1000000); - return (s.contains(".") ? s.replaceAll("0*$","").replaceAll("\\.$","") : s) + "M"; + if (d >= 1000 && d < 1000000) { + String s = String.format(Locale.US, "%.2f", d / 1000); + return s.replaceAll("0*$", "").replaceAll("[.,]$", "") + "K"; + } else if (d > 1000000 && d < 1000000000) { + String s = String.format(Locale.US, "%.2f", d / 1000000); + return s.replaceAll("0*$", "").replaceAll("[.,]$", "") + "M"; } else if (d > 1000000000) { - String s =String.format("%.2f", d / 1000000000); - return (s.contains(".") ? s.replaceAll("0*$","").replaceAll("\\.$","") : s) + "B"; + String s = String.format(Locale.US, "%.2f", d / 1000000000); + return s.replaceAll("0*$", "").replaceAll("[.,]$", "") + "B"; + } else if (d == 0) { + return "0"; } else { - String s =String.format("%.0f", d); - return s.contains(".") ? s.replaceAll("0*$","").replaceAll("\\.$","") : s; + return String.format(Locale.US, "%.0f", d); } } From ee56b925b21f28585cc978820878948e03174b8d Mon Sep 17 00:00:00 2001 From: MadisonMadi Date: Wed, 24 Dec 2025 20:51:43 +0100 Subject: [PATCH 04/15] fixes --- .../markassk/fishonmcextras/util/ColorHelper.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/java/io/github/markassk/fishonmcextras/util/ColorHelper.java b/src/main/java/io/github/markassk/fishonmcextras/util/ColorHelper.java index 4160aae2..50e29aa2 100644 --- a/src/main/java/io/github/markassk/fishonmcextras/util/ColorHelper.java +++ b/src/main/java/io/github/markassk/fishonmcextras/util/ColorHelper.java @@ -4,10 +4,13 @@ public class ColorHelper { public static int getColorFromNbt(String value) { - int r = Integer.parseInt(value.substring(0, value.indexOf(",")).trim()); - int g = Integer.parseInt(value.substring(value.indexOf(",") + 1, TextHelper.ordinalIndexOf(value, ",", 2)).trim()); - int b = Integer.parseInt(value.substring(value.lastIndexOf(",") + 1).trim()); - - return Color.ofRGB(r, g, b).getColor(); + try { + int r = Integer.parseInt(value.substring(0, value.indexOf(",")).trim()); + int g = Integer.parseInt(value.substring(value.indexOf(",") + 1, TextHelper.ordinalIndexOf(value, ",", 2)).trim()); + int b = Integer.parseInt(value.substring(value.lastIndexOf(",") + 1).trim()); + return Color.ofRGB(r, g, b).getColor(); + } catch (Exception e) { + return Color.ofRGB(255, 255, 255).getColor(); + } } } From ef50815360e859e61e0381d714750eb2851a21bd Mon Sep 17 00:00:00 2001 From: MadisonMadi Date: Wed, 24 Dec 2025 21:21:36 +0100 Subject: [PATCH 05/15] oil rig and pelican support, removed 1.21.5 support --- build.gradle | 2 +- gradle.properties | 1 - .../io/github/markassk/fishonmcextras/FOMC/Constant.java | 9 +++++++++ .../markassk/fishonmcextras/FOMC/LocationInfo.java | 1 + .../markassk/fishonmcextras/handler/LocationHandler.java | 1 + 5 files changed, 12 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 4503fbe9..27d730cf 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ plugins { } -version = "${project.mod_version}+${project.minecraft_version}-${project.minecraft_version_max}" +version = "${project.mod_version}+${project.minecraft_version}" group = "io.github.markassk.fishonmcextras" base { diff --git a/gradle.properties b/gradle.properties index 3214c5b0..c6eaf886 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,7 +10,6 @@ project_url=https://modrinth.com/project/fishonmc-extras # Versions minecraft_version=1.21.4 -minecraft_version_max=1.21.5 # Dependencies fabric_loader_version=0.15.7 fabric_api_version=0.110.5+1.21.4 diff --git a/src/main/java/io/github/markassk/fishonmcextras/FOMC/Constant.java b/src/main/java/io/github/markassk/fishonmcextras/FOMC/Constant.java index b6132ed4..2797a678 100644 --- a/src/main/java/io/github/markassk/fishonmcextras/FOMC/Constant.java +++ b/src/main/java/io/github/markassk/fishonmcextras/FOMC/Constant.java @@ -35,6 +35,7 @@ public enum Constant { TOLEDO_BEND("toledobend", Text.literal("Toledo Bend Reservoir").withColor(0x99A7D0), Defaults.DEFAULT_COLOR), GREAT_LAKES("greatlakes", Text.literal("Great Lakes").withColor(0x3CABF3), Defaults.DEFAULT_COLOR), DANUBE_RIVER("danube", Text.literal("Danube River").withColor(0xFBC598), Defaults.DEFAULT_COLOR), + OIL_RIG("oilrig", Text.literal("Oil Rig").withColor(0xFCEB47), Defaults.DEFAULT_COLOR), AMAZON_RIVER("amazon", Text.literal("Amazon River").withColor(0x3EA729), Defaults.DEFAULT_COLOR), MEDITERRANEAN_SEA("mediterranean", Text.literal("Mediterranean Sea").withColor(0xF0FB37), Defaults.DEFAULT_COLOR), CAPE_COD("capecod", Text.literal("Cape Cod").withColor(0xBBF5FB), Defaults.DEFAULT_COLOR), @@ -140,6 +141,14 @@ public enum Constant { Text.literal("o").withColor(0x7C8083), Text.literal("l").withColor(0x787B7F), Text.literal("f Pet").withColor(0x73767B)), Defaults.DEFAULT_COLOR), + PELICAN("pelican", TextHelper.concat( + Text.literal("P").withColor(0xD9CBA6), + Text.literal("e").withColor(0xDFC59B), + Text.literal("l").withColor(0xE6BE90), + Text.literal("i").withColor(0xECB886), + Text.literal("c").withColor(0xF2B27B), + Text.literal("a").withColor(0xF9AB70), + Text.literal("n Pet").withColor(0xFFA565)), Defaults.DEFAULT_COLOR), CAPYBARA("capybara", TextHelper.concat( Text.literal("C").withColor(0x725E39), Text.literal("a").withColor(0x7F663F), diff --git a/src/main/java/io/github/markassk/fishonmcextras/FOMC/LocationInfo.java b/src/main/java/io/github/markassk/fishonmcextras/FOMC/LocationInfo.java index f7b9fa55..74003162 100644 --- a/src/main/java/io/github/markassk/fishonmcextras/FOMC/LocationInfo.java +++ b/src/main/java/io/github/markassk/fishonmcextras/FOMC/LocationInfo.java @@ -11,6 +11,7 @@ public enum LocationInfo { TOLEDO_BEND("toledobend", ClimateConstant.SUBTROPICAL, Constant.FRESHWATER), GREAT_LAKES("greatlakes", ClimateConstant.CONTINENTAL, Constant.FRESHWATER), DANUBE_RIVER("danube", ClimateConstant.CONTINENTAL, Constant.FRESHWATER), + OIL_RIG("oilrig", ClimateConstant.SAVANNA, Constant.SALTWATER), AMAZON_RIVER("amazon", ClimateConstant.RAINFOREST, Constant.FRESHWATER), MEDITERRANEAN_SEA("mediterranean", ClimateConstant.MEDITERRANEAN, Constant.SALTWATER), CAPE_COD("capecod", ClimateConstant.OCEANIC, Constant.SALTWATER), diff --git a/src/main/java/io/github/markassk/fishonmcextras/handler/LocationHandler.java b/src/main/java/io/github/markassk/fishonmcextras/handler/LocationHandler.java index e940578d..d4e18c81 100644 --- a/src/main/java/io/github/markassk/fishonmcextras/handler/LocationHandler.java +++ b/src/main/java/io/github/markassk/fishonmcextras/handler/LocationHandler.java @@ -48,6 +48,7 @@ private Constant getLocation(String bossText) { else if (bossText.contains(Constant.TOLEDO_BEND.TAG.getString())) return Constant.TOLEDO_BEND; else if (bossText.contains(Constant.GREAT_LAKES.TAG.getString())) return Constant.GREAT_LAKES; else if (bossText.contains(Constant.DANUBE_RIVER.TAG.getString())) return Constant.DANUBE_RIVER; + else if (bossText.contains(Constant.OIL_RIG.TAG.getString())) return Constant.OIL_RIG; else if (bossText.contains(Constant.AMAZON_RIVER.TAG.getString())) return Constant.AMAZON_RIVER; else if (bossText.contains(Constant.MEDITERRANEAN_SEA.TAG.getString())) return Constant.MEDITERRANEAN_SEA; else if (bossText.contains(Constant.CAPE_COD.TAG.getString())) return Constant.CAPE_COD; From 9e99b59b0f94bb43137bff5cb744be846900670a Mon Sep 17 00:00:00 2001 From: MadisonMadi Date: Fri, 26 Dec 2025 00:30:42 +0100 Subject: [PATCH 06/15] Frozen Variant Added --- gradle.properties | 2 +- .../markassk/fishonmcextras/FOMC/Constant.java | 1 + .../markassk/fishonmcextras/FOMC/Types/Fish.java | 1 + .../config/TrackerFishHUDConfig.java | 2 ++ .../handler/StatsImportHandler.java | 2 ++ .../screens/hud/FishTrackerHudHandler.java | 15 ++++++++++++++- .../screens/debug/DebugScreenHandler.java | 3 +++ .../markassk/fishonmcextras/util/TextHelper.java | 2 +- .../assets/fishonmcextras/lang/en_us.json | 2 ++ 9 files changed, 27 insertions(+), 3 deletions(-) diff --git a/gradle.properties b/gradle.properties index c6eaf886..5a4b14d5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ org.gradle.jvmargs=-Xmx1G org.gradle.parallel=true # Mod Properties -mod_version=2.4.7 +mod_version=2.6 maven_group=io.github.markassk.fishonmcextras archives_base_name=fishonmc-extras project_url=https://modrinth.com/project/fishonmc-extras diff --git a/src/main/java/io/github/markassk/fishonmcextras/FOMC/Constant.java b/src/main/java/io/github/markassk/fishonmcextras/FOMC/Constant.java index 2797a678..ab5aa0c3 100644 --- a/src/main/java/io/github/markassk/fishonmcextras/FOMC/Constant.java +++ b/src/main/java/io/github/markassk/fishonmcextras/FOMC/Constant.java @@ -60,6 +60,7 @@ public enum Constant { MELANISTIC("melanistic", Text.literal("\uF042").formatted(Formatting.WHITE), Defaults.DEFAULT_COLOR), TROPHY("trophy", Text.literal("\uF043").formatted(Formatting.WHITE), Defaults.DEFAULT_COLOR), FABLED("fabled", Text.literal("\uF044").formatted(Formatting.WHITE), Defaults.DEFAULT_COLOR), + FROZEN("frozen", Text.literal("\uF179").formatted(Formatting.WHITE), Defaults.DEFAULT_COLOR), ALTERNATE("alternate", Text.literal("\uF098").formatted(Formatting.WHITE), Defaults.DEFAULT_COLOR), // Pet Rating diff --git a/src/main/java/io/github/markassk/fishonmcextras/FOMC/Types/Fish.java b/src/main/java/io/github/markassk/fishonmcextras/FOMC/Types/Fish.java index 85441061..17752d4d 100644 --- a/src/main/java/io/github/markassk/fishonmcextras/FOMC/Types/Fish.java +++ b/src/main/java/io/github/markassk/fishonmcextras/FOMC/Types/Fish.java @@ -81,6 +81,7 @@ public static Fish getFish(ItemStack itemStack) { || itemStack.getItem() == Items.GOLD_INGOT || itemStack.getItem() == Items.PRISMARINE_SHARD || itemStack.getItem() == Items.DRIED_KELP + || itemStack.getItem() == Items.LIGHT_BLUE_DYE ) { String line = Objects.requireNonNull(itemStack.getComponents().get(DataComponentTypes.LORE)).lines().get(15).getString(); return Fish.getFish(itemStack, Defaults.ItemTypes.FISH, line.substring(line.lastIndexOf(" ") + 1)); diff --git a/src/main/java/io/github/markassk/fishonmcextras/config/TrackerFishHUDConfig.java b/src/main/java/io/github/markassk/fishonmcextras/config/TrackerFishHUDConfig.java index 534d9fe7..ad4b4fe0 100644 --- a/src/main/java/io/github/markassk/fishonmcextras/config/TrackerFishHUDConfig.java +++ b/src/main/java/io/github/markassk/fishonmcextras/config/TrackerFishHUDConfig.java @@ -65,6 +65,7 @@ public static class VariantToggles { public boolean showMelanistic = true; public boolean showTrophy = true; public boolean showFabled = true; + public boolean showFrozen = true; public boolean showAlternate = false; } @@ -89,6 +90,7 @@ public static class DryStreakToggles { public boolean showMelanistic = true; public boolean showTrophy = true; public boolean showFabled = true; + public boolean showFrozen = true; public boolean showAlternate = true; @ConfigEntry.Gui.PrefixText public boolean showPet = false; diff --git a/src/main/java/io/github/markassk/fishonmcextras/handler/StatsImportHandler.java b/src/main/java/io/github/markassk/fishonmcextras/handler/StatsImportHandler.java index 2fd222ae..b2e5c0ac 100644 --- a/src/main/java/io/github/markassk/fishonmcextras/handler/StatsImportHandler.java +++ b/src/main/java/io/github/markassk/fishonmcextras/handler/StatsImportHandler.java @@ -78,6 +78,7 @@ private void getData(MinecraftClient minecraftClient) { else if (loreLine.contains(Constant.MELANISTIC.TAG.getString())) dummyProfileData.allVariantCounts.put(Constant.MELANISTIC, getValue(loreLine, Constant.MELANISTIC)); else if (loreLine.contains(Constant.TROPHY.TAG.getString())) dummyProfileData.allVariantCounts.put(Constant.TROPHY, getValue(loreLine, Constant.TROPHY)); else if (loreLine.contains(Constant.FABLED.TAG.getString())) dummyProfileData.allVariantCounts.put(Constant.FABLED, getValue(loreLine, Constant.FABLED)); + else if (loreLine.contains(Constant.FROZEN.TAG.getString())) dummyProfileData.allVariantCounts.put(Constant.FROZEN, getValue(loreLine, Constant.FROZEN)); else if (loreLine.contains("ꜰɪꜱʜ ᴄᴀᴜɢʜᴛ")) fishCaught.set(getValue(loreLine)); }); } @@ -104,6 +105,7 @@ private void getData(MinecraftClient minecraftClient) { dummyProfileData.variantDryStreak.put(Constant.MELANISTIC, Math.min(fishCaught.get() - (oldProfileData.allFishCaughtCount - oldProfileData.variantDryStreak.getOrDefault(Constant.MELANISTIC, oldProfileData.allFishCaughtCount)), fishCaught.get())); dummyProfileData.variantDryStreak.put(Constant.TROPHY, Math.min(fishCaught.get() - (oldProfileData.allFishCaughtCount - oldProfileData.variantDryStreak.getOrDefault(Constant.TROPHY, oldProfileData.allFishCaughtCount)), fishCaught.get())); dummyProfileData.variantDryStreak.put(Constant.FABLED, Math.min(fishCaught.get() - (oldProfileData.allFishCaughtCount - oldProfileData.variantDryStreak.getOrDefault(Constant.FABLED, oldProfileData.allFishCaughtCount)), fishCaught.get())); + dummyProfileData.variantDryStreak.put(Constant.FROZEN, Math.min(fishCaught.get() - (oldProfileData.allFishCaughtCount - oldProfileData.variantDryStreak.getOrDefault(Constant.FROZEN, oldProfileData.allFishCaughtCount)), fishCaught.get())); this.dummyProfileData = dummyProfileData; } diff --git a/src/main/java/io/github/markassk/fishonmcextras/handler/screens/hud/FishTrackerHudHandler.java b/src/main/java/io/github/markassk/fishonmcextras/handler/screens/hud/FishTrackerHudHandler.java index f259f8b3..cd784cc0 100644 --- a/src/main/java/io/github/markassk/fishonmcextras/handler/screens/hud/FishTrackerHudHandler.java +++ b/src/main/java/io/github/markassk/fishonmcextras/handler/screens/hud/FishTrackerHudHandler.java @@ -73,6 +73,7 @@ public List assembleFishText() { int displayMelanisticCount = displayVariantCounts.getOrDefault(Constant.MELANISTIC, 0); int displayTrophyCount = displayVariantCounts.getOrDefault(Constant.TROPHY, 0); int displayFabledCount = displayVariantCounts.getOrDefault(Constant.FABLED, 0); + int displayFrozenCount = displayVariantCounts.getOrDefault(Constant.FROZEN, 0); Map displayRarityDryStreak = profileData.rarityDryStreak; Map displayFishSizeDryStreak = profileData.fishSizeDryStreak; @@ -92,6 +93,7 @@ public List assembleFishText() { int displayDryStreakMelanisticCount = displayVariantDryStreak.getOrDefault(Constant.MELANISTIC, 0); int displayDryStreakTrophyCount = displayVariantDryStreak.getOrDefault(Constant.TROPHY, 0); int displayDryStreakFabledCount = displayVariantDryStreak.getOrDefault(Constant.FABLED, 0); + int displayDryStreakFrozenCount = displayVariantDryStreak.getOrDefault(Constant.FROZEN, 0); int displaySpecialCount = displayRarityCounts.getOrDefault(Constant.SPECIAL, 0); int displayDryStreakSpecialCount = displayRarityDryStreak.getOrDefault(Constant.SPECIAL, 0); @@ -181,7 +183,7 @@ public List assembleFishText() { if (config.fishTracker.fishTrackerToggles.generalToggles.showShardCaught) { textList.add(TextHelper.concat( Text.literal("ѕʜᴀʀᴅѕ: ").formatted(Formatting.GRAY), - Text.literal(String.valueOf(displayShardCaughtCount)).formatted(Formatting.WHITE) + Text.literal(getNumber(displayShardCaughtCount)).formatted(Formatting.WHITE) )); if(config.fishTracker.fishTrackerToggles.dryStreakToggles.showShard) { textList.add(getDryStreak(profileData.shardDryStreak)); @@ -404,6 +406,17 @@ public List assembleFishText() { textList.add(getDryStreak(displayDryStreakFabledCount)); } } + if(config.fishTracker.fishTrackerToggles.variantToggles.showFrozen) { + textList.add(TextHelper.concat( + Constant.FROZEN.TAG, + Text.literal(" "), + Text.literal(getNumber(displayFrozenCount)), + getPercentage(displayFrozenCount, displayFishCaughtCount) + )); + if(config.fishTracker.fishTrackerToggles.dryStreakToggles.showFrozen) { + textList.add(getDryStreak(displayDryStreakFrozenCount)); + } + } } return textList; diff --git a/src/main/java/io/github/markassk/fishonmcextras/screens/debug/DebugScreenHandler.java b/src/main/java/io/github/markassk/fishonmcextras/screens/debug/DebugScreenHandler.java index 4b78c657..0cd3e260 100644 --- a/src/main/java/io/github/markassk/fishonmcextras/screens/debug/DebugScreenHandler.java +++ b/src/main/java/io/github/markassk/fishonmcextras/screens/debug/DebugScreenHandler.java @@ -118,6 +118,7 @@ public List assembleDebugText(HandlerType type) { assembleText("profileStats.variantCounts[MELANISTIC]", profileDataHandler.profileData.variantCounts.getOrDefault(Constant.MELANISTIC, 0)), assembleText("profileStats.variantCounts[TROPHY]", profileDataHandler.profileData.variantCounts.getOrDefault(Constant.TROPHY, 0)), assembleText("profileStats.variantCounts[FABLED]", profileDataHandler.profileData.variantCounts.getOrDefault(Constant.FABLED, 0)), + assembleText("profileStats.variantCounts[FROZEN]", profileDataHandler.profileData.variantCounts.getOrDefault(Constant.FROZEN, 0)), assembleText("profileStats.rarityCounts[COMMON]", profileDataHandler.profileData.rarityCounts.getOrDefault(Constant.COMMON, 0)), assembleText("profileStats.rarityCounts[RARE]", profileDataHandler.profileData.rarityCounts.getOrDefault(Constant.RARE, 0)), assembleText("profileStats.rarityCounts[EPIC]", profileDataHandler.profileData.rarityCounts.getOrDefault(Constant.EPIC, 0)), @@ -140,6 +141,7 @@ public List assembleDebugText(HandlerType type) { assembleText("profileStats.allVariantCounts[MELANISTIC]", profileDataHandler.profileData.allVariantCounts.getOrDefault(Constant.MELANISTIC, 0)), assembleText("profileStats.allVariantCounts[TROPHY]", profileDataHandler.profileData.allVariantCounts.getOrDefault(Constant.TROPHY, 0)), assembleText("profileStats.allVariantCounts[FABLED]", profileDataHandler.profileData.allVariantCounts.getOrDefault(Constant.FABLED, 0)), + assembleText("profileStats.allVariantCounts[FROZEN]", profileDataHandler.profileData.allVariantCounts.getOrDefault(Constant.FROZEN, 0)), assembleText("profileStats.allRarityCounts[COMMON]", profileDataHandler.profileData.allRarityCounts.getOrDefault(Constant.COMMON, 0)), assembleText("profileStats.allRarityCounts[RARE]", profileDataHandler.profileData.allRarityCounts.getOrDefault(Constant.RARE, 0)), assembleText("profileStats.allRarityCounts[EPIC]", profileDataHandler.profileData.allRarityCounts.getOrDefault(Constant.EPIC, 0)), @@ -160,6 +162,7 @@ public List assembleDebugText(HandlerType type) { assembleText("profileStats.variantDryStreak[MELANISTIC]", profileDataHandler.profileData.variantDryStreak.getOrDefault(Constant.MELANISTIC, 0)), assembleText("profileStats.variantDryStreak[TROPHY]", profileDataHandler.profileData.variantDryStreak.getOrDefault(Constant.TROPHY, 0)), assembleText("profileStats.variantDryStreak[FABLED]", profileDataHandler.profileData.variantDryStreak.getOrDefault(Constant.FABLED, 0)), + assembleText("profileStats.variantDryStreak[FROZEN]", profileDataHandler.profileData.variantDryStreak.getOrDefault(Constant.FROZEN, 0)), assembleText("profileStats.rarityDryStreak[COMMON]", profileDataHandler.profileData.rarityDryStreak.getOrDefault(Constant.COMMON, 0)), assembleText("profileStats.rarityDryStreak[RARE]", profileDataHandler.profileData.rarityDryStreak.getOrDefault(Constant.RARE, 0)), diff --git a/src/main/java/io/github/markassk/fishonmcextras/util/TextHelper.java b/src/main/java/io/github/markassk/fishonmcextras/util/TextHelper.java index 5bd36f5c..4afd647a 100644 --- a/src/main/java/io/github/markassk/fishonmcextras/util/TextHelper.java +++ b/src/main/java/io/github/markassk/fishonmcextras/util/TextHelper.java @@ -36,7 +36,7 @@ public static String fmt(float d, int decimalPlaces) { String s = String.format(Locale.US,"%.1f", d); return s.replaceAll("0*$", "").replaceAll("[.,]$", ""); } - case 2 -> { + case 2 -> { String s = String.format(Locale.US,"%.2f", d); return s.replaceAll("0*$", "").replaceAll("[.,]$", ""); } diff --git a/src/main/resources/assets/fishonmcextras/lang/en_us.json b/src/main/resources/assets/fishonmcextras/lang/en_us.json index bc3e5f2b..d881e7f3 100644 --- a/src/main/resources/assets/fishonmcextras/lang/en_us.json +++ b/src/main/resources/assets/fishonmcextras/lang/en_us.json @@ -59,6 +59,7 @@ "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.variantToggles.showMelanistic": "Show §f\uF042", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.variantToggles.showTrophy": "Show §f\uF043", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.variantToggles.showFabled": "Show §f\uF044", + "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.variantToggles.showFrozen": "Show §f\uF179", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.variantToggles.showAlternate": "Show §f\uF098", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.dryStreakToggles": "§f§lDrystreak Toggles", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.dryStreakToggles.showCommon.@PrefixText": "§fRarities", @@ -79,6 +80,7 @@ "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.dryStreakToggles.showMelanistic": "Show §f\uF042", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.dryStreakToggles.showTrophy": "Show §f\uF043", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.dryStreakToggles.showFabled": "Show §f\uF044", + "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.dryStreakToggles.showFrozen": "Show §f\uF179", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.dryStreakToggles.showAlternate": "Show §f\uF098", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.dryStreakToggles.showPet.@PrefixText": "§fOther", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.dryStreakToggles.showPet": "Show Pets", From 826866ac070e9a6ba46aec535c88d1ccd6fe39c9 Mon Sep 17 00:00:00 2001 From: MadisonMadi Date: Fri, 26 Dec 2025 02:38:05 +0100 Subject: [PATCH 07/15] Frozen Variant Added --- .../github/markassk/fishonmcextras/FOMC/Types/FOMCItem.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/github/markassk/fishonmcextras/FOMC/Types/FOMCItem.java b/src/main/java/io/github/markassk/fishonmcextras/FOMC/Types/FOMCItem.java index b66bdeee..6a100b01 100644 --- a/src/main/java/io/github/markassk/fishonmcextras/FOMC/Types/FOMCItem.java +++ b/src/main/java/io/github/markassk/fishonmcextras/FOMC/Types/FOMCItem.java @@ -45,6 +45,7 @@ public static FOMCItem getFOMCItem(ItemStack itemStack) { || itemStack.getItem() == Items.GOLD_INGOT || itemStack.getItem() == Items.PRISMARINE_SHARD || itemStack.getItem() == Items.DRIED_KELP + || itemStack.getItem() == Items.LIGHT_BLUE_DYE ) { String line = Objects.requireNonNull(itemStack.getComponents().get(DataComponentTypes.LORE)).lines().get(15).getString(); return Fish.getFish(itemStack, Defaults.ItemTypes.FISH, line.substring(line.lastIndexOf(" ") + 1)); @@ -78,6 +79,7 @@ public static boolean isFOMCItem(ItemStack itemStack) { || itemStack.getItem() == Items.GOLD_INGOT || itemStack.getItem() == Items.PRISMARINE_SHARD || itemStack.getItem() == Items.DRIED_KELP + || itemStack.getItem() == Items.LIGHT_BLUE_DYE || itemStack.getItem() == Items.FISHING_ROD; } } @@ -102,7 +104,8 @@ public static boolean isFish(ItemStack itemStack) { || itemStack.getItem() == Items.GOLD_INGOT || itemStack.getItem() == Items.ROTTEN_FLESH || itemStack.getItem() == Items.PRISMARINE_SHARD - || itemStack.getItem() == Items.DRIED_KELP; + || itemStack.getItem() == Items.DRIED_KELP + || itemStack.getItem() == Items.LIGHT_BLUE_DYE; } return false; } From 108dc3e9bed1cb6280a43038e8e293837fda7449 Mon Sep 17 00:00:00 2001 From: MadisonMadi Date: Fri, 26 Dec 2025 02:56:15 +0100 Subject: [PATCH 08/15] new version + frozen variant --- gradle.properties | 2 +- src/main/resources/fabric.mod.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 5a4b14d5..cf6ad9a4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ org.gradle.jvmargs=-Xmx1G org.gradle.parallel=true # Mod Properties -mod_version=2.6 +mod_version=2.8 maven_group=io.github.markassk.fishonmcextras archives_base_name=fishonmc-extras project_url=https://modrinth.com/project/fishonmc-extras diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 2b8b5531..a26a90eb 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -1,7 +1,7 @@ { "schemaVersion": 1, "id": "fishonmcextras", - "version": "2.4.7", + "version": "2.8", "name": "FishOnMC-Extras", "description": "A QOL mod for play.fishonmc.net.", "authors": [ From 14529051de594dc9f6b694c5db2a6108c71903c1 Mon Sep 17 00:00:00 2001 From: MadisonMadi Date: Sat, 27 Dec 2025 01:19:25 +0100 Subject: [PATCH 09/15] added ${version} to fabric.mod.json --- src/main/resources/fabric.mod.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index a26a90eb..68492cfb 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -1,7 +1,7 @@ { "schemaVersion": 1, "id": "fishonmcextras", - "version": "2.8", + "version": "${version}", "name": "FishOnMC-Extras", "description": "A QOL mod for play.fishonmc.net.", "authors": [ From fe1bfaf2fd3242f48768c3fc45326db059c6809a Mon Sep 17 00:00:00 2001 From: MadisonMadi Date: Sat, 27 Dec 2025 16:19:11 +0100 Subject: [PATCH 10/15] version --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index cf6ad9a4..7eb3baa5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ org.gradle.jvmargs=-Xmx1G org.gradle.parallel=true # Mod Properties -mod_version=2.8 +mod_version=2.4.8 maven_group=io.github.markassk.fishonmcextras archives_base_name=fishonmc-extras project_url=https://modrinth.com/project/fishonmc-extras From 1483d91c87c89c9521f674a4804602651a2320b7 Mon Sep 17 00:00:00 2001 From: MadisonMadi Date: Sun, 28 Dec 2025 16:09:18 +0100 Subject: [PATCH 11/15] Added Presets button --- .../fishonmcextras/handler/InventoryScreenHandler.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/io/github/markassk/fishonmcextras/handler/InventoryScreenHandler.java b/src/main/java/io/github/markassk/fishonmcextras/handler/InventoryScreenHandler.java index 508b1e1c..6ba781a0 100644 --- a/src/main/java/io/github/markassk/fishonmcextras/handler/InventoryScreenHandler.java +++ b/src/main/java/io/github/markassk/fishonmcextras/handler/InventoryScreenHandler.java @@ -229,6 +229,11 @@ private void createButtonMenu(MinecraftClient minecraftClient) { Text.literal("Requires atleast ").formatted(Formatting.WHITE, Formatting.ITALIC), Text.literal(Constant.MARINER.TAG.getString()).formatted(Formatting.WHITE) )), minecraftClient)); + clickableWidgets.add(assembleButton( buttonSize * 3, 0, Text.literal("✎").formatted(Formatting.YELLOW, Formatting.BOLD), "presets", Tooltip.of( + TextHelper.concat( + Text.literal("Presets\n").formatted(Formatting.BOLD, Formatting.WHITE), + Text.literal("Presets stores your armor and rod parts.").formatted(Formatting.GRAY, Formatting.ITALIC) + )), minecraftClient)); if(BossBarHandler.instance().currentLocation == Constant.CREW_ISLAND) { clickableWidgets.add(assembleButton( -buttonSize * 3, buttonSize, Text.literal("\uF016"), "spawn", Tooltip.of( From d91415450bd0f7418e4232005e22ac1a3e826785 Mon Sep 17 00:00:00 2001 From: MadisonMadi Date: Mon, 29 Dec 2025 20:57:14 +0100 Subject: [PATCH 12/15] Event Fish separated into new Category --- .../fishonmcextras/FOMC/Constant.java | 8 ++- .../fishonmcextras/FOMC/Types/Fish.java | 1 + .../config/ConfigConstants.java | 1 + .../config/FishEventsConfig.java | 36 ++++++++++++ .../config/FishOnMCExtrasConfig.java | 6 ++ .../config/TrackerFishHUDConfig.java | 6 -- .../handler/InventoryScreenHandler.java | 2 +- .../screens/hud/FishTrackerHudHandler.java | 57 ++++++++++++------- .../assets/fishonmcextras/lang/en_us.json | 28 ++++++--- 9 files changed, 108 insertions(+), 37 deletions(-) create mode 100644 src/main/java/io/github/markassk/fishonmcextras/config/FishEventsConfig.java diff --git a/src/main/java/io/github/markassk/fishonmcextras/FOMC/Constant.java b/src/main/java/io/github/markassk/fishonmcextras/FOMC/Constant.java index ab5aa0c3..5ec5e0b9 100644 --- a/src/main/java/io/github/markassk/fishonmcextras/FOMC/Constant.java +++ b/src/main/java/io/github/markassk/fishonmcextras/FOMC/Constant.java @@ -22,6 +22,8 @@ public enum Constant { EPIC("epic", Text.literal("\uF035").formatted(Formatting.WHITE), 0x1CD832), LEGENDARY("legendary", Text.literal("\uF036").formatted(Formatting.WHITE), 0xD98103), MYTHICAL("mythical", Text.literal("\uF037").formatted(Formatting.WHITE), 0xC93832), + + // Event Rarities SPECIAL("special", Text.literal("\uF092").formatted(Formatting.WHITE), 0xDD7ACF), // Location @@ -60,8 +62,12 @@ public enum Constant { MELANISTIC("melanistic", Text.literal("\uF042").formatted(Formatting.WHITE), Defaults.DEFAULT_COLOR), TROPHY("trophy", Text.literal("\uF043").formatted(Formatting.WHITE), Defaults.DEFAULT_COLOR), FABLED("fabled", Text.literal("\uF044").formatted(Formatting.WHITE), Defaults.DEFAULT_COLOR), - FROZEN("frozen", Text.literal("\uF179").formatted(Formatting.WHITE), Defaults.DEFAULT_COLOR), + + // Event Variants ALTERNATE("alternate", Text.literal("\uF098").formatted(Formatting.WHITE), Defaults.DEFAULT_COLOR), + SPOOKY("spooky", Text.literal("\uF102").formatted(Formatting.WHITE), Defaults.DEFAULT_COLOR), + FROZEN("frozen", Text.literal("\uF179").formatted(Formatting.WHITE), Defaults.DEFAULT_COLOR), + // Pet Rating SICKLY("sickly", Text.literal("sɪᴄᴋʟʏ").withColor(0xFF74403B), 0xFF74403B), diff --git a/src/main/java/io/github/markassk/fishonmcextras/FOMC/Types/Fish.java b/src/main/java/io/github/markassk/fishonmcextras/FOMC/Types/Fish.java index 17752d4d..dabe129a 100644 --- a/src/main/java/io/github/markassk/fishonmcextras/FOMC/Types/Fish.java +++ b/src/main/java/io/github/markassk/fishonmcextras/FOMC/Types/Fish.java @@ -81,6 +81,7 @@ public static Fish getFish(ItemStack itemStack) { || itemStack.getItem() == Items.GOLD_INGOT || itemStack.getItem() == Items.PRISMARINE_SHARD || itemStack.getItem() == Items.DRIED_KELP + || itemStack.getItem() == Items.BONE || itemStack.getItem() == Items.LIGHT_BLUE_DYE ) { String line = Objects.requireNonNull(itemStack.getComponents().get(DataComponentTypes.LORE)).lines().get(15).getString(); diff --git a/src/main/java/io/github/markassk/fishonmcextras/config/ConfigConstants.java b/src/main/java/io/github/markassk/fishonmcextras/config/ConfigConstants.java index f8db0f92..eccb521f 100644 --- a/src/main/java/io/github/markassk/fishonmcextras/config/ConfigConstants.java +++ b/src/main/java/io/github/markassk/fishonmcextras/config/ConfigConstants.java @@ -7,6 +7,7 @@ public class ConfigConstants { public static final String OTHER = "other"; public static final String COSMETIC = "cosmetic"; public static final String FUN = "fun"; + public static final String FISHEVENTS = "fishevents"; public static final boolean DEV = false; } diff --git a/src/main/java/io/github/markassk/fishonmcextras/config/FishEventsConfig.java b/src/main/java/io/github/markassk/fishonmcextras/config/FishEventsConfig.java new file mode 100644 index 00000000..4ad4c642 --- /dev/null +++ b/src/main/java/io/github/markassk/fishonmcextras/config/FishEventsConfig.java @@ -0,0 +1,36 @@ +package io.github.markassk.fishonmcextras.config; + +import me.shedaniel.autoconfig.annotation.ConfigEntry; + +public class FishEventsConfig { + public static class Fishevents { + + @ConfigEntry.Gui.CollapsibleObject + public RarityToggles rarityToggles = new RarityToggles(); + public static class RarityToggles { + @ConfigEntry.Gui.Tooltip + public boolean showSpecial = false; + } + + @ConfigEntry.Gui.CollapsibleObject + public VariantToggles variantToggles = new VariantToggles(); + public static class VariantToggles { + @ConfigEntry.Gui.Tooltip + public boolean showAlternate = false; + @ConfigEntry.Gui.Tooltip + public boolean showSpooky = false; + @ConfigEntry.Gui.Tooltip + public boolean showFrozen = true; + } + + @ConfigEntry.Gui.CollapsibleObject + public DryStreakToggles dryStreakToggles = new DryStreakToggles(); + public static class DryStreakToggles { + public boolean showSpecial = true; + public boolean showAlternate = true; + public boolean showSpooky = true; + public boolean showFrozen = true; + } + + } +} \ No newline at end of file diff --git a/src/main/java/io/github/markassk/fishonmcextras/config/FishOnMCExtrasConfig.java b/src/main/java/io/github/markassk/fishonmcextras/config/FishOnMCExtrasConfig.java index e45f13bd..0ac49725 100644 --- a/src/main/java/io/github/markassk/fishonmcextras/config/FishOnMCExtrasConfig.java +++ b/src/main/java/io/github/markassk/fishonmcextras/config/FishOnMCExtrasConfig.java @@ -149,4 +149,10 @@ public static FishOnMCExtrasConfig getConfig() { @ConfigEntry.Gui.Excluded public boolean isTimerButtonMenuOpen = true; //endregion + + //region Fish Events + @ConfigEntry.Category(value = FISHEVENTS) + @ConfigEntry.Gui.CollapsibleObject + public FishEventsConfig.Fishevents fishevents = new FishEventsConfig.Fishevents(); + //endregion } \ No newline at end of file diff --git a/src/main/java/io/github/markassk/fishonmcextras/config/TrackerFishHUDConfig.java b/src/main/java/io/github/markassk/fishonmcextras/config/TrackerFishHUDConfig.java index ad4b4fe0..ca65d4f4 100644 --- a/src/main/java/io/github/markassk/fishonmcextras/config/TrackerFishHUDConfig.java +++ b/src/main/java/io/github/markassk/fishonmcextras/config/TrackerFishHUDConfig.java @@ -41,7 +41,6 @@ public static class RarityToggles { public boolean showEpic = true; public boolean showLegendary = true; public boolean showMythical = true; - public boolean showSpecial = false; } @ConfigEntry.Gui.CollapsibleObject @@ -65,8 +64,6 @@ public static class VariantToggles { public boolean showMelanistic = true; public boolean showTrophy = true; public boolean showFabled = true; - public boolean showFrozen = true; - public boolean showAlternate = false; } @ConfigEntry.Gui.CollapsibleObject @@ -78,7 +75,6 @@ public static class DryStreakToggles { public boolean showEpic = false; public boolean showLegendary = false; public boolean showMythical = false; - public boolean showSpecial = true; @ConfigEntry.Gui.PrefixText public boolean showBaby = false; public boolean showJuvenile = false; @@ -90,8 +86,6 @@ public static class DryStreakToggles { public boolean showMelanistic = true; public boolean showTrophy = true; public boolean showFabled = true; - public boolean showFrozen = true; - public boolean showAlternate = true; @ConfigEntry.Gui.PrefixText public boolean showPet = false; public boolean showShard = false; diff --git a/src/main/java/io/github/markassk/fishonmcextras/handler/InventoryScreenHandler.java b/src/main/java/io/github/markassk/fishonmcextras/handler/InventoryScreenHandler.java index 6ba781a0..178393ea 100644 --- a/src/main/java/io/github/markassk/fishonmcextras/handler/InventoryScreenHandler.java +++ b/src/main/java/io/github/markassk/fishonmcextras/handler/InventoryScreenHandler.java @@ -229,7 +229,7 @@ private void createButtonMenu(MinecraftClient minecraftClient) { Text.literal("Requires atleast ").formatted(Formatting.WHITE, Formatting.ITALIC), Text.literal(Constant.MARINER.TAG.getString()).formatted(Formatting.WHITE) )), minecraftClient)); - clickableWidgets.add(assembleButton( buttonSize * 3, 0, Text.literal("✎").formatted(Formatting.YELLOW, Formatting.BOLD), "presets", Tooltip.of( + clickableWidgets.add(assembleButton( buttonSize * 3, 0, Text.literal("✎").formatted(Formatting.GREEN, Formatting.BOLD), "presets", Tooltip.of( TextHelper.concat( Text.literal("Presets\n").formatted(Formatting.BOLD, Formatting.WHITE), Text.literal("Presets stores your armor and rod parts.").formatted(Formatting.GRAY, Formatting.ITALIC) diff --git a/src/main/java/io/github/markassk/fishonmcextras/handler/screens/hud/FishTrackerHudHandler.java b/src/main/java/io/github/markassk/fishonmcextras/handler/screens/hud/FishTrackerHudHandler.java index cd784cc0..efdd907e 100644 --- a/src/main/java/io/github/markassk/fishonmcextras/handler/screens/hud/FishTrackerHudHandler.java +++ b/src/main/java/io/github/markassk/fishonmcextras/handler/screens/hud/FishTrackerHudHandler.java @@ -73,7 +73,6 @@ public List assembleFishText() { int displayMelanisticCount = displayVariantCounts.getOrDefault(Constant.MELANISTIC, 0); int displayTrophyCount = displayVariantCounts.getOrDefault(Constant.TROPHY, 0); int displayFabledCount = displayVariantCounts.getOrDefault(Constant.FABLED, 0); - int displayFrozenCount = displayVariantCounts.getOrDefault(Constant.FROZEN, 0); Map displayRarityDryStreak = profileData.rarityDryStreak; Map displayFishSizeDryStreak = profileData.fishSizeDryStreak; @@ -93,7 +92,6 @@ public List assembleFishText() { int displayDryStreakMelanisticCount = displayVariantDryStreak.getOrDefault(Constant.MELANISTIC, 0); int displayDryStreakTrophyCount = displayVariantDryStreak.getOrDefault(Constant.TROPHY, 0); int displayDryStreakFabledCount = displayVariantDryStreak.getOrDefault(Constant.FABLED, 0); - int displayDryStreakFrozenCount = displayVariantDryStreak.getOrDefault(Constant.FROZEN, 0); int displaySpecialCount = displayRarityCounts.getOrDefault(Constant.SPECIAL, 0); int displayDryStreakSpecialCount = displayRarityDryStreak.getOrDefault(Constant.SPECIAL, 0); @@ -101,6 +99,12 @@ public List assembleFishText() { int displayAlternateCount = displayVariantCounts.getOrDefault(Constant.ALTERNATE, 0); int displayDryStreakAlternateCount = displayVariantDryStreak.getOrDefault(Constant.ALTERNATE, 0); + int displaySpookyCount = displayVariantCounts.getOrDefault(Constant.SPOOKY, 0); + int displayDryStreakSpookyCount = displayVariantDryStreak.getOrDefault(Constant.SPOOKY, 0); + + int displayFrozenCount = displayVariantCounts.getOrDefault(Constant.FROZEN, 0); + int displayDryStreakFrozenCount = displayVariantDryStreak.getOrDefault(Constant.FROZEN, 0); + int displayTimerFishCaughtCount = profileData.timerFishCaughtCount; if (ThemingHandler.instance().currentThemeType == Theming.ThemeType.OFF) { @@ -269,34 +273,19 @@ public List assembleFishText() { textList.add(getDryStreak(displayDryStreakMythicalCount)); } } - } - - if(config.fishTracker.fishTrackerToggles.rarityToggles.showSpecial || config.fishTracker.fishTrackerToggles.variantToggles.showAlternate) { - textList.add(Text.empty()); - if(config.fishTracker.fishTrackerToggles.rarityToggles.showSpecial) { + //EVENT FISHES + if(config.fishevents.rarityToggles.showSpecial) { textList.add(TextHelper.concat( Constant.SPECIAL.TAG, Text.literal(" "), Text.literal(getNumber(displaySpecialCount)), getPercentage(displaySpecialCount, displayFishCaughtCount) )); - if(config.fishTracker.fishTrackerToggles.dryStreakToggles.showSpecial){ + if(config.fishevents.dryStreakToggles.showSpecial){ textList.add(getDryStreak(displayDryStreakSpecialCount)); } } - - if(config.fishTracker.fishTrackerToggles.variantToggles.showAlternate) { - textList.add(TextHelper.concat( - Constant.ALTERNATE.TAG, - Text.literal(" "), - Text.literal(getNumber(displayAlternateCount)), - getPercentage(displayAlternateCount, displayFishCaughtCount) - )); - if(config.fishTracker.fishTrackerToggles.dryStreakToggles.showAlternate) { - textList.add(getDryStreak(displayDryStreakAlternateCount)); - } - } } if (config.fishTracker.fishTrackerToggles.fishSizeToggles.showFishSizes) { @@ -406,14 +395,38 @@ public List assembleFishText() { textList.add(getDryStreak(displayDryStreakFabledCount)); } } - if(config.fishTracker.fishTrackerToggles.variantToggles.showFrozen) { + + //EVENT FISHES + if(config.fishevents.variantToggles.showAlternate) { + textList.add(TextHelper.concat( + Constant.ALTERNATE.TAG, + Text.literal(" "), + Text.literal(getNumber(displayAlternateCount)), + getPercentage(displayAlternateCount, displayFishCaughtCount) + )); + if(config.fishevents.dryStreakToggles.showAlternate) { + textList.add(getDryStreak(displayDryStreakAlternateCount)); + } + } + if(config.fishevents.variantToggles.showSpooky) { + textList.add(TextHelper.concat( + Constant.SPOOKY.TAG, + Text.literal(" "), + Text.literal(getNumber(displaySpookyCount)), + getPercentage(displaySpookyCount, displayFishCaughtCount) + )); + if(config.fishevents.dryStreakToggles.showSpooky) { + textList.add(getDryStreak(displayDryStreakSpookyCount)); + } + } + if(config.fishevents.variantToggles.showFrozen) { textList.add(TextHelper.concat( Constant.FROZEN.TAG, Text.literal(" "), Text.literal(getNumber(displayFrozenCount)), getPercentage(displayFrozenCount, displayFishCaughtCount) )); - if(config.fishTracker.fishTrackerToggles.dryStreakToggles.showFrozen) { + if(config.fishevents.dryStreakToggles.showFrozen) { textList.add(getDryStreak(displayDryStreakFrozenCount)); } } diff --git a/src/main/resources/assets/fishonmcextras/lang/en_us.json b/src/main/resources/assets/fishonmcextras/lang/en_us.json index d881e7f3..7b4116ce 100644 --- a/src/main/resources/assets/fishonmcextras/lang/en_us.json +++ b/src/main/resources/assets/fishonmcextras/lang/en_us.json @@ -14,6 +14,7 @@ "text.autoconfig.fishonmcextras.category.other": "Miscellaneous", "text.autoconfig.fishonmcextras.category.cosmetic": "Cosmetics", "text.autoconfig.fishonmcextras.category.fun": "Experimental", + "text.autoconfig.fishonmcextras.category.fishevents": "Fish Events", "text.autoconfig.fishonmcextras.option.fishTracker": "§f§lFish Tracker Options", "text.autoconfig.fishonmcextras.option.fishTracker.showFishTrackerHUD": "Fish Tracker HUD", @@ -43,7 +44,6 @@ "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.rarityToggles.showEpic": "Show §f\uF035", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.rarityToggles.showLegendary": "Show §f\uF036", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.rarityToggles.showMythical": "Show §f\uF037", - "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.rarityToggles.showSpecial": "Show §f\uF092", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.fishSizeToggles": "§f§lFish Size Toggles", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.fishSizeToggles.showFishSizes": "§lShow Fish Sizes", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.fishSizeToggles.showFishSizes.@Tooltip": "Toggle to see fish sizes section.\n§7If §cdisabled§7, all below options will not show.", @@ -59,8 +59,6 @@ "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.variantToggles.showMelanistic": "Show §f\uF042", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.variantToggles.showTrophy": "Show §f\uF043", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.variantToggles.showFabled": "Show §f\uF044", - "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.variantToggles.showFrozen": "Show §f\uF179", - "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.variantToggles.showAlternate": "Show §f\uF098", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.dryStreakToggles": "§f§lDrystreak Toggles", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.dryStreakToggles.showCommon.@PrefixText": "§fRarities", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.dryStreakToggles.showCommon": "Show §f\uF033", @@ -68,7 +66,6 @@ "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.dryStreakToggles.showEpic": "Show §f\uF035", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.dryStreakToggles.showLegendary": "Show §f\uF036", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.dryStreakToggles.showMythical": "Show §f\uF037", - "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.dryStreakToggles.showSpecial": "Show §f\uF092", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.dryStreakToggles.showBaby.@PrefixText": "§fFish Sizes", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.dryStreakToggles.showBaby": "Show §fʙᴀʙʏ", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.dryStreakToggles.showJuvenile": "Show §fᴊᴜᴠᴇɴɪʟᴇ", @@ -80,8 +77,6 @@ "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.dryStreakToggles.showMelanistic": "Show §f\uF042", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.dryStreakToggles.showTrophy": "Show §f\uF043", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.dryStreakToggles.showFabled": "Show §f\uF044", - "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.dryStreakToggles.showFrozen": "Show §f\uF179", - "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.dryStreakToggles.showAlternate": "Show §f\uF098", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.dryStreakToggles.showPet.@PrefixText": "§fOther", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.dryStreakToggles.showPet": "Show Pets", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.dryStreakToggles.showShard": "Show Shards", @@ -324,5 +319,24 @@ "text.autoconfig.fishonmcextras.option.fun.biteBobber.@Tooltip": "§7This will §cdisable§7 the bite notification from the HUD", "text.autoconfig.fishonmcextras.option.fun.lightOnBobber": "Make bobber emit a light source", "text.autoconfig.fishonmcextras.option.fun.lightLevel": "Light level of the light source on bobber", - "text.autoconfig.fishonmcextras.option.fun.useCustomTitleScreen": "Use FoE Custom Title Screen" + "text.autoconfig.fishonmcextras.option.fun.useCustomTitleScreen": "Use FoE Custom Title Screen", + + "text.autoconfig.fishonmcextras.option.fishevents": "§f§lFish Event Options", + "text.autoconfig.fishonmcextras.option.fishevents.rarityToggles": "§f§lFish Rarity Toggles", + "text.autoconfig.fishonmcextras.option.fishevents.rarityToggles.showSpecial": "Show §f\uF092", + "text.autoconfig.fishonmcextras.option.fishevents.rarityToggles.showSpecial.@Tooltip": "§7Make sure you have Rarities §aenabled §7in Trackers -> Fish Tracker Options -> HUD Toggles -> Rarity Toggles", + + "text.autoconfig.fishonmcextras.option.fishevents.variantToggles": "§f§lFish Variant Toggles", + "text.autoconfig.fishonmcextras.option.fishevents.variantToggles.showAlternate": "Show §f\uF098", + "text.autoconfig.fishonmcextras.option.fishevents.variantToggles.showAlternate.@Tooltip": "§7Make sure you have Variants §aenabled in §7Trackers -> Fish Tracker Options -> HUD Toggles -> Variant Toggles", + "text.autoconfig.fishonmcextras.option.fishevents.variantToggles.showSpooky": "Show §f\uF102", + "text.autoconfig.fishonmcextras.option.fishevents.variantToggles.showSpooky.@Tooltip": "§7Make sure you have Variants §aenabled in §7Trackers -> Fish Tracker Options -> HUD Toggles -> Variant Toggles", + "text.autoconfig.fishonmcextras.option.fishevents.variantToggles.showFrozen": "Show §f\uF179", + "text.autoconfig.fishonmcextras.option.fishevents.variantToggles.showFrozen.@Tooltip": "§7Make sure you have Variants §aenabled §7in Trackers -> Fish Tracker Options -> HUD Toggles -> Variant Toggles", + + "text.autoconfig.fishonmcextras.option.fishevents.dryStreakToggles": "§f§lFish Drystreak Toggles", + "text.autoconfig.fishonmcextras.option.fishevents.dryStreakToggles.showSpecial": "Show §f\uF092", + "text.autoconfig.fishonmcextras.option.fishevents.dryStreakToggles.showAlternate": "Show §f\uF098", + "text.autoconfig.fishonmcextras.option.fishevents.dryStreakToggles.showSpooky": "Show §f\uF102", + "text.autoconfig.fishonmcextras.option.fishevents.dryStreakToggles.showFrozen": "Show §f\uF179" } \ No newline at end of file From 222fd094ae3d5c416d29b67f2394b0378a3600dd Mon Sep 17 00:00:00 2001 From: MadisonMadi Date: Mon, 29 Dec 2025 21:54:30 +0100 Subject: [PATCH 13/15] Event Fish separated into new field --- .../config/ConfigConstants.java | 1 - .../config/FishEventsConfig.java | 36 ------------------ .../config/FishOnMCExtrasConfig.java | 6 --- .../config/TrackerFishHUDConfig.java | 31 ++++++++++++++++ .../screens/hud/FishTrackerHudHandler.java | 16 ++++---- .../assets/fishonmcextras/lang/en_us.json | 37 +++++++++---------- 6 files changed, 56 insertions(+), 71 deletions(-) delete mode 100644 src/main/java/io/github/markassk/fishonmcextras/config/FishEventsConfig.java diff --git a/src/main/java/io/github/markassk/fishonmcextras/config/ConfigConstants.java b/src/main/java/io/github/markassk/fishonmcextras/config/ConfigConstants.java index eccb521f..f8db0f92 100644 --- a/src/main/java/io/github/markassk/fishonmcextras/config/ConfigConstants.java +++ b/src/main/java/io/github/markassk/fishonmcextras/config/ConfigConstants.java @@ -7,7 +7,6 @@ public class ConfigConstants { public static final String OTHER = "other"; public static final String COSMETIC = "cosmetic"; public static final String FUN = "fun"; - public static final String FISHEVENTS = "fishevents"; public static final boolean DEV = false; } diff --git a/src/main/java/io/github/markassk/fishonmcextras/config/FishEventsConfig.java b/src/main/java/io/github/markassk/fishonmcextras/config/FishEventsConfig.java deleted file mode 100644 index 4ad4c642..00000000 --- a/src/main/java/io/github/markassk/fishonmcextras/config/FishEventsConfig.java +++ /dev/null @@ -1,36 +0,0 @@ -package io.github.markassk.fishonmcextras.config; - -import me.shedaniel.autoconfig.annotation.ConfigEntry; - -public class FishEventsConfig { - public static class Fishevents { - - @ConfigEntry.Gui.CollapsibleObject - public RarityToggles rarityToggles = new RarityToggles(); - public static class RarityToggles { - @ConfigEntry.Gui.Tooltip - public boolean showSpecial = false; - } - - @ConfigEntry.Gui.CollapsibleObject - public VariantToggles variantToggles = new VariantToggles(); - public static class VariantToggles { - @ConfigEntry.Gui.Tooltip - public boolean showAlternate = false; - @ConfigEntry.Gui.Tooltip - public boolean showSpooky = false; - @ConfigEntry.Gui.Tooltip - public boolean showFrozen = true; - } - - @ConfigEntry.Gui.CollapsibleObject - public DryStreakToggles dryStreakToggles = new DryStreakToggles(); - public static class DryStreakToggles { - public boolean showSpecial = true; - public boolean showAlternate = true; - public boolean showSpooky = true; - public boolean showFrozen = true; - } - - } -} \ No newline at end of file diff --git a/src/main/java/io/github/markassk/fishonmcextras/config/FishOnMCExtrasConfig.java b/src/main/java/io/github/markassk/fishonmcextras/config/FishOnMCExtrasConfig.java index 0ac49725..e45f13bd 100644 --- a/src/main/java/io/github/markassk/fishonmcextras/config/FishOnMCExtrasConfig.java +++ b/src/main/java/io/github/markassk/fishonmcextras/config/FishOnMCExtrasConfig.java @@ -149,10 +149,4 @@ public static FishOnMCExtrasConfig getConfig() { @ConfigEntry.Gui.Excluded public boolean isTimerButtonMenuOpen = true; //endregion - - //region Fish Events - @ConfigEntry.Category(value = FISHEVENTS) - @ConfigEntry.Gui.CollapsibleObject - public FishEventsConfig.Fishevents fishevents = new FishEventsConfig.Fishevents(); - //endregion } \ No newline at end of file diff --git a/src/main/java/io/github/markassk/fishonmcextras/config/TrackerFishHUDConfig.java b/src/main/java/io/github/markassk/fishonmcextras/config/TrackerFishHUDConfig.java index ca65d4f4..5aab4f2d 100644 --- a/src/main/java/io/github/markassk/fishonmcextras/config/TrackerFishHUDConfig.java +++ b/src/main/java/io/github/markassk/fishonmcextras/config/TrackerFishHUDConfig.java @@ -92,6 +92,37 @@ public static class DryStreakToggles { public boolean showLightningBottle = false; } + @ConfigEntry.Gui.CollapsibleObject + public FishEventToggles fisheventToggles = new FishEventToggles(); + public static class FishEventToggles { + @ConfigEntry.Gui.CollapsibleObject + public RarityToggles rarityToggles = new RarityToggles(); + public static class RarityToggles { + @ConfigEntry.Gui.Tooltip + public boolean showSpecial = false; + } + + @ConfigEntry.Gui.CollapsibleObject + public VariantToggles variantToggles = new VariantToggles(); + public static class VariantToggles { + @ConfigEntry.Gui.Tooltip + public boolean showAlternate = false; + @ConfigEntry.Gui.Tooltip + public boolean showSpooky = false; + @ConfigEntry.Gui.Tooltip + public boolean showFrozen = true; + } + + @ConfigEntry.Gui.CollapsibleObject + public DryStreakToggles dryStreakToggles = new DryStreakToggles(); + public static class DryStreakToggles { + public boolean showSpecial = true; + public boolean showAlternate = true; + public boolean showSpooky = true; + public boolean showFrozen = true; + } + } + @ConfigEntry.Gui.CollapsibleObject public OtherToggles otherToggles = new OtherToggles(); public static class OtherToggles { diff --git a/src/main/java/io/github/markassk/fishonmcextras/handler/screens/hud/FishTrackerHudHandler.java b/src/main/java/io/github/markassk/fishonmcextras/handler/screens/hud/FishTrackerHudHandler.java index efdd907e..73ab338c 100644 --- a/src/main/java/io/github/markassk/fishonmcextras/handler/screens/hud/FishTrackerHudHandler.java +++ b/src/main/java/io/github/markassk/fishonmcextras/handler/screens/hud/FishTrackerHudHandler.java @@ -275,14 +275,14 @@ public List assembleFishText() { } //EVENT FISHES - if(config.fishevents.rarityToggles.showSpecial) { + if(config.fishTracker.fishTrackerToggles.fisheventToggles.rarityToggles.showSpecial) { textList.add(TextHelper.concat( Constant.SPECIAL.TAG, Text.literal(" "), Text.literal(getNumber(displaySpecialCount)), getPercentage(displaySpecialCount, displayFishCaughtCount) )); - if(config.fishevents.dryStreakToggles.showSpecial){ + if(config.fishTracker.fishTrackerToggles.fisheventToggles.dryStreakToggles.showSpecial){ textList.add(getDryStreak(displayDryStreakSpecialCount)); } } @@ -397,36 +397,36 @@ public List assembleFishText() { } //EVENT FISHES - if(config.fishevents.variantToggles.showAlternate) { + if(config.fishTracker.fishTrackerToggles.fisheventToggles.variantToggles.showAlternate) { textList.add(TextHelper.concat( Constant.ALTERNATE.TAG, Text.literal(" "), Text.literal(getNumber(displayAlternateCount)), getPercentage(displayAlternateCount, displayFishCaughtCount) )); - if(config.fishevents.dryStreakToggles.showAlternate) { + if(config.fishTracker.fishTrackerToggles.fisheventToggles.dryStreakToggles.showAlternate) { textList.add(getDryStreak(displayDryStreakAlternateCount)); } } - if(config.fishevents.variantToggles.showSpooky) { + if(config.fishTracker.fishTrackerToggles.fisheventToggles.variantToggles.showSpooky) { textList.add(TextHelper.concat( Constant.SPOOKY.TAG, Text.literal(" "), Text.literal(getNumber(displaySpookyCount)), getPercentage(displaySpookyCount, displayFishCaughtCount) )); - if(config.fishevents.dryStreakToggles.showSpooky) { + if(config.fishTracker.fishTrackerToggles.fisheventToggles.dryStreakToggles.showSpooky) { textList.add(getDryStreak(displayDryStreakSpookyCount)); } } - if(config.fishevents.variantToggles.showFrozen) { + if(config.fishTracker.fishTrackerToggles.fisheventToggles.variantToggles.showFrozen) { textList.add(TextHelper.concat( Constant.FROZEN.TAG, Text.literal(" "), Text.literal(getNumber(displayFrozenCount)), getPercentage(displayFrozenCount, displayFishCaughtCount) )); - if(config.fishevents.dryStreakToggles.showFrozen) { + if(config.fishTracker.fishTrackerToggles.fisheventToggles.dryStreakToggles.showFrozen) { textList.add(getDryStreak(displayDryStreakFrozenCount)); } } diff --git a/src/main/resources/assets/fishonmcextras/lang/en_us.json b/src/main/resources/assets/fishonmcextras/lang/en_us.json index 7b4116ce..0db70336 100644 --- a/src/main/resources/assets/fishonmcextras/lang/en_us.json +++ b/src/main/resources/assets/fishonmcextras/lang/en_us.json @@ -81,6 +81,22 @@ "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.dryStreakToggles.showPet": "Show Pets", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.dryStreakToggles.showShard": "Show Shards", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.dryStreakToggles.showLightningBottle": "Show Lightning Bottles", + "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.fisheventToggles": "§f§lFish Event Toggles", + "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.fisheventToggles.rarityToggles": "§f§lFish Rarity Toggles", + "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.fisheventToggles.rarityToggles.showSpecial": "Show §f\uF092", + "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.fisheventToggles.rarityToggles.showSpecial.@Tooltip": "§7Make sure you have Rarities §aenabled §7in Rarity Toggles", + "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.fisheventToggles.variantToggles": "§f§lFish Variant Toggles", + "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.fisheventToggles.variantToggles.showAlternate": "Show §f\uF098", + "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.fisheventToggles.variantToggles.showAlternate.@Tooltip": "§7Make sure you have Variants §aenabled in Variant Toggles", + "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.fisheventToggles.variantToggles.showSpooky": "Show §f\uF102", + "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.fisheventToggles.variantToggles.showSpooky.@Tooltip": "§7Make sure you have Variants §aenabled in Variant Toggles", + "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.fisheventToggles.variantToggles.showFrozen": "Show §f\uF179", + "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.fisheventToggles.variantToggles.showFrozen.@Tooltip": "§7Make sure you have Variants §aenabled §7in Variant Toggles", + "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.fisheventToggles.dryStreakToggles": "§f§lFish Drystreak Toggles", + "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.fisheventToggles.dryStreakToggles.showSpecial": "Show §f\uF092", + "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.fisheventToggles.dryStreakToggles.showAlternate": "Show §f\uF098", + "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.fisheventToggles.dryStreakToggles.showSpooky": "Show §f\uF102", + "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.fisheventToggles.dryStreakToggles.showFrozen": "Show §f\uF179", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.otherToggles": "§f§lOther Toggles", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.otherToggles.showPercentages": "Show percentages", "text.autoconfig.fishonmcextras.option.fishTracker.fishTrackerToggles.otherToggles.useNewTitle": "Use the New title system.", @@ -319,24 +335,5 @@ "text.autoconfig.fishonmcextras.option.fun.biteBobber.@Tooltip": "§7This will §cdisable§7 the bite notification from the HUD", "text.autoconfig.fishonmcextras.option.fun.lightOnBobber": "Make bobber emit a light source", "text.autoconfig.fishonmcextras.option.fun.lightLevel": "Light level of the light source on bobber", - "text.autoconfig.fishonmcextras.option.fun.useCustomTitleScreen": "Use FoE Custom Title Screen", - - "text.autoconfig.fishonmcextras.option.fishevents": "§f§lFish Event Options", - "text.autoconfig.fishonmcextras.option.fishevents.rarityToggles": "§f§lFish Rarity Toggles", - "text.autoconfig.fishonmcextras.option.fishevents.rarityToggles.showSpecial": "Show §f\uF092", - "text.autoconfig.fishonmcextras.option.fishevents.rarityToggles.showSpecial.@Tooltip": "§7Make sure you have Rarities §aenabled §7in Trackers -> Fish Tracker Options -> HUD Toggles -> Rarity Toggles", - - "text.autoconfig.fishonmcextras.option.fishevents.variantToggles": "§f§lFish Variant Toggles", - "text.autoconfig.fishonmcextras.option.fishevents.variantToggles.showAlternate": "Show §f\uF098", - "text.autoconfig.fishonmcextras.option.fishevents.variantToggles.showAlternate.@Tooltip": "§7Make sure you have Variants §aenabled in §7Trackers -> Fish Tracker Options -> HUD Toggles -> Variant Toggles", - "text.autoconfig.fishonmcextras.option.fishevents.variantToggles.showSpooky": "Show §f\uF102", - "text.autoconfig.fishonmcextras.option.fishevents.variantToggles.showSpooky.@Tooltip": "§7Make sure you have Variants §aenabled in §7Trackers -> Fish Tracker Options -> HUD Toggles -> Variant Toggles", - "text.autoconfig.fishonmcextras.option.fishevents.variantToggles.showFrozen": "Show §f\uF179", - "text.autoconfig.fishonmcextras.option.fishevents.variantToggles.showFrozen.@Tooltip": "§7Make sure you have Variants §aenabled §7in Trackers -> Fish Tracker Options -> HUD Toggles -> Variant Toggles", - - "text.autoconfig.fishonmcextras.option.fishevents.dryStreakToggles": "§f§lFish Drystreak Toggles", - "text.autoconfig.fishonmcextras.option.fishevents.dryStreakToggles.showSpecial": "Show §f\uF092", - "text.autoconfig.fishonmcextras.option.fishevents.dryStreakToggles.showAlternate": "Show §f\uF098", - "text.autoconfig.fishonmcextras.option.fishevents.dryStreakToggles.showSpooky": "Show §f\uF102", - "text.autoconfig.fishonmcextras.option.fishevents.dryStreakToggles.showFrozen": "Show §f\uF179" + "text.autoconfig.fishonmcextras.option.fun.useCustomTitleScreen": "Use FoE Custom Title Screen" } \ No newline at end of file From 1136e0f2b7a2b1278ecc284b53ac78ef7e1284bd Mon Sep 17 00:00:00 2001 From: MadisonMadi Date: Mon, 29 Dec 2025 22:23:18 +0100 Subject: [PATCH 14/15] added a whole bunch of stuff --- src/main/resources/assets/fishonmcextras/lang/en_us.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/assets/fishonmcextras/lang/en_us.json b/src/main/resources/assets/fishonmcextras/lang/en_us.json index 0db70336..d2f5e5ce 100644 --- a/src/main/resources/assets/fishonmcextras/lang/en_us.json +++ b/src/main/resources/assets/fishonmcextras/lang/en_us.json @@ -320,7 +320,7 @@ "text.autoconfig.fishonmcextras.option.flair.questFlair.flairTopLeft": "Choose Top Left Flair", "text.autoconfig.fishonmcextras.option.flair.questFlair.flairTopRight": "Choose Top Right Flair", "text.autoconfig.fishonmcextras.option.flair.questFlair.flairBottomLeft": "Choose Bottom Left Flair", - "text.autoconfig.fishonmcextras.option.flair.questFlair.flairBottomRight": "Choose Bottom Right Flair", + "text.autoconfig.fishonmcextras.option.flair.questFlair.flairBottomRight": "Choose Bottom Right Flairr", "text.autoconfig.fishonmcextras.option.fun.@PrefixText": "\n§c!!! All of these are experimental, use with caution\n", "text.autoconfig.fishonmcextras.option.fun": "§f§lExperimental Options", From 1a4517b3a0e523d293084dffff859f19546f15d4 Mon Sep 17 00:00:00 2001 From: MadisonMadi Date: Mon, 29 Dec 2025 22:25:18 +0100 Subject: [PATCH 15/15] added a whole bunch of stuff --- src/main/resources/assets/fishonmcextras/lang/en_us.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/assets/fishonmcextras/lang/en_us.json b/src/main/resources/assets/fishonmcextras/lang/en_us.json index d2f5e5ce..0db70336 100644 --- a/src/main/resources/assets/fishonmcextras/lang/en_us.json +++ b/src/main/resources/assets/fishonmcextras/lang/en_us.json @@ -320,7 +320,7 @@ "text.autoconfig.fishonmcextras.option.flair.questFlair.flairTopLeft": "Choose Top Left Flair", "text.autoconfig.fishonmcextras.option.flair.questFlair.flairTopRight": "Choose Top Right Flair", "text.autoconfig.fishonmcextras.option.flair.questFlair.flairBottomLeft": "Choose Bottom Left Flair", - "text.autoconfig.fishonmcextras.option.flair.questFlair.flairBottomRight": "Choose Bottom Right Flairr", + "text.autoconfig.fishonmcextras.option.flair.questFlair.flairBottomRight": "Choose Bottom Right Flair", "text.autoconfig.fishonmcextras.option.fun.@PrefixText": "\n§c!!! All of these are experimental, use with caution\n", "text.autoconfig.fishonmcextras.option.fun": "§f§lExperimental Options",