summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrial97 <alexandru.tripon97@gmail.com>2024-01-26 23:49:00 +0200
committerTrial97 <alexandru.tripon97@gmail.com>2024-01-26 23:49:00 +0200
commite3bfcec871eedcefeb3269b4fb5328cb5abc0911 (patch)
tree46e9ad54fe06b3de291d42b5f2a5358177631192
parent276f578d3a7811b575a383f491b434ddba964b22 (diff)
downloadProject-Tick-e3bfcec871eedcefeb3269b4fb5328cb5abc0911.tar.gz
Project-Tick-e3bfcec871eedcefeb3269b4fb5328cb5abc0911.zip
made use of newly game arguments
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
-rwxr-xr-xgenerateMojang.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/generateMojang.py b/generateMojang.py
index b483bc2c39..59a71c75f2 100755
--- a/generateMojang.py
+++ b/generateMojang.py
@@ -198,6 +198,21 @@ def adapt_new_style_arguments(arguments):
pprint(arg)
return " ".join(foo)
+def adapt_new_style_arguments_to_traits(arguments):
+ foo = []
+ # we ignore the jvm arguments entirely.
+ # grab the object, log the errors
+ for arg in arguments.game:
+ if not isinstance(arg, str):
+ try:
+ for rule in arg["rules"]:
+ for k,v in rule["features"].items():
+ if rule["action"] == "allow" and v:
+ foo.append(f"feature:{k}")
+ except:
+ print("something did not go as planed")
+ pprint(arg)
+ return foo
def is_macos_only(rules: Optional[MojangRules]):
allows_osx = False
@@ -486,6 +501,9 @@ def main():
# process 1.13 arguments into previous version
if not mojang_version.minecraft_arguments and mojang_version.arguments:
v.minecraft_arguments = adapt_new_style_arguments(mojang_version.arguments)
+ if not v.additional_traits:
+ v.additional_traits = []
+ v.additional_traits.extend(adapt_new_style_arguments_to_traits(mojang_version.arguments))
out_filename = os.path.join(
LAUNCHER_DIR, MINECRAFT_COMPONENT, f"{v.version}.json"
)