Separate int properties

This commit is contained in:
mat 2022-06-11 09:50:14 -05:00
parent 6926907528
commit b852bdc481
3 changed files with 1257 additions and 131 deletions

File diff suppressed because it is too large Load diff

View file

@ -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(' },')

View file

@ -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}'