aboutsummaryrefslogtreecommitdiff
path: root/codegen/lib
diff options
context:
space:
mode:
Diffstat (limited to 'codegen/lib')
-rw-r--r--codegen/lib/code/blocks.py8
-rw-r--r--codegen/lib/utils.py4
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}'