Paper/src/main/java/org/bukkit/craftbukkit/CraftServer.java

96 Zeilen
2.6 KiB
Java

2010-12-21 17:52:15 +01:00
package org.bukkit.craftbukkit;
2010-12-24 18:24:21 +01:00
import java.io.File;
2010-12-22 16:22:23 +01:00
import java.util.List;
2010-12-24 18:24:21 +01:00
import java.util.logging.Level;
import java.util.logging.Logger;
2010-12-27 03:13:03 +01:00
import net.minecraft.server.EntityPlayerMP;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.ServerConfigurationManager;
2010-12-22 16:22:23 +01:00
import org.bukkit.*;
import org.bukkit.plugin.Plugin;
2010-12-24 18:24:21 +01:00
import org.bukkit.plugin.PluginManager;
2010-12-25 16:42:17 +01:00
import org.bukkit.plugin.SimplePluginManager;
2010-12-24 18:24:21 +01:00
import org.bukkit.plugin.java.JavaPluginLoader;
2010-12-21 17:52:15 +01:00
2010-12-24 18:24:21 +01:00
public final class CraftServer implements Server {
private final String serverName = "Craftbukkit";
2010-12-22 16:22:23 +01:00
private final String serverVersion;
2010-12-25 16:42:17 +01:00
private final PluginManager pluginManager = new SimplePluginManager(this);
2010-12-21 17:52:15 +01:00
2010-12-22 16:22:23 +01:00
protected final MinecraftServer console;
2010-12-26 03:20:29 +01:00
protected final ServerConfigurationManager server;
2010-12-22 16:22:23 +01:00
public CraftServer(MinecraftServer instance, String ver) {
serverVersion = ver;
console = instance;
server = console.f;
2010-12-24 18:24:21 +01:00
pluginManager.RegisterInterface(JavaPluginLoader.class);
File pluginFolder = new File("plugins");
if (pluginFolder.exists()) {
try {
Plugin[] plugins = plugins = pluginManager.loadPlugins(pluginFolder);
for (Plugin plugin : plugins) {
plugin.getPluginLoader().enablePlugin(plugin);
}
} catch (Throwable ex) {
Logger.getLogger(CraftServer.class.getName()).log(Level.SEVERE, "(Is it up to date?)", ex);
}
} else {
pluginFolder.mkdir();
2010-12-24 18:24:21 +01:00
}
2010-12-21 17:52:15 +01:00
}
public String getName() {
2010-12-22 16:22:23 +01:00
return serverName;
2010-12-21 17:52:15 +01:00
}
public String getVersion() {
2010-12-22 16:22:23 +01:00
return serverVersion;
}
public Player[] getOnlinePlayers() {
2011-01-02 07:36:27 +01:00
List<EntityPlayerMP> online = server.b;
2010-12-22 16:22:23 +01:00
Player[] players = new Player[online.size()];
for (int i = 0; i < players.length; i++) {
players[i] = online.get(i).a.getPlayer();
2010-12-22 16:22:23 +01:00
}
return players;
2010-12-21 17:52:15 +01:00
}
2011-01-03 01:16:00 +01:00
public Player getPlayer(final String name) {
Player[] players = getOnlinePlayers();
for (Player player : players) {
if (player.getName().equalsIgnoreCase(name)) {
return player;
}
}
return null;
}
public Player getPlayer(final EntityPlayerMP entity) {
return entity.a.getPlayer();
2010-12-26 03:20:29 +01:00
}
2010-12-24 18:24:21 +01:00
public PluginManager getPluginManager() {
return pluginManager;
}
2010-12-27 03:13:03 +01:00
public World[] getWorlds() {
2010-12-30 05:37:32 +01:00
return new World[] { console.e.getWorld() };
2010-12-27 03:13:03 +01:00
}
2010-12-30 05:30:12 +01:00
public ServerConfigurationManager getHandle() {
return server;
}
2010-12-21 17:52:15 +01:00
}