diff options
author | Erik Broes <erikbroes@grum.nl> | 2012-01-12 23:10:13 +0100 |
---|---|---|
committer | Erik Broes <erikbroes@grum.nl> | 2012-01-12 23:10:13 +0100 |
commit | 7219d4dd858b405f34ea66c67f8ab7d4c07fb4ee (patch) | |
tree | a1ca024b03aadf4b687f442b33bf713aecd511f7 /src/main/java/net/minecraft/server/World.java | |
parent | dd5ef8725c699e0b2946dc0f6d523ca482404043 (diff) | |
download | craftbukkit-7219d4dd858b405f34ea66c67f8ab7d4c07fb4ee.tar craftbukkit-7219d4dd858b405f34ea66c67f8ab7d4c07fb4ee.tar.gz craftbukkit-7219d4dd858b405f34ea66c67f8ab7d4c07fb4ee.tar.lz craftbukkit-7219d4dd858b405f34ea66c67f8ab7d4c07fb4ee.tar.xz craftbukkit-7219d4dd858b405f34ea66c67f8ab7d4c07fb4ee.zip |
Updated to Minecraft 1.1
Diffstat (limited to 'src/main/java/net/minecraft/server/World.java')
-rw-r--r-- | src/main/java/net/minecraft/server/World.java | 198 |
1 files changed, 102 insertions, 96 deletions
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java index e3f1573a..7f2517eb 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -83,7 +83,7 @@ public class World implements IBlockAccess { public boolean isStatic; public WorldChunkManager getWorldChunkManager() { - return this.worldProvider.b; + return this.worldProvider.c; } // CraftBukkit start @@ -192,53 +192,57 @@ public class World implements IBlockAccess { } protected void c() { - this.isLoading = true; - WorldChunkManager worldchunkmanager = this.getWorldChunkManager(); - List list = worldchunkmanager.a(); - Random random = new Random(this.getSeed()); - ChunkPosition chunkposition = worldchunkmanager.a(0, 0, 256, list, random); - int i = 0; - int j = this.height / 2; - int k = 0; - - // CraftBukkit start - if (this.generator != null) { - Random rand = new Random(this.getSeed()); - Location spawn = this.generator.getFixedSpawnLocation(((WorldServer) this).getWorld(), rand); - - if (spawn != null) { - if (spawn.getWorld() != ((WorldServer) this).getWorld()) { - throw new IllegalStateException("Cannot set spawn point for " + this.worldData.name + " to be in another world (" + spawn.getWorld().getName() + ")"); - } else { - this.worldData.setSpawn(spawn.getBlockX(), spawn.getBlockY(), spawn.getBlockZ()); - this.isLoading = false; - return; + if (!this.worldProvider.c()) { + this.worldData.setSpawn(0, this.worldProvider.getSeaLevel(), 0); + } else { + this.isLoading = true; + WorldChunkManager worldchunkmanager = this.getWorldChunkManager(); + List list = worldchunkmanager.a(); + Random random = new Random(this.getSeed()); + ChunkPosition chunkposition = worldchunkmanager.a(0, 0, 256, list, random); + int i = 0; + int j = this.worldProvider.getSeaLevel(); + int k = 0; + + // CraftBukkit start + if (this.generator != null) { + Random rand = new Random(this.getSeed()); + Location spawn = this.generator.getFixedSpawnLocation(((WorldServer) this).getWorld(), rand); + + if (spawn != null) { + if (spawn.getWorld() != ((WorldServer) this).getWorld()) { + throw new IllegalStateException("Cannot set spawn point for " + this.worldData.name + " to be in another world (" + spawn.getWorld().getName() + ")"); + } else { + this.worldData.setSpawn(spawn.getBlockX(), spawn.getBlockY(), spawn.getBlockZ()); + this.isLoading = false; + return; + } } } - } - // CraftBukkit end + // CraftBukkit end - if (chunkposition != null) { - i = chunkposition.x; - k = chunkposition.z; - } else { - System.out.println("Unable to find spawn biome"); - } + if (chunkposition != null) { + i = chunkposition.x; + k = chunkposition.z; + } else { + System.out.println("Unable to find spawn biome"); + } - int l = 0; + int l = 0; - // CraftBukkit - use out own canSpawn - while (!this.canSpawn(i, k)) { - i += random.nextInt(64) - random.nextInt(64); - k += random.nextInt(64) - random.nextInt(64); - ++l; - if (l == 1000) { - break; + // CraftBukkit - use out own canSpawn + while (!this.canSpawn(i, k)) { + i += random.nextInt(64) - random.nextInt(64); + k += random.nextInt(64) - random.nextInt(64); + ++l; + if (l == 1000) { + break; + } } - } - this.worldData.setSpawn(i, j, k); - this.isLoading = false; + this.worldData.setSpawn(i, j, k); + this.isLoading = false; + } } public ChunkCoordinates d() { @@ -472,7 +476,7 @@ public class World implements IBlockAccess { k = i1; } - if (!this.worldProvider.e) { + if (!this.worldProvider.f) { for (i1 = k; i1 <= l; ++i1) { this.b(EnumSkyBlock.SKY, i, i1, j); } @@ -652,7 +656,7 @@ public class World implements IBlockAccess { } public float m(int i, int j, int k) { - return this.worldProvider.f[this.getLightLevel(i, j, k)]; + return this.worldProvider.g[this.getLightLevel(i, j, k)]; } public boolean e() { @@ -945,10 +949,10 @@ public class World implements IBlockAccess { this.everyoneSleeping(); } - int i = entity.bX; - int j = entity.bZ; + int i = entity.ca; + int j = entity.cc; - if (entity.bW && this.isChunkLoaded(i, j)) { + if (entity.bZ && this.isChunkLoaded(i, j)) { this.getChunkAt(i, j).b(entity); } @@ -1099,7 +1103,7 @@ public class World implements IBlockAccess { continue; } // CraftBukkit end - entity.w_(); + entity.y_(); if (entity.dead) { this.j.remove(i--); } @@ -1113,9 +1117,9 @@ public class World implements IBlockAccess { for (i = 0; i < this.J.size(); ++i) { entity = (Entity) this.J.get(i); - j = entity.bX; - k = entity.bZ; - if (entity.bW && this.isChunkLoaded(j, k)) { + j = entity.ca; + k = entity.cc; + if (entity.bZ && this.isChunkLoaded(j, k)) { this.getChunkAt(j, k).b(entity); } } @@ -1144,9 +1148,9 @@ public class World implements IBlockAccess { // MethodProfiler.a("remove"); // CraftBukkit - not in production code if (entity.dead) { - j = entity.bX; - k = entity.bZ; - if (entity.bW && this.isChunkLoaded(j, k)) { + j = entity.ca; + k = entity.cc; + if (entity.bZ && this.isChunkLoaded(j, k)) { this.getChunkAt(j, k).b(entity); } @@ -1241,30 +1245,30 @@ public class World implements IBlockAccess { byte b0 = 32; if (!flag || this.a(i - b0, 0, j - b0, i + b0, this.height, j + b0)) { - entity.bI = entity.locX; - entity.bJ = entity.locY; - entity.bK = entity.locZ; + entity.bL = entity.locX; + entity.bM = entity.locY; + entity.bN = entity.locZ; entity.lastYaw = entity.yaw; entity.lastPitch = entity.pitch; - if (flag && entity.bW) { + if (flag && entity.bZ) { if (entity.vehicle != null) { - entity.M(); + entity.N(); } else { - entity.w_(); + entity.y_(); } } // MethodProfiler.a("chunkCheck"); // CraftBukkit - not in production code if (Double.isNaN(entity.locX) || Double.isInfinite(entity.locX)) { - entity.locX = entity.bI; + entity.locX = entity.bL; } if (Double.isNaN(entity.locY) || Double.isInfinite(entity.locY)) { - entity.locY = entity.bJ; + entity.locY = entity.bM; } if (Double.isNaN(entity.locZ) || Double.isInfinite(entity.locZ)) { - entity.locZ = entity.bK; + entity.locZ = entity.bN; } if (Double.isNaN((double) entity.pitch) || Double.isInfinite((double) entity.pitch)) { @@ -1279,21 +1283,21 @@ public class World implements IBlockAccess { int l = MathHelper.floor(entity.locY / 16.0D); int i1 = MathHelper.floor(entity.locZ / 16.0D); - if (!entity.bW || entity.bX != k || entity.bY != l || entity.bZ != i1) { - if (entity.bW && this.isChunkLoaded(entity.bX, entity.bZ)) { - this.getChunkAt(entity.bX, entity.bZ).a(entity, entity.bY); + if (!entity.bZ || entity.ca != k || entity.cb != l || entity.cc != i1) { + if (entity.bZ && this.isChunkLoaded(entity.ca, entity.cc)) { + this.getChunkAt(entity.ca, entity.cc).a(entity, entity.cb); } if (this.isChunkLoaded(k, i1)) { - entity.bW = true; + entity.bZ = true; this.getChunkAt(k, i1).a(entity); } else { - entity.bW = false; + entity.bZ = false; } } // MethodProfiler.a(); // CraftBukkit - not in production code - if (flag && entity.bW && entity.passenger != null) { + if (flag && entity.bZ && entity.passenger != null) { if (!entity.passenger.dead && entity.passenger.vehicle == entity) { this.playerJoinedWorld(entity.passenger); } else { @@ -1305,12 +1309,12 @@ public class World implements IBlockAccess { } public boolean containsEntity(AxisAlignedBB axisalignedbb) { - List list = this.getEntities(null, axisalignedbb); + List list = this.getEntities((Entity) null, axisalignedbb); for (int i = 0; i < list.size(); ++i) { Entity entity = (Entity) list.get(i); - if (!entity.dead && entity.bc) { + if (!entity.dead && entity.bf) { return false; } } @@ -1753,7 +1757,7 @@ public class World implements IBlockAccess { } protected void i() { - if (!this.worldProvider.e) { + if (!this.worldProvider.f) { if (this.r > 0) { --this.r; } @@ -1941,35 +1945,37 @@ public class World implements IBlockAccess { } // MethodProfiler.b("iceandsnow"); // CraftBukkit - not in production code - this.l = this.l * 3 + 1013904223; - l1 = this.l >> 2; - i2 = l1 & 15; - j2 = l1 >> 8 & 15; - k2 = this.e(i2 + k1, j2 + j); - if (this.q(i2 + k1, k2 - 1, j2 + j)) { - // CraftBukkit start - BlockState blockState = this.getWorld().getBlockAt(i2 + k1, k2 - 1, j2 + j).getState(); - blockState.setTypeId(Block.ICE.id); + if (this.random.nextInt(16) == 0) { + this.l = this.l * 3 + 1013904223; + l1 = this.l >> 2; + i2 = l1 & 15; + j2 = l1 >> 8 & 15; + k2 = this.e(i2 + k1, j2 + j); + if (this.q(i2 + k1, k2 - 1, j2 + j)) { + // CraftBukkit start + BlockState blockState = this.getWorld().getBlockAt(i2 + k1, k2 - 1, j2 + j).getState(); + blockState.setTypeId(Block.ICE.id); - BlockFormEvent iceBlockForm = new BlockFormEvent(blockState.getBlock(), blockState); - this.getServer().getPluginManager().callEvent(iceBlockForm); - if (!iceBlockForm.isCancelled()) { - blockState.update(true); + BlockFormEvent iceBlockForm = new BlockFormEvent(blockState.getBlock(), blockState); + this.getServer().getPluginManager().callEvent(iceBlockForm); + if (!iceBlockForm.isCancelled()) { + blockState.update(true); + } + // CraftBukkit end } - // CraftBukkit end - } - if (this.w() && this.r(i2 + k1, k2, j2 + j)) { - // CraftBukkit start - BlockState blockState = this.getWorld().getBlockAt(i2 + k1, k2, j2 + j).getState(); - blockState.setTypeId(Block.SNOW.id); + if (this.w() && this.r(i2 + k1, k2, j2 + j)) { + // CraftBukkit start + BlockState blockState = this.getWorld().getBlockAt(i2 + k1, k2, j2 + j).getState(); + blockState.setTypeId(Block.SNOW.id); - BlockFormEvent snow = new BlockFormEvent(blockState.getBlock(), blockState); - this.getServer().getPluginManager().callEvent(snow); - if (!snow.isCancelled()) { - blockState.update(true); + BlockFormEvent snow = new BlockFormEvent(blockState.getBlock(), blockState); + this.getServer().getPluginManager().callEvent(snow); + if (!snow.isCancelled()) { + blockState.update(true); + } + // CraftBukkit end } - // CraftBukkit end } // MethodProfiler.b("checkLight"); // CraftBukkit - not in production code @@ -2065,7 +2071,7 @@ public class World implements IBlockAccess { } public void s(int i, int j, int k) { - if (!this.worldProvider.e) { + if (!this.worldProvider.f) { this.b(EnumSkyBlock.SKY, i, j, k); } |