From 170dd8cbe776e04121ad9dad26f82a5aada5f2d4 Mon Sep 17 00:00:00 2001 From: zhangyuheng Date: Wed, 14 Aug 2024 17:08:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=E5=B1=95=E7=A4=BA?= =?UTF-8?q?=E6=A1=86=E5=8F=AF=E8=A2=AB=E5=B0=8F=E7=99=BD=E7=A0=B4=E5=9D=8F?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle.kts | 2 +- .../java/cn/lunadeer/dominion/dtos/Flag.java | 2 +- .../events_v1_20_1/EnvironmentEvents.java | 16 ++++++++++++++++ .../dominion/events_v1_21/EnvironmentEvents.java | 16 ++++++++++++++++ 4 files changed, 34 insertions(+), 2 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 36e9d46..ae33a73 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,7 +4,7 @@ plugins { } group = "cn.lunadeer" -version = "2.1.19-beta" +version = "2.1.20-beta" java { toolchain.languageVersion.set(JavaLanguageVersion.of(21)) diff --git a/core/src/main/java/cn/lunadeer/dominion/dtos/Flag.java b/core/src/main/java/cn/lunadeer/dominion/dtos/Flag.java index bef2b29..0e912a6 100644 --- a/core/src/main/java/cn/lunadeer/dominion/dtos/Flag.java +++ b/core/src/main/java/cn/lunadeer/dominion/dtos/Flag.java @@ -26,7 +26,7 @@ public enum Flag { CONTAINER("container", "一般容器", "包含:箱子/木桶/潜影盒/盔甲架/展示框", false, false, true), CRAFT("craft", "使用工作台", "是否可以使用工作台", false, false, true), CRAFTER("crafter", "合成器", "是否可以修改自动合成器", false, false, true), - CREEPER_EXPLODE("creeper_explode", "实体爆炸", "包含:苦力怕/凋零头颅/末影水晶/火球", false, true, true), + CREEPER_EXPLODE("creeper_explode", "生物破坏", "包含:苦力怕/凋零头颅/末影水晶/火球爆炸等", false, true, true), COMPARER("comparer", "比较器交互", "是否可以修改比较器状态", false, false, true), DOOR("door", "门交互", "是否可以使用各种材质的门(包括活板门)", false, false, true), DRAGON_BREAK_BLOCK("dragon_break_block", "末影龙破坏方块", "末影龙冲撞是否可以破坏方块", false, true, true), diff --git a/v1_20_1/src/main/java/cn/lunadeer/dominion/events_v1_20_1/EnvironmentEvents.java b/v1_20_1/src/main/java/cn/lunadeer/dominion/events_v1_20_1/EnvironmentEvents.java index a348dde..aa28623 100644 --- a/v1_20_1/src/main/java/cn/lunadeer/dominion/events_v1_20_1/EnvironmentEvents.java +++ b/v1_20_1/src/main/java/cn/lunadeer/dominion/events_v1_20_1/EnvironmentEvents.java @@ -49,6 +49,22 @@ public class EnvironmentEvents implements Listener { checkFlag(dom, Flag.CREEPER_EXPLODE, event); } + @EventHandler(priority = EventPriority.HIGHEST) // creeper_explode - item frame + public void onItemFrameShot(ProjectileHitEvent event) { + Entity hit = event.getHitEntity(); + if (hit == null) { + return; + } + if (event.getEntity().getShooter() instanceof Player) { + return; + } + if (!(hit instanceof Hanging)) { + return; + } + DominionDTO dom = Cache.instance.getDominionByLoc(hit.getLocation()); + checkFlag(dom, Flag.CREEPER_EXPLODE, event); + } + @EventHandler(priority = EventPriority.HIGHEST) // creeper_explode - armor stand public void onArmorStandExploded(EntityDamageByEntityEvent event) { Entity entity = event.getEntity(); diff --git a/v1_21/src/main/java/cn/lunadeer/dominion/events_v1_21/EnvironmentEvents.java b/v1_21/src/main/java/cn/lunadeer/dominion/events_v1_21/EnvironmentEvents.java index b20a490..47b9bc8 100644 --- a/v1_21/src/main/java/cn/lunadeer/dominion/events_v1_21/EnvironmentEvents.java +++ b/v1_21/src/main/java/cn/lunadeer/dominion/events_v1_21/EnvironmentEvents.java @@ -49,6 +49,22 @@ public class EnvironmentEvents implements Listener { checkFlag(dom, Flag.CREEPER_EXPLODE, event); } + @EventHandler(priority = EventPriority.HIGHEST) // creeper_explode - item frame + public void onItemFrameShot(ProjectileHitEvent event) { + Entity hit = event.getHitEntity(); + if (hit == null) { + return; + } + if (event.getEntity().getShooter() instanceof Player) { + return; + } + if (!(hit instanceof Hanging)) { + return; + } + DominionDTO dom = Cache.instance.getDominionByLoc(hit.getLocation()); + checkFlag(dom, Flag.CREEPER_EXPLODE, event); + } + @EventHandler(priority = EventPriority.HIGHEST) // creeper_explode - armor stand public void onArmorStandExploded(EntityDamageByEntityEvent event) { Entity entity = event.getEntity();