[Temporary Wiki] 3.0 Features - Ticxo/Model-Engine-Wiki GitHub Wiki

New Bone Types

Item Bone

Tags: ih_ for head display, ir_ for main hand display, il_for off hand display
No cubes in bone

Used to display an item on the desired slot.
Unlike the old hand bone, this bone is not linked to any equipment slots of the base entity. Although it would not auto-update, you can create as many item bones and hold as many item types as you want.
Configure the item display with SetItemModel mechanic.

Leash Bone

Tags: l_
No cubes in bone

Mark a bone as the attachment point when being leashed. Can have multiple.
Connect a leash to this bone with the Leash mechanic.
The bone can also be the source of the leash with LeashSelf mechanic.

Rendered Ghost Bone

Tags: g_
No cubes in bone

Mark a ghost bone as rendered in-game.
Normal ghost bones (bones without cubes inside) are only used internally and do not spawn armor stands. Marking them as rendered would cause them to spawn an armor stand, but will not display any models.
You can set the model of a rendered ghost bone using the ChangePart mechanic.


MM Model Mechanics

BodyClamp

Configure the rotational interaction between the head bone and body bone.

Attribute Aliases Description Default
headuneven hu, head Is the head clamp uneven (used while model is walking) false
maxhead mh, mxh Maximum angle the head can rotate 50
minhead mnh Minimum angle the head can rotate -maxhead
bodyuneven bu, body Is the body clamp uneven (used while model is idling) false
maxbody mb, mxb Maximum angle the body can rotate 50
minbody mnb Minimum angle the body can rotate -maxbody
playermode m, mode, player Should the body reorient itself like vanilla mobs false
stable s Stable angle before the body rotatesE.g. if maxbody = 50, and stable = 15, the head can rotate freely until it passes 65 degrees,then the body would snap back to be 50 degrees apart from the head. 15
rdelay rde Delay in ticks before the body reorient itself 10
rduration rdu How long in ticks would the body take to reorient itself 10

DefaultState

Configure the default states of a model.

Attribute Aliases Description Default
modelid m, mid, model The model being changed
type t The default state getting changed
state s Animation name
lerpin li Lerp in tick prev
lerpout lo Lerp out tick prev
speed sp Speed modifier prev

Leash

Visually link a leash bone to the target.

Attribute Aliases Description Default
modelid m, mid, model The model being changed
partid p, pid, part Leash bone
leash l Is leashed to target

LeashSelf

Link a leash bone to another.

Attribute Aliases Description Default
modelid m, mid, model The model being changed
sourceid s, sid, src, source The leash bone being leashed
destid d, did, dest The leash bone holding the leash

The leash would be visible as long as the destination is in view, or it will disappear. Double leash if you need it to be always visible (leash A to B, then leash B to A)


MountModel

If the model has driver/passenger bones, mount entities to those bones.

Attribute Aliases Description Default
driver d, drive Is this mechanic mounting a driver true
force f Should the target be forced to mount on the boneDriver: dismount the original driver and mount the targetPassenger: find a seat with the least passengers and mount the target false
autodismount ad If the target is already mounted on another seat, should the target dismount from the old seat and mount on the new seat false
damagemount dmg Can the mounted entity damage the mount false
mode m What mount mode should the mounted entity useWalking: WASD ground controllerFlying: WASD-Sneak-Jump aerial controller (jump to ascend, shift to descend, shift while mount on ground to dismount)Flying_v16: WASD-Pitch-Jump aerial controller for 1.16 (look up + space to ascend, look down + space to descend)Force_Walking: Same as Walking, but mounted entity cannot dismountForce_Flying: Same as Flying, but mounted entity cannot dismount walking
modelid mid, model Not Driver: The model ID of the passenger bones.
pbone p Not Driver: A list of seats searched when mounting entitiesFormat: pbone=seat1,seat2,seat3If force is not enabled, this will fill all the seats until no more passengers can be mounted.

