From 62bd3bd19e106b2abc4db0adf4dcdd5d26e4e299 Mon Sep 17 00:00:00 2001 From: SenseiKiwi Date: Thu, 6 Mar 2014 21:32:38 -0400 Subject: [PATCH] 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. --- .../commands/CommandCreateDungeonRift.java | 8 ----- .../commands/CommandCreatePocket.java | 5 --- .../commands/CommandDeleteAllLinks.java | 5 --- .../commands/CommandDeleteRifts.java | 5 --- .../commands/CommandExportDungeon.java | 7 ----- .../commands/CommandResetDungeons.java | 5 --- .../commands/CommandTeleportPlayer.java | 10 ++---- .../mod_pocketDim/commands/DDCommandBase.java | 31 ++++++++++--------- .../mod_pocketDim/mod_pocketDim.java | 14 ++++----- 9 files changed, 26 insertions(+), 64 deletions(-) diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandCreateDungeonRift.java b/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandCreateDungeonRift.java index 791b4bb..23e0b64 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandCreateDungeonRift.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandCreateDungeonRift.java @@ -32,14 +32,6 @@ public class CommandCreateDungeonRift extends DDCommandBase return instance; } - @Override - public String getCommandUsage(ICommandSender sender) - { - return "Usage: /dd-rift \r\n" + - " /dd-rift list\r\n" + - " /dd-rift random"; - } - @Override protected DDCommandResult processCommand(EntityPlayer sender, String[] command) { diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandCreatePocket.java b/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandCreatePocket.java index 1081a18..b2843a6 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandCreatePocket.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandCreatePocket.java @@ -21,11 +21,6 @@ public class CommandCreatePocket extends DDCommandBase return instance; } - @Override - public String getCommandUsage(ICommandSender sender) { - return "Usage: /dd-create"; - } - @Override protected DDCommandResult processCommand(EntityPlayer sender, String[] command) { diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandDeleteAllLinks.java b/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandDeleteAllLinks.java index 2923716..317b101 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandDeleteAllLinks.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandDeleteAllLinks.java @@ -28,11 +28,6 @@ public class CommandDeleteAllLinks extends DDCommandBase return instance; } - @Override - public String getCommandUsage(ICommandSender sender) { - return "Usage: /dd-deletelinks "; - } - @Override protected DDCommandResult processCommand(EntityPlayer sender, String[] command) { diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandDeleteRifts.java b/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandDeleteRifts.java index 7f6be30..328576c 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandDeleteRifts.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandDeleteRifts.java @@ -28,11 +28,6 @@ public class CommandDeleteRifts extends DDCommandBase return instance; } - @Override - public String getCommandUsage(ICommandSender sender) { - return "Usage: /dd-??? "; - } - @Override protected DDCommandResult processCommand(EntityPlayer sender, String[] command) { diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandExportDungeon.java b/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandExportDungeon.java index 7e7df1d..86008cd 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandExportDungeon.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandExportDungeon.java @@ -26,13 +26,6 @@ public class CommandExportDungeon extends DDCommandBase return instance; } - @Override - public String getCommandUsage(ICommandSender sender) { - return "Usage: /dd-export open \r\n" + - " /dd-export closed \r\n" + - " /dd-export override"; - } - @Override protected DDCommandResult processCommand(EntityPlayer sender, String[] command) { diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandResetDungeons.java b/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandResetDungeons.java index 0f51851..f9ed088 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandResetDungeons.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandResetDungeons.java @@ -28,11 +28,6 @@ public class CommandResetDungeons extends DDCommandBase return instance; } - @Override - public String getCommandUsage(ICommandSender sender) { - return "/dd-resetdungeons"; - } - @Override protected DDCommandResult processCommand(EntityPlayer sender, String[] command) { diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandTeleportPlayer.java b/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandTeleportPlayer.java index 206df94..1b29999 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandTeleportPlayer.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/commands/CommandTeleportPlayer.java @@ -23,17 +23,11 @@ public class CommandTeleportPlayer extends DDCommandBase public static CommandTeleportPlayer instance() { if (instance == null) - { instance = new CommandTeleportPlayer(); - } + return instance; } - - @Override - public String getCommandUsage(ICommandSender sender) { - return "Usage: /dd-tp "; - } - + /** * TODO- Change to accept variety of input, like just coords, just dim ID, or two player names. */ diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/commands/DDCommandBase.java b/src/main/java/StevenDimDoors/mod_pocketDim/commands/DDCommandBase.java index 87c08ed..ea8061f 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/commands/DDCommandBase.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/commands/DDCommandBase.java @@ -39,12 +39,22 @@ public abstract class DDCommandBase extends CommandBase return name; } - /* - * Registers the command at server startup. - */ - public void register(FMLServerStartingEvent event) + @Override + public final String getCommandUsage(ICommandSender sender) { - 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 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(); cmp.addText(message); player.sendChatToPlayer(cmp); - } - - @Override - public int compareTo(Object par1Obj) - { - return this.getCommandName().compareTo(((CommandBase)par1Obj).getCommandName()); - } } diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/mod_pocketDim.java b/src/main/java/StevenDimDoors/mod_pocketDim/mod_pocketDim.java index c52aa5f..c44eaee 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/mod_pocketDim.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/mod_pocketDim.java @@ -307,16 +307,16 @@ public class mod_pocketDim //TODO- load dims with forced chunks on server startup here // Register commands with the server - CommandResetDungeons.instance().register(event); - CommandCreateDungeonRift.instance().register(event); - CommandDeleteAllLinks.instance().register(event); + event.registerServerCommand( CommandResetDungeons.instance() ); + event.registerServerCommand( CommandCreateDungeonRift.instance() ); + event.registerServerCommand( CommandDeleteAllLinks.instance() ); //CommandDeleteDimensionData.instance().register(event); - CommandDeleteRifts.instance().register(event); - CommandExportDungeon.instance().register(event); + event.registerServerCommand( CommandDeleteRifts.instance() ); + event.registerServerCommand( CommandExportDungeon.instance() ); //CommandPrintDimensionData.instance().register(event); //CommandPruneDimensions.instance().register(event); - CommandCreatePocket.instance().register(event); - CommandTeleportPlayer.instance().register(event); + event.registerServerCommand( CommandCreatePocket.instance() ); + event.registerServerCommand( CommandTeleportPlayer.instance() ); // Initialize a new DeathTracker String deathTrackerFile = DimensionManager.getCurrentSaveRootDirectory() + "/DimensionalDoors/data/deaths.txt";