promotional bannermobile promotional banner

MCM: Hordes

Zombie hordes that gather out of sight, follow noise and march on your village, bed or you. Runner surges led by alphas, and a great horde you can track for days before it arrives.
01 Lineup - MCM Hordes 0.1.0.jpg

01 Lineup - MCM Hordes 0.1.0.jpg

02 Herd Zombies walk - MCM Hordes 0.1.0.gif

02 Herd Zombies walk - MCM Hordes 0.1.0.gif

03 Runners run - MCM Hordes 0.1.0.gif

03 Runners run - MCM Hordes 0.1.0.gif

04 Alpha roar leap - MCM Hordes 0.1.0.gif

04 Alpha roar leap - MCM Hordes 0.1.0.gif

05 Spawn Eggs - MCM Hordes 0.1.0.jpg

05 Spawn Eggs - MCM Hordes 0.1.0.jpg

Description

Part of MCM (Minecraft Comes Military), a set of separate military mods: Aircraft, Devices, Hordes and Air Support. Each one works without the others.

Minecraft 1.21.1 · Fabric · mod id mcm_hordes · version 0.1.0 · MIT License

Zombie hordes that behave like hordes: they gather out of sight, walk as one mass, follow noise, and come for the place you live. Every horde is made of this mod's own zombies (vanilla zombie bodies, skins, sounds and drops). Works on its own: no other zombie mod, city, base or other mod of this series is needed.

Requirements

Minecraft 1.21.1
Fabric Loader 0.15 or newer
Fabric API required
Distant Horizons optional: far crowd figures hide behind far hills
Entity Texture Features optional: far crowd figures use its random skins

Install on the client and the server (it adds entities, items and a network packet).

Where a horde goes

Every horde that heads somewhere picks its target from the player it appears for, in this order (targets.order):

  1. village – at least 3 villagers within 96 blocks of the player (the middle of the largest group);
  2. bed – the player's bed (respawn point) in the overworld, if within 192 blocks of the player;
  3. player – where the player stands.

No coordinates, gates or walls are stored anywhere; the target is worked out again for each horde.

What happens, and when

All of it happens only in the overworld, at a difficulty above Peaceful, with the game rule doMobSpawning on. Hordes gather only on dry ground in loaded chunks and never within 48 blocks of a player.

Event When What it does
Night horde On a horde night: every 3–5 in-game days, once night falls For every player, a wave gathers 80–144 blocks from their target on the player's side, only where no torch or other light reaches (block light 0), and walks to the target. Size 60 to about 1000 (rolled), at most 160 at once. Sleeping through the night moves the horde night to the next night.
Day herd About once every 1–2 in-game days A herd of 3 to about 1000 (at most 160 at once) appears 64–160 blocks from a random player. Half of them walk to that player's target, the rest migrate past on a random bearing.
Runner surge Rarely: every 3–7 in-game days, at night, not while a raid is on at the target 120–220 fast zombies with 1–2 alphas gather 96–144 blocks from the target and charge it.
Expedition alpha Now and then, when a player is more than 256 blocks from their bed (or the world spawn) An alpha, alone or with up to 4 runners, appears out of sight 36–56 blocks away and hunts that player. Not while flying or riding something off the ground.
Great horde 5 % chance per day, at least 14 days apart A horde of about 9,600 (default) appears 6–14 km from a player's target. Rumours, then a scout report every morning. Half of them pass by; the others arrive and keep coming for 2–4 days.

Every event can be switched off or tuned in the config. Chat notices (on by default) tell players within 256 blocks where a horde is gathering, which way and how far, and what it is heading for.

