COWMODSКаталог модов

Mob Spawn Control

This mod gives you complete control over mob spawning with per-rule filters, category caps, loot/XP scaling, attribute multipliers, and mob replacement — no coding required, just edit the JSON config and reload. 🔌✨

3,3 тыс.7обновлён 7 окт. 2026 г.
УправлениеТехнологииУтилиты

Описание

Mob Spawn Control

Mob Spawn Control is a server-side Fabric mod for controlling Minecraft mob spawning through configuration and in-game admin commands. It supports per-mob spawn rules, global category caps, spawn replacement, attribute scaling, loot scaling, experience scaling, biome spawn additions, and hot-reloaded JSON configuration.

What this mod does

Mob Spawn Control intercepts mob spawning and applies configurable rules before a mob is allowed to enter the world. It can:

  • Allow or deny mobs globally, per dimension, per biome, or per spawn type.
  • Apply spawn-chance percentages globally, per dimension, or per biome.
  • Restrict spawning by Y height, light level, spawn block, time, world age, weather, player distance, and distance from world origin.
  • Replace one mob with another when the original mob would have spawned.
  • Remove all existing entities of a banned mob from loaded worlds.
  • Scale mob health, movement speed, and attack damage.
  • Scale loot drops and experience drops.
  • Disable experience for mobs created by specific spawn types, such as mob spawners.
  • Override vanilla spawn-category population caps.
  • Add mobs to biome spawn tables at startup.
  • Reload configuration without restarting the server.
  • Provide administrative commands with mob, dimension, biome, and spawn-type suggestions.

The mod is intended for survival servers, modpacks, minigame servers, and performance-oriented servers that need predictable mob spawning.

Supported versions

MinecraftJavaFabric LoaderStatus
1.21 through 1.21.11210.16.x or newer compatible releaseSupported
26.1 through 26.1.2250.17.x or newer compatible releaseSupported
26.2250.19.3 or newerSupported
26.3250.19.5 or newerSupported

Use the download whose Minecraft version matches your game or server. The 1.21 file will not work on 26.x, and 26.x files will not work on 1.21.

Installation

Client or single-player installation

  1. Install the correct version of Minecraft.
  2. Install Fabric Loader for that Minecraft version.
  3. Install the matching Fabric API release.
  4. Download the Mob Spawn Control file for your Minecraft version.
  5. Place the downloaded .jar file in the mods folder.
  6. Start Minecraft.
  7. For single-player testing, open a world and use commands with operator permission where needed.

Server installation

  1. Install the correct Minecraft server version.
  2. Install the matching Fabric Loader server.
  3. Install the matching Fabric API server file.
  4. Download the Mob Spawn Control file for your server's Minecraft version.
  5. Place the downloaded .jar file in the server's mods folder.
  6. Start the server once so the mod can generate its configuration file.
  7. Edit config/viper_spawn_control.json.
  8. Run /spawncontrol reload to apply changes without restarting.

The configuration file is created at:

config/viper_spawn_control.json

Configuration overview

The configuration has three top-level sections:

SectionTypePurpose
global_mob_capsObject mapping spawn-category names to integersOverrides population limits used for natural spawning categories.
spawn_rulesObject mapping mob IDs to rule objectsControls where, when, how often, and in what form each mob may spawn.
biome_spawn_additionsObject mapping biome IDs to spawn-entry listsAdds new biome spawn entries when the server starts.

Mob IDs use the form minecraft:zombie. Biome and dimension IDs also use namespaced IDs, such as minecraft:plains or minecraft:the_nether.

Complete configuration example