SubModel

Add or remove a part of a different model to the targeted model. This will create all child bones contained in the substitution, with the offset and rotation taken from the model.

Attribute Aliases Description Default
modelid m, mid, model The targeted model
partid p, pid, part The targeted part
subpartid sp, spid, subpart The new part
remove r Is this mechanic removing a part

SetModelTag

Set the name displayed on the name tag of the model.

Attribute Aliases Description Default
modelid m, mid, model The targeted model
bone b The selected bone
tag t The name, or a placeholder string
visible v The visibility of the name tag true

SwapEntity

Swap the model owner from one entity to the target.

Attribute Aliases Description Default
modelid m, mid, model The targeted model
hitbox h Should override hitbox true
invisible i, invis Should the base entity be invisible true
step s New step height of receiver entity 0.5
radius rad View radius of the model base entity default

LockModel

Lock all yaw rotation of the model. Useful when trying to execute a skill without the model turning.

Attribute Aliases Description Default
lock l True to lock the model rotation.This would lock both the head and body yaw rotation,but animations do still play. true

SetItemModel

Set the item displayed on an item bone.

Attribute Aliases Description Default
modelid m, mid, model The targeted model
bone b The targeted item bone
item i The material name of a vanilla item, or the name of a MM item.If this attribute is not set, it would set the item as AIR.

MM VFX Mechanics

VFX

Set the VFX of the mob.

Attribute Aliases Description Default
modelid m, mid, model The model id of the VFX
partid p, pid, part The part id of the VFX
remove r Is this mechanic used for removing a VFX false
radius rad The view radius of the VFX base entity default
color c The color of the VFX FFFFFF
enchant en If the VFX is enchanted false
visible v If the VFX is visible true
bvisible bv If the base entity of the VFX is visible. false
autotick at Should the VFX update by itselfWhen enabled, the VFX would update location, pitch and yaw false
autorange ar Should the VFX spawn/despawn automatically to player based on distance true

VFXSpawn

Removed.


VFXPoint

Removed useyaw attribute.


VFXObserver (vfxobs)

Manually set the target to see the vfx.

Attribute Aliases Description Default
remove r Hide from targets false
force f Force the target to see the VFX false

VFXChangeModel

Change the model of the VFX. The armor stand holding the VFX would change size if the VFX uses a different size.

Attribute Aliases Description Default
modelid m, mid, model The model id of the new VFX model
partid p, pid, part The part id of the new VFX model

Scriptable keyframes

Using the script keyframe, you can now call MM skills or MEG commands at the exact animation frame. You can add new script keyframes by opening the effects timeline within Blockbench.
image
Afterward, add a new keyframe on the Instructions timeline. Instead of the normal XYZ input, you will see an input called Script.
image

MM Skills

You can call any custom-defined MM skills by using the prefix mm: and the skill name. For example:

Primary_5:
  Skills:
    - message{m="Get punched";audience=world} @self
    - explode @ModelPart{m=dr_axis;p=attack_point}

image
You can even use Skill Parameters within keyframes.

Primary_5:
  Skills:
    - message{m=<skill.dialogue>;audience=world} @self
    - explode @ModelPart{m=dr_axis;p=attack_point}

image

MEG Commands

MEG Commands are, by design, structurally very similar to MM mechanics. Currently, we have 7 commands which have the same attributes as their MM mechanic counterpart. However, all commands will only target the model you are editing.

To use a MEG command, you just enter it like using them as a normal mechanic.
image

Multiline scripts

You can write multiple lines of scripts into a single keyframe, and you can also mix and match different script types.
image
This keyframe would run the MM Skill that plays the dialogue and effect first, then the MEG command to enchant the arm bone.

Using Animation Variables

Finally, you can make use of the Variable Placeholder system provided by Blockbench itself. This system is also extremely similar to MM's variable system, and it works on both MM skills and MEG commands.
image

Video Demo