diff --git a/gradle.properties b/gradle.properties index 91bf2b233..4c747fd27 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = org.purpurmc.purpur version = 1.21.1-R0.1-SNAPSHOT mcVersion = 1.21.1 -paperCommit = 1ed64f82704c299d0f7ae9af710579be995af8de +paperCommit = 4514c71a7fb043140b7926c2fa2686f6d56da83d org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/api/0017-ItemStack-convenience-methods.patch b/patches/api/0017-ItemStack-convenience-methods.patch index b778ba1cd..63af6cf48 100644 --- a/patches/api/0017-ItemStack-convenience-methods.patch +++ b/patches/api/0017-ItemStack-convenience-methods.patch @@ -50,7 +50,7 @@ index de469f32dd9a01e0e2fde016044a783dde0c5b98..c7fa497381c5c5d57fda8b9c1ef26f2e + // Purpur end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index b3abe3bde05d4a360e31e490bff8a859dc2bd4a6..9b8b958ce181b60eb5db89d4720380153152a2ac 100644 +index 7f63a3a37eb06049bd5de10466c6dd96cb5dd4ee..b6389b82b4eae033e1e770ae3967c88e950926ab 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -19,6 +19,17 @@ import org.bukkit.inventory.meta.ItemMeta; @@ -71,7 +71,7 @@ index b3abe3bde05d4a360e31e490bff8a859dc2bd4a6..9b8b958ce181b60eb5db89d472038015 /** * Represents a stack of items. -@@ -1033,4 +1044,551 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat +@@ -1120,4 +1131,551 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat return Bukkit.getUnsafe().computeTooltipLines(this, tooltipContext, player); } // Paper end - expose itemstack tooltip lines diff --git a/patches/server/0001-Pufferfish-Server-Changes.patch b/patches/server/0001-Pufferfish-Server-Changes.patch index d47c2b461..fa536e12e 100644 --- a/patches/server/0001-Pufferfish-Server-Changes.patch +++ b/patches/server/0001-Pufferfish-Server-Changes.patch @@ -1413,7 +1413,7 @@ index c96f3dcd365bc140b1f4680ef6bd770c80f8eda1..67d4b15143358c8947a7102a325dad66 if (this.isRainingAt(blockposition)) { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index fcccf989c25f0a259b160c4ff7873f7009e64d14..9422d8bd512555f54410391d55c4072474c1ae4e 100644 +index befeaac4786760f6847a5945da2296a3e68dbb17..6c28390e33c07d4c65493019375b669ccfa5ae2d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1157,6 +1157,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -1425,7 +1425,7 @@ index fcccf989c25f0a259b160c4ff7873f7009e64d14..9422d8bd512555f54410391d55c40724 final io.papermc.paper.configuration.type.number.IntOr.Disabled pageMax = io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.pageMax; if (!this.cserver.isPrimaryThread() && pageMax.enabled()) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 9f68c0fda7f5526eb97619f1a35ed3b78d1b3751..aa4a4691d1a17a72df26d3132cb87b3183bb7052 100644 +index bc45c74987974b4828201e06fc8b1f3fbc0af8b4..e12cbbe9eea3f243808fad547c91bd546fd4bbc8 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -429,6 +429,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -1451,7 +1451,7 @@ index 9f68c0fda7f5526eb97619f1a35ed3b78d1b3751..aa4a4691d1a17a72df26d3132cb87b31 this.baseTick(); } -@@ -4448,16 +4457,18 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4450,16 +4459,18 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } public boolean updateFluidHeightAndDoFluidPushing(TagKey tag, double speed) { @@ -1477,7 +1477,7 @@ index 9f68c0fda7f5526eb97619f1a35ed3b78d1b3751..aa4a4691d1a17a72df26d3132cb87b31 double d1 = 0.0D; boolean flag = this.isPushedByFluid(); boolean flag1 = false; -@@ -4465,14 +4476,61 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4467,14 +4478,61 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess int k1 = 0; BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos(); @@ -1545,7 +1545,7 @@ index 9f68c0fda7f5526eb97619f1a35ed3b78d1b3751..aa4a4691d1a17a72df26d3132cb87b31 if (d2 >= axisalignedbb.minY) { flag1 = true; -@@ -4494,9 +4552,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4496,9 +4554,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess // CraftBukkit end } } diff --git a/patches/server/0008-Component-related-conveniences.patch b/patches/server/0008-Component-related-conveniences.patch index 37067ef20..6ec6e2378 100644 --- a/patches/server/0008-Component-related-conveniences.patch +++ b/patches/server/0008-Component-related-conveniences.patch @@ -81,10 +81,10 @@ index bb1a60180e58c1333e7bb33e8acf1b0225eda8a8..c83e80ebdbbfb2d0e08561a44486a308 return this.type().msgId(); } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index d4d4f1951e61165b0feb8b0c45fcf40328dd34d1..46b485521660b2a93c5e261e6bc1072e8d1bea0a 100644 +index 7abe795de5c9965e4f9481aacc7189f759b0f86b..899a89d64ae9c7320c4ff86281670e432b4a88e4 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4185,6 +4185,20 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4187,6 +4187,20 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return SlotAccess.NULL; } diff --git a/patches/server/0009-Ridables.patch b/patches/server/0009-Ridables.patch index 79bbb5114..2773edd10 100644 --- a/patches/server/0009-Ridables.patch +++ b/patches/server/0009-Ridables.patch @@ -66,10 +66,10 @@ index 98fd4d8aab273ab86bcb9b95a331cd8bbcb61373..be4226b968e02fa88deb851ecb761300 private void updatePlayerAttributes() { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 9422d8bd512555f54410391d55c4072474c1ae4e..cc801cbefbbb54b8f9fa29bb37c00eca8e7ae44b 100644 +index 6c28390e33c07d4c65493019375b669ccfa5ae2d..d5267431f0ac8fdf2d474951dde50f29ae7c3895 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2793,6 +2793,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2801,6 +2801,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event); @@ -79,7 +79,7 @@ index 9422d8bd512555f54410391d55c4072474c1ae4e..cc801cbefbbb54b8f9fa29bb37c00eca if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) { entity.resendPossiblyDesyncedEntityData(ServerGamePacketListenerImpl.this.player); // Paper - The entire mob gets deleted, so resend it diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 46b485521660b2a93c5e261e6bc1072e8d1bea0a..5a1f7466ddbce4c889dc5d0c1fa53f212d20c5be 100644 +index 899a89d64ae9c7320c4ff86281670e432b4a88e4..7afc85b1a42ae6c755265a605883aaa212efd414 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -383,7 +383,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -120,7 +120,7 @@ index 46b485521660b2a93c5e261e6bc1072e8d1bea0a..5a1f7466ddbce4c889dc5d0c1fa53f21 if (this.passengers.size() == 1 && this.passengers.get(0) == entity) { this.passengers = ImmutableList.of(); } else { -@@ -5063,4 +5078,44 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -5065,4 +5080,44 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return ((net.minecraft.server.level.ServerChunkCache) level.getChunkSource()).isPositionTicking(this); } // Paper end - Expose entity id counter diff --git a/patches/server/0033-Add-option-to-set-armorstand-step-height.patch b/patches/server/0033-Add-option-to-set-armorstand-step-height.patch index 01976473d..7c7e806f0 100644 --- a/patches/server/0033-Add-option-to-set-armorstand-step-height.patch +++ b/patches/server/0033-Add-option-to-set-armorstand-step-height.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add option to set armorstand step height diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 5ffab39e5159a7eb6360fd26043887da50936130..3708fe0bb7af7b542ffd103f803223893e6dea72 100644 +index 736e33331c591567d1fbb4b046ee6ea0a40bff88..32007168992c47c1029f91ee9c5319490b3f9e3a 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -343,6 +343,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -16,7 +16,7 @@ index 5ffab39e5159a7eb6360fd26043887da50936130..3708fe0bb7af7b542ffd103f80322389 public boolean noPhysics; public final RandomSource random; public int tickCount; -@@ -4886,7 +4887,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4888,7 +4889,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } public float maxUpStep() { diff --git a/patches/server/0072-Entity-lifespan.patch b/patches/server/0072-Entity-lifespan.patch index 1e7be0233..03fd34554 100644 --- a/patches/server/0072-Entity-lifespan.patch +++ b/patches/server/0072-Entity-lifespan.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Entity lifespan diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 5ddfe347a209fac35de03001d858e7c0ad982f68..86eaa7ff65e2e50676202a181da02a94e02e0c9d 100644 +index ae603fa8bbb980bd57bddf1bfdc41af809d0d01a..58b90722df0b0dcd7c84976f510f43aa82ea795c 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2828,6 +2828,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2836,6 +2836,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl AABB axisalignedbb = entity.getBoundingBox(); if (this.player.canInteractWithEntity(axisalignedbb, io.papermc.paper.configuration.GlobalConfiguration.get().misc.clientInteractionLeniencyDistance.or(1.0D))) { // Paper - configurable lenience value for interact range diff --git a/patches/server/0084-Stop-squids-floating-on-top-of-water.patch b/patches/server/0084-Stop-squids-floating-on-top-of-water.patch index b15f5bdc1..ca3af363f 100644 --- a/patches/server/0084-Stop-squids-floating-on-top-of-water.patch +++ b/patches/server/0084-Stop-squids-floating-on-top-of-water.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Stop squids floating on top of water diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index c847c522def00e20435d7afc52f33cadf8183289..0dc3ac9fa2a4f30c1df689ac0800eb2ac9661cf5 100644 +index 6182fcddb7fdb10d03e1db4943ff80e288c25e31..9dfbe5a9139909f07f5081783ebdb22b0060801f 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4492,6 +4492,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4494,6 +4494,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return Mth.lerp(delta, this.yRotO, this.yRot); } diff --git a/patches/server/0086-Entities-can-use-portals.patch b/patches/server/0086-Entities-can-use-portals.patch index 54a6d3b09..e1fceb5c7 100644 --- a/patches/server/0086-Entities-can-use-portals.patch +++ b/patches/server/0086-Entities-can-use-portals.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Entities can use portals diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 0dc3ac9fa2a4f30c1df689ac0800eb2ac9661cf5..88de6ab4ac4857433c0c96dc4c030e5f4943c1dd 100644 +index 9dfbe5a9139909f07f5081783ebdb22b0060801f..18fafad5458472bfcee3b819d212ae481deec293 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -3275,7 +3275,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -17,7 +17,7 @@ index 0dc3ac9fa2a4f30c1df689ac0800eb2ac9661cf5..88de6ab4ac4857433c0c96dc4c030e5f if (this.portalProcess != null && this.portalProcess.isSamePortal(portal)) { this.portalProcess.updateEntryPosition(pos.immutable()); this.portalProcess.setAsInsidePortalThisTick(true); -@@ -3898,7 +3898,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -3900,7 +3900,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess // CraftBukkit end public boolean canUsePortal(boolean allowVehicles) { diff --git a/patches/server/0254-Remove-Mojang-Profiler.patch b/patches/server/0254-Remove-Mojang-Profiler.patch index a2e09b705..ef4098a54 100644 --- a/patches/server/0254-Remove-Mojang-Profiler.patch +++ b/patches/server/0254-Remove-Mojang-Profiler.patch @@ -1073,7 +1073,7 @@ index a715ecf4a8ac91d3e5e5c6269d89e54b2c1cd279..223c3665126c576eddb1a8f7c9f5bc60 }; } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index eecb293535ac3c01026260f685a486a18e455185..1fd114c281cf79105ad232aac842bea6e808a5d2 100644 +index 6aeedfc6f2c98e7d05f5f01dcc905cc13de9afbd..1ed8cbed1c98053d868b242ee23012f8a7ce43a4 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -889,7 +889,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess @@ -1159,7 +1159,7 @@ index eecb293535ac3c01026260f685a486a18e455185..1fd114c281cf79105ad232aac842bea6 } else if (this.portalProcess.hasExpired()) { this.portalProcess = null; } -@@ -3825,7 +3825,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -3827,7 +3827,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } } @@ -1168,7 +1168,7 @@ index eecb293535ac3c01026260f685a486a18e455185..1fd114c281cf79105ad232aac842bea6 Entity entity2 = worldserver1.dimension() == worldserver.dimension() ? this : this.getType().create(worldserver1); if (entity2 != null) { -@@ -3861,7 +3861,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -3863,7 +3863,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess teleportTarget.postDimensionTransition().onTransition(entity2); }