diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 32ec4f4..f678467 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -17,18 +17,18 @@ jobs: matrix: # Use these Java versions java: [ - 21, # Current Java LTS & minimum supported by Minecraft + 25, # Current Java LTS & minimum supported by Minecraft ] # and run on both Linux and Windows os: [ubuntu-24.04, windows-2022] runs-on: ${{ matrix.os }} steps: - name: checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: validate gradle wrapper - uses: gradle/actions/wrapper-validation@v4 + uses: gradle/actions/wrapper-validation@v5 - name: setup jdk ${{ matrix.java }} - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: java-version: ${{ matrix.java }} distribution: 'microsoft' @@ -39,8 +39,8 @@ jobs: - name: build run: ./gradlew build - name: capture build artifacts - if: ${{ runner.os == 'Linux' && matrix.java == '21' }} # Only upload artifacts built from latest java on one OS - uses: actions/upload-artifact@v4 + if: ${{ runner.os == 'Linux' && matrix.java == '25' }} # Only upload artifacts built from latest java on one OS + uses: actions/upload-artifact@v6 with: name: Artifacts path: build/libs/ diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ed7e9c8..2091215 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -9,13 +9,13 @@ jobs: contents: read packages: write steps: - - uses: actions/checkout@v4 - - uses: actions/setup-java@v4 + - uses: actions/checkout@v6 + - uses: actions/setup-java@v5 with: - java-version: '21' + java-version: '25' distribution: 'adopt' - name: Validate Gradle wrapper - uses: gradle/actions/wrapper-validation@v4 + uses: gradle/actions/wrapper-validation@v5 - name: Publish package run: gradle publish env: diff --git a/README.md b/README.md index e853293..d5c5096 100644 --- a/README.md +++ b/README.md @@ -106,7 +106,7 @@ Import it: ```gradle dependencies { // Fabric - include modImplementation('dev.xpple:betterconfig-fabric:${betterconfig_version}') + include implementation('dev.xpple:betterconfig-fabric:${betterconfig_version}') // Paper (also include the JAR in the plugins folder) compileOnly 'dev.xpple:betterconfig-paper:${betterconfig_version}' } diff --git a/common/build.gradle b/common/build.gradle index 9a15597..3d96812 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -1,36 +1,28 @@ plugins { - id 'fabric-loom' version "${fabric_loom_version}" + id 'net.fabricmc.fabric-loom' version "${fabric_loom_version}" } +version = project.mod_version +group = project.maven_group + base { archivesName = project.archives_base_name - version = project.mod_version - group = project.maven_group } repositories { - maven { - url = 'https://maven.parchmentmc.org' - } } dependencies { minecraft "com.mojang:minecraft:${project.minecraft_version}" - mappings loom.layered { - officialMojangMappings { - nameSyntheticMembers = true - } - parchment "org.parchmentmc.data:${project.parchment_mappings}" - } } tasks.withType(JavaCompile).configureEach { - it.options.release = 21 + it.options.release = 25 } java { - sourceCompatibility = JavaVersion.VERSION_21 - targetCompatibility = JavaVersion.VERSION_21 + sourceCompatibility = JavaVersion.VERSION_25 + targetCompatibility = JavaVersion.VERSION_25 withSourcesJar() } diff --git a/fabric/build.gradle b/fabric/build.gradle index 60d8b8e..63f3771 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -1,12 +1,13 @@ plugins { - id 'fabric-loom' version "${fabric_loom_version}" + id 'net.fabricmc.fabric-loom' version "${fabric_loom_version}" id 'maven-publish' } +version = project.mod_version +group = project.maven_group + base { archivesName = "${project.archives_base_name}-fabric" - version = project.mod_version - group = project.maven_group } loom { @@ -53,9 +54,6 @@ loom { } repositories { - maven { - url = 'https://maven.parchmentmc.org' - } maven { url = "https://pkgs.dev.azure.com/djtheredstoner/DevAuth/_packaging/public/maven/v1" } @@ -72,18 +70,12 @@ dependencies { // To change the versions see the gradle.properties file minecraft "com.mojang:minecraft:${project.minecraft_version}" - mappings loom.layered { - officialMojangMappings { - nameSyntheticMembers = true - } - parchment "org.parchmentmc.data:${project.parchment_mappings}" - } - modImplementation "net.fabricmc:fabric-loader:${project.fabric_loader_version}" + implementation "net.fabricmc:fabric-loader:${project.fabric_loader_version}" - modImplementation fabricApi.module("fabric-resource-loader-v0", project.fabric_api_version) - modImplementation fabricApi.module("fabric-command-api-v2", project.fabric_api_version) + implementation fabricApi.module("fabric-resource-loader-v0", project.fabric_api_version) + implementation fabricApi.module("fabric-command-api-v2", project.fabric_api_version) - modLocalRuntime("me.djtheredstoner:DevAuth-fabric:${project.devauth_version}") { + localRuntime("me.djtheredstoner:DevAuth-fabric:${project.devauth_version}") { exclude group: 'net.fabricmc', module: 'fabric-loader' } } @@ -101,18 +93,18 @@ processResources { } tasks.withType(JavaCompile).configureEach { - it.options.release = 21 + it.options.release = 25 } java { - sourceCompatibility = JavaVersion.VERSION_21 - targetCompatibility = JavaVersion.VERSION_21 + sourceCompatibility = JavaVersion.VERSION_25 + targetCompatibility = JavaVersion.VERSION_25 withSourcesJar() } jar { - dependsOn ':common:remapJar' + dependsOn ':common:jar' from { configurations.includeInJar.collect { it.isDirectory() ? it : zipTree(it) diff --git a/fabric/src/client/resources/betterconfig.mixins.client.json b/fabric/src/client/resources/betterconfig.mixins.client.json index d18d377..3d40eda 100644 --- a/fabric/src/client/resources/betterconfig.mixins.client.json +++ b/fabric/src/client/resources/betterconfig.mixins.client.json @@ -1,7 +1,7 @@ { "required": true, "package": "dev.xpple.betterconfig.mixin.client", - "compatibilityLevel": "JAVA_17", + "compatibilityLevel": "JAVA_25", "client": [ ], "injectors": { diff --git a/fabric/src/main/java/dev/xpple/betterconfig/mixin/ArgumentCommandNodeMixin.java b/fabric/src/main/java/dev/xpple/betterconfig/mixin/ArgumentCommandNodeMixin.java index 7fadfd7..49b0920 100644 --- a/fabric/src/main/java/dev/xpple/betterconfig/mixin/ArgumentCommandNodeMixin.java +++ b/fabric/src/main/java/dev/xpple/betterconfig/mixin/ArgumentCommandNodeMixin.java @@ -9,9 +9,9 @@ import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; -@Mixin(value = ArgumentCommandNode.class, remap = false) +@Mixin(ArgumentCommandNode.class) public abstract class ArgumentCommandNodeMixin { - @Inject(method = "createBuilder()Lcom/mojang/brigadier/builder/RequiredArgumentBuilder;", at = @At(value = "INVOKE", target = "Lcom/mojang/brigadier/builder/RequiredArgumentBuilder;suggests(Lcom/mojang/brigadier/suggestion/SuggestionProvider;)Lcom/mojang/brigadier/builder/RequiredArgumentBuilder;", remap = false, shift = At.Shift.AFTER)) + @Inject(method = "createBuilder()Lcom/mojang/brigadier/builder/RequiredArgumentBuilder;", at = @At(value = "INVOKE", target = "Lcom/mojang/brigadier/builder/RequiredArgumentBuilder;suggests(Lcom/mojang/brigadier/suggestion/SuggestionProvider;)Lcom/mojang/brigadier/builder/RequiredArgumentBuilder;", shift = At.Shift.AFTER)) private static void replace(CallbackInfoReturnable> cir, @Local RequiredArgumentBuilder builder) { if (builder.getType() instanceof WrappedArgumentType wrappedArgumentType) { ((RequiredArgumentBuilderAccessor) builder).setSuggestionsProvider(wrappedArgumentType::listSuggestions); diff --git a/fabric/src/main/java/dev/xpple/betterconfig/mixin/RequiredArgumentBuilderAccessor.java b/fabric/src/main/java/dev/xpple/betterconfig/mixin/RequiredArgumentBuilderAccessor.java index a6368b1..1940b5d 100644 --- a/fabric/src/main/java/dev/xpple/betterconfig/mixin/RequiredArgumentBuilderAccessor.java +++ b/fabric/src/main/java/dev/xpple/betterconfig/mixin/RequiredArgumentBuilderAccessor.java @@ -7,7 +7,7 @@ import org.spongepowered.asm.mixin.Mutable; import org.spongepowered.asm.mixin.gen.Accessor; -@Mixin(value = RequiredArgumentBuilder.class, remap = false) +@Mixin(RequiredArgumentBuilder.class) public interface RequiredArgumentBuilderAccessor { @Mutable @Accessor diff --git a/fabric/src/main/resources/betterconfig.mixins.json b/fabric/src/main/resources/betterconfig.mixins.json index c315aa4..187cac6 100644 --- a/fabric/src/main/resources/betterconfig.mixins.json +++ b/fabric/src/main/resources/betterconfig.mixins.json @@ -1,7 +1,7 @@ { "required": true, "package": "dev.xpple.betterconfig.mixin", - "compatibilityLevel": "JAVA_17", + "compatibilityLevel": "JAVA_25", "server": [ "ArgumentCommandNodeMixin", "RequiredArgumentBuilderAccessor" diff --git a/fabric/src/main/resources/fabric.mod.json b/fabric/src/main/resources/fabric.mod.json index db01d55..1ef3eaf 100644 --- a/fabric/src/main/resources/fabric.mod.json +++ b/fabric/src/main/resources/fabric.mod.json @@ -5,7 +5,8 @@ "name": "BetterConfig", "description": "A very powerful and easy to use command based configuration library for servers and clients.", "authors": [ - "xpple" + "xpple", + "Earthcomputer" ], "contact": { "homepage": "https://xpple.dev/", @@ -32,7 +33,6 @@ "depends": { "fabricloader": ">=${fabric_loader_version}", "minecraft": "${minecraft_dependency}", - "java": ">=21", "fabric-resource-loader-v0": "*", "fabric-command-api-v2": "*" }, diff --git a/gradle.properties b/gradle.properties index 992baa5..a1e037b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,16 +8,14 @@ maven_group=dev.xpple archives_base_name=betterconfig # Minecraft properties -minecraft_version=1.21.11 -minecraft_dependency=1.21.11 +minecraft_version=26.1-rc-1 +minecraft_dependency=>=26.1-rc.1 <26.2 # Fabric Properties # check these on https://fabricmc.net/develop -# https://ldtteam.jfrog.io/ui/native/parchmentmc-public/org/parchmentmc/data/ -fabric_api_version=0.140.2+1.21.11 -parchment_mappings=parchment-1.21.9:2025.10.05@zip -fabric_loader_version=0.18.3 -fabric_loom_version=1.14-SNAPSHOT +fabric_api_version=0.143.14+26.1 +fabric_loader_version=0.18.4 +fabric_loom_version=1.15-SNAPSHOT devauth_version=1.2.2 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index f8e1ee3..d997cfc 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 23449a2..c61a118 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-9.2.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew old mode 100644 new mode 100755 index adff685..739907d --- a/gradlew +++ b/gradlew @@ -57,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/2d6327017519d23b96af35865dc997fcb544fb40/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. diff --git a/paper/build.gradle b/paper/build.gradle index 2530b45..1570be3 100644 --- a/paper/build.gradle +++ b/paper/build.gradle @@ -3,10 +3,11 @@ plugins { id 'maven-publish' } +group = project.maven_group +version = project.mod_version + base { archivesName = "${project.archives_base_name}-paper" - group = project.maven_group - version = project.mod_version } sourceSets { @@ -50,7 +51,7 @@ processResources { } } -def targetJavaVersion = 21 +def targetJavaVersion = 25 java { def javaVersion = JavaVersion.toVersion(targetJavaVersion) sourceCompatibility = javaVersion @@ -107,7 +108,7 @@ tasks.register('runTestpluginServer', JavaExec) { runTestpluginServer.dependsOn(copyJarsToServer) jar { - dependsOn ':common:remapJar' + dependsOn ':common:jar' from { configurations.includeInJar.collect { it.isDirectory() ? it : zipTree(it) diff --git a/paper/src/testplugin/resources/plugin.yml b/paper/src/testplugin/resources/plugin.yml index ca4c530..0628d5e 100644 --- a/paper/src/testplugin/resources/plugin.yml +++ b/paper/src/testplugin/resources/plugin.yml @@ -1,6 +1,6 @@ name: TestPlugin version: '1.0.0' main: dev.xpple.betterconfig.TestPlugin -api-version: '1.20.6' +api-version: '${plugin_yml_paper_api_version}' load: STARTUP authors: [xpple]