Pet config

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 pet
Id: your_pet_id
# The mythicmob attached to the pet
MythicMob: the_mythicmob_attached_to_the_pet
# Custom permission to summon your pet
Permission: 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 it
DespawnOnDismount: 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 permission
MountPermission: 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 owner
Distance: 10
# Minimum distance in which the pet is summoned
SpawnRange: 1
# Minimum distance in which the pet comes back when it's too far
ComingBackRange: 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 game
InventorySize: 9
# (Optional) Triggers specific skills for when the taming is 
Taming:
  TamingProgressSkill: TamingEffectSkill
  TamingFinishedSkill: TamingEffectSkill
# Icon in the menu
Icon:
  # Set the name of the icon
  Name: 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-heads
  TextureBase64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTU1Mjc3Mjc3MDlmMDhiYjVmOTFhYWM4NTBmZTZmOTQ0YzViYzM0OGEwODBiM2I1NjNkNDQ5YzcyYjgxYmY4NiJ9fX0=
  # Set the customModelData of the item if you want to use texture pack resources
  CustomModelData: 0
  # Set the lores of the item
  Description:
  - This is a line of description
  - This is another one
# Signals are optional and meant to be used for the Signal Sticks
Signals:
  # 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 happen
  Values:
  - ATTACK
  - JUMP
  # Setup the Signal Stick item, it uses the same constructor type as the icon
  Item:
    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 name
    Material: STICK
    CustomModelData: 0
    Description:
    - You have a ton to explain here
    - on how to use the stick maybe
# Skins are optional
Skins:
  # Add the skins of the pet if it has various skins (this is not mandatory)
  Skin1: # Create a section
    MythicMob: mythicMobId # reference to the MythicMob you want to swap with
    Permission: skin.permission # Set the permission to access the skin, it can be the same as the pet permission for instance
    Icon: # Set the icon of the skin, just like before almost same syntax
      Material: STONE
      CustomModelData: 0
      DisplayName: "Skin 1"
      Lore:
      - "This is a lore"
      TextureBase64: anybase64youwant # this is not mandatory. Remove the Material field if you wanna use it
  Skin2:
     # 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 pet
Id: your_pet_id
# The mythicmob attached to the pet
MythicMob: the_mythicmob_attached_to_the_pet
# Custom permission to summon your pet
Permission: 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 pet
Levels:
  # Define a first level, you can call it however you want
  Lvl_Beginner:
    # Chose a display name for the level
    Name: "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 thresholds
    ExperienceThreshold: 0
    # The Maximum amount of HP of the pet at that level
    MaxHealth: 200
    # The regeneration of HP in heart per second
    Regeneration: 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 pet
    Cooldowns:
      # 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 9
    InventoryExtension: 0
  # Here you get the second level...
  Lvl_Intermediate:
    Name: "Intermediate"
    ExperienceThreshold: 100
    MaxHealth: 300
    Regeneration: 0.2
    ResistanceModifier: 2
    DamageModifier: 2
    Power: 2
    Cooldowns:
      Respawn: 7
      Revoke: 0
    InventoryExtension: 0
    # OPTIONAL : Handles the announcements when the pet level up
    Announcement:
      # What should it say ?
      # Use "\n" to go in subtitle for the TITLE announcement type
      Text: "Level up !"
      # Message type can be TITLE, CHAT, ACTIONBAR
      Type: CHAT
      # OPTIONAL : Should it play a skill ?
      Skill: Nocsy_YokibirdBaby_Interact_Happy
  Lvl_Adult:
    Name: "Adult"
    MaxHealth: 400
    Regeneration: 0.5
    ResistanceModifier: 2
    DamageModifier: 2
    Power: 2
    ExperienceThreshold: 200
    # OPTIONAL : Handles the evolution system
    # After reaching that level, the pet will evolve into this secondary pet which corresponds to another file
    Evolution:
      # The Pet Id so we can retrieve the evolution
      PetId: 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: true
    Announcement:
      Text: "Evolving !\nGet ready..."
      Type: TITLE
      Skill: Nocsy_YokibirdBaby_Interact_Happy

Last updated