Creating Mobs
We will be looking at an example and using it, creation of a custom mob will be explained. I recommend copy pasting an example mob as a base for configuring. Mob Used: https://github.com/GC-spigot/AdvancedSpawners/blob/master/customMobs/Robot.mob
I will be showing the total status of mob after each step.
Creating a <mobName>.mob
file in server folder/plugins/AdvancedSpawners/customMobs
folder
Setting base health of a mob, e.g. health: 20
would mean mob has 10 hearts of health.
health: 30
Setting mob's sounds, e.g. sounds: SKELETON
would mean the mob would use sounds from Skeleton entity (such as attack sounds/hostile, defensive when gets hurt and ambient)
health: 30
sounds: SKELETON
Setting mob's hostility value, e.g. hostile: true
. As simple as setting true for yes and false for no. Having it as true with enable hostility and mob will attack as soon as it spawns a nearest player.
health: 30
sounds: SKELETON
hostile: true
Setting mob's spawner displayed mob, e.g. spawnerDisplay: SKELETON
. It's not a simple aesthetic and will determine spawning characteristics, i.e. example used SKELETON only spawns in dark, while using COW will require light and grass, BLAZE only light etc.
health: 30
sounds: SKELETON
hostile: true
spawnerDisplay: SKELETON
Creation of mob pieces.
Minecraft world is made out of 3 axis - X, Y and Z - so are the custom mobs. To understand how to create mobs in a 3 dimensions world, we need to know that custom mobs face SOUTH (Positive Z axis) when creating. This means, increasing mob's z offset (z:<z offset>
) will move the mob part forwards (and decreasing it will move mob part back), now similar logic can be used for up and down pushing (y:<y offset>
) - using Y axis can move mob part up or push it down. X axis does everything the same but increasing it will push mob's part to left and reducing it will push the part to right (x:<x offset>
). I will be including pictures soon which let you visualise this process better.
health: 30
sounds: SKELETON
hostile: true
spawnerDisplay: SKELETON
head: 'x:0 y:0 z:0 visible:false mini:true skin:eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDJkMjcxZjgyNjc0OTE2ZGNiNDdiMzcyYTU3MmY2MWU3NDcyZmUwNjNiMmM5MjQ2YWVlYjdjNTdhODgzNSJ9fX0='