summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDinnerbone <dinnerbone@dinnerbone.com>2010-12-30 04:37:32 +0000
committerDinnerbone <dinnerbone@dinnerbone.com>2010-12-30 04:37:32 +0000
commit416964ef5a9241984ffa0201b070f15133750904 (patch)
tree37ba9a941cef85783e6537d69fd0b1e102302dd9 /src
parentc57530392c8dfa3b5534df9b4b13d1b6cdbb3088 (diff)
downloadcraftbukkit-416964ef5a9241984ffa0201b070f15133750904.tar
craftbukkit-416964ef5a9241984ffa0201b070f15133750904.tar.gz
craftbukkit-416964ef5a9241984ffa0201b070f15133750904.tar.lz
craftbukkit-416964ef5a9241984ffa0201b070f15133750904.tar.xz
craftbukkit-416964ef5a9241984ffa0201b070f15133750904.zip
No lookup for worlds, store on object
Diffstat (limited to 'src')
-rw-r--r--src/net/minecraft/server/WorldServer.java6
-rw-r--r--src/org/bukkit/craftbukkit/CraftEntity.java2
-rw-r--r--src/org/bukkit/craftbukkit/CraftServer.java14
-rw-r--r--src/org/bukkit/craftbukkit/CraftWorld.java2
4 files changed, 8 insertions, 16 deletions
diff --git a/src/net/minecraft/server/WorldServer.java b/src/net/minecraft/server/WorldServer.java
index d4046c43..aa33b46d 100644
--- a/src/net/minecraft/server/WorldServer.java
+++ b/src/net/minecraft/server/WorldServer.java
@@ -20,7 +20,7 @@ public class WorldServer extends World {
B = false;
E = new MCHashTable();
D = minecraftserver;
- world = (CraftWorld)D.server.getWorld(this); // CraftBukkit
+ world = new CraftWorld(this); // CraftBukkit
}
// CraftBukkit start
@@ -37,6 +37,10 @@ public class WorldServer extends World {
world.updateBlock(i1, j1, k1);
return result;
}
+
+ public CraftWorld getWorld() {
+ return world;
+ }
// CraftBukkit stop
public void f() {
diff --git a/src/org/bukkit/craftbukkit/CraftEntity.java b/src/org/bukkit/craftbukkit/CraftEntity.java
index 71aa013c..2a2f2392 100644
--- a/src/org/bukkit/craftbukkit/CraftEntity.java
+++ b/src/org/bukkit/craftbukkit/CraftEntity.java
@@ -20,7 +20,7 @@ public class CraftEntity implements org.bukkit.Entity {
}
public World getWorld() {
- return server.getWorld((WorldServer)entity.l);
+ return ((WorldServer)entity.l).getWorld();
}
public void teleportTo(Location location) {
diff --git a/src/org/bukkit/craftbukkit/CraftServer.java b/src/org/bukkit/craftbukkit/CraftServer.java
index 34aca81e..9060d062 100644
--- a/src/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/org/bukkit/craftbukkit/CraftServer.java
@@ -19,7 +19,6 @@ public final class CraftServer implements Server {
private final String serverName = "Craftbukkit";
private final String serverVersion;
private final HashMap<String, Player> playerCache = new HashMap<String, Player>();
- private final HashMap<WorldServer, World> worldCache = new HashMap<WorldServer, World>();
private final PluginManager pluginManager = new SimplePluginManager(this);
protected final MinecraftServer console;
@@ -87,18 +86,7 @@ public final class CraftServer implements Server {
}
public World[] getWorlds() {
- return new World[] { getWorld(console.e) };
- }
-
- public World getWorld(WorldServer world) {
- World result = worldCache.get(world);
-
- if (result == null) {
- result = new CraftWorld(world);
- worldCache.put(world, result);
- }
-
- return result;
+ return new World[] { console.e.getWorld() };
}
public ServerConfigurationManager getHandle() {
diff --git a/src/org/bukkit/craftbukkit/CraftWorld.java b/src/org/bukkit/craftbukkit/CraftWorld.java
index f8f5a40e..e3d691f8 100644
--- a/src/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/org/bukkit/craftbukkit/CraftWorld.java
@@ -13,7 +13,7 @@ public class CraftWorld implements World {
private final Map<BlockCoordinate, Block> blockCache = new HashMap<BlockCoordinate, Block>();
private final WorldServer world;
- protected CraftWorld(WorldServer world) {
+ public CraftWorld(WorldServer world) {
this.world = world;
}