package mcjty.rftools.commands;
import mcjty.rftools.blocks.teleporter.TeleportationTools;
import net.minecraft.command.ICommandSender;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.ChatComponentText;
import net.minecraft.util.EnumChatFormatting;
public class CmdTeleport extends AbstractRfToolsCommand {
@Override
public String getHelp() {
return "<dimension> <x> <y> <z>";
}
@Override
public String getCommand() {
return "tp";
}
@Override
public int getPermissionLevel() {
return 2;
}
@Override
public boolean isClientSide() {
return false;
}
@Override
public void execute(ICommandSender sender, String[] args) {
if (args.length < 5) {
sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Several parameters are missing!"));
return;
} else if (args.length > 5) {
sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Too many parameters!"));
return;
}
int dim = fetchInt(sender, args, 1, 0);
int x = fetchInt(sender, args, 2, 0);
int y = fetchInt(sender, args, 3, 100);
int z = fetchInt(sender, args, 4, 0);
if (sender instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) sender;
int currentId = player.worldObj.provider.dimensionId;
if (currentId != dim) {
TeleportationTools.teleportToDimension(player, dim, x, y, z);
} else {
player.setPositionAndUpdate(x, y, z);
}
}
}
}