summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/Chunk.java
diff options
context:
space:
mode:
authorDinnerbone <dinnerbone@dinnerbone.com>2011-05-26 13:48:22 +0100
committerDinnerbone <dinnerbone@dinnerbone.com>2011-05-26 13:48:22 +0100
commit6903f2024217f0959c015e76b23297af8e3b573f (patch)
tree690bf275ce19c655bd64eea05be231ed0c318fd6 /src/main/java/net/minecraft/server/Chunk.java
parentf463453d73249fe73cf3e23ed37e6cee870c8bf4 (diff)
downloadcraftbukkit-6903f2024217f0959c015e76b23297af8e3b573f.tar
craftbukkit-6903f2024217f0959c015e76b23297af8e3b573f.tar.gz
craftbukkit-6903f2024217f0959c015e76b23297af8e3b573f.tar.lz
craftbukkit-6903f2024217f0959c015e76b23297af8e3b573f.tar.xz
craftbukkit-6903f2024217f0959c015e76b23297af8e3b573f.zip
Implemented 1.6!
Diffstat (limited to 'src/main/java/net/minecraft/server/Chunk.java')
-rw-r--r--src/main/java/net/minecraft/server/Chunk.java94
1 files changed, 55 insertions, 39 deletions
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index 1ff640b1..2aa0c3de 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -377,15 +377,15 @@ public class Chunk {
k = this.entitySlices.length - 1;
}
- entity.bB = true;
- entity.chunkX = this.x;
- entity.bD = k;
- entity.chunkZ = this.z;
+ entity.bE = true;
+ entity.bF = this.x;
+ entity.bG = k;
+ entity.bH = this.z;
this.entitySlices[k].add(entity);
}
public void b(Entity entity) {
- this.a(entity, entity.bD);
+ this.a(entity, entity.bG);
}
public void a(Entity entity, int i) {
@@ -566,48 +566,64 @@ public class Chunk {
}
public int a(byte[] abyte, int i, int j, int k, int l, int i1, int j1, int k1) {
- int l1;
- int i2;
- int j2;
- int k2;
-
- for (l1 = i; l1 < l; ++l1) {
- for (i2 = k; i2 < j1; ++i2) {
- j2 = l1 << 11 | i2 << 7 | j;
- k2 = i1 - j;
- System.arraycopy(this.b, j2, abyte, k1, k2);
- k1 += k2;
+ int l1 = l - i;
+ int i2 = i1 - j;
+ int j2 = j1 - k;
+
+ if (l1 * i2 * j2 == this.b.length) {
+ System.arraycopy(this.b, 0, abyte, k1, this.b.length);
+ k1 += this.b.length;
+ System.arraycopy(this.e.a, 0, abyte, k1, this.e.a.length);
+ k1 += this.e.a.length;
+ System.arraycopy(this.g.a, 0, abyte, k1, this.g.a.length);
+ k1 += this.g.a.length;
+ System.arraycopy(this.f.a, 0, abyte, k1, this.f.a.length);
+ k1 += this.f.a.length;
+ return k1;
+ } else {
+ int k2;
+ int l2;
+ int i3;
+ int j3;
+
+ for (k2 = i; k2 < l; ++k2) {
+ for (l2 = k; l2 < j1; ++l2) {
+ i3 = k2 << 11 | l2 << 7 | j;
+ j3 = i1 - j;
+ System.arraycopy(this.b, i3, abyte, k1, j3);
+ k1 += j3;
+ }
}
- }
- for (l1 = i; l1 < l; ++l1) {
- for (i2 = k; i2 < j1; ++i2) {
- j2 = (l1 << 11 | i2 << 7 | j) >> 1;
- k2 = (i1 - j) / 2;
- System.arraycopy(this.e.a, j2, abyte, k1, k2);
- k1 += k2;
+ for (k2 = i; k2 < l; ++k2) {
+ for (l2 = k; l2 < j1; ++l2) {
+ i3 = (k2 << 11 | l2 << 7 | j) >> 1;
+ j3 = (i1 - j) / 2;
+ System.arraycopy(this.e.a, i3, abyte, k1, j3);
+ k1 += j3;
+ }
}
- }
- for (l1 = i; l1 < l; ++l1) {
- for (i2 = k; i2 < j1; ++i2) {
- j2 = (l1 << 11 | i2 << 7 | j) >> 1;
- k2 = (i1 - j) / 2;
- System.arraycopy(this.g.a, j2, abyte, k1, k2);
- k1 += k2;
+ for (k2 = i; k2 < l; ++k2) {
+ for (l2 = k; l2 < j1; ++l2) {
+ i3 = (k2 << 11 | l2 << 7 | j) >> 1;
+ j3 = (i1 - j) / 2;
+ System.arraycopy(this.g.a, i3, abyte, k1, j3);
+ k1 += j3;
+ }
}
- }
- for (l1 = i; l1 < l; ++l1) {
- for (i2 = k; i2 < j1; ++i2) {
- j2 = (l1 << 11 | i2 << 7 | j) >> 1;
- k2 = (i1 - j) / 2;
- System.arraycopy(this.f.a, j2, abyte, k1, k2);
- k1 += k2;
+ for (k2 = i; k2 < l; ++k2) {
+ for (l2 = k; l2 < j1; ++l2) {
+ i3 = (k2 << 11 | l2 << 7 | j) >> 1;
+ j3 = (i1 - j) / 2;
+ System.arraycopy(this.f.a, i3, abyte, k1, j3);
+ k1 += j3;
+ }
}
- }
- return k1;
+ return k1;
+ }
}
public Random a(long i) {