From be2edeac2b42ab3d76d9462cd7fab584e13dee9c Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Fri, 25 Oct 2024 15:04:29 -0700 Subject: [PATCH] Fix boats/minecarts not dropping when destroyed Diff to clone the item was lost, which meant that the spawned item was air. --- .../0344-Fix-item-duplication-and-teleport-issues.patch | 5 +++-- ...9-Ensure-Entity-position-and-AABB-are-never-invalid.patch | 2 +- ...ix-Entity-Teleportation-and-cancel-velocity-if-tele.patch | 2 +- ...xpose-the-Entity-Counter-to-allow-plugins-to-use-va.patch | 2 +- patches/server/0410-Entity-isTicking.patch | 2 +- .../0435-Climbing-should-not-bypass-cramming-gamerule.patch | 2 +- patches/server/0446-MC-4-Fix-item-position-desync.patch | 2 +- ...Collision-option-for-requiring-a-player-participant.patch | 2 +- patches/server/0477-Expand-EntityUnleashEvent.patch | 2 +- .../server/0571-Optimize-indirect-passenger-iteration.patch | 2 +- patches/server/0578-Add-back-EntityPortalExitEvent.patch | 2 +- patches/server/0589-Add-Raw-Byte-Entity-Serialization.patch | 2 +- .../server/0616-Update-head-rotation-in-missing-places.patch | 2 +- .../0622-don-t-attempt-to-teleport-dead-entities.patch | 2 +- .../0632-Forward-CraftEntity-in-teleport-command.patch | 2 +- patches/server/0651-Freeze-Tick-Lock-API.patch | 2 +- ...Ensure-entity-passenger-world-matches-ridden-entity.patch | 2 +- .../0702-Prevent-entity-loading-causing-async-lookups.patch | 2 +- .../0714-Add-various-missing-EntityDropItemEvent-calls.patch | 2 +- ...ix-EntityCombustEvent-cancellation-cant-fully-preve.patch | 2 +- patches/server/0768-Player-Entity-Tracking-Events.patch | 2 +- patches/server/0775-Improve-PortalEvents.patch | 2 +- ...xpose-pre-collision-moving-velocity-to-VehicleBlock.patch | 2 +- .../0810-Refresh-ProjectileSource-for-projectiles.patch | 2 +- .../0824-Don-t-load-chunks-for-supporting-block-checks.patch | 2 +- .../server/0836-Folia-scheduler-and-owned-region-API.patch | 2 +- patches/server/0858-Expand-Pose-API.patch | 2 +- patches/server/0865-Fix-slot-desync.patch | 2 +- .../server/0899-Don-t-fire-sync-events-during-worldgen.patch | 2 +- .../server/0902-Restore-vanilla-entity-drops-behavior.patch | 4 ++-- patches/server/0934-Fix-DamageSource-API.patch | 2 +- patches/server/0978-Entity-Activation-Range-2.0.patch | 2 +- .../server/0981-Optimize-Collision-to-not-load-chunks.patch | 2 +- patches/server/0992-Properly-resend-entities.patch | 2 +- patches/server/1032-Void-damage-configuration-API.patch | 2 +- patches/server/1038-Moonrise-optimisation-patches.patch | 2 +- 36 files changed, 39 insertions(+), 38 deletions(-) diff --git a/patches/server/0344-Fix-item-duplication-and-teleport-issues.patch b/patches/server/0344-Fix-item-duplication-and-teleport-issues.patch index 128a755a95..77d7c3a5b2 100644 --- a/patches/server/0344-Fix-item-duplication-and-teleport-issues.patch +++ b/patches/server/0344-Fix-item-duplication-and-teleport-issues.patch @@ -16,7 +16,7 @@ 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 5b8e264098f1b713de15f714bae59d3efda365cf..6f1e09087cf2d8dbb61882473b220100e3b0369a 100644 +index 5b8e264098f1b713de15f714bae59d3efda365cf..d5f96ed753e8298085e40c6181285cd6ea838ca2 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -2630,11 +2630,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -28,7 +28,8 @@ index 5b8e264098f1b713de15f714bae59d3efda365cf..6f1e09087cf2d8dbb61882473b220100 return null; } // CraftBukkit end - ItemEntity entityitem = new ItemEntity(world, this.getX(), this.getY() + (double) yOffset, this.getZ(), stack); +- ItemEntity entityitem = new ItemEntity(world, this.getX(), this.getY() + (double) yOffset, this.getZ(), stack); ++ ItemEntity entityitem = new ItemEntity(world, this.getX(), this.getY() + (double) yOffset, this.getZ(), stack.copy()); // Paper - copy so we can destroy original + 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/0369-Ensure-Entity-position-and-AABB-are-never-invalid.patch b/patches/server/0369-Ensure-Entity-position-and-AABB-are-never-invalid.patch index acac658b4d..09ccee390d 100644 --- a/patches/server/0369-Ensure-Entity-position-and-AABB-are-never-invalid.patch +++ b/patches/server/0369-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 6f1e09087cf2d8dbb61882473b220100e3b0369a..a3e096525f89b7b66efa7987f9744618074ca38a 100644 +index d5f96ed753e8298085e40c6181285cd6ea838ca2..8993c16254ac05d509bd8ac1cd21e7cc7c4097b8 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -677,8 +677,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0404-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch b/patches/server/0404-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch index 6b069e9a8c..b792cb8eef 100644 --- a/patches/server/0404-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch +++ b/patches/server/0404-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch @@ -22,7 +22,7 @@ index 49039d929681891beb76b8c7f6e6d8bb614a7bf0..b634a90e87f52c79b74c256c13b659b5 this.lastGoodY = this.awaitingPositionFromClient.y; this.lastGoodZ = this.awaitingPositionFromClient.z; diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a3e096525f89b7b66efa7987f9744618074ca38a..9e4483d31330dfe82fd794c9cfb8d2aa318a39ea 100644 +index 8993c16254ac05d509bd8ac1cd21e7cc7c4097b8..2c9e57436469f94beb45f656a1df71aba7b1e408 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -179,6 +179,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0408-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/server/0408-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch index 3dec9f876b..f7644c3d37 100644 --- a/patches/server/0408-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch +++ b/patches/server/0408-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch @@ -6,7 +6,7 @@ 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 9e4483d31330dfe82fd794c9cfb8d2aa318a39ea..b55ca652e0828bc34848ad4f1ebb9001832550dc 100644 +index 2c9e57436469f94beb45f656a1df71aba7b1e408..c3e28cc070993be5afe9323c2c2d54ffc81d82f3 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -4704,4 +4704,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0410-Entity-isTicking.patch b/patches/server/0410-Entity-isTicking.patch index d4311d3a19..ce16852635 100644 --- a/patches/server/0410-Entity-isTicking.patch +++ b/patches/server/0410-Entity-isTicking.patch @@ -5,7 +5,7 @@ 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 b55ca652e0828bc34848ad4f1ebb9001832550dc..8cb02a0aeab64e0333c61aa3b30685ad1a169c48 100644 +index c3e28cc070993be5afe9323c2c2d54ffc81d82f3..6cefe8e0de375d3b192cc8be2b553a2dcbe098f5 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -4709,5 +4709,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0435-Climbing-should-not-bypass-cramming-gamerule.patch b/patches/server/0435-Climbing-should-not-bypass-cramming-gamerule.patch index fec776eb57..cd37306a92 100644 --- a/patches/server/0435-Climbing-should-not-bypass-cramming-gamerule.patch +++ b/patches/server/0435-Climbing-should-not-bypass-cramming-gamerule.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Climbing should not bypass cramming gamerule diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 8cb02a0aeab64e0333c61aa3b30685ad1a169c48..2e9a836f16eace80b010d5a0421901f7a1af8622 100644 +index 6cefe8e0de375d3b192cc8be2b553a2dcbe098f5..7feed6383fdc367796ccb943bd086814ec989e6d 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -2195,6 +2195,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0446-MC-4-Fix-item-position-desync.patch b/patches/server/0446-MC-4-Fix-item-position-desync.patch index 93bbd49bf5..f4858b59c3 100644 --- a/patches/server/0446-MC-4-Fix-item-position-desync.patch +++ b/patches/server/0446-MC-4-Fix-item-position-desync.patch @@ -28,7 +28,7 @@ index 488ebd443903af812913437f1ade3002093f2470..a043ac10834562d357ef0b5aded2e916 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 2e9a836f16eace80b010d5a0421901f7a1af8622..be547b0ef3b91da97fbc270cc00d922ba9c5896e 100644 +index 7feed6383fdc367796ccb943bd086814ec989e6d..7c07ffaabce7a3964114b0859ad0028d52c662cc 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -4449,6 +4449,16 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0469-Collision-option-for-requiring-a-player-participant.patch b/patches/server/0469-Collision-option-for-requiring-a-player-participant.patch index a3eef4b034..f939c99a24 100644 --- a/patches/server/0469-Collision-option-for-requiring-a-player-participant.patch +++ b/patches/server/0469-Collision-option-for-requiring-a-player-participant.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Collision option for requiring a player participant diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index be547b0ef3b91da97fbc270cc00d922ba9c5896e..07aff05e2e8cd36ebb6b9fb9d2f19b95c5f9bfc4 100644 +index 7c07ffaabce7a3964114b0859ad0028d52c662cc..0d10abc918e31bf8a529706b3350c80dec11b313 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -2024,6 +2024,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0477-Expand-EntityUnleashEvent.patch b/patches/server/0477-Expand-EntityUnleashEvent.patch index 09c4e7f7eb..214eb8dd8c 100644 --- a/patches/server/0477-Expand-EntityUnleashEvent.patch +++ b/patches/server/0477-Expand-EntityUnleashEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Expand EntityUnleashEvent diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 07aff05e2e8cd36ebb6b9fb9d2f19b95c5f9bfc4..bb2cfec32b63d3786f9ec255d4beef7065245cae 100644 +index 0d10abc918e31bf8a529706b3350c80dec11b313..3479b7c89741ba93e49e7e51fe4b45bb14fbc419 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -2689,12 +2689,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0571-Optimize-indirect-passenger-iteration.patch b/patches/server/0571-Optimize-indirect-passenger-iteration.patch index ea5798ac84..dcb94ae602 100644 --- a/patches/server/0571-Optimize-indirect-passenger-iteration.patch +++ b/patches/server/0571-Optimize-indirect-passenger-iteration.patch @@ -5,7 +5,7 @@ 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 bb2cfec32b63d3786f9ec255d4beef7065245cae..674df993333ddee13415a4379b81dadc68489af7 100644 +index 3479b7c89741ba93e49e7e51fe4b45bb14fbc419..fe9cdd104d6203233a90068b55e0876be4964afe 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -4087,20 +4087,34 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0578-Add-back-EntityPortalExitEvent.patch b/patches/server/0578-Add-back-EntityPortalExitEvent.patch index c739f7010e..2ddd256c17 100644 --- a/patches/server/0578-Add-back-EntityPortalExitEvent.patch +++ b/patches/server/0578-Add-back-EntityPortalExitEvent.patch @@ -5,7 +5,7 @@ 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 674df993333ddee13415a4379b81dadc68489af7..cb6a167ed778073be9f9e1f2eb27b46547b0a3ce 100644 +index fe9cdd104d6203233a90068b55e0876be4964afe..8dc2684a748e19e14c3efedf58be5efba99a45b4 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -3491,7 +3491,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0589-Add-Raw-Byte-Entity-Serialization.patch b/patches/server/0589-Add-Raw-Byte-Entity-Serialization.patch index 3464fbf215..5a6f0f6000 100644 --- a/patches/server/0589-Add-Raw-Byte-Entity-Serialization.patch +++ b/patches/server/0589-Add-Raw-Byte-Entity-Serialization.patch @@ -7,7 +7,7 @@ Subject: [PATCH] Add Raw Byte Entity Serialization public net.minecraft.world.entity.Entity setLevel(Lnet/minecraft/world/level/Level;)V diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index cb6a167ed778073be9f9e1f2eb27b46547b0a3ce..3bac521f0be372198c8b83d514f3d14a041b76cd 100644 +index 8dc2684a748e19e14c3efedf58be5efba99a45b4..11b3a0ece27cb2c01b908a9ac0c3d75f407f5ed0 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -2260,6 +2260,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0616-Update-head-rotation-in-missing-places.patch b/patches/server/0616-Update-head-rotation-in-missing-places.patch index 379a051545..c1f529129d 100644 --- a/patches/server/0616-Update-head-rotation-in-missing-places.patch +++ b/patches/server/0616-Update-head-rotation-in-missing-places.patch @@ -8,7 +8,7 @@ This is because bukkit uses a separate head rotation field for yaw. This issue only applies to players. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 3bac521f0be372198c8b83d514f3d14a041b76cd..366c3165783d3856d9f47f0dd4a594016d9f41ed 100644 +index 11b3a0ece27cb2c01b908a9ac0c3d75f407f5ed0..7b01d1cd5db771a1b6ee030664070ffb75579a4c 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1914,6 +1914,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0622-don-t-attempt-to-teleport-dead-entities.patch b/patches/server/0622-don-t-attempt-to-teleport-dead-entities.patch index cefb2c7fc0..89c8f26c2c 100644 --- a/patches/server/0622-don-t-attempt-to-teleport-dead-entities.patch +++ b/patches/server/0622-don-t-attempt-to-teleport-dead-entities.patch @@ -5,7 +5,7 @@ Subject: [PATCH] don't attempt to teleport dead entities diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 366c3165783d3856d9f47f0dd4a594016d9f41ed..8b5dc4b3ddb89fcc286c432400e3bc94b8787e4c 100644 +index 7b01d1cd5db771a1b6ee030664070ffb75579a4c..34cbb7c48535da774527b40f2e99f6f1d31c377d 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -713,7 +713,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0632-Forward-CraftEntity-in-teleport-command.patch b/patches/server/0632-Forward-CraftEntity-in-teleport-command.patch index 1af3ec979c..908c465129 100644 --- a/patches/server/0632-Forward-CraftEntity-in-teleport-command.patch +++ b/patches/server/0632-Forward-CraftEntity-in-teleport-command.patch @@ -5,7 +5,7 @@ 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 8b5dc4b3ddb89fcc286c432400e3bc94b8787e4c..ef923b1cdbe6276d6dc9776bd9e5a508bd021fc0 100644 +index 34cbb7c48535da774527b40f2e99f6f1d31c377d..3df8cfccba9bc4420b37dcbdfc4a12c720b51205 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -3480,6 +3480,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0651-Freeze-Tick-Lock-API.patch b/patches/server/0651-Freeze-Tick-Lock-API.patch index 76a992877a..0244ffe420 100644 --- a/patches/server/0651-Freeze-Tick-Lock-API.patch +++ b/patches/server/0651-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 ef923b1cdbe6276d6dc9776bd9e5a508bd021fc0..681295efe26a75af61d9ac311e002dfb26ffd8c6 100644 +index 3df8cfccba9bc4420b37dcbdfc4a12c720b51205..4f9ebf7a577223d85ceaad0babd2d0b4f492b6df 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -414,6 +414,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0681-Ensure-entity-passenger-world-matches-ridden-entity.patch b/patches/server/0681-Ensure-entity-passenger-world-matches-ridden-entity.patch index 6a4d8ee248..62372a6087 100644 --- a/patches/server/0681-Ensure-entity-passenger-world-matches-ridden-entity.patch +++ b/patches/server/0681-Ensure-entity-passenger-world-matches-ridden-entity.patch @@ -6,7 +6,7 @@ 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 681295efe26a75af61d9ac311e002dfb26ffd8c6..e1da49ec70f03940ce7c0fa23bcbc5cfb2494fc6 100644 +index 4f9ebf7a577223d85ceaad0babd2d0b4f492b6df..a4a07dc11edf3738698deed929cc224ff7114684 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -2802,7 +2802,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0702-Prevent-entity-loading-causing-async-lookups.patch b/patches/server/0702-Prevent-entity-loading-causing-async-lookups.patch index ee2ca735fd..97d528c05a 100644 --- a/patches/server/0702-Prevent-entity-loading-causing-async-lookups.patch +++ b/patches/server/0702-Prevent-entity-loading-causing-async-lookups.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Prevent entity loading causing async lookups diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index e1da49ec70f03940ce7c0fa23bcbc5cfb2494fc6..37111113f6ab6d77c558b10c4162758135db99b0 100644 +index a4a07dc11edf3738698deed929cc224ff7114684..73428cefa737e430c3c8c0d59e1fa763114b8c5a 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -724,6 +724,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0714-Add-various-missing-EntityDropItemEvent-calls.patch b/patches/server/0714-Add-various-missing-EntityDropItemEvent-calls.patch index 410a98a923..8e1fc7a091 100644 --- a/patches/server/0714-Add-various-missing-EntityDropItemEvent-calls.patch +++ b/patches/server/0714-Add-various-missing-EntityDropItemEvent-calls.patch @@ -5,7 +5,7 @@ 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 37111113f6ab6d77c558b10c4162758135db99b0..911b6391455402922e8bd52cfe9e5694231c81c3 100644 +index 73428cefa737e430c3c8c0d59e1fa763114b8c5a..619879bc0a05e16d450b4f7bb766b371e986193c 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -2672,6 +2672,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0755-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch b/patches/server/0755-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch index ff618c7595..ab6fac6da3 100644 --- a/patches/server/0755-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch +++ b/patches/server/0755-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch @@ -6,7 +6,7 @@ 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 911b6391455402922e8bd52cfe9e5694231c81c3..31cb6c4357afc934a5e6e1a7a9222ac54175459d 100644 +index 619879bc0a05e16d450b4f7bb766b371e986193c..8aabd17178543eab0724a05226e4741ead85ea87 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -3320,6 +3320,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0768-Player-Entity-Tracking-Events.patch b/patches/server/0768-Player-Entity-Tracking-Events.patch index 3cf77bc532..e3837eb40f 100644 --- a/patches/server/0768-Player-Entity-Tracking-Events.patch +++ b/patches/server/0768-Player-Entity-Tracking-Events.patch @@ -21,7 +21,7 @@ index 3f3124bbb5077a18c3d3afac7748a47e84b8fe35..7810df9c5045a78c2731ee416366da4f } 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 31cb6c4357afc934a5e6e1a7a9222ac54175459d..1f8362f0aeb03921a6876abbc6f83d8c3464bd6a 100644 +index 8aabd17178543eab0724a05226e4741ead85ea87..47a2cd3ea7c88681929351c6db9090149e2c4f2e 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -4069,7 +4069,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0775-Improve-PortalEvents.patch b/patches/server/0775-Improve-PortalEvents.patch index 6968fe1a35..a4cf96f882 100644 --- a/patches/server/0775-Improve-PortalEvents.patch +++ b/patches/server/0775-Improve-PortalEvents.patch @@ -18,7 +18,7 @@ index 25b1e8bec23465f0e9a17f156bdff7fe716db84c..f05a9fd321a4af28e9771bbf39d73f80 // Paper start - gateway-specific teleport event if (this.portalProcess != null && this.portalProcess.isSamePortal(((net.minecraft.world.level.block.EndGatewayBlock) net.minecraft.world.level.block.Blocks.END_GATEWAY)) && this.serverLevel().getBlockEntity(this.portalProcess.getEntryPosition()) instanceof net.minecraft.world.level.block.entity.TheEndGatewayBlockEntity theEndGatewayBlockEntity) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 1f8362f0aeb03921a6876abbc6f83d8c3464bd6a..1d21914ee8193cee8d7a8273f8e6932697b15c3c 100644 +index 47a2cd3ea7c88681929351c6db9090149e2c4f2e..37419819758574631486886307f3133a8a3c1c36 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -3740,7 +3740,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0780-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch b/patches/server/0780-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch index 98305f38a5..c08dab2b2d 100644 --- a/patches/server/0780-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch +++ b/patches/server/0780-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Expose pre-collision moving velocity to diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 1d21914ee8193cee8d7a8273f8e6932697b15c3c..6c4171aa43afa679946c8d8a08445bf5741aba8e 100644 +index 37419819758574631486886307f3133a8a3c1c36..0e52f67f0185cba47838f0a99a97b4d70314c8fa 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -968,6 +968,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0810-Refresh-ProjectileSource-for-projectiles.patch b/patches/server/0810-Refresh-ProjectileSource-for-projectiles.patch index b44397440a..eee4855e6b 100644 --- a/patches/server/0810-Refresh-ProjectileSource-for-projectiles.patch +++ b/patches/server/0810-Refresh-ProjectileSource-for-projectiles.patch @@ -14,7 +14,7 @@ clearing the owner. Co-authored-by: Warrior <50800980+Warriorrrr@users.noreply.github.com> diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 6c4171aa43afa679946c8d8a08445bf5741aba8e..ebd2bf1c16833ea8157bc3e3ef1f5730f646294f 100644 +index 0e52f67f0185cba47838f0a99a97b4d70314c8fa..e126f1d5117a5826c5bfec20719633d7ca5f2870 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -393,6 +393,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0824-Don-t-load-chunks-for-supporting-block-checks.patch b/patches/server/0824-Don-t-load-chunks-for-supporting-block-checks.patch index bcb87c4448..5f0cc11546 100644 --- a/patches/server/0824-Don-t-load-chunks-for-supporting-block-checks.patch +++ b/patches/server/0824-Don-t-load-chunks-for-supporting-block-checks.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Don't load chunks for supporting block checks diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index ebd2bf1c16833ea8157bc3e3ef1f5730f646294f..82d7d0038b269ea310571eb1c109ddd2afac39f7 100644 +index e126f1d5117a5826c5bfec20719633d7ca5f2870..3444b1a2da80b85e2b1928d69ff0dd980c5fb34f 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1228,7 +1228,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0836-Folia-scheduler-and-owned-region-API.patch b/patches/server/0836-Folia-scheduler-and-owned-region-API.patch index 0fc8f21cba..6b800bc3f7 100644 --- a/patches/server/0836-Folia-scheduler-and-owned-region-API.patch +++ b/patches/server/0836-Folia-scheduler-and-owned-region-API.patch @@ -1185,7 +1185,7 @@ index f9212fc2db00531da1618780e231e8ad21285907..a9063533ea4b2b349d476127b99c8222 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 82d7d0038b269ea310571eb1c109ddd2afac39f7..d8331b2d4ad3ebebb6ecbbf083f3464dad38f623 100644 +index 3444b1a2da80b85e2b1928d69ff0dd980c5fb34f..463dd4f91212318b51174c5d2f4d25ba95c25f50 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -262,10 +262,21 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0858-Expand-Pose-API.patch b/patches/server/0858-Expand-Pose-API.patch index 5fcd53b27b..47312a8635 100644 --- a/patches/server/0858-Expand-Pose-API.patch +++ b/patches/server/0858-Expand-Pose-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Expand Pose API diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index d8331b2d4ad3ebebb6ecbbf083f3464dad38f623..63e68376d1854f4f7ff1a1d0a11fcec1b8c3b61a 100644 +index 463dd4f91212318b51174c5d2f4d25ba95c25f50..eadea35bcb9c2a8d65789e09dbabe7cb4a126542 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -427,6 +427,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0865-Fix-slot-desync.patch b/patches/server/0865-Fix-slot-desync.patch index 5b0a3d5721..deb1575ede 100644 --- a/patches/server/0865-Fix-slot-desync.patch +++ b/patches/server/0865-Fix-slot-desync.patch @@ -40,7 +40,7 @@ index c50c3d11700aadd4c0e7114b4b6d5c5d15a33ac4..af7696900171ea6b7941251046bfc10c if (event.isCancelled()) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 63e68376d1854f4f7ff1a1d0a11fcec1b8c3b61a..e9142414c7d247ae2a27c0bc9ea2be3bb8e3db16 100644 +index eadea35bcb9c2a8d65789e09dbabe7cb4a126542..c0539c8826a60cbe25855319cc174fb1520798c0 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -2752,8 +2752,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0899-Don-t-fire-sync-events-during-worldgen.patch b/patches/server/0899-Don-t-fire-sync-events-during-worldgen.patch index 7504923127..389d1d5fde 100644 --- a/patches/server/0899-Don-t-fire-sync-events-during-worldgen.patch +++ b/patches/server/0899-Don-t-fire-sync-events-during-worldgen.patch @@ -31,7 +31,7 @@ index 1bacbb0d0bd5198d0f946a959b2335d6fba0ca88..a628da8a0ed7ae2c7b46df3881bd75dc if (entity.valid) { MinecraftServer.LOGGER.error("Attempted Double World add on {}", entity, new Throwable()); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index e9142414c7d247ae2a27c0bc9ea2be3bb8e3db16..1d66c35b1092b8101f0a803d8c087e5a958875b1 100644 +index c0539c8826a60cbe25855319cc174fb1520798c0..02b9d280486a23d8eef650566dfaa10ac0b96c9c 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -631,7 +631,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0902-Restore-vanilla-entity-drops-behavior.patch b/patches/server/0902-Restore-vanilla-entity-drops-behavior.patch index 74f4887dce..bbad1a93c7 100644 --- a/patches/server/0902-Restore-vanilla-entity-drops-behavior.patch +++ b/patches/server/0902-Restore-vanilla-entity-drops-behavior.patch @@ -37,7 +37,7 @@ index 419fcb4cd97cf10a2601e02024b999a51a0ff952..df21cd1bd2a3dda7169edbea18bbfdf0 loot.addAll(this.drops); this.drops.clear(); // SPIGOT-5188: make sure to clear diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 1d66c35b1092b8101f0a803d8c087e5a958875b1..aac1d620bf4cd1f18243f8c53cd32ab16fdeb616 100644 +index 02b9d280486a23d8eef650566dfaa10ac0b96c9c..cdc5ea3dd9559c076049c86a9fdb4e8bf85ff6c0 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -2678,19 +2678,45 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -80,7 +80,7 @@ index 1d66c35b1092b8101f0a803d8c087e5a958875b1..aac1d620bf4cd1f18243f8c53cd32ab1 return null; } // CraftBukkit end - ItemEntity entityitem = new ItemEntity(world, this.getX(), this.getY() + (double) yOffset, this.getZ(), stack); + ItemEntity entityitem = new ItemEntity(world, this.getX(), this.getY() + (double) yOffset, this.getZ(), stack.copy()); // Paper - copy so we can destroy original 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/0934-Fix-DamageSource-API.patch b/patches/server/0934-Fix-DamageSource-API.patch index f42e69a0af..113d204bee 100644 --- a/patches/server/0934-Fix-DamageSource-API.patch +++ b/patches/server/0934-Fix-DamageSource-API.patch @@ -84,7 +84,7 @@ index fddbdb7322a2063996a28c5c3d93c265188b1256..be87cb3cfa15a7d889118cdc4b87232e public DamageSource sonicBoom(Entity attacker) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index aac1d620bf4cd1f18243f8c53cd32ab16fdeb616..5c0d64c70a94d20ff0e72aed490ef2973eb7ea74 100644 +index cdc5ea3dd9559c076049c86a9fdb4e8bf85ff6c0..23095ace5a6aa6fd6cc1d5defa4a783ccb637b1d 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -3388,7 +3388,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0978-Entity-Activation-Range-2.0.patch b/patches/server/0978-Entity-Activation-Range-2.0.patch index 65d38450a6..6a879cf17f 100644 --- a/patches/server/0978-Entity-Activation-Range-2.0.patch +++ b/patches/server/0978-Entity-Activation-Range-2.0.patch @@ -105,7 +105,7 @@ index fe610561e6fbb9bc547d27123793395fb0ad80aa..ce5fd95cabadd7c92726c401ae35e05d } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 5c0d64c70a94d20ff0e72aed490ef2973eb7ea74..996506b879c90642eaeac757b31f3e11e798a6b5 100644 +index 23095ace5a6aa6fd6cc1d5defa4a783ccb637b1d..9a37a898eba0cd9ab18ec5ee241cf054c8a71b32 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -420,6 +420,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0981-Optimize-Collision-to-not-load-chunks.patch b/patches/server/0981-Optimize-Collision-to-not-load-chunks.patch index 0f89ea94ca..daa6249dc3 100644 --- a/patches/server/0981-Optimize-Collision-to-not-load-chunks.patch +++ b/patches/server/0981-Optimize-Collision-to-not-load-chunks.patch @@ -26,7 +26,7 @@ index d12ac1b045c6721255780c5afbbad6e7103629eb..59cc1702079f1d182bdbe8068aa37b5b if (teleporttransition.missingRespawnBlock()) { entityplayer1.connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.NO_RESPAWN_BLOCK_AVAILABLE, 0.0F)); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 996506b879c90642eaeac757b31f3e11e798a6b5..87136591e2a8421b46e124b0093c56da87aec61b 100644 +index 9a37a898eba0cd9ab18ec5ee241cf054c8a71b32..aa7d3383c773d3537335e449636f33d69cde12bb 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -258,6 +258,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0992-Properly-resend-entities.patch b/patches/server/0992-Properly-resend-entities.patch index dbadaf99bb..e7bcb808c9 100644 --- a/patches/server/0992-Properly-resend-entities.patch +++ b/patches/server/0992-Properly-resend-entities.patch @@ -134,7 +134,7 @@ index 59cc1702079f1d182bdbe8068aa37b5b979aa64d..90c469193ecf9d04dd9e3f1a38157d47 } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 87136591e2a8421b46e124b0093c56da87aec61b..7784ff17216a25c6dbf26648831c04734300dad1 100644 +index aa7d3383c773d3537335e449636f33d69cde12bb..6a0472eaae9ad890692862590b8d23110e48536d 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -598,13 +598,45 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/1032-Void-damage-configuration-API.patch b/patches/server/1032-Void-damage-configuration-API.patch index afa0337fd7..6270e63ff8 100644 --- a/patches/server/1032-Void-damage-configuration-API.patch +++ b/patches/server/1032-Void-damage-configuration-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Void damage configuration API diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 7784ff17216a25c6dbf26648831c04734300dad1..faa239dcb9b7b608911b464c3665c8b064ee6c41 100644 +index 6a0472eaae9ad890692862590b8d23110e48536d..7d16f9935407931823ad3e420f336c7ec69528b2 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -853,8 +853,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/1038-Moonrise-optimisation-patches.patch b/patches/server/1038-Moonrise-optimisation-patches.patch index d39fa0eab5..06e5e26ee4 100644 --- a/patches/server/1038-Moonrise-optimisation-patches.patch +++ b/patches/server/1038-Moonrise-optimisation-patches.patch @@ -28422,7 +28422,7 @@ index 50040c497a819cd1229042ab3cb057d34a32cacc..1f9c436a632e4f110be61cf76fcfc3b7 + // Paper end - block counting } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index faa239dcb9b7b608911b464c3665c8b064ee6c41..68dec563d9725daa0044781395a840ac5d61b9b5 100644 +index 7d16f9935407931823ad3e420f336c7ec69528b2..b36a915e6d337d7ec3f797bf1773b14c5b231d76 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -175,7 +175,7 @@ import org.bukkit.event.player.PlayerTeleportEvent;