diff --git a/gradle.properties b/gradle.properties index acd0abd97..876d741fa 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = org.purpurmc.purpur version = 1.21.6-R0.1-SNAPSHOT mcVersion = 1.21.6-rc1 -paperCommit = d1f89b9c706621111039172d193c50875164041a +paperCommit = a5f209c60ebc70189918deda6b00ad152b11b3a0 org.gradle.configuration-cache = true org.gradle.caching = true diff --git a/purpur-server/build.gradle.kts.patch b/purpur-server/build.gradle.kts.patch index 7e4ff9fe1..fd982018e 100644 --- a/purpur-server/build.gradle.kts.patch +++ b/purpur-server/build.gradle.kts.patch @@ -8,16 +8,10 @@ plugins { `java-library` -@@ -24,9 +_,21 @@ +@@ -24,6 +_,18 @@ minecraftVersion = providers.gradleProperty("mcVersion") gitFilePatches = false -- updatingMinecraft { -- oldPaperCommit = "a033e3b9ef78cfe85be807ac3fd1dd956274d4db" -+ //updatingMinecraft { -+ // oldPaperCommit = "a033e3b9ef78cfe85be807ac3fd1dd956274d4db" -+ //} -+ + // Purpur start - Rebrand + val purpur = forks.register("purpur") { + upstream.patchDir("paperServer") { @@ -26,13 +20,14 @@ + patchesDir = rootDirectory.dir("purpur-server/paper-patches") + outputDir = rootDirectory.dir("paper-server") + } - } ++ } + activeFork = purpur + // Purpur end - Rebrand - ++ spigot { enabled = false -@@ -109,7 +_,21 @@ + buildDataRef = "702e1a0a5072b2c4082371d5228cb30525687efc" +@@ -105,7 +_,21 @@ } } @@ -55,7 +50,7 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) { extendsFrom(configurations.compileClasspath.get()) } -@@ -131,7 +_,7 @@ +@@ -127,7 +_,7 @@ } dependencies { @@ -64,7 +59,7 @@ implementation("ca.spottedleaf:concurrentutil:0.0.3") 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 -@@ -159,6 +_,10 @@ +@@ -155,6 +_,10 @@ implementation("org.spongepowered:configurate-yaml:4.2.0-20250225.064233-199") implementation("org.spongepowered:configurate-core:4.2.0-20250225.064233-204") // Pinned dependency of above pinned yaml snapshot. @@ -75,7 +70,7 @@ // Deps that were previously in the API but have now been moved here for backwards compat, eventually to be removed runtimeOnly("commons-lang:commons-lang:2.6") runtimeOnly("org.xerial:sqlite-jdbc:3.49.1.0") -@@ -207,14 +_,14 @@ +@@ -203,14 +_,14 @@ val gitBranch = git.exec(providers, "rev-parse", "--abbrev-ref", "HEAD").get().trim() attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", @@ -95,7 +90,7 @@ "Build-Number" to (build ?: ""), "Build-Time" to buildTime.toString(), "Git-Branch" to gitBranch, -@@ -273,7 +_,7 @@ +@@ -269,7 +_,7 @@ jvmArgumentProviders.add(provider) } @@ -104,7 +99,7 @@ idea { module { generatedSourceDirs.add(generatedDir.toFile()) -@@ -376,3 +_,43 @@ +@@ -372,3 +_,43 @@ classpath(tasks.createReobfPaperclipJar.flatMap { it.outputZip }) mainClass.set(null as String?) } diff --git a/purpur-server/minecraft-patches/features/0003-Barrels-and-enderchests-6-rows.patch b/purpur-server/minecraft-patches/features/0003-Barrels-and-enderchests-6-rows.patch index be7a4921b..dcc55445d 100644 --- a/purpur-server/minecraft-patches/features/0003-Barrels-and-enderchests-6-rows.patch +++ b/purpur-server/minecraft-patches/features/0003-Barrels-and-enderchests-6-rows.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Barrels and enderchests 6 rows diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java -index 5e8db3d74d4e2bd6e28042de67dde38b26768fc4..9e76257c195e46ef60a742144109a3947229cb6e 100644 +index 803d022cb325c850f830e2b52cd1917d230807de..5a31e11e72e80e5a5aef211a45370fb293dfd144 100644 --- a/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java -@@ -1041,6 +1041,27 @@ public abstract class PlayerList { +@@ -1036,6 +1036,27 @@ public abstract class PlayerList { player.getBukkitEntity().recalculatePermissions(); // CraftBukkit this.server.getCommands().sendCommands(player); } // Paper - Add sendOpLevel API diff --git a/purpur-server/minecraft-patches/sources/net/minecraft/server/players/PlayerList.java.patch b/purpur-server/minecraft-patches/sources/net/minecraft/server/players/PlayerList.java.patch index 9cc0386e8..bbd6ded29 100644 --- a/purpur-server/minecraft-patches/sources/net/minecraft/server/players/PlayerList.java.patch +++ b/purpur-server/minecraft-patches/sources/net/minecraft/server/players/PlayerList.java.patch @@ -1,6 +1,6 @@ --- a/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java -@@ -406,7 +_,7 @@ +@@ -401,7 +_,7 @@ scoreboard.addPlayerToTeam(player.getScoreboardName(), collideRuleTeam); } // Paper end - Configurable player collision @@ -9,7 +9,7 @@ // Paper start - Send empty chunk, so players aren't stuck in the world loading screen with our chunk system not sending chunks when dead if (player.isDeadOrDying()) { net.minecraft.core.Holder plains = serverLevel.registryAccess().lookupOrThrow(net.minecraft.core.registries.Registries.BIOME) -@@ -513,6 +_,7 @@ +@@ -508,6 +_,7 @@ } public @Nullable net.kyori.adventure.text.Component remove(ServerPlayer player, net.kyori.adventure.text.Component leaveMessage) { // Paper end - Fix kick event leave message not being sent @@ -17,7 +17,7 @@ ServerLevel serverLevel = player.level(); player.awardStat(Stats.LEAVE_GAME); // CraftBukkit start - Quitting must be before we do final save of data, in case plugins need to modify it -@@ -671,7 +_,7 @@ +@@ -666,7 +_,7 @@ // return this.players.size() >= this.maxPlayers && !this.canBypassPlayerLimit(gameProfile) // ? Component.translatable("multiplayer.disconnect.server_full") // : null; @@ -26,7 +26,7 @@ event.disallow(org.bukkit.event.player.PlayerLoginEvent.Result.KICK_FULL, net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(org.spigotmc.SpigotConfig.serverFullMessage)); // Spigot // Paper - Adventure } } -@@ -933,6 +_,20 @@ +@@ -928,6 +_,20 @@ } } @@ -47,7 +47,7 @@ public void broadcastAll(Packet packet, ResourceKey dimension) { for (ServerPlayer serverPlayer : this.players) { if (serverPlayer.level().dimension() == dimension) { -@@ -1017,6 +_,7 @@ +@@ -1012,6 +_,7 @@ } else { b = (byte)(24 + permLevel); }