anvil-parser
A parser for the Minecraft anvil file format. This package was forked from matcool's anvil-parser in order to additionally support minecraft versions 1.18 and above.
Installation
pip install anvil-parser2
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 - 1.19, should work fine for other versions. Writing chunks and regions is broken from 1.16 onwards
Metadata
Release files for anvil-parser2 0.10.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| anvil-parser2-0.10.5.tar.gz | 29.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| anvil_parser2-0.10.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 60.9 kB
Release files / anvil-parser2-0.10.5.tar.gz
| Download URL | anvil-parser2-0.10.5.tar.gz |
|---|---|
| Size | 29.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c2a121d52b16e56717dffd708fdc0397c7df90c0c3eb0527fb75bb0fd9c8ec26
|
|
BLAKE2b-256 checksum How to use checksums |
2783fd061ce9842a84c713b71a6482496c3ac8d9ee9f842b1c9e0b9e702e6d59
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.10.12
|
Release files / anvil_parser2-0.10.5-py3-none-any.whl
| Download URL | anvil_parser2-0.10.5-py3-none-any.whl |
|---|---|
| Size | 31.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
139f97abcb972e80a8e78988a4d866d4afa443e26d3587fe5660e0cb3deed67a
|
|
BLAKE2b-256 checksum How to use checksums |
21e678118b4ee96d1fcd54e9f8449d93939247989cbea159cab55050478069b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.10.12
|