{
  "global_mob_caps": {
    "monster": 70,
    "creature": 10,
    "ambient": 15,
    "underground_water_creature": 5,
    "water_creature": 5,
    "water_ambient": 20,
    "axolotls": 5
  },
  "spawn_rules": {
    "minecraft:zombie": {
      "global_enabled": true,
      "global_spawn_rate_percent": 100.0,
      "disabled_dimensions": [],
      "disabled_biomes": [],
      "disabled_spawn_types": [],
      "dimension_rates": {},
      "biome_rates": {},
      "height_limits": {
        "min_y": -64,
        "max_y": 320
      },
      "light_limits": {
        "min_light": 0,
        "max_light": 7
      },
      "allowed_spawn_blocks": [],
      "time_conditions": {
        "day_only": false,
        "night_only": true,
        "min_world_days": 0
      },
      "attribute_multipliers": {
        "max_health": 1.0,
        "movement_speed": 1.0,
        "attack_damage": 1.0
      },
      "proximity_rules": {
        "min_distance_to_players": 24.0,
        "max_distance_to_players": -1.0,
        "min_distance_to_origin": 100.0,
        "max_distance_to_origin": 10000.0
      },
      "weather_conditions": {
        "rain_only": false,
        "thunder_only": false,
        "clear_only": false
      },
      "replace_with": "",
      "xp_multiplier": 1.0,
      "spawn_type_xp_multipliers": {
        "SPAWNER": 0.0
      },
      "loot_multiplier": 1.0
    }
  },
  "biome_spawn_additions": {
    "minecraft:plains": [
      {
        "mob": "minecraft:polar_bear",
        "weight": 5,
        "min_group": 1,
        "max_group": 2
      }
    ]
  }
}

Spawn-rule configuration table

Each entry under spawn_rules uses a mob ID as its key.

FieldTypeDescription
global_enabledBooleanSet to false to ban the mob in every dimension and biome.
global_spawn_rate_percentNumber from 0 to 100Default spawn chance when no dimension- or biome-specific rate applies.
disabled_dimensionsList of dimension IDsPrevents the mob from spawning in the listed dimensions.
disabled_biomesList of biome IDsPrevents the mob from spawning in the listed biomes.
disabled_spawn_typesList of uppercase spawn reasonsPrevents the mob from spawning through listed mechanisms, such as NATURAL or SPAWNER.
dimension_ratesObject mapping dimension ID to percentageOverrides the spawn chance for selected dimensions.
biome_ratesObject mapping biome ID to percentageOverrides the spawn chance for selected biomes. Biome rates take precedence over dimension rates.
height_limits.min_yIntegerMinimum Y coordinate where the mob may spawn.
height_limits.max_yIntegerMaximum Y coordinate where the mob may spawn.
light_limits.min_lightInteger from 0 to 15Minimum light level where the mob may spawn.
light_limits.max_lightInteger from 0 to 15Maximum light level where the mob may spawn.
allowed_spawn_blocksList of block IDsIf non-empty, the mob can spawn only when the block below it is in this list.
time_conditions.day_onlyBooleanAllows spawning only during daytime when true.
time_conditions.night_onlyBooleanAllows spawning only during nighttime when true.
time_conditions.min_world_daysIntegerPrevents spawning before the world reaches the selected age in days.
attribute_multipliers.max_healthNumberMultiplies the spawned mob's maximum health.
attribute_multipliers.movement_speedNumberMultiplies the spawned mob's movement speed.
attribute_multipliers.attack_damageNumberMultiplies the spawned mob's attack damage.
proximity_rules.min_distance_to_playersNumberRequires spawns to be at least this many blocks from the nearest player.
proximity_rules.max_distance_to_playersNumberRequires a player to be within this distance. Use -1.0 to disable the upper limit.
proximity_rules.min_distance_to_originNumberRequires spawns to be at least this many horizontal blocks from world coordinates 0, 0.
proximity_rules.max_distance_to_originNumberPrevents spawns farther than this horizontal distance from world coordinates 0, 0. Use -1.0 to disable the upper limit.
weather_conditions.rain_onlyBooleanAllows spawning only while it is raining when true.
weather_conditions.thunder_onlyBooleanAllows spawning only during thunderstorms when true.
weather_conditions.clear_onlyBooleanAllows spawning only during clear weather when true.
replace_withMob ID or empty stringReplaces the denied original mob with another mob. Use an empty string to disable replacement.
xp_multiplierNumberMultiplies experience dropped by the mob. Use 0.0 to disable its experience.
spawn_type_xp_multipliersObject mapping uppercase spawn reason to multiplierOverrides xp_multiplier only for mobs born through the specified spawn mechanism.
loot_multiplierNumberMultiplies the quantity of dropped items.

Spawn-type experience multipliers use the spawn reason recorded when the mob is created. For example, "SPAWNER": 0.0 removes experience from spawner-created mobs while leaving naturally spawned mobs of the same type unchanged.

