From 57ead921a24d4abf48854a67bfba5ad477bd0a05 Mon Sep 17 00:00:00 2001 From: fullwall Date: Fri, 16 Aug 2013 12:12:17 +0800 Subject: [PATCH] Allow Conversable rather than Player in SelectionPrompt --- src/main/java/net/citizensnpcs/commands/NPCCommands.java | 6 ++++-- .../java/net/citizensnpcs/commands/SelectionPrompt.java | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/java/net/citizensnpcs/commands/NPCCommands.java b/src/main/java/net/citizensnpcs/commands/NPCCommands.java index 116efdece..cf1e475da 100644 --- a/src/main/java/net/citizensnpcs/commands/NPCCommands.java +++ b/src/main/java/net/citizensnpcs/commands/NPCCommands.java @@ -60,6 +60,7 @@ import org.bukkit.World; import org.bukkit.command.BlockCommandSender; import org.bukkit.command.CommandSender; import org.bukkit.command.ConsoleCommandSender; +import org.bukkit.conversations.Conversable; import org.bukkit.entity.Ageable; import org.bukkit.entity.Entity; import org.bukkit.entity.EntityType; @@ -995,8 +996,9 @@ public class NPCCommands { String name = args.getString(1); List possible = Lists.newArrayList(); double range = -1; - if (args.hasValueFlag("r")) + if (args.hasValueFlag("r")) { range = Math.abs(args.getFlagDouble("r")); + } for (NPC test : npcRegistry) { if (test.getName().equalsIgnoreCase(name)) { if (range > 0 @@ -1010,7 +1012,7 @@ public class NPCCommands { if (possible.size() == 1) { toSelect = possible.get(0); } else if (possible.size() > 1) { - SelectionPrompt.start(selector, (Player) sender, possible); + SelectionPrompt.start(selector, (Conversable) sender, possible); return; } } diff --git a/src/main/java/net/citizensnpcs/commands/SelectionPrompt.java b/src/main/java/net/citizensnpcs/commands/SelectionPrompt.java index c4e327d7c..6d8c3ae1f 100644 --- a/src/main/java/net/citizensnpcs/commands/SelectionPrompt.java +++ b/src/main/java/net/citizensnpcs/commands/SelectionPrompt.java @@ -10,12 +10,12 @@ import net.citizensnpcs.npc.NPCSelector; import net.citizensnpcs.util.Messages; import org.bukkit.command.CommandSender; +import org.bukkit.conversations.Conversable; import org.bukkit.conversations.Conversation; import org.bukkit.conversations.ConversationContext; import org.bukkit.conversations.ConversationFactory; import org.bukkit.conversations.NumericPrompt; import org.bukkit.conversations.Prompt; -import org.bukkit.entity.Player; public class SelectionPrompt extends NumericPrompt { private final List choices; @@ -54,7 +54,7 @@ public class SelectionPrompt extends NumericPrompt { return text; } - public static void start(NPCSelector selector, Player player, List possible) { + public static void start(NPCSelector selector, Conversable player, List possible) { final Conversation conversation = new ConversationFactory(CitizensAPI.getPlugin()).withLocalEcho(false) .withEscapeSequence("exit").withModality(false) .withFirstPrompt(new SelectionPrompt(selector, possible)).buildConversation(player);