How herds behave

  • A herd that has not noticed anyone walks as one mass on a shared heading (no pathfinding per mob, so hundreds stay cheap). Herd mobs drift together and fall in with their neighbours.
  • Noise draws them: footsteps, blocks breaking and placed, explosions, doors, gunfire from other mods. Their own groans and music do not.
  • Once a herd mob turns towards a noise it keeps walking that way for about 2 minutes, even after the noise stops or its source is out of sight. For the first 20 seconds only a noise at least twice as strong turns it again, and it turns at most about 17° per step, so a herd heads somewhere instead of spinning on the spot.
  • A herd mob that sees a player (28 blocks) or a villager, trader or illager (18 blocks), or is attacked, wakes up its own AI and chases. At most 64 are awake at once; the rest stay in the herd.
  • Herd mobs farther than 192 blocks from every player, or old, fade away one at a time (never within 48 blocks of a player).
  • Herd mobs are zombies of this mod: vanilla zombie health, damage, sounds and drops. They do not burn in daylight (herds.sunBurn), do not turn into drowned in water, and never break doors.

Runner surge

  • Runners are horde zombies with extra speed, health and damage. They do not burn in daylight, ignore noise and lures, and only hunt people: players in survival/adventure and the entity tag #mcm_hordes:humans (villagers, wandering traders, illagers, witches, and MCA villagers if MCA is installed). Golems, animals and other monsters are left alone.
  • Alphas (1–2 per surge) are larger (×1.3), much tougher, leap at prey, roar when they spot it and heal when not fighting. They find real paths around walls and over small gaps; the other runners follow the nearest alpha. When the last alpha falls the surge scatters for 8 seconds, then every runner charges on its own.
  • Variants: sprinter (the fastest, 10 %), brute (heavier, opens wooden doors and fence gates, throws stones, rises once after falling, 15 %), scorcher (sets alight whatever it touches, rises once, 8 %).
  • Wall piles: a runner blocked by a wall climbs it when 4 or more others crowd around it (up to 40 blocks, 16 seconds). No blocks are ever placed or broken; only wooden doors and fence gates are opened (never iron doors or powered doors).
  • A surge ends when every runner has fallen, or after one in-game day; what is left then fades like any herd.

Great horde

  • It is not simulated while far away: its course is a straight line worked out from the day, so it costs nothing until it is close.
  • Day 0: a rumour of the direction. After 2 days: a report every morning (size estimate, distance and direction from its target, coordinates, heading, speed, and whether it will arrive, with a confidence that grows as it nears). Its bearing is picked so that it comes over land rather than from the sea.
  • On arrival it appears 300 blocks out as a long column of packs that walks in at about 1.6 blocks per second and piles up 32 blocks from the target. Near players (22–64 blocks from them) the packs turn into real mobs, 16 per second, up to 480 alive. Explosions (vanilla or modded) kill the share of a pack they overlap. Every few minutes a runner surge breaks out of it.
  • It ends when its days run out or it is beaten. Its state is saved in the world folder (mcm_hordes_megahorde.json).

Distant crowds

Packs of a great horde and herd mobs beyond the entity view distance (up to 320 blocks) are drawn on the client as light figures with the zombie skin (resource pack and Entity Texture Features skins are picked up), blended smoothly between updates; the nearest are drawn with the real renderer. The cost per frame is measured and far figures are thinned above 3 ms. With Distant Horizons, figures behind far hills are hidden.

Optional zombie tweaks

Key Default Effect
zombies.huntRaiders true Zombies and horde zombies also attack raiders (pillagers, vindicators, evokers, witches, ravagers), so a horde can be led into a raid. Raiders fight back.
zombies.noSunBurn false Vanilla zombies (and drowned, zombie villagers) do not burn in daylight.

Spawn eggs

In the vanilla Spawn Eggs tab: Alpha, Runner, Sprinter, Brute, Scorcher. Each spawns one that belongs to no surge, hunts people nearby and stays until killed. Eggs work anywhere and at any light level.

Entities

mcm_hordes:herd_zombie, runner, sprinter, brute, scorcher and alpha, all zombies of this mod. One made with /summon in the overworld joins the herds; the runner types become a lone runner of that kind, as from a spawn egg.

Commands

All need permission level 2 (general.commandPermissionLevel).

