From 8b9e984917cbb93e177a46692d5ebb75f8fac66d Mon Sep 17 00:00:00 2001 From: zhangyuheng Date: Thu, 25 Jul 2024 15:48:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=8D=B3=E4=BD=BF=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E6=9D=83=E9=99=90=E4=B9=9F=E8=83=BD=E7=A0=B4=E5=9D=8F?= =?UTF-8?q?=E5=B1=95=E7=A4=BA=E6=A1=86=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- src/main/java/cn/lunadeer/dominion/dtos/Flag.java | 2 +- .../java/cn/lunadeer/dominion/events/PlayerEvents.java | 8 +++----- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/pom.xml b/pom.xml index f22091e..f871200 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ cn.lunadeer Dominion - 1.42.0-beta + 1.42.1-beta jar Dominion diff --git a/src/main/java/cn/lunadeer/dominion/dtos/Flag.java b/src/main/java/cn/lunadeer/dominion/dtos/Flag.java index 4bed18d..8a0f677 100644 --- a/src/main/java/cn/lunadeer/dominion/dtos/Flag.java +++ b/src/main/java/cn/lunadeer/dominion/dtos/Flag.java @@ -20,7 +20,7 @@ public enum Flag { BEACON("beacon", "信标交互", "是否允许与信标交互", false, false, true), BED("bed", "床交互", "是否允许使用床睡觉或设置重生点", false, false, true), BREW("brew", "使用酿造台", "是否可以使用酿造台", false, false, true), - BREAK_BLOCK("break", "破坏方块", "是否可以破坏方块(包括:一般方块、展示框)", false, false, true), + BREAK_BLOCK("break", "破坏方块", "是否可以破坏方块(包括:一般方块、展示框、盔甲架)", false, false, true), BUTTON("button", "使用按钮", "是否可以使用各种材质的按钮", false, false, true), CAKE("cake", "吃蛋糕", "是否可以吃蛋糕", false, false, true), CONTAINER("container", "一般容器", "包含:箱子/木桶/潜影盒/盔甲架/展示框", false, false, true), diff --git a/src/main/java/cn/lunadeer/dominion/events/PlayerEvents.java b/src/main/java/cn/lunadeer/dominion/events/PlayerEvents.java index 3a5cae8..3c821de 100644 --- a/src/main/java/cn/lunadeer/dominion/events/PlayerEvents.java +++ b/src/main/java/cn/lunadeer/dominion/events/PlayerEvents.java @@ -140,21 +140,19 @@ public class PlayerEvents implements Listener { event.setCancelled(true); } - @EventHandler(priority = EventPriority.HIGHEST) // break - item frame + @EventHandler(priority = EventPriority.HIGHEST) // break - item frame && armor stand public void onItemFrameBreak(HangingBreakByEntityEvent event) { Entity entity = event.getEntity(); - if (!(entity instanceof ItemFrame)) { + if (!(entity instanceof ItemFrame) && !(entity instanceof ArmorStand)) { return; } - ItemFrame itemFrame = (ItemFrame) entity; Entity remover = event.getRemover(); if (!(remover instanceof Player)) { return; } - if (onBreak((Player) event.getRemover(), itemFrame.getLocation())) { + if (onBreak((Player) event.getRemover(), entity.getLocation())) { return; } - itemFrame.remove(); event.setCancelled(true); }