From f06bfa762eb8c9e5159463f5bf9f8358b9cf4a32 Mon Sep 17 00:00:00 2001 From: MC_XiaoHei Date: Fri, 26 Sep 2025 13:18:53 +0800 Subject: [PATCH] feat: update to 1.21.9-rc1 --- gradle.properties | 6 +++--- leaves-api/build.gradle.kts.patch | 8 ++++---- leaves-server/build.gradle.kts.patch | 12 ++++++------ ...0005-Configurable-trading-with-the-void.patch | 4 ++-- .../features/0007-Leaves-Fakeplayer.patch | 14 +++++++------- .../0052-Elytra-aeronautics-no-chunk-load.patch | 10 +++++----- .../features/0072-Replay-Mod-API.patch | 16 ++++++++-------- .../features/0120-Old-zombie-reinforcement.patch | 4 ++-- 8 files changed, 37 insertions(+), 37 deletions(-) diff --git a/gradle.properties b/gradle.properties index ee19caaa..df50a2a8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ group=org.leavesmc.leaves -version=1.21.9-pre4-R0.1-SNAPSHOT -mcVersion=1.21.9-pre4 -paperRef=6b0b29a9b7b9661e5ce328267e080b8fd80b7a77 +version=1.21.9-rc1-R0.1-SNAPSHOT +mcVersion=1.21.9-rc1 +paperRef=4055274204ce66ca66e8a551fef08b223ee3041d preVersion=true paper.runDisableWatchdog=true diff --git a/leaves-api/build.gradle.kts.patch b/leaves-api/build.gradle.kts.patch index dd3e1d22..cd851595 100644 --- a/leaves-api/build.gradle.kts.patch +++ b/leaves-api/build.gradle.kts.patch @@ -1,6 +1,6 @@ --- a/paper-api/build.gradle.kts +++ b/paper-api/build.gradle.kts -@@ -98,19 +_,33 @@ +@@ -90,19 +_,33 @@ testRuntimeOnly("org.junit.platform:junit-platform-launcher") } @@ -35,7 +35,7 @@ val outgoingVariants = arrayOf("runtimeElements", "apiElements", "sourcesElements", "javadocElements") val mainCapability = "${project.group}:${project.name}:${project.version}" -@@ -155,6 +_,16 @@ +@@ -147,6 +_,16 @@ } } @@ -52,7 +52,7 @@ tasks.jar { from(generateApiVersioningFile.map { it.outputs.files.singleFile }) { into("META-INF/maven/${project.group}/${project.name}") -@@ -174,7 +_,7 @@ +@@ -166,7 +_,7 @@ tasks.withType().configureEach { val options = options as StandardJavadocDocletOptions @@ -61,7 +61,7 @@ options.use() options.isDocFilesSubDirs = true options.links( -@@ -207,16 +_,18 @@ +@@ -201,16 +_,18 @@ } // workaround for https://github.com/gradle/gradle/issues/4046 diff --git a/leaves-server/build.gradle.kts.patch b/leaves-server/build.gradle.kts.patch index 399f5aac..3e5d9992 100644 --- a/leaves-server/build.gradle.kts.patch +++ b/leaves-server/build.gradle.kts.patch @@ -18,7 +18,7 @@ +val leavesMavenPublicUrl = "https://repo.leavesmc.com/snapshots/" // Leaves - build change dependencies { - mache("io.papermc:mache:1.21.9-pre4+build.1") + mache("io.papermc:mache:1.21.9-rc1+build.1") - paperclip("io.papermc:paperclip:3.0.3") + leavesclip("org.leavesmc:leavesclip:3.0.7") // Leaves - build change testRuntimeOnly("org.junit.platform:junit-platform-launcher") @@ -100,7 +100,7 @@ implementation("ca.spottedleaf:concurrentutil:0.0.5") implementation("org.jline:jline-terminal-ffm:3.27.1") // use ffm on java 22+ implementation("org.jline:jline-terminal-jni:3.27.1") // fall back to jni on java 21 -@@ -158,7 +_,6 @@ +@@ -157,7 +_,6 @@ implementation("org.spongepowered:configurate-yaml:4.2.0") // Deps that were previously in the API but have now been moved here for backwards compat, eventually to be removed @@ -108,7 +108,7 @@ runtimeOnly("org.xerial:sqlite-jdbc:3.49.1.0") runtimeOnly("com.mysql:mysql-connector-j:9.2.0") runtimeOnly("com.lmax:disruptor:3.4.4") -@@ -189,26 +_,36 @@ +@@ -188,26 +_,36 @@ implementation("me.lucko:spark-paper:1.10.133-20250413.112336-1") } @@ -151,7 +151,7 @@ "Build-Number" to (build ?: ""), "Build-Time" to buildTime.toString(), "Git-Branch" to gitBranch, -@@ -267,7 +_,7 @@ +@@ -266,7 +_,7 @@ jvmArgumentProviders.add(provider) } @@ -160,7 +160,7 @@ idea { module { generatedSourceDirs.add(generatedDir.toFile()) -@@ -304,6 +_,10 @@ +@@ -303,6 +_,10 @@ } args("--nogui") @@ -171,7 +171,7 @@ systemProperty("net.kyori.adventure.text.warnWhenLegacyFormattingDetected", true) if (providers.gradleProperty("paper.runDisableWatchdog").getOrElse("false") == "true") { systemProperty("disable.watchdog", true) -@@ -348,30 +_,26 @@ +@@ -347,30 +_,26 @@ classpath(tasks.createReobfBundlerJar.flatMap { it.outputZip }) mainClass.set(null as String?) } diff --git a/leaves-server/minecraft-patches/features/0005-Configurable-trading-with-the-void.patch b/leaves-server/minecraft-patches/features/0005-Configurable-trading-with-the-void.patch index 24366c79..50e1ed4d 100644 --- a/leaves-server/minecraft-patches/features/0005-Configurable-trading-with-the-void.patch +++ b/leaves-server/minecraft-patches/features/0005-Configurable-trading-with-the-void.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable trading with the void diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java -index 442a19b07542226c1cabceacbccbd34177b5f126..d34f60bea2a607714e601c2718e8028ae7cf02d5 100644 +index 6c0b1ce3888ab599a84fb4a8ee69a0d6454e50fd..d352c882aaf1cf3593b7ef36e3310e5893a80f88 100644 --- a/net/minecraft/server/level/ServerLevel.java +++ b/net/minecraft/server/level/ServerLevel.java -@@ -2793,7 +2793,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -2797,7 +2797,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe // Spigot start if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder && (!(entity instanceof ServerPlayer) || entity.getRemovalReason() != Entity.RemovalReason.KILLED)) { // SPIGOT-6876: closeInventory clears death message // Paper start - Fix merchant inventory not closing on entity removal diff --git a/leaves-server/minecraft-patches/features/0007-Leaves-Fakeplayer.patch b/leaves-server/minecraft-patches/features/0007-Leaves-Fakeplayer.patch index 13a77774..1e25a63a 100644 --- a/leaves-server/minecraft-patches/features/0007-Leaves-Fakeplayer.patch +++ b/leaves-server/minecraft-patches/features/0007-Leaves-Fakeplayer.patch @@ -30,7 +30,7 @@ index c5b3f7544a968f835b13819cc61cfacf06af53a2..d36a33a9ea2cc262f746314eda9770e1 private DisconnectionDetails disconnectionDetails; private boolean encrypted; diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java -index 8ecf53977841396693ab01d7897c24b67fe9b5cb..d78c566d282e3be1f793c3d8dbec56f6e3d92c4b 100644 +index af8f690f54f0930eb343e823e6b0aac2c882f21b..f562567a79f75d258bfe59610236d27c0144f291 100644 --- a/net/minecraft/server/MinecraftServer.java +++ b/net/minecraft/server/MinecraftServer.java @@ -311,6 +311,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop> optional = PoiTypes.forState(oldState); -@@ -2727,6 +2735,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -2731,6 +2739,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe // ServerLevel.this.getChunkSource().addEntity(entity); // Paper - ignore and warn about illegal addEntity calls instead of crashing server; moved down below valid=true if (entity instanceof ServerPlayer serverPlayer) { ServerLevel.this.players.add(serverPlayer); @@ -285,7 +285,7 @@ index d34f60bea2a607714e601c2718e8028ae7cf02d5..5ecbbd9174dae94e0a1964ad29566099 if (serverPlayer.isReceivingWaypoints()) { ServerLevel.this.getWaypointManager().addPlayer(serverPlayer); } -@@ -2805,6 +2818,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -2809,6 +2822,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe ServerLevel.this.getChunkSource().removeEntity(entity); if (entity instanceof ServerPlayer serverPlayer) { ServerLevel.this.players.remove(serverPlayer); diff --git a/leaves-server/minecraft-patches/features/0052-Elytra-aeronautics-no-chunk-load.patch b/leaves-server/minecraft-patches/features/0052-Elytra-aeronautics-no-chunk-load.patch index ab58c3c2..e39fc0e9 100644 --- a/leaves-server/minecraft-patches/features/0052-Elytra-aeronautics-no-chunk-load.patch +++ b/leaves-server/minecraft-patches/features/0052-Elytra-aeronautics-no-chunk-load.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Elytra aeronautics no chunk load diff --git a/net/minecraft/server/level/ChunkMap.java b/net/minecraft/server/level/ChunkMap.java -index 9f315d6b20562e35b226ea3420b75db5a30b36e4..364249e9078973af5a44c76b8e792897d58cc725 100644 +index 7d0441c5088e0b6f0053ecf0af762bcfe75d77f9..bbc4ed833c3a789ae6b0dfaa128e66c0112a7027 100644 --- a/net/minecraft/server/level/ChunkMap.java +++ b/net/minecraft/server/level/ChunkMap.java -@@ -859,7 +859,8 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -862,7 +862,8 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } private boolean skipPlayer(ServerPlayer player) { @@ -18,7 +18,7 @@ index 9f315d6b20562e35b226ea3420b75db5a30b36e4..364249e9078973af5a44c76b8e792897 } void updatePlayerStatus(ServerPlayer player, boolean track) { -@@ -893,6 +894,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -896,6 +897,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } public void move(ServerPlayer player) { @@ -27,7 +27,7 @@ index 9f315d6b20562e35b226ea3420b75db5a30b36e4..364249e9078973af5a44c76b8e792897 SectionPos lastSectionPos = player.getLastSectionPos(); diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java -index 93e07c2036e32648c7568651e1791ffeb2128ff6..5deab686b386e3b82205a828ae12a72cb0f2e6fb 100644 +index 5cdc69448b3d054112e4b3950a9aa48c5a50ba0a..980b06c70e3aa4eb2a462ebf06a4153d91e2b5dc 100644 --- a/net/minecraft/server/level/ServerLevel.java +++ b/net/minecraft/server/level/ServerLevel.java @@ -861,6 +861,9 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -105,7 +105,7 @@ index 4f4331cfb39f3ec30983ef510580ddedcec6795d..337bda20f5f457707a5179615eee9d89 if (this.isSleeping()) { diff --git a/net/minecraft/world/entity/player/Player.java b/net/minecraft/world/entity/player/Player.java -index 451ff11e0ad37d1766e937133f5879b6568953f8..df40c8f807dc03bf70b6c15ff885343a2d195e9c 100644 +index a79f70af6c9c4939007307728c87d25808fce372..8af6895986c8695f67fe36e67eda54867cdbe227 100644 --- a/net/minecraft/world/entity/player/Player.java +++ b/net/minecraft/world/entity/player/Player.java @@ -180,6 +180,7 @@ public abstract class Player extends Avatar implements ContainerUser { diff --git a/leaves-server/minecraft-patches/features/0072-Replay-Mod-API.patch b/leaves-server/minecraft-patches/features/0072-Replay-Mod-API.patch index 527c0067..f051af8b 100644 --- a/leaves-server/minecraft-patches/features/0072-Replay-Mod-API.patch +++ b/leaves-server/minecraft-patches/features/0072-Replay-Mod-API.patch @@ -80,7 +80,7 @@ index d438e31a082b675d7eb0eead7067a0b92363a9f9..c08f34bc17bec9f73c377b45389a7755 players.add(serverPlayer1); if (players.size() >= resultLimit) { diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java -index e111da378b6b4c67a7baa05a145c53a7130683ac..9ea2fdfbf328b8bedac48e863021d92d40eae8cc 100644 +index ee9a7b7da4b739efd8e407caecad34eba770fb50..a9936e1fabd02d0c8dd567aa8a1a16465d424d1a 100644 --- a/net/minecraft/server/MinecraftServer.java +++ b/net/minecraft/server/MinecraftServer.java @@ -1575,7 +1575,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop sender.canSee(ep.getBukkitEntity())).collect(java.util.stream.Collectors.toList()); diff --git a/net/minecraft/server/commands/OpCommand.java b/net/minecraft/server/commands/OpCommand.java -index a1f0fb0f5532e39f4b12bfe40786a0eba1ffbaba..e217ea235edf79719b0cd4e78f1ad6af17c3fd7b 100644 +index 2682f6debf14ed3040a78b02d820e949ca3832c5..6569b1be4fda23de9dea5e4a5373bd52b62ce514 100644 --- a/net/minecraft/server/commands/OpCommand.java +++ b/net/minecraft/server/commands/OpCommand.java @@ -25,7 +25,7 @@ public class OpCommand { @@ -280,10 +280,10 @@ index 5a8cd3e6b448a4472092690cf589bca10b142126..8f22d5faf89006153b1fff4ff0b622f8 this.setListData(list); diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java -index 2192c0da514297ae32656e17f9aae4cfaea7afeb..215350f388d90159456154d5f970a6a89265ebc2 100644 +index 980b06c70e3aa4eb2a462ebf06a4153d91e2b5dc..27606bcb957abe27641010f920deafa05ebee360 100644 --- a/net/minecraft/server/level/ServerLevel.java +++ b/net/minecraft/server/level/ServerLevel.java -@@ -2763,7 +2763,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -2767,7 +2767,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe if (entity instanceof ServerPlayer serverPlayer) { ServerLevel.this.players.add(serverPlayer); // Leaves start - skip @@ -292,7 +292,7 @@ index 2192c0da514297ae32656e17f9aae4cfaea7afeb..215350f388d90159456154d5f970a6a8 ServerLevel.this.realPlayers.add(serverPlayer); } // Leaves end - skip -@@ -2846,7 +2846,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe +@@ -2850,7 +2850,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe if (entity instanceof ServerPlayer serverPlayer) { ServerLevel.this.players.remove(serverPlayer); // Leaves start - skip diff --git a/leaves-server/minecraft-patches/features/0120-Old-zombie-reinforcement.patch b/leaves-server/minecraft-patches/features/0120-Old-zombie-reinforcement.patch index 636942dd..ba17d6ce 100644 --- a/leaves-server/minecraft-patches/features/0120-Old-zombie-reinforcement.patch +++ b/leaves-server/minecraft-patches/features/0120-Old-zombie-reinforcement.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Old zombie reinforcement diff --git a/net/minecraft/world/entity/monster/Zombie.java b/net/minecraft/world/entity/monster/Zombie.java -index a23607874a72723914cbfeea0ad1c51236c044d8..cb7b248276bfb6a9721e0bcc42ef00bf7029f263 100644 +index c0f7b625ca135772f3f979d64b1003699b4109f8..3f87bcaa806de4541d3f4f389e897d9875330009 100644 --- a/net/minecraft/world/entity/monster/Zombie.java +++ b/net/minecraft/world/entity/monster/Zombie.java -@@ -341,7 +341,7 @@ public class Zombie extends Monster { +@@ -340,7 +340,7 @@ public class Zombie extends Monster { int floor = Mth.floor(this.getX()); int floor1 = Mth.floor(this.getY()); int floor2 = Mth.floor(this.getZ());