3D models
3D Pets
An addon for 3D Engine: a separate plugin that needs 3D Engine installed and uses it to draw, animate and walk its model. Drop it in beside the engine and it brings its own model with it.
This one is a dog, a real 3D Labrador rather than one made of blocks. Every player can call one. It trots after you, sits when you tell it to, potters about when you stand still, and plays fetch with a tennis ball.
Installing#
- 1
Install 3D Engine first
3D Pets needs 3D Engine 0.1.1 or newer, set up so that players get its resource pack. That is the one part worth checking: the dog is drawn by the engine's pack, and a player without it sees nothing.
- 2
Drop it in
Download 3DPets.jar, or get it from SpigotMC, and put it in
plugins/beside3DEngine.jar. Then start the server. - 3
That is it
The dog's and the ball's models install themselves into
plugins/3DEngine/models/3dpets/and 3D Engine bakes them into its pack on startup. Type/pet.
It runs where 3D Engine runs: Spigot or Paper on Minecraft 26.3, on Java 21. Players need nothing installed.
What the dog does#
- Follows you. It walks to keep up, breaks into a run when you get far ahead, and if you leave it more than 24 blocks behind or change world, it catches up on its own.
- Sits. Right-click it, or
/pet sit, to sit it down, and again to get it up. Left alone it sometimes sits down by itself, and gets up when you move off. - Potters about. Stand still and it wanders near you, sniffs the ground, and now and then dashes off and back.
- Looks at you. Standing or sitting about, it turns its head to whoever is near.
- Plays fetch. See below.
One dog each. It goes home when its owner leaves the server, and /pet
again sends it home. Only its owner can sit it down: right-clicking somebody
else's dog does nothing.
Playing fetch#
/pet ball gives you a tennis ball. Throw it like a snowball and your dog runs
after it, picks it up in its mouth, brings it back and drops it at your feet,
where only you can pick it up. Throw it again.
The ball is never lost. If the dog cannot reach it in time, or goes home while it has it, the ball goes back into your inventory.
Commands#
| Command | What it does |
|---|---|
/pet | Calls your dog, or sends it home if it is out |
/pet sit | Sits your dog down, or gets it up |
/pet ball | Gives you a tennis ball to throw |
/pet throw [blocks] | A testing tool: lands a ball that far ahead of you (15 if left out) and sends your dog for it |
/pet debug | A testing tool: traces every fetch, for every dog on the server, to the console and the owner's action bar. Run it again to turn it off |
From the console, name the player first: /pet Steve, /pet Steve throw 20.
If the dog is not ready yet, 3D Engine is still baking it, which takes a moment the first time the server starts with the plugin.
Permissions#
| Node | Default | What it allows |
|---|---|---|
3dpets.use | everyone | Having a dog: /pet, /pet sit and /pet ball |
3dpets.debug | op | /pet debug, turning fetch tracing on or off for every dog on the server |
3dpets.throw | op | /pet throw, landing a ball ahead of you for your dog to fetch |
3dpets.admin | op | Both testing tools, 3dpets.debug and 3dpets.throw, in one line |
3dpets.update | op | Being told on joining when a newer 3D Pets is on SpigotMC |
3dpets.use is the node on the /pet command itself, so the two testing tools
need it as well as their own node. Revoke it to turn the plugin off for a group
without uninstalling anything. 3dpets.admin is a convenience parent that
nothing checks directly.
Somebody without a tool's node is told which one they need, and tab completion leaves out the tools they cannot use.
Configuration#
plugins/3DPets/config.yml has one switch:
# Tells you in the console, and anybody with 3dpets.update (ops) in chat,
# when a newer 3D Pets is on SpigotMC.
update-check: trueIt asks SpigotMC every six hours. Set it to false to turn it off.
Changing the dog's detail#
The dog is an ordinary 3D Engine model called 3dpets/labrador, and the ball
is 3dpets/ball. 3D Pets copies its own files back over them every time the
server starts, so editing the .yml in plugins/3DEngine/models/3dpets/
does not last. To give the dog more or less detail, use 3D Engine's
quality setting, which is kept in 3D
Engine's own config and survives:
/3d quality 3dpets/labrador 6000 512
/3d quality 3dpets/labrador resetCredits#
The Labrador is based on
"Labrador Dog"
by kenchoo, itself based on
"Dog" by all of life, both licensed under
Creative Commons Attribution 4.0,
reduced, retextured and re-animated. Its animations are Quaternius' "Shiba
Inu" (CC0). The credits are also copied beside the model, as CREDITS.txt in
plugins/3DEngine/models/3dpets/.