From 67b06e233ccf0c3ec5a3639ac02c8cb01adc1b6b Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 29 Dec 2025 03:19:11 +0000 Subject: [PATCH 1/2] Add GUI toggle to control autofish behavior in inventories - Added new config option 'disableInInventory' (default: true) - Updated GuiChecker to respect the config setting - Added GUI toggle in Basic Options section - Added English translations for the new option - When disabled, autofish will continue to function even when inventories are open --- src/main/java/troy/autofish/GuiChecker.java | 4 +++- src/main/java/troy/autofish/config/Config.java | 9 +++++++++ .../troy/autofish/gui/AutofishScreenBuilder.java | 14 ++++++++++++++ src/main/resources/assets/autofish/lang/en_us.json | 4 ++++ 4 files changed, 30 insertions(+), 1 deletion(-) diff --git a/src/main/java/troy/autofish/GuiChecker.java b/src/main/java/troy/autofish/GuiChecker.java index 9e4dc16..ac6bb3c 100644 --- a/src/main/java/troy/autofish/GuiChecker.java +++ b/src/main/java/troy/autofish/GuiChecker.java @@ -14,6 +14,8 @@ public GuiChecker(FabricModAutofish modAutofish) { public void toggleAutoFish(MinecraftClient client) { System.out.println(client.currentScreen); - this.modAutofish.getConfig().setAutofishEnabled(!(client.currentScreen instanceof GenericContainerScreen)); + if (this.modAutofish.getConfig().isDisableInInventory()) { + this.modAutofish.getConfig().setAutofishEnabled(!(client.currentScreen instanceof GenericContainerScreen)); + } } } diff --git a/src/main/java/troy/autofish/config/Config.java b/src/main/java/troy/autofish/config/Config.java index 5cbed08..32d9958 100644 --- a/src/main/java/troy/autofish/config/Config.java +++ b/src/main/java/troy/autofish/config/Config.java @@ -12,6 +12,7 @@ public class Config { @Expose boolean useSoundDetection = false; @Expose boolean forceMPDetection = false; @Expose boolean autoTurnView = false; + @Expose boolean disableInInventory = true; @Expose float turnAngle = 30.0f; @Expose int turnDuration = 500; @Expose long recastDelay = 1500; @@ -51,6 +52,14 @@ public void setAutoTurnView(boolean autoTurnView) { this.autoTurnView = autoTurnView; } + public boolean isDisableInInventory() { + return disableInInventory; + } + + public void setDisableInInventory(boolean disableInInventory) { + this.disableInInventory = disableInInventory; + } + public float getTurnAngle() { return turnAngle; } diff --git a/src/main/java/troy/autofish/gui/AutofishScreenBuilder.java b/src/main/java/troy/autofish/gui/AutofishScreenBuilder.java index 786ee19..edb50eb 100644 --- a/src/main/java/troy/autofish/gui/AutofishScreenBuilder.java +++ b/src/main/java/troy/autofish/gui/AutofishScreenBuilder.java @@ -105,6 +105,19 @@ public static Screen buildScreen(FabricModAutofish modAutofish, Screen parentScr .setYesNoTextSupplier(yesNoTextSupplier) .build(); + //Disable in Inventory + AbstractConfigListEntry toggleDisableInInventory = entryBuilder.startBooleanToggle(Text.translatable("options.autofish.disable_in_inventory.title"), config.isDisableInInventory()) + .setDefaultValue(defaults.isDisableInInventory()) + .setTooltip( + Text.translatable("options.autofish.disable_in_inventory.tooltip_0"), + Text.translatable("options.autofish.disable_in_inventory.tooltip_1") + ) + .setSaveConsumer(newValue -> { + modAutofish.getConfig().setDisableInInventory(newValue); + }) + .setYesNoTextSupplier(yesNoTextSupplier) + .build(); + //Enable Sound Detection AbstractConfigListEntry toggleSoundDetection = entryBuilder.startBooleanToggle(Text.translatable("options.autofish.sound.title"), config.isUseSoundDetection()) @@ -237,6 +250,7 @@ public static Screen buildScreen(FabricModAutofish modAutofish, Screen parentScr subCatBuilderBasic.add(toggleOpenWaterDetection); subCatBuilderBasic.add(toggleBreakProtection); subCatBuilderBasic.add((togglePersistentMode)); + subCatBuilderBasic.add(toggleDisableInInventory); subCatBuilderBasic.setExpanded(true); subCatBuilderBasic.add(toggleAutoTurnView); subCatBuilderBasic.add(turnAngleSlider); diff --git a/src/main/resources/assets/autofish/lang/en_us.json b/src/main/resources/assets/autofish/lang/en_us.json index 7ac6793..819e611 100644 --- a/src/main/resources/assets/autofish/lang/en_us.json +++ b/src/main/resources/assets/autofish/lang/en_us.json @@ -31,6 +31,10 @@ "options.autofish.persistent.tooltip_4": "This is useful for lag issues or when", "options.autofish.persistent.tooltip_5": "fishing for long periods of time.", + "options.autofish.disable_in_inventory.title": "Disable in Inventories", + "options.autofish.disable_in_inventory.tooltip_0": "Automatically disable autofish when", + "options.autofish.disable_in_inventory.tooltip_1": "opening chests or inventories.", + "options.autofish.sound.title": "Use Sound Detection", "options.autofish.sound.tooltip_0": "\u00A76Newer, more accurate detection based", "options.autofish.sound.tooltip_1": "\u00A76on bobber sounds rather than the", From 07696095e15be0d149cc071b07e100c0e559b827 Mon Sep 17 00:00:00 2001 From: nkachami Date: Sun, 28 Dec 2025 20:34:34 -0800 Subject: [PATCH 2/2] feat: fix GenAI Errors with actual implementation --- src/main/java/troy/autofish/GuiChecker.java | 7 ++----- src/main/java/troy/autofish/config/Config.java | 10 +++++----- .../troy/autofish/gui/AutofishScreenBuilder.java | 14 +++++++------- src/main/resources/assets/autofish/lang/en_us.json | 6 +++--- 4 files changed, 17 insertions(+), 20 deletions(-) diff --git a/src/main/java/troy/autofish/GuiChecker.java b/src/main/java/troy/autofish/GuiChecker.java index ac6bb3c..2481ec4 100644 --- a/src/main/java/troy/autofish/GuiChecker.java +++ b/src/main/java/troy/autofish/GuiChecker.java @@ -1,20 +1,17 @@ package troy.autofish; import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.screen.ChatScreen; -import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.ingame.GenericContainerScreen; public class GuiChecker { - private FabricModAutofish modAutofish; + private final FabricModAutofish modAutofish; public GuiChecker(FabricModAutofish modAutofish) { this.modAutofish = modAutofish; } public void toggleAutoFish(MinecraftClient client) { - System.out.println(client.currentScreen); - if (this.modAutofish.getConfig().isDisableInInventory()) { + if (this.modAutofish.getConfig().isDisableInContainer()) { this.modAutofish.getConfig().setAutofishEnabled(!(client.currentScreen instanceof GenericContainerScreen)); } } diff --git a/src/main/java/troy/autofish/config/Config.java b/src/main/java/troy/autofish/config/Config.java index 32d9958..b760470 100644 --- a/src/main/java/troy/autofish/config/Config.java +++ b/src/main/java/troy/autofish/config/Config.java @@ -12,7 +12,7 @@ public class Config { @Expose boolean useSoundDetection = false; @Expose boolean forceMPDetection = false; @Expose boolean autoTurnView = false; - @Expose boolean disableInInventory = true; + @Expose boolean disableInContainer = true; @Expose float turnAngle = 30.0f; @Expose int turnDuration = 500; @Expose long recastDelay = 1500; @@ -52,12 +52,12 @@ public void setAutoTurnView(boolean autoTurnView) { this.autoTurnView = autoTurnView; } - public boolean isDisableInInventory() { - return disableInInventory; + public boolean isDisableInContainer() { + return disableInContainer; } - public void setDisableInInventory(boolean disableInInventory) { - this.disableInInventory = disableInInventory; + public void setDisableInContainer(boolean disableInContainer) { + this.disableInContainer = disableInContainer; } public float getTurnAngle() { diff --git a/src/main/java/troy/autofish/gui/AutofishScreenBuilder.java b/src/main/java/troy/autofish/gui/AutofishScreenBuilder.java index edb50eb..1cf226c 100644 --- a/src/main/java/troy/autofish/gui/AutofishScreenBuilder.java +++ b/src/main/java/troy/autofish/gui/AutofishScreenBuilder.java @@ -105,15 +105,15 @@ public static Screen buildScreen(FabricModAutofish modAutofish, Screen parentScr .setYesNoTextSupplier(yesNoTextSupplier) .build(); - //Disable in Inventory - AbstractConfigListEntry toggleDisableInInventory = entryBuilder.startBooleanToggle(Text.translatable("options.autofish.disable_in_inventory.title"), config.isDisableInInventory()) - .setDefaultValue(defaults.isDisableInInventory()) + //Disable in Container + AbstractConfigListEntry toggleDisableInContainer = entryBuilder.startBooleanToggle(Text.translatable("options.autofish.disable_in_container.title"), config.isDisableInContainer()) + .setDefaultValue(defaults.isDisableInContainer()) .setTooltip( - Text.translatable("options.autofish.disable_in_inventory.tooltip_0"), - Text.translatable("options.autofish.disable_in_inventory.tooltip_1") + Text.translatable("options.autofish.disable_in_container.tooltip_0"), + Text.translatable("options.autofish.disable_in_container.tooltip_1") ) .setSaveConsumer(newValue -> { - modAutofish.getConfig().setDisableInInventory(newValue); + modAutofish.getConfig().setDisableInContainer(newValue); }) .setYesNoTextSupplier(yesNoTextSupplier) .build(); @@ -250,7 +250,7 @@ public static Screen buildScreen(FabricModAutofish modAutofish, Screen parentScr subCatBuilderBasic.add(toggleOpenWaterDetection); subCatBuilderBasic.add(toggleBreakProtection); subCatBuilderBasic.add((togglePersistentMode)); - subCatBuilderBasic.add(toggleDisableInInventory); + subCatBuilderBasic.add(toggleDisableInContainer); subCatBuilderBasic.setExpanded(true); subCatBuilderBasic.add(toggleAutoTurnView); subCatBuilderBasic.add(turnAngleSlider); diff --git a/src/main/resources/assets/autofish/lang/en_us.json b/src/main/resources/assets/autofish/lang/en_us.json index 819e611..e3a0dd9 100644 --- a/src/main/resources/assets/autofish/lang/en_us.json +++ b/src/main/resources/assets/autofish/lang/en_us.json @@ -31,9 +31,9 @@ "options.autofish.persistent.tooltip_4": "This is useful for lag issues or when", "options.autofish.persistent.tooltip_5": "fishing for long periods of time.", - "options.autofish.disable_in_inventory.title": "Disable in Inventories", - "options.autofish.disable_in_inventory.tooltip_0": "Automatically disable autofish when", - "options.autofish.disable_in_inventory.tooltip_1": "opening chests or inventories.", + "options.autofish.disable_in_container.title": "Disable in Chests", + "options.autofish.disable_in_container.tooltip_0": "Automatically disable autofish when", + "options.autofish.disable_in_container.tooltip_1": "opening chests.", "options.autofish.sound.title": "Use Sound Detection", "options.autofish.sound.tooltip_0": "\u00A76Newer, more accurate detection based",