Archetypes
What is an Archetype?
Archetypes are the building block MythicRPG uses for things like classes, professions, races, and specializations. Rather than shipping a separate system for each, MythicRPG gives you the full archetype toolkit and lets you express any of those concepts with the same configuration.
Archetype Groups
Every archetype belongs to a group declared via its Group: field. Groups are how MythicRPG decides what a player can hold at once: a player has at most one active archetype per group, and as many active archetypes as there are groups.
The example pack ships with two groups — CLASS and PROFESSION — but the names are arbitrary. Any string you put in Group: registers a new group the first time it's used. Common patterns:
CLASSfor combat / role identity (Wizard, Warrior, Cleric, …)PROFESSIONfor trade-style activities (Miner, Fisher, Smith, …) — see ProfessionsRACEfor permanent character traits (Human, Elf, Dwarf, …)SUBCLASSfor nested specializations
Two archetypes in the same group are mutually exclusive. Two archetypes in different groups stack — their stat modifiers, spells, talents, and skills all apply simultaneously.
Configuring Archetypes
Archetypes are configured in the Archetypes folder inside any Mythic pack. Create any .yml file inside that folder and put as many archetypes inside as you'd like.
The example pack generates a classes.yml with simple starters.
Configuration Options
| Option | Description |
|---|---|
Group |
The group this archetype belongs to. Determines what the player can hold simultaneously. Defaults to the archetype's id. |
Category |
Free-form category tag, used by the hasArchetypesInCategory condition for grouping in skill logic. |
Display |
The proper display name (e.g. '&aWizard'). Defaults to the archetype's id. |
DisplayOrder |
Sort order in menus and lists. Lower values appear first. Defaults to 0. |
Description |
A multi-line description used in menus and command output. |
Icon |
Standard Mythic item options — material, model, lore, etc. |
Permission |
Optional permission node players must have to be assigned this archetype. |
Leveling |
Leveling configuration block: MinLevel, MaxLevel, ExperienceCurve, ExperienceSource. See Leveling. |
PointRewards |
List of point grants per level (PerLevel: and SpecificLevel:). |
TalentTree |
Inline talent tree for this archetype. See Talents. |
SpellUnlocks |
Spells the player learns at given archetype levels. Format: <spell>[:<spellLevel>] [<archetypeLevel>]. See Learning. |
BaseStats |
List of <STAT> <value> lines. Replaces the player's base stat (last archetype to set wins; loss reverts to the global default). |
StatModifiers |
List of <STAT> <value> [Operation] lines. Stacks with other archetypes' modifiers. Operation is Additive (default), Multiply, Compound, Set. |
Bindings |
Force a learned spell into a hotbar slot. Format: <slot> <spell>. |
ClickCombos |
Per-archetype overrides of click-combo slots. Format: <slot> <combo>. |
Skills |
A list of mob-style skill lines with triggers — applied passively to anyone holding this archetype. Same syntax as Mythic mob skills. |
InitSkills |
Skills run when a player gains this archetype. |
QuitSkills |
Skills run when a player loses this archetype. |
LevelSkills |
Skills run when a player levels up this archetype. |
BaseStats vs StatModifiers
These two are easy to confuse:
BaseStatssets the player's base value for a stat for as long as they hold the archetype. Useful for "this class has 30 max health by default."StatModifierslayers a modifier on top of whatever the base value is. Multiple archetypes' modifiers stack, so this is what you want for "+5% damage" or "+10 mana" bonuses.
BaseStats:
- HEALTH '20 + 5*L'
StatModifiers:
- DAMAGE 0.05 ADDITIVE_MULTIPLIER
- MAX_MANA 10
Default Archetypes
You can configure default archetypes that new players are auto-assigned. Set DefaultArchetypes: in config-archetypes.yml (in the MythicMobs plugin folder). Each entry is a single line in the format <Group> <ArchetypeId>:
Configuration:
CommandFeedback: true
DefaultArchetypes:
- CLASS Adventurer
- PROFESSION Drifter
Set RequireUnlocking: true in the same config to gate archetypes behind the unlock system (players must explicitly unlock an archetype before they can pick it).
Examples
A simple class
Wizard:
Group: CLASS
Display: '&5Wizard'
Description:
- 'A scholar of the arcane.'
Icon:
Material: ENCHANTED_BOOK
Leveling:
MinLevel: 1
MaxLevel: 50
ExperienceCurve: STANDARD
ExperienceSource: SPELLCASTING
BaseStats:
- MAX_HEALTH 18
- MAX_MANA '50 + 5*L'
StatModifiers:
- SPELL_DAMAGE 0.10 ADDITIVE_MULTIPLIER
PointRewards:
- Type: TALENT_POINTS
PerLevel: 1
SpellUnlocks:
- MagicMissile
- Fireball 5
- Polymorph 20
Bindings:
- 1 MagicMissile
TalentTree:
PointType: TALENT_POINTS
Menu: wizard_talents
Talents:
ArcaneIntellect:
MaxPoints: 5
Components:
- Type: STATS
Stats:
- SPELL_DAMAGE 0.02 ADDITIVE_MULTIPLIER
InitSkills:
- sound{s=block.enchantment_table.use} @self
- message{m="<gold>You have become a Wizard!"} @self
LevelSkills:
- sound{s=ui.toast.challenge_complete} @self
Passive on-event hooks via Skills:
The Skills: block runs Mythic skills with triggers for as long as the player holds the archetype. Useful for passives that don't need to be a learnable spell:
Berserker:
Group: CLASS
Display: '&cBerserker'
Skills:
- sound{s=entity.wither.spawn;v=0.4} @self ~onDamaged
- effect:particles{p=crit;amount=10} @self ~onAttack
- message{m="&c+5% damage!"} @self ~onTimer:200 ?inCombat
Click-combo overrides per archetype
You can override which slot a click combo maps to on a per-archetype basis. This is useful when different classes should have different "default" combo layouts:
Rogue:
Group: CLASS
ClickCombos:
- 1 LL
- 2 LR
- 3 RL
- 4 RR
See Casting for how slot-mode click combos work.