Voxel Shop beta is live. Expect occasional bugs. Learn more
Drop in a .glb or .obj file and it's in the game: textured, animated, clickable and rideable.

Spigot and Paper on Minecraft 26.3 · No client mods · The plugin builds and sends the resource pack itself
Download a model from Sketchfab, export one from Blender, or use one you already have. Drop the .glb, .gltf or .obj file into plugins/3DEngine/models/, run /3d reload, and it is in your world: the real mesh, with its own textures and animations. No blocky remake, no texture squashed onto cubes.
Furniture and decorations, statues and trophies, cars and creatures, props for a map or a lobby. If it is a 3D file, it can be a thing players walk up to, click on and sit in.
Players need nothing installed. 3D Engine builds the resource pack from your models and sends it to them as they join.
drive: block and whoever sits in the driver's seat steers it where they look, sprints and jumps.plugins/3DEngine/models/furniture/armchair.glb, and beside it armchair.yml:
height: 1.1 # resize it to 1.1 blocks tall
seats:
seat: {at: [0, 0.45, 0.05]}
solid: true
look:
yaw: 30 # turns a little towards whoever is near
/3d reload, then /3d place furniture/armchair. Every key is optional: a file with no .yml at all comes in at its own size with its animations ready to play.
Spawn models, play their states, find where a bone is on any frame, seat riders, make them look at things, and give them legs that walk your world.
Engine3D engine = Engine3D.get();
ModelInstance chair = engine.place("furniture/armchair", location);
chair.mount(player, null);
chair.lookAt(player);
ModelInstance dog = engine.spawn("dog", location);
engine.mover(dog, EntityType.WOLF).follow(player);
Events: ModelInteractEvent, ModelDamageEvent, ModelMountEvent, ModelDismountEvent, ModelStateChangeEvent, ModelSpawnEvent and ModelRemoveEvent.
| /3d list | Every model, and any that failed to load | 3dengine.admin |
| /3d place <model> [scale] | Put one down where you look | 3dengine.admin |
| /3d give <model> [player] | An item that places the model | 3dengine.admin |
| /3d remove, scale, rotate, state | Change the model you look at | 3dengine.admin |
| /3d sit [seat] | Sit in the model you look at | 3dengine.admin |
| /3d info [model] | Size, states, seats, hitboxes | 3dengine.admin |
| /3d reload | Load the models folder again | 3dengine.admin |
Right-clicking a model with seats sits you down (3dengine.ride, everyone by default).
3DEngine.jar into plugins/ on a Spigot or Paper server for Minecraft 26.3 and start it.pack.port), and set pack.url in config.yml to the address players reach it on. That is where they download the pack from.plugins/3DEngine/models/ and run /3d reload.Already sending your own pack? Turn off pack.send and merge plugins/3DEngine/pack.zip into yours.
telemetry: false.pack.host: false.Ask on Discord. Please don't post bugs in the reviews; we can't reply there, and we would rather fix it.
3D Engine comes from resourcepack.ai, a web editor for resource packs. Models are drawn with obj³'s shaders (MIT). The Labrador in the picture is
by kenchoo, after "Dog" by all of life (both CC BY 4.0); he comes with 3D Pets.