summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrial97 <alexandru.tripon97@gmail.com>2024-03-27 12:30:06 +0200
committerTrial97 <alexandru.tripon97@gmail.com>2024-03-27 12:30:06 +0200
commit74fddd3673b50bc3d0c0b4ff6854193240eaa067 (patch)
tree6465ef36f2f564fc01422458dd8a1266ce7cfe7f
parentbec6650d02d8fff7da4f59185667dd8a2ac19861 (diff)
downloadProject-Tick-74fddd3673b50bc3d0c0b4ff6854193240eaa067.tar.gz
Project-Tick-74fddd3673b50bc3d0c0b4ff6854193240eaa067.zip
Added supported features to not polute traits
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
-rwxr-xr-xgenerateMojang.py21
-rw-r--r--meta/model/mojang.py1
2 files changed, 12 insertions, 10 deletions
diff --git a/generateMojang.py b/generateMojang.py
index 59a71c75f2..74d7e883bf 100755
--- a/generateMojang.py
+++ b/generateMojang.py
@@ -35,6 +35,7 @@ from meta.model.mojang import (
MojangVersion,
LegacyOverrideIndex,
LibraryPatches,
+ SUPPORTED_FEATURES,
)
APPLY_SPLIT_NATIVES_WORKAROUND = True
@@ -198,22 +199,20 @@ 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)
+ if isinstance(arg, dict):
+ for rule in arg["rules"]:
+ for k, v in rule["features"].items():
+ if rule["action"] == "allow" and v and k in SUPPORTED_FEATURES:
+ foo.append(f"feature:{k}")
return foo
+
def is_macos_only(rules: Optional[MojangRules]):
allows_osx = False
allows_all = False
@@ -503,7 +502,9 @@ def main():
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))
+ 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"
)
diff --git a/meta/model/mojang.py b/meta/model/mojang.py
index d54b7f9851..221f8e074e 100644
--- a/meta/model/mojang.py
+++ b/meta/model/mojang.py
@@ -18,6 +18,7 @@ SUPPORTED_LAUNCHER_VERSION = 21
SUPPORTED_COMPLIANCE_LEVEL = 1
DEFAULT_JAVA_MAJOR = 8 # By default, we should recommend Java 8 if we don't know better
COMPATIBLE_JAVA_MAPPINGS = {16: [17]}
+SUPPORTED_FEATURES = ["is_quick_play_multiplayer"]
"""
Mojang index files look like this: