Configuration Reference
All settings live in config/tribulation.json. Auto-generated on first launch with defaults.
general
Core settings that control the overall scaling system.
| Key | Type | Default | Description |
|---|---|---|---|
maxLevel | int | 250 | Maximum player difficulty level |
levelUpTicks | int | 72000 | Ticks of playtime per level (72000 = 1 hour) |
mobDetectionRange | double | 32.0 | Range (blocks) to find nearest player for scaling |
excludedEntities | string[] | [] | Entity IDs exempt from all scaling |
notifyLevelUp | boolean | true | Show chat message on level up |
notifyLevelUpShowTier | boolean | true | Include tier info in level-up notification |
{
"general": {
"maxLevel": 250,
"levelUpTicks": 72000,
"mobDetectionRange": 32.0,
"excludedEntities": [],
"notifyLevelUp": true,
"notifyLevelUpShowTier": true
}
}
timeScaling
Toggle for the time/level scaling axis.
| Key | Type | Default | Description |
|---|---|---|---|
enabled | boolean | true | Whether player level affects mob stats |
distanceScaling
Controls how horizontal distance from world spawn boosts mob stats.
| Key | Type | Default | Description |
|---|---|---|---|
enabled | boolean | true | Enable distance scaling axis |
startingDistance | double | 1000 | Blocks from spawn before scaling begins |
increasingDistance | double | 300 | Blocks per additional factor step |
distanceFactor | double | 0.1 | Factor added per step |
maxDistanceFactor | double | 1.5 | Maximum distance factor |
excludeInOtherDimensions | boolean | true | Only apply in the Overworld |
{
"distanceScaling": {
"enabled": true,
"startingDistance": 1000,
"increasingDistance": 300,
"distanceFactor": 0.1,
"maxDistanceFactor": 1.5,
"excludeInOtherDimensions": true
}
}
heightScaling
Controls how Y-level deviation from sea level boosts mob stats.
| Key | Type | Default | Description |
|---|---|---|---|
enabled | boolean | true | Enable height scaling axis |
startingHeight | double | 62 | Y-level baseline (sea level) |
heightDistance | double | 30 | Blocks of Y deviation per step |
heightFactor | double | 0.1 | Factor added per step |
maxHeightFactor | double | 0.5 | Maximum height factor |
positiveHeightScaling | boolean | true | Scale mobs above baseline |
negativeHeightScaling | boolean | true | Scale mobs below baseline |
excludeInOtherDimensions | boolean | true | Only apply in the Overworld |
statCaps
Hard ceilings on the total scaling factor for each attribute (all axes combined).
| Key | Type | Default | Description |
|---|---|---|---|
maxFactorHealth | double | 4.0 | Max health multiplier |
maxFactorDamage | double | 4.5 | Max damage multiplier |
maxFactorSpeed | double | 0.5 | Max speed bonus |
maxFactorProtection | double | 2.0 | Max armor multiplier |
maxFactorFollowRange | double | 1.5 | Max follow range multiplier |
deathRelief
Level reduction on death acts as a natural difficulty rubber-band.
| Key | Type | Default | Description |
|---|---|---|---|
enabled | boolean | true | Enable death level reduction |
amount | int | 2 | Levels lost per death |
cooldownTicks | int | 6000 | Ticks between reductions |
minimumLevel | int | 0 | Level floor (will not reduce below this) |
shards
Shatter Shard drop and use configuration.
| Key | Type | Default | Description |
|---|---|---|---|
enabled | boolean | true | Enable shard drops |
dropStartLevel | int | 25 | Minimum player level for shards to drop |
shardPower | int | 5 | Levels reduced when consuming a shard |
dropChance | double | 0.005 | Drop probability per kill (0.0–1.0) |
sideEffects | boolean | true | Apply debuffs on shard use |
hardcoreHearts
Permanent max-health reduction on death. Disabled by default.
| Key | Type | Default | Description |
|---|---|---|---|
enabled | boolean | false | Enable hardcore hearts system |
heartsLostPerDeath | int | 2 | Half-hearts lost per death (1–20) |
minimumHearts | int | 2 | Minimum half-hearts (floor) |
heartsRestoredPerFragment | int | 2 | Half-hearts restored per Heart Fragment |
{
"hardcoreHearts": {
"enabled": false,
"heartsLostPerDeath": 2,
"minimumHearts": 2,
"heartsRestoredPerFragment": 2
}
}
soulInventory
Inventory destruction on death. Disabled by default.
| Key | Type | Default | Description |
|---|---|---|---|
enabled | boolean | false | Enable soul inventory system |
soulboundEnchantment | string | "tribulation:soulbound" | Enchantment ID that protects items |
destroyXp | boolean | false | Also destroy XP on death |
respectKeepInventory | boolean | true | Skip destruction if keepInventory is on |
scaling
Per-mob scaling rates and caps. Keyed by mob path (e.g., "zombie") or full ID (e.g., "mymod:custom_mob").
| Key | Type | Default (Zombie) | Description |
|---|---|---|---|
healthRate | double | 0.010 | Health factor gained per level |
healthCap | double | 2.50 | Max time-axis health factor |
damageRate | double | 0.015 | Damage factor per level |
damageCap | double | 3.75 | Max time-axis damage factor |
speedRate | double | 0.0012 | Speed factor per level |
speedCap | double | 0.30 | Max time-axis speed factor |
armorRate | double | 0.032 | Armor factor per level |
armorCap | double | 8.0 | Max armor factor |
{
"scaling": {
"zombie": {
"healthRate": 0.010, "healthCap": 2.50,
"damageRate": 0.015, "damageCap": 3.75,
"speedRate": 0.0012, "speedCap": 0.30,
"armorRate": 0.032, "armorCap": 8.0
}
}
}
unlistedHostileMobs
Fallback scaling for modded mobs extending Monster not in the scaling map.
| Key | Type | Default | Description |
|---|---|---|---|
enabled | boolean | true | Apply fallback scaling |
excludedNamespaces | string[] | [] | Mod namespaces to exclude |
scaling | MobScaling | (zombie health+damage) | Scaling values for unlisted mobs |
{
"unlistedHostileMobs": {
"enabled": true,
"excludedNamespaces": ["bosses_of_mass_destruction"],
"scaling": {
"healthRate": 0.010, "healthCap": 2.50,
"damageRate": 0.015, "damageCap": 3.75,
"speedRate": 0.0, "speedCap": 0.0
}
}
}
specialZombies
Zombie variant spawn configuration.
| Key | Type | Default | Description |
|---|---|---|---|
enabled | boolean | true | Enable zombie variants |
bigZombieChance | int | 10 | Percent chance for big variant |
bigZombieSize | double | 1.3 | Scale multiplier |
speedZombieChance | int | 10 | Percent chance for speed variant |
speedZombieSpeedFactor | double | 1.3 | Speed multiplier for speed zombies |
bosses
Boss mob scaling uses a separate, gentler formula.
| Key | Type | Default | Description |
|---|---|---|---|
affectBosses | boolean | true | Enable boss scaling |
bossMaxFactor | double | 3.0 | Maximum total factor for bosses |
bossDistanceFactor | double | 0.1 | Distance scaling rate for bosses |
bossTimeFactor | double | 0.3 | Time scaling rate for bosses |
xpAndLoot
Rewards for killing scaled mobs.
| Key | Type | Default | Description |
|---|---|---|---|
extraXp | boolean | true | Enable XP bonus scaling |
maxXpFactor | double | 2.0 | Maximum XP multiplier |
dropMoreLoot | boolean | false | Enable extra loot drops |
moreLootChance | double | 0.02 | Base extra loot chance per level |
maxLootChance | double | 0.7 | Maximum extra loot probability |
tiers
Level thresholds for ability tiers.
| Key | Type | Default | Description |
|---|---|---|---|
tier1 | int | 50 | Level for Tier 1 abilities |
tier2 | int | 100 | Level for Tier 2 |
tier3 | int | 150 | Level for Tier 3 |
tier4 | int | 200 | Level for Tier 4 |
tier5 | int | 250 | Level for Tier 5 |
mobToggles
Per-mob on/off switches. Set to false to completely disable scaling for a specific mob type.
{
"mobToggles": {
"zombie": true,
"skeleton": true,
"creeper": true,
"spider": true,
"cave_spider": true,
"endermite": true,
"silverfish": true,
"drowned": true,
"husk": true,
"stray": true,
"pillager": true,
"vindicator": true,
"witch": true,
"wither_skeleton": true,
"guardian": true,
"hoglin": true,
"zoglin": true,
"ravager": true,
"piglin": true,
"zombified_piglin": true,
"bogged": true
}
}
abilities
Toggle individual tier-gated abilities on or off. All default to true.
| Key | Mob | Behavior |
|---|---|---|
zombieReinforcements | Zombie | Call nearby zombies when hit |
zombieDoorBreaking | Zombie | Break wooden doors |
zombieSprinting | Zombie | Sprint toward targets |
creeperShorterFuse | Creeper | Reduced detonation delay |
creeperCharged | Creeper | Spawn already charged |
skeletonSwordSwitch | Skeleton | Switch to melee at close range |
skeletonFlameArrows | Skeleton | Fire flaming arrows |
spiderWebPlacing | Spider | Place cobwebs near targets |
spiderCropTrample | Spider | Destroy crops while chasing |
spiderLeapAttack | Spider | Leap attack at range |
huskHunger | Husk | Apply hunger effect on hit |
witherSkeletonSprint | Wither Skeleton | Sprint toward targets |
witherSkeletonFireAspect | Wither Skeleton | Set targets on fire |
drownedTrident | Drowned | Always carry and throw trident |
hoglinKnockbackResist | Hoglin | Resist knockback |
zoglinFireResist | Zoglin | Resist fire damage |
vindicatorResistance | Vindicator | Damage resistance effect |
zombifiedPiglinAggro | Zombified Piglin | Always hostile |
piglinCrossbow | Piglin | Enhanced crossbow behavior |