Origin distances use horizontal X/Z distance from the center of the spawn position to world coordinates 0, 0. The calculation is performed separately in each dimension's own coordinate system.

Biome spawn-addition table

Each entry under biome_spawn_additions uses a biome ID as its key and contains a list of spawn entries.

FieldTypeDescription
mobMob IDMob added to the biome's spawn table.
weightInteger of at least 1Relative selection weight for the entry.
min_groupInteger of at least 1Minimum number of mobs spawned together.
max_groupIntegerMaximum number of mobs spawned together.

Biome additions are applied during server startup. Restart the server after changing them.

Commands

All commands start with /spawncontrol and require gamemaster-level permission. Mob arguments accept namespaced IDs such as minecraft:sheep; dimension, biome, and spawn-type arguments support suggestions.

CommandDescription
/spawncontrol reloadReloads viper_spawn_control.json from disk.
/spawncontrol infoDisplays the executing player's biome, dimension, light level, Y coordinate, and world age.
/spawncontrol ban <mob>Bans a mob globally and removes existing entities of that type from loaded worlds.
/spawncontrol ban <mob> globalBans a mob globally.
/spawncontrol ban <mob> dimension <id>Bans a mob in the selected dimension.
/spawncontrol ban <mob> biome <id>Bans a mob in the selected biome.
/spawncontrol unban <mob>Allows a globally banned mob again.
/spawncontrol unban <mob> dimension <id>Removes a dimension-specific ban.
/spawncontrol unban <mob> biome <id>Removes a biome-specific ban.
/spawncontrol rate <mob> <percent>Sets the global spawn-chance percentage.
/spawncontrol rate <mob> <percent> globalSets the global spawn-chance percentage explicitly.
/spawncontrol rate <mob> <percent> dimension <id>Sets a dimension-specific spawn-chance percentage.
/spawncontrol rate <mob> <percent> biome <id>Sets a biome-specific spawn-chance percentage.
/spawncontrol cap <category> <value>Overrides a natural-spawning category population cap.
/spawncontrol spawntype <mob> <type> <allow|deny>Allows or denies a particular spawn mechanism, such as NATURAL or SPAWNER.
/spawncontrol height <mob> <min> <max>Sets permitted Y-coordinate limits.
/spawncontrol light <mob> <min> <max>Sets permitted light-level limits from 0 to 15.
/spawncontrol attributes <mob> <health|speed|damage> <multiplier>Sets an attribute multiplier.
/spawncontrol weather <mob> <rain|thunder|clear|none>Sets a weather restriction.
/spawncontrol replace <mob>Displays the mob's current replacement.
/spawncontrol replace <mob> <replacement>Replaces denied spawns with another mob.
/spawncontrol replace <mob> noneRemoves the replacement.

The mob argument comes immediately after the subcommand. For scoped commands, the scope follows the mob and value:

/spawncontrol ban minecraft:sheep
/spawncontrol rate minecraft:zombie 50 minecraft:the_nether

Common examples

Ban zombies everywhere and remove existing zombies

/spawncontrol ban minecraft:zombie

Remove experience from spawner mobs only

"minecraft:zombie": {
  "xp_multiplier": 1.0,
  "spawn_type_xp_multipliers": {
    "SPAWNER": 0.0
  }
}

Keep hostile mobs away from spawn

"minecraft:creeper": {
  "proximity_rules": {
    "min_distance_to_players": 24.0,
    "max_distance_to_players": -1.0,
    "min_distance_to_origin": 250.0,
    "max_distance_to_origin": -1.0
  }
}

Replace spiders with cave spiders

/spawncontrol replace minecraft:spider minecraft:cave_spider

Performance notes

  • Rules are evaluated only when a mob spawn is attempted.
  • Unused proximity checks are skipped.
  • Category caps use the configured values during natural-spawn calculations.
  • The mod does not add client-side rendering, particles, sounds, or HUD elements.

Enhance your server setup with the other server-side mods in the Fabric Server Essentials organization.

Галерея

Example "Banning Panda" Command 👾

Последние версии

Все версии →
release

Mob Spawn Control 1.3

