diff --git a/generate.py b/generate.py index f948cfe..f77c309 100755 --- a/generate.py +++ b/generate.py @@ -5,7 +5,8 @@ loader: str = "0.14.21" legacy_fixes: str = "legacy-fixes-1.0.0.jar" lwjgl3: str = "3.1.6" -lwjgl2: str = "2.9.4+legacyfabric.5" +lwjgl2: str = "2.9.4-nightly-20150209" +lwjgl2_patch: str = "2.9.4+legacyfabric.5" def mkdir_if_not_exists(path: str): @@ -14,16 +15,18 @@ def mkdir_if_not_exists(path: str): class Generator: - def __init__(self, loader_version: str, minecraft_version: str, lwjgl_version: str, path: str = "temp"): + def __init__(self, loader_version: str, minecraft_version: str, lwjgl_version: str, lwjgl_patch: str, path: str = "temp"): self.lwjgl_version: str = lwjgl_version self.minecraft_version: str = minecraft_version self.loader_version: str = loader_version + self.lwjgl_patch: str = lwjgl_patch self.path: str = path def process(self, subject: str) -> str: subject = subject.replace("${loader_version}", self.loader_version) subject = subject.replace("${minecraft_version}", self.minecraft_version) subject = subject.replace("${lwjgl_version}", self.lwjgl_version) + subject = subject.replace("${lwjgl_patch}", self.lwjgl_patch) subject = subject.replace("${lwjgl_name}", "LWJGL 3" if self.lwjgl_version.startswith( "3") else "LWJGL 2") @@ -80,7 +83,7 @@ def create_zip(self): if not self.lwjgl_version.startswith("3"): z.write("temp/patches/org.lwjgl.lwjgl.json", - "patches/org.lwjgl.lwjgl.json") + "patches/org.lwjgl.json") if self.minecraft_version == "1.8.9" or self.minecraft_version == "1.7.10" or self.minecraft_version == "1.6.4" or self.minecraft_version == "1.5.2" or self.minecraft_version == "1.4.7" or self.minecraft_version == "1.3.2": z.write(f"temp/.minecraft/mods/{legacy_fixes}", f".minecraft/mods/{legacy_fixes}") @@ -115,8 +118,9 @@ def cleanup(self): mkdir_if_not_exists("out") for version, lwjgl in versions: lwjgl_version = lwjgl3 if lwjgl == 3 else lwjgl2 - print(f"generating {version} with LWJGL {lwjgl_version}...") - g = Generator(loader, version, lwjgl_version) + lwjgl_patch = lwjgl3 if lwjgl == 3 else lwjgl2_patch + print(f"generating {version} with LWJGL {lwjgl_patch}...") + g = Generator(loader, version, lwjgl_version, lwjgl_patch) g.prepare_skeleton() g.create_zip() diff --git a/skel/mmc-pack.json b/skel/mmc-pack.json index 5ceea0c..041ecf4 100644 --- a/skel/mmc-pack.json +++ b/skel/mmc-pack.json @@ -2,7 +2,7 @@ "components": [ { "cachedName": "${lwjgl_name}", - "cachedVersion": "${lwjgl_version}", + "cachedVersion": "${lwjgl_patch}", "cachedVolatile": true, "dependencyOnly": true, "uid": "${lwjgl_uid}", @@ -12,7 +12,6 @@ "cachedName": "Minecraft", "cachedRequires": [ { - "equals": "${lwjgl_version}", "suggests": "${lwjgl_version}", "uid": "${lwjgl_uid}" } diff --git a/skel/patches/org.lwjgl.lwjgl.json b/skel/patches/org.lwjgl.lwjgl.json index 12bba3c..5869150 100644 --- a/skel/patches/org.lwjgl.lwjgl.json +++ b/skel/patches/org.lwjgl.lwjgl.json @@ -1,11 +1,6 @@ { - "conflicts": [ - { - "uid": "org.lwjgl3" - } - ], "formatVersion": 1, - "+libraries": [ + "libraries": [ { "downloads": { "classifiers": { @@ -77,83 +72,34 @@ "name": "net.java.jutils:jutils:1.0.0" }, { - "downloads": { - "artifact": { - "sha1": "b04f3ee8f5e43fa3b162981b50bb72fe1acabb33", - "size": 22, - "url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209.jar" - }, - "classifiers": { - "natives-linux": { - "sha1": "db2772377839a443f7652d11f978f33f52f5cde4", - "size": 1222833, - "url": "https://maven.legacyfabric.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.4+legacyfabric.5/lwjgl-platform-2.9.4+legacyfabric.5-natives-linux.jar" - }, - "natives-linux-arm32": { - "sha1": "db2772377839a443f7652d11f978f33f52f5cde4", - "size": 1222833, - "url": "https://maven.legacyfabric.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.4+legacyfabric.5/lwjgl-platform-2.9.4+legacyfabric.5-natives-linux.jar" - }, - "natives-linux-arm64": { - "sha1": "db2772377839a443f7652d11f978f33f52f5cde4", - "size": 1222833, - "url": "https://maven.legacyfabric.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.4+legacyfabric.5/lwjgl-platform-2.9.4+legacyfabric.5-natives-linux.jar" - }, - "natives-osx": { - "sha1": "46eec11c8d523ca839b1cca78282f1b2ae8ade03", - "size": 506793, - "url": "https://maven.legacyfabric.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.4+legacyfabric.5/lwjgl-platform-2.9.4+legacyfabric.5-natives-osx.jar" - }, - "natives-osx-arm64": { - "sha1": "46eec11c8d523ca839b1cca78282f1b2ae8ade03", - "size": 506793, - "url": "https://maven.legacyfabric.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.4+legacyfabric.5/lwjgl-platform-2.9.4+legacyfabric.5-natives-osx.jar" - }, - "natives-windows": { - "sha1": "afc977245f65fa3c0784a6cf0a3ce76a6fb89036", - "size": 790272, - "url": "https://maven.legacyfabric.net/org/lwjgl/lwjgl/lwjgl-platform/2.9.4+legacyfabric.5/lwjgl-platform-2.9.4+legacyfabric.5-natives-windows.jar" - } - } - }, "extract": { "exclude": [ "META-INF/" ] }, - "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.4+legacyfabric.5", + "name": "org.lwjgl.lwjgl:lwjgl-platform:${lwjgl_patch}", + "url": "https://maven.legacyfabric.net/", "natives": { "linux": "natives-linux", - "linux-arm32": "natives-linux-arm32", - "linux-arm64": "natives-linux-arm64", + "linux-arm32": "natives-linux", + "linux-arm64": "natives-linux", "osx": "natives-osx", - "osx-arm64": "natives-osx-arm64", + "osx-arm64": "natives-osx", "windows": "natives-windows" } }, { - "downloads": { - "artifact": { - "sha1": "5798a05cfe50960621a8838b55eb8cff5fa6a907", - "size": 1080231, - "url": "https://maven.legacyfabric.net/org/lwjgl/lwjgl/lwjgl/2.9.4+legacyfabric.5/lwjgl-2.9.4+legacyfabric.5.jar" - } - }, - "name": "org.lwjgl.lwjgl:lwjgl:2.9.4+legacyfabric.5" + "name": "org.lwjgl.lwjgl:lwjgl:${lwjgl_patch}", + "url": "https://maven.legacyfabric.net/" }, { - "downloads": { - "artifact": { - "sha1": "83ea583644bb707e195e13077006f8b443575d47", - "size": 180574, - "url": "https://maven.legacyfabric.net/org/lwjgl/lwjgl/lwjgl_util/2.9.4+legacyfabric.5/lwjgl_util-2.9.4+legacyfabric.5.jar" - } - }, - "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.4+legacyfabric.5" + "name": "org.lwjgl.lwjgl:lwjgl_util:${lwjgl_patch}", + "url": "https://maven.legacyfabric.net/" } ], "name": "LWJGL 2", + "type": "release", "uid": "org.lwjgl", - "version": "2.9.4+legacyfabric.5", - "releaseTime":"2023-06-20T07:55:11.567-07:00" + "version": "${lwjgl_patch}", + "volatile": true } \ No newline at end of file