Configuration
Every option, as specced in design/SPEC.md — the file is config/cultivation.json, created with defaults on first launch and hot-reloaded with /cultivation reload. Cultivation is in development; this table is the contract the implementation will ship against.
Server config
| Key | Type | Default | Range | Feature |
|---|---|---|---|---|
enableSoilFertility | bool | true | — | Living soil |
harvestDrain | float | 3.0 | 0–100 | Living soil |
rotationDrainMultiplier | float | 0.5 | 0–1 | Living soil |
fallowRecoveryPerRandomTick | float | 2.0 | 0–100 | Living soil |
rainRecoveryMultiplier | float | 2.0 | 1–10 | Living soil |
boneMealFertilityRestore | float | 25.0 | 0–100 | Living soil |
tiredThreshold | float | 25.0 | 0–100 | Living soil |
tiredGrowthMultiplier | float | 0.75 | 0–1 | Living soil |
exhaustedGrowthMultiplier | float | 0.5 | 0–1 | Living soil |
enablePolyculture | bool | true | — | Polyculture |
polycultureGrowthMultiplier | float | 1.2 | 1–5 | Polyculture |
polycultureMinDifferentNeighbors | int | 2 | 1–4 | Polyculture |
enableDietaryFatigue | bool | true | — | Dietary fatigue |
fatiguePerRepeat | float | 0.10 | 0–1 | Dietary fatigue |
fatigueFloor | float | 0.5 | 0–1 | Dietary fatigue |
fatigueResetDistinctFoods | int | 3 | 2–5 | Dietary fatigue |
enableMealBuffs | bool | true | — | Meal buffs |
mealBuffDurationTicks | int | 2400 | 200–72000 | Meal buffs |
cakeBuffDurationTicks | int | 1200 | 200–72000 | Meal buffs |
enableEnrichedTilling | bool | true | — | Enriched tilling |
diamondHoeEnrichChance | int | 10 | 0–100 | Enriched tilling |
netheriteHoeEnrichChance | int | 15 | 0–100 | Enriched tilling |
enableFertilizer | bool | true | — | Fertilizer |
composterProducesFertilizer | bool | true | — | Fertilizer |
fertilizerDoseHarvests | int | 15 | 1–1000 | Fertilizer |
enableScytheHarvest | bool | true | — | Scythe |
enableVillagerStewardship | bool | true | — | Stewardship |
enableVillagerFertilizing | bool | true | — | Stewardship |
villagerFallowThreshold | float | 25.0 | 0–100 | Stewardship |
villagerReplantThreshold | float | 50.0 | 0–100 (≥ fallow threshold, clamped up) | Stewardship |
Turning enableSoilFertility off freezes the soil system — farmland behaves exactly like vanilla and stored soil data is retained untouched. composterProducesFertilizer=false restores vanilla bone-meal output. enableScytheHarvest=false reduces scythes to ordinary single-block tools.
Client config
| Key | Type | Default | Range | Description |
|---|---|---|---|---|
showSoilOverlays | bool | true | — | Render the tired/exhausted farmland overlays |
soilOverlayRenderDistance | int | 24 | 4–64 | Max overlay render distance (blocks) |
showFatigueTooltips | bool | true | — | Show fatigue lines on food tooltips |