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 = Wizard can also have Group: PROFESSION = Miner at 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:

  1. An XP source group that captures the activity the profession represents (mining, fishing, farming, etc.).
  2. A leveling curve that's separate from the class progression — usually slower-paced.
  3. (Optional) PointRewards that grant a profession-specific point type, so players invest profession progress into profession talents.
  4. (Optional) A talent tree for upgrades like "fortune chance," "double-catch," "speed boost while farming," etc.
  5. (Optional) SpellUnlocks for 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. ~onBlockBreak triggers 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 (use StatModifiers: instead if you want them to stack with the player's class).
Updated Aug 19, 2026