aboutsummaryrefslogtreecommitdiff
path: root/codegen/lib
diff options
context:
space:
mode:
authormat <27899617+mat-1@users.noreply.github.com>2024-10-23 00:08:13 -0500
committerGitHub <noreply@github.com>2024-10-23 00:08:13 -0500
commit40e4096d2435533eacb817ad5a5e12c7ced8fa5c (patch)
tree937c4024bb7f69b19b6d053e02a9e5b3b02d98aa /codegen/lib
parentabc7b43b8c641b6dc4b107bb9624b86235bd36db (diff)
downloadazalea-drasl-40e4096d2435533eacb817ad5a5e12c7ced8fa5c.tar.xz
1.21.2 (#171)
* partially implement 24w35a * start updating to 24w39a + itemcomponent codegen * fix codegen and broken packets to finish updating to 24w39a :D * update to 1.21.2 except for blocks * update ServerboundPlayerInputPacket impl
Diffstat (limited to 'codegen/lib')
-rwxr-xr-xcodegen/lib/code/registry.py28
1 files changed, 15 insertions, 13 deletions
diff --git a/codegen/lib/code/registry.py b/codegen/lib/code/registry.py
index e203c11a..401f4b02 100755
--- a/codegen/lib/code/registry.py
+++ b/codegen/lib/code/registry.py
@@ -5,7 +5,6 @@ import re
REGISTRIES_DIR = get_dir_location('../azalea-registry/src/lib.rs')
-
def generate_registries(registries: dict):
with open(REGISTRIES_DIR, 'r') as f:
code = f.read().split('\n')
@@ -17,23 +16,14 @@ def generate_registries(registries: dict):
# });
registry_name = registry_name.split(':')[1]
-
- if registry_name.endswith('_type'):
- # change _type to _kind because that's Rustier (and because _type
- # is a reserved keyword)
- registry_name = registry_name[:-5] + '_kind'
- elif registry_name in {'menu'}:
- registry_name += '_kind'
-
- registry_struct_name = to_camel_case(registry_name)
+ registry_enum_name = registry_name_to_enum_name(registry_name)
registry_code = []
- registry_code.append(f'enum {registry_struct_name} {{')
+ registry_code.append(f'enum {registry_enum_name} {{')
registry_entries = sorted(
registry['entries'].items(), key=lambda x: x[1]['protocol_id'])
for variant_name, _variant in registry_entries:
- variant_struct_name = to_camel_case(
- variant_name.split(':')[1])
+ variant_struct_name = to_camel_case(variant_name.split(':')[-1])
registry_code.append(f'\t{variant_struct_name} => "{variant_name}",')
registry_code.append('}')
@@ -59,3 +49,15 @@ def generate_registries(registries: dict):
with open(REGISTRIES_DIR, 'w') as f:
f.write('\n'.join(code))
+
+def registry_name_to_enum_name(registry_name: str) -> str:
+ registry_name = registry_name.split(':')[-1]
+
+ if registry_name.endswith('_type'):
+ # change _type to _kind because that's Rustier (and because _type
+ # is a reserved keyword)
+ registry_name = registry_name[:-5] + '_kind'
+ elif registry_name in {'menu'}:
+ registry_name += '_kind'
+
+ return to_camel_case(registry_name)