MCPets 4.0.0 introduced the in-game editor to simply implement pets in game, so make sure to check it out using /mcpets editor
That will save you some time not diving in configurations anymore!
After you have setup your pet in MythicMobs, you may want to implement it in MCPets. That's why you need to create a Pet Config, either Cosmetic Pet or Living Pet depending on the type of pet you need.
Each pet has a unique config that you can create, modify or delete at "./plugins/MCPets/Pets/anyfolderyouwant/yourpetconfig.yml".
Make sure each pet has a unique ID so you don't run into weird bugs.
โจ Cosmetic Pet config
Down below you will find the typical cosmetic pet config template. It has a lot more features than required (indeed, all of them actually), and it's just meant to explain how you could implement them into your config.
Cosmetic pets are meant to be invincible pets, contrary to the Living pet that have health, statistics and more.
Do not feel like you need to fill every field here, because a lot of them are optional like the Skins section, the Signals, or else.
# The unique ID of your petId:your_pet_id# The mythicmob attached to the petMythicMob:the_mythicmob_attached_to_the_pet# Custom permission to summon your petPermission:permission.to.summon.the.pet.can.be.custom# Show the mount option or not# If it's on true make sure your pet has a "mount" bone (refer to ModelEngine)# (references on https://github.com/Ticxo/Model-Engine-Wiki/wiki/Mechanics/#mountmodel)Mountable:false# Says what type of mount controller this pet should have (default to "walking") & (optional)# (references on https://github.com/Ticxo/Model-Engine-Wiki/wiki/Mechanics/#mountmodel)MountType:walking# Says whether the pet should be despawned when the player dismount itDespawnOnDismount:false# If the pet is a mount, chose whether or not the player should automatically mount it on spawn (optional)AutoRide:false# (Optional) If you want your pet to be rideable only if the owner has a certain permissionMountPermission:mcpets.mount_mypet# Set the skill to execute on despawn (can be removed)# | WARNING : this will block the auto-remove from AdvancedPet# | So please execute a 'remove @self' mechanic at the end of the# | despawn skill.DespawnSkill:DespawnSkill_MM# Minimum distance before the pet start to get back to its ownerDistance:10# Minimum distance in which the pet is summonedSpawnRange:1# Minimum distance in which the pet comes back when it's too farComingBackRange:3# If you would like to pet to be able to carry items, you can chose an inventory size (this is not a mandatory field, you can remove it)# Put any value, it'll be rounded up to a multiple of 9 in gameInventorySize:9# (Optional) Triggers specific skills for when the taming is Taming:TamingProgressSkill:TamingEffectSkillTamingFinishedSkill:TamingEffectSkill# Icon in the menuIcon:# Set the name of the iconName:Name of the icon# Set the Material of the icon (remove this line if you want a custom head)Material:STONE# Use this if you want a custom head texture (optional)# Texture of the icon (base64)# Most custom textures can be found on https://minecraft-heads.com/custom-headsTextureBase64:eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTU1Mjc3Mjc3MDlmMDhiYjVmOTFhYWM4NTBmZTZmOTQ0YzViYzM0OGEwODBiM2I1NjNkNDQ5YzcyYjgxYmY4NiJ9fX0=# Set the customModelData of the item if you want to use texture pack resourcesCustomModelData:0# Set the lores of the itemDescription: - This is a line of description - This is another one# Signals are optional and meant to be used for the Signal SticksSignals:# List the signals you want to cast to the pet (can be empty)# Make sure the pet is actually listening to these signals or nothing will happenValues: - ATTACK - JUMP# Setup the Signal Stick item, it uses the same constructor type as the iconItem:GetFromMenu:true# put false if you want players to get it from another way (like if you added a crafting method, or an NPC that could give it etc...)Name:Signal stick nameMaterial:STICKCustomModelData:0Description: - You have a ton to explain here - on how to use the stick maybe# Skins are optionalSkins:# Add the skins of the pet if it has various skins (this is not mandatory)Skin1:# Create a sectionMythicMob:mythicMobId# reference to the MythicMob you want to swap withPermission:skin.permission# Set the permission to access the skin, it can be the same as the pet permission for instanceIcon:# Set the icon of the skin, just like before almost same syntaxMaterial:STONECustomModelData:0DisplayName:"Skin 1"Lore: - "This is a lore"TextureBase64:anybase64youwant# this is not mandatory. Remove the Material field if you wanna use itSkin2:# Do the same syntax with as many skins as you want. Remember to add your default skin as well !
๐ Living Pet config
Making living pets is not quite different as making cosmetic pets.
Living pets are meant to be killable creatures, with health, experience, modifiers, levels, and more features that make them feel alive.
Using the living pets, you can also create evolutions at certain experience stages. These will automatically handle the permission transfer to the evolved pet with some customization options for you.
Note that you can use all the cosmetic pets features with the living pets (Skins, Signals, etc...).
Here are the additional options you can use to create living pets.
# The unique ID of your petId:your_pet_id# The mythicmob attached to the petMythicMob:the_mythicmob_attached_to_the_pet# Custom permission to summon your petPermission:permission.to.summon.the.pet.can.be.custom# ...# Add other options there from the cosmetic pets if you want to# You can add every single feature from the cosmetic pets# ...# Levels are the way to handle the pet statistics and make it a living petLevels:# Define a first level, you can call it however you wantLvl_Beginner:# Chose a display name for the levelName:"Beginner"# The experience threshold corresponds to the amount of experience required to reach that level.# The first level is therefore at 0xp, and higher levels have increasing experience values.# NOTE: Levels must have different experience thresholdsExperienceThreshold:0# The Maximum amount of HP of the pet at that levelMaxHealth:200# The regeneration of HP in heart per secondRegeneration:0.1# Says how much reduced damaged the pet should be taking # It's a division factor to the damages (1 = +0% resistance, 2 = +100%)ResistanceModifier:1# Same goes for damage modifiers : how much more damages the pet should inflict# It's a multiplication factor (1 = +0%, 0.5 = -50%)DamageModifier:1# The power modifier is an additional placeholder to use in skills to affect the power of skills.Power:1# Handles the cooldowns of the petCooldowns:# How long before the pet can be summoned after dying once ? (in seconds)Respawn:15# How long before the pet can be summoned after being revoked ? (in seconds)Revoke:0# OPTIONAL: Add inventory slots to the inventory if the pet has some# Note that it will always round up to a multiple of 9InventoryExtension:0# Here you get the second level...Lvl_Intermediate:Name:"Intermediate"ExperienceThreshold:100MaxHealth:300Regeneration:0.2ResistanceModifier:2DamageModifier:2Power:2Cooldowns:Respawn:7Revoke:0InventoryExtension:0# OPTIONAL : Handles the announcements when the pet level upAnnouncement:# What should it say ?# Use "\n" to go in subtitle for the TITLE announcement typeText:"Level up !"# Message type can be TITLE, CHAT, ACTIONBARType:CHAT# OPTIONAL : Should it play a skill ?Skill:Nocsy_YokibirdBaby_Interact_HappyLvl_Adult:Name:"Adult"MaxHealth:400Regeneration:0.5ResistanceModifier:2DamageModifier:2Power:2ExperienceThreshold:200# OPTIONAL : Handles the evolution system# After reaching that level, the pet will evolve into this secondary pet which corresponds to another fileEvolution:# The Pet Id so we can retrieve the evolutionPetId:Nocsy_Yokibird-Orange-Living# How long should we wait in ticks before it evolves (so we can play a skill maybe) ?# If you use that feature make sure that your evolution animation,# make sure that your animation does last the said value (cumulation of "delay" mechanics)DelayBeforeEvolution:0# Should it remove the permission of owning the current stage and then evolve ?RemoveAccess:trueAnnouncement:Text:"Evolving !\nGet ready..."Type:TITLESkill:Nocsy_YokibirdBaby_Interact_Happy