From 681bbff110d9a56152ae898c4dfe1c0356b40e69 Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Fri, 23 Feb 2024 23:13:37 +0100 Subject: [PATCH] Fix spawnreason saving --- .../server/0287-Entity-getEntitySpawnReason.patch | 14 ++++++++++++-- ...21-Fix-items-vanishing-through-end-portal.patch | 4 ++-- ...option-to-nerf-pigmen-from-nether-portals.patch | 6 +++--- ...-to-spawn-point-if-spawn-in-unloaded-worl.patch | 4 ++-- ...-Fix-item-duplication-and-teleport-issues.patch | 12 ++++++------ ...ntity-position-and-AABB-are-never-invalid.patch | 6 +++--- ...Entity-Counter-to-allow-plugins-to-use-va.patch | 4 ++-- patches/server/0435-Entity-isTicking.patch | 4 ++-- .../0473-MC-4-Fix-item-position-desync.patch | 4 ++-- .../0579-Fix-dangerous-end-portal-logic.patch | 4 ++-- ...609-Optimize-indirect-passenger-iteration.patch | 6 +++--- .../0617-Add-back-EntityPortalExitEvent.patch | 6 +++--- ...6-Forward-CraftEntity-in-teleport-command.patch | 6 +++--- patches/server/0697-Freeze-Tick-Lock-API.patch | 6 +++--- ...ity-passenger-world-matches-ridden-entity.patch | 4 ++-- ...various-missing-EntityDropItemEvent-calls.patch | 4 ++-- .../server/0767-Add-EntityPortalReadyEvent.patch | 6 +++--- ...ombustEvent-cancellation-cant-fully-preve.patch | 4 ++-- .../0822-Player-Entity-Tracking-Events.patch | 4 ++-- patches/server/0831-Improve-PortalEvents.patch | 4 ++-- ...0898-Folia-scheduler-and-owned-region-API.patch | 6 +++--- ...970-Restore-vanilla-entity-drops-behavior.patch | 6 +++--- patches/server/0985-Rewrite-chunk-system.patch | 14 +++++++------- ...Detail-more-information-in-watchdog-dumps.patch | 6 +++--- patches/server/1020-Collision-optimisations.patch | 4 ++-- 25 files changed, 79 insertions(+), 69 deletions(-) diff --git a/patches/server/0287-Entity-getEntitySpawnReason.patch b/patches/server/0287-Entity-getEntitySpawnReason.patch index 8c8af028c..08c359b0f 100644 --- a/patches/server/0287-Entity-getEntitySpawnReason.patch +++ b/patches/server/0287-Entity-getEntitySpawnReason.patch @@ -59,7 +59,7 @@ index 28b81e29be07902ad4d04aeb18bffd49757c3029..bc440f9a239d3935bf6837edf815d4fd }); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index cb453b843ecf82454a8ade369d424d5e7bbda4c4..dbca4d858dd3074fc0664bb6b578e94eeeed1298 100644 +index cb453b843ecf82454a8ade369d424d5e7bbda4c4..92521a46de31b13812d82a844ddc178df2b34919 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -238,6 +238,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -70,7 +70,17 @@ index cb453b843ecf82454a8ade369d424d5e7bbda4c4..dbca4d858dd3074fc0664bb6b578e94e public com.destroystokyo.paper.loottable.PaperLootableInventoryData lootableData; // Paper private CraftEntity bukkitEntity; -@@ -2324,6 +2325,26 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -2178,6 +2179,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S + } + nbttagcompound.put("Paper.Origin", this.newDoubleList(origin.getX(), origin.getY(), origin.getZ())); + } ++ if (spawnReason != null) { ++ nbttagcompound.putString("Paper.SpawnReason", spawnReason.name()); ++ } + // Save entity's from mob spawner status + if (spawnedViaMobSpawner) { + nbttagcompound.putBoolean("Paper.FromMobSpawner", true); +@@ -2324,6 +2328,26 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } spawnedViaMobSpawner = nbt.getBoolean("Paper.FromMobSpawner"); // Restore entity's from mob spawner status diff --git a/patches/server/0321-Fix-items-vanishing-through-end-portal.patch b/patches/server/0321-Fix-items-vanishing-through-end-portal.patch index 73800a320..952b1672d 100644 --- a/patches/server/0321-Fix-items-vanishing-through-end-portal.patch +++ b/patches/server/0321-Fix-items-vanishing-through-end-portal.patch @@ -13,10 +13,10 @@ Quickly loading the exact world spawn chunk before searching the heightmap resolves the issue without having to load all spawn chunks. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index dbca4d858dd3074fc0664bb6b578e94eeeed1298..d539252518edcf9849acf5174f8285b571769780 100644 +index 92521a46de31b13812d82a844ddc178df2b34919..8a8bdd3f77462b6aff97a2341d454b11c578f97f 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3360,6 +3360,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -3363,6 +3363,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S if (flag1) { blockposition1 = ServerLevel.END_SPAWN_POINT; } else { diff --git a/patches/server/0329-Add-option-to-nerf-pigmen-from-nether-portals.patch b/patches/server/0329-Add-option-to-nerf-pigmen-from-nether-portals.patch index 42e967d07..e1d5c928f 100644 --- a/patches/server/0329-Add-option-to-nerf-pigmen-from-nether-portals.patch +++ b/patches/server/0329-Add-option-to-nerf-pigmen-from-nether-portals.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add option to nerf pigmen from nether portals diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index d539252518edcf9849acf5174f8285b571769780..c113175f392710d2032f03a08e0243a02efe0709 100644 +index 8a8bdd3f77462b6aff97a2341d454b11c578f97f..c08b856e56996cf7ad1926d717effb9a1b98d8c6 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -397,6 +397,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -16,7 +16,7 @@ index d539252518edcf9849acf5174f8285b571769780..c113175f392710d2032f03a08e0243a0 public boolean spawnedViaMobSpawner; // Paper - Yes this name is similar to above, upstream took the better one // Paper start - Entity origin API @javax.annotation.Nullable -@@ -2183,6 +2184,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -2186,6 +2187,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S if (spawnedViaMobSpawner) { nbttagcompound.putBoolean("Paper.FromMobSpawner", true); } @@ -26,7 +26,7 @@ index d539252518edcf9849acf5174f8285b571769780..c113175f392710d2032f03a08e0243a0 // Paper end return nbttagcompound; } catch (Throwable throwable) { -@@ -2325,6 +2329,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -2328,6 +2332,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } spawnedViaMobSpawner = nbt.getBoolean("Paper.FromMobSpawner"); // Restore entity's from mob spawner status diff --git a/patches/server/0355-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch b/patches/server/0355-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch index b1783ef45..483de5384 100644 --- a/patches/server/0355-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch +++ b/patches/server/0355-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch @@ -87,10 +87,10 @@ index c5614cc12789fdfad3519434e115a50c12844b3b..d0e158235915e4efc8bda99d552d029c } // Paper end - Entity#getEntitySpawnReason diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index c113175f392710d2032f03a08e0243a02efe0709..97dd8b932426496694b50984b1dcff390711e4c9 100644 +index c08b856e56996cf7ad1926d717effb9a1b98d8c6..7619f6e772d2fab177a83b083bcce3d2ee1d9a95 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2286,27 +2286,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -2289,27 +2289,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } // CraftBukkit end diff --git a/patches/server/0359-Fix-item-duplication-and-teleport-issues.patch b/patches/server/0359-Fix-item-duplication-and-teleport-issues.patch index b15c4048e..862fc2632 100644 --- a/patches/server/0359-Fix-item-duplication-and-teleport-issues.patch +++ b/patches/server/0359-Fix-item-duplication-and-teleport-issues.patch @@ -16,10 +16,10 @@ So even if something NEW comes up, it would be impossible to drop the same item twice because the source was destroyed. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 97dd8b932426496694b50984b1dcff390711e4c9..4123d523d57f3a267753a871e938de675fcaf8c8 100644 +index 7619f6e772d2fab177a83b083bcce3d2ee1d9a95..9c9689f4deffed50df9aaca6e451228d17154b8c 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2416,11 +2416,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -2419,11 +2419,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } else { // CraftBukkit start - Capture drops for death event if (this instanceof net.minecraft.world.entity.LivingEntity && !((net.minecraft.world.entity.LivingEntity) this).forceDrops) { @@ -34,7 +34,7 @@ index 97dd8b932426496694b50984b1dcff390711e4c9..4123d523d57f3a267753a871e938de67 entityitem.setDefaultPickUpDelay(); // CraftBukkit start -@@ -3219,6 +3220,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -3222,6 +3223,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @Nullable public Entity teleportTo(ServerLevel worldserver, Vec3 location) { // CraftBukkit end @@ -47,7 +47,7 @@ index 97dd8b932426496694b50984b1dcff390711e4c9..4123d523d57f3a267753a871e938de67 if (this.level() instanceof ServerLevel && !this.isRemoved()) { this.level().getProfiler().push("changeDimension"); // CraftBukkit start -@@ -3245,6 +3252,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -3248,6 +3255,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S // CraftBukkit end this.level().getProfiler().popPush("reloading"); @@ -59,7 +59,7 @@ index 97dd8b932426496694b50984b1dcff390711e4c9..4123d523d57f3a267753a871e938de67 Entity entity = this.getType().create(worldserver); if (entity != null) { -@@ -3262,10 +3274,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -3265,10 +3277,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S // CraftBukkit start - Forward the CraftEntity to the new entity this.getBukkitEntity().setHandle(entity); entity.bukkitEntity = this.getBukkitEntity(); @@ -70,7 +70,7 @@ index 97dd8b932426496694b50984b1dcff390711e4c9..4123d523d57f3a267753a871e938de67 // CraftBukkit end } -@@ -3384,7 +3392,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -3387,7 +3395,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } public boolean canChangeDimensions() { diff --git a/patches/server/0390-Ensure-Entity-position-and-AABB-are-never-invalid.patch b/patches/server/0390-Ensure-Entity-position-and-AABB-are-never-invalid.patch index bd4d3fe4e..fb16bb47a 100644 --- a/patches/server/0390-Ensure-Entity-position-and-AABB-are-never-invalid.patch +++ b/patches/server/0390-Ensure-Entity-position-and-AABB-are-never-invalid.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Ensure Entity position and AABB are never invalid Co-authored-by: Spottedleaf diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 4123d523d57f3a267753a871e938de675fcaf8c8..dfea1879b8ab8d12bc7530ccf409f4d24978105d 100644 +index 9c9689f4deffed50df9aaca6e451228d17154b8c..11a9142962637af5e26939a5eb8f35ba5f205793 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -652,8 +652,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -20,7 +20,7 @@ index 4123d523d57f3a267753a871e938de675fcaf8c8..dfea1879b8ab8d12bc7530ccf409f4d2 } protected AABB makeBoundingBox() { -@@ -4146,7 +4146,29 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -4149,7 +4149,29 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S return this.getZ((2.0D * this.random.nextDouble() - 1.0D) * widthScale); } @@ -50,7 +50,7 @@ index 4123d523d57f3a267753a871e938de675fcaf8c8..dfea1879b8ab8d12bc7530ccf409f4d2 if (this.position.x != x || this.position.y != y || this.position.z != z) { this.position = new Vec3(x, y, z); int i = Mth.floor(x); -@@ -4164,6 +4186,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -4167,6 +4189,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S this.levelCallback.onMove(); } diff --git a/patches/server/0433-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/server/0433-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch index b2cb16343..0710aed1e 100644 --- a/patches/server/0433-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch +++ b/patches/server/0433-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Expose the Entity Counter to allow plugins to use valid and diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a3d1f7ccac58cfec8f50dbdb3a620daa4894fffb..525664c1c985ae8eb9cc4973d28f588c26336e5c 100644 +index f839ab6dea7f1efd59f22bcef91d4e279b1c232a..0281f4c4f7bc609ff7f35dcc8a7c13f6813d6548 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4408,4 +4408,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -4411,4 +4411,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S void accept(Entity entity, double x, double y, double z); } diff --git a/patches/server/0435-Entity-isTicking.patch b/patches/server/0435-Entity-isTicking.patch index f6138d0f2..2d53b9802 100644 --- a/patches/server/0435-Entity-isTicking.patch +++ b/patches/server/0435-Entity-isTicking.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Entity#isTicking diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 525664c1c985ae8eb9cc4973d28f588c26336e5c..2b962ef7f167cc3ee17d26b994b6ecc2916f6242 100644 +index 0281f4c4f7bc609ff7f35dcc8a7c13f6813d6548..f33067ea049793d898def3c83bff5b36490f8232 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4413,5 +4413,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -4416,5 +4416,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S public static int nextEntityId() { return ENTITY_COUNTER.incrementAndGet(); } diff --git a/patches/server/0473-MC-4-Fix-item-position-desync.patch b/patches/server/0473-MC-4-Fix-item-position-desync.patch index d0dd6a0f5..f1fa7d66d 100644 --- a/patches/server/0473-MC-4-Fix-item-position-desync.patch +++ b/patches/server/0473-MC-4-Fix-item-position-desync.patch @@ -28,10 +28,10 @@ index 05ac41e136da43284fb24a6b698ebd36318278fb..3c4ac79c094dc2fff7de94150a34b7bf public Vec3 decode(long x, long y, long z) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a0c4f6edc87d653bcbe23621bfcf9fbbd20b013d..745e22b78613f8c45f5432fb27e3b9c87cdf2313 100644 +index 3b9c691973f11b7d4db8fb77d2b02aa0d07ed7b5..df389ebaaef8ef307adb6c604ce22a192a522ba4 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4183,6 +4183,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -4186,6 +4186,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S return; } // Paper end - Block invalid positions and bounding box diff --git a/patches/server/0579-Fix-dangerous-end-portal-logic.patch b/patches/server/0579-Fix-dangerous-end-portal-logic.patch index f12d150b6..b484f326d 100644 --- a/patches/server/0579-Fix-dangerous-end-portal-logic.patch +++ b/patches/server/0579-Fix-dangerous-end-portal-logic.patch @@ -11,7 +11,7 @@ Move the tick logic into the post tick, where portaling was designed to happen in the first place. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index baedc48d788d51799d2d3b1816aee2782ba35d25..3fe696d2657812857427f9ffe5f0585f1cfde3c9 100644 +index fa5d634cefcf73afd3e090f91c4c589edb988352..6df66ba1bafa3c850372ff877c420a24c6356a2d 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -421,6 +421,36 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -51,7 +51,7 @@ index baedc48d788d51799d2d3b1816aee2782ba35d25..3fe696d2657812857427f9ffe5f0585f public float getBukkitYaw() { return this.yRot; } -@@ -2795,6 +2825,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -2798,6 +2828,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } this.processPortalCooldown(); diff --git a/patches/server/0609-Optimize-indirect-passenger-iteration.patch b/patches/server/0609-Optimize-indirect-passenger-iteration.patch index bf32217d3..cacff3bc5 100644 --- a/patches/server/0609-Optimize-indirect-passenger-iteration.patch +++ b/patches/server/0609-Optimize-indirect-passenger-iteration.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Optimize indirect passenger iteration diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 3fe696d2657812857427f9ffe5f0585f1cfde3c9..2ede042815b2c51a6f506d3c99eca01db78529dc 100644 +index 6df66ba1bafa3c850372ff877c420a24c6356a2d..53f5d5da6edb0874573347747e5e3ef4b712219f 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3839,20 +3839,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -3842,20 +3842,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } private Stream getIndirectPassengersStream() { @@ -43,7 +43,7 @@ index 3fe696d2657812857427f9ffe5f0585f1cfde3c9..2ede042815b2c51a6f506d3c99eca01d return () -> { return this.getIndirectPassengersStream().iterator(); }; -@@ -3865,6 +3879,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -3868,6 +3882,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } public boolean hasExactlyOnePlayerPassenger() { diff --git a/patches/server/0617-Add-back-EntityPortalExitEvent.patch b/patches/server/0617-Add-back-EntityPortalExitEvent.patch index 7473887ef..6a55175c7 100644 --- a/patches/server/0617-Add-back-EntityPortalExitEvent.patch +++ b/patches/server/0617-Add-back-EntityPortalExitEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add back EntityPortalExitEvent diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 2ede042815b2c51a6f506d3c99eca01db78529dc..fae9aa88bc672b3ac17dcbbf077a57cd3254a723 100644 +index 53f5d5da6edb0874573347747e5e3ef4b712219f..4e8d20807048066a0d69b4e120438c869d4a0a2a 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3288,6 +3288,28 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -3291,6 +3291,28 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } else { // CraftBukkit start worldserver = shapedetectorshape.world; @@ -37,7 +37,7 @@ index 2ede042815b2c51a6f506d3c99eca01db78529dc..fae9aa88bc672b3ac17dcbbf077a57cd if (worldserver == this.level) { // SPIGOT-6782: Just move the entity if a plugin changed the world to the one the entity is already in this.moveTo(shapedetectorshape.pos.x, shapedetectorshape.pos.y, shapedetectorshape.pos.z, shapedetectorshape.yRot, shapedetectorshape.xRot); -@@ -3307,8 +3329,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -3310,8 +3332,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S if (entity != null) { entity.restoreFrom(this); diff --git a/patches/server/0676-Forward-CraftEntity-in-teleport-command.patch b/patches/server/0676-Forward-CraftEntity-in-teleport-command.patch index b884d9e88..06b0eac82 100644 --- a/patches/server/0676-Forward-CraftEntity-in-teleport-command.patch +++ b/patches/server/0676-Forward-CraftEntity-in-teleport-command.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Forward CraftEntity in teleport command diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index c090a529eb6bfe3790f6b912ac3d296a43e52762..1ad6958526e79505cb9e7c3eeb5c421857fac43e 100644 +index 47b87fa8c74dba9380fdfc067fea5ae1040e07d3..bab075f68079d5d6c608ef63dc02ae54209cf029 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3260,6 +3260,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -3263,6 +3263,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } public void restoreFrom(Entity original) { @@ -22,7 +22,7 @@ index c090a529eb6bfe3790f6b912ac3d296a43e52762..1ad6958526e79505cb9e7c3eeb5c4218 CompoundTag nbttagcompound = original.saveWithoutId(new CompoundTag()); nbttagcompound.remove("Dimension"); -@@ -3350,10 +3357,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -3353,10 +3360,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } } // CraftBukkit end diff --git a/patches/server/0697-Freeze-Tick-Lock-API.patch b/patches/server/0697-Freeze-Tick-Lock-API.patch index dcd6ed67b..b2a2235c4 100644 --- a/patches/server/0697-Freeze-Tick-Lock-API.patch +++ b/patches/server/0697-Freeze-Tick-Lock-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Freeze Tick Lock API diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 1ad6958526e79505cb9e7c3eeb5c421857fac43e..bff3ff467c4bc20b214f89a3955805a4208463f1 100644 +index bab075f68079d5d6c608ef63dc02ae54209cf029..8c12c385408371126306b75b2b633b4056d7ade3 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -405,6 +405,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -25,7 +25,7 @@ index 1ad6958526e79505cb9e7c3eeb5c421857fac43e..bff3ff467c4bc20b214f89a3955805a4 this.setTicksFrozen(0); this.level().levelEvent((Player) null, 1009, this.blockPosition, 1); } -@@ -2243,6 +2244,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -2246,6 +2247,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S if (fromNetherPortal) { nbttagcompound.putBoolean("Paper.FromNetherPortal", true); } @@ -35,7 +35,7 @@ index 1ad6958526e79505cb9e7c3eeb5c421857fac43e..bff3ff467c4bc20b214f89a3955805a4 // Paper end return nbttagcompound; } catch (Throwable throwable) { -@@ -2387,6 +2391,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -2390,6 +2394,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S if (spawnReason == null) { spawnReason = org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.DEFAULT; } diff --git a/patches/server/0729-Ensure-entity-passenger-world-matches-ridden-entity.patch b/patches/server/0729-Ensure-entity-passenger-world-matches-ridden-entity.patch index 7f6fcdbd3..b763ae3b7 100644 --- a/patches/server/0729-Ensure-entity-passenger-world-matches-ridden-entity.patch +++ b/patches/server/0729-Ensure-entity-passenger-world-matches-ridden-entity.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Ensure entity passenger world matches ridden entity Bad plugins doing this would cause some obvious problems... diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index bff3ff467c4bc20b214f89a3955805a4208463f1..a9bc659a89009f430105c8524688130a01baaecf 100644 +index 8c12c385408371126306b75b2b633b4056d7ade3..91242b075c7f5c07d06c2c89cab3fbdb069b61e9 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2577,7 +2577,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -2580,7 +2580,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } public boolean startRiding(Entity entity, boolean force) { diff --git a/patches/server/0763-Add-various-missing-EntityDropItemEvent-calls.patch b/patches/server/0763-Add-various-missing-EntityDropItemEvent-calls.patch index 251d6d5a1..16399035a 100644 --- a/patches/server/0763-Add-various-missing-EntityDropItemEvent-calls.patch +++ b/patches/server/0763-Add-various-missing-EntityDropItemEvent-calls.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add various missing EntityDropItemEvent calls diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index c02181318220d544aca15c030b54650404205519..d31c3bde9579eafc28a46eed6f1bfdaf5e591a9f 100644 +index 766ffaa165afe799c027ffac3ffcfc04701d02ab..f56739b5a6a748f1a063a63bc31300dd75aaf8d7 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2488,6 +2488,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -2491,6 +2491,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S stack.setCount(0); // Paper - destroy this item - if this ever leaks due to game bugs, ensure it doesn't dupe entityitem.setDefaultPickUpDelay(); diff --git a/patches/server/0767-Add-EntityPortalReadyEvent.patch b/patches/server/0767-Add-EntityPortalReadyEvent.patch index 59f69cf32..244db29cb 100644 --- a/patches/server/0767-Add-EntityPortalReadyEvent.patch +++ b/patches/server/0767-Add-EntityPortalReadyEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add EntityPortalReadyEvent diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index d31c3bde9579eafc28a46eed6f1bfdaf5e591a9f..d822ac014d93755cef20464bb758f8782799732c 100644 +index f56739b5a6a748f1a063a63bc31300dd75aaf8d7..3a938cd07ec5cec40a244a9a717376c75c26f12b 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2829,6 +2829,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -2832,6 +2832,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S if (true && !this.isPassenger() && this.portalTime++ >= i) { // CraftBukkit this.level().getProfiler().push("portal"); this.portalTime = i; @@ -22,7 +22,7 @@ index d31c3bde9579eafc28a46eed6f1bfdaf5e591a9f..d822ac014d93755cef20464bb758f878 this.setPortalCooldown(); // CraftBukkit start if (this instanceof ServerPlayer) { -@@ -2836,6 +2843,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -2839,6 +2846,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } else { this.changeDimension(worldserver1); } diff --git a/patches/server/0808-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch b/patches/server/0808-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch index 44ee3c5b0..e6135036e 100644 --- a/patches/server/0808-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch +++ b/patches/server/0808-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix EntityCombustEvent cancellation cant fully prevent diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index d822ac014d93755cef20464bb758f8782799732c..dfbcadc1a1fb5ebe957ba45d764f0b982d6fe721 100644 +index 3a938cd07ec5cec40a244a9a717376c75c26f12b..bdefbb1040cf7bcdcdf2f5b625ef854e3805f567 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3108,6 +3108,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -3111,6 +3111,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S pluginManager.callEvent(entityCombustEvent); if (!entityCombustEvent.isCancelled()) { this.setSecondsOnFire(entityCombustEvent.getDuration(), false); diff --git a/patches/server/0822-Player-Entity-Tracking-Events.patch b/patches/server/0822-Player-Entity-Tracking-Events.patch index 25f31ee2c..358c0c011 100644 --- a/patches/server/0822-Player-Entity-Tracking-Events.patch +++ b/patches/server/0822-Player-Entity-Tracking-Events.patch @@ -21,10 +21,10 @@ index 43c8f6a0615f392cc560b2259b116cc9d5fba4e7..ca24463405f138deb882f319bf84696f } else if (this.seenBy.remove(player.connection)) { this.serverEntity.removePairing(player); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index dfbcadc1a1fb5ebe957ba45d764f0b982d6fe721..e3434914cb7bf66e477830ad82159e0bde63e247 100644 +index bdefbb1040cf7bcdcdf2f5b625ef854e3805f567..a410ff9fbfc92d16a3720b8db9f3df554c66a9f0 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3834,7 +3834,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -3837,7 +3837,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S public void startSeenByPlayer(ServerPlayer player) {} diff --git a/patches/server/0831-Improve-PortalEvents.patch b/patches/server/0831-Improve-PortalEvents.patch index 254727a89..c6f1e8fa2 100644 --- a/patches/server/0831-Improve-PortalEvents.patch +++ b/patches/server/0831-Improve-PortalEvents.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Improve PortalEvents diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index e3434914cb7bf66e477830ad82159e0bde63e247..5c37fb16d57bdffc4973b42a15f79b480ba65e5f 100644 +index a410ff9fbfc92d16a3720b8db9f3df554c66a9f0..82ddbe8e71bc2d1ee2be0e576d595fd462f9baab 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3492,7 +3492,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -3495,7 +3495,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S Location enter = bukkitEntity.getLocation(); Location exit = CraftLocation.toBukkit(exitPosition, exitWorldServer.getWorld()); diff --git a/patches/server/0898-Folia-scheduler-and-owned-region-API.patch b/patches/server/0898-Folia-scheduler-and-owned-region-API.patch index 3cc6808e0..77a7babe2 100644 --- a/patches/server/0898-Folia-scheduler-and-owned-region-API.patch +++ b/patches/server/0898-Folia-scheduler-and-owned-region-API.patch @@ -1185,7 +1185,7 @@ index 0747b0042446271385371f1ca9c8fefdebd851b8..fade1e36037075aae968eb90bbfeac76 this.players.remove(entityplayer); this.playersByName.remove(entityplayer.getScoreboardName().toLowerCase(java.util.Locale.ROOT)); // Spigot diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 957165e1fce7ddd4c7b7e53a4db8f65739c0ff7f..14855cd35ce7607e74192a55722bd10660f1126b 100644 +index a5c806431bca48f51aeedf52679dda27618af41b..35eb78717396de92db846d335fe8abce7ba3a117 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -247,11 +247,23 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -1213,7 +1213,7 @@ index 957165e1fce7ddd4c7b7e53a4db8f65739c0ff7f..14855cd35ce7607e74192a55722bd106 @Override public CommandSender getBukkitSender(CommandSourceStack wrapper) { return this.getBukkitEntity(); -@@ -4445,6 +4457,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -4448,6 +4460,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S public final void setRemoved(Entity.RemovalReason entity_removalreason, EntityRemoveEvent.Cause cause) { CraftEventFactory.callEntityRemoveEvent(this, cause); // CraftBukkit end @@ -1221,7 +1221,7 @@ index 957165e1fce7ddd4c7b7e53a4db8f65739c0ff7f..14855cd35ce7607e74192a55722bd106 if (this.removalReason == null) { this.removalReason = entity_removalreason; } -@@ -4455,12 +4468,28 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -4458,12 +4471,28 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S this.getPassengers().forEach(Entity::stopRiding); this.levelCallback.onRemove(entity_removalreason); diff --git a/patches/server/0970-Restore-vanilla-entity-drops-behavior.patch b/patches/server/0970-Restore-vanilla-entity-drops-behavior.patch index 1149213f9..c6196c8cf 100644 --- a/patches/server/0970-Restore-vanilla-entity-drops-behavior.patch +++ b/patches/server/0970-Restore-vanilla-entity-drops-behavior.patch @@ -50,10 +50,10 @@ index 7272dc058c575efee5ac2643ce41b7d12e346e89..ae5a2136a0e266d4c35190f5d3355299 if (entityitem == null) { return null; diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index d85151689d3cd7db078b8e068b8be1934c99600e..fe6ae6c19b07e0b4b9bbe579a2266bb84092fe72 100644 +index abd50a7b5f85eb63d1f675626e2f68d28b82fdc1..46b4c07ec0907218382ee94849417ad5d1eb1066 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2493,6 +2493,25 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -2496,6 +2496,25 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @Nullable public ItemEntity spawnAtLocation(ItemStack stack, float yOffset) { @@ -79,7 +79,7 @@ index d85151689d3cd7db078b8e068b8be1934c99600e..fe6ae6c19b07e0b4b9bbe579a2266bb8 if (stack.isEmpty()) { return null; } else if (this.level().isClientSide) { -@@ -2500,14 +2519,21 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -2503,14 +2522,21 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } else { // CraftBukkit start - Capture drops for death event if (this instanceof net.minecraft.world.entity.LivingEntity && !((net.minecraft.world.entity.LivingEntity) this).forceDrops) { diff --git a/patches/server/0985-Rewrite-chunk-system.patch b/patches/server/0985-Rewrite-chunk-system.patch index b9ea237e9..9f2ea2a9e 100644 --- a/patches/server/0985-Rewrite-chunk-system.patch +++ b/patches/server/0985-Rewrite-chunk-system.patch @@ -19375,7 +19375,7 @@ index 640db9f71608310a64e09f1e3e677c01e6ccd98a..f2a7cb6ebed7a4b4019a09af2a025f62 if (flag1) { ++this.converted; diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index fe6ae6c19b07e0b4b9bbe579a2266bb84092fe72..1a91bffc016312e02408766cd9419610aca74b92 100644 +index 46b4c07ec0907218382ee94849417ad5d1eb1066..a3077daa43fe52b569c6bbddc7bee9ad1be08af7 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -480,6 +480,58 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -19437,7 +19437,7 @@ index fe6ae6c19b07e0b4b9bbe579a2266bb84092fe72..1a91bffc016312e02408766cd9419610 public Entity(EntityType type, Level world) { this.id = Entity.ENTITY_COUNTER.incrementAndGet(); this.passengers = ImmutableList.of(); -@@ -2577,11 +2629,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -2580,11 +2632,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S return InteractionResult.PASS; } @@ -19451,7 +19451,7 @@ index fe6ae6c19b07e0b4b9bbe579a2266bb84092fe72..1a91bffc016312e02408766cd9419610 return false; } -@@ -4006,6 +4058,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -4009,6 +4061,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S }).count(); } @@ -19465,7 +19465,7 @@ index fe6ae6c19b07e0b4b9bbe579a2266bb84092fe72..1a91bffc016312e02408766cd9419610 public boolean hasExactlyOnePlayerPassenger() { if (this.passengers.isEmpty()) { return false; } // Paper - Optimize indirect passenger iteration return this.countPlayerPassengers() == 1; -@@ -4358,6 +4417,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -4361,6 +4420,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S return; } // Paper end - Block invalid positions and bounding box @@ -19478,7 +19478,7 @@ index fe6ae6c19b07e0b4b9bbe579a2266bb84092fe72..1a91bffc016312e02408766cd9419610 // Paper start - Fix MC-4 if (this instanceof ItemEntity) { if (io.papermc.paper.configuration.GlobalConfiguration.get().misc.fixEntityPositionDesync) { -@@ -4487,6 +4552,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -4490,6 +4555,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @Override public final void setRemoved(Entity.RemovalReason entity_removalreason, EntityRemoveEvent.Cause cause) { @@ -19492,7 +19492,7 @@ index fe6ae6c19b07e0b4b9bbe579a2266bb84092fe72..1a91bffc016312e02408766cd9419610 CraftEventFactory.callEntityRemoveEvent(this, cause); // CraftBukkit end final boolean alreadyRemoved = this.removalReason != null; // Paper - Folia schedulers -@@ -4498,7 +4570,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -4501,7 +4573,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S this.stopRiding(); } @@ -19501,7 +19501,7 @@ index fe6ae6c19b07e0b4b9bbe579a2266bb84092fe72..1a91bffc016312e02408766cd9419610 this.levelCallback.onRemove(entity_removalreason); // Paper start - Folia schedulers if (!(this instanceof ServerPlayer) && entity_removalreason != RemovalReason.CHANGED_DIMENSION && !alreadyRemoved) { -@@ -4529,7 +4601,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -4532,7 +4604,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @Override public boolean shouldBeSaved() { diff --git a/patches/server/1019-Detail-more-information-in-watchdog-dumps.patch b/patches/server/1019-Detail-more-information-in-watchdog-dumps.patch index 15ae686d3..89df2f21e 100644 --- a/patches/server/1019-Detail-more-information-in-watchdog-dumps.patch +++ b/patches/server/1019-Detail-more-information-in-watchdog-dumps.patch @@ -122,7 +122,7 @@ index 9d18da228c6709e7665ba8babb6ee6d0b36b5dc5..af9f58328c09dddb2875f79128f906b8 private void tickPassenger(Entity vehicle, Entity passenger) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index d5b92dbd98b62b0afd68543222858dca5981ecbd..fd643dc96dfa46db84b8337a2c69342e9489a702 100644 +index 943a48fd8a95b8f28060ea1de9d021cf309dfd33..c3abc701e2c4458da63e40fbc51f235fc1cbd093 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1063,8 +1063,43 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -183,7 +183,7 @@ index d5b92dbd98b62b0afd68543222858dca5981ecbd..fd643dc96dfa46db84b8337a2c69342e } private boolean isStateClimbable(BlockState state) { -@@ -4376,7 +4418,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -4379,7 +4421,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } public void setDeltaMovement(Vec3 velocity) { @@ -193,7 +193,7 @@ index d5b92dbd98b62b0afd68543222858dca5981ecbd..fd643dc96dfa46db84b8337a2c69342e } public void addDeltaMovement(Vec3 velocity) { -@@ -4479,7 +4523,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -4482,7 +4526,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } // Paper end - Fix MC-4 if (this.position.x != x || this.position.y != y || this.position.z != z) { diff --git a/patches/server/1020-Collision-optimisations.patch b/patches/server/1020-Collision-optimisations.patch index 09c240434..b05b9f0ec 100644 --- a/patches/server/1020-Collision-optimisations.patch +++ b/patches/server/1020-Collision-optimisations.patch @@ -2214,7 +2214,7 @@ index 594cb6ce4bfa6c42212000a1ed983ea95ee2c4bf..97b0119ac71284b3a223c089bec26d87 entityplayer1.setPos(entityplayer1.getX(), entityplayer1.getY() + 1.0D, entityplayer1.getZ()); } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index fd643dc96dfa46db84b8337a2c69342e9489a702..aeae9693bf985263a62225eb73a44833e5a0ca16 100644 +index c3abc701e2c4458da63e40fbc51f235fc1cbd093..45439b0cc4ea69e409fd41d4684403c0e0feab12 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1250,9 +1250,44 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -2364,7 +2364,7 @@ index fd643dc96dfa46db84b8337a2c69342e9489a702..aeae9693bf985263a62225eb73a44833 } public static Vec3 collideBoundingBox(@Nullable Entity entity, Vec3 movement, AABB entityBoundingBox, Level world, List collisions) { -@@ -2704,11 +2789,70 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -2707,11 +2792,70 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S float f = this.dimensions.width * 0.8F; AABB axisalignedbb = AABB.ofSize(this.getEyePosition(), (double) f, 1.0E-6D, (double) f);