diff --git a/patches/api/0002-Build-system-changes.patch b/patches/api/0002-Build-system-changes.patch index d90f65b560..880b428a1e 100644 --- a/patches/api/0002-Build-system-changes.patch +++ b/patches/api/0002-Build-system-changes.patch @@ -5,14 +5,18 @@ Subject: [PATCH] Build system changes diff --git a/build.gradle.kts b/build.gradle.kts -index 3ccff060bcb816520a27ec2f34adc977dd49ce1d..738b1c0540e5184eb6d7296107d458aa5be0bfd3 100644 +index 3ccff060bcb816520a27ec2f34adc977dd49ce1d..1168642d832727af2173dfcae6d132a9d44132c1 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -15,15 +15,23 @@ dependencies { +@@ -15,15 +15,27 @@ dependencies { api("com.google.code.gson:gson:2.8.8") api("net.md-5:bungeecord-chat:1.16-R0.4") api("org.yaml:snakeyaml:1.28") -+ api("com.googlecode.json-simple:json-simple:1.1.1") // Paper ++ // Paper start ++ api("com.googlecode.json-simple:json-simple:1.1.1") { ++ isTransitive = false // includes junit ++ } ++ // Paper end compileOnly("org.apache.maven:maven-resolver-provider:3.8.1") compileOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.0") @@ -33,7 +37,7 @@ index 3ccff060bcb816520a27ec2f34adc977dd49ce1d..738b1c0540e5184eb6d7296107d458aa testImplementation("junit:junit:4.13.1") testImplementation("org.hamcrest:hamcrest-library:1.3") testImplementation("org.ow2.asm:asm-tree:9.2") -@@ -59,7 +67,7 @@ tasks.withType { +@@ -59,7 +71,7 @@ tasks.withType { (options as StandardJavadocDocletOptions).links( "https://guava.dev/releases/31.0.1-jre/api/docs/", "https://javadoc.io/doc/org.yaml/snakeyaml/1.28/", diff --git a/patches/api/0004-Add-FastUtil-to-Bukkit.patch b/patches/api/0004-Add-FastUtil-to-Bukkit.patch index a8a62118d4..5ebfe29090 100644 --- a/patches/api/0004-Add-FastUtil-to-Bukkit.patch +++ b/patches/api/0004-Add-FastUtil-to-Bukkit.patch @@ -6,14 +6,14 @@ Subject: [PATCH] Add FastUtil to Bukkit Doesn't expose to plugins, just allows Paper-API to use it for optimization diff --git a/build.gradle.kts b/build.gradle.kts -index 738b1c0540e5184eb6d7296107d458aa5be0bfd3..1455ed17cd055ec97e0adbbd309edae4ac6d1204 100644 +index 1168642d832727af2173dfcae6d132a9d44132c1..a1fd76a7a7fea04a67752ff60834b566fe6f5ec5 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -16,6 +16,7 @@ dependencies { - api("net.md-5:bungeecord-chat:1.16-R0.4") - api("org.yaml:snakeyaml:1.28") - api("com.googlecode.json-simple:json-simple:1.1.1") // Paper +@@ -19,6 +19,7 @@ dependencies { + api("com.googlecode.json-simple:json-simple:1.1.1") { + isTransitive = false // includes junit + } + api("it.unimi.dsi:fastutil:8.5.6") + // Paper end compileOnly("org.apache.maven:maven-resolver-provider:3.8.1") - compileOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.0") diff --git a/patches/api/0008-Adventure.patch b/patches/api/0008-Adventure.patch index 51aa9edaac..779b10050f 100644 --- a/patches/api/0008-Adventure.patch +++ b/patches/api/0008-Adventure.patch @@ -7,7 +7,7 @@ Co-authored-by: zml Co-authored-by: Jake Potrebic diff --git a/build.gradle.kts b/build.gradle.kts -index 1455ed17cd055ec97e0adbbd309edae4ac6d1204..72005a85bb8e7b516e9d96a27daca1dc426de6f3 100644 +index a1fd76a7a7fea04a67752ff60834b566fe6f5ec5..57c216660b86a35f3e182d90c2a107563eaf5cb1 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,6 +8,19 @@ java { @@ -30,19 +30,19 @@ index 1455ed17cd055ec97e0adbbd309edae4ac6d1204..72005a85bb8e7b516e9d96a27daca1dc dependencies { // api dependencies are listed transitively to API consumers api("commons-lang:commons-lang:2.6") -@@ -17,6 +30,11 @@ dependencies { - api("org.yaml:snakeyaml:1.28") - api("com.googlecode.json-simple:json-simple:1.1.1") // Paper +@@ -20,6 +33,11 @@ dependencies { + isTransitive = false // includes junit + } api("it.unimi.dsi:fastutil:8.5.6") + apiAndDocs(platform("net.kyori:adventure-bom:$adventureVersion")) + apiAndDocs("net.kyori:adventure-api") + apiAndDocs("net.kyori:adventure-text-serializer-gson") + apiAndDocs("net.kyori:adventure-text-serializer-legacy") + apiAndDocs("net.kyori:adventure-text-serializer-plain") + // Paper end compileOnly("org.apache.maven:maven-resolver-provider:3.8.1") - compileOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.0") -@@ -65,10 +83,25 @@ tasks.jar { +@@ -69,10 +87,25 @@ tasks.jar { } tasks.withType { diff --git a/patches/api/0026-Use-ASM-for-event-executors.patch b/patches/api/0026-Use-ASM-for-event-executors.patch index a27add0d1c..382bc191fd 100644 --- a/patches/api/0026-Use-ASM-for-event-executors.patch +++ b/patches/api/0026-Use-ASM-for-event-executors.patch @@ -6,19 +6,19 @@ Subject: [PATCH] Use ASM for event executors. Uses method handles for private or static methods. diff --git a/build.gradle.kts b/build.gradle.kts -index 72005a85bb8e7b516e9d96a27daca1dc426de6f3..af2f95b6c6a71b4919edb38e520292676c1cc25d 100644 +index 57c216660b86a35f3e182d90c2a107563eaf5cb1..5a1b66c6692451a78be6c4adb103de34bb06b056 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -36,6 +36,9 @@ dependencies { +@@ -38,6 +38,9 @@ dependencies { + apiAndDocs("net.kyori:adventure-text-serializer-gson") apiAndDocs("net.kyori:adventure-text-serializer-legacy") apiAndDocs("net.kyori:adventure-text-serializer-plain") - -+ implementation("org.ow2.asm:asm:9.1") -+ implementation("org.ow2.asm:asm-commons:9.1") + ++ implementation("org.ow2.asm:asm:9.2") ++ implementation("org.ow2.asm:asm-commons:9.2") + // Paper end + compileOnly("org.apache.maven:maven-resolver-provider:3.8.1") - compileOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.0") - compileOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.0") diff --git a/src/main/java/com/destroystokyo/paper/event/executor/MethodHandleEventExecutor.java b/src/main/java/com/destroystokyo/paper/event/executor/MethodHandleEventExecutor.java new file mode 100644 index 0000000000000000000000000000000000000000..5b28e9b1daba7834af67dbc193dd656bedd9a994 diff --git a/patches/api/0069-Allow-plugins-to-use-SLF4J-for-logging.patch b/patches/api/0069-Allow-plugins-to-use-SLF4J-for-logging.patch index 432f8dd3c0..16b6080ff4 100644 --- a/patches/api/0069-Allow-plugins-to-use-SLF4J-for-logging.patch +++ b/patches/api/0069-Allow-plugins-to-use-SLF4J-for-logging.patch @@ -14,18 +14,18 @@ it without having to shade it in the plugin and going through several layers of logging abstraction. diff --git a/build.gradle.kts b/build.gradle.kts -index af2f95b6c6a71b4919edb38e520292676c1cc25d..720ba2774196f24cca6c4d1b173f90f8151c8a5e 100644 +index 5a1b66c6692451a78be6c4adb103de34bb06b056..591f30a41d6f39683c60758c2e9f32bb6b476a62 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -35,6 +35,8 @@ dependencies { +@@ -38,6 +38,8 @@ dependencies { apiAndDocs("net.kyori:adventure-text-serializer-gson") apiAndDocs("net.kyori:adventure-text-serializer-legacy") apiAndDocs("net.kyori:adventure-text-serializer-plain") -+ api("org.apache.logging.log4j:log4j-api:2.14.1") // Paper -+ api("org.slf4j:slf4j-api:1.7.30") // Paper ++ api("org.apache.logging.log4j:log4j-api:2.14.1") ++ api("org.slf4j:slf4j-api:1.8.0-beta4") - implementation("org.ow2.asm:asm:9.1") - implementation("org.ow2.asm:asm-commons:9.1") + implementation("org.ow2.asm:asm:9.2") + implementation("org.ow2.asm:asm-commons:9.2") diff --git a/src/main/java/org/bukkit/plugin/Plugin.java b/src/main/java/org/bukkit/plugin/Plugin.java index 03ca87a1cbace2459174bb7bb8847bda766e80c5..c25fc646be750d3a3b2f4fb3f1c53daee5254107 100644 --- a/src/main/java/org/bukkit/plugin/Plugin.java diff --git a/patches/server/0001-Setup-Gradle-project.patch b/patches/server/0001-Setup-Gradle-project.patch index ab2ef7de4b..ec2ff1417b 100644 --- a/patches/server/0001-Setup-Gradle-project.patch +++ b/patches/server/0001-Setup-Gradle-project.patch @@ -28,10 +28,10 @@ index 67fb370cad6924895a6b27052dbd5c1767e3f0c9..bb338269c9e3bef4c274157c490d8b8f +/.factorypath diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 -index 0000000000000000000000000000000000000000..e2d2a87d68e611276f743064c6aaf82272d36582 +index 0000000000000000000000000000000000000000..139f377673414e1d0213129549e94934b511aa57 --- /dev/null +++ b/build.gradle.kts -@@ -0,0 +1,148 @@ +@@ -0,0 +1,144 @@ +import io.papermc.paperweight.util.* + +plugins { @@ -51,10 +51,6 @@ index 0000000000000000000000000000000000000000..e2d2a87d68e611276f743064c6aaf822 + exclude(group = "org.apache.logging.log4j", module = "log4j-api") + } + implementation("org.ow2.asm:asm:9.2") -+ implementation("com.googlecode.json-simple:json-simple:1.1.1") { -+ // This includes junit transitively for whatever reason -+ isTransitive = false -+ } + runtimeOnly("org.xerial:sqlite-jdbc:3.36.0.3") + runtimeOnly("mysql:mysql-connector-java:8.0.27") + diff --git a/patches/server/0003-Build-system-changes.patch b/patches/server/0003-Build-system-changes.patch index 47161b12ef..c8b1f05dfc 100644 --- a/patches/server/0003-Build-system-changes.patch +++ b/patches/server/0003-Build-system-changes.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Build system changes diff --git a/build.gradle.kts b/build.gradle.kts -index e2d2a87d68e611276f743064c6aaf82272d36582..552edd36f892bc8d1a0333984987c6d41174d967 100644 +index 139f377673414e1d0213129549e94934b511aa57..5f1792267c02d1ef4b25444f93ceee52a1dd0661 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -13,10 +13,9 @@ repositories { @@ -18,10 +18,10 @@ index e2d2a87d68e611276f743064c6aaf82272d36582..552edd36f892bc8d1a0333984987c6d4 + implementation("org.apache.logging.log4j:log4j-iostreams:2.14.1") // Paper implementation("org.ow2.asm:asm:9.2") + implementation("org.ow2.asm:asm-commons:9.2") // Paper - ASM event executor generation - implementation("com.googlecode.json-simple:json-simple:1.1.1") { - // This includes junit transitively for whatever reason - isTransitive = false -@@ -40,6 +39,7 @@ tasks.jar { + runtimeOnly("org.xerial:sqlite-jdbc:3.36.0.3") + runtimeOnly("mysql:mysql-connector-java:8.0.27") + +@@ -36,6 +35,7 @@ tasks.jar { val gitHash = git("rev-parse", "--short=7", "HEAD").getText().trim() val implementationVersion = System.getenv("BUILD_NUMBER") ?: "\"$gitHash\"" val date = git("show", "-s", "--format=%ci", gitHash).getText().trim() // Paper @@ -29,7 +29,7 @@ index e2d2a87d68e611276f743064c6aaf82272d36582..552edd36f892bc8d1a0333984987c6d4 attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", "Implementation-Title" to "CraftBukkit", -@@ -48,6 +48,8 @@ tasks.jar { +@@ -44,6 +44,8 @@ tasks.jar { "Specification-Title" to "Bukkit", "Specification-Version" to project.version, "Specification-Vendor" to "Bukkit Team", diff --git a/patches/server/0222-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch b/patches/server/0222-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch index 1f463b5946..d49156adb1 100644 --- a/patches/server/0222-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch +++ b/patches/server/0222-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch @@ -5,11 +5,11 @@ Subject: [PATCH] Use AsyncAppender to keep logging IO off main thread diff --git a/build.gradle.kts b/build.gradle.kts -index 03007dc18d52d951ea149d651fb7fd2c9d75f82e..6ffeea41aa7d9370f002043672b3438bd15ef8aa 100644 +index a20994ee826d42e3b8dff35d3f67e8bcf8fb79a3..1d62be2d0b8b35eaa7c0f7169df71ca27f8477d3 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -32,6 +32,7 @@ dependencies { - } +@@ -28,6 +28,7 @@ dependencies { + implementation("org.ow2.asm:asm-commons:9.2") // Paper - ASM event executor generation runtimeOnly("org.xerial:sqlite-jdbc:3.36.0.3") runtimeOnly("mysql:mysql-connector-java:8.0.27") + runtimeOnly("com.lmax:disruptor:3.4.4") // Paper diff --git a/patches/server/0417-Deobfuscate-stacktraces-in-log-messages-crash-report.patch b/patches/server/0417-Deobfuscate-stacktraces-in-log-messages-crash-report.patch index 9a2dabdac6..bac12a065d 100644 --- a/patches/server/0417-Deobfuscate-stacktraces-in-log-messages-crash-report.patch +++ b/patches/server/0417-Deobfuscate-stacktraces-in-log-messages-crash-report.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Deobfuscate stacktraces in log messages, crash reports, and diff --git a/build.gradle.kts b/build.gradle.kts -index a9a871bb5ca742a174576a23b5c46d8b4a6c0f2c..75def32d9e359d3990b84cd381c2f5bf9e8bffba 100644 +index fc59f56860d02ef8c11082feae042a39e3924f45..79d80e5a5e52d2bc45f63eeb81c6f4fd858f7ffc 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,4 +1,6 @@ @@ -36,7 +36,7 @@ index a9a871bb5ca742a174576a23b5c46d8b4a6c0f2c..75def32d9e359d3990b84cd381c2f5bf // Paper end implementation("org.apache.logging.log4j:log4j-iostreams:2.14.1") // Paper implementation("org.ow2.asm:asm:9.2") -@@ -39,6 +47,8 @@ dependencies { +@@ -35,6 +43,8 @@ dependencies { runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.0") runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.0") @@ -45,7 +45,7 @@ index a9a871bb5ca742a174576a23b5c46d8b4a6c0f2c..75def32d9e359d3990b84cd381c2f5bf testImplementation("junit:junit:4.13.1") testImplementation("org.hamcrest:hamcrest-library:1.3") } -@@ -99,6 +109,45 @@ tasks.shadowJar { +@@ -95,6 +105,45 @@ tasks.shadowJar { } } diff --git a/patches/server/0418-Implement-Mob-Goal-API.patch b/patches/server/0418-Implement-Mob-Goal-API.patch index d75f3568b6..d612a600d1 100644 --- a/patches/server/0418-Implement-Mob-Goal-API.patch +++ b/patches/server/0418-Implement-Mob-Goal-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement Mob Goal API diff --git a/build.gradle.kts b/build.gradle.kts -index 75def32d9e359d3990b84cd381c2f5bf9e8bffba..fb712b3c75068741ca4f69cddcb6c4a7dc1e81ea 100644 +index 79d80e5a5e52d2bc45f63eeb81c6f4fd858f7ffc..a5e3868343f6dd0c483d59962b0aed301b973cc6 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -49,6 +49,7 @@ dependencies { +@@ -45,6 +45,7 @@ dependencies { implementation("net.fabricmc:mapping-io:0.3.0") // Paper - needed to read mappings for stacktrace deobfuscation diff --git a/patches/server/0778-Use-Velocity-compression-and-cipher-natives.patch b/patches/server/0778-Use-Velocity-compression-and-cipher-natives.patch index b0f587179e..f3d0058479 100644 --- a/patches/server/0778-Use-Velocity-compression-and-cipher-natives.patch +++ b/patches/server/0778-Use-Velocity-compression-and-cipher-natives.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Use Velocity compression and cipher natives diff --git a/build.gradle.kts b/build.gradle.kts -index fb712b3c75068741ca4f69cddcb6c4a7dc1e81ea..72e4828940396b7b326ed64c3c06b785f949b08d 100644 +index a5e3868343f6dd0c483d59962b0aed301b973cc6..cd74406039704e5a880f00b9b60bb7b1dedc5398 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -48,6 +48,11 @@ dependencies { +@@ -44,6 +44,11 @@ dependencies { runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.0") implementation("net.fabricmc:mapping-io:0.3.0") // Paper - needed to read mappings for stacktrace deobfuscation