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
FieldRequiredDescription
nameYesIdentifier for this mount. Registered as ModName:name.
overrideNoFull name of another mod’s mount to replace. See Overrides.
light-maskNoName of a separate PNG used as the lighting weight mask.
emission-strengthNoFinite emission multiplier, 0 to 64; default 0. Seeds bloom with source RGB times this value. Lit materials approach their authored color up to strength 1; higher values strengthen the halo. Independent of point-light strength/radius. Applies to all frames/states; inventory icons and UI do not emit.
emission-use-light-maskNoDefault false: emit across the sprite. If true, multiply emission per channel by 1 - light-mask.rgb; missing or invalid masks emit nothing. White mask channels receive normal lighting; black channels retain unlit sprite color.
frame-widthYesWidth of a single frame in pixels.
frame-heightYesHeight of a single frame in pixels.
draw-offsetNoMoves the drawn sprite without moving the hitbox, as { x, y } in sheet pixels. x is to the right as the art is drawn (mirrored when the sprite faces left), y is up. Either axis may be omitted. Use it when the creature does not sit centred on the bottom edge of its frame. Default: { x: 0, y: 0 }.
spritesYesList of named animation sequences. At least one required.
sprites[].nameYesAnimation name, used by scripts to trigger playback.
sprites[].frame-countYesHow many frames this animation plays through.
sprites[].frame-time-msNoMilliseconds per frame for uniform timing. Default: 100.
sprites[].frame-durations-msNoPer-frame timing override.
sprites[].draw-offsetNoThe same, for one animation. Replaces the texture’s draw-offset for that animation; animations without one use the texture’s.
statesNoNamed static poses scripts can snap the mount to.
states[].nameYesState name, referenced by mount scripts.
states[].spriteYesWhich sprite this state uses.
states[].frameYesfirst, 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 name field 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.

Last updated