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.Function block.
  • 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 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 the Schema) 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
Updated Aug 19, 2026