Configuration
Settings are split between a common file (gameplay, read by the server) and a client file, each grouped by topic. The mod has no commands.
Server options
File: config/ffsoilfertility-common.toml (a common config, not per world; the same path on every loader; use the config screen where available (NeoForge 1.21+ via FFUtilities, Fabric 1.21.1+ via Mod Menu; Forge 1.20.1 and 1.20.6 have none) or edit the file). Gameplay reads it on the server, whether dedicated or integrated. Clients do not read it: they receive the soil parameters from the server on login and on config reload.
| Option | Default | Range | What it does |
|---|---|---|---|
enabled | true | Turns the mod's features on or off. | |
soil.noiseScale | 96.0 | 8 to 2048 | Rough size in blocks of one soil patch. Larger values make bigger, smoother patches. |
soil.lowPercent | 15.0 | 0 to 50 | Approximate share of the world with low quality soil, in percent, where the climate is neutral. The climate options move land towards Low or High from there. |
soil.highPercent | 15.0 | 0 to 50 | Approximate share of the world with high quality soil, in percent, where the climate is neutral. The climate options move land towards Low or High from there. |
soil.seedSalt | 0 | any integer | Mixed into the world seed to pick the soil pattern. Change it to get a different layout. |
climate.temperatureEnabled | false | Lets the biome's temperature shift soil quality. Off by default; while off, the temperature options below have no effect. | |
climate.temperatureInfluence | 0.6 | 0 to 4 | How strongly temperature shifts soil quality, in standard deviations of the soil noise (0 ignores temperature, 1 is as strong as the patches themselves). |
climate.idealTemperature | 0.8 | -2 to 4 | Biome temperature with the best soil (vanilla: plains 0.8, forest 0.7, taiga 0.25, snowy plains 0.0, desert 2.0). |
climate.temperatureTolerance | 1.0 | 0.05 to 4 | How far from the ideal temperature the soil is at its worst. Smaller values make the effect fall off faster. |
climate.downfallEnabled | false | Lets the biome's downfall (rainfall) shift soil quality. Off by default; while off, the downfall options below have no effect. | |
climate.downfallInfluence | 0.6 | 0 to 4 | How strongly rainfall shifts soil quality, in standard deviations of the soil noise (0 ignores downfall). |
climate.idealDownfall | 0.8 | -1 to 2 | Biome downfall with the best soil (vanilla: desert 0.0, plains 0.4, forest 0.8, jungle 0.9). Set it to 1.0 or more to make wetter always better. |
climate.downfallTolerance | 0.8 | 0.05 to 3 | How far from the ideal downfall the soil is at its worst. Smaller values make the effect fall off faster. |
growth.affectCrops | true | Lets soil quality change how fast crops grow: the ffsoilfertility:affected_blocks tag and, with affectAllCropBlocks, every crop and stem block. Off means vanilla crop growth everywhere. | |
growth.affectSaplings | false | Lets soil quality change how fast saplings grow into trees. Covers every block extending vanilla's sapling block (so modded saplings work) plus the ffsoilfertility:affected_saplings tag. | |
growth.normalGrowthMultiplier | 0.85 | 0 to 8 | Growth speed on normal quality soil as a multiplier of vanilla (1.0 is vanilla). |
growth.lowGrowthMultiplier | 0.5 | 0 to 8 | Growth speed on low quality soil as a multiplier of vanilla (1.0 is vanilla). |
growth.highGrowthMultiplier | 1.45 | 0 to 8 | Growth speed on high quality soil as a multiplier of vanilla (1.0 is vanilla). |
growth.affectAllCropBlocks | true | Also affect every block that extends vanilla's crop or stem block, such as modded crops, not only blocks in the ffsoilfertility:affected_blocks tag. | |
bonemeal.low.limitStages | true | Limit how many growth stages one use of bone meal can advance an affected crop on low quality soil. | |
bonemeal.low.maxStages | 1 | 1 to 16 | Most stages one use of bone meal can advance an affected crop on low quality soil while the limit is on. |
bonemeal.normal.limitStages | false | Limit how many growth stages one use of bone meal can advance an affected crop on normal quality soil. | |
bonemeal.normal.maxStages | 2 | 1 to 16 | Most stages one use of bone meal can advance an affected crop on normal quality soil while the limit is on. |
bonemeal.high.limitStages | false | Limit how many growth stages one use of bone meal can advance an affected crop on high quality soil. | |
bonemeal.high.maxStages | 3 | 1 to 16 | Most stages one use of bone meal can advance an affected crop on high quality soil while the limit is on. |
particles.low.enabled | true | Show particles when an affected block grows on low quality soil. | |
particles.low.particle | minecraft:smoke | particle id | Particle shown on low quality soil. Only simple particles without extra data work (for example minecraft:heart). |
particles.low.count | 3 | 1 to 32 | Particles per growth step on low quality soil. |
particles.normal.enabled | false | Show particles when an affected block grows on normal quality soil. | |
particles.normal.particle | minecraft:composter | particle id | Particle shown on normal quality soil. Only simple particles without extra data work (for example minecraft:heart). |
particles.normal.count | 3 | 1 to 32 | Particles per growth step on normal quality soil. |
particles.high.enabled | true | Show particles when an affected block grows on high quality soil. | |
particles.high.particle | minecraft:happy_villager | particle id | Particle shown on high quality soil. Only simple particles without extra data work (for example minecraft:heart). |
particles.high.count | 4 | 1 to 32 | Particles per growth step on high quality soil. |
The bone meal limit only applies to affected blocks (the ffsoilfertility:affected_blocks tag, plus every crop and stem block while growth.affectAllCropBlocks is on, all only while growth.affectCrops is on; saplings only while growth.affectSaplings is on) and only while enabled is true. By default only low quality soil is limited, to one stage per use; normal and high quality soil behave like vanilla. The cap applies whether the bone meal comes from a player or a dispenser. See Bone meal on the overview for which plants it affects.
Particles are sent from the server when an affected block grows, including growth from the extra ticks on faster soil. Sugar cane, cactus and bamboo count when they add a block above.
Climate: the soil noise is normalised (mean 0, standard deviation 1). Temperature and downfall each add influence * score to it, where the score is +1 at the ideal value and -1 at one tolerance away or more, falling off linearly in between. Only the biome's temperature and downfall are read, never biome ids, so modded biomes work. A factor is ignored unless temperatureEnabled or downfallEnabled is on (both are off by default), and influence 0 also disables it. With both factors enabled, the defaults make forest and plains-like climates fertile and deserts and frozen biomes poorer.
The percentages are approximate because they are quantiles of smooth noise. For example, soil.lowPercent = 30 with growth.lowGrowthMultiplier = 0 makes roughly a third of the land never grow affected crops.
Client options
File: config/ffsoilfertility-client.toml. These only change what you see: the grass colours (the world re-renders automatically when they change) and the hoe readout.
| Option | Default | Range | What it does |
|---|---|---|---|
grassVisuals | true | Master switch for every grass colour change this mod makes. Off shows vanilla grass everywhere; the hoe readout still works. The tint.* options below set how grass looks while it is on. | |
tint.highSaturation | 0.3 | 0 to 1 | How much more saturated grass gets on high quality soil (0.3 is 30% more saturated). |
tint.lowDesaturation | 0.4 | 0 to 1 | How much less saturated grass gets on low quality soil (0.4 is 40% less saturated). |
tint.highHueShift | 4.0 | -180 to 180 | Hue shift in degrees for grass on high quality soil (positive moves green towards cyan). |
tint.lowHueShift | -6.0 | -180 to 180 | Hue shift in degrees for grass on low quality soil (negative moves green towards yellow). |
tint.highBrightness | 0.03 | -1 to 1 | Brightness change for grass on high quality soil (0.05 is 5% brighter, -0.05 is 5% darker). |
tint.lowBrightness | -0.05 | -1 to 1 | Brightness change for grass on low quality soil. |
tint.hoeReadout | true | While holding a hoe (either hand) and looking at a block, shows a coloured line above the action bar: "Soil: Low" (orange), "Soil: Normal" (white) or "Soil: High" (green). Only shown when the server has the mod. |