new command: rename

This commit is contained in:
Tobias Ottenweller 2012-02-28 13:41:47 +01:00
parent 0fe721b8c0
commit bf083106d9
3 changed files with 62 additions and 6 deletions

View File

@ -23,6 +23,7 @@ import org.mcteam.ancientgates.commands.CommandDelete;
import org.mcteam.ancientgates.commands.CommandHelp;
import org.mcteam.ancientgates.commands.CommandList;
import org.mcteam.ancientgates.commands.CommandOpen;
import org.mcteam.ancientgates.commands.CommandRename;
import org.mcteam.ancientgates.commands.CommandSetFrom;
import org.mcteam.ancientgates.commands.CommandSetTo;
@ -70,6 +71,7 @@ public class Plugin extends JavaPlugin {
commands.add(new CommandSetFrom());
commands.add(new CommandSetTo());
commands.add(new CommandOpen());
commands.add(new CommandRename());
commands.add(new CommandClose());
commands.add(new CommandList());

View File

@ -23,31 +23,44 @@ public class CommandHelp extends BaseCommand {
return true;
}
public void perform() {
public void perform()
{
int page = 1;
if (parameters.size() > 0) {
try {
if (parameters.size() > 0)
{
try
{
page = Integer.parseInt(parameters.get(0));
} catch (NumberFormatException e) {
}
catch (NumberFormatException e)
{
// wasn't an integer
}
}
sendMessage(TextUtil.titleize("AncientGates Help ("+page+"/"+helpPages.size()+")"));
page -= 1;
if (page < 0 || page >= helpPages.size()) {
if (page < 0 || page >= helpPages.size())
{
sendMessage("This page does not exist");
return;
}
sendMessage(helpPages.get(page));
}
//----------------------------------------------//
// Build the help pages
//----------------------------------------------//
public static ArrayList<ArrayList<String>> helpPages;
static {
static
{
helpPages = new ArrayList<ArrayList<String>>();
ArrayList<String> pageLines;
@ -59,6 +72,7 @@ public class CommandHelp extends BaseCommand {
pageLines.add( new CommandSetFrom().getUseageTemplate(true, true) );
pageLines.add( new CommandSetTo().getUseageTemplate(true, true) );
pageLines.add( new CommandOpen().getUseageTemplate(true, true) );
pageLines.add( new CommandRename().getUseageTemplate(true, true) );
pageLines.add( new CommandClose().getUseageTemplate(true, true) );
pageLines.add( new CommandList().getUseageTemplate(true, true) );
helpPages.add(pageLines);

View File

@ -0,0 +1,40 @@
package org.mcteam.ancientgates.commands;
import org.mcteam.ancientgates.Gate;
public class CommandRename extends BaseCommand
{
public CommandRename()
{
aliases.add("rename");
aliases.add("changename");
aliases.add("cn");
hasGateParam = true;
senderMustBePlayer = false;
requiredParameters.add("current name");
requiredParameters.add("new name");
helpDescription = "Change the name of a gate";
}
public void perform()
{
String newId = parameters.get(1);
String oldId = gate.getId();
if (Gate.exists(newId))
{
sendMessage("Cannot rename " + oldId + ". There is already a gate named " + newId + ".");
return;
}
Gate.rename(gate, newId);
sendMessage("Gate " + oldId + " is now known as " + newId + ".");
}
}