Configuring Skills in Fivemon
 This guide explains how to configure Monster Skills (Fly, Ride, Surf, Dive, Carry) using the monsters-wrappers script in your Fivemon server.
 
 File Location
 Skill configuration files are located at data/
 You will find:
  fly.json  ride.json  carry.json  surf.json  dive.json  
 Each file defines the configuration for a specific movement skill.
 
 Ped Type — ⚠️ Important
 Each Monster model has a ped type that determines which animation dictionaries it supports.
 If you use animations not supported by the ped type, the skill will not work correctly or will bug out.
 How to check the ped type:
  -  
Open:
 [assets]/monster_models/peds.meta
   -  
Search for the model name of your Monster (e.g., charizard, slowpoke, etc.).
   -  
Inside the entry, look for this tag:
 <PoseMatcherName>deer</PoseMatcherName>
 Common values:
    -  
Make sure the monster animations you choose (e.g., skydive@freefall, creatures@boar@move) are compatible with the ped type.
   
 
 Common Concepts
 Each skill configuration contains entries per Monster, specifying how the player is attached to the model, which animations are used, and more.
 The fields vary slightly depending on the skill.
 Carry.json – All Configurable Parameters (with Defaults)
 The Carry.json file is used to define Monster that carry the player, typically smaller ones (like Bulbasaur or Pikachu), in the Fivemon framework.
 Below is the full list of parameters you can configure for this skill, along with default values and explanations.
 
 Basic Identifiers
    | Field |  Default |  Description |  
    id |  — |  Pokédex ID of the Monster. |  
  name |  — |  Monster name (must exactly match model name). |  
  
 
 Player Mounting
 These define how the player is positioned on the Monster.
    | Field |  Default |  Description |  
    attachPosX |  0.0 |  X-axis offset from the Monster's bone. |  
  attachPosY |  0.0 |  Y-axis offset. |  
  attachPosZ |  0.0 |  Z-axis offset (height). |  
  attachRotX |  0.0 |  Rotation on the X-axis (pitch). |  
  attachRotY |  0.0 |  Rotation on the Y-axis (roll). |  
  attachRotZ |  0.0 |  Rotation on the Z-axis (yaw). |  
  
 
 Attachment Bone
    | Field |  Default |  Description |  
    bone |  0x796E |  Bone where the player is attached. Must be valid for the model. |  
  
 
 Animation
 These control how the player animates while being carried.
    | Field |  Default |  Description |  
    animDict |  "amb@prop_human_seat_chair@male@generic@base" |  Animation dictionary for the player. |  
  animName |  "base" |  Animation name within the dictionary. |  
  
 Example Entry
 {
  "id": 1,
  "name": "bulbasaur",
  "attachPosX": 0.2,
  "attachPosY": -0.3,
  "attachPosZ": 0.0,
  "attachRotX": 0.0,
  "attachRotY": 90.0,
  "attachRotZ": -80.0,
  "bone": "0x60F2",
  "animDict": "creatures@pug@move",
  "animName": "idle"
}
 Ride.json – All Configurable Parameters (with Defaults)
 The Ride.json file controls how a player rides on a Monster using the Ride skill in Fivemon.
 Below is a complete list of supported parameters, their default values, and what they control.
 
 Basic Identifiers
    | Field |  Default |  Description |  
    id |  — |  Pokédex ID of the Monster. |  
  name |  — |  Name of the Monster (must match model name). |  
  
 
 Player Mounting
    | Field |  Default |  Description |  
    attachPosX |  0.0 |  Player's horizontal offset (left/right) from the Monster. |  
  attachPosY |  0.0 |  Player's vertical offset (front/back). |  
  attachPosZ |  0.0 |  Player's height offset. |  
  attachRotX |  0.0 |  Player's pitch angle. |  
  attachRotY |  0.0 |  Player's roll angle. |  
  attachRotZ |  0.0 |  Player's yaw angle (rotation around vertical axis). |  
  
 
 Mounting Bone
    | Field |  Default |  Description |  
    bone |  0x796E |  Bone to attach the player to. Can be a hex string or number. |  
  
 
 Mounting Animation
    | Field |  Default |  Description |  
    animDict |  "amb@prop_human_seat_chair@male@generic@base" |  Animation dictionary for player while mounted. |  
  animName |  "base" |  Animation name within the dictionary. |  
  
 
 Special Action Animation (Optional)
 These are used when a special action (e.g., attack, emote) is triggered during riding.
    | Field |  Default |  Description |  
    animEspecialDict |  "creatures@deer@melee@streamed_core@" |  Special animation dictionary (if not ""). |  
  animEspecialName |  "attack" |  Special animation name. |  
  | Note |  If "", the animation is skipped (nil). |   |  
  
 
 Camera Settings
    | Field |  Default |  Description |  
    camZoom |  6.0 |  Third-person camera zoom when riding. Higher = zoomed out. |  
  
 
 Movement Speed
    | Field |  Default |  Description |  
    maxSpeed |  3.0 |  Maximum speed of the Monster while riding. |  
  minSpeed |  2.0 |  Minimum movement speed. |  
  
 Example Entry
 {
  "id": 143,
  "name": "snorlax",
  "attachPosX": 1.1,
  "attachPosY": -1.0,
  "attachPosZ": 0.0,
  "attachRotX": 0.0,
  "attachRotY": 90.0,
  "attachRotZ": -40.0,
  "animDict": "missexile3",
  "animName": "ex03_train_roof_idle",
  "bone": "0x60F2",
  "camZoom": 8.0,
  "maxSpeed": 4.0,
  "minSpeed": 2.0
}
 Surf.json – All Configurable Parameters (with Defaults)
 The Surf.json file defines how a Monster behaves when using the Surf skill, allowing the player to ride it on water surfaces.
 Below is a full breakdown of the supported parameters, with defaults and clear explanations.
 
 Basic Identifiers
    | Field |  Default |  Description |  
    id |  — |  Pokédex ID of the Monster. |  
  name |  — |  Monster name (must match model name exactly). |  
  
 
 Player Mounting
    | Field |  Default |  Description |  
    attachPosX |  0.0 |  X offset of the player from the Monster. |  
  attachPosY |  0.0 |  Y offset (front/back). |  
  attachPosZ |  0.0 |  Z offset (height). |  
  attachRotX |  0.0 |  Rotation around X-axis (pitch). |  
  attachRotY |  0.0 |  Rotation around Y-axis (roll). |  
  attachRotZ |  0.0 |  Rotation around Z-axis (yaw). |  
  
 
 Animations
    | Field |  Default |  Description |  
    animDict |  "amb@prop_human_seat_chair@male@generic@base" |  Player animation dictionary. |  
  animName |  "base" |  Player animation name. |  
  pokemonAnimDict |  "swimming@swim" |  Monster’s looped animation dict while surfing. |  
  pokemonAnimName |  "run" |  Monster’s animation name. |  
  
 
 Water / Animation Behavior
    | Field |  Default |  Description |  
    waterModifier |  0.08 |  Extra buoyancy modifier while surfing. |  
  animModifier |  0.11 |  Extra animation speed multiplier. |  
  baseAnimSpeed |  0.6 |  Base animation speed for the Monster while surfing. |  
  
 
 Movement Speeds
    | Field |  Default |  Description |  
    speedXMax |  3.0 |  Maximum forward speed. |  
  speedXMin |  -0.3 |  Minimum backward speed. |  
  speedYMax |  0.3 |  Maximum lateral (strafe) speed. |  
  speedYMin |  -0.1 |  Minimum lateral speed. |  
  
 
 Acceleration / Deceleration
    | Axis |  Acceleration |  Default |  Deceleration |  Default |  
    | X (forward/back) |  accelerationX |  1.0 |  decelerationX |  0.2 |  
  | Y (sideways) |  accelerationY |  1.0 |  decelerationY |  0.2 (shares decelerationX) |  
  
 
 Rotation and Motion Effects
    | Field |  Default |  Description |  
    speedRot |  100 |  Rotation speed when turning. |  
  period |  200 |  Time (ms) between up-down bobbing cycles. |  
  amplitude |  0.5 |  Height/intensity of the bobbing. |  
  
 
 Positional Offsets
    | Field |  Default |  Description |  
    zOffset |  1.0 |  Height above water level. |  
  zGround |  0.0 |  Offset used when returning to land (optional). |  
  
 
 Camera
    | Field |  Default |  Description |  
    camZoom |  6.0 |  Zoom level of the camera while surfing. Higher = more zoomed out. |  
  
 Example Entry
 {
  "id": 79,
  "name": "slowpoke",
  "pokemonAnimDict": "creatures@boar@move",
  "pokemonAnimName": "gallop",
  "animModifier": 0.08,
  "baseAnimSpeed": 0.1,
  "attachPosX": -0.05,
  "attachPosY": -0.1,
  "attachPosZ": 0.45,
  "zOffset": 0.7,
  "zGround": 0.0,
  "camZoom": 7.0
}
 Dive.json – All Configurable Parameters (with Defaults)
 The Dive.json file defines how a Monster behaves when using the Dive skill, allowing underwater navigation in your Fivemon server.
 Here is the full list of available parameters with their default values and function.
 
 Basic Identifiers
    | Field |  Default |  Description |  
    id |  — |  Pokédex ID of the Monster. |  
  name |  — |  Monster name (must match the model name). |  
  
 
 Player Mounting
    | Field |  Default |  Description |  
    attachPosX |  0.0 |  X-axis offset for mounting. |  
  attachPosY |  0.0 |  Y-axis offset. |  
  attachPosZ |  0.0 |  Z-axis offset (vertical). |  
  attachRotX |  0.0 |  Pitch angle. |  
  attachRotY |  0.0 |  Roll angle. |  
  attachRotZ |  0.0 |  Yaw angle. |  
  
 
 Animations
    | Field |  Default |  Description |  
    animDict |  "amb@prop_human_seat_chair@male@generic@base" |  Animation dictionary for the player. |  
  animName |  "base" |  Player animation name. |  
  pokemonAnimDict |  "swimming@swim" |  Animation dictionary used by the Monster. |  
  pokemonAnimName |  "run" |  Looping animation played on the Monster. |  
  pokemonTurboAnimDict |  "anim@arena@celeb@flat@solo@no_props@" |  Animation for boost/turbo. |  
  pokemonTurboAnimName |  "flip_a_player_a" |  Boost animation name. |  
  
 
 Water Movement Behavior
    | Field |  Default |  Description |  
    waterModifier |  0.08 |  Modifier affecting water resistance. |  
  animModifier |  0.11 |  Animation speed multiplier. |  
  baseAnimSpeed |  0.6 |  Base animation playback speed. |  
  
 
 Movement Speeds
    | Field |  Default |  Description |  
    speedXMax |  3.0 |  Max forward speed. |  
  speedXMin |  -0.3 |  Max backward speed. |  
  speedYMax |  0.3 |  Max strafe speed. |  
  speedYMin |  -0.1 |  Min strafe speed. |  
  speedZMax |  2.0 |  Max ascend (upward) speed. |  
  speedZMin |  -1.5 |  Max dive (downward) speed. |  
  
 
 Acceleration / Deceleration
    | Axis |  Acceleration |  Default |  Deceleration |  Default |  
    | X (forward/back) |  accelerationX |  1.0 |  decelerationX |  0.2 |  
  | Y (strafe) |  accelerationY |  1.0 |  decelerationY |  0.2 (uses decelerationX) |  
  | Z (vertical) |  accelerationZ |  0.5 |  decelerationZ |  0.4 |  
  
 
 Rotation and Motion Effects
    | Field |  Default |  Description |  
    speedRot |  100 |  Rotation speed when turning. |  
  period |  200 |  Time in ms between wave bobs. |  
  amplitude |  0.5 |  Intensity of up/down motion (bobbing effect). |  
  
 
 Positional Offsets
    | Field |  Default |  Description |  
    zOffset |  1.0 |  Height offset for underwater movement. |  
  zGround |  0.0 |  Offset when surfacing or grounding. |  
  
 
 Camera
    | Field |  Default |  Description |  
    camZoom |  6.0 |  Camera zoom while diving. |  
  
 Example Entry
 {
  "id": 79,
  "name": "slowpoke",
  "pokemonAnimDict": "creatures@boar@move",
  "pokemonAnimName": "gallop",
  "animModifier": 0.08,
  "baseAnimSpeed": 0.1,
  "attachPosX": -0.05,
  "attachPosY": -0.1,
  "attachPosZ": 0.45,
  "zOffset": 0.7,
  "zGround": 0.0,
  "camZoom": 7.0,
  "pokemonTurboAnimDict": "anim@arena@celeb@flat@solo@no_props@",
  "pokemonTurboAnimName": "flip_a_player_a"
}
 Fly.json – All Configurable Parameters (with Defaults)
 The Fly.json file controls how a Monster behaves while flying in Fivemon. Below is the full list of parameters you can configure, along with their default values and an explanation of what each one does.
 Basic Identifiers
    | Field |  Default |  Description |  
    id |  — |  Pokédex ID of the Monster. |  
  name |  — |  Monster name (must match internal model name). |  
  
 
 Player Mounting
    | Field |  Default |  Description |  
    attachPosX |  0.0 |  X offset where the player is mounted on the Monster. |  
  attachPosY |  0.0 |  Y offset for mounting position. |  
  attachPosZ |  0.0 |  Z offset (height) of the mounted player. |  
  attachRotX |  0.0 |  Rotation around X-axis. |  
  attachRotY |  0.0 |  Rotation around Y-axis. |  
  attachRotZ |  0.0 |  Rotation around Z-axis. |  
  
 
 Camera
    | Field |  Default |  Description |  
    camZoom |  6.0 |  Camera zoom level when flying. Higher = more zoomed out. |  
  
 
 Player Animation (Optional)
    | Field |  Default |  Description |  
    animDict |  "amb@prop_human_seat_chair@male@generic@base" |  Animation dictionary for the player. |  
  animName |  "base" |  Name of the animation from animDict. |  
  
 
 Monster Animations (States)
 These control how the Monster animates during various phases of flight:
    | Phase |  Dict Field |  Default |  Name Field |  Default |  
    | Take-off |  pokemonUpAnimDict |  "skydive@freefall" |  pokemonUpAnimName |  "free_back" |  
  | Idle in air |  pokemonIdleAnimDict |  "skydive@base" |  pokemonIdleAnimName |  "free_idle" |  
  | Descending |  pokemonDownAnimDict |  "skydive@freefall" |  pokemonDownAnimName |  "free_forward" |  
  | Turning left |  pokemonLeftAnimDict |  "skydive@freefall" |  pokemonLeftAnimName |  "free_left" |  
  | Turning right |  pokemonRightAnimDict |  "skydive@freefall" |  pokemonRightAnimName |  "free_right" |  
  | Turbo / Speed boost |  pokemonTurboAnimDict |  "anim@arena@celeb@flat@solo@no_props@" |  pokemonTurboAnimName |  "flip_a_player_a" |  
  
 You can customize each animation set to make flying look more dynamic or unique.
 
 Flight Speeds
 These define movement limits and feel of the flying controls.
    | Field |  Default |  Description |  
    speedXMax |  9 |  Maximum forward speed. |  
  speedXMin |  -0.9 |  Minimum (backwards) speed. |  
  speedYMax |  0.1 |  Max strafe (left/right) speed. |  
  speedYMin |  -0.1 |  Min strafe speed. |  
  speedZMax |  6 |  Maximum upward speed. |  
  speedZMin |  -10 |  Maximum downward speed. |  
  
 
 Acceleration / Deceleration
    | Axis |  Acceleration |  Default |  Deceleration |  Default |  
    | X (forward/backward) |  accelerationX |  2.5 |  decelerationX |  0.6 |  
  | Y (sideways/strafe) |  accelerationY |  1.0 |  decelerationY |  0.2 |  
  | Z (up/down) |  accelerationZ |  3.0 |  decelerationZ |  0.5 |  
  
 These affect how responsive the flight feels.
 
 Rotation Speed
    | Field |  Default |  Description |  
    speedRot |  100 |  Rotation speed (turning). Higher = faster turning. |  
  
 
 Flight Movement Curve
 These parameters control the natural movement "bobbing" of the Monster while flying.
    | Field |  Default |  Description |  
    period |  200 |  Time (ms) between wave cycles of bobbing. |  
  amplitude |  0.5 |  Height/intensity of the bobbing effect. |  
  
 Example Entry
 {
    "id": 6,
    "name": "charizard",
    "attachPosX": 0.2,
    "attachPosY": -0.3,
    "attachPosZ": 0.0,
    "attachRotX": 0.0,
    "attachRotY": 90.0,
    "attachRotZ": -90.0,
    "camZoom": 8.0
}
 
 Real-time Testing
  -  
Add a basic boilerplate for the monsters you want to configure and restart monsters-wrapper and then uri-core.
   -  
Use /testMoveSkillValue [key] [value] while mounted to adjust values live.
   -  
Use /testMoveSkillExport while mounted to export current settings to console.
  -  
Paste exported values into the correct JSON.
   -  
Validate formatting.
   -  
Restart monsters-wrapper and uri-core.
   
   -  
Tip use a console command (F8) and use healTrainerTeam me; testMoveSkillValue [key1] [value1]; testMoveSkillValue [key2] [value2]; testMoveSkillValue [key3] [value3] adding all the commands you want. We use healTrainerTeam me to heal the PPs to avoid skill not being able to start.
   -  
Here you can find a bones list, use the "ID": Bone list