Skip to main content

How to make a Pet

Default configsโ€‹

The default configs can be found here. You can find additional user-created configs on lrcdb.

How to add petsโ€‹

Each pet is its own config file, placed in the /pets/ folder, and you can add or remove them as you please. There's an example config called _example.yml to help you out!

The ID of the Pet is the file name. This is what you use in commands, effects and placeholders. ID's must be lowercase letters, numbers, and underscores only.

Example Pet Configโ€‹

name: "&6Tiger" # The display name of the pet
description: "&8&oLevel up by dealing melee damage" # The description of the pet

# The xp requirements for each pet level - add new levels by adding more to this list
level-xp-requirements:
- 50
- 125
- 200
- 300
- 500
- 750
- 1000
- 1500
- 2000
- 3500
- 5000
- 7500
- 10000
- 15000
- 20000
- 30000
- 50000
- 75000
- 100000

# An XP gain method takes a trigger, a multiplier, conditions, and filters.
# The 'multiplier' takes the value produced by the trigger and multiplies it
# Alternatively, you can use 'value' to count a specific number and not a multiplier
xp-gain-methods:
- id: melee_attack
multiplier: 0.5 # You can also use "value" here (see above comment)
conditions: [ ] # You can add a list of conditions that must be met on xp gain

# Custom placeholders to be used in descriptions,
# Don't add % to the IDs, this is done automatically
# The value takes a %level% placeholder and is a mathetmatical expression
level-placeholders:
- id: "damage_multiplier"
value: "%level%"

# The text shown with the %effects% placeholder
# The number dictates the minimum level for this text to show for
# Adding new levels will override this text on those levels or above
effects-description:
1:
- "&8ยป &8Gives a &a+%damage_multiplier%%&8 bonus to"
- " &8melee damage"

# Same as above, but for %rewards%
rewards-description:
1:
- "&8ยป &8Gives a &a+%damage_multiplier%%&8 bonus to"
- " &8melee damage"

# Same as above, but for %level_up_messages%
level-up-messages:
1:
- "&8ยป &8Gives a &a+%damage_multiplier%%&8 bonus to"
- " &8melee damage"

# Commands to be sent on levelup, can be formatted two ways:
# level:command (e.g. 10:eco give %player% 1000), which would execute that command for level 10
# command (e.g. eco give %player% 5000), which would execute that command for all levels
level-commands:
- 1:eco give %player% 1000 # Runs the command at level 1
- eco give %player% 1000 # Runs the command at every level up

# The effects for the pet, has %level% as a placeholder
effects:
- id: damage_multiplier
args:
multiplier: "%level% * 0.01 + 1"
triggers:
- melee_attack

# The conditions for the pet, also has %level% as a placeholder
conditions: [ ]

# The texture of the pet entity in game
# If you're using modelengine, use modelengine:id as the texture
entity-texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTA5NWZjYzFlM2Q3Y2JkMzUwZjE5YjM4OTQ5OGFiOGJiOTZjNjVhZDE4NWQzNDU5MjA2N2E3ZDAzM2FjNDhkZSJ9fX0="

# The icon in GUIs
icon: player_head texture:eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTA5NWZjYzFlM2Q3Y2JkMzUwZjE5YjM4OTQ5OGFiOGJiOTZjNjVhZDE4NWQzNDU5MjA2N2E3ZDAzM2FjNDhkZSJ9fX0=

# The spawn egg
spawn-egg:
enabled: true # If the pet should have a spawn egg
item: blaze_spawn_egg unbreaking:1 hide_enchants
name: "&6Tiger&f Pet Spawn Egg"
lore:
- ""
- "&8&oPlace on the ground to"
- "&8&ounlock the &r&6Tiger&8&o pet!"
craftable: false
recipe: [ ]
# recipe-permission: ecopets.craft.tiger

Understanding all the sectionsโ€‹

name: The name of the pet in-game.

description: The description of the pet.

level-xp-requirements: A list of XP requirements for each level.

xp-requirements:
- 50
- 125
- 200

xp-gain-methods: The trigger, multiplier/value, conditions and filters that will award pet XP.

level-placeholders: Custom placeholders to be used in descriptions.

effects-description: Pet specific effect descriptions.

rewards-description: Pet specific reward descriptions.

level-up-messages: Pet specific level up messages.

level-commands: Commands to be executed when levelling the pet.

entity-texture: The texture of the pet that follows you around. Use modelengine:<id> if you're using Model Engine

modelengine-animation: If you're using Model Engine, you can supply an animation here

icon: The item to show in /pets, read here for more: Item Lookup System.

Spawn Eggโ€‹

enabled: If the skill should show in /pets.

icon: The item to show in /pets, read here for more: Item Lookup System.

name: The name of the spawn egg in-game.

lore: The lore to show in /pets when hovering the icon.

craftable: If the item should be craftable (true/false).

recipe: The recipe, read here for more info: Crafting Recipes.

recipe-permission: (Optional) The permission required to craft the recipe.

Effects & Conditionsโ€‹

You can configure effects, conditions, filters, and mutators in this section to run whilst this pet is active.

Check out Configuring an Effect to understand how to configure this section correctly.

For more advanced users or setups, you can configure chains in this section to string together different effects under one trigger. Check out Configuring an Effect Chain for more info.

Internal Placeholdersโ€‹

PlaceholderValue
%level%The player's pet level. Useful for creating scaling effects
%level_numeral%The player's pet level shown in Roman Numerals