From 88822dca0fa0bb729e77cdc131d53b12fc44b558 Mon Sep 17 00:00:00 2001 From: aPunch Date: Tue, 14 Feb 2012 05:45:50 -0600 Subject: [PATCH] added temporary selection API until Bukkit adds metadata --- lib/CitizensAPI.jar | Bin 34053 -> 33926 bytes src/net/citizensnpcs/EventListen.java | 2 +- .../citizensnpcs/npc/CitizensNPCManager.java | 5 ++++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/CitizensAPI.jar b/lib/CitizensAPI.jar index 3b1f27452864c29a669fe57675b3af4fb49dc74a..f2012382baa5f37322e571a1b01dd97a1bcb3571 100644 GIT binary patch delta 5589 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 delta 5785 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 B@`3;W diff --git a/src/net/citizensnpcs/EventListen.java b/src/net/citizensnpcs/EventListen.java index de82b91e0..127b5cc53 100644 --- a/src/net/citizensnpcs/EventListen.java +++ b/src/net/citizensnpcs/EventListen.java @@ -89,7 +89,7 @@ public class EventListen implements Listener { NPC npc = npcManager.getNPC(event.getEntity()); Player player = (Player) event.getTarget(); - if (!npcManager.npcIsSelectedByPlayer(player, npc)) { + if (!npcManager.isNPCSelectedByPlayer(player, npc)) { if (player.hasPermission("citizens.npc.select") && player.getItemInHand().getTypeId() == Setting.SELECTION_ITEM.asInt() && npc.getTrait(Owner.class).getOwner().equals(player.getName())) { diff --git a/src/net/citizensnpcs/npc/CitizensNPCManager.java b/src/net/citizensnpcs/npc/CitizensNPCManager.java index 546031681..4adaed3e2 100644 --- a/src/net/citizensnpcs/npc/CitizensNPCManager.java +++ b/src/net/citizensnpcs/npc/CitizensNPCManager.java @@ -86,6 +86,7 @@ public class CitizensNPCManager implements NPCManager { return npcs; } + @Override public NPC getSelectedNPC(Player player) { for (int id : selected.keySet()) { if (selected.get(id).contains(player.getName())) @@ -104,7 +105,8 @@ public class CitizensNPCManager implements NPCManager { return npcs.iterator(); } - public boolean npcIsSelectedByPlayer(Player player, NPC npc) { + @Override + public boolean isNPCSelectedByPlayer(Player player, NPC npc) { if (!selected.containsKey(npc.getId())) return false; return selected.get(npc.getId()).contains(player.getName()); @@ -118,6 +120,7 @@ public class CitizensNPCManager implements NPCManager { selected.removeAll(npc.getId()); } + @Override public void selectNPC(Player player, NPC npc) { // Remove existing selection if any NPC existing = getSelectedNPC(player);