summaryrefslogtreecommitdiffstats
path: root/nms-patches/Entity.patch
diff options
context:
space:
mode:
Diffstat (limited to 'nms-patches/Entity.patch')
-rw-r--r--nms-patches/Entity.patch50
1 files changed, 25 insertions, 25 deletions
diff --git a/nms-patches/Entity.patch b/nms-patches/Entity.patch
index fd248cfc..f73dae4b 100644
--- a/nms-patches/Entity.patch
+++ b/nms-patches/Entity.patch
@@ -273,9 +273,9 @@
}
@@ -706,6 +884,7 @@
- this.locX = (axisalignedbb.a + axisalignedbb.d) / 2.0D;
- this.locY = axisalignedbb.b;
- this.locZ = (axisalignedbb.c + axisalignedbb.f) / 2.0D;
+ this.locX = (axisalignedbb.minX + axisalignedbb.maxX) / 2.0D;
+ this.locY = axisalignedbb.minY;
+ this.locZ = (axisalignedbb.minZ + axisalignedbb.maxZ) / 2.0D;
+ if (valid) world.entityJoinedWorld(this, false); // CraftBukkit
}
@@ -453,8 +453,8 @@
}
this.vehicle = entity;
-- this.vehicle.o(this);
-+ if (!this.vehicle.o(this)) this.vehicle = null; // CraftBukkit
+- this.vehicle.addPassenger(this);
++ if (!this.vehicle.addPassenger(this)) this.vehicle = null; // CraftBukkit
return true;
}
}
@@ -468,8 +468,8 @@
}
-- protected void o(Entity entity) {
-+ protected boolean o(Entity entity) { // CraftBukkit
+- protected void addPassenger(Entity entity) {
++ protected boolean addPassenger(Entity entity) { // CraftBukkit
if (entity.getVehicle() != this) {
throw new IllegalStateException("Use x.startRiding(y), not y.addPassenger(x)");
} else {
@@ -733,24 +733,24 @@
public void a(AxisAlignedBB axisalignedbb) {
- this.boundingBox = axisalignedbb;
+ // CraftBukkit start - block invalid bounding boxes
-+ double a = axisalignedbb.a,
-+ b = axisalignedbb.b,
-+ c = axisalignedbb.c,
-+ d = axisalignedbb.d,
-+ e = axisalignedbb.e,
-+ f = axisalignedbb.f;
-+ double len = axisalignedbb.d - axisalignedbb.a;
-+ if (len < 0) d = a;
-+ if (len > 64) d = a + 64.0;
-+
-+ len = axisalignedbb.e - axisalignedbb.b;
-+ if (len < 0) e = b;
-+ if (len > 64) e = b + 64.0;
-+
-+ len = axisalignedbb.f - axisalignedbb.c;
-+ if (len < 0) f = c;
-+ if (len > 64) f = c + 64.0;
-+ this.boundingBox = new AxisAlignedBB(a, b, c, d, e, f);
++ double minX = axisalignedbb.minX,
++ minY = axisalignedbb.minY,
++ minZ = axisalignedbb.minZ,
++ maxX = axisalignedbb.maxX,
++ maxY = axisalignedbb.maxY,
++ maxZ = axisalignedbb.maxZ;
++ double len = axisalignedbb.maxX - axisalignedbb.minX;
++ if (len < 0) maxX = minX;
++ if (len > 64) maxX = minX + 64.0;
++
++ len = axisalignedbb.maxY - axisalignedbb.minY;
++ if (len < 0) maxY = minY;
++ if (len > 64) maxY = minY + 64.0;
++
++ len = axisalignedbb.maxZ - axisalignedbb.minZ;
++ if (len < 0) maxZ = minZ;
++ if (len > 64) maxZ = minZ + 64.0;
++ this.boundingBox = new AxisAlignedBB(minX, minY, minZ, maxX, maxY, maxZ);
+ // CraftBukkit end
}