Command Effect
/mcmhordes status Herd and runner counts, the running surge, the great horde
/mcmhordes herd A day herd near you now
/mcmhordes night A night horde for you now
/mcmhordes surge A runner surge for you now (any time of day)
/mcmhordes megahorde status The latest scout report
/mcmhordes megahorde start [arrive|miss] A great horde appears far away now
/mcmhordes megahorde assault The great horde arrives now
/mcmhordes megahorde stop Call it off (mobs already out stay)
/mcmhordes reload Reload the config

Config config/mcm_hordes.json

Created with defaults on first launch; an existing file is never overwritten. 20 ticks = 1 second, 24000 ticks = 1 day. Values are clamped to safe ranges.

Key Default Meaning
general.notices / noticeRadius true / 256 Chat notices to players within this range
targets.order village, bed, player Target choice order
targets.villageRadius / villageMinVillagers 96 / 3 What counts as a village
targets.bedMaxDistance 192 A bed farther than this from the player is ignored
herds.nightHordes true Horde nights
herds.nightIntervalDays / nightJitterDays 3 / 2 A horde night every 3 days plus up to 2 more
herds.nightDistanceMin / Max, nightMinSize 80 / 144, 60 Night horde distance from the target and smallest size
herds.dayHerds, dayIntervalTicks, dayJitterTicks true, 24000, 24000 Day herds and how often
herds.dayApproachChance 0.5 Share of day herds that head for a target
herds.cap / groupMax / awakeMax 360 / 160 / 64 Herd mobs alive, per group, awake at once
herds.fadeDistance / maxAgeTicks 192 / 12000 When herd mobs fade
herds.hearSounds true Noise draws herds
herds.spawnRules true Herd mobs never appear on leaves or logs
herds.avoidLight true Hordes gather only where block light is 0 (false = any light)
herds.sunBurn false Herd mobs burn in daylight (runners never do)
runners.enabled, minIntervalTicks, jitterTicks, preferNight true, 72000, 96000, true Runner surge schedule
runners.spawnDistanceMin / Max 96 / 144 Surge distance from the target
runners.minCount / maxCount / maxActual / maxTotal 120 / 220 / 220 / 320 Surge size, alive at once (on top of the herd cap), total with risen ones
runners.spawnWaveSize / spawnWaveTicks 30 / 60 Spawned in waves
runners.surgeMaxTicks 24000 Longest surge
runners.huntRadius / targetHuntRadius / targetRadius 48 / 64 / 16 Hunting ranges
runners.scatterTicks 160 Scatter after the last alpha falls
runners.runner…, sprinter…, brute…, scorcher… see file Variant shares and multipliers
runners.bruteOpenDoors, bruteThrowStones, reanimate true Variant abilities
runners.climbPileThreshold, climbMaxHeight, climbMaxTicks 4, 40, 320 Wall piles
alpha.min / max 1 / 2 Alphas per surge
alpha.scale, healthMultiplier, damageMultiplier, speedMultiplier, armor… 1.3, 7.5, 3.6, 1.3, 16… Alpha body
alpha.leap, pathfind, voice, voiceVolume, regenPerSecond true, true, true, 1.6, 2 Alpha abilities
expedition.enabled, minDistance, chance, escortMax true, 256, 0.02, 4 Expedition alpha
megaHorde.enabled, chancePerDay, minDaysBetween true, 0.05, 14 Great horde schedule
megaHorde.waveSize × plannedWaves (or nominal) 160 × 60 Great horde size
megaHorde.arriveChance, startDistanceMin / Max, speedMin / Max 0.5, 6000 / 14000, 600 / 1400 Its course
megaHorde.assaultDaysMin / Max, maxAlive, streamRate, siegeRadius 2 / 4, 480, 16, 32 Its arrival
megaHorde.runnerWaveEvery / waveIntervalTicks 3 / 900 Runner surges out of it
view.enabled, figures, models, budgetMs, proxies, range, groans true, 20000, 48, 3.0, 1500, 320, true Distant crowds
zombies.huntRaiders / noSunBurn true / false Optional zombie tweaks

The schedule of horde nights, day herds and surges is kept in the world folder (mcm_hordes_schedule.json), so short sessions still see them.

