diff --git a/gradle.properties b/gradle.properties index dc3715d13..dea95b3a5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,8 +1,8 @@ group = org.purpurmc.purpur version = 1.21.5-R0.1-SNAPSHOT -mcVersion = 1.21.5-rc2 -paperCommit = e50bb66a012d256305c9904330200fa2a634b723 +mcVersion = 1.21.5 +paperCommit = 95beb8c0bc785cf6bdd8ce9de097666cb572deb9 org.gradle.configuration-cache = true org.gradle.caching = true diff --git a/purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/Entity.java.patch b/purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/Entity.java.patch index 995a0fb9c..9f2167d47 100644 --- a/purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/Entity.java.patch +++ b/purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/Entity.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -1193,4 +_,59 @@ +@@ -1214,4 +_,59 @@ */ void broadcastHurtAnimation(@NotNull java.util.Collection players); // Paper end - broadcast hurt animation diff --git a/purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/Wolf.java.patch b/purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/Wolf.java.patch index f3ac2ef4a..772c05d9e 100644 --- a/purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/Wolf.java.patch +++ b/purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/Wolf.java.patch @@ -1,7 +1,7 @@ --- a/src/main/java/org/bukkit/entity/Wolf.java +++ b/src/main/java/org/bukkit/entity/Wolf.java -@@ -110,4 +_,20 @@ - return RegistryAccess.registryAccess().getRegistry(RegistryKey.WOLF_VARIANT).getOrThrow(NamespacedKey.minecraft(key)); +@@ -138,4 +_,20 @@ + return RegistryAccess.registryAccess().getRegistry(RegistryKey.WOLF_SOUND_VARIANT).getOrThrow(NamespacedKey.minecraft(key)); } } + @@ -11,13 +11,13 @@ + * + * @return whether the wolf is rabid + */ -+ public boolean isRabid(); ++ boolean isRabid(); + + /** + * Sets this wolf to be rabid or not + * + * @param rabid whether the wolf should be rabid + */ -+ public void setRabid(boolean rabid); ++ void setRabid(boolean rabid); + // Purpur end } diff --git a/purpur-server/minecraft-patches/features/0001-Ridables.patch b/purpur-server/minecraft-patches/features/0001-Ridables.patch index 4632523eb..a8f280a14 100644 --- a/purpur-server/minecraft-patches/features/0001-Ridables.patch +++ b/purpur-server/minecraft-patches/features/0001-Ridables.patch @@ -62,7 +62,7 @@ index 6dc490bf9d032b5ed2d7bd458bffd3471f54ff06..cf26a10e4ccf0f28817ce53b3c5bf1df private void updatePlayerAttributes() { diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ab2e6655e07a667d8ac413c85aaf3743a38db2e0..96b61192d9ab70857427cea65d4ddd0a4fe9b4aa 100644 +index 63e01ec7e4ab04bb7d389bff485dfedca344bfa2..84b1570d0d88f57f33ff8179f0a78d37b495a217 100644 --- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2766,6 +2766,8 @@ public class ServerGamePacketListenerImpl @@ -75,10 +75,10 @@ index ab2e6655e07a667d8ac413c85aaf3743a38db2e0..96b61192d9ab70857427cea65d4ddd0a if ((target instanceof net.minecraft.world.entity.animal.Bucketable && target instanceof LivingEntity && origItem != null && origItem == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelectedItem().isEmpty() || !ServerGamePacketListenerImpl.this.player.getInventory().getSelectedItem().is(origItem))) { target.resendPossiblyDesyncedEntityData(ServerGamePacketListenerImpl.this.player); // Paper - The entire mob gets deleted, so resend it diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java -index 4dd9ab13f97e14425d792ed23a81477016ddc56c..d4e989889ed21e3900062eed142f26a9bdaaa8d9 100644 +index 9f6326da63fc8e0c284d565314f0b448b622c910..488dc3e2e6d6095d416bd81078b3bcbcf92f7ab9 100644 --- a/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java -@@ -2861,6 +2861,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2855,6 +2855,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess this.passengers = ImmutableList.copyOf(list); } @@ -92,7 +92,7 @@ index 4dd9ab13f97e14425d792ed23a81477016ddc56c..d4e989889ed21e3900062eed142f26a9 this.gameEvent(GameEvent.ENTITY_MOUNT, passenger); } } -@@ -2902,6 +2909,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -2896,6 +2903,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return false; } // CraftBukkit end @@ -107,7 +107,7 @@ index 4dd9ab13f97e14425d792ed23a81477016ddc56c..d4e989889ed21e3900062eed142f26a9 if (this.passengers.size() == 1 && this.passengers.get(0) == passenger) { this.passengers = ImmutableList.of(); } else { -@@ -4828,4 +4843,44 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -4822,4 +4837,44 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return ((ServerLevel) this.level()).isPositionEntityTicking(this.blockPosition()); } // Paper end - Expose entity id counter @@ -177,7 +177,7 @@ index bda521cca91f070139f5e9bdef6a50e1497f53ff..351f92e1627f465a9a292d4a5e5c256a protected ParticleOptions getInkParticle() { return ParticleTypes.GLOW_SQUID_INK; diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java -index 0caf3cc4c38426dd08d4ec78c00b51a3a880718a..a6739650bfee639925a63f345ac39c6e0c5c3209 100644 +index a186784d6b5bae844604a0ca7a2b81857c074a3c..7e2258f0232beae3461ad3ef75b70e9bf1f8b772 100644 --- a/net/minecraft/world/entity/LivingEntity.java +++ b/net/minecraft/world/entity/LivingEntity.java @@ -226,9 +226,9 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -2585,7 +2585,7 @@ index d34dcbbdeae41d23d6fb497e0e8da038580b6d01..6c252b8021dbeb2a9ffee8a3744ac016 protected void defineSynchedData(SynchedEntityData.Builder builder) { super.defineSynchedData(builder); diff --git a/net/minecraft/world/entity/animal/wolf/Wolf.java b/net/minecraft/world/entity/animal/wolf/Wolf.java -index e94f7b29befd2176fbbc784cd9d08c2d1cd4a94d..cff9bc3d8c9ef1935c25c4001dfd638855062573 100644 +index d25bd49c17478e73561e78bc66171d6e7bc187ba..127a57a477755101283ba7bbb4161a574692c252 100644 --- a/net/minecraft/world/entity/animal/wolf/Wolf.java +++ b/net/minecraft/world/entity/animal/wolf/Wolf.java @@ -187,9 +187,32 @@ public class Wolf extends TamableAnimal implements NeutralMob { diff --git a/purpur-server/minecraft-patches/sources/net/minecraft/world/entity/Entity.java.patch b/purpur-server/minecraft-patches/sources/net/minecraft/world/entity/Entity.java.patch index 92eed85bd..8e073e1e8 100644 --- a/purpur-server/minecraft-patches/sources/net/minecraft/world/entity/Entity.java.patch +++ b/purpur-server/minecraft-patches/sources/net/minecraft/world/entity/Entity.java.patch @@ -77,7 +77,7 @@ } public boolean causeFallDamage(double fallDistance, float damageMultiplier, DamageSource damageSource) { -@@ -1747,7 +_,7 @@ +@@ -1741,7 +_,7 @@ return this.isInWater() || flag; } @@ -86,7 +86,7 @@ if (this.getVehicle() instanceof AbstractBoat abstractBoat && !abstractBoat.isUnderWater()) { this.wasTouchingWater = false; } else if (this.updateFluidHeightAndDoFluidPushing(FluidTags.WATER, 0.014)) { -@@ -2369,6 +_,13 @@ +@@ -2363,6 +_,13 @@ compound.putBoolean("Paper.FreezeLock", true); } // Paper end @@ -100,7 +100,7 @@ return compound; } catch (Throwable var8) { CrashReport crashReport = CrashReport.forThrowable(var8, "Saving entity NBT"); -@@ -2486,6 +_,13 @@ +@@ -2480,6 +_,13 @@ freezeLocked = compound.getBooleanOr("Paper.FreezeLock", false); } // Paper end @@ -114,7 +114,7 @@ } catch (Throwable var8) { CrashReport crashReport = CrashReport.forThrowable(var8, "Loading entity NBT"); CrashReportCategory crashReportCategory = crashReport.addCategory("Entity being loaded"); -@@ -2625,6 +_,7 @@ +@@ -2619,6 +_,7 @@ if (this.isAlive() && this instanceof Leashable leashable) { if (leashable.getLeashHolder() == player) { if (!this.level().isClientSide()) { @@ -122,7 +122,7 @@ // CraftBukkit start - fire PlayerUnleashEntityEvent // Paper start - Expand EntityUnleashEvent org.bukkit.event.player.PlayerUnleashEntityEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerUnleashEntityEvent(this, player, hand, !player.hasInfiniteMaterials()); -@@ -2941,15 +_,18 @@ +@@ -2935,15 +_,18 @@ return Vec3.directionFromRotation(this.getRotationVector()); } @@ -142,7 +142,7 @@ } } } -@@ -3154,7 +_,7 @@ +@@ -3148,7 +_,7 @@ } public int getMaxAirSupply() { @@ -151,7 +151,7 @@ } public int getAirSupply() { -@@ -3682,7 +_,7 @@ +@@ -3676,7 +_,7 @@ // CraftBukkit end public boolean canUsePortal(boolean allowPassengers) { @@ -160,7 +160,7 @@ } public boolean canTeleport(Level fromLevel, Level toLevel) { -@@ -4217,6 +_,12 @@ +@@ -4211,6 +_,12 @@ return Mth.lerp(partialTick, this.yRotO, this.yRot); } @@ -173,7 +173,7 @@ public boolean updateFluidHeightAndDoFluidPushing(TagKey fluidTag, double motionScale) { if (this.touchingUnloadedChunk()) { return false; -@@ -4557,7 +_,7 @@ +@@ -4551,7 +_,7 @@ } public float maxUpStep() { diff --git a/purpur-server/paper-patches/features/0002-Ridables.patch b/purpur-server/paper-patches/features/0002-Ridables.patch index 23737c216..6cba69f5f 100644 --- a/purpur-server/paper-patches/features/0002-Ridables.patch +++ b/purpur-server/paper-patches/features/0002-Ridables.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Ridables diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 227a2cdc6dbca17d4771aff3a0f62c424c4b06c9..65c4c0690874c29814098448b6cc6077a1e8c566 100644 +index 1a4f42c9e6012a6a074c9d5451d8dc11530a5c5b..67b9963afd91af84459d439697f6230fd67722b4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1295,4 +1295,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1275,4 +1275,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { ((CraftPlayer) player).sendHurtAnimation(0, this); } } @@ -37,7 +37,7 @@ index 227a2cdc6dbca17d4771aff3a0f62c424c4b06c9..65c4c0690874c29814098448b6cc6077 + // Purpur end - Ridables } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 797d731f97c3457d504be5d81e233e3d63f993f6..6f112d700a368a64acca8d702d03ef93942da963 100644 +index a7e3afe04ffbb0fd5fa5fcf7cd15efd7cea1c4e0..9c88a5b6b054636a9f326d0253f65496cf3babc3 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -514,6 +514,15 @@ public class CraftEventFactory { diff --git a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftWolf.java.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftWolf.java.patch index a85fb1dbd..d05c7972a 100644 --- a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftWolf.java.patch +++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftWolf.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftWolf.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftWolf.java -@@ -145,4 +_,15 @@ +@@ -227,4 +_,15 @@ return this.getKey().hashCode(); } } diff --git a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java.patch b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java.patch index 32ef5cc86..2caad1ea9 100644 --- a/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java.patch +++ b/purpur-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -491,7 +_,7 @@ +@@ -481,7 +_,7 @@ @Override public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {