What's New in MyPet 4

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!
A complete rewrite

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:
New Minecraft versions work automatically. No more waiting for a MyPet update after every Minecraft release.
Folia support. MyPet now runs on Folia's regionized threading.
Better performance. The plugin has been heavily optimized across the board.
More vanilla behaviors. Some Pets now benefit from their unique vanilla actions.
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.
New GUIs and a browser-based live editor

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%.
Skills and skilltrees
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.
New Pets, custom models, and ride sharing


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 bundles two custom Pet models - the Capybara and the Chameleon! These are provided by HeavenCreations, huge thanks to them. (above gifs are not to scale) The models ship inside the jar; you turn each one into a Pet type with a short pet-config.yml section and MyPet installs the model file for you - see Bundled Models - Capybara & Chameleon.
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.
Full changelog:
Added
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)Added a completely new GUI system - every menu has been rebuilt, and menu layouts are customizable via JSON definitions
Added
/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 automaticallyAdded a Pet volume slider GUI - opens from
/petsettings volumeor the volume button in/pet, with five presets at 0/25/50/75/100%Added
Volume-ControlandVolume-Mode(per-owner or per-player) flags tohooks-config.ymlunder each packet adapter's sectionAdded support for Nautilus, Zombie Nautilus, Happy Ghast, Camel Husk, and Parched Pets
Added support for custom Pet types through BetterModel (recommended), ModelEngine, ItemsAdder, and MythicMobs
Added support for custom model overlays for Pets through BetterModel (recommended), ModelEngine, and ItemsAdder
Added ten new skills: Mining, Lumberjack, Fishing, Sniff, Potion, Toolbox, Taunt, Armor, Climb, and Camouflage
Added a "climb" upgrade to the Ride skill
Added 124 new default skilltrees with an ascension play style
Added skilltree ascension - ascending is free, bypasses
MyPet.Skilltree.ChooseOnce, and skilltree Weight can be set per pet typeAdded
/petride- mounts your active Pet (requires the Ride skill unlessRequireRideSkillis disabled)Added
/petride driver|passengers allow|disallow- lets Pet owners opt in to other players riding their PetAdded
/petinvas an alias for/petinventoryAdded
/petadmin switch (user)GUI for switching another player's active PetAdded per-command admin permissions
Added support for Folia servers
Added support for WorldGuard-Folia
Added automatic migration from MyPet 3 - configs, Pets and their inventories, skilltrees, locale files, pet shops, and the database schema are all converted on first startup (including legacy color codes → MiniMessage)
Added an auto-updater for users downloading releases from BuiltByBit and dev builds from Discord
Added the
%mypet_exp_current%and%mypet_exp_max%placeholders for a Pet's level progressAdded the
%mypet_owns_pet%placeholder for whether a player owns any Pet, active or storedAdded support for the golden dandelion freezing a Pet's aging (Minecraft 26.1+)
Added
OverrideFlySpeed(default false) andFlySpeedconfig options per Pet typeAdded riding config options for naturally rideable Pets:
RequireRideSkill(default true),RequireRideItem(default true),AllowNonOwnerPrimaryMount(default false),AllowNonOwnerSecondaryMountfor multi-passenger Pets (default true),RequireSaddle(default false), andAllowNonOwnerSaddle(default false)Added
AllowFlintAndSteelExplode,AllowNonOwnerFlintAndSteel,AllowExplosionBlockDamage,AllowExplosionEntityDamage, andAllowLightningPowerconfig options for Creeper Pets (all default false)Added
GrantEndAdvancementOnKill,AllowBlockDamage,AllowPlayerContactDamage, andAllowEntityContactDamageconfig options for Ender Dragon Pets (all default false)Added
CanSwim,PreventSuffocation, andPreventDaylightBurnconfig options for Pets that swim, suffocate on land, or burn in daylightAdded
PreventDryOutconfig option for Axolotl Pets (default true)Added
PreventSuffocationconfig option for Nautilus Pets (default true)Added
PreventNaturalGrowupconfig option for baby Pets (default true)Added
PreventProfessionChangeconfig option for Villager Pets (default true)Added
AllowLeafDestructionconfig option for Ravager Pets (default false)Added
AllowLightningVariantFlipconfig option for Mooshroom Pets (default false)Added
AllowLightningConversionconfig options for Pig and Villager Pets (default false)Added
CanGiveMilkconfig option for Goat PetsAdded
CanDropScuteconfig option for Turtle PetsAdded
Can-Shed-Scuteconfig option for Armadillo PetsAdded
Can-Drop-Slimeballconfig option for sneezing baby Panda PetsAdded
Can-Drop-Hornconfig option for Goat PetsAdded
Can-Dig-Seedsconfig option for Sniffer PetsAdded
CanHurtPlayersOnContactconfig option for Slime and Magma Cube Pets (default false)Added
harness:<color>creation option for Happy Ghast PetsAdded
variantcreation option for Salmon PetsAdded
oxidationandwaxedcreation options for Copper Golem Pets
Changed
Pets are now real vanilla mobs - the NMS entity system was replaced with Bukkit spawning and Paper's Mob Goal API
MyPet now requires Paper (or a derivative), Minecraft 1.20.5+, and Java 21
Replaced the command system with Paper's Brigadier Commands API
Replaced legacy
&color codes with MiniMessage (<green>,<gradient>, hover/click events, …) everywhere - existing files are migrated automaticallyReplaced all messaging with Adventure Components and the Keyle NBT library with Adventure NBT
Pets now save their exact entity state (armor, stats, variants, and more) on capture, store, and release, preventing Pet data loss
Each Pet now spawns with its species' vanilla health unless overridden by a config value or skill
Per-pet creation options now take string names -
variant:lucyfor Axolotl,profession:armorerfor Villager,collar:redfor Cat/Wolf, etc.Horse Pet
variant:creation option split intocolor:andstyle:Tropical Fish Pet
variant:creation option split intopattern:,body-color:, andpattern-color:Cat Pet creation option renamed from
type:tovariant:Snow Golem Pet
shearedcreation option renamed toderp/petadmin createnow aborts with a clear error when an option value isn't recognized for the chosen Pet typeA Pet now receives a default name when the
name:argument is given with no valueDefault Pet names are now resolved from Mojang's vanilla entity translations in the creator's language
Renamed the
CanGlideconfig option for flying Pets toCanFly(old configs are migrated)Replaced the
WillShakeconfig option withAllowZombificationfor Hoglin, Piglin, and Piglin Brute Pets (default false)Replaced the dead Snow Golem
FixSnowTrackconfig option withDisableSnowTrack(default true)Renamed
/petsettings idle-volumeto/petsettings volumeand broadened its scope from ambient-only sounds to every sound a Pet emitsRemoved the Javascript experience calculator in favor of new experience modes (linear, power, exponential)
The
MyPet.experience.multiplierpermission now accepts any integer instead of 6 hardcoded tiers (e.g..183for 1.83x)Ender Dragon Pets no longer require ProtocolLib
Required libraries are now downloaded on startup through the server's library downloader
Updated all hook dependencies to their latest versions; replaced the Factions hook with FactionsUUID and the Kingdoms hook with KingdomsX
Miscellaneous performance improvements across the plugin
Fixed (from MyPet 3)
Fixed Ender Dragon Pets being unable to follow their owner
Fixed Ender Dragon Pets being unrideable
Fixed Armadillo Pets moving while scared on 1.21.5+
Fixed the Angry leash flag only working for Wolves
Fixed the Zone-Messages config option for the Beacon skill
Fixed Pets stepping on pressure plates being checked against WorldGuard's INTERACT region flag at the owner's location instead of the Pet's own
Starvation damage from the hunger system is now reported as its own named damage source instead of an unnamed generic one
Removed
Removed support for Bukkit/Spigot servers (Paper and derivatives only)
Removed support for server versions below 1.20.5
Removed support for MongoDB databases
Removed support for no-permissions mode (aka OP-only mode)
Removed the legacy permission system
Removed support for legacy item IDs
Removed the 5 classic skilltrees (replaced by the 124 new built-in skilltrees)
Removed the
Skip-Target-AI-Ticksconfig optionRemoved the Copper Golem
OxidationTimeconfig option (vanilla now controls oxidation cadence)Removed the
Update.ReplaceOldconfig optionRemoved the
noshakecreation option for Hoglin, Piglin, and Piglin Brute Pets - zombification immunity is controlled by theAllowZombificationconfig optionRemoved the
has-stungcreation option for Bee PetsRemoved hooks for discontinued or outdated plugins: AncientRPG, BossShopPro, FabledSkyblock, GangsPlus, GriefPreventionPlus, MagicSpells, Minigames, MobStacker (both versions), NoCheatPlus, PreciousStones, PvPDiffTimer, SkillAPI, WorldGuardCustomFlags, mcMMO v1, MythicMobs v4, WorldGuard v6, and pre-v6 PlotSquared
For developers
MyPet 4.0 is a breaking API release. The highlights:
Pet-related API classes and events were renamed from
MyPet____toPet____(e.g.MyPetInfo→PetInfo,MyPetManager→PetManager,MyPet*Event→Pet*Event)The global
Configurationclass is gone - plugin-wide config values areConfigKey<?>fields onMyPetGlobal, and per-pet config flags areConfigKey<?>fields on eachPetXxxclassThird-party plugins can register custom skills, and per-pet event handlers/lifecycle hooks via
PetBehaviorandPetLifecycleHookRegistration methods (
registerSkill/Requirement/LeashFlag/Hook) now throwIllegalArgumentExceptionon invalid input instead of failing silentlyThe public API surface was reduced and javadocs were added to most API methods; API builds are published as
4.0.0on the UserDerezzed repository
The full migration guide is on the wiki: Developer Guide → Migrating from MyPet 3
Thanks for choosing MyPet!
Last updated
Was this helpful?
