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:spawners: block, whose sections are groups and can nest as deep as you like:
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: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”.
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.
breakabledisables 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 defaultspawn.max of 1 and a short timer keeps exactly one mob standing on a spot, facing yaw. That is how an NPC is placed:
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 intoMobs/ 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.