Convert Java Edition furniture packs (Blockbench models from ItemsAdder / Oraxen / MythicMobs-Crucible setups) into Bedrock Edition custom blocks and items — for Nukkit / Nukkit-MOT / PocketMine-MP and Geyser-based servers.
Built for a production Bedrock server. Every convention in the code was found the hard way against the real Bedrock client — the tricky parts are documented in the source.
- Reads Java block models + textures and produces Bedrock geometries, blocks, items, and texture atlases.
- Per-part atlas baking with face-frame-oriented tiles, 1px mip-map gutters, and a 128px height cap (taller terrain textures get mangled by the client).
- Auto-fits oversized models to Bedrock's ~28px-per-block render limit and splits multi-cell pieces into per-cell part blocks (vanilla-bed architecture), cutting cubes and UVs at cell planes.
- Applies the Bedrock X-mirror (mirrored origins/pivots, negated Y/Z rotations, swapped east/west faces) so pieces render exactly like the Java original.
- Software-renders isometric item icons from the real model.
- Generates in-hand 3D attachables with a separate hand atlas.
- Pulls display names from ItemsAdder / Oraxen / MythicCrucible configs (
--names). render_check.py— self-verification: renders every piece from the Java source and again from the produced Bedrock artifacts, then diffs the images. A high diff pinpoints exactly which piece got assembled wrong.
pip install numpy pyyaml pillow
# convert one pack (repeat per pack; output accumulates)
python3 convert.py convert --pack kitchen --group "Kitchen" \
--assets /path/to/pack/assets \
--names itemsadder:/path/to/items_packs
# or: oraxen:<dir> | mythic:<yml_dir>:<overrides_dir> | auto
# regenerate the aggregated data tables + pack atlas JSONs from all manifests
python3 convert.py sync
# verify the conversion pixel-by-pixel
python3 render_check.py --pack kitchen --assets /path/to/pack/assetsextra_scale.json holds optional per-item manual scale overrides (item key → factor) for pieces you want smaller than the auto-fit.
Note: output paths (
PACKDIR/SRCDIRat the top ofconvert.py) point at the server-repo layout this was built inside. Adjust them to your resource pack / plugin structure before running.
Keywords: Minecraft Bedrock custom blocks · Java to Bedrock model convert · Nukkit · Nukkit-MOT · PocketMine-MP · Geyser · Blockbench · resource pack converter
Конвертер мебельных паков из Java Edition (ItemsAdder/Oraxen/MythicCrucible) в кастомные блоки и предметы Bedrock: печёт атласы, режет большие модели на мультиблоки, зеркалит геометрию под Bedrock-клиент, рендерит иконки и генерирует 3D-предметы в руке. render_check.py сверяет результат с оригиналом попиксельно.
MIT
⭐ If this tool saved you hours of fighting the Bedrock client — please star the repo!
