From 1a3a6c29555a5eb918e9c93ad50228aefaeffa18 Mon Sep 17 00:00:00 2001 From: PapiCapi Date: Sat, 16 Aug 2025 14:21:25 +0200 Subject: [PATCH 1/2] Fix sorting by value in details panel --- .../bentobox/level/config/BlockConfig.java | 2 +- .../bentobox/level/panels/DetailsPanel.java | 23 +++++++++++-------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/main/java/world/bentobox/level/config/BlockConfig.java b/src/main/java/world/bentobox/level/config/BlockConfig.java index eaaff51..2c4b8a8 100644 --- a/src/main/java/world/bentobox/level/config/BlockConfig.java +++ b/src/main/java/world/bentobox/level/config/BlockConfig.java @@ -64,7 +64,7 @@ public BlockConfig(Level addon, YamlConfiguration blockValuesConfig, File file) // Validate if (isMaterial(key) || isSpawner(key) || isOther(key)) { // Store for lookup - this.blockValues.put(key, blocks.getInt(key)); + this.blockValues.put(key.toLowerCase(Locale.ENGLISH), blocks.getInt(key)); } else { addon.logError("Unknown listing in blocks section: " + key); } diff --git a/src/main/java/world/bentobox/level/panels/DetailsPanel.java b/src/main/java/world/bentobox/level/panels/DetailsPanel.java index f116ace..f9630b5 100644 --- a/src/main/java/world/bentobox/level/panels/DetailsPanel.java +++ b/src/main/java/world/bentobox/level/panels/DetailsPanel.java @@ -1,14 +1,7 @@ package world.bentobox.level.panels; import java.io.File; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.EnumMap; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; +import java.util.*; import java.util.stream.Collectors; import org.bukkit.Material; @@ -263,6 +256,7 @@ private void updateFilters() { } // Sort and filter Comparator sorter; + System.out.println("activeFilter: " + activeFilter); switch (this.activeFilter) { case COUNT -> { @@ -285,17 +279,26 @@ private void updateFilters() { blockLimit = Objects.requireNonNullElse(this.addon.getBlockConfig().getLimit(o2.key()), 0); int o2Count = blockLimit > 0 ? Math.min(o2.value(), blockLimit) : o2.value(); + System.out.println("o1.key(): " + o1.key()); + System.out.println("o1.key() class: " + o1.key().getClass()); + System.out.println("o2.key(): " + o2.key()); + long o1Value = (long) o1Count - * this.addon.getBlockConfig().getBlockValues().getOrDefault(o1.key(), 0); + * this.addon.getBlockConfig().getBlockValues().getOrDefault(o1.key().toString().toLowerCase(Locale.ENGLISH), 0); long o2Value = (long) o2Count - * this.addon.getBlockConfig().getBlockValues().getOrDefault(o2.key(), 0); + * this.addon.getBlockConfig().getBlockValues().getOrDefault(o2.key().toString().toLowerCase(Locale.ENGLISH), 0); + + System.out.println("o1Value: " + o1Value); + System.out.println("o2Value: " + o2Value); if (o1Value == o2Value) { + System.out.println("has same value"); String o1Name = Utils.prettifyObject(o1.key(), this.user); String o2Name = Utils.prettifyObject(o2.key(), this.user); return String.CASE_INSENSITIVE_ORDER.compare(o1Name, o2Name); } else { + System.out.println("compare long"); return Long.compare(o2Value, o1Value); } }; From 7e66ebd40ef5c21670183b9a9dfdf46035d6c060 Mon Sep 17 00:00:00 2001 From: PapiCapi Date: Sat, 16 Aug 2025 14:24:02 +0200 Subject: [PATCH 2/2] Remove debug messages --- .../java/world/bentobox/level/panels/DetailsPanel.java | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/src/main/java/world/bentobox/level/panels/DetailsPanel.java b/src/main/java/world/bentobox/level/panels/DetailsPanel.java index f9630b5..a488230 100644 --- a/src/main/java/world/bentobox/level/panels/DetailsPanel.java +++ b/src/main/java/world/bentobox/level/panels/DetailsPanel.java @@ -256,7 +256,6 @@ private void updateFilters() { } // Sort and filter Comparator sorter; - System.out.println("activeFilter: " + activeFilter); switch (this.activeFilter) { case COUNT -> { @@ -279,26 +278,17 @@ private void updateFilters() { blockLimit = Objects.requireNonNullElse(this.addon.getBlockConfig().getLimit(o2.key()), 0); int o2Count = blockLimit > 0 ? Math.min(o2.value(), blockLimit) : o2.value(); - System.out.println("o1.key(): " + o1.key()); - System.out.println("o1.key() class: " + o1.key().getClass()); - System.out.println("o2.key(): " + o2.key()); - long o1Value = (long) o1Count * this.addon.getBlockConfig().getBlockValues().getOrDefault(o1.key().toString().toLowerCase(Locale.ENGLISH), 0); long o2Value = (long) o2Count * this.addon.getBlockConfig().getBlockValues().getOrDefault(o2.key().toString().toLowerCase(Locale.ENGLISH), 0); - System.out.println("o1Value: " + o1Value); - System.out.println("o2Value: " + o2Value); - if (o1Value == o2Value) { - System.out.println("has same value"); String o1Name = Utils.prettifyObject(o1.key(), this.user); String o2Name = Utils.prettifyObject(o2.key(), this.user); return String.CASE_INSENSITIVE_ORDER.compare(o1Name, o2Name); } else { - System.out.println("compare long"); return Long.compare(o2Value, o1Value); } };