Mount Controllers are, in essence, the various modes in which a model can be controlled by a mounted player. Each entity has its own instance of mount controller, and these controllers are stored in the mount managers of active models.
Each active model contains an instance of mount manager, separate to other active models. However, by default, only one manager is responsible for controlling the model. All driver seats not from the main mount manager would be treated as passenger seats.
The implemented Controllers are:
walking
Modeled Entities controlled this way will behave as you would normally expect a mount to - with a WASD ground controller and the ability to jump if the mounted player does so
force_walking
Like walking
, but the mounted player is not able to dismount on its own
flying
This Controller will make the Modeled Entity fly, and the player will be able to control it via the following controls:
- WASD to move on the horizontally
- Jump/Shift to go up/down
- Shift while on the ground to dismount
force_flying
Like flying
, but the mounted player is not able to dismount on its own
Meta Controllers
Named after Metaskills, meta controller is a special type mount controllers unique to MythicMobs. It allows users to create custom mount controller with the use of skill configs.
Meta controllers are called each tick, and every call has special
skill-scoped variables that contains
entity-specific data such as WASD inputs, speed, velocity etc. To obtain these values, use skill.meg:[variable_name]
.
To use them as placeholders, use <skill.var.meg:[variable_name]>
. Here is a list of variables:
Variable | Description | Type |
---|---|---|
rider | Is the controller running as driver or passenger
|
String |
front | Front and back input. Positive number = front (W), negative number = back (S) These values are not exactly 1 or -1 |
Float |
side | Left and right input. Positive number = left (A), negative number = right (D) These values are not exactly 1 or -1 |
Float |
jump | Is the rider jumping (space bar). 1 = true, 0 = false | Integer |
sneak | Is the rider sneaking (shift). 1 = true, 0 = false | Integer |
on_ground | Is the entity on ground. 1 = true, 0 = false | Integer |
speed | Value of the movement speed attribute of the entity | Float |
vx | X component of the entity's velocity | Float |
vy | Y component of the entity's velocity | Float |
vz | Z component of the entity's velocity | Float |
Model Engine also provides a few accessor mechanics that allows users to interact with the movement controller of entities directly. You can check out the Controller section of our mechanics page.