diff --git a/pom.xml b/pom.xml index d91e4c1..5d56f5a 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ cn.lunadeer Dominion - 1.34.6-beta + 1.34.7-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 974150b..3e5d1ae 100644 --- a/src/main/java/cn/lunadeer/dominion/dtos/Flag.java +++ b/src/main/java/cn/lunadeer/dominion/dtos/Flag.java @@ -28,6 +28,7 @@ public enum Flag { CREEPER_EXPLODE("creeper_explode", "实体爆炸", "包含:苦力怕/凋零头颅/水晶爆炸", false, true, true), COMPARER("comparer", "比较器交互", "是否可以修改比较器状态", false, false, true), DOOR("door", "门交互", "是否可以使用各种材质的门(包括活板门)", false, false, true), + DRAGON_EGG("dragon_egg", "触碰龙蛋", "是否可以触碰龙蛋", false, false, true), DYE("dye", "染色", "是否可以使用染料(对羊、狗项圈、猫项圈)染色", false, false, true), EDIT_SIGN("edit_sign", "编辑告示牌", "是否可以编辑告示牌", false, false, true), EGG("egg", "扔鸡蛋", "是否可以扔鸡蛋", 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 351b884..898d46c 100644 --- a/src/main/java/cn/lunadeer/dominion/events/PlayerEvents.java +++ b/src/main/java/cn/lunadeer/dominion/events/PlayerEvents.java @@ -6,6 +6,7 @@ import cn.lunadeer.dominion.dtos.Flag; import cn.lunadeer.dominion.dtos.PlayerDTO; import cn.lunadeer.minecraftpluginutils.Notification; import cn.lunadeer.minecraftpluginutils.Teleport; +import io.papermc.paper.event.block.DragonEggFormEvent; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.Tag; @@ -313,6 +314,20 @@ public class PlayerEvents implements Listener { checkFlag(dom, Flag.DOOR, player, event); } + @EventHandler(priority = EventPriority.HIGHEST) // dragon_egg + public void touchDragonEdd(PlayerInteractEvent event) { + Block block = event.getClickedBlock(); + if (block == null) { + return; + } + if (block.getType() != Material.DRAGON_EGG) { + return; + } + Player player = event.getPlayer(); + DominionDTO dom = Cache.instance.getDominion(block.getLocation()); + checkFlag(dom, Flag.DRAGON_EGG, player, event); + } + @EventHandler(priority = EventPriority.HIGHEST) // dye public void dyeEvent(PlayerInteractEntityEvent event) { Player player = event.getPlayer();