Java 类org.bukkit.conversations.Prompt 实例源码

项目:ShankShock-Core    文件:ShopItemPrompt.java   
@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);
}
项目:ShankShock-Core    文件:SilverTransferItem.java   
@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;
}
项目:ShankShock-Core    文件:InventoryStart.java   
@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);
}
项目:Demigods3    文件:Administration.java   
@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();
        }
    }
}
项目:TeamSparkle    文件:InvitePrompt.java   
@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;
}
项目:EchoPet    文件:NamePrompt.java   
@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);
}
项目:AnnihilationPro    文件:SingleQuestionPrompt.java   
@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;
}
项目:SonarPet    文件:NamePrompt.java   
@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);
}
项目:parchment    文件:ParchmentCommandExecutor.java   
@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;
}
项目:HoloAPI    文件:ScriptBuilderPrompt.java   
@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;
}
项目:HoloAPI    文件:InputPrompt.java   
@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);
}
项目:HoloAPI    文件:SimpleInputPrompt.java   
@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));
}
项目:ShankShock-Core    文件:ItemSellbackConfirmation.java   
@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);
}
项目:ShankShock-Core    文件:WeatherChangePrompt.java   
@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);
}
项目:ShankShock-Core    文件:PlayerSelector.java   
@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);
}
项目:ShankShock-Core    文件:MCItemAmountSelector.java   
@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);
}
项目:ShankShock-Core    文件:ItemInfo.java   
@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;
}
项目:ShankShock-Core    文件:ItemList.java   
@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);
}
项目:ShankShock-Core    文件:AwardInfo.java   
@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);
    }
}
项目:ShankShock-Core    文件:AwardList.java   
@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);
}
项目:GoldRushPlugin    文件:OpenAccountPrompt.java   
@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);
}
项目:GoldRushPlugin    文件:DepositPrompt.java   
@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);
    }
}
项目:GoldRushPlugin    文件:AccountSelectorPrompt.java   
@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);
}
项目:GoldRushPlugin    文件:WelcomePrompt.java   
@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);
}
项目:GoldRushPlugin    文件:WithdrawPrompt.java   
@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);
    }
}
项目:GoldRushPlugin    文件:ContinuePrompt.java   
@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);
    }
}
项目:GoldRushPlugin    文件:TConfirmSendPrompt.java   
@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;
}
项目:GoldRushPlugin    文件:TSendMessagePrompt.java   
@Override
public Prompt acceptInput(ConversationContext context, String input) {

    switch (input) {
        case "send":
        case "end":
            return END_OF_CONVERSATION;
        default:
            return new TryAgainPrompt(this);

    }
}
项目:GoldRushPlugin    文件:TWelcomePrompt.java   
@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);
        }
    }
}
项目:GoldRushPlugin    文件:TContinuePrompt.java   
@Override
public Prompt acceptInput(ConversationContext context, String input) {
    switch (input.toLowerCase()) {
        case "yes":
        case "no":
        default:
            return END_OF_CONVERSATION;
    }
}
项目:GoldRushPlugin    文件:TCollectPrompt.java   
@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);
    }
}
项目:KTP    文件:UHPrompts.java   
@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();
}
项目:KTP    文件:UHPrompts.java   
@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;
}
项目:KTP    文件:UHPrompts.java   
@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;
}
项目:SparkTrail    文件:EffectInputPrompt.java   
@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);
    }
}
项目:Demigods3    文件:Administration.java   
@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();
}
项目:Demigods3    文件:Administration.java   
@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();
    }
}
项目:Demigods3    文件:Administration.java   
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();
}
项目:MondoChest    文件:CheckerConvo.java   
@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;
}
项目:MondoChest    文件:AccessConvo.java   
@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;
}