From b705c4bddb7593bb00e0ac30681cba3cee080495 Mon Sep 17 00:00:00 2001 From: PikaMug <2267126+PikaMug@users.noreply.github.com> Date: Tue, 7 Apr 2020 16:55:54 -0400 Subject: [PATCH] Prevent editor from closing on invalid numeric prompt input --- main/src/main/java/me/blackvein/quests/QuestFactory.java | 4 ++-- .../main/java/me/blackvein/quests/actions/ActionFactory.java | 4 ++-- .../blackvein/quests/convo/quests/prompts/BlocksPrompt.java | 2 +- .../quests/convo/quests/prompts/DateTimePrompt.java | 2 +- .../quests/convo/quests/prompts/GUIDisplayPrompt.java | 2 +- .../blackvein/quests/convo/quests/prompts/ItemsPrompt.java | 2 +- .../me/blackvein/quests/convo/quests/prompts/MobsPrompt.java | 2 +- .../me/blackvein/quests/convo/quests/prompts/NPCsPrompt.java | 2 +- .../blackvein/quests/convo/quests/prompts/OptionsPrompt.java | 2 +- .../blackvein/quests/convo/quests/prompts/PlannerPrompt.java | 2 +- .../quests/convo/quests/prompts/RequirementsPrompt.java | 2 +- .../blackvein/quests/convo/quests/prompts/RewardsPrompt.java | 2 +- .../quests/convo/quests/prompts/StageMainPrompt.java | 5 +++-- 13 files changed, 17 insertions(+), 16 deletions(-) diff --git a/main/src/main/java/me/blackvein/quests/QuestFactory.java b/main/src/main/java/me/blackvein/quests/QuestFactory.java index b508fa1db..fd7a109cf 100644 --- a/main/src/main/java/me/blackvein/quests/QuestFactory.java +++ b/main/src/main/java/me/blackvein/quests/QuestFactory.java @@ -242,7 +242,7 @@ public class QuestFactory implements ConversationAbandonedListener { context.getForWhom().sendRawMessage(ChatColor.YELLOW + Lang.get("exited")); return Prompt.END_OF_CONVERSATION; default: - return null; + return new QuestMenuPrompt(context); } } } @@ -511,7 +511,7 @@ public class QuestFactory implements ConversationAbandonedListener { case 15: return new ExitPrompt(context); default: - return null; + return new QuestMainPrompt(context); } } } diff --git a/main/src/main/java/me/blackvein/quests/actions/ActionFactory.java b/main/src/main/java/me/blackvein/quests/actions/ActionFactory.java index a58af3154..3d6364e5d 100644 --- a/main/src/main/java/me/blackvein/quests/actions/ActionFactory.java +++ b/main/src/main/java/me/blackvein/quests/actions/ActionFactory.java @@ -252,7 +252,7 @@ public class ActionFactory implements ConversationAbandonedListener { ((Player) context.getForWhom()).sendMessage(ChatColor.YELLOW + Lang.get("exited")); return Prompt.END_OF_CONVERSATION; default: - return null; + return new ActionMenuPrompt(context); } } } @@ -428,7 +428,7 @@ public class ActionFactory implements ConversationAbandonedListener { case 10: return new ExitPrompt(); default: - return null; + return new ActionMainPrompt(context); } } } diff --git a/main/src/main/java/me/blackvein/quests/convo/quests/prompts/BlocksPrompt.java b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/BlocksPrompt.java index 182b50f91..541fd4668 100644 --- a/main/src/main/java/me/blackvein/quests/convo/quests/prompts/BlocksPrompt.java +++ b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/BlocksPrompt.java @@ -193,7 +193,7 @@ public class BlocksPrompt extends QuestsEditorNumericPrompt { return Prompt.END_OF_CONVERSATION; } default: - return null; + return new BlocksPrompt(stageNum, context); } } diff --git a/main/src/main/java/me/blackvein/quests/convo/quests/prompts/DateTimePrompt.java b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/DateTimePrompt.java index d88b87443..f775342b7 100644 --- a/main/src/main/java/me/blackvein/quests/convo/quests/prompts/DateTimePrompt.java +++ b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/DateTimePrompt.java @@ -213,7 +213,7 @@ public class DateTimePrompt extends QuestsEditorNumericPrompt { } return oldPrompt; default: - return null; + return new DateTimePrompt(context, oldPrompt, source); } } diff --git a/main/src/main/java/me/blackvein/quests/convo/quests/prompts/GUIDisplayPrompt.java b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/GUIDisplayPrompt.java index 6919fd8dc..30141724d 100644 --- a/main/src/main/java/me/blackvein/quests/convo/quests/prompts/GUIDisplayPrompt.java +++ b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/GUIDisplayPrompt.java @@ -111,7 +111,7 @@ public class GUIDisplayPrompt extends QuestsEditorNumericPrompt { case 3: return plugin.getQuestFactory().returnToMenu(context); default: - return null; + return new GUIDisplayPrompt(context); } } } diff --git a/main/src/main/java/me/blackvein/quests/convo/quests/prompts/ItemsPrompt.java b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/ItemsPrompt.java index b1eb3e833..02e900508 100644 --- a/main/src/main/java/me/blackvein/quests/convo/quests/prompts/ItemsPrompt.java +++ b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/ItemsPrompt.java @@ -193,7 +193,7 @@ public class ItemsPrompt extends QuestsEditorNumericPrompt { return Prompt.END_OF_CONVERSATION; } default: - return null; + return new ItemsPrompt(stageNum, context); } } diff --git a/main/src/main/java/me/blackvein/quests/convo/quests/prompts/MobsPrompt.java b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/MobsPrompt.java index 4f307a4ef..cb6c6173d 100644 --- a/main/src/main/java/me/blackvein/quests/convo/quests/prompts/MobsPrompt.java +++ b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/MobsPrompt.java @@ -213,7 +213,7 @@ public class MobsPrompt extends QuestsEditorNumericPrompt { return Prompt.END_OF_CONVERSATION; } default: - return null; + return new MobsPrompt(stageNum, context); } } diff --git a/main/src/main/java/me/blackvein/quests/convo/quests/prompts/NPCsPrompt.java b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/NPCsPrompt.java index 53a322649..79f236adb 100644 --- a/main/src/main/java/me/blackvein/quests/convo/quests/prompts/NPCsPrompt.java +++ b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/NPCsPrompt.java @@ -198,7 +198,7 @@ public class NPCsPrompt extends QuestsEditorNumericPrompt { return Prompt.END_OF_CONVERSATION; } default: - return null; + return new NPCsPrompt(stageNum, context); } } diff --git a/main/src/main/java/me/blackvein/quests/convo/quests/prompts/OptionsPrompt.java b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/OptionsPrompt.java index 3d7f89b20..4b9e291d3 100644 --- a/main/src/main/java/me/blackvein/quests/convo/quests/prompts/OptionsPrompt.java +++ b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/OptionsPrompt.java @@ -106,7 +106,7 @@ public class OptionsPrompt extends QuestsEditorNumericPrompt { case 3: return plugin.getQuestFactory().returnToMenu(context); default: - return null; + return new OptionsPrompt(context); } } diff --git a/main/src/main/java/me/blackvein/quests/convo/quests/prompts/PlannerPrompt.java b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/PlannerPrompt.java index df5a22721..0482e114c 100644 --- a/main/src/main/java/me/blackvein/quests/convo/quests/prompts/PlannerPrompt.java +++ b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/PlannerPrompt.java @@ -166,7 +166,7 @@ public class PlannerPrompt extends QuestsEditorNumericPrompt { case 5: return plugin.getQuestFactory().returnToMenu(context); default: - return null; + return new PlannerPrompt(context); } } diff --git a/main/src/main/java/me/blackvein/quests/convo/quests/prompts/RequirementsPrompt.java b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/RequirementsPrompt.java index 73e699285..a28b295c7 100644 --- a/main/src/main/java/me/blackvein/quests/convo/quests/prompts/RequirementsPrompt.java +++ b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/RequirementsPrompt.java @@ -369,7 +369,7 @@ public class RequirementsPrompt extends QuestsEditorNumericPrompt { case 11: return plugin.getQuestFactory().returnToMenu(context); default: - return null; + return new RequirementsPrompt(context); } } diff --git a/main/src/main/java/me/blackvein/quests/convo/quests/prompts/RewardsPrompt.java b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/RewardsPrompt.java index 64ebec5f9..c5e4c796a 100644 --- a/main/src/main/java/me/blackvein/quests/convo/quests/prompts/RewardsPrompt.java +++ b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/RewardsPrompt.java @@ -415,7 +415,7 @@ public class RewardsPrompt extends QuestsEditorNumericPrompt { case 12: return plugin.getQuestFactory().returnToMenu(context); default: - return null; + return new RewardsPrompt(context); } } diff --git a/main/src/main/java/me/blackvein/quests/convo/quests/prompts/StageMainPrompt.java b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/StageMainPrompt.java index 7436b71c5..b76c6ebbb 100644 --- a/main/src/main/java/me/blackvein/quests/convo/quests/prompts/StageMainPrompt.java +++ b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/StageMainPrompt.java @@ -241,9 +241,10 @@ public class StageMainPrompt extends QuestsEditorNumericPrompt { return ""; } case 4: - if (context.getSessionData(stagePrefix + CK.S_MOB_TYPES) == null - && context.getSessionData(stagePrefix + CK.S_FISH) == null + if (context.getSessionData(stagePrefix + CK.S_MOB_TYPES) == null && context.getSessionData(stagePrefix + CK.S_TAME_TYPES) == null + && context.getSessionData(stagePrefix + CK.S_FISH) == null + && context.getSessionData(stagePrefix + CK.S_COW_MILK) == null && context.getSessionData(stagePrefix + CK.S_SHEAR_COLORS) == null) { return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; } else {