Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
Model Engine 4 Model Engine 4
  • Project overview
    • Project overview
    • Details
    • Activity
  • Issues 111
    • Issues 111
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • MythicCraft
  • Model Engine 4Model Engine 4
  • Wiki
    • Skills
  • Mechanics

Mechanics · Changes

Page history
wiki standardization authored Oct 21, 2024 by Lxlp's avatar Lxlp
Hide whitespace changes
Inline Side-by-side
Showing with 95 additions and 43 deletions
+95 -43
  • Skills/Mechanics.md Skills/Mechanics.md +95 -43
  • No files found.
Skills/Mechanics.md 0 → 100644
View page @ 058ef9f7
[[_TOC_]]
## Entity
Entity type mechanics controls and configures options used by the base entity.
| Mechanic | Description |
|------------------|-------------------------------------------------------------------|
| [Model][] | Add or remove model from this entity |
| [CullConfig][] | Configures the culling option |
| [LockModel][] | Lock or unlock entity rotation |
| [BodyRotation][] | Configure the body rotation of this entity |
| [PairModel][] | Force entity to be seen or hidden from the targeted players |
| [Petrify][] | Spawn real entities that represents the model and kill the entity |
## Model
Model type mechanics control specific models used by an entity.
| Mechanic | Description |
|-------------------|----------------------------------------------------------------|
| [State][] | Play or stop an animation |
| [ModifyState][] | Modify attributes of an animation |
| [DefaultState][] | Configure the default animation of a model |
| [LockModelHead][] | Lock the pitch or yaw of a model |
| [RemapModel][] | Remap a model using bones from another model |
| [RenderInit][] | Shows a model to the players, if `initrender` was used |
| [StateToggle][] | Toggle an animation between playing and not playing on a model |
| [SubModel][] | Forcefully create new bones on a model |
| [SwapEntity][] | Swap the owner of a model |
| [Scale][] | Set the render or hitbox scale of a model |
## Bone
Bone type mechanics edit bone properties of a specific model
| Mechanic | Description |
|---------------------|-------------------------------------------------------------------------|
| [ChangeParent][] | Change the parent bone of a bone |
| [ChangePart][] | Change the model of a bone to another bone from a different model |
| [CycleParts][] | Cycle the model of a bone to multiple different bones at an interval |
| [Enchant][] | Enchant a bone |
| [Tint][] | Color a bone |
| [Glow][] | Glow a bone |
| [Brightness][] | Set brightness of a bone |
| [PartVisibility][] | Toggle the bone model visibility without removing the bone |
| [ModelPlayerSkin][] | Apply the skin of the targeted player to the selected player limb bones |
## Mounting
Mounting type mechanics handles everything about mounting and dismounting entities on a model
| Mechanic | Description |
|----------------------|----------------------------------------------------|
| [MountModel][] | Mount an entity to a selection of mount bones |
| [DismountModel][] | Dismount an entity from a selection of mount bones |
| [DismountAllModel][] | Dismount all entities on the selected mount bones |
## Controller
Accessor mechanics for interacting with the movement controller of the entity
| Mechanic | Description |
|-------------|-------------------------------------------------------------------------------------------|
| [Jump][] | Cause the entity to jump |
| [Move][] | Cause the entity to move. Step heights are accounted |
| [NoFall][] | Reset the fall distance of the entity. Useful for canceling fall damage |
| [SyncYaw][] | Sync the yaw of the entity. Fixer mechanic when local movement travels at wrong direction |
## Hitbox
Hitbox type mechanics allows finer control on how sub-hitbox should react to attacks and interacts
| Mechanic | Description |
|------------------|--------------------------------------------------------|
| [BindHitbox][] | Summon and bind a MythicMobs mob to a sub-hitbox |
| [HitboxConfig][] | Configure the damage pass-through rate of a sub-hitbox |
## Segment
Segment type mechanics allows configuration on segment and tail bones.
| Mechanic | Description |
|------------------|-----------------------------|
| [Segment][] | Configure the segment bones |
## Misc
| Mechanic | Description |
|---------------------------|-----------------------------------------------|
| [ModelDisguise][] | Disguise the targeted player with a model |
| [ModelUndisguise][] | Undisguise a model from the targeted player |
| [LinkItemBone][] | Link an entity equipment slot to an item bone |
| [SetItemModel][] | Set the item on an item bone |
| [Leash][] | Connect the target to a leash bone |
| [LeashSelf][] | Connect a leash bone to another leash bone |
| [SetModelTag][] | Set the text on a name tag bone |
| [SetModelTagVisible][] | Configure the visibility of a name tag bone |
# VFX Mechanics
## Why use VFX?
Before this system is introduced, adding custom VFX is a pain for both the pack maker and the user. The pack maker needs
to create a separate resource pack and assign a custom model data ID to an item model that hopefully nobody is using,
especially when they are tinted. If the buyer finds a conflict between the packs, they have to painstakingly move all
the IDs to a different model or offset the IDs themselves, then change all the mechanics using that custom model data
ID.
So why not let Model Engine handle all of that?
Not only will you always get a spot to make your VFX colorable, but the assets are also generated from the bbmodel, just
like the entity models. Plus, since the VFX is referenced using a part ID, the custom model data IDs are recorded and
handled by Model Engine, no more remembering and changing IDs. Furthermore, you get all the benefits of using a Model
Engine model, where your VFX would be following your projectiles accurately without delays, and you have advanced
controls over how the VFX moves and rotates. Finally, because of how manual this system is, it does not affect server
performance at all. You get to decide everything about the VFX, so make it as optimized (or unoptimized if you are evil)
as you can.
| Mechanic | Description |
|--------------------|-----------------------------------------------------|
| [VFX][] | Assign or remove a VFX on an entity or a projectile |
| [VFXPos][] | Position the VFX |
| [VFXPosReset][] | Reset the position the VFX |
| [VFXRot][] | Rotate the VFX |
| [VFXRotReset][] | Reset the rotation of VFX |
| [VFXScale][] | Scale the VFX |
| [VFXScaleReset][] | Reset the scale the VFX |
| [VFXChangeModel][] | Change the model of the VFX |
| [VFXSetVis][] | Set the visibility of the VFX |
| [VFXEnchant][] | Enchant the VFX |
| [VFXTint][] | Color the VFX |
[Model]: /Skills/Mechanics/Model
[CullConfig]: /Skills/Mechanics/CullConfig
[LockModel]: /Skills/Mechanics/LockModel
[PairModel]: /Skills/Mechanics/PairModel
[Petrify]: /Skills/Mechanics/Petrify
[State]: /Skills/Mechanics/State
[BodyRotation]: /Skills/Mechanics/BodyRotation
[DefaultState]: /Skills/Mechanics/DefaultState
[LockModelHead]: /Skills/Mechanics/LockModelHead
[RemapModel]: /Skills/Mechanics/RemapModel
[RenderInit]: /Skills/Mechanics/RenderInit
[StateToggle]: /Skills/Mechanics/StateToggle
[SubModel]: /Skills/Mechanics/SubModel
[SwapEntity]: /Skills/Mechanics/SwapEntity
[ChangeParent]: /Skills/Mechanics/ChangeParent
[ChangePart]: /Skills/Mechanics/ChangePart
[CycleParts]: /Skills/Mechanics/CycleParts
[Enchant]: /Skills/Mechanics/Enchant
[Tint]: /Skills/Mechanics/Tint
[PartVisibility]: /Skills/Mechanics/PartVisibility
[ModelPlayerSkin]: /Skills/Mechanics/ModelPlayerSkin
[MountModel]: /Skills/Mechanics/MountModel
[DismountModel]: /Skills/Mechanics/DismountModel
[DismountAllModel]: /Skills/Mechanics/DismountAllModel
[BindHitbox]: /Skills/Mechanics/BindHitbox
[HitboxConfig]: /Skills/Mechanics/HitboxConfig
[ModelDisguise]: /Skills/Mechanics/ModelDisguise
[ModelUndisguise]: /Skills/Mechanics/ModelUndisguise
[LinkItemBone]: /Skills/Mechanics/LinkItemBone
[SetItemModel]: /Skills/Mechanics/SetItemModel
[Leash]: /Skills/Mechanics/Leash
[LeashSelf]: /Skills/Mechanics/LeashSelf
[SetModelTag]: /Skills/Mechanics/SetModelTag
[SetModelTagVisible]: /Skills/Mechanics/SetModelTagVisible
[Jump]: /Skills/Mechanics/Jump
[Move]: /Skills/Mechanics/Move
[NoFall]: /Skills/Mechanics/NoFall
[SyncYaw]: /Skills/Mechanics/SyncYaw
[ModifyState]: /Skills/Mechanics/ModifyState
[Scale]: /Skills/Mechanics/Scale
[Glow]: /Skills/Mechanics/Glow
[Brightness]: /Skills/Mechanics/Brightness
[Segment]: /Skills/Mechanics/Segment
[VFX]: /Skills/Mechanics/VFX
[VFXPos]: /Skills/Mechanics/VFXPos
[VFXPosReset]: /Skills/Mechanics/VFXPosReset
[VFXRot]: /Skills/Mechanics/VFXRot
[VFXRotReset]: /Skills/Mechanics/VFXRotReset
[VFXScale]: /Skills/Mechanics/VFXScale
[VFXScaleReset]: /Skills/Mechanics/VFXScaleReset
[VFXChangeModel]: /Skills/Mechanics/VFXChangeModel
[VFXSetVis]: /Skills/Mechanics/VFXSetVis
[VFXEnchant]: /Skills/Mechanics/VFXEnchant
[VFXTint]: /Skills/Mechanics/VFXTint
\ No newline at end of file
Clone repository
Home
FAQ / Common Issues
Commands & Permissions
Configuration

Modeling
  • Creating a Model
    • Hitbox & Eye Height
    • Shadow
  • Bone Behaviors
  • Animating a Model
  • Importing a Model
  • Scriptable Keyframes
  • Optional Tools
MythicMobs
  • Mechanics
  • Conditions
  • Targeters
Citizens (R4.0.4)
  • Trait
  • Commands & Permissions

API
  • Basic
    • Apply / Remove Model
    • Play / Stop Animation
    • Configure Bone Behaviors
    • Mounting / Dismounting Model
    • Per-Player Model
    • Events
  • Advanced
    • Custom Base Entity
    • Custom Mount Controller
    • Custom Importer
    • Custom Bone Behaviors
    • Custom Script Reader
    • Custom Timeline
    • Custom Animation Handler
    • Custom Render Type

Technical
  • Terminology
  • Animation Systems
  • Mount Controllers
Promotional Material