Skip to content

Releases: KhloeLeclair/StardewMods

Better Crafting 2.0 - Release Candidate 1

03 Apr 05:59
Compare
Choose a tag to compare

Hey everyone! Want to help me test this? Go for it.

Hoping to release April 3rd.

Theme Manager v0.1.1

17 Nov 00:32
Compare
Choose a tag to compare
Theme Manager v0.1.1 Pre-release
Pre-release

This is a preview release of Theme Manager.

Theme Manager is a framework mod which has two main functions:

First, it provides a C# API for other mods to discover, load, and select between themes. Themes can contain any serializable data, but are intended to contain colors and other values necessary for customizing UI drawing behavior. The C# API also allows other mods to load texture assets. This serves as a framework mod version of my ThemeManager project, which was previously located at https://github.com/KhloeLeclair/Stardew-ThemeManager

Second, and this is what I'm more interested in feedback on, it has a dynamic patch system allowing it to support better UI themes. These patches allow a theme to override the various hard-coded colors used throughout the game for rendering.

You can see an example theme with basic value defined here: https://github.com/KhloeLeclair/StardewMods/blob/ThemeManager_0.1.1/ThemeManager/assets/themes/template/theme.json

To add a theme for the base game to a content pack, either:

  1. Make a content pack for Theme Manager itself with a theme.json file.
  2. Add a stardew:theme key to your mod's manifest file, with the name of your theme json file. For example, if you just name your theme file theme.json then you'd add this to your manifest.json:
{
    "stardew:theme": "theme.json"
}

When editing a theme, you can use the retheme command to reload it and apply your changes instantly.

Each theme has a list of variables, which are replaced with colors, and a list of patches that should be applied when the theme is in use. Patches are defined separately, and can be loaded from content packs for Theme Manager from within a patches subfolder.

Variables can have any name, but if they aren't used by a patch they aren't really useful. Check out this folder to see what built-in patches are available. You can see the relevant variable names within a given patch: https://github.com/KhloeLeclair/StardewMods/tree/main/ThemeManager/assets/patches

Please let me know if you find any issues, be they related to compatibility... performance... missing colors... colors not being applied as expected...

Thanks for checking it out!

I am worried about stability, given how crazy the harmony patches are, but if this goes well I want to release it soon.

Note: There is no UpdateKey in this release, so you'll need to pay attention for future pre-release updates.

Theme Manager v0.1.0

23 May 02:43
Compare
Choose a tag to compare
Theme Manager v0.1.0 Pre-release
Pre-release

This is a preview release of Theme Manager.

Theme Manager is a framework mod which has two main functions:

First, it provides a C# API for other mods to discover, load, and select between themes. Themes can contain any serializable data, but are intended to contain colors and other values necessary for customizing UI drawing behavior. The C# API also allows other mods to load texture assets. This serves as a framework mod version of my ThemeManager project, which was previously located at https://github.com/KhloeLeclair/Stardew-ThemeManager

Second, and this is what I'm more interested in feedback on, it has a number of patches to the base game allowing it to support better UI themes. These patches allow a theme to override the various hard-coded colors used throughout the game for rendering.

You can see an example theme with every value defined here: https://github.com/KhloeLeclair/StardewMods/blob/ThemeManager_0.1.0/ThemeManager/assets/themes/template/theme.json

To add a theme for the base game to a content pack, either:

  1. Make a content pack for Theme Manager itself with a theme.json file.
  2. Add a stardew:theme key to your mod's manifest file, with the name of your theme json file. For example, if you just name your theme file theme.json then you'd add this to your manifest.json:
{
    "stardew:theme": "theme.json"
}

When editing a theme, you can use the retheme command to reload it and apply your changes instantly.

Please let me know if you find any issues, be they related to compatibility... performance... missing colors... colors not being applied as expected...

Assuming everything goes well, I plan on releasing this within a week.

Thanks for checking it out!

Note: There is no UpdateKey in this release, so you'll need to pay attention for future pre-release updates.