Stardew Valley
0 of 0

File information

Last updated

Original upload

Created by

Phrasefable

Uploaded by

phrasefable

Virus scan

Safe to use

About this mod

Spreading trees replace grass, and saplings are immune to melee weapons. Thoroughly customise tree mechanics (including vanilla ones).

Requirements
Permissions and credits
Changelogs
Donations
This mod overhauls tree growth and spread, allowing customisation of the vanilla behaviours, fixes bugs, and adds new features.
See the GitHub readme for a better-formatted description.

Thanks to Minervamaga for help with the update for Stardew Valley 1.4.
(Still a beta release for now, please report any bugs, here or on GitHub)


Notable Features:
  • Immature trees will not be destroyed by the scythe/melee weapons (configurable).
  • When trees spread, they will replace long grass (configurable).
  • Winter has no effect on trees inside or in the desert.
  • Stumps no longer spread.
  • Mushroom stumps have a daily chance to regrow (configurable).
  • This pairs well with the option to disable mushroom tree hibernation; and is the only way to get the stumps to regrow if hibernation is disabled mid-winter.
  • Heaps of the moving parts from the vanilla growth/spread logic are configurable, including daily growth, spread and seed chances, growth or spreading in winter, mushroom tree hibernation and more.



Installation and Compatibility:

  1. Install SMAPI.
  2. Download this mod and unzip into StardewValley/Mods.
  3. Launch the game once to generate the config file (Mods/AggressiveAcorns/config.json). Quit, then edit the file to set your preferences. All settings default to vanilla. Edit the file to enable this mod's features.

Multiplayer compatible - must be installed by all players.

[Source code available on GitHub]
Please report any issues on GitHub (preferred), here on Nexus, or to Phrasefable in DM/#modding in the SDV discord (least preferred).



Configuration:
All config options with a percentage chance can be set to 0.0 to disable or 1.0 for a 100% chance.
See the readme for full details on the configuration file / the info below but in an easier-to-read table.

Configurable options:
  • PreventScythe - boolean (true, false) - Whether immature trees are destroyed by melee weapons.
  • SeedsReplaceGrass - boolean - Whether trees are able to replace long grass when they spread by dropping seeds.
  • MaxShadedGrowthStage - integer (0 - 4) - The highest stage of growth for trees next to any mature tree. Also effects the regrowth of stumps.
  • MaxPassibleGrowthStage - integer (0 - 4) - The highest stage of growth without collision. Can be used, but is currently visually broken
  • DailyGrowthChance - float (0.0 - 1.0)  0.20  Daily chance for a tree to mature by one stage.
  • DoGrowInWinter - boolean - Whether trees grow normally in winter.
  • DailySpreadChance - float (0.0 - 1.0) - Daily chance to plant a seed nearby.
  • DoTappedSpread - boolean - Whether tapped trees will spread.
  • DoSpreadInWinter - boolean - Whether trees will spread in winter
  • DoGrowInstantly - boolean - Whether immature trees (of any stage) grow to full maturity overnight.
  • DoSeedsPersist - boolean - Whether a tree keeps its seed if not shaken the previous day.
  • DailySeedChance - float (0.0 - 1.0) - Daily chance for a tree to gain a seed.
  • DoMushroomTreesHibernate - boolean - Whether mushroom trees will hibernate over winter.
  • DoMushroomTreesRegrow - boolean - Whether mushroom tree stumps will regrow. Daily regrowth chance is half the daily growth chance.

Config options that ask for growth stages use (as per the game code):
  • 0 (seed)
  • 1 (sprout)
  • 2 (sapling)
  • 3 (bush)
  • 4 (still a bush)
  • 5 (fully grown)



Full Feature List:

General:
  • (configurable) Immature trees will no longer be destroyed by the scythe or melee weapons. This is great for when you are growing hay in your timber plantation.
  • Winter has no effect on trees in the desert or indoors. This is changed from vanilla, where winter had no effect in the greenhouse or on palm trees. This means that palm trees can be affected by winter outside the desert, that all trees will escape the winter in the desert, and that mushroom trees will never hibernate indoors or in the desert.
  • (configurable) In vanilla, the highest growth stage that can be walked over is seeds. While this can be changed, any non-vanilla configuration has graphical errors in-game. I am working on a fix for these.

Held (Shakeable) Seeds:

  • (configurable) As per vanilla, trees can hold a seed each day, but the chance is now configurable.
  • (configurable) The seed is kept from one day to the next if unused.

Spread via Seeds:
  • (configurable) As in vanilla, each day, every tree on the farm has a certain chance to try to place a seed around it. (If the seed can't be placed on the first attempt there is no second chance). The chance is now configurable.
  • Spreading now consumes, but does not require, a held seed.
  • Stumps (and therefore hibernating mushroom trees) no longer spread.
  • (configurable) Seeds will replace long grass (the kind that gives hay) (no effect when planting manually).
  • (configurable) Spread can be disabled during winter.
  • (configurable) Spread can be disabled for tapped trees. Useful in keeping your sap plantations tidy.

Growth:
  • (configurable) Each day immature trees have a chance to grow one stage. The daily growth chance is configurable.
  • (configurable) In vanilla, an immature tree will not grow fully if it is adjacent to a fully grown tree (is shaded). The maximum stage of a shaded tree is now configurable.
  • Stumps no longer shade adjacent trees.
  • (configurable) Tree growth during winter can be enabled. See above for the changed rules of where winter applies at all.
  • (configurable) Instant growth can be enabled. Immature trees of any stage will mature overnight if they are able to grow (not hibernating, not shaded, not affected by winter).

Mushroom Trees:
  • (configurable) The vanilla hibernation of mushroom trees can be disabled. This also disables the regeneration of mushroom stumps on Spring 1st.
  • (configurable) Mushroom stumps can have a chance to regrow each day. When enabled, it occurs at half the normal growth chance, or always if instant growth is enabled. It will not occur when normal growth would not occur (ie. hibernation).
  • While hibernating, growth and spread do not occur. Even if hibernation is disabled, mushroom trees still respect the normal winter growth rules (ie. won't grow/spread in winter unless they are enabled).
  • Mushroom stumps will always respect the setting for max shaded growth, whether regrowing from hibernation on Spring 1st or using the daily regrowth feature. This means that if a normal tree grows next to a hibernating stump, it would block the regrowth on Spring 1st.
  • In vanilla, there is an error if a mushroom tree is chopped down, then regrows on Spring 1st, without exiting/reopening the save. The (non-serialized) rotation value is not reset after the falling animation, so the top of the tree reappears fallen over. This has been fixed.



Future plans and features:
  • Fix graphical errors when walking over > stage-0 trees.
  • Mushrooms spread by root-like systems right? Maybe revert the stumps-spread-seeds fix but only for mushroom stumps?
  • Do fruit trees shade normal trees? Should they?
  • Make companion mod for fruit trees. Include random-er fruit tree growth.
  • Look at fixed-period growth for trees (emulating vanilla fruit tree growth) - look at SMAPI data API.