A mod that allows crop growth to be negatively affected by adverse weather conditions.
Features
Right now, the only thing that affects crops is the biome temperature.
Each crop has a general range of temperatures in which it can grow. If the temperatures go outside this range, crop growth is stalled. Extreme temperatures outside this range will cause the crop to die.
Harvestable, fully-grown crops are also affected. Extreme temperatures will also cause them to die.
If a crop dies, a message is sent to the players in the chat. This mod can also message players if a crop’s growth is stalled, but this feature is turned off by default. This can be customized.
If a crop grows naturally in a specific biome (like aloe in the desert biome or blueberries in the snow biome), that crop’s temperature range is generally matched to that biome.
For crops that don’t grow in a particular biome, Khzmusik has tried to follow the temperatures for that crop to grow in real life, but with adjustments to account for the biome temperature ranges in 7D2D.
Specifically:
- Blueberries grow best in cold temperatures.
- Mushrooms and potatoes grow best in cool temperatures.
- Pumpkins and cotton grow best in warm temperatures.
- Aloe and yucca grow best in hot temperatures.
- “Super corn” grows well in nearly all temperatures.
- Everything else grows best in moderate temperatures.
As a practical matter, this means you can grow most crops in the forest, burnt forest, or wasteland biomes, though you will probably have some crops stall or die. But there are some crops that can realistically be grown only in the snow or desert biomes, and you can’t grow many other crops in those biomes.
This mod should be a good match for his Seasonal Weather mod. You may also consider a adding mod that introduces food spoilage, such as SphereII’s Food Spoilage mod.
Customizing
The messaging can be turned on or off in worldglobal.xml:
- PlantGrowing.GrowthAlerts turns on/off messages sent whenever a crop’s growth is slowed
- PlantGrowing.DeathAlerts turns on/off messages sent whenever a crop dies
It is also possible to customize how much each crop is affected by the weather.
Each crop has four different variables that can be set, that determine how they react to the current biome temperature. These variables are represented by properties on the crop’s block, as specified in blocks.xml:
- PlantGrowing.MinGrowthTemperature: The minimum temperature required for the crop to grow.
- PlantGrowing.MaxGrowthTemperature: The maximum temperature required for the crop to grow.
- PlantGrowing.MinAliveTemperature: The minimum temperature required for the crop to stay alive. If the temperature goes below this number, the growing plant dies.
- PlantGrowing.MaxGrowthTemperature: The maximum temperature required for the crop to stay alive. If the temperature goes above this number, the growing plant dies.
You can also specify the block that replaces the crop when the crop dies. To do this, set the PlantGrowing.Dead property to the name of a block in blocks.xml.
If you do not want harvestable, fully-grown crops to die in extreme weather conditions, comment out this XML:
<append xpath="blocks/block[contains(@name, '3HarvestPlayer')]">
<property name="Class" value="PlantGrowing" />
<property name="PlantGrowing.GrowthRate" value="63.0" />
</append>
Those crops will no longer be of the PlantGrowing class, and will not be affected by the weather.
Possible Improvements
These are things that he could do in future updates, if demand exists, and time permits.
- Add other weather variables, such as the number of days since the last rainstorm, the amount the crop is enclosed (inside a building – see EntityStats.GetAmountEnclosure), or a flag to have crops die if it snows.
- Improved translations. (He translated everything using the web, and he’s sure many are terrible.)
Installation
This is a DMT mod. So requires DMT Modding Tool. It is not compatible with EAC. After installation, it is highly recommended to start a new game.
The forum topic of the mod is here.
Credits: Khzmusik
If you have any questions or have any problems/bugs, please use the support link (Discord, Forum Topic, GitHub Issues, etc.) in the post. If there is no support link in the post, please use the comments section.