From 5e52be8a3263d686f083eb9adcf394d38953611e Mon Sep 17 00:00:00 2001 From: viciscat <51047087+viciscat@users.noreply.github.com> Date: Fri, 27 Jun 2025 06:53:22 +0200 Subject: config for config button and customize button (#1390) --- .../skyblocker/config/SkyblockerConfigManager.java | 2 +- .../config/categories/UIAndVisualsCategory.java | 17 ++++++++++++++++- .../skyblocker/config/configs/UIAndVisualsConfig.java | 6 ++++++ .../item/custom/screen/CustomizeArmorScreen.java | 2 +- 4 files changed, 24 insertions(+), 3 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfigManager.java b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfigManager.java index 6449e770..5d35baf8 100644 --- a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfigManager.java +++ b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfigManager.java @@ -69,7 +69,7 @@ public class SkyblockerConfigManager { HANDLER.load(); ClientCommandRegistrationCallback.EVENT.register(((dispatcher, registryAccess) -> dispatcher.register(ClientCommandManager.literal(SkyblockerMod.NAMESPACE).then(optionsLiteral("config")).then(optionsLiteral("options"))))); ScreenEvents.AFTER_INIT.register((client, screen, scaledWidth, scaledHeight) -> { - if (screen instanceof GenericContainerScreen genericContainerScreen && screen.getTitle().getString().equals("SkyBlock Menu")) { + if (get().uiAndVisuals.showConfigButton && screen instanceof GenericContainerScreen genericContainerScreen && screen.getTitle().getString().equals("SkyBlock Menu")) { Screens.getButtons(screen).add(ButtonWidget .builder(Text.literal("\uD83D\uDD27"), buttonWidget -> client.setScreen(createGUI(screen))) .dimensions(((HandledScreenAccessor) genericContainerScreen).getX() + ((HandledScreenAccessor) genericContainerScreen).getBackgroundWidth() - 16, ((HandledScreenAccessor) genericContainerScreen).getY() + 4, 12, 12) diff --git a/src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java index bf610479..cd775763 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/UIAndVisualsCategory.java @@ -6,7 +6,6 @@ import de.hysky.skyblocker.config.configs.UIAndVisualsConfig; import de.hysky.skyblocker.skyblock.ItemPickupWidget; import de.hysky.skyblocker.skyblock.TeleportOverlay; import de.hysky.skyblocker.skyblock.fancybars.StatusBarsConfigScreen; -import de.hysky.skyblocker.skyblock.fishing.FishingHudWidget; import de.hysky.skyblocker.skyblock.item.slottext.SlotTextManager; import de.hysky.skyblocker.skyblock.item.slottext.SlotTextMode; import de.hysky.skyblocker.skyblock.tabhud.config.WidgetsConfigurationScreen; @@ -114,6 +113,22 @@ public class UIAndVisualsCategory { newValue -> config.uiAndVisuals.cancelComponentUpdateAnimation = newValue) .controller(ConfigUtils::createBooleanController) .build()) + .option(Option.createBuilder() + .name(Text.translatable("skyblocker.config.uiAndVisuals.showCustomizeButton")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.uiAndVisuals.showCustomizeButton.@Tooltip"))) + .binding(defaults.uiAndVisuals.showCustomizeButton, + () -> config.uiAndVisuals.showCustomizeButton, + newValue -> config.uiAndVisuals.showCustomizeButton = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) + .option(Option.createBuilder() + .name(Text.translatable("skyblocker.config.uiAndVisuals.showConfigButton")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.uiAndVisuals.showConfigButton.@Tooltip"))) + .binding(defaults.uiAndVisuals.showConfigButton, + () -> config.uiAndVisuals.showConfigButton, + newValue -> config.uiAndVisuals.showConfigButton = newValue) + .controller(ConfigUtils::createBooleanController) + .build()) //Chest Value FIXME change dropdown to color controller .group(OptionGroup.createBuilder() diff --git a/src/main/java/de/hysky/skyblocker/config/configs/UIAndVisualsConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/UIAndVisualsConfig.java index 77f79915..2f39ed21 100644 --- a/src/main/java/de/hysky/skyblocker/config/configs/UIAndVisualsConfig.java +++ b/src/main/java/de/hysky/skyblocker/config/configs/UIAndVisualsConfig.java @@ -44,6 +44,12 @@ public class UIAndVisualsConfig { @SerialEntry public boolean cancelComponentUpdateAnimation = true; + @SerialEntry + public boolean showCustomizeButton = true; + + @SerialEntry + public boolean showConfigButton = false; + @SerialEntry public ChestValue chestValue = new ChestValue(); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/custom/screen/CustomizeArmorScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/item/custom/screen/CustomizeArmorScreen.java index 0cf79919..e062bc36 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/custom/screen/CustomizeArmorScreen.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/custom/screen/CustomizeArmorScreen.java @@ -71,7 +71,7 @@ public class CustomizeArmorScreen extends Screen { ClientCommandManager.literal(SkyblockerMod.NAMESPACE).then(ClientCommandManager.literal("custom").executes(Scheduler.queueOpenScreenCommand(() -> new CustomizeArmorScreen(null)))) )); ScreenEvents.AFTER_INIT.register((client1, screen, scaledWidth, scaledHeight) -> { - if (Utils.isOnSkyblock() && screen instanceof InventoryScreen inventoryScreen) { + if (Utils.isOnSkyblock() && SkyblockerConfigManager.get().uiAndVisuals.showCustomizeButton && screen instanceof InventoryScreen inventoryScreen) { CustomizeButton button = new CustomizeButton( ((HandledScreenAccessor) inventoryScreen).getX() + 63, ((HandledScreenAccessor) inventoryScreen).getY() + 10 -- cgit