package moe.ymc.acron; import net.minecraft.server.dedicated.MinecraftDedicatedServer; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.jetbrains.annotations.NotNull; public class MinecraftServerHolder { private static final Logger LOGGER = LogManager.getLogger(); public static MinecraftDedicatedServer server; public static void setServer(@NotNull MinecraftDedicatedServer server) { if (MinecraftServerHolder.server != null) { throw new IllegalStateException(); } LOGGER.debug("Got MinecraftDedicatedServer on thread {}.", Thread.currentThread().getName()); MinecraftServerHolder.server = server; } public static @NotNull MinecraftDedicatedServer getServer() { if (server == null) { throw new IllegalStateException(String.format("[%s] getServer() called before a server is ready.", Thread.currentThread().getName())); } return server; } }