Skip to content
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
3 changes: 1 addition & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,13 @@ org.gradle.jvmargs=-Xmx1G
org.gradle.parallel=true

# Mod Properties
mod_version=2.4.7
mod_version=2.4.8
maven_group=io.github.markassk.fishonmcextras
archives_base_name=fishonmc-extras
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
Expand Down
16 changes: 16 additions & 0 deletions src/main/java/io/github/markassk/fishonmcextras/FOMC/Constant.java
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -35,6 +37,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),
Expand All @@ -59,7 +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),

// 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),
Expand Down Expand Up @@ -140,6 +148,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),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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));
Expand Down Expand Up @@ -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;
}
}
Expand All @@ -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;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,8 @@ 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();
return Fish.getFish(itemStack, Defaults.ItemTypes.FISH, line.substring(line.lastIndexOf(" ") + 1));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -65,7 +64,6 @@ public static class VariantToggles {
public boolean showMelanistic = true;
public boolean showTrophy = true;
public boolean showFabled = true;
public boolean showAlternate = false;
}

@ConfigEntry.Gui.CollapsibleObject
Expand All @@ -77,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;
Expand All @@ -89,13 +86,43 @@ public static class DryStreakToggles {
public boolean showMelanistic = true;
public boolean showTrophy = true;
public boolean showFabled = true;
public boolean showAlternate = true;
@ConfigEntry.Gui.PrefixText
public boolean showPet = false;
public boolean showShard = false;
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 {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.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)
)), minecraftClient));

if(BossBarHandler.instance().currentLocation == Constant.CREW_ISLAND) {
clickableWidgets.add(assembleButton( -buttonSize * 3, buttonSize, Text.literal("\uF016"), "spawn", Tooltip.of(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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));
});
}
Expand All @@ -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;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,12 @@ public List<Text> 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) {
Expand Down Expand Up @@ -181,7 +187,7 @@ public List<Text> 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));
Expand Down Expand Up @@ -267,34 +273,19 @@ public List<Text> 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.fishTracker.fishTrackerToggles.fisheventToggles.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.fishTracker.fishTrackerToggles.fisheventToggles.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) {
Expand Down Expand Up @@ -404,6 +395,41 @@ public List<Text> assembleFishText() {
textList.add(getDryStreak(displayDryStreakFabledCount));
}
}

//EVENT FISHES
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.fishTracker.fishTrackerToggles.fisheventToggles.dryStreakToggles.showAlternate) {
textList.add(getDryStreak(displayDryStreakAlternateCount));
}
}
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.fishTracker.fishTrackerToggles.fisheventToggles.dryStreakToggles.showSpooky) {
textList.add(getDryStreak(displayDryStreakSpookyCount));
}
}
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.fishTracker.fishTrackerToggles.fisheventToggles.dryStreakToggles.showFrozen) {
textList.add(getDryStreak(displayDryStreakFrozenCount));
}
}
}

return textList;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ public List<Text> 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),
Expand Down
Loading