diff --git a/build.gradle.kts b/build.gradle.kts index 81a1f85..ad8a5e6 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -56,11 +56,11 @@ repositories { dependencies { minecraft(libs.minecraft) mappings(loom.officialMojangMappings()) - modImplementation(libs.quilt.loader) + modImplementation(libs.fabric.loader) modImplementation(libs.spruceui) include(libs.spruceui) modImplementation(libs.modmenu) - modImplementation(libs.quilted.fabric.api) + modImplementation(libs.fabric.api) modRuntimeOnly(libs.bundles.mod.runtime) } @@ -100,7 +100,7 @@ tasks { ) inputs.properties(map) - filesMatching("quilt.mod.json") { expand(map) } + filesMatching("fabric.mod.json") { expand(map) } } javadoc { (options as StandardJavadocDocletOptions).tags("reason:a:Reason") @@ -120,10 +120,10 @@ modrinth { ) val ref = System.getenv("GITHUB_REF") changelog.set( - System.getenv("CHANGELOG") ?: if (ref != null && ref.startsWith("refs/tags/")) "You may view the changelog at https://github.com/the-glitch-network/music-moods/releases/tag/${URLEncoder.encode(ref.substring(10), StandardCharsets.UTF_8)}" - else "No changelog is available. Perhaps poke at https://github.com/the-glitch-network/music-moods for a changelog?" + System.getenv("CHANGELOG") ?: if (ref != null && ref.startsWith("refs/tags/")) "You may view the changelog at https://github.com/Modflower/music-moods/releases/tag/${URLEncoder.encode(ref.substring(10), StandardCharsets.UTF_8)}" + else "No changelog is available. Perhaps poke at https://github.com/Modflower/music-moods for a changelog?" ) uploadFile.set(tasks.remapJar.get()) gameVersions.set(minecraftCompatible.split(",")) - loaders.addAll("quilt") + loaders.addAll("fabric", "quilt") } diff --git a/gradle.properties b/gradle.properties index 5960ce7..596a079 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,6 +3,6 @@ org.gradle.jvmargs=-Xmx1G # Your project's version group=gay.ampflower -projectVersion=0.3.0 +projectVersion=0.4.0 modrinthId=z23qey0b minecraftCompatible=1.19,1.19.1,1.19.2 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 98cf43d..ce12f89 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -8,11 +8,9 @@ modmenu = "4.1.1" # Minecraft minecraft_version = "1.19.2" -minecraft_required = "1.19-1.19.2" -yarn = "1.19.2+build.28" -quilt_loader = "0.17.+" -quilt_mappings = "1.19.2+build.21" -quilted_fabric_api = "4.0.0-beta.9+0.60.0-1.19.2" +minecraft_required = ">=1.19 <=1.19.2" +fabric_loader = "0.15.+" +fabric_api = "0.77.0+1.19.2" # Plugins loom = "1.+" @@ -23,11 +21,7 @@ minotaur = "2.+" [libraries] # Minecraft & Quilt minecraft = { module = "com.mojang:minecraft", version.ref = "minecraft_version" } -quilt_loader = { module = "org.quiltmc:quilt-loader", version.ref = "quilt_loader" } -quilt_mappings = { module = "org.quiltmc:quilt-mappings", version.ref = "quilt_mappings" } - -# Yarn mappings if needed. -yarn = { module = "net.fabricmc:yarn", version.ref = "yarn" } +fabric_loader = { module = "net.fabricmc:fabric-loader", version.ref = "fabric_loader" } # Libraries annotations = { module = "org.jetbrains:annotations", version.ref = "annotations" } @@ -36,13 +30,13 @@ annotations = { module = "org.jetbrains:annotations", version.ref = "annotations lazydfu = { module = "maven.modrinth:lazydfu", version.ref = "lazydfu" } spruceui = { module = "dev.lambdaurora:spruceui", version.ref = "spruceui" } modmenu = { module = "com.terraformersmc:modmenu", version.ref = "modmenu" } -quilted_fabric_api = { module = "org.quiltmc.quilted-fabric-api:quilted-fabric-api", version.ref = "quilted_fabric_api" } +fabric_api = { module = "net.fabricmc.fabric-api:fabric-api", version.ref = "fabric_api" } [bundles] compileOnly = ["annotations"] mod_runtime = ["lazydfu"] [plugins] -loom = { id = "org.quiltmc.loom", version.ref = "loom" } +loom = { id = "fabric-loom", version.ref = "loom" } spotless = { id = "com.diffplug.spotless", version.ref = "spotless" } minotaur = { id = "com.modrinth.minotaur", version.ref = "minotaur" } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 249e583..e644113 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 070cb70..a441313 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip +networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index a69d9cb..b740cf1 100755 --- a/gradlew +++ b/gradlew @@ -55,7 +55,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/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/. @@ -80,13 +80,11 @@ do esac done -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" +# This is normally unused +# shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -133,22 +131,29 @@ location of your Java installation." fi else JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can. if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac case $MAX_FD in #( '' | soft) :;; #( *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -193,11 +198,15 @@ if "$cygwin" || "$msys" ; then done fi -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ diff --git a/gradlew.bat b/gradlew.bat index f127cfd..25da30d 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -26,6 +26,7 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @@ -42,11 +43,11 @@ set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 if %ERRORLEVEL% equ 0 goto execute -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail @@ -56,11 +57,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe if exist "%JAVA_EXE%" goto execute -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail diff --git a/settings.gradle.kts b/settings.gradle.kts index bf72fee..f9b19fa 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -8,9 +8,6 @@ rootProject.name = "music-moods" pluginManagement { repositories { - maven("Quilt") { - url = uri("https://maven.quiltmc.org/repository/release") - } maven("Fabric") { url = uri("https://maven.fabricmc.net/") } diff --git a/src/main/java/gay/ampflower/musicmoods/ClientMain.java b/src/main/java/gay/ampflower/musicmoods/ClientMain.java index 66a9e90..862b290 100644 --- a/src/main/java/gay/ampflower/musicmoods/ClientMain.java +++ b/src/main/java/gay/ampflower/musicmoods/ClientMain.java @@ -6,9 +6,8 @@ package gay.ampflower.musicmoods;// Created 2023-12-01T02:08:34 -import org.quiltmc.loader.api.ModContainer; -import org.quiltmc.loader.api.QuiltLoader; -import org.quiltmc.qsl.base.api.entrypoint.client.ClientModInitializer; +import net.fabricmc.api.ClientModInitializer; +import net.fabricmc.loader.api.FabricLoader; import java.io.IOException; @@ -17,10 +16,10 @@ * @since 0.0.0 **/ public class ClientMain implements ClientModInitializer { - public static boolean isModMenuPresent = QuiltLoader.isModLoaded("modmenu"); + public static boolean isModMenuPresent = FabricLoader.getInstance().isModLoaded("modmenu"); @Override - public void onInitializeClient(final ModContainer mod) { + public void onInitializeClient() { try { Config.read(); } catch (IOException ioe) { diff --git a/src/main/java/gay/ampflower/musicmoods/Config.java b/src/main/java/gay/ampflower/musicmoods/Config.java index 8bfac36..7f44444 100644 --- a/src/main/java/gay/ampflower/musicmoods/Config.java +++ b/src/main/java/gay/ampflower/musicmoods/Config.java @@ -7,7 +7,7 @@ package gay.ampflower.musicmoods;// Created 2022-26-12T16:26:36 import gay.ampflower.musicmoods.config.Replacing; -import org.quiltmc.loader.api.QuiltLoader; +import net.fabricmc.loader.api.FabricLoader; import java.io.IOException; import java.lang.reflect.Modifier; @@ -22,7 +22,7 @@ * @since 0.0.0 **/ public final class Config { - private static final Path config = QuiltLoader.getConfigDir().resolve("music-moods.properties"); + private static final Path config = FabricLoader.getInstance().getConfigDir().resolve("music-moods.properties"); private static final int fadeDefault = 600; /** @@ -108,7 +108,7 @@ public static void commit() throws IOException { throw new AssertionError("Unexpected access violation accessing self @ " + field, roe); } - Files.createDirectories(QuiltLoader.getConfigDir()); + Files.createDirectories(FabricLoader.getInstance().getConfigDir()); try (final var configStream = Files.newOutputStream(config, StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING)) { diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json new file mode 100644 index 0000000..8e48beb --- /dev/null +++ b/src/main/resources/fabric.mod.json @@ -0,0 +1,34 @@ +{ + "schemaVersion": 1, + "id": "music-moods", + "version": "${version}", + "name": "Music Moods", + "description": "Configure how music & sound are handled.", + "contributors": [ + "Ampflower" + ], + "contact": { + "homepage": "https://modrinth.com/mod/music-moods", + "sources": "https://github.com/Modflower/music-moods", + "issues": "https://github.com/Modflower/music-moods/issues" + }, + "license": "MPL-2.0", + "icon": "assets/music-moods/pack.png", + "entrypoints": { + "client": [ + "gay.ampflower.musicmoods.ClientMain" + ], + "modmenu": [ + "gay.ampflower.musicmoods.client.MusicMoodsModMenuCompat" + ] + }, + "depends": { + "minecraft": "${minecraft_required}", + "java": ">=${java}", + "spruceui": "*" + }, + "mixins": [ + "music-moods.mixin.json" + ], + "environment": "client" +} diff --git a/src/main/resources/quilt.mod.json b/src/main/resources/quilt.mod.json deleted file mode 100644 index 29321ac..0000000 --- a/src/main/resources/quilt.mod.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "schema_version": 1, - "quilt_loader": { - "group": "gay.ampflower", - "id": "music-moods", - "version": "${version}", - "metadata": { - "name": "Music Moods", - "description": "Configure how music & sound are handled.", - "contributors": { - "Ampflower": "Owner" - }, - "contact": { - "homepage": "https://modrinth.com/mod/music-moods", - "sources": "https://github.com/the-glitch-network/music-moods", - "issues": "https://github.com/the-glitch-network/music-moods/issues" - }, - "license": "MPL-2.0", - "icon": "assets/music-moods/pack.png" - }, - "entrypoints": { - "client_init": [ - "gay.ampflower.musicmoods.ClientMain" - ], - "modmenu": [ - "gay.ampflower.musicmoods.client.MusicMoodsModMenuCompat" - ] - }, - "intermediate_mappings": "net.fabricmc:intermediary", - "depends": [ - { - "id": "minecraft", - "versions": "${minecraft_required}" - }, - { - "id": "quilt_loader", - "versions": ">=0.17.0-" - }, - { - "id": "java", - "versions": ">=${java}" - }, - { - "id": "spruceui", - "versions": "*" - } - ] - }, - "mixin": "music-moods.mixin.json", - "minecraft": { - "environment": "client" - } -}