summaryrefslogtreecommitdiffstats
path: root/src/org
diff options
context:
space:
mode:
authorDinnerbone <dinnerbone@dinnerbone.com>2010-12-22 15:22:23 +0000
committerDinnerbone <dinnerbone@dinnerbone.com>2010-12-22 15:22:23 +0000
commita799b1463b07ab177aecbd9bcc719bfc254bc564 (patch)
treeb70378d0304ce9761af33b7148dfeff25b161a1a /src/org
parent84f7c6c8d22f9902e3095d0f6e8ac680572e02de (diff)
downloadcraftbukkit-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.java25
-rw-r--r--src/org/bukkit/craftbukkit/CraftServer.java46
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;
}
}