Turn your Minecraft world into a nonstop survival scenario.
Server-side only: install it on the server. Players do not need the mod installed on their clients to join.
This mod removes the "safe daytime" feeling by spawning zombie-type mobs around players all day and night. As in-game days pass, those mobs get more dangerous through scaling and configurable attribute systems.
If you want tension at all times instead of a peaceful daytime loop, this mod is built for that.
- Zombies can be configured to ignore sunlight burning (enabled by default).
- Zombie-class mobs spawn around survival players day and night.
- Torch/lantern/glowstone-style light can optionally block custom spawns.
- Horde events can occur naturally or be started manually.
- Blood moon nights can occur randomly or be forced manually.
- Difficulty scaling increases pressure over time.
- Early-game daytime spawning can be delayed for a configurable number of days.
- Optional morning day-counter titles can show the current day at dawn.
- Advanced attribute modifiers let you tune enemy stats deeply.
- Biome and dimension context profiles let stats change by location.
- Most behavior is configurable live with commands.
- Config file includes extensive comments and safe ranges.
- Server-only install support for multiplayer servers.
This is not "just more zombies." It is a complete configurable zombie-pressure system.
Custom spawning can run 24/7 near players. You control:
- how often spawn checks happen
- chance of a spawn wave
- how many mobs per wave
- per-player nearby cap
- how far from players mobs can spawn
- how many spawn position attempts are made per mob
Result: day and night are both dangerous, and pressure can be tuned for casual servers or hardcore worlds.
Hordes are timed high-pressure events:
- increased spawn intensity
- larger wave sizes
- configurable duration and frequency
- optional on-screen alerts for players
Admins can force-start or stop hordes with commands.
Every night can roll a blood moon chance:
- stronger spawn pressure than normal nights
- stacks with other multipliers
- can be forced by command now/tonight
The mod can scale enemy pressure as days pass:
- legacy scaling fields for movement speed and health boost
- full attribute scaling through the new attribute system
- configurable start day and max day for progression curve
This creates a "race against time" survival feeling.
Spawn composition can change by biome:
- deserts/badlands: more husks
- water biomes: more drowned
- mushroom fields can be safe zones (configurable)
Optional custom spawning in Nether and End is supported.
After a player death, spawn pressure can be reduced temporarily to prevent repeated instant deaths and frustration loops.
- kill tracking
- kill milestones with advancements at 250, 1000, and 3000 zombie kills
- cooldown tracking
- optional atmospheric spawn particles/sounds
- optional extra drops
- optional debug logging for troubleshooting
This mod now includes a layered attribute pipeline for zombie-class mobs when they enter the world:
- Health
- Attack damage
- Movement speed
- Armor
- Follow range
- Knockback resistance
For each spawned mob, attribute value flow is:
- start from vanilla base value
- apply
baseprofile (global for all zombie-class mobs) - apply
variantprofile (zombie/husk/drowned/zombie villager) if enabled - apply
contextmultipliers (biome/dimension) if enabled - apply attribute day-scaling (if enabled)
- apply legacy scaling compatibility values (health/speed)
- clamp to safe min/max values
You can now tune difficulty in a controlled way:
- "All mobs are 15% faster globally"
- "Husks hit harder than regular zombies"
- "Drowned are tankier in water biomes"
- "Nether spawns are faster and more aggressive"
- "Late-game scaling increases follow range so mobs detect players sooner"
Context profiles multiply attributes based on spawn location.
Contexts:
desertwatermushroomnetherend
If multiple contexts apply, multipliers stack multiplicatively.
Example:
- Desert speed multiplier =
1.10 - Nether speed multiplier =
1.20 - Spawn in Nether desert-like context => combined speed multiplier is about
1.32
All commands require OP level 2.
| Command | What it does |
|---|---|
/zhelp |
Shows built-in command help. |
/zburn <true|false> |
Controls zombie daylight burning. true means they burn in daylight, false means they do not. |
/zday [status|set <day>] |
Shows or sets the world day counter. |
/zkill |
Removes all zombie-class entities from loaded levels. |
| Command | What it does |
|---|---|
/zhorde start |
Starts a horde event immediately. |
/zhorde stop |
Stops the active horde event. |
/zhorde status |
Shows horde/blood-moon state and active spawn multiplier. |
/zbloodmoon |
Forces blood moon now if night, or queues it for tonight if day. |
| Command | What it does |
|---|---|
/zstats |
Shows your own stats if run by player; server summary if run from console. |
/zstats <player> |
Shows stats for a specific player. |
/zstats all |
Shows server totals. |
/zstats clear |
Clears tracked stats, milestone progress, and cooldown state. |
| Command | What it does |
|---|---|
/zscaling status |
Shows current scaling day/factor and attribute system status. |
| Command | What it does |
|---|---|
/zdayspawn status |
Prints full spawn/settings summary. |
/zdayspawn enabled <true|false> |
Master toggle for custom spawning. |
/zdayspawn chance <0.0-1.0> |
Spawn-wave chance per spawn interval. |
/zdayspawn babychance <0.0-1.0> |
Chance for baby zombie spawns. 0.0 disables new baby zombie-class spawns. |
/zdayspawn interval <ticks> |
Normal spawn interval. |
/zdayspawn eventinterval <ticks> |
Spawn interval during horde/blood moon. |
/zdayspawn amount <1-50> |
Zombies attempted per wave. |
/zdayspawn attempts <1-40> |
Spawn position attempts per zombie. |
/zdayspawn max <1-500> |
Max nearby zombie-class mobs per player. |
/zdayspawn range <16-128> |
Horizontal spawn range around player. |
/zdayspawn mindist <8-64> |
Minimum spawn distance from player. |
/zdayspawn daylightstart <0-3650> |
Disable custom daytime spawning until this day counter. |
/zdayspawn maxlight <-1-15> |
Maximum block light for custom spawns. -1 ignores light. |
/zdayspawn daycounter <true|false> |
Toggle the morning on-screen day counter. |
/zdayspawn sky <true|false> |
Overworld spawn requires open sky. |
/zdayspawn variants <true|false> |
Enable variant spawning logic. |
/zdayspawn nightboost <true|false> |
Enable night spawn chance boost. |
/zdayspawn horde <true|false> |
Enable horde system. |
/zdayspawn hordechance <0.0-1.0> |
Chance scheduled horde day starts a horde. |
/zdayspawn bloodmoon <true|false> |
Enable random blood moon system. |
/zdayspawn scaling <true|false> |
Enable day-based scaling. |
/zdayspawn attributes <true|false> |
Enable advanced attribute modifier system. |
/zdayspawn attributescaling <true|false> |
Let attribute values scale by day factor. |
/zdayspawn variantprofiles <true|false> |
Enable per-variant attribute profiles. |
/zdayspawn contextprofiles <true|false> |
Enable biome/dimension context multipliers. |
/zdayspawn biomes <true|false> |
Enable biome-based variant chance modifiers. |
/zdayspawn nether <true|false> |
Allow custom spawning in Nether. |
/zdayspawn end <true|false> |
Allow custom spawning in End. |
/zdayspawn cooldown <true|false> |
Enable death cooldown system. |
/zdayspawn effects <true|false> |
Enable spawn particles/sounds. |
/zdayspawn debug <true|false> |
Enable debug logging. |
| Command | What it does |
|---|---|
/zattr status |
Shows attribute/scaling status summary. |
/zattr keys |
Shows key-group format guide. |
/zattr keys all |
Prints all available numeric and toggle keys. |
/zattr get <key> |
Reads one numeric key value. |
/zattr set <key> <value> |
Live-updates one numeric key value. |
/zattr toggle <key> <true|false> |
Live-updates a supported boolean toggle key. |
| Term | Meaning |
|---|---|
| Zombie-class | Zombie, Husk, Drowned, Zombie Villager. |
| Key | The exact setting identifier used by /zattr get and /zattr set. Example: base.health.multiplier. |
| Toggle key | A boolean key used by /zattr toggle. Example: attributes.enabled. |
| Multiplier | A percentage-like scale factor. 1.0 = unchanged, 1.25 = +25%, 0.8 = -20%. |
| Bonus | Flat amount added/subtracted after multiplier. |
| Context profile | Attribute multipliers that apply in specific biome/dimension contexts. |
| Variant profile | Attribute profile for one mob variant (zombie/husk/drowned/villager). |
| Scaling factor | Day progression value from 0.0 to 1.0 based on your scaling start/max days. |
| Legacy scaling | Older compatibility scaling fields (legacy.speedMultiplier, legacy.healthBonus). |
| Spawn interval | Time between spawn checks. 20 ticks = 1 second. |
| Spawn attempts | Number of location tries per mob to find valid spawn points. |
| Per-player cap | Max nearby zombie-class mobs around each player before new spawns are skipped. |
General shape:
group.subject.attribute.mode
Examples:
base.health.multipliervariant.husk.attack.bonuscontext.nether.speed.multiplierlegacy.healthBonus
base.<health|attack|speed|armor|follow|knockback>.<multiplier|bonus>scale.<health|attack|speed|armor|follow|knockback>.<multiplier|bonus>variant.<zombie|husk|drowned|villager>.<health|attack|speed|armor|follow|knockback>.<multiplier|bonus>context.<desert|water|mushroom|nether|end>.<health|attack|speed|armor|follow|knockback>.multiplierlegacy.<speedMultiplier|healthBonus>
attributes.enabledattributes.scalingattributes.variantProfilesattributes.contextProfiles
base.health.multiplierbase.health.bonusbase.attack.multiplierbase.attack.bonusbase.speed.multiplierbase.speed.bonusbase.armor.multiplierbase.armor.bonusbase.follow.multiplierbase.follow.bonusbase.knockback.multiplierbase.knockback.bonus
scale.health.multiplierscale.health.bonusscale.attack.multiplierscale.attack.bonusscale.speed.multiplierscale.speed.bonusscale.armor.multiplierscale.armor.bonusscale.follow.multiplierscale.follow.bonusscale.knockback.multiplierscale.knockback.bonus
variant.zombie.health.multipliervariant.zombie.health.bonusvariant.zombie.attack.multipliervariant.zombie.attack.bonusvariant.zombie.speed.multipliervariant.zombie.speed.bonusvariant.zombie.armor.multipliervariant.zombie.armor.bonusvariant.zombie.follow.multipliervariant.zombie.follow.bonusvariant.zombie.knockback.multipliervariant.zombie.knockback.bonus
variant.husk.health.multipliervariant.husk.health.bonusvariant.husk.attack.multipliervariant.husk.attack.bonusvariant.husk.speed.multipliervariant.husk.speed.bonusvariant.husk.armor.multipliervariant.husk.armor.bonusvariant.husk.follow.multipliervariant.husk.follow.bonusvariant.husk.knockback.multipliervariant.husk.knockback.bonus
variant.drowned.health.multipliervariant.drowned.health.bonusvariant.drowned.attack.multipliervariant.drowned.attack.bonusvariant.drowned.speed.multipliervariant.drowned.speed.bonusvariant.drowned.armor.multipliervariant.drowned.armor.bonusvariant.drowned.follow.multipliervariant.drowned.follow.bonusvariant.drowned.knockback.multipliervariant.drowned.knockback.bonus
variant.villager.health.multipliervariant.villager.health.bonusvariant.villager.attack.multipliervariant.villager.attack.bonusvariant.villager.speed.multipliervariant.villager.speed.bonusvariant.villager.armor.multipliervariant.villager.armor.bonusvariant.villager.follow.multipliervariant.villager.follow.bonusvariant.villager.knockback.multipliervariant.villager.knockback.bonus
context.desert.health.multipliercontext.desert.attack.multipliercontext.desert.speed.multipliercontext.desert.armor.multipliercontext.desert.follow.multipliercontext.desert.knockback.multiplier
context.water.health.multipliercontext.water.attack.multipliercontext.water.speed.multipliercontext.water.armor.multipliercontext.water.follow.multipliercontext.water.knockback.multiplier
context.mushroom.health.multipliercontext.mushroom.attack.multipliercontext.mushroom.speed.multipliercontext.mushroom.armor.multipliercontext.mushroom.follow.multipliercontext.mushroom.knockback.multiplier
context.nether.health.multipliercontext.nether.attack.multipliercontext.nether.speed.multipliercontext.nether.armor.multipliercontext.nether.follow.multipliercontext.nether.knockback.multiplier
context.end.health.multipliercontext.end.attack.multipliercontext.end.speed.multipliercontext.end.armor.multipliercontext.end.follow.multipliercontext.end.knockback.multiplier
legacy.speedMultiplierlegacy.healthBonus
-
Make all spawned mobs slightly tankier:
/zattr set base.health.multiplier 1.15 -
Make only husks hit harder:
/zattr set variant.husk.attack.multiplier 1.30 -
Make drowned faster in water areas:
/zattr set context.water.speed.multiplier 1.20 -
Disable biome/dimension context effects quickly:
/zattr toggle attributes.contextProfiles false -
Check current value before changing:
/zattr get variant.drowned.armor.multiplier -
List all keys if unsure:
/zattr keys all
All settings are in the common config (zombieapocalypseaddon-common.toml) and include explanatory comments.
Main sections:
generaldayspawningvariantshordebloodmoonscalingattributesnightspawningbiomesdeathcooldowneffectsstatisticsdrops
- Install on the server for multiplayer worlds.
- Client install is optional. Players can join without the mod.
- Install on the client only if you also want it active in singleplayer.
- Intended for NeoForge or Forge servers matching the release file you download.
- For troubleshooting, enable debug logs with:
/zdayspawn debug true
- Build:
./gradlew build - Full clean build:
./gradlew clean build - Run tests:
./gradlew test