From 2f315698078c6abddefdf82ed0d78a6e08e7deda Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Fri, 3 Dec 2021 21:28:15 +0000 Subject: [PATCH] Updated Upstream (Bukkit/CraftBukkit/Spigot) Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 9115281f SPIGOT-6832: Improve Player#getPing docs CraftBukkit Changes: fd3478bc7 #967: Store last lava contact location for events Spigot Changes: dbf49382 Rebuild patches 58cb9d26 #113: Use simulationDistance for entity activation range base --- patches/server/0006-MC-Utils.patch | 6 ++--- ...-MinecraftKey-Information-to-Objects.patch | 6 ++--- patches/server/0010-Timings-v2.patch | 12 ++++----- ...d-mobs-to-jump-and-take-water-damage.patch | 4 +-- patches/server/0027-Entity-Origin-API.patch | 24 ++++++++--------- ...nfigurable-top-of-nether-void-damage.patch | 4 +-- ...dd-configurable-portal-search-radius.patch | 4 +-- ...oreboards-for-non-players-by-default.patch | 4 +-- ...llow-entities-to-ride-themselves-572.patch | 4 +-- .../server/0130-Cap-Entity-Collisions.patch | 14 +++++----- .../server/0147-Entity-fromMobSpawner.patch | 20 +++++++------- ...-more-information-to-Entity.toString.patch | 4 +-- ...entity-dismount-during-teleportation.patch | 10 +++---- .../0315-Entity-getEntitySpawnReason.patch | 6 ++--- .../0360-Entity-Activation-Range-2.0.patch | 26 +++++++++---------- ...x-items-vanishing-through-end-portal.patch | 4 +-- ...n-to-nerf-pigmen-from-nether-portals.patch | 16 ++++++------ ...pawn-point-if-spawn-in-unloaded-worl.patch | 4 +-- ...m-duplication-issues-and-teleport-is.patch | 14 +++++----- ...sure-Entity-AABB-s-are-never-invalid.patch | 6 ++--- .../server/0468-Add-entity-liquid-API.patch | 4 +-- ...ortation-and-cancel-velocity-if-tele.patch | 6 ++--- ...y-Counter-to-allow-plugins-to-use-va.patch | 6 ++--- patches/server/0513-Entity-isTicking.patch | 4 +-- ...-should-not-bypass-cramming-gamerule.patch | 6 ++--- .../0549-MC-4-Fix-item-position-desync.patch | 4 +-- ...n-for-requiring-a-player-participant.patch | 6 ++--- .../0678-Fix-dangerous-end-portal-logic.patch | 4 +-- ...ptimize-indirect-passenger-iteration.patch | 4 +-- .../0725-Add-back-EntityPortalExitEvent.patch | 6 ++--- ...36-Add-Raw-Byte-Entity-Serialization.patch | 6 ++--- ...ite-entity-bounding-box-lookup-calls.patch | 8 +++--- ...l-more-information-in-watchdog-dumps.patch | 10 +++---- ...date-head-rotation-in-missing-places.patch | 6 ++--- work/Bukkit | 2 +- work/CraftBukkit | 2 +- work/Spigot | 2 +- 37 files changed, 139 insertions(+), 139 deletions(-) diff --git a/patches/server/0006-MC-Utils.patch b/patches/server/0006-MC-Utils.patch index ad27f73c75..5895c103c5 100644 --- a/patches/server/0006-MC-Utils.patch +++ b/patches/server/0006-MC-Utils.patch @@ -6035,7 +6035,7 @@ index 3a4f026c73cdd22d30bdadabbcf24bef969b73e4..0d536d72ac918fbd403397ff369d1014 private final String name; private final Comparator comparator; diff --git a/src/main/java/net/minecraft/server/level/WorldGenRegion.java b/src/main/java/net/minecraft/server/level/WorldGenRegion.java -index 04204239808a6479b6354520abcead24bcd40dc8..5d189257f494eb12b5fd98b12da6dd09ca14f972 100644 +index d679be6c3ce0d57fa2063a45baec1b108a0a2707..c34dcba5c94a321f236fa8c70021adf3cf190bdc 100644 --- a/src/main/java/net/minecraft/server/level/WorldGenRegion.java +++ b/src/main/java/net/minecraft/server/level/WorldGenRegion.java @@ -152,6 +152,26 @@ public class WorldGenRegion implements WorldGenLevel { @@ -6101,10 +6101,10 @@ index a4c5edee297af6d68d518b77f706732b5ccbe4de..7bf4bf5cb2c1b54a7e2733091f48f3a8 @Override public void tell(R runnable) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 4d44f37f77932e9f80906dce30c90ec1eca83df9..1788ecdfd426021dabdb3823e5c5ee49c31f4b8c 100644 +index 2d530eababfe131942714e543ba305e3e32fd3c7..600cebdb6688ffef448d126233a329a6931ce37a 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -301,6 +301,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -302,6 +302,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return this.level.hasChunk((int) Math.floor(this.getX()) >> 4, (int) Math.floor(this.getZ()) >> 4); } // CraftBukkit end diff --git a/patches/server/0009-Add-MinecraftKey-Information-to-Objects.patch b/patches/server/0009-Add-MinecraftKey-Information-to-Objects.patch index 4e7139897c..962d01a869 100644 --- a/patches/server/0009-Add-MinecraftKey-Information-to-Objects.patch +++ b/patches/server/0009-Add-MinecraftKey-Information-to-Objects.patch @@ -36,7 +36,7 @@ index 0000000000000000000000000000000000000000..9f0c7fd903f085e70db1785fb8bcdb54 + } +} diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 6478a8225bbf434e25c4b159cb890d39892e32d8..97a154a106c7084e2a70d39e8b4c336db8cd51c6 100644 +index 600cebdb6688ffef448d126233a329a6931ce37a..fdf607c91ee31206839b14212a20ee81ec751776 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -145,7 +145,7 @@ import org.bukkit.event.player.PlayerTeleportEvent; @@ -48,7 +48,7 @@ index 6478a8225bbf434e25c4b159cb890d39892e32d8..97a154a106c7084e2a70d39e8b4c336d // CraftBukkit start private static final int CURRENT_LEVEL = 2; -@@ -1943,12 +1943,32 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1949,12 +1949,32 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return true; } @@ -83,7 +83,7 @@ index 6478a8225bbf434e25c4b159cb890d39892e32d8..97a154a106c7084e2a70d39e8b4c336d protected abstract void readAdditionalSaveData(CompoundTag nbt); diff --git a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java -index 7fb9a450408702268855e29f1025a1a596543b9d..23f0a89b01d02a5757a90f0232cafa8e1cd7cf85 100644 +index 30adcc82bc4e2e7145d29b64fde952d694cdf1e1..d33c2d2ec285179614d21a255cea394682e4cc2c 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java @@ -23,7 +23,7 @@ import org.bukkit.inventory.InventoryHolder; diff --git a/patches/server/0010-Timings-v2.patch b/patches/server/0010-Timings-v2.patch index a1beaaa783..d72b12dfde 100644 --- a/patches/server/0010-Timings-v2.patch +++ b/patches/server/0010-Timings-v2.patch @@ -1412,7 +1412,7 @@ index 287a9b9827be0cf556aa5b1091e3520212ac7ba1..30a0335d1debaac45701149d243de05e public UserWhiteList getWhiteList() { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 93b2c3c68f39c859f60488404f4114131264ee24..23e5342814e954d1d62017ec0bd5411da77418d8 100644 +index fdf607c91ee31206839b14212a20ee81ec751776..3eb1f5e422002a48651a24d0e70884bf54de717e 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -125,7 +125,6 @@ import org.bukkit.craftbukkit.event.CraftPortalEvent; @@ -1423,15 +1423,15 @@ index 93b2c3c68f39c859f60488404f4114131264ee24..23e5342814e954d1d62017ec0bd5411d import org.bukkit.event.entity.EntityCombustByEntityEvent; import org.bukkit.event.hanging.HangingBreakByEntityEvent; import org.bukkit.event.vehicle.VehicleBlockCollisionEvent; -@@ -285,7 +284,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i - public org.bukkit.projectiles.ProjectileSource projectileSource; // For projectiles only +@@ -286,7 +285,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i public boolean forceExplosionKnockback; // SPIGOT-949 public boolean persistentInvisibility = false; + public BlockPos lastLavaContact; - public CustomTimingsHandler tickTimer = org.bukkit.craftbukkit.SpigotTimings.getEntityTimings(this); // Spigot // Spigot start public final org.spigotmc.ActivationRange.ActivationType activationType = org.spigotmc.ActivationRange.initializeEntityActivationType(this); public final boolean defaultActivationState; -@@ -728,7 +726,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -734,7 +732,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } public void move(MoverType movementType, Vec3 movement) { @@ -1439,7 +1439,7 @@ index 93b2c3c68f39c859f60488404f4114131264ee24..23e5342814e954d1d62017ec0bd5411d if (this.noPhysics) { this.setPos(this.getX() + movement.x, this.getY() + movement.y, this.getZ() + movement.z); } else { -@@ -881,7 +878,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -887,7 +884,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i this.level.getProfiler().pop(); } } @@ -2145,7 +2145,7 @@ index b39819d579c548318f1539702fb2df97b052b63a..a73185be22c73ffd746fe2abcfbf0779 * This helper class represents the different NBT Tags. *

diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index e73db1031c40f6bdf422dcefaa55721caf3cb4e9..f023f3a0d1671398363f0caa432ffb61fd07c9b2 100644 +index 747131fbfb2c31ee8cb1587ef6ee34feab8799a8..258b969acab161a861bb66b7748bc87dc0f1a024 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -27,7 +27,7 @@ import net.minecraft.world.entity.projectile.ThrownTrident; diff --git a/patches/server/0016-Allow-nerfed-mobs-to-jump-and-take-water-damage.patch b/patches/server/0016-Allow-nerfed-mobs-to-jump-and-take-water-damage.patch index 8e4b448759..3d7a829bc9 100644 --- a/patches/server/0016-Allow-nerfed-mobs-to-jump-and-take-water-damage.patch +++ b/patches/server/0016-Allow-nerfed-mobs-to-jump-and-take-water-damage.patch @@ -19,10 +19,10 @@ index 5896b4e4646d722db5622a424fa26f42d3f8d9ff..0a6e98ca5534430540044a32c280e568 + } } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 85e96c00f4574a5b98c20634f21372d8829d9fdb..d5bc0d74a015b8f066516be40eefc275b1b88f81 100644 +index 3eb1f5e422002a48651a24d0e70884bf54de717e..3efdf887ec70aa2d3486a1ddfc8e5e1c1e27829a 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1253,6 +1253,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -1259,6 +1259,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i return this.isInWater() || this.isInRain(); } diff --git a/patches/server/0027-Entity-Origin-API.patch b/patches/server/0027-Entity-Origin-API.patch index 14051de95e..b347996aa4 100644 --- a/patches/server/0027-Entity-Origin-API.patch +++ b/patches/server/0027-Entity-Origin-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Entity Origin API diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 4dbac963fe8c006f75d47871a0545dd9b241b7eb..ae5e64778e2acc4bf0c5156cf8d4bd010a7fe1e6 100644 +index 9584f09f44445d91ee259f2a50b1fecf718e18dc..f158ddd486fbd6081fef1592e916986462d01991 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -1983,6 +1983,15 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -25,13 +25,13 @@ index 4dbac963fe8c006f75d47871a0545dd9b241b7eb..ae5e64778e2acc4bf0c5156cf8d4bd01 public void onTrackingEnd(Entity entity) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index d5bc0d74a015b8f066516be40eefc275b1b88f81..de3bd691197eb61d0f9a999da6a0154ad4ad8714 100644 +index 3efdf887ec70aa2d3486a1ddfc8e5e1c1e27829a..228aa322f438c1c5f5bf655ff4c056aa01daed1a 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -284,6 +284,27 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i - public org.bukkit.projectiles.ProjectileSource projectileSource; // For projectiles only - public boolean forceExplosionKnockback; // SPIGOT-949 - public boolean persistentInvisibility = false; +@@ -291,7 +291,27 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i + public long activatedTick = Integer.MIN_VALUE; + public void inactiveTick() { } + // Spigot end + // Paper start + @javax.annotation.Nullable + private org.bukkit.util.Vector origin; @@ -42,7 +42,7 @@ index d5bc0d74a015b8f066516be40eefc275b1b88f81..de3bd691197eb61d0f9a999da6a0154a + this.origin = location.toVector(); + this.originWorld = location.getWorld().getUID(); + } -+ + + @javax.annotation.Nullable + public org.bukkit.util.Vector getOriginVector() { + return this.origin != null ? this.origin.clone() : null; @@ -53,10 +53,10 @@ index d5bc0d74a015b8f066516be40eefc275b1b88f81..de3bd691197eb61d0f9a999da6a0154a + return this.originWorld; + } + // Paper end - // Spigot start - public final org.spigotmc.ActivationRange.ActivationType activationType = org.spigotmc.ActivationRange.initializeEntityActivationType(this); - public final boolean defaultActivationState; -@@ -1801,6 +1822,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i + public float getBukkitYaw() { + return this.yRot; + } +@@ -1807,6 +1827,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i this.bukkitEntity.storeBukkitValues(nbt); } // CraftBukkit end @@ -72,7 +72,7 @@ index d5bc0d74a015b8f066516be40eefc275b1b88f81..de3bd691197eb61d0f9a999da6a0154a return nbt; } catch (Throwable throwable) { CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT"); -@@ -1927,6 +1957,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -1933,6 +1962,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } // CraftBukkit end diff --git a/patches/server/0029-Configurable-top-of-nether-void-damage.patch b/patches/server/0029-Configurable-top-of-nether-void-damage.patch index 3e532cc019..c03ff1abd8 100644 --- a/patches/server/0029-Configurable-top-of-nether-void-damage.patch +++ b/patches/server/0029-Configurable-top-of-nether-void-damage.patch @@ -29,10 +29,10 @@ index 6dec1bb96d695f28aae6517e4d78249169d2351a..1b090f2e38a8857ef74403e1f3db8c2b + } } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index ff233d417d3f4f8fa4fa9ae9e77de7640102a172..6bc8c8e15e66cd54cbb6ebc6d09a6fe8652b5d18 100644 +index 228aa322f438c1c5f5bf655ff4c056aa01daed1a..5ae90cf6e786bf82bebd7914b4b65e87da2b6301 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -634,7 +634,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -638,7 +638,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } public void checkOutOfWorld() { diff --git a/patches/server/0053-Add-configurable-portal-search-radius.patch b/patches/server/0053-Add-configurable-portal-search-radius.patch index 4229c1ced4..2ecac78c22 100644 --- a/patches/server/0053-Add-configurable-portal-search-radius.patch +++ b/patches/server/0053-Add-configurable-portal-search-radius.patch @@ -23,10 +23,10 @@ index 1e3c39f0eeeb07f8d49e3651b18a152db9ccba7b..c248b66486044150c64eaddbef85fa66 + } } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index c061489a3178efc99292e6865adf260d1bad351c..7347438a3c8feeb1caaf6c8a8a20b6b94d21c0b8 100644 +index 5ae90cf6e786bf82bebd7914b4b65e87da2b6301..38b0923d47ee6a26325d559993f26367d7d81590 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2895,7 +2895,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -2900,7 +2900,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i double d0 = DimensionType.getTeleportationScale(this.level.dimensionType(), destination.dimensionType()); BlockPos blockposition = worldborder.clampToBounds(this.getX() * d0, this.getY(), this.getZ() * d0); // CraftBukkit start diff --git a/patches/server/0058-Disable-Scoreboards-for-non-players-by-default.patch b/patches/server/0058-Disable-Scoreboards-for-non-players-by-default.patch index dee886bba2..7fdf4ea989 100644 --- a/patches/server/0058-Disable-Scoreboards-for-non-players-by-default.patch +++ b/patches/server/0058-Disable-Scoreboards-for-non-players-by-default.patch @@ -25,10 +25,10 @@ index ada624b5f58381122e59568c2087cf38fd2baf3e..5b55fce59db9ac3ab6030ebe8374c514 + } } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 7347438a3c8feeb1caaf6c8a8a20b6b94d21c0b8..ddbbef22813831267c407d9864ce8decb5706df5 100644 +index 38b0923d47ee6a26325d559993f26367d7d81590..fd43c6053b14f60d77e902326df8957d272b944c 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2542,6 +2542,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -2547,6 +2547,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i @Nullable public Team getTeam() { diff --git a/patches/server/0128-Don-t-allow-entities-to-ride-themselves-572.patch b/patches/server/0128-Don-t-allow-entities-to-ride-themselves-572.patch index c55eb9edf8..75d620d5bb 100644 --- a/patches/server/0128-Don-t-allow-entities-to-ride-themselves-572.patch +++ b/patches/server/0128-Don-t-allow-entities-to-ride-themselves-572.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Don't allow entities to ride themselves - #572 diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 1dba6be93f1078b71712d0b5a24224bdcaeb61a0..0041783c4cc05ce2730f15b4c8c58ff6f1a94f57 100644 +index 493ddc76367226fa6344a1ee333378410e42b165..b1d86df7002d6f6398288bc24c0d92a6349e0dcb 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2237,6 +2237,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -2242,6 +2242,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } protected boolean addPassenger(Entity entity) { // CraftBukkit diff --git a/patches/server/0130-Cap-Entity-Collisions.patch b/patches/server/0130-Cap-Entity-Collisions.patch index 0c94caebbc..9c089bc23c 100644 --- a/patches/server/0130-Cap-Entity-Collisions.patch +++ b/patches/server/0130-Cap-Entity-Collisions.patch @@ -27,17 +27,17 @@ index f383f30b9dd1a7c6cf69d342f99118beec70b206..47b717e8741bb2b8f3aa776dcdc73a3e + } } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 0041783c4cc05ce2730f15b4c8c58ff6f1a94f57..a1ca58317ed0c6a395503d00cff332b092c4d549 100644 +index b1d86df7002d6f6398288bc24c0d92a6349e0dcb..d6e1860772724347d62fb6990304ec8f4cde4035 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -325,6 +325,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i - public final org.spigotmc.ActivationRange.ActivationType activationType = org.spigotmc.ActivationRange.initializeEntityActivationType(this); - public final boolean defaultActivationState; - public long activatedTick = Integer.MIN_VALUE; -+ protected int numCollisions = 0; // Paper +@@ -308,6 +308,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i public void inactiveTick() { } // Spigot end - + // Paper start ++ protected int numCollisions = 0; // Paper + @javax.annotation.Nullable + private org.bukkit.util.Vector origin; + @javax.annotation.Nullable diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java index 36aef3dbfe407ca6fa206bc3fc4390e5c2770aa3..e0fe53045da81fc9b2eac3b215d641cf0c722895 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/patches/server/0147-Entity-fromMobSpawner.patch b/patches/server/0147-Entity-fromMobSpawner.patch index 3c21dea924..6825a9968e 100644 --- a/patches/server/0147-Entity-fromMobSpawner.patch +++ b/patches/server/0147-Entity-fromMobSpawner.patch @@ -5,18 +5,18 @@ Subject: [PATCH] Entity#fromMobSpawner() diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a1ca58317ed0c6a395503d00cff332b092c4d549..6f6a2c6bd371b892dd0e7a9d4c79c462de8b1ffa 100644 +index d6e1860772724347d62fb6990304ec8f4cde4035..28d4202f0a9c6910e98d32f6c561ac25c73c186e 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -325,6 +325,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i - public final org.spigotmc.ActivationRange.ActivationType activationType = org.spigotmc.ActivationRange.initializeEntityActivationType(this); - public final boolean defaultActivationState; - public long activatedTick = Integer.MIN_VALUE; -+ public boolean spawnedViaMobSpawner; // Paper - Yes this name is similar to above, upstream took the better one - protected int numCollisions = 0; // Paper - public void inactiveTick() { } +@@ -309,6 +309,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i // Spigot end -@@ -1851,6 +1852,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i + // Paper start + protected int numCollisions = 0; // Paper ++ public boolean spawnedViaMobSpawner; // Paper - Yes this name is similar to above, upstream took the better one + @javax.annotation.Nullable + private org.bukkit.util.Vector origin; + @javax.annotation.Nullable +@@ -1856,6 +1857,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } nbt.put("Paper.Origin", this.newDoubleList(origin.getX(), origin.getY(), origin.getZ())); } @@ -27,7 +27,7 @@ index a1ca58317ed0c6a395503d00cff332b092c4d549..6f6a2c6bd371b892dd0e7a9d4c79c462 // Paper end return nbt; } catch (Throwable throwable) { -@@ -1990,6 +1995,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -1995,6 +2000,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i this.originWorld = originWorld; origin = new org.bukkit.util.Vector(originTag.getDouble(0), originTag.getDouble(1), originTag.getDouble(2)); } diff --git a/patches/server/0224-add-more-information-to-Entity.toString.patch b/patches/server/0224-add-more-information-to-Entity.toString.patch index e05bc0e21a..b16758eb2c 100644 --- a/patches/server/0224-add-more-information-to-Entity.toString.patch +++ b/patches/server/0224-add-more-information-to-Entity.toString.patch @@ -6,10 +6,10 @@ Subject: [PATCH] add more information to Entity.toString() UUID, ticks lived, valid, dead diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 6f6a2c6bd371b892dd0e7a9d4c79c462de8b1ffa..5df955eea09b5abd32c12abf5d13030bf9a3a9ae 100644 +index 28d4202f0a9c6910e98d32f6c561ac25c73c186e..2a11514554b6aea819046282cfcaeeb43d1ed920 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2808,7 +2808,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -2813,7 +2813,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i public String toString() { String s = this.level == null ? "~NULL~" : this.level.toString(); diff --git a/patches/server/0295-force-entity-dismount-during-teleportation.patch b/patches/server/0295-force-entity-dismount-during-teleportation.patch index 5d0975b0d9..8bef5395df 100644 --- a/patches/server/0295-force-entity-dismount-during-teleportation.patch +++ b/patches/server/0295-force-entity-dismount-during-teleportation.patch @@ -41,10 +41,10 @@ index db7f2715534ed71a2b285de095238586fe6a35b0..f51c416e7938b7905f7efb154ab14cad if (entity1 != entity && this.connection != null) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index d442725c1c9ae274b11f3a11ea4cf15f51d62def..5e4fdf4bd8f4f28ddbd59e054c4621fa01f6d165 100644 +index 2981a29b011cb1a08a776abc5ec6a94228061f98..7ec6561722644bfd9dd81d12732eab67c8dd57ae 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2233,11 +2233,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -2238,11 +2238,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } public void removeVehicle() { @@ -62,7 +62,7 @@ index d442725c1c9ae274b11f3a11ea4cf15f51d62def..5e4fdf4bd8f4f28ddbd59e054c4621fa } } -@@ -2300,7 +2305,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -2305,7 +2310,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i return true; // CraftBukkit } @@ -74,7 +74,7 @@ index d442725c1c9ae274b11f3a11ea4cf15f51d62def..5e4fdf4bd8f4f28ddbd59e054c4621fa if (entity.getVehicle() == this) { throw new IllegalStateException("Use x.stopRiding(y), not y.removePassenger(x)"); } else { -@@ -2310,7 +2318,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -2315,7 +2323,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i if (this.getBukkitEntity() instanceof Vehicle && entity.getBukkitEntity() instanceof LivingEntity) { VehicleExitEvent event = new VehicleExitEvent( (Vehicle) this.getBukkitEntity(), @@ -83,7 +83,7 @@ index d442725c1c9ae274b11f3a11ea4cf15f51d62def..5e4fdf4bd8f4f28ddbd59e054c4621fa ); // Suppress during worldgen if (this.valid) { -@@ -2324,7 +2332,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -2329,7 +2337,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } // CraftBukkit end // Spigot start diff --git a/patches/server/0315-Entity-getEntitySpawnReason.patch b/patches/server/0315-Entity-getEntitySpawnReason.patch index 74887c6d76..e3033c5c5c 100644 --- a/patches/server/0315-Entity-getEntitySpawnReason.patch +++ b/patches/server/0315-Entity-getEntitySpawnReason.patch @@ -35,7 +35,7 @@ index 7ac89aa6d0af25cac96ede3b085e68a803fb7229..dc5d5a498460d09de6626b8da8a7bfcb }); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 5e4fdf4bd8f4f28ddbd59e054c4621fa01f6d165..c116987952f53026ef0b5d67ec8da1fa9baa71b6 100644 +index 7ec6561722644bfd9dd81d12732eab67c8dd57ae..9723109a678f9532cd7ca0034d30bc4b450fcab5 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -67,6 +67,8 @@ import net.minecraft.world.InteractionHand; @@ -55,7 +55,7 @@ index 5e4fdf4bd8f4f28ddbd59e054c4621fa01f6d165..c116987952f53026ef0b5d67ec8da1fa // Paper end public com.destroystokyo.paper.loottable.PaperLootableInventoryData lootableData; // Paper -@@ -1854,6 +1857,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -1859,6 +1862,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } nbt.put("Paper.Origin", this.newDoubleList(origin.getX(), origin.getY(), origin.getZ())); } @@ -65,7 +65,7 @@ index 5e4fdf4bd8f4f28ddbd59e054c4621fa01f6d165..c116987952f53026ef0b5d67ec8da1fa // Save entity's from mob spawner status if (spawnedViaMobSpawner) { nbt.putBoolean("Paper.FromMobSpawner", true); -@@ -1999,6 +2005,26 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -2004,6 +2010,26 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } spawnedViaMobSpawner = nbt.getBoolean("Paper.FromMobSpawner"); // Restore entity's from mob spawner status diff --git a/patches/server/0360-Entity-Activation-Range-2.0.patch b/patches/server/0360-Entity-Activation-Range-2.0.patch index c4fbafebd3..4908b5cf54 100644 --- a/patches/server/0360-Entity-Activation-Range-2.0.patch +++ b/patches/server/0360-Entity-Activation-Range-2.0.patch @@ -116,19 +116,19 @@ index e6408251ed836715f324b1c1e49ff2473f0963ae..db123ef36fc4cb0206349ac696572714 } else { passenger.stopRiding(); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index c116987952f53026ef0b5d67ec8da1fa9baa71b6..ba436054bcbce6ef990b71d58d74ff5d4d53fef2 100644 +index 9723109a678f9532cd7ca0034d30bc4b450fcab5..09c70c911bfa7be9883b6b83c1e8600fc9031463 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -330,6 +330,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i - public final org.spigotmc.ActivationRange.ActivationType activationType = org.spigotmc.ActivationRange.initializeEntityActivationType(this); - public final boolean defaultActivationState; - public long activatedTick = Integer.MIN_VALUE; +@@ -313,6 +313,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i + public void inactiveTick() { } + // Spigot end + // Paper start + public long activatedImmunityTick = Integer.MIN_VALUE; // Paper + public boolean isTemporarilyActive = false; // Paper - public boolean spawnedViaMobSpawner; // Paper - Yes this name is similar to above, upstream took the better one protected int numCollisions = 0; // Paper - public void inactiveTick() { } -@@ -779,6 +781,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i + public boolean spawnedViaMobSpawner; // Paper - Yes this name is similar to above, upstream took the better one + @javax.annotation.Nullable +@@ -784,6 +786,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } else { this.wasOnFire = this.isOnFire(); if (movementType == MoverType.PISTON) { @@ -137,7 +137,7 @@ index c116987952f53026ef0b5d67ec8da1fa9baa71b6..ba436054bcbce6ef990b71d58d74ff5d movement = this.limitPistonMovement(movement); if (movement.equals(Vec3.ZERO)) { return; -@@ -791,6 +795,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -796,6 +800,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i this.stuckSpeedMultiplier = Vec3.ZERO; this.setDeltaMovement(Vec3.ZERO); } @@ -256,7 +256,7 @@ index 8d8cce87acc5a93afb4b8925a5a5dbf71d371fcd..7fc40bb5fb6265b283c7c611f63aae76 } } diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index 55e4e7fcefc60e66239035e72ad44e0c796bf300..785fcb94d707b6790ef2191f7c9db77d253e9c6d 100644 +index fc47ef685539addfcfc6b5defea8936fbca9f69d..55b44d0391e9b946536f070ea5bbdd19cd0ae981 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -223,17 +223,29 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -343,7 +343,7 @@ index 6b29f66aec8a82b367a979b5b04857416b697c14..78d252b829e5c1f19532656a72862085 } } diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index 84ce3d38d5decb4a2f9fae78e0ef5d715860dc7d..e0302f82356e8cba848aa8cec1e821e02abbd6f6 100644 +index ffca120995c6f3eac1db7642bec08ce210321249..d0e697138ec1a2a0570d4cf46e4f28b4a7eaa946 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -1,39 +1,51 @@ @@ -503,7 +503,7 @@ index 84ce3d38d5decb4a2f9fae78e0ef5d715860dc7d..e0302f82356e8cba848aa8cec1e821e0 + maxRange = Math.max( maxRange, waterActivationRange ); + maxRange = Math.max( maxRange, villagerActivationRange ); + // Paper end - maxRange = Math.min( ( world.spigotConfig.viewDistance << 4 ) - 8, maxRange ); + maxRange = Math.min( ( world.spigotConfig.simulationDistance << 4 ) - 8, maxRange ); for ( Player player : world.players() ) @@ -128,6 +199,11 @@ public class ActivationRange @@ -690,7 +690,7 @@ index 84ce3d38d5decb4a2f9fae78e0ef5d715860dc7d..e0302f82356e8cba848aa8cec1e821e0 isActive = false; } diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java -index a6d07b9b8f4fc45d737a2769eeb5ad6eacba978e..54911d9b26c8cfbecf48f4187b0c914481fbcb27 100644 +index 21e0f9b4d3e1dc6e104bffdffcc23d62a739ab3c..58aaf0d98cbd6814ecdf00f46f8ff9fc7901006c 100644 --- a/src/main/java/org/spigotmc/SpigotWorldConfig.java +++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java @@ -199,13 +199,59 @@ public class SpigotWorldConfig diff --git a/patches/server/0366-Fix-items-vanishing-through-end-portal.patch b/patches/server/0366-Fix-items-vanishing-through-end-portal.patch index 7c4a1c1564..9f92600f91 100644 --- a/patches/server/0366-Fix-items-vanishing-through-end-portal.patch +++ b/patches/server/0366-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 ba436054bcbce6ef990b71d58d74ff5d4d53fef2..ee66ad71eee4619bb69eaada8f6a0a42a03283d4 100644 +index 09c70c911bfa7be9883b6b83c1e8600fc9031463..50045c262fea182a00853adfdf4a87d46c5a6951 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3006,6 +3006,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -3011,6 +3011,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i BlockPos blockposition1; if (flag1) { diff --git a/patches/server/0375-Add-option-to-nerf-pigmen-from-nether-portals.patch b/patches/server/0375-Add-option-to-nerf-pigmen-from-nether-portals.patch index 7e5fef3cac..a7837855c4 100644 --- a/patches/server/0375-Add-option-to-nerf-pigmen-from-nether-portals.patch +++ b/patches/server/0375-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/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 2a0319d45de0bfb246313a6e533d26aa24c28df1..38aa300d296124729297aa5c6975f797961d7063 100644 +index 88d140a03b6f28070b2f78588ee5ce4d5ac3cf0f..67dcc28e5c5f6bdcafaea4bfe317203ddee09454 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -526,6 +526,11 @@ public class PaperWorldConfig { @@ -21,18 +21,18 @@ index 2a0319d45de0bfb246313a6e533d26aa24c28df1..38aa300d296124729297aa5c6975f797 private void lightQueueSize() { lightQueueSize = getInt("light-queue-size", lightQueueSize); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index ee66ad71eee4619bb69eaada8f6a0a42a03283d4..13e6fd62d7e9026a31455c5e2fa36392c7a0b249 100644 +index 50045c262fea182a00853adfdf4a87d46c5a6951..497fec66a9bb22ca9e4c8eea6c588bb42f64b320 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -333,6 +333,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -315,6 +315,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i + // Paper start public long activatedImmunityTick = Integer.MIN_VALUE; // Paper public boolean isTemporarilyActive = false; // Paper - public boolean spawnedViaMobSpawner; // Paper - Yes this name is similar to above, upstream took the better one + public boolean fromNetherPortal; // Paper protected int numCollisions = 0; // Paper - public void inactiveTick() { } - // Spigot end -@@ -1875,6 +1876,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i + public boolean spawnedViaMobSpawner; // Paper - Yes this name is similar to above, upstream took the better one + @javax.annotation.Nullable +@@ -1880,6 +1881,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i if (spawnedViaMobSpawner) { nbt.putBoolean("Paper.FromMobSpawner", true); } @@ -42,7 +42,7 @@ index ee66ad71eee4619bb69eaada8f6a0a42a03283d4..13e6fd62d7e9026a31455c5e2fa36392 // Paper end return nbt; } catch (Throwable throwable) { -@@ -2016,6 +2020,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -2021,6 +2025,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } spawnedViaMobSpawner = nbt.getBoolean("Paper.FromMobSpawner"); // Restore entity's from mob spawner status diff --git a/patches/server/0409-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch b/patches/server/0409-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch index 1cd8d81c83..512d3a854a 100644 --- a/patches/server/0409-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch +++ b/patches/server/0409-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch @@ -7,10 +7,10 @@ The code following this has better support for null worlds to move them back to the world spawn. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index c068e5fad2d9238201cada0d3a77ff2af1b8d8e1..6c06897513ed4d9a2edd5675c71d9966994cecaf 100644 +index fa4242cb9bd5b8b5a088585a6709d0b27835a261..12f00a6d3b4335aa8f60646ac129dd481082feec 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1993,9 +1993,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -1998,9 +1998,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i bworld = server.getWorld(worldName); } diff --git a/patches/server/0413-Fix-numerous-item-duplication-issues-and-teleport-is.patch b/patches/server/0413-Fix-numerous-item-duplication-issues-and-teleport-is.patch index a1d367c4eb..fb113381b1 100644 --- a/patches/server/0413-Fix-numerous-item-duplication-issues-and-teleport-is.patch +++ b/patches/server/0413-Fix-numerous-item-duplication-issues-and-teleport-is.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 6c06897513ed4d9a2edd5675c71d9966994cecaf..95fcf31b0ea68312f6c3475c1b4a01ca2b269536 100644 +index 12f00a6d3b4335aa8f60646ac129dd481082feec..f2be5a99ea4074a72858ddf8f728f5aa81aec59b 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2143,11 +2143,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -2148,11 +2148,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } 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 6c06897513ed4d9a2edd5675c71d9966994cecaf..95fcf31b0ea68312f6c3475c1b4a01ca entityitem.setDefaultPickUpDelay(); // CraftBukkit start -@@ -2900,6 +2901,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -2905,6 +2906,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i @Nullable public Entity teleportTo(ServerLevel worldserver, BlockPos location) { // CraftBukkit end @@ -47,7 +47,7 @@ index 6c06897513ed4d9a2edd5675c71d9966994cecaf..95fcf31b0ea68312f6c3475c1b4a01ca if (this.level instanceof ServerLevel && !this.isRemoved()) { this.level.getProfiler().push("changeDimension"); // CraftBukkit start -@@ -2920,6 +2927,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -2925,6 +2932,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i // CraftBukkit end this.level.getProfiler().popPush("reloading"); @@ -59,7 +59,7 @@ index 6c06897513ed4d9a2edd5675c71d9966994cecaf..95fcf31b0ea68312f6c3475c1b4a01ca Entity entity = this.getType().create(worldserver); if (entity != null) { -@@ -2933,10 +2945,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -2938,10 +2950,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i // CraftBukkit start - Forward the CraftEntity to the new entity this.getBukkitEntity().setHandle(entity); entity.bukkitEntity = this.getBukkitEntity(); @@ -70,7 +70,7 @@ index 6c06897513ed4d9a2edd5675c71d9966994cecaf..95fcf31b0ea68312f6c3475c1b4a01ca // CraftBukkit end } -@@ -3057,7 +3065,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -3062,7 +3070,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } public boolean canChangeDimensions() { @@ -102,7 +102,7 @@ index a3a900d10440ed5ebe24370a77ccb6cad911cfc9..0d468631b9c260091e732925da43c177 } } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index bf7c61c767bdfe8ddb63367f1b38dbbeba17ba02..4cdac8044d3a14861dab5b018479c735d094adcf 100644 +index aaea18e64db3851f98a7a391d9f9bb265d659d99..5cb2a9da5801ae96ec708e20cdbd0557193236c1 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -827,7 +827,8 @@ public class CraftEventFactory { diff --git a/patches/server/0452-Ensure-Entity-AABB-s-are-never-invalid.patch b/patches/server/0452-Ensure-Entity-AABB-s-are-never-invalid.patch index f10b441c9a..99ab79280c 100644 --- a/patches/server/0452-Ensure-Entity-AABB-s-are-never-invalid.patch +++ b/patches/server/0452-Ensure-Entity-AABB-s-are-never-invalid.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Ensure Entity AABB's are never invalid diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 9d4dc7d8d8b6633a3e88a8fc43d3d798683ef1d9..8f634603a871567ea7f7e237856e844caf867dc0 100644 +index b047726aa8672d2298a0bbbcff43ada76969c809..ad7065566b984159e464f4472adac6b48573fdfc 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -589,8 +589,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i @@ -19,7 +19,7 @@ index 9d4dc7d8d8b6633a3e88a8fc43d3d798683ef1d9..8f634603a871567ea7f7e237856e844c } protected AABB makeBoundingBox() { -@@ -3761,6 +3761,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -3771,6 +3771,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } public final void setPosRaw(double x, double y, double z) { @@ -31,7 +31,7 @@ index 9d4dc7d8d8b6633a3e88a8fc43d3d798683ef1d9..8f634603a871567ea7f7e237856e844c 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); -@@ -3783,6 +3788,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -3793,6 +3798,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } } diff --git a/patches/server/0468-Add-entity-liquid-API.patch b/patches/server/0468-Add-entity-liquid-API.patch index bf3caa4be9..44a97c5636 100644 --- a/patches/server/0468-Add-entity-liquid-API.patch +++ b/patches/server/0468-Add-entity-liquid-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add entity liquid API diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 8f634603a871567ea7f7e237856e844caf867dc0..fb2d5c768b7dc5255db7dc7199ed750809a8fb94 100644 +index ad7065566b984159e464f4472adac6b48573fdfc..96de46b0b1b4bd69b1afa689083ec57ffb07120e 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1348,7 +1348,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -1353,7 +1353,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i return this.isInWater() || this.isInRain(); } diff --git a/patches/server/0506-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch b/patches/server/0506-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch index 36ac154bc4..cebce82fed 100644 --- a/patches/server/0506-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch +++ b/patches/server/0506-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch @@ -9,7 +9,7 @@ as this is how Vanilla teleports entities. Cancel any pending motion when teleported. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index c5fc4a2470093202f38472df84355ba0404645c5..2074760beee6fdc2e94bb0f5dcfbae7b5813e8c9 100644 +index 86c30ab5e690a7e12a0691fc4b5dcee8b7971cb8..aacfc474223bbbaca2182eeb9bcffd5a941e7b06 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -680,7 +680,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -31,7 +31,7 @@ index c5fc4a2470093202f38472df84355ba0404645c5..2074760beee6fdc2e94bb0f5dcfbae7b } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 9b254d00eb0cf0c4d4fe73e7a955b0b6493a5892..d5455fda54047ad3723772a352d35a371727f0cd 100644 +index 40e8c0b36ec521a8850782f349eb29b4802d2c68..eb822db65be446cd1de2a0bbc0c9ba0fb1620192 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -151,6 +151,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i @@ -42,7 +42,7 @@ index 9b254d00eb0cf0c4d4fe73e7a955b0b6493a5892..d5455fda54047ad3723772a352d35a37 static boolean isLevelAtLeast(CompoundTag tag, int level) { return tag.contains("Bukkit.updateLevel") && tag.getInt("Bukkit.updateLevel") >= level; } -@@ -1551,6 +1552,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -1556,6 +1557,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } public void moveTo(double x, double y, double z, float yaw, float pitch) { diff --git a/patches/server/0511-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/server/0511-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch index 624bc44802..1bd1f6f1cd 100644 --- a/patches/server/0511-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch +++ b/patches/server/0511-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 d5455fda54047ad3723772a352d35a371727f0cd..f5198f23e6147adb69aa95d5da816eaef971f259 100644 +index eb822db65be446cd1de2a0bbc0c9ba0fb1620192..599da702921001c5e459167acffd747148698e0f 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3961,4 +3961,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -3971,4 +3971,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i void accept(Entity entity, double x, double y, double z); } @@ -21,7 +21,7 @@ index d5455fda54047ad3723772a352d35a371727f0cd..f5198f23e6147adb69aa95d5da816eae + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index dd9433f014c974bbee6f00a9677403ddbbcee416..92e3717b217448398c4d07d8331ed8c57cd68c8f 100644 +index b9fe4efe0975acfc92a9e112213c39b60cff557b..4191d8766e769ef65429b4f63a336770b06b1d3b 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -466,6 +466,10 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/server/0513-Entity-isTicking.patch b/patches/server/0513-Entity-isTicking.patch index f542ca13d9..5733422ff4 100644 --- a/patches/server/0513-Entity-isTicking.patch +++ b/patches/server/0513-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 f5198f23e6147adb69aa95d5da816eaef971f259..8dec785700303d9206ca77ff19dc9e3628b581e5 100644 +index 599da702921001c5e459167acffd747148698e0f..678fad5c3ac832766bc20c750a148219493aafc6 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -53,6 +53,7 @@ import net.minecraft.resources.ResourceKey; @@ -16,7 +16,7 @@ index f5198f23e6147adb69aa95d5da816eaef971f259..8dec785700303d9206ca77ff19dc9e36 import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.server.level.TicketType; -@@ -3966,5 +3967,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -3976,5 +3977,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i public static int nextEntityId() { return ENTITY_COUNTER.incrementAndGet(); } diff --git a/patches/server/0543-Climbing-should-not-bypass-cramming-gamerule.patch b/patches/server/0543-Climbing-should-not-bypass-cramming-gamerule.patch index 1c11e3e323..a921238463 100644 --- a/patches/server/0543-Climbing-should-not-bypass-cramming-gamerule.patch +++ b/patches/server/0543-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/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index bec9d5fce523d51c1d9c2b4c45bbcb5806aaad07..166631507bf707954b82739b7c2f0558cc3d4956 100644 +index f56992472665b59e3ae22fab74d994686dc767f4..8a266d1276595d5b2bd0b60f08d99d4cceea929a 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -94,6 +94,11 @@ public class PaperWorldConfig { @@ -21,10 +21,10 @@ index bec9d5fce523d51c1d9c2b4c45bbcb5806aaad07..166631507bf707954b82739b7c2f0558 private void keepLoadedRange() { keepLoadedRange = (short) (getInt("keep-spawn-loaded-range", Math.min(spigotConfig.viewDistance, 10)) * 16); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 8dec785700303d9206ca77ff19dc9e3628b581e5..1692c4992b0d037756368cc199aec387c475aec4 100644 +index 678fad5c3ac832766bc20c750a148219493aafc6..8554a0098ad59c69877fa4180df19c97b6cf9a1a 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1732,6 +1732,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -1737,6 +1737,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } public boolean isPushable() { diff --git a/patches/server/0549-MC-4-Fix-item-position-desync.patch b/patches/server/0549-MC-4-Fix-item-position-desync.patch index 4f2105a4c4..eb470061d2 100644 --- a/patches/server/0549-MC-4-Fix-item-position-desync.patch +++ b/patches/server/0549-MC-4-Fix-item-position-desync.patch @@ -43,10 +43,10 @@ index b30c08bfb8c55161543a4ef09f2e462e0a1fe4ae..ec93f5300cc7d423ec0d292f0f8443f9 public Vec3 updateEntityPosition(Vec3 orig) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 1692c4992b0d037756368cc199aec387c475aec4..dd99c2cff98ee6815444127701de181a84f0e4be 100644 +index 8554a0098ad59c69877fa4180df19c97b6cf9a1a..1f43c7bd5d711c2e5a7ff67b3b399b408e950b59 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3780,6 +3780,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -3790,6 +3790,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } public final void setPosRaw(double x, double y, double z, boolean forceBoundingBoxUpdate) { // Paper end diff --git a/patches/server/0582-Collision-option-for-requiring-a-player-participant.patch b/patches/server/0582-Collision-option-for-requiring-a-player-participant.patch index 57eb52e0db..486f38feec 100644 --- a/patches/server/0582-Collision-option-for-requiring-a-player-participant.patch +++ b/patches/server/0582-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/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index e8b3ce26f289b961e2763be3b033c611bdfe583b..cb9c9e87be27659febe3df24f93adee989904ca3 100644 +index 95952806a544d38952b82f7078a46a5eeb622cd8..19ae4ae82be4a5a387b0f6e1b18e36b24d0cbbdb 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -81,6 +81,18 @@ public class PaperWorldConfig { @@ -28,10 +28,10 @@ index e8b3ce26f289b961e2763be3b033c611bdfe583b..cb9c9e87be27659febe3df24f93adee9 public int wanderingTraderSpawnDayTicks = 24000; public int wanderingTraderSpawnChanceFailureIncrement = 25; diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index dd99c2cff98ee6815444127701de181a84f0e4be..2299f0724a23bec984b51b54a7b029fb7a61caef 100644 +index 1f43c7bd5d711c2e5a7ff67b3b399b408e950b59..9bb77e98466544aa8efe603618348990e8e40546 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1615,6 +1615,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -1620,6 +1620,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i public void push(Entity entity) { if (!this.isPassengerOfSameVehicle(entity)) { if (!entity.noPhysics && !this.noPhysics) { diff --git a/patches/server/0678-Fix-dangerous-end-portal-logic.patch b/patches/server/0678-Fix-dangerous-end-portal-logic.patch index 5674a127de..e4d5df5907 100644 --- a/patches/server/0678-Fix-dangerous-end-portal-logic.patch +++ b/patches/server/0678-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 2299f0724a23bec984b51b54a7b029fb7a61caef..6c086e2ae3fb27058a9f6f7ad4b5d238df136b88 100644 +index 9bb77e98466544aa8efe603618348990e8e40546..4049a35d44c8351e81d7867b3524fa960ecc2d71 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -388,6 +388,36 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i @@ -51,7 +51,7 @@ index 2299f0724a23bec984b51b54a7b029fb7a61caef..6c086e2ae3fb27058a9f6f7ad4b5d238 public Entity(EntityType type, Level world) { this.id = Entity.ENTITY_COUNTER.incrementAndGet(); -@@ -2526,6 +2556,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -2531,6 +2561,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } this.processPortalCooldown(); diff --git a/patches/server/0712-Optimize-indirect-passenger-iteration.patch b/patches/server/0712-Optimize-indirect-passenger-iteration.patch index 9f79ca0e7f..485e10407d 100644 --- a/patches/server/0712-Optimize-indirect-passenger-iteration.patch +++ b/patches/server/0712-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 6c086e2ae3fb27058a9f6f7ad4b5d238df136b88..8674836b4be5e7235d7caa5c1081c500a63ffdac 100644 +index 4049a35d44c8351e81d7867b3524fa960ecc2d71..648987c04c6e025e86825142cacaedb7c9a1cba4 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3491,26 +3491,41 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -3496,26 +3496,41 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } private Stream getIndirectPassengersStream() { diff --git a/patches/server/0725-Add-back-EntityPortalExitEvent.patch b/patches/server/0725-Add-back-EntityPortalExitEvent.patch index 8a092218a3..5fa0a24533 100644 --- a/patches/server/0725-Add-back-EntityPortalExitEvent.patch +++ b/patches/server/0725-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 8674836b4be5e7235d7caa5c1081c500a63ffdac..5647e8ef3daa6a1c24dd9c3b8052c5de27d0d896 100644 +index 648987c04c6e025e86825142cacaedb7c9a1cba4..9e966aab98ffcb30c700396025d755ffdad8b7f5 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3003,6 +3003,25 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -3008,6 +3008,25 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } else { // CraftBukkit start worldserver = shapedetectorshape.world; @@ -34,7 +34,7 @@ index 8674836b4be5e7235d7caa5c1081c500a63ffdac..5647e8ef3daa6a1c24dd9c3b8052c5de this.unRide(); // CraftBukkit end -@@ -3016,8 +3035,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -3021,8 +3040,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i if (entity != null) { entity.restoreFrom(this); diff --git a/patches/server/0736-Add-Raw-Byte-Entity-Serialization.patch b/patches/server/0736-Add-Raw-Byte-Entity-Serialization.patch index d21672b6aa..434733010e 100644 --- a/patches/server/0736-Add-Raw-Byte-Entity-Serialization.patch +++ b/patches/server/0736-Add-Raw-Byte-Entity-Serialization.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Raw Byte Entity Serialization diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 5647e8ef3daa6a1c24dd9c3b8052c5de27d0d896..c71e0753e2d9974e56733f6ca46e1e9b76206965 100644 +index 9e966aab98ffcb30c700396025d755ffdad8b7f5..dd21b208fcfa73b17123abb83358b823201bdfaf 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1821,6 +1821,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -1826,6 +1826,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } } @@ -45,7 +45,7 @@ index ee50ea695585639d0ff184b675f3fb3b205b9f86..5aae88e20bc04560d6ad52cfcaa872d2 // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 52f5dfb2179a6cf35dfe38bac211ac6d8166e636..1bc79507adaab378f7d0a4f3b6e0741ef5f8f624 100644 +index ac9bfb29009d9969c7444678fb1478752f15bfac..d51c63496b55d64ac7ee6175bc364012df897891 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -421,6 +421,30 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/server/0754-Rewrite-entity-bounding-box-lookup-calls.patch b/patches/server/0754-Rewrite-entity-bounding-box-lookup-calls.patch index 2f7e4c540e..cd5be5652a 100644 --- a/patches/server/0754-Rewrite-entity-bounding-box-lookup-calls.patch +++ b/patches/server/0754-Rewrite-entity-bounding-box-lookup-calls.patch @@ -927,7 +927,7 @@ index 132d87cc61f836cf5518e28f24374aa17173bd82..2459b8bfbb73310be66e354112c39e0d int j = this.spigotConfig.viewDistance; // Spigot int k = this.spigotConfig.simulationDistance; // Spigot diff --git a/src/main/java/net/minecraft/server/level/WorldGenRegion.java b/src/main/java/net/minecraft/server/level/WorldGenRegion.java -index 5d189257f494eb12b5fd98b12da6dd09ca14f972..913b56361dece6c699ed7fad7e580d408a407bb5 100644 +index c34dcba5c94a321f236fa8c70021adf3cf190bdc..36511b27672d9105e176929047bc9614c2347505 100644 --- a/src/main/java/net/minecraft/server/level/WorldGenRegion.java +++ b/src/main/java/net/minecraft/server/level/WorldGenRegion.java @@ -496,4 +496,21 @@ public class WorldGenRegion implements WorldGenLevel { @@ -953,7 +953,7 @@ index 5d189257f494eb12b5fd98b12da6dd09ca14f972..913b56361dece6c699ed7fad7e580d40 + // Paper end } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index c71e0753e2d9974e56733f6ca46e1e9b76206965..6b76b939bee0875641813f7ca3c530fc5c4e34b4 100644 +index dd21b208fcfa73b17123abb83358b823201bdfaf..546f44dbfdda20c4b53bba840def286612630da5 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -419,6 +419,56 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i @@ -1013,7 +1013,7 @@ index c71e0753e2d9974e56733f6ca46e1e9b76206965..6b76b939bee0875641813f7ca3c530fc public Entity(EntityType type, Level world) { this.id = Entity.ENTITY_COUNTER.incrementAndGet(); this.passengers = ImmutableList.of(); -@@ -2275,11 +2325,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -2280,11 +2330,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i return InteractionResult.PASS; } @@ -1282,7 +1282,7 @@ index aff1a282516119e0f6026f1b35d6ee72859e8670..80948afdb8c40d9930706e299ca35959 + // Paper end } diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index e0302f82356e8cba848aa8cec1e821e02abbd6f6..72400204fbeea41e4af8d3a0d5eef6f2e75e7518 100644 +index d0e697138ec1a2a0570d4cf46e4f28b4a7eaa946..feec2b3b832fd2c490276e4360fcf6e2b40f01cf 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -205,7 +205,13 @@ public class ActivationRange diff --git a/patches/server/0759-Detail-more-information-in-watchdog-dumps.patch b/patches/server/0759-Detail-more-information-in-watchdog-dumps.patch index 0c33109e1b..f2bfb8aeaf 100644 --- a/patches/server/0759-Detail-more-information-in-watchdog-dumps.patch +++ b/patches/server/0759-Detail-more-information-in-watchdog-dumps.patch @@ -123,10 +123,10 @@ index f4b61f719c422028a5d8bc63c29f7a1c44fd2a6c..a1b4a9c92b2b602b2de97424eefbb067 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 6b76b939bee0875641813f7ca3c530fc5c4e34b4..04937d1c0167a0961afbab7ba029d49882acf700 100644 +index 546f44dbfdda20c4b53bba840def286612630da5..384949c5badb0950b3bca6ff2bbe632d7ae801df 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -893,7 +893,42 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -898,7 +898,42 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i return this.onGround; } @@ -169,7 +169,7 @@ index 6b76b939bee0875641813f7ca3c530fc5c4e34b4..04937d1c0167a0961afbab7ba029d498 if (this.noPhysics) { this.setPos(this.getX() + movement.x, this.getY() + movement.y, this.getZ() + movement.z); } else { -@@ -1055,6 +1090,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -1060,6 +1095,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i this.level.getProfiler().pop(); } } @@ -183,7 +183,7 @@ index 6b76b939bee0875641813f7ca3c530fc5c4e34b4..04937d1c0167a0961afbab7ba029d498 } protected boolean isHorizontalCollisionMinor(Vec3 adjustedMovement) { -@@ -3840,7 +3882,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -3850,7 +3892,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } public void setDeltaMovement(Vec3 velocity) { @@ -193,7 +193,7 @@ index 6b76b939bee0875641813f7ca3c530fc5c4e34b4..04937d1c0167a0961afbab7ba029d498 } public void setDeltaMovement(double x, double y, double z) { -@@ -3916,7 +3960,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -3926,7 +3970,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } // Paper end - fix MC-4 if (this.position.x != x || this.position.y != y || this.position.z != z) { diff --git a/patches/server/0799-Update-head-rotation-in-missing-places.patch b/patches/server/0799-Update-head-rotation-in-missing-places.patch index 45c4e3710a..c8aa34155c 100644 --- a/patches/server/0799-Update-head-rotation-in-missing-places.patch +++ b/patches/server/0799-Update-head-rotation-in-missing-places.patch @@ -8,10 +8,10 @@ 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 04937d1c0167a0961afbab7ba029d49882acf700..cd18e0eff4814e106b48118c8c6c43ccd66ac79d 100644 +index 384949c5badb0950b3bca6ff2bbe632d7ae801df..62b9abd299980f5e3cf711003dfbb90cf1687ae9 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1649,6 +1649,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -1654,6 +1654,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i this.setXRot(Mth.clamp(pitch, -90.0F, 90.0F) % 360.0F); this.yRotO = this.getYRot(); this.xRotO = this.getXRot(); @@ -19,7 +19,7 @@ index 04937d1c0167a0961afbab7ba029d49882acf700..cd18e0eff4814e106b48118c8c6c43cc } public void absMoveTo(double x, double y, double z) { -@@ -1687,6 +1688,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -1692,6 +1693,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i this.setXRot(pitch); this.setOldPosAndRot(); this.reapplyPosition(); diff --git a/work/Bukkit b/work/Bukkit index f023e77ad7..9115281ff1 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit f023e77ad7343fa11812d3118efc956b67cdd242 +Subproject commit 9115281ff1762658109d43c1bd4fca8b7814d7f2 diff --git a/work/CraftBukkit b/work/CraftBukkit index 748ea518b1..fd3478bc77 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 748ea518b10c586582dd215a9663cf819fe7ab3e +Subproject commit fd3478bc77e3b1280e1e02dba6822490a51f011d diff --git a/work/Spigot b/work/Spigot index 3c40a6c908..dbf493829e 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit 3c40a6c908b0a67b05ebf8f5268d64838e117d41 +Subproject commit dbf493829eb4bf37ff6492e725058424138cc651