.yml file under plugins/LodeEntities/Mobs/, one top-level key per mob (a folder per mob, with its model beside it, keeps things tidy). Only base is required; model is optional, and every other field is optional too. Leaving a field out means “keep the vanilla default”, which is why most mobs are four lines long.
Identity
Stats
Stat fields only apply to living bases. An
armor_stand base ignores health, damage, armor and speed; the flags below still work on anything.Behaviour and presence
Sections
Some fields are sections rather than single values:Animation speed
How fast the model’s automatic animations play, by name:idle, walk, idle_fly, walk_fly, spawn, death, damage, jump.
/le reload applies it to mobs already in the world, without respawning them.
Spawn eggs
A mob’s egg (from/le gui, the editor, or one in flight) looks like a vanilla spawn egg in the mob’s own colours, read off its model’s textures when the pack is built: the colour most of the model is made of becomes the egg, its most noticeable other colour the spots. It stays a real egg, and throwing it is what spawns the mob.
Override it with an egg: block. The first of these that is set wins:
colorstakes effect on the next egg made; no pack rebuild needed.texturemust sit inMobs/, beside the mob’s file or under it. Aim for 16x16; other sizes are padded to a power-of-two square./le reloadbakes it in.modelis used as is: the pack that defines it is yours to load.- A mob without a model gets its base entity’s vanilla spawn egg. A base with no spawn egg of its own gets a chicken egg with a glint.
- Clients older than 1.21.4 see a chicken egg either way.
Breeding
Feed two of a mob and what appears is the mob it declares as itschild, not a vanilla baby:
- Both parents must be the same mob. Crossing two different custom mobs has no answer anyone could predict, and neither does crossing one with a vanilla animal — those keep vanilla’s own behaviour.
- The experience the vanilla baby would have dropped is dropped anyway. The parents have already paid for it.
- A plugin that forbids breeding — region protection, a farm limiter — has its say first, and no mob is spawned into a “no”.
- Leave
childout and vanilla decides, which for a modelled mob means a plain baby of the base entity.
A full example
Editing without opening a file
Every field on this page excepteffects and skin can be set in game from the Entities menu: left-click a mob to open its editor, left-click a stat to type a value, right-click a stat to clear it back to the default. Equipment opens a screen of its own where you dress the mob from your inventory. Changes are written straight back into the YAML the mob came from, so the file stays the source of truth.
Notes
- Field names are read with
-and_interchangeably, and case-insensitively. - Values are checked when they load: a number out of range, an entity that can’t be spawned, and a misspelled field are all reported by
/le debugwith the file and the reason, rather than silently ignored. - A mob whose
modelisn’t loaded (deleted, renamed, or skipped for its file name) is disabled: it disappears from/le gui, autocomplete and the API, and commands say why. Put the model back and/le reloadre-enables it. - The mob id may contain letters, digits,
_,-and., but no spaces: it is typed as one command argument. - Field names follow MythicMobs, simplified:
baseisType,displayisDisplay,speedisOptions.MovementSpeed,persistentis the opposite ofOptions.Despawn. A MythicMobs mob file converts on load; see MythicMobs. - Ids are global. Two mobs in different files — or different subfolders — still cannot share an id, and you get a duplicate warning if they do.
