Stardew Valley
0 of 0

File information

Last updated

Original upload

Created by

HaulinOats

Uploaded by

socialcoder

Virus scan

Safe to use

About this mod

Dynamically pseudo-randomize various crop and seed properties, such as crop sell and seed purchase prices, harvest times, extra yield chance, and even regrowth capability to revamp the crop meta.

Requirements
Permissions and credits
This mod takes all the vanilla crops from Stardew Valley and pseudo-randomizes their stats, such as seed purchase price, crop sell price, growth time, and even randomizes what crops have regrowth capability. This mod is perfect for people that prefer not knowing what the objectively best crops are in the game based on countless articles online that remove all self discovery and experimentation. If you want each new play-through of the game to feel more unique, or just revamp the crops meta in your current saves, you should enjoy this mod.

I've allowed for some randomness to the ranges that crop prices and modifiers can fall between to help make the dynamic generation more interesting and to intentionally allow for some crops to be noticeably more profitable than others, it just requires the player to experiment and figure it out on their own. The intention is so the player has to figure out their own game's crop meta without being able to Google it.

This mod dynamically generates the crop and object data the first time each save file is loaded after installing it and saves that data to the "DynamicCrops" mod data folder as a save-specific json file (example: DynamicCrops -> data -> someSaveName_923758.json). In the config menu you can choose to toggle off the ability for flowers to have regrowth capability.

** IMPORTANT ** Please use at your own risk and please let me know of any bugs you encounter. If you run into any issues, you can either delete the save-specific json file to force the scripts to re-run (delete the save-specific file within the mod folder with the same save filename prefix) the next time you load that save, or you can just delete the mod entirely, which will cause the game to default to the default crop values and properties. Please let me know you run into any issues. 

This mod WILL NOT work well with any other mods that affect similar crop properties such as growth time, regrowth time, growth stages, seed and crop purchase and sell prices, etc, but this mod should now work with any JSON Asset-based mods (though it will not change the regrowth properties of any crops beyond the base game crops since I don't have a way to add regrowth sprites to added crops that don't have a regrowth sprite phase, so I'm leaving that field and functionality untouched with added crops).

If you are not seeing the config menu for this mod, double-check that you've also installed Generic Mod Config Menu.

Features

I've done my best to balance this mod out by separating crops into 3 categories:

  • 25% of a season's crops will be short-term (maturity time between 5 to 8 days)
  • 50% of a season's crops will be medium-term (maturity time of 9 to 14 days)
  • 25% of a season's crops will be long-term (maturity time of 15 to 25 days)

Any crop can get the ability to regrow, but this also means some crops that previously had regrowth capability could potentially not have it. Flowers also can get regrowth capability but this can be toggled off in the mod config menu, forcing all flowers to not regrow (similar to the way they behave in the base game). Roughly 40% of crops in a season will get the ability to regrow. Regrowth crops seeds will usually cost more than non-regrowth crops since you can get multiple yields out of them with a single seed purchase. Also, crop sell prices will be higher for non-regrowth crops, versus regrowth crops.

Any crop can also get the chance to have extra yields. The higher the value of a crop (generally the longer a crop takes to mature, the higher the sell price), the less chance it will have for extra yields, while lower value crops have a chance to have higher minimum yields and extra yield chance. 10% to 15% of a season's crops will get the ability to produce extra yields when harvested.

Prices are balanced by applying "gold per day" modifiers to both seed purchase price and crop sell prices. Faster growing crops will generally sell for less, longer term crops will sell for more (this includes seed purchase prices for those crops). 

Seed descriptions are dynamically generated so you always know what seasons a crop will grow in, how long they will take to grow, and tell you if they can regrow. Trellis crops will always regrow, though their other stats such as sell price and growth time/regrowth time are still dynamic. The crops will still grow in the seasons they are intended to based on the vanilla game since randomizing growth seasons would cause some weirdness like Pumpkins potentially growing in Spring, which would be odd, heh.

Pricing will still be affected by the game's base modifiers it applies to vendors like Joja Mart and Pierre, so keep that in mind when buying seeds.

Lastly, I've forced Parsnips to be a short-term crop (4 day growth time) to prevent the chance of it being classified as medium or long-term, which would have made it needlessly harder to earn your first harvest money at the start of the game. 

1.1.0:

  • This mod will now work with any save file (previously it required you to create a new save file for the mod to work).
  • Crop and object data will now be saved in the "DynamicCrops" mod data folder as a save-specific json file (previously was saved directly to the save file itself). The json file name will be prefixed with the name you gave the save file (i.e. DynamicCrops -> data -> farmerName_144231.json). As long as my mod exists in your "Mods" folder, it will always attempt to create dynamic crops for each save file the first time you load it then reload that data every time thereafter (unless you remove my mod).
  • crops no longer get regrowth capability if they won't be able to regrow at least once before the end of the month.
  • The debug log can be inspected after initial save file load if you are curious of the various values set for all the crops and seeds or you can inspect the save-specific data file for the raw crop and object data.

1.1.1: 
  • Statically-priced crop-based artisan goods (Coffee, Pale Ale, Beer, and Green Tea) will now also dynamically price in relation to crop growth time.

1.1.4:
  • Coffee beans will always provide extra yields, regrow, and price will update to account for extra yields.
  • Fixed bug where crops wouldn't regrow if given regrowth capability. 

1.1.5:
  • Mod will now work with crops added from other mods, though it will not dynamically make added crops get regrowth capability if they don't already have that ability (would cause visual bugs related to crops potentially getting regrowth values when their sprite sheets don't have a regrowth phase sprite).
  • Added 2 new config toggles: 
- Activate Dynamic Crops Mod which allows you to deactivate the mod (defaults to false or being unchecked)
- Mod Only Affects Base Game Crops which allows you to only have the mod affect the crops that exist within the base game, which is useful if you want to still use my mod but noticed it's having some side effects with added crops. (defaults to false or unchecked)
- Allow Flowers To Regrow which dictates if flowers can get regrowth capability (defaults to true or checked)

1.1.6
  • Fixed bug that was preventing any crops from getting regrowth capability
  • Updated coffee seed pricing to be better balanced

1.1.7
  • Slightly reduced prices for better balancing
  • Increased percentage of short and long-term crops by 5% while reducing number of medium-term crops by 10%
                                                                                                                                                                    

Check out my other mods:


If you enjoyed this mod, or have suggestions and would like steady support, you can support me via PayPal 

My GitHub Mod Repo