package org.bukkit.craftbukkit;

import net.minecraft.server.dedicated.DedicatedPlayerList;

import com.bergerkiller.generated.net.minecraft.server.dedicated.DedicatedPlayerListHandle;

import com.bergerkiller.generated.net.minecraft.server.MinecraftServerHandle;

class CraftServer {
    public org.bukkit.command.SimpleCommandMap getCommandMap();

    public (DedicatedPlayerListHandle) DedicatedPlayerList getPlayerList:getHandle();

#if version >= 1.14
    public (MinecraftServerHandle) net.minecraft.server.dedicated.DedicatedServer getServer();
#else
    public (MinecraftServerHandle) net.minecraft.server.MinecraftServer getServer();
#endif

    public java.io.File getPluginsDirectory() {
        return (java.io.File) instance.getServer().options.valueOf("plugins");
    }

    <code>
    private static CraftServerHandle _instance = null;
    public static CraftServerHandle instance() {
        if (_instance == null) {
            _instance = createHandle(org.bukkit.Bukkit.getServer());
        }
        return _instance;
    }
    </code>
}