diff --git a/main/src/main/java/me/blackvein/quests/QuestFactory.java b/main/src/main/java/me/blackvein/quests/QuestFactory.java index 68883f458..9d2dc218d 100644 --- a/main/src/main/java/me/blackvein/quests/QuestFactory.java +++ b/main/src/main/java/me/blackvein/quests/QuestFactory.java @@ -46,16 +46,16 @@ import org.bukkit.inventory.ItemStack; import com.sk89q.worldguard.protection.managers.RegionManager; import me.blackvein.quests.actions.Action; +import me.blackvein.quests.convo.quests.QuestsEditorNumericPrompt; +import me.blackvein.quests.convo.quests.QuestsEditorStringPrompt; +import me.blackvein.quests.convo.quests.prompts.GUIDisplayPrompt; +import me.blackvein.quests.convo.quests.prompts.OptionsPrompt; +import me.blackvein.quests.convo.quests.prompts.PlannerPrompt; +import me.blackvein.quests.convo.quests.prompts.RequirementsPrompt; +import me.blackvein.quests.convo.quests.prompts.RewardsPrompt; +import me.blackvein.quests.convo.quests.prompts.StageMenuPrompt; import me.blackvein.quests.events.editor.quests.QuestsEditorPostOpenNumericPromptEvent; import me.blackvein.quests.events.editor.quests.QuestsEditorPostOpenStringPromptEvent; -import me.blackvein.quests.prompts.QuestsNumericPrompt; -import me.blackvein.quests.prompts.QuestsStringPrompt; -import me.blackvein.quests.prompts.quests.GUIDisplayPrompt; -import me.blackvein.quests.prompts.quests.OptionsPrompt; -import me.blackvein.quests.prompts.quests.PlannerPrompt; -import me.blackvein.quests.prompts.quests.RequirementsPrompt; -import me.blackvein.quests.prompts.quests.RewardsPrompt; -import me.blackvein.quests.prompts.quests.StageMenuPrompt; import me.blackvein.quests.reflect.worldguard.WorldGuardAPI; import me.blackvein.quests.util.CK; import me.blackvein.quests.util.ConfigUtil; @@ -140,7 +140,7 @@ public class QuestFactory implements ConversationAbandonedListener { selectedReachLocations.remove(player.getUniqueId()); } - public class QuestMenuPrompt extends QuestsNumericPrompt { + public class QuestMenuPrompt extends QuestsEditorNumericPrompt { public QuestMenuPrompt(Quests plugin, ConversationContext context, QuestFactory factory) { super(context, factory); } @@ -157,29 +157,29 @@ public class QuestFactory implements ConversationAbandonedListener { public ChatColor getNumberColor(ConversationContext context, int number) { switch (number) { - case 1: - case 2: - case 3: - return ChatColor.BLUE; - case 4: - return ChatColor.RED; - default: - return null; + case 1: + case 2: + case 3: + return ChatColor.BLUE; + case 4: + return ChatColor.RED; + default: + return null; } } public String getSelectionText(ConversationContext context, int number) { switch (number) { - case 1: - return ChatColor.YELLOW + Lang.get("questEditorCreate"); - case 2: - return ChatColor.YELLOW + Lang.get("questEditorEdit"); - case 3: - return ChatColor.YELLOW + Lang.get("questEditorDelete"); - case 4: - return ChatColor.RED + Lang.get("exit"); - default: - return null; + case 1: + return ChatColor.YELLOW + Lang.get("questEditorCreate"); + case 2: + return ChatColor.YELLOW + Lang.get("questEditorEdit"); + case 3: + return ChatColor.YELLOW + Lang.get("questEditorDelete"); + case 4: + return ChatColor.RED + Lang.get("exit"); + default: + return null; } } @@ -204,32 +204,32 @@ public class QuestFactory implements ConversationAbandonedListener { protected Prompt acceptValidatedInput(ConversationContext context, Number input) { final Player player = (Player) context.getForWhom(); switch (input.intValue()) { - case 1: - if (player.hasPermission("quests.editor.*") || player.hasPermission("quests.editor.create")) { - return new QuestSelectCreatePrompt(plugin, context, QuestFactory.this); - } else { - player.sendMessage(ChatColor.RED + Lang.get("noPermission")); - return new QuestMenuPrompt(plugin, context, QuestFactory.this); - } - case 2: - if (player.hasPermission("quests.editor.*") || player.hasPermission("quests.editor.edit")) { - return new QuestSelectEditPrompt(); - } else { - player.sendMessage(ChatColor.RED + Lang.get("noPermission")); - return new QuestMenuPrompt(plugin, context, QuestFactory.this); - } - case 3: - if (player.hasPermission("quests.editor.*") || player.hasPermission("quests.editor.delete")) { - return new QuestSelectDeletePrompt(); - } else { - player.sendMessage(ChatColor.RED + Lang.get("noPermission")); - return new QuestMenuPrompt(plugin, context, QuestFactory.this); - } - case 4: - context.getForWhom().sendRawMessage(ChatColor.YELLOW + Lang.get("exited")); - return Prompt.END_OF_CONVERSATION; - default: - return null; + case 1: + if (player.hasPermission("quests.editor.*") || player.hasPermission("quests.editor.create")) { + return new QuestSelectCreatePrompt(plugin, context, QuestFactory.this); + } else { + player.sendMessage(ChatColor.RED + Lang.get("noPermission")); + return new QuestMenuPrompt(plugin, context, QuestFactory.this); + } + case 2: + if (player.hasPermission("quests.editor.*") || player.hasPermission("quests.editor.edit")) { + return new QuestSelectEditPrompt(); + } else { + player.sendMessage(ChatColor.RED + Lang.get("noPermission")); + return new QuestMenuPrompt(plugin, context, QuestFactory.this); + } + case 3: + if (player.hasPermission("quests.editor.*") || player.hasPermission("quests.editor.delete")) { + return new QuestSelectDeletePrompt(); + } else { + player.sendMessage(ChatColor.RED + Lang.get("noPermission")); + return new QuestMenuPrompt(plugin, context, QuestFactory.this); + } + case 4: + context.getForWhom().sendRawMessage(ChatColor.YELLOW + Lang.get("exited")); + return Prompt.END_OF_CONVERSATION; + default: + return null; } } } @@ -238,7 +238,7 @@ public class QuestFactory implements ConversationAbandonedListener { return new QuestMainPrompt(plugin, context, this); } - public class QuestMainPrompt extends QuestsNumericPrompt { + public class QuestMainPrompt extends QuestsEditorNumericPrompt { public QuestMainPrompt(Quests plugin, ConversationContext context, QuestFactory factory) { super(context, factory); } @@ -257,183 +257,183 @@ public class QuestFactory implements ConversationAbandonedListener { public ChatColor getNumberColor(ConversationContext context, int number) { switch (number) { - case 1: - case 2: - case 3: - case 4: - case 5: + case 1: + case 2: + case 3: + case 4: + case 5: + return ChatColor.BLUE; + case 6: + if (plugin.getDependencies().getWorldGuardApi() != null) { return ChatColor.BLUE; - case 6: - if (plugin.getDependencies().getWorldGuardApi() != null) { - return ChatColor.BLUE; - } else { - return ChatColor.GRAY; - } - case 7: + } else { + return ChatColor.GRAY; + } + case 7: + return ChatColor.BLUE; + case 8: + if (plugin.getDependencies().getCitizens() != null) { return ChatColor.BLUE; - case 8: - if (plugin.getDependencies().getCitizens() != null) { - return ChatColor.BLUE; - } else { - return ChatColor.GRAY; - } - case 9: - case 10: - case 11: - case 12: - case 13: - return ChatColor.BLUE; - case 14: - return ChatColor.GREEN; - case 15: - return ChatColor.RED; - default: - return null; + } else { + return ChatColor.GRAY; + } + case 9: + case 10: + case 11: + case 12: + case 13: + return ChatColor.BLUE; + case 14: + return ChatColor.GREEN; + case 15: + return ChatColor.RED; + default: + return null; } } public String getSelectionText(ConversationContext context, int number) { switch (number) { - case 1: - return ChatColor.YELLOW + Lang.get("questEditorName"); - case 2: - if (context.getSessionData(CK.Q_ASK_MESSAGE) == null) { - return ChatColor.RED + Lang.get("questEditorAskMessage"); + case 1: + return ChatColor.YELLOW + Lang.get("questEditorName"); + case 2: + if (context.getSessionData(CK.Q_ASK_MESSAGE) == null) { + return ChatColor.RED + Lang.get("questEditorAskMessage"); + } else { + return ChatColor.YELLOW + Lang.get("questEditorAskMessage"); + } + case 3: + if (context.getSessionData(CK.Q_FINISH_MESSAGE) == null) { + return ChatColor.RED + Lang.get("questEditorFinishMessage"); + } else { + return ChatColor.YELLOW + Lang.get("questEditorFinishMessage"); + } + case 4: + if (context.getSessionData(CK.Q_START_NPC) == null && plugin.getDependencies().getCitizens() + != null) { + return ChatColor.YELLOW + Lang.get("questEditorNPCStart"); + } else if (plugin.getDependencies().getCitizens() != null) { + return ChatColor.YELLOW + Lang.get("questEditorNPCStart"); + } else { + return ChatColor.GRAY + Lang.get("questEditorNPCStart"); + } + case 5: + return ChatColor.YELLOW + Lang.get("questEditorBlockStart"); + case 6: + if (plugin.getDependencies().getWorldGuardApi() != null) { + if (context.getSessionData(CK.Q_REGION) == null) { + return ChatColor.YELLOW + Lang.get("questWGSetRegion"); } else { - return ChatColor.YELLOW + Lang.get("questEditorAskMessage"); + return ChatColor.YELLOW + Lang.get("questWGSetRegion"); } - case 3: - if (context.getSessionData(CK.Q_FINISH_MESSAGE) == null) { - return ChatColor.RED + Lang.get("questEditorFinishMessage"); + } else { + return ChatColor.GRAY + Lang.get("questWGSetRegion"); + } + case 7: + return ChatColor.YELLOW + Lang.get("questEditorInitialEvent"); + case 8: + if (plugin.getDependencies().getCitizens() != null) { + if (context.getSessionData(CK.Q_GUIDISPLAY) == null) { + return ChatColor.YELLOW + Lang.get("questEditorSetGUI"); } else { - return ChatColor.YELLOW + Lang.get("questEditorFinishMessage"); + return ChatColor.YELLOW + Lang.get("questEditorSetGUI"); } - case 4: - if (context.getSessionData(CK.Q_START_NPC) == null && plugin.getDependencies().getCitizens() - != null) { - return ChatColor.YELLOW + Lang.get("questEditorNPCStart"); - } else if (plugin.getDependencies().getCitizens() != null) { - return ChatColor.YELLOW + Lang.get("questEditorNPCStart"); - } else { - return ChatColor.GRAY + Lang.get("questEditorNPCStart"); - } - case 5: - return ChatColor.YELLOW + Lang.get("questEditorBlockStart"); - case 6: - if (plugin.getDependencies().getWorldGuardApi() != null) { - if (context.getSessionData(CK.Q_REGION) == null) { - return ChatColor.YELLOW + Lang.get("questWGSetRegion"); - } else { - return ChatColor.YELLOW + Lang.get("questWGSetRegion"); - } - } else { - return ChatColor.GRAY + Lang.get("questWGSetRegion"); - } - case 7: - return ChatColor.YELLOW + Lang.get("questEditorInitialEvent"); - case 8: - if (plugin.getDependencies().getCitizens() != null) { - if (context.getSessionData(CK.Q_GUIDISPLAY) == null) { - return ChatColor.YELLOW + Lang.get("questEditorSetGUI"); - } else { - return ChatColor.YELLOW + Lang.get("questEditorSetGUI"); - } - } else { - return ChatColor.GRAY + Lang.get("questEditorSetGUI"); - } - case 9: - return ChatColor.DARK_AQUA + Lang.get("questEditorReqs"); - case 10: - return ChatColor.AQUA + Lang.get("questEditorPln"); - case 11: - return ChatColor.LIGHT_PURPLE + Lang.get("questEditorStages"); - case 12: - return ChatColor.DARK_PURPLE + Lang.get("questEditorRews"); - case 13: - return ChatColor.DARK_GREEN + Lang.get("questEditorOpts"); - case 14: - return ChatColor.GREEN + Lang.get("save"); - case 15: - return ChatColor.RED + Lang.get("exit"); - default: - return null; + } else { + return ChatColor.GRAY + Lang.get("questEditorSetGUI"); + } + case 9: + return ChatColor.DARK_AQUA + Lang.get("questEditorReqs"); + case 10: + return ChatColor.AQUA + Lang.get("questEditorPln"); + case 11: + return ChatColor.LIGHT_PURPLE + Lang.get("questEditorStages"); + case 12: + return ChatColor.DARK_PURPLE + Lang.get("questEditorRews"); + case 13: + return ChatColor.DARK_GREEN + Lang.get("questEditorOpts"); + case 14: + return ChatColor.GREEN + Lang.get("save"); + case 15: + return ChatColor.RED + Lang.get("exit"); + default: + return null; } } public String getAdditionalText(ConversationContext context, int number) { switch (number) { - case 1: - return ""; - case 2: - if (context.getSessionData(CK.Q_ASK_MESSAGE) == null) { - return ChatColor.DARK_RED + "(" + Lang.get("questRequiredNoneSet") + ")"; - } else { - return ChatColor.YELLOW + "(" + context.getSessionData(CK.Q_ASK_MESSAGE) + ChatColor.RESET - + ChatColor.YELLOW + ")"; - } - case 3: - if (context.getSessionData(CK.Q_FINISH_MESSAGE) == null) { - return ChatColor.DARK_RED + "(" + Lang.get("questRequiredNoneSet") + ")"; - } else { - return ChatColor.YELLOW + "(" + context.getSessionData(CK.Q_FINISH_MESSAGE) + ChatColor.RESET - + ChatColor.YELLOW + ")"; - } - case 4: - if (context.getSessionData(CK.Q_START_NPC) == null && plugin.getDependencies().getCitizens() - != null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } else if (plugin.getDependencies().getCitizens() != null) { - return ChatColor.YELLOW + "(" + CitizensAPI.getNPCRegistry().getById((Integer) context - .getSessionData(CK.Q_START_NPC)).getName() + ChatColor.RESET + ChatColor.YELLOW + ")"; - } else { - return ChatColor.GRAY + "(" + Lang.get("notInstalled") + ")"; - } - case 5: - if (context.getSessionData(CK.Q_START_BLOCK) == null) { + case 1: + return ""; + case 2: + if (context.getSessionData(CK.Q_ASK_MESSAGE) == null) { + return ChatColor.DARK_RED + "(" + Lang.get("questRequiredNoneSet") + ")"; + } else { + return ChatColor.YELLOW + "(" + context.getSessionData(CK.Q_ASK_MESSAGE) + ChatColor.RESET + + ChatColor.YELLOW + ")"; + } + case 3: + if (context.getSessionData(CK.Q_FINISH_MESSAGE) == null) { + return ChatColor.DARK_RED + "(" + Lang.get("questRequiredNoneSet") + ")"; + } else { + return ChatColor.YELLOW + "(" + context.getSessionData(CK.Q_FINISH_MESSAGE) + ChatColor.RESET + + ChatColor.YELLOW + ")"; + } + case 4: + if (context.getSessionData(CK.Q_START_NPC) == null && plugin.getDependencies().getCitizens() + != null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else if (plugin.getDependencies().getCitizens() != null) { + return ChatColor.YELLOW + "(" + CitizensAPI.getNPCRegistry().getById((Integer) context + .getSessionData(CK.Q_START_NPC)).getName() + ChatColor.RESET + ChatColor.YELLOW + ")"; + } else { + return ChatColor.GRAY + "(" + Lang.get("notInstalled") + ")"; + } + case 5: + if (context.getSessionData(CK.Q_START_BLOCK) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else { + Location l = (Location) context.getSessionData(CK.Q_START_BLOCK); + return ChatColor.YELLOW + "(" + l.getWorld().getName() + ", " + l.getBlockX() + ", " + + l.getBlockY() + ", " + l.getBlockZ() + ")"; + } + case 6: + if (plugin.getDependencies().getWorldGuardApi() != null) { + if (context.getSessionData(CK.Q_REGION) == null) { return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; } else { - Location l = (Location) context.getSessionData(CK.Q_START_BLOCK); - return ChatColor.YELLOW + "(" + l.getWorld().getName() + ", " + l.getBlockX() + ", " - + l.getBlockY() + ", " + l.getBlockZ() + ")"; + return ChatColor.YELLOW + "(" + ChatColor.GREEN + + (String) context.getSessionData(CK.Q_REGION) + ChatColor.YELLOW + ")"; } - case 6: - if (plugin.getDependencies().getWorldGuardApi() != null) { - if (context.getSessionData(CK.Q_REGION) == null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } else { - return ChatColor.YELLOW + "(" + ChatColor.GREEN - + (String) context.getSessionData(CK.Q_REGION) + ChatColor.YELLOW + ")"; - } + } else { + return ChatColor.GRAY + "(" + Lang.get("notInstalled") + ")"; + } + case 7: + if (context.getSessionData(CK.Q_INITIAL_EVENT) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else { + return ChatColor.YELLOW + "(" + (String) context.getSessionData(CK.Q_INITIAL_EVENT) + ")"; + } + case 8: + if (plugin.getDependencies().getCitizens() != null) { + if (context.getSessionData(CK.Q_GUIDISPLAY) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; } else { - return ChatColor.GRAY + "(" + Lang.get("notInstalled") + ")"; + return ChatColor.YELLOW + "(" + ItemUtil.getDisplayString((ItemStack) context + .getSessionData(CK.Q_GUIDISPLAY)) + ChatColor.RESET + ChatColor.YELLOW + ")"; } - case 7: - if (context.getSessionData(CK.Q_INITIAL_EVENT) == null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } else { - return ChatColor.YELLOW + "(" + (String) context.getSessionData(CK.Q_INITIAL_EVENT) + ")"; - } - case 8: - if (plugin.getDependencies().getCitizens() != null) { - if (context.getSessionData(CK.Q_GUIDISPLAY) == null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } else { - return ChatColor.YELLOW + "(" + ItemUtil.getDisplayString((ItemStack) context - .getSessionData(CK.Q_GUIDISPLAY)) + ChatColor.RESET + ChatColor.YELLOW + ")"; - } - } else { - return ChatColor.GRAY + "(" + Lang.get("notInstalled") + ")"; - } - case 9: - case 10: - case 11: - case 12: - case 13: - case 14: - case 15: - return ""; - default: - return null; + } else { + return ChatColor.GRAY + "(" + Lang.get("notInstalled") + ")"; + } + case 9: + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + return ""; + default: + return null; } } @@ -455,56 +455,56 @@ public class QuestFactory implements ConversationAbandonedListener { @Override protected Prompt acceptValidatedInput(ConversationContext context, Number input) { switch (input.intValue()) { - case 1: - return new QuestSetNamePrompt(); - case 2: - return new AskMessagePrompt(); - case 3: - return new FinishMessagePrompt(); - case 4: - if (plugin.getDependencies().getCitizens() != null) { - return new NPCStartPrompt(); - } else { - return new QuestMainPrompt(plugin, context, QuestFactory.this); - } - case 5: - selectedBlockStarts.put(((Player) context.getForWhom()).getUniqueId(), null); - return new BlockStartPrompt(); - case 6: - if (plugin.getDependencies().getWorldGuardApi() != null) { - return new RegionPrompt(); - } else { - return new QuestMainPrompt(plugin, context, QuestFactory.this); - } - case 7: - return new InitialActionPrompt(); - case 8: - if (plugin.getDependencies().getCitizens() != null) { - return new GUIDisplayPrompt(plugin, context, QuestFactory.this); - } else { - return new QuestMainPrompt(plugin, context, QuestFactory.this); - } - case 9: - return new RequirementsPrompt(plugin, context, QuestFactory.this); - case 10: - return new PlannerPrompt(plugin, context, QuestFactory.this); - case 11: - return new StageMenuPrompt(plugin, context, QuestFactory.this); - case 12: - return new RewardsPrompt(plugin, context, QuestFactory.this); - case 13: - return new OptionsPrompt(plugin, context, QuestFactory.this); - case 14: - return new SavePrompt(plugin, context, QuestFactory.this); - case 15: - return new ExitPrompt(plugin, context, QuestFactory.this); - default: - return null; + case 1: + return new QuestSetNamePrompt(); + case 2: + return new AskMessagePrompt(); + case 3: + return new FinishMessagePrompt(); + case 4: + if (plugin.getDependencies().getCitizens() != null) { + return new NPCStartPrompt(); + } else { + return new QuestMainPrompt(plugin, context, QuestFactory.this); + } + case 5: + selectedBlockStarts.put(((Player) context.getForWhom()).getUniqueId(), null); + return new BlockStartPrompt(); + case 6: + if (plugin.getDependencies().getWorldGuardApi() != null) { + return new RegionPrompt(); + } else { + return new QuestMainPrompt(plugin, context, QuestFactory.this); + } + case 7: + return new InitialActionPrompt(); + case 8: + if (plugin.getDependencies().getCitizens() != null) { + return new GUIDisplayPrompt(plugin, context, QuestFactory.this); + } else { + return new QuestMainPrompt(plugin, context, QuestFactory.this); + } + case 9: + return new RequirementsPrompt(plugin, context, QuestFactory.this); + case 10: + return new PlannerPrompt(plugin, context, QuestFactory.this); + case 11: + return new StageMenuPrompt(plugin, context, QuestFactory.this); + case 12: + return new RewardsPrompt(plugin, context, QuestFactory.this); + case 13: + return new OptionsPrompt(plugin, context, QuestFactory.this); + case 14: + return new SavePrompt(plugin, context, QuestFactory.this); + case 15: + return new ExitPrompt(plugin, context, QuestFactory.this); + default: + return null; } } } - public class QuestSelectCreatePrompt extends QuestsStringPrompt { + public class QuestSelectCreatePrompt extends QuestsEditorStringPrompt { public QuestSelectCreatePrompt(Quests plugin, ConversationContext context, QuestFactory factory) { super(context, factory); } @@ -1320,7 +1320,7 @@ public class QuestFactory implements ConversationAbandonedListener { } } - public class SavePrompt extends QuestsStringPrompt { + public class SavePrompt extends QuestsEditorStringPrompt { public SavePrompt(Quests plugin, ConversationContext context, QuestFactory factory) { super(context, factory); } @@ -1337,23 +1337,23 @@ public class QuestFactory implements ConversationAbandonedListener { public ChatColor getNumberColor(ConversationContext context, int number) { switch (number) { - case 1: - return ChatColor.GREEN; - case 2: - return ChatColor.RED; - default: - return null; + case 1: + return ChatColor.GREEN; + case 2: + return ChatColor.RED; + default: + return null; } } public String getSelectionText(ConversationContext context, int number) { switch (number) { - case 1: - return ChatColor.GREEN + Lang.get("yesWord"); - case 2: - return ChatColor.RED + Lang.get("noWord"); - default: - return null; + case 1: + return ChatColor.GREEN + Lang.get("yesWord"); + case 2: + return ChatColor.RED + Lang.get("noWord"); + default: + return null; } } @@ -1424,7 +1424,7 @@ public class QuestFactory implements ConversationAbandonedListener { } } - public class ExitPrompt extends QuestsStringPrompt { + public class ExitPrompt extends QuestsEditorStringPrompt { public ExitPrompt(Quests plugin, ConversationContext context, QuestFactory factory) { super(context, factory); } @@ -1441,23 +1441,23 @@ public class QuestFactory implements ConversationAbandonedListener { public ChatColor getNumberColor(ConversationContext context, int number) { switch (number) { - case 1: - return ChatColor.GREEN; - case 2: - return ChatColor.RED; - default: - return null; + case 1: + return ChatColor.GREEN; + case 2: + return ChatColor.RED; + default: + return null; } } public String getSelectionText(ConversationContext context, int number) { switch (number) { - case 1: - return ChatColor.GREEN + Lang.get("yesWord"); - case 2: - return ChatColor.RED + Lang.get("noWord"); - default: - return null; + case 1: + return ChatColor.GREEN + Lang.get("yesWord"); + case 2: + return ChatColor.RED + Lang.get("noWord"); + default: + return null; } } diff --git a/main/src/main/java/me/blackvein/quests/Quests.java b/main/src/main/java/me/blackvein/quests/Quests.java index 85e4cdb30..15433d3e2 100644 --- a/main/src/main/java/me/blackvein/quests/Quests.java +++ b/main/src/main/java/me/blackvein/quests/Quests.java @@ -77,6 +77,7 @@ import com.herocraftonline.heroes.characters.classes.HeroClass; import me.blackvein.quests.actions.Action; import me.blackvein.quests.actions.ActionFactory; +import me.blackvein.quests.convo.quests.prompts.QuestOfferPrompt; import me.blackvein.quests.exceptions.QuestFormatException; import me.blackvein.quests.exceptions.StageFormatException; import me.blackvein.quests.listeners.CmdExecutor; @@ -84,7 +85,6 @@ import me.blackvein.quests.listeners.DungeonsListener; import me.blackvein.quests.listeners.NpcListener; import me.blackvein.quests.listeners.PartiesListener; import me.blackvein.quests.listeners.PlayerListener; -import me.blackvein.quests.prompts.quests.QuestOfferPrompt; import me.blackvein.quests.tasks.NpcEffectThread; import me.blackvein.quests.tasks.PlayerMoveThread; import me.blackvein.quests.util.ConfigUtil; 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 a71d25349..65b19d603 100644 --- a/main/src/main/java/me/blackvein/quests/actions/ActionFactory.java +++ b/main/src/main/java/me/blackvein/quests/actions/ActionFactory.java @@ -51,10 +51,11 @@ import me.blackvein.quests.QuestMob; import me.blackvein.quests.Quester; import me.blackvein.quests.Quests; import me.blackvein.quests.Stage; -import me.blackvein.quests.events.editor.actions.ActionsEditorPostOpenMainPromptEvent; -import me.blackvein.quests.events.editor.actions.ActionsEditorPostOpenMenuPromptEvent; -import me.blackvein.quests.events.editor.actions.ActionsEditorPostOpenSelectCreatePromptEvent; -import me.blackvein.quests.prompts.quests.ItemStackPrompt; +import me.blackvein.quests.convo.actions.ActionsEditorNumericPrompt; +import me.blackvein.quests.convo.actions.ActionsEditorStringPrompt; +import me.blackvein.quests.convo.quests.prompts.ItemStackPrompt; +import me.blackvein.quests.events.editor.actions.ActionsEditorPostOpenNumericPromptEvent; +import me.blackvein.quests.events.editor.actions.ActionsEditorPostOpenStringPromptEvent; import me.blackvein.quests.util.CK; import me.blackvein.quests.util.ConfigUtil; import me.blackvein.quests.util.ItemUtil; @@ -79,8 +80,8 @@ public class ActionFactory implements ConversationAbandonedListener { actionsFile = new File(plugin.getDataFolder(), "actions.yml"); // Ensure to initialize convoCreator last so that 'this' is fully initialized before it is passed this.convoCreator = new ConversationFactory(plugin).withModality(false).withLocalEcho(false) - .withPrefix(new QuestCreatorPrefix()).withFirstPrompt(new ActionMenuPrompt()).withTimeout(3600) - .thatExcludesNonPlayersWithMessage("Console may not perform this operation!") + .withPrefix(new QuestCreatorPrefix()).withFirstPrompt(new ActionMenuPrompt(null, this)) + .withTimeout(3600).thatExcludesNonPlayersWithMessage("Console may not perform this operation!") .addConversationAbandonedListener(this); } @@ -149,50 +150,59 @@ public class ActionFactory implements ConversationAbandonedListener { } } - public class ActionMenuPrompt extends NumericPrompt { + public class ActionMenuPrompt extends ActionsEditorNumericPrompt { + public ActionMenuPrompt(ConversationContext context, ActionFactory factory) { + super(context, factory); + } + private final int size = 4; public int getSize() { return size; } - public String getTitle() { + public String getTitle(ConversationContext context) { return Lang.get("eventEditorTitle"); } public ChatColor getNumberColor(ConversationContext context, int number) { switch (number) { - case 1: - case 2: - case 3: - return ChatColor.BLUE; - case 4: - return ChatColor.RED; - default: - return null; + case 1: + case 2: + case 3: + return ChatColor.BLUE; + case 4: + return ChatColor.RED; + default: + return null; } } public String getSelectionText(ConversationContext context, int number) { switch (number) { - case 1: - return ChatColor.YELLOW + Lang.get("eventEditorCreate"); - case 2: - return ChatColor.YELLOW + Lang.get("eventEditorEdit"); - case 3: - return ChatColor.YELLOW + Lang.get("eventEditorDelete"); - case 4: - return ChatColor.RED + Lang.get("exit"); - default: - return null; + case 1: + return ChatColor.YELLOW + Lang.get("eventEditorCreate"); + case 2: + return ChatColor.YELLOW + Lang.get("eventEditorEdit"); + case 3: + return ChatColor.YELLOW + Lang.get("eventEditorDelete"); + case 4: + return ChatColor.RED + Lang.get("exit"); + default: + return null; } } + + public String getAdditionalText(ConversationContext context, int number) { + return null; + } @Override public String getPromptText(ConversationContext context) { - ActionsEditorPostOpenMenuPromptEvent event = new ActionsEditorPostOpenMenuPromptEvent(context); + ActionsEditorPostOpenNumericPromptEvent event + = new ActionsEditorPostOpenNumericPromptEvent(context, ActionFactory.this, this); plugin.getServer().getPluginManager().callEvent(event); - String text = ChatColor.GOLD + getTitle() + "\n"; + String text = ChatColor.GOLD + getTitle(context) + "\n"; for (int i = 1; i <= size; i++) { text += getNumberColor(context, i) + "" + ChatColor.BOLD + i + ChatColor.RESET + " - " + getSelectionText(context, i) + "\n"; @@ -204,57 +214,61 @@ public class ActionFactory implements ConversationAbandonedListener { protected Prompt acceptValidatedInput(ConversationContext context, Number input) { final Player player = (Player) context.getForWhom(); switch (input.intValue()) { - case 1: - if (player.hasPermission("quests.editor.actions.create") - || player.hasPermission("quests.editor.events.create")) { - context.setSessionData(CK.E_OLD_EVENT, ""); - return new ActionSelectCreatePrompt(); + case 1: + if (player.hasPermission("quests.editor.actions.create") + || player.hasPermission("quests.editor.events.create")) { + context.setSessionData(CK.E_OLD_EVENT, ""); + return new ActionSelectCreatePrompt(context, ActionFactory.this); + } else { + player.sendMessage(ChatColor.RED + Lang.get("noPermission")); + return new ActionMenuPrompt(context, ActionFactory.this); + } + case 2: + if (player.hasPermission("quests.editor.actions.edit") + || player.hasPermission("quests.editor.events.edit")) { + if (plugin.getActions().isEmpty()) { + ((Player) context.getForWhom()).sendMessage(ChatColor.YELLOW + + Lang.get("eventEditorNoneToEdit")); + return new ActionMenuPrompt(context, ActionFactory.this); } else { - player.sendMessage(ChatColor.RED + Lang.get("noPermission")); - return new ActionMenuPrompt(); + return new ActionSelectEditPrompt(); } - case 2: - if (player.hasPermission("quests.editor.actions.edit") - || player.hasPermission("quests.editor.events.edit")) { - if (plugin.getActions().isEmpty()) { - ((Player) context.getForWhom()).sendMessage(ChatColor.YELLOW - + Lang.get("eventEditorNoneToEdit")); - return new ActionMenuPrompt(); - } else { - return new ActionSelectEditPrompt(); - } + } else { + player.sendMessage(ChatColor.RED + Lang.get("noPermission")); + return new ActionMenuPrompt(context, ActionFactory.this); + } + case 3: + if (player.hasPermission("quests.editor.actions.delete") + || player.hasPermission("quests.editor.events.delete")) { + if (plugin.getActions().isEmpty()) { + ((Player) context.getForWhom()).sendMessage(ChatColor.YELLOW + + Lang.get("eventEditorNoneToDelete")); + return new ActionMenuPrompt(context, ActionFactory.this); } else { - player.sendMessage(ChatColor.RED + Lang.get("noPermission")); - return new ActionMenuPrompt(); + return new ActionSelectDeletePrompt(); } - case 3: - if (player.hasPermission("quests.editor.actions.delete") - || player.hasPermission("quests.editor.events.delete")) { - if (plugin.getActions().isEmpty()) { - ((Player) context.getForWhom()).sendMessage(ChatColor.YELLOW - + Lang.get("eventEditorNoneToDelete")); - return new ActionMenuPrompt(); - } else { - return new ActionSelectDeletePrompt(); - } - } else { - player.sendMessage(ChatColor.RED + Lang.get("noPermission")); - return new ActionMenuPrompt(); - } - case 4: - ((Player) context.getForWhom()).sendMessage(ChatColor.YELLOW + Lang.get("exited")); - return Prompt.END_OF_CONVERSATION; - default: - return null; + } else { + player.sendMessage(ChatColor.RED + Lang.get("noPermission")); + return new ActionMenuPrompt(context, ActionFactory.this); + } + case 4: + ((Player) context.getForWhom()).sendMessage(ChatColor.YELLOW + Lang.get("exited")); + return Prompt.END_OF_CONVERSATION; + default: + return null; } } } - public Prompt returnToMenu() { - return new ActionMainPrompt(); + public Prompt returnToMenu(ConversationContext context) { + return new ActionMainPrompt(context, ActionFactory.this); } - public class ActionMainPrompt extends NumericPrompt { + public class ActionMainPrompt extends ActionsEditorNumericPrompt { + public ActionMainPrompt(ConversationContext context, ActionFactory factory) { + super(context, factory); + } + private final int size = 10; public int getSize() { @@ -267,111 +281,112 @@ public class ActionFactory implements ConversationAbandonedListener { public ChatColor getNumberColor(ConversationContext context, int number) { switch (number) { - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - if (plugin.getDependencies().getDenizenAPI() == null) { - return ChatColor.GRAY; - } else { - return ChatColor.BLUE; - } - case 8: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + if (plugin.getDependencies().getDenizenAPI() == null) { + return ChatColor.GRAY; + } else { return ChatColor.BLUE; - case 9: - return ChatColor.GREEN; - case 10: - return ChatColor.RED; - default: - return null; + } + case 8: + return ChatColor.BLUE; + case 9: + return ChatColor.GREEN; + case 10: + return ChatColor.RED; + default: + return null; } } public String getSelectionText(ConversationContext context, int number) { switch (number) { - case 1: - return ChatColor.YELLOW + Lang.get("eventEditorSetName"); - case 2: - return ChatColor.GOLD + Lang.get("eventEditorPlayer"); - case 3: - return ChatColor.GOLD + Lang.get("eventEditorTimer"); - case 4: - return ChatColor.GOLD + Lang.get("eventEditorEffect"); - case 5: - return ChatColor.GOLD + Lang.get("eventEditorWeather"); - case 6: - return ChatColor.YELLOW + Lang.get("eventEditorSetMobSpawns"); - case 7: - if (plugin.getDependencies().getDenizenAPI() == null) { - return ChatColor.GRAY + Lang.get("stageEditorDenizenScript"); - } else { - return ChatColor.YELLOW + Lang.get("stageEditorDenizenScript"); - } - case 8: - return ChatColor.YELLOW + Lang.get("eventEditorFailQuest") + ":"; - case 9: - return ChatColor.GREEN + Lang.get("save"); - case 10: - return ChatColor.RED + Lang.get("exit"); - default: - return null; + case 1: + return ChatColor.YELLOW + Lang.get("eventEditorSetName"); + case 2: + return ChatColor.GOLD + Lang.get("eventEditorPlayer"); + case 3: + return ChatColor.GOLD + Lang.get("eventEditorTimer"); + case 4: + return ChatColor.GOLD + Lang.get("eventEditorEffect"); + case 5: + return ChatColor.GOLD + Lang.get("eventEditorWeather"); + case 6: + return ChatColor.YELLOW + Lang.get("eventEditorSetMobSpawns"); + case 7: + if (plugin.getDependencies().getDenizenAPI() == null) { + return ChatColor.GRAY + Lang.get("stageEditorDenizenScript"); + } else { + return ChatColor.YELLOW + Lang.get("stageEditorDenizenScript"); + } + case 8: + return ChatColor.YELLOW + Lang.get("eventEditorFailQuest") + ":"; + case 9: + return ChatColor.GREEN + Lang.get("save"); + case 10: + return ChatColor.RED + Lang.get("exit"); + default: + return null; } } @SuppressWarnings("unchecked") public String getAdditionalText(ConversationContext context, int number) { switch (number) { - case 1: - case 2: - case 3: - case 4: - case 5: - return ""; - case 6: - if (context.getSessionData(CK.E_MOB_TYPES) == null) { + case 1: + case 2: + case 3: + case 4: + case 5: + return ""; + case 6: + if (context.getSessionData(CK.E_MOB_TYPES) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else { + LinkedList types = (LinkedList) context.getSessionData(CK.E_MOB_TYPES); + String text = ""; + for (String s : types) { + QuestMob qm = QuestMob.fromString(s); + text += ChatColor.GRAY + " - " + ChatColor.AQUA + qm.getType().name() + + ((qm.getName() != null) ? ": " + qm.getName() : "") + ChatColor.GRAY + " x " + + ChatColor.DARK_AQUA + qm.getSpawnAmounts() + ChatColor.GRAY + " -> " + + ChatColor.GREEN + ConfigUtil.getLocationInfo(qm.getSpawnLocation()) + "\n"; + } + return text; + } + case 7: + if (plugin.getDependencies().getDenizenAPI() == null) { + return ChatColor.GRAY + "(" + Lang.get("notInstalled") + ")"; + } else { + if (context.getSessionData(CK.E_DENIZEN) == null) { return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; } else { - LinkedList types = (LinkedList) context.getSessionData(CK.E_MOB_TYPES); - String text = ""; - for (String s : types) { - QuestMob qm = QuestMob.fromString(s); - text += ChatColor.GRAY + " - " + ChatColor.AQUA + qm.getType().name() - + ((qm.getName() != null) ? ": " + qm.getName() : "") + ChatColor.GRAY + " x " - + ChatColor.DARK_AQUA + qm.getSpawnAmounts() + ChatColor.GRAY + " -> " - + ChatColor.GREEN + ConfigUtil.getLocationInfo(qm.getSpawnLocation()) + "\n"; - } - return text; + return ChatColor.GRAY + "(" + ChatColor.AQUA + context.getSessionData(CK.E_DENIZEN) + + ChatColor.GRAY + ")"; } - case 7: - if (plugin.getDependencies().getDenizenAPI() == null) { - return ChatColor.GRAY + "(" + Lang.get("notInstalled") + ")"; - } else { - if (context.getSessionData(CK.E_DENIZEN) == null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } else { - return ChatColor.GRAY + "(" + ChatColor.AQUA + context.getSessionData(CK.E_DENIZEN) - + ChatColor.GRAY + ")"; - } - } - case 8: - if (context.getSessionData(CK.E_FAIL_QUEST) == null) { - context.setSessionData(CK.E_FAIL_QUEST, Lang.get("noWord")); - } - return "" + ChatColor.AQUA + context.getSessionData(CK.E_FAIL_QUEST); - case 9: - case 10: - return ""; - default: - return null; + } + case 8: + if (context.getSessionData(CK.E_FAIL_QUEST) == null) { + context.setSessionData(CK.E_FAIL_QUEST, Lang.get("noWord")); + } + return "" + ChatColor.AQUA + context.getSessionData(CK.E_FAIL_QUEST); + case 9: + case 10: + return ""; + default: + return null; } } @Override public String getPromptText(ConversationContext context) { - ActionsEditorPostOpenMainPromptEvent event = new ActionsEditorPostOpenMainPromptEvent(context); + ActionsEditorPostOpenNumericPromptEvent event + = new ActionsEditorPostOpenNumericPromptEvent(context, ActionFactory.this, this); plugin.getServer().getPluginManager().callEvent(event); String text = ChatColor.GOLD + "- " + getTitle(context).replaceFirst(": ", ": " + ChatColor.AQUA) @@ -407,7 +422,7 @@ public class ActionFactory implements ConversationAbandonedListener { } else { context.setSessionData(CK.E_FAIL_QUEST, Lang.get("yesWord")); } - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); case 9: if (context.getSessionData(CK.E_OLD_EVENT) != null) { return new SavePrompt((String) context.getSessionData(CK.E_OLD_EVENT)); @@ -422,23 +437,26 @@ public class ActionFactory implements ConversationAbandonedListener { } } - private class ActionSelectCreatePrompt extends StringPrompt { - - public String getTitle() { + public class ActionSelectCreatePrompt extends ActionsEditorStringPrompt { + public ActionSelectCreatePrompt(ConversationContext context, ActionFactory factory) { + super(context, factory); + } + + public String getTitle(ConversationContext context) { return Lang.get("eventEditorCreate"); } - public String getQueryText() { + public String getQueryText(ConversationContext context) { return Lang.get("eventEditorEnterEventName"); } @Override public String getPromptText(ConversationContext context) { - ActionsEditorPostOpenSelectCreatePromptEvent event - = new ActionsEditorPostOpenSelectCreatePromptEvent(context); + ActionsEditorPostOpenStringPromptEvent event + = new ActionsEditorPostOpenStringPromptEvent(context, ActionFactory.this, this); plugin.getServer().getPluginManager().callEvent(event); - String text = ChatColor.GOLD + getTitle() + "\n" + ChatColor.YELLOW + getQueryText(); + String text = ChatColor.GOLD + getTitle(context) + "\n" + ChatColor.YELLOW + getQueryText(context); return text; } @@ -448,22 +466,22 @@ public class ActionFactory implements ConversationAbandonedListener { for (Action e : plugin.getActions()) { if (e.getName().equalsIgnoreCase(input)) { context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("eventEditorExists")); - return new ActionSelectCreatePrompt(); + return new ActionSelectCreatePrompt(context, ActionFactory.this); } } if (names.contains(input)) { context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("eventEditorSomeone")); - return new ActionSelectCreatePrompt(); + return new ActionSelectCreatePrompt(context, ActionFactory.this); } if (StringUtils.isAlphanumeric(input) == false) { context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("eventEditorAlpha")); - return new ActionSelectCreatePrompt(); + return new ActionSelectCreatePrompt(context, ActionFactory.this); } context.setSessionData(CK.E_NAME, input); names.add(input); - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } else { - return new ActionMenuPrompt(); + return new ActionMenuPrompt(context, ActionFactory.this); } } } @@ -489,12 +507,12 @@ public class ActionFactory implements ConversationAbandonedListener { context.setSessionData(CK.E_OLD_EVENT, a.getName()); context.setSessionData(CK.E_NAME, a.getName()); loadData(a, context); - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } ((Player) context.getForWhom()).sendMessage(ChatColor.RED + Lang.get("eventEditorNotFound")); return new ActionSelectEditPrompt(); } else { - return new ActionMenuPrompt(); + return new ActionMenuPrompt(context, ActionFactory.this); } } } @@ -638,7 +656,7 @@ public class ActionFactory implements ConversationAbandonedListener { ((Player) context.getForWhom()).sendMessage(ChatColor.RED + Lang.get("eventEditorNotFound")); return new ActionSelectDeletePrompt(); } else { - return new ActionMenuPrompt(); + return new ActionMenuPrompt(context, ActionFactory.this); } } } @@ -659,9 +677,9 @@ public class ActionFactory implements ConversationAbandonedListener { public Prompt acceptInput(ConversationContext context, String input) { if (input.equalsIgnoreCase("1") || input.equalsIgnoreCase(Lang.get("yesWord"))) { deleteAction(context); - return new ActionMenuPrompt(); + return new ActionMenuPrompt(context, ActionFactory.this); } else if (input.equalsIgnoreCase("2") || input.equalsIgnoreCase(Lang.get("noWord"))) { - return new ActionMenuPrompt(); + return new ActionMenuPrompt(context, ActionFactory.this); } else { return new ActionConfirmDeletePrompt(); } @@ -780,7 +798,7 @@ public class ActionFactory implements ConversationAbandonedListener { } else { context.setSessionData(CK.E_CLEAR_INVENTORY, Lang.get("yesWord")); } - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } else if (input.equalsIgnoreCase("3")) { return new ItemListPrompt(); } else if (input.equalsIgnoreCase("4")) { @@ -797,7 +815,7 @@ public class ActionFactory implements ConversationAbandonedListener { } else if (input.equalsIgnoreCase("9")) { return new CommandsPrompt(); } - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } } @@ -840,9 +858,9 @@ public class ActionFactory implements ConversationAbandonedListener { } else { context.setSessionData(CK.E_CANCEL_TIMER, Lang.get("yesWord")); } - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } } @@ -893,7 +911,7 @@ public class ActionFactory implements ConversationAbandonedListener { selectedExplosionLocations.put(((Player) context.getForWhom()).getUniqueId(), null); return new ExplosionPrompt(); } - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } } @@ -954,7 +972,7 @@ public class ActionFactory implements ConversationAbandonedListener { selectedLightningLocations.put(((Player) context.getForWhom()).getUniqueId(), null); return new LightningPrompt(); } - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } } @@ -963,7 +981,7 @@ public class ActionFactory implements ConversationAbandonedListener { @Override protected Prompt acceptValidatedInput(final ConversationContext context, final Number number) { context.setSessionData(CK.E_TIMER, number); - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } @Override @@ -1011,9 +1029,9 @@ public class ActionFactory implements ConversationAbandonedListener { public Prompt acceptInput(ConversationContext context, String input) { if (input.equalsIgnoreCase("1") || input.equalsIgnoreCase(Lang.get("yesWord"))) { saveAction(context); - return new ActionMenuPrompt(); + return new ActionMenuPrompt(context, ActionFactory.this); } else if (input.equalsIgnoreCase("2") || input.equalsIgnoreCase(Lang.get("noWord"))) { - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } else { return new SavePrompt(modName); } @@ -1037,7 +1055,7 @@ public class ActionFactory implements ConversationAbandonedListener { clearData(context); return Prompt.END_OF_CONVERSATION; } else if (input.equalsIgnoreCase("2") || input.equalsIgnoreCase(Lang.get("noWord"))) { - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } else { return new ExitPrompt(); } @@ -1337,14 +1355,14 @@ public class ActionFactory implements ConversationAbandonedListener { player.sendMessage(ChatColor.RED + Lang.get("eventEditorSelectBlockFirst")); return new ExplosionPrompt(); } - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } else if (input.equalsIgnoreCase(Lang.get("cmdClear"))) { context.setSessionData(CK.E_EXPLOSIONS, null); selectedExplosionLocations.remove(player.getUniqueId()); - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } else if (input.equalsIgnoreCase(Lang.get("cmdCancel"))) { selectedExplosionLocations.remove(player.getUniqueId()); - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } else { return new ExplosionPrompt(); } @@ -1379,7 +1397,7 @@ public class ActionFactory implements ConversationAbandonedListener { context.setSessionData(CK.E_NAME, input); names.add(input); } - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } } @@ -1398,7 +1416,7 @@ public class ActionFactory implements ConversationAbandonedListener { } else if (input.equalsIgnoreCase(Lang.get("cmdClear"))) { context.setSessionData(CK.E_MESSAGE, null); } - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } } @@ -1455,7 +1473,7 @@ public class ActionFactory implements ConversationAbandonedListener { context.setSessionData(CK.E_ITEMS, null); return new ItemListPrompt(); } else if (input.equalsIgnoreCase("3")) { - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } return null; } @@ -1539,7 +1557,7 @@ public class ActionFactory implements ConversationAbandonedListener { two = 0; } if (one == two) { - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } else { context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("listsNotSameSize")); return new SoundEffectListPrompt(); @@ -1704,7 +1722,7 @@ public class ActionFactory implements ConversationAbandonedListener { context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("eventEditorMustSetStormDuration")); return new StormPrompt(); } else { - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } } return null; @@ -1820,7 +1838,7 @@ public class ActionFactory implements ConversationAbandonedListener { context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("eventEditorMustSetThunderDuration")); return new ThunderPrompt(); } else { - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } } return null; @@ -1918,7 +1936,7 @@ public class ActionFactory implements ConversationAbandonedListener { context.setSessionData(CK.E_MOB_TYPES, null); return new MobPrompt(); } else if (input.equalsIgnoreCase("3")) { - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } } else { @SuppressWarnings("unchecked") @@ -1938,7 +1956,7 @@ public class ActionFactory implements ConversationAbandonedListener { context.setSessionData(CK.E_MOB_TYPES, null); return new MobPrompt(); } else if (inp == types.size() + 3) { - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } else if (inp > types.size()) { return new MobPrompt(); } else { @@ -2329,14 +2347,14 @@ public class ActionFactory implements ConversationAbandonedListener { player.sendMessage(ChatColor.RED + Lang.get("eventEditorSelectBlockFirst")); return new LightningPrompt(); } - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } else if (input.equalsIgnoreCase(Lang.get("cmdClear"))) { context.setSessionData(CK.E_LIGHTNING, null); selectedLightningLocations.remove(player.getUniqueId()); - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } else if (input.equalsIgnoreCase(Lang.get("cmdCancel"))) { selectedLightningLocations.remove(player.getUniqueId()); - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } else { return new LightningPrompt(); } @@ -2450,7 +2468,7 @@ public class ActionFactory implements ConversationAbandonedListener { three = 0; } if (one == two && two == three) { - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } else { context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("eventEditorListSizeMismatch")); return new PotionEffectPrompt(); @@ -2581,7 +2599,7 @@ public class ActionFactory implements ConversationAbandonedListener { } else { context.setSessionData(CK.E_HUNGER, null); } - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } } @@ -2612,7 +2630,7 @@ public class ActionFactory implements ConversationAbandonedListener { } else { context.setSessionData(CK.E_SATURATION, null); } - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } } @@ -2643,7 +2661,7 @@ public class ActionFactory implements ConversationAbandonedListener { } else { context.setSessionData(CK.E_HEALTH, null); } - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } } @@ -2667,14 +2685,14 @@ public class ActionFactory implements ConversationAbandonedListener { player.sendMessage(ChatColor.RED + Lang.get("eventEditorSelectBlockFirst")); return new TeleportPrompt(); } - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } else if (input.equalsIgnoreCase(Lang.get("cmdClear"))) { context.setSessionData(CK.E_TELEPORT, null); selectedTeleportLocations.remove(player.getUniqueId()); - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } else if (input.equalsIgnoreCase(Lang.get("cmdCancel"))) { selectedTeleportLocations.remove(player.getUniqueId()); - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } else { return new TeleportPrompt(); } @@ -2700,7 +2718,7 @@ public class ActionFactory implements ConversationAbandonedListener { } else if (input.equalsIgnoreCase(Lang.get("cmdClear"))) { context.setSessionData(CK.E_COMMANDS, null); } - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } } @@ -2732,7 +2750,7 @@ public class ActionFactory implements ConversationAbandonedListener { && input.equalsIgnoreCase(Lang.get("cmdClear")) == false) { if (plugin.getDependencies().getDenizenAPI().containsScript(input)) { context.setSessionData(CK.E_DENIZEN, input.toUpperCase()); - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } else { player.sendMessage(ChatColor.RED + Lang.get("stageEditorInvalidScript")); return new DenizenPrompt(); @@ -2740,9 +2758,9 @@ public class ActionFactory implements ConversationAbandonedListener { } else if (input.equalsIgnoreCase(Lang.get("cmdClear"))) { context.setSessionData(CK.E_DENIZEN, null); player.sendMessage(ChatColor.YELLOW + Lang.get("stageEditorDenizenCleared")); - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } else { - return new ActionMainPrompt(); + return new ActionMainPrompt(context, ActionFactory.this); } } } diff --git a/main/src/main/java/me/blackvein/quests/convo/QuestsNumericPrompt.java b/main/src/main/java/me/blackvein/quests/convo/QuestsNumericPrompt.java new file mode 100644 index 000000000..65f3d5f6c --- /dev/null +++ b/main/src/main/java/me/blackvein/quests/convo/QuestsNumericPrompt.java @@ -0,0 +1,23 @@ +package me.blackvein.quests.convo; + +import org.bukkit.conversations.NumericPrompt; +import org.bukkit.event.HandlerList; + +public abstract class QuestsNumericPrompt extends NumericPrompt { + private static final HandlerList HANDLERS = new HandlerList(); + + public QuestsNumericPrompt() { + } + + public String getName() { + return getClass().getSimpleName(); + } + + public HandlerList getHandlers() { + return HANDLERS; + } + + public static HandlerList getHandlerList() { + return HANDLERS; + } +} diff --git a/main/src/main/java/me/blackvein/quests/convo/QuestsStringPrompt.java b/main/src/main/java/me/blackvein/quests/convo/QuestsStringPrompt.java new file mode 100644 index 000000000..73ffb9f40 --- /dev/null +++ b/main/src/main/java/me/blackvein/quests/convo/QuestsStringPrompt.java @@ -0,0 +1,23 @@ +package me.blackvein.quests.convo; + +import org.bukkit.conversations.StringPrompt; +import org.bukkit.event.HandlerList; + +public abstract class QuestsStringPrompt extends StringPrompt { + private static final HandlerList HANDLERS = new HandlerList(); + + public QuestsStringPrompt() { + } + + public String getName() { + return getClass().getSimpleName(); + } + + public HandlerList getHandlers() { + return HANDLERS; + } + + public static HandlerList getHandlerList() { + return HANDLERS; + } +} diff --git a/main/src/main/java/me/blackvein/quests/events/editor/actions/ActionsEditorPostOpenSelectCreatePromptEvent.java b/main/src/main/java/me/blackvein/quests/convo/actions/ActionsEditorNumericPrompt.java similarity index 50% rename from main/src/main/java/me/blackvein/quests/events/editor/actions/ActionsEditorPostOpenSelectCreatePromptEvent.java rename to main/src/main/java/me/blackvein/quests/convo/actions/ActionsEditorNumericPrompt.java index 5e35e3cc2..c31c0b639 100644 --- a/main/src/main/java/me/blackvein/quests/events/editor/actions/ActionsEditorPostOpenSelectCreatePromptEvent.java +++ b/main/src/main/java/me/blackvein/quests/convo/actions/ActionsEditorNumericPrompt.java @@ -10,25 +10,42 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *******************************************************************************************************/ -package me.blackvein.quests.events.editor.actions; +package me.blackvein.quests.convo.actions; +import org.bukkit.ChatColor; import org.bukkit.conversations.ConversationContext; -import org.bukkit.event.HandlerList; -public class ActionsEditorPostOpenSelectCreatePromptEvent extends ActionsEditorEvent { - private static final HandlerList handlers = new HandlerList(); +import me.blackvein.quests.actions.ActionFactory; +import me.blackvein.quests.convo.QuestsNumericPrompt; - public ActionsEditorPostOpenSelectCreatePromptEvent(ConversationContext context) { - super(context); +public abstract class ActionsEditorNumericPrompt extends QuestsNumericPrompt { + private ConversationContext context; + private ActionFactory factory; + + public ActionsEditorNumericPrompt(final ConversationContext context, final ActionFactory factory) { this.context = context; - } - - @Override - public HandlerList getHandlers() { - return handlers; + this.factory = factory; } - public static HandlerList getHandlerList() { - return handlers; + public String getName() { + return getClass().getSimpleName(); } + + public ConversationContext getConversationContext() { + return context; + } + + public ActionFactory getActionFactory() { + return factory; + } + + public abstract int getSize(); + + public abstract String getTitle(ConversationContext context); + + public abstract ChatColor getNumberColor(ConversationContext context, int number); + + public abstract String getSelectionText(ConversationContext context, int number); + + public abstract String getAdditionalText(ConversationContext context, int number); } diff --git a/main/src/main/java/me/blackvein/quests/events/editor/actions/ActionsEditorPostOpenMenuPromptEvent.java b/main/src/main/java/me/blackvein/quests/convo/actions/ActionsEditorStringPrompt.java similarity index 57% rename from main/src/main/java/me/blackvein/quests/events/editor/actions/ActionsEditorPostOpenMenuPromptEvent.java rename to main/src/main/java/me/blackvein/quests/convo/actions/ActionsEditorStringPrompt.java index 9832227d4..30c87e6eb 100644 --- a/main/src/main/java/me/blackvein/quests/events/editor/actions/ActionsEditorPostOpenMenuPromptEvent.java +++ b/main/src/main/java/me/blackvein/quests/convo/actions/ActionsEditorStringPrompt.java @@ -10,25 +10,35 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *******************************************************************************************************/ -package me.blackvein.quests.events.editor.actions; +package me.blackvein.quests.convo.actions; import org.bukkit.conversations.ConversationContext; -import org.bukkit.event.HandlerList; -public class ActionsEditorPostOpenMenuPromptEvent extends ActionsEditorEvent { - private static final HandlerList handlers = new HandlerList(); +import me.blackvein.quests.actions.ActionFactory; +import me.blackvein.quests.convo.QuestsStringPrompt; - public ActionsEditorPostOpenMenuPromptEvent(ConversationContext context) { - super(context); +public abstract class ActionsEditorStringPrompt extends QuestsStringPrompt { + private ConversationContext context; + private ActionFactory factory; + + public ActionsEditorStringPrompt(final ConversationContext context, final ActionFactory factory) { this.context = context; - } - - @Override - public HandlerList getHandlers() { - return handlers; + this.factory = factory; } - public static HandlerList getHandlerList() { - return handlers; + public String getName() { + return getClass().getSimpleName(); } + + public ConversationContext getConversationContext() { + return context; + } + + public ActionFactory getActionFactory() { + return factory; + } + + public abstract String getTitle(ConversationContext context); + + public abstract String getQueryText(ConversationContext context); } diff --git a/main/src/main/java/me/blackvein/quests/prompts/QuestsNumericPrompt.java b/main/src/main/java/me/blackvein/quests/convo/quests/QuestsEditorNumericPrompt.java similarity index 85% rename from main/src/main/java/me/blackvein/quests/prompts/QuestsNumericPrompt.java rename to main/src/main/java/me/blackvein/quests/convo/quests/QuestsEditorNumericPrompt.java index 16475ac2e..a417cb7d8 100644 --- a/main/src/main/java/me/blackvein/quests/prompts/QuestsNumericPrompt.java +++ b/main/src/main/java/me/blackvein/quests/convo/quests/QuestsEditorNumericPrompt.java @@ -10,19 +10,19 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *******************************************************************************************************/ -package me.blackvein.quests.prompts; +package me.blackvein.quests.convo.quests; import org.bukkit.ChatColor; import org.bukkit.conversations.ConversationContext; -import org.bukkit.conversations.NumericPrompt; import me.blackvein.quests.QuestFactory; +import me.blackvein.quests.convo.QuestsNumericPrompt; -public abstract class QuestsNumericPrompt extends NumericPrompt { +public abstract class QuestsEditorNumericPrompt extends QuestsNumericPrompt { private ConversationContext context; private QuestFactory factory; - public QuestsNumericPrompt(final ConversationContext context, final QuestFactory factory) { + public QuestsEditorNumericPrompt(final ConversationContext context, final QuestFactory factory) { this.context = context; this.factory = factory; } diff --git a/main/src/main/java/me/blackvein/quests/prompts/QuestsStringPrompt.java b/main/src/main/java/me/blackvein/quests/convo/quests/QuestsEditorStringPrompt.java similarity index 84% rename from main/src/main/java/me/blackvein/quests/prompts/QuestsStringPrompt.java rename to main/src/main/java/me/blackvein/quests/convo/quests/QuestsEditorStringPrompt.java index 43d6562a9..a9a3dfa7c 100644 --- a/main/src/main/java/me/blackvein/quests/prompts/QuestsStringPrompt.java +++ b/main/src/main/java/me/blackvein/quests/convo/quests/QuestsEditorStringPrompt.java @@ -10,18 +10,18 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *******************************************************************************************************/ -package me.blackvein.quests.prompts; +package me.blackvein.quests.convo.quests; import org.bukkit.conversations.ConversationContext; -import org.bukkit.conversations.StringPrompt; import me.blackvein.quests.QuestFactory; +import me.blackvein.quests.convo.QuestsStringPrompt; -public abstract class QuestsStringPrompt extends StringPrompt { +public abstract class QuestsEditorStringPrompt extends QuestsStringPrompt { private ConversationContext context; private QuestFactory factory; - public QuestsStringPrompt(final ConversationContext context, final QuestFactory factory) { + public QuestsEditorStringPrompt(final ConversationContext context, final QuestFactory factory) { this.context = context; this.factory = factory; } diff --git a/main/src/main/java/me/blackvein/quests/prompts/quests/BlocksPrompt.java b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/BlocksPrompt.java similarity index 88% rename from main/src/main/java/me/blackvein/quests/prompts/quests/BlocksPrompt.java rename to main/src/main/java/me/blackvein/quests/convo/quests/prompts/BlocksPrompt.java index 107e43741..0fa2a121d 100644 --- a/main/src/main/java/me/blackvein/quests/prompts/quests/BlocksPrompt.java +++ b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/BlocksPrompt.java @@ -10,13 +10,15 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *******************************************************************************************************/ -package me.blackvein.quests.prompts.quests; +package me.blackvein.quests.convo.quests.prompts; import java.util.LinkedList; import java.util.List; import me.blackvein.quests.QuestFactory; import me.blackvein.quests.Quests; +import me.blackvein.quests.convo.quests.QuestsEditorNumericPrompt; +import me.blackvein.quests.events.editor.quests.QuestsEditorPostOpenNumericPromptEvent; import me.blackvein.quests.util.CK; import me.blackvein.quests.util.ItemUtil; import me.blackvein.quests.util.Lang; @@ -28,113 +30,177 @@ import org.bukkit.conversations.FixedSetPrompt; import org.bukkit.conversations.Prompt; import org.bukkit.conversations.StringPrompt; -public class BlocksPrompt extends FixedSetPrompt { +public class BlocksPrompt extends QuestsEditorNumericPrompt { private final Quests plugin; private final int stageNum; private final String pref; - private final QuestFactory questFactory; + private final QuestFactory factory; - public BlocksPrompt(Quests plugin, int stageNum, QuestFactory qf) { - super("1", "2", "3", "4", "5", "6"); + public BlocksPrompt(Quests plugin, int stageNum, ConversationContext context, QuestFactory qf) { + super(context, qf); this.plugin = plugin; this.stageNum = stageNum; this.pref = "stage" + stageNum; - this.questFactory = qf; + this.factory = qf; + } + + private final int size = 6; + + public int getSize() { + return size; + } + + public String getTitle(ConversationContext context) { + return Lang.get("stageEditorBlocks"); + } + + public ChatColor getNumberColor(ConversationContext context, int number) { + switch (number) { + case 1: + case 2: + case 3: + case 4: + case 5: + return ChatColor.BLUE; + case 6: + return ChatColor.GREEN; + default: + return null; + } + } + + public String getSelectionText(ConversationContext context, int number) { + switch(number) { + case 1: + return ChatColor.YELLOW + Lang.get("stageEditorBreakBlocks"); + case 2: + return ChatColor.YELLOW + Lang.get("stageEditorDamageBlocks"); + case 3: + return ChatColor.YELLOW + Lang.get("stageEditorPlaceBlocks"); + case 4: + return ChatColor.YELLOW + Lang.get("stageEditorUseBlocks"); + case 5: + return ChatColor.YELLOW + Lang.get("stageEditorCutBlocks"); + case 6: + return ChatColor.GREEN + Lang.get("done"); + default: + return null; + } + } + + @SuppressWarnings("unchecked") + public String getAdditionalText(ConversationContext context, int number) { + switch(number) { + case 1: + if (context.getSessionData(pref + CK.S_BREAK_NAMES) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else { + String text = "\n"; + LinkedList names = (LinkedList) context.getSessionData(pref + CK.S_BREAK_NAMES); + LinkedList amnts = (LinkedList) context.getSessionData(pref + CK.S_BREAK_AMOUNTS); + for (int i = 0; i < names.size(); i++) { + text += ChatColor.GRAY + " - " + ChatColor.BLUE + ItemUtil.getPrettyItemName(names.get(i)) + + ChatColor.GRAY + " x " + ChatColor.DARK_AQUA + amnts.get(i) + "\n"; + } + return text; + } + case 2: + if (context.getSessionData(pref + CK.S_DAMAGE_NAMES) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else { + String text = "\n"; + LinkedList names = (LinkedList) context.getSessionData(pref + CK.S_DAMAGE_NAMES); + LinkedList amnts = (LinkedList) context.getSessionData(pref + CK.S_DAMAGE_AMOUNTS); + for (int i = 0; i < names.size(); i++) { + text += ChatColor.GRAY + " - " + ChatColor.BLUE + ItemUtil.getPrettyItemName(names.get(i)) + + ChatColor.GRAY + " x " + ChatColor.DARK_AQUA + amnts.get(i) + "\n"; + } + return text; + } + case 3: + if (context.getSessionData(pref + CK.S_PLACE_NAMES) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else { + String text = "\n"; + LinkedList names = (LinkedList) context.getSessionData(pref + CK.S_PLACE_NAMES); + LinkedList amnts = (LinkedList) context.getSessionData(pref + CK.S_PLACE_AMOUNTS); + for (int i = 0; i < names.size(); i++) { + text += ChatColor.GRAY + " - " + ChatColor.BLUE + ItemUtil.getPrettyItemName(names.get(i)) + + ChatColor.GRAY + " x " + ChatColor.DARK_AQUA + amnts.get(i) + "\n"; + } + return text; + } + case 4: + if (context.getSessionData(pref + CK.S_USE_NAMES) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else { + String text = "\n"; + LinkedList names = (LinkedList) context.getSessionData(pref + CK.S_USE_NAMES); + LinkedList amnts = (LinkedList) context.getSessionData(pref + CK.S_USE_AMOUNTS); + for (int i = 0; i < names.size(); i++) { + text += ChatColor.GRAY + " - " + ChatColor.BLUE + ItemUtil.getPrettyItemName(names.get(i)) + + ChatColor.GRAY + " x " + ChatColor.DARK_AQUA + amnts.get(i) + "\n"; + } + return text; + } + case 5: + if (context.getSessionData(pref + CK.S_CUT_NAMES) == null) { + return ChatColor.GRAY + " (" + Lang.get("noneSet") + ")"; + } else { + String text = "\n"; + LinkedList names = (LinkedList) context.getSessionData(pref + CK.S_CUT_NAMES); + LinkedList amnts = (LinkedList) context.getSessionData(pref + CK.S_CUT_AMOUNTS); + for (int i = 0; i < names.size(); i++) { + text += ChatColor.GRAY + " - " + ChatColor.BLUE + ItemUtil.getPrettyItemName(names.get(i)) + + ChatColor.GRAY + " x " + ChatColor.DARK_AQUA + amnts.get(i) + "\n"; + } + return text; + } + case 6: + return ""; + default: + return null; + } } - @SuppressWarnings("unchecked") @Override public String getPromptText(ConversationContext context) { context.setSessionData(pref, Boolean.TRUE); - String text = ChatColor.AQUA + "- " + Lang.get("stageEditorBlocks") + " -\n"; - if (context.getSessionData(pref + CK.S_BREAK_NAMES) == null) { - text += ChatColor.LIGHT_PURPLE + "" + ChatColor.BOLD + "1 " + ChatColor.RESET + ChatColor.LIGHT_PURPLE - + "- " + Lang.get("stageEditorBreakBlocks") + ChatColor.GRAY + " (" + Lang.get("noneSet") + ")\n"; - } else { - text += ChatColor.LIGHT_PURPLE + "" + ChatColor.BOLD + "1 " + ChatColor.RESET + ChatColor.LIGHT_PURPLE - + "- " + Lang.get("stageEditorBreakBlocks") + "\n"; - LinkedList names = (LinkedList) context.getSessionData(pref + CK.S_BREAK_NAMES); - LinkedList amnts = (LinkedList) context.getSessionData(pref + CK.S_BREAK_AMOUNTS); - for (int i = 0; i < names.size(); i++) { - text += ChatColor.GRAY + " - " + ChatColor.BLUE + ItemUtil.getPrettyItemName(names.get(i)) - + ChatColor.GRAY + " x " + ChatColor.DARK_AQUA + amnts.get(i) + "\n"; - } + + QuestsEditorPostOpenNumericPromptEvent event + = new QuestsEditorPostOpenNumericPromptEvent(context, factory, this); + plugin.getServer().getPluginManager().callEvent(event); + + String text = ChatColor.AQUA + "- " + getTitle(context) + " -\n"; + for (int i = 1; i <= size; i++) { + text += getNumberColor(context, i) + "" + ChatColor.BOLD + i + ChatColor.RESET + " - " + + getSelectionText(context, i) + " " + getAdditionalText(context, i) + "\n"; } - if (context.getSessionData(pref + CK.S_DAMAGE_NAMES) == null) { - text += ChatColor.LIGHT_PURPLE + "" + ChatColor.BOLD + "2 " + ChatColor.RESET + ChatColor.LIGHT_PURPLE - + "- " + Lang.get("stageEditorDamageBlocks") + ChatColor.GRAY + " (" + Lang.get("noneSet") + ")\n"; - } else { - text += ChatColor.LIGHT_PURPLE + "" + ChatColor.BOLD + "2 " + ChatColor.RESET + ChatColor.LIGHT_PURPLE - + "- " + Lang.get("stageEditorDamageBlocks") + "\n"; - LinkedList names = (LinkedList) context.getSessionData(pref + CK.S_DAMAGE_NAMES); - LinkedList amnts = (LinkedList) context.getSessionData(pref + CK.S_DAMAGE_AMOUNTS); - for (int i = 0; i < names.size(); i++) { - text += ChatColor.GRAY + " - " + ChatColor.BLUE + ItemUtil.getPrettyItemName(names.get(i)) - + ChatColor.GRAY + " x " + ChatColor.DARK_AQUA + amnts.get(i) + "\n"; - } - } - if (context.getSessionData(pref + CK.S_PLACE_NAMES) == null) { - text += ChatColor.LIGHT_PURPLE + "" + ChatColor.BOLD + "3 " + ChatColor.RESET + ChatColor.LIGHT_PURPLE - + "- " + Lang.get("stageEditorPlaceBlocks") + ChatColor.GRAY + " (" + Lang.get("noneSet") + ")\n"; - } else { - text += ChatColor.LIGHT_PURPLE + "" + ChatColor.BOLD + "3 " + ChatColor.RESET + ChatColor.LIGHT_PURPLE - + "- " + Lang.get("stageEditorPlaceBlocks") + "\n"; - LinkedList names = (LinkedList) context.getSessionData(pref + CK.S_PLACE_NAMES); - LinkedList amnts = (LinkedList) context.getSessionData(pref + CK.S_PLACE_AMOUNTS); - for (int i = 0; i < names.size(); i++) { - text += ChatColor.GRAY + " - " + ChatColor.BLUE + ItemUtil.getPrettyItemName(names.get(i)) - + ChatColor.GRAY + " x " + ChatColor.DARK_AQUA + amnts.get(i) + "\n"; - } - } - if (context.getSessionData(pref + CK.S_USE_NAMES) == null) { - text += ChatColor.LIGHT_PURPLE + "" + ChatColor.BOLD + "4 " + ChatColor.RESET + ChatColor.LIGHT_PURPLE - + "- " + Lang.get("stageEditorUseBlocks") + ChatColor.GRAY + " (" + Lang.get("noneSet") + ")\n"; - } else { - text += ChatColor.LIGHT_PURPLE + "" + ChatColor.BOLD + "4 " + ChatColor.RESET + ChatColor.LIGHT_PURPLE - + "- " + Lang.get("stageEditorUseBlocks") + "\n"; - LinkedList names = (LinkedList) context.getSessionData(pref + CK.S_USE_NAMES); - LinkedList amnts = (LinkedList) context.getSessionData(pref + CK.S_USE_AMOUNTS); - for (int i = 0; i < names.size(); i++) { - text += ChatColor.GRAY + " - " + ChatColor.BLUE + ItemUtil.getPrettyItemName(names.get(i)) - + ChatColor.GRAY + " x " + ChatColor.DARK_AQUA + amnts.get(i) + "\n"; - } - } - if (context.getSessionData(pref + CK.S_CUT_NAMES) == null) { - text += ChatColor.LIGHT_PURPLE + "" + ChatColor.BOLD + "5 " + ChatColor.RESET + ChatColor.LIGHT_PURPLE - + "- " + Lang.get("stageEditorCutBlocks") + ChatColor.GRAY + " (" + Lang.get("noneSet") + ")\n"; - } else { - text += ChatColor.LIGHT_PURPLE + "" + ChatColor.BOLD + "5 " + ChatColor.RESET + ChatColor.LIGHT_PURPLE - + "- " + Lang.get("stageEditorCutBlocks") + "\n"; - LinkedList names = (LinkedList) context.getSessionData(pref + CK.S_CUT_NAMES); - LinkedList amnts = (LinkedList) context.getSessionData(pref + CK.S_CUT_AMOUNTS); - for (int i = 0; i < names.size(); i++) { - text += ChatColor.GRAY + " - " + ChatColor.BLUE + ItemUtil.getPrettyItemName(names.get(i)) - + ChatColor.GRAY + " x " + ChatColor.DARK_AQUA + amnts.get(i) + "\n"; - } - } - text += ChatColor.GREEN + "" + ChatColor.BOLD + "6 " + ChatColor.RESET + ChatColor.DARK_PURPLE + "- " - + Lang.get("done") + "\n"; return text; } @Override - protected Prompt acceptValidatedInput(ConversationContext context, String input) { - if (input.equalsIgnoreCase("1")) { + protected Prompt acceptValidatedInput(ConversationContext context, Number input) { + switch(input.intValue()) { + case 1: return new BreakBlockListPrompt(); - } else if (input.equalsIgnoreCase("2")) { + case 2: return new DamageBlockListPrompt(); - } else if (input.equalsIgnoreCase("3")) { + case 3: return new PlaceBlockListPrompt(); - } else if (input.equalsIgnoreCase("4")) { + case 4: return new UseBlockListPrompt(); - } else if (input.equalsIgnoreCase("5")) { + case 5: return new CutBlockListPrompt(); - } - try { - return new StageMainPrompt(plugin, stageNum, context, questFactory); - } catch (Exception e) { - context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("itemCreateCriticalError")); - return Prompt.END_OF_CONVERSATION; + case 6: + try { + return new StageMainPrompt(plugin, stageNum, context, factory); + } catch (Exception e) { + context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("itemCreateCriticalError")); + return Prompt.END_OF_CONVERSATION; + } + default: + return null; } } @@ -244,7 +310,7 @@ public class BlocksPrompt extends FixedSetPrompt { elements.add((short) 0); } context.setSessionData(pref + CK.S_BREAK_DURABILITY, elements); - return new BlocksPrompt(plugin, stageNum, questFactory); + return new BlocksPrompt(plugin, stageNum, context, factory); } else { context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("listsNotSameSize")); return new BreakBlockListPrompt(); @@ -481,7 +547,7 @@ public class BlocksPrompt extends FixedSetPrompt { elements.add((short) 0); } context.setSessionData(pref + CK.S_DAMAGE_DURABILITY, elements); - return new BlocksPrompt(plugin, stageNum, questFactory); + return new BlocksPrompt(plugin, stageNum, context, factory); } else { context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("listsNotSameSize")); return new DamageBlockListPrompt(); @@ -718,7 +784,7 @@ public class BlocksPrompt extends FixedSetPrompt { elements.add((short) 0); } context.setSessionData(pref + CK.S_PLACE_DURABILITY, elements); - return new BlocksPrompt(plugin, stageNum, questFactory); + return new BlocksPrompt(plugin, stageNum, context, factory); } else { context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("listsNotSameSize")); return new PlaceBlockListPrompt(); @@ -955,7 +1021,7 @@ public class BlocksPrompt extends FixedSetPrompt { elements.add((short) 0); } context.setSessionData(pref + CK.S_USE_DURABILITY, elements); - return new BlocksPrompt(plugin, stageNum, questFactory); + return new BlocksPrompt(plugin, stageNum, context, factory); } else { context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("listsNotSameSize")); return new UseBlockListPrompt(); @@ -1192,7 +1258,7 @@ public class BlocksPrompt extends FixedSetPrompt { elements.add((short) 0); } context.setSessionData(pref + CK.S_CUT_DURABILITY, elements); - return new BlocksPrompt(plugin, stageNum, questFactory); + return new BlocksPrompt(plugin, stageNum, context, factory); } else { context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("listsNotSameSize")); return new CutBlockListPrompt(); diff --git a/main/src/main/java/me/blackvein/quests/prompts/quests/DateTimePrompt.java b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/DateTimePrompt.java similarity index 97% rename from main/src/main/java/me/blackvein/quests/prompts/quests/DateTimePrompt.java rename to main/src/main/java/me/blackvein/quests/convo/quests/prompts/DateTimePrompt.java index 3ac215cdb..6fe3a867a 100644 --- a/main/src/main/java/me/blackvein/quests/prompts/quests/DateTimePrompt.java +++ b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/DateTimePrompt.java @@ -10,7 +10,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *******************************************************************************************************/ -package me.blackvein.quests.prompts.quests; +package me.blackvein.quests.convo.quests.prompts; import java.text.DecimalFormat; import java.text.SimpleDateFormat; diff --git a/main/src/main/java/me/blackvein/quests/prompts/quests/GUIDisplayPrompt.java b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/GUIDisplayPrompt.java similarity index 72% rename from main/src/main/java/me/blackvein/quests/prompts/quests/GUIDisplayPrompt.java rename to main/src/main/java/me/blackvein/quests/convo/quests/prompts/GUIDisplayPrompt.java index 7853934ae..3d5212649 100644 --- a/main/src/main/java/me/blackvein/quests/prompts/quests/GUIDisplayPrompt.java +++ b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/GUIDisplayPrompt.java @@ -1,4 +1,4 @@ -package me.blackvein.quests.prompts.quests; +package me.blackvein.quests.convo.quests.prompts; import org.bukkit.ChatColor; import org.bukkit.conversations.ConversationContext; @@ -8,13 +8,13 @@ import org.bukkit.inventory.ItemStack; import me.blackvein.quests.Quest; import me.blackvein.quests.QuestFactory; import me.blackvein.quests.Quests; +import me.blackvein.quests.convo.quests.QuestsEditorNumericPrompt; import me.blackvein.quests.events.editor.quests.QuestsEditorPostOpenNumericPromptEvent; -import me.blackvein.quests.prompts.QuestsNumericPrompt; import me.blackvein.quests.util.CK; import me.blackvein.quests.util.ItemUtil; import me.blackvein.quests.util.Lang; -public class GUIDisplayPrompt extends QuestsNumericPrompt { +public class GUIDisplayPrompt extends QuestsEditorNumericPrompt { private final Quests plugin; private final QuestFactory factory; @@ -36,27 +36,27 @@ public class GUIDisplayPrompt extends QuestsNumericPrompt { public ChatColor getNumberColor(ConversationContext context, int number) { switch (number) { - case 1: - return ChatColor.BLUE; - case 2: - return ChatColor.RED; - case 3: - return ChatColor.GREEN; - default: - return null; + case 1: + return ChatColor.BLUE; + case 2: + return ChatColor.RED; + case 3: + return ChatColor.GREEN; + default: + return null; } } public String getSelectionText(ConversationContext context, int number) { switch (number) { - case 1: - return ChatColor.YELLOW + Lang.get("stageEditorDeliveryAddItem"); - case 2: - return ChatColor.YELLOW + Lang.get("clear"); - case 3: - return ChatColor.YELLOW + Lang.get("done"); - default: - return null; + case 1: + return ChatColor.YELLOW + Lang.get("stageEditorDeliveryAddItem"); + case 2: + return ChatColor.YELLOW + Lang.get("clear"); + case 3: + return ChatColor.YELLOW + Lang.get("done"); + default: + return null; } } @@ -106,16 +106,16 @@ public class GUIDisplayPrompt extends QuestsNumericPrompt { @Override protected Prompt acceptValidatedInput(ConversationContext context, Number input) { switch (input.intValue()) { - case 1: - return new ItemStackPrompt(GUIDisplayPrompt.this); - case 2: - context.setSessionData(CK.Q_GUIDISPLAY, null); - context.getForWhom().sendRawMessage(ChatColor.YELLOW + Lang.get("questGUICleared")); - return new GUIDisplayPrompt(plugin, context, factory); - case 3: - return factory.returnToMenu(context); - default: - return null; + case 1: + return new ItemStackPrompt(GUIDisplayPrompt.this); + case 2: + context.setSessionData(CK.Q_GUIDISPLAY, null); + context.getForWhom().sendRawMessage(ChatColor.YELLOW + Lang.get("questGUICleared")); + return new GUIDisplayPrompt(plugin, context, factory); + case 3: + return factory.returnToMenu(context); + default: + return null; } } } diff --git a/main/src/main/java/me/blackvein/quests/prompts/quests/ItemStackPrompt.java b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/ItemStackPrompt.java similarity index 99% rename from main/src/main/java/me/blackvein/quests/prompts/quests/ItemStackPrompt.java rename to main/src/main/java/me/blackvein/quests/convo/quests/prompts/ItemStackPrompt.java index 5731d5d56..8cd3b6327 100644 --- a/main/src/main/java/me/blackvein/quests/prompts/quests/ItemStackPrompt.java +++ b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/ItemStackPrompt.java @@ -10,7 +10,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *******************************************************************************************************/ -package me.blackvein.quests.prompts.quests; +package me.blackvein.quests.convo.quests.prompts; import java.util.ArrayList; import java.util.Arrays; diff --git a/main/src/main/java/me/blackvein/quests/prompts/quests/ItemsPrompt.java b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/ItemsPrompt.java similarity index 96% rename from main/src/main/java/me/blackvein/quests/prompts/quests/ItemsPrompt.java rename to main/src/main/java/me/blackvein/quests/convo/quests/prompts/ItemsPrompt.java index 2c2103db5..da4865716 100644 --- a/main/src/main/java/me/blackvein/quests/prompts/quests/ItemsPrompt.java +++ b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/ItemsPrompt.java @@ -10,7 +10,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *******************************************************************************************************/ -package me.blackvein.quests.prompts.quests; +package me.blackvein.quests.convo.quests.prompts; import java.util.LinkedList; import java.util.List; @@ -35,14 +35,14 @@ public class ItemsPrompt extends FixedSetPrompt { private final Quests plugin; private final int stageNum; private final String pref; - private final QuestFactory questFactory; + private final QuestFactory factory; public ItemsPrompt(Quests plugin, int stageNum, QuestFactory qf) { super("1", "2", "3", "4", "5"); this.plugin = plugin; this.stageNum = stageNum; this.pref = "stage" + stageNum; - this.questFactory = qf; + this.factory = qf; } @SuppressWarnings("unchecked") @@ -133,7 +133,7 @@ public class ItemsPrompt extends FixedSetPrompt { return new BrewListPrompt(); } try { - return new StageMainPrompt(plugin, stageNum, context, questFactory); + return new StageMainPrompt(plugin, stageNum, context, factory); } catch (Exception e) { context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("itemCreateCriticalError")); return Prompt.END_OF_CONVERSATION; @@ -190,7 +190,7 @@ public class ItemsPrompt extends FixedSetPrompt { context.setSessionData(pref + CK.S_CRAFT_ITEMS, null); return new CraftListPrompt(); } else if (input.equalsIgnoreCase("3")) { - return new ItemsPrompt(plugin, stageNum, questFactory); + return new ItemsPrompt(plugin, stageNum, factory); } return null; } @@ -251,7 +251,7 @@ public class ItemsPrompt extends FixedSetPrompt { context.setSessionData(pref + CK.S_SMELT_ITEMS, null); return new SmeltListPrompt(); } else if (input.equalsIgnoreCase("3")) { - return new ItemsPrompt(plugin, stageNum, questFactory); + return new ItemsPrompt(plugin, stageNum, factory); } return null; } @@ -361,7 +361,7 @@ public class ItemsPrompt extends FixedSetPrompt { three = 0; } if (one == two && two == three) { - return new ItemsPrompt(plugin, stageNum, questFactory); + return new ItemsPrompt(plugin, stageNum, factory); } else { context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("listsNotSameSize")); return new EnchantmentListPrompt(); @@ -549,7 +549,7 @@ public class ItemsPrompt extends FixedSetPrompt { context.setSessionData(pref + CK.S_BREW_ITEMS, null); return new BrewListPrompt(); } else if (input.equalsIgnoreCase("3")) { - return new ItemsPrompt(plugin, stageNum, questFactory); + return new ItemsPrompt(plugin, stageNum, factory); } return null; } diff --git a/main/src/main/java/me/blackvein/quests/prompts/quests/MobsPrompt.java b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/MobsPrompt.java similarity index 96% rename from main/src/main/java/me/blackvein/quests/prompts/quests/MobsPrompt.java rename to main/src/main/java/me/blackvein/quests/convo/quests/prompts/MobsPrompt.java index 786c3ccd5..7a4213056 100644 --- a/main/src/main/java/me/blackvein/quests/prompts/quests/MobsPrompt.java +++ b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/MobsPrompt.java @@ -10,7 +10,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *******************************************************************************************************/ -package me.blackvein.quests.prompts.quests; +package me.blackvein.quests.convo.quests.prompts; import java.util.Arrays; import java.util.LinkedList; @@ -41,14 +41,14 @@ public class MobsPrompt extends FixedSetPrompt { private final Quests plugin; private final int stageNum; private final String pref; - private final QuestFactory questFactory; + private final QuestFactory factory; public MobsPrompt(Quests plugin, int stageNum, QuestFactory qf) { super("1", "2", "3", "4", "5", "6"); this.plugin = plugin; this.stageNum = stageNum; this.pref = "stage" + stageNum; - this.questFactory = qf; + this.factory = qf; } @SuppressWarnings("unchecked") @@ -149,7 +149,7 @@ public class MobsPrompt extends FixedSetPrompt { return new ShearListPrompt(); } try { - return new StageMainPrompt(plugin, stageNum, context, questFactory); + return new StageMainPrompt(plugin, stageNum, context, factory); } catch (Exception e) { context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("itemCreateCriticalError")); return Prompt.END_OF_CONVERSATION; @@ -252,9 +252,9 @@ public class MobsPrompt extends FixedSetPrompt { context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("stageEditorNoMobTypes")); return new MobListPrompt(); } else { - Map temp = questFactory.getSelectedKillLocations(); + Map temp = factory.getSelectedKillLocations(); temp.put(((Player) context.getForWhom()).getUniqueId(), null); - questFactory.setSelectedKillLocations(temp); + factory.setSelectedKillLocations(temp); return new MobLocationPrompt(); } } else if (input.equalsIgnoreCase("4")) { @@ -313,13 +313,13 @@ public class MobsPrompt extends FixedSetPrompt { if (one == two) { if (three != 0 || four != 0 || five != 0) { if (two == three && three == four && four == five) { - return new StageMainPrompt(plugin, stageNum, context, questFactory); + return new StageMainPrompt(plugin, stageNum, context, factory); } else { context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("listsNotSameSize")); return new MobListPrompt(); } } else { - return new StageMainPrompt(plugin, stageNum, context, questFactory); + return new StageMainPrompt(plugin, stageNum, context, factory); } } else { context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("listsNotSameSize")); @@ -443,7 +443,7 @@ public class MobsPrompt extends FixedSetPrompt { public Prompt acceptInput(ConversationContext context, String input) { Player player = (Player) context.getForWhom(); if (input.equalsIgnoreCase(Lang.get("cmdAdd"))) { - Block block = questFactory.getSelectedKillLocations().get(player.getUniqueId()); + Block block = factory.getSelectedKillLocations().get(player.getUniqueId()); if (block != null) { Location loc = block.getLocation(); LinkedList locs; @@ -454,18 +454,18 @@ public class MobsPrompt extends FixedSetPrompt { } locs.add(ConfigUtil.getLocationInfo(loc)); context.setSessionData(pref + CK.S_MOB_KILL_LOCATIONS, locs); - Map temp = questFactory.getSelectedKillLocations(); + Map temp = factory.getSelectedKillLocations(); temp.remove(player.getUniqueId()); - questFactory.setSelectedKillLocations(temp); + factory.setSelectedKillLocations(temp); } else { player.sendMessage(ChatColor.RED + Lang.get("stageEditorNoBlock")); return new MobLocationPrompt(); } return new MobListPrompt(); } else if (input.equalsIgnoreCase(Lang.get("cmdCancel"))) { - Map temp = questFactory.getSelectedKillLocations(); + Map temp = factory.getSelectedKillLocations(); temp.remove(player.getUniqueId()); - questFactory.setSelectedKillLocations(temp); + factory.setSelectedKillLocations(temp); return new MobListPrompt(); } else { return new MobLocationPrompt(); @@ -551,7 +551,7 @@ public class MobsPrompt extends FixedSetPrompt { } else if (input.equalsIgnoreCase(Lang.get("cmdClear"))) { context.setSessionData(pref + CK.S_FISH, null); } - return new StageMainPrompt(plugin, stageNum, context, questFactory); + return new StageMainPrompt(plugin, stageNum, context, factory); } } @@ -582,7 +582,7 @@ public class MobsPrompt extends FixedSetPrompt { } else if (input.equalsIgnoreCase(Lang.get("cmdClear"))) { context.setSessionData(pref + CK.S_COW_MILK, null); } - return new StageMainPrompt(plugin, stageNum, context, questFactory); + return new StageMainPrompt(plugin, stageNum, context, factory); } } @@ -659,7 +659,7 @@ public class MobsPrompt extends FixedSetPrompt { two = 0; } if (one == two) { - return new StageMainPrompt(plugin, stageNum, context, questFactory); + return new StageMainPrompt(plugin, stageNum, context, factory); } else { context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("listsNotSameSize")); return new TameListPrompt(); @@ -829,7 +829,7 @@ public class MobsPrompt extends FixedSetPrompt { two = 0; } if (one == two) { - return new StageMainPrompt(plugin, stageNum, context, questFactory); + return new StageMainPrompt(plugin, stageNum, context, factory); } else { context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("listsNotSameSize")); return new ShearListPrompt(); diff --git a/main/src/main/java/me/blackvein/quests/prompts/quests/NPCsPrompt.java b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/NPCsPrompt.java similarity index 95% rename from main/src/main/java/me/blackvein/quests/prompts/quests/NPCsPrompt.java rename to main/src/main/java/me/blackvein/quests/convo/quests/prompts/NPCsPrompt.java index e4b4bf774..b66e83ac2 100644 --- a/main/src/main/java/me/blackvein/quests/prompts/quests/NPCsPrompt.java +++ b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/NPCsPrompt.java @@ -10,7 +10,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *******************************************************************************************************/ -package me.blackvein.quests.prompts.quests; +package me.blackvein.quests.convo.quests.prompts; import java.util.Arrays; import java.util.HashSet; @@ -35,14 +35,14 @@ public class NPCsPrompt extends FixedSetPrompt { private final Quests plugin; private final int stageNum; private final String pref; - private final QuestFactory questFactory; + private final QuestFactory factory; public NPCsPrompt(Quests plugin, int stageNum, QuestFactory qf) { super("1", "2", "3", "4"); this.plugin = plugin; this.stageNum = stageNum; this.pref = "stage" + stageNum; - this.questFactory = qf; + this.factory = qf; } @SuppressWarnings("unchecked") @@ -127,25 +127,25 @@ public class NPCsPrompt extends FixedSetPrompt { return new DeliveryListPrompt(); } else { context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("stageEditorNoCitizens")); - return new StageMainPrompt(plugin, stageNum, context, questFactory); + return new StageMainPrompt(plugin, stageNum, context, factory); } } else if (input.equalsIgnoreCase("2")) { if (plugin.getDependencies().getCitizens() != null) { return new NPCIDsToTalkToPrompt(); } else { context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("stageEditorNoCitizens")); - return new StageMainPrompt(plugin, stageNum, context, questFactory); + return new StageMainPrompt(plugin, stageNum, context, factory); } } else if (input.equalsIgnoreCase("3")) { if (plugin.getDependencies().getCitizens() != null) { return new NPCKillListPrompt(); } else { context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("stageEditorNoCitizens")); - return new StageMainPrompt(plugin, stageNum, context, questFactory); + return new StageMainPrompt(plugin, stageNum, context, factory); } } try { - return new StageMainPrompt(plugin, stageNum, context, questFactory); + return new StageMainPrompt(plugin, stageNum, context, factory); } catch (Exception e) { context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("itemCreateCriticalError")); return Prompt.END_OF_CONVERSATION; @@ -264,7 +264,7 @@ public class NPCsPrompt extends FixedSetPrompt { context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("stageEditorNoDeliveryMessage")); return new DeliveryListPrompt(); } else { - return new NPCsPrompt(plugin, stageNum, questFactory); + return new NPCsPrompt(plugin, stageNum, factory); } } else { context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("listsNotSameSize")); @@ -294,9 +294,9 @@ public class NPCsPrompt extends FixedSetPrompt { @Override public String getPromptText(ConversationContext context) { - HashSet temp = questFactory.getSelectingNpcs(); + HashSet temp = factory.getSelectingNpcs(); temp.add((Player) context.getForWhom()); - questFactory.setSelectingNpcs(temp); + factory.setSelectingNpcs(temp); return ChatColor.YELLOW + Lang.get("stageEditorNPCPrompt") + "\n" + ChatColor.GOLD + Lang.get("npcHint"); } @@ -323,9 +323,9 @@ public class NPCsPrompt extends FixedSetPrompt { } context.setSessionData(pref + CK.S_DELIVERY_NPCS, npcs); } - HashSet temp = questFactory.getSelectingNpcs(); + HashSet temp = factory.getSelectingNpcs(); temp.remove((Player) context.getForWhom()); - questFactory.setSelectingNpcs(temp); + factory.setSelectingNpcs(temp); return new DeliveryListPrompt(); } } @@ -354,9 +354,9 @@ public class NPCsPrompt extends FixedSetPrompt { @Override public String getPromptText(ConversationContext context) { - HashSet temp = questFactory.getSelectingNpcs(); + HashSet temp = factory.getSelectingNpcs(); temp.add((Player) context.getForWhom()); - questFactory.setSelectingNpcs(temp); + factory.setSelectingNpcs(temp); return ChatColor.YELLOW + Lang.get("stageEditorNPCToTalkToPrompt") + "\n" + ChatColor.GOLD + Lang.get("npcHint"); } @@ -383,14 +383,14 @@ public class NPCsPrompt extends FixedSetPrompt { return new NPCIDsToTalkToPrompt(); } } - HashSet temp = questFactory.getSelectingNpcs(); + HashSet temp = factory.getSelectingNpcs(); temp.remove((Player) context.getForWhom()); - questFactory.setSelectingNpcs(temp); + factory.setSelectingNpcs(temp); context.setSessionData(pref + CK.S_NPCS_TO_TALK_TO, npcs); } else if (input.equalsIgnoreCase(Lang.get("cmdClear"))) { context.setSessionData(pref + CK.S_NPCS_TO_TALK_TO, null); } - return new StageMainPrompt(plugin, stageNum, context, questFactory); + return new StageMainPrompt(plugin, stageNum, context, factory); } } @@ -469,7 +469,7 @@ public class NPCsPrompt extends FixedSetPrompt { two = 0; } if (one == two) { - return new StageMainPrompt(plugin, stageNum, context, questFactory); + return new StageMainPrompt(plugin, stageNum, context, factory); } else { context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("listsNotSameSize")); return new NPCKillListPrompt(); @@ -493,9 +493,9 @@ public class NPCsPrompt extends FixedSetPrompt { @Override public String getPromptText(ConversationContext context) { - HashSet temp = questFactory.getSelectingNpcs(); + HashSet temp = factory.getSelectingNpcs(); temp.add((Player) context.getForWhom()); - questFactory.setSelectingNpcs(temp); + factory.setSelectingNpcs(temp); return ChatColor.YELLOW + Lang.get("stageEditorNPCPrompt") + "\n" + ChatColor.GOLD + Lang.get("npcHint"); } @@ -522,9 +522,9 @@ public class NPCsPrompt extends FixedSetPrompt { } context.setSessionData(pref + CK.S_NPCS_TO_KILL, npcs); } - HashSet temp = questFactory.getSelectingNpcs(); + HashSet temp = factory.getSelectingNpcs(); temp.remove((Player) context.getForWhom()); - questFactory.setSelectingNpcs(temp); + factory.setSelectingNpcs(temp); return new NPCKillListPrompt(); } } diff --git a/main/src/main/java/me/blackvein/quests/prompts/quests/OptionsPrompt.java b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/OptionsPrompt.java similarity index 51% rename from main/src/main/java/me/blackvein/quests/prompts/quests/OptionsPrompt.java rename to main/src/main/java/me/blackvein/quests/convo/quests/prompts/OptionsPrompt.java index 2f3ca65b1..43e69c4a8 100644 --- a/main/src/main/java/me/blackvein/quests/prompts/quests/OptionsPrompt.java +++ b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/OptionsPrompt.java @@ -10,7 +10,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *******************************************************************************************************/ -package me.blackvein.quests.prompts.quests; +package me.blackvein.quests.convo.quests.prompts; import org.bukkit.ChatColor; import org.bukkit.conversations.ConversationContext; @@ -19,14 +19,14 @@ import org.bukkit.conversations.Prompt; import me.blackvein.quests.Options; import me.blackvein.quests.QuestFactory; import me.blackvein.quests.Quests; +import me.blackvein.quests.convo.quests.QuestsEditorNumericPrompt; +import me.blackvein.quests.convo.quests.QuestsEditorStringPrompt; import me.blackvein.quests.events.editor.quests.QuestsEditorPostOpenNumericPromptEvent; import me.blackvein.quests.events.editor.quests.QuestsEditorPostOpenStringPromptEvent; -import me.blackvein.quests.prompts.QuestsNumericPrompt; -import me.blackvein.quests.prompts.QuestsStringPrompt; import me.blackvein.quests.util.CK; import me.blackvein.quests.util.Lang; -public class OptionsPrompt extends QuestsNumericPrompt { +public class OptionsPrompt extends QuestsEditorNumericPrompt { private final Quests plugin; private final QuestFactory factory; @@ -51,27 +51,27 @@ public class OptionsPrompt extends QuestsNumericPrompt { public ChatColor getNumberColor(ConversationContext context, int number) { switch (number) { - case 1: - return ChatColor.BLUE; - case 2: - return ChatColor.BLUE; - case 3: - return ChatColor.GREEN; - default: - return null; + case 1: + return ChatColor.BLUE; + case 2: + return ChatColor.BLUE; + case 3: + return ChatColor.GREEN; + default: + return null; } } public String getSelectionText(ConversationContext context, int number) { switch (number) { - case 1: - return ChatColor.GOLD + Lang.get("optGeneral"); - case 2: - return ChatColor.GOLD + Lang.get("optMultiplayer"); - case 3: - return ChatColor.YELLOW + Lang.get("done"); - default: - return null; + case 1: + return ChatColor.GOLD + Lang.get("optGeneral"); + case 2: + return ChatColor.GOLD + Lang.get("optMultiplayer"); + case 3: + return ChatColor.YELLOW + Lang.get("done"); + default: + return null; } } @@ -98,18 +98,18 @@ public class OptionsPrompt extends QuestsNumericPrompt { @Override protected Prompt acceptValidatedInput(ConversationContext context, Number input) { switch (input.intValue()) { - case 1: - return new GeneralPrompt(plugin, context, factory); - case 2: - return new MultiplayerPrompt(plugin, context, factory); - case 3: - return factory.returnToMenu(context); - default: - return null; + case 1: + return new GeneralPrompt(plugin, context, factory); + case 2: + return new MultiplayerPrompt(plugin, context, factory); + case 3: + return factory.returnToMenu(context); + default: + return null; } } - public class TrueFalsePrompt extends QuestsStringPrompt { + public class TrueFalsePrompt extends QuestsEditorStringPrompt { public TrueFalsePrompt(Quests plugin, ConversationContext context, QuestFactory factory) { super(context, factory); } @@ -133,16 +133,16 @@ public class OptionsPrompt extends QuestsNumericPrompt { public String getSelectionText(ConversationContext context, int number) { switch (number) { - case 1: - return ChatColor.YELLOW + Lang.get("true"); - case 2: - return ChatColor.YELLOW + Lang.get("false"); - case 3: - return ChatColor.RED + Lang.get("cmdClear"); - case 4: - return ChatColor.RED + Lang.get("cmdCancel"); - default: - return null; + case 1: + return ChatColor.YELLOW + Lang.get("true"); + case 2: + return ChatColor.YELLOW + Lang.get("false"); + case 3: + return ChatColor.RED + Lang.get("cmdClear"); + case 4: + return ChatColor.RED + Lang.get("cmdCancel"); + default: + return null; } } @@ -181,7 +181,7 @@ public class OptionsPrompt extends QuestsNumericPrompt { } } - public class LevelPrompt extends QuestsStringPrompt { + public class LevelPrompt extends QuestsEditorStringPrompt { public LevelPrompt(Quests plugin, ConversationContext context, QuestFactory factory) { super(context, factory); } @@ -202,39 +202,39 @@ public class OptionsPrompt extends QuestsNumericPrompt { public String getSelectionText(ConversationContext context, int number) { switch (number) { - case 1: - return ChatColor.GOLD + "1"; - case 2: - return ChatColor.GOLD + "2"; - case 3: - return ChatColor.GOLD + "3"; - case 4: - return ChatColor.GOLD + "4"; - case 5: - return ChatColor.RED + Lang.get("cmdClear"); - case 6: - return ChatColor.RED + Lang.get("cmdCancel"); - default: - return null; + case 1: + return ChatColor.GOLD + "1"; + case 2: + return ChatColor.GOLD + "2"; + case 3: + return ChatColor.GOLD + "3"; + case 4: + return ChatColor.GOLD + "4"; + case 5: + return ChatColor.RED + Lang.get("cmdClear"); + case 6: + return ChatColor.RED + Lang.get("cmdCancel"); + default: + return null; } } public String getAdditionalText(ConversationContext context, int number) { switch (number) { - case 1: - return ChatColor.GRAY + Lang.get("everything"); - case 2: - return ChatColor.GRAY + Lang.get("objectives"); - case 3: - return ChatColor.GRAY + Lang.get("stageEditorStages"); - case 4: - return ChatColor.GRAY + Lang.get("quests"); - case 5: - return ""; - case 6: - return ""; - default: - return null; + case 1: + return ChatColor.GRAY + Lang.get("everything"); + case 2: + return ChatColor.GRAY + Lang.get("objectives"); + case 3: + return ChatColor.GRAY + Lang.get("stageEditorStages"); + case 4: + return ChatColor.GRAY + Lang.get("quests"); + case 5: + return ""; + case 6: + return ""; + default: + return null; } } @@ -275,7 +275,7 @@ public class OptionsPrompt extends QuestsNumericPrompt { } } - public class GeneralPrompt extends QuestsNumericPrompt { + public class GeneralPrompt extends QuestsEditorNumericPrompt { public GeneralPrompt(Quests plugin, ConversationContext context, QuestFactory factory) { super(context, factory); } @@ -292,60 +292,60 @@ public class OptionsPrompt extends QuestsNumericPrompt { public ChatColor getNumberColor(ConversationContext context, int number) { switch (number) { - case 1: - return ChatColor.BLUE; - case 2: - return ChatColor.BLUE; - case 3: - return ChatColor.GREEN; - default: - return null; + case 1: + return ChatColor.BLUE; + case 2: + return ChatColor.BLUE; + case 3: + return ChatColor.GREEN; + default: + return null; } } public String getSelectionText(ConversationContext context, int number) { switch (number) { - case 1: - return ChatColor.YELLOW + Lang.get("optAllowCommands"); - case 2: - return ChatColor.YELLOW + Lang.get("optAllowQuitting"); - case 3: - return ChatColor.YELLOW + Lang.get("done"); - default: - return null; + case 1: + return ChatColor.YELLOW + Lang.get("optAllowCommands"); + case 2: + return ChatColor.YELLOW + Lang.get("optAllowQuitting"); + case 3: + return ChatColor.YELLOW + Lang.get("done"); + default: + return null; } } public String getAdditionalText(ConversationContext context, int number) { switch (number) { - case 1: - if (context.getSessionData(CK.OPT_ALLOW_COMMANDS) == null) { - boolean defaultOpt = new Options().getAllowCommands(); - return ChatColor.GRAY + "(" + (defaultOpt ? ChatColor.GREEN + case 1: + if (context.getSessionData(CK.OPT_ALLOW_COMMANDS) == null) { + boolean defaultOpt = new Options().getAllowCommands(); + return ChatColor.GRAY + "(" + (defaultOpt ? ChatColor.GREEN + + Lang.get(String.valueOf(defaultOpt)) : ChatColor.RED + + Lang.get(String.valueOf(defaultOpt))) + ChatColor.GRAY + ")"; + } else { + boolean commandsOpt = (Boolean) context.getSessionData(CK.OPT_ALLOW_COMMANDS); + return ChatColor.GRAY + "(" + (commandsOpt ? ChatColor.GREEN + + Lang.get(String.valueOf(commandsOpt)) : ChatColor.RED + + Lang.get(String.valueOf(commandsOpt))) + ChatColor.GRAY + ")"; + } + case 2: + if (context.getSessionData(CK.OPT_ALLOW_QUITTING) == null) { + boolean defaultOpt = new Options().getAllowQuitting(); + return ChatColor.GRAY + "(" + (defaultOpt ? ChatColor.GREEN + Lang.get(String.valueOf(defaultOpt)) : ChatColor.RED + Lang.get(String.valueOf(defaultOpt))) + ChatColor.GRAY + ")"; - } else { - boolean commandsOpt = (Boolean) context.getSessionData(CK.OPT_ALLOW_COMMANDS); - return ChatColor.GRAY + "(" + (commandsOpt ? ChatColor.GREEN - + Lang.get(String.valueOf(commandsOpt)) : ChatColor.RED - + Lang.get(String.valueOf(commandsOpt))) + ChatColor.GRAY + ")"; - } - case 2: - if (context.getSessionData(CK.OPT_ALLOW_QUITTING) == null) { - boolean defaultOpt = new Options().getAllowQuitting(); - return ChatColor.GRAY + "(" + (defaultOpt ? ChatColor.GREEN - + Lang.get(String.valueOf(defaultOpt)) : ChatColor.RED - + Lang.get(String.valueOf(defaultOpt))) + ChatColor.GRAY + ")"; - } else { - boolean quittingOpt = (Boolean) context.getSessionData(CK.OPT_ALLOW_QUITTING); - return ChatColor.GRAY + "(" + (quittingOpt ? ChatColor.GREEN - + Lang.get(String.valueOf(quittingOpt)) : ChatColor.RED - + Lang.get(String.valueOf(quittingOpt))) + ChatColor.GRAY + ")"; - } - case 3: - return ""; - default: - return null; + } else { + boolean quittingOpt = (Boolean) context.getSessionData(CK.OPT_ALLOW_QUITTING); + return ChatColor.GRAY + "(" + (quittingOpt ? ChatColor.GREEN + + Lang.get(String.valueOf(quittingOpt)) : ChatColor.RED + + Lang.get(String.valueOf(quittingOpt))) + ChatColor.GRAY + ")"; + } + case 3: + return ""; + default: + return null; } } @@ -366,30 +366,30 @@ public class OptionsPrompt extends QuestsNumericPrompt { @Override public Prompt acceptValidatedInput(ConversationContext context, Number input) { switch (input.intValue()) { - case 1: - tempKey = CK.OPT_ALLOW_COMMANDS; - tempPrompt = new GeneralPrompt(plugin, context, factory); - return new TrueFalsePrompt(plugin, context, factory); - case 2: - tempKey = CK.OPT_ALLOW_QUITTING; - tempPrompt = new GeneralPrompt(plugin, context, factory); - return new TrueFalsePrompt(plugin, context, factory); - case 3: - tempKey = null; - tempPrompt = null; - try { - return new OptionsPrompt(plugin, context, factory); - } catch (Exception e) { - context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("itemCreateCriticalError")); - return Prompt.END_OF_CONVERSATION; - } - default: - return null; + case 1: + tempKey = CK.OPT_ALLOW_COMMANDS; + tempPrompt = new GeneralPrompt(plugin, context, factory); + return new TrueFalsePrompt(plugin, context, factory); + case 2: + tempKey = CK.OPT_ALLOW_QUITTING; + tempPrompt = new GeneralPrompt(plugin, context, factory); + return new TrueFalsePrompt(plugin, context, factory); + case 3: + tempKey = null; + tempPrompt = null; + try { + return new OptionsPrompt(plugin, context, factory); + } catch (Exception e) { + context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("itemCreateCriticalError")); + return Prompt.END_OF_CONVERSATION; + } + default: + return null; } } } - public class MultiplayerPrompt extends QuestsNumericPrompt { + public class MultiplayerPrompt extends QuestsEditorNumericPrompt { public MultiplayerPrompt(Quests plugin, ConversationContext context, QuestFactory factory) { super(context, factory); } @@ -406,89 +406,88 @@ public class OptionsPrompt extends QuestsNumericPrompt { public ChatColor getNumberColor(ConversationContext context, int number) { switch (number) { - case 1: - return ChatColor.BLUE; - case 2: - return ChatColor.BLUE; - case 3: - return ChatColor.BLUE; - case 4: - return ChatColor.BLUE; - case 5: - return ChatColor.GREEN; - default: - return null; + case 1: + return ChatColor.BLUE; + case 2: + return ChatColor.BLUE; + case 3: + return ChatColor.BLUE; + case 4: + return ChatColor.BLUE; + case 5: + return ChatColor.GREEN; + default: + return null; } } public String getSelectionText(ConversationContext context, int number) { switch (number) { - case 1: - return ChatColor.YELLOW + Lang.get("optUseDungeonsXLPlugin"); - case 2: - return ChatColor.YELLOW + Lang.get("optUsePartiesPlugin"); - case 3: - return ChatColor.YELLOW + Lang.get("optShareProgressLevel"); - case 4: - return ChatColor.YELLOW + Lang.get("optRequireSameQuest"); - case 5: - return ChatColor.YELLOW + Lang.get("done"); - default: - return null; + case 1: + return ChatColor.YELLOW + Lang.get("optUseDungeonsXLPlugin"); + case 2: + return ChatColor.YELLOW + Lang.get("optUsePartiesPlugin"); + case 3: + return ChatColor.YELLOW + Lang.get("optShareProgressLevel"); + case 4: + return ChatColor.YELLOW + Lang.get("optRequireSameQuest"); + case 5: + return ChatColor.YELLOW + Lang.get("done"); + default: + return null; } } public String getAdditionalText(ConversationContext context, int number) { switch (number) { - case 1: - if (context.getSessionData(CK.OPT_USE_DUNGEONSXL_PLUGIN) == null) { - boolean defaultOpt = new Options().getUseDungeonsXLPlugin(); - return ChatColor.GRAY + "(" + (defaultOpt ? ChatColor.GREEN - + Lang.get(String.valueOf(defaultOpt)) : ChatColor.RED - + Lang.get(String.valueOf(defaultOpt))) + ChatColor.GRAY + ")"; - } else { - boolean dungeonsOpt = (Boolean) context.getSessionData(CK.OPT_USE_DUNGEONSXL_PLUGIN); - return ChatColor.GRAY + "(" + (dungeonsOpt ? ChatColor.GREEN - + Lang.get(String.valueOf(dungeonsOpt)) : ChatColor.RED - + Lang.get(String.valueOf(dungeonsOpt))) + ChatColor.GRAY + ")"; - } - case 2: - if (context.getSessionData(CK.OPT_USE_PARTIES_PLUGIN) == null) { - boolean defaultOpt = new Options().getUsePartiesPlugin(); - return ChatColor.GRAY + "("+ (defaultOpt ? ChatColor.GREEN - + Lang.get(String.valueOf(defaultOpt)) : ChatColor.RED - + Lang.get(String.valueOf(defaultOpt))) + ChatColor.GRAY + ")"; - } else { - boolean partiesOpt = (Boolean) context.getSessionData(CK.OPT_USE_PARTIES_PLUGIN); - return ChatColor.GRAY + "(" + (partiesOpt ? ChatColor.GREEN - + Lang.get(String.valueOf(partiesOpt)) : ChatColor.RED - + Lang.get(String.valueOf(partiesOpt))) + ChatColor.GRAY + ")"; - } - case 3: - if (context.getSessionData(CK.OPT_SHARE_PROGRESS_LEVEL) == null) { - int defaultOpt = new Options().getShareProgressLevel(); - return ChatColor.GRAY + "(" + ChatColor.AQUA + String.valueOf(defaultOpt) + ChatColor.GRAY - + ")"; - } else { - int shareOpt = (Integer) context.getSessionData(CK.OPT_SHARE_PROGRESS_LEVEL); - return ChatColor.GRAY + "(" + ChatColor.AQUA + String.valueOf(shareOpt) + ChatColor.GRAY + ")"; - } - case 4: - if (context.getSessionData(CK.OPT_REQUIRE_SAME_QUEST) == null) { - boolean defaultOpt = new Options().getRequireSameQuest(); - return ChatColor.GRAY + "(" + (defaultOpt ? ChatColor.GREEN - + Lang.get(String.valueOf(defaultOpt)) : ChatColor.RED - + Lang.get(String.valueOf(defaultOpt))) + ChatColor.GRAY + ")"; - } else { - boolean requireOpt = (Boolean) context.getSessionData(CK.OPT_REQUIRE_SAME_QUEST); - return ChatColor.GRAY + "(" + (requireOpt ? ChatColor.GREEN - + Lang.get(String.valueOf(requireOpt)) : ChatColor.RED - + Lang.get(String.valueOf(requireOpt))) + ChatColor.GRAY + ")"; - } - case 5: - return ""; - default: - return null; + case 1: + if (context.getSessionData(CK.OPT_USE_DUNGEONSXL_PLUGIN) == null) { + boolean defaultOpt = new Options().getUseDungeonsXLPlugin(); + return ChatColor.GRAY + "(" + (defaultOpt ? ChatColor.GREEN + + Lang.get(String.valueOf(defaultOpt)) : ChatColor.RED + + Lang.get(String.valueOf(defaultOpt))) + ChatColor.GRAY + ")"; + } else { + boolean dungeonsOpt = (Boolean) context.getSessionData(CK.OPT_USE_DUNGEONSXL_PLUGIN); + return ChatColor.GRAY + "(" + (dungeonsOpt ? ChatColor.GREEN + + Lang.get(String.valueOf(dungeonsOpt)) : ChatColor.RED + + Lang.get(String.valueOf(dungeonsOpt))) + ChatColor.GRAY + ")"; + } + case 2: + if (context.getSessionData(CK.OPT_USE_PARTIES_PLUGIN) == null) { + boolean defaultOpt = new Options().getUsePartiesPlugin(); + return ChatColor.GRAY + "("+ (defaultOpt ? ChatColor.GREEN + + Lang.get(String.valueOf(defaultOpt)) : ChatColor.RED + + Lang.get(String.valueOf(defaultOpt))) + ChatColor.GRAY + ")"; + } else { + boolean partiesOpt = (Boolean) context.getSessionData(CK.OPT_USE_PARTIES_PLUGIN); + return ChatColor.GRAY + "(" + (partiesOpt ? ChatColor.GREEN + + Lang.get(String.valueOf(partiesOpt)) : ChatColor.RED + + Lang.get(String.valueOf(partiesOpt))) + ChatColor.GRAY + ")"; + } + case 3: + if (context.getSessionData(CK.OPT_SHARE_PROGRESS_LEVEL) == null) { + int defaultOpt = new Options().getShareProgressLevel(); + return ChatColor.GRAY + "(" + ChatColor.AQUA + String.valueOf(defaultOpt) + ChatColor.GRAY + ")"; + } else { + int shareOpt = (Integer) context.getSessionData(CK.OPT_SHARE_PROGRESS_LEVEL); + return ChatColor.GRAY + "(" + ChatColor.AQUA + String.valueOf(shareOpt) + ChatColor.GRAY + ")"; + } + case 4: + if (context.getSessionData(CK.OPT_REQUIRE_SAME_QUEST) == null) { + boolean defaultOpt = new Options().getRequireSameQuest(); + return ChatColor.GRAY + "(" + (defaultOpt ? ChatColor.GREEN + + Lang.get(String.valueOf(defaultOpt)) : ChatColor.RED + + Lang.get(String.valueOf(defaultOpt))) + ChatColor.GRAY + ")"; + } else { + boolean requireOpt = (Boolean) context.getSessionData(CK.OPT_REQUIRE_SAME_QUEST); + return ChatColor.GRAY + "(" + (requireOpt ? ChatColor.GREEN + + Lang.get(String.valueOf(requireOpt)) : ChatColor.RED + + Lang.get(String.valueOf(requireOpt))) + ChatColor.GRAY + ")"; + } + case 5: + return ""; + default: + return null; } } @@ -509,33 +508,33 @@ public class OptionsPrompt extends QuestsNumericPrompt { @Override public Prompt acceptValidatedInput(ConversationContext context, Number input) { switch (input.intValue()) { - case 1: - tempKey = CK.OPT_USE_DUNGEONSXL_PLUGIN; - tempPrompt = new MultiplayerPrompt(plugin, context, factory); - return new TrueFalsePrompt(plugin, context, factory); - case 2: - tempKey = CK.OPT_USE_PARTIES_PLUGIN; - tempPrompt = new MultiplayerPrompt(plugin, context, factory); - return new TrueFalsePrompt(plugin, context, factory); - case 3: - tempKey = CK.OPT_SHARE_PROGRESS_LEVEL; - tempPrompt = new MultiplayerPrompt(plugin, context, factory); - return new LevelPrompt(plugin, context, factory); - case 4: - tempKey = CK.OPT_REQUIRE_SAME_QUEST; - tempPrompt = new MultiplayerPrompt(plugin, context, factory); - return new TrueFalsePrompt(plugin, context, factory); - case 5: - tempKey = null; - tempPrompt = null; - try { - return new OptionsPrompt(plugin, context, factory); - } catch (Exception e) { - context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("itemCreateCriticalError")); - return Prompt.END_OF_CONVERSATION; - } - default: - return null; + case 1: + tempKey = CK.OPT_USE_DUNGEONSXL_PLUGIN; + tempPrompt = new MultiplayerPrompt(plugin, context, factory); + return new TrueFalsePrompt(plugin, context, factory); + case 2: + tempKey = CK.OPT_USE_PARTIES_PLUGIN; + tempPrompt = new MultiplayerPrompt(plugin, context, factory); + return new TrueFalsePrompt(plugin, context, factory); + case 3: + tempKey = CK.OPT_SHARE_PROGRESS_LEVEL; + tempPrompt = new MultiplayerPrompt(plugin, context, factory); + return new LevelPrompt(plugin, context, factory); + case 4: + tempKey = CK.OPT_REQUIRE_SAME_QUEST; + tempPrompt = new MultiplayerPrompt(plugin, context, factory); + return new TrueFalsePrompt(plugin, context, factory); + case 5: + tempKey = null; + tempPrompt = null; + try { + return new OptionsPrompt(plugin, context, factory); + } catch (Exception e) { + context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("itemCreateCriticalError")); + return Prompt.END_OF_CONVERSATION; + } + default: + return null; } } } diff --git a/main/src/main/java/me/blackvein/quests/prompts/quests/PlannerPrompt.java b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/PlannerPrompt.java similarity index 71% rename from main/src/main/java/me/blackvein/quests/prompts/quests/PlannerPrompt.java rename to main/src/main/java/me/blackvein/quests/convo/quests/prompts/PlannerPrompt.java index 4172b5c00..681ea308b 100644 --- a/main/src/main/java/me/blackvein/quests/prompts/quests/PlannerPrompt.java +++ b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/PlannerPrompt.java @@ -10,7 +10,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *******************************************************************************************************/ -package me.blackvein.quests.prompts.quests; +package me.blackvein.quests.convo.quests.prompts; import java.text.DecimalFormat; import java.text.SimpleDateFormat; @@ -20,8 +20,8 @@ import java.util.TimeZone; import me.blackvein.quests.QuestFactory; import me.blackvein.quests.Quests; +import me.blackvein.quests.convo.quests.QuestsEditorNumericPrompt; import me.blackvein.quests.events.editor.quests.QuestsEditorPostOpenNumericPromptEvent; -import me.blackvein.quests.prompts.QuestsNumericPrompt; import me.blackvein.quests.util.CK; import me.blackvein.quests.util.Lang; import me.blackvein.quests.util.MiscUtil; @@ -31,7 +31,7 @@ import org.bukkit.conversations.ConversationContext; import org.bukkit.conversations.Prompt; import org.bukkit.conversations.StringPrompt; -public class PlannerPrompt extends QuestsNumericPrompt { +public class PlannerPrompt extends QuestsEditorNumericPrompt { private final Quests plugin; private final QuestFactory factory; @@ -54,88 +54,84 @@ public class PlannerPrompt extends QuestsNumericPrompt { public ChatColor getNumberColor(ConversationContext context, int number) { switch (number) { - case 1: + case 1: + return ChatColor.BLUE; + case 2: + return ChatColor.BLUE; + case 3: + if (context.getSessionData(CK.PLN_START_DATE) == null || context.getSessionData(CK.PLN_END_DATE) == null) { + return ChatColor.GRAY; + } else { return ChatColor.BLUE; - case 2: - return ChatColor.BLUE; - case 3: - if (context.getSessionData(CK.PLN_START_DATE) == null - || context.getSessionData(CK.PLN_END_DATE) == null) { - return ChatColor.GRAY; - } else { - return ChatColor.BLUE; - } - case 4: - return ChatColor.BLUE; - case 5: - return ChatColor.GREEN; - default: - return null; + } + case 4: + return ChatColor.BLUE; + case 5: + return ChatColor.GREEN; + default: + return null; } } public String getSelectionText(ConversationContext context, int number) { switch (number) { - case 1: - return ChatColor.YELLOW + Lang.get("plnStart"); - case 2: - return ChatColor.YELLOW + Lang.get("plnEnd"); - case 3: - if (context.getSessionData(CK.PLN_START_DATE) == null - || context.getSessionData(CK.PLN_END_DATE) == null) { - return ChatColor.GRAY + Lang.get("plnRepeat"); - } else { - return ChatColor.YELLOW + Lang.get("plnRepeat"); - } - case 4: - return ChatColor.YELLOW + Lang.get("plnCooldown"); - case 5: - return ChatColor.YELLOW + Lang.get("done"); - default: - return null; + case 1: + return ChatColor.YELLOW + Lang.get("plnStart"); + case 2: + return ChatColor.YELLOW + Lang.get("plnEnd"); + case 3: + if (context.getSessionData(CK.PLN_START_DATE) == null || context.getSessionData(CK.PLN_END_DATE) == null) { + return ChatColor.GRAY + Lang.get("plnRepeat"); + } else { + return ChatColor.YELLOW + Lang.get("plnRepeat"); + } + case 4: + return ChatColor.YELLOW + Lang.get("plnCooldown"); + case 5: + return ChatColor.YELLOW + Lang.get("done"); + default: + return null; } } public String getAdditionalText(ConversationContext context, int number) { switch (number) { - case 1: - if (context.getSessionData(CK.PLN_START_DATE) == null) { + case 1: + if (context.getSessionData(CK.PLN_START_DATE) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else { + return ChatColor.YELLOW + " - " + getPrettyDate((String) context.getSessionData(CK.PLN_START_DATE)); + } + case 2: + if (context.getSessionData(CK.PLN_END_DATE) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else { + return ChatColor.YELLOW + " - " + + getPrettyDate((String) context.getSessionData(CK.PLN_END_DATE)); + } + case 3: + if (context.getSessionData(CK.PLN_START_DATE) == null || context.getSessionData(CK.PLN_END_DATE) == null) { + return ChatColor.GRAY + "(" + Lang.get("stageEditorOptional") + ")"; + } else { + if (context.getSessionData(CK.PLN_REPEAT_CYCLE) == null) { return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; } else { - return ChatColor.YELLOW + " - " - + getPrettyDate((String) context.getSessionData(CK.PLN_START_DATE)); - } - case 2: - if (context.getSessionData(CK.PLN_END_DATE) == null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } else { - return ChatColor.YELLOW + " - " - + getPrettyDate((String) context.getSessionData(CK.PLN_END_DATE)); - } - case 3: - if (context.getSessionData(CK.PLN_START_DATE) == null - || context.getSessionData(CK.PLN_END_DATE) == null) { - return ChatColor.GRAY + "(" + Lang.get("stageEditorOptional") + ")"; - } else { - if (context.getSessionData(CK.PLN_REPEAT_CYCLE) == null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } else { - return ChatColor.YELLOW + "(" - + MiscUtil.getTime((Long) context.getSessionData(CK.PLN_REPEAT_CYCLE)) - + ChatColor.RESET + ChatColor.YELLOW + ")"; - } - } - case 4: - if (context.getSessionData(CK.PLN_COOLDOWN) == null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } else { - return ChatColor.YELLOW + "(" + MiscUtil.getTime((Long) context.getSessionData(CK.PLN_COOLDOWN)) + return ChatColor.YELLOW + "(" + + MiscUtil.getTime((Long) context.getSessionData(CK.PLN_REPEAT_CYCLE)) + ChatColor.RESET + ChatColor.YELLOW + ")"; } - case 5: - return ""; - default: - return null; + } + case 4: + if (context.getSessionData(CK.PLN_COOLDOWN) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else { + return ChatColor.YELLOW + "(" + MiscUtil.getTime((Long) context.getSessionData(CK.PLN_COOLDOWN)) + + ChatColor.RESET + ChatColor.YELLOW + ")"; + } + case 5: + return ""; + default: + return null; } } diff --git a/main/src/main/java/me/blackvein/quests/prompts/quests/QuestOfferPrompt.java b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/QuestOfferPrompt.java similarity index 97% rename from main/src/main/java/me/blackvein/quests/prompts/quests/QuestOfferPrompt.java rename to main/src/main/java/me/blackvein/quests/convo/quests/prompts/QuestOfferPrompt.java index 41e3bf6f2..fdf47ea3c 100644 --- a/main/src/main/java/me/blackvein/quests/prompts/quests/QuestOfferPrompt.java +++ b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/QuestOfferPrompt.java @@ -10,7 +10,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *******************************************************************************************************/ -package me.blackvein.quests.prompts.quests; +package me.blackvein.quests.convo.quests.prompts; import java.text.MessageFormat; import java.util.HashMap; diff --git a/main/src/main/java/me/blackvein/quests/prompts/quests/RequirementsPrompt.java b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/RequirementsPrompt.java similarity index 75% rename from main/src/main/java/me/blackvein/quests/prompts/quests/RequirementsPrompt.java rename to main/src/main/java/me/blackvein/quests/convo/quests/prompts/RequirementsPrompt.java index 432c344a2..fd883796f 100644 --- a/main/src/main/java/me/blackvein/quests/prompts/quests/RequirementsPrompt.java +++ b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/RequirementsPrompt.java @@ -10,7 +10,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *******************************************************************************************************/ -package me.blackvein.quests.prompts.quests; +package me.blackvein.quests.convo.quests.prompts; import java.util.Arrays; import java.util.Collections; @@ -33,14 +33,14 @@ import me.blackvein.quests.CustomRequirement; import me.blackvein.quests.Quest; import me.blackvein.quests.QuestFactory; import me.blackvein.quests.Quests; +import me.blackvein.quests.convo.quests.QuestsEditorNumericPrompt; import me.blackvein.quests.events.editor.quests.QuestsEditorPostOpenNumericPromptEvent; -import me.blackvein.quests.prompts.QuestsNumericPrompt; import me.blackvein.quests.util.CK; import me.blackvein.quests.util.ItemUtil; import me.blackvein.quests.util.Lang; import me.blackvein.quests.util.MiscUtil; -public class RequirementsPrompt extends QuestsNumericPrompt { +public class RequirementsPrompt extends QuestsEditorNumericPrompt { private final Quests plugin; private final QuestFactory factory; @@ -63,206 +63,205 @@ public class RequirementsPrompt extends QuestsNumericPrompt { public ChatColor getNumberColor(ConversationContext context, int number) { switch (number) { - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + return ChatColor.BLUE; + case 7: + if (plugin.getDependencies().getMcmmoClassic() != null) { return ChatColor.BLUE; - case 7: - if (plugin.getDependencies().getMcmmoClassic() != null) { - return ChatColor.BLUE; - } else { - return ChatColor.GRAY; - } - case 8: - if (plugin.getDependencies().getHeroes() != null) { - return ChatColor.BLUE; - } else { - return ChatColor.GRAY; - } - case 9: + } else { + return ChatColor.GRAY; + } + case 8: + if (plugin.getDependencies().getHeroes() != null) { return ChatColor.BLUE; - case 10: - if (!hasRequirement) { - return ChatColor.GRAY; - } else { - return ChatColor.BLUE; - } - case 11: - return ChatColor.GREEN; - default: - return null; + } else { + return ChatColor.GRAY; + } + case 9: + return ChatColor.BLUE; + case 10: + if (!hasRequirement) { + return ChatColor.GRAY; + } else { + return ChatColor.BLUE; + } + case 11: + return ChatColor.GREEN; + default: + return null; } } public String getSelectionText(ConversationContext context, int number) { switch (number) { - case 1: - return ChatColor.YELLOW + Lang.get("reqSetMoney"); - case 2: - return ChatColor.YELLOW + Lang.get("reqSetQuestPoints"); - case 3: - return ChatColor.YELLOW + Lang.get("reqSetItem"); - case 4: - return ChatColor.YELLOW + Lang.get("reqSetPerms"); - case 5: - return ChatColor.YELLOW + Lang.get("reqSetQuest"); - case 6: - return ChatColor.YELLOW + Lang.get("reqSetQuestBlocks"); - case 7: - return ChatColor.YELLOW + Lang.get("reqSetMcMMO"); - case 8: - return ChatColor.YELLOW + Lang.get("reqSetHeroes"); - case 9: - return ChatColor.DARK_PURPLE + Lang.get("reqSetCustom"); - case 10: - if (!hasRequirement) { - return ChatColor.GRAY + Lang.get("reqSetFail"); - } else { - return ChatColor.YELLOW + Lang.get("reqSetFail"); - } - case 11: - return ChatColor.YELLOW + Lang.get("done"); - default: - return null; + case 1: + return ChatColor.YELLOW + Lang.get("reqSetMoney"); + case 2: + return ChatColor.YELLOW + Lang.get("reqSetQuestPoints"); + case 3: + return ChatColor.YELLOW + Lang.get("reqSetItem"); + case 4: + return ChatColor.YELLOW + Lang.get("reqSetPerms"); + case 5: + return ChatColor.YELLOW + Lang.get("reqSetQuest"); + case 6: + return ChatColor.YELLOW + Lang.get("reqSetQuestBlocks"); + case 7: + return ChatColor.YELLOW + Lang.get("reqSetMcMMO"); + case 8: + return ChatColor.YELLOW + Lang.get("reqSetHeroes"); + case 9: + return ChatColor.DARK_PURPLE + Lang.get("reqSetCustom"); + case 10: + if (!hasRequirement) { + return ChatColor.GRAY + Lang.get("reqSetFail"); + } else { + return ChatColor.YELLOW + Lang.get("reqSetFail"); + } + case 11: + return ChatColor.YELLOW + Lang.get("done"); + default: + return null; } } @SuppressWarnings("unchecked") public String getAdditionalText(ConversationContext context, int number) { switch (number) { - case 1: - if (context.getSessionData(CK.REQ_MONEY) == null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } else { - int moneyReq = (Integer) context.getSessionData(CK.REQ_MONEY); - return ChatColor.GRAY + "(" + ChatColor.AQUA + moneyReq + " " - + (moneyReq > 1 ? plugin.getDependencies().getCurrency(true) - : plugin.getDependencies().getCurrency(false)) + ChatColor.GRAY + ")"; + case 1: + if (context.getSessionData(CK.REQ_MONEY) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else { + int moneyReq = (Integer) context.getSessionData(CK.REQ_MONEY); + return ChatColor.GRAY + "(" + ChatColor.AQUA + moneyReq + " " + + (moneyReq > 1 ? plugin.getDependencies().getCurrency(true) + : plugin.getDependencies().getCurrency(false)) + ChatColor.GRAY + ")"; + } + case 2: + if (context.getSessionData(CK.REQ_QUEST_POINTS) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else { + return ChatColor.GRAY + "(" + ChatColor.AQUA + context.getSessionData(CK.REQ_QUEST_POINTS) + " " + + Lang.get("questPoints") + ChatColor.GRAY + ")"; + } + case 3: + if (context.getSessionData(CK.REQ_ITEMS) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else { + String text = "\n"; + LinkedList items = (LinkedList) context.getSessionData(CK.REQ_ITEMS); + for (int i = 0; i < items.size(); i++) { + text += ChatColor.GRAY + " - " + ChatColor.BLUE + ItemUtil.getName(items.get(i)) + + ChatColor.GRAY + " x " + ChatColor.AQUA + items.get(i).getAmount() + "\n"; } - case 2: - if (context.getSessionData(CK.REQ_QUEST_POINTS) == null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } else { - return ChatColor.GRAY + "(" + ChatColor.AQUA + context.getSessionData(CK.REQ_QUEST_POINTS) + " " - + Lang.get("questPoints") + ChatColor.GRAY + ")"; + return text; + } + case 4: + if (context.getSessionData(CK.REQ_PERMISSION) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else { + String text = "\n"; + List perms = (List) context.getSessionData(CK.REQ_PERMISSION); + for (String s : perms) { + text += ChatColor.GRAY + " - " + ChatColor.AQUA + s + "\n"; } - case 3: - if (context.getSessionData(CK.REQ_ITEMS) == null) { + return text; + } + case 5: + if (context.getSessionData(CK.REQ_QUEST) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else { + String text = "\n"; + List qs = (List) context.getSessionData(CK.REQ_QUEST); + for (String s : qs) { + text += ChatColor.GRAY + " - " + ChatColor.AQUA + s + "\n"; + } + return text; + } + case 6: + if (context.getSessionData(CK.REQ_QUEST_BLOCK) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else { + String text = "\n"; + List qs = (List) context.getSessionData(CK.REQ_QUEST_BLOCK); + for (String s : qs) { + text += ChatColor.GRAY + " - " + ChatColor.AQUA + s + "\n"; + } + return text; + } + case 7: + if (plugin.getDependencies().getMcmmoClassic() != null) { + if (context.getSessionData(CK.REQ_MCMMO_SKILLS) == null) { return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; } else { String text = "\n"; - LinkedList items = (LinkedList) context.getSessionData(CK.REQ_ITEMS); - for (int i = 0; i < items.size(); i++) { - text += ChatColor.GRAY + " - " + ChatColor.BLUE + ItemUtil.getName(items.get(i)) - + ChatColor.GRAY + " x " + ChatColor.AQUA + items.get(i).getAmount() + "\n"; + List skills = (List) context.getSessionData(CK.REQ_MCMMO_SKILLS); + List amounts = (List) context.getSessionData(CK.REQ_MCMMO_SKILL_AMOUNTS); + for (String s : skills) { + text += ChatColor.GRAY + " - " + ChatColor.DARK_GREEN + s + ChatColor.RESET + + ChatColor.YELLOW + " " + Lang.get("mcMMOLevel") + " " + ChatColor.GREEN + + amounts.get(skills.indexOf(s)) + "\n"; } return text; } - case 4: - if (context.getSessionData(CK.REQ_PERMISSION) == null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else { + return ChatColor.GRAY + "(" + Lang.get("notInstalled") + ")"; + } + case 8: + if (plugin.getDependencies().getHeroes() != null) { + if (context.getSessionData(CK.REQ_HEROES_PRIMARY_CLASS) == null + && context.getSessionData(CK.REQ_HEROES_SECONDARY_CLASS) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")\n"; } else { String text = "\n"; - List perms = (List) context.getSessionData(CK.REQ_PERMISSION); - for (String s : perms) { - text += ChatColor.GRAY + " - " + ChatColor.AQUA + s + "\n"; + if (context.getSessionData(CK.REQ_HEROES_PRIMARY_CLASS) != null) { + text += ChatColor.AQUA + " " + Lang.get("reqHeroesPrimaryDisplay") + " " + + ChatColor.BLUE + (String) context.getSessionData(CK.REQ_HEROES_PRIMARY_CLASS); + } + if (context.getSessionData(CK.REQ_HEROES_SECONDARY_CLASS) != null) { + text += ChatColor.AQUA + " " + Lang.get("reqHeroesSecondaryDisplay") + " " + + ChatColor.BLUE + (String) context.getSessionData(CK.REQ_HEROES_SECONDARY_CLASS); } return text; } - case 5: - if (context.getSessionData(CK.REQ_QUEST) == null) { + } else { + return ChatColor.GRAY + "(" + Lang.get("notInstalled") + ")"; + } + case 9: + if (context.getSessionData(CK.REQ_CUSTOM) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else { + String text = "\n"; + LinkedList customReqs = (LinkedList) context.getSessionData(CK.REQ_CUSTOM); + for (String s : customReqs) { + text += ChatColor.RESET + "" + ChatColor.DARK_PURPLE + " - " + ChatColor.LIGHT_PURPLE + s + "\n"; + } + return text; + } + case 10: + if (context.getSessionData(CK.REQ_FAIL_MESSAGE) == null) { + if (!hasRequirement) { + return ChatColor.GRAY + "(" + Lang.get("stageEditorOptional") + ")"; + } else { return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } else { - String text = "\n"; - List qs = (List) context.getSessionData(CK.REQ_QUEST); - for (String s : qs) { - text += ChatColor.GRAY + " - " + ChatColor.AQUA + s + "\n"; - } - return text; } - case 6: - if (context.getSessionData(CK.REQ_QUEST_BLOCK) == null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } else { - String text = "\n"; - List qs = (List) context.getSessionData(CK.REQ_QUEST_BLOCK); - for (String s : qs) { - text += ChatColor.GRAY + " - " + ChatColor.AQUA + s + "\n"; - } - return text; - } - case 7: - if (plugin.getDependencies().getMcmmoClassic() != null) { - if (context.getSessionData(CK.REQ_MCMMO_SKILLS) == null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } else { - String text = "\n"; - List skills = (List) context.getSessionData(CK.REQ_MCMMO_SKILLS); - List amounts = (List) context.getSessionData(CK.REQ_MCMMO_SKILL_AMOUNTS); - for (String s : skills) { - text += ChatColor.GRAY + " - " + ChatColor.DARK_GREEN + s + ChatColor.RESET - + ChatColor.YELLOW + " " + Lang.get("mcMMOLevel") + " " + ChatColor.GREEN - + amounts.get(skills.indexOf(s)) + "\n"; - } - return text; - } - } else { - return ChatColor.GRAY + "(" + Lang.get("notInstalled") + ")"; - } - case 8: - if (plugin.getDependencies().getHeroes() != null) { - if (context.getSessionData(CK.REQ_HEROES_PRIMARY_CLASS) == null - && context.getSessionData(CK.REQ_HEROES_SECONDARY_CLASS) == null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")\n"; - } else { - String text = "\n"; - if (context.getSessionData(CK.REQ_HEROES_PRIMARY_CLASS) != null) { - text += ChatColor.AQUA + " " + Lang.get("reqHeroesPrimaryDisplay") + " " - + ChatColor.BLUE + (String) context.getSessionData(CK.REQ_HEROES_PRIMARY_CLASS); - } - if (context.getSessionData(CK.REQ_HEROES_SECONDARY_CLASS) != null) { - text += ChatColor.AQUA + " " + Lang.get("reqHeroesSecondaryDisplay") + " " - + ChatColor.BLUE + (String) context.getSessionData(CK.REQ_HEROES_SECONDARY_CLASS); - } - return text; - } - } else { - return ChatColor.GRAY + "(" + Lang.get("notInstalled") + ")"; - } - case 9: - if (context.getSessionData(CK.REQ_CUSTOM) == null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } else { - String text = "\n"; - LinkedList customReqs = (LinkedList) context.getSessionData(CK.REQ_CUSTOM); - for (String s : customReqs) { - text += ChatColor.RESET + "" + ChatColor.DARK_PURPLE + " - " + ChatColor.LIGHT_PURPLE + s - + "\n"; - } - return text; - } - case 10: - if (context.getSessionData(CK.REQ_FAIL_MESSAGE) == null) { - if (!hasRequirement) { - return ChatColor.GRAY + "(" + Lang.get("stageEditorOptional") + ")"; - } else { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } - } else { - return ChatColor.GRAY + "(" + ChatColor.AQUA + "\"" + context.getSessionData(CK.REQ_FAIL_MESSAGE) - + "\"" + ChatColor.GRAY + ")"; - } - case 11: - case 12: - case 13: - case 14: - case 15: - return ""; - default: - return null; + } else { + return ChatColor.GRAY + "(" + ChatColor.AQUA + "\"" + context.getSessionData(CK.REQ_FAIL_MESSAGE)+ "\"" + + ChatColor.GRAY + ")"; + } + case 11: + case 12: + case 13: + case 14: + case 15: + return ""; + default: + return null; } } @@ -287,43 +286,43 @@ public class RequirementsPrompt extends QuestsNumericPrompt { @Override protected Prompt acceptValidatedInput(ConversationContext context, Number input) { switch (input.intValue()) { - case 1: - return new MoneyPrompt(); - case 2: - return new QuestPointsPrompt(); - case 3: - return new ItemListPrompt(plugin, context, factory); - case 4: - return new PermissionsPrompt(); - case 5: - return new QuestListPrompt(true); - case 6: - return new QuestListPrompt(false); - case 7: - if (plugin.getDependencies().getMcmmoClassic() != null) { - return new mcMMOPrompt(); - } else { - return new RequirementsPrompt(plugin, context, factory); - } - case 8: - if (plugin.getDependencies().getHeroes() != null) { - return new HeroesPrompt(); - } else { - return new RequirementsPrompt(plugin, context, factory); - } - case 9: - return new CustomRequirementsPrompt(); - case 10: - if (hasRequirement) { - return new FailMessagePrompt(); - } else { - context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("invalidOption")); - return new RequirementsPrompt(plugin, context, factory); - } - case 11: - return factory.returnToMenu(context); - default: - return null; + case 1: + return new MoneyPrompt(); + case 2: + return new QuestPointsPrompt(); + case 3: + return new ItemListPrompt(plugin, context, factory); + case 4: + return new PermissionsPrompt(); + case 5: + return new QuestListPrompt(true); + case 6: + return new QuestListPrompt(false); + case 7: + if (plugin.getDependencies().getMcmmoClassic() != null) { + return new mcMMOPrompt(); + } else { + return new RequirementsPrompt(plugin, context, factory); + } + case 8: + if (plugin.getDependencies().getHeroes() != null) { + return new HeroesPrompt(); + } else { + return new RequirementsPrompt(plugin, context, factory); + } + case 9: + return new CustomRequirementsPrompt(); + case 10: + if (hasRequirement) { + return new FailMessagePrompt(); + } else { + context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("invalidOption")); + return new RequirementsPrompt(plugin, context, factory); + } + case 11: + return factory.returnToMenu(context); + default: + return null; } } @@ -482,7 +481,7 @@ public class RequirementsPrompt extends QuestsNumericPrompt { } } - public class ItemListPrompt extends QuestsNumericPrompt { + public class ItemListPrompt extends QuestsEditorNumericPrompt { public ItemListPrompt(Quests plugin, ConversationContext context, QuestFactory factory) { super(context, factory); } @@ -499,73 +498,73 @@ public class RequirementsPrompt extends QuestsNumericPrompt { public ChatColor getNumberColor(ConversationContext context, int number) { switch (number) { - case 1: + case 1: + return ChatColor.BLUE; + case 2: + if (context.getSessionData(CK.REQ_ITEMS) == null) { + return ChatColor.GRAY; + } else { return ChatColor.BLUE; - case 2: - if (context.getSessionData(CK.REQ_ITEMS) == null) { - return ChatColor.GRAY; - } else { - return ChatColor.BLUE; - } - case 3: - return ChatColor.RED; - case 4: - return ChatColor.GREEN; - default: - return null; + } + case 3: + return ChatColor.RED; + case 4: + return ChatColor.GREEN; + default: + return null; } } public String getSelectionText(ConversationContext context, int number) { switch (number) { - case 1: - return ChatColor.YELLOW + Lang.get("stageEditorDeliveryAddItem"); - case 2: - if (context.getSessionData(CK.REQ_ITEMS) == null) { - return ChatColor.GRAY + Lang.get("reqSetRemoveItems"); - } else { - return ChatColor.YELLOW + Lang.get("reqSetRemoveItems"); - } - case 3: - return ChatColor.RED + Lang.get("clear"); - case 4: - return ChatColor.GREEN + Lang.get("done"); - default: - return null; + case 1: + return ChatColor.YELLOW + Lang.get("stageEditorDeliveryAddItem"); + case 2: + if (context.getSessionData(CK.REQ_ITEMS) == null) { + return ChatColor.GRAY + Lang.get("reqSetRemoveItems"); + } else { + return ChatColor.YELLOW + Lang.get("reqSetRemoveItems"); + } + case 3: + return ChatColor.RED + Lang.get("clear"); + case 4: + return ChatColor.GREEN + Lang.get("done"); + default: + return null; } } public String getAdditionalText(ConversationContext context, int number) { switch (number) { - case 1: - if (context.getSessionData(CK.REQ_ITEMS) != null) { + case 1: + if (context.getSessionData(CK.REQ_ITEMS) != null) { + String text = "\n"; + for (ItemStack is : getItems(context)) { + text += ChatColor.GRAY + " - " + ItemUtil.getDisplayString(is) + "\n"; + } + return text; + } + return ""; + case 2: + if (context.getSessionData(CK.REQ_ITEMS) == null) { + return ChatColor.GRAY + "(" + Lang.get("reqNoItemsSet") + ")"; + } else { + if (context.getSessionData(CK.REQ_ITEMS_REMOVE) == null) { + return ChatColor.YELLOW + "(" + Lang.get("reqNoValuesSet") + ")"; + } else { String text = "\n"; - for (ItemStack is : getItems(context)) { - text += ChatColor.GRAY + " - " + ItemUtil.getDisplayString(is) + "\n"; + for (Boolean b : getRemoveItems(context)) { + text += ChatColor.GRAY + " - " + ChatColor.AQUA + + (b.equals(Boolean.TRUE) ? Lang.get("yesWord") : Lang.get("noWord")) + "\n"; } return text; } - return ""; - case 2: - if (context.getSessionData(CK.REQ_ITEMS) == null) { - return ChatColor.GRAY + "(" + Lang.get("reqNoItemsSet") + ")"; - } else { - if (context.getSessionData(CK.REQ_ITEMS_REMOVE) == null) { - return ChatColor.YELLOW + "(" + Lang.get("reqNoValuesSet") + ")"; - } else { - String text = "\n"; - for (Boolean b : getRemoveItems(context)) { - text += ChatColor.GRAY + " - " + ChatColor.AQUA - + (b.equals(Boolean.TRUE) ? Lang.get("yesWord") : Lang.get("noWord")) + "\n"; - } - return text; - } - } - case 3: - case 4: - return ""; - default: - return null; + } + case 3: + case 4: + return ""; + default: + return null; } } @@ -602,41 +601,41 @@ public class RequirementsPrompt extends QuestsNumericPrompt { @Override protected Prompt acceptValidatedInput(ConversationContext context, Number input) { switch (input.intValue()) { - case 1: - return new ItemStackPrompt(ItemListPrompt.this); - case 2: - if (context.getSessionData(CK.REQ_ITEMS) == null) { - context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("reqMustAddItem")); - return new ItemListPrompt(plugin, context, factory); - } else { - return new RemoveItemsPrompt(); - } - case 3: - context.getForWhom().sendRawMessage(ChatColor.YELLOW + Lang.get("reqItemCleared")); - context.setSessionData(CK.REQ_ITEMS, null); - context.setSessionData(CK.REQ_ITEMS_REMOVE, null); + case 1: + return new ItemStackPrompt(ItemListPrompt.this); + case 2: + if (context.getSessionData(CK.REQ_ITEMS) == null) { + context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("reqMustAddItem")); return new ItemListPrompt(plugin, context, factory); - case 4: - int one; - int two; - if (context.getSessionData(CK.REQ_ITEMS) != null) { - one = ((List) context.getSessionData(CK.REQ_ITEMS)).size(); - } else { - one = 0; - } - if (context.getSessionData(CK.REQ_ITEMS_REMOVE) != null) { - two = ((List) context.getSessionData(CK.REQ_ITEMS_REMOVE)).size(); - } else { - two = 0; - } - if (one == two) { - return new RequirementsPrompt(plugin, context, factory); - } else { - context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("listsNotSameSize")); - return new ItemListPrompt(plugin, context, factory); - } - default: - return null; + } else { + return new RemoveItemsPrompt(); + } + case 3: + context.getForWhom().sendRawMessage(ChatColor.YELLOW + Lang.get("reqItemCleared")); + context.setSessionData(CK.REQ_ITEMS, null); + context.setSessionData(CK.REQ_ITEMS_REMOVE, null); + return new ItemListPrompt(plugin, context, factory); + case 4: + int one; + int two; + if (context.getSessionData(CK.REQ_ITEMS) != null) { + one = ((List) context.getSessionData(CK.REQ_ITEMS)).size(); + } else { + one = 0; + } + if (context.getSessionData(CK.REQ_ITEMS_REMOVE) != null) { + two = ((List) context.getSessionData(CK.REQ_ITEMS_REMOVE)).size(); + } else { + two = 0; + } + if (one == two) { + return new RequirementsPrompt(plugin, context, factory); + } else { + context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("listsNotSameSize")); + return new ItemListPrompt(plugin, context, factory); + } + default: + return null; } } diff --git a/main/src/main/java/me/blackvein/quests/prompts/quests/RewardsPrompt.java b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/RewardsPrompt.java similarity index 81% rename from main/src/main/java/me/blackvein/quests/prompts/quests/RewardsPrompt.java rename to main/src/main/java/me/blackvein/quests/convo/quests/prompts/RewardsPrompt.java index d01b894aa..960f40f14 100644 --- a/main/src/main/java/me/blackvein/quests/prompts/quests/RewardsPrompt.java +++ b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/RewardsPrompt.java @@ -10,7 +10,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *******************************************************************************************************/ -package me.blackvein.quests.prompts.quests; +package me.blackvein.quests.convo.quests.prompts; import java.util.Arrays; import java.util.Collections; @@ -33,14 +33,14 @@ import com.herocraftonline.heroes.characters.classes.HeroClass; import me.blackvein.quests.CustomReward; import me.blackvein.quests.QuestFactory; import me.blackvein.quests.Quests; +import me.blackvein.quests.convo.quests.QuestsEditorNumericPrompt; import me.blackvein.quests.events.editor.quests.QuestsEditorPostOpenNumericPromptEvent; -import me.blackvein.quests.prompts.QuestsNumericPrompt; import me.blackvein.quests.util.CK; import me.blackvein.quests.util.ItemUtil; import me.blackvein.quests.util.Lang; import me.blackvein.quests.util.MiscUtil; -public class RewardsPrompt extends QuestsNumericPrompt { +public class RewardsPrompt extends QuestsEditorNumericPrompt { private final Quests plugin; private final QuestFactory factory; @@ -62,209 +62,209 @@ public class RewardsPrompt extends QuestsNumericPrompt { public ChatColor getNumberColor(ConversationContext context, int number) { switch (number) { - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + return ChatColor.BLUE; + case 7: + if (plugin.getDependencies().getMcmmoClassic() != null) { return ChatColor.BLUE; - case 7: - if (plugin.getDependencies().getMcmmoClassic() != null) { - return ChatColor.BLUE; - } else { - return ChatColor.GRAY; - } - case 8: - if (plugin.getDependencies().getHeroes() != null) { - return ChatColor.BLUE; - } else { - return ChatColor.GRAY; - } - case 9: - if (plugin.getDependencies().getPhatLoots() != null) { - return ChatColor.BLUE; - } else { - return ChatColor.GRAY; - } - case 10: + } else { + return ChatColor.GRAY; + } + case 8: + if (plugin.getDependencies().getHeroes() != null) { return ChatColor.BLUE; - case 11: - return ChatColor.GREEN; - default: - return null; + } else { + return ChatColor.GRAY; + } + case 9: + if (plugin.getDependencies().getPhatLoots() != null) { + return ChatColor.BLUE; + } else { + return ChatColor.GRAY; + } + case 10: + return ChatColor.BLUE; + case 11: + return ChatColor.GREEN; + default: + return null; } } public String getSelectionText(ConversationContext context, int number) { switch (number) { - case 1: - return ChatColor.YELLOW + Lang.get("rewSetMoney"); - case 2: - return ChatColor.YELLOW + Lang.get("rewSetQuestPoints"); - case 3: - return ChatColor.YELLOW + Lang.get("rewSetItems"); - case 4: - return ChatColor.YELLOW + Lang.get("rewSetExperience"); - case 5: - return ChatColor.YELLOW + Lang.get("rewSetCommands"); - case 6: - return ChatColor.YELLOW + Lang.get("rewSetPermission"); - case 7: - return ChatColor.YELLOW + Lang.get("rewSetMcMMO"); - case 8: - return ChatColor.YELLOW + Lang.get("rewSetHeroes"); - case 9: - return ChatColor.YELLOW + Lang.get("rewSetPhat"); - case 10: - return ChatColor.DARK_PURPLE + Lang.get("rewSetCustom"); - case 11: - return ChatColor.YELLOW + Lang.get("done"); - default: - return null; + case 1: + return ChatColor.YELLOW + Lang.get("rewSetMoney"); + case 2: + return ChatColor.YELLOW + Lang.get("rewSetQuestPoints"); + case 3: + return ChatColor.YELLOW + Lang.get("rewSetItems"); + case 4: + return ChatColor.YELLOW + Lang.get("rewSetExperience"); + case 5: + return ChatColor.YELLOW + Lang.get("rewSetCommands"); + case 6: + return ChatColor.YELLOW + Lang.get("rewSetPermission"); + case 7: + return ChatColor.YELLOW + Lang.get("rewSetMcMMO"); + case 8: + return ChatColor.YELLOW + Lang.get("rewSetHeroes"); + case 9: + return ChatColor.YELLOW + Lang.get("rewSetPhat"); + case 10: + return ChatColor.DARK_PURPLE + Lang.get("rewSetCustom"); + case 11: + return ChatColor.YELLOW + Lang.get("done"); + default: + return null; } } @SuppressWarnings("unchecked") public String getAdditionalText(ConversationContext context, int number) { switch (number) { - case 1: - if (context.getSessionData(CK.REW_MONEY) == null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } else { - int moneyRew = (Integer) context.getSessionData(CK.REW_MONEY); - return ChatColor.GRAY + "(" + ChatColor.AQUA + moneyRew + " " - + (moneyRew > 1 ? plugin.getDependencies().getCurrency(true) - : plugin.getDependencies().getCurrency(false)) + ChatColor.GRAY + ")"; + case 1: + if (context.getSessionData(CK.REW_MONEY) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else { + int moneyRew = (Integer) context.getSessionData(CK.REW_MONEY); + return ChatColor.GRAY + "(" + ChatColor.AQUA + moneyRew + " " + + (moneyRew > 1 ? plugin.getDependencies().getCurrency(true) + : plugin.getDependencies().getCurrency(false)) + ChatColor.GRAY + ")"; + } + case 2: + if (context.getSessionData(CK.REW_QUEST_POINTS) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else { + return ChatColor.GRAY + "(" + ChatColor.AQUA + context.getSessionData(CK.REW_QUEST_POINTS) + " " + + Lang.get("questPoints") + ChatColor.GRAY + ")"; + } + case 3: + if (context.getSessionData(CK.REW_ITEMS) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else { + String text = ""; + LinkedList items = (LinkedList) context.getSessionData(CK.REW_ITEMS); + for (int i = 0; i < items.size(); i++) { + text += ChatColor.GRAY + " - " + ChatColor.BLUE + ItemUtil.getName(items.get(i)) + + ChatColor.GRAY + " x " + ChatColor.AQUA + items.get(i).getAmount() + "\n"; } - case 2: - if (context.getSessionData(CK.REW_QUEST_POINTS) == null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } else { - return ChatColor.GRAY + "(" + ChatColor.AQUA + context.getSessionData(CK.REW_QUEST_POINTS) + " " - + Lang.get("questPoints") + ChatColor.GRAY + ")"; + return text; + } + case 4: + if (context.getSessionData(CK.REW_EXP) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else { + return ChatColor.GRAY + "(" + ChatColor.AQUA + context.getSessionData(CK.REW_EXP) + " " + + Lang.get("points") + ChatColor.DARK_GRAY + ")"; + } + case 5: + if (context.getSessionData(CK.REW_COMMAND) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else { + String text = ""; + List commands = (List) context.getSessionData(CK.REW_COMMAND); + List overrides = (List) context.getSessionData(CK.REW_COMMAND_OVERRIDE_DISPLAY); + int index = 0; + for (String cmd : commands) { + text += ChatColor.GRAY + " - " + ChatColor.AQUA + cmd; + if (overrides != null) { + if (index < overrides.size()) { + text += ChatColor.GRAY + " (\"" + ChatColor.AQUA + overrides.get(index) + + ChatColor.GRAY + "\")"; + } + } + text += "\n"; + index++; } - case 3: - if (context.getSessionData(CK.REW_ITEMS) == null) { + return text; + } + case 6: + if (context.getSessionData(CK.REW_PERMISSION) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else { + String text = ""; + List permissions = (List) context.getSessionData(CK.REW_PERMISSION); + for (String perm : permissions) { + text += ChatColor.GRAY + " - " + ChatColor.AQUA + perm + "\n"; + } + return text; + } + case 7: + if (plugin.getDependencies().getMcmmoClassic() != null) { + if (context.getSessionData(CK.REW_MCMMO_SKILLS) == null) { return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; } else { String text = ""; - LinkedList items = (LinkedList) context.getSessionData(CK.REW_ITEMS); - for (int i = 0; i < items.size(); i++) { - text += ChatColor.GRAY + " - " + ChatColor.BLUE + ItemUtil.getName(items.get(i)) - + ChatColor.GRAY + " x " + ChatColor.AQUA + items.get(i).getAmount() + "\n"; + List skills = (List) context.getSessionData(CK.REW_MCMMO_SKILLS); + List amounts = (List) context.getSessionData(CK.REW_MCMMO_AMOUNTS); + for (String skill : skills) { + text += ChatColor.GRAY + " - " + ChatColor.AQUA + skill + ChatColor.GRAY + " x " + + ChatColor.DARK_AQUA + amounts.get(skills.indexOf(skill)) + "\n"; } return text; } - case 4: - if (context.getSessionData(CK.REW_EXP) == null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } else { - return ChatColor.GRAY + "(" + ChatColor.AQUA + context.getSessionData(CK.REW_EXP) + " " - + Lang.get("points") + ChatColor.DARK_GRAY + ")"; - } - case 5: - if (context.getSessionData(CK.REW_COMMAND) == null) { + } else { + return ChatColor.GRAY + "(" + Lang.get("notInstalled") + ")"; + } + case 8: + if (plugin.getDependencies().getHeroes() != null) { + if (context.getSessionData(CK.REW_HEROES_CLASSES) == null) { return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; } else { String text = ""; - List commands = (List) context.getSessionData(CK.REW_COMMAND); - List overrides = (List) context.getSessionData(CK.REW_COMMAND_OVERRIDE_DISPLAY); - int index = 0; - for (String cmd : commands) { - text += ChatColor.GRAY + " - " + ChatColor.AQUA + cmd; - if (overrides != null) { - if (index < overrides.size()) { - text += ChatColor.GRAY + " (\"" + ChatColor.AQUA + overrides.get(index) - + ChatColor.GRAY + "\")"; - } - } - text += "\n"; - index++; + List heroClasses = (List) context.getSessionData(CK.REW_HEROES_CLASSES); + List amounts = (List) context.getSessionData(CK.REW_HEROES_AMOUNTS); + for (String heroClass : heroClasses) { + text += ChatColor.GRAY + " - " + ChatColor.AQUA + + amounts.get(heroClasses.indexOf(heroClass)) + " " + ChatColor.DARK_AQUA + + heroClass + " " + Lang.get("experience") + "\n"; } return text; } - case 6: - if (context.getSessionData(CK.REW_PERMISSION) == null) { + } else { + return ChatColor.GRAY + "(" + Lang.get("notInstalled") + ")"; + } + case 9: + if (plugin.getDependencies().getPhatLoots() != null) { + if (context.getSessionData(CK.REW_PHAT_LOOTS) == null) { return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; } else { String text = ""; - List permissions = (List) context.getSessionData(CK.REW_PERMISSION); - for (String perm : permissions) { - text += ChatColor.GRAY + " - " + ChatColor.AQUA + perm + "\n"; + List phatLoots = (List) context.getSessionData(CK.REW_PHAT_LOOTS); + for (String phatLoot : phatLoots) { + text += ChatColor.GRAY + " - " + ChatColor.AQUA + phatLoot + "\n"; } return text; } - case 7: - if (plugin.getDependencies().getMcmmoClassic() != null) { - if (context.getSessionData(CK.REW_MCMMO_SKILLS) == null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } else { - String text = ""; - List skills = (List) context.getSessionData(CK.REW_MCMMO_SKILLS); - List amounts = (List) context.getSessionData(CK.REW_MCMMO_AMOUNTS); - for (String skill : skills) { - text += ChatColor.GRAY + " - " + ChatColor.AQUA + skill + ChatColor.GRAY + " x " - + ChatColor.DARK_AQUA + amounts.get(skills.indexOf(skill)) + "\n"; - } - return text; - } - } else { - return ChatColor.GRAY + "(" + Lang.get("notInstalled") + ")"; + } else { + return ChatColor.GRAY + "(" + Lang.get("notInstalled") + ")"; + } + case 10: + if (context.getSessionData(CK.REW_CUSTOM) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else { + String text = ""; + LinkedList customRews = (LinkedList) context.getSessionData(CK.REW_CUSTOM); + for (String s : customRews) { + text += ChatColor.RESET + "" + ChatColor.DARK_PURPLE + " - " + ChatColor.LIGHT_PURPLE + s + + "\n"; } - case 8: - if (plugin.getDependencies().getHeroes() != null) { - if (context.getSessionData(CK.REW_HEROES_CLASSES) == null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } else { - String text = ""; - List heroClasses = (List) context.getSessionData(CK.REW_HEROES_CLASSES); - List amounts = (List) context.getSessionData(CK.REW_HEROES_AMOUNTS); - for (String heroClass : heroClasses) { - text += ChatColor.GRAY + " - " + ChatColor.AQUA - + amounts.get(heroClasses.indexOf(heroClass)) + " " + ChatColor.DARK_AQUA - + heroClass + " " + Lang.get("experience") + "\n"; - } - return text; - } - } else { - return ChatColor.GRAY + "(" + Lang.get("notInstalled") + ")"; - } - case 9: - if (plugin.getDependencies().getPhatLoots() != null) { - if (context.getSessionData(CK.REW_PHAT_LOOTS) == null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } else { - String text = ""; - List phatLoots = (List) context.getSessionData(CK.REW_PHAT_LOOTS); - for (String phatLoot : phatLoots) { - text += ChatColor.GRAY + " - " + ChatColor.AQUA + phatLoot + "\n"; - } - return text; - } - } else { - return ChatColor.GRAY + "(" + Lang.get("notInstalled") + ")"; - } - case 10: - if (context.getSessionData(CK.REW_CUSTOM) == null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } else { - String text = ""; - LinkedList customRews = (LinkedList) context.getSessionData(CK.REW_CUSTOM); - for (String s : customRews) { - text += ChatColor.RESET + "" + ChatColor.DARK_PURPLE + " - " + ChatColor.LIGHT_PURPLE + s - + "\n"; - } - return text; - } - case 11: - case 12: - case 13: - case 14: - case 15: - return ""; - default: - return null; + return text; + } + case 11: + case 12: + case 13: + case 14: + case 15: + return ""; + default: + return null; } } @@ -287,42 +287,42 @@ public class RewardsPrompt extends QuestsNumericPrompt { @Override protected Prompt acceptValidatedInput(ConversationContext context, Number input) { switch (input.intValue()) { - case 1: - return new MoneyPrompt(); - case 2: - return new QuestPointsPrompt(); - case 3: - return new ItemListPrompt(); - case 4: - return new ExperiencePrompt(); - case 5: - return new CommandsListPrompt(); - case 6: - return new PermissionsPrompt(); - case 7: - if (plugin.getDependencies().getMcmmoClassic() != null) { - return new mcMMOListPrompt(); - } else { - return new RewardsPrompt(plugin, context, factory); - } - case 8: - if (plugin.getDependencies().getHeroes() != null) { - return new HeroesListPrompt(); - } else { - return new RewardsPrompt(plugin, context, factory); - } - case 9: - if (plugin.getDependencies().getPhatLoots() != null) { - return new PhatLootsPrompt(); - } else { - return new RewardsPrompt(plugin, context, factory); - } - case 10: - return new CustomRewardsPrompt(); - case 11: - return factory.returnToMenu(context); - default: - return null; + case 1: + return new MoneyPrompt(); + case 2: + return new QuestPointsPrompt(); + case 3: + return new ItemListPrompt(); + case 4: + return new ExperiencePrompt(); + case 5: + return new CommandsListPrompt(); + case 6: + return new PermissionsPrompt(); + case 7: + if (plugin.getDependencies().getMcmmoClassic() != null) { + return new mcMMOListPrompt(); + } else { + return new RewardsPrompt(plugin, context, factory); + } + case 8: + if (plugin.getDependencies().getHeroes() != null) { + return new HeroesListPrompt(); + } else { + return new RewardsPrompt(plugin, context, factory); + } + case 9: + if (plugin.getDependencies().getPhatLoots() != null) { + return new PhatLootsPrompt(); + } else { + return new RewardsPrompt(plugin, context, factory); + } + case 10: + return new CustomRewardsPrompt(); + case 11: + return factory.returnToMenu(context); + default: + return null; } } diff --git a/main/src/main/java/me/blackvein/quests/prompts/quests/StageMainPrompt.java b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/StageMainPrompt.java similarity index 83% rename from main/src/main/java/me/blackvein/quests/prompts/quests/StageMainPrompt.java rename to main/src/main/java/me/blackvein/quests/convo/quests/prompts/StageMainPrompt.java index 39d36b91d..931d3ffcc 100644 --- a/main/src/main/java/me/blackvein/quests/prompts/quests/StageMainPrompt.java +++ b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/StageMainPrompt.java @@ -10,7 +10,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *******************************************************************************************************/ -package me.blackvein.quests.prompts.quests; +package me.blackvein.quests.convo.quests.prompts; import java.util.AbstractMap; import java.util.Arrays; @@ -33,14 +33,14 @@ import me.blackvein.quests.CustomObjective; import me.blackvein.quests.QuestFactory; import me.blackvein.quests.Quests; import me.blackvein.quests.actions.Action; +import me.blackvein.quests.convo.quests.QuestsEditorNumericPrompt; import me.blackvein.quests.events.editor.quests.QuestsEditorPostOpenNumericPromptEvent; -import me.blackvein.quests.prompts.QuestsNumericPrompt; import me.blackvein.quests.util.CK; import me.blackvein.quests.util.ConfigUtil; import me.blackvein.quests.util.Lang; import me.blackvein.quests.util.MiscUtil; -public class StageMainPrompt extends QuestsNumericPrompt { +public class StageMainPrompt extends QuestsEditorNumericPrompt { private final Quests plugin; private final int stageNum; @@ -71,297 +71,297 @@ public class StageMainPrompt extends QuestsNumericPrompt { public ChatColor getNumberColor(ConversationContext context, int number) { switch (number) { - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + return ChatColor.BLUE; + case 9: + if (!hasObjective) { + return ChatColor.GRAY; + } else { return ChatColor.BLUE; - case 9: + } + case 10: + if (!hasObjective) { + return ChatColor.GRAY; + } else { + return ChatColor.BLUE; + } + case 11: + if (context.getSessionData(pref + CK.S_DELAY) == null) { + return ChatColor.GRAY; + } else { + return ChatColor.BLUE; + } + case 12: + if (context.getSessionData(pref + CK.S_START_MESSAGE) == null) { if (!hasObjective) { return ChatColor.GRAY; } else { return ChatColor.BLUE; } - case 10: + } else { + return ChatColor.BLUE; + } + case 13: + if (context.getSessionData(pref + CK.S_COMPLETE_MESSAGE) == null) { if (!hasObjective) { return ChatColor.GRAY; } else { return ChatColor.BLUE; } - case 11: - if (context.getSessionData(pref + CK.S_DELAY) == null) { + } else { + return ChatColor.BLUE; + } + case 14: + if (context.getSessionData(pref + CK.S_OVERRIDE_DISPLAY) == null) { + if (!hasObjective) { return ChatColor.GRAY; } else { return ChatColor.BLUE; } - case 12: - if (context.getSessionData(pref + CK.S_START_MESSAGE) == null) { - if (!hasObjective) { - return ChatColor.GRAY; - } else { - return ChatColor.BLUE; - } - } else { - return ChatColor.BLUE; - } - case 13: - if (context.getSessionData(pref + CK.S_COMPLETE_MESSAGE) == null) { - if (!hasObjective) { - return ChatColor.GRAY; - } else { - return ChatColor.BLUE; - } - } else { - return ChatColor.BLUE; - } - case 14: - if (context.getSessionData(pref + CK.S_OVERRIDE_DISPLAY) == null) { - if (!hasObjective) { - return ChatColor.GRAY; - } else { - return ChatColor.BLUE; - } - } else { - return ChatColor.BLUE; - } - case 15: - return ChatColor.RED; - case 16: - return ChatColor.GREEN; - default: - return null; + } else { + return ChatColor.BLUE; + } + case 15: + return ChatColor.RED; + case 16: + return ChatColor.GREEN; + default: + return null; } } public String getSelectionText(ConversationContext context, int number) { switch (number) { - case 1: - return ChatColor.GOLD + Lang.get("stageEditorBlocks"); - case 2: - return ChatColor.GOLD + Lang.get("stageEditorItems"); - case 3: - return ChatColor.GOLD + Lang.get("stageEditorNPCs"); - case 4: - return ChatColor.GOLD + Lang.get("stageEditorMobs"); - case 5: - return ChatColor.YELLOW + Lang.get("stageEditorKillPlayers"); - case 6: - return ChatColor.YELLOW + Lang.get("stageEditorReachLocs"); - case 7: - return ChatColor.YELLOW + Lang.get("stageEditorPassword"); - case 8: - return ChatColor.DARK_PURPLE + Lang.get("stageEditorCustom"); - case 9: + case 1: + return ChatColor.GOLD + Lang.get("stageEditorBlocks"); + case 2: + return ChatColor.GOLD + Lang.get("stageEditorItems"); + case 3: + return ChatColor.GOLD + Lang.get("stageEditorNPCs"); + case 4: + return ChatColor.GOLD + Lang.get("stageEditorMobs"); + case 5: + return ChatColor.YELLOW + Lang.get("stageEditorKillPlayers"); + case 6: + return ChatColor.YELLOW + Lang.get("stageEditorReachLocs"); + case 7: + return ChatColor.YELLOW + Lang.get("stageEditorPassword"); + case 8: + return ChatColor.DARK_PURPLE + Lang.get("stageEditorCustom"); + case 9: + if (!hasObjective) { + return ChatColor.GRAY + Lang.get("stageEditorEvents"); + } else { + return ChatColor.AQUA + Lang.get("stageEditorEvents"); + } + case 10: + if (!hasObjective) { + return ChatColor.GRAY + Lang.get("delay"); + } else { + return ChatColor.YELLOW + Lang.get("delay"); + } + case 11: + if (context.getSessionData(pref + CK.S_DELAY) == null) { + return ChatColor.GRAY + Lang.get("stageEditorDelayMessage"); + } else { + return ChatColor.YELLOW + Lang.get("stageEditorDelayMessage"); + } + case 12: + if (context.getSessionData(pref + CK.S_START_MESSAGE) == null) { if (!hasObjective) { - return ChatColor.GRAY + Lang.get("stageEditorEvents"); - } else { - return ChatColor.AQUA + Lang.get("stageEditorEvents"); - } - case 10: - if (!hasObjective) { - return ChatColor.GRAY + Lang.get("delay"); - } else { - return ChatColor.YELLOW + Lang.get("delay"); - } - case 11: - if (context.getSessionData(pref + CK.S_DELAY) == null) { - return ChatColor.GRAY + Lang.get("stageEditorDelayMessage"); - } else { - return ChatColor.YELLOW + Lang.get("stageEditorDelayMessage"); - } - case 12: - if (context.getSessionData(pref + CK.S_START_MESSAGE) == null) { - if (!hasObjective) { - return ChatColor.GRAY + Lang.get("stageEditorStartMessage"); - } else { - return ChatColor.YELLOW + Lang.get("stageEditorStartMessage"); - } + return ChatColor.GRAY + Lang.get("stageEditorStartMessage"); } else { return ChatColor.YELLOW + Lang.get("stageEditorStartMessage"); } - case 13: - if (context.getSessionData(pref + CK.S_COMPLETE_MESSAGE) == null) { - if (!hasObjective) { - return ChatColor.GRAY + Lang.get("stageEditorCompleteMessage"); - } else { - return ChatColor.YELLOW + Lang.get("stageEditorCompleteMessage"); - } + } else { + return ChatColor.YELLOW + Lang.get("stageEditorStartMessage"); + } + case 13: + if (context.getSessionData(pref + CK.S_COMPLETE_MESSAGE) == null) { + if (!hasObjective) { + return ChatColor.GRAY + Lang.get("stageEditorCompleteMessage"); } else { return ChatColor.YELLOW + Lang.get("stageEditorCompleteMessage"); } - case 14: - if (context.getSessionData(pref + CK.S_OVERRIDE_DISPLAY) == null) { - if (!hasObjective) { - return ChatColor.GRAY + Lang.get("stageEditorObjectiveOverride"); - } else { - return ChatColor.YELLOW + Lang.get("stageEditorObjectiveOverride"); - } + } else { + return ChatColor.YELLOW + Lang.get("stageEditorCompleteMessage"); + } + case 14: + if (context.getSessionData(pref + CK.S_OVERRIDE_DISPLAY) == null) { + if (!hasObjective) { + return ChatColor.GRAY + Lang.get("stageEditorObjectiveOverride"); } else { return ChatColor.YELLOW + Lang.get("stageEditorObjectiveOverride"); } - case 15: - return ChatColor.RED + Lang.get("stageEditorDelete"); - case 16: - return ChatColor.GREEN + Lang.get("done"); - default: - return null; + } else { + return ChatColor.YELLOW + Lang.get("stageEditorObjectiveOverride"); + } + case 15: + return ChatColor.RED + Lang.get("stageEditorDelete"); + case 16: + return ChatColor.GREEN + Lang.get("done"); + default: + return null; } } @SuppressWarnings("unchecked") public String getAdditionalText(ConversationContext context, int number) { switch (number) { - case 1: - if (context.getSessionData(pref + CK.S_BREAK_NAMES) == null - && context.getSessionData(pref + CK.S_DAMAGE_NAMES) == null - && context.getSessionData(pref + CK.S_PLACE_NAMES) == null - && context.getSessionData(pref + CK.S_USE_NAMES) == null - && context.getSessionData(pref + CK.S_CUT_NAMES) == null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + case 1: + if (context.getSessionData(pref + CK.S_BREAK_NAMES) == null + && context.getSessionData(pref + CK.S_DAMAGE_NAMES) == null + && context.getSessionData(pref + CK.S_PLACE_NAMES) == null + && context.getSessionData(pref + CK.S_USE_NAMES) == null + && context.getSessionData(pref + CK.S_CUT_NAMES) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } + case 2: + if (context.getSessionData(pref + CK.S_CRAFT_ITEMS) == null + && context.getSessionData(pref + CK.S_SMELT_ITEMS) == null + && context.getSessionData(pref + CK.S_ENCHANT_TYPES) == null + && context.getSessionData(pref + CK.S_BREW_ITEMS) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } + case 3: + if (context.getSessionData(pref + CK.S_DELIVERY_NPCS) == null + && context.getSessionData(pref + CK.S_NPCS_TO_TALK_TO) == null + && context.getSessionData(pref + CK.S_NPCS_TO_KILL) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } + case 4: + if (context.getSessionData(pref + CK.S_MOB_TYPES) == null + && context.getSessionData(pref + CK.S_FISH) == null + && context.getSessionData(pref + CK.S_TAME_TYPES) == null + && context.getSessionData(pref + CK.S_SHEAR_COLORS) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } + case 5: + if (context.getSessionData(pref + CK.S_PLAYER_KILL) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else { + Integer players = (Integer) context.getSessionData(pref + CK.S_PLAYER_KILL); + return ChatColor.GRAY + "(" + ChatColor.AQUA + players + " " + Lang.get("stageEditorPlayers") + + ChatColor.GRAY + ")"; + } + case 6: + if (context.getSessionData(pref + CK.S_REACH_LOCATIONS) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else { + String text = "\n"; + LinkedList locations + = (LinkedList) context.getSessionData(pref + CK.S_REACH_LOCATIONS); + LinkedList radii + = (LinkedList) context.getSessionData(pref + CK.S_REACH_LOCATIONS_RADIUS); + LinkedList names + = (LinkedList) context.getSessionData(pref + CK.S_REACH_LOCATIONS_NAMES); + for (int i = 0; i < locations.size(); i++) { + text += ChatColor.GRAY + " - " + Lang.get("stageEditorReachRadii1") + " " + ChatColor.BLUE + + radii.get(i) + ChatColor.GRAY + " " + Lang.get("stageEditorReachRadii2") + " " + + ChatColor.AQUA + names.get(i) + ChatColor.GRAY + " (" + ChatColor.DARK_AQUA + + locations.get(i) + ChatColor.GRAY + ")\n"; } - case 2: - if (context.getSessionData(pref + CK.S_CRAFT_ITEMS) == null - && context.getSessionData(pref + CK.S_SMELT_ITEMS) == null - && context.getSessionData(pref + CK.S_ENCHANT_TYPES) == null - && context.getSessionData(pref + CK.S_BREW_ITEMS) == null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } - case 3: - if (context.getSessionData(pref + CK.S_DELIVERY_NPCS) == null - && context.getSessionData(pref + CK.S_NPCS_TO_TALK_TO) == null - && context.getSessionData(pref + CK.S_NPCS_TO_KILL) == null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } - case 4: - if (context.getSessionData(pref + CK.S_MOB_TYPES) == null - && context.getSessionData(pref + CK.S_FISH) == null - && context.getSessionData(pref + CK.S_TAME_TYPES) == null - && context.getSessionData(pref + CK.S_SHEAR_COLORS) == null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } - case 5: - if (context.getSessionData(pref + CK.S_PLAYER_KILL) == null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } else { - Integer players = (Integer) context.getSessionData(pref + CK.S_PLAYER_KILL); - return ChatColor.GRAY + "(" + ChatColor.AQUA + players + " " + Lang.get("stageEditorPlayers") - + ChatColor.GRAY + ")"; - } - case 6: - if (context.getSessionData(pref + CK.S_REACH_LOCATIONS) == null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } else { - String text = "\n"; - LinkedList locations - = (LinkedList) context.getSessionData(pref + CK.S_REACH_LOCATIONS); - LinkedList radii - = (LinkedList) context.getSessionData(pref + CK.S_REACH_LOCATIONS_RADIUS); - LinkedList names - = (LinkedList) context.getSessionData(pref + CK.S_REACH_LOCATIONS_NAMES); - for (int i = 0; i < locations.size(); i++) { - text += ChatColor.GRAY + " - " + Lang.get("stageEditorReachRadii1") + " " + ChatColor.BLUE - + radii.get(i) + ChatColor.GRAY + " " + Lang.get("stageEditorReachRadii2") + " " - + ChatColor.AQUA + names.get(i) + ChatColor.GRAY + " (" + ChatColor.DARK_AQUA - + locations.get(i) + ChatColor.GRAY + ")\n"; - } - return text; - } - case 7: - if (context.getSessionData(pref + CK.S_PASSWORD_PHRASES) == null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } else { - String text = "\n"; - LinkedList> passPhrases - = (LinkedList>) context.getSessionData(pref + CK.S_PASSWORD_PHRASES); - LinkedList passDisplays - = (LinkedList) context.getSessionData(pref + CK.S_PASSWORD_DISPLAYS); - for (int i = 0; i < passPhrases.size(); i++) { - text += ChatColor.AQUA + " - \"" + passDisplays.get(i) + "\"\n"; - LinkedList phrases = passPhrases.get(i); - for (String phrase : phrases) { - text += ChatColor.DARK_AQUA + " - " + phrase + "\n"; - } - } - return text; - } - case 8: - if (context.getSessionData(pref + CK.S_CUSTOM_OBJECTIVES) == null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } else { - String text = "\n"; - LinkedList customObjs - = (LinkedList) context.getSessionData(pref + CK.S_CUSTOM_OBJECTIVES); - for (String s : customObjs) { - text += ChatColor.LIGHT_PURPLE + " - " + ChatColor.GOLD + s + "\n"; - } - return text; - } - case 9: - if (!hasObjective) { - return ChatColor.GRAY + "(" + Lang.get("stageEditorOptional") + ")"; - } - case 10: - if (!hasObjective) { - return ChatColor.GRAY + "(" + Lang.get("stageEditorOptional") + ")"; - } else { - if (context.getSessionData(pref + CK.S_DELAY) == null) { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } else { - long time = (Long) context.getSessionData(pref + CK.S_DELAY); - return ChatColor.GRAY + "(" + ChatColor.AQUA + MiscUtil.getTime(time) + ChatColor.GRAY + ")"; + return text; + } + case 7: + if (context.getSessionData(pref + CK.S_PASSWORD_PHRASES) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else { + String text = "\n"; + LinkedList> passPhrases + = (LinkedList>) context.getSessionData(pref + CK.S_PASSWORD_PHRASES); + LinkedList passDisplays + = (LinkedList) context.getSessionData(pref + CK.S_PASSWORD_DISPLAYS); + for (int i = 0; i < passPhrases.size(); i++) { + text += ChatColor.AQUA + " - \"" + passDisplays.get(i) + "\"\n"; + LinkedList phrases = passPhrases.get(i); + for (String phrase : phrases) { + text += ChatColor.DARK_AQUA + " - " + phrase + "\n"; } } - case 11: + return text; + } + case 8: + if (context.getSessionData(pref + CK.S_CUSTOM_OBJECTIVES) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else { + String text = "\n"; + LinkedList customObjs + = (LinkedList) context.getSessionData(pref + CK.S_CUSTOM_OBJECTIVES); + for (String s : customObjs) { + text += ChatColor.LIGHT_PURPLE + " - " + ChatColor.GOLD + s + "\n"; + } + return text; + } + case 9: + if (!hasObjective) { + return ChatColor.GRAY + "(" + Lang.get("stageEditorOptional") + ")"; + } + case 10: + if (!hasObjective) { + return ChatColor.GRAY + "(" + Lang.get("stageEditorOptional") + ")"; + } else { if (context.getSessionData(pref + CK.S_DELAY) == null) { - return ChatColor.GRAY + "(" + Lang.get("noDelaySet") + ")"; - } else if (context.getSessionData(pref + CK.S_DELAY_MESSAGE) == null) { return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; } else { - return ChatColor.GRAY + "(" + ChatColor.AQUA + "\"" - + context.getSessionData(pref + CK.S_DELAY_MESSAGE) + "\"" + ChatColor.GRAY + ")"; + long time = (Long) context.getSessionData(pref + CK.S_DELAY); + return ChatColor.GRAY + "(" + ChatColor.AQUA + MiscUtil.getTime(time) + ChatColor.GRAY + ")"; } - case 12: - if (context.getSessionData(pref + CK.S_START_MESSAGE) == null) { - if (!hasObjective) { - return ChatColor.GRAY + "(" + Lang.get("stageEditorOptional") + ")"; - } else { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } + } + case 11: + if (context.getSessionData(pref + CK.S_DELAY) == null) { + return ChatColor.GRAY + "(" + Lang.get("noDelaySet") + ")"; + } else if (context.getSessionData(pref + CK.S_DELAY_MESSAGE) == null) { + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; + } else { + return ChatColor.GRAY + "(" + ChatColor.AQUA + "\"" + + context.getSessionData(pref + CK.S_DELAY_MESSAGE) + "\"" + ChatColor.GRAY + ")"; + } + case 12: + if (context.getSessionData(pref + CK.S_START_MESSAGE) == null) { + if (!hasObjective) { + return ChatColor.GRAY + "(" + Lang.get("stageEditorOptional") + ")"; } else { - return ChatColor.GRAY + "(" + ChatColor.AQUA + "\"" - + context.getSessionData(pref + CK.S_START_MESSAGE) + "\"" + ChatColor.GRAY + ")"; + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; } - case 13: - if (context.getSessionData(pref + CK.S_COMPLETE_MESSAGE) == null) { - if (!hasObjective) { - return ChatColor.GRAY + "(" + Lang.get("stageEditorOptional") + ")"; - } else { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } + } else { + return ChatColor.GRAY + "(" + ChatColor.AQUA + "\"" + + context.getSessionData(pref + CK.S_START_MESSAGE) + "\"" + ChatColor.GRAY + ")"; + } + case 13: + if (context.getSessionData(pref + CK.S_COMPLETE_MESSAGE) == null) { + if (!hasObjective) { + return ChatColor.GRAY + "(" + Lang.get("stageEditorOptional") + ")"; } else { - return ChatColor.GRAY + "(" + ChatColor.AQUA + "\"" - + context.getSessionData(pref + CK.S_COMPLETE_MESSAGE) + "\"" + ChatColor.GRAY + ")"; + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; } - case 14: - if (context.getSessionData(pref + CK.S_OVERRIDE_DISPLAY) == null) { - if (!hasObjective) { - return ChatColor.GRAY + "(" + Lang.get("stageEditorOptional") + ")"; - } else { - return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; - } + } else { + return ChatColor.GRAY + "(" + ChatColor.AQUA + "\"" + + context.getSessionData(pref + CK.S_COMPLETE_MESSAGE) + "\"" + ChatColor.GRAY + ")"; + } + case 14: + if (context.getSessionData(pref + CK.S_OVERRIDE_DISPLAY) == null) { + if (!hasObjective) { + return ChatColor.GRAY + "(" + Lang.get("stageEditorOptional") + ")"; } else { - return ChatColor.GRAY + "(" + ChatColor.AQUA + "\"" - + context.getSessionData(pref + CK.S_OVERRIDE_DISPLAY) + "\"" + ChatColor.GRAY + ")"; + return ChatColor.GRAY + "(" + Lang.get("noneSet") + ")"; } - case 15: - case 16: - return ""; - default: - return null; + } else { + return ChatColor.GRAY + "(" + ChatColor.AQUA + "\"" + + context.getSessionData(pref + CK.S_OVERRIDE_DISPLAY) + "\"" + ChatColor.GRAY + ")"; + } + case 15: + case 16: + return ""; + default: + return null; } } @@ -386,70 +386,70 @@ public class StageMainPrompt extends QuestsNumericPrompt { @Override protected Prompt acceptValidatedInput(ConversationContext context, Number input) { switch (input.intValue()) { - case 1: - return new BlocksPrompt(plugin, stageNum, factory); - case 2: - return new ItemsPrompt(plugin, stageNum, factory); - case 3: - return new NPCsPrompt(plugin, stageNum, factory); - case 4: - return new MobsPrompt(plugin, stageNum, factory); - case 5: - return new KillPlayerPrompt(); - case 6: - return new ReachListPrompt(); - case 7: - return new PasswordListPrompt(); - case 8: - return new CustomObjectivesPrompt(); - case 9: - if (hasObjective) { - return new EventListPrompt(); - } else { - context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("invalidOption")); - return new StageMainPrompt(plugin, stageNum, context, factory); - } - case 10: - if (hasObjective) { - return new DelayPrompt(); - } else { - context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("invalidOption")); - return new StageMainPrompt(plugin, stageNum, context, factory); - } - case 11: - if (context.getSessionData(pref + CK.S_DELAY) == null) { - context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("stageEditorNoDelaySet")); - return new StageMainPrompt(plugin, stageNum, context, factory); - } else { - return new DelayMessagePrompt(); - } - case 12: - if (hasObjective) { - return new StartMessagePrompt(); - } else { - context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("invalidOption")); - return new StageMainPrompt(plugin, stageNum, context, factory); - } - case 13: - if (hasObjective) { - return new CompleteMessagePrompt(); - } else { - context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("invalidOption")); - return new StageMainPrompt(plugin, stageNum, context, factory); - } - case 14: - if (hasObjective) { - return new OverrideDisplayPrompt(); - } else { - context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("invalidOption")); - return new StageMainPrompt(plugin, stageNum, context, factory); - } - case 15: - return new DeletePrompt(); - case 16: - return new StageMenuPrompt(plugin, context, factory); - default: + case 1: + return new BlocksPrompt(plugin, stageNum, context, factory); + case 2: + return new ItemsPrompt(plugin, stageNum, factory); + case 3: + return new NPCsPrompt(plugin, stageNum, factory); + case 4: + return new MobsPrompt(plugin, stageNum, factory); + case 5: + return new KillPlayerPrompt(); + case 6: + return new ReachListPrompt(); + case 7: + return new PasswordListPrompt(); + case 8: + return new CustomObjectivesPrompt(); + case 9: + if (hasObjective) { + return new EventListPrompt(); + } else { + context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("invalidOption")); return new StageMainPrompt(plugin, stageNum, context, factory); + } + case 10: + if (hasObjective) { + return new DelayPrompt(); + } else { + context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("invalidOption")); + return new StageMainPrompt(plugin, stageNum, context, factory); + } + case 11: + if (context.getSessionData(pref + CK.S_DELAY) == null) { + context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("stageEditorNoDelaySet")); + return new StageMainPrompt(plugin, stageNum, context, factory); + } else { + return new DelayMessagePrompt(); + } + case 12: + if (hasObjective) { + return new StartMessagePrompt(); + } else { + context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("invalidOption")); + return new StageMainPrompt(plugin, stageNum, context, factory); + } + case 13: + if (hasObjective) { + return new CompleteMessagePrompt(); + } else { + context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("invalidOption")); + return new StageMainPrompt(plugin, stageNum, context, factory); + } + case 14: + if (hasObjective) { + return new OverrideDisplayPrompt(); + } else { + context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("invalidOption")); + return new StageMainPrompt(plugin, stageNum, context, factory); + } + case 15: + return new DeletePrompt(); + case 16: + return new StageMenuPrompt(plugin, context, factory); + default: + return new StageMainPrompt(plugin, stageNum, context, factory); } } diff --git a/main/src/main/java/me/blackvein/quests/prompts/quests/StageMenuPrompt.java b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/StageMenuPrompt.java similarity index 98% rename from main/src/main/java/me/blackvein/quests/prompts/quests/StageMenuPrompt.java rename to main/src/main/java/me/blackvein/quests/convo/quests/prompts/StageMenuPrompt.java index 6681374df..7cb9c38cb 100644 --- a/main/src/main/java/me/blackvein/quests/prompts/quests/StageMenuPrompt.java +++ b/main/src/main/java/me/blackvein/quests/convo/quests/prompts/StageMenuPrompt.java @@ -10,7 +10,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *******************************************************************************************************/ -package me.blackvein.quests.prompts.quests; +package me.blackvein.quests.convo.quests.prompts; import org.bukkit.ChatColor; import org.bukkit.conversations.ConversationContext; @@ -18,12 +18,12 @@ import org.bukkit.conversations.Prompt; import me.blackvein.quests.QuestFactory; import me.blackvein.quests.Quests; +import me.blackvein.quests.convo.quests.QuestsEditorNumericPrompt; import me.blackvein.quests.events.editor.quests.QuestsEditorPostOpenNumericPromptEvent; -import me.blackvein.quests.prompts.QuestsNumericPrompt; import me.blackvein.quests.util.CK; import me.blackvein.quests.util.Lang; -public class StageMenuPrompt extends QuestsNumericPrompt { +public class StageMenuPrompt extends QuestsEditorNumericPrompt { private final Quests plugin; private final QuestFactory factory; diff --git a/main/src/main/java/me/blackvein/quests/events/QuestsEvent.java b/main/src/main/java/me/blackvein/quests/events/QuestsEvent.java index 4143b89e9..f5b1a4ba3 100644 --- a/main/src/main/java/me/blackvein/quests/events/QuestsEvent.java +++ b/main/src/main/java/me/blackvein/quests/events/QuestsEvent.java @@ -13,12 +13,23 @@ package me.blackvein.quests.events; import org.bukkit.event.Event; +import org.bukkit.event.HandlerList; public abstract class QuestsEvent extends Event { + private static final HandlerList HANDLERS = new HandlerList(); + public QuestsEvent() { } public QuestsEvent(boolean async) { super(async); } + + public HandlerList getHandlers() { + return HANDLERS; + } + + public static HandlerList getHandlerList() { + return HANDLERS; + } } diff --git a/main/src/main/java/me/blackvein/quests/events/command/QuestsCommandEvent.java b/main/src/main/java/me/blackvein/quests/events/command/QuestsCommandEvent.java index 62b27b826..5313071a5 100644 --- a/main/src/main/java/me/blackvein/quests/events/command/QuestsCommandEvent.java +++ b/main/src/main/java/me/blackvein/quests/events/command/QuestsCommandEvent.java @@ -12,6 +12,8 @@ package me.blackvein.quests.events.command; +import org.bukkit.event.HandlerList; + import me.blackvein.quests.Quester; import me.blackvein.quests.events.QuestsEvent; @@ -19,6 +21,7 @@ import me.blackvein.quests.events.QuestsEvent; * Represents a Quests command-related event */ public abstract class QuestsCommandEvent extends QuestsEvent { + private static final HandlerList HANDLERS = new HandlerList(); protected Quester quester; public QuestsCommandEvent(final Quester quester) { @@ -38,4 +41,12 @@ public abstract class QuestsCommandEvent extends QuestsEvent { public final Quester getQuester() { return quester; } + + public HandlerList getHandlers() { + return HANDLERS; + } + + public static HandlerList getHandlerList() { + return HANDLERS; + } } diff --git a/main/src/main/java/me/blackvein/quests/events/editor/actions/ActionsEditorEvent.java b/main/src/main/java/me/blackvein/quests/events/editor/actions/ActionsEditorEvent.java index f1c2ced5f..04cf63e77 100644 --- a/main/src/main/java/me/blackvein/quests/events/editor/actions/ActionsEditorEvent.java +++ b/main/src/main/java/me/blackvein/quests/events/editor/actions/ActionsEditorEvent.java @@ -13,22 +13,33 @@ package me.blackvein.quests.events.editor.actions; import org.bukkit.conversations.ConversationContext; +import org.bukkit.conversations.Prompt; +import org.bukkit.event.HandlerList; +import me.blackvein.quests.actions.ActionFactory; import me.blackvein.quests.events.QuestsEvent; /** * Represents an Actions Editor-related event */ public abstract class ActionsEditorEvent extends QuestsEvent { + private static final HandlerList HANDLERS = new HandlerList(); protected ConversationContext context; + protected ActionFactory factory; + protected Prompt prompt; - public ActionsEditorEvent(final ConversationContext context) { + public ActionsEditorEvent(final ConversationContext context, ActionFactory factory, final Prompt prompt) { this.context = context; + this.factory = factory; + this.prompt = prompt; } - public ActionsEditorEvent(final ConversationContext context, boolean async) { + public ActionsEditorEvent(final ConversationContext context, ActionFactory factory, final Prompt prompt, + boolean async) { super(async); this.context = context; + this.factory = factory; + this.prompt = prompt; } /** @@ -36,7 +47,34 @@ public abstract class ActionsEditorEvent extends QuestsEvent { * * @return ConversationContext which is involved in this event */ - public final ConversationContext getConversationContext() { + public ConversationContext getConversationContext() { return context; } + + /** + * Returns the factory involved in this event + * + * @return ActionFactory which is involved in this event + */ + public ActionFactory getActionFactory() { + return factory; + } + + /** + * Returns the prompt involved in this event + * + * @return Prompt which is involved in this event + */ + public Prompt getPrompt() { + return prompt; + } + + @Override + public HandlerList getHandlers() { + return HANDLERS; + } + + public static HandlerList getHandlerList() { + return HANDLERS; + } } diff --git a/main/src/main/java/me/blackvein/quests/events/editor/actions/ActionsEditorPostOpenMainPromptEvent.java b/main/src/main/java/me/blackvein/quests/events/editor/actions/ActionsEditorPostOpenMainPromptEvent.java deleted file mode 100644 index 552f0361b..000000000 --- a/main/src/main/java/me/blackvein/quests/events/editor/actions/ActionsEditorPostOpenMainPromptEvent.java +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************************************* - * Continued by PikaMug (formerly HappyPikachu) with permission from _Blackvein_. All rights reserved. - * - * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN - * NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *******************************************************************************************************/ - -package me.blackvein.quests.events.editor.actions; - -import org.bukkit.conversations.ConversationContext; -import org.bukkit.event.HandlerList; - -public class ActionsEditorPostOpenMainPromptEvent extends ActionsEditorEvent { - private static final HandlerList handlers = new HandlerList(); - - public ActionsEditorPostOpenMainPromptEvent(ConversationContext context) { - super(context); - this.context = context; - } - - @Override - public HandlerList getHandlers() { - return handlers; - } - - public static HandlerList getHandlerList() { - return handlers; - } -} diff --git a/main/src/main/java/me/blackvein/quests/events/editor/actions/ActionsEditorPostOpenNumericPromptEvent.java b/main/src/main/java/me/blackvein/quests/events/editor/actions/ActionsEditorPostOpenNumericPromptEvent.java new file mode 100644 index 000000000..6d707ff87 --- /dev/null +++ b/main/src/main/java/me/blackvein/quests/events/editor/actions/ActionsEditorPostOpenNumericPromptEvent.java @@ -0,0 +1,69 @@ +/******************************************************************************************************* + * Continued by PikaMug (formerly HappyPikachu) with permission from _Blackvein_. All rights reserved. + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN + * NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *******************************************************************************************************/ + +package me.blackvein.quests.events.editor.actions; + +import org.bukkit.conversations.ConversationContext; +import org.bukkit.event.HandlerList; + +import me.blackvein.quests.actions.ActionFactory; +import me.blackvein.quests.convo.actions.ActionsEditorNumericPrompt; + +public class ActionsEditorPostOpenNumericPromptEvent extends ActionsEditorEvent { + private static final HandlerList HANDLERS = new HandlerList(); + private ActionFactory factory; + private ActionsEditorNumericPrompt prompt; + + public ActionsEditorPostOpenNumericPromptEvent(ConversationContext context, ActionFactory factory, + ActionsEditorNumericPrompt prompt) { + super(context, factory, prompt); + this.context = context; + this.factory = factory; + this.prompt = prompt; + } + + /** + * Returns the context involved in this event + * + * @return ConversationContext which is involved in this event + */ + public ConversationContext getConversationContext() { + return context; + } + + /** + * Returns the factory involved in this event + * + * @return ActionFactory which is involved in this event + */ + public ActionFactory getActionFactory() { + return factory; + } + + /** + * Returns the numeric prompt involved in this event + * + * @return Prompt which is involved in this event + */ + public ActionsEditorNumericPrompt getPrompt() { + return prompt; + } + + @Override + public HandlerList getHandlers() { + return HANDLERS; + } + + public static HandlerList getHandlerList() { + return HANDLERS; + } +} diff --git a/main/src/main/java/me/blackvein/quests/events/editor/actions/ActionsEditorPostOpenStringPromptEvent.java b/main/src/main/java/me/blackvein/quests/events/editor/actions/ActionsEditorPostOpenStringPromptEvent.java new file mode 100644 index 000000000..ee5c2eb24 --- /dev/null +++ b/main/src/main/java/me/blackvein/quests/events/editor/actions/ActionsEditorPostOpenStringPromptEvent.java @@ -0,0 +1,69 @@ +/******************************************************************************************************* + * Continued by PikaMug (formerly HappyPikachu) with permission from _Blackvein_. All rights reserved. + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN + * NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *******************************************************************************************************/ + +package me.blackvein.quests.events.editor.actions; + +import org.bukkit.conversations.ConversationContext; +import org.bukkit.event.HandlerList; + +import me.blackvein.quests.actions.ActionFactory; +import me.blackvein.quests.convo.actions.ActionsEditorStringPrompt; + +public class ActionsEditorPostOpenStringPromptEvent extends ActionsEditorEvent { + private static final HandlerList HANDLERS = new HandlerList(); + private ActionFactory factory; + private ActionsEditorStringPrompt prompt; + + public ActionsEditorPostOpenStringPromptEvent(ConversationContext context, ActionFactory factory, + ActionsEditorStringPrompt prompt) { + super(context, factory, prompt); + this.context = context; + this.factory = factory; + this.prompt = prompt; + } + + /** + * Returns the context involved in this event + * + * @return ConversationContext which is involved in this event + */ + public ConversationContext getConversationContext() { + return context; + } + + /** + * Returns the factory involved in this event + * + * @return ActionFactory which is involved in this event + */ + public ActionFactory getActionFactory() { + return factory; + } + + /** + * Returns the string prompt involved in this event + * + * @return Prompt which is involved in this event + */ + public ActionsEditorStringPrompt getPrompt() { + return prompt; + } + + @Override + public HandlerList getHandlers() { + return HANDLERS; + } + + public static HandlerList getHandlerList() { + return HANDLERS; + } +} diff --git a/main/src/main/java/me/blackvein/quests/events/editor/quests/QuestsEditorEvent.java b/main/src/main/java/me/blackvein/quests/events/editor/quests/QuestsEditorEvent.java index f2c9fce25..363faf2bc 100644 --- a/main/src/main/java/me/blackvein/quests/events/editor/quests/QuestsEditorEvent.java +++ b/main/src/main/java/me/blackvein/quests/events/editor/quests/QuestsEditorEvent.java @@ -14,24 +14,31 @@ package me.blackvein.quests.events.editor.quests; import org.bukkit.conversations.ConversationContext; import org.bukkit.conversations.Prompt; +import org.bukkit.event.HandlerList; +import me.blackvein.quests.QuestFactory; import me.blackvein.quests.events.QuestsEvent; /** * Represents a Quests Editor-related event */ public abstract class QuestsEditorEvent extends QuestsEvent { + private static final HandlerList HANDLERS = new HandlerList(); protected ConversationContext context; + protected QuestFactory factory; protected Prompt prompt; - public QuestsEditorEvent(final ConversationContext context, final Prompt prompt) { + public QuestsEditorEvent(final ConversationContext context, QuestFactory factory, final Prompt prompt) { this.context = context; + this.factory = factory; this.prompt = prompt; } - public QuestsEditorEvent(final ConversationContext context, final Prompt prompt, boolean async) { + public QuestsEditorEvent(final ConversationContext context, QuestFactory factory, final Prompt prompt, + boolean async) { super(async); this.context = context; + this.factory = factory; this.prompt = prompt; } @@ -40,10 +47,19 @@ public abstract class QuestsEditorEvent extends QuestsEvent { * * @return ConversationContext which is involved in this event */ - public final ConversationContext getConversationContext() { + public ConversationContext getConversationContext() { return context; } + /** + * Returns the factory involved in this event + * + * @return QuestFactory which is involved in this event + */ + public QuestFactory getQuestFactory() { + return factory; + } + /** * Returns the prompt involved in this event * @@ -52,4 +68,13 @@ public abstract class QuestsEditorEvent extends QuestsEvent { public Prompt getPrompt() { return prompt; } + + @Override + public HandlerList getHandlers() { + return HANDLERS; + } + + public static HandlerList getHandlerList() { + return HANDLERS; + } } diff --git a/main/src/main/java/me/blackvein/quests/events/editor/quests/QuestsEditorPostOpenNumericPromptEvent.java b/main/src/main/java/me/blackvein/quests/events/editor/quests/QuestsEditorPostOpenNumericPromptEvent.java index f06c97a43..d64886538 100644 --- a/main/src/main/java/me/blackvein/quests/events/editor/quests/QuestsEditorPostOpenNumericPromptEvent.java +++ b/main/src/main/java/me/blackvein/quests/events/editor/quests/QuestsEditorPostOpenNumericPromptEvent.java @@ -15,36 +15,55 @@ package me.blackvein.quests.events.editor.quests; import org.bukkit.conversations.ConversationContext; import org.bukkit.event.HandlerList; -import me.blackvein.quests.prompts.QuestsNumericPrompt; import me.blackvein.quests.QuestFactory; +import me.blackvein.quests.convo.quests.QuestsEditorNumericPrompt; public class QuestsEditorPostOpenNumericPromptEvent extends QuestsEditorEvent { - private static final HandlerList handlers = new HandlerList(); + private static final HandlerList HANDLERS = new HandlerList(); private QuestFactory factory; - private QuestsNumericPrompt prompt; + private QuestsEditorNumericPrompt prompt; public QuestsEditorPostOpenNumericPromptEvent(ConversationContext context, QuestFactory factory, - QuestsNumericPrompt prompt) { - super(context, prompt); + QuestsEditorNumericPrompt prompt) { + super(context, factory, prompt); this.context = context; this.factory = factory; this.prompt = prompt; } + + /** + * Returns the context involved in this event + * + * @return ConversationContext which is involved in this event + */ + public ConversationContext getConversationContext() { + return context; + } + /** + * Returns the factory involved in this event + * + * @return QuestFactory which is involved in this event + */ public QuestFactory getQuestFactory() { return factory; } - public QuestsNumericPrompt getPrompt() { + /** + * Returns the numeric prompt involved in this event + * + * @return Prompt which is involved in this event + */ + public QuestsEditorNumericPrompt getPrompt() { return prompt; } @Override public HandlerList getHandlers() { - return handlers; + return HANDLERS; } public static HandlerList getHandlerList() { - return handlers; + return HANDLERS; } } diff --git a/main/src/main/java/me/blackvein/quests/events/editor/quests/QuestsEditorPostOpenStringPromptEvent.java b/main/src/main/java/me/blackvein/quests/events/editor/quests/QuestsEditorPostOpenStringPromptEvent.java index 9a72968b1..b3af5f4dc 100644 --- a/main/src/main/java/me/blackvein/quests/events/editor/quests/QuestsEditorPostOpenStringPromptEvent.java +++ b/main/src/main/java/me/blackvein/quests/events/editor/quests/QuestsEditorPostOpenStringPromptEvent.java @@ -15,36 +15,55 @@ package me.blackvein.quests.events.editor.quests; import org.bukkit.conversations.ConversationContext; import org.bukkit.event.HandlerList; -import me.blackvein.quests.prompts.QuestsStringPrompt; import me.blackvein.quests.QuestFactory; +import me.blackvein.quests.convo.quests.QuestsEditorStringPrompt; public class QuestsEditorPostOpenStringPromptEvent extends QuestsEditorEvent { - private static final HandlerList handlers = new HandlerList(); + private static final HandlerList HANDLERS = new HandlerList(); private QuestFactory factory; - private QuestsStringPrompt prompt; + private QuestsEditorStringPrompt prompt; public QuestsEditorPostOpenStringPromptEvent(ConversationContext context, QuestFactory factory, - QuestsStringPrompt prompt) { - super(context, prompt); + QuestsEditorStringPrompt prompt) { + super(context, factory, prompt); this.context = context; this.factory = factory; this.prompt = prompt; } + + /** + * Returns the context involved in this event + * + * @return ConversationContext which is involved in this event + */ + public ConversationContext getConversationContext() { + return context; + } + /** + * Returns the factory involved in this event + * + * @return QuestFactory which is involved in this event + */ public QuestFactory getQuestFactory() { return factory; } - public QuestsStringPrompt getPrompt() { + /** + * Returns the string prompt involved in this event + * + * @return Prompt which is involved in this event + */ + public QuestsEditorStringPrompt getPrompt() { return prompt; } @Override public HandlerList getHandlers() { - return handlers; + return HANDLERS; } public static HandlerList getHandlerList() { - return handlers; + return HANDLERS; } } diff --git a/main/src/main/java/me/blackvein/quests/events/quest/QuestEvent.java b/main/src/main/java/me/blackvein/quests/events/quest/QuestEvent.java index 2fa8fcf6b..be29ff5c3 100644 --- a/main/src/main/java/me/blackvein/quests/events/quest/QuestEvent.java +++ b/main/src/main/java/me/blackvein/quests/events/quest/QuestEvent.java @@ -12,6 +12,8 @@ package me.blackvein.quests.events.quest; +import org.bukkit.event.HandlerList; + import me.blackvein.quests.Quest; import me.blackvein.quests.events.QuestsEvent; @@ -19,6 +21,7 @@ import me.blackvein.quests.events.QuestsEvent; * Represents a quest-related event */ public abstract class QuestEvent extends QuestsEvent { + private static final HandlerList HANDLERS = new HandlerList(); protected Quest quest; public QuestEvent(final Quest quest) { @@ -38,4 +41,12 @@ public abstract class QuestEvent extends QuestsEvent { public final Quest getQuest() { return quest; } + + public HandlerList getHandlers() { + return HANDLERS; + } + + public static HandlerList getHandlerList() { + return HANDLERS; + } } diff --git a/main/src/main/java/me/blackvein/quests/events/quest/QuestQuitEvent.java b/main/src/main/java/me/blackvein/quests/events/quest/QuestQuitEvent.java index 566f0e581..467d3351c 100644 --- a/main/src/main/java/me/blackvein/quests/events/quest/QuestQuitEvent.java +++ b/main/src/main/java/me/blackvein/quests/events/quest/QuestQuitEvent.java @@ -22,7 +22,7 @@ import me.blackvein.quests.Quester; * Called when a quest is quit by a quester */ public class QuestQuitEvent extends QuestEvent implements Cancellable { - private static final HandlerList handlers = new HandlerList(); + private static final HandlerList HANDLERS = new HandlerList(); private Quester quester; private boolean cancel = false; @@ -51,10 +51,10 @@ public class QuestQuitEvent extends QuestEvent implements Cancellable { } public HandlerList getHandlers() { - return handlers; + return HANDLERS; } public static HandlerList getHandlerList() { - return handlers; + return HANDLERS; } } diff --git a/main/src/main/java/me/blackvein/quests/events/quest/QuestTakeEvent.java b/main/src/main/java/me/blackvein/quests/events/quest/QuestTakeEvent.java index 2ad3d6ee9..c47ed0958 100644 --- a/main/src/main/java/me/blackvein/quests/events/quest/QuestTakeEvent.java +++ b/main/src/main/java/me/blackvein/quests/events/quest/QuestTakeEvent.java @@ -22,7 +22,7 @@ import me.blackvein.quests.Quester; * Called when a quest is taken by a quester */ public class QuestTakeEvent extends QuestEvent implements Cancellable { - private static final HandlerList handlers = new HandlerList(); + private static final HandlerList HANDLERS = new HandlerList(); private Quester quester; private boolean cancel = false; @@ -51,10 +51,10 @@ public class QuestTakeEvent extends QuestEvent implements Cancellable { } public HandlerList getHandlers() { - return handlers; + return HANDLERS; } public static HandlerList getHandlerList() { - return handlers; + return HANDLERS; } } diff --git a/main/src/main/java/me/blackvein/quests/events/quester/QuesterEvent.java b/main/src/main/java/me/blackvein/quests/events/quester/QuesterEvent.java index 3065319f4..6187ea1b0 100644 --- a/main/src/main/java/me/blackvein/quests/events/quester/QuesterEvent.java +++ b/main/src/main/java/me/blackvein/quests/events/quester/QuesterEvent.java @@ -12,6 +12,8 @@ package me.blackvein.quests.events.quester; +import org.bukkit.event.HandlerList; + import me.blackvein.quests.Quester; import me.blackvein.quests.events.QuestsEvent; @@ -19,6 +21,7 @@ import me.blackvein.quests.events.QuestsEvent; * Represents a quester-related event */ public abstract class QuesterEvent extends QuestsEvent { + private static final HandlerList HANDLERS = new HandlerList(); protected Quester quester; public QuesterEvent(final Quester quester) { @@ -39,4 +42,12 @@ public abstract class QuesterEvent extends QuestsEvent { public final Quester getQuester() { return quester; } + + public HandlerList getHandlers() { + return HANDLERS; + } + + public static HandlerList getHandlerList() { + return HANDLERS; + } } diff --git a/main/src/main/java/me/blackvein/quests/events/quester/QuesterPostChangeStageEvent.java b/main/src/main/java/me/blackvein/quests/events/quester/QuesterPostChangeStageEvent.java index 09d46b39a..70e0a9f98 100644 --- a/main/src/main/java/me/blackvein/quests/events/quester/QuesterPostChangeStageEvent.java +++ b/main/src/main/java/me/blackvein/quests/events/quester/QuesterPostChangeStageEvent.java @@ -22,7 +22,7 @@ import me.blackvein.quests.Stage; * Called after an online quester changes stage */ public class QuesterPostChangeStageEvent extends QuesterEvent { - private static final HandlerList handlers = new HandlerList(); + private static final HandlerList HANDLERS = new HandlerList(); private Quest quest; private Stage current; private Stage next; @@ -52,10 +52,10 @@ public class QuesterPostChangeStageEvent extends QuesterEvent { } public HandlerList getHandlers() { - return handlers; + return HANDLERS; } public static HandlerList getHandlerList() { - return handlers; + return HANDLERS; } } diff --git a/main/src/main/java/me/blackvein/quests/events/quester/QuesterPostCompleteQuestEvent.java b/main/src/main/java/me/blackvein/quests/events/quester/QuesterPostCompleteQuestEvent.java index b1c9da988..05373d612 100644 --- a/main/src/main/java/me/blackvein/quests/events/quester/QuesterPostCompleteQuestEvent.java +++ b/main/src/main/java/me/blackvein/quests/events/quester/QuesterPostCompleteQuestEvent.java @@ -21,7 +21,7 @@ import me.blackvein.quests.Quester; * Called after an online quester completes a quest */ public class QuesterPostCompleteQuestEvent extends QuesterEvent { - private static final HandlerList handlers = new HandlerList(); + private static final HandlerList HANDLERS = new HandlerList(); private Quest quest; public QuesterPostCompleteQuestEvent(Quester quester, Quest quest) { @@ -39,10 +39,10 @@ public class QuesterPostCompleteQuestEvent extends QuesterEvent { } public HandlerList getHandlers() { - return handlers; + return HANDLERS; } public static HandlerList getHandlerList() { - return handlers; + return HANDLERS; } } diff --git a/main/src/main/java/me/blackvein/quests/events/quester/QuesterPostFailQuestEvent.java b/main/src/main/java/me/blackvein/quests/events/quester/QuesterPostFailQuestEvent.java index 5c4f6bc77..81a6ffef1 100644 --- a/main/src/main/java/me/blackvein/quests/events/quester/QuesterPostFailQuestEvent.java +++ b/main/src/main/java/me/blackvein/quests/events/quester/QuesterPostFailQuestEvent.java @@ -21,7 +21,7 @@ import me.blackvein.quests.Quester; * Called after a quester fails a quest */ public class QuesterPostFailQuestEvent extends QuesterEvent { - private static final HandlerList handlers = new HandlerList(); + private static final HandlerList HANDLERS = new HandlerList(); private Quest quest; public QuesterPostFailQuestEvent(Quester quester, Quest quest) { @@ -39,10 +39,10 @@ public class QuesterPostFailQuestEvent extends QuesterEvent { } public HandlerList getHandlers() { - return handlers; + return HANDLERS; } public static HandlerList getHandlerList() { - return handlers; + return HANDLERS; } } diff --git a/main/src/main/java/me/blackvein/quests/events/quester/QuesterPostStartQuestEvent.java b/main/src/main/java/me/blackvein/quests/events/quester/QuesterPostStartQuestEvent.java index 086c7a76c..c2e050288 100644 --- a/main/src/main/java/me/blackvein/quests/events/quester/QuesterPostStartQuestEvent.java +++ b/main/src/main/java/me/blackvein/quests/events/quester/QuesterPostStartQuestEvent.java @@ -21,7 +21,7 @@ import me.blackvein.quests.Quester; * Called after an online quester starts a quest */ public class QuesterPostStartQuestEvent extends QuesterEvent { - private static final HandlerList handlers = new HandlerList(); + private static final HandlerList HANDLERS = new HandlerList(); private Quest quest; public QuesterPostStartQuestEvent(Quester quester, Quest quest) { @@ -39,10 +39,10 @@ public class QuesterPostStartQuestEvent extends QuesterEvent { } public HandlerList getHandlers() { - return handlers; + return HANDLERS; } public static HandlerList getHandlerList() { - return handlers; + return HANDLERS; } } diff --git a/main/src/main/java/me/blackvein/quests/events/quester/QuesterPreChangeStageEvent.java b/main/src/main/java/me/blackvein/quests/events/quester/QuesterPreChangeStageEvent.java index 5f3866960..921538566 100644 --- a/main/src/main/java/me/blackvein/quests/events/quester/QuesterPreChangeStageEvent.java +++ b/main/src/main/java/me/blackvein/quests/events/quester/QuesterPreChangeStageEvent.java @@ -23,7 +23,7 @@ import me.blackvein.quests.Stage; * Called before an online quester changes stage */ public class QuesterPreChangeStageEvent extends QuesterEvent implements Cancellable { - private static final HandlerList handlers = new HandlerList(); + private static final HandlerList HANDLERS = new HandlerList(); private Quest quest; private Stage current; private Stage next; @@ -64,10 +64,10 @@ public class QuesterPreChangeStageEvent extends QuesterEvent implements Cancella } public HandlerList getHandlers() { - return handlers; + return HANDLERS; } public static HandlerList getHandlerList() { - return handlers; + return HANDLERS; } } diff --git a/main/src/main/java/me/blackvein/quests/events/quester/QuesterPreCompleteQuestEvent.java b/main/src/main/java/me/blackvein/quests/events/quester/QuesterPreCompleteQuestEvent.java index 98e3f58dc..00947d44f 100644 --- a/main/src/main/java/me/blackvein/quests/events/quester/QuesterPreCompleteQuestEvent.java +++ b/main/src/main/java/me/blackvein/quests/events/quester/QuesterPreCompleteQuestEvent.java @@ -22,7 +22,7 @@ import me.blackvein.quests.Quester; * Called before an online quester completes a quest */ public class QuesterPreCompleteQuestEvent extends QuesterEvent implements Cancellable { - private static final HandlerList handlers = new HandlerList(); + private static final HandlerList HANDLERS = new HandlerList(); private Quest quest; private boolean cancel = false; @@ -51,10 +51,10 @@ public class QuesterPreCompleteQuestEvent extends QuesterEvent implements Cancel } public HandlerList getHandlers() { - return handlers; + return HANDLERS; } public static HandlerList getHandlerList() { - return handlers; + return HANDLERS; } } diff --git a/main/src/main/java/me/blackvein/quests/events/quester/QuesterPreFailQuestEvent.java b/main/src/main/java/me/blackvein/quests/events/quester/QuesterPreFailQuestEvent.java index 40efb30b3..c1f663611 100644 --- a/main/src/main/java/me/blackvein/quests/events/quester/QuesterPreFailQuestEvent.java +++ b/main/src/main/java/me/blackvein/quests/events/quester/QuesterPreFailQuestEvent.java @@ -22,7 +22,7 @@ import me.blackvein.quests.Quester; * Called before a quester fails a quest */ public class QuesterPreFailQuestEvent extends QuesterEvent implements Cancellable { - private static final HandlerList handlers = new HandlerList(); + private static final HandlerList HANDLERS = new HandlerList(); private Quest quest; private boolean cancel = false; @@ -51,10 +51,10 @@ public class QuesterPreFailQuestEvent extends QuesterEvent implements Cancellabl } public HandlerList getHandlers() { - return handlers; + return HANDLERS; } public static HandlerList getHandlerList() { - return handlers; + return HANDLERS; } } diff --git a/main/src/main/java/me/blackvein/quests/events/quester/QuesterPreOpenGUIEvent.java b/main/src/main/java/me/blackvein/quests/events/quester/QuesterPreOpenGUIEvent.java index 644ebd0bd..5a6d953d8 100644 --- a/main/src/main/java/me/blackvein/quests/events/quester/QuesterPreOpenGUIEvent.java +++ b/main/src/main/java/me/blackvein/quests/events/quester/QuesterPreOpenGUIEvent.java @@ -25,7 +25,7 @@ import net.citizensnpcs.api.npc.NPC; * Called before a quester opens a quest selection GUI */ public class QuesterPreOpenGUIEvent extends QuesterEvent implements Cancellable { - private static final HandlerList handlers = new HandlerList(); + private static final HandlerList HANDLERS = new HandlerList(); private NPC npc; LinkedList quests; private boolean cancel = false; @@ -65,10 +65,10 @@ public class QuesterPreOpenGUIEvent extends QuesterEvent implements Cancellable } public HandlerList getHandlers() { - return handlers; + return HANDLERS; } public static HandlerList getHandlerList() { - return handlers; + return HANDLERS; } } diff --git a/main/src/main/java/me/blackvein/quests/events/quester/QuesterPreStartQuestEvent.java b/main/src/main/java/me/blackvein/quests/events/quester/QuesterPreStartQuestEvent.java index ca530427e..5bbee9024 100644 --- a/main/src/main/java/me/blackvein/quests/events/quester/QuesterPreStartQuestEvent.java +++ b/main/src/main/java/me/blackvein/quests/events/quester/QuesterPreStartQuestEvent.java @@ -22,7 +22,7 @@ import me.blackvein.quests.Quester; * Called before a quester starts a quest */ public class QuesterPreStartQuestEvent extends QuesterEvent implements Cancellable { - private static final HandlerList handlers = new HandlerList(); + private static final HandlerList HANDLERS = new HandlerList(); private Quest quest; private boolean cancel = false; @@ -51,10 +51,10 @@ public class QuesterPreStartQuestEvent extends QuesterEvent implements Cancellab } public HandlerList getHandlers() { - return handlers; + return HANDLERS; } public static HandlerList getHandlerList() { - return handlers; + return HANDLERS; } }