mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Updated Upstream (Tuinity)
Upstream has released updates that appears to apply and compile correctly Tuinity Changes: ed9c0c4 Fix worldborder checks for getCubes
This commit is contained in:
@@ -1 +1 @@
|
||||
1.16.4--f3e24bfd596d4a095bab3d78733012a035d02546
|
||||
1.16.4--d29be096a48a1d0e7f74c579efd9dfcea2c56ad5
|
||||
|
||||
@@ -5541,10 +5541,10 @@ index 000000000..002abb3cb
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/net/minecraft/server/AxisAlignedBB.java b/src/main/java/net/minecraft/server/AxisAlignedBB.java
|
||||
index ed9b2f9ad..d759a6c2b 100644
|
||||
index ed9b2f9ad..9fbb77e70 100644
|
||||
--- a/src/main/java/net/minecraft/server/AxisAlignedBB.java
|
||||
+++ b/src/main/java/net/minecraft/server/AxisAlignedBB.java
|
||||
@@ -13,6 +13,140 @@ public class AxisAlignedBB {
|
||||
@@ -13,6 +13,149 @@ public class AxisAlignedBB {
|
||||
public final double maxY;
|
||||
public final double maxZ;
|
||||
|
||||
@@ -5570,7 +5570,9 @@ index ed9b2f9ad..d759a6c2b 100644
|
||||
+ */
|
||||
+
|
||||
+ public final boolean voxelShapeIntersect(AxisAlignedBB other) {
|
||||
+ return this.voxelShapeIntersect(other.minX, other.minY, other.minZ, other.maxX, other.maxY, other.maxZ);
|
||||
+ return (this.minX - other.maxX) < -MCUtil.COLLISION_EPSILON && (this.maxX - other.minX) > MCUtil.COLLISION_EPSILON &&
|
||||
+ (this.minY - other.maxY) < -MCUtil.COLLISION_EPSILON && (this.maxY - other.minY) > MCUtil.COLLISION_EPSILON &&
|
||||
+ (this.minZ - other.maxZ) < -MCUtil.COLLISION_EPSILON && (this.maxZ - other.minZ) > MCUtil.COLLISION_EPSILON;
|
||||
+ }
|
||||
+
|
||||
+ public final boolean voxelShapeIntersect(double minX, double minY, double minZ, double maxX, double maxY, double maxZ) {
|
||||
@@ -5579,6 +5581,13 @@ index ed9b2f9ad..d759a6c2b 100644
|
||||
+ (this.minZ - maxZ) < -MCUtil.COLLISION_EPSILON && (this.maxZ - minZ) > MCUtil.COLLISION_EPSILON;
|
||||
+ }
|
||||
+
|
||||
+ public static boolean voxelShapeIntersect(double minX1, double minY1, double minZ1, double maxX1, double maxY1, double maxZ1,
|
||||
+ double minX2, double minY2, double minZ2, double maxX2, double maxY2, double maxZ2) {
|
||||
+ return (minX1 - maxX2) < -MCUtil.COLLISION_EPSILON && (maxX1 - minX2) > MCUtil.COLLISION_EPSILON &&
|
||||
+ (minY1 - maxY2) < -MCUtil.COLLISION_EPSILON && (maxY1 - minY2) > MCUtil.COLLISION_EPSILON &&
|
||||
+ (minZ1 - maxZ2) < -MCUtil.COLLISION_EPSILON && (maxZ1 - minZ2) > MCUtil.COLLISION_EPSILON;
|
||||
+ }
|
||||
+
|
||||
+ public static double collideX(AxisAlignedBB target, AxisAlignedBB source, double source_move) {
|
||||
+ if (Math.abs(source_move) < MCUtil.COLLISION_EPSILON) {
|
||||
+ return 0.0;
|
||||
@@ -5685,7 +5694,7 @@ index ed9b2f9ad..d759a6c2b 100644
|
||||
public AxisAlignedBB(double d0, double d1, double d2, double d3, double d4, double d5) {
|
||||
this.minX = Math.min(d0, d3);
|
||||
this.minY = Math.min(d1, d4);
|
||||
@@ -185,6 +319,7 @@ public class AxisAlignedBB {
|
||||
@@ -185,6 +328,7 @@ public class AxisAlignedBB {
|
||||
return new AxisAlignedBB(d0, d1, d2, d3, d4, d5);
|
||||
}
|
||||
|
||||
@@ -5693,7 +5702,7 @@ index ed9b2f9ad..d759a6c2b 100644
|
||||
public AxisAlignedBB d(double d0, double d1, double d2) {
|
||||
return new AxisAlignedBB(this.minX + d0, this.minY + d1, this.minZ + d2, this.maxX + d0, this.maxY + d1, this.maxZ + d2);
|
||||
}
|
||||
@@ -193,6 +328,7 @@ public class AxisAlignedBB {
|
||||
@@ -193,6 +337,7 @@ public class AxisAlignedBB {
|
||||
return new AxisAlignedBB(this.minX + (double) blockposition.getX(), this.minY + (double) blockposition.getY(), this.minZ + (double) blockposition.getZ(), this.maxX + (double) blockposition.getX(), this.maxY + (double) blockposition.getY(), this.maxZ + (double) blockposition.getZ());
|
||||
}
|
||||
|
||||
@@ -5701,7 +5710,7 @@ index ed9b2f9ad..d759a6c2b 100644
|
||||
public AxisAlignedBB c(Vec3D vec3d) {
|
||||
return this.d(vec3d.x, vec3d.y, vec3d.z);
|
||||
}
|
||||
@@ -212,6 +348,7 @@ public class AxisAlignedBB {
|
||||
@@ -212,6 +357,7 @@ public class AxisAlignedBB {
|
||||
return this.e(vec3d.x, vec3d.y, vec3d.z);
|
||||
}
|
||||
|
||||
@@ -6755,7 +6764,7 @@ index dcbae1c45..9d749dea1 100644
|
||||
int j = MathHelper.floor((axisalignedbb.maxY + 2.0D) / 16.0D);
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkCache.java b/src/main/java/net/minecraft/server/ChunkCache.java
|
||||
index 8eecdcde5..ab8664ef2 100644
|
||||
index 8eecdcde5..831aaffaa 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkCache.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkCache.java
|
||||
@@ -1,5 +1,6 @@
|
||||
@@ -6792,7 +6801,7 @@ index 8eecdcde5..ab8664ef2 100644
|
||||
+ final boolean checkOnly = true;
|
||||
+
|
||||
+ if (entity != null) {
|
||||
+ if (this.getWorldBorder().isCollidingOnBorderEdge(axisalignedbb)) {
|
||||
+ if (this.getWorldBorder().isAlmostCollidingOnBorder(axisalignedbb)) {
|
||||
+ if (checkOnly) {
|
||||
+ return true;
|
||||
+ } else {
|
||||
@@ -7904,7 +7913,7 @@ index 550232cb3..229c3b0f0 100644
|
||||
throwable = throwable1;
|
||||
throw throwable1;
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 0c952fea3..152f3cc5b 100644
|
||||
index 0c952fea3..677188661 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -136,7 +136,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -8058,7 +8067,7 @@ index 0c952fea3..152f3cc5b 100644
|
||||
}
|
||||
|
||||
protected BlockPosition ap() {
|
||||
@@ -815,6 +893,132 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -815,6 +893,135 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return d0;
|
||||
}
|
||||
|
||||
@@ -8157,6 +8166,9 @@ index 0c952fea3..152f3cc5b 100644
|
||||
+ collisionBox = currBoundingBox.expand(moveVector.x, moveVector.y, moveVector.z);
|
||||
+ }
|
||||
+ world.getCollisions(this, collisionBox, potentialCollisions, this instanceof EntityPlayer && !this.world.paperConfig.preventMovingIntoUnloadedChunks);
|
||||
+ if (world.getWorldBorder().isCollidingWithBorderEdge(collisionBox)) {
|
||||
+ VoxelShapes.addBoxesToIfIntersects(world.getWorldBorder().getCollisionShape(), collisionBox, potentialCollisions);
|
||||
+ }
|
||||
+
|
||||
+ Vec3D limitedMoveVector = Entity.performCollisions(moveVector, currBoundingBox, potentialCollisions);
|
||||
+
|
||||
@@ -8191,7 +8203,7 @@ index 0c952fea3..152f3cc5b 100644
|
||||
private Vec3D g(Vec3D vec3d) {
|
||||
AxisAlignedBB axisalignedbb = this.getBoundingBox();
|
||||
VoxelShapeCollision voxelshapecollision = VoxelShapeCollision.a(this);
|
||||
@@ -850,6 +1054,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -850,6 +1057,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return vec3d1;
|
||||
}
|
||||
|
||||
@@ -8199,7 +8211,7 @@ index 0c952fea3..152f3cc5b 100644
|
||||
public static double c(Vec3D vec3d) {
|
||||
return vec3d.x * vec3d.x + vec3d.z * vec3d.z;
|
||||
}
|
||||
@@ -962,18 +1167,34 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -962,18 +1170,34 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
}
|
||||
|
||||
protected void checkBlockCollisions() {
|
||||
@@ -8237,7 +8249,7 @@ index 0c952fea3..152f3cc5b 100644
|
||||
try {
|
||||
iblockdata.a(this.world, blockposition_mutableblockposition, this);
|
||||
this.a(iblockdata);
|
||||
@@ -987,6 +1208,11 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -987,6 +1211,11 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8249,7 +8261,7 @@ index 0c952fea3..152f3cc5b 100644
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1358,6 +1584,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -1358,6 +1587,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return d3 * d3 + d4 * d4 + d5 * d5;
|
||||
}
|
||||
|
||||
@@ -8257,7 +8269,7 @@ index 0c952fea3..152f3cc5b 100644
|
||||
public double h(Entity entity) {
|
||||
return this.e(entity.getPositionVector());
|
||||
}
|
||||
@@ -1938,9 +2165,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -1938,9 +2168,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
float f1 = this.size.width * 0.8F;
|
||||
AxisAlignedBB axisalignedbb = AxisAlignedBB.g((double) f1, 0.10000000149011612D, (double) f1).d(this.locX(), this.getHeadY(), this.locZ());
|
||||
|
||||
@@ -8269,7 +8281,7 @@ index 0c952fea3..152f3cc5b 100644
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1948,11 +2175,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -1948,11 +2178,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return EnumInteractionResult.PASS;
|
||||
}
|
||||
|
||||
@@ -8285,7 +8297,7 @@ index 0c952fea3..152f3cc5b 100644
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -3294,12 +3523,16 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -3294,12 +3526,16 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return this.locBlock;
|
||||
}
|
||||
|
||||
@@ -8302,7 +8314,7 @@ index 0c952fea3..152f3cc5b 100644
|
||||
}
|
||||
|
||||
public void setMot(double d0, double d1, double d2) {
|
||||
@@ -3354,7 +3587,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -3354,7 +3590,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
}
|
||||
// Paper end
|
||||
if (this.loc.x != d0 || this.loc.y != d1 || this.loc.z != d2) {
|
||||
@@ -13729,42 +13741,58 @@ index 9ed21f434..59abca0fd 100644
|
||||
public abstract Entity getEntity(int i);
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldBorder.java b/src/main/java/net/minecraft/server/WorldBorder.java
|
||||
index f01186988..26a8c4ffe 100644
|
||||
index f01186988..0d10d317c 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldBorder.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldBorder.java
|
||||
@@ -47,11 +47,43 @@ public class WorldBorder {
|
||||
@@ -47,11 +47,59 @@ public class WorldBorder {
|
||||
return axisalignedbb.maxX > this.e() && axisalignedbb.minX < this.g() && axisalignedbb.maxZ > this.f() && axisalignedbb.minZ < this.h();
|
||||
}
|
||||
|
||||
+ // Tuinity start - optimise collisions
|
||||
+ // determines whether we are colliding with one of the wordborder faces.
|
||||
+ public final boolean isCollidingOnBorderEdge(AxisAlignedBB boundingBox) {
|
||||
+ return this.isCollidingOnBorderEdge(boundingBox.minX, boundingBox.maxX, boundingBox.minZ, boundingBox.maxZ);
|
||||
+ // determines whether we are almost colliding with the world border
|
||||
+ // for clear collisions, this rets false
|
||||
+ public final boolean isAlmostCollidingOnBorder(AxisAlignedBB boundingBox) {
|
||||
+ return this.isAlmostCollidingOnBorder(boundingBox.minX, boundingBox.maxX, boundingBox.minZ, boundingBox.maxZ);
|
||||
+ }
|
||||
+
|
||||
+ public final boolean isCollidingOnBorderEdge(double boxMinX, double boxMaxX, double boxMinZ, double boxMaxZ) {
|
||||
+ double minX = this.getMinX() - MCUtil.COLLISION_EPSILON;
|
||||
+ double maxX = this.getMaxX() + MCUtil.COLLISION_EPSILON;
|
||||
+ public final boolean isAlmostCollidingOnBorder(double boxMinX, double boxMaxX, double boxMinZ, double boxMaxZ) {
|
||||
+ double borderMinX = this.getMinX();
|
||||
+ double borderMaxX = this.getMaxX();
|
||||
+
|
||||
+ double minZ = this.getMinZ() - MCUtil.COLLISION_EPSILON;
|
||||
+ double maxZ = this.getMaxZ() + MCUtil.COLLISION_EPSILON;
|
||||
+ double borderMinZ = this.getMinZ();
|
||||
+ double borderMaxZ = this.getMaxZ();
|
||||
+
|
||||
+ return
|
||||
+ // First, check if the worldborder is enclosing the specified box.
|
||||
+ // We check this first as it's most likely to fail.
|
||||
+ !(minX < boxMinX && maxX > boxMaxX && minZ < boxMinZ && maxZ > boxMaxZ)
|
||||
+ // Not intersecting if we're smaller
|
||||
+ !AxisAlignedBB.voxelShapeIntersect(
|
||||
+ boxMinX + MCUtil.COLLISION_EPSILON, Double.NEGATIVE_INFINITY, boxMinZ + MCUtil.COLLISION_EPSILON,
|
||||
+ boxMaxX - MCUtil.COLLISION_EPSILON, Double.POSITIVE_INFINITY, boxMaxZ - MCUtil.COLLISION_EPSILON,
|
||||
+ borderMinX, Double.NEGATIVE_INFINITY, borderMinZ, borderMaxX, Double.POSITIVE_INFINITY, borderMaxZ
|
||||
+ )
|
||||
+ &&
|
||||
+
|
||||
+ // Now we verify if we're even intersecting.
|
||||
+ (minX < boxMaxX && maxX > boxMinX && minZ < boxMaxZ && maxZ > boxMinZ)
|
||||
+ &&
|
||||
+
|
||||
+ // Now verify that the worldborder isn't being enclosed.
|
||||
+ // This is never expected to happen, but is left here to ensure our logic
|
||||
+ // is right 100% of the time.
|
||||
+ !(boxMinX < minX && boxMaxX > maxX && boxMinZ < minZ && boxMaxZ > maxZ)
|
||||
+ // Are intersecting if we're larger
|
||||
+ AxisAlignedBB.voxelShapeIntersect(
|
||||
+ boxMinX - MCUtil.COLLISION_EPSILON, Double.NEGATIVE_INFINITY, boxMinZ - MCUtil.COLLISION_EPSILON,
|
||||
+ boxMaxX + MCUtil.COLLISION_EPSILON, Double.POSITIVE_INFINITY, boxMaxZ + MCUtil.COLLISION_EPSILON,
|
||||
+ borderMinX, Double.NEGATIVE_INFINITY, borderMinZ, borderMaxX, Double.POSITIVE_INFINITY, borderMaxZ
|
||||
+ )
|
||||
+ ;
|
||||
+ }
|
||||
+
|
||||
+ public final boolean isCollidingWithBorderEdge(AxisAlignedBB boundingBox) {
|
||||
+ return this.isCollidingWithBorderEdge(boundingBox.minX, boundingBox.maxX, boundingBox.minZ, boundingBox.maxZ);
|
||||
+ }
|
||||
+
|
||||
+ public final boolean isCollidingWithBorderEdge(double boxMinX, double boxMaxX, double boxMinZ, double boxMaxZ) {
|
||||
+ double borderMinX = this.getMinX() + MCUtil.COLLISION_EPSILON;
|
||||
+ double borderMaxX = this.getMaxX() - MCUtil.COLLISION_EPSILON;
|
||||
+
|
||||
+ double borderMinZ = this.getMinZ() + MCUtil.COLLISION_EPSILON;
|
||||
+ double borderMaxZ = this.getMaxZ() - MCUtil.COLLISION_EPSILON;
|
||||
+
|
||||
+ return boxMinX < borderMinX || boxMaxX > borderMaxX || boxMinZ < borderMinZ || boxMaxZ > borderMaxZ;
|
||||
+ }
|
||||
+ // Tuinity end - optimise collisions
|
||||
+
|
||||
public double a(Entity entity) {
|
||||
@@ -13776,7 +13804,7 @@ index f01186988..26a8c4ffe 100644
|
||||
public VoxelShape c() {
|
||||
return this.j.m();
|
||||
}
|
||||
@@ -67,18 +99,22 @@ public class WorldBorder {
|
||||
@@ -67,18 +115,22 @@ public class WorldBorder {
|
||||
return Math.min(d6, d3);
|
||||
}
|
||||
|
||||
@@ -13800,7 +13828,7 @@ index f01186988..26a8c4ffe 100644
|
||||
return this.j.d();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 5b0b6edfa..2155fa1b1 100644
|
||||
index 5b0b6edfa..bb310c745 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -55,12 +55,13 @@ import org.bukkit.event.server.MapInitializeEvent;
|
||||
@@ -13991,7 +14019,7 @@ index 5b0b6edfa..2155fa1b1 100644
|
||||
+ boolean ret = false;
|
||||
+
|
||||
+ if (entity != null) {
|
||||
+ if (this.getWorldBorder().isCollidingOnBorderEdge(axisalignedbb)) {
|
||||
+ if (this.getWorldBorder().isAlmostCollidingOnBorder(axisalignedbb)) {
|
||||
+ if (checkOnly) {
|
||||
+ return true;
|
||||
+ } else {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Cows eat mushrooms
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 870868f0e..1987555a9 100644
|
||||
index a1ffbfb3a..3cb24f4ff 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -2766,6 +2766,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -2769,6 +2769,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
this.invulnerable = flag;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix the dead lagging the server
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 1987555a9..01f4be387 100644
|
||||
index 3cb24f4ff..fba2e13ae 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -1518,6 +1518,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -1521,6 +1521,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
this.pitch = MathHelper.a(f1, -90.0F, 90.0F) % 360.0F;
|
||||
this.lastYaw = this.yaw;
|
||||
this.lastPitch = this.pitch;
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Climbing should not bypass cramming gamerule
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index e0532f145..763625294 100644
|
||||
index 6841de575..9f465ff6f 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -1717,6 +1717,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -1720,6 +1720,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
}
|
||||
|
||||
public boolean isCollidable() {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Item entity immunities
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 763625294..f03890d40 100644
|
||||
index 9f465ff6f..7892ae36a 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -1467,6 +1467,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -1470,6 +1470,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -17,10 +17,10 @@ index 6fe5678cf..bd0267ee4 100644
|
||||
return (new EntityDamageSourceIndirect("indirectMagic", entity, entity1)).setIgnoreArmor().setMagic();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index f03890d40..1ae6dd961 100644
|
||||
index 7892ae36a..87d40ea50 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -2132,8 +2132,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -2135,8 +2135,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return this.a(new ItemStack(imaterial), (float) i);
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Stop squids floating on top of water
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 1ae6dd961..b433bf6e6 100644
|
||||
index 87d40ea50..d76a93dc1 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -3435,8 +3435,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -3438,8 +3438,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
this.lastYaw = this.yaw;
|
||||
}
|
||||
|
||||
|
||||
@@ -161,7 +161,7 @@ index bd0267ee4..8b36ac2b0 100644
|
||||
this.B = true;
|
||||
return this;
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index b433bf6e6..ec755b0f2 100644
|
||||
index d76a93dc1..e80099249 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -80,7 +80,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -200,7 +200,7 @@ index b433bf6e6..ec755b0f2 100644
|
||||
private float headHeight;
|
||||
// CraftBukkit start
|
||||
public boolean persist = true;
|
||||
@@ -1477,6 +1477,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -1480,6 +1480,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return !this.justCreated && this.M.getDouble(TagsFluid.LAVA) > 0.0D;
|
||||
}
|
||||
|
||||
@@ -208,7 +208,7 @@ index b433bf6e6..ec755b0f2 100644
|
||||
public void a(float f, Vec3D vec3d) {
|
||||
Vec3D vec3d1 = a(vec3d, f, this.yaw);
|
||||
|
||||
@@ -2232,6 +2233,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -2235,6 +2236,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return this.a(entity, false);
|
||||
}
|
||||
|
||||
@@ -216,7 +216,7 @@ index b433bf6e6..ec755b0f2 100644
|
||||
public boolean a(Entity entity, boolean flag) {
|
||||
for (Entity entity1 = entity; entity1.vehicle != null; entity1 = entity1.vehicle) {
|
||||
if (entity1.vehicle == this) {
|
||||
@@ -2327,6 +2329,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -2330,6 +2332,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
this.passengers.add(entity);
|
||||
}
|
||||
|
||||
@@ -230,7 +230,7 @@ index b433bf6e6..ec755b0f2 100644
|
||||
}
|
||||
return true; // CraftBukkit
|
||||
}
|
||||
@@ -2367,6 +2376,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -2370,6 +2379,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return false;
|
||||
}
|
||||
// Spigot end
|
||||
@@ -243,7 +243,7 @@ index b433bf6e6..ec755b0f2 100644
|
||||
this.passengers.remove(entity);
|
||||
entity.j = 60;
|
||||
}
|
||||
@@ -2532,6 +2547,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -2535,6 +2550,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
this.setFlag(4, flag);
|
||||
}
|
||||
|
||||
@@ -251,7 +251,7 @@ index b433bf6e6..ec755b0f2 100644
|
||||
public boolean bE() {
|
||||
return this.glowing || this.world.isClientSide && this.getFlag(6);
|
||||
}
|
||||
@@ -2754,6 +2770,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -2757,6 +2773,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
|
||||
public void setHeadRotation(float f) {}
|
||||
|
||||
@@ -259,7 +259,7 @@ index b433bf6e6..ec755b0f2 100644
|
||||
public void n(float f) {}
|
||||
|
||||
public boolean bL() {
|
||||
@@ -3188,6 +3205,18 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -3191,6 +3208,18 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -278,7 +278,7 @@ index b433bf6e6..ec755b0f2 100644
|
||||
@Override
|
||||
public void sendMessage(IChatBaseComponent ichatbasecomponent, UUID uuid) {}
|
||||
|
||||
@@ -3640,4 +3669,47 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -3643,4 +3672,47 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return ((ChunkProviderServer) world.getChunkProvider()).isInEntityTickingChunk(this);
|
||||
}
|
||||
// Paper end
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Entities can use portals configuration
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index ec755b0f2..14d6d2ef0 100644
|
||||
index e80099249..33b43bb98 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -2408,7 +2408,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -2411,7 +2411,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
public void d(BlockPosition blockposition) {
|
||||
if (this.ai()) {
|
||||
this.resetPortalCooldown();
|
||||
@@ -17,7 +17,7 @@ index ec755b0f2..14d6d2ef0 100644
|
||||
if (!this.world.isClientSide && !blockposition.equals(this.ac)) {
|
||||
this.ac = blockposition.immutableCopy();
|
||||
}
|
||||
@@ -2981,7 +2981,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -2984,7 +2984,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
}
|
||||
|
||||
public boolean canPortal() {
|
||||
|
||||
Reference in New Issue
Block a user