diff options
author | Dinnerbone <dinnerbone@dinnerbone.com> | 2011-07-08 13:25:53 +0100 |
---|---|---|
committer | Dinnerbone <dinnerbone@dinnerbone.com> | 2011-07-08 13:25:53 +0100 |
commit | 2f218ba6b132f23cebe86efa8025b73005deb1ad (patch) | |
tree | a5f078704f509502bb06e3e57ab4f325ffb479d9 /src/main/java/net/minecraft/server/World.java | |
parent | cc635ed51c8a98bbe2088115ca617c76cd7c730a (diff) | |
download | craftbukkit-2f218ba6b132f23cebe86efa8025b73005deb1ad.tar craftbukkit-2f218ba6b132f23cebe86efa8025b73005deb1ad.tar.gz craftbukkit-2f218ba6b132f23cebe86efa8025b73005deb1ad.tar.lz craftbukkit-2f218ba6b132f23cebe86efa8025b73005deb1ad.tar.xz craftbukkit-2f218ba6b132f23cebe86efa8025b73005deb1ad.zip |
Update for 1.7.3
Diffstat (limited to 'src/main/java/net/minecraft/server/World.java')
-rw-r--r-- | src/main/java/net/minecraft/server/World.java | 85 |
1 files changed, 52 insertions, 33 deletions
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java index 5f2d404d..aca1058d 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1577,11 +1577,11 @@ public class World implements IBlockAccess { } else { ++this.M; + boolean flag; + try { int i = 500; - boolean flag; - while (this.C.size() > 0) { --i; if (i <= 0) { @@ -1593,10 +1593,11 @@ public class World implements IBlockAccess { } flag = false; - return flag; } finally { --this.M; } + + return flag; } } @@ -1609,38 +1610,44 @@ public class World implements IBlockAccess { ++A; try { - if (A != 50) { - int k1 = (l + i) / 2; - int l1 = (j1 + k) / 2; - - if (this.isLoaded(k1, 64, l1)) { - if (!this.getChunkAtWorldCoords(k1, l1).isEmpty()) { - int i2 = this.C.size(); - int j2; - - if (flag) { - j2 = 5; - if (j2 > i2) { - j2 = i2; - } - - for (int k2 = 0; k2 < j2; ++k2) { - MetadataChunkBlock metadatachunkblock = (MetadataChunkBlock) this.C.get(this.C.size() - k2 - 1); - - if (metadatachunkblock.a == enumskyblock && metadatachunkblock.a(i, j, k, l, i1, j1)) { - return; - } - } - } + if (A == 50) { + return; + } + + int k1 = (l + i) / 2; + int l1 = (j1 + k) / 2; + + if (this.isLoaded(k1, 64, l1)) { + if (this.getChunkAtWorldCoords(k1, l1).isEmpty()) { + return; + } + + int i2 = this.C.size(); + int j2; - this.C.add(new MetadataChunkBlock(enumskyblock, i, j, k, l, i1, j1)); - j2 = 1000000; - if (this.C.size() > 1000000) { - System.out.println("More than " + j2 + " updates, aborting lighting updates"); - this.C.clear(); + if (flag) { + j2 = 5; + if (j2 > i2) { + j2 = i2; + } + + for (int k2 = 0; k2 < j2; ++k2) { + MetadataChunkBlock metadatachunkblock = (MetadataChunkBlock) this.C.get(this.C.size() - k2 - 1); + + if (metadatachunkblock.a == enumskyblock && metadatachunkblock.a(i, j, k, l, i1, j1)) { + return; } } } + + this.C.add(new MetadataChunkBlock(enumskyblock, i, j, k, l, i1, j1)); + j2 = 1000000; + if (this.C.size() > 1000000) { + System.out.println("More than " + j2 + " updates, aborting lighting updates"); + this.C.clear(); + } + + return; } } finally { --A; @@ -1866,7 +1873,7 @@ public class World implements IBlockAccess { if (l1 == 0 && this.k(l, k1, j1) <= this.random.nextInt(8) && this.a(EnumSkyBlock.SKY, l, k1, j1) <= 0) { EntityHuman entityhuman1 = this.a((double) l + 0.5D, (double) k1 + 0.5D, (double) j1 + 0.5D, 8.0D); - if (entityhuman1 != null && entityhuman1.d((double) l + 0.5D, (double) k1 + 0.5D, (double) j1 + 0.5D) > 4.0D) { + if (entityhuman1 != null && entityhuman1.e((double) l + 0.5D, (double) k1 + 0.5D, (double) j1 + 0.5D) > 4.0D) { this.makeSound((double) l + 0.5D, (double) k1 + 0.5D, (double) j1 + 0.5D, "ambient.cave.cave", 0.7F, 0.8F + this.random.nextFloat() * 0.2F); this.Q = this.random.nextInt(12000) + 6000; } @@ -2152,7 +2159,7 @@ public class World implements IBlockAccess { continue; } // CraftBukkit end - double d5 = entityhuman1.d(d0, d1, d2); + double d5 = entityhuman1.e(d0, d1, d2); if ((d3 < 0.0D || d5 < d3 * d3) && (d4 == -1.0D || d5 < d4)) { d4 = d5; @@ -2230,6 +2237,18 @@ public class World implements IBlockAccess { this.worldData.a(i); } + public void setTimeAndFixTicklists(long i) { + long j = i - this.worldData.f(); + + NextTickListEntry nextticklistentry; + + for (Iterator iterator = this.F.iterator(); iterator.hasNext(); nextticklistentry.e += j) { + nextticklistentry = (NextTickListEntry) iterator.next(); + } + + this.setTime(i); + } + public long getSeed() { return this.worldData.getSeed(); } |