Description

[](https://github.com/waterflane/Disabler)
[](https://patreon.com/waterflane_dev)
# Disabler: Spawn, Biome, Dimension, Structure & Item Control
## About
A server-side utility mod that gives admins control over mob spawns, structure generation, dimension access, world composition, items, loot, and inventories - powered by a simple config file.
## You can control:
> __**Block mob spawns**__
- Remove mobs from biome spawn lists
- Cancel runtime spawn attempts
__**Disable structures**__
- Prevent entire structure types from generating
- Remove their custom mob spawn overrides
> __**Remove biomes**__
- Fully exclude specific biomes from world generation
- Cleanly prevent them from appearing in new worlds
- Keep land replacements on land and water replacements in water
- Includes extra compatibility handling for Alex's Caves cave biome generation paths
> __**Disable dimensions**__
- Cancel dimension travel before entities enter blocked dimensions
- Prevent new Nether portals from forming when `minecraft:the_nether` is blocked
- No spawn-teleport fallback: players stay where they are
> __**Block items**__
- Remove configured items from generated loot
- Prevent blocked item entities from remaining in the world or entering player inventories
- Clean crafting, smelting, player inventory, ender chest, equipment, and open-container results
- Optionally scan loaded modded and vanilla storages at a configurable interval
> __**Simple JSON file**__
- No commands, no GUI
- Server-side only
- No client install required
- Optional singleplayer support
- Same `config/disabler-server.json` format on NeoForge, Forge, and Fabric
## Configuration
The config file is located at:
```text
.minecraft/config/disabler-server.json
```
```json
{
"blocked_mobs": [],
"blocked_biomes": [],
"biome_exceptions": [
"minecraft:mushroom_fields"
],
"blocked_structures": [],
"blocked_dimensions": [],
"blocked_items": [],
"storage_scan": {
"enabled": true,
"interval_ticks": 300,
"block_entities_per_tick": 512,
"skipped_namespaces": []
}
}
```
### Parameters
- **`blocked_mobs`**: Entity type ids that cannot spawn or join a server level. Example: `minecraft:zombie`.
- **`blocked_biomes`**: Biome ids excluded from newly generated chunks. Replacements are selected by climate and preserve the land/water category. Example: `minecraft:plains`.
- **`biome_exceptions`**: Biomes that cannot be selected as replacements. `minecraft:mushroom_fields` is excluded by default because it has special terrain requirements.
- **`blocked_structures`**: Structure ids prevented from starting in newly generated chunks. Example: `minecraft:village_plains`.
- **`blocked_dimensions`**: Vanilla or modded dimension ids that entities cannot enter. Travel is cancelled before changing level. Example: `minecraft:the_end`.
- **`blocked_items`**: Vanilla or modded item ids removed from loot, item entities, player inventories, crafting and furnace results, open menus, and supported storages. Example: `minecraft:elytra`.
- **`storage_scan`**: Group of settings for periodic removal of blocked items from loaded block-entity inventories.
- **`storage_scan.enabled`**: Enables or disables periodic storage scanning. Event-based item and loot blocking continues to work when this is `false`.
- **`storage_scan.interval_ticks`**: Delay between complete storage scan cycles. The default is `300` ticks, approximately 15 seconds.
- **`storage_scan.block_entities_per_tick`**: Maximum number of queued block entities checked per tick. The default limit is `512`.
- **`storage_scan.skipped_namespaces`**: Mod namespaces whose physical storages must not be scanned. Example: `["examplemod"]`.
The mod also creates `.minecraft/config/DisablerGuide.md` with the same parameter explanations. Unopened loot-table containers are left untouched until their loot is generated, preventing interference with Lootr conversion.
If an old `.minecraft/config/disabler-server.toml` exists and JSON does not, known settings are migrated automatically. The TOML file is retained as a backup, while all further configuration uses JSON.
Watch on [GitHub](https://github.com/waterflane/Disabler) how it works!