From 26bc618b93b310d4d85d0b7e586bef12264750ae Mon Sep 17 00:00:00 2001 From: zhangyuheng Date: Tue, 25 Jun 2024 09:43:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=B2=A1=E6=9C=89=E6=9D=83?= =?UTF-8?q?=E9=99=90=E4=BB=8D=E7=84=B6=E8=83=BD=E9=80=9A=E8=BF=87=E5=BA=8A?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E9=87=8D=E7=94=9F=E7=82=B9=E7=9A=84=E6=9D=83?= =?UTF-8?q?=E9=99=90=E6=BC=8F=E6=B4=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dominion/events/PlayerEvents.java | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/src/main/java/cn/lunadeer/dominion/events/PlayerEvents.java b/src/main/java/cn/lunadeer/dominion/events/PlayerEvents.java index a920eac..25b6d70 100644 --- a/src/main/java/cn/lunadeer/dominion/events/PlayerEvents.java +++ b/src/main/java/cn/lunadeer/dominion/events/PlayerEvents.java @@ -103,9 +103,32 @@ public class PlayerEvents implements Listener { } @EventHandler(priority = EventPriority.HIGHEST) // bed - public void onBedUse(PlayerBedEnterEvent event) { + public void onBedUse(PlayerInteractEvent event) { Player bukkitPlayer = event.getPlayer(); - DominionDTO dom = Cache.instance.getDominion(event.getBed().getLocation()); + Block block = event.getClickedBlock(); + if (block == null) { + return; + } + Material clicked = block.getType(); + if (clicked != Material.RED_BED && + clicked != Material.ORANGE_BED && + clicked != Material.YELLOW_BED && + clicked != Material.LIME_BED && + clicked != Material.GREEN_BED && + clicked != Material.LIGHT_BLUE_BED && + clicked != Material.CYAN_BED && + clicked != Material.BLUE_BED && + clicked != Material.PURPLE_BED && + clicked != Material.MAGENTA_BED && + clicked != Material.PINK_BED && + clicked != Material.WHITE_BED && + clicked != Material.LIGHT_GRAY_BED && + clicked != Material.GRAY_BED && + clicked != Material.BLACK_BED && + clicked != Material.BROWN_BED) { + return; + } + DominionDTO dom = Cache.instance.getDominion(block.getLocation()); checkFlag(dom, Flag.BED, bukkitPlayer, event); }