diff --git a/.gitignore b/.gitignore index 615b6832a..dbe10f9ab 100644 --- a/.gitignore +++ b/.gitignore @@ -48,5 +48,6 @@ run/ forktest-server forktest-api +paper-api-generator !gradle/wrapper/gradle-wrapper.jar diff --git a/README.md b/README.md index 011672138..5002de489 100644 --- a/README.md +++ b/README.md @@ -39,5 +39,3 @@ Each branch of this project represents an example: - [`main` is the standard example](https://github.com/PaperMC/paperweight-examples/tree/main) - [`submodules` shows how paperweight can be applied on a fork using the more traditional git submodule system](https://github.com/PaperMC/paperweight-examples/tree/submodules) - - [`mojangapi` shows how a fork could patch arbitrary non-git directories (such as `Paper-MojangAPI`)](https://github.com/PaperMC/paperweight-examples/tree/mojangapi) - - [`submodules-mojang` shows the same as `mojangapi`, but on the git submodules setup from `submodules`](https://github.com/PaperMC/paperweight-examples/tree/submodules-mojangapi) diff --git a/build.gradle.kts b/build.gradle.kts index 359f8d0dc..0af5900bf 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -6,7 +6,7 @@ plugins { id("com.github.johnrengelman.shadow") version "8.1.1" apply false // In general, keep this version in sync with upstream. Sometimes a newer version than upstream might work, but an older version is extremely likely to break. - id("io.papermc.paperweight.patcher") version "1.5.9" + id("io.papermc.paperweight.patcher") version "1.5.11" } val paperMavenPublicUrl = "https://repo.papermc.io/repository/maven-public/" @@ -19,7 +19,7 @@ repositories { } dependencies { - remapper("net.fabricmc:tiny-remapper:0.8.6:fat") // Must be kept in sync with upstream + remapper("net.fabricmc:tiny-remapper:0.8.10:fat") // Must be kept in sync with upstream decompiler("net.minecraftforge:forgeflower:2.0.627.2") // Must be kept in sync with upstream paperclip("io.papermc:paperclip:3.0.3") // You probably want this to be kept in sync with upstream } @@ -30,7 +30,7 @@ allprojects { java { toolchain { - languageVersion.set(JavaLanguageVersion.of(17)) + languageVersion = JavaLanguageVersion.of(17) } } } @@ -38,7 +38,7 @@ allprojects { subprojects { tasks.withType { options.encoding = Charsets.UTF_8.name() - options.release.set(17) + options.release = 17 } tasks.withType { options.encoding = Charsets.UTF_8.name() @@ -54,18 +54,25 @@ subprojects { } paperweight { - serverProject.set(project(":forktest-server")) + serverProject = project(":forktest-server") - remapRepo.set(paperMavenPublicUrl) - decompileRepo.set(paperMavenPublicUrl) + remapRepo = paperMavenPublicUrl + decompileRepo = paperMavenPublicUrl usePaperUpstream(providers.gradleProperty("paperRef")) { withPaperPatcher { - apiPatchDir.set(layout.projectDirectory.dir("patches/api")) - apiOutputDir.set(layout.projectDirectory.dir("forktest-api")) + apiPatchDir = layout.projectDirectory.dir("patches/api") + apiOutputDir = layout.projectDirectory.dir("forktest-api") - serverPatchDir.set(layout.projectDirectory.dir("patches/server")) - serverOutputDir.set(layout.projectDirectory.dir("forktest-server")) + serverPatchDir = layout.projectDirectory.dir("patches/server") + serverOutputDir = layout.projectDirectory.dir("forktest-server") + + } + patchTasks.register("generatedApi") { + isBareDirectory = true + upstreamDirPath = "paper-api-generator/generated" + patchDir = layout.projectDirectory.dir("patches/generatedApi") + outputDir = layout.projectDirectory.dir("paper-api-generator/generated") } } } @@ -75,14 +82,12 @@ paperweight { // tasks.generateDevelopmentBundle { - apiCoordinates.set("com.example.paperfork:forktest-api") - mojangApiCoordinates.set("io.papermc.paper:paper-mojangapi") - libraryRepositories.set( - listOf( - "https://repo.maven.apache.org/maven2/", - paperMavenPublicUrl, - // "https://my.repo/", // This should be a repo hosting your API (in this example, 'com.example.paperfork:forktest-api') - ) + apiCoordinates = "com.example.paperfork:forktest-api" + mojangApiCoordinates = "io.papermc.paper:paper-mojangapi" + libraryRepositories = listOf( + "https://repo.maven.apache.org/maven2/", + paperMavenPublicUrl, + // "https://my.repo/", // This should be a repo hosting your API (in this example, 'com.example.paperfork:forktest-api') ) } diff --git a/gradle.properties b/gradle.properties index 5a3491eff..79317bac8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,8 +1,8 @@ group=com.example.paperfork -version=1.20.2-R0.1-SNAPSHOT +version=1.20.4-R0.1-SNAPSHOT -mcVersion=1.20.2 -paperRef=ce7f0680956bb1c779ac4db9fe0fd1f00bb35bae +mcVersion=1.20.4 +paperRef=07b956e3a30d9cd192111829b59bdf4372f128b1 org.gradle.caching=true org.gradle.parallel=true diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 7f93135c4..d64cd4917 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 3fa8f862f..1af9e0930 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/patches/server/0001-Build-changes.patch b/patches/server/0001-Build-changes.patch index 3b6385969..c801e6052 100644 --- a/patches/server/0001-Build-changes.patch +++ b/patches/server/0001-Build-changes.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Build changes diff --git a/build.gradle.kts b/build.gradle.kts -index 79beac737c17412913983614bd478d33e3c6ed58..1c6665f7d5ce445e8a7daecc3a39ad4b1342847e 100644 +index 58da26ad2f128ba0b66f86820f60853f4be352f0..c23e342dcb54d51bd4460a89cb315856b73b63b3 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -13,8 +13,12 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) { @@ -42,10 +42,10 @@ index 79beac737c17412913983614bd478d33e3c6ed58..1c6665f7d5ce445e8a7daecc3a39ad4b standardInput = System.`in` workingDir = rootProject.layout.projectDirectory diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 8f31413c939cc2b0454ad3d9a1b618dbae449d00..921e8e75eba1c786e8b85abd6800895b260e8ca3 100644 +index 34f19ac897a30c0c4e3ab406013fcca1c8b7db93..eb6b51d5799c677e00ec132078c9305fbc6cccb6 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1697,7 +1697,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop