resources | ||
shaders | ||
src | ||
tools | ||
.gitignore | ||
index.html | ||
LICENSE | ||
package.json | ||
README.md | ||
styles.css | ||
tsconfig.json |
ObjToSchematic
A tool to convert .obj model files into Minecraft Schematics or Litematica.
Progress
- ✔️ .json model loading
- ✔️ Model voxelisation
- ✔️ Optimised voxelisation & rendering overhaul
- ✔️ Basic .obj file loader UI
- ✔️ Greedy voxel meshing
- ✔️ Export to schematic
- ✔️ Faster voxel splitting
- ✔️ Ambient occlusion
- ✔️ Quality of life
- ✔️ Model PSR, ✔️ height limit warnings
- ✔️ .mtl support for block choice
- ✔️ PNG support, ✔️ JPEG support
- ✔️ Convert to TypeScript
0.4
- ⌛ Block choice exported
- ✔️ Export to .litematic
- Export to .nbt (structure blocks)
- Alpha support
- Alpha texture maps
- Transparent blocks
- ✔️ Support for non-uniform block models (i.e. not all sides have same texture e.g. Oak Log, Crafting Table)
- ⌛ UI Redesign (use an actual UI framework) (see redesign)
- Block palette (choose blocks to export with)
- Options for toggling fallable blocks
- Buffer refactor to support
OES_element_index_uint
WebGL extension (support for uint32 index buffers instead of uint16) - Dithering
0.5
- ⌛ Multithreading (see web-workers)
- Progress bar
- Node.js C++ addons
0.6
- Block painting
- Building guides
- Slice viewer
- .fbx import support
- Support for non-block models (e.g. slabs, stairs, trapdoors, etc.)
Usage
You can either download the latest release or build it yourself by following the instructions below.
- Download and install Node.js.
- Run
git clone https://github.com/LucasDower/ObjToSchematic.git
in your command line. - Navigate to
/ObjToSchematic-main
. - Run
npm install
. - Run
npm start
.
Support for choosing the block palette is not yet supported. Instead, you can rebuild blocks.json with npm run-script atlas
using only the blocks you want to export with. This also means you can use custom texture packs to get more accurate block-colour matching.
Disclaimer
⚠️ This repo is in development and proper error handling is not currently my priority. Contributions are welcome.
This is an non-commercial unofficial tool that is neither approved, endorsed, associated, nor connected to Mojang Studios. Block textures used are from Minecraft and usage complies with the Mojang Studios Brand And Assets Guidelines.