Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
MythicMobs MythicMobs
  • Project overview
    • Project overview
    • Details
    • Activity
  • Issues 136
    • Issues 136
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Operations
    • Operations
    • Incidents
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • MythicCraft
  • MythicMobsMythicMobs
  • Wiki
    • Skills
  • Variables

Variables · Changes

Page history
Create Skills/Variables authored Aug 11, 2020 by Ashen's avatar Ashen
Hide whitespace changes
Inline Side-by-side
Showing with 96 additions and 0 deletions
+96 -0
  • Skills/Variables.md Skills/Variables.md +96 -0
  • No files found.
Skills/Variables.md 0 → 100644
View page @ 51fe7de7
Variables (v4.6+)
-----------------
Variables are a new system for storing information added in v4.6. Using
the variables system, you can store and manipulate values that you can
use in placeholders or conditions later. These values can be either
permanent or temporary.
### Variable Types
Variables can be one of several types, which is defined when the
variable is initialized using the
[setVariable](/skills/mechanics/setvariable) mechanic. Types are
generally interchangeable and MythicMobs will do its best to apply
certain variables to whatever situation is asked, however it will throw
an error if you try to use a variable type for something that makes no
sense.
**Current Types**:
| **Type** | **Description** |
|----------|----------------------------------|
| INTEGER | A number with no decimal places. |
| FLOAT | A number with decimal places. |
| STRING | A word or sentence. |
### Variable Scopes
A variable's "scope" is **where** that variable exists. Not all scopes
are applicable for all situations (e.g. a condition may not have a
caster, rather the caster is the target of the condition).
**Variable Scopes**:
| **Type** | **Where It Goes** |
|----------|----------------------------------------------------------------------------------------------------|
| SKILL | On the current skill tree. Always temporary and will vanish when the current queue of skills ends. |
| CASTER | On the casting mob. |
| TARGET | On the target of the mechanic/condition. |
| WORLD | The current world. |
| GLOBAL | The server. |
### Usage
All variable mechanics and conditions accept **var=** and **scope=**
attributes to determine what variable you're wanting to work with and
where. You can also shorthand the scope using
**var=scope.variable\_name**. The following examples would return the
same thing:
setvariable{var=target.somevariable; ...}
setvariable{var=somevariable;scope=target; ...}
### Variable Mechanics
Variable mechanics are special mechanics that utilize variables. They
can target entities, locations, or nothing, but the target can affect
the outcome depending on what scope you're using. For example, trying to
get a target-scope'd variable will obviously fail if you're not
targeting en entity.
| Mechanic | Description |
|--------------------------------------------------------|--------------------------------------------------|
| [VariableSet](/skills/mechanics/setvariable) | Initializes and sets a variable. |
| [VariableAdd](/skills/mechanics/variableadd) | Adds to a numeric variable. |
| [VariableSubtract](/skills/mechanics/variablesubtract) | Subtracts from a numeric variable. |
| [VariableMath](/skills/mechanics/variablemath) | Lets you do calculations with numeric variables. |
### Variable Conditions
| Condition | Description |
|--------------------------------------------------|------------------------------------------------|
| [Variable Equals](/conditions/variableequals) | Checks if a variable equals a given value. |
| [Variable Is Set](/conditions/variableisset) | Checks if a variable is set. |
| [Variable In Range](/conditions/variableinrange) | Checks if a number variable is within a range. |
### Variable Placeholders
Variables can be referenced in any MythicMobs mechanics or values that
allow placeholders. This is usually done using the format
**<scope.var.\[variable\]>**.
When using placeholder variables, you can also specify a "default" value
that will be used if the variable is undefined by using the syntax
**<scope.var.\[variable\]\|\[default\]>**.
message{m="Hello there, <target.var.title|wanderer>"} @trigger ~onInteract
In this example, the NPC would reply with "Hello there, wanderer" if
right-clicked by somebody who had no "title" variable set on them.
However, if we did this:
setVariable{var=target.title;value="Sir"} @trigger ~onInteract
...somewhere along the line, even with a different mob, the first mob
would say "Hello there, Sir".
Clone repository
  • Home
  • Changelogs
  • Premium Features
  • Commands and Permissions
  • FAQ / Common Issues
  • Mythic Add-ons
  • Compatible Plugins
  • API Information

Mobs

  • Overview
  • Types
  • Mob Options
  • Mob Levels
  • Mob Factions
  • Power Scaling
  • Damage Modifiers
  • Equipment
  • BossBar
  • Custom AI
  • Custom Kill Messages
  • Threat Tables
  • Immunity Tables
  • Extra: Disguises
  • Extra: MiniaturePets

Skills

  • Overview
  • Mechanics
  • Effects
  • Targeters
  • Triggers
  • Conditions
  • Placeholders
  • Variables

Items & Drops

  • Drops and Drop Tables
  • Attributes/Options

Spawning

  • Spawners
  • Random Spawns