aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker
diff options
context:
space:
mode:
authorKevin <92656833+kevinthegreat1@users.noreply.github.com>2024-07-26 15:15:26 +0800
committerGitHub <noreply@github.com>2024-07-26 15:15:26 +0800
commit7704d0d36585c5a1e8b6fc22bdfe77417af12c20 (patch)
tree527fc112a3b4f1fb6ea319970d9a7e8b42e720a7 /src/main/java/de/hysky/skyblocker
parent8288c1b0da604db3242dd848c3a66e0c7f0edc88 (diff)
downloadSkyblocker-7704d0d36585c5a1e8b6fc22bdfe77417af12c20.tar.gz
Skyblocker-7704d0d36585c5a1e8b6fc22bdfe77417af12c20.tar.bz2
Skyblocker-7704d0d36585c5a1e8b6fc22bdfe77417af12c20.zip
Fix empty categories being checked (#851)
Diffstat (limited to 'src/main/java/de/hysky/skyblocker')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/waypoint/WaypointsListWidget.java8
1 files 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<WaypointsListWidget.A
void updateButtons() {
for (Entry<AbstractWaypointEntry> 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<WaypointsListWidget.A
public WaypointCategoryEntry(WaypointCategory category) {
this.category = category;
- enabled = CheckboxWidget.builder(Text.literal(""), client.textRenderer).checked(!category.waypoints().isEmpty() && category.waypoints().stream().allMatch(screen::isEnabled)).callback((checkbox, checked) -> 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<WaypointsListWidget.A
return children;
}
+ private boolean shouldBeChecked() {
+ return !category.waypoints().isEmpty() && category.waypoints().stream().allMatch(screen::isEnabled);
+ }
+
private void updateName(String name) {
int index = waypoints.indexOf(category);
category = category.withName(name);