structura-core 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- structura_core-0.1.0/PKG-INFO +37 -0
- structura_core-0.1.0/README.md +24 -0
- structura_core-0.1.0/pyproject.toml +41 -0
- structura_core-0.1.0/setup.cfg +4 -0
- structura_core-0.1.0/src/structura_core/__init__.py +6 -0
- structura_core-0.1.0/src/structura_core/analyze.py +649 -0
- structura_core-0.1.0/src/structura_core/biome_tags.py +60 -0
- structura_core-0.1.0/src/structura_core/check_doors.py +78 -0
- structura_core-0.1.0/src/structura_core/check_leaks.py +60 -0
- structura_core-0.1.0/src/structura_core/chest_loot.py +99 -0
- structura_core-0.1.0/src/structura_core/convert_legacy.py +401 -0
- structura_core-0.1.0/src/structura_core/debug_interior_air.py +58 -0
- structura_core-0.1.0/src/structura_core/default_loot.py +83 -0
- structura_core-0.1.0/src/structura_core/dome_doors.py +141 -0
- structura_core-0.1.0/src/structura_core/envelope.py +364 -0
- structura_core-0.1.0/src/structura_core/export_schematic.py +86 -0
- structura_core-0.1.0/src/structura_core/house_pool.py +39 -0
- structura_core-0.1.0/src/structura_core/largest_component.py +130 -0
- structura_core-0.1.0/src/structura_core/loot_tables.py +39 -0
- structura_core-0.1.0/src/structura_core/nbt.py +206 -0
- structura_core-0.1.0/src/structura_core/processor_list.py +108 -0
- structura_core-0.1.0/src/structura_core/terrain_pod.py +625 -0
- structura_core-0.1.0/src/structura_core/version.py +5 -0
- structura_core-0.1.0/src/structura_core/voxel.py +18 -0
- structura_core-0.1.0/src/structura_core/worldgen.py +77 -0
- structura_core-0.1.0/src/structura_core.egg-info/PKG-INFO +37 -0
- structura_core-0.1.0/src/structura_core.egg-info/SOURCES.txt +29 -0
- structura_core-0.1.0/src/structura_core.egg-info/dependency_links.txt +1 -0
- structura_core-0.1.0/src/structura_core.egg-info/entry_points.txt +16 -0
- structura_core-0.1.0/src/structura_core.egg-info/requires.txt +6 -0
- structura_core-0.1.0/src/structura_core.egg-info/top_level.txt +1 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: structura-core
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Validated Minecraft Structure NBT, voxel geometry and worldgen tooling
|
|
5
|
+
Project-URL: Repository, https://github.com/kirimba1024/structura-core
|
|
6
|
+
Requires-Python: >=3.9
|
|
7
|
+
Description-Content-Type: text/markdown
|
|
8
|
+
Requires-Dist: amulet-nbt<3,>=2.1
|
|
9
|
+
Requires-Dist: numpy<3,>=1.26
|
|
10
|
+
Requires-Dist: scipy<2,>=1.13
|
|
11
|
+
Provides-Extra: legacy
|
|
12
|
+
Requires-Dist: amulet-core<2,>=1.9; extra == "legacy"
|
|
13
|
+
|
|
14
|
+
# structura-core
|
|
15
|
+
|
|
16
|
+
Reusable Minecraft Java 1.21.1 structure-processing core. It owns:
|
|
17
|
+
|
|
18
|
+
- validated Java Structure NBT I/O;
|
|
19
|
+
- legacy schematic conversion and numeric analysis;
|
|
20
|
+
- NumPy/SciPy envelope, terrain-pod and foundation geometry;
|
|
21
|
+
- loot, template-pool and worldgen JSON generators.
|
|
22
|
+
|
|
23
|
+
The library targets Minecraft Java 1.21.1 by default. Version constants live
|
|
24
|
+
in `structura_core.version`; callers can still pass an explicit Amulet
|
|
25
|
+
translation target to the legacy converter.
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
pip install -e '.[legacy]'
|
|
29
|
+
structura-analyze path/to/structure.nbt --json
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
The `legacy` extra is only needed for `.schematic` conversion and Sponge
|
|
33
|
+
`.schem` export. Normal Structure NBT processing stays independent of
|
|
34
|
+
`amulet-core`.
|
|
35
|
+
|
|
36
|
+
Generated additions may replace explicit air, but never overwrite source
|
|
37
|
+
solid blocks. Every saved position is bounds-checked.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# structura-core
|
|
2
|
+
|
|
3
|
+
Reusable Minecraft Java 1.21.1 structure-processing core. It owns:
|
|
4
|
+
|
|
5
|
+
- validated Java Structure NBT I/O;
|
|
6
|
+
- legacy schematic conversion and numeric analysis;
|
|
7
|
+
- NumPy/SciPy envelope, terrain-pod and foundation geometry;
|
|
8
|
+
- loot, template-pool and worldgen JSON generators.
|
|
9
|
+
|
|
10
|
+
The library targets Minecraft Java 1.21.1 by default. Version constants live
|
|
11
|
+
in `structura_core.version`; callers can still pass an explicit Amulet
|
|
12
|
+
translation target to the legacy converter.
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
pip install -e '.[legacy]'
|
|
16
|
+
structura-analyze path/to/structure.nbt --json
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
The `legacy` extra is only needed for `.schematic` conversion and Sponge
|
|
20
|
+
`.schem` export. Normal Structure NBT processing stays independent of
|
|
21
|
+
`amulet-core`.
|
|
22
|
+
|
|
23
|
+
Generated additions may replace explicit air, but never overwrite source
|
|
24
|
+
solid blocks. Every saved position is bounds-checked.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=68", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "structura-core"
|
|
7
|
+
version = "0.1.0"
|
|
8
|
+
description = "Validated Minecraft Structure NBT, voxel geometry and worldgen tooling"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.9"
|
|
11
|
+
dependencies = [
|
|
12
|
+
"amulet-nbt>=2.1,<3",
|
|
13
|
+
"numpy>=1.26,<3",
|
|
14
|
+
"scipy>=1.13,<2",
|
|
15
|
+
]
|
|
16
|
+
|
|
17
|
+
[project.optional-dependencies]
|
|
18
|
+
legacy = ["amulet-core>=1.9,<2"]
|
|
19
|
+
|
|
20
|
+
[project.scripts]
|
|
21
|
+
structura-analyze = "structura_core.analyze:main"
|
|
22
|
+
structura-convert-legacy = "structura_core.convert_legacy:main"
|
|
23
|
+
structura-envelope = "structura_core.envelope:main"
|
|
24
|
+
structura-terrain-pod = "structura_core.terrain_pod:main"
|
|
25
|
+
structura-add-chest-loot = "structura_core.chest_loot:main"
|
|
26
|
+
structura-add-default-loot = "structura_core.default_loot:main"
|
|
27
|
+
structura-build-loot-tables = "structura_core.loot_tables:main"
|
|
28
|
+
structura-build-biome-tags = "structura_core.biome_tags:main"
|
|
29
|
+
structura-build-processor-list = "structura_core.processor_list:main"
|
|
30
|
+
structura-build-worldgen = "structura_core.worldgen:main"
|
|
31
|
+
structura-add-dome-doors = "structura_core.dome_doors:main"
|
|
32
|
+
structura-export-schematic = "structura_core.export_schematic:main"
|
|
33
|
+
structura-check-doors = "structura_core.check_doors:main"
|
|
34
|
+
structura-check-leaks = "structura_core.check_leaks:main"
|
|
35
|
+
structura-debug-interior-air = "structura_core.debug_interior_air:main"
|
|
36
|
+
|
|
37
|
+
[tool.setuptools.packages.find]
|
|
38
|
+
where = ["src"]
|
|
39
|
+
|
|
40
|
+
[project.urls]
|
|
41
|
+
Repository = "https://github.com/kirimba1024/structura-core"
|