diff --git a/pom.xml b/pom.xml index 74268be..3590ffa 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ pro.dracarys LocketteX LocketteX - 1.8.0 + 1.8.1 jar https://dracarys.pro diff --git a/src/main/java/pro/dracarys/LocketteX/listener/SignChange.java b/src/main/java/pro/dracarys/LocketteX/listener/SignChange.java index 4c5e756..5f62736 100644 --- a/src/main/java/pro/dracarys/LocketteX/listener/SignChange.java +++ b/src/main/java/pro/dracarys/LocketteX/listener/SignChange.java @@ -1,6 +1,7 @@ package pro.dracarys.LocketteX.listener; import org.bukkit.Bukkit; +import org.bukkit.ChatColor; import org.bukkit.block.Block; import org.bukkit.block.Sign; import org.bukkit.block.data.Directional; @@ -29,6 +30,17 @@ public void onSignChange(SignChangeEvent e) { if (!Util.isEnabledWorld(e.getPlayer().getWorld().getName())) { return; } + + if (e.getBlock().getState() instanceof Sign) { + Sign sign = (Sign) e.getBlock().getState(); + String oldLine = ChatColor.stripColor(sign.getLine(0)); + + if (oldLine.equalsIgnoreCase(Config.SIGN_ID_LINE.getString()) && !LocketteXAPI.canBreak(e.getPlayer(), e.getBlock())) { + e.setCancelled(true); + return; + } + } + String line0 = e.getLine(0); if (line0 == null || !line0.equalsIgnoreCase(Config.SIGN_ID_LINE.getString())) return; // From this point forward we're sure the player is trying to create a [Protect] sign