From 028079d8859ed42b21036dac9b19d866d0bc3ab7 Mon Sep 17 00:00:00 2001 From: Zino Date: Tue, 6 Aug 2013 21:35:17 +0200 Subject: [PATCH] *fix for quests who contain a same part in the name *easier to select quests to edit. --- .../me/blackvein/quests/QuestFactory.java | 20 ++++++++++++- .../quests/prompts/QuestAcceptPrompt.java | 30 ++++++++++++++++--- 2 files changed, 45 insertions(+), 5 deletions(-) diff --git a/src/main/java/me/blackvein/quests/QuestFactory.java b/src/main/java/me/blackvein/quests/QuestFactory.java index 69329a897..70b66ebee 100644 --- a/src/main/java/me/blackvein/quests/QuestFactory.java +++ b/src/main/java/me/blackvein/quests/QuestFactory.java @@ -391,11 +391,29 @@ public class QuestFactory implements ConversationAbandonedListener, ColorUtil { for (Quest q : quests.getQuests()) { - if (q.getName().equalsIgnoreCase(input) || q.getName().toLowerCase().contains(input.toLowerCase())) { + if (q.getName().equalsIgnoreCase(input)) { loadQuest(context, q); return new CreateMenuPrompt(); } + + } + + for (Quest q : quests.getQuests()) { + if (q.getName().toLowerCase().startsWith(input.toLowerCase())) { + loadQuest(context, q); + return new CreateMenuPrompt(); + } + + } + + for (Quest q : quests.getQuests()) { + + if (q.getName().toLowerCase().contains(input.toLowerCase())) { + loadQuest(context, q); + return new CreateMenuPrompt(); + } + } return new SelectEditPrompt(); diff --git a/src/main/java/me/blackvein/quests/prompts/QuestAcceptPrompt.java b/src/main/java/me/blackvein/quests/prompts/QuestAcceptPrompt.java index fcfa16498..b6334d006 100644 --- a/src/main/java/me/blackvein/quests/prompts/QuestAcceptPrompt.java +++ b/src/main/java/me/blackvein/quests/prompts/QuestAcceptPrompt.java @@ -68,14 +68,34 @@ public class QuestAcceptPrompt extends StringPrompt implements ColorUtil { Quest q = null; for (Quest quest : quests) { - - if (quest.getName().equalsIgnoreCase(input) || StringUtils.containsIgnoreCase(quest.getName(), input) || numInput == (quests.indexOf(quest) + 1)) { + + if (quest.getName().equalsIgnoreCase(input)) { q = quest; break; } } - + + if (q == null) + for (Quest quest : quests) { + + if (numInput == (quests.indexOf(quest) + 1)) { + q = quest; + break; + } + + } + + if (q == null) + for (Quest quest : quests) { + + if (StringUtils.containsIgnoreCase(quest.getName(), input)) { + q = quest; + break; + } + + } + if (q == null) { cc.getForWhom().sendRawMessage(RED + "Invalid Selection!"); return new QuestAcceptPrompt(plugin); @@ -121,7 +141,9 @@ public class QuestAcceptPrompt extends StringPrompt implements ColorUtil { quester.questToTake = q.name; String s = extracted(quester); - player.sendMessage(s); + for (String msg : s.split("
")) { + player.sendMessage(msg); + } plugin.conversationFactory.buildConversation((Conversable) player).begin(); }