diff options
author | Dinnerbone <dinnerbone@dinnerbone.com> | 2010-12-22 15:22:23 +0000 |
---|---|---|
committer | Dinnerbone <dinnerbone@dinnerbone.com> | 2010-12-22 15:22:23 +0000 |
commit | a799b1463b07ab177aecbd9bcc719bfc254bc564 (patch) | |
tree | b70378d0304ce9761af33b7148dfeff25b161a1a /src/org | |
parent | 84f7c6c8d22f9902e3095d0f6e8ac680572e02de (diff) | |
download | craftbukkit-a799b1463b07ab177aecbd9bcc719bfc254bc564.tar craftbukkit-a799b1463b07ab177aecbd9bcc719bfc254bc564.tar.gz craftbukkit-a799b1463b07ab177aecbd9bcc719bfc254bc564.tar.lz craftbukkit-a799b1463b07ab177aecbd9bcc719bfc254bc564.tar.xz craftbukkit-a799b1463b07ab177aecbd9bcc719bfc254bc564.zip |
Hook onto the server, and added player
Diffstat (limited to 'src/org')
-rw-r--r-- | src/org/bukkit/craftbukkit/CraftPlayer.java | 25 | ||||
-rw-r--r-- | src/org/bukkit/craftbukkit/CraftServer.java | 46 |
2 files changed, 61 insertions, 10 deletions
diff --git a/src/org/bukkit/craftbukkit/CraftPlayer.java b/src/org/bukkit/craftbukkit/CraftPlayer.java new file mode 100644 index 00000000..0b86306d --- /dev/null +++ b/src/org/bukkit/craftbukkit/CraftPlayer.java @@ -0,0 +1,25 @@ + +package org.bukkit.craftbukkit; + +import net.minecraft.server.fi; +import org.bukkit.Player; + +public class CraftPlayer implements Player { + private fi player; + private final String name; + private final CraftServer server; + + public CraftPlayer(CraftServer serv, fi handle) { + player = handle; + name = player.aw; + server = serv; + } + + public String getName() { + return name; + } + + public boolean isOnline() { + return server.server.g(name); + } +} diff --git a/src/org/bukkit/craftbukkit/CraftServer.java b/src/org/bukkit/craftbukkit/CraftServer.java index 68680601..c275359e 100644 --- a/src/org/bukkit/craftbukkit/CraftServer.java +++ b/src/org/bukkit/craftbukkit/CraftServer.java @@ -1,25 +1,51 @@ package org.bukkit.craftbukkit; -import org.bukkit.Server; -import net.minecraft.server.MinecraftServer; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import org.bukkit.*; +import net.minecraft.server.*; public class CraftServer implements Server { - private final String name = "CraftBucket"; - private String version; - MinecraftServer server; + private final String serverName = "CraftBucket"; + private final String serverVersion; + private final HashMap<String, Player> playerCache = new HashMap<String, Player>(); - protected CraftServer(MinecraftServer instance, String ver) { - server = instance; - version = ver; + protected final MinecraftServer console; + protected final hl server; + + public CraftServer(MinecraftServer instance, String ver) { + serverVersion = ver; + + console = instance; + server = console.f; } public String getName() { - return name; + return serverName; } public String getVersion() { - return version; + return serverVersion; + } + + public Player[] getOnlinePlayers() { + List<fi> online = server.b; + Player[] players = new Player[online.size()]; + + for (int i = 0; i < players.length; i++) { + String name = online.get(i).aw; + + if (playerCache.containsKey(name)) { + players[i] = playerCache.get(name); + } else { + players[i] = new CraftPlayer(this, online.get(i)); + playerCache.put(name, players[i]); + } + } + + return players; } } |