co3moz / minecraft-render

Minecraft block rendering with node.js
MIT License
41 stars 21 forks source link

Enable rendering of modded blocks #11

Open exa-byte opened 2 years ago

exa-byte commented 2 years ago

Currently when using a mod jar file no blocks are found to render. Maybe there is a way to render blocks from modded jars?

tehbeard commented 2 years ago

Might be possible? Minecraft has a "data reports" system to export things such as blockstates, command tree structure (how params are laid out / what type) and models.

Can't be guaranteed to work with all modded blocks though as some will use their own rendering subsystem.

tehbeard commented 2 years ago

I'm working on rework of this project for my own use.

Current focus has been separating data loading and rendering so that the logic to load from multiple sources (jars, directories, in memory etc) is separate from the logic for asking for a resource (e.g. translate a getModel("create:block/cogwheel") to looking for file assets/create/models/block/cogwheel.json, and then passing that to the loader which could just be a jar, or a chain of them w/ priority).

create-cogwheel

The rotation of the whole block is wrong due to not having x axis rotation from the blockstate come through (wasn't needed for vanilla blocks, I've only setup for the Y axis to fix rotation of blocks like glazed terracotta, furnaces etc), and something's going funky with the cross axis teeth which are at 45° angle that will probably be a pain to fix

But in principle, it's definitely possible.