package com.pahimar.ee.command; import com.pahimar.ee.api.knowledge.PlayerKnowledgeRegistryProxy; import com.pahimar.ee.reference.Messages; import com.pahimar.ee.reference.Names; import net.minecraft.command.CommandBase; import net.minecraft.command.CommandException; import net.minecraft.command.ICommandSender; import net.minecraft.command.WrongUsageException; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.server.MinecraftServer; import net.minecraft.util.math.BlockPos; import net.minecraftforge.fml.common.FMLCommonHandler; import javax.annotation.Nullable; import java.util.List; public class CommandPlayerForgetEverything extends CommandBase { @Override public String getName() { return Names.Commands.PLAYER_FORGET_EVERYTHING; } @Override public int getRequiredPermissionLevel() { return 2; } @Override public String getUsage(ICommandSender commandSender) { return Messages.Commands.PLAYER_FORGET_EVERYTHING_USAGE; } @Override public void execute(MinecraftServer minecraftServer, ICommandSender commandSender, String[] args) throws CommandException { if (args.length < 2) { throw new WrongUsageException(Messages.Commands.PLAYER_FORGET_EVERYTHING_USAGE); } else { EntityPlayer entityPlayer = getPlayer(minecraftServer, commandSender, args[1]); // TODO Check to see if the request runs before telling everyone it did PlayerKnowledgeRegistryProxy.makePlayerForgetAll(entityPlayer); notifyCommandListener(commandSender, this, Messages.Commands.PLAYER_FORGET_EVERYTHING_SUCCESS, commandSender.getName(), entityPlayer.getName()); } } @Override public List<String> getTabCompletions(MinecraftServer minecraftServer, ICommandSender commandSender, String[] args, @Nullable BlockPos blockPos) { if (args.length == 2) { return getListOfStringsMatchingLastWord(args, FMLCommonHandler.instance().getMinecraftServerInstance().getOnlinePlayerNames()); } return null; } }