1.3
7 окт. 2026 г.695Minecraft: 26.3fabric
Скачать
Что нового
- Fixed spawn-reason tracking for mobs created by monster spawners and trial spawners, which build entities through a code path the mod was not monitoring. - Spawn-type rules and spawn-type experience multipliers (such as spawner-only XP control) now correctly apply to spawner-born mobs.
release

Mob Spawn Control 1.3

1.3
7 окт. 2026 г.284Minecraft: 26.2fabric
Скачать
Что нового
- Fixed spawn-reason tracking for mobs created by monster spawners and trial spawners, which build entities through a code path the mod was not monitoring. - Spawn-type rules and spawn-type experience multipliers (such as spawner-only XP control) now correctly apply to spawner-born mobs.
release

Mob Spawn Control 1.3

1.3
7 окт. 2026 г.114Minecraft: 26.1, 26.1.1, 26.1.2fabric
Скачать
Что нового
- Fixed spawn-reason tracking for mobs created by monster spawners and trial spawners, which build entities through a code path the mod was not monitoring. - Spawn-type rules and spawn-type experience multipliers (such as spawner-only XP control) now correctly apply to spawner-born mobs.
release

Mob Spawn Control 1.3

1.3
7 окт. 2026 г.424Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11fabric
Скачать
Что нового
- Fixed spawn-reason tracking for mobs created by monster spawners and trial spawners, which build entities through a code path the mod was not monitoring. - Spawn-type rules and spawn-type experience multipliers (such as spawner-only XP control) now correctly apply to spawner-born mobs.
release

Mob Spawn Control 1.2

1.2
5 окт. 2026 г.56Minecraft: 26.3fabric
Скачать
Что нового
- Added minimum and maximum world-origin distance limits to proximity rules. - Added per-spawn-type experience multipliers, so experience can be disabled for spawner-created mobs without affecting naturally spawned mobs. - Group-spawn handling: banning a rider or mount now removes the whole mount group instead of leaving the partner behind.
release

Mob Spawn Control 1.2

1.2
5 окт. 2026 г.37Minecraft: 26.2fabric
Скачать
Что нового
- Added minimum and maximum world-origin distance limits to proximity rules. - Added per-spawn-type experience multipliers, so experience can be disabled for spawner-created mobs without affecting naturally spawned mobs. - Group-spawn handling: banning a rider or mount now removes the whole mount group instead of leaving the partner behind.
release

Mob Spawn Control 1.2

1.2
5 окт. 2026 г.13Minecraft: 26.1, 26.1.1, 26.1.2fabric
Скачать
Что нового
- Added minimum and maximum world-origin distance limits to proximity rules. - Added per-spawn-type experience multipliers, so experience can be disabled for spawner-created mobs without affecting naturally spawned mobs. - Group-spawn handling: banning a rider or mount now removes the whole mount group instead of leaving the partner behind.
release

Mob Spawn Control 1.2

1.2
5 окт. 2026 г.46Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11fabric
Скачать
Что нового
- Added minimum and maximum world-origin distance limits to proximity rules. - Added per-spawn-type experience multipliers, so experience can be disabled for spawner-created mobs without affecting naturally spawned mobs. - Group-spawn handling: banning a rider or mount now removes the whole mount group instead of leaving the partner behind.
release

1.0.0

1.0.0
22 сент. 2026 г.135Minecraft: 26.3fabric
Скачать
Что нового
- **Support added for 26.3**
release

Mob Spawn Control 1.0.1

1.0.1
3 авг. 2026 г.514Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11fabric
Скачать
Что нового
Changes: - `SpawnController.removeSpawnGroup()` added to all three targets — discards the mount (`getVehicle()`), all passengers, and the mob itself. - `ServerWorldMixin` (1.21) / `ServerLevelMixin` (26.1/26.2) now evaluate the whole connected group on every spawn: each passenger and the vehicle is checked against the rules using **its own captured spawn reason** (fallback to the incoming mob's reason). If any member is banned, the entire group is discarded and the spawn returns `false`; replacement still runs only for the self-denied mob. - Now banning `minecraft:zombie` kills both paths: the chicken (mount) spawn is denied because its zombie passenger is banned, and if the zombie spawn is evaluated first, the vehicle check catches the chicken too — no surviving jockey either way.