Stardew Valley

About this mod

Adds a way to customize the casks. It comes configurable with Pickles and Maple Syrup but can be changed to add any 'Object' and change the time of the products that already work on casks. You can also enable casks to work outside the cellar.

Requirements
Permissions and credits
Translations
  • Spanish
  • Portuguese
Changelogs
Donations
Current version: 1.6.1
  • Update mod to be compatible with Stardew Valley 1.6
  • Changing the implementation to add Machine data, instead of patching the time method.
  • New property QualifiedItemId to identify custom agers. (Name property still works)
  • Ageable and caskable list now supports Qualified Item Ids
  • Support to fairy dust in custom agers.
  • Turkish translation by Lexith
  • Changing loading order to avoid warning
  • Chaging to Generic Mod Config Menu new api.


Objective:
This mod was suggested in a post on the Custom Crystalarium Mod page. An user thought it would be cool to increase juice quality like you could with wine.
So I researched for common aged products not already present in the game and added them as a default option. (juice is not one of them)
But of course people can set any "Object" to be aged by the cask.

Compatibility:
This mod can conflict with other mods changing the behavior of the cask. No problem reported so far.
It's now currently compatible with the Automate mod.

Installation:
How does it work:
  • If you have MFM installed, once you get the cellar or enable casks anywhere, you will receive a letter from the farmers association encouraging the aging of artisan goods, and "reminding" that pickles and maple syrup can also be aged. They also say with "external help" you can adjust the cask to increase the quality of most objects or for it to work anywhere.
  • The letter is just for flavor though, once you install the mod it should already be working, you can even disable the letter in the config file.
  • If you enable the cask anywhere but do not have the recipe for the cask, the letter will come with the recipe. (require MFM)
  • Once you start the game for the first time, the file 'CaskData.json' will be created in the 'data' folder of the mod.
  • Here is an example on how to add more items in the file. This adds the juice with 56 days to age from no quality to iridium, and all milk items will age in 14 days:
    {
      "342": 2.66,
      "724": 2.0,
      "350": 1.0,
      "-6": 4.0,
      "Oil": 1.66
    }
  • The format of the file is an serialization of a C# Dictionary.
  • You need to place an object Id, Category or Name between double quotation marks, followed by colon and the rate to age an item. If you want another object, you need to place a comma and repeat. Everything needs to be between braces.
  • Dividing 56 by the rate, you get the number of days to age an item from no quality to iridium quality. So a rate of 1 will take 56 days(2 seasons), a rate of 2 will give you 28 day, a rate of 56 will only take one day.
  • You can find the item ids and categories in this page: https://stardewvalleywiki.com/Modding:Object_data
  • It will patch Automate mod using Harmony framework. It only change it's dictionary so that the configured items and aging rates are considered when it's placing the items in the cask. So it will only work for items configured with Ids, since categories is not supported by Automate.
Content pack for modders:
  • Content pack format is the same as the CaskData.json on the mods folder. The mod just merge both files.
  • There is a template in the mods folder for the CaskData.json file.
  • You can also set Custom Agers on the AgersData.json, that will make different objects behave as casks.
  • There is a template in the mods folder for the AgersData.json file.
  • In the files there is a lot of "comments" with examples and explanations.
  • There is also a template for the manifest file on the same folder.
Config options:
Run the game at least one with the mod installed to create the config.json file. You can edit this file to change the configuration.
  • "DisableLetter": (false|true) Enable or disable the letter explaining the changes.
  • "EnableCasksAnywhere": (false|true) Enable or disable the casks accepting items anywhere.
  • "DisableAutomateCompatibility": (false|true) Enable or disable compatibility with Automate mod. No need to disable it if you don't have the Automate mod installed, it will detect it automatically.
  • "EnableMoreThanOneQualityIncrementPerDay": (false|true) Enable or disable the casks increasing more than one quality lever per day. The default is true for legacy propose. Because of the new item that can used on casks to make it produce faster, the code was changed to allow only one quality increase per maturity check.
  • "EnableCaskAgeEveryObject": (false|true) Enable or disable the casks accepting every object.
  • "DefaultAgingRate": (1|any_number) Aging rate used for undefined object, when EnableCaskAgeEveryObject is true.
Internationalization:
This mod is compatible with SMAPI support to i18n files. It has an official translation for pt-BR, but you can translating for your language following this instructions: https://stardewvalleywiki.com/Modding:SMAPI_APIs#Translation

Uninstall:
  • Delete the mod from the installation folder.
  • Custom Agers will still finish aging products and behave as regular casks until they are removed from the floor.

Special Thanks:

For more info:
https://community.playstarbound.com/threads/custom-cask-mod.148111/

My Other Mods: