diff options
Diffstat (limited to 'src/main/java/org')
-rw-r--r-- | src/main/java/org/bukkit/craftbukkit/CraftWorld.java | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java index 2b38b2bb..a942e743 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -26,7 +26,7 @@ import org.bukkit.World; public class CraftWorld implements World { private final WorldServer world; - private final Environment environment; + private Environment environment; private final CraftServer server; private final ChunkProviderServer provider; private HashMap<Integer,CraftChunk> unloadedChunks = new HashMap<Integer, CraftChunk>(); @@ -37,12 +37,8 @@ public class CraftWorld implements World { this.world = world; this.server = world.getServer(); this.provider = world.chunkProviderServer; - - if (world.worldProvider instanceof WorldProviderHell) { - environment = Environment.NETHER; - } else { - environment = Environment.NORMAL; - } + + environment = Environment.getEnvironment(world.worldProvider.dimension); server.addWorld(this); } @@ -443,6 +439,13 @@ public class CraftWorld implements World { public Environment getEnvironment() { return environment; } + + public void setEnvironment(Environment env) { + if (environment != env) { + environment = env; + world.worldProvider = WorldProvider.a(environment.getId()); + } + } public Block getBlockAt(Location location) { return getBlockAt(location.getBlockX(), location.getBlockY(), location.getBlockZ()); |