From a4fb02f3e68e6e551308929a8b76103018a9f74e Mon Sep 17 00:00:00 2001 From: Josh Roy <10731363+JRoy@users.noreply.github.com> Date: Fri, 26 May 2023 21:54:46 -0400 Subject: [PATCH] Don't run AntiBuild checks on NPCs (#5365) --- .../antibuild/EssentialsAntiBuildListener.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/EssentialsAntiBuild/src/main/java/com/earth2me/essentials/antibuild/EssentialsAntiBuildListener.java b/EssentialsAntiBuild/src/main/java/com/earth2me/essentials/antibuild/EssentialsAntiBuildListener.java index 92a0f5599..54fb513df 100644 --- a/EssentialsAntiBuild/src/main/java/com/earth2me/essentials/antibuild/EssentialsAntiBuildListener.java +++ b/EssentialsAntiBuild/src/main/java/com/earth2me/essentials/antibuild/EssentialsAntiBuildListener.java @@ -192,6 +192,10 @@ public class EssentialsAntiBuildListener implements Listener { @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) public void onItemFrameInteract(final PlayerInteractEntityEvent event) { + if (event.getPlayer().hasMetadata("NPC")) { + return; + } + final User user = ess.getUser(event.getPlayer()); if (!(event.getRightClicked() instanceof ItemFrame)) { @@ -221,6 +225,10 @@ public class EssentialsAntiBuildListener implements Listener { @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) public void onArmorStandInteract(final PlayerInteractAtEntityEvent event) { + if (event.getPlayer().hasMetadata("NPC")) { + return; + } + final User user = ess.getUser(event.getPlayer()); if (!(event.getRightClicked() instanceof ArmorStand)) { @@ -319,6 +327,10 @@ public class EssentialsAntiBuildListener implements Listener { @EventHandler(priority = EventPriority.LOW) public void onPlayerInteract(final PlayerInteractEvent event) { + if (event.getPlayer().hasMetadata("NPC")) { + return; + } + // Do not return if cancelled, because the interact event has 2 cancelled states. final User user = ess.getUser(event.getPlayer()); final ItemStack item = event.getItem(); @@ -415,6 +427,9 @@ public class EssentialsAntiBuildListener implements Listener { private class PlayerPickupItemListener implements Listener { @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) public void onPlayerPickupItem(final PlayerPickupItemEvent event) { + if (event.getPlayer().hasMetadata("NPC")) { + return; + } final User user = ess.getUser(event.getPlayer()); final ItemStack item = event.getItem().getItemStack();