summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/EntityMinecart.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/minecraft/server/EntityMinecart.java')
-rw-r--r--src/main/java/net/minecraft/server/EntityMinecart.java396
1 files changed, 219 insertions, 177 deletions
diff --git a/src/main/java/net/minecraft/server/EntityMinecart.java b/src/main/java/net/minecraft/server/EntityMinecart.java
index 5cce3667..74aafbeb 100644
--- a/src/main/java/net/minecraft/server/EntityMinecart.java
+++ b/src/main/java/net/minecraft/server/EntityMinecart.java
@@ -17,21 +17,18 @@ import org.bukkit.event.vehicle.VehicleUpdateEvent;
public class EntityMinecart extends Entity implements IInventory {
private ItemStack[] items;
- public int damage;
- public int b;
- public int c;
- private boolean i;
+ private int e;
+ private boolean f;
public int type;
- public int e;
- public double f;
- public double g;
+ public double b;
+ public double c;
private static final int[][][] matrix = new int[][][] { { { 0, 0, -1}, { 0, 0, 1}}, { { -1, 0, 0}, { 1, 0, 0}}, { { -1, -1, 0}, { 1, 0, 0}}, { { -1, 0, 0}, { 1, -1, 0}}, { { 0, 0, -1}, { 0, -1, 1}}, { { 0, -1, -1}, { 0, 0, 1}}, { { 0, 0, 1}, { 1, 0, 0}}, { { 0, 0, 1}, { -1, 0, 0}}, { { 0, 0, -1}, { -1, 0, 0}}, { { 0, 0, -1}, { 1, 0, 0}}};
- private int k;
+ private int h;
+ private double i;
+ private double j;
+ private double k;
private double l;
private double m;
- private double n;
- private double o;
- private double p;
// CraftBukkit start
public boolean slowWhenEmpty = true;
@@ -51,30 +48,33 @@ public class EntityMinecart extends Entity implements IInventory {
public EntityMinecart(World world) {
super(world);
this.items = new ItemStack[27]; // CraftBukkit
- this.damage = 0;
- this.b = 0;
- this.c = 1;
- this.i = false;
- this.aY = true;
+ this.e = 0;
+ this.f = false;
+ this.bc = true;
this.b(0.98F, 0.7F);
this.height = this.width / 2.0F;
}
- protected boolean e_() {
+ protected boolean g_() {
return false;
}
- protected void b() {}
+ protected void b() {
+ this.datawatcher.a(16, new Byte((byte) 0));
+ this.datawatcher.a(17, new Integer(0));
+ this.datawatcher.a(18, new Integer(1));
+ this.datawatcher.a(19, new Integer(0));
+ }
- public AxisAlignedBB b(Entity entity) {
+ public AxisAlignedBB a_(Entity entity) {
return entity.boundingBox;
}
- public AxisAlignedBB f() {
+ public AxisAlignedBB h_() {
return null;
}
- public boolean g() {
+ public boolean f_() {
return true;
}
@@ -92,7 +92,7 @@ public class EntityMinecart extends Entity implements IInventory {
this.world.getServer().getPluginManager().callEvent(new VehicleCreateEvent((Vehicle) this.getBukkitEntity())); // CraftBukkit
}
- public double n() {
+ public double q() {
return (double) this.width * 0.0D - 0.30000001192092896D;
}
@@ -112,11 +112,11 @@ public class EntityMinecart extends Entity implements IInventory {
i = event.getDamage();
// CraftBukkit end
- this.c = -this.c;
- this.b = 10;
- this.aq();
- this.damage += i * 10;
- if (this.damage > 40) {
+ this.d(-this.m());
+ this.c(10);
+ this.aB();
+ this.setDamage(this.getDamage() + i * 10);
+ if (this.getDamage() > 40) {
if (this.passenger != null) {
this.passenger.mount(this);
}
@@ -126,7 +126,7 @@ public class EntityMinecart extends Entity implements IInventory {
this.world.getServer().getPluginManager().callEvent(destroyEvent);
if (destroyEvent.isCancelled()) {
- this.damage = 40; // Maximize damage so this doesn't get triggered again right away
+ this.setDamage(40); // Maximize damage so this doesn't get triggered again right away
return true;
}
// CraftBukkit end
@@ -175,7 +175,7 @@ public class EntityMinecart extends Entity implements IInventory {
}
}
- public boolean r_() {
+ public boolean e_() {
return !this.dead;
}
@@ -210,7 +210,7 @@ public class EntityMinecart extends Entity implements IInventory {
super.die();
}
- public void s_() {
+ public void w_() {
// CraftBukkit start
double prevX = this.locX;
double prevY = this.locY;
@@ -219,34 +219,38 @@ public class EntityMinecart extends Entity implements IInventory {
float prevPitch = this.pitch;
// CraftBukkit end
- if (this.b > 0) {
- --this.b;
+ if (this.l() > 0) {
+ this.c(this.l() - 1);
+ }
+
+ if (this.getDamage() > 0) {
+ this.setDamage(this.getDamage() - 1);
}
- if (this.damage > 0) {
- --this.damage;
+ if (this.j() && this.random.nextInt(4) == 0) {
+ this.world.a("largesmoke", this.locX, this.locY + 0.8D, this.locZ, 0.0D, 0.0D, 0.0D);
}
- double d0;
+ if (this.world.isStatic) {
+ if (this.h > 0) {
+ double d0 = this.locX + (this.i - this.locX) / (double) this.h;
+ double d1 = this.locY + (this.j - this.locY) / (double) this.h;
+ double d2 = this.locZ + (this.k - this.locZ) / (double) this.h;
- if (this.world.isStatic && this.k > 0) {
- if (this.k > 0) {
- double d1 = this.locX + (this.l - this.locX) / (double) this.k;
- double d2 = this.locY + (this.m - this.locY) / (double) this.k;
- double d3 = this.locZ + (this.n - this.locZ) / (double) this.k;
+ double d3;
- for (d0 = this.o - (double) this.yaw; d0 < -180.0D; d0 += 360.0D) {
+ for (d3 = this.l - (double) this.yaw; d3 < -180.0D; d3 += 360.0D) {
;
}
- while (d0 >= 180.0D) {
- d0 -= 360.0D;
+ while (d3 >= 180.0D) {
+ d3 -= 360.0D;
}
- this.yaw = (float) ((double) this.yaw + d0 / (double) this.k);
- this.pitch = (float) ((double) this.pitch + (this.p - (double) this.pitch) / (double) this.k);
- --this.k;
- this.setPosition(d1, d2, d3);
+ this.yaw = (float) ((double) this.yaw + d3 / (double) this.h);
+ this.pitch = (float) ((double) this.pitch + (this.m - (double) this.pitch) / (double) this.h);
+ --this.h;
+ this.setPosition(d0, d1, d2);
this.c(this.yaw, this.pitch);
} else {
this.setPosition(this.locX, this.locY, this.locZ);
@@ -267,25 +271,23 @@ public class EntityMinecart extends Entity implements IInventory {
// CraftBukkit
double d4 = this.maxSpeed;
- boolean flag = false;
-
- d0 = 0.0078125D;
+ double d5 = 0.0078125D;
int l = this.world.getTypeId(i, j, k);
- if (BlockMinecartTrack.c(l)) {
+ if (BlockMinecartTrack.d(l)) {
Vec3D vec3d = this.h(this.locX, this.locY, this.locZ);
int i1 = this.world.getData(i, j, k);
this.locY = (double) j;
+ boolean flag = false;
boolean flag1 = false;
- boolean flag2 = false;
if (l == Block.GOLDEN_RAIL.id) {
- flag1 = (i1 & 8) != 0;
- flag2 = !flag1;
+ flag = (i1 & 8) != 0;
+ flag1 = !flag;
}
- if (((BlockMinecartTrack) Block.byId[l]).f()) {
+ if (((BlockMinecartTrack) Block.byId[l]).h()) {
i1 &= 7;
}
@@ -294,41 +296,41 @@ public class EntityMinecart extends Entity implements IInventory {
}
if (i1 == 2) {
- this.motX -= d0;
+ this.motX -= d5;
}
if (i1 == 3) {
- this.motX += d0;
+ this.motX += d5;
}
if (i1 == 4) {
- this.motZ += d0;
+ this.motZ += d5;
}
if (i1 == 5) {
- this.motZ -= d0;
+ this.motZ -= d5;
}
int[][] aint = matrix[i1];
- double d5 = (double) (aint[1][0] - aint[0][0]);
- double d6 = (double) (aint[1][2] - aint[0][2]);
- double d7 = Math.sqrt(d5 * d5 + d6 * d6);
- double d8 = this.motX * d5 + this.motZ * d6;
+ double d6 = (double) (aint[1][0] - aint[0][0]);
+ double d7 = (double) (aint[1][2] - aint[0][2]);
+ double d8 = Math.sqrt(d6 * d6 + d7 * d7);
+ double d9 = this.motX * d6 + this.motZ * d7;
- if (d8 < 0.0D) {
- d5 = -d5;
+ if (d9 < 0.0D) {
d6 = -d6;
+ d7 = -d7;
}
- double d9 = Math.sqrt(this.motX * this.motX + this.motZ * this.motZ);
+ double d10 = Math.sqrt(this.motX * this.motX + this.motZ * this.motZ);
- this.motX = d9 * d5 / d7;
- this.motZ = d9 * d6 / d7;
- double d10;
+ this.motX = d10 * d6 / d8;
+ this.motZ = d10 * d7 / d8;
+ double d11;
- if (flag2) {
- d10 = Math.sqrt(this.motX * this.motX + this.motZ * this.motZ);
- if (d10 < 0.03D) {
+ if (flag1) {
+ d11 = Math.sqrt(this.motX * this.motX + this.motZ * this.motZ);
+ if (d11 < 0.03D) {
this.motX *= 0.0D;
this.motY *= 0.0D;
this.motZ *= 0.0D;
@@ -339,39 +341,39 @@ public class EntityMinecart extends Entity implements IInventory {
}
}
- d10 = 0.0D;
- double d11 = (double) i + 0.5D + (double) aint[0][0] * 0.5D;
- double d12 = (double) k + 0.5D + (double) aint[0][2] * 0.5D;
- double d13 = (double) i + 0.5D + (double) aint[1][0] * 0.5D;
- double d14 = (double) k + 0.5D + (double) aint[1][2] * 0.5D;
+ d11 = 0.0D;
+ double d12 = (double) i + 0.5D + (double) aint[0][0] * 0.5D;
+ double d13 = (double) k + 0.5D + (double) aint[0][2] * 0.5D;
+ double d14 = (double) i + 0.5D + (double) aint[1][0] * 0.5D;
+ double d15 = (double) k + 0.5D + (double) aint[1][2] * 0.5D;
- d5 = d13 - d11;
d6 = d14 - d12;
- double d15;
+ d7 = d15 - d13;
double d16;
double d17;
+ double d18;
- if (d5 == 0.0D) {
+ if (d6 == 0.0D) {
this.locX = (double) i + 0.5D;
- d10 = this.locZ - (double) k;
- } else if (d6 == 0.0D) {
+ d11 = this.locZ - (double) k;
+ } else if (d7 == 0.0D) {
this.locZ = (double) k + 0.5D;
- d10 = this.locX - (double) i;
+ d11 = this.locX - (double) i;
} else {
- d16 = this.locX - d11;
- d15 = this.locZ - d12;
- d17 = (d16 * d5 + d15 * d6) * 2.0D;
- d10 = d17;
+ d16 = this.locX - d12;
+ d18 = this.locZ - d13;
+ d17 = (d16 * d6 + d18 * d7) * 2.0D;
+ d11 = d17;
}
- this.locX = d11 + d5 * d10;
- this.locZ = d12 + d6 * d10;
+ this.locX = d12 + d6 * d11;
+ this.locZ = d13 + d7 * d11;
this.setPosition(this.locX, this.locY + (double) this.height, this.locZ);
d16 = this.motX;
- d15 = this.motZ;
+ d18 = this.motZ;
if (this.passenger != null) {
d16 *= 0.75D;
- d15 *= 0.75D;
+ d18 *= 0.75D;
}
if (d16 < -d4) {
@@ -382,15 +384,15 @@ public class EntityMinecart extends Entity implements IInventory {
d16 = d4;
}
- if (d15 < -d4) {
- d15 = -d4;
+ if (d18 < -d4) {
+ d18 = -d4;
}
- if (d15 > d4) {
- d15 = d4;
+ if (d18 > d4) {
+ d18 = d4;
}
- this.move(d16, 0.0D, d15);
+ this.move(d16, 0.0D, d18);
if (aint[0][1] != 0 && MathHelper.floor(this.locX) - i == aint[0][0] && MathHelper.floor(this.locZ) - k == aint[0][2]) {
this.setPosition(this.locX, this.locY + (double) aint[0][1], this.locZ);
} else if (aint[1][1] != 0 && MathHelper.floor(this.locX) - i == aint[1][0] && MathHelper.floor(this.locZ) - k == aint[1][2]) {
@@ -404,18 +406,17 @@ public class EntityMinecart extends Entity implements IInventory {
this.motZ *= 0.996999979019165D;
} else {
if (this.type == 2) {
- d17 = (double) MathHelper.a(this.f * this.f + this.g * this.g);
+ d17 = (double) MathHelper.a(this.b * this.b + this.c * this.c);
if (d17 > 0.01D) {
- flag = true;
- this.f /= d17;
- this.g /= d17;
- double d18 = 0.04D;
+ this.b /= d17;
+ this.c /= d17;
+ double d19 = 0.04D;
this.motX *= 0.800000011920929D;
this.motY *= 0.0D;
this.motZ *= 0.800000011920929D;
- this.motX += this.f * d18;
- this.motZ += this.g * d18;
+ this.motX += this.b * d19;
+ this.motZ += this.c * d19;
} else {
this.motX *= 0.8999999761581421D;
this.motY *= 0.0D;
@@ -431,12 +432,12 @@ public class EntityMinecart extends Entity implements IInventory {
Vec3D vec3d1 = this.h(this.locX, this.locY, this.locZ);
if (vec3d1 != null && vec3d != null) {
- double d19 = (vec3d.b - vec3d1.b) * 0.05D;
+ double d20 = (vec3d.b - vec3d1.b) * 0.05D;
- d9 = Math.sqrt(this.motX * this.motX + this.motZ * this.motZ);
- if (d9 > 0.0D) {
- this.motX = this.motX / d9 * (d9 + d19);
- this.motZ = this.motZ / d9 * (d9 + d19);
+ d10 = Math.sqrt(this.motX * this.motX + this.motZ * this.motZ);
+ if (d10 > 0.0D) {
+ this.motX = this.motX / d10 * (d10 + d20);
+ this.motZ = this.motZ / d10 * (d10 + d20);
}
this.setPosition(this.locX, vec3d1.b, this.locZ);
@@ -446,35 +447,35 @@ public class EntityMinecart extends Entity implements IInventory {
int k1 = MathHelper.floor(this.locZ);
if (j1 != i || k1 != k) {
- d9 = Math.sqrt(this.motX * this.motX + this.motZ * this.motZ);
- this.motX = d9 * (double) (j1 - i);
- this.motZ = d9 * (double) (k1 - k);
+ d10 = Math.sqrt(this.motX * this.motX + this.motZ * this.motZ);
+ this.motX = d10 * (double) (j1 - i);
+ this.motZ = d10 * (double) (k1 - k);
}
- double d20;
+ double d21;
if (this.type == 2) {
- d20 = (double) MathHelper.a(this.f * this.f + this.g * this.g);
- if (d20 > 0.01D && this.motX * this.motX + this.motZ * this.motZ > 0.0010D) {
- this.f /= d20;
- this.g /= d20;
- if (this.f * this.motX + this.g * this.motZ < 0.0D) {
- this.f = 0.0D;
- this.g = 0.0D;
+ d21 = (double) MathHelper.a(this.b * this.b + this.c * this.c);
+ if (d21 > 0.01D && this.motX * this.motX + this.motZ * this.motZ > 0.0010D) {
+ this.b /= d21;
+ this.c /= d21;
+ if (this.b * this.motX + this.c * this.motZ < 0.0D) {
+ this.b = 0.0D;
+ this.c = 0.0D;
} else {
- this.f = this.motX;
- this.g = this.motZ;
+ this.b = this.motX;
+ this.c = this.motZ;
}
}
}
- if (flag1) {
- d20 = Math.sqrt(this.motX * this.motX + this.motZ * this.motZ);
- if (d20 > 0.01D) {
- double d21 = 0.06D;
+ if (flag) {
+ d21 = Math.sqrt(this.motX * this.motX + this.motZ * this.motZ);
+ if (d21 > 0.01D) {
+ double d22 = 0.06D;
- this.motX += this.motX / d20 * d21;
- this.motZ += this.motZ / d20 * d21;
+ this.motX += this.motX / d21 * d22;
+ this.motZ += this.motZ / d21 * d22;
} else if (i1 == 1) {
if (this.world.e(i - 1, j, k)) {
this.motX = 0.02D;
@@ -525,29 +526,29 @@ public class EntityMinecart extends Entity implements IInventory {
}
this.pitch = 0.0F;
- double d22 = this.lastX - this.locX;
- double d23 = this.lastZ - this.locZ;
+ double d23 = this.lastX - this.locX;
+ double d24 = this.lastZ - this.locZ;
- if (d22 * d22 + d23 * d23 > 0.0010D) {
- this.yaw = (float) (Math.atan2(d23, d22) * 180.0D / 3.141592653589793D);
- if (this.i) {
+ if (d23 * d23 + d24 * d24 > 0.0010D) {
+ this.yaw = (float) (Math.atan2(d24, d23) * 180.0D / 3.141592653589793D);
+ if (this.f) {
this.yaw += 180.0F;
}
}
- double d24;
+ double d25;
- for (d24 = (double) (this.yaw - this.lastYaw); d24 >= 180.0D; d24 -= 360.0D) {
+ for (d25 = (double) (this.yaw - this.lastYaw); d25 >= 180.0D; d25 -= 360.0D) {
;
}
- while (d24 < -180.0D) {
- d24 += 360.0D;
+ while (d25 < -180.0D) {
+ d25 += 360.0D;
}
- if (d24 < -170.0D || d24 >= 170.0D) {
+ if (d25 < -170.0D || d25 >= 170.0D) {
this.yaw += 180.0F;
- this.i = !this.i;
+ this.f = !this.f;
}
this.c(this.yaw, this.pitch);
@@ -571,25 +572,29 @@ public class EntityMinecart extends Entity implements IInventory {
for (int l1 = 0; l1 < list.size(); ++l1) {
Entity entity = (Entity) list.get(l1);
- if (entity != this.passenger && entity.g() && entity instanceof EntityMinecart) {
+ if (entity != this.passenger && entity.f_() && entity instanceof EntityMinecart) {
entity.collide(this);
}
}
}
if (this.passenger != null && this.passenger.dead) {
- this.passenger.vehicle = null; // CraftBukkit
+ if (this.passenger.vehicle == this) {
+ this.passenger.vehicle = null;
+ }
+
this.passenger = null;
}
- if (flag && this.random.nextInt(4) == 0) {
+ if (this.e > 0) {
--this.e;
- if (this.e < 0) {
- this.f = this.g = 0.0D;
- }
+ }
- this.world.a("largesmoke", this.locX, this.locY + 0.8D, this.locZ, 0.0D, 0.0D, 0.0D);
+ if (this.e <= 0) {
+ this.b = this.c = 0.0D;
}
+
+ this.a(this.e > 0);
}
}
@@ -604,11 +609,11 @@ public class EntityMinecart extends Entity implements IInventory {
int l = this.world.getTypeId(i, j, k);
- if (BlockMinecartTrack.c(l)) {
+ if (BlockMinecartTrack.d(l)) {
int i1 = this.world.getData(i, j, k);
d1 = (double) j;
- if (((BlockMinecartTrack) Block.byId[l]).f()) {
+ if (((BlockMinecartTrack) Block.byId[l]).h()) {
i1 &= 7;
}
@@ -662,8 +667,8 @@ public class EntityMinecart extends Entity implements IInventory {
protected void b(NBTTagCompound nbttagcompound) {
nbttagcompound.a("Type", this.type);
if (this.type == 2) {
- nbttagcompound.a("PushX", this.f);
- nbttagcompound.a("PushZ", this.g);
+ nbttagcompound.a("PushX", this.b);
+ nbttagcompound.a("PushZ", this.c);
nbttagcompound.a("Fuel", (short) this.e);
} else if (this.type == 1) {
NBTTagList nbttaglist = new NBTTagList();
@@ -683,19 +688,19 @@ public class EntityMinecart extends Entity implements IInventory {
}
protected void a(NBTTagCompound nbttagcompound) {
- this.type = nbttagcompound.e("Type");
+ this.type = nbttagcompound.f("Type");
if (this.type == 2) {
- this.f = nbttagcompound.h("PushX");
- this.g = nbttagcompound.h("PushZ");
- this.e = nbttagcompound.d("Fuel");
+ this.b = nbttagcompound.i("PushX");
+ this.c = nbttagcompound.i("PushZ");
+ this.e = nbttagcompound.e("Fuel");
} else if (this.type == 1) {
- NBTTagList nbttaglist = nbttagcompound.l("Items");
+ NBTTagList nbttaglist = nbttagcompound.m("Items");
this.items = new ItemStack[this.getSize()];
- for (int i = 0; i < nbttaglist.c(); ++i) {
+ for (int i = 0; i < nbttaglist.d(); ++i) {
NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist.a(i);
- int j = nbttagcompound1.c("Slot") & 255;
+ int j = nbttagcompound1.d("Slot") & 255;
if (j >= 0 && j < this.items.length) {
this.items[j] = ItemStack.a(nbttagcompound1);
@@ -749,17 +754,18 @@ public class EntityMinecart extends Entity implements IInventory {
d1 *= d3;
d0 *= 0.10000000149011612D;
d1 *= 0.10000000149011612D;
- d0 *= (double) (1.0F - this.bK);
- d1 *= (double) (1.0F - this.bK);
+ d0 *= (double) (1.0F - this.bO);
+ d1 *= (double) (1.0F - this.bO);
d0 *= 0.5D;
d1 *= 0.5D;
if (entity instanceof EntityMinecart) {
double d4 = entity.locX - this.locX;
double d5 = entity.locZ - this.locZ;
- double d6 = d4 * entity.motZ + d5 * entity.lastX;
+ Vec3D vec3d = Vec3D.create(d4, 0.0D, d5).b();
+ Vec3D vec3d1 = Vec3D.create((double) MathHelper.cos(this.yaw * 3.1415927F / 180.0F), 0.0D, (double) MathHelper.sin(this.yaw * 3.1415927F / 180.0F)).b();
+ double d6 = Math.abs(vec3d.a(vec3d1));
- d6 *= d6;
- if (d6 > 5.0D) {
+ if (d6 < 0.800000011920929D) {
return;
}
@@ -769,28 +775,28 @@ public class EntityMinecart extends Entity implements IInventory {
if (((EntityMinecart) entity).type == 2 && this.type != 2) {
this.motX *= 0.20000000298023224D;
this.motZ *= 0.20000000298023224D;
- this.b(entity.motX - d0, 0.0D, entity.motZ - d1);
- entity.motX *= 0.699999988079071D;
- entity.motZ *= 0.699999988079071D;
+ this.b_(entity.motX - d0, 0.0D, entity.motZ - d1);
+ entity.motX *= 0.949999988079071D;
+ entity.motZ *= 0.949999988079071D;
} else if (((EntityMinecart) entity).type != 2 && this.type == 2) {
entity.motX *= 0.20000000298023224D;
entity.motZ *= 0.20000000298023224D;
- entity.b(this.motX + d0, 0.0D, this.motZ + d1);
- this.motX *= 0.699999988079071D;
- this.motZ *= 0.699999988079071D;
+ entity.b_(this.motX + d0, 0.0D, this.motZ + d1);
+ this.motX *= 0.949999988079071D;
+ this.motZ *= 0.949999988079071D;
} else {
d7 /= 2.0D;
d8 /= 2.0D;
this.motX *= 0.20000000298023224D;
this.motZ *= 0.20000000298023224D;
- this.b(d7 - d0, 0.0D, d8 - d1);
+ this.b_(d7 - d0, 0.0D, d8 - d1);
entity.motX *= 0.20000000298023224D;
entity.motZ *= 0.20000000298023224D;
- entity.b(d7 + d0, 0.0D, d8 + d1);
+ entity.b_(d7 + d0, 0.0D, d8 + d1);
}
} else {
- this.b(-d0, 0.0D, -d1);
- entity.b(d0 / 4.0D, 0.0D, d1 / 4.0D);
+ this.b_(-d0, 0.0D, -d1);
+ entity.b_(d0 / 4.0D, 0.0D, d1 / 4.0D);
}
}
}
@@ -875,21 +881,57 @@ public class EntityMinecart extends Entity implements IInventory {
entityhuman.inventory.setItem(entityhuman.inventory.itemInHandIndex, (ItemStack) null);
}
- this.e += 1200;
+ this.e += 3600;
}
- this.f = this.locX - entityhuman.locX;
- this.g = this.locZ - entityhuman.locZ;
+ this.b = this.locX - entityhuman.locX;
+ this.c = this.locZ - entityhuman.locZ;
}
return true;
}
public boolean a(EntityHuman entityhuman) {
- return this.dead ? false : entityhuman.h(this) <= 64.0D;
+ return this.dead ? false : entityhuman.i(this) <= 64.0D;
+ }
+
+ protected boolean j() {
+ return (this.datawatcher.getByte(16) & 1) != 0;
}
- public void e() {}
+ protected void a(boolean flag) {
+ if (flag) {
+ this.datawatcher.watch(16, Byte.valueOf((byte) (this.datawatcher.getByte(16) | 1)));
+ } else {
+ this.datawatcher.watch(16, Byte.valueOf((byte) (this.datawatcher.getByte(16) & -2)));
+ }
+ }
+
+ public void f() {}
+
+ public void g() {}
+
+ public void setDamage(int i) {
+ this.datawatcher.watch(19, Integer.valueOf(i));
+ }
+
+ public int getDamage() {
+ return this.datawatcher.getInt(19);
+ }
+
+ public void c(int i) {
+ this.datawatcher.watch(17, Integer.valueOf(i));
+ }
+
+ public int l() {
+ return this.datawatcher.getInt(17);
+ }
+
+ public void d(int i) {
+ this.datawatcher.watch(18, Integer.valueOf(i));
+ }
- public void t_() {}
+ public int m() {
+ return this.datawatcher.getInt(18);
+ }
}