Conflicts: StevenDimDoors/mod_pocketDim/CraftingManager.java StevenDimDoors/mod_pocketDim/EventHookContainer.java StevenDimDoors/mod_pocketDim/blocks/BaseDimDoor.java StevenDimDoors/mod_pocketDim/blocks/BlockDimWall.java StevenDimDoors/mod_pocketDim/blocks/BlockDimWallPerm.java StevenDimDoors/mod_pocketDim/blocks/BlockDoorGold.java StevenDimDoors/mod_pocketDim/blocks/BlockGoldDimDoor.java StevenDimDoors/mod_pocketDim/blocks/BlockLimbo.java StevenDimDoors/mod_pocketDim/blocks/BlockRift.java StevenDimDoors/mod_pocketDim/blocks/TransTrapdoor.java StevenDimDoors/mod_pocketDim/commands/CommandCreateDungeonRift.java StevenDimDoors/mod_pocketDim/commands/CommandCreatePocket.java StevenDimDoors/mod_pocketDim/commands/CommandDeleteAllLinks.java StevenDimDoors/mod_pocketDim/commands/CommandDeleteRifts.java StevenDimDoors/mod_pocketDim/commands/CommandExportDungeon.java StevenDimDoors/mod_pocketDim/commands/CommandResetDungeons.java StevenDimDoors/mod_pocketDim/commands/CommandTeleportPlayer.java StevenDimDoors/mod_pocketDim/commands/DDCommandBase.java StevenDimDoors/mod_pocketDim/core/DDTeleporter.java StevenDimDoors/mod_pocketDim/core/NewDimData.java StevenDimDoors/mod_pocketDim/core/PocketManager.java StevenDimDoors/mod_pocketDim/helpers/ChunkLoaderHelper.java StevenDimDoors/mod_pocketDim/items/ItemBlockDimWall.java StevenDimDoors/mod_pocketDim/items/ItemRiftBlade.java StevenDimDoors/mod_pocketDim/items/ItemRiftSignature.java StevenDimDoors/mod_pocketDim/items/ItemStabilizedRiftSignature.java StevenDimDoors/mod_pocketDim/mod_pocketDim.java StevenDimDoors/mod_pocketDim/ticking/MobMonolith.java StevenDimDoors/mod_pocketDim/tileentities/TileEntityDimDoorGold.java StevenDimDoors/mod_pocketDim/watcher/ClientLinkData.java StevenDimDoors/mod_pocketDim/world/CustomSkyProvider.java StevenDimDoors/mod_pocketDim/world/PocketBuilder.java StevenDimDoors/mod_pocketDimClient/RenderDimDoor.java StevenDimDoors/mod_pocketDimClient/RenderMobObelisk.java StevenDimDoors/mod_pocketDimClient/RenderTransTrapdoor.java build.xml
76 lines
1.9 KiB
Java
76 lines
1.9 KiB
Java
package StevenDimDoors.mod_pocketDim.commands;
|
|
|
|
import net.minecraft.command.CommandBase;
|
|
import net.minecraft.command.ICommandSender;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.util.ChatMessageComponent;
|
|
import cpw.mods.fml.common.event.FMLServerStartingEvent;
|
|
|
|
/*
|
|
* An abstract base class for our Dimensional Doors commands. This cleans up the code a little and provides
|
|
* some convenience improvements.
|
|
*/
|
|
public abstract class DDCommandBase extends CommandBase
|
|
{
|
|
private String name;
|
|
private String[] formats;
|
|
|
|
public DDCommandBase(String name, String format)
|
|
{
|
|
this.name = name;
|
|
this.formats = new String[] { format };
|
|
}
|
|
|
|
public DDCommandBase(String name, String[] formats)
|
|
{
|
|
this.name = name;
|
|
this.formats = formats;
|
|
}
|
|
|
|
/*
|
|
* When overridden in a derived class, processes the command sent by the server
|
|
* and returns a status code and message for the result of the operation.
|
|
*/
|
|
protected abstract DDCommandResult processCommand(EntityPlayer sender, String[] command);
|
|
|
|
@Override
|
|
public final String getCommandName()
|
|
{
|
|
return name;
|
|
}
|
|
|
|
/*
|
|
* Registers the command at server startup.
|
|
*/
|
|
public void register(FMLServerStartingEvent event)
|
|
{
|
|
event.registerServerCommand(this);
|
|
}
|
|
|
|
/*
|
|
* Method invoked by the server to execute a command. The call is forwarded to a derived class
|
|
* to provide the sending player directly.
|
|
*/
|
|
@Override
|
|
public final void processCommand(ICommandSender sender, String[] command)
|
|
{
|
|
//Forward the command
|
|
EntityPlayer player = getCommandSenderAsPlayer(sender);
|
|
DDCommandResult result = processCommand(player, command);
|
|
|
|
//If the command failed, send the player a status message.
|
|
if (result.failed())
|
|
{
|
|
if (result.shouldPrintUsage())
|
|
{
|
|
//Send the argument formats for this command
|
|
for (String format : formats)
|
|
{
|
|
sendChat(player,("Usage: " + name + " " + format));
|
|
}
|
|
}
|
|
sendChat(player,(result.getMessage()));
|
|
}
|
|
}
|
|
}
|