aboutsummaryrefslogtreecommitdiff
path: root/codegen/lib/extract.py
diff options
context:
space:
mode:
Diffstat (limited to 'codegen/lib/extract.py')
-rwxr-xr-xcodegen/lib/extract.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/codegen/lib/extract.py b/codegen/lib/extract.py
index 608673fa..fa75c49e 100755
--- a/codegen/lib/extract.py
+++ b/codegen/lib/extract.py
@@ -1,5 +1,6 @@
# Extracting data from the Minecraft jars
+from typing import TYPE_CHECKING
from lib.download import get_server_jar, get_burger, get_client_jar, get_pixlyzer, get_yarn_data, get_fabric_api_versions, get_fabric_loader_versions
from lib.utils import get_dir_location
from zipfile import ZipFile
@@ -275,3 +276,19 @@ def get_en_us_lang(version_id: str):
return json.loads(
get_file_from_jar(version_id, 'assets/minecraft/lang/en_us.json')
)
+
+# burger packet id extraction is broken since 1.20.5 (always returns -1, so we have to determine packet id ourselves from the mappings).
+# this is very much not ideal.
+
+if TYPE_CHECKING: from codegen.lib.mappings import Mappings
+def get_packet_list(burger_data, mappings: 'Mappings'):
+ packet_list = list(burger_data[0]['packets']['packet'].values())
+
+ current_packet_id = 0
+ for packet in packet_list:
+ if packet['id'] == -1:
+ packet['id'] = current_packet_id
+ print(packet)
+ current_packet_id += 1
+
+ return packet_list