2026-02-28 21:10:56 -03:00

26 lines
1.6 KiB
JavaScript

let $DefaultArtifactVersion = Java.loadClass("org.apache.maven.artifact.versioning.DefaultArtifactVersion")
let $Locale = Java.loadClass("java.util.Locale")
let modPackId = "1356598" // could get from BCC but :shrug:
StartupEvents.postInit(event => {
if (Platform.isLoaded("bcc") && Platform.isClientEnvironment()) {
let $BccInstance = Java.loadClass("dev.wuffs.bcc.BetterCompatibilityChecker")
// testing
//let currentVersion = new $DefaultArtifactVersion("0.2.0-beta")
let currentVersion = new $DefaultArtifactVersion($BccInstance.betterStatus.version())
KJSTweaks.curseForgeGetEndpoint("v1/mods/" + modPackId + "/files?pageSize=1", Client, response => {
let displayName = response.get("data").get(0).get("displayName").getAsString()
let cfLatestVersionStr = displayName.toLowerCase($Locale.ROOT).replace("all the mons-", "").replace(".zip", "")
let cfLatestVersion = new $DefaultArtifactVersion(cfLatestVersionStr)
console.log("Pack Version is: " + currentVersion)
console.log("CF Version is: " + cfLatestVersion)
if (cfLatestVersion.compareTo(currentVersion) > 0) {
let $SystemToast = Java.loadClass("net.minecraft.client.gui.components.toasts.SystemToast")
let $SystemToastId = Java.loadClass("net.minecraft.client.gui.components.toasts.SystemToast$SystemToastId")
$SystemToast.add(Client.getToasts(), new $SystemToastId(10000), "New update is available!", Text.of("Version ").append(Text.green(cfLatestVersion)).append(" is already available!"))
} else {
console.log("Pack is up to date!")
}
})
}
})