aboutsummaryrefslogtreecommitdiff
path: root/codegen/migrate.py
diff options
context:
space:
mode:
authormat <27899617+mat-1@users.noreply.github.com>2022-12-07 21:09:58 -0600
committerGitHub <noreply@github.com>2022-12-07 21:09:58 -0600
commit7d901e39bc10a855b545d7b6c167f45148a1fb0a (patch)
tree88fe0a8f2f04f49f4df90e2f5462aa35a4278c68 /codegen/migrate.py
parent9f5e5c092be9167e4d5222fdee4a1d2c419e5052 (diff)
downloadazalea-drasl-7d901e39bc10a855b545d7b6c167f45148a1fb0a.tar.xz
1.19.3 (#34)
* start updating to 22w42a * work a bit more on 22w42a * player chat packet * serverbound hello packet * Update mod.rs * add more stuff to clientbound player chat packet * ClientboundPlayerInfoUpdatePacket * features enabled and container closed * serverbound chat packets * make it compile * 22w43a * ServerboundChatSessionUpdatePacket * profile_public_key isn't Option anymore * Update bitset.rs * joining a server works * fix entitydatavalue * backtraces + fix clientbound chat message * fix some warnings and add more ecomments * 22w44a * generate en_us.json * add updating guide to codegen/readme * fix some markdown * update list of generated things * metadata stuff * Replace PJS generator mod with PixLyzer (#38) * pixlizer extractor * start working on shape extraction * fix generating language * fix pixlyzer shape generation * use empty_shape * generate blocks and shapes * update pixlyzer dir * Revert "update pixlyzer dir" This reverts commit ee9a0e7a49936dd8569c610ba9b6455895eeff71. * fix * fix * Revert "fix" This reverts commit ad12ddcb009ccc4eeb13ddef0871db1d9322ab7d. * fix * detect pixlyzer fail * fix pixlyzer * 22w45a * gen entities * add async-trait dep * update codegen/readme.md * explain when rust_log should be used * remove some unused code * start fixing pixlyzer issues * fix a thing in codegen * almost fixed * more progress towards 1.19.3 * 1.19.3-pre2 * fixes * revert some hardcoded property names * Delete clientbound_player_info_packet.rs * handle 1.19.3 player info packets * handle playerinforemove * start updating to 1.19.3-rc1 * optional registries work * fix some issues with 1.19.3 chat doesn't work yet * aaaaaaaaaaaaaaaaa * oh * ignore unused shapes * uncomment generate_blocks * fix migrate * 1.19.3-rc2 * fix clippy warnings * 1.19.3-rc3 * split the azalea-buf macro into separate modules * improve Recipe in protocol * 1.19.3
Diffstat (limited to 'codegen/migrate.py')
-rwxr-xr-xcodegen/migrate.py26
1 files changed, 24 insertions, 2 deletions
diff --git a/codegen/migrate.py b/codegen/migrate.py
index 50bdb354..9df3ee0d 100755
--- a/codegen/migrate.py
+++ b/codegen/migrate.py
@@ -1,8 +1,11 @@
from lib.code.packet import fix_state
from lib.utils import PacketIdentifier, group_packets
+import lib.code.language
+import lib.code.registry
import lib.code.version
import lib.code.blocks
import lib.code.packet
+import lib.code.shapes
import lib.code.utils
import lib.download
import lib.extract
@@ -101,7 +104,6 @@ for packet in added_or_changed_packets:
lib.code.version.set_protocol_version(
new_burger_data[0]['version']['protocol'])
-lib.code.version.set_version_id(new_version_id)
print('Updated protocol!')
@@ -110,13 +112,33 @@ old_ordered_blocks = lib.extract.get_ordered_blocks_burger(old_version_id)
new_ordered_blocks = lib.extract.get_ordered_blocks_burger(new_version_id)
if old_ordered_blocks != new_ordered_blocks:
print('Blocks changed, updating...')
+
block_states_burger = lib.extract.get_block_states_burger(new_version_id)
block_states_report = lib.extract.get_block_states_report(new_version_id)
+ shape_datas = lib.extract.get_pixlyzer_data(
+ new_version_id, 'shapes')
+ pixlyzer_block_datas = lib.extract.get_pixlyzer_data(
+ new_version_id, 'blocks')
+
lib.code.blocks.generate_blocks(
- block_states_burger, block_states_report, old_ordered_blocks, new_mappings)
+ block_states_burger, block_states_report, new_ordered_blocks, new_mappings)
+ lib.code.shapes.generate_block_shapes(
+ pixlyzer_block_datas, shape_datas['shapes'], shape_datas['aabbs'], block_states_report, block_states_burger, new_mappings)
+
+print('Getting en_us.json...')
+language = lib.extract.get_en_us_lang(new_version_id)
+lib.code.language.write_language(language)
+
+print('Generating registries...')
+registries = lib.extract.get_registries_report(new_version_id)
+lib.code.registry.generate_registries(registries)
+
+print('Finishing touches, setting version in README and formatting code...')
+lib.code.version.set_version_id(new_version_id)
lib.code.utils.fmt()
print('Done!')
+print('Make sure to `cargo check` and look for the generated `TODO`s to make sure everything is correct!')