Changes to Commands

Made some minor changes to the way that we register commands with
Minecraft. Also changed the way that we generate onCommandUsage()
strings so that the style of our outputs is consistent with that of
Minecraft and Forge commands. It seems the way the messages were
generated changed for MC 1.6. Finally, removed compareTo() from
DDCommandBase since it was completely unnecessary (CommandBase already
does the same) and casting objects to CommandBase was causing errors
with some Chicken Bones commands that directly implemented ICommand.
This commit is contained in:
SenseiKiwi 2014-03-06 21:32:38 -04:00
parent a8e37da4bc
commit 62bd3bd19e
9 changed files with 26 additions and 64 deletions

View file

@ -32,14 +32,6 @@ public class CommandCreateDungeonRift extends DDCommandBase
return instance; return instance;
} }
@Override
public String getCommandUsage(ICommandSender sender)
{
return "Usage: /dd-rift <dungeon name>\r\n" +
" /dd-rift list\r\n" +
" /dd-rift random";
}
@Override @Override
protected DDCommandResult processCommand(EntityPlayer sender, String[] command) protected DDCommandResult processCommand(EntityPlayer sender, String[] command)
{ {

View file

@ -21,11 +21,6 @@ public class CommandCreatePocket extends DDCommandBase
return instance; return instance;
} }
@Override
public String getCommandUsage(ICommandSender sender) {
return "Usage: /dd-create";
}
@Override @Override
protected DDCommandResult processCommand(EntityPlayer sender, String[] command) protected DDCommandResult processCommand(EntityPlayer sender, String[] command)
{ {

View file

@ -28,11 +28,6 @@ public class CommandDeleteAllLinks extends DDCommandBase
return instance; return instance;
} }
@Override
public String getCommandUsage(ICommandSender sender) {
return "Usage: /dd-deletelinks <targetDimensionID>";
}
@Override @Override
protected DDCommandResult processCommand(EntityPlayer sender, String[] command) protected DDCommandResult processCommand(EntityPlayer sender, String[] command)
{ {

View file

@ -28,11 +28,6 @@ public class CommandDeleteRifts extends DDCommandBase
return instance; return instance;
} }
@Override
public String getCommandUsage(ICommandSender sender) {
return "Usage: /dd-??? <dimension ID>";
}
@Override @Override
protected DDCommandResult processCommand(EntityPlayer sender, String[] command) protected DDCommandResult processCommand(EntityPlayer sender, String[] command)
{ {

View file

@ -26,13 +26,6 @@ public class CommandExportDungeon extends DDCommandBase
return instance; return instance;
} }
@Override
public String getCommandUsage(ICommandSender sender) {
return "Usage: /dd-export <dungeon type> <dungeon name> open <weight>\r\n" +
" /dd-export <dungeon type> <dungeon name> closed <weight>\r\n" +
" /dd-export <schematic name> override";
}
@Override @Override
protected DDCommandResult processCommand(EntityPlayer sender, String[] command) protected DDCommandResult processCommand(EntityPlayer sender, String[] command)
{ {

View file

@ -28,11 +28,6 @@ public class CommandResetDungeons extends DDCommandBase
return instance; return instance;
} }
@Override
public String getCommandUsage(ICommandSender sender) {
return "/dd-resetdungeons";
}
@Override @Override
protected DDCommandResult processCommand(EntityPlayer sender, String[] command) protected DDCommandResult processCommand(EntityPlayer sender, String[] command)
{ {

View file

@ -23,17 +23,11 @@ public class CommandTeleportPlayer extends DDCommandBase
public static CommandTeleportPlayer instance() public static CommandTeleportPlayer instance()
{ {
if (instance == null) if (instance == null)
{
instance = new CommandTeleportPlayer(); instance = new CommandTeleportPlayer();
}
return instance; return instance;
} }
@Override
public String getCommandUsage(ICommandSender sender) {
return "Usage: /dd-tp <player name> <dimension id> <x> <y> <z>";
}
/** /**
* TODO- Change to accept variety of input, like just coords, just dim ID, or two player names. * TODO- Change to accept variety of input, like just coords, just dim ID, or two player names.
*/ */

View file

@ -39,12 +39,22 @@ public abstract class DDCommandBase extends CommandBase
return name; return name;
} }
/* @Override
* Registers the command at server startup. public final String getCommandUsage(ICommandSender sender)
*/
public void register(FMLServerStartingEvent event)
{ {
event.registerServerCommand(this); StringBuilder builder = new StringBuilder();
builder.append('/');
builder.append(name);
builder.append(' ');
builder.append(formats[0]);
for (int index = 1; index < formats.length; index++)
{
builder.append(" OR /");
builder.append(name);
builder.append(' ');
builder.append(formats[index]);
}
return builder.toString();
} }
/* /*
@ -66,10 +76,10 @@ public abstract class DDCommandBase extends CommandBase
//Send the argument formats for this command //Send the argument formats for this command
for (String format : formats) for (String format : formats)
{ {
sendChat(player,("Usage: " + name + " " + format)); sendChat(player, "Usage: " + name + " " + format);
} }
} }
sendChat(player,(result.getMessage())); sendChat(player, result.getMessage());
} }
} }
@ -78,12 +88,5 @@ public abstract class DDCommandBase extends CommandBase
ChatMessageComponent cmp = new ChatMessageComponent(); ChatMessageComponent cmp = new ChatMessageComponent();
cmp.addText(message); cmp.addText(message);
player.sendChatToPlayer(cmp); player.sendChatToPlayer(cmp);
} }
@Override
public int compareTo(Object par1Obj)
{
return this.getCommandName().compareTo(((CommandBase)par1Obj).getCommandName());
}
} }

View file

@ -307,16 +307,16 @@ public class mod_pocketDim
//TODO- load dims with forced chunks on server startup here //TODO- load dims with forced chunks on server startup here
// Register commands with the server // Register commands with the server
CommandResetDungeons.instance().register(event); event.registerServerCommand( CommandResetDungeons.instance() );
CommandCreateDungeonRift.instance().register(event); event.registerServerCommand( CommandCreateDungeonRift.instance() );
CommandDeleteAllLinks.instance().register(event); event.registerServerCommand( CommandDeleteAllLinks.instance() );
//CommandDeleteDimensionData.instance().register(event); //CommandDeleteDimensionData.instance().register(event);
CommandDeleteRifts.instance().register(event); event.registerServerCommand( CommandDeleteRifts.instance() );
CommandExportDungeon.instance().register(event); event.registerServerCommand( CommandExportDungeon.instance() );
//CommandPrintDimensionData.instance().register(event); //CommandPrintDimensionData.instance().register(event);
//CommandPruneDimensions.instance().register(event); //CommandPruneDimensions.instance().register(event);
CommandCreatePocket.instance().register(event); event.registerServerCommand( CommandCreatePocket.instance() );
CommandTeleportPlayer.instance().register(event); event.registerServerCommand( CommandTeleportPlayer.instance() );
// Initialize a new DeathTracker // Initialize a new DeathTracker
String deathTrackerFile = DimensionManager.getCurrentSaveRootDirectory() + "/DimensionalDoors/data/deaths.txt"; String deathTrackerFile = DimensionManager.getCurrentSaveRootDirectory() + "/DimensionalDoors/data/deaths.txt";