package universalteam.universalcore.utils;
import com.mojang.authlib.GameProfile;
import cpw.mods.fml.common.FMLCommonHandler;
import net.minecraft.command.CommandHandler;
import net.minecraft.command.ICommand;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.management.ServerConfigurationManager;
import java.util.Arrays;
import java.util.List;
public class ServerUtil
{
public static MinecraftServer server()
{
return FMLCommonHandler.instance().getSidedDelegate().getServer();
}
public static ServerConfigurationManager manager()
{
return server().getConfigurationManager();
}
public static String[] getAllPlayers()
{
return manager().getAllUsernames();
}
public static List<String> getAllPlayers_list()
{
return Arrays.asList(getAllPlayers());
}
public static int getPlayerAmount()
{
return manager().getCurrentPlayerCount();
}
public static boolean isOp(String username)
{
GameProfile profile = getGameProfile(username);
if (profile == null)
return false;
return manager().func_152596_g(profile);
}
public static GameProfile getGameProfile(String username)
{
return server().func_152358_ax().func_152655_a(username);
}
public static boolean isOp(EntityPlayer player)
{
return isOp(player.getCommandSenderName());
}
public static void registerCommand(ICommand command)
{
((CommandHandler) server().getCommandManager()).registerCommand(command);
}
public static EntityPlayer getPlayerForUserName(String name)
{
return manager().func_152612_a(name);
}
public static void kickPlayer(EntityPlayer player, String text)
{
((EntityPlayerMP) player).playerNetServerHandler.kickPlayerFromServer(text);
}
public static void kickAllPlayers(String reason)
{
while (!manager().playerEntityList.isEmpty())
((EntityPlayerMP) manager().playerEntityList.get(0)).playerNetServerHandler.kickPlayerFromServer(reason);
}
}