Skip to main content
A spawner is a point in a world that keeps a population of one mob alive around itself. It wakes when a player comes near, spawns up to a cap, refills what dies, and can pull back anything that wanders too far. Spawners live in Mobs/, beside the mobs they spawn — not in a folder of their own.

Two ways to declare one

Nested under the mob, when the spawner belongs to that mob:
In a top-level spawners: block, whose sections are groups and can nest as deep as you like:
The id is the path it sits at (crypt.entrance), and the group is the section it is in — so ids are unique for free and /le spawner disable crypt means something. defaults: is inherited by everything below it, and a spawner that names a setting itself always wins.
spawners is a reserved top-level key in Mobs/ files. A mob cannot be called spawners.

Position

Every spawner needs one. Write it however you like — all of these are the same spot:
location: and pos: are accepted as synonyms for at:.

Settings

Every key is read case-insensitively with - and _ interchangeable, so a MythicMobs spawner loads as-is — the MythicMobs name is listed under “also”.

spawn:

timer:

Durations here take a bare number as seconds (every: 30 is 30 seconds), matching MythicMobs, and also accept 30s, 2m, 400t.

activation:

Going back to sleep re-arms the warmup, so returning to a dungeon makes you wait again.

leash:

leash: 32 is shorthand for leash: { range: 32 }.

Top-level

Conditions

A list of place-shaped tests, all of which must pass before a cycle spawns anything:
A line is key, !key, or key <op> value with == != >= <= > < (spaces optional, = accepted for ==). String comparisons are case-insensitive, ignore a minecraft: namespace, and take a comma list meaning “any of these”.
A condition that fails to parse disables its spawner rather than being skipped. A gate that silently disappears spawns mobs exactly where you said not to. /le debug Spawners names the line and the reason.

Behaviour worth knowing

  • At the cap the timer simply waits. No cooldown is burned, so the spawner refills promptly once something dies rather than idling for another full cycle.
  • A restart does not double the population. Every spawned mob carries its spawner’s id, and is adopted back as its chunk loads, so a restarted dungeon is not filled a second time.
  • Warmup re-arms on sleep. Walking away and coming back makes you wait through the warmup again.
  • breakable disables rather than deletes. MythicMobs removes the spawner outright; here the YAML is left alone, because config a player can destroy with a pickaxe shouldn’t vanish silently. /le spawner enable <id> puts it back.
  • Spawners never force-load chunks, and skip worlds that aren’t loaded.
  • Runtime state is not config. Cooldowns, warmups and live counts live in memory; only “an admin switched this off” persists, in spawner-state.yml.

Server-wide switches

Driving them

From commands: /le spawner: list, info, create, remove, enable, disable, reset, trigger, tp. From an effect, which is what makes a spawner part of an encounter rather than scenery:
action is trigger, enable, disable, reset (keep the mobs) or clear (remove them too). Everything but trigger accepts a group name or all. From code: LodeEntitiesAPI.spawners().

NPCs on fixed spots

A spawner with the default spawn.max of 1 and a short timer keeps exactly one mob standing on a spot, facing yaw. That is how an NPC is placed:
A persistent mob is taken back by its spawner after a restart rather than spawned a second time.

Coming from MythicMobs

Drop a MythicMobs spawner file into Mobs/ and it converts on load, field by field, the original kept as <name>.mm-bak. Every MythicMobs spawner field is supported: MobsPerSpawn, MaxMobs, MobLevel, Chance, RandomRotation, UseWorldScaling, UseTimer, Cooldown, Warmup, CheckForPlayers, ActivationRange, LeashRange, HealOnLeash, ResetThreatOnLeash, Radius, RadiusY, ShowFlames, Breakable and Conditions. CooldownTimer, WarmupTimer and ActiveMobs are deliberately not config here: they are runtime state. Conditions convert when they are location-shaped (daytime/night, weather, biome, world, blocktype, onblock, height, lightlevel, moonphase, distancefromspawn, playerwithin, mobsinradius, chance, with MythicMobs’ >60 and 40to60 ranges). Anything else is kept as a comment and the spawner is imported without it; check /le debug Spawners after importing.