### Select an NPC for Configuration Source: https://github.com/ticxo/model-engine-wiki/wiki/Modeled-NPC Before applying any changes, ensure the desired NPC is selected. This command targets the NPC currently being looked at. Newly created NPCs are selected by default. ```Command Line /npc select ``` -------------------------------- ### Assign Custom Model to NPC Source: https://github.com/ticxo/model-engine-wiki/wiki/Modeled-NPC After adding the Model trait, use this command to link a specific custom model (identified by ) to the NPC. ```Command Line /meg trait model add ``` -------------------------------- ### DefaultState Usage Example Source: https://github.com/ticxo/model-engine-wiki/wiki/Mechanics This example demonstrates setting Kindletron Jr's walking animation to a running animation when damaged. It highlights the utility of this mechanic for dynamic mob behaviors, such as fleeing. ```Model Engine DSL - defaultstate{m=kindletronjr;t=walk;s=run} @self ~onDamaged ``` -------------------------------- ### SubModel Usage Examples Source: https://github.com/ticxo/model-engine-wiki/wiki/Mechanics These examples illustrate how to use the `submodel` command to attach a new part (like a whip) from a different model and how to subsequently remove it using a custom ID. The first example creates a whip and sets its parent, while the second removes it when damaged. ```Model Engine DSL - submodel{model=kindletronjr;part=right_hand;submodel=weapons;subpart=whip;customid=kindle_whip} @self ~onAttack ``` ```Model Engine DSL - submodel{model=kindletronjr;subpart=kindle_whip;remove=true} @self ~onDamaged ``` -------------------------------- ### Tint VFX Color Transition Example Source: https://github.com/ticxo/model-engine-wiki/wiki/VFX Demonstrates how to transition the VFX color from red (FF0000) to green (00FF00) over 60 ticks (3 seconds) after the entity spawns. ```ModelEngineConfig - vfxtint{ca=FF0000;cb=00FF00;duration=60} @self ~onSpawn ``` -------------------------------- ### Change Model Part Example Source: https://github.com/ticxo/model-engine-wiki/wiki/Mechanics This example demonstrates how to change a specific part of a model to a part from another model upon spawning. It highlights the flexibility of mixing and matching parts, with a note on bone location constraints. ```Model Engine DSL - changepart{m=kindletronjr;pid=left_arm;nm=kindletronsr;npid=left_arm} @self ~onSpawn ``` -------------------------------- ### DismountAll Command Example Source: https://github.com/ticxo/model-engine-wiki/wiki/Mechanics Shows how to use the 'dismountall' command to dismount all passengers from a range of specified seats on a model when it takes damage. ```Custom Command - dismountall{p=seat1,seat2,seat3,seat4} @self ~onDamaged ``` -------------------------------- ### MountModel Command Examples Source: https://github.com/ticxo/model-engine-wiki/wiki/Mechanics Illustrates practical usage of the 'mountmodel' command with different attribute configurations to achieve specific mounting behaviors, such as giving a player flying control or mounting multiple players to specific seats. ```Custom Command - mountmodel{mode=flying} @trigger ~onInteract ``` ```Custom Command - mountmodel{driver=false;mode=force;pbone=seat1,seat2,seat3,seat4;dmg=true} @PIR{r=5} ~onDamaged ``` -------------------------------- ### DismountModel Command Example Source: https://github.com/ticxo/model-engine-wiki/wiki/Mechanics Demonstrates how to use the 'dismountmodel' command to dismount an entity from a specific seat on a model at a regular interval. ```Custom Command - dismountmodel{p=seat1} @self ~onTimer:100 ``` -------------------------------- ### Spawn VFX with Delay Example Source: https://github.com/ticxo/model-engine-wiki/wiki/VFX Illustrates how to spawn a VFX with a delay of 20 ticks (1 second) after the entity spawns. ```ModelEngineConfig - vfxspawn{delay=20} @self ~onSpawn ``` -------------------------------- ### Apply VFX to Entity Example Source: https://github.com/ticxo/model-engine-wiki/wiki/VFX Demonstrates how to apply a VFX to an entity using its model and part IDs, and enable enchantment glint. This example applies the 'sword' part from the 'knight' model to the entity executing the skill upon spawn. ```ModelEngineConfig - vfx{m=knight;p=sword;en=true} @self ~onSpawn ``` -------------------------------- ### Add Model Trait to NPC Source: https://github.com/ticxo/model-engine-wiki/wiki/Modeled-NPC Apply the necessary trait to the selected NPC, which makes it invisible and prepares it for custom model rendering. For Model Engine R3+ versions, use the 'meg_model' trait instead. ```Command Line /trait add model ``` ```Command Line /trait add meg_model ``` -------------------------------- ### BodyClamp Usage Example Source: https://github.com/ticxo/model-engine-wiki/wiki/Mechanics This example sets the body clamp for Kindletron Sr to 10 degrees upon spawning, limiting the head's independent rotation before the body follows. This mimics natural mob movement where the body eventually turns with the head. ```Model Engine DSL - bodyclamp{m=kindletronsr;c=10} @self ~onSpawn ``` -------------------------------- ### Apply Enchant Glint to VFX Example Source: https://github.com/ticxo/model-engine-wiki/wiki/VFX Illustrates how to apply an enchantment glint to the VFX 40 ticks (2 seconds) after the entity spawns. ```ModelEngineConfig - vfxenchant{delay=40} @self ~onSpawn ``` -------------------------------- ### Configure Hitbox Damage Transfer Source: https://github.com/ticxo/model-engine-wiki/wiki/Mechanics This example demonstrates how to configure a sub-hitbox to transfer only a percentage of received damage to the base mob. It also highlights the importance of adding a delay to the mechanic to ensure correct bone initialization. ```Model Engine Configuration - hitboxconfig{m=kindletronsr;p=b_right_arm;pass=0.5;delay=1} @self ~onSpawn ``` -------------------------------- ### Hide VFX with Delay Example Source: https://github.com/ticxo/model-engine-wiki/wiki/VFX Shows how to hide a VFX 100 ticks (5 seconds) after the entity spawns. ```ModelEngineConfig - vfxsetvis{delay=100} @self ~onSpawn ``` -------------------------------- ### Change NPC Base Type Source: https://github.com/ticxo/model-engine-wiki/wiki/Modeled-NPC Modify the NPC's default 'player' type to a mob type (e.g., PIG) to allow proper application of the Model trait. This step is essential for custom models to function correctly. ```Command Line /npc type ``` -------------------------------- ### Petrify Usage Example Source: https://github.com/ticxo/model-engine-wiki/wiki/Mechanics This example shows how to use the `petrify` command to turn Kindletron Jr into a statue upon death. It notes that petrifying a model also kills the associated mob, with no way to revert the effect. ```Model Engine DSL - petrify{m=kindletronjr} @self ~onDeath ``` -------------------------------- ### ModelPart Targeter Attributes and Offset Modes Source: https://github.com/ticxo/model-engine-wiki/wiki/Targeters Documents the attributes available for the ModelPart targeter, used to specify locations on a model's parts. It includes details on how offsets are calculated based on local, model, or global axes, along with examples for clarity. ```APIDOC ModelPart: Description: Target the locations of parts. Attributes: - Name: modelid Aliases: m, mid, model Description: The targeted model Default: "" - Name: partid Aliases: p, pid, part Description: The targeted part Default: "" - Name: offset Aliases: o, off Description: Offset mode used to calculate the offsets LOCAL: Local axis of the targeted part MODEL: Local axis of the target model GLOBAL: World axis Default: LOCAL - Name: x Aliases: "" Description: Offset on X axis Default: 0 - Name: y Aliases: "" Description: Offset on Y axis Default: 0 - Name: z Aliases: "" Description: Offset on Z axis Default: 0 - Name: exactmatch Aliases: em, exact, match Description: Does the part need to match the partid completely If set to false, this will get the location of all parts with IDs containing partid Example: pid=arm;em=false (This will tint both leftarm and rightarm) Default: true Offset Modes Explanation: Note: Depending on how you made your model, each axis might not represent the same direction as stated here. In this scenario, Z-axis is forward/backward, X-axis is right/left, and Y-axis is up/down. Local: Description: This mode would get the offset based on the bone's rotation. Example: For a humanoid model holding a gun, use this mode with a positive Z offset to find where the barrel is pointing. Model: Description: This mode would get the offset based on the model's rotation. Analogy: Similar to MythicMobs' `Forward` targeter, but starts from the selected bone's location. Global: Description: This mode just uses Minecraft's world axis to calculate the offset. Benefit: Starts from the selected bone, unlike the base of the mob. ``` -------------------------------- ### Point VFX Towards Target (vfxpoint) Source: https://github.com/ticxo/model-engine-wiki/wiki/VFX Documents the `vfxpoint` mechanic, used to aim a Visual Effect towards a target. It clarifies that this mechanic overwrites previous rotations and explains the `useyaw` attribute. The example demonstrates continuously pointing towards the nearest player. ```APIDOC vfxpoint: Attributes: useyaw (y, yaw): Whether the rotation on Y axis would be using yaw or armor stand head angle. (Default: true) ``` ```YAML - vfxpoint @PIR{r=16} ~onTimer:20 ``` -------------------------------- ### BodyClamp API Reference Source: https://github.com/ticxo/model-engine-wiki/wiki/Mechanics API documentation for the `BodyClamp` mechanic, which controls the maximum head rotation before the body starts rotating. It includes attributes for the targeted model and the clamp angle. ```APIDOC BodyClamp: modelid (m, mid, model): The targeted model clamp (c, angle): The maximum head rotation before the body moves with the head (Default: 50) ``` -------------------------------- ### Update VFX Position with Yaw Ignore Example Source: https://github.com/ticxo/model-engine-wiki/wiki/VFX Shows how to move the VFX 5 blocks forward from the base entity every 5 ticks (0.25 seconds), ignoring the entity's yaw rotation. ```ModelEngineConfig - vfxpos{i=true} @Forward{f=5} ~onTimer:5 ``` -------------------------------- ### Update VFX Rotation (vfxrot) Source: https://github.com/ticxo/model-engine-wiki/wiki/VFX Documents the `vfxrot` mechanic for cumulatively updating the rotation of a Visual Effect. It explains how to apply Euler angles and whether the rotation should be global or local. The example demonstrates combining local X-axis rotation with global Z-axis rotation. ```APIDOC vfxrot: Attributes: angle (a): The euler angle of the rotation (format: x,y,z) neworigin (o, origin): Whether the rotation would be added globally(false) or locally(true) (Default: false) ``` ```YAML - skill{s=[ - vfxrot{a=72,0,0;o=true} - vfxrot{a=0,0,1} ]} @self ~onTimer:1 ``` -------------------------------- ### State Mechanic: Control Model Animation State Source: https://github.com/ticxo/model-engine-wiki/wiki/Mechanics Documents the 'State' mechanic, outlining attributes for starting or stopping animations on a specified model. It includes parameters for model ID, state name, removal behavior, speed multiplier, and transition ticks (lerpin/lerpout), along with an option to ignore transitions during removal. ```APIDOC State Mechanic Attributes: modelid (m, mid, model): The model receiving a state change (Default: ) state (s): The state (Default: ) remove (r): Is this mechanic used for removing state (Default: false) speed (sp): Speed multiplier of the state (Default: 1) lerpin (li): Transition tick before playing the animation (Default: 0) lerpout (lo): Transition tick after playing the animation (Default: 1) ignorelerp (i): Remove: Should the state be instantly removed without transition (Default: false) Example Usage: - state{mid=kindletronjr;s=attack;li=3;lo=3} @self ~onAttack ``` -------------------------------- ### Reset VFX Rotation (vfxrotreset) Source: https://github.com/ticxo/model-engine-wiki/wiki/VFX Explains the `vfxrotreset` mechanic, which resets the Visual Effect's rotation to 0 0 0. The example shows how to reset the rotation after a specified delay. ```YAML - vfxrotreset{delay=50} @self ~onSpawn ``` -------------------------------- ### Blockbench Script Keyframe Syntax for Mixed Commands Source: https://github.com/ticxo/model-engine-wiki/wiki/[Temporary-Wiki]-3.0-Features Illustrates the syntax used directly within Blockbench's script keyframe input to call both MythicMobs skills and Model Engine (MEG) commands. This allows for executing multiple actions sequentially from a single animation frame. ```Blockbench Script mm:Primary_5 meg:enchant{p=arm} ``` -------------------------------- ### Model Engine In-Game Configuration Options Source: https://github.com/ticxo/model-engine-wiki/wiki/Configuration Detailed explanation of configuration options that control in-game functions of the Model Engine, affecting model behavior, animation, and rendering. ```APIDOC Model Engine Configuration: Active-Range: type: integer description: Deactivates models with no players within set range. Deactivated models stop moving but not mobs. Re-activates when player approaches. Marker-Tick: type: integer description: Specifies ticks to wait before setting the armor stand back to marker after exiting a block. Set to -1 to disable if issues occur (e.g., darkened models, console errors). Strict-Raytrace: type: boolean description: If false, non-modeled entities have higher hit/click priority than modeled entities, even if modeled entities are in front. Use-Slerp: type: boolean description: If true, rotational animation calculates the shortest path to new rotation (e.g., 0 to 360 degrees causes no rotation). Set to false if Blockbench animation accuracy is desired. Animation: type: object description: Defines default animations for 'idle', 'walk', 'fall', 'land', and 'death' states. Default values match state names. Mode: type: string description: The mode used for animating and moving models. Both A mode (smoother) and B mode (more accurate) are available. ``` -------------------------------- ### pack.mcmeta File Structure for Resource Packs Source: https://github.com/ticxo/model-engine-wiki/wiki/Importing-and-Exporting This JSON snippet defines the basic structure for a `pack.mcmeta` file, which is essential for Minecraft resource packs. The `pack_format` value must be adjusted based on the target Minecraft version to ensure compatibility. The `description` field allows for custom text to be displayed in-game. ```JSON { "pack": { "pack_format": 6, "description": "Your text here" } } ``` -------------------------------- ### Model Engine Commands Source: https://github.com/ticxo/model-engine-wiki/wiki/Commands-and-Permission Provides a list of in-game commands for interacting with Model Engine features, including configuration reloading, Citizen NPC trait management, and model disguises. ```APIDOC Commands: /meg reload: Reloads config and models. /meg reload config: Only reload the config. /meg reload models: Regenerate the models. /meg trait: Citizen integrations. /meg disguise : Disguise yourself as a model. /meg undisguise: Undisguise yourself. ``` -------------------------------- ### Configure Driver and Passenger Mount Points in Model Engine Source: https://github.com/ticxo/model-engine-wiki/wiki/Making-your-first-model Model Engine allows defining mount points for controllable mobs (driver) and additional passenger seats. A driver point is an empty bone named `mount`, which can be animated and follows its parent or the base mob. Passenger points are empty bones prefixed with `p_`, also animatable and following their parent or the base mob. Both require specific MythicMob configurations for activation. ```Modeling Instructions Driver Mount Point: Bone Naming Convention: `mount` Type: Empty bone Passenger Mount Point: Bone Naming Convention: `p_passengerSeatName` Type: Empty bone ``` -------------------------------- ### SwapEntity API Reference Source: https://github.com/ticxo/model-engine-wiki/wiki/[Temporary-Wiki]-3.0-Features Facilitates swapping the model owner from one entity to the target, with options to override hitbox, set base entity invisibility, adjust step height, and define view radius. ```APIDOC SwapEntity: modelid (m, mid, model): The targeted model hitbox (h): Should override hitbox (Default: true) invisible (i, invis): Should the base entity be invisible (Default: true) step (s): New step height of receiver entity (Default: 0.5) radius (rad): View radius of the model (Default: base entity default) ``` -------------------------------- ### Define a Basic MythicMobs Skill for Script Keyframes Source: https://github.com/ticxo/model-engine-wiki/wiki/[Temporary-Wiki]-3.0-Features Provides a YAML definition for a basic MythicMobs skill (`Primary_5`) that can be triggered by Blockbench script keyframes. This skill demonstrates simple actions like sending a message and triggering an explosion. ```yml Primary_5: Skills: - message{m="Get punched";audience=world} @self - explode @ModelPart{m=dr_axis;p=attack_point} ``` -------------------------------- ### BindHitbox Source: https://github.com/ticxo/model-engine-wiki/wiki/Mechanics Spawn a mythic mob and bind that mob to a specific sub-hitbox. ```APIDOC BindHitbox Attributes: modelid: The model id of the sub-hitbox (Aliases: m, mid, model) partid: The id of the sub-hitbox (Aliases: p, pid, part) type: The mythic mob bound to the sub-hitbox (Aliases: t, mob, m, Default: SKELETON) ``` -------------------------------- ### Maven Dependency for Model Engine API Source: https://github.com/ticxo/model-engine-wiki/blob/master/README.md This XML configuration snippet provides the necessary Maven repository and dependency declarations to integrate the Model Engine API into a Java project. It points to the Lumine Public Maven repository and specifies the Model Engine API artifact for development. ```xml nexus Lumine Public https://mvn.lumine.io/repository/maven-public/ com.ticxo.modelengine api Check above provided ``` -------------------------------- ### Model Engine Permissions Source: https://github.com/ticxo/model-engine-wiki/wiki/Commands-and-Permission Defines the permissions required for various Model Engine functionalities, allowing players to perform specific actions like reloading configurations or managing disguises. ```APIDOC Permissions: modelengine.command.reload: Allow players to reload the config and models. modelengine.command.trait: Allow players to configure trait of Citizens NPC. modelengine.command.disguise: Allow players to disguise themselves as a model. modelengine.command.undisguise: Allow players to undisguise themselves. ``` -------------------------------- ### VFXSpawn API Reference Source: https://github.com/ticxo/model-engine-wiki/wiki/[Temporary-Wiki]-3.0-Features This mechanic has been removed and is no longer available for use. ```APIDOC Removed. ``` -------------------------------- ### Define MythicMobs Skill with Parameters for Script Keyframes Source: https://github.com/ticxo/model-engine-wiki/wiki/[Temporary-Wiki]-3.0-Features Shows a YAML definition for a MythicMobs skill (`Primary_5`) that incorporates skill parameters. This allows the skill to use dynamic values, such as dialogue, when called from a Blockbench script keyframe. ```yml Primary_5: Skills: - message{m=;audience=world} @self - explode @ModelPart{m=dr_axis;p=attack_point} ``` -------------------------------- ### VFXPoint API Reference Source: https://github.com/ticxo/model-engine-wiki/wiki/[Temporary-Wiki]-3.0-Features Updates to the VFXPoint mechanic, specifically noting the removal of the `useyaw` attribute. ```APIDOC Removed `useyaw` attribute. ``` -------------------------------- ### Model Engine Leash Mechanic Configuration Source: https://github.com/ticxo/model-engine-wiki/wiki/[Temporary-Wiki]-3.0-Features Visually links a specified leash bone to a target. It requires a model ID, a part ID for the leash bone, and a boolean indicating whether the model is leashed to the target. ```APIDOC Leash: Attributes: modelid (m, mid, model): The model being changed - Default: (empty) partid (p, pid, part): Leash bone - Default: (empty) leash (l): Is leashed to target - Default: (empty) ``` -------------------------------- ### Model Generator Configuration Options Source: https://github.com/ticxo/model-engine-wiki/wiki/Configuration Configuration options for the Model Generator, handling the generation and management of model files. ```APIDOC Model Generator Configuration: Generate On Start: type: boolean description: If enabled, generates new configs on every start. If disabled, use '/me reload models' to regenerate. Namespace: type: string description: The namespace used for the folder of all generated model files, typically your server name. Enable Error: type: boolean description: If enabled, provides useful logs explaining why models are not working properly. Overwrite: type: boolean description: Determines if the generator should overwrite previously generated model files. Compartment Size: type: integer description: Sets the Custom Model Data offset when generating models from different folders. For example, models from 'blueprints/animals' would be offset after 'blueprints' models. ``` -------------------------------- ### MountModel API Reference Source: https://github.com/ticxo/model-engine-wiki/wiki/[Temporary-Wiki]-3.0-Features Provides functionality to mount entities to specific driver or passenger bones within a model. Allows configuration for forced mounting, automatic dismounting, damage interaction, and various movement modes. ```APIDOC MountModel: driver (d, drive): Is this mechanic mounting a driver (Default: true) force (f): Should the target be forced to mount on the bone Driver: dismount the original driver and mount the target Passenger: find a seat with the least passengers and mount the target (Default: 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 (Default: false) damagemount (dmg): Can the mounted entity damage the mount (Default: false) mode (m): What mount mode should the mounted entity use Walking: WASD ground controller Flying: 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 dismount Force_Flying: Same as Flying, but mounted entity cannot dismount (Default: walking) modelid (mid, model): Not Driver: The model ID of the passenger bones. pbone (p): Not Driver: A list of seats searched when mounting entities Format: pbone=seat1,seat2,seat3 If force is not enabled, this will fill all the seats until no more passengers can be mounted. ``` -------------------------------- ### VFXObserver (vfxobs) API Reference Source: https://github.com/ticxo/model-engine-wiki/wiki/[Temporary-Wiki]-3.0-Features Manually controls which targets can see a VFX, with options to hide or force visibility. ```APIDOC VFXObserver: remove (r): Hide from targets (Default: false) force (f): Force the target to see the VFX (Default: false) ``` -------------------------------- ### HitboxConfig Attributes Reference Source: https://github.com/ticxo/model-engine-wiki/wiki/Mechanics This section provides a reference for the attributes used to configure the interaction between a sub-hitbox and its base mob, including identification and damage transfer properties. ```APIDOC HitboxConfig: Attributes: - modelid (m, mid, model): The model id of the sub-hitbox - partid (p, pid, part): The id of the sub-hitbox - pass: Percentage of damage passed to base mob. If value > 0, attack and interact remain. If value <= 0, attack and interact would be canceled. (Default: 1) ``` -------------------------------- ### RemapModel Attributes Reference Source: https://github.com/ticxo/model-engine-wiki/wiki/Mechanics This section provides a reference for the attributes used to remap a new model onto an existing one, allowing for part-by-part model changes. ```APIDOC RemapModel: Attributes: - modelid (m, mid, model): The model id of the current model - newmodelid (n, nid, newmodel): The model id of the new model - map (Optional): The model of a map used to map from newmodel to model ``` -------------------------------- ### DefaultState API Reference Source: https://github.com/ticxo/model-engine-wiki/wiki/Mechanics API documentation for the `DefaultState` mechanic, used to change automatic states like idle animations. It defines attributes for the targeted model, the type of default state (IDLE, WALK, JUMP, DEATH), and the new state. ```APIDOC DefaultState: modelid (m, mid, model): The targeted model type (t): The targeted default state (Available: IDLE, WALK, JUMP, DEATH) state (s): The new default state ``` -------------------------------- ### Model Engine DefaultState Mechanic Configuration Source: https://github.com/ticxo/model-engine-wiki/wiki/[Temporary-Wiki]-3.0-Features Configures the default animation states for a model. It allows specifying the model ID, the type of state being changed, the animation name, and lerp-in/lerp-out timings and speed modifiers. ```APIDOC DefaultState: Attributes: modelid (m, mid, model): The model being changed - Default: (empty) type (t): The default state getting changed - Default: (empty) state (s): Animation name - Default: (empty) lerpin (li): Lerp in tick - Default: prev lerpout (lo): Lerp out tick - Default: prev speed (sp): Speed modifier - Default: prev ``` -------------------------------- ### SetModelTag API Reference Source: https://github.com/ticxo/model-engine-wiki/wiki/[Temporary-Wiki]-3.0-Features Allows setting the name tag displayed on a model, specifying the target model, bone, tag content, and visibility. ```APIDOC SetModelTag: 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 (Default: true) ``` -------------------------------- ### SubModel API Reference Source: https://github.com/ticxo/model-engine-wiki/wiki/[Temporary-Wiki]-3.0-Features Enables adding or removing parts of one model to another, including all child bones contained in the substitution, with the offset and rotation taken from the model. ```APIDOC SubModel: 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 ``` -------------------------------- ### VFX API Reference Source: https://github.com/ticxo/model-engine-wiki/wiki/[Temporary-Wiki]-3.0-Features Configures visual effects (VFX) for a mob, including model and part IDs, removal options, radius, color, enchantment status, visibility, and automatic update behaviors. ```APIDOC VFX: 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 (Default: false) radius (rad): The view radius of the VFX (Default: base entity default) color (c): The color of the VFX (Default: FFFFFF) enchant (en): If the VFX is enchanted (Default: false) visible (v): If the VFX is visible (Default: true) bvisible (bv): If the base entity of the VFX is visible. (Default: false) autotick (at): Should the VFX update by itself When enabled, the VFX would update location, pitch and yaw (Default: false) autorange (ar): Should the VFX spawn/despawn automatically to player based on distance (Default: true) ``` -------------------------------- ### Petrify API Reference Source: https://github.com/ticxo/model-engine-wiki/wiki/Mechanics API documentation for the `Petrify` mechanic, which transforms a model into a static statue. It specifies the `modelid` attribute for targeting the model. ```APIDOC Petrify: modelid (m, mid, model): The targeted model ``` -------------------------------- ### Model Engine VFX Mechanic Definition Source: https://github.com/ticxo/model-engine-wiki/wiki/VFX Defines the attributes for setting up a VFX model on an entity. This mechanic prepares the VFX but does not spawn it immediately, allowing for property adjustments before display. ```APIDOC 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 FFFFFFF enchant en If the VFX is enchanted false ``` -------------------------------- ### Add Name Tag Bones to Model Engine Models Source: https://github.com/ticxo/model-engine-wiki/wiki/Making-your-first-model To display names or HP bars, Model Engine models can have multiple name tag bones. These bones do not need to be centered and can be animated. Create a name tag bone by prefixing its name with `tag_`. ```Modeling Instructions Bone Naming Convention: `tag_nameTagBoneName` ``` -------------------------------- ### API Documentation for LastHitbox Attributes Source: https://github.com/ticxo/model-engine-wiki/wiki/Conditions Describes attributes for checking if the last interacted hitbox matches a provided ID, useful for interaction logic. ```APIDOC LastHitbox: hitbox: Aliases: h Description: The part id representing the hitbox Default: ``` -------------------------------- ### Implement Sub-Hitboxes in Model Engine (R2.2.0+) Source: https://github.com/ticxo/model-engine-wiki/wiki/Making-your-first-model Model Engine R2.2.0+ supports sub-hitboxes for additional interaction areas. These act like bones, following their parent but without rotation, and cannot collide with blocks or cause suffocation. Create them by adding a bone prefixed with `b_` and a cube inside, where the cube's X size defines the hitbox (X and Z must be equal). Sub-hitboxes must also adhere to Minecraft's 64x64x64 hitbox limit. ```Modeling Instructions Bone Naming Convention: `b_subHitboxName` Cube inside `b_subHitboxName` bone: X size determines hitbox (X and Z must be equal). Minecraft Hitbox Limit: 64x64x64 blocks. ``` -------------------------------- ### Model Engine VFX Spawn Mechanic Definition Source: https://github.com/ticxo/model-engine-wiki/wiki/VFX Defines the attributes for spawning a previously configured VFX. This mechanic makes the VFX visible after a specified delay. ```APIDOC Attribute | Aliases | Description | Default delay | d | | 0 ``` -------------------------------- ### Create Rotatable Oriented Bounding Box (OBB) Sub-Hitboxes (R2.5.0+) Source: https://github.com/ticxo/model-engine-wiki/wiki/Making-your-first-model Model Engine R2.5.0+ introduces Oriented Bounding Boxes (OBB) for sub-hitboxes, allowing them to rotate with their parent bone and have arbitrary dimensions. Unlike standard AABB hitboxes, OBBs can have different X and Z cube sizes. Define an OBB by adding a bone prefixed with `ob_` and a cube inside, where the cube's size can be any desired value. ```Modeling Instructions Bone Naming Convention: `ob_obbHitboxName` Cube inside `ob_obbHitboxName` bone: Can have any X, Y, Z size (X and Z can be different). ``` -------------------------------- ### SetItemModel API Reference Source: https://github.com/ticxo/model-engine-wiki/wiki/[Temporary-Wiki]-3.0-Features Sets an item to be displayed on a specific item bone within a model. Supports both vanilla item material names and custom MM item names. ```APIDOC SetItemModel: 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. ``` -------------------------------- ### Model Engine LeashSelf Mechanic Configuration Source: https://github.com/ticxo/model-engine-wiki/wiki/[Temporary-Wiki]-3.0-Features Links one leash bone to another. The leash remains visible as long as the destination bone is in view. For constant visibility, a double leash (leash A to B, then leash B to A) is suggested. ```APIDOC LeashSelf: Attributes: modelid (m, mid, model): The model being changed - Default: (empty) sourceid (s, sid, src, source): The leash bone being leashed - Default: (empty) destid (d, did, dest): The leash bone holding the leash - Default: (empty) Note: 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) ``` -------------------------------- ### Remap Model Appearance on Damage Source: https://github.com/ticxo/model-engine-wiki/wiki/Mechanics This command remapps the current model to a new one (e.g., an 'enraged' version) based on a damage trigger. It notes that animations will still use the old model and advises using the initial model ID for subsequent remappings. ```Model Engine Configuration - remapmodel{m=kindletronsr;n=kindletronsr_enraged} @self ~onDamaged =20% ``` -------------------------------- ### Swap Entire Models Source: https://github.com/ticxo/model-engine-wiki/wiki/Mechanics A macro mechanic designed for simultaneously adding and removing models, effectively changing the entire visual representation of an entity. ```APIDOC SwapModel Mechanic Attributes: - modelid (Aliases: m, mid, model): The model being removed - newmodelid (Aliases: n, nid, newmodel): The new model being applied ``` ```Model Engine Syntax - swapmodel{m=kindletronjr;nid=kindletronsr} @self ~onDamaged =50% ``` -------------------------------- ### SubModel API Reference Source: https://github.com/ticxo/model-engine-wiki/wiki/Mechanics API documentation for the `SubModel` mechanic, which allows adding or removing parts from a different model to a targeted model. It details attributes such as model IDs, part IDs, submodel IDs, custom IDs, and a remove flag. ```APIDOC SubModel: modelid (m, mid, model): The targeted model partid (p, pid, part): The targeted part submodelid (sm, smid, submodel): The model of the new part subpartid (sp, spid, subpart): The new part customid (c, cid): Optional: Give the substitution a unique part id. Afterwards, when manipulating this part, this id can be used remove (r): Is this mechanic removing a part ``` -------------------------------- ### Configure Head Rotation for Model Engine Mobs Source: https://github.com/ticxo/model-engine-wiki/wiki/Making-your-first-model Model Engine allows specific bones to act as a mob's head, rotating independently from the body. This is achieved by prefixing the bone name with `h_`. Multiple head bones are supported, but child bones also require the `h_` prefix to inherit head-like behavior. ```Modeling Instructions Bone Naming Convention: `h_boneName` Example: `h_head` ``` -------------------------------- ### MountedModel Targeter Attributes Source: https://github.com/ticxo/model-engine-wiki/wiki/Targeters Documents the attributes for the MountedModel targeter, used to identify models mounted by the caster. The provided documentation does not list specific attributes for this targeter. ```APIDOC MountedModel: Description: Get the model mounted by the caster. Attributes: No specific attributes listed in the provided table. ``` -------------------------------- ### ModelPassengers Targeter Attributes Source: https://github.com/ticxo/model-engine-wiki/wiki/Targeters Documents the attributes for the ModelPassengers targeter, used to control animations for model passengers by specifying target seats. ```APIDOC ModelPassengers: Description: Tell the model to start or stop playing an animation. Attributes: - Name: pbone Aliases: p Description: A list of seats to search. Format: pbone=seat1,seat2,seat3 Default: All passengers ``` -------------------------------- ### Model Engine Leash Bone Type Definition Source: https://github.com/ticxo/model-engine-wiki/wiki/[Temporary-Wiki]-3.0-Features Marks a bone as an attachment point for leashing. Multiple leash bones can exist. It can be connected to a target via the Leash mechanic and can also serve as the source for the LeashSelf mechanic. ```APIDOC Leash Bone: Tags: l_: attachment point for leashing Constraints: No cubes in bone ``` -------------------------------- ### API Documentation for RidingModel Attributes Source: https://github.com/ticxo/model-engine-wiki/wiki/Conditions Details attributes used to determine if an entity is a passenger of a model, including parameters for searching specific seats. ```APIDOC RidingModel: pbone: Aliases: p Description: A list of seats to search. Format: pbone=seat1,seat2,seat3 Default: Check all seats ``` -------------------------------- ### VFXChangeModel API Reference Source: https://github.com/ticxo/model-engine-wiki/wiki/[Temporary-Wiki]-3.0-Features Changes the model of an existing VFX. The armor stand holding the VFX would change size if the VFX uses a different size. ```APIDOC VFXChangeModel: modelid (m, mid, model): The model id of the new VFX model partid (p, pid, part): The part id of the new VFX model ``` -------------------------------- ### API Documentation for ModelHasPassenger Attributes Source: https://github.com/ticxo/model-engine-wiki/wiki/Conditions Details attributes used to determine if a model has passengers, including parameters for searching specific seats. ```APIDOC ModelHasPassenger: pbone: Aliases: p Description: A list of seats to search. Format: pbone=seat1,seat2,seat3 Default: Check all seats ``` -------------------------------- ### API Documentation for ModelHasDriver Attributes Source: https://github.com/ticxo/model-engine-wiki/wiki/Conditions Describes attributes related to whether a model has a driver. Currently, no specific attributes are defined for this concept. ```APIDOC ModelHasDriver: Attributes: No specific attributes defined. ``` -------------------------------- ### Model Mechanic: Apply Model to Entity Source: https://github.com/ticxo/model-engine-wiki/wiki/Mechanics Documents the 'Model' mechanic, detailing its attributes for applying a model to a target entity. It covers properties like model ID, hitbox override, removal behavior, visibility, damage tinting, nametag display, drive/ride capabilities, animation mode, pitch/yaw locking, step height, and view radius. ```APIDOC Model Mechanic Attributes: modelid (m, mid, model): The model id of the model (Default: ) hitbox (h): Should the model override the hitbox (Default: true) remove (r): Is this mechanic used for removing model (Default: false) killowner (ko): Remove: Should the base entity be killed (Default: true) invisible (i, invis): Should the base entity be invisible (Default: true) damagetint (d, tint): Should the model flash red when damaged (Default: true) nametag (n, name): The tag bone used to display the name (Default: ) drive: Can this model be driven (Default: false) ride: Can this model have passengers (Default: false) mode: What animation mode should it use (Default: Config default) lockpitch (lp, lpitch): Should the model's pitch be locked (Default: false) lockyaw (ly, lyaw): Should the model's yaw be locked (Default: false) step (s): The step height of the model. (Default: 0.5) radius (rad): View radius of the model, in blocks. Any value less than or equal to 0 has no effect. (Default: 0) Example Usage: - model{m=kindletronsr;d=false;n=nametag;drive=true;ride=true;step=3} @self ~onSpawn ``` -------------------------------- ### ModelDriver Targeter Attributes Source: https://github.com/ticxo/model-engine-wiki/wiki/Targeters Documents the attributes for the ModelDriver targeter, used to identify the driver of a model. The provided documentation does not list specific attributes for this targeter. ```APIDOC ModelDriver: Description: Get the driver of this model. Attributes: No specific attributes listed in the provided table. ``` -------------------------------- ### Model Engine BodyClamp Mechanic Configuration Source: https://github.com/ticxo/model-engine-wiki/wiki/[Temporary-Wiki]-3.0-Features Configures the rotational interaction between the head and body bones of a model. It allows control over maximum/minimum rotation angles, uneven movement for walking/idling, player-like reorientation, stable angles, and reorientation delays/durations. ```APIDOC BodyClamp: Attributes: headuneven (hu, head): Is the head clamp uneven (used while model is walking) - Default: false maxhead (mh, mxh): Maximum angle the head can rotate - Default: 50 minhead (mnh): Minimum angle the head can rotate - Default: -maxhead bodyuneven (bu, body): Is the body clamp uneven (used while model is idling) - Default: false maxbody (mb, mxb): Maximum angle the body can rotate - Default: 50 minbody (mnb): Minimum angle the body can rotate - Default: -maxbody playermode (m, mode, player): Should the body reorient itself like vanilla mobs - Default: false stable (s): Stable angle before the body rotates (e.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) - Default: 15 rdelay (rde): Delay in ticks before the body reorient itself - Default: 10 rduration (rdu): How long in ticks would the body take to reorient itself - Default: 10 ``` -------------------------------- ### PartVisibility Source: https://github.com/ticxo/model-engine-wiki/wiki/Mechanics Set the visibility of a part of the model. This will not remove or add any part. ```APIDOC PartVisibility Attributes: modelid: The model id of the model (Aliases: m, mod, model) partid: The targeted part (Aliases: p, pid, part) visibility: Should the part be visible (Aliases: v, visible, Default: false) exactmatch: Does the part need to match the partid completely (Aliases: em, exact, match, Default: true) If set to false, this will change the visibility of all parts with IDs containing partid Example: pid=arm;em=false This will select both leftarm and rightarm ``` ```Custom Command - partvisibility{m=kindletronsr;p=right_arm;v=false} @self ~onDamaged =20% ``` -------------------------------- ### Disguise Source: https://github.com/ticxo/model-engine-wiki/wiki/Mechanics Disguise the targeted player to the model. ```APIDOC Disguise Attributes: modelid: The model id of the disguise (Aliases: m, mod, model) seeself: Can the player see their own disguise (Aliases: s, see, Default: true) ``` ```Custom Command - disguise{m=kindletronjr;s=true} @trigger ~onInteract ``` -------------------------------- ### API Documentation for DrivingModel Attributes Source: https://github.com/ticxo/model-engine-wiki/wiki/Conditions Describes attributes related to an entity being a driver of a model. Currently, no specific attributes are defined for this concept. ```APIDOC DrivingModel: Attributes: No specific attributes defined. ```