Skip to content

Commit 9629b7e

Browse files
authored
Merge pull request #4 from tildejustin/mcsr
get loader from fabric api
2 parents 9a204a5 + da8e5c0 commit 9629b7e

File tree

2 files changed

+28
-8
lines changed

2 files changed

+28
-8
lines changed

Diff for: clean.py

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import os.path
2+
import shutil
3+
4+
if os.path.exists("out"):
5+
shutil.rmtree("out")

Diff for: generate.py

+23-8
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
from enum import StrEnum
44
from typing import Optional
55

6+
from requests import request
7+
68

79
class IntermediaryType(StrEnum):
810
LegacyFabric = "net.fabricmc.intermediary.json"
@@ -27,7 +29,7 @@ def __init__(self, minecraft_version: str, lwjgl_version: str, intermediary_type
2729
self.minecraft_version_additions = self.fix_version(version)
2830

2931
def process(self, subject: str) -> str:
30-
subject = subject.replace("${loader_version}", LOADER_VERSION)
32+
subject = subject.replace("${loader_version}", loader_version)
3133
subject = subject.replace("${minecraft_version}", self.minecraft_version + self.minecraft_version_additions)
3234
subject = subject.replace("${lwjgl_version}", self.lwjgl_version)
3335
subject = subject.replace("${lwjgl_name}", "LWJGL 3" if self.lwjgl_version.startswith("3") else "LWJGL 2")
@@ -40,7 +42,7 @@ def prepare_skeleton(self):
4042
self.process_file(f"patches/{self.intermediary_type}", out="patches/net.fabricmc.intermediary.json")
4143

4244
def create_zip(self):
43-
with zipfile.ZipFile(f"out/{self.minecraft_version}+loader.{LOADER_VERSION}.zip", "w") as z:
45+
with zipfile.ZipFile(f"out/{self.minecraft_version}+loader.{loader_version}.zip", "w") as z:
4446
z.write("temp/mmc-pack.json", "mmc-pack.json")
4547
z.write("temp/instance.cfg", "instance.cfg")
4648
z.write("temp/patches/net.fabricmc.intermediary.json", "patches/net.fabricmc.intermediary.json")
@@ -61,12 +63,14 @@ def process_file(self, *files: str, out: Optional[str] = None):
6163
t.write(self.process(f.read()))
6264

6365
@staticmethod
64-
def fix_version(version: str) -> str:
66+
def fix_version(candidate: str) -> str:
67+
if candidate.count(".") < 2:
68+
return ""
6569
# accounts for the ornithe naming convention
6670
addition = ""
67-
if version == "1.0":
71+
if candidate == "1.0":
6872
addition += ".0"
69-
if int(version.split(".")[1]) < 3:
73+
if int(candidate.split(".")[1]) < 3:
7074
addition += "-client"
7175
return addition
7276

@@ -76,6 +80,7 @@ def fix_version(version: str) -> str:
7680
("1.12.2", "2.9.4-nightly-20150209", IntermediaryType.LegacyFabric),
7781
("1.12", "2.9.4-nightly-20150209", IntermediaryType.LegacyFabricV2),
7882
("1.11.2", "2.9.4-nightly-20150209", IntermediaryType.LegacyFabric),
83+
("1.10.2", "2.9.4-nightly-20150209", IntermediaryType.LegacyFabric),
7984
("1.9.4", "2.9.4-nightly-20150209", IntermediaryType.LegacyFabric),
8085
("1.8.9", "2.9.4-nightly-20150209", IntermediaryType.LegacyFabric),
8186
("1.8", "2.9.1", IntermediaryType.LegacyFabric),
@@ -84,11 +89,21 @@ def fix_version(version: str) -> str:
8489
("1.7.4", "2.9.4-nightly-20150209", IntermediaryType.LegacyFabric),
8590
("1.7.2", "2.9.0", IntermediaryType.LegacyFabric),
8691
("1.6.4", "2.9.0", IntermediaryType.LegacyFabricNoApplet),
87-
("1.3.2", "2.9.0", IntermediaryType.LegacyFabricNoAppletOldArgs),
88-
("1.0", "2.9.0", IntermediaryType.Ornithe)
92+
("1.5.2", "2.9.0", IntermediaryType.LegacyFabricNoAppletOldArgs),
93+
("1.4.2", "2.9.0", IntermediaryType.LegacyFabricNoAppletOldArgs),
94+
("1.3.1", "2.9.0", IntermediaryType.LegacyFabricNoAppletOldArgs),
95+
("15w14a", "2.9.4-nightly-20150209", IntermediaryType.LegacyFabric),
96+
("1.RV-Pre1", "2.9.4-nightly-20150209", IntermediaryType.LegacyFabricV2)
97+
# ("1.2.5", "2.9.0", IntermediaryType.Ornithe),
98+
# ("1.1", "2.9.0", IntermediaryType.Ornithe),
99+
# ("1.0", "2.9.0", IntermediaryType.Ornithe)
89100
]
90101

91-
LOADER_VERSION = "0.15.0"
102+
loader_version = "0.15.3"
103+
try:
104+
loader_version = request("GET", "https://meta.fabricmc.net/v2/versions/loader").json()[0].get("version")
105+
except ConnectionError:
106+
pass
92107
mkdirs("out")
93108

94109
for version, lwjgl, intermediary in versions:

0 commit comments

Comments
 (0)