aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNassim Jahnke <[email protected]>2024-02-23 23:13:37 +0100
committerNassim Jahnke <[email protected]>2024-02-23 23:15:11 +0100
commit681bbff110d9a56152ae898c4dfe1c0356b40e69 (patch)
treeb8500a7a2675e52f07b687973aab43e4af8ed4bc
parentd0ebfbbd159d6a936d35d71696c03930550aab04 (diff)
downloadPaper-681bbff110d9a56152ae898c4dfe1c0356b40e69.tar.gz
Paper-681bbff110d9a56152ae898c4dfe1c0356b40e69.zip
Fix spawnreason saving
-rw-r--r--patches/server/0287-Entity-getEntitySpawnReason.patch14
-rw-r--r--patches/server/0321-Fix-items-vanishing-through-end-portal.patch4
-rw-r--r--patches/server/0329-Add-option-to-nerf-pigmen-from-nether-portals.patch6
-rw-r--r--patches/server/0355-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch4
-rw-r--r--patches/server/0359-Fix-item-duplication-and-teleport-issues.patch12
-rw-r--r--patches/server/0390-Ensure-Entity-position-and-AABB-are-never-invalid.patch6
-rw-r--r--patches/server/0433-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch4
-rw-r--r--patches/server/0435-Entity-isTicking.patch4
-rw-r--r--patches/server/0473-MC-4-Fix-item-position-desync.patch4
-rw-r--r--patches/server/0579-Fix-dangerous-end-portal-logic.patch4
-rw-r--r--patches/server/0609-Optimize-indirect-passenger-iteration.patch6
-rw-r--r--patches/server/0617-Add-back-EntityPortalExitEvent.patch6
-rw-r--r--patches/server/0676-Forward-CraftEntity-in-teleport-command.patch6
-rw-r--r--patches/server/0697-Freeze-Tick-Lock-API.patch6
-rw-r--r--patches/server/0729-Ensure-entity-passenger-world-matches-ridden-entity.patch4
-rw-r--r--patches/server/0763-Add-various-missing-EntityDropItemEvent-calls.patch4
-rw-r--r--patches/server/0767-Add-EntityPortalReadyEvent.patch6
-rw-r--r--patches/server/0808-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch4
-rw-r--r--patches/server/0822-Player-Entity-Tracking-Events.patch4
-rw-r--r--patches/server/0831-Improve-PortalEvents.patch4
-rw-r--r--patches/server/0898-Folia-scheduler-and-owned-region-API.patch6
-rw-r--r--patches/server/0970-Restore-vanilla-entity-drops-behavior.patch6
-rw-r--r--patches/server/0985-Rewrite-chunk-system.patch14
-rw-r--r--patches/server/1019-Detail-more-information-in-watchdog-dumps.patch6
-rw-r--r--patches/server/1020-Collision-optimisations.patch4
25 files changed, 79 insertions, 69 deletions
diff --git a/patches/server/0287-Entity-getEntitySpawnReason.patch b/patches/server/0287-Entity-getEntitySpawnReason.patch
index 8c8af028cb..08c359b0fa 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 73800a3205..952b1672dc 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 42e967d07a..e1d5c928f0 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 b1783ef458..483de53840 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 b15c4048e1..862fc26320 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 bd4d3fe4e9..fb16bb47ac 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 <[email protected]>
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 b2cb163430..0710aed1e5 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 f6138d0f26..2d53b98026 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 d0dd6a0f5d..f1fa7d66d3 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 f12d150b67..b484f326da 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 bf32217d33..cacff3bc5a 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<Entity> 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 7473887ef4..6a55175c75 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 b884d9e889..06b0eac821 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 dcd6ed67bc..b2a2235c41 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 7f6fcdbd3e..b763ae3b79 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 251d6d5a19..16399035a0 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 59f69cf32a..244db29cbb 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 44ee3c5b09..e6135036e5 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 25f31ee2c5..358c0c0114 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 254727a896..c6f1e8fa27 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 3cc6808e00..77a7babe2c 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 1149213f90..c6196c8cfe 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 b9ea237e96..9f2ea2a9eb 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 15ae686d31..89df2f21ed 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 09c2404343..b05b9f0ec8 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<VoxelShape> 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);