pet-config.yml
Contains options for pet types.
The pet-config.yml file contains all MyPet-Type specific settings. All other settings can be found in the main config.yml.
For the default settings of this file see Default Pet Settings.
Structure
Configuration path:
MyPet:
Pets:
<MyPet-Type-Name>:Common Settings
These are settings common to all pet-types.
HP
Type: double
Description: The maximum HP the pet (type) has by default.
Speed
Type: double
Description: The running speed the pet-type has by default.
Small changes have a massive impact on the speed.
Food
Type: list
Description: The food this pet-type eats. This setting must be a list of valid config items.
LeashItem
Type: string
Description: The item this pet-type can be leashed with. This setting must be a valid config item.
LeashRequirements
Type: list
Description: A list of valid Leash Requirements.
CustomRespawnTimeFactor
Type: int
Description: This setting adds an additional multiplier for a pet's respawn time. This value will be added on top of the value from the main config.
CustomRespawnTimeFixed
Type: int
Description: This setting allows you to change the respawn times for this pet-type. This value will be added on top of the value from the main config.
ReleaseOnDeath
Type: boolean
Description: Whether or not the pet is released on death.
RemoveAfterRelease
Type: boolean
Description: Whether or not the Mob is deleted after the pet is released.
Brain Settings
Modern Minecraft mobs run their AI from a vanilla "brain" rather than the older goal system. MyPet strips goal-based AI automatically, but brain AI has to be switched off explicitly — this is that switch. It only exists on pet-types whose underlying mob is brain-driven.
Brain.Disabled
Type: list of strings
Description: Vanilla brain AI to switch off for this pet-type.
Each entry is one of two kinds:
activity:<name>— switches off a whole group of brain behaviours at once, e.g.activity:fightremoves all fighting behaviour. Names are lowercase:core,idle,fight,avoid,admire_item,celebrate,ride. Not every pet-type has every activity.behavior:<Name>— switches off one specific named behaviour, e.g.behavior:SonicBoom. Use this when anactivity:group would be too broad.
Pet-types with this key: PiglinBrute, Piglin, Hoglin, Zoglin, Warden, Villager, Camel, CamelHusk, CopperGolem, Allay, Armadillo, Axolotl, Breeze, Creaking, Frog, Goat, HappyGhast, Nautilus, Sniffer, Tadpole, ZombieNautilus. Other pet-types don't run on a brain, so this key has no effect for them even if added by hand.
Defaults:
PiglinBrute, Piglin, Hoglin, Zoglin
activity:idle, activity:fight
Warden
behavior:Roar, behavior:SonicBoom, behavior:Emerging, behavior:Digging
Villager
behavior:SleepInBed
Camel, CamelHusk
behavior:RandomSitting
CopperGolem
behavior:TransportItemsBetweenContainers
all other brain pets
empty
Clearing the list for PiglinBrute, Piglin, Hoglin, or Zoglin restores their vanilla hostility, and the pet will attack its owner. That is the setting working as intended, not a bug — leave the defaults in place unless you want that behavior back.
An entry that doesn't match any known activity or behaviour for the pet-type isn't silently ignored — it's reported as a warning in the server log, naming the pet-type and the entry, so a typo is visible instead of doing nothing.
Specific Settings
These settings only apply to specific pet-types.
AllowMetamorphosis
Type: boolean
Default:
falseDescription: When true, a
Tadpolepet is allowed to mature into aFrogpet on vanilla's growth timer. When false, that timer is frozen and the pet stays aTadpoleindefinitely.Restrictions: This setting can only be used with the
Tadpolepet.
Maturing is permanent, and it changes the pet's type.
The pet itself survives — it keeps its name, level, experience, skill state and owner, and the same pet is simply now a Frog. But it is a Frog from then on: it uses Frog settings from this file, Frog permissions, and Frog skilltrees. A Tadpole-only skilltree such as ✦ Metamorphosis no longer applies to it.
This is why the default is false. Leave it off if players on your server pick a Tadpole expecting to keep one.
CanBeSheared
Type: boolean
Description: When true and when wool is present, gives wool when right clicked shears.
Restrictions: This setting can only be used with the
Sheeppet.
CanGlide
Type: boolean
Description: When true, allows the pet to glide around the player instead of being grounded.
Restrictions: This setting can only be used with pet-types that naturally fly or hover.
CanGiveMilk
Type: boolean
Description: When true, returns a bucket of milk when right clicked with an empty bucket.
Restrictions: This setting can only be used with the
Cowpet.
CanGiveStew
Type: boolean
Description: When true, returns a bowl of stew when right clicked with a wooden bowl.
Restrictions: This setting can only be used with the
Mooshroompet.
CanLayEggs
Type: boolean
Description: When true, the pet can lay eggs.
Restrictions: This setting can only be used with the adult
Chickenpet.
CanOxidize
Type: boolean
Description: When true, allows copper golem pets to oxidize.
Restrictions: This setting can only be used with the
CopperGolempet.
CanRegrowWool
Type: boolean
Description: When true, allows a shorn sheep pet to regrow its wool.
Restrictions: This setting can only be used with the
Sheeppet.
CanTossUp
Type: boolean
Description: When true, allows the Iron Golem to toss up its target similar to vanilla behavior.
Restrictions: This setting can only be used with the
IronGolempet.
FixSnowTrack
Type: boolean
Description: When true, cleans up snow trails from Snowman pets.
Restrictions: This setting can only be used with the
Snowmanpet.
GrowUpItem
Type: string
Description: The item that can be used to turn a baby pet-type into an adult. This setting must be a valid config item.
Restrictions: This setting can only be used with pet-types that have baby variants.
OxidationTime
Type: int
Description: The time it takes for the pet to progress to the next oxidation level.
Restrictions: This setting can only be used with the
CopperGolempet.
RetainEquipmentOnTame
Type: boolean
Default:
trueDescription: When true, a wild mob leashed into a pet keeps the armor and weapons it was wearing, and that gear becomes the pet's own equipment — it stays with the pet, and it drops when the pet dies or is released. When false, those slots are emptied as the mob is tamed and the items drop on the ground where it stood.
Restrictions: This setting can only be used with pet-types that can wear equipment.
Releasing a pet does not normally drop its gear — that is expected.
With the default RemoveAfterRelease: false, /petrelease turns the pet back into a living wild mob, and that mob walks away still wearing the equipment. Nothing lands on the ground, because nothing was taken away.
Only with RemoveAfterRelease: true is the mob itself removed, and then the equipment drops as items at the release location. Either way the gear is never destroyed — it is on the mob or on the floor.
WillShake
Type: boolean
Description: When false, the pet will not shake when outside of the nether/lava.
Restrictions: This setting can only be used with hoglins, piglins, and piglin brutes.
Custom Pet Models
MyPet supports custom BlockBench models through ModelEngine, BetterModel, and ItemsAdder, plus MythicMobs as a fourth custom-creature provider. There are three configuration shapes, all under MyPet.Pets in pet-config.yml:
Re-skin an existing type — add a
Model:block to a vanilla pet type.Custom creature — a
Host:section with aModel: { Provider, Id }block. For ModelEngine/BetterModel/ItemsAdder, MyPet renders it, and — because the model is the identity — a mob wearing that model can be leashed straight back into the pet.Custom Creature — MythicMobs —
Host:+Model: { Provider: MythicMobs, Id: <mob-name> }; MyPet spawns/adopts the real MythicMob.
For a feature overview and the six methods, see Custom Pet Models.
Re-skin an existing pet type (Model:)
Add an optional Model: block to any existing pet type's section to make every pet of that type render with a custom model:
No per-pet setup is needed — the Model: block applies to the type. Editing it and reloading is all that is required to change which model a pet type uses.
Model.Provider
Type: string
Values:
ModelEngine,BetterModel,ItemsAdder,MythicMobs(MythicMobsis only valid on custom creatures — see below — not on a re-skin)Description: Which provider supplies the model — a rendering plugin (ModelEngine/BetterModel/ItemsAdder) or the source creature plugin (MythicMobs).
Model.Id
Type: string
Description: The model id as registered in the provider — the ModelEngine/BetterModel model name, an ItemsAdder namespaced id such as
mypack:dragon, or (forProvider: MythicMobs) the MythicMob's internal name.
Model.NameHeight
Type: double
Required: No
Description: Height in blocks at which the pet's floating name is shown above the model. Defaults to the host mob's height + 0.5. Raise this for tall models so the name sits just above them.
Custom creature definitions (Host:)
A MyPet.Pets.<Name> section becomes a custom creature (rather than a settings override for a vanilla type) when it contains a Host: key. The creature has no vanilla equivalent — it is its own pet type. It supports the same common settings as any pet type (HP, Speed, Food, LeashItem, LeashRequirements, etc.) plus Host: and Model::
Host:
Type: string
Required: Yes (for custom creatures)
Description: The vanilla mob type whose movement, pathfinding, and physics the creature inherits. A flying host (e.g.
Phantom,Allay) makes the pet fly; a swimming host makes it swim. ChangingHost:requires a server restart. ForProvider: MythicMobs, setHost:to the MythicMob's own base vanilla entity (a Phantom-based boss →Host: Phantom) — MyPet spawns/rebuilds from that type.
MyPet bundles two models you can use here right away — Id: capybara and Id: chameleon, with Provider: BetterModel or ModelEngine. Reference one and MyPet copies the .bbmodel out of its own jar into that plugin's folder on load; you never install a model file. They are models, not ready-made pet types, so you still write the section below — and the bundled skilltrees expect the section to be named exactly Capybara / Chameleon. See Bundled Models — Capybara & Chameleon.
Each custom type needs a unique model. Because the model is the pet's identity, two custom types must not share the same Provider + Id — MyPet couldn't tell which type a leashed modeled mob should become. If two types declare the same model, MyPet keeps the first and skips the later one on load (a warning names both in the console). Give each custom type its own Model.Id.
MythicMobs works the same shape, with one difference under the hood. For Provider: MythicMobs, MyPet doesn't draw a model on a vanilla host — it spawns (via /petadmin create / pet shop) or adopts (via leashing) the real MythicMob, model and all. Id: is the MythicMob's internal name, and (as with the other three providers) the section name is arbitrary:
Model animations
MyPet plays a few discrete animations on a pet's model at the right moments. By default it plays animations named spawn, despawn, sit, sit_loop, unsit, and attack — so if your model uses those names, animations just work with no configuration. If a model names them differently (common for third-party MythicMobs/ItemsAdder models), remap them per type under an optional Model.Animations block. It works on any Model: block — re-skins and custom creatures alike, including MythicMobs.
spawn
spawn
When the pet is first summoned (not on chunk reload / relog).
despawn
despawn
When the pet is stored or removed (not on recall) — removal waits for the animation to finish.
sit
sit
When the pet sits down.
sit_loop
sit_loop
Looped while the pet stays seated (started once sit has finished).
unsit
unsit
When the pet stands back up.
attack
attack
Each time the pet lands a melee hit or fires a ranged shot.
Model.Animations.<event>
Type: string (one key per event:
spawn,despawn,sit,sit_loop,unsit,attack)Required: No
Description: Overrides the animation name MyPet plays for that event. Any omitted event uses its default name (identical to the event key). Applies to every provider alike, including MythicMobs.
Acquiring custom creatures
Command:
/petadmin create <player> mypet:<creature-id>— requires permissionMyPet.admin.create. (Vanilla pet types are created with theminecraft:namespace, e.g.minecraft:wolf; custom creatures usemypet:.) For aProvider: MythicMobscreature this spawns the genuine MythicMob.Pet shop: list the creature id in
pet-shops.ymlso players can buy it — MythicMobs creatures spawn/adopt the real MythicMob the same as any other custom creature.Taming: any mob already wearing the creature's model can be leashed straight into the pet, using the normal leash requirement rules — a
/meg summon//bm spawnmob, one MyPet left behind on release, or (for MythicMobs) a wild MythicMob whose internal name matches the type'sModel.Id. Taming a MythicMob also requiresDisable-Leashing: falsein theMythicMobs:section of hooks-config.yml.
Release behavior
What happens when a player uses /petrelease depends on how the pet was created:
Re-skinned vanilla pet (Path A): releases as the underlying vanilla mob, same as always. The model is removed.
Rendered custom creature (Path B — ModelEngine/BetterModel/ItemsAdder): a wild mob is left behind still wearing the model, so it can be re-leashed back into the same pet.
MythicMobs custom creature (Path C): the genuine MythicMob is respawned at the release location — with its own AI, abilities, and model — and MyPet's host entity is removed.
Custom creature whose provider plugin is no longer installed: the entity is simply despawned. No vanilla replacement is created.
Last updated
Was this helpful?
