Skip to main content

A Minecraft anvil file format parser

Project description

anvil-parser

CodeFactor Documentation Status Build Status PyPI - Downloads

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-parser-0.9.0.tar.gz (25.6 kB view details)

Uploaded Source

Built Distribution

anvil_parser-0.9.0-py3-none-any.whl (28.7 kB view details)

Uploaded Python 3

File details

Details for the file anvil-parser-0.9.0.tar.gz.

File metadata

  • Download URL: anvil-parser-0.9.0.tar.gz
  • Upload date:
  • Size: 25.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.7.2rc1

File hashes

Hashes for anvil-parser-0.9.0.tar.gz
Algorithm Hash digest
SHA256 7cd457cf465c1d6d8f6dc52b0689a56e84e498c1a4c27802e725ede982698f9d
MD5 fb4cf6061c3ec5b123c27c852ca96630
BLAKE2b-256 0ae97d2f3fb897e1a1fc3af922f6142eb37acdb3ff287ee77de8d528c3420f2d

See more details on using hashes here.

File details

Details for the file anvil_parser-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: anvil_parser-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 28.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.7.2rc1

File hashes

Hashes for anvil_parser-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e3e6284194b7db0f2e7b7a4b2437e0215961eba1ef94ab1080c0a100ad8145dc
MD5 9817b4d4792c94acf1897eb50ba2e3b3
BLAKE2b-256 1b3e1b47956916ce1d43507f5d890534c5d60049cabdd2f3ee6ab1da28e6a792

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 Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page