Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

java2bedrock-furniture

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.

Converted furniture rendered in Bedrock

What it does

  • 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.

Usage

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/assets

extra_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 / SRCDIR at the top of convert.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 сверяет результат с оригиналом попиксельно.

License

MIT


If this tool saved you hours of fighting the Bedrock client — please star the repo!

About

Java to Bedrock model converter: turn ItemsAdder/Oraxen/Crucible furniture packs into Bedrock custom blocks (Nukkit, Nukkit-MOT, PocketMine-MP, Geyser)

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages