diff options
| author | mat <github@matdoes.dev> | 2022-06-11 09:50:14 -0500 |
|---|---|---|
| committer | mat <github@matdoes.dev> | 2022-06-11 09:50:14 -0500 |
| commit | b852bdc48150c0c01f341f73dfb84084b50eda9c (patch) | |
| tree | da2dfe72251908c87d0932d3bb85534f3b7859e8 /codegen | |
| parent | 6926907528135f7b6c891540b1aa2fdbe7696014 (diff) | |
| download | azalea-drasl-b852bdc48150c0c01f341f73dfb84084b50eda9c.tar.xz | |
Separate int properties
Diffstat (limited to 'codegen')
| -rw-r--r-- | codegen/lib/code/blocks.py | 8 | ||||
| -rw-r--r-- | codegen/lib/utils.py | 4 |
2 files changed, 8 insertions, 4 deletions
diff --git a/codegen/lib/code/blocks.py b/codegen/lib/code/blocks.py index a5c9e2c6..d2fe6da2 100644 --- a/codegen/lib/code/blocks.py +++ b/codegen/lib/code/blocks.py @@ -1,7 +1,7 @@ +from lib.utils import upper_first_letter from lib.utils import get_dir_location from lib.utils import to_camel_case from ..mappings import Mappings -import json BLOCKS_RS_DIR = get_dir_location('../azalea-block/src/blocks.rs') @@ -25,7 +25,9 @@ def generate_blocks(blocks_burger: dict, blocks_report: dict, mappings: Mappings if property_name: break assert property_name - property_name = property_name.lower() + property_name = to_camel_case(property_name.lower()) + if property['type'] == 'int': + property_name = to_camel_case(block_data_burger['text_id']) + property_name return property_name # Find properties @@ -84,7 +86,7 @@ def generate_blocks(blocks_burger: dict, blocks_report: dict, mappings: Mappings property_struct_name = get_property_struct_name(property, block_data_burger) assert property_default is not None new_make_block_states_macro_code.append( - f' {to_camel_case(property_struct_name)}={to_camel_case(property_default)},') + f' {property_struct_name}={to_camel_case(property_default)},') # new_make_block_states_macro_code.append( # f' {to_camel_case(state)}=TODO,') new_make_block_states_macro_code.append(' },') diff --git a/codegen/lib/utils.py b/codegen/lib/utils.py index fb43af21..3887bb35 100644 --- a/codegen/lib/utils.py +++ b/codegen/lib/utils.py @@ -11,13 +11,15 @@ def to_snake_case(name: str): def to_camel_case(name: str): s = re.sub('_([a-z])', lambda m: m.group(1).upper(), name) - s = s[0].upper() + s[1:] + s = upper_first_letter(s) # if the first character is a number, we need to add an underscore # maybe we could convert it to the number name (like 2 would become "two")? if s[0].isdigit(): s = f'_{s}' return s +def upper_first_letter(name: str): + return name[0].upper() + name[1:] def padded_hex(n: int): return f'0x{n:02x}' |
