diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a0106c3..d13b2cf 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ -image: gradle:alpine +image: gradle:jdk16 variables: GRADLE_OPTS: "-Dorg.gradle.daemon=false" @@ -23,6 +23,4 @@ build_test: deploy: stage: deploy when: manual - script: - - gradle --build-cache publishModrinth - - gradle --build-cache curseforge + script: gradle --build-cache publishModrinth curseforge \ No newline at end of file diff --git a/build.gradle b/build.gradle index 6b7c0fc..9da2a03 100644 --- a/build.gradle +++ b/build.gradle @@ -1,19 +1,10 @@ -plugins { - id 'fabric-loom' version '0.5-SNAPSHOT' - id 'maven-publish' - id "com.modrinth.minotaur" version "1.1.0" - id "com.matthewprenger.cursegradle" version "1.4.0" -} - -sourceCompatibility = JavaVersion.VERSION_1_8 -targetCompatibility = JavaVersion.VERSION_1_8 - -archivesBaseName = project.archives_base_name -version = project.mod_version -group = project.maven_group +apply from: "https://gitlab.com/-/snippets/2121059/raw/master/jfbase.gradle" repositories { - maven { url = 'https://maven.terraformersmc.com/'; name = "ModMenu" } + maven { + name = 'TerraformersMC' + url = 'https://maven.terraformersmc.com/' + } } dependencies { @@ -25,84 +16,7 @@ dependencies { // Fabric API. This is technically optional, but you probably want it anyway. modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" - // PSA: Some older mods, compiled on Loom 0.2.1, might have outdated Maven POMs. - // You may need to force-disable transitiveness on them. - modApi "me.sargunvohra.mcmods:autoconfig1u:3.3.1" - include "me.sargunvohra.mcmods:autoconfig1u:3.3.1" - modApi ("me.shedaniel.cloth:config-2:4.8.3") { - exclude(group: "net.fabricmc.fabric-api") - } - include ("me.shedaniel.cloth:config-2:4.8.3") { - exclude(group: "net.fabricmc.fabric-api") - } + download("https://gitlab.com/jfmods/LibJF/-/jobs/artifacts/master/raw/latest-dev.jar?job=build_test", "libjf") - modImplementation "com.terraformersmc:modmenu:1.14.15" - -} - -processResources { - inputs.property "version", project.version - - from(sourceSets.main.resources.srcDirs) { - include "fabric.mod.json" - expand "version": project.version - } - - from(sourceSets.main.resources.srcDirs) { - exclude "fabric.mod.json" - } -} - -// ensure that the encoding is set to UTF-8, no matter what the system default is -// this fixes some edge cases with special characters not displaying correctly -// see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html -tasks.withType(JavaCompile) { - options.encoding = "UTF-8" -} - -// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task -// if it is present. -// If you remove this task, sources will not be generated. -task sourcesJar(type: Jar, dependsOn: classes) { - classifier = "sources" - from sourceSets.main.allSource -} - -jar { - from "LICENSE" -} - -import com.modrinth.minotaur.TaskModrinthUpload - -task publishModrinth (type: TaskModrinthUpload){ - token = System.getenv("MODRINTH_API_TOKEN") // Use an environment property! - projectId = '387LWVd9' - versionNumber = "${project.mod_version}" - uploadFile = remapJar // This is the java jar task - addGameVersion("${project.minecraft_version}") - addLoader('fabric') - versionName = "[${project.minecraft_version}] ${project.mod_version}" - afterEvaluate { - tasks.publishModrinth.dependsOn(remapJar) - tasks.publishModrinth.dependsOn(sourcesJar) - } -} - -curseforge { - apiKey = System.getenv("CURSEFORGE_API_TOKEN") == null ? "###" : System.getenv("CURSEFORGE_API_TOKEN") - project { - id = "400771" - releaseType = 'release' - addGameVersion "Fabric" - addGameVersion "${project.minecraft_version}" - changelog = "" - mainArtifact(file("${project.buildDir}/libs/${archivesBaseName}-${version}.jar")) - mainArtifact.displayName = "[${project.minecraft_version}] ${project.mod_version}" - afterEvaluate { - uploadTask.dependsOn(remapJar) - } - } - options { - forgeGradleIntegration = false - } -} + modImplementation "com.terraformersmc:modmenu:1.16.9" +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 0f99fb4..8c092c9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,11 +1,18 @@ org.gradle.jvmargs=-Xmx3G -# Fabric Properties +# Fabric Properties https://fabricmc.net/versions.html minecraft_version=1.16.5 -yarn_mappings=1.16.5+build.3 -loader_version=0.11.1 +yarn_mappings=1.16.5+build.9 +loader_version=0.11.3 # Mod Properties -mod_version=1.1.2 +mod_version=1.2.0 maven_group=io.gitlab.jfronny archives_base_name=versionchanger # Dependencies -fabric_version=0.29.4+1.16 +fabric_version=0.34.2+1.16 + +modrinth_id=387LWVd9 +modrinth_required_dependencies=TUqoYNVF +modrinth_optional_dependencies=Gz5wa6j2 +curseforge_id=400771 +curseforge_required_dependencies=libjf +curseforge_optional_dependencies=modmenu \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index bb8b2fc..0f80bbf 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.5.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/settings.gradle b/settings.gradle deleted file mode 100644 index 5b60df3..0000000 --- a/settings.gradle +++ /dev/null @@ -1,10 +0,0 @@ -pluginManagement { - repositories { - jcenter() - maven { - name = 'Fabric' - url = 'https://maven.fabricmc.net/' - } - gradlePluginPortal() - } -} diff --git a/src/main/java/io/gitlab/jfronny/versionchanger/Cfg.java b/src/main/java/io/gitlab/jfronny/versionchanger/Cfg.java index 976f449..b39493e 100644 --- a/src/main/java/io/gitlab/jfronny/versionchanger/Cfg.java +++ b/src/main/java/io/gitlab/jfronny/versionchanger/Cfg.java @@ -1,13 +1,9 @@ package io.gitlab.jfronny.versionchanger; -import me.sargunvohra.mcmods.autoconfig1u.ConfigData; -import me.sargunvohra.mcmods.autoconfig1u.annotation.Config; -import me.sargunvohra.mcmods.autoconfig1u.annotation.ConfigEntry.Gui.RequiresRestart; -import me.sargunvohra.mcmods.autoconfig1u.shadowed.blue.endless.jankson.Comment; +import io.gitlab.jfronny.libjf.config.Entry; +import io.gitlab.jfronny.libjf.config.JfConfig; -@Config(name = "versionchanger") -public class Cfg implements ConfigData { - @Comment("The version to show. Supports any text") - @RequiresRestart - public String version = "1.7.10 Definitive Edition"; +public class Cfg implements JfConfig { + @Entry + public static String version = "1.7.10 Definitive Edition"; } diff --git a/src/main/java/io/gitlab/jfronny/versionchanger/ModMenu.java b/src/main/java/io/gitlab/jfronny/versionchanger/ModMenu.java deleted file mode 100644 index f8b21e8..0000000 --- a/src/main/java/io/gitlab/jfronny/versionchanger/ModMenu.java +++ /dev/null @@ -1,12 +0,0 @@ -package io.gitlab.jfronny.versionchanger; - -import io.github.prospector.modmenu.api.ConfigScreenFactory; -import io.github.prospector.modmenu.api.ModMenuApi; -import me.sargunvohra.mcmods.autoconfig1u.AutoConfig; - -public class ModMenu implements ModMenuApi { - @Override - public ConfigScreenFactory getModConfigScreenFactory() { - return screen -> AutoConfig.getConfigScreen(Cfg.class, screen).get(); - } -} diff --git a/src/main/java/io/gitlab/jfronny/versionchanger/Versionchanger.java b/src/main/java/io/gitlab/jfronny/versionchanger/Versionchanger.java deleted file mode 100644 index ed8863b..0000000 --- a/src/main/java/io/gitlab/jfronny/versionchanger/Versionchanger.java +++ /dev/null @@ -1,19 +0,0 @@ -package io.gitlab.jfronny.versionchanger; - -import me.sargunvohra.mcmods.autoconfig1u.AutoConfig; -import me.sargunvohra.mcmods.autoconfig1u.serializer.JanksonConfigSerializer; -import net.fabricmc.api.ModInitializer; - -public class Versionchanger implements ModInitializer { - public static Cfg cfg; - - static { - AutoConfig.register(Cfg.class, JanksonConfigSerializer::new); - cfg = AutoConfig.getConfigHolder(Cfg.class).getConfig(); - } - - @Override - public void onInitialize() { - - } -} diff --git a/src/main/java/io/gitlab/jfronny/versionchanger/mixin/MixinMinecraftVersion.java b/src/main/java/io/gitlab/jfronny/versionchanger/mixin/MixinMinecraftVersion.java index 36dae0f..1e8b3f7 100644 --- a/src/main/java/io/gitlab/jfronny/versionchanger/mixin/MixinMinecraftVersion.java +++ b/src/main/java/io/gitlab/jfronny/versionchanger/mixin/MixinMinecraftVersion.java @@ -1,7 +1,8 @@ package io.gitlab.jfronny.versionchanger.mixin; import com.google.gson.JsonObject; -import io.gitlab.jfronny.versionchanger.Versionchanger; +import io.gitlab.jfronny.versionchanger.Cfg; +import io.gitlab.jfronny.libjf.Libjf; import net.minecraft.MinecraftVersion; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -17,8 +18,9 @@ public class MixinMinecraftVersion { private String name; @Inject(at = @At("RETURN"), method = "()V") public void init(CallbackInfo info) { - releaseTarget = Versionchanger.cfg.version; - name = Versionchanger.cfg.version; + Libjf.registerConfig("versionchanger", Cfg.class); + releaseTarget = Cfg.version; + name = Cfg.version; } @Inject(at = @At("RETURN"), method = "(Lcom/google/gson/JsonObject;)V") diff --git a/src/main/resources/assets/versionchanger/lang/en_us.json b/src/main/resources/assets/versionchanger/lang/en_us.json index 7e22c8f..687e399 100644 --- a/src/main/resources/assets/versionchanger/lang/en_us.json +++ b/src/main/resources/assets/versionchanger/lang/en_us.json @@ -1,4 +1,4 @@ { - "text.autoconfig.versionchanger.title": "VersionChanger", - "text.autoconfig.versionchanger.option.version": "Version" + "versionchanger.jfconfig.title": "VersionChanger", + "versionchanger.jfconfig.version": "Version" } \ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 9c4b179..4ab0851 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -15,13 +15,7 @@ "icon": "assets/versionchanger/icon.png", "environment": "*", "entrypoints": { - "main": [ - "io.gitlab.jfronny.versionchanger.Versionchanger" - ], - "modmenu": [ - "io.gitlab.jfronny.versionchanger.ModMenu" - ] - + "libjf:config": ["io.gitlab.jfronny.versionchanger.Cfg"] }, "mixins": [ "versionchanger.mixins.json"