From e3bfcec871eedcefeb3269b4fb5328cb5abc0911 Mon Sep 17 00:00:00 2001 From: Trial97 Date: Fri, 26 Jan 2024 23:49:00 +0200 Subject: [PATCH] made use of newly game arguments Signed-off-by: Trial97 --- generateMojang.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/generateMojang.py b/generateMojang.py index b483bc2..59a71c7 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" )