A Minecraft anvil file format parser
Project description
anvil-parser
Simple parser for the Minecraft anvil file format
Installation
This project is available on PyPI and can be installed with pip
pip install anvil-parser
or directly from github
pip install git+https://github.com/matcool/anvil-parser.git
Usage
Reading
import anvil
region = anvil.Region.from_file('r.0.0.mca')
# You can also provide the region file name instead of the object
chunk = anvil.Chunk.from_region(region, 0, 0)
# If `section` is not provided, will get it from the y coords
# and assume it's global
block = chunk.get_block(0, 0, 0)
print(block) # <Block(minecraft:air)>
print(block.id) # air
print(block.properties) # {}
Making own regions
import anvil
from random import choice
# Create a new region with the `EmptyRegion` class at 0, 0 (in region coords)
region = anvil.EmptyRegion(0, 0)
# Create `Block` objects that are used to set blocks
stone = anvil.Block('minecraft', 'stone')
dirt = anvil.Block('minecraft', 'dirt')
# Make a 16x16x16 cube of either stone or dirt blocks
for y in range(16):
for z in range(16):
for x in range(16):
region.set_block(choice((stone, dirt)), x, y, z)
# Save to a file
region.save('r.0.0.mca')
Todo
things to do before 1.0.0
- Proper documentation
- Biomes
- CI
- More tests
- Tests for 20w17a+ BlockStates format
Note
Testing done in 1.14.4 and 1.15.2, should work fine for other versions.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
anvil-new-0.9.3.tar.gz
(26.8 kB
view hashes)
Built Distribution
anvil_new-0.9.3-py3-none-any.whl
(28.8 kB
view hashes)
Close
Hashes for anvil_new-0.9.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1f8e310c94c80be25a63deca4d3caac340684202c56d491ef6f40e563a8ed2a |
|
MD5 | b31b58ec82e9b0e46f140e4c87c98e6e |
|
BLAKE2b-256 | 6f6bf42a115fb8110dad93b8b6325f2e3b4820379a60ea01ef67e37250ccd1d7 |