Mount Texture Configuration
Configure textures for mountable mounts — the same sprite sheet, animation, and light mask system used by mobs.
Mounts are rideable entities. Their textures use the exact same system as Mob Texture Configuration — sprite sheet layout, sprites, states, per-frame timing, light masks, YAML anchors, and overrides all work identically. This page covers the mount-specific file locations and naming; see the mob doc for the full mechanics.
File Location
Config file:
mods/<your-mod>/assets/textures/mounts/mounts.yaml
Texture images go in the same folder:
mods/<your-mod>/assets/textures/mounts/<name>.png
The file name must match the name field exactly (case-sensitive), with spaces kept as spaces in the file name.
Minimal Example
textures:
- name: my_mount
sprites:
- name: idle
frame-count: 1
frame-width: 32
frame-height: 32
This registers a mount named my_mount from my_mount.png. It will be referred to as YourMod:my_mount anywhere a mount name is expected.
Full Field Reference
textures:
- name: my_mount # Required. Registered as YourMod:my_mount
override: Creation:test_mount # Optional. Replace another mod's registered mount (see below)
light-mask: my_mount_mask # Optional. Light mask texture
frame-width: 32 # Required. Width of one frame in pixels
frame-height: 32 # Required. Height of one frame in pixels
sprites: # Required. One or more named animation sequences
- name: riding # Required. Animation name
frame-count: 4 # Required. Number of frames in this animation
frame-time-ms: 100 # Optional. Milliseconds per frame (default: 100)
frame-durations-ms: # Optional. Per-frame timing override
- count: 4
duration-ms: 100
states: # Optional. Named static poses
- name: idle
sprite: riding
frame: first
| Field | Required | Description |
|---|---|---|
name | Yes | Identifier for this mount. Registered as ModName:name. |
override | No | Full name of another mod’s mount to replace. See Overrides. |
light-mask | No | Name of a separate PNG used as the light emission mask. |
frame-width | Yes | Width of a single frame in pixels. |
frame-height | Yes | Height of a single frame in pixels. |
sprites | Yes | List of named animation sequences. At least one required. |
sprites[].name | Yes | Animation name, used by scripts to trigger playback. |
sprites[].frame-count | Yes | How many frames this animation plays through. |
sprites[].frame-time-ms | No | Milliseconds per frame for uniform timing. Default: 100. |
sprites[].frame-durations-ms | No | Per-frame timing override. |
states | No | Named static poses scripts can snap the mount to. |
states[].name | Yes | State name, referenced by mount scripts. |
states[].sprite | Yes | Which sprite this state uses. |
states[].frame | Yes | first, last, or a zero-based frame index. |
For the sprite sheet layout diagram, per-frame timing formats, light mask rules, YAML anchor/alias reuse, and override semantics — all identical here — see Mob Texture Configuration.
Complete Example
Based on the real shipped mount texture:
textures:
- name: test_mount
sprites:
- name: test_mount
frame-count: 1
frame-width: 32
frame-height: 32
Overrides
Your mod can replace the texture used for any mount from another mod without changing that mod’s files. Add override with the full mod-namespaced name of the mount to replace:
textures:
- name: my_sailboat
override: OtherMod:sailboat
sprites:
- name: my_sailboat
frame-count: 1
frame-width: 32
frame-height: 32
- The
namefield is still required (it is used to locate your replacement PNG in your mod’s folder). - Your texture file must match the frame dimensions of the original mount.
- Your override entry fully replaces the animation configuration of the original, so you must redeclare all sprites, states, and timing you want to keep.