Professions
In MythicRPG, professions are not a separate system — they're just archetypes using a different Group:. By convention, classes go in the CLASS group and professions in the PROFESSION group, but the names are arbitrary; what matters is that they're in different groups so a player can hold one of each at the same time.
Because professions reuse the archetype system, they get every archetype feature for free: leveling, custom XP sources, talent trees, point rewards, spell unlocks, base stats, and passive skills. This page focuses on the patterns and idioms that make sense for professions specifically — see the main Archetypes page for the full option list.
Why use the PROFESSION group?
Archetype groups are how MythicRPG decides what a player can hold simultaneously. Each player has at most one active archetype per group, so:
- A player with
Group: CLASS = Wizardcan also haveGroup: PROFESSION = Minerat the same time. - Putting two classes in the same group makes them mutually exclusive.
The PROFESSION group is the convention used by the example pack and by the wiki, but you can name your groups anything (TRADE, JOB, SKILL, etc.). They're auto-registered the first time an archetype declares them.
The Profession Pattern
A typical profession archetype combines five archetype features:
- An XP source group that captures the activity the profession represents (mining, fishing, farming, etc.).
- A leveling curve that's separate from the class progression — usually slower-paced.
- (Optional)
PointRewardsthat grant a profession-specific point type, so players invest profession progress into profession talents. - (Optional) A talent tree for upgrades like "fortune chance," "double-catch," "speed boost while farming," etc.
- (Optional)
SpellUnlocksfor active or passive abilities — e.g. teaching a "vein-mine" spell at Miner level 10.
You don't need all five — a stat-only profession that just gives +5% MINING_FORTUNE per level works fine.
Suggested XP Source Groups
The example pack ships an experience-sources.example.yml with these groups, all useful as starting points for professions:
| Group | Triggers on | Likely profession |
|---|---|---|
MINING |
Block breaking (with PlayerPlaced: false to prevent farming placed blocks) |
Miner |
FARMING |
Breaking mature crops | Farmer |
COMBAT |
Killing entities, dealing damage | Warrior / Hunter |
ENDURANCE |
Walking distance, jumping, taking damage | Athlete / Monk |
SPELLCASTING |
Casting spells, spending mana | Mage |
CRAFTING |
Crafting, smelting, enchanting, repairing | Smith / Artisan |
SURVIVAL |
Eating, fishing, brewing, vanilla XP orbs | Survivalist |
Copy the relevant section out of the example file into your pack's experience-sources.yml, then point a profession archetype at it via ExperienceSource:.
Examples
Miner — leveling and stat scaling
The simplest possible profession: a stat-only Miner who gains mining-related stats per level.
Miner:
Group: PROFESSION
Display: '&7Miner'
Description:
- 'A profession focused on extracting resources.'
Leveling:
MinLevel: 1
MaxLevel: 50
ExperienceCurve: SLOW
ExperienceSource: MINING
StatModifiers:
- MINING_FORTUNE 0.05 ADDITIVE_MULTIPLIER
- MAX_HEALTH 1
Each Miner level adds +1 max health and +5% mining fortune. The player keeps their CLASS archetype's stats too — both archetypes' modifiers stack on the player's stat registry.
Fisher — points and a talent tree
A more complete profession with profession-specific point rewards and a talent tree for upgrades.
Fisher:
Group: PROFESSION
Display: '&bFisher'
Description:
- 'Catches more than just fish.'
Leveling:
MinLevel: 1
MaxLevel: 50
ExperienceCurve: STANDARD
ExperienceSource: SURVIVAL
PointRewards:
- Type: FISHING_POINTS
PerLevel: 1
SpecificLevel:
10: 3
25: 5
TalentTree:
PointType: FISHING_POINTS
Menu: fisher_talents
Talents:
Patience:
Display: 'Patience'
MaxPoints: 5
Components:
- Type: STATS
Stats:
- FISHING_LUCK 0.1 ADDITIVE_MULTIPLIER
Reel:
Display: 'Reel It In'
MaxPoints: 1
RequiredPoints: 5
Components:
- Type: SPELL
Spell: fisher_quick_reel
Set up your points.yml to define FISHING_POINTS and you've got a full progression loop:
FISHING_POINTS:
Display: '&bFishing Points'
Smith — using SpellUnlocks to gate recipes
Professions can teach spells at specific levels, which is useful for "unlocking" mechanics that aren't really spells:
Smith:
Group: PROFESSION
Display: '&eSmith'
Leveling:
MinLevel: 1
MaxLevel: 50
ExperienceCurve: STANDARD
ExperienceSource: CRAFTING
SpellUnlocks:
- smith_recipe_iron # learned at level 1 (MinLevel)
- smith_recipe_steel 10 # learned at level 10
- smith_recipe_mythril:2 25 # spell level 2, archetype level 25
Each "recipe" is just a passive spell whose mechanic registers a custom recipe or grants access to a workstation menu — you write whatever the spell does.
Combining Professions With Other Archetype Features
Everything else from Archetypes is fair game on a profession:
Skills:— passive mob-skill-style hooks (e.g.~onBlockBreaktriggers that drop bonus loot for Miners).InitSkills/QuitSkills/LevelSkills— run skills when the profession is gained, lost, or levels up (e.g. play a sound, send a tip, give a starter tool).Bindings:— force a profession-related spell into a hotbar slot.BaseStats:— set baseline stat values (useStatModifiers:instead if you want them to stack with the player's class).