Skip to main content
A mob is declared in plugins/NMEntities/Mobs/, one top-level key per mob. 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

Blocks

Three fields are sections rather than single values, and have pages of their own: A mob may also carry a spawners: block; see Spawners.

Breeding

Feed two of a mob and what appears is the mob it declares as its child, not a vanilla baby:
Without this, a custom mob’s lifecycle leaks back to vanilla at the one moment it matters most: two of your modelled, named, statted hogs are fed wheat and out comes a plain baby pig, because the base entity is all vanilla knows about. Declaring the child as a mob gives the baby its own model, stats and effects — and lets it grow back into its parent on the ordinary timer.
  • 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 child out 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 except equipment and effects 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. 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 model with no matching file are all reported by /nme debug with the file and the reason, rather than silently ignored.
  • 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.