A server-side Minecraft mod that adjusts entity attributes based on their biome, dimension, and depth
A server-side Minecraft mod that adjusts entity attributes based on their biome, dimension, and depth. Supports both NeoForge and Fabric mod loaders.
Triple Multiplier System:
Dimension × Biome × DepthModded Biome Support: Works with ALL biome mods
Modded Dimension Support: Works with ANY dimension
Attribute Split by Entity Type:
Configurable Attributes:
Y-Coordinate Depth Scaling:
The config file is located at config/configurable-difficulty.json5.
{
"enabled": true,
"playerMode": "dynamic",
"mobMode": "spawn_only",
"checkInterval": 20,
// Players: Always affected (luck attribute only)
// Mobs: Which entity types should be affected (all attributes except luck)
"applyToHostileMobs": true,
"applyToPassiveMobs": false,
"applyToNeutralMobs": false,
"debug": {
"enabled": false,
"logBiomeChanges": true,
"logAttributeChanges": true
},
"enabledAttributes": {
// Mob attributes: maxHealth, armor, armorToughness, attackDamage, attackSpeed, attackKnockback, knockbackResistance
// Player attribute: luck (loot quality)
"maxHealth": true,
"armor": true,
"armorToughness": true,
"attackDamage": true,
"attackSpeed": false,
"attackKnockback": false,
"knockbackResistance": true,
"luck": false
},
"dimensionMultipliers": {
"minecraft:overworld": {
"maxHealth": 1.0,
"armor": 1.0,
"attackDamage": 1.0,
"luck": 1.0
},
"minecraft:the_nether": {
"maxHealth": 1.5,
"armor": 1.3,
"attackDamage": 1.5,
"luck": 1.2
},
"minecraft:the_end": {
"maxHealth": 2.0,
"armor": 1.5,
"attackDamage": 2.0,
"luck": 1.5
}
},
"biomeMultipliers": {
"minecraft:desert": {
"maxHealth": 1.5,
"armor": 0.8,
"attackDamage": 1.3,
"knockbackResistance": 0.1,
"luck": 1.1
},
"minecraft:deep_dark": {
"maxHealth": 2.5,
"armor": 2.0,
"armorToughness": 1.5,
"attackDamage": 2.0,
"knockbackResistance": 0.4,
"luck": 1.5
}
},
"depthScaling": {
"enabled": false,
"yThreshold": 0,
"maxDepth": -64,
"scalingMode": "linear",
"maxMultipliers": {
"maxHealth": 2.0,
"armor": 1.5,
"attackDamage": 1.5,
"luck": 1.3
}
}
}
The final multiplier for any attribute is calculated as:
Final Multiplier = Dimension Multiplier × Biome Multiplier × Depth Multiplier
Simply add the biome ID to the biomeMultipliers section:
"biomeMultipliers": {
"biomesoplenty:ominous_woods": {
"maxHealth": 2.0,
"attackDamage": 1.8
},
"terralith:volcanic_peaks": {
"maxHealth": 2.3,
"armor": 1.8,
"attackDamage": 1.9
}
}
Simply add the dimension ID to the dimensionMultipliers section:
"dimensionMultipliers": {
"minecraft:overworld": {
"maxHealth": 1.0,
"attackDamage": 1.0,
"luck": 1.0
},
"twilightforest:twilight_forest": {
"maxHealth": 1.3,
"attackDamage": 1.3,
"luck": 1.1
},
"aether:the_aether": {
"maxHealth": 0.8,
"attackDamage": 0.8,
"luck": 1.2
}
}
Note: Unconfigured dimensions automatically fall back to the Overworld settings as a baseline.
The mod applies attribute modifiers using a three-tier multiplier system:
Dimension Multiplier: Base difficulty for the entire dimension
Biome Multiplier: Specific difficulty per biome
Depth Multiplier: Progressive difficulty based on Y-coordinate
Final Formula: Dimension × Biome × Depth
Players receive different attributes than mobs:
Players: Only receive the Luck attribute
Mobs: Receive combat attributes (all except luck)
When an entity spawns:
Every checkInterval ticks (default 20 = 1 second):
depthScaling config section
yThreshold: Y-level where scaling starts (above = no bonus)maxDepth: Y-level where max multiplier is reachedscalingMode: Currently supports "linear" scalingmaxMultipliers: Maximum multipliers at maxDepthExample (config: yThreshold=0, maxDepth=-64):
Conversation