diff --git a/src/main/java/de/hysky/skyblocker/config/categories/SlayersCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/SlayersCategory.java index 1bfd9dfd95..e67b22640f 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/SlayersCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/SlayersCategory.java @@ -91,7 +91,7 @@ public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig .option(ButtonOption.createBuilder() .name(Text.translatable("skyblocker.config.slayer.enableHud")) .text(Text.translatable("text.skyblocker.open")) - .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new WidgetsConfigurationScreen(Location.HUB, SlayerHudWidget.INSTANCE.getInternalID(), screen))) + .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new WidgetsConfigurationScreen(Location.HUB, SlayerHudWidget.getInstance().getInternalID(), screen))) .build()) //Enderman Slayer diff --git a/src/main/java/de/hysky/skyblocker/skyblock/end/EndHudWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/end/EndHudWidget.java index 1e0ddc0028..a4b183f7ab 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/end/EndHudWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/end/EndHudWidget.java @@ -26,11 +26,6 @@ public class EndHudWidget extends ComponentBasedWidget { private static EndHudWidget instance = null; - public static EndHudWidget getInstance() { - if (instance == null) instance = new EndHudWidget(); - return instance; - } - private static final NumberFormat DECIMAL_FORMAT = NumberFormat.getInstance(Locale.US); private static final ItemStack ENDERMAN_HEAD = new ItemStack(Items.PLAYER_HEAD); private static final ItemStack POPPY = new ItemStack(Items.POPPY); @@ -49,6 +44,10 @@ public EndHudWidget() { this.update(); } + public static EndHudWidget getInstance() { + return instance; + } + @Override public boolean isEnabledIn(Location location) { return location.equals(Location.THE_END) && SkyblockerConfigManager.get().otherLocations.end.hudEnabled; diff --git a/src/main/java/de/hysky/skyblocker/skyblock/end/TheEnd.java b/src/main/java/de/hysky/skyblocker/skyblock/end/TheEnd.java index 7c51ca127f..bbbc29e47b 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/end/TheEnd.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/end/TheEnd.java @@ -74,14 +74,6 @@ public static void init() { return ActionResult.PASS; }); - - /*HudRenderEvents.AFTER_MAIN_HUD.register((drawContext, tickCounter) -> { - if (!Utils.isInTheEnd()) return; - if (!SkyblockerConfigManager.get().otherLocations.end.hudEnabled) return; - - EndHudWidget.INSTANCE.render(drawContext, SkyblockerConfigManager.get().uiAndVisuals.tabHud.enableHudBackground); - });*/ - ClientChunkEvents.CHUNK_LOAD.register((world, chunk) -> { String lowerCase = Utils.getIslandArea().toLowerCase(); if (Utils.isInTheEnd() || lowerCase.contains("the end") || lowerCase.contains("dragon's nest")) { diff --git a/src/main/java/de/hysky/skyblocker/skyblock/slayers/hud/SlayerHudWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/slayers/hud/SlayerHudWidget.java index 7e60b1924a..2f6f7518a4 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/slayers/hud/SlayerHudWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/slayers/hud/SlayerHudWidget.java @@ -18,15 +18,20 @@ @RegisterWidget public class SlayerHudWidget extends ComponentBasedWidget { - public static final SlayerHudWidget INSTANCE = new SlayerHudWidget(); + private static SlayerHudWidget instance; private final MinecraftClient client = MinecraftClient.getInstance(); private final NumberFormat numberFormat = NumberFormat.getInstance(); public SlayerHudWidget() { super(Text.literal("Slayer").formatted(Formatting.DARK_PURPLE, Formatting.BOLD), Formatting.DARK_PURPLE.getColorValue(), "hud_slayer"); + instance = this; update(); } + public static SlayerHudWidget getInstance() { + return instance; + } + @Override public Set availableLocations() { return Set.of(Location.CRIMSON_ISLE, Location.HUB, Location.SPIDERS_DEN, Location.THE_END, Location.THE_PARK, Location.THE_RIFT); @@ -40,7 +45,12 @@ public void setEnabledIn(Location location, boolean enabled) { @Override public boolean isEnabledIn(Location location) { - return availableLocations().contains(location) && SkyblockerConfigManager.get().slayers.enableHud && SlayerManager.isInSlayer() && !SlayerManager.getSlayerType().isUnknown() && !SlayerManager.getSlayerTier().isUnknown(); + return availableLocations().contains(location) && SkyblockerConfigManager.get().slayers.enableHud; + } + + @Override + public boolean shouldRender(Location location) { + return SlayerManager.isInSlayer() && !SlayerManager.getSlayerType().isUnknown() && !SlayerManager.getSlayerTier().isUnknown(); } @Override