CompanionPets
Tame mobs, level them up, give them backpacks and take them along on your adventures. Vanilla-style taming, trust that grows with every level, skill trees, hunger, riding, optional PvP, and a separate config block for every pet. No dependencies.
Requires: Paper 26.3 · Java 25 (Folia is not supported)
Features
Taming and owning pets
- Vanilla-style taming: Shift + right-click a mob with the matching item (bone for a wolf, fish for a cat, seeds for a parrot, apple or sugar for a horse, echo shard for a Warden, nether star for a Wither, emerald for an Evoker and more). A normal right-click still breeds and feeds animals.
- 26 pet types: wolf, cat, ocelot, fox, parrot, pig, cow, sheep, chicken, rabbit, bee, allay, polar bear, zombie, husk, drowned, skeleton, stray, spider, cave spider, slime, iron golem, horse, Warden, Wither and Evoker.
- Every pet has its own config block: taming items and chance, foods, skill tree, backpack size limit, follow distance. Each pet has an
enabledswitch to turn it off completely. - Multiple pets per player: 5 by default, adjustable with a config option or permissions. Switch pets through the menu or
/pet switch. - Pet transfer: give a pet to another player with
/pet transfer. The receiver accepts or declines with a click.
Growing up
- Levels and skill trees: pets gain exp from kills and level up to 50. Four trees (Universal, Warrior, Tank, Porter) raise health, regeneration and backpack rows. Pets do not get stronger or faster, only tougher.
- Trust grows with levels: young pets panic and run away when hurt. From level 5 pets that can sit (wolf, cat, parrot, fox) sit down and wait beside you when you stand still. From level 10 they stay and fight when hurt. A pet Evoker uses only its fangs until level 30, then it can summon Vexes.
- Backpack: up to 6 rows, with a size limit per pet (horse 6, wolf 3, allay 1). The contents drop when the pet is recalled, switched, released or dies (can be turned off).
- Hunger: pets get hungry, and a starving pet loses damage and speed. Every pet type has its own foods (a horse eats apples, carrots and sugar; a pig eats potatoes and carrots).
Behavior and combat
- Behavior modes: Friendly (never attacks), Normal (defends itself and helps you), Aggressive (attacks monsters it can actually see). Peaceful animals such as pigs, cows, sheep, chickens, rabbits, parrots, allays, bees and horses cannot attack and have no behavior setting.
- Smart following: pets stay a polite distance away, do not wander off, do not push you, sit still when you stand still, and look at you while sitting. Big pets (Warden, Wither) keep more distance.
- Safe teleporting: when you fly or glide with elytra, a pet is teleported to the ground below you, never into the air, and takes no fall damage after a teleport.
- Owner-safe pets: a pet Warden never puts Darkness on you, a pet Wither never breaks blocks, and a pet Evoker's fangs never hurt you or your pets. Its Vexes only attack its target.
- Optional PvP mode: pets can fight players who hurt their owner or are hurt by their owner (off by default).
- Undead and sunlight: zombies, skeletons and other undead pets burn in daylight like in vanilla (can be turned off).
Appearance and equipment
- Horses: ride your pet horse. Its saddle, armor and coat are saved between summons.
- Wolves and cats: collar color (dye them) and wolf armor are kept.
- Allay: keeps the item you gave it and the items it has collected.
- Appearance is remembered for wolves, cats, parrots, foxes, rabbits, pigs, cows, chickens, sheep, mooshrooms and horses.
- Custom names:
/pet namesupports colors and gradients. - Pet menu: Shift + right-click your pet.
Server owners
- Per-player limits through permissions: pet limit, summon cooldown and respawn time can be set per rank. Defaults come from the config.
- Per-mob tame permissions: require
companionpets.tame.<mob>to tame a specific mob. - Admin commands: give pets, change levels, take pets away, revive pets, list a player's pets, reload the config without a restart.
- Config migration: after an update, new options are added to your config automatically; your values are kept and a backup is saved.
- Fully translatable: every message lives in
messages.yml(MiniMessage format). - Update checker: tells the console and admins when a new version is released on Modrinth.
- Developer API: events (
PetTameEvent,PetSummonEvent,PetRecallEvent,PetReleaseEvent,PetTransferEvent,PetLevelUpEvent,PetDeathEvent) and a small read-only API.
Commands
| Command | Description |
|---|---|
/pet |
Open the pet menu |
/pet info |
Show pet information |
/pet call / /pet store |
Summon / recall the pet |
/pet list |
List your pets |
/pet switch [number] |
Switch to another pet |
/pet name <name> |
Rename the pet |
/pet inventory |
Open the pet backpack |
/pet behavior [friendly|normal|aggressive] |
Change behavior |
/pet release |
Release the pet (asks for confirmation) |
/pet transfer <player> [number] |
Offer a pet to another player |
/pet transfer accept|deny|cancel |
Answer or withdraw an offer |
/pet reload |
Reload config.yml and messages.yml (admin) |
/pet give <player> <mob> [level] |
Give a pet to a player (admin) |
/pet level <player> <level> [number] |
Set a pet's level (admin) |
/pet addexp <player> <amount> |
Give exp to the summoned pet (admin) |
/pet take <player> [number|all] |
Take pets away (admin) |
/pet revive <player> |
Revive a dead pet (admin) |
/pet list <player> |
List a player's pets (admin) |
Aliases: /pets, /companion.
Permissions
| Permission | Default | Description |
|---|---|---|
companionpets.use |
everyone | Use pets and commands |
companionpets.transfer |
everyone | Give pets to other players |
companionpets.tame.<mob> / companionpets.tame.* |
op | Tame a mob (only checked when require-type-permission: true) |
companionpets.storage.<N> |
- | Pet limit, e.g. companionpets.storage.8 (highest wins) |
companionpets.cooldown.<seconds> |
- | Delay before summoning/switching after a recall or death (lowest wins, 0 = none) |
companionpets.respawn.<seconds> |
- | Respawn time of a dead pet (lowest wins) |
companionpets.update |
op | Get notified about new versions |
companionpets.admin |
op | All admin commands |
companionpets.admin.give / .level / .take / .revive / .view / .reload |
- | Individual admin commands |
Configuration
config.yml is organised in sections:
- General: pet limit, summon cooldown, respawn time, follow distances, calm pets, pushing on/off, sitting, sunlight, PvP
trust: the levels at which pets learn to sit and stop being afraidtaming: Shift requirementpets: one block per pet type (switch it off, taming items and chance, foods, skill tree, backpack limit, distances, Evoker vex level)backpack,hunger,exp: drop rules, hunger speed, level curveskilltrees: fully customizable skill treespvp,transfer,update-checker
Pet data is stored per player in plugins/CompanionPets/data/.
Bugs and feedback
This plugin may contain bugs and unfinished features. If you find one, please report it on the developer's official Discord server: Join the Discord
When reporting, include your server version (Paper build), the plugin version and the console error, if there is one.
About
All rights reserved. You may run the unmodified plugin on your own servers (including monetized ones). Modifying, reselling and redistributing it is not allowed. See the LICENSE file.
Made by WhyRosy

