Minecraft Block Renderer
A Python CLI tool for rendering Minecraft blocks from jar files (vanilla or modded) into isometric PNG images.
Features
- 🎮 Extract and render blocks from Minecraft jar files
- 🎨 Support for vanilla and modded Minecraft
- 📦 Isometric 3D-style rendering
- ⚙️ Configurable output dimensions
- 🎯 Batch rendering capabilities
- 🌈 Support for transparency, tinting, and overlays
- 🔧 GregTech Support: Dynamic material variants, voltage tiers, and machine overlays
- ⚡ Multi-layer rendering with emissive effects
Installation
From PyPI
pip install mcrender-block
From source
git clone https://github.com/almajd3713/vibecoded_mc_renderer.git
cd vibecoded_mc_renderer
pip install -e .
For development
pip install -e ".[dev]"
Usage
Basic Commands
Render a single block
mcrender render path/to/minecraft.jar minecraft:stone --output stone.png --size 128
List all available blocks
mcrender list-blocks path/to/minecraft.jar
Render multiple blocks
mcrender batch path/to/minecraft.jar --blocks minecraft:stone,minecraft:dirt --output-dir renders/
Get jar file info
mcrender info path/to/minecraft.jar
GregTech Support
Render GregTech blocks with material/tier variants
# Render a machine with specific voltage tier
mcrender render gregtech.jar gregtech:electric_furnace \
--tier lv \
--active \
--output furnace_lv_active.png
# Render with custom material color
mcrender render gregtech.jar gregtech:compressed_block \
--material copper \
--output copper_block.png
Render machines directly (GregTech-specific)
mcrender render-machine gregtech.jar electric_furnace \
--tier hv \
--active \
--emissive 0.8 \
--output furnace_hv.png
List GregTech resources
# List all available materials
mcrender list-gregtech gregtech.jar materials
# List voltage tiers
mcrender list-gregtech gregtech.jar tiers
# List machines with capabilities
mcrender list-gregtech gregtech.jar machines
# List material set styles
mcrender list-gregtech gregtech.jar material-sets
Command-Line Options
render command
--material,-m: Material for GregTech blocks (e.g., 'copper', 'steel')--tier,-t: Voltage tier (e.g., 'lv', 'mv', 'hv')--active,-a: Render in active state (for machines)--size,-s: Output image size (default: 128)--output,-o: Output file path
render-machine command
--tier,-t: Voltage tier (default: 'lv')--active,-a: Render in active state--material,-m: Material override for casing--emissive,-e: Emissive glow strength (0.0-1.0, default: 1.0)--size,-s: Output image size--output,-o: Output file path
How It Works
- Extract Resources: Reads jar files as ZIP archives and indexes block assets
- Parse Models: Parses JSON blockstates and models, resolving parent chains
- Load Textures: Extracts PNG textures and applies transformations
- Render: Creates isometric projection with proper face ordering and alpha compositing
Development
Run tests:
pytest
Note: Tests automatically download Minecraft 1.12.2 jar (~10 MB) on first run and cache it for future use.
Format code:
black src/ tests/
ruff check src/ tests/
License
MIT
Metadata
Release files for mcrender-block 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mcrender_block-0.1.2.tar.gz | 34.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcrender_block-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 70.1 kB
Release files / mcrender_block-0.1.2.tar.gz
| Download URL | mcrender_block-0.1.2.tar.gz |
|---|---|
| Size | 34.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
833b69e84ae54bd0d6dea8d327225023f27e39d7e97c26af6f92a2d922548d0d
|
|
BLAKE2b-256 checksum How to use checksums |
20e13b0be6b7e736c0e6e949eed5f0432c06b472ebe244f8a4d162461ff34bf3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 14, 2025.
Transparency logRelease files / mcrender_block-0.1.2-py3-none-any.whl
| Download URL | mcrender_block-0.1.2-py3-none-any.whl |
|---|---|
| Size | 35.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ed6ce802745fcd2ae25e8c120366e6a0e1c30a134aad5238fb7c679bb79566b8
|
|
BLAKE2b-256 checksum How to use checksums |
69213c3973afba118007af94af6b5a6210bc172bb8e0441dacd59b2a26152efa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 14, 2025.
Transparency log