Voxel Shop beta is live. Expect occasional bugs. Learn more
The classic pet plugin with over 250,000 downloads - revamped.
MyPet 4.0.4 brings a number of important potential dupe exploit path patches. It is recommended to upgrade immediately.
MyPet 4.0.4 supports Paper 1.20.5 through 26.3, unchanged from 4.0.3. Upgrading is a drop-in jar swap.
If MyPet is useful to you or your players, please consider buying me a coffee: https://ko-fi.com/UserDerezzed
Added
Changed
Fixed
Thanks again for choosing MyPet!
MyPet 4.0.3 brings multiple fixes and a new config option. Fish, guardians, axolotls and frogs finally swim, chase and fight instead of freezing or bobbing at the surface, Pets stop suffocating inside walls when you call them, and MyPet on a shared MySQL server stops reading another install's tables.
MyPet 4.0.3 supports Minecraft 1.20.5 through the upcoming 26.3 update, unchanged from 4.0.2. Upgrading is a drop-in jar swap, but this one changes how your database stores Pet data, so there is not a downgrade path.
If MyPet is useful to you or your players, please consider buying me a coffee: https://ko-fi.com/UserDerezzed
Aquatic Pets were badly broken and it took four separate fixes to sort out.
Fish, Guardians, Squid and the rest could hit whatever swam into reach but could never chase anything - they simply had no way to close the distance. A Pet stranded on land stopped dead the moment it picked a target instead of walking to it. Axolotls, Drowned, Frogs and Turtles did the same thing on land. And every Pet in water was quietly pushed toward the surface each tick, so anything that tried to swim down bobbed back up to the waterline.
All four are fixed. Water and amphibious Pets now follow you, chase what they're fighting on land and in water, and stay at the depth they swim to.
Since 4.0, calling a Pet only checked whether the block at its feet was clear. In a one-block-high gap, that passed, so the Pet appeared with its head in whatever block was above, started suffocating, and got despawned and re-summoned into the exact same block over and over, spamming despawn messages.
MyPet now checks the Pet actually fits before spawning it, and before teleporting it to you. If there's genuinely no room you get a "no space" message instead of a loop, and /petsendaway always cancels an auto-recall.
If your MySQL server hosts more than one MyPet database (a MyPet 3 install, another server's tables, etc) MyPet could check the wrong one. A working 4.x install could spot MyPet 3 tables in someone else's database, decide it needed upgrading, and shut itself down partway through migrating a database that was already fine.
MyPet now only ever looks at the database it's connected to. SQLite servers were never affected.
Added
AllowMetamorphosis to pet-config.yml, off by default - turn it on and a Tadpole Pet grows into a Frog Pet, keeping its name, experience, skilltree, health and inventory/mypet editor session data, so the Configurator can tell a brand-new server from one you've already set upChanged
Fixed
/petsendaway failing to stop itThanks again for choosing MyPet!
MyPet 4.0.2 is here! Equipping armor and weapons onto Pets is back after being lost in the 4.0 rewrite, Piglins and Hoglins stop hunting the player who tamed them, and stranded fish finally follow you instead of flopping in place.
MyPet 4.0.2 supports Minecraft 1.20.5 through 26.2, unchanged from 4.0.1. Upgrading is a drop-in jar swap.
If MyPet is useful to you or your players, please consider buying me a coffee: https://ko-fi.com/UserDerezzed
Sneak and right-click a Pet with armor or a weapon to put it on, and use shears to strip its gear back off. The interaction was lost when the old NMS modules were removed in 4.0 and is now reimplemented.
Gear the Pet was already wearing is dropped rather than destroyed, in every game mode including creative, and shears take durability damage properly so Unbreaking and the Unbreakable flag are honoured. A slot the species cannot use leaves the click alone instead of swallowing it, so gestures like opening a horse Pet's inventory still work.
Piglin, Piglin Brute, Hoglin and Zoglin Pets kept hunting their own owner. These four run their AI from the newer vanilla "brain" system which previously wasn't configurable and I had to account for aggressive behavior across every individual mob.
Now, it is now a per-pet-type Brain.Disabled list in pet-config.yml, declared for all 21 brain-driven Pet types, so you can choose which vanilla AI MyPet leaves alone or switch back on what it removes. Entries are activity:<name> to empty a whole brain activity, or behavior:<ClassName> for a single behaviour. Emptying the list for the four Pets above gives you the vanilla behaviour back, owner-hunting included.
Added
Brain.Disabled list to pet-config.yml for switching a Pet's vanilla brain AI on or off, declared for all 21 brain-driven Pet types; entries are activity:<name> or behavior:<ClassName>, and unmatched or malformed entries are reported instead of ignoredMyPet.extended.equipCopy with NBT button to /petadmin info for when a config needs to match one exact item rather than any item of that typeChanged
/petadmin info's Copy button now gives you a plain item name that config.yml, pet-config.yml and skilltree drop pools all acceptFixed
MyPet.command.respawn permission/petadmin info's Copy button producing a value configs reject with "is not a valid item ID!"Removed
Thanks for choosing MyPet!
MyPet 4.0 is here - the biggest update in MyPet's history. MyPet has been rewritten from the ground up: Pets are now real vanilla mobs, the version-specific compatibility code that powered MyPet for over a decade is gone entirely, and just about every part of the plugin - GUIs, commands, skills, skilltrees, configuration - has been rebuilt or expanded.
MyPet 4.0.0 supports Minecraft 1.20.5 through 26.2. And, because MyPet no longer contains any version-specific code, future Minecraft versions are supported automatically - usually with no plugin update required.
As previously announced, MyPet 4.0 requires Paper (or a Paper derivative such as Purpur or Folia) and Minecraft 1.20.5 or newer. If you're still on Spigot, switching is as easy as swapping your server jar: https://papermc.io. Yes, Folia is now supported.
Upgrading from MyPet 3 is automatic: your configs, Pets, skilltrees, locale files, and database are all migrated if necessary on first startup. Take a backup first anyway - you should always have one.
Currently, MyPet is primarily developed by one person! All of these updates are produced for free in my spare time. If you or your players appreciate MyPet, please consider buying me a coffee or lunch (it means a lot): https://ko-fi.com/UserDerezzed
This update was made possible by Keyle, MaksyKun, Jakllp, Haeherfeder, Gullysdad, Mercurialmusic, the Altitude team (Teriuihi and Destro174 for using MyPet 4 months before anyone else; cultistclam for our amazing new MyPet artwork, akaemilyyy for dupe finding), the HeavenCreations team (LoupSavage who made our great new custom models that are included with MyPet 4,) those who have tipped me on Ko-Fi (seriously, huge thanks!) and the MyPet 4 Alpha Testers. Thank you!
Now, onto the changes!
Since 2012, MyPet has shipped a compatibility module for every supported Minecraft version. By 3.14, that meant 20 of them. MyPet 4.0 has zero. Pets are now real vanilla mobs driven through Paper's official APIs, which means:
Pets also now save their exact entity state when captured, stored, or released. Armor, stats, variants, everything - which stamps out a whole family of long-standing data-loss bugs.
Text formatting has moved from legacy & color codes to MiniMessage (<green>, <gradient>, hover/click events, and more). Your existing pet names, configs, locales, and skilltrees are converted automatically.
Every menu in MyPet has been rebuilt on a brand-new GUI system, headlined by /pet, a single-screen pet management menu with 17 buttons covering everything your Pet can do: rename, call, info, stay, auto-respawn, send-away, store, switch, trade, release, skilltree selection and info, backpack, behavior, pickup, stop-attacking, and volume. Menu layouts are defined in JSON, so you can customize them.
For server owners, MyPet now ships a browser-based live editor: run /mypet editor and edit your config.yml, pet-config.yml, exp-config.yml, pet shops, skilltrees, and locale files in your browser. Changes apply live to the running server. Skills are provided to the editor by your server, so third-party and newly added skills appear in the skilltree editor automatically.
There's also a new volume slider for Pet sounds, opened from /petsettings volume or the volume button in /pet, with presets at 0/25/50/75/100%.
MyPet 4.0 adds ten new skills, bringing the total to 31: Mining, Lumberjack, Fishing, Sniff, Potion, Toolbox, Taunt, Armor, Climb, and Camouflage. The Ride skill also gains a new climb upgrade.
To put them to work, MyPet now ships 124 built-in skilltrees (up from 5), and introduces skilltree ascension: skilltrees can form ascension paths, ascending is free, it bypasses MyPet.Skilltree.ChooseOnce, and skilltree Weight can now be set per pet type.
Third-party plugins can now register their own custom skills through the API, and they'll show up in the web editor's skilltree editor automatically.
Five new species can now be tamed: Nautilus, Zombie Nautilus, Happy Ghast, Camel Husk, and Parched.
Beyond vanilla mobs, MyPet 4.0 supports custom-model Pets through BetterModel (recommended), ModelEngine, ItemsAdder, and MythicMobs, plus custom model overlays on top of regular Pets. Your server's custom bosses and creatures can now be Pets.
MyPet 4 includes two custom model Pets - the Capybara and the Chameleon! These are provided by HeavenCreations, huge thanks to them.
Riding got a major upgrade: the new /petride command mounts your active Pet, and owners can use /petride driver|passengers allow|disallow to let other players ride along, with new per-pet config options (RequireRideSkill, RequireRideItem, RequireSaddle, non-owner mount permissions) so server owners control exactly who can ride what. Flying Pets get tuned, configurable flight speeds (OverrideFlySpeed/FlySpeed).
Per-pet creation options now use readable string names (variant:lucy, profession:armorer, collar:red instead of numeric IDs), Pets spawn with their species' vanilla health by default, and the per-pet config surface has grown massively - from Creeper explosion controls to Ender Dragon block-damage gates to PreventDryOut for Axolotls.
Added
/pet - a single-screen pet management menu with 17 buttons (rename, call, info, stay, auto-respawn, send-away, store, switch, trade, release, choose-skilltree, skilltree-info, backpack, behavior, pickup, stop-attacking, volume)/mypet editor - a browser-based live editor for config.yml, pet-config.yml, exp-config.yml, pet shops, skilltrees, and locale files; skills are provided by the server so third-party skills appear automatically/petsettings volume or the volume button in /pet, with five presets at 0/25/50/75/100%Volume-Control and Volume-Mode (per-owner or per-player) flags to hooks-config.yml under each packet adapter's sectionMyPet.Skilltree.ChooseOnce, and skilltree Weight can be set per pet type/petride - mounts your active Pet (requires the Ride skill unless RequireRideSkill is disabled)/petride driver|passengers allow|disallow - lets Pet owners opt in to other players riding their Pet/petinv as an alias for /petinventory/petadmin switch (user) GUI for switching another player's active Pet%mypet_exp_current% and %mypet_exp_max% placeholders for a Pet's level progress%mypet_owns_pet% placeholder for whether a player owns any Pet, active or storedOverrideFlySpeed (default false) and FlySpeed config options per Pet typeRequireRideSkill (default true), RequireRideItem (default true), AllowNonOwnerPrimaryMount (default false), AllowNonOwnerSecondaryMount for multi-passenger Pets (default true), RequireSaddle (default false), and AllowNonOwnerSaddle (default false)AllowFlintAndSteelExplode, AllowNonOwnerFlintAndSteel, AllowExplosionBlockDamage, AllowExplosionEntityDamage, and AllowLightningPower config options for Creeper Pets (all default false)GrantEndAdvancementOnKill, AllowBlockDamage, AllowPlayerContactDamage, and AllowEntityContactDamage config options for Ender Dragon Pets (all default false)CanSwim, PreventSuffocation, and PreventDaylightBurn config options for Pets that swim, suffocate on land, or burn in daylightPreventDryOut config option for Axolotl Pets (default true)PreventSuffocation config option for Nautilus Pets (default true)PreventNaturalGrowup config option for baby Pets (default true)PreventProfessionChange config option for Villager Pets (default true)AllowLeafDestruction config option for Ravager Pets (default false)AllowLightningVariantFlip config option for Mooshroom Pets (default false)AllowLightningConversion config options for Pig and Villager Pets (default false)CanGiveMilk config option for Goat PetsCanDropScute config option for Turtle PetsCan-Shed-Scute config option for Armadillo PetsCan-Drop-Slimeball config option for sneezing baby Panda PetsCan-Drop-Horn config option for Goat PetsCan-Dig-Seeds config option for Sniffer PetsCanHurtPlayersOnContact config option for Slime and Magma Cube Pets (default false)harness:<color> creation option for Happy Ghast Petsvariant creation option for Salmon Petsoxidation and waxed creation options for Copper Golem PetsChanged
& color codes with MiniMessage (<green>, <gradient>, hover/click events, …) everywhere - existing files are migrated automaticallyvariant:lucy for Axolotl, profession:armorer for Villager, collar:red for Cat/Wolf, etc.variant: creation option split into color: and style:variant: creation option split into pattern:, body-color:, and pattern-color:type: to variant:sheared creation option renamed to derp/petadmin create now aborts with a clear error when an option value isn't recognized for the chosen Pet typename: argument is given with no valueCanGlide config option for flying Pets to CanFly (old configs are migrated)WillShake config option with AllowZombification for Hoglin, Piglin, and Piglin Brute Pets (default false)FixSnowTrack config option with DisableSnowTrack (default true)/petsettings idle-volume to /petsettings volume and broadened its scope from ambient-only sounds to every sound a Pet emitsMyPet.experience.multiplier permission now accepts any integer instead of 6 hardcoded tiers (e.g. .183 for 1.83x)Fixed (from MyPet 3)
Removed
Skip-Target-AI-Ticks config optionOxidationTime config option (vanilla now controls oxidation cadence)Update.ReplaceOld config optionnoshake creation option for Hoglin, Piglin, and Piglin Brute Pets - zombification immunity is controlled by the AllowZombification config optionhas-stung creation option for Bee PetsFor developers
MyPet 4.0 is a breaking API release. The highlights:
MyPet____ to Pet____ (e.g. MyPetInfo → PetInfo, MyPetManager → PetManager, MyPet*Event → Pet*Event)Configuration class is gone - plugin-wide config values are ConfigKey<?> fields on MyPetGlobal, and per-pet config flags are ConfigKey<?> fields on each PetXxx classPetBehavior and PetLifecycleHookregisterSkill/Requirement/LeashFlag/Hook) now throw IllegalArgumentException on invalid input instead of failing silently4.0.0 on the UserDerezzed repositoryThe full migration guide is on the wiki: Developer Guide → Migrating from MyPet 3
Thanks for choosing MyPet!