From 75f3d3a971d25a72e6c742e0f7708c1681a80e88 Mon Sep 17 00:00:00 2001 From: Tamikaschu Date: Sun, 3 Dec 2023 21:29:32 +0100 Subject: [PATCH] Added version check when building list of items --- .../bukkit/listener/PlayerEventListener.java | 48 +++++++++++-------- 1 file changed, 27 insertions(+), 21 deletions(-) diff --git a/Bukkit/src/main/java/com/plotsquared/bukkit/listener/PlayerEventListener.java b/Bukkit/src/main/java/com/plotsquared/bukkit/listener/PlayerEventListener.java index a499821e8e..1d80452fd1 100644 --- a/Bukkit/src/main/java/com/plotsquared/bukkit/listener/PlayerEventListener.java +++ b/Bukkit/src/main/java/com/plotsquared/bukkit/listener/PlayerEventListener.java @@ -177,26 +177,32 @@ public class PlayerEventListener implements Listener { Material.WRITABLE_BOOK, Material.WRITTEN_BOOK ); - private static final Set DYES = Set.of( - Material.WHITE_DYE, - Material.LIGHT_GRAY_DYE, - Material.GRAY_DYE, - Material.BLACK_DYE, - Material.BROWN_DYE, - Material.RED_DYE, - Material.ORANGE_DYE, - Material.YELLOW_DYE, - Material.LIME_DYE, - Material.GREEN_DYE, - Material.CYAN_DYE, - Material.LIGHT_BLUE_DYE, - Material.BLUE_DYE, - Material.PURPLE_DYE, - Material.MAGENTA_DYE, - Material.PINK_DYE, - Material.GLOW_INK_SAC, - Material.HONEYCOMB - ); + private final Set DYES; + { + DYES = new HashSet<>(Set.of( + "WHITE_DYE", + "LIGHT_GRAY_DYE", + "GRAY_DYE", + "BLACK_DYE", + "BROWN_DYE", + "RED_DYE", + "ORANGE_DYE", + "YELLOW_DYE", + "LIME_DYE", + "GREEN_DYE", + "CYAN_DYE", + "LIGHT_BLUE_DYE", + "BLUE_DYE", + "PURPLE_DYE", + "MAGENTA_DYE", + "PINK_DYE", + "GLOW_INK_SAC" + )); + int[] version = PlotSquared.platform().serverVersion(); + if (version[1] >= 20 && version[2] >= 1) { + DYES.add("HONEYCOMB"); + } + } private final EventDispatcher eventDispatcher; private final WorldEdit worldEdit; private final PlotAreaManager plotAreaManager; @@ -237,7 +243,7 @@ public void onPlayerDyeSign(PlayerInteractEvent event) { } Block block = event.getClickedBlock(); if (block != null && block.getState() instanceof Sign) { - if (DYES.contains(itemStack.getType())) { + if (DYES.contains(itemStack.getType().toString())) { Location location = BukkitUtil.adapt(block.getLocation()); PlotArea area = location.getPlotArea(); if (area == null) {