No lookup for worlds, store on object
Dieser Commit ist enthalten in:
Ursprung
c57530392c
Commit
416964ef5a
@ -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() {
|
||||
|
@ -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) {
|
||||
|
@ -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() {
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren