From 549ee8c09f9d4f45451a5fb6b46c25bcd982b2ef Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Wed, 18 Jun 2025 01:54:38 +0800 Subject: [PATCH] Updated Upstream (Paper/Purpur) Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@a24f9b20 1.21.6 dev PaperMC/Paper@457a0a69 Bump version string and protocol version to 1.21.6 release PaperMC/Paper@245b5473 Update base to 1.21.6 PaperMC/Paper@b28d77b3 Update Moonrise to 1.21.6 PaperMC/Paper@8318dcb7 Update DataConverter to 1.21.6-rc1 Purpur Changes: PurpurMC/Purpur@b228e316 Updated Upstream (Paper) PurpurMC/Purpur@d6562a57 make happy ghast takes-damage-from-water and always-drop-exp options work PurpurMC/Purpur@08d989b6 inline import PurpurMC/Purpur@61d7f559 Updated Upstream (Paper) PurpurMC/Purpur@469a4de5 Merge branch 'ver/1.21.5' into ver/1.21.6 --- gradle.properties | 4 +- leaf-api/build.gradle.kts.patch | 2 +- .../features/0013-Purpur-API-Changes.patch | 2 +- leaf-server/build.gradle.kts.patch | 2 +- ...0098-Purpur-Server-Minecraft-Changes.patch | 44 +++++++++++-------- ...me-missing-Pufferfish-configurations.patch | 4 +- .../paper-patches/features/0001-Rebrand.patch | 4 +- .../0009-Purpur-Server-Paper-Changes.patch | 2 +- scripts/upstreamCommit.sh | 2 +- 9 files changed, 36 insertions(+), 30 deletions(-) diff --git a/gradle.properties b/gradle.properties index 056f306b..565df748 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,8 +1,8 @@ group=cn.dreeam.leaf -mcVersion=1.21.6-rc1 +mcVersion=1.21.6 version=1.21.6-R0.1-SNAPSHOT -paperCommit=9ea1460b4032565c90d9ebdebeb1971ad1b9e638 +paperCommit=8318dcb74b18243caadc1b2824fdef2a2dba7a96 org.gradle.configuration-cache=true org.gradle.caching=true diff --git a/leaf-api/build.gradle.kts.patch b/leaf-api/build.gradle.kts.patch index 9dd03e4e..9ca801ad 100644 --- a/leaf-api/build.gradle.kts.patch +++ b/leaf-api/build.gradle.kts.patch @@ -148,7 +148,7 @@ @@ -185,7 +_,7 @@ "https://jd.advntr.dev/text-logger-slf4j/$adventureVersion/", "https://javadoc.io/doc/org.slf4j/slf4j-api/$slf4jVersion/", - "https://logging.apache.org/log4j/2.x/javadoc/log4j-api/", + // "https://logging.apache.org/log4j/2.x/javadoc/log4j-api/", // TODO: Broken - "https://javadoc.io/doc/org.apache.maven.resolver/maven-resolver-api/1.7.3", + "https://javadoc.io/doc/org.apache.maven.resolver/maven-resolver-api/1.9.22", // Leaf - Bump Dependencies ) diff --git a/leaf-api/paper-patches/features/0013-Purpur-API-Changes.patch b/leaf-api/paper-patches/features/0013-Purpur-API-Changes.patch index d1401ae0..a0b23298 100644 --- a/leaf-api/paper-patches/features/0013-Purpur-API-Changes.patch +++ b/leaf-api/paper-patches/features/0013-Purpur-API-Changes.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Purpur API Changes Original license: MIT Original project: https://github.com/PurpurMC/Purpur -Commit: a3c11d6845ae4a8b1cee0ee0d800e26adf5bfbff +Commit: 469a4de5ce87dcf6461e067d29a88507231f4a6b Patches listed below are removed in this patch, They exists in Gale or Leaf: * "co/aikar/timings/TimedEventExecutor.java.patch" diff --git a/leaf-server/build.gradle.kts.patch b/leaf-server/build.gradle.kts.patch index 863ccf00..884b2ea4 100644 --- a/leaf-server/build.gradle.kts.patch +++ b/leaf-server/build.gradle.kts.patch @@ -7,7 +7,7 @@ +val leafMavenPublicUrl = "https://maven.nostal.ink/repository/maven-snapshots/" // Leaf - project setup - Add publish repo dependencies { - mache("io.papermc:mache:1.21.6-rc1+build.1") + mache("io.papermc:mache:1.21.6+build.1") - paperclip("io.papermc:paperclip:3.0.3") + paperclip("cn.dreeam:quantumleaper:1.0.0-SNAPSHOT") // Leaf - project setup - Use own paperclip fork testRuntimeOnly("org.junit.platform:junit-platform-launcher") diff --git a/leaf-server/minecraft-patches/features/0098-Purpur-Server-Minecraft-Changes.patch b/leaf-server/minecraft-patches/features/0098-Purpur-Server-Minecraft-Changes.patch index 14dc88ab..963eb612 100644 --- a/leaf-server/minecraft-patches/features/0098-Purpur-Server-Minecraft-Changes.patch +++ b/leaf-server/minecraft-patches/features/0098-Purpur-Server-Minecraft-Changes.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Purpur Server Minecraft Changes Original license: MIT Original project: https://github.com/PurpurMC/Purpur -Commit: a3c11d6845ae4a8b1cee0ee0d800e26adf5bfbff +Commit: 469a4de5ce87dcf6461e067d29a88507231f4a6b Patches listed below are removed in this patch, They exists in Gale or Leaf: * "net/minecraft/CrashReport.java.patch" @@ -4569,10 +4569,10 @@ index 517c546cfc8eca2191df57289e6a22ac64fc867c..8964bb5098c0dc36741af3656af6bc0b } } diff --git a/net/minecraft/world/entity/animal/HappyGhast.java b/net/minecraft/world/entity/animal/HappyGhast.java -index 4e74d5b3076f50f9294553b453f5903ef32f1e8a..65d4bd89be02973291b85463d242a9b22b1cec5f 100644 +index 4e74d5b3076f50f9294553b453f5903ef32f1e8a..e04da94daced96a7eb9fdb01c551bea667b72d76 100644 --- a/net/minecraft/world/entity/animal/HappyGhast.java +++ b/net/minecraft/world/entity/animal/HappyGhast.java -@@ -118,6 +118,33 @@ public class HappyGhast extends Animal { +@@ -118,6 +118,47 @@ public class HappyGhast extends Animal { this.removeAllGoals(goal -> true); } @@ -4602,11 +4602,25 @@ index 4e74d5b3076f50f9294553b453f5903ef32f1e8a..65d4bd89be02973291b85463d242a9b2 + return 6000; + } + // Purpur end - Make entity breeding times configurable ++ ++ // Purpur start - Toggle for water sensitive mob damage ++ @Override ++ public boolean isSensitiveToWater() { ++ return this.level().purpurConfig.happyGhastTakeDamageFromWater; ++ } ++ // Purpur end - Toggle for water sensitive mob damage ++ ++ // Purpur start - Mobs always drop experience ++ @Override ++ protected boolean isAlwaysExperienceDropper() { ++ return this.level().purpurConfig.happyGhastAlwaysDropExp; ++ } ++ // Purpur end - Mobs always drop experience + @Override protected void ageBoundaryReached() { if (this.isBaby()) { -@@ -141,7 +168,7 @@ public class HappyGhast extends Animal { +@@ -141,7 +182,7 @@ public class HappyGhast extends Animal { @Override protected float sanitizeScale(float scale) { @@ -10406,18 +10420,10 @@ index 9d84bf2cffee25404eebbefdc9cc3f37ebc386b0..2b85cedf235e673d6030c2a649abf60b if (!org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(this, blockPos, blockState.getFluidState().createLegacyBlock())) { // Paper - fix wrong block state continue; diff --git a/net/minecraft/world/entity/monster/Shulker.java b/net/minecraft/world/entity/monster/Shulker.java -index f667fc5ff1ea4149cb25608e0d12f9f73f86095e..2ace8aebd050e43582524c4a659132fef0e05be4 100644 +index f667fc5ff1ea4149cb25608e0d12f9f73f86095e..a46ca09f661a4f8f3ede6550d613e0c704a9389b 100644 --- a/net/minecraft/world/entity/monster/Shulker.java +++ b/net/minecraft/world/entity/monster/Shulker.java -@@ -52,6 +52,7 @@ import net.minecraft.world.level.Level; - import net.minecraft.world.level.ServerLevelAccessor; - import net.minecraft.world.level.block.Blocks; - import net.minecraft.world.level.block.state.BlockState; -+import net.minecraft.world.level.entity.EntityTypeTest; - import net.minecraft.world.level.gameevent.GameEvent; - import net.minecraft.world.level.storage.ValueInput; - import net.minecraft.world.level.storage.ValueOutput; -@@ -94,12 +95,68 @@ public class Shulker extends AbstractGolem implements Enemy { +@@ -94,12 +94,68 @@ public class Shulker extends AbstractGolem implements Enemy { this.lookControl = new Shulker.ShulkerLookControl(this); } @@ -10486,7 +10492,7 @@ index f667fc5ff1ea4149cb25608e0d12f9f73f86095e..2ace8aebd050e43582524c4a659132fe this.targetSelector.addGoal(1, new HurtByTargetGoal(this, this.getClass()).setAlertOthers()); this.targetSelector.addGoal(2, new Shulker.ShulkerNearestAttackGoal(this)); this.targetSelector.addGoal(3, new Shulker.ShulkerDefenseAttackGoal(this)); -@@ -461,11 +518,21 @@ public class Shulker extends AbstractGolem implements Enemy { +@@ -461,11 +517,21 @@ public class Shulker extends AbstractGolem implements Enemy { private void hitByShulkerBullet() { Vec3 vec3 = this.position(); AABB boundingBox = this.getBoundingBox(); @@ -10498,7 +10504,7 @@ index f667fc5ff1ea4149cb25608e0d12f9f73f86095e..2ace8aebd050e43582524c4a659132fe + if ((!this.level().purpurConfig.shulkerSpawnFromBulletRequireOpenLid || !this.isClosed()) && this.teleportSomewhere()) { + float chance = this.level().purpurConfig.shulkerSpawnFromBulletBaseChance; + if (!this.level().purpurConfig.shulkerSpawnFromBulletNearbyEquation.isBlank()) { -+ int nearby = this.level().getEntities((EntityTypeTest) EntityType.SHULKER, boundingBox.inflate(this.level().purpurConfig.shulkerSpawnFromBulletNearbyRange), Entity::isAlive).size(); ++ int nearby = this.level().getEntities((net.minecraft.world.level.entity.EntityTypeTest) EntityType.SHULKER, boundingBox.inflate(this.level().purpurConfig.shulkerSpawnFromBulletNearbyRange), Entity::isAlive).size(); + try { + chance -= ((Number) scriptEngine.eval("let nearby = " + nearby + "; " + this.level().purpurConfig.shulkerSpawnFromBulletNearbyEquation)).floatValue(); + } catch (javax.script.ScriptException e) { @@ -10512,7 +10518,7 @@ index f667fc5ff1ea4149cb25608e0d12f9f73f86095e..2ace8aebd050e43582524c4a659132fe if (shulker != null) { shulker.setVariant(this.getVariant()); shulker.snapTo(vec3); -@@ -565,7 +632,7 @@ public class Shulker extends AbstractGolem implements Enemy { +@@ -565,7 +631,7 @@ public class Shulker extends AbstractGolem implements Enemy { @Override protected float sanitizeScale(float scale) { @@ -10521,7 +10527,7 @@ index f667fc5ff1ea4149cb25608e0d12f9f73f86095e..2ace8aebd050e43582524c4a659132fe } private void setVariant(Optional variant) { -@@ -573,7 +640,7 @@ public class Shulker extends AbstractGolem implements Enemy { +@@ -573,7 +639,7 @@ public class Shulker extends AbstractGolem implements Enemy { } public Optional getVariant() { @@ -10530,7 +10536,7 @@ index f667fc5ff1ea4149cb25608e0d12f9f73f86095e..2ace8aebd050e43582524c4a659132fe } @Nullable -@@ -693,7 +760,7 @@ public class Shulker extends AbstractGolem implements Enemy { +@@ -693,7 +759,7 @@ public class Shulker extends AbstractGolem implements Enemy { } } diff --git a/leaf-server/minecraft-patches/features/0124-Plazma-Add-some-missing-Pufferfish-configurations.patch b/leaf-server/minecraft-patches/features/0124-Plazma-Add-some-missing-Pufferfish-configurations.patch index dc61df22..0792ac16 100644 --- a/leaf-server/minecraft-patches/features/0124-Plazma-Add-some-missing-Pufferfish-configurations.patch +++ b/leaf-server/minecraft-patches/features/0124-Plazma-Add-some-missing-Pufferfish-configurations.patch @@ -10,10 +10,10 @@ Add Pufferfish DAB support for Camel, Sniffer https://github.com/pufferfish-gg/Pufferfish/issues/83 diff --git a/net/minecraft/world/entity/animal/HappyGhast.java b/net/minecraft/world/entity/animal/HappyGhast.java -index 65d4bd89be02973291b85463d242a9b22b1cec5f..80b76c4557020e208eb1224d64fc094f86141363 100644 +index e04da94daced96a7eb9fdb01c551bea667b72d76..e53773e086a589ee5fd83fde0bee1881ff43e926 100644 --- a/net/minecraft/world/entity/animal/HappyGhast.java +++ b/net/minecraft/world/entity/animal/HappyGhast.java -@@ -401,9 +401,11 @@ public class HappyGhast extends Animal { +@@ -415,9 +415,11 @@ public class HappyGhast extends Animal { return HappyGhastAi.makeBrain(this.brainProvider().makeBrain(dynamic)); } diff --git a/leaf-server/paper-patches/features/0001-Rebrand.patch b/leaf-server/paper-patches/features/0001-Rebrand.patch index b2285feb..4acc35b5 100644 --- a/leaf-server/paper-patches/features/0001-Rebrand.patch +++ b/leaf-server/paper-patches/features/0001-Rebrand.patch @@ -441,10 +441,10 @@ index 1354ccfbf525e5e64483ac5f443cc2325ba63850..f6f787db016f4d1ac14648ebf2b8e162 // (async tasks must live with race-conditions if they attempt to cancel between these few lines of code) } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index ff65904cf067900cd1635b6dab0b01b0fe6ef655..15a88601aaa07ce59b7096bdfc96aa517af5107f 100644 +index c1aad9203af20102e560571435dfa75150b37c1b..756f08f25924c2128a0c8d4ea21f1bc905c33301 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -491,7 +491,7 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -481,7 +481,7 @@ public final class CraftMagicNumbers implements UnsafeValues { @Override public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() { diff --git a/leaf-server/paper-patches/features/0009-Purpur-Server-Paper-Changes.patch b/leaf-server/paper-patches/features/0009-Purpur-Server-Paper-Changes.patch index 3ded51d4..a5289ae4 100644 --- a/leaf-server/paper-patches/features/0009-Purpur-Server-Paper-Changes.patch +++ b/leaf-server/paper-patches/features/0009-Purpur-Server-Paper-Changes.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Purpur Server Paper Changes Original license: MIT Original project: https://github.com/PurpurMC/Purpur -Commit: a3c11d6845ae4a8b1cee0ee0d800e26adf5bfbff +Commit: 469a4de5ce87dcf6461e067d29a88507231f4a6b Patches listed below are removed in this patch, They exists in Gale or Leaf: * "Rebrand.patch" diff --git a/scripts/upstreamCommit.sh b/scripts/upstreamCommit.sh index ccae079b..4fd006df 100755 --- a/scripts/upstreamCommit.sh +++ b/scripts/upstreamCommit.sh @@ -53,7 +53,7 @@ logsuffix="" # Paper updates if [ -n "$paperHash" ]; then newHash=$(git diff gradle.properties | awk '/^+paperCommit =/{print $NF}') - paper=$(getCommits "PaperMC/Paper" "$paperHash" $(echo $newHash | grep . -q && echo $newHash || echo "dev/1.21.6")) + paper=$(getCommits "PaperMC/Paper" "$paperHash" $(echo $newHash | grep . -q && echo $newHash || echo "HEAD")) # Updates found if [ -n "$paper" ]; then