aboutsummaryrefslogtreecommitdiff
path: root/codegen/lib/code/entity.py
diff options
context:
space:
mode:
Diffstat (limited to 'codegen/lib/code/entity.py')
-rw-r--r--codegen/lib/code/entity.py49
1 files changed, 22 insertions, 27 deletions
diff --git a/codegen/lib/code/entity.py b/codegen/lib/code/entity.py
index d10a159f..992d9b19 100644
--- a/codegen/lib/code/entity.py
+++ b/codegen/lib/code/entity.py
@@ -1,5 +1,4 @@
from lib.utils import to_camel_case, to_snake_case, get_dir_location, upper_first_letter
-from lib.mappings import Mappings
from typing import Optional
import re
@@ -8,18 +7,19 @@ DATA_RS_DIR = get_dir_location("../azalea-entity/src/data.rs")
DIMENSIONS_RS_DIR = get_dir_location("../azalea-entity/src/dimensions.rs")
-def generate_metadata_names(burger_dataserializers: dict, mappings: Mappings):
+def generate_metadata_names(burger_dataserializers: dict):
serializer_names: list[Optional[str]] = [None] * len(burger_dataserializers)
for burger_serializer in burger_dataserializers.values():
print(burger_serializer)
+ # TODO: remove these comments
# burger gives us the wrong class, so we do this instead
- data_serializers_class = mappings.get_class_from_deobfuscated_name(
- "net.minecraft.network.syncher.EntityDataSerializers"
- )
- mojmap_name = mappings.get_field(
- data_serializers_class, burger_serializer["field"]
- ).lower()
+ # data_serializers_class = "net/minecraft/network/syncher/EntityDataSerializers"
+ # mojmap_name = mappings.get_field(
+ # data_serializers_class, burger_serializer["field"]
+ # ).lower()
+
+ mojmap_name = burger_serializer["field"].lower()
if mojmap_name == "component":
mojmap_name = "formatted_text"
@@ -58,11 +58,11 @@ def parse_metadata_types_from_code():
return data
-def generate_entity_metadata(burger_entities_data: dict, mappings: Mappings):
+def generate_entity_metadata(burger_entities_data: dict):
burger_entity_metadata = burger_entities_data["entity"]
new_metadata_names = generate_metadata_names(
- burger_entities_data["dataserializers"], mappings
+ burger_entities_data["dataserializers"]
)
parsed_metadata_types = parse_metadata_types_from_code()
@@ -173,7 +173,7 @@ impl From<EntityDataValue> for UpdateMetadataError {
for entity_id in burger_entity_metadata.keys():
field_name_map[entity_id] = {}
for field_name_or_bitfield in get_entity_metadata_names(
- entity_id, burger_entity_metadata, mappings
+ entity_id, burger_entity_metadata
).values():
if isinstance(field_name_or_bitfield, str):
if field_name_or_bitfield in previous_field_names:
@@ -204,7 +204,7 @@ impl From<EntityDataValue> for UpdateMetadataError {
# and now figure out what to rename them to
for entity_id in burger_entity_metadata.keys():
for index, field_name_or_bitfield in get_entity_metadata_names(
- entity_id, burger_entity_metadata, mappings
+ entity_id, burger_entity_metadata
).items():
if isinstance(field_name_or_bitfield, str):
new_field_name = field_name_or_bitfield
@@ -245,7 +245,7 @@ impl From<EntityDataValue> for UpdateMetadataError {
parents = get_entity_parents(entity_id, burger_entity_metadata)
for parent_id in list(reversed(parents)):
for index, name_or_bitfield in get_entity_metadata_names(
- parent_id, burger_entity_metadata, mappings
+ parent_id, burger_entity_metadata
).items():
assert index == len(all_field_names_or_bitfields)
all_field_names_or_bitfields.append(name_or_bitfield)
@@ -462,7 +462,7 @@ impl From<EntityDataValue> for UpdateMetadataError {
if parent_struct_name:
code.append(f" parent: {parent_struct_name}MetadataBundle,")
for index, name_or_bitfield in get_entity_metadata_names(
- entity_id, burger_entity_metadata, mappings
+ entity_id, burger_entity_metadata
).items():
if isinstance(name_or_bitfield, str):
name_or_bitfield = maybe_rename_field(name_or_bitfield, index)
@@ -514,7 +514,7 @@ impl From<EntityDataValue> for UpdateMetadataError {
code.append(" parent: Default::default(),")
for index, name_or_bitfield in get_entity_metadata_names(
- this_entity_id, burger_entity_metadata, mappings
+ this_entity_id, burger_entity_metadata
).items():
default = next(
filter(lambda i: i["index"] == index, entity_metadatas)
@@ -792,22 +792,19 @@ def get_entity_metadata(entity_id: str, burger_entity_metadata: dict):
# returns a dict of {index: (name or bitfield)}
-def get_entity_metadata_names(
- entity_id: str, burger_entity_metadata: dict, mappings: Mappings
-):
+def get_entity_metadata_names(entity_id: str, burger_entity_metadata: dict):
entity_metadata = burger_entity_metadata[entity_id]["metadata"]
mapped_metadata_names = {}
for metadata_item in entity_metadata:
if "data" in metadata_item:
- obfuscated_class = metadata_item["class"]
+ # obfuscated_class = metadata_item["class"]
# mojang_class = mappings.get_class(obfuscated_class)
first_byte_index = None
for metadata_attribute in metadata_item["data"]:
- obfuscated_field = metadata_attribute["field"]
- mojang_field = mappings.get_field(obfuscated_class, obfuscated_field)
+ mojang_field = metadata_attribute["field"]
pretty_mojang_name = prettify_mojang_field(mojang_field)
mapped_metadata_names[metadata_attribute["index"]] = pretty_mojang_name
@@ -820,12 +817,10 @@ def get_entity_metadata_names(
if metadata_item["bitfields"] and first_byte_index is not None:
clean_bitfield = {}
for bitfield_item in metadata_item["bitfields"]:
- bitfield_item_obfuscated_class = bitfield_item.get(
- "class", obfuscated_class
- )
- mojang_bitfield_item_name = mappings.get_method(
- bitfield_item_obfuscated_class, bitfield_item["method"], ""
- )
+ # bitfield_item_obfuscated_class = bitfield_item.get(
+ # "class", obfuscated_class
+ # )
+ mojang_bitfield_item_name = bitfield_item["method"]
bitfield_item_name = prettify_mojang_method(
mojang_bitfield_item_name
)