diff options
Diffstat (limited to 'src/main/java/de/hysky')
4 files changed, 52 insertions, 21 deletions
diff --git a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java index 912636d6..2d113361 100644 --- a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java +++ b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java @@ -1095,6 +1095,12 @@ public class SkyblockerConfig { public boolean hudEnabled = true; @SerialEntry + public boolean zealotKillsEnabled = true; + + @SerialEntry + public boolean protectorLocationEnabled = true; + + @SerialEntry public boolean waypoint = true; @SerialEntry diff --git a/src/main/java/de/hysky/skyblocker/config/categories/LocationsCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/LocationsCategory.java index 46f3067c..e56c9eb0 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/LocationsCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/LocationsCategory.java @@ -3,6 +3,7 @@ package de.hysky.skyblocker.config.categories; import de.hysky.skyblocker.config.ConfigUtils; import de.hysky.skyblocker.config.SkyblockerConfig; import de.hysky.skyblocker.skyblock.end.EndHudConfigScreen; +import de.hysky.skyblocker.skyblock.end.EndHudWidget; import de.hysky.skyblocker.skyblock.end.TheEnd; import de.hysky.skyblocker.skyblock.garden.FarmingHudConfigScreen; import dev.isxander.yacl3.api.*; @@ -99,6 +100,26 @@ public class LocationsCategory { .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() + .name(Text.translatable("text.autoconfig.skyblocker.option.locations.end.zealotKillsEnabled")) + .binding(defaults.locations.end.zealotKillsEnabled, + () -> config.locations.end.zealotKillsEnabled, + newValue -> { + config.locations.end.zealotKillsEnabled = newValue; + EndHudWidget.INSTANCE.update(); + }) + .controller(ConfigUtils::createBooleanController) + .build()) + .option(Option.<Boolean>createBuilder() + .name(Text.translatable("text.autoconfig.skyblocker.option.locations.end.protectorLocationEnable")) + .binding(defaults.locations.end.protectorLocationEnabled, + () -> config.locations.end.protectorLocationEnabled, + newValue -> { + config.locations.end.protectorLocationEnabled = newValue; + EndHudWidget.INSTANCE.update(); + }) + .controller(ConfigUtils::createBooleanController) + .build()) + .option(Option.<Boolean>createBuilder() .name(Text.translatable("text.autoconfig.skyblocker.option.locations.end.waypoint")) .binding(defaults.locations.end.waypoint, () -> config.locations.end.waypoint, 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 59a637dd..30de9a48 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/end/EndHudWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/end/EndHudWidget.java @@ -40,26 +40,30 @@ public class EndHudWidget extends Widget { @Override public void updateContent() { // Zealots - addComponent(new IcoTextComponent(ENDERMAN_HEAD, Text.literal("Zealots").formatted(Formatting.BOLD))); - addComponent(new PlainTextComponent(Text.translatable("skyblocker.end.hud.zealotsSinceLastEye", TheEnd.zealotsSinceLastEye))); - addComponent(new PlainTextComponent(Text.translatable("skyblocker.end.hud.zealotsTotalKills", TheEnd.zealotsKilled))); - NumberFormat instance = NumberFormat.getInstance(); - instance.setMinimumFractionDigits(0); - instance.setMaximumFractionDigits(2); - String avg = TheEnd.eyes == 0 ? "???" : instance.format((float)TheEnd.zealotsKilled / TheEnd.eyes); - addComponent(new PlainTextComponent(Text.translatable("skyblocker.end.hud.avgKillsPerEye", avg))); + if (SkyblockerConfigManager.get().locations.end.zealotKillsEnabled) { + addComponent(new IcoTextComponent(ENDERMAN_HEAD, Text.literal("Zealots").formatted(Formatting.BOLD))); + addComponent(new PlainTextComponent(Text.translatable("skyblocker.end.hud.zealotsSinceLastEye", TheEnd.zealotsSinceLastEye))); + addComponent(new PlainTextComponent(Text.translatable("skyblocker.end.hud.zealotsTotalKills", TheEnd.zealotsKilled))); + NumberFormat instance = NumberFormat.getInstance(); + instance.setMinimumFractionDigits(0); + instance.setMaximumFractionDigits(2); + String avg = TheEnd.eyes == 0 ? "???" : instance.format((float) TheEnd.zealotsKilled / TheEnd.eyes); + addComponent(new PlainTextComponent(Text.translatable("skyblocker.end.hud.avgKillsPerEye", avg))); + } // Endstone protector - addComponent(new IcoTextComponent(POPPY, Text.literal("Endstone Protector").formatted(Formatting.BOLD))); - if (TheEnd.stage == 5) { - addComponent(new PlainTextComponent(Text.translatable("skyblocker.end.hud.stage", "IMMINENT"))); - } else { - addComponent(new PlainTextComponent(Text.translatable("skyblocker.end.hud.stage", String.valueOf(TheEnd.stage)))); - } - if (TheEnd.currentProtectorLocation == null) { - addComponent(new PlainTextComponent(Text.translatable("skyblocker.end.hud.location", "?"))); - } else { - addComponent(new PlainTextComponent(Text.translatable("skyblocker.end.hud.location", TheEnd.currentProtectorLocation.name()))); + if (SkyblockerConfigManager.get().locations.end.protectorLocationEnabled) { + addComponent(new IcoTextComponent(POPPY, Text.literal("Endstone Protector").formatted(Formatting.BOLD))); + if (TheEnd.stage == 5) { + addComponent(new PlainTextComponent(Text.translatable("skyblocker.end.hud.stage", "IMMINENT"))); + } else { + addComponent(new PlainTextComponent(Text.translatable("skyblocker.end.hud.stage", String.valueOf(TheEnd.stage)))); + } + if (TheEnd.currentProtectorLocation == null) { + addComponent(new PlainTextComponent(Text.translatable("skyblocker.end.hud.location", "?"))); + } else { + addComponent(new PlainTextComponent(Text.translatable("skyblocker.end.hud.location", TheEnd.currentProtectorLocation.name()))); + } } } } 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 f72ae34e..82c8b3a6 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/end/TheEnd.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/end/TheEnd.java @@ -87,8 +87,8 @@ public class TheEnd { // Box box = new Box(pos.getStartX(), 0, pos.getStartZ(), pos.getEndX() + 1, 1, pos.getEndZ() + 1); for (ProtectorLocation protectorLocation : protectorLocations) { - if (box.contains(protectorLocation.x, 0.5, protectorLocation.z)) { - MinecraftClient.getInstance().player.sendMessage(Text.literal("Checking: ").append(protectorLocation.name));//MinecraftClient.getInstance().player.sendMessage(Text.literal(pos.getStartX() + " " + pos.getStartZ() + " " + pos.getEndX() + " " + pos.getEndZ())); + if (box.contains(protectorLocation.x(), 0.5, protectorLocation.z())) { + // MinecraftClient.getInstance().player.sendMessage(Text.literal("Checking: ").append(protectorLocation.name));//MinecraftClient.getInstance().player.sendMessage(Text.literal(pos.getStartX() + " " + pos.getStartZ() + " " + pos.getEndX() + " " + pos.getEndZ())); if (isProtectorHere(world, protectorLocation)) break; } } @@ -129,7 +129,7 @@ public class TheEnd { ClientWorld world = MinecraftClient.getInstance().world; if (world == null) return; for (ProtectorLocation protectorLocation : protectorLocations) { - if (!world.isChunkLoaded(protectorLocation.x() >> 4, protectorLocation.z >> 4)) continue; + if (!world.isChunkLoaded(protectorLocation.x() >> 4, protectorLocation.z() >> 4)) continue; if (isProtectorHere(world, protectorLocation)) break; } } |