Known limitations

  • Hordes are overworld only.
  • A herd walking on a shared heading may wander into water or off cliffs until it notices someone; real pathfinding is used only by alphas and by mobs that are chasing.
  • The great horde's notices go to every player in the overworld; the target it heads for is the one rolled when it appeared.
  • Many hundreds of awake mobs are heavy on any server; lower herds.cap, runners.maxActual and megaHorde.maxAlive on small servers.

Credits & licenses

  • This mod: all code and the alpha skin are original work made for this mod (drawn pixel by pixel), MIT License (LICENSE in the jar). The spawn eggs are the vanilla spawn egg template tinted with this mod's colours. Herd zombies and runners use the vanilla zombie model, skin, sounds and loot table by name; no vanilla file is included.
  • Alpha voices: sound effects from Pixabay, used under the Pixabay Content License, cut and converted to OGG for this mod (alpha_roar1–5, alpha_screech1). They are not covered by the MIT License and may not be extracted and redistributed on their own.
  • Fabric API by FabricMC: Apache-2.0. Required, not included.
  • Distant Horizons by James Seibel and the Distant Horizons team: LGPL-3.0. Optional, not included; read through its public API by name.
  • Entity Texture Features by Traben: LGPL-3.0. Optional, not included; read through its public API by name.
  • MCA Reborn: GPL-3.0. Optional; its villagers are only named in the #mcm_hordes:humans tag. Nothing from it is included.

Community & support

Bug reports, feature requests and build previews live on the Discord:

Join the VECTOR MODS Discord

If you would rather not use Discord, the CurseForge comment thread is read and answered too.

Support VECTOR MODS on Patreon

MCM: Hordes Team

profile avatar
  • 10
    Followers
  • 7
    Projects
  • 12.4K
    Downloads

More from CEOofNEXTTECHView all

  • MCM: Air Support project image

    MCM: Air Support

    Air raids and air support for Immersive Aircraft, flown by MCA villagers. Pillagers attack in aircraft; your guards fly rescues, escorts, reinforcements and strikes you call on a field radio.

    • 13
    • October 26, 2026
  • MCM: Devices project image

    MCM: Devices

    A roll-up heavy gate with its own lever, an air raid siren that wails on redstone, raids and hostile crowds, and the Horde Decoy: a small robot that lures mobs away and blows up without breaking blocks.

    • 12
    • October 26, 2026
  • MCM: Aircraft project image

    MCM: Aircraft

    UH-60, AH-64 and V-22 helicopters, a rubber boat and a Zumwalt-class destroyer for Immersive Aircraft, with guided missile pods, night navigation lights and cockpit warnings.

    • 12
    • October 26, 2026
  • BUTTERFINGERS project image

    BUTTERFINGERS

    A clumsy-but-earnest servo arm that sorts your chests, plus sentry turrets and a missile battery to guard the city — all drawn as runtime vector machinery.

    • 1.3K
    • October 25, 2026
  • MCM: Air Support project image

    MCM: Air Support

    Air raids and air support for Immersive Aircraft, flown by MCA villagers. Pillagers attack in aircraft; your guards fly rescues, escorts, reinforcements and strikes you call on a field radio.

    • 13
    • October 26, 2026
  • MCM: Devices project image

    MCM: Devices

    A roll-up heavy gate with its own lever, an air raid siren that wails on redstone, raids and hostile crowds, and the Horde Decoy: a small robot that lures mobs away and blows up without breaking blocks.

    • 12
    • October 26, 2026
  • MCM: Aircraft project image

    MCM: Aircraft

    UH-60, AH-64 and V-22 helicopters, a rubber boat and a Zumwalt-class destroyer for Immersive Aircraft, with guided missile pods, night navigation lights and cockpit warnings.

    • 12
    • October 26, 2026
  • BUTTERFINGERS project image

    BUTTERFINGERS

    A clumsy-but-earnest servo arm that sorts your chests, plus sentry turrets and a missile battery to guard the city — all drawn as runtime vector machinery.

    • 1.3K
    • October 25, 2026