Perks and prestige
Perks written as data in the job file, the ability triggers, swapping, and prestige stars.
Perks are data
Perks live in each job file under perks, built on ExyliaLib abilities (see ExyliaLib's ability.md). Each key is the level that opens a tier; each tier holds two choices, a and b (a third is ignored with a warning). A player picks one per tier.
perks:
10:
a:
name: 'Prospector'
icon: RAW_GOLD
description: ['{highlight}6% {letters}chance an ore drops', 'twice its usual loot.']
trigger: JOB_BREAK
chance: 6
conditions:
- block: ['#minecraft:coal_ores', ancient_debris]
effects:
- drops: {multiplier: 2}name, icon and description draw the card; everything else is an ability (trigger, chance, cooldown, conditions, effects). The shipped perks use the effects potion, xp, drops, reveal, smelt, break-area, replant, grow, fish-hook, item and heal. A perk without a known trigger is skipped. Perks only work in jobs the player holds and in tiers they have reached.
Triggers
Each action type has a trigger JOB_<ACTION>: JOB_BREAK, JOB_PLACE, JOB_HARVEST, JOB_PLANT, JOB_STRIP_LOG, JOB_KILL, JOB_BREED, JOB_TAME, JOB_SHEAR, JOB_MILK, JOB_FISH, JOB_SMELT, JOB_BREW, JOB_ENCHANT, JOB_REPAIR, JOB_SMITHING, JOB_CRAFT, JOB_EAT, JOB_COLLECT, JOB_VILLAGER_TRADE, JOB_EXPLORE.
A JOB_ trigger fires only after that job was actually paid for the action, once per job, so placed blocks, spawner mobs, idle players and every refused action never set a perk off. Breaks and harvests fire once the break is final (drops, smelt, break-area and xp work); kills carry the death and its drops. The built-in triggers BLOCK_BREAK, KILL, FISH and CAST also work, but meet the same guards (and placed blocks and farmed mobs are refused). FISH carries the catch, so a double catch is a FISH perk.
Choosing and swapping
/jobs perks <job> or the hub's Perks card. Choosing in an empty tier is immediate. Swapping asks to confirm and costs perks.swap-fee (250, 0 for free), recorded as a sink. JobPerkChosenEvent can be cancelled. Admins edit a perk in game with ExyliaLib's ability editor; saving writes it back to the job file.
Prestige
At max level, /jobs prestige <job> (or the Perks screen) asks to confirm, then sets the level to 1, adds one star and plays an effect. perks.yml:
| Key | Default | Meaning |
|---|---|---|
prestige.enabled | true | Whether players may prestige. |
prestige.max-stars | 10 | Most stars per job; 0 for no limit. |
prestige.money-per-star | 0.02 | +2% money per star; goes through the economy guard. |
prestige.xp-per-star | 0.02 | +2% experience per star. |
prestige.keep-perks | true | After the first prestige every tier stays open, so chosen perks stay active although the level restarts at 1. |
prestige.star | ★ | The symbol %exyliajobs_stars_<job>% repeats once per star. |
Milestone rewards pay again after a prestige only with milestones.repeat-after-prestige. JobPrestigeEvent can be cancelled.
Something missing on this page? Tell us on Discord