diff --git a/gradle.properties b/gradle.properties index 5fd79ce..0d6c6e8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group=me.samsuik.sakura version=1.21.3-R0.1-SNAPSHOT mcVersion=1.21.3 -paperRef=7ee48350744b09adea3beb75249d971d31d47779 +paperRef=99f4bb29ba77964304a37e51b7f1824a4a6032af org.gradle.jvmargs=-Xmx2G org.gradle.vfs.watch=false diff --git a/patches/server/0005-Visibility-API-and-Command.patch b/patches/server/0005-Visibility-API-and-Command.patch index 927507c..c603f45 100644 --- a/patches/server/0005-Visibility-API-and-Command.patch +++ b/patches/server/0005-Visibility-API-and-Command.patch @@ -498,7 +498,7 @@ index b0bc66dc7248aae691dcab68b925b52a1695e63f..b1a04865b0efee94227f0868910fc007 throw new ReportedException(crashreport); } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index d7ac001d53a083e9881f2320eb7fd5dcbd20416e..1acc9a0a5c95f6002d5654d49a1dae3ed51818da 100644 +index b5d5dbc50a7b8c40739a15f164ffd08fdc534f9c..5af07a78bf29c52f4138d551b5fc6d7ce41bb8ca 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -3247,6 +3247,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -510,10 +510,10 @@ index d7ac001d53a083e9881f2320eb7fd5dcbd20416e..1acc9a0a5c95f6002d5654d49a1dae3e if (this.player.containerMenu != oldContainer) { return; diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 6574219da33a7b9a4906883e65b78d7806f6e67b..eec06c841ae4dc9b3bf9c59d47352b4bd859c9c8 100644 +index a0876d3f88620bb24ef69101fc67b0dcd5dca0d2..35da89072cea86c1b1bc54784908bfb7bd449f4a 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -610,6 +610,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -611,6 +611,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } } // Paper end - optimise entity tracker diff --git a/patches/server/0007-Load-Chunks-on-Movement.patch b/patches/server/0007-Load-Chunks-on-Movement.patch index 6823b08..9cf798c 100644 --- a/patches/server/0007-Load-Chunks-on-Movement.patch +++ b/patches/server/0007-Load-Chunks-on-Movement.patch @@ -51,10 +51,10 @@ index e701f57ac8b0efdf739389f9be7a255220bb3e21..35a437f3acfd2659341abd8ab6a3b21c public static TicketType create(String name, Comparator argumentComparator) { return new TicketType<>(name, argumentComparator, 0L); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index eec06c841ae4dc9b3bf9c59d47352b4bd859c9c8..4be6b57d11c48da84a58b025fddb2b6aafaec55a 100644 +index 35da89072cea86c1b1bc54784908bfb7bd449f4a..eb0026368463aaac46dbbf1800032809041f7874 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -614,6 +614,20 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -615,6 +615,20 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess public boolean isPrimedTNT; public boolean isFallingBlock; // Sakura end - visibility api and command @@ -75,7 +75,7 @@ index eec06c841ae4dc9b3bf9c59d47352b4bd859c9c8..4be6b57d11c48da84a58b025fddb2b6a public Entity(EntityType type, Level world) { this.id = Entity.ENTITY_COUNTER.incrementAndGet(); -@@ -1591,7 +1605,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1592,7 +1606,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess ca.spottedleaf.moonrise.patches.collisions.CollisionUtil.getCollisionsForBlocksOrWorldBorder( this.level, (Entity)(Object)this, initialCollisionBox, potentialCollisionsVoxel, potentialCollisionsBB, @@ -84,7 +84,7 @@ index eec06c841ae4dc9b3bf9c59d47352b4bd859c9c8..4be6b57d11c48da84a58b025fddb2b6a ); potentialCollisionsBB.addAll(entityAABBs); final Vec3 collided = ca.spottedleaf.moonrise.patches.collisions.CollisionUtil.performCollisions(movement, currentBox, potentialCollisionsVoxel, potentialCollisionsBB); -@@ -5205,12 +5219,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -5235,12 +5249,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @Override public boolean shouldBeSaved() { diff --git a/patches/server/0010-Slice-Packet-obfuscation-and-reduction.patch b/patches/server/0010-Slice-Packet-obfuscation-and-reduction.patch index cb74845..cc73746 100644 --- a/patches/server/0010-Slice-Packet-obfuscation-and-reduction.patch +++ b/patches/server/0010-Slice-Packet-obfuscation-and-reduction.patch @@ -185,10 +185,10 @@ index 90eb4927fa51ce3df86aa7b6c71f49150a03e337..a960c7ac83cb32b2eb1f292fd9a561ba if (this.entity instanceof LivingEntity) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 4be6b57d11c48da84a58b025fddb2b6aafaec55a..2d8618541d2e673686485901ffc8e693545354a3 100644 +index eb0026368463aaac46dbbf1800032809041f7874..c1c933bd6d40b533e332948168db40ac7164fdea 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3708,7 +3708,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -3709,7 +3709,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess this.entityData.markDirty(Entity.DATA_AIR_SUPPLY_ID); return; } diff --git a/patches/server/0015-Store-Entity-Data-State.patch b/patches/server/0015-Store-Entity-Data-State.patch index 157af47..b763e04 100644 --- a/patches/server/0015-Store-Entity-Data-State.patch +++ b/patches/server/0015-Store-Entity-Data-State.patch @@ -52,10 +52,10 @@ index 0000000000000000000000000000000000000000..aeb5f128b369753cb20b7310fa382ddf + } +} diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 2d8618541d2e673686485901ffc8e693545354a3..105b2d368891685642c6c5a7b08969a71085c9bb 100644 +index c1c933bd6d40b533e332948168db40ac7164fdea..1fbe29291e2c8318427525f126842b9ce9f5b946 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -628,6 +628,25 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -629,6 +629,25 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return flags; } // Sakura end - load chunks on movement diff --git a/patches/server/0016-Merge-Cannon-Entities.patch b/patches/server/0016-Merge-Cannon-Entities.patch index 9758a31..f8077bc 100644 --- a/patches/server/0016-Merge-Cannon-Entities.patch +++ b/patches/server/0016-Merge-Cannon-Entities.patch @@ -398,7 +398,7 @@ index 0000000000000000000000000000000000000000..2c2a26fdb3081ced574070e5e6f3a1b4 + } +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 06c09e3e4233a7a9ce3fac3c432a6bf645db9cd4..b78b642b77a5cef54044b079916fef9b22e50fcc 100644 +index 68894f38607025943f86be7a7857733dafaf37fd..61b24eac8f17d5a433817ae2ebb3baf2599af210 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1890,6 +1890,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop type, Level world) { this.id = Entity.ENTITY_COUNTER.incrementAndGet(); -@@ -5209,6 +5226,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -5239,6 +5256,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess if (this.removalReason != Entity.RemovalReason.UNLOADED_TO_CHUNK) { this.getPassengers().forEach(Entity::stopRiding); } // Paper - rewrite chunk system this.levelCallback.onRemove(entity_removalreason); this.onRemoval(entity_removalreason); diff --git a/patches/server/0020-Optimise-cannon-entity-movement.patch b/patches/server/0020-Optimise-cannon-entity-movement.patch index 4b73594..d3404ee 100644 --- a/patches/server/0020-Optimise-cannon-entity-movement.patch +++ b/patches/server/0020-Optimise-cannon-entity-movement.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Optimise cannon entity movement diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index c8b33f6d5b820da4b9e16b7d251ca4aad1875aa8..fcb0df76474b641ea86eeb87755faead66397d26 100644 +index e369034397cabd79b67714402cf6431b94594285..b3eea40ba5315e1dd4ea7b2a5a61c53b63e909dc 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1249,6 +1249,75 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1250,6 +1250,75 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return this.moveStartZ; } // Paper end - detailed watchdog information @@ -84,7 +84,7 @@ index c8b33f6d5b820da4b9e16b7d251ca4aad1875aa8..fcb0df76474b641ea86eeb87755faead public void move(MoverType type, Vec3 movement) { final Vec3 originalMovement = movement; // Paper - Expose pre-collision velocity -@@ -1610,6 +1679,107 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1611,6 +1680,107 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return offsetFactor; } diff --git a/patches/server/0021-Entity-pushed-by-fluid-API.patch b/patches/server/0021-Entity-pushed-by-fluid-API.patch index e0cf9e5..9f58d14 100644 --- a/patches/server/0021-Entity-pushed-by-fluid-API.patch +++ b/patches/server/0021-Entity-pushed-by-fluid-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Entity pushed by fluid API diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index fcb0df76474b641ea86eeb87755faead66397d26..1fa30edd2609523ede356d0ce30aa4f7b74968cc 100644 +index b3eea40ba5315e1dd4ea7b2a5a61c53b63e909dc..de6a81d222cd5fef81be87c188b5a726710202f7 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -664,6 +664,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -665,6 +665,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } } // Sakura end - merge cannon entities @@ -16,7 +16,7 @@ index fcb0df76474b641ea86eeb87755faead66397d26..1fa30edd2609523ede356d0ce30aa4f7 public Entity(EntityType type, Level world) { this.id = Entity.ENTITY_COUNTER.incrementAndGet(); -@@ -4481,7 +4482,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4482,7 +4483,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } public boolean isPushedByFluid() { diff --git a/patches/server/0024-Optimise-TNT-fluid-state.patch b/patches/server/0024-Optimise-TNT-fluid-state.patch index f312efc..bf7917e 100644 --- a/patches/server/0024-Optimise-TNT-fluid-state.patch +++ b/patches/server/0024-Optimise-TNT-fluid-state.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Optimise TNT fluid state diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 1fa30edd2609523ede356d0ce30aa4f7b74968cc..4fe857bf47bc471eaf5c5bf40f59e117c4574798 100644 +index de6a81d222cd5fef81be87c188b5a726710202f7..b6fe11f2e0cd92bc903445edd7f997baec4c3e75 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2268,7 +2268,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2269,7 +2269,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return this.isInWater() || flag; } diff --git a/patches/server/0026-Optimise-LivingEntity-pushEntities.patch b/patches/server/0026-Optimise-LivingEntity-pushEntities.patch index 4424947..11cb4b9 100644 --- a/patches/server/0026-Optimise-LivingEntity-pushEntities.patch +++ b/patches/server/0026-Optimise-LivingEntity-pushEntities.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Optimise LivingEntity#pushEntities diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index e3b81e5b2591fde8e15dfd0bee393000dd633096..a2724a075fc2f8c8127ed87cfa35d7ae72c347e8 100644 +index e86314de8d908a0c3e9f17d3e163c11180cf3f59..799250a0b2056743fde37d28a032f15ad1850d49 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3766,7 +3766,12 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3767,7 +3767,12 @@ public abstract class LivingEntity extends Entity implements Attackable { return; } // Paper end - don't run getEntities if we're not going to use its result diff --git a/patches/server/0036-Option-to-configure-entity-water-sensitivity.patch b/patches/server/0036-Option-to-configure-entity-water-sensitivity.patch index 82773c8..c1b99b4 100644 --- a/patches/server/0036-Option-to-configure-entity-water-sensitivity.patch +++ b/patches/server/0036-Option-to-configure-entity-water-sensitivity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Option to configure entity water sensitivity diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 9c21000c7e5202504ca08e5d87bb32bc674aa76c..d302b53d1d6052b4982fedb496b4d100f75bbe33 100644 +index e75af7a79406092d8c04e8bc49d97b877208b974..e76e1a45f522a212c7ffcac9ff21451e679f7d0b 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3696,7 +3696,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3697,7 +3697,7 @@ public abstract class LivingEntity extends Entity implements Attackable { // Paper end - Add EntityMoveEvent world = this.level(); if (world instanceof ServerLevel worldserver) { diff --git a/patches/server/0037-Configure-cannon-physics-by-version.patch b/patches/server/0037-Configure-cannon-physics-by-version.patch index d1e5fc3..162adfd 100644 --- a/patches/server/0037-Configure-cannon-physics-by-version.patch +++ b/patches/server/0037-Configure-cannon-physics-by-version.patch @@ -106,10 +106,10 @@ index ebe5f0c8c2f09920b5f5ef734e63f5e7cd8bd3a1..320cdb1f4e655a2d093890e88476df90 protected int getExplosionCount() { if (this.cause.getMergeEntityData().getMergeLevel() == MergeLevel.NONE) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 4fe857bf47bc471eaf5c5bf40f59e117c4574798..671bd5aa322a1516776163827c0fc4c85c84615e 100644 +index b6fe11f2e0cd92bc903445edd7f997baec4c3e75..fce41d825a35700deaa0475aef85fa6e6b431790 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -384,7 +384,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -385,7 +385,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess private final double[] pistonDeltas; private long pistonDeltasGameTime; private EntityDimensions dimensions; @@ -118,7 +118,7 @@ index 4fe857bf47bc471eaf5c5bf40f59e117c4574798..671bd5aa322a1516776163827c0fc4c8 public boolean isInPowderSnow; public boolean wasInPowderSnow; public Optional mainSupportingBlockPos; -@@ -665,6 +665,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -666,6 +666,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } // Sakura end - merge cannon entities public boolean pushedByFluid = true; // Sakura - entity pushed by fluid api @@ -132,7 +132,7 @@ index 4fe857bf47bc471eaf5c5bf40f59e117c4574798..671bd5aa322a1516776163827c0fc4c8 public Entity(EntityType type, Level world) { this.id = Entity.ENTITY_COUNTER.incrementAndGet(); -@@ -1196,7 +1203,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1197,7 +1204,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } protected void checkSupportingBlock(boolean onGround, @Nullable Vec3 movement) { @@ -141,7 +141,7 @@ index 4fe857bf47bc471eaf5c5bf40f59e117c4574798..671bd5aa322a1516776163827c0fc4c8 AABB axisalignedbb = this.getBoundingBox(); AABB axisalignedbb1 = new AABB(axisalignedbb.minX, axisalignedbb.minY - 1.0E-6D, axisalignedbb.minZ, axisalignedbb.maxX, axisalignedbb.minY, axisalignedbb.maxZ); Optional optional = this.level.findSupportingBlock(this, axisalignedbb1); -@@ -1256,7 +1263,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1257,7 +1264,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess if (this.noPhysics) { this.setPos(this.getX() + movement.x, this.getY() + movement.y, this.getZ() + movement.z); } else { @@ -150,7 +150,7 @@ index 4fe857bf47bc471eaf5c5bf40f59e117c4574798..671bd5aa322a1516776163827c0fc4c8 movement = this.limitPistonMovement(movement); if (movement.equals(Vec3.ZERO)) { return; -@@ -1274,8 +1281,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1275,8 +1282,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess Vec3 vec3d1 = this.sakura_collide(movement); double d0 = vec3d1.lengthSqr(); @@ -161,7 +161,7 @@ index 4fe857bf47bc471eaf5c5bf40f59e117c4574798..671bd5aa322a1516776163827c0fc4c8 BlockHitResult clipResult = this.level().clip(new ClipContext(this.position(), this.position().add(vec3d1), ClipContext.Block.FALLDAMAGE_RESETTING, ClipContext.Fluid.WATER, this)); if (clipResult.getType() != HitResult.Type.MISS) { this.resetFallDistance(); -@@ -1304,6 +1311,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1305,6 +1312,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } else { if (this.horizontalCollision) { Vec3 vec3d2 = this.getDeltaMovement(); @@ -173,7 +173,7 @@ index 4fe857bf47bc471eaf5c5bf40f59e117c4574798..671bd5aa322a1516776163827c0fc4c8 this.setDeltaMovement(movedX ? 0.0D : vec3d2.x, vec3d2.y, movedZ ? 0.0D : vec3d2.z); } -@@ -1709,7 +1721,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1710,7 +1722,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess bb = currBoundingBox.expandTowards(movement.x, movement.y, movement.z); } this.collectCollisions(bb, voxelList, bbList); @@ -182,7 +182,7 @@ index 4fe857bf47bc471eaf5c5bf40f59e117c4574798..671bd5aa322a1516776163827c0fc4c8 } private Vec3 collideAxisScan(Vec3 movement, AABB currBoundingBox, List voxelList, List bbList) { -@@ -1717,7 +1729,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1718,7 +1730,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess double y = movement.y; double z = movement.z; @@ -194,7 +194,7 @@ index 4fe857bf47bc471eaf5c5bf40f59e117c4574798..671bd5aa322a1516776163827c0fc4c8 if (y != 0.0) { y = this.scanY(currBoundingBox, y, voxelList, bbList); -@@ -1815,7 +1830,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1816,7 +1831,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess ca.spottedleaf.moonrise.patches.collisions.CollisionUtil.COLLISION_FLAG_CHECK_BORDER | this.getExtraCollisionFlags(), null // Sakura - load chunks on movement ); potentialCollisionsBB.addAll(entityAABBs); @@ -203,7 +203,7 @@ index 4fe857bf47bc471eaf5c5bf40f59e117c4574798..671bd5aa322a1516776163827c0fc4c8 final boolean collidedX = collided.x != movement.x; final boolean collidedY = collided.y != movement.y; -@@ -1982,7 +1997,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1983,7 +1998,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess private void checkInsideBlocks(List queuedCollisionChecks, Set collidedBlocks) { if (this.isAffectedByBlocks()) { @@ -215,7 +215,7 @@ index 4fe857bf47bc471eaf5c5bf40f59e117c4574798..671bd5aa322a1516776163827c0fc4c8 LongSet longset = this.visitedBlocks; Iterator iterator = queuedCollisionChecks.iterator(); -@@ -1990,7 +2008,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1991,7 +2009,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess Entity.Movement entity_b = (Entity.Movement) iterator.next(); Vec3 vec3d = entity_b.from(); Vec3 vec3d1 = entity_b.to(); @@ -890,7 +890,7 @@ index a2d023ff011f71f80032f02430a53d6a08a23623..9e0f4517069ee3fd16a60ccc214da68d if (org.bukkit.craftbukkit.event.CraftEventFactory.handleBlockFormEvent(world, pos, block.defaultBlockState())) { this.fizz(world, pos); diff --git a/src/main/java/net/minecraft/world/level/block/RedStoneWireBlock.java b/src/main/java/net/minecraft/world/level/block/RedStoneWireBlock.java -index 2a3be00d41eda68f7d5383b240759561c4663f8d..0e579f0f32c908c8f2c799cb59cb4474ca002eb3 100644 +index 6561e24087dc2b9975f2ee7a3737d453354e4fcc..c949d46dc74aa934a47c75962bbdf112b936d0f7 100644 --- a/src/main/java/net/minecraft/world/level/block/RedStoneWireBlock.java +++ b/src/main/java/net/minecraft/world/level/block/RedStoneWireBlock.java @@ -500,6 +500,10 @@ public class RedStoneWireBlock extends Block { diff --git a/patches/server/0043-Treat-solid-blocks-as-full-when-moving-fast.patch b/patches/server/0043-Treat-solid-blocks-as-full-when-moving-fast.patch index b254020..bf0eb59 100644 --- a/patches/server/0043-Treat-solid-blocks-as-full-when-moving-fast.patch +++ b/patches/server/0043-Treat-solid-blocks-as-full-when-moving-fast.patch @@ -48,10 +48,10 @@ index 613d2d90571546a482ba493fae5cbc7c69dd8f08..72b135bbd5eed8e3f94f815a7b7ee827 blockCollision = blockData.getCollisionShape(world, mutablePos, collisionShape); } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 671bd5aa322a1516776163827c0fc4c85c84615e..80451700fac1da06401097c80d416100dd331c31 100644 +index fce41d825a35700deaa0475aef85fa6e6b431790..2c84608aba2bfb610a7f2898e45f9a047691b3f4 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -625,6 +625,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -626,6 +626,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess flags |= ca.spottedleaf.moonrise.patches.collisions.CollisionUtil.COLLISION_FLAG_ADD_TICKET; } diff --git a/patches/server/0056-Add-entity-travel-distance-limits.patch b/patches/server/0056-Add-entity-travel-distance-limits.patch index a9ffa10..5121d3d 100644 --- a/patches/server/0056-Add-entity-travel-distance-limits.patch +++ b/patches/server/0056-Add-entity-travel-distance-limits.patch @@ -21,10 +21,10 @@ index a9315006379f7ab5b40cb6aba7ed82727afe3a5a..292ec3f8332631c6614e5ed25eeb82f9 } else { entity.inactiveTick(); } // Paper - EAR 2 gameprofilerfiller.pop(); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 80451700fac1da06401097c80d416100dd331c31..17255cc9739392d23b5b55f2be5660fc56d538d5 100644 +index 2c84608aba2bfb610a7f2898e45f9a047691b3f4..0868f3d8d93e4c360a0a53df741950789f3c6a1c 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -680,6 +680,19 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -681,6 +681,19 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return this.physics; } // Sakura end - physics version api @@ -44,7 +44,7 @@ index 80451700fac1da06401097c80d416100dd331c31..17255cc9739392d23b5b55f2be5660fc public Entity(EntityType type, Level world) { this.id = Entity.ENTITY_COUNTER.incrementAndGet(); -@@ -732,6 +745,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -733,6 +746,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess this.entityData = datawatcher_a.build(); this.setPos(0.0D, 0.0D, 0.0D); this.eyeHeight = this.dimensions.eyeHeight(); diff --git a/patches/server/0063-Legacy-player-combat-mechanics.patch b/patches/server/0063-Legacy-player-combat-mechanics.patch index b09b25f..8603803 100644 --- a/patches/server/0063-Legacy-player-combat-mechanics.patch +++ b/patches/server/0063-Legacy-player-combat-mechanics.patch @@ -145,7 +145,7 @@ index 0000000000000000000000000000000000000000..b4ab8f172d713204bb9c1ebf575dcc28 + private LegacyDamageMapping() {} +} diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index c477eb3ea41e7d7caa04179248f116f617317cbd..3534821c8b600b9b3d3655c071fc59a3e3b4c23e 100644 +index 57d5a4a1c819f2e06df8cb958783f99990a27557..bf323c5941d348c0c72bdda2a04a20a6653ad70a 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -310,6 +310,43 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -209,7 +209,7 @@ index c477eb3ea41e7d7caa04179248f116f617317cbd..3534821c8b600b9b3d3655c071fc59a3 } return amount; -@@ -3458,6 +3504,11 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3459,6 +3505,11 @@ public abstract class LivingEntity extends Entity implements Attackable { EnchantmentHelper.runLocationChangedEffects(worldserver, itemstack, this, enumitemslot1); } diff --git a/patches/server/0073-Configurable-left-shooting-and-adjusting-limits.patch b/patches/server/0073-Configurable-left-shooting-and-adjusting-limits.patch index c1d51be..0e8a479 100644 --- a/patches/server/0073-Configurable-left-shooting-and-adjusting-limits.patch +++ b/patches/server/0073-Configurable-left-shooting-and-adjusting-limits.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable left shooting and adjusting limits diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 17255cc9739392d23b5b55f2be5660fc56d538d5..080b3dbeeee46eb4cbfa4af8b9c6bc1f85a22dda 100644 +index 0868f3d8d93e4c360a0a53df741950789f3c6a1c..1dbad44adfb735d8ff4aa55f0b45353404386fef 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -693,6 +693,46 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -694,6 +694,46 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return Math.max(x, z) >= this.travelDistanceLimit; } // Sakura end - entity travel distance limits @@ -55,7 +55,7 @@ index 17255cc9739392d23b5b55f2be5660fc56d538d5..080b3dbeeee46eb4cbfa4af8b9c6bc1f public Entity(EntityType type, Level world) { this.id = Entity.ENTITY_COUNTER.incrementAndGet(); -@@ -1764,6 +1804,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1765,6 +1805,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } if (xSmaller && z != 0.0) { @@ -63,7 +63,7 @@ index 17255cc9739392d23b5b55f2be5660fc56d538d5..080b3dbeeee46eb4cbfa4af8b9c6bc1f z = this.scanZ(currBoundingBox, z, voxelList, bbList); if (z != 0.0) { currBoundingBox = ca.spottedleaf.moonrise.patches.collisions.CollisionUtil.offsetZ(currBoundingBox, z); -@@ -1771,6 +1812,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1772,6 +1813,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } if (x != 0.0) { diff --git a/patches/server/0076-Add-max-armour-durability-damage.patch b/patches/server/0076-Add-max-armour-durability-damage.patch index c3979b3..4c65e63 100644 --- a/patches/server/0076-Add-max-armour-durability-damage.patch +++ b/patches/server/0076-Add-max-armour-durability-damage.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add max armour durability damage diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 88dc63e5c739eb39822999d226856205a3c6099b..26f3a8a0e0ab07908f1130b404d792e5e0d21aae 100644 +index d40dbe4bd5c4983337453d753f20a8b555236f16..a7709e4fc5ade9882d115fdbcf37146574fffcbd 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -2512,6 +2512,12 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2513,6 +2513,12 @@ public abstract class LivingEntity extends Entity implements Attackable { // Apply damage to armor if (!damagesource.is(DamageTypeTags.BYPASSES_ARMOR)) { float armorDamage = (float) (event.getDamage() + event.getDamage(DamageModifier.BLOCKING) + event.getDamage(DamageModifier.HARD_HAT)); diff --git a/patches/server/0078-Optimise-check-inside-blocks-and-traverse-blocks.patch b/patches/server/0078-Optimise-check-inside-blocks-and-traverse-blocks.patch index 5db85e1..399a288 100644 --- a/patches/server/0078-Optimise-check-inside-blocks-and-traverse-blocks.patch +++ b/patches/server/0078-Optimise-check-inside-blocks-and-traverse-blocks.patch @@ -71,10 +71,10 @@ index 0000000000000000000000000000000000000000..05e532f0aa3b1a5ab6570432662a8142 + } +} diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 96daf7f366e63c17f37df33e613b233bf2052a80..e6bdc9352aa0267bba8507e321af79cff65f925c 100644 +index 1dbad44adfb735d8ff4aa55f0b45353404386fef..985abd0ad81045a07c9a6a50578412d607808e80 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2085,6 +2085,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2086,6 +2086,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } final Iterator iterator1 = positions.iterator(); // Sakura end - physics version api @@ -86,7 +86,7 @@ index 96daf7f366e63c17f37df33e613b233bf2052a80..e6bdc9352aa0267bba8507e321af79cf while (iterator1.hasNext()) { BlockPos blockposition = (BlockPos) iterator1.next(); -@@ -2093,7 +2098,19 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2094,7 +2099,19 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return; }