aboutsummaryrefslogtreecommitdiff
path: root/codegen/lib/code/registry.py
diff options
context:
space:
mode:
authormat <git@matdoes.dev>2026-03-02 18:53:36 -0530
committermat <git@matdoes.dev>2026-03-02 19:23:44 -0500
commit782db2e05cb9ea1b8dbd1ab7f5ff2eac29737fef (patch)
tree2f420e585267098189c94ecae2dc886c4136216f /codegen/lib/code/registry.py
parent8fd11c174d921a8085bb7e67ae62958e23d174cb (diff)
downloadazalea-drasl-782db2e05cb9ea1b8dbd1ab7f5ff2eac29737fef.tar.xz
disambiguate non-minecraft identifier namespaces in codegen
Diffstat (limited to 'codegen/lib/code/registry.py')
-rw-r--r--codegen/lib/code/registry.py11
1 files changed, 5 insertions, 6 deletions
diff --git a/codegen/lib/code/registry.py b/codegen/lib/code/registry.py
index 8957a8fe..01462e1f 100644
--- a/codegen/lib/code/registry.py
+++ b/codegen/lib/code/registry.py
@@ -1,4 +1,4 @@
-from lib.utils import get_dir_location, to_camel_case
+from lib.utils import get_dir_location, identifier_to_path, to_camel_case
BUILTIN_REGISTRIES_DIR = get_dir_location("../azalea-registry/src/builtin.rs")
DATA_REGISTRIES_DIR = get_dir_location("../azalea-registry/src/data.rs")
@@ -16,7 +16,7 @@ def generate_builtin_registries(registries: dict):
# Stone => "minecraft:stone"
# });
- registry_name = registry_name.split(":")[1]
+ registry_name = identifier_to_path(registry_name)
registry_enum_name = registry_name_to_enum_name(registry_name)
existing_registry_enum_names.add(registry_enum_name)
@@ -27,8 +27,7 @@ def generate_builtin_registries(registries: dict):
registry["entries"].items(), key=lambda x: x[1]["protocol_id"]
)
for variant_name, _variant in registry_entries:
- # strip out the "minecraft:" prefix
- variant_name = variant_name.split(":")[-1]
+ variant_name = identifier_to_path(variant_name)
variant_struct_name = to_camel_case(variant_name)
registry_code.append(f'\t{variant_struct_name} => "{variant_name}",')
registry_code.append("}")
@@ -117,7 +116,7 @@ def generate_data_registries(data_registries: dict):
registry_code.append(f"enum {registry_enum_name}Key {{")
registry_entries.sort()
for variant_name in registry_entries:
- variant_struct_name = to_camel_case(variant_name.split(":")[-1])
+ variant_struct_name = to_camel_case(identifier_to_path(variant_name))
registry_code.append(f' {variant_struct_name} => "{variant_name}",')
registry_code.append("}")
@@ -146,7 +145,7 @@ def generate_data_registries(data_registries: dict):
def registry_name_to_enum_name(registry_name: str) -> str:
- registry_name = registry_name.split(":")[-1]
+ registry_name = identifier_to_path(registry_name)
if registry_name == "block_type":
# avoid conflicting with BlockKind