This mod is a member of the Cristallite Mod Collection, see StargazerLib and my other mods docs / wiki here.
StargazerLib is a library that renders and animates glTF / GLB models directly on Minecraft entities, with their skeleton, animations and textures.
In short: it's like GeckoLib, but for real meshes instead of cubes.
It was born out of a simple frustration: GeckoLib only renders cubes. When your artists work in Blender and hand you low-poly models, your options are bad ones.
- Why voxelize a clean low-poly model, when that makes it both uglier and heavier than the original ?
- Why rebuild an entire model by hand in Blockbench, when it already exists as a
.glb? - Why lose your skeleton, your animations and your textures on the way in ?
StargazerLib takes the other route: it loads the .glb as-is and renders the actual mesh through Minecraft's own pipeline, so lighting and shaders keep working. Skinning, animation clips (with cross-fading between them), textures and auto-scaling are all handled for you.
It is meant to be used by other mods much like GeckoLib, but you keep the Blender workflow your artists already use.
Drop your model in assets/<modid>/models/entity/<name>.glb, then have your entity declare it:
public class Dragon extends Entity implements GltfAnimatable {
public ResourceLocation getGltfModel() {
return new ResourceLocation("mymod", "dragon");
}
public float getGltfSize() {
return 2.0f; // ~2 blocks on the largest dimension
}
public void registerControllers(ControllerRegistrar registrar) {
registrar.add(new AnimationController<>("main",
state -> state.isMoving() ? "fly" : "idle"));
}
}Then register the provided generic renderer:
event.registerEntityRenderer(DRAGON_TYPE, GltfEntityRenderer::new);That's it, the Blender model shows up on your entity, animated and textured. Two demo entities (stargazerlib:gltf_test and stargazerlib:gltf_dragon) are included so you can see it in-game.
| Loader | Version |
|---|---|
| Forge | 1.18.2 |
More versions and loaders are planned.
Feel free to depend on StargazerLib in any of your mods or modpacks, and to fork it or port it to other versions. It is released under the MIT license: keep the license and a link to the original, and you're good to go.