@Override protected Prompt acceptValidatedInput(ConversationContext arg0, String arg1) { if (arg1.equals("back")) { return new ShopCategoryChooser(plugin); } Item i = itemCache.get(Integer.parseInt(arg1)); arg0.setSessionData("item", itemCache.get(Integer.parseInt(arg1)) .getItemType()); if (inventory.contains(i.getItemType())) { arg0.setSessionData("free", true); } else { arg0.setSessionData("free", false); } return new ItemInfoPrompt(plugin); }
@Override protected Prompt acceptValidatedInput(ConversationContext arg0, Number arg1) { if (arg1.intValue() < 0) { return new SilverTransferItem(plugin); } if (arg1.intValue() > sply.getCurrency()) { return new SilverTransferItem(plugin); } Player dply = (Player) arg0.getSessionData("player"); SPlayer dsply = plugin.players.get(dply.getName()); dsply.sendMessage(sply.getPlayer().getDisplayName() + " (" + sply.getPlayer().getName() + ") just sent you " + arg1.intValue() + " silver."); dsply.addCurrency(arg1.intValue(), false); sply.delCurrency(arg1.intValue()); arg0.getForWhom().sendRawMessage( ChatColor.AQUA + "Inventory: Transferred " + NumberFormat.getInstance().format(arg1.intValue()) + " silver to " + dply.getName() + "."); return Prompt.END_OF_CONVERSATION; }
@Override protected Prompt acceptValidatedInput(ConversationContext context, String input) { int option = Integer.parseInt(input); Player ply = (Player) context.getForWhom(); SPlayer sply = plugin.players.get(ply.getName()); if (option == 3) { return new AwardList(plugin); } else if (option == 2) { return new SilverTransferPlayerPrompt(plugin); } else if (option == 1) { if (sply.getInventoryStore().getInventory().size() == 0) { context.getForWhom().sendRawMessage( ChatColor.AQUA + "Inventory: " + ChatColor.RED + "You have no items. Buy some to fix this!"); return new InventoryStart(plugin); } return new ItemList(plugin); } return new InventoryStart(plugin); }
@Override protected Prompt acceptValidatedInput(ConversationContext context, String message) { if ("menu".equalsIgnoreCase(message)) { // Return to main menu return new StartAdministration(); } else { // Save the chosen structure to the data context.setSessionData("chosen_structure", getStructureChoices(context).get(Integer.parseInt(message))); // Return next menu depending on the chosen structure if (((DemigodsStructureType) context.getSessionData("chosen_structure")).getDesigns().size() > 1) { return new Design(); } else { return new Selection(); } } }
@Override public Prompt acceptInput(ConversationContext context, String input) { PlayerData data = plugin.getPlayerDataCache().getData(player); if (data.getInvited().contains(input.toLowerCase())) { player.sendRawMessage(FormatUtil.format("&cError: &4" + plugin.getMessage("already_invited"))); return Prompt.END_OF_CONVERSATION; } OfflinePlayer invite = Util.matchOfflinePlayer(input); if (invite == null || ! invite.hasPlayedBefore()) { data.getInvited().add(input.toLowerCase()); player.sendRawMessage(FormatUtil.format(plugin.getPrefix() + plugin.getMessage("invite_confirmed"), input)); } else { player.sendRawMessage(FormatUtil.format("&cError: &4" + plugin.getMessage("has_played_before"))); } return Prompt.END_OF_CONVERSATION; }
@Override public Prompt acceptInput(ConversationContext conversationContext, String s) { if (s.length() > 32) { conversationContext.getForWhom().sendRawMessage(EchoPet.getPrefix() + Lang.PET_NAME_TOO_LONG.toString()); return this; } conversationContext.setSessionData("name", s); return new NameSuccessPrompt(this.pet, this.admin); }
@Override protected Prompt acceptValidatedInput(ConversationContext context, String input) { if(input.equalsIgnoreCase("quit") || input.equalsIgnoreCase("stop") || input.equalsIgnoreCase("end")) return Prompt.END_OF_CONVERSATION; if(listener.onAnswer(input)) return Prompt.END_OF_CONVERSATION; else return this; }
@Override public Prompt acceptInput(final ConversationContext arg0, String arg1) { if ( arg1.startsWith("/") ) arg1 = arg1.substring(1); if ( arg1.equals("exit") || arg1.equals("quit") || arg1.equals("stop") ) return null; Parameter r = null; buffer.append(arg1); buffer.append("\n"); String test = buffer.toString(); if ( TCLUtils.isCompleteStatement(test) ) { buffer = new StringBuilder(); ThreadManager.instance().submitWork(new BranchEvaluationResult(new StringParameter(test), ctx, new EvaluationResult.EvalCallback() { public EvaluationResult result(EvaluationResult e) { if ( e.getCode() == Code.ERROR ) { arg0.getForWhom().sendRawMessage(ChatColor.RED + "Error: " + e.getValue().asString()); } if ( e.getValue() != null ) ctx.put("ans", e.getValue()); else ctx.put("ans", Parameter.from("")); return EvaluationResult.OK; } })); } return this; }
@Override public Prompt acceptInput(ConversationContext context, String input) { if (input.equalsIgnoreCase("DONE")) { LangSetting.send(context.getForWhom(), "}"); return new ScriptBuilderSuccess(this.lines, this.scriptName); } this.lines.add(currentlyEditing, input); return this; }
@Override protected Prompt acceptValidatedInput(ConversationContext conversationContext, String s) { Object findLoc = conversationContext.getSessionData("findloc"); if (findLoc != null && ((Boolean) findLoc)) { if (s.contains(" ")) { String[] split = s.split("\\s"); if (split.length == 4) { if (Bukkit.getWorld(split[0]) != null) { try { conversationContext.setSessionData("location", new Location(Bukkit.getWorld(split[0]), Integer.parseInt(split[1]), Integer.parseInt(split[2]), Integer.parseInt(split[3]))); return this.successPrompt; } catch (NumberFormatException e) { conversationContext.setSessionData("fail_int", true); } } else { conversationContext.setSessionData("fail_world", true); } } else { conversationContext.setSessionData("fail_format", true); } } else { conversationContext.setSessionData("fail_format", true); } } else if (s.equalsIgnoreCase("DONE")) { conversationContext.setSessionData("lines", this.lines.toArray(new String[this.lines.size()])); if (conversationContext.getSessionData("location") == null) { if (conversationContext.getForWhom() instanceof Player) { conversationContext.setSessionData("location", ((Player) conversationContext.getForWhom()).getLocation()); return this.successPrompt; } else { conversationContext.setSessionData("findloc", true); } } else { return this.successPrompt; } } else { this.lines.add(s); } return new InputPrompt(this.lines, this.successPrompt, s); }
@Override protected Prompt acceptValidatedInput(ConversationContext context, String input) { Prompt next = this.function.function(context, input); if (next != null) { return next; } return this.successPrompt != null ? this.successPrompt : new SimpleInputSuccessPrompt(this.function.getSuccessMessage(context, input)); }
@Override protected Prompt acceptValidatedInput(ConversationContext context, boolean input) { if (input) { final SPlayer ply = plugin.players.get(((Player) context.getForWhom()).getName()); final Item i = (Item) context.getSessionData("itemobj"); final boolean clearChatColorCopy = clearChatColor; final boolean clearChatTitleCopy = clearChatTitle; plugin.getServer().getScheduler().runTaskAsynchronously(plugin, new Runnable() { @Override public void run() { ply.addCurrency(refund, false); ply.saveCurrency(); ply.getInventoryStore().delItem(i); if (clearChatColorCopy) { ply.setChatColor(""); } if (clearChatTitleCopy) { ply.setChatPrefix(""); } plugin.conn.cacheChatFormat(ply); ply.saveAccount(); } }); } return new ItemList(plugin); }
@Override protected Prompt acceptValidatedInput(ConversationContext arg0, String arg1) { if (arg1.toLowerCase().equals("sunny")) { arg0.setSessionData("storm", false); } else { arg0.setSessionData("storm", true); } return new FinalShopConfirmation(plugin); }
@Override protected Prompt acceptValidatedInput(ConversationContext context, Player input) { if (input.getWorld().getName().contains("stock")) { context.getForWhom() .sendRawMessage( ChatColor.RED + "Player is in Pure, and can't be selected at this time."); return new PlayerSelector(plugin); } context.setSessionData("player", input); return new FinalShopConfirmation(plugin); }
@Override protected Prompt acceptValidatedInput(ConversationContext arg0, Number arg1) { double discount = (Double) arg0.getSessionData("discount"); if (arg1.intValue() > 64 || arg1.intValue() < 1) { return new MCItemAmountSelector(plugin); } if (arg1.intValue() * (item.getItemCost() - (item.getItemCost() * discount)) > sply.getCurrency()) { return new MCItemAmountSelector(plugin); } arg0.setSessionData("count", arg1.intValue()); return new FinalShopConfirmation(plugin); }
@Override protected Prompt acceptValidatedInput(ConversationContext context, String choice) { if (choice.equalsIgnoreCase("use")) { context.setSessionData("free", true); item.runExtraData(context, plugin); item.runPurchaseAnnoucement(context, plugin); } else if (choice.equalsIgnoreCase("sell")) { context.setSessionData("itemobj", item); return new ItemSellbackConfirmation(plugin); } else if (choice.equalsIgnoreCase("back")) { return new ItemList(plugin); } return Prompt.END_OF_CONVERSATION; }
@Override protected Prompt acceptValidatedInput(ConversationContext arg0, String arg1) { if (arg1.toLowerCase().equals("back")) { return new InventoryStart(plugin); } int i = Integer.parseInt(arg1); Item choice = items.get(i); arg0.setSessionData("item", choice); return new ItemInfo(plugin); }
@Override protected Prompt acceptValidatedInput(ConversationContext arg0, String arg1) { if (arg1.toLowerCase().equals("back") || arg1.toLowerCase().equals("yes")) { return new AwardList(plugin); } else { return new InventoryStart(plugin); } }
@Override protected Prompt acceptValidatedInput(ConversationContext arg0, String arg1) { int i = Integer.parseInt(arg1); Award choice = awards.get(i); arg0.setSessionData("award", choice); return new AwardInfo(plugin); }
@Override public Prompt acceptInput(ConversationContext context, String input) { if(input.equals("")) { context.setSessionData(SessionConstants.ERROR, errorPrompt()); return new TryAgainPrompt(this); } if(context.getSessionData(SessionConstants.AUTO_NAME).equals(false)) { Account newAccount = new CheckingAccount(input, 0, customer, bank, bank.getCheckingInterest()); bank.openAccount(customer, newAccount); context.setSessionData(SessionConstants.OUTCOME, "Created account " + newAccount.accountName() + " with bank " + bank.getName()); } return new OutcomePrompt(bank, teller, customer); }
@Override public Prompt acceptInput(ConversationContext context, String input) { int amount = 0; if(input.equalsIgnoreCase("cancel")) return Prompt.END_OF_CONVERSATION; if(NumberUtils.isNumber(input)) { amount = Integer.valueOf(input); if(amount <= 0) { context.setSessionData(SessionConstants.ERROR, errorPrompt()); return new TryAgainPrompt(this); } } else { context.setSessionData(SessionConstants.ERROR, errorPrompt()); return new TryAgainPrompt(this); } Account a = (Account) context.getSessionData(SessionConstants.ACCOUNT); if(a.deposit(amount)) { context.setSessionData(SessionConstants.OUTCOME, ChatColor.GREEN + "You have deposited " + "( " + amount + " )" + ChatColor.GOLD + " Gold Nugget(s)" + ChatColor.RESET + "into your account."); return new OutcomePrompt(bank, teller, customer); } else { context.setSessionData(SessionConstants.ERROR, "You do not have enough cash to deposit this amount!"); return new TryAgainPrompt(this); } }
@Override public Prompt acceptInput(ConversationContext context, String input) { for(Account a : accounts) { if(a.accountName().equalsIgnoreCase(input)) { context.setSessionData(SessionConstants.ACCOUNT, a); return (Prompt) context.getSessionData(SessionConstants.NEXT_PROMPT); } } context.setSessionData(SessionConstants.ERROR, errorPrompt()); return new TryAgainPrompt(this); }
@Override public Prompt acceptInput(ConversationContext context, String input) { switch (input) { case "check balance": context.setSessionData(SessionConstants.SELECTION, "check balance"); context.setSessionData(SessionConstants.NEXT_PROMPT, new CheckBalancePrompt(bank, teller, customer)); break; case "withdraw": context.setSessionData(SessionConstants.SELECTION, "withdraw"); context.setSessionData(SessionConstants.NEXT_PROMPT, new WithdrawPrompt(bank, teller, customer)); break; case "deposit": context.setSessionData(SessionConstants.SELECTION, "deposit"); context.setSessionData(SessionConstants.NEXT_PROMPT, new DepositPrompt(bank, teller, customer)); break; case "transfer": context.setSessionData(SessionConstants.SELECTION, "transfer"); break; case "close account": context.setSessionData(SessionConstants.SELECTION, "close"); break; case "transfer account": context.setSessionData(SessionConstants.SELECTION, "transfer account"); break; case "open account": context.setSessionData(SessionConstants.SELECTION, "open account"); context.setSessionData(SessionConstants.NEXT_PROMPT, new OpenAccountPrompt(bank, teller, customer)); return new AccountTypeSelectorPrompt(bank, teller, customer); case "end": case "stop": case "//": default: return Prompt.END_OF_CONVERSATION; } return new AccountSelectorPrompt(bank, teller, customer); }
@Override public Prompt acceptInput(ConversationContext context, String input) { int amount = 0; if(input.equalsIgnoreCase("cancel")) return Prompt.END_OF_CONVERSATION; if(NumberUtils.isNumber(input)) { amount = Integer.valueOf(input); if(amount <= 0) { context.setSessionData(SessionConstants.ERROR, errorPrompt()); return new TryAgainPrompt(this); } } else { context.setSessionData(SessionConstants.ERROR, errorPrompt()); return new TryAgainPrompt(this); } Account a = (Account) context.getSessionData(SessionConstants.ACCOUNT); if(a.withdraw(amount)) { context.setSessionData(SessionConstants.OUTCOME, ChatColor.GREEN + "You have withdrawn " + "( " + amount + " )" + ChatColor.GOLD + " Gold Nugget(s)" + ChatColor.RESET + "from your account."); return new OutcomePrompt(bank, teller, customer); } else { context.setSessionData(SessionConstants.ERROR, "You do not have sufficient funds to complete this transaction."); return new TryAgainPrompt(this); } }
@Override public Prompt acceptInput(ConversationContext context, String input) { if(input.equalsIgnoreCase("Yes")) { context.setSessionData(SessionConstants.CONTINUE, true); context.setSessionData(SessionConstants.WAIT, true); return new WelcomePrompt(bank, teller, customer); } else if(input.equalsIgnoreCase("No")) return Prompt.END_OF_CONVERSATION; else { context.setSessionData(SessionConstants.ERROR, errorPrompt()); return new TryAgainPrompt(this); } }
@Override public Prompt acceptInput(ConversationContext context, String input) { if(input.equalsIgnoreCase("confirm")) { Telegram t = new Telegram(); t.sendTelegram(sender.getName(), recipient.getName(), contents.getPage(0)); } return null; }
@Override public Prompt acceptInput(ConversationContext context, String input) { switch (input) { case "send": case "end": return END_OF_CONVERSATION; default: return new TryAgainPrompt(this); } }
@Override public Prompt acceptInput(ConversationContext context, String input) { switch (input.toLowerCase()) { case "check messages": return new TCheckMessagePrompt(); case "send message": return new TSendMessagePrompt(); case "exit": return END_OF_CONVERSATION; default: { context.setSessionData(SessionConstants.ERROR, "Sorry, that is not an option. Please try again."); return new TryAgainPrompt(this); } } }
@Override public Prompt acceptInput(ConversationContext context, String input) { switch (input.toLowerCase()) { case "yes": case "no": default: return END_OF_CONVERSATION; } }
@Override public Prompt acceptInput(ConversationContext context, String input) { switch (input.toLowerCase()) { case "collect": return new TCheckMessagePrompt(); case "exit": return END_OF_CONVERSATION; default: return new TryAgainPrompt(this); } }
@Override public Prompt acceptInput(ConversationContext context, String input) { if (input.length() > 16) { context.getForWhom().sendRawMessage(ChatColor.RED+"Le nom de la team doit faire 16 caractères maximum."); return this; } context.setSessionData("nomTeam", input); return new TeamColorPrompt(); }
@Override protected Prompt acceptValidatedInput(ConversationContext context, String input) { context.setSessionData("color", StringToChatColor.getChatColorByName(ChatColor.stripColor(input))); p.createTeam((String) context.getSessionData("nomTeam"), (ChatColor) context.getSessionData("color")); context.getForWhom().sendRawMessage(ChatColor.GRAY+"Team "+((ChatColor)context.getSessionData("color"))+context.getSessionData("nomTeam")+ChatColor.GRAY+" créée."); return Prompt.END_OF_CONVERSATION; }
@Override protected Prompt acceptValidatedInput(ConversationContext context, Player input) { p.getTeam((String) context.getSessionData("nomTeam")).addPlayer(input); context.getForWhom().sendRawMessage(ChatColor.GREEN+input.getName()+ChatColor.DARK_GREEN+" a été ajouté à l'équipe "+((ChatColor)context.getSessionData("color"))+context.getSessionData("nomTeam")+"."); return Prompt.END_OF_CONVERSATION; }
@Override protected Prompt acceptValidatedInput(ConversationContext conversationContext, String s) { if (this.particleType == ParticleType.FIREWORK) { return this.successPrompt; } if (this.isSecondInput) { return this.successPrompt; } else { return new EffectInputPrompt(this.particleType, this.data, this.blockData); } }
@Override protected Prompt acceptValidatedInput(ConversationContext context, String message) { // Handle leaving if ("leave".equalsIgnoreCase(message)) { // Toggle everything off Util.toggleAdministration((Player) context.getForWhom(), false, true); return null; } // Otherwise return the chosen prompt return Administration.Menu.getFromId(Character.toUpperCase(message.charAt(0))).getCategory(); }
@Override protected Prompt acceptValidatedInput(ConversationContext context, String message) { if ("menu".equalsIgnoreCase(message)) { // Return to main menu return new StartAdministration(); } else { // Save the chosen structure to the data context.setSessionData("chosen_design", getDesignChoices(context).get(Integer.parseInt(message))); // Send them to the selection return new Selection(); } }
private static Prompt success(ConversationContext context) { // All good, toggle wand off Util.toggleStructureWand((Player) context.getForWhom(), false); // Save notification saveNotification(context, Menu.class.getSimpleName(), English.ADMINISTRATION_STRUCTURE_GENERATED.getLine()); // Set data to null context.setSessionData("structurewand_loc1", null); context.setSessionData("structurewand_loc2", null); return new Menu(); }
@SuppressWarnings("unused") @Override protected Prompt acceptValidatedInput(ConversationContext ctx, String input) { String[] parts = input.split(" ", 3); MessageWithStatus response = null; String cmd = parts[0].toLowerCase(); return this; }
@Override protected Prompt acceptValidatedInput(ConversationContext ctx, String input) { String[] parts = input.split(" ", 3); Player player = (Player) ctx.getForWhom(); MessageWithStatus response = null; String cmd = parts[0].toLowerCase(); if (cmd.startsWith("/")) cmd = cmd.substring(1); try { if (cmd.equals("list")) { int page = (parts.length == 2)? Integer.parseInt(parts[1]) : 1; response = listAccess(player, page); } else if (cmd.equals("add")) { if (parts.length >= 2) { String role = (parts.length == 3)? parts[2] : "user"; response = addAccess(player, parts[1], role); } else { response = new BasicMessage("Usage: add <name> [<role>]", Status.USAGE); } } else if (cmd.equals("remove")) { if (parts.length == 2) { response = removeAccess(player, parts[1]); } else { response = new BasicMessage("Usage: remove <name>", Status.USAGE); } } else if (cmd.equals("quit")) { return null; } } catch (MondoMessage m) { response = m; } if (response != null) { ctx.setSessionData("next_response", response); } return this; }