From 240a18f31997d69aa5a4b341d8cd4ce4dc36329e Mon Sep 17 00:00:00 2001 From: Samsuik Date: Mon, 3 Feb 2025 08:52:46 +0000 Subject: [PATCH] Updated Upstream (Paper) Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@3af5e77 Add Player#give (#11995) PaperMC/Paper@7e21cb8 fix PlayerChangedMainHandEvent javadoc (#12020) PaperMC/Paper@5a34bf0 Correctly retrun true for empty input shapes in EntityGetter#isUnobstructed PaperMC/Paper@a392d47 Make Watchdog thread extend TickThread PaperMC/Paper@1004374 Add further information to thread check errors PaperMC/Paper@e2f0efd Remove nms.Entity#isChunkLoaded PaperMC/Paper@54b2e9d Add buffer to CraftWorld#warnUnsafeChunk PaperMC/Paper@d4a9578 Experimental annotation changes (#12028) PaperMC/Paper@5bcfb12 Fix activation range config and water animal status (#12047) PaperMC/Paper@e0711af Deprecate UnsafeValues#getSpawnEggLayerColor (#12041) PaperMC/Paper@8927091 Do not record movement for vehicles/players unaffected by blocks PaperMC/Paper@5395ae3 Fix composter block setting bukkit owner twice (#12058) --- gradle.properties | 2 +- .../0001-Client-Visibility-Settings.patch | 10 ++++----- .../0002-Load-Chunks-on-Movement.patch | 12 +++++----- ...ice-Packet-obfuscation-and-reduction.patch | 4 ++-- .../0005-Store-Entity-Data-State.patch | 6 ++--- .../features/0006-Merge-Cannon-Entities.patch | 8 +++---- ...0010-Optimise-cannon-entity-movement.patch | 8 +++---- .../0015-Configure-cannon-physics.patch | 22 +++++++++---------- .../0017-Collide-with-non-solid-blocks.patch | 4 ++-- ...20-Add-entity-travel-distance-limits.patch | 6 ++--- ...e-left-shooting-and-adjusting-limits.patch | 8 +++---- ...ck-inside-blocks-and-traverse-blocks.patch | 6 ++--- .../minecraft/world/entity/Entity.java.patch | 4 ++-- .../0001-Client-Visibility-Settings.patch | 8 +++---- .../craftbukkit/entity/CraftPlayer.java.patch | 2 +- 15 files changed, 55 insertions(+), 55 deletions(-) diff --git a/gradle.properties b/gradle.properties index 7b0f9e4..287cde8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group=me.samsuik.sakura version=1.21.4-R0.1-SNAPSHOT mcVersion=1.21.4 -paperRef=fb5b173c6a742c584413c8fc8b7c871d79234756 +paperRef=5395ae37bd372235390d28292ed582d0c4fc23dd org.gradle.jvmargs=-Xmx2G org.gradle.vfs.watch=false diff --git a/sakura-server/minecraft-patches/features/0001-Client-Visibility-Settings.patch b/sakura-server/minecraft-patches/features/0001-Client-Visibility-Settings.patch index cedec78..3d20d20 100644 --- a/sakura-server/minecraft-patches/features/0001-Client-Visibility-Settings.patch +++ b/sakura-server/minecraft-patches/features/0001-Client-Visibility-Settings.patch @@ -136,7 +136,7 @@ index b49a0c3eb4236c71e390f42278412dce59e98cbd..30454e69d603c3de3e2ecb5498d79c25 } diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java -index 4535ea5fe788fc5c473d8289c031f2c9e56cfce6..92ee40a77f1b13c2c720cd41747206f82a735f9e 100644 +index 4bf7e288b9e9643ac161fcf017d0194419290a54..8a27d202854e083d9c29abcd8486fc760a7bddd8 100644 --- a/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java @@ -424,6 +424,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc @@ -199,7 +199,7 @@ index e71c1a564e5d4ac43460f89879ff709ee685706f..7d2fe5df38db1d492ae65aa729592002 } } diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 5738709f5fa6fee2ed88ba41a7718c976b780e96..b8953cdfe5de16f7e5aab1fc2b06cb53693386e1 100644 +index 882dbb1276c548316938bbc50f5f7e01f8547ff8..b2079b8c8ba713f48c89ccd7c871af1ff4beb21e 100644 --- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -3192,6 +3192,7 @@ public class ServerGamePacketListenerImpl @@ -211,10 +211,10 @@ index 5738709f5fa6fee2ed88ba41a7718c976b780e96..b8953cdfe5de16f7e5aab1fc2b06cb53 if (this.player.containerMenu != oldContainer) { return; diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index 54a3ac38b70a9733173fb2ce4a7f86b534de1136..c4ace72f2eaf6a15c98490d18d3478b9ad5ed1a6 100644 +index a652ed38dd54c43547e272204154e791fb666f48..d0107d42212ddff92b5637205417e98ac76dfd69 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java -@@ -526,6 +526,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -522,6 +522,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } // Paper end - optimise entity tracker public boolean pushedByFluid = true; // Sakura - entity pushed by fluid api @@ -226,7 +226,7 @@ index 54a3ac38b70a9733173fb2ce4a7f86b534de1136..c4ace72f2eaf6a15c98490d18d3478b9 public Entity(EntityType entityType, Level level) { this.type = entityType; diff --git a/net/minecraft/world/entity/item/FallingBlockEntity.java b/net/minecraft/world/entity/item/FallingBlockEntity.java -index 6ccc7810c81e5acb81b0cc21aeeeb464214a7b1c..a36c1c93012ce825b3dfdcf88e4da86c149bfa65 100644 +index e80b09ae0b34b5859cff7db350a731a387706ef1..bf5f3db9d62c063e8b880b831edb2f3a43d7005a 100644 --- a/net/minecraft/world/entity/item/FallingBlockEntity.java +++ b/net/minecraft/world/entity/item/FallingBlockEntity.java @@ -73,6 +73,7 @@ public class FallingBlockEntity extends Entity { diff --git a/sakura-server/minecraft-patches/features/0002-Load-Chunks-on-Movement.patch b/sakura-server/minecraft-patches/features/0002-Load-Chunks-on-Movement.patch index e9efdd9..89d2c44 100644 --- a/sakura-server/minecraft-patches/features/0002-Load-Chunks-on-Movement.patch +++ b/sakura-server/minecraft-patches/features/0002-Load-Chunks-on-Movement.patch @@ -51,10 +51,10 @@ index 8f12a4df5d63ecd11e6e615d910b6e3f6dde5f3c..56beffa0c5cdb0d6a4836a0ee496bd63 public static TicketType create(String name, Comparator comparator) { return new TicketType<>(name, comparator, 0L); diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index c4ace72f2eaf6a15c98490d18d3478b9ad5ed1a6..00b3e16d5465547e7d4f8126664fb7eda3b3c568 100644 +index d0107d42212ddff92b5637205417e98ac76dfd69..2208f8c2176451eb65eeba05d47703f58e5d3e29 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java -@@ -530,6 +530,20 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -526,6 +526,20 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess public boolean isPrimedTNT; public boolean isFallingBlock; // Sakura end - client visibility settings @@ -75,7 +75,7 @@ index c4ace72f2eaf6a15c98490d18d3478b9ad5ed1a6..00b3e16d5465547e7d4f8126664fb7ed public Entity(EntityType entityType, Level level) { this.type = entityType; -@@ -1469,7 +1483,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1465,7 +1479,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 c4ace72f2eaf6a15c98490d18d3478b9ad5ed1a6..00b3e16d5465547e7d4f8126664fb7ed ); potentialCollisionsBB.addAll(entityAABBs); final Vec3 collided = ca.spottedleaf.moonrise.patches.collisions.CollisionUtil.performCollisions(movement, currentBox, potentialCollisionsVoxel, potentialCollisionsBB); -@@ -4961,13 +4975,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4957,13 +4971,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @Override public boolean shouldBeSaved() { return (this.removalReason == null || this.removalReason.shouldSave()) @@ -101,7 +101,7 @@ index c4ace72f2eaf6a15c98490d18d3478b9ad5ed1a6..00b3e16d5465547e7d4f8126664fb7ed public boolean mayInteract(ServerLevel level, BlockPos pos) { diff --git a/net/minecraft/world/entity/item/FallingBlockEntity.java b/net/minecraft/world/entity/item/FallingBlockEntity.java -index 5462a423be1317a306ca12ed10edcab636cd0c7f..ee5ec7a780488182e30134b29a20cc192609d64b 100644 +index bf5f3db9d62c063e8b880b831edb2f3a43d7005a..fcb7b396db2605146be99f2b14da6806cdaa0f44 100644 --- a/net/minecraft/world/entity/item/FallingBlockEntity.java +++ b/net/minecraft/world/entity/item/FallingBlockEntity.java @@ -74,6 +74,7 @@ public class FallingBlockEntity extends Entity { @@ -113,7 +113,7 @@ index 5462a423be1317a306ca12ed10edcab636cd0c7f..ee5ec7a780488182e30134b29a20cc19 public FallingBlockEntity(Level level, double x, double y, double z, BlockState state) { diff --git a/net/minecraft/world/entity/item/PrimedTnt.java b/net/minecraft/world/entity/item/PrimedTnt.java -index 8118911019f7fc81218a656e1ecbd7eada505741..e7b4efe35c20e11f130b5bce5c8c20390c65e0a4 100644 +index c5b9ebbd159284ae2650b0698e06011104d4b70f..3c74cb8d4b71fcfa600742c21d6ad8e3942a2ab7 100644 --- a/net/minecraft/world/entity/item/PrimedTnt.java +++ b/net/minecraft/world/entity/item/PrimedTnt.java @@ -62,6 +62,7 @@ public class PrimedTnt extends Entity implements TraceableEntity { diff --git a/sakura-server/minecraft-patches/features/0003-Slice-Packet-obfuscation-and-reduction.patch b/sakura-server/minecraft-patches/features/0003-Slice-Packet-obfuscation-and-reduction.patch index 959fb10..68028df 100644 --- a/sakura-server/minecraft-patches/features/0003-Slice-Packet-obfuscation-and-reduction.patch +++ b/sakura-server/minecraft-patches/features/0003-Slice-Packet-obfuscation-and-reduction.patch @@ -153,10 +153,10 @@ index 0fb253aa55a24b56b17f524b3261c5b75c7d7e59..8abe899d19434ad4c7cc6c1596bab16d if (this.entity instanceof LivingEntity) { diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index 00b3e16d5465547e7d4f8126664fb7eda3b3c568..7bbc4a982f442fdb9821221442737ae65e55289e 100644 +index 2208f8c2176451eb65eeba05d47703f58e5d3e29..5e48d84c5ab335975f6533472aec1e1789375bbf 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java -@@ -3495,7 +3495,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -3491,7 +3491,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess this.entityData.markDirty(Entity.DATA_AIR_SUPPLY_ID); return; } diff --git a/sakura-server/minecraft-patches/features/0005-Store-Entity-Data-State.patch b/sakura-server/minecraft-patches/features/0005-Store-Entity-Data-State.patch index 14ed289..deec8f4 100644 --- a/sakura-server/minecraft-patches/features/0005-Store-Entity-Data-State.patch +++ b/sakura-server/minecraft-patches/features/0005-Store-Entity-Data-State.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Store Entity Data/State diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index 7bbc4a982f442fdb9821221442737ae65e55289e..3671003b9fdf787fc5095d12df9ee2f15bd998f1 100644 +index 5e48d84c5ab335975f6533472aec1e1789375bbf..30e6492e60fc7b5767d09574304ad3a3977e862a 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java -@@ -544,6 +544,25 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -540,6 +540,25 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return flags; } // Sakura end - load chunks on movement @@ -35,7 +35,7 @@ index 7bbc4a982f442fdb9821221442737ae65e55289e..3671003b9fdf787fc5095d12df9ee2f1 public Entity(EntityType entityType, Level level) { this.type = entityType; diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java -index 3ba2228fd83bcd9af5f46d71409abe9fd2328f7e..e4584cd58d84f2b64748dfec7a1aa69fca119021 100644 +index 38fc85d18f737736dcdf5142c8357f9af43e4d19..0e790ff68d87ecc6977da77a6a148270014f4766 100644 --- a/net/minecraft/world/level/Level.java +++ b/net/minecraft/world/level/Level.java @@ -1510,6 +1510,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl diff --git a/sakura-server/minecraft-patches/features/0006-Merge-Cannon-Entities.patch b/sakura-server/minecraft-patches/features/0006-Merge-Cannon-Entities.patch index 6f5da54..8c85c6c 100644 --- a/sakura-server/minecraft-patches/features/0006-Merge-Cannon-Entities.patch +++ b/sakura-server/minecraft-patches/features/0006-Merge-Cannon-Entities.patch @@ -45,10 +45,10 @@ index 30454e69d603c3de3e2ecb5498d79c25bcc15a07..83bd1ddec7edb09e9a28eead178d7d07 this.guardEntityTick(this::tickNonPassenger, entity); profilerFiller.pop(); diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index 3671003b9fdf787fc5095d12df9ee2f15bd998f1..2a617bd6d5d14cd69b149d6c5f82f8b2c3bc2d5d 100644 +index 30e6492e60fc7b5767d09574304ad3a3977e862a..1fbbade760d5ddbb0fc2f764d382d37d01f9ea33 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java -@@ -563,6 +563,23 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -559,6 +559,23 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return to.entityState() != null && to.entityState().comparePositionAndMotion(this); } // Sakura end - store entity data/state @@ -72,7 +72,7 @@ index 3671003b9fdf787fc5095d12df9ee2f15bd998f1..2a617bd6d5d14cd69b149d6c5f82f8b2 public Entity(EntityType entityType, Level level) { this.type = entityType; -@@ -4964,6 +4981,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4960,6 +4977,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(removalReason); this.onRemoval(removalReason); @@ -279,7 +279,7 @@ index b6467f9ff64a76104076a01bfd56852ce712d95b..e6aa1d1a5fc5cd2ffc156125c4eef2d0 @Nullable diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java -index e4584cd58d84f2b64748dfec7a1aa69fca119021..a4d7c95514c3db5799efe178efee796413d1bac8 100644 +index 0e790ff68d87ecc6977da77a6a148270014f4766..2aed31848b1d4bad27e7c7cc621497182466c2bb 100644 --- a/net/minecraft/world/level/Level.java +++ b/net/minecraft/world/level/Level.java @@ -837,6 +837,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl diff --git a/sakura-server/minecraft-patches/features/0010-Optimise-cannon-entity-movement.patch b/sakura-server/minecraft-patches/features/0010-Optimise-cannon-entity-movement.patch index 29fcaad..c4ca8c1 100644 --- a/sakura-server/minecraft-patches/features/0010-Optimise-cannon-entity-movement.patch +++ b/sakura-server/minecraft-patches/features/0010-Optimise-cannon-entity-movement.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Optimise cannon entity movement diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index 2a617bd6d5d14cd69b149d6c5f82f8b2c3bc2d5d..d2f9708b9166a46adb5009bd6d927cd03f3f9820 100644 +index 1fbbade760d5ddbb0fc2f764d382d37d01f9ea33..b2ba5578c76c72df077b46f330f59c1ab52ce561 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java -@@ -1186,7 +1186,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1182,7 +1182,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess Vec3 vec3 = this.collide(movement); double d = vec3.lengthSqr(); if (d > 1.0E-7 || movement.lengthSqr() - d < 1.0E-7) { @@ -17,7 +17,7 @@ index 2a617bd6d5d14cd69b149d6c5f82f8b2c3bc2d5d..d2f9708b9166a46adb5009bd6d927cd0 BlockHitResult blockHitResult = this.level() .clip( new ClipContext(this.position(), this.position().add(vec3), ClipContext.Block.FALLDAMAGE_RESETTING, ClipContext.Fluid.WATER, this) -@@ -1488,6 +1488,131 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1484,6 +1484,131 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return distance; } @@ -150,7 +150,7 @@ index 2a617bd6d5d14cd69b149d6c5f82f8b2c3bc2d5d..d2f9708b9166a46adb5009bd6d927cd0 protected Vec3 collide(Vec3 movement) { final boolean xZero = movement.x == 0.0; diff --git a/net/minecraft/world/entity/item/FallingBlockEntity.java b/net/minecraft/world/entity/item/FallingBlockEntity.java -index 58baa1a72ccdc6557257aa2c9f652200cb9c4c70..af42bea9fb18bb0f6e576d4344cdee2cd0e9a4ef 100644 +index aa81292b862e22e276cabc9d7611362cbd91602d..bf6473756594f3296160d3b8c28a24ef0e458328 100644 --- a/net/minecraft/world/entity/item/FallingBlockEntity.java +++ b/net/minecraft/world/entity/item/FallingBlockEntity.java @@ -119,6 +119,12 @@ public class FallingBlockEntity extends Entity implements me.samsuik.sakura.enti diff --git a/sakura-server/minecraft-patches/features/0015-Configure-cannon-physics.patch b/sakura-server/minecraft-patches/features/0015-Configure-cannon-physics.patch index b8c3828..581a2b6 100644 --- a/sakura-server/minecraft-patches/features/0015-Configure-cannon-physics.patch +++ b/sakura-server/minecraft-patches/features/0015-Configure-cannon-physics.patch @@ -67,10 +67,10 @@ index 651a45b795818bd7b1364b95c52570fd99dd35e4..47c8ed946cb2ad81a4469daf60dabc40 if (xSmaller && z != 0.0) { z = performAABBCollisionsZ(axisalignedbb, z, aabbs); diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index d2f9708b9166a46adb5009bd6d927cd03f3f9820..a026047ed2ab4b9ab047c7d855914296a2c26c92 100644 +index b2ba5578c76c72df077b46f330f59c1ab52ce561..c5b840f990f9f357d4b63f7e450e91c431fd2d03 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java -@@ -580,6 +580,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -576,6 +576,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } } // Sakura end - merge cannon entities @@ -84,7 +84,7 @@ index d2f9708b9166a46adb5009bd6d927cd03f3f9820..a026047ed2ab4b9ab047c7d855914296 public Entity(EntityType entityType, Level level) { this.type = entityType; -@@ -1092,7 +1099,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1088,7 +1095,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } protected void checkSupportingBlock(boolean onGround, @Nullable Vec3 movement) { @@ -93,7 +93,7 @@ index d2f9708b9166a46adb5009bd6d927cd03f3f9820..a026047ed2ab4b9ab047c7d855914296 AABB boundingBox = this.getBoundingBox(); AABB aabb = new AABB(boundingBox.minX, boundingBox.minY - 1.0E-6, boundingBox.minZ, boundingBox.maxX, boundingBox.minY, boundingBox.maxZ); Optional optional = this.level.findSupportingBlock(this, aabb); -@@ -1158,7 +1165,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1154,7 +1161,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess this.setPos(this.getX() + movement.x, this.getY() + movement.y, this.getZ() + movement.z); } else { this.wasOnFire = this.isOnFire(); @@ -105,7 +105,7 @@ index d2f9708b9166a46adb5009bd6d927cd03f3f9820..a026047ed2ab4b9ab047c7d855914296 this.activatedTick = Math.max(this.activatedTick, MinecraftServer.currentTick + 20); // Paper - EAR 2 this.activatedImmunityTick = Math.max(this.activatedImmunityTick, MinecraftServer.currentTick + 20); // Paper - EAR 2 movement = this.limitPistonMovement(movement); -@@ -1185,8 +1195,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1181,8 +1191,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess movement = this.maybeBackOffFromEdge(movement, type); Vec3 vec3 = this.collide(movement); double d = vec3.lengthSqr(); @@ -119,7 +119,7 @@ index d2f9708b9166a46adb5009bd6d927cd03f3f9820..a026047ed2ab4b9ab047c7d855914296 BlockHitResult blockHitResult = this.level() .clip( new ClipContext(this.position(), this.position().add(vec3), ClipContext.Block.FALLDAMAGE_RESETTING, ClipContext.Fluid.WATER, this) -@@ -1227,6 +1240,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1223,6 +1236,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } else { if (this.horizontalCollision) { Vec3 deltaMovement = this.getDeltaMovement(); @@ -132,7 +132,7 @@ index d2f9708b9166a46adb5009bd6d927cd03f3f9820..a026047ed2ab4b9ab047c7d855914296 this.setDeltaMovement(flag ? 0.0 : deltaMovement.x, deltaMovement.y, flag1 ? 0.0 : deltaMovement.z); } -@@ -1517,7 +1536,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1513,7 +1532,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess bb = currBoundingBox.expandTowards(movement.x, movement.y, movement.z); } this.collectCollisions(bb, voxelList, bbList, ca.spottedleaf.moonrise.patches.collisions.CollisionUtil.COLLISION_FLAG_CHECK_BORDER); @@ -141,7 +141,7 @@ index d2f9708b9166a46adb5009bd6d927cd03f3f9820..a026047ed2ab4b9ab047c7d855914296 } private Vec3 collideAxisScan(Vec3 movement, AABB currBoundingBox, List voxelList, List bbList) { -@@ -1525,7 +1544,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1521,7 +1540,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess double y = movement.y; double z = movement.z; @@ -153,7 +153,7 @@ index d2f9708b9166a46adb5009bd6d927cd03f3f9820..a026047ed2ab4b9ab047c7d855914296 if (y != 0.0) { y = this.scanY(currBoundingBox, y, voxelList, bbList); -@@ -1647,7 +1669,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1643,7 +1665,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); @@ -162,7 +162,7 @@ index d2f9708b9166a46adb5009bd6d927cd03f3f9820..a026047ed2ab4b9ab047c7d855914296 final boolean collidedX = collided.x != movement.x; final boolean collidedY = collided.y != movement.y; -@@ -1806,9 +1828,17 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1802,9 +1824,17 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess for (Entity.Movement movement : movements) { Vec3 vec3 = movement.from(); Vec3 vec31 = movement.to(); @@ -421,7 +421,7 @@ index d23193d3f11505cea428414487f891ab584ad071..ffd96218e2ee84aae7a008ef1b95f84d // Paper end - Option to prevent TNT from moving in water } diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java -index 19aa5010b019e343d0fb085359eac98bcb5b5efa..eeb37d088cec5b2b8e1ac4bd48b4491eed0822e2 100644 +index ee391a6fe70381ce4abc069034f7f9704029e416..cd607496df8a33f38d267c8316ffe8406868f02c 100644 --- a/net/minecraft/world/level/Level.java +++ b/net/minecraft/world/level/Level.java @@ -837,6 +837,170 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl diff --git a/sakura-server/minecraft-patches/features/0017-Collide-with-non-solid-blocks.patch b/sakura-server/minecraft-patches/features/0017-Collide-with-non-solid-blocks.patch index a2d006d..0db43fd 100644 --- a/sakura-server/minecraft-patches/features/0017-Collide-with-non-solid-blocks.patch +++ b/sakura-server/minecraft-patches/features/0017-Collide-with-non-solid-blocks.patch @@ -46,10 +46,10 @@ index 47c8ed946cb2ad81a4469daf60dabc40c5e8beda..16b66b19157081c7717f73ee3dc91116 mutablePos.set(blockX, blockY, blockZ); blockCollision = blockData.getCollisionShape(world, mutablePos, collisionShape); diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index a6a47d9d0d8e475d936ce867cdbb8d597e71ff4e..7c3b536ee056cfd938f19a0a22b1d128f0fa2733 100644 +index c5b840f990f9f357d4b63f7e450e91c431fd2d03..e72c6eed0280aab425ae1dfa1d104a2d87651b63 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java -@@ -541,6 +541,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -537,6 +537,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess flags |= ca.spottedleaf.moonrise.patches.collisions.CollisionUtil.COLLISION_FLAG_ADD_TICKET; } diff --git a/sakura-server/minecraft-patches/features/0020-Add-entity-travel-distance-limits.patch b/sakura-server/minecraft-patches/features/0020-Add-entity-travel-distance-limits.patch index b42ed0a..cb411bf 100644 --- a/sakura-server/minecraft-patches/features/0020-Add-entity-travel-distance-limits.patch +++ b/sakura-server/minecraft-patches/features/0020-Add-entity-travel-distance-limits.patch @@ -21,10 +21,10 @@ index ee44ba44773f245d351aac9461bd6cff18204f01..12f5f0002d2b298c4f9bd021d13626dd } else {entity.inactiveTick();} // Paper - EAR 2 profilerFiller.pop(); diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index 7c3b536ee056cfd938f19a0a22b1d128f0fa2733..37d2ab5f3cfe10478e87d1649d072fe6b69fb914 100644 +index e72c6eed0280aab425ae1dfa1d104a2d87651b63..770cc8898b94a0e10b697de6adcd04a3b850bbf6 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java -@@ -595,6 +595,19 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -591,6 +591,19 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return this.physics; } // Sakura end - configure cannon physics @@ -44,7 +44,7 @@ index 7c3b536ee056cfd938f19a0a22b1d128f0fa2733..37d2ab5f3cfe10478e87d1649d072fe6 public Entity(EntityType entityType, Level level) { this.type = entityType; -@@ -624,6 +637,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -620,6 +633,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess this.setPos(0.0, 0.0, 0.0); this.eyeHeight = this.dimensions.eyeHeight(); this.despawnTime = type == EntityType.PLAYER ? -1 : level.paperConfig().entities.spawning.despawnTime.getOrDefault(type, io.papermc.paper.configuration.type.number.IntOr.Disabled.DISABLED).or(-1); // Paper - entity despawn time limit diff --git a/sakura-server/minecraft-patches/features/0022-Configurable-left-shooting-and-adjusting-limits.patch b/sakura-server/minecraft-patches/features/0022-Configurable-left-shooting-and-adjusting-limits.patch index 2d43967..5bb3f73 100644 --- a/sakura-server/minecraft-patches/features/0022-Configurable-left-shooting-and-adjusting-limits.patch +++ b/sakura-server/minecraft-patches/features/0022-Configurable-left-shooting-and-adjusting-limits.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable left shooting and adjusting limits diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index 88a83d0b81fc65b4091c7f2c44820b4913356a2f..dd56f4e128793006c370514007755bdfb9d656d0 100644 +index 770cc8898b94a0e10b697de6adcd04a3b850bbf6..5117f1b572eca36f043b78689b8377dc66cfa899 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java -@@ -608,6 +608,46 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -604,6 +604,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 88a83d0b81fc65b4091c7f2c44820b4913356a2f..dd56f4e128793006c370514007755bdf public Entity(EntityType entityType, Level level) { this.type = entityType; -@@ -1579,6 +1619,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1575,6 +1615,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } if (xSmaller && z != 0.0) { @@ -63,7 +63,7 @@ index 88a83d0b81fc65b4091c7f2c44820b4913356a2f..dd56f4e128793006c370514007755bdf z = this.scanZ(currBoundingBox, z, voxelList, bbList); if (z != 0.0) { currBoundingBox = ca.spottedleaf.moonrise.patches.collisions.CollisionUtil.offsetZ(currBoundingBox, z); -@@ -1586,6 +1627,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1582,6 +1623,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } if (x != 0.0) { diff --git a/sakura-server/minecraft-patches/features/0025-Optimise-check-inside-blocks-and-traverse-blocks.patch b/sakura-server/minecraft-patches/features/0025-Optimise-check-inside-blocks-and-traverse-blocks.patch index 9642d10..115007e 100644 --- a/sakura-server/minecraft-patches/features/0025-Optimise-check-inside-blocks-and-traverse-blocks.patch +++ b/sakura-server/minecraft-patches/features/0025-Optimise-check-inside-blocks-and-traverse-blocks.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Optimise check inside blocks and traverse blocks diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index dd56f4e128793006c370514007755bdfb9d656d0..052cb99dd690f2ba6138d6a37bc7f3309c6c38bf 100644 +index 5117f1b572eca36f043b78689b8377dc66cfa899..db49df628a4b35b0cdca48cf3eff372540755b76 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java -@@ -1892,6 +1892,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1888,6 +1888,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess private void checkInsideBlocks(List movements, Set blocksInside) { if (this.isAffectedByBlocks()) { LongSet set = this.visitedBlocks; @@ -20,7 +20,7 @@ index dd56f4e128793006c370514007755bdfb9d656d0..052cb99dd690f2ba6138d6a37bc7f330 for (Entity.Movement movement : movements) { Vec3 vec3 = movement.from(); -@@ -1911,7 +1916,19 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -1907,7 +1912,19 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return; } diff --git a/sakura-server/minecraft-patches/sources/net/minecraft/world/entity/Entity.java.patch b/sakura-server/minecraft-patches/sources/net/minecraft/world/entity/Entity.java.patch index 5f5569a..392e09d 100644 --- a/sakura-server/minecraft-patches/sources/net/minecraft/world/entity/Entity.java.patch +++ b/sakura-server/minecraft-patches/sources/net/minecraft/world/entity/Entity.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java -@@ -525,6 +_,7 @@ +@@ -521,6 +_,7 @@ } } // Paper end - optimise entity tracker @@ -8,7 +8,7 @@ public Entity(EntityType entityType, Level level) { this.type = entityType; -@@ -4025,7 +_,7 @@ +@@ -4021,7 +_,7 @@ } public boolean isPushedByFluid() { diff --git a/sakura-server/paper-patches/features/0001-Client-Visibility-Settings.patch b/sakura-server/paper-patches/features/0001-Client-Visibility-Settings.patch index bf661f8..b9ce546 100644 --- a/sakura-server/paper-patches/features/0001-Client-Visibility-Settings.patch +++ b/sakura-server/paper-patches/features/0001-Client-Visibility-Settings.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Client Visibility Settings diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ebbb257de54812f277324bc2ddd9da00d773073e..a3ca7477db487ed906005232cf648aa24de8a211 100644 +index 7ef1df9c0b3e2226a08aa4e820318402bee77a67..67c6c6cb96a8aace48165233923b97fcae907b4c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2399,6 +2399,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2404,6 +2404,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { handle.keepLevel = data.getBoolean("keepLevel"); } } @@ -22,7 +22,7 @@ index ebbb257de54812f277324bc2ddd9da00d773073e..a3ca7477db487ed906005232cf648aa2 } public void setExtraData(CompoundTag nbttagcompound) { -@@ -2428,6 +2435,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2433,6 +2440,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { paper.putLong("LastLogin", handle.loginTime); paper.putLong("LastSeen", System.currentTimeMillis()); // Paper end @@ -34,7 +34,7 @@ index ebbb257de54812f277324bc2ddd9da00d773073e..a3ca7477db487ed906005232cf648aa2 } @Override -@@ -3089,6 +3101,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3094,6 +3106,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().allowsListing(); } diff --git a/sakura-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java.patch b/sakura-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java.patch index b26b571..1af72e7 100644 --- a/sakura-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java.patch +++ b/sakura-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -227,6 +_,18 @@ +@@ -232,6 +_,18 @@ this.firstPlayed = System.currentTimeMillis(); }