Mythicmobs

Custom 3D models for Mythicmobs mobs

Reskinning a Mythicmob mob

You can use a custom model as skin for any Mythicmob mob.

This plugin doesn't require Mythicmobs to work, but some servers might need to use it to create custom bosses and similar.

This requires ItemsAdder 3.2.1-beta1 or greater

Changing the model

Create a new Mythicmobs mob configuration file in this path: plugins/MythicMobs/Mobs/ninja_skeleton.yml (you can decide the filename).

Do not use PLAYER as type, it causes issues with head/body rotation.

ninja_skeleton.yml
ninja_skeleton:
  Type: ZOMBIE
  Display: '&aNinja Skeleton'
  Health: 10
  Damage: 2
  Options:
    MovementSpeed: 0
    Silent: true
  Skills:
  - customentity{model=custom:ninja_skeleton} @self ~onSpawn
  - customentity{play=attack} @self ~onAttack
  - customentity{walk=b_walk} @self ~onAttack

In this example I'm changing the Mythicmobs mob skin to a ninja_skeleton skin.

customentity{model=MODEL NAME} @self ~onSpawn

Animations

As you can see I also added some Skills to replace the mob animation dynamically. {play=attack} is used to make the attack animation play, in this case when the entity attacks.

{walk=b_walk} is used to replace the mob walk animation b_walk which is an "angry" walk animation, because the mob has just attacked another entity and has a target.

Animation

  • customentity{idle=ANIMATION} To change the idle animation

  • customentity{walk=ANIMATION} To change the walk animation

  • customentity{attack=ANIMATION} To change the attack animation

  • customentity{death=ANIMATION} To change the death animation

  • customentity{play=ANIMATION} To play an animation right now

  • customentity{stop=ANIMATION} To stop the current animation

Bones

Visibility

Hide/show a bone programmatically

- bone{name=BONE;visible=TRUE/FALSE} TARGETER ~EVENT

Example: hiding a leg bone on a particular event

- bone{name=leftLeg;visible=false} @self ~onDamaged

Color

Change a bone color programmatically

- bone{name=BONE;color=COLOR} TARGETER ~EVENT

Default color (white): 16777215 Color picker

Example: changing color of a bone when the custom entity is damaged

- bone{name=leftLeg;color=16711790} @self ~onDamaged

Enchant glint

Show the enchant effect on a bone programmatically

- bone{name=BONE;enchant=TRUE/FALSE} TARGETER ~EVENT

Example: show the enchant effect on a bone when the custom entity is damaged

- bone{name=leftLeg;enchant=true} @self ~onDamaged

Apply the previous properties to every bone

- bone{all=true;PROPERTY=VALUE} TARGETER ~EVENT

Example: hide every bone when the custom entity is damaged

- bone{all=true;visible=false} @self ~onDamaged

Mounting a bone

- mountentity{bone=BONE;locked=TRUE/FALSE;control=TRUE/FALSE} TARGETER ~EVENT

Example: mounting a custom entity on right click, disable SHIFT to dismount (not working on < 1.16 clients) and disable entity control with WASD.

- mountentity{bone=mountbone;locked=true;control=false} @trigger ~onInteract

Warning: if you want to manually handle mounts like this you have to set this property in the ItemAdder configuration of your custom entity:

mount_on_interact: false

info:
  namespace: custom
entities:
  testmm:
    display_name: "testmm"
    type: ZOMBIE
    model_folder: entity/testmm
    speed:
      movement: 0.25
      flying: 0.25
    mount_on_interact: false

Dismounting

Removing passengers from some mount bones

- dismountentity{bones=BONE1,BONE2,BONE3} TARGETER ~EVENT

Removing passengers from a single mount bone

- dismountentity{bones=BONE1} TARGETER ~EVENT

Removing passengers from all the mount bones

- dismountentity{all=true} TARGETER ~EVENT

Examples:

- dismountentity{bones=mount1,mount2} @self ~onDamaged
- dismountentity{all=true} @self ~onDamaged

Bone Targeter

Bone targeter returns the location of the specified bone.

@bone{bone=BONE}

Example: play a particle each 3 ticks on the bone center.

- effect:particles{vd=50;p=end_rod;amount=10;speed=0;hS=0.2;vS=0.2;repeat=270;repeatInterval=1} @bone{bone=rightArm} ~onTimer:3

Final result

Last updated