PetShow – Flying Head Pets (Spigot/Paper 1.16.5–1.21+)
No dependencies. Smooth orbiting head pets. Fully configurable. Update-safe.
Overview
PetShow adds smooth, flying head pets that orbit players, grant configurable visual effects and attribute bonuses, and can optionally transfer to the killer on PVP death. Fully configurable via YAML, crash/restart-safe with SQLite persistence.
Features
- Smooth orbital movement (invisible ArmorStand + custom head)
- Custom head textures via base64 (Paper PlayerProfile or Spigot reflection)
- Configurable attributes (e.g. GENERIC_MAX_HEALTH, GENERIC_ARMOR, etc.)
- GUI-driven visual [effect] and [sound] actions (no potion effects here)
- Optional head rotation
- Pet transfer on kill via drop_to_kill + drop_kill_command
- Teleport to owner if too far away
- All messages in config.yml (hex colors &#RRGGBB supported)
- Aggressive cleanup on startup; no orphaned entities after crashes
- SQLite storage (pets.db) + per-pet runtime snapshots (obj/), wiped on startup
- Auto update checker; blocks outdated plugin and saves new jar to plugins/update
Compatibility & Requirements
- Server: Spigot or Paper 1.16.5 – 1.21+
- Java 8+
- External dependencies: none
Installation
- Place PetShow.jar into the plugins/ folder.
- Start server once to generate configs.
- Edit plugins/PetShow/config.yml and plugins/PetShow/gui.yml.
- Run /pet reload or restart.
If an update is available, the plugin downloads it to
plugins/update/ and prevents loading the outdated version. Spigot applies the jar from
update on restart.
/pet set</td] |
petshow.admin |
|
/pet reset </td] |
petshow.admin |
|
/pet reload |
petshow.admin |
/pet |
petshow.menu |
/pet menu |
petshow.menu |
Configuration (config.yml) Key fields per pet:
- name, basehead (base64 texture)
- offset-x,y,z, speed, head-rotation
- drop_to_kill (transfer on kill)
- drop_kill_command (console; placeholders: %victim%, %killer%)
- effects – potion effects as TYPE:level:duration. Duration >= 999999 shows as infinity (**:**).
- attributes – e.g. GENERIC_MAX_HEALTH:10.0, GENERIC_ARMOR:2.0
All messages are under
messages: (supports hex &#RRGGBB).
GUI (gui.yml) Items support:
- material (prefix basehead- for custom head icon)
- slot or slots (list), priority
- display_name, lore
- view_requirement types: has permission / no permission (!permission)
- Click actions:
- [console] <cmd>
- [player] <cmd>
- [message] <text>
- [sound] <SOUND>
- [effect] <name> – firework, explosion, lightning, particles, or any Particle enum
- [close], [refresh]
FAQ
Do I need extra plugins? No. LP/others only if you call their commands via GUI.
Heads show as Steve? Use a valid base64 texture. Paper uses PlayerProfile; Spigot falls back to reflection.
![[IMG]](//proxy.spigotmc.org/28513907c04faae71e9554d5a6fdac4908b22895/68747470733a2f2f636d2e617574686f722e746f6461792f636f6e74656e742f323032322f30362f31352f65343063383231363664663834656266613561313739306533313133343664322e706e67)