Menu And Command Functions
MythicRPG registers custom functions on top of MythicMobs so that menus and command skills can drive archetype, talent, spell, and point behavior without any Java. There are three kinds:
- Menu functions plug into a MythicMobs custom menu through a
Function:block. - Command functions plug into a MythicMobs command skill through its
Command.Functionblock. - Command completions provide tab-completion for those command arguments through
Command.Completions.
Write function type names exactly as shown; all registered names are lowercase. Menu function names are matched case-sensitively; command function and completion names are matched case-insensitively. Several types accept aliases (listed per function).
Menu Functions
Menu functions come in two flavors depending on where the Function: block is placed:
- Button functions sit on a single icon's
Function:block and drive that one icon. - Binding functions sit on the menu's top-level
Function:block and auto-fill the paged content area (the$cells in theSchema) with a generated list of icons.
talent
Button function. Renders one talent from a talent tree using the talent's investment icon and tooltip. Left click invests a point into the talent; right click refunds one, but only if the tree has TalentsForgettable: true.
Aliases: talent, skill_tree.
| Option | Description | Default |
|---|---|---|
TalentTree |
The talent tree id the talent belongs to (alias Archetype). |
(none) |
Talent |
The talent id within that tree. | (none) |
BLADE_DISCIPLINE:
Mapping: A
Material: IRON_SWORD
Function:
Type: talent
TalentTree: WARRIOR
Talent: BLADE_DISCIPLINE
choose_archetype
Lets players pick an archetype. Registered both as a binding function and as a button function.
Aliases: choose_archetype, pick_archetype.
As a binding function (top-level Function:), it fills the content area with one clickable icon per archetype. Clicking one runs the swap preflight, deducts the swap cost, and sets the archetype (refunding the cost if the swap is cancelled or fails). If Group is set, only archetypes in that group are listed; otherwise every archetype is listed.
| Option | Description | Default |
|---|---|---|
Group |
Restrict the listing to archetypes in this group. | (all archetypes) |
example_class_select:
Display: '<gold>Example Classes'
Size: 27
Function:
Type: choose_archetype
Group: CLASS
Schema:
- 'X X X X X X X X X'
- 'X $ $ $ $ $ $ $ X'
- 'X X X X X X X X X'
Icons:
FILLER:
Mapping: X
Material: BLACK_STAINED_GLASS_PANE
Display: ''
As a button function (on a single icon), it only renders the given archetype's configured icon; clicks are not handled. Use the binding form for selection.
| Option | Description | Default |
|---|---|---|
Archetype |
The internal name of the archetype to show. | (none) |
spells
Binding function. Fills the content area with the player's known spells: active spells first, then passive spells, each sorted by internal name.
Aliases: spells, known_spells. Takes no options.
spellbook:
Display: '<gold>Known Spells'
Size: 54
Function:
Type: spells
Schema:
- 'X X X X X X X X X'
- 'X $ $ $ $ $ $ $ X'
- 'X $ $ $ $ $ $ $ X'
- 'X X X X X X X X X'
reset_talent_tree
Button function. On left or right click, refunds all points invested in a talent tree. The tree is resolved from TalentTree first; if that is unset, Group is used to find the player's current archetype in that group and reset its tree.
Aliases: reset_talent_tree, talent_tree_reset.
| Option | Description | Default |
|---|---|---|
TalentTree |
The talent tree id to reset (alias Archetype). Takes priority. |
(none) |
Group |
Archetype group; resets the current archetype's tree in it. | (none) |
RESET:
Mapping: R
Material: BARRIER
Display: '<red>Reset Warrior Talents'
Function:
Type: reset_talent_tree
TalentTree: WARRIOR
reset_point_type
Button function. On left or right click, refunds every spent point of a given point type across the whole profile.
Aliases: reset_point_type, point_type_reset.
| Option | Description | Default |
|---|---|---|
PointType |
The point type to reset (alias Point). |
(none) |
RESET_POINTS:
Mapping: R
Material: BARRIER
Display: '<red>Reset Talent Points'
Function:
Type: reset_point_type
PointType: TALENT
Command Functions
Command functions are attached to a MythicMobs command skill through the Command.Function block. Type selects the function; the remaining keys are its options.
CLASS_CHOOSE_COMMAND:
Skills: []
Command:
Id: choose
Parent: CLASS_COMMAND
Function:
Type: archetype_choose
Group: CLASS
Usage: /class choose [class]
Completions:
archetype:
- $archetypes
- CLASS
opentalentmenu
Opens the talent tree menu configured under the tree's Menu: option. If TalentTree is set, opens that tree's menu directly; otherwise Group is used to find the player's current archetype in that group and open its tree's menu.
| Option | Description | Default |
|---|---|---|
TalentTree |
The talent tree id whose menu to open (alias Archetype). |
(none) |
Group |
Archetype group; opens the current archetype's tree menu. | (none) |
CLASS_TALENTS_COMMAND:
Skills: []
Command:
Id: talents
Parent: CLASS_COMMAND
Function:
Type: opentalentmenu
Group: CLASS
archetype_choose
Chooses an archetype from the command line. If Group is set, the group is fixed and the command takes one argument (the archetype); otherwise the first argument is the group and the second is the archetype. Checks eligibility and the swap preflight, deducts the swap cost, unlocks the archetype if the player has not unlocked it, and sets it. Sends a confirmation message when Configuration.CommandFeedback is enabled in the archetypes config (default true).
| Option | Description | Default |
|---|---|---|
Group |
The archetype group. If unset, taken from args. | (none) |
Usage |
Usage string shown on bad input. | /archetype choose <group> <archetype> |
archetype_list
Lists the archetypes available in a group in chat. If Group is set the group is fixed; otherwise it is read from the first argument.
| Option | Description | Default |
|---|---|---|
Group |
The archetype group. If unset, taken from args. | (none) |
Usage |
Usage string shown on bad input. | /archetype list <group> |
talent_tree_reset
Refunds all points in a talent tree from the command line. If TalentTree is set, resets that tree directly; otherwise Group (fixed or read from the first argument) is used to reset the player's current archetype's tree.
| Option | Description | Default |
|---|---|---|
TalentTree |
The talent tree id to reset (alias Archetype). Takes priority. |
(none) |
Group |
Archetype group. If unset, taken from args. | (none) |
Usage |
Usage string shown on bad input. | /archetype reset <group> |
talent_invest
Invests points into a single talent. Repeats Amount times, stopping early if a point cannot be invested. Force bypasses the normal requirement checks.
| Option | Description | Default |
|---|---|---|
TalentTree |
The talent tree id (alias Archetype). |
(none) |
Talent |
The talent id within that tree. | (none) |
Amount |
Number of points to invest (minimum 1). |
1 |
Force |
Bypass requirement checks. | false |
INVEST_STRENGTH:
Skills: []
Command:
Id: strength
Function:
Type: talent_invest
TalentTree: RPG_ATTRIBUTES
Talent: STRENGTH
Amount: 1
talent_divest
Refunds points from a single talent. Repeats Amount times, stopping early if a point cannot be refunded. Requires the tree to have TalentsForgettable: true unless Force is set.
| Option | Description | Default |
|---|---|---|
TalentTree |
The talent tree id (alias Archetype). |
(none) |
Talent |
The talent id within that tree. | (none) |
Amount |
Number of points to refund (minimum 1). |
1 |
Force |
Ignore TalentsForgettable and bypass checks. |
false |
Command Completions
Command completions provide tab-completion for a command argument. They are placed under Command.Completions as a named list whose first entry is the completion function name; any further entries are positional options.
$archetypes
Completes archetype internal names. If a group name is given as the second list entry, only archetypes in that group are completed; otherwise every archetype is completed.
Completions:
archetype:
- $archetypes
- CLASS
$archetypegroups
Completes every archetype group name. Takes no options.
Completions:
group:
- $archetypegroups