Skip to main content

structura-core

Read and convert Minecraft structures.

Validated structure data, native format I/O and explicit conversion-loss reporting. Native formats need no Amulet Core translation engine.

Quick start

pip install structura-core
structura-convert house.litematic house.nbt
structura-convert house.nbt house.schem
structura-convert house.nbt house.snbt --strict

Formats

Format Read Write Installation
Java Structure .nbt gzip/raw NBT; multiple palettes gzip NBT base
Java Structure .snbt UTF-8 text UTF-8 text, preserving NBT value types base
Litematic .litematic v5–v7; named regions new v5/v7; native copies retain their version base
Sponge .schem v1–v3 new v2; native copies retain their version base
Bedrock .mcstructure v1 native document v1 native document / copy base; [bedrock] for conversion to/from Java
Legacy .schematic structura-convert-legacy no legacy writer [legacy]

structura-convert converts among the first five formats. Java/Bedrock translation needs [bedrock] and can be lossy. Sponge v1 without a DataVersion requires --source-data-version when converting to another format; supply the source game's version, not the desired target.

The base package uses amulet-nbt for NBT parsing. The separate amulet-core translation dependency is installed only by [legacy] or [bedrock].

Python

from structura_core import convert_structure, load_structure

structure = load_structure("house.litematic", region="Main")
print(structure.size, len(structure.present))
output = convert_structure(structure, "house.schem")
convert_structure("house.nbt", "house.snbt", strict=True)

convert_structure returns an absolute Path. Use Litematic, Schematic or Mcstructure document objects when native regions, metadata and unknown fields must survive a document copy.

Conversion rules

  • Native Java conversion retains DataVersion; it does not upgrade game data.
  • Omitted data produces ConversionWarning. --strict / strict=True rejects reported loss before writing; failed writes preserve an existing destination.
  • Same-format native document copies retain their fields. Cross-format conversion cannot preserve metadata that the destination cannot represent.
  • Java/Bedrock translation supports known vanilla blocks and waterlogging, omits ordinary entities and warns about block-entity fidelity. Its default target is 1.21.0.
pip install 'structura-core[bedrock]'
structura-convert house.nbt house.mcstructure --target-version 1.21.0

For old .schematic files, install [legacy] and use structura-convert-legacy old.schematic house.nbt --all-entities. The legacy converter defaults to Java 1.21.1 and preserves selection bounds, air, materials and connections. --all-entities retains every source entity; otherwise only paintings and item frames are carried. Placement preparation belongs to structura-geo.

Documentation

  • Release verification: installed packages, dependency upgrade and downstream checks.

  • Migration to 0.6.1: changed analysis imports, legacy defaults and compatible package versions.

  • Architecture: module responsibilities, data ownership and conversion stages.

  • structura-geo: geometry, room and material metrics, morphology and placement preparation. Core has no dependency on geo or SciPy.

  • Conversion guide: preservation rules, Litematic regions, Sponge metadata, limits and existing helpers.

  • Format recipes: SNBT round trips, Sponge v1 source versions and the full Bedrock translation contract.

  • structura-render: image, vector and 3D output from the same structures.

CLI commands support --help. Public entry points include type information for IDE completion. Interactive editing belongs to the separate structura-edit.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

structura_core-0.6.1.tar.gz (72.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

structura_core-0.6.1-py3-none-any.whl (44.8 kB view details)

Uploaded Python 3

File details

Details for the file structura_core-0.6.1.tar.gz.

File metadata

  • Download URL: structura_core-0.6.1.tar.gz
  • Upload date:
  • Size: 72.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for structura_core-0.6.1.tar.gz
Algorithm Hash digest
SHA256 c54d46523528cc34ee9d8c60d29a54e21676a43180c436d3d2ae6fcff17aa311
MD5 8d16ec9edc084f77f1d3819ccd34f877
BLAKE2b-256 2288d4c8cd59552f1fb1104e363e73a02d2768b95bab05c85ef1384921a28fc2

See more details on using hashes here.

Provenance

The following attestation bundles were made for structura_core-0.6.1.tar.gz:

Publisher: publish.yml on kirimba1024/structura-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file structura_core-0.6.1-py3-none-any.whl.

File metadata

  • Download URL: structura_core-0.6.1-py3-none-any.whl
  • Upload date:
  • Size: 44.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for structura_core-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 32770341f3141f5fe587523491104ae3e41a209d9fdf025a9b212b2a0fb821a8
MD5 528514cb5ad792de0a7344d4904ab5fd
BLAKE2b-256 c6ccf991ccf2f46f95bf2956eccc7c0c2f3d4a0cc00b2b2b931387001381abab

See more details on using hashes here.

Provenance

The following attestation bundles were made for structura_core-0.6.1-py3-none-any.whl:

Publisher: publish.yml on kirimba1024/structura-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.6.3

2 files

0.6.2

2 files

This release

0.6.1 This release

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.0

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page