Mob Disguises
Mob disguises are dependent on the plugins LibsDisguises and ProtocolLib. They will not work without both of those plugins. The most up to date documentation for LibsDisguises can be found here
Most features do not require the premium version of LibsDisguises because LibraryAddict is a pretty nice dude.
Note: Some version of ProtocolLib work better than others- some versions break mob disguises, other players disguises, we do not have control over this. The LibsDisguises plugin will try to auto-update to a working version but sometimes that may fail. check the discord if this is the case, normally we have backup links to working versions
Now that the technical mumbo-jumbo is over... What is a disguise?
Disguises allow you to make your mob look like a different mob, a block, or even an item! Disguises are great for shaking things up with mobs, allowing you to do things that are otherwise not possible… for example, making a spider that looks like a zombie– a zombie that climbs walls!. The possibilities are huge.
Any entity type found in the spigot docs should function correctly. https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/entity/EntityType.html
Inline Disguises
With the newer versions of MythicMobs, disguises can now be done completely inline using the same disguise string syntax as the in-game /disguise
command. Constructing a disguise string.
For example, let's say we want a skeleton that is glowing, spinning, and on fire. To get this disguise ingame, we would use the command: /disguise SKELETON setGlowing setSpinning setBurning
.
We can take this command, and use it on a mob next to the disguise option, like in the example below:
SLSkelF:
Type: ZOMBIE
Equipment:
- IRON_SWORD HAND
- SHIELD OFFHAND
- LEATHER_HELMET HEAD
- LEATHER_CHESTPLATE CHEST
- LEATHER_LEGGINGS LEGS
- LEATHER_BOOTS FEET
Display: '&BSkeletal Fighter\n&ELv.<mob.level>'
Disguise: SKELETON setGlowing setSpinning setBurning
This is a much neater way of doing mob disguises compared to the Options version, and matches both the disguise mechanic syntax and the disguise command syntax. If at all possible, please use this method of disguising mobs over the Options method.
Saving Disguises
- Download the skin.png file you want to use for your disguises and put it inside of the server/plugins/libsdisguises/skins folder.
- use the command
/savedisguise RumiIsAwesome player <inherit> setSkin RumiExMachina.png setDynamicName
to save your skin to a disguise. - Apply it to your MM with
Disguise: RumiIsAwesome
Detailed steps
-
RumiIsSuperAwesome
would be the name of your disguise -
player
means it's a player disguise -
<inherit>
means it will take its name fromDisplay:
instead of adding it here -
setSkin RumiExMachina.png
is telling it to set the disguise skin to your .png file in the skins folder So if you have a skin named Goblin.png in the skins folder, use setSkin Goblin.png -
setDynamicName
is used to allow the disguise name to change often, useful when you want to display the entity's health in its name
LEGACY: Disguise Options
NOTE: As of MM 5.0, you must setup your disguises using inline disguise.
These options are no longer utilized in modern disguises and the documentation is preserved for historical purposes only.
All disguises have certain options available to them. These options go under the Disguises block, and can only be used in conjunction with a disguise (they will not work on their own). Some options will be mob specific. The lists of options for any entity can be found using /dhelp <entity>
. Because this is generated by your plugin it should always be up to date.
Here are some common ones that may be of interest to you:
- Disguise.Burning: true - Causes the mob to always appear to be burning
- Disguise.Blocking: true - Causes certain disguises to be stuck in the “blocking” animation.
- Disguise.Invisible: true - Makes the mob permanently invisible
- Disguise.Name: - Sets the disguised entity name
- Disguise.ShowName: true - Displays a nametag over certain disguises that would not normally have one (such as a block or item)
- Disguise.Sneaking: true - Causes certain disguises to be stuck in the “sneaking” animation.
- Disguise.Sprinting: true - Causes certain disguises to be stuck in the “sprinting” animation.
- Disguise.ModifyBoundingBox: false - Setting this to false will make mobs keep their original hitbox.
- Disguise.Glowing: [true/false] - Makes the disguise glow permanently.
- Disguise.Gliding: [true/false] - Makes the disguise glide permanently.
“Glowing” and “Gliding” were added in version 2.3.2.
Excessive Example:
SneakyDisguisingMob:
Type: wither_skeleton
Display: 'meh'
CustomKillMessages:
- '<target.name> was sneaked upon! (to death)'
Health: 128
Disguise:
Type: player
Skin: 'meeeh'
Player: Steve
Burning: true
Blocking: true
Invisible: false
ShowName: false
Sneaking: true
Sprinting: true
ModifyBoundingBox: false
setDynamicName: true
Nameplates
Nameplates allow you to extend the nameplates of Player-disguise mobs, which are normally limited to 16 characters. To use this, simply have Holograms installed and then leave out the “Player” field in your disguise (skin is still required!). If you don't specify the player field, it will use the Display field instead using a custom nameplate.
Monkey:
Type: skeleton
Display: "this display name is too long for players normally"
Disguise:
Type: player
Skin: Kurdie
This feature requires LibsDisguises and the Holograms plugin: https://www.spigotmc.org/resources/holograms.4924/
If you have premium you can use multi line disguise names using the setDynamicName
option
Examples
Examples of Disguises being used:
MobType: skeleton
Disguise:
Type: player
Player: '&8Not Darkitect'
Skin: Darkitect
MobType: skeleton
Health: 20
Disguise:
Type: player
Player: Ashijin
Skin: Notch
MobType: skeleton
Health: 20
Disguise:
Type: pig