From 7704d0d36585c5a1e8b6fc22bdfe77417af12c20 Mon Sep 17 00:00:00 2001 From: Kevin <92656833+kevinthegreat1@users.noreply.github.com> Date: Fri, 26 Jul 2024 15:15:26 +0800 Subject: Fix empty categories being checked (#851) --- .../hysky/skyblocker/skyblock/waypoint/WaypointsListWidget.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/de/hysky/skyblocker/skyblock/waypoint/WaypointsListWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/waypoint/WaypointsListWidget.java index f4b54342..99716bc4 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/waypoint/WaypointsListWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/waypoint/WaypointsListWidget.java @@ -85,7 +85,7 @@ public class WaypointsListWidget extends ElementListWidget entry : children()) { - if (entry instanceof WaypointCategoryEntry categoryEntry && categoryEntry.enabled.isChecked() != categoryEntry.category.waypoints().stream().allMatch(screen::isEnabled)) { + if (entry instanceof WaypointCategoryEntry categoryEntry && categoryEntry.enabled.isChecked() != categoryEntry.shouldBeChecked()) { ((CheckboxWidgetAccessor) categoryEntry.enabled).setChecked(!categoryEntry.enabled.isChecked()); } else if (entry instanceof WaypointEntry waypointEntry && waypointEntry.enabled.isChecked() != screen.isEnabled(waypointEntry.waypoint)) { waypointEntry.enabled.onPress(); @@ -114,7 +114,7 @@ public class WaypointsListWidget extends ElementListWidget category.waypoints().forEach(waypoint -> screen.enabledChanged(waypoint, checked))).build(); + enabled = CheckboxWidget.builder(Text.literal(""), client.textRenderer).checked(shouldBeChecked()).callback((checkbox, checked) -> category.waypoints().forEach(waypoint -> screen.enabledChanged(waypoint, checked))).build(); nameField = new TextFieldWidget(client.textRenderer, 70, 20, Text.literal("Name")); nameField.setText(category.name()); nameField.setChangedListener(this::updateName); @@ -153,6 +153,10 @@ public class WaypointsListWidget extends ElementListWidget