From 2fd5615fe70eb368e0915f694c3c98e659bd3973 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 14 Mar 2026 16:10:35 +0000 Subject: [PATCH 1/2] Initial plan From d572a33c41303db99820a4171c6241a1b05db4b4 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 14 Mar 2026 16:15:48 +0000 Subject: [PATCH 2/2] Fix incorrect block icons for hanging signs, vines, and cave vines - Remove _hanging stripping in ValuePanel.getIcon() so hanging signs display as hanging signs instead of regular signs - Split Tag fallback: ALL_HANGING_SIGNS -> OAK_HANGING_SIGN - Fix DetailsPanel wall hanging sign conversion to produce _HANGING_SIGN - Change twisting vines plant icon from VINE to TWISTING_VINES - Change weeping vines plant icon from VINE to WEEPING_VINES - Change cave vines plant icon from VINE to GLOW_BERRIES - Add CAVE_VINES to ValuePanel switch so it appears in /ob value menu Co-authored-by: tastybento <4407265+tastybento@users.noreply.github.com> --- .../java/world/bentobox/level/panels/DetailsPanel.java | 8 +++++--- .../java/world/bentobox/level/panels/ValuePanel.java | 10 ++++++---- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/main/java/world/bentobox/level/panels/DetailsPanel.java b/src/main/java/world/bentobox/level/panels/DetailsPanel.java index a488230..3bcca04 100644 --- a/src/main/java/world/bentobox/level/panels/DetailsPanel.java +++ b/src/main/java/world/bentobox/level/panels/DetailsPanel.java @@ -767,9 +767,10 @@ private Material convertItem(Material m) { Material.getMaterial(m.name().substring(0, m.name().length() - 10) + "_SIGN"), Material.OAK_SIGN); } if (Tag.WALL_HANGING_SIGNS.isTagged(m)) { - // Wall signs end in _HANGING_WALL_SIGN + // Wall hanging signs end in _WALL_HANGING_SIGN return Objects.requireNonNullElse( - Material.getMaterial(m.name().substring(0, m.name().length() - 18) + "_SIGN"), Material.OAK_SIGN); + Material.getMaterial(m.name().substring(0, m.name().length() - 18) + "_HANGING_SIGN"), + Material.OAK_HANGING_SIGN); } return switch (m) { @@ -790,7 +791,8 @@ private Material convertItem(Material m) { DRAGON_WALL_HEAD, PIGLIN_WALL_HEAD -> Material.SKELETON_SKULL; case SWEET_BERRY_BUSH -> Material.SWEET_BERRIES; - case WEEPING_VINES_PLANT, TWISTING_VINES_PLANT -> Material.VINE; + case WEEPING_VINES_PLANT -> Material.WEEPING_VINES; + case TWISTING_VINES_PLANT -> Material.TWISTING_VINES; case CAVE_VINES, CAVE_VINES_PLANT -> Material.GLOW_BERRIES; case BIG_DRIPLEAF_STEM -> Material.BIG_DRIPLEAF; case BAMBOO_SAPLING, POTTED_BAMBOO -> Material.BAMBOO; diff --git a/src/main/java/world/bentobox/level/panels/ValuePanel.java b/src/main/java/world/bentobox/level/panels/ValuePanel.java index 9c635fd..70a0bf1 100644 --- a/src/main/java/world/bentobox/level/panels/ValuePanel.java +++ b/src/main/java/world/bentobox/level/panels/ValuePanel.java @@ -670,7 +670,6 @@ private PanelItem createMaterialButton(ItemTemplateRecord template, TemplatedPan private Material getIcon(String key) { // Filter out some names key = key.replaceAll("wall_", ""); - key = key.replaceAll("_hanging", ""); Material icon = Registry.MATERIAL.get(NamespacedKey.fromString(key)); if (icon == null && key.endsWith("_spawner")) { icon = Registry.MATERIAL.get(NamespacedKey.fromString(key.substring(0, key.length() - 2) + "_egg")); @@ -691,8 +690,8 @@ private Material getIcon(String key) { case END_PORTAL: return Material.BLACK_STAINED_GLASS_PANE; case SOUL_FIRE: return Material.SOUL_TORCH; case WALL_TORCH: return Material.TORCH; - case TWISTING_VINES_PLANT: return Material.VINE; - case CAVE_VINES_PLANT: return Material.VINE; + case TWISTING_VINES_PLANT: return Material.TWISTING_VINES; + case CAVE_VINES, CAVE_VINES_PLANT: return Material.GLOW_BERRIES; case BAMBOO_SAPLING: return Material.BAMBOO; case KELP_PLANT: return Material.KELP; case SWEET_BERRY_BUSH: return Material.SWEET_BERRIES; @@ -715,9 +714,12 @@ private Material getIcon(String key) { if (Tag.FLOWER_POTS.isTagged(icon)) { return Material.FLOWER_POT; } - if (Tag.WALL_SIGNS.isTagged(icon) || Tag.ALL_HANGING_SIGNS.isTagged(icon)) { + if (Tag.WALL_SIGNS.isTagged(icon)) { return Material.OAK_SIGN; } + if (Tag.ALL_HANGING_SIGNS.isTagged(icon)) { + return Material.OAK_HANGING_SIGN; + } if (Tag.CANDLE_CAKES.isTagged(icon)) { return Material.CAKE; }