diff --git a/CHANGELOG.md b/CHANGELOG.md index 66c83bd..cb3346f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1 +1,5 @@ -- Update icon. +- Fix a typo in the mod renaming warning. +- Add a few new methods to the `JamLibPlatform.Platform` enum. +- `JamLib` is no longer entirely `ApiStatus.Internal` (there are some stable API methods in there. Non-stable public internal methods are annotated as such). +- Build system improvements. +- Update the icon again. diff --git a/LICENSE b/LICENSE index fceb340..3d57f19 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright 2023 Jamalam +Copyright 2024 Jamalam Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: diff --git a/build.gradle b/build.gradle index 317f50c..18a8d23 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,6 @@ plugins { id "architectury-plugin" version "3.4-SNAPSHOT" - id "dev.architectury.loom" version "1.4-SNAPSHOT" apply false + id "dev.architectury.loom" version "1.5-SNAPSHOT" apply false id "com.github.breadmoirai.github-release" version "2.4.1" id "maven-publish" } diff --git a/common/src/main/java/io/github/jamalam360/jamlib/JamLib.java b/common/src/main/java/io/github/jamalam360/jamlib/JamLib.java index 8163b0f..385529c 100644 --- a/common/src/main/java/io/github/jamalam360/jamlib/JamLib.java +++ b/common/src/main/java/io/github/jamalam360/jamlib/JamLib.java @@ -1,6 +1,7 @@ package io.github.jamalam360.jamlib; import dev.architectury.event.events.client.ClientPlayerEvent; +import dev.architectury.platform.Platform; import dev.architectury.utils.EnvExecutor; import net.fabricmc.api.EnvType; import net.minecraft.client.Minecraft; @@ -11,13 +12,13 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@ApiStatus.Internal public class JamLib { public static final String MOD_ID = "jamlib"; public static final String MOD_NAME = "JamLib"; public static final Logger LOGGER = LoggerFactory.getLogger(MOD_NAME); private static final JarRenamingChecker JAR_RENAMING_CHECKER = new JarRenamingChecker(); + @ApiStatus.Internal public static void init() { LOGGER.info("Initializing JamLib on " + JamLibPlatform.getPlatform()); checkForJarRenaming(JamLib.class); @@ -26,7 +27,9 @@ public static void init() { } public static void checkForJarRenaming(Class anyModClass) { - JAR_RENAMING_CHECKER.checkJar(anyModClass); + if (!Platform.isDevelopmentEnvironment()) { + JAR_RENAMING_CHECKER.checkJar(anyModClass); + } } private static void onPlayerJoin(LocalPlayer player) { @@ -50,6 +53,7 @@ private static void onPlayerJoin(LocalPlayer player) { JAR_RENAMING_CHECKER.afterNotify(); } + @ApiStatus.Internal public static ResourceLocation id(String path) { return new ResourceLocation(MOD_ID, path); } diff --git a/common/src/main/java/io/github/jamalam360/jamlib/JamLibPlatform.java b/common/src/main/java/io/github/jamalam360/jamlib/JamLibPlatform.java index d2068e3..01b5279 100644 --- a/common/src/main/java/io/github/jamalam360/jamlib/JamLibPlatform.java +++ b/common/src/main/java/io/github/jamalam360/jamlib/JamLibPlatform.java @@ -31,6 +31,30 @@ public enum Platform { NEOFORGE, QUILT; + public boolean isFabric() { + return this == FABRIC; + } + + public boolean isForge() { + return this == FORGE; + } + + public boolean isNeoForge() { + return this == NEOFORGE; + } + + public boolean isQuilt() { + return this == QUILT; + } + + public boolean isFabricLike() { + return this == FABRIC || this == QUILT; + } + + public boolean isForgeLike() { + return this == FORGE || this == NEOFORGE; + } + @Override public String toString() { return switch (this) { diff --git a/common/src/main/resources/assets/jamlib/icon.png b/common/src/main/resources/assets/jamlib/icon.png index 415b38a..a07be3d 100644 Binary files a/common/src/main/resources/assets/jamlib/icon.png and b/common/src/main/resources/assets/jamlib/icon.png differ diff --git a/common/src/main/resources/assets/jamlib/lang/en_us.json b/common/src/main/resources/assets/jamlib/lang/en_us.json index 2517e4e..bc2b1a3 100644 --- a/common/src/main/resources/assets/jamlib/lang/en_us.json +++ b/common/src/main/resources/assets/jamlib/lang/en_us.json @@ -7,7 +7,6 @@ "config.jamlib.requires_restart_tooltip": "A restart is required for this change to take effect", "config.jamlib.within_range_tooltip": "Value should be between %d and %d", "text.jamlib.renamed_1": "The following files seem to have been renamed - this is often a sign of a mod being redistributed without permission.", - "text.jamlib.renamed_2": "Sites such as minecraft harm modders and can be used to distribute malware. Please use official sources such as Curseforge or Modrinth!", + "text.jamlib.renamed_2": "Sites such as 9minecraft harm modders and can be used to distribute malware. Please use official sources such as Curseforge or Modrinth!", "text.jamlib.renamed_3": "This message will only appear once. If you believe this is a false positive, please contact the mod author." - } diff --git a/fabric/build.gradle b/fabric/build.gradle index 5ea58de..af841d8 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -98,10 +98,16 @@ publishing { processResources { filesMatching("fabric.mod.json") { - expand "version": project.version + expand "version": project.version, + "minecraft_version": project.minecraft_version, + "fabric_api_version": libs.versions.fabric.api.get(), + "architectury_version": libs.versions.architectury.get() } inputs.property "version", project.version + inputs.property "minecraft_version", project.minecraft_version + inputs.property "fabric_api_version", libs.versions.fabric.api.get() + inputs.property "architectury_version", libs.versions.architectury.get() } shadowJar { diff --git a/fabric/src/main/resources/fabric.mod.json b/fabric/src/main/resources/fabric.mod.json index d231271..faae5ae 100644 --- a/fabric/src/main/resources/fabric.mod.json +++ b/fabric/src/main/resources/fabric.mod.json @@ -26,8 +26,8 @@ "mixins": [ ], "depends": { - "fabric": "*", - "minecraft": ">=1.20.4", - "architectury": ">=11.0.9" + "fabric": ">=${fabric_api_version}", + "minecraft": ">=${minecraft_version}", + "architectury": ">=${architectury_version}" } } diff --git a/forge/build.gradle b/forge/build.gradle index 1c6cb3f..da0374b 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -95,6 +95,16 @@ publishing { } } +processResources { + filesMatching("mods.toml") { + expand "minecraft_version": project.minecraft_version, + "architectury_version": libs.versions.architectury.get() + } + + inputs.property "minecraft_version", project.minecraft_version + inputs.property "architectury_version", libs.versions.architectury.get() +} + shadowJar { exclude "fabric.mod.json" exclude "architectury.common.json" diff --git a/forge/src/main/resources/META-INF/mods.toml b/forge/src/main/resources/META-INF/mods.toml index 6b0297b..69cf56e 100644 --- a/forge/src/main/resources/META-INF/mods.toml +++ b/forge/src/main/resources/META-INF/mods.toml @@ -24,13 +24,13 @@ side = "BOTH" [[dependencies.jamlib]] modId = "minecraft" mandatory = true -versionRange = "[1.20.4,)" +versionRange = "[${minecraft_version},)" ordering = "NONE" side = "BOTH" [[dependencies.jamlib]] modId = "architectury" mandatory = true -versionRange = "[11.0.9,)" +versionRange = "[${architectury_version},)" ordering = "AFTER" side = "BOTH" diff --git a/gradle.properties b/gradle.properties index 7cf7e19..8f744b0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ org.gradle.jvmargs=-Xmx3G org.gradle.daemon=false org.gradle.parallel=true -version=1.0.5+1.20.4 +version=1.0.6+1.20.4 minecraft_version=1.20.4 branch=main group=io.github.jamalam360 diff --git a/neoforge/build.gradle b/neoforge/build.gradle index 145cb3b..b509d7a 100644 --- a/neoforge/build.gradle +++ b/neoforge/build.gradle @@ -95,6 +95,16 @@ publishing { } } +processResources { + filesMatching("mods.toml") { + expand "minecraft_version": project.minecraft_version, + "architectury_version": libs.versions.architectury.get() + } + + inputs.property "minecraft_version", project.minecraft_version + inputs.property "architectury_version", libs.versions.architectury.get() +} + shadowJar { exclude "fabric.mod.json" exclude "architectury.common.json" diff --git a/neoforge/src/main/resources/META-INF/mods.toml b/neoforge/src/main/resources/META-INF/mods.toml index 0dae4f4..4d3c608 100644 --- a/neoforge/src/main/resources/META-INF/mods.toml +++ b/neoforge/src/main/resources/META-INF/mods.toml @@ -27,13 +27,13 @@ side = "BOTH" [[dependencies.jamlib]] modId = "minecraft" type = "required" -versionRange = "[1.20.4,)" +versionRange = "[${minecraft_version},)" ordering = "NONE" side = "BOTH" [[dependencies.jamlib]] modId = "architectury" type = "required" -versionRange = "[11.0.9,)" +versionRange = "[${architectury_version},)" ordering = "AFTER" side = "BOTH" diff --git a/quilt/build.gradle b/quilt/build.gradle index 235d984..3753a11 100644 --- a/quilt/build.gradle +++ b/quilt/build.gradle @@ -107,10 +107,14 @@ publishing { processResources { filesMatching("quilt.mod.json") { - expand "version": project.version + expand "version": project.version, + "minecraft_version": project.minecraft_version, + "architectury_version": libs.versions.architectury.get() } inputs.property "version", project.version + inputs.property "minecraft_version", project.minecraft_version + inputs.property "architectury_version", libs.versions.architectury.get() } shadowJar { diff --git a/quilt/src/main/resources/quilt.mod.json b/quilt/src/main/resources/quilt.mod.json index 6f07515..9679ae2 100644 --- a/quilt/src/main/resources/quilt.mod.json +++ b/quilt/src/main/resources/quilt.mod.json @@ -27,21 +27,17 @@ ] }, "depends": [ - { - "id": "quilt_loader", - "version": "*" - }, { "id": "quilt_base", "version": "*" }, { "id": "minecraft", - "version": ">=1.20.4" + "version": ">=${minecraft_version}" }, { "id": "architectury", - "version": ">=11.0.9" + "version": ">=${architectury_version}" } ] },