dd9b1f0c65
Created NewLinkData and replaced references to the original LinkData. Moved it to the mod_pocketDim.core package. Added Point4D, an immutable point type for 3D integer coordinates with an added dimension ID.
49 lines
No EOL
1.4 KiB
Java
49 lines
No EOL
1.4 KiB
Java
package StevenDimDoors.mod_pocketDim.commands;
|
|
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import StevenDimDoors.mod_pocketDim.core.NewLinkData;
|
|
import StevenDimDoors.mod_pocketDim.helpers.DungeonHelper;
|
|
|
|
public class CommandCreatePocket extends DDCommandBase
|
|
{
|
|
private static CommandCreatePocket instance = null;
|
|
|
|
private CommandCreatePocket()
|
|
{
|
|
super("dd-create", "");
|
|
}
|
|
|
|
public static CommandCreatePocket instance()
|
|
{
|
|
if (instance == null)
|
|
instance = new CommandCreatePocket();
|
|
|
|
return instance;
|
|
}
|
|
|
|
@Override
|
|
protected DDCommandResult processCommand(EntityPlayer sender, String[] command)
|
|
{
|
|
//TODO: Some commands have isRemote checks, some do not. Why? Can commands even run locally anyway?
|
|
//What does it mean when you run a command locally? ~SenseiKiwi
|
|
|
|
if (!sender.worldObj.isRemote)
|
|
{
|
|
if (command.length > 0)
|
|
{
|
|
return DDCommandResult.TOO_MANY_ARGUMENTS;
|
|
}
|
|
|
|
//Place a door leading to a pocket dimension where the player is standing.
|
|
//The pocket dimension will be serve as a room for the player to build a dungeon.
|
|
int x = (int) sender.posX;
|
|
int y = (int) sender.posY;
|
|
int z = (int) sender.posZ;
|
|
NewLinkData link = DungeonHelper.instance().createCustomDungeonDoor(sender.worldObj, x, y, z);
|
|
|
|
//Notify the player
|
|
sender.sendChatToPlayer("Created a door to a pocket dimension (Dimension ID = " + link.destDimID + "). Please build your dungeon there.");
|
|
}
|
|
return DDCommandResult.SUCCESS;
|
|
}
|
|
} |