From 21c6774eb36a6ca146e62fd74d747ae1e90dac59 Mon Sep 17 00:00:00 2001 From: Maik E Date: Sun, 31 Dec 2023 15:10:18 +0100 Subject: [PATCH] Update ChestShopSign validation check The validation check "isLegacyValid" in the ChestShopSign class has been replaced with "isChestShop". Changes were done in the ChestShop, RestrictedSign, and ChestShopSign classes where this method was called. A new validation function "isChestShop" was also added to check if a block is a ChestShop sign. --- .../java/com/Acrobot/ChestShop/Plugins/ChestShop.java | 2 +- .../com/Acrobot/ChestShop/Signs/ChestShopSign.java | 10 ++++++++++ .../com/Acrobot/ChestShop/Signs/RestrictedSign.java | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/Acrobot/ChestShop/Plugins/ChestShop.java b/src/main/java/com/Acrobot/ChestShop/Plugins/ChestShop.java index 46a842826..683e23246 100644 --- a/src/main/java/com/Acrobot/ChestShop/Plugins/ChestShop.java +++ b/src/main/java/com/Acrobot/ChestShop/Plugins/ChestShop.java @@ -41,7 +41,7 @@ public static boolean canAccess(Player player, Block block) { if (isSign(block)) { Sign sign = (Sign) block.getState(); - if (!ChestShopSign.isLegacyValid(sign)) { + if (!ChestShopSign.isChestShop(sign)) { return true; } diff --git a/src/main/java/com/Acrobot/ChestShop/Signs/ChestShopSign.java b/src/main/java/com/Acrobot/ChestShop/Signs/ChestShopSign.java index 2016079fb..73453f034 100644 --- a/src/main/java/com/Acrobot/ChestShop/Signs/ChestShopSign.java +++ b/src/main/java/com/Acrobot/ChestShop/Signs/ChestShopSign.java @@ -6,6 +6,8 @@ import org.bukkit.Bukkit; import org.bukkit.NamespacedKey; import org.bukkit.OfflinePlayer; +import org.bukkit.block.Block; +import org.bukkit.block.BlockState; import org.bukkit.block.Sign; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.entity.Player; @@ -104,6 +106,14 @@ private static boolean isLegacyChestShop(Sign sign) { return LegacyChestShopSign.isValid(sign); } + public static boolean isChestShop(Block block) { + BlockState state = block.getState(); + if (!(state instanceof Sign)) + return false; + + return isChestShop((Sign) state); + } + public static boolean isChestShop(Sign sign) { if (isLegacyChestShop(sign)) { diff --git a/src/main/java/com/Acrobot/ChestShop/Signs/RestrictedSign.java b/src/main/java/com/Acrobot/ChestShop/Signs/RestrictedSign.java index 2958ecc16..a11d2ba7c 100644 --- a/src/main/java/com/Acrobot/ChestShop/Signs/RestrictedSign.java +++ b/src/main/java/com/Acrobot/ChestShop/Signs/RestrictedSign.java @@ -52,7 +52,7 @@ public static void onSignChange(SignChangeEvent event) { } Block connectedSign = event.getBlock().getRelative(BlockFace.DOWN); - if (!Permission.has(player, ADMIN) || !ChestShopSign.isLegacyValid(connectedSign)) { + if (!Permission.has(player, ADMIN) || !ChestShopSign.isChestShop(connectedSign)) { dropSignAndCancelEvent(event); return; }