Commands

BMModel

Adds or removes a model from an entity. This is necessary for entities that can have multiple models.

  • Syntax: bmmodel entity:<entity> model:<model> (remove)

  • Examples:

    • To add a model: bmmodel entity:<context.entity> model:my_model

    • To remove a model: bmmodel entity:<context.entity> model:my_model remove


BMState

Plays or stops a layered animation state on a specific model on an entity, optionally limited to specific bones. Supports multiple concurrent animations by allowing animations on specific parts of the model.

  • Syntax: bmstate entity:<entity> model:<model> state:<animation> (bones:<list>) (loop:<once|loop|hold>) (speed:<#.#>) (lerp_duration:<duration>) (remove)

  • Arguments:

    • bones:<list>: Optional list of bone names to apply the animation to (defaults to entire model).

    • loop: Playback mode: once, loop, or hold.

    • speed:<#.#>: Playback speed multiplier.

    • lerp_duration:<duration>: Transition duration between animation states.

    • for_players:<list_of_players>: Only shows the animation to specified players.

    • remove: Stops the specified animation.

  • Examples:

    • Looping 'walk' on specific leg bones:

      • bmstate entity:<context.entity> model:robot state:walk bones:left_leg|right_leg loop:loop

    • One-shot 'shoot' on the arm without stopping other animations:

      • bmstate entity:<context.entity> model:robot state:shoot bones:right_arm


BMBillboard

Applies a billboard effect to a specific bone of a model, making it always face the player.

  • Syntax: bmboard entity:<entity> model:<model> bone:<bone> type:<fixed|vertical|horizontal|center>

  • Types:

    • fixed: Disables the billboard effect.

    • vertical: Rotates on the Y-axis only.

    • horizontal: Rotates on the X and Z axes.

    • center: Rotates on all axes to face the player.

  • Example:

    • bmboard entity:<context.entity> model:my_mob bone:head type:center


BMLimb

Plays a player-specific animation sourced from models in the players folder. To stop a looping or held animation, play another animation over it.

  • Syntax: bmlimb target:<player> model:<model_animator> animation:<animation_name> (loop:<once|loop|hold>) (hide:<player>)

  • Modes:

    • once: Plays a single time (default).

    • loop: Repeats indefinitely.

    • hold: Plays once and freezes on the final frame.

  • Examples:

    • bmlimb target:<player> model:steve animation:roll

    • bmlimb target:<player> model:player_gestures animation:dance loop:loop

    • bmlimb target:<player> model:player_poses animation:heroic_pose loop:hold


BMPart

Applies a player's skin part (e.g., head, cape, body) to a specific bone of a model.

  • Syntax: bmpart entity:<entity> model:<model> bone:<bone> part:<part_name> from:<player>

  • Arguments:

    • entity:<entity>: Target entity.

    • model:<model>: BetterModel model name attached to the entity.

    • bone:<bone>: Bone name within the model.

    • part:<part_name>: One of the PlayerLimb values (e.g., head, body, left_arm, cape).

    • from:<player>: Player whose skin will be used.

  • Description:

    • Dynamically maps the specified bone to a part of the player's skin using BetterModel's skin manager and bone item mapper.

  • Example:

    • bmpart entity:<[statue_entity]> model:statue_model bone:head part:head from:<player>


BMMount

Mounts or dismounts an entity from a model's bone.

  • Syntax: bmmount [<entity_to_mount>] on:<bmbone> (dismount) (dismount_all)

  • Arguments:

    • <entity_to_mount>: Entity to mount (optional for dismount_all).

    • on:<bmbone>: Target bone (must be configured as a seat in the model file).

    • dismount: Dismounts the specified entity from the bone.

    • dismount_all: Dismounts all entities from the bone.

Last updated