Skip to main content

A parser for the Minecraft anvil file format, supports all Minecraft verions

Project description

anvil-parser

Documentation Status Tests PyPI - Downloads

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

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-parser2-0.10.5.tar.gz (29.0 kB view details)

Uploaded Source

Built Distribution

anvil_parser2-0.10.5-py3-none-any.whl (31.9 kB view details)

Uploaded Python 3

File details

Details for the file anvil-parser2-0.10.5.tar.gz.

File metadata

  • Download URL: anvil-parser2-0.10.5.tar.gz
  • Upload date:
  • Size: 29.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for anvil-parser2-0.10.5.tar.gz
Algorithm Hash digest
SHA256 c2a121d52b16e56717dffd708fdc0397c7df90c0c3eb0527fb75bb0fd9c8ec26
MD5 cc4d257586f7616ec7c9e03fe8740c72
BLAKE2b-256 2783fd061ce9842a84c713b71a6482496c3ac8d9ee9f842b1c9e0b9e702e6d59

See more details on using hashes here.

File details

Details for the file anvil_parser2-0.10.5-py3-none-any.whl.

File metadata

File hashes

Hashes for anvil_parser2-0.10.5-py3-none-any.whl
Algorithm Hash digest
SHA256 139f97abcb972e80a8e78988a4d866d4afa443e26d3587fe5660e0cb3deed67a
MD5 28a262bf81046e1f60bd0792cc148dc8
BLAKE2b-256 21e678118b4ee96d1fcd54e9f8449d93939247989cbea159cab55050478069b4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page