package com.github.tuserver.api; import java.io.File; import java.util.List; import org.apache.logging.log4j.Logger; import com.github.tuserver.api.commands.ICommandWrapper; import com.github.tuserver.api.entity.Player.Player; import com.github.tuserver.api.plugin.PluginManager; import com.github.tuserver.api.world.World; public class TUServer { private static Server server; private final static File pluginsFolder = new File("plugins"); private static PluginManager pluginManager; //private static PermissionManager permManager; public static Server getServer() { return server; } public static void setServer(Server server) { if (TUServer.server != null) { throw new UnsupportedOperationException("Cannot redefine singleton Server"); } TUServer.server = server; server.getLogger().info("This server is running " + server.getName() + " version " + server.getVersion()); if (!getPluginsFolder().exists()) { getPluginsFolder().mkdirs(); // create folder "plugins" } pluginManager = new PluginManager(); getPluginManager().loadPlugins(); //permManager = new PermissionManager(); //getPermissionManager().init(); } //public static PermissionManager getPermissionManager() { // return permManager; //} public static void registerCommand(ICommandWrapper wrap) { server.registerCommand(wrap); } public static String getName() { return server.getName(); } public static String getVersion() { return server.getVersion(); } public static String getMCVersion() { return server.getMCVersion(); } public static File getPluginsFolder() { return pluginsFolder; } public static PluginManager getPluginManager() { return pluginManager; } public static Logger getLogger() { return getServer().getLogger(); } public static void shutdown() { pluginManager.unloadPlugins(); } public static Player getPlayer(String name) { return server.getPlayer(name); } public static List<Player> getOnlinePlayers() { return server.getOnlinePlayers(); } public static World getWorld(int dimension) { return server.getWorld(dimension); } }