From 0ad14b25df00b337dd4269e297cfe1b61132e61c Mon Sep 17 00:00:00 2001 From: arboriginal Date: Sun, 24 Feb 2019 01:48:40 +0100 Subject: [PATCH] Fix for Citizen NPC --- .../SimpleCompass/plugin/Listeners.java | 30 ++++++++++--------- src/plugin.yml | 2 +- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/me/arboriginal/SimpleCompass/plugin/Listeners.java b/src/me/arboriginal/SimpleCompass/plugin/Listeners.java index 15e6aaa..d44d55a 100644 --- a/src/me/arboriginal/SimpleCompass/plugin/Listeners.java +++ b/src/me/arboriginal/SimpleCompass/plugin/Listeners.java @@ -2,6 +2,7 @@ import java.util.HashMap; import java.util.UUID; +import org.bukkit.entity.Entity; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -42,24 +43,20 @@ public Listeners(SimpleCompass plugin) { @EventHandler public void onEntityPickupItem(EntityPickupItemEvent event) { - if (event.isCancelled() || !(event.getEntity() instanceof Player)) return; - + if (event.isCancelled() || !isPlayer(event.getEntity())) return; sc.tasks.set(TasksTypes.REFRESH_STATUS, (Player) event.getEntity(), sc.config.getInt("delays.pickup_refresh")); } @EventHandler public void onEntityToggleGlide(EntityToggleGlideEvent event) { - if (event.isCancelled() || !(event.getEntity() instanceof Player)) return; - + if (event.isCancelled() || !isPlayer(event.getEntity())) return; sc.tasks.set(TasksTypes.REFRESH_STATUS, (Player) event.getEntity()); } @EventHandler public void onInventoryClose(InventoryCloseEvent event) { InventoryHolder holder = event.getInventory().getHolder(); - - if (!(holder instanceof Player)) return; - + if (!(holder instanceof Player) || !isPlayer((Player) holder)) return; sc.tasks.set(TasksTypes.REFRESH_STATUS, (Player) holder); } @@ -79,14 +76,13 @@ public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) { @EventHandler public void onPlayerCommandSend(PlayerCommandSendEvent event) { - if (!(event.getPlayer() instanceof Player)) return; - + if (!isPlayer(event.getPlayer())) return; sc.tasks.set(TasksTypes.REFRESH_STATUS, event.getPlayer()); } @EventHandler public void onPlayerDeath(PlayerDeathEvent event) { - if (!(event.getEntity() instanceof Player)) return; + if (!isPlayer(event.getEntity())) return; sc.compasses.removeCompass((Player) event.getEntity()); } @@ -134,15 +130,13 @@ public void onPlayerSwapHandItems(PlayerSwapHandItemsEvent event) { @EventHandler public void onVehicleEnter(VehicleEnterEvent event) { - if (event.isCancelled() || !(event.getEntered() instanceof Player)) return; - + if (event.isCancelled() || !isPlayer(event.getEntered())) return; sc.tasks.set(TasksTypes.REFRESH_STATUS, (Player) event.getEntered()); } @EventHandler public void onVehicleExit(VehicleExitEvent event) { - if (event.isCancelled() || !(event.getExited() instanceof Player)) return; - + if (event.isCancelled() || !isPlayer(event.getExited())) return; sc.tasks.set(TasksTypes.REFRESH_STATUS, (Player) event.getExited()); } @@ -152,4 +146,12 @@ public void onServerCommand(ServerCommandEvent event) { sc.compasses.commandTrigger(event.getCommand()); } + + // ----------------------------------------------------------------------------------------------- + // Private methods + // ----------------------------------------------------------------------------------------------- + + private boolean isPlayer(Entity entity) { + return (entity instanceof Player) && !entity.hasMetadata("NPC"); + } } diff --git a/src/plugin.yml b/src/plugin.yml index e99d1a9..42f538c 100644 --- a/src/plugin.yml +++ b/src/plugin.yml @@ -1,6 +1,6 @@ name: SimpleCompass description: Simple compass to help player who don't have sense of direction. -version: 0.9.9 +version: 1.0 author: arboriginal website: https://www.spigotmc.org/resources/simplecompass.63140/