package joshie.harvest.mining.command;
import joshie.harvest.core.commands.CommandManager.CommandLevel;
import joshie.harvest.core.commands.HFCommand;
import joshie.harvest.mining.MiningHelper;
import net.minecraft.command.*;
import net.minecraft.entity.Entity;
import net.minecraft.server.MinecraftServer;
import javax.annotation.Nonnull;
@HFCommand
public class HFCommandMine extends CommandBase {
@Override
@Nonnull
public String getCommandName() {
return "mine";
}
@Override
@Nonnull
public String getCommandUsage(@Nonnull ICommandSender sender) {
return "/hf mine [player] <mineID>";
}
@Override
public int getRequiredPermissionLevel() {
return CommandLevel.OP_AFFECT_GAMEPLAY.ordinal();
}
@Override
public void execute(@Nonnull MinecraftServer server, @Nonnull ICommandSender sender, @Nonnull String[] parameters) throws CommandException {
if (parameters.length == 1 || parameters.length == 2) {
try {
int mineID = parseInt(parameters[parameters.length - 1]);
Entity entity;
if (parameters.length == 1) entity = getCommandSenderAsPlayer(sender);
else entity = getEntity(server, sender, parameters[0]);
MiningHelper.teleportToMine(entity, mineID);
} catch (EntityNotFoundException ex) { /* Do nothing*/ }
} else throw new WrongUsageException(getCommandUsage(sender));
}
}