-
Notifications
You must be signed in to change notification settings - Fork 0
Biome Rules
DepthDrako edited this page Mar 19, 2026
·
1 revision
Biome rules define mob levels based on which biome they spawn in. They support both specific biome IDs and biome tags for broad matching.
data/botzmobleveling/mob_levels/biomes/<rulename>.json
{
"biome": "minecraft:desert",
"biome_tags": [],
"priority": 50,
"enabled": true,
"level_range": {
"min": 1,
"max": 100
},
"level_mode": "distance",
"fixed_level": null,
"ignore_distance_scaling": false,
"distance_multiplier": 1.0,
"mob_overrides": {},
"attribute_scaling": {}
}| Field | Type | Description |
|---|---|---|
biome |
String | Specific biome ID (e.g., minecraft:desert) |
biome_tags |
Array | List of biome tags for broad matching |
Note: You can use biome, biome_tags, or both. If both are specified, the rule matches if either condition is met.
| Field | Type | Default | Description |
|---|---|---|---|
priority |
Integer | 50 |
Higher values = higher priority |
enabled |
Boolean | true |
Toggle this rule on/off |
level_range |
Object | {min: 1, max: 100} |
Level range for random mode |
level_mode |
String | "distance" |
One of: fixed, random, distance
|
fixed_level |
Integer | null |
Exact level (when mode is fixed) |
ignore_distance_scaling |
Boolean | false |
Ignore distance from spawn |
distance_multiplier |
Double | 1.0 |
Multiplier for distance-based levels |
mob_overrides |
Object | {} |
Per-mob level overrides |
attribute_scaling |
Object | {} |
Custom attribute bonuses |
Match a single, specific biome:
{
"biome": "minecraft:desert",
"level_mode": "fixed",
"fixed_level": 30
}Match multiple biomes using tags. Supports vanilla and modded biome tags:
{
"biome_tags": [
"minecraft:is_nether"
],
"level_mode": "fixed",
"fixed_level": 75
}Match both a specific biome AND biomes with certain tags:
{
"biome": "minecraft:badlands",
"biome_tags": [
"minecraft:is_badlands"
],
"level_range": {
"min": 40,
"max": 80
}
}| Biome | ID |
|---|---|
| Plains | minecraft:plains |
| Desert | minecraft:desert |
| Forest | minecraft:forest |
| Taiga | minecraft:taiga |
| Swamp | minecraft:swamp |
| Jungle | minecraft:jungle |
| Beach | minecraft:beach |
| Mountains | minecraft:stony_peaks |
| Ocean | minecraft:ocean |
| Deep Dark | minecraft:deep_dark |
| Biome | ID |
|---|---|
| Nether Wastes | minecraft:nether_wastes |
| Crimson Forest | minecraft:crimson_forest |
| Warped Forest | minecraft:warped_forest |
| Soul Sand Valley | minecraft:soul_sand_valley |
| Basalt Deltas | minecraft:basalt_deltas |
| Biome | ID |
|---|---|
| The End | minecraft:the_end |
| End Highlands | minecraft:end_highlands |
| End Midlands | minecraft:end_midlands |
| End Barrens | minecraft:end_barrens |
| Small End Islands | minecraft:small_end_islands |
| Tag | Description |
|---|---|
minecraft:is_overworld |
All overworld biomes |
minecraft:is_nether |
All nether biomes |
minecraft:is_end |
All end biomes |
minecraft:is_ocean |
Ocean biomes |
minecraft:is_deep_ocean |
Deep ocean biomes |
minecraft:is_forest |
Forest biomes |
minecraft:is_jungle |
Jungle biomes |
minecraft:is_badlands |
Badlands biomes |
minecraft:is_taiga |
Taiga biomes |
minecraft:is_hill |
Hilly biomes |
minecraft:is_mountain |
Mountain biomes |
minecraft:has_structure/village_plains |
Biomes that can have plains villages |
All mobs in the Nether get increased levels:
{
"biome_tags": ["minecraft:is_nether"],
"priority": 60,
"level_mode": "distance",
"level_range": {
"min": 50,
"max": 150
},
"distance_multiplier": 2.0,
"attribute_scaling": {
"minecraft:generic.max_health": {
"base_bonus": 20.0,
"per_level": 1.0,
"operation": "addition"
}
}
}High-level skeletons in deserts:
{
"biome": "minecraft:desert",
"priority": 75,
"level_mode": "fixed",
"fixed_level": 1000,
"ignore_distance_scaling": true,
"mob_overrides": {
"minecraft:skeleton": {
"fixed_level": 1000,
"attribute_scaling": {
"minecraft:generic.max_health": {
"base_bonus": 100.0,
"per_level": 1.0,
"operation": "addition"
},
"minecraft:generic.attack_damage": {
"base_bonus": 0.0,
"per_level": 0.1,
"operation": "multiply_base"
}
}
}
}
}Deeper oceans = higher level mobs:
{
"biome_tags": ["minecraft:is_ocean"],
"priority": 50,
"level_mode": "random",
"level_range": {
"min": 10,
"max": 40
}
}{
"biome_tags": ["minecraft:is_deep_ocean"],
"priority": 55,
"level_mode": "random",
"level_range": {
"min": 40,
"max": 80
}
}By default, biome rules use distance scaling. This means:
- Mobs near spawn get levels closer to
level_range.min - Mobs far from spawn get levels closer to
level_range.max - The
distance_multiplieradjusts how fast levels increase
For fixed difficulty zones:
{
"biome": "minecraft:deep_dark",
"ignore_distance_scaling": true,
"level_mode": "fixed",
"fixed_level": 100
}Remember: Structure rules have higher default priority (100) than biome rules (50).
- A mob in a stronghold in a desert will use the stronghold rule
- To make biome rules take precedence, increase their priority above 100
{
"biome": "minecraft:the_end",
"priority": 150,
"level_mode": "fixed",
"fixed_level": 200
}- Use biome tags for broad rules (all nether, all oceans)
- Use specific biomes for unique difficulty spikes
- Distance scaling works well for gradual difficulty
- Consider structure interactions when setting priorities
- Test with the Nether - it's isolated from the overworld
Navigation
Quick Links