package net.kennux.cubicworld; import net.kennux.cubicworld.util.ConsoleHelper; public class CubicWorld { /** * Replacement of System.exit(). */ public static void exit(int code) { System.exit(code); } /** * @return the client */ public static synchronized CubicWorldGame getClient() { return client; } /** * @return the server */ public static synchronized CubicWorldServer getServer() { return server; } /** * <pre> * Returns true if there is a cubicworld instance running atm. * This can get used for example to seperate server from client code in plugins. * * </pre> * * @see CubicWorldServer#isRunning() */ public static boolean isClient() { return CubicWorld.getClient() != null; } /** * <pre> * Returns true if there is a cubicworld server running atm. * This can get used for example to seperate server from client code in plugins. * * </pre> * * @see CubicWorldServer#isRunning() */ public static boolean isServer() { return CubicWorld.getServer() != null; } /** * @param client * the client to set */ public static synchronized void setClient(CubicWorldGame client) { if (CubicWorld.getClient() != null) { ConsoleHelper.writeLog("ERROR", "Singleton pattern voilated! Tried to register new client instance! Shutting down...", "CubicWorld"); CubicWorld.exit(-1); } CubicWorld.client = client; } /** * @param server * the server to set */ public static synchronized void setServer(CubicWorldServer server) { if (CubicWorld.getServer() != null) { ConsoleHelper.writeLog("ERROR", "Singleton pattern voilated! Tried to register new server instance! Shutting down...", "CubicWorld"); CubicWorld.exit(-1); } CubicWorld.server = server; } private static CubicWorldGame client; private static CubicWorldServer server; }