1
2
Fork 0
mirror of https://github.com/mat-1/azalea.git synced 2025-08-02 14:26:04 +00:00
azalea/codegen/genblocks.py
mat 08958c2278
Refactor azalea-protocol (#190)
* start updating to 1.21.4

* fix block codegen and stop using block data from burger

* rename packet related modules and structs to be simpler

* ItemSlot -> ItemStack for more consistency with mojmap

* .get() -> .into_packet()

* simplify declare_state_packets by removing packet ids

* rename read_from and write_into to azalea_read and azalea_write

* rename McBufReadable and McBufWritable to AzaleaRead and AzaleaWrite

* McBuf -> AzBuf

* remove most uses of into_variant

* update codegen and use resourcelocation names for packets

* implement #[limit(i)] attribute for AzBuf derive macro

* fixes for 1.21.4

* fix examples

* update some physics code and fix ChatType

* remove unused imports in codegen

* re-add some things to migrate.py and update +mc version numbers automatically

* downgrade to 1.21.3 lol
2024-11-27 19:31:40 -06:00

33 lines
995 B
Python
Executable file

import lib.code.version
import lib.code.shapes
import lib.code.packet
import lib.code.blocks
import lib.code.utils
import lib.download
import lib.extract
import lib.utils
def generate(version_id):
# TODO: pixlyzer is broken so we use old data
shape_datas = lib.extract.get_pixlyzer_data(
'1.20.3-pre4', 'shapes')
pixlyzer_block_datas = lib.extract.get_pixlyzer_data(
'1.20.3-pre4', 'blocks')
block_states_report = lib.extract.get_block_states_report(version_id)
registries = lib.extract.get_registries_report(version_id)
ordered_blocks = lib.code.blocks.get_ordered_blocks(registries)
lib.code.blocks.generate_blocks(
block_states_report, pixlyzer_block_datas, ordered_blocks)
lib.code.shapes.generate_block_shapes(
pixlyzer_block_datas, shape_datas['shapes'], shape_datas['aabbs'], block_states_report)
lib.code.utils.fmt()
print('Done!')
if __name__ == '__main__':
generate(lib.code.version.get_version_id())