summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDinner Bone <dinnerbone@dinnerbone.com>2011-01-25 10:14:06 -0800
committerDinner Bone <dinnerbone@dinnerbone.com>2011-01-25 10:14:06 -0800
commit0ba870434ea7ec6e75652cad0b3fb6b9d240bbb6 (patch)
treec147353a849445a9fcac13b5416517c4d538ba7d
parent02a1c24746d788ea10a98354e8c6bde8bb941349 (diff)
downloadcraftbukkit-0ba870434ea7ec6e75652cad0b3fb6b9d240bbb6.tar
craftbukkit-0ba870434ea7ec6e75652cad0b3fb6b9d240bbb6.tar.gz
craftbukkit-0ba870434ea7ec6e75652cad0b3fb6b9d240bbb6.tar.lz
craftbukkit-0ba870434ea7ec6e75652cad0b3fb6b9d240bbb6.tar.xz
craftbukkit-0ba870434ea7ec6e75652cad0b3fb6b9d240bbb6.zip
Fixed chunk corruption with mobspawners
-rw-r--r--src/main/java/net/minecraft/server/TileEntityMobSpawner.java216
1 files changed, 108 insertions, 108 deletions
diff --git a/src/main/java/net/minecraft/server/TileEntityMobSpawner.java b/src/main/java/net/minecraft/server/TileEntityMobSpawner.java
index d185b661..b3c30623 100644
--- a/src/main/java/net/minecraft/server/TileEntityMobSpawner.java
+++ b/src/main/java/net/minecraft/server/TileEntityMobSpawner.java
@@ -1,108 +1,108 @@
-package net.minecraft.server;
-
-import java.util.List;
-import java.util.Random;
-
-public class TileEntityMobSpawner extends TileEntity {
-
- public int e;
- public String h; // CraftBukkit -> public
- public double f;
- public double g;
-
- public TileEntityMobSpawner() {
- e = -1;
- g = 0.0D;
- h = "Pig";
- e = 20;
- }
-
- public void a(String s) {
- h = s;
- }
-
- public boolean a() {
- return a.a((double) b + 0.5D, (double) c + 0.5D, (double) d + 0.5D, 16D) != null;
- }
-
- public void f() {
- g = f;
- if (!a()) {
- return;
- }
- double d = (float) b + a.l.nextFloat();
- double d2 = (float) c + a.l.nextFloat();
- double d4 = (float) this.d + a.l.nextFloat();
-
- a.a("smoke", d, d2, d4, 0.0D, 0.0D, 0.0D);
- a.a("flame", d, d2, d4, 0.0D, 0.0D, 0.0D);
- for (f += 1000F / ((float) e + 200F); f > 360D;) {
- f -= 360D;
- g -= 360D;
- }
-
- if (e == -1) {
- b();
- }
- if (e > 0) {
- e--;
- return;
- }
- byte byte0 = 4;
-
- for (int i = 0; i < byte0; i++) {
- EntityLiving entityliving = (EntityLiving) EntityList.a(h, a);
-
- if (entityliving == null) {
- return;
- }
- int j = a.a(((entityliving)).getClass(), AxisAlignedBB.b(b, c, this.d, b + 1, c + 1, this.d + 1).b(8D, 4D, 8D)).size();
-
- if (j >= 6) {
- b();
- return;
- }
- if (entityliving == null) {
- continue;
- }
- double d6 = (double) b + (a.l.nextDouble() - a.l.nextDouble()) * 4D;
- double d7 = (c + a.l.nextInt(3)) - 1;
- double d8 = (double) this.d + (a.l.nextDouble() - a.l.nextDouble()) * 4D;
-
- entityliving.c(d6, d7, d8, a.l.nextFloat() * 360F, 0.0F);
- if (!entityliving.b()) {
- continue;
- }
- a.a(((Entity) (entityliving)));
- for (int k = 0; k < 20; k++) {
- double d1 = (double) b + 0.5D + ((double) a.l.nextFloat() - 0.5D) * 2D;
- double d3 = (double) c + 0.5D + ((double) a.l.nextFloat() - 0.5D) * 2D;
- double d5 = (double) this.d + 0.5D + ((double) a.l.nextFloat() - 0.5D) * 2D;
-
- a.a("smoke", d1, d3, d5, 0.0D, 0.0D, 0.0D);
- a.a("flame", d1, d3, d5, 0.0D, 0.0D, 0.0D);
- }
-
- entityliving.R();
- b();
- }
-
- super.f();
- }
-
- private void b() {
- e = 200 + a.l.nextInt(600);
- }
-
- public void a(NBTTagCompound nbttagcompound) {
- super.a(nbttagcompound);
- h = nbttagcompound.h("EntityId");
- e = ((int) (nbttagcompound.c("Delay")));
- }
-
- public void b(NBTTagCompound nbttagcompound) {
- super.b(nbttagcompound);
- nbttagcompound.a("EntityId", h);
- nbttagcompound.a("Delay", (short) e);
- }
-}
+package net.minecraft.server;
+
+import java.util.List;
+import java.util.Random;
+
+public class TileEntityMobSpawner extends TileEntity {
+
+ public int e;
+ public String h; // CraftBukkit -> public
+ public double f;
+ public double g;
+
+ public TileEntityMobSpawner() {
+ e = -1;
+ g = 0.0D;
+ h = "Pig";
+ e = 20;
+ }
+
+ public void a(String s) {
+ h = s;
+ }
+
+ public boolean a() {
+ return a.a((double) b + 0.5D, (double) c + 0.5D, (double) d + 0.5D, 16D) != null;
+ }
+
+ public void f() {
+ g = f;
+ if (!a()) {
+ return;
+ }
+ double d = (float) b + a.l.nextFloat();
+ double d2 = (float) c + a.l.nextFloat();
+ double d4 = (float) this.d + a.l.nextFloat();
+
+ a.a("smoke", d, d2, d4, 0.0D, 0.0D, 0.0D);
+ a.a("flame", d, d2, d4, 0.0D, 0.0D, 0.0D);
+ for (f += 1000F / ((float) e + 200F); f > 360D;) {
+ f -= 360D;
+ g -= 360D;
+ }
+
+ if (e == -1) {
+ b();
+ }
+ if (e > 0) {
+ e--;
+ return;
+ }
+ byte byte0 = 4;
+
+ for (int i = 0; i < byte0; i++) {
+ EntityLiving entityliving = (EntityLiving) EntityList.a(h, a);
+
+ if (entityliving == null) {
+ return;
+ }
+ int j = a.a(((entityliving)).getClass(), AxisAlignedBB.b(b, c, this.d, b + 1, c + 1, this.d + 1).b(8D, 4D, 8D)).size();
+
+ if (j >= 6) {
+ b();
+ return;
+ }
+ if (entityliving == null) {
+ continue;
+ }
+ double d6 = (double) b + (a.l.nextDouble() - a.l.nextDouble()) * 4D;
+ double d7 = (c + a.l.nextInt(3)) - 1;
+ double d8 = (double) this.d + (a.l.nextDouble() - a.l.nextDouble()) * 4D;
+
+ entityliving.c(d6, d7, d8, a.l.nextFloat() * 360F, 0.0F);
+ if (!entityliving.b()) {
+ continue;
+ }
+ a.a(((Entity) (entityliving)));
+ for (int k = 0; k < 20; k++) {
+ double d1 = (double) b + 0.5D + ((double) a.l.nextFloat() - 0.5D) * 2D;
+ double d3 = (double) c + 0.5D + ((double) a.l.nextFloat() - 0.5D) * 2D;
+ double d5 = (double) this.d + 0.5D + ((double) a.l.nextFloat() - 0.5D) * 2D;
+
+ a.a("smoke", d1, d3, d5, 0.0D, 0.0D, 0.0D);
+ a.a("flame", d1, d3, d5, 0.0D, 0.0D, 0.0D);
+ }
+
+ entityliving.R();
+ b();
+ }
+
+ super.f();
+ }
+
+ private void b() {
+ e = 200 + a.l.nextInt(600);
+ }
+
+ public void a(NBTTagCompound nbttagcompound) {
+ super.a(nbttagcompound);
+ h = nbttagcompound.h("EntityId");
+ e = ((short) (nbttagcompound.c("Delay")));
+ }
+
+ public void b(NBTTagCompound nbttagcompound) {
+ super.b(nbttagcompound);
+ nbttagcompound.a("EntityId", h);
+ nbttagcompound.a("Delay", (short) e);
+ }
+}