Leveling
Archetypes can be configured to be levelable using options under the Leveling section.
| Options | Description |
|---|---|
| MinLevel | The level the player starts at with this archetype |
| MaxLevel | The maximum level of this archetype |
| ExperienceCurve | The experience curve this archetype uses |
| ExperienceSource | The experience source group this archetype can benefit from |
For example:
TestArchetype:
Leveling:
MinLevel: 1
MaxLevel: 50
ExperienceCurve: TEST_STATIC
ExperienceSource: MOBS
Experience Curves
Experience Curves determine how much experience is needed to reach each level, and are defined in experience-curves.yml inside any Mythic pack folder. Inside this file, you can define as many custom experience curves as you want.
There are two types of curves, FORMULA and STATIC:
FORMULA- Uses math to determine the experience needed to level, wherexis the next levelSTATIC- You define the values for each level yourself
An experience curve file might look like this:
TEST_FORMULA:
Type: FORMULA
Formula: 'x * 100'
TEST_STATIC:
Type: STATIC
Levels:
1: 100
2: 200
3: 500
Experience Sources
Experience Sources are a group of different things that experience can be earned from. They are defined inside an experience-sources.yml file in any Mythic pack folder, and each file can contain any number of source groups.
Each experience source group can contain sections of one or more types of sources.
An experience source called MOBS might look like this:
MOBS:
Sources:
- Type: killEntity
Conditions: []
TriggerConditions: []
Values:
- ZOMBIE 1to2
- HUSK 1to2
- SKELETON 50
- Type: killmythic
Conditions: []
TriggerConditions: []
Values:
- TestingDummy2 100
Group message
A source group can define an optional Message sent to the player whenever that group grants experience. It sits alongside Sources at the top of the group, and is skipped if left empty or unset.
MOBS:
Message: '<gray>+{amount} XP from {group}'
Sources:
- Type: killEntity
Values:
- ZOMBIE 1to2
| Token | Replaced with |
|---|---|
{amount} |
The formatted experience amount granted |
{source} |
The source group's name |
{group} |
The source group's name (same as {source}) |
Default amount
A source that reads a keyed Values list can define a Default amount, granted when the thing that triggered the source is not listed in Values. Without a Default, unlisted keys grant no experience.
MINING:
Sources:
- Type: blockBreak
Default: 1
Values:
- DIAMOND_ORE 50
- IRON_ORE 10
Diamond ore grants 50 and iron ore 10, while every other broken block grants 1. Remove Default and only diamond and iron ore would grant experience.
Conditions and Trigger Conditions
Every source in a group can be filtered using Conditions and TriggerConditions. Both lists use the same condition syntax as Mythic Skill Conditions, and if any condition fails the source grants no experience for that event.
- Conditions evaluate against the player as the caster (their world, location, level, permissions, held item, etc.)
- TriggerConditions evaluate against the player as the trigger entity. Useful for the same kinds of self-checks; entity-target filtering (e.g. "only zombies") is not yet routed through these.
For example, restricting mining XP to a designated mining world for players level 10 or higher:
MINING:
Sources:
- Type: blockBreak
Conditions:
- inworld{w=mining_world}
- level{l=10}
Values:
- DIAMOND_ORE 50
- IRON_ORE 10
Available Sources
| Type | Aliases | Values | Description |
|---|---|---|---|
BLOCK_BREAK |
BREAK_BLOCK, MINE, MINING |
Block types | Breaking blocks (including custom blocks) |
BLOCK_PLACE |
PLACE_BLOCK, BUILD, BUILDING |
Block types | Placing blocks (including custom blocks) |
BREWING |
BREW, BREW_ITEM |
Potion types | Brewing potions |
CAST_SPELL |
SPELL_CAST, SPELL, CAST |
Spell internal names | Casting a spell. Awarded on cast |
CONSUME_ITEM |
EATING, EAT, EAT_ITEM |
Item materials | Consuming/eating an item |
CRAFT_ITEM |
CRAFT, CRAFTING |
Item materials | Crafting items (counts batches in shift-click crafts) |
CUSTOM |
Granted programmatically by skill mechanics; no event listener | ||
DAMAGED |
TAKE_DAMAGE |
Taking damage from any source | |
DAMAGING |
DEAL_DAMAGE |
Dealing damage to entities | |
ENCHANTING |
ENCHANT, ENCHANT_ITEM |
Item materials | Enchanting items |
FARMING |
HARVEST, HARVEST_CROP |
Crop blocks | Breaking a crop block that is fully grown |
FISHING |
FISH, CATCH_FISH |
Item materials | Catching items while fishing |
JUMPING |
JUMP |
Jumping | |
KILL_ENTITY |
KILL_MOB, KILL_MOBS, KILL_ENTITIES |
Entity types | Killing an entity of a given type |
KILL_MYTHIC |
KILL_MYTHIC_MOB, KILL_MYTHIC_ENTITIES |
Mythic mob types | Killing a Mythic mob of a given type |
MOVING |
MOVE, WALK |
Moving on the ground (per distance traveled) | |
REPAIR_ITEM |
REPAIR, MEND |
Item materials | Repairing items |
SMELT |
SMELTING, FURNACE |
Item materials | Smelting items in a furnace |
USE_RESOURCE |
RESOURCE_USE, SPEND_RESOURCE |
Resource names | Granted when a player spends a defined skill resource |
VANILLA |
Collecting vanilla experience orbs. Supports a Multiplier option |