Documentation
Readme
View as plain text
-------------------HOW TO USE THIS MOD-------------------------------------
---(CP) Farmer Seasonal - Outfits And Portraits
also known as
---Seasonal Farmer Looks - Farmer's Portrait and Fashion Sense Outfits combined
The mod interfaces with two distinct frameworks - Farmer Portraits and FashionSenseOutfits. As both work via Content Patcher, it's possible to combine them into a single mod. Nonetheless, they are two distinct halves that need to be set up separately. They can also be used separately - if, for example, you despise Fashion Sense and would rather change outfits in-game manually, but want the portraits to change automatically, or if you think the Farmer Portraits sound complicated and intimidating and the portrait creator doesn't match the variety in Fashion Sense anyway - you can simply disable the half you aren't using in config. (Or don't - the mod automatically detects whether the required frameworks are installed and will only attempt to utilize the one(s) installed).
This readme is divided into 7 separate portions:
---QUICK START--- for when you just want to start playing and all the outfit stuff sounds confusing;
---FILE STRUCTURE--- which explains the files inside the mod folder and how you should work with them;
---PORTRAITS--- which explains how to set up portrait files;
---OUTFITS--- which explains how to set up Fashion Sense outfits;
---CONFIG--- which outlines the shared config;
---DEBUG--- which walks a brave user who had something go wrong with this mod through simple debug steps using the SMAPI console;
---BUG REPORT--- which is where you can go instead of, or after, the debug section. Even if you think your problem is probably self-caused, don't hesitate to reach out! And yes, the bugs section IS the appropriate venue for asking me for help. Just follow the steps in this section.
---QUICK START---
To start your game with a single portrait and no Fashion Sense features:
1) inside the /assets folder next to this file, create a folder with your farmer's name. (Not your farm name, your FARMER's name);
2) go to https://jazzybee.itch.io/, select the fem or masc version of the portrait maker, create the portrait you want and save at any resolution;
3) put it inside the folder you've just made, make sure it's named "portrait_base.png";
4) open the game and turn off all features in the first config section other than "use mod potraits";
5) play!
You can figure out the config and add more features/portraits/outfits later at any time!
---FILE STRUCTURE---
Yes, you do need to know this.
The main mod folder (the root) contains the "assets" folder, the "content.json" and "manifest.json" code files, this "readme.txt" file that you're reading right now, and possibly the "config.json" file if you have already launched the game with this mod in it at least once.
- manifest.json: the only reason you should ever have to touch this file is if I messed up the version number when updating the mod and you need to edit the version number in it to make SMAPI / your mod manager shut up about an update being available when you've already installed it. To do this, open the file, find the line that says "Version: "(some number)" and make this number match the version number in the downloads section of the mod page (https://www.nexusmods.com/stardewvalley/mods/19503?tab=files);
- content.json: this is the file you might want to edit to add custom mining, desert ot bathing locations, custom island location contexts, custom weather or custom festivals. The instructions for how to do this are all inside the file, and can be found by searching for "//add custom mining locations", "//add custom desert locations", "//add custom bathing locations", "//add custom island location context", "//add custom raincoat weather" and "//custom festival code sample" respectively. You can also add randomization for multiple outfits for the same occasion, see comments on the mod page for instructions for that;
- readme.txt: the file you're reading right now. Hi!
The assets folder should contain the "background.png" file and two sample portrait folders: "SampleName" and "SampleTwo".
- background.png: this mod does literally nothing with this one except load it, feel free to replace this file or never turn it on in the Farmer Portraits settings in the first place. Honestly, I expect you to. It's just there to prevent errors;
- SampleName: this is a folder that contains example portraits. Theoretically you can start up the game, make a new save with the farmer named SampleName, change nothing in the config, and these portraits will be used. In practice you're supposed to make your own folder named your farmer's name and put your own portraits there, using the portrait names in the SampleName folder as reference. (Copying SampleName and doing "Save As" to replace each of the portraits is a quick, easy and relatively foolproof way of doing that). Upon making changes in the game's config you can rename the files to whatever you want, though note that all portrait files should still start with "portrait_" after renaming.
- SampleTwo: this is a folder serving as an example of a minimal setup, when you just have one portrait for all occasions. Just make a folder with your farmer's name, put a "portrait_base.png" file into it and you're done. You can add more portraits later at any time.
- add more folders for each of your farmers! You can use the same folder for multiple saves with the same farmer if they share a name, or you can make a new folder for each save if the farmer has a different name in each. As I explained in the SampleName folder description, you can copy it and use its file names for reference, or you can give your files custom names that follow the format of "portrait_" + the postfix you set up in the in-game config (see the ---CONFIG--- section, or just figure it out in-game) ("portrait_base", "portrait_summerRain", "portrait_eveningDress", etc.)
-- each portrait file must be a square .png file at any resolution. Transparency is supported, have fun & go nuts;
-- it doesn't matter what else is in these folders than the files the mod will be looking for. Put as many sketches/WIPs/alternatives under different names there as you want. But:
-- UPON UPDATING THE MOD THE CUSTOM PORTRAIT FOLDERS WILL LIKELY BE LOST. Always back up all the portraits before updating, or better yet, store them elsewhere in the first place and just copy them to the mod folder after every update.
---OUTFITS---
!!!Note that the outfits half of the mod works with the portrait half disabled, and vice versa. You don't need to install Fashion Sense if you don't want the outfits half and you don't need to install Farmer Portraits if you don't want the portraits half!!!
This mod works with the Fashion Sense framework (download it here: https://www.nexusmods.com/stardewvalley/mods/9969) and the supplementary framework FashionSenseOutfits (download it here: https://www.nexusmods.com/stardewvalley/mods/18384).
To use Fashion Sense in-game, you will need the Hand Mirror item: when starting a new game you can tick the "start with mirror" box on the farmer setup screen, and with an already existent game you can buy it at Pierre's (iirc 2000g). Left clicking while holding the Hand Mirror opens the Fashion Sense menu, which allows you to override any and all parts of your look with clothing items / accessories from your installed Fashion Sense content packs. Look for them here: https://www.nexusmods.com/stardewvalley/mods/categories/13/ and here: https://www.nexusmods.com/stardewvalley/mods/categories/4/, or go to the Fashion Sense mod page, open the "Requirements" section in the description and go through the "Required by" part of it. (Make sure the packs you're downloading are for Fashion Sense and not something like Get Glam, and that they work with the current version of the game. Some of the top is last updated in 2017)
The Fashion Sense menu includes a "dresser" button, which opens the wardrobe menu where you can save outfits. This is what you'll need for this mod to work.
Step by step:
1. Download the frameworks specified above, then download content packs with hairstyles/accessories/clothes you want.
2. Acquire the mirror in-game.
3. Create the outfits you want this mod to switch you between and save them under any names you want.
-- note that if you set up an accessory in one outfit and then change to a different one that doesn't have any accessories set up for it, the accessory will carry over. This is reasonable behavior for something like elf ears - set up a bunch of outfits without them, then the last outfit with them, and enjoy elf ears in all outfits - but not even remotely so for something like a raincoat. Make sure all your outfits have at least one accessory! Add a belt or heterochromia or something.
4. Close the FS menu and put away the hand mirror. You don't need to carry it in your inventory except to change the outfits you've just set up.
5. Open the mod config and go through the settings to set them up to use the outfits you created.
-- note that the config is global and not save-specific. If you want to switch between multiple saves with different wardrobes (wardrobes are save-specific by default, though there's a "share outfit" button), you'll need to either use the same outfit names in all of them (such as the default ones in the config) or change the config every time you load a different one.
6. If you want to also use portraits and haven't set them up yet, now's the time to go to the ---PORTRAITS--- section of this readme!
7. You can change the config and the outfits in the hand mirror any time you like!
POSTFIX NOTES:
Currently two available postfix options exist: indoors and maternity (when the farmer is pregnant).
If you are using only the outfits half of the mod, you need to double your amount of saved outfits for every postfix you're using: i.e. if you're only using the "base" and "desert" outfits and you enable the indoor postfix, you need to have "base", "baseIn", "desert" and "desertIn" outfits saved; if you enable the maternity postfix, you need to have "base", "baseMat", "desert" and "desertMat" outfits saved; if you enable both, you need to have "base", "baseIn", "baseMat", "baseInMat", "desert", "desertIn, "desertMat" and "desertInMat", even if some of them are identical.
If you are using the portrait half as well, the mod will default to using the postfix-free version of an outfit when it cannot found the postfixed version; note that there's no nuance to this, and if it's looking for "baseInMat" and it doesn't exist but "baseMat" and "baseIn" do, it will ignore them and load simply "base".
RANDOMIZATION NOTES:
Entering multiple outfit names into corresponding config randomizes between them for each day. For example, you might save "GreenDress", "YellowDress", "RedDress" and "BlueDress" for spring in Fashion Sense. Then in the config field for spring outfit you enter "GreenDress, YellowDress, RedDress, BlueDress" (not case sensitive). Then each day in spring the mod will choose one of them for you to wear for the day.
---PORTRAITS---
!!!Note that the outfits half of the mod works with the portrait half disabled, and vice versa. You don't need to install Fashion Sense if you don't want the outfits half and you don't need to install Farmer Portraits if you don't want the portraits half!!!
First of all, to use the portraits feature, you need to have the framework mod "Farmer Portraits" installed. Here it is: https://www.nexusmods.com/stardewvalley/mods/20713. It's recommended to disable the sample pack: while it should not cause errors, it is redundant with this mod.
Second, neither this mod nor any other I know about nor the vanilla game will generate the portraits for you. (Well, the Farmer Portraits default setting has your sprite enlarged to fill the portrait box. I'm assuming if you want to use this mod, you want something more substantial than that. There is a portrait maker at https://jazzybee.itch.io that you can use for this: it allows you to save the portrait in the exact right size and matches the vanilla portrait art style reasonably well. It only has so many options and doesn't match the diversity that Fashion Sense content packs offer, so it might come down to you doing your own pixel art anyway, at least to edit the generated portraits. (That's what I do)
Anyway, here's the sequence of what you need to do:
1. Open the mod folder, enter the /assets folder, and either copy one of the sample portrait folders ("SampleName" and "SampleTwo") then rename it into your farmer's name, or just create a folder with your farmer's name. (You could also just rename one of the sample folders without copying, but given you might want to use them for reference later, it's not really recommended)
2. Add any portraits you already have ready and want to use for your farmer, named in the "portrait_[something].png" format. You can use the naming scheme from the SampleName folder, or you can use any custom postfixes you want and set them up in config later. Note though that your custom postfixes will also be your Fashion Sense outfit names, so they can't be too long: anything longer than 18 symbols will just not fit on the wardrobe screen. Don't worry about adding all the portraits you want to use ever, you can add more at any time.
3. Launch the game!
4. Open the mod config menu, find (CP) Farmer Seasonal - Outfits And Portraits, and set the mod up to use the portraits you have / want to use when you want to use them. Note that as of right now, the mod will only attempt to load the correct portrait the config is setup for, and won't load anything if that file is missing, so make sure you have everything set up correctly!
5. If you want to use the outfits half of the mod too and haven't gotten to them yet, now's the time to look at the ---OUTFITS--- section of this readme!
----if you end up with more FS outfits than portraits, you can simply copy the portrait file that matches closest and rename it into the FS outfit name. Nothing stopping you from having a folder with 10 identical portraits that differentiate by the color of the skirt set up in the FS half.
6. At any later time you can add more portraits and change the ones you have around, and since 1.6 they will load dynamically during the game after you change the outfit you're supposed to wear back and forth (for example, go to the mines then leave them).
POSTFIX NOTES:
Currently two available postfix options exist: indoors and maternity (when the farmer is pregnant).
Ideally when one or both of them is available you should have your entire wardrobe doubled or quadrupled respectively to account for all versions of each outfit (basic, indoors maternity, and indoor maternity). However, when portraits are enabled, the mod will check the existence of a portrait file with the currently correct postfixes, and if the exact match isn't found, it will default to the basic version (if it exists). Note that there's no nuance to this, and if it's looking for "baseInMat" and it doesn't exist but "baseMat" and "baseIn" do, it will ignore them and load simply "base".
RANDOMIZATION NOTES:
Entering multiple outfit names into corresponding config randomizes between them for each day. For example, you might save "portrait_GreenDress.png", "portrait_YellowDress.png", "portrait_RedDress.png" and "portrait_BlueDress.png" for spring in Fashion Sense. Then in the config field for spring outfit you enter "GreenDress, YellowDress, RedDress, BlueDress" (not case sensitive). Then each day in spring the mod will choose one of them for you to wear for the day.
---CONFIG---
(The in-game config in the Generic Mod Config Menu includes detailed descriptions that should be self-explanatory, but if for some reason you want to edit the config.json file directly instead of using GMCM, this explanation is here for you)
The config is long and rich, and divided into several sections: the unnamed main settings section at the top, then ***Pajama controls, ***Outfit names, ***Festival outfits, and finaly ***Seasonal variations.
!Note that the config is global for all saves. If you're loading a different save and the mod doesn't seem to be working, go through the config and make sure the settings are correct and the outfit names match the currently loaded save.
*Use mod outfits
Turns on the Fashion Sense half of the mod. On by default. Note that you can toggle this at any time, as long as the required framework mods (Fashion Sense and FashionSenseOutfits) are installed. Possible values are "true" and "false". Enabled by default.
*Use mod portraits
Same as above, the required framework mod being "Farmer Portraits".
*Seasonal outfits
The farmer will attempt to wear different oufits and load different portraits depending on the season. If disabled, a "base" portrait and outfit will be shown, outfit name "base" by default, meaning the portrait file name is "portrait_base.png". This can be customized further down the config, for example, "jeans" leading to "portrait_jeans.png". To customize Fashion Sense outfit names for different seasons (for example, to use the same outfit in three seasons and a different one in winter), scroll down to the corresponding config options. Default is "spring", "summer", "fall", "winter". This outfit will be overwritten by any other option below that's enabled: raincoat, pajamas, etc. Possible values are "true" and "false". Enabled by default.
*Raincoat
Turns on the "raincoat" feature: a special outfit (the default outfit name is "rain") will be worn when it's raining or storming in Stardew Valley. Overwritten by any other enabled option below this one: pajamas, a festival, etc. Possible values are "true" and "false". Enabled by default. Note that if you're using mods that add custom weather that you'd like to wear a raincoat for, you can open content.json, ctrl+f for "add custom raincoat weather" and follow the instructions there.
*Seasonal raincoats
Switches from using a single raincoat for any season to season-specific raincoats. Disabled by default - by default, a single raincoat is used. Possible values are "true" and "false". Doesn't do anything if the raincoat option above is disabled. Default outfit names are "SpringRain", "SummerRain", "FallRain", "WinterRain".
*Green rain outfit
Selects which raincoat you wear during the green rain: you can hook it up with the regular raincoat or the seasonal raincoat, you can set its own raincoat (the default outfit name is "GreenRain"), or you can turn it off and run around in your regular seasonal or base outfit. Possible values are "None", "Regular raincoat", "Seasonal raincoat" and "Special outfit". Regular raincoat by default. Works even if the regular raincoat is disabled.
*Festival outfits
Turns on the "festival outfits" feature: you can set up a single festive outfit to be worn when anything at all (that the game registers as DayEvent) is going on, and you can set up outfits for individual festivals. See default outfit names below. Custom festivals can be added in the code manually, in the content.json file: open it and search for "//custom festival code sample", then follow the instructions there. Possible values are "true" and "false". This outfit will be overwritten by any other option below that's enabled: mining, desert, pajamas, etc (so you can visit Sandy on an Ice Festival morning without sweating in your winter coat). Enabled by default.
*Mining outfit enabled
Turns on the "mining outfit" feature: a special outfit (the default outfit name is "mining") will be worn in the "dungeon" locations: the mine, the quarry cave, the Skull Cavern and the volcano. Custom dungeon locations can be added in the code manually, in the content.json file: open it and search for "//add custom mining locations", then follow the instructions. Downtown Zuzu, East Scarp and Cape Stardew locations should already be included, although mistakes are possible. Tell me in the comments on the mod page if something is wrong! (https://www.nexusmods.com/stardewvalley/mods/19503?tab=posts) Possible values are "true" and "false". Enabled by default.
*Mountain mining
Has the farmer wear the mining outfit also to the "mountain" location - the map with the quarry, the Adventurer's Guild and mine entrance, the mountain lake, Robin's house and Linus's tent. Does nothing if the mining outfit is disabled. Possible values are "true" and "false". Disabled by default.
*Seasonal mining outfit
Has the mining outfit vary by season. See the seasonal variations section below.
*Desert outfit enabled
Turns on the "desert outfit" feature: a special outfit (the default outfit name is "desert") will be worn in the Calico desert, including Sandy's shop and the casino. Custom desert locations can be added in the code manually, in the content.json file: open it and search for "//add custom desert locations", then follow the instructions. Downtown Zuzu, Walk to Desert Redux and Desert Afforestation Area locations should already be included, although mistakes are possible. Tell me in the comments on the mod page if something is wrong! (https://www.nexusmods.com/stardewvalley/mods/19503?tab=posts) Possible values are "true" and "false". Enabled by default.
*Island outfit enabled
Turns on the "island outfit" feature: a special outfit (the default outfit name is "island") will be worn on all Ginger Island maps (including custom ones, as long as the LocationContext is correct). Custom location contexts (such as the Downtown Zuzu resort) can be added in the code manually, in the content.json file: open it and search for "add custom island location context", then follow the instructions within. Downtown Zuzu resort should already be included. Possible values are "true" and "false". Enabled by default.
*Island raincoat option
Selects which raincoat you wear on Ginger Island when it rains: you can hook it up with the regular raincoat or the seasonal raincoat, you can set its own raincoat (default outfit name "IslandRain"), or you can turn it off and run around in your regular island outfit (or your regular outfit period). Possible values are "None", "Regular raincoat", "Seasonal raincoat" and "Island raincoat". Disabled by default (the "None" option). Always does nothing if "Raincoat" is disabled.
*Indoor variation
Will make the mod look for a version of the current outfit with the postfix defined in the config below ("In" by default) when indoors. Example: "WinterCoat" (and portrait_WinterCoat.png) defined as the winter outfit; after enabling this option the mod will look for a "WinterCoatIn" outfit and portrait when indoors.
When portraits are enabled, the mod will check for the existence of a potrait with the postfix and switch to a postfix-free version if the file is not found; when portraits are disabled, the mod will simply attempt to load the version with the postfix no matter if it exists or not (as there is no way to check for the existence of an outfit via Content Patcher with the current frameworks).
Note that this means that if portraits are not enabled, you need all your pajamas outfits to have the postfix as they are only worn indoors, (example: config for pajamas says "Pajamas", config for indoor postfix says "In", outfit should be named "PajamasIn") and you need all your mining outfits to have the postfix as well, since all mines count as indoors. (If you use the "mountain mining" option, you need the outdoors version too). You will also need the "In" version of all outfits and portraits you might plausibly wear when inside, even if it's just a duplicate.
Possible values are "true" and "false", default is "false".
*Maternity variation
Works the same way as the indoor variation described above, checking if the farmer is currently pregnant. The default postfix is "Mat". The order of postfixes is "InMat". Note that even with the portraits enabled, only a single check for existence of a postfixed version of the outfit is performed, and if the exact match is not found, the mod defaults to a non-postfixed version. This means that if you are using both maternity and indoor postfixes and you make a "Mat" version of, for example, the desert outfit, you need to also create an "InMat" version or it will not load when indoors. The same is true the other way around: if you've made the "In" version of, for example, the island outfit, you need to make an "InMat" version or it will not load when you're pregnant.
***Pajama controls config section
*Morning pajamas
Turns on the morning half of the "pajamas" feature: a special outfit (the outfit name is "pajamas") will be worn in the farmhouse and the island farmhouse in the morning upon waking up. Possible values are "true" and "false". Enabled by default.
!Note that due to some inconsistent behavior of the FashionSenseOutfits framework it's recommended to use both the morning pajamas and the evening pajamas feature: when loading a save, you will wake up in the same outfit you went to bed in, even when it would normally be switched on starting a new day if you were playing continuously, and it will not switch to what it should be until either time ticks over (6:10am) or you switch locations (leaving the farmhouse or going to the cellar). Going to bed and waking up in the same pajamas makes the issue fully invisible.
*Pajamas until
Sets when you change out of pajamas and into your outfit for the day when inside the farmhouse (leaving the farmhouse changes you out of pajamas regardless, but if you go back in and it's still pajamas time, you'll be wearing them again). It's a multi-select instead of free text entry because I have to correspond each option to in-game time manually, because json is not a real programming language. You understand. Possible values are "6:10", "6:20", "6:30", "7:00", "7:30", "8:00", "8:30", "9:00", "10:00", "11:00", "12:00". Default is "6:10". It's all in the AM, obviously, because it's about wearing pajamas in the morning.
*Evening pajamas
Turns on the evening half of the "pajamas" feature, see above. Has you wear pajamas in the farmhouse before you go to bed; together with morning pajamas constitutes an effective workaround to the FashionSenseOutfits save load issue. Possible values are "true" and "false". Enabled by default.
*Pajamas from
Sets when you change from your outfit for the day into pajamas when inside the farmhouse in the evening, same as "pajamas until" above in all respects, except time is first in PM and then in AM as we cross the midnight point. Possible values are "9:00", "9:30", "10:00", "10:30", "11:00", "11:30", "12:00", "12:30", "1:00", "1:30", "1:40", "1:50". Default is "10:00" (10 PM, obviously).
*Seasonal pajamas
Switches from a single year-round pajamas outfit to seasonal pajamas outfits whose names are defined further down in the "seasonal" section of the config. Possible values are "true" and "false". Disabled by default.
Note that the pajamas feature overrides all other outfit options: as long as you're in the farmhouse or the island farmhouse and it's the right time, you will be wearing pajamas regardless of the season, festival, whether you added your farmhouse as a mining or desert location for some reason, etc.
***Outfit names config section
!Note that the config is global for all saves. If you intend on switching between different saves with different wardrobes, you'll need to either use the same outfit names in all of them (such as the default ones), or change the settings every time you switch.
*Base outfit
For the outfit you wear day to day when you aren't wearing anything else, sets the name of the Fashion Sense outfit in your wardrobe as well as the portrait file name postfix. Only actually relevant when you're not using the seasonal outfits feature, since there's always SOME season and that's what you'll be wearing instead. Use example: entering "overalls" into this setting will have the mod load the "overalls", "Overalls", "OVERALLS" or however else you capitalize the outfit name from your Fashion Sense wardrobe, and "portrait_overalls.png" (or "pOrTrAiT_oVeRaLlS.png" or however else you capitalize it) from your portraits folder. The default value is "base". Entering multiple outfit names separated by commas (spaces allowed and optional) will randomize between them each day.
*Pajamas
For the outfit you wear in the morning and/or evening, if enabled, sets the name of the Fashion Sense outfit in your wardrobe as well as the portrait file name postfix. See *Base outfit for use example. The default value is "pajamas". Entering multiple outfit names separated by commas (spaces allowed and optional) will randomize between them each day.
*Raincoat
For the outfit you wear when it's raining, if it's enabled and the seasonal raincoats option is disabled, sets the name of the Fashion Sense outfit in your wardrobe as well as the portrait file name postfix. See *Base outfit for use example. If the "island raincoat option" is set to "regular raincoat", it will use this outfit name even if you're wearing seasonal raincoats on the mainland. The default value is "rain". Entering multiple outfit names separated by commas (spaces allowed and optional) will randomize between them each day.
*Mining outfit
For the outfit you wear while mining/dungeoneering, if enabled, sets the name of the Fashion Sense outfit in your wardrobe as well as the portrait file name postfix. See *Base outfit for use example. The default value is "mining". Entering multiple outfit names separated by commas (spaces allowed and optional) will randomize between them each day.
*Desert outfit
For the outfit you wear in the Calico desert (and other desert locations if you have any in your game, see *Desert outfit enabled above for instructions on adding custom locations to the list), if enabled, sets the name of the Fashion Sense outfit in your wardrobe as well as the portrait file name postfix. See *Base outfit for use example. The default value is "desert". Entering multiple outfit names separated by commas (spaces allowed and optional) will randomize between them each day.
*Island outfit
For the outfit you wear on Ginger Island, if enabled, sets the name of the Fashion Sense outfit in your wardrobe as well as the portrait file name postfix. See *Base outfit for use example. The default value is "island". Entering multiple outfit names separated by commas (spaces allowed and optional) will randomize between them each day.
*Island raincoat
If you have selected the "Island raincoat" option in the corresponding setting, sets the name of the Fashion Sense outfit in your wardrobe as well as the portrait file name postfix, for the raincoat you wear when you're on the island and it's raining there. See *Base outfit for use example. The default value is "islandRain". Entering multiple outfit names separated by commas (spaces allowed and optional) will randomize between them each day.
***Festival outfits
!Note that this entire section doesn't do anything if the "Festival outfits" option is disabled in the main config.
Note that all festival outfits are overwritten by more specific outfits: island, desert, mining, pajamas, etc. They will however overwrite the raincoat, if your modded game makes it possible for it to rain during a festival (not possible in the vanilla game), and of course they overwrite seasonal outfits.
*Single festive outfit
If this option is enabled, you will wear a "default" festive outfit for all occasions that have a DayEvent value in the game (vanilla festivals, weddings, anything added by mods). Disable it to default to your regular outfit on occasions you aren't interested in and won't set the value for below. Note that adding specific custom festivals to this mod's code is relatively easy: open the "content.json" file in the mod folder, search for "//custom festival code sample", then follow the instructions there. Of course, using this option is undoubtedly easier. Possible values are "true" and "false". Enabled by default.
*Festive outfit
For the outfit you'll wear on festive occasions by default, if enabled above, sets the name of the Fashion Sense outfit in your wardrobe, and if the "legacy file names" setting is off, also the portrait file name postfix. See *Base outfit for use example. The default value is "festive". Entering multiple outfit names separated by commas (spaces allowed and optional) will randomize between them each day.
*Wedding outfit enabled
When enabled, makes you wear a special outfit on your wedding day. (Note that this is for the whole day, not just the ceremony; I don't think Content Patcher allows me to separate it out). If it's disabled, you will either wear the "default" festive outfit on your wedding day (if the corresponding option is enabled) or your regular seasonal / default outfit (if it isn't). Possible values are "true" and "false". Enabled by default.
*Wedding outfit
For the outfit you wear on the day of your wedding, if enabled above, sets the name of the Fashion Sense outfit in your wardrobe as well as the portrait file name postfix. See *Base outfit for use example. The default value is "wedding". Entering multiple outfit names separated by commas (spaces allowed and optional) will randomize between them each day.
*Egg Festival outfit enabled
When enabled, makes you wear a special outfit on the day of the Egg Festival. If it's disabled, you will either wear the "default" festive outfit on that day (if the corresponding option is enabled) or your regular seasonal / default outfit (if it isn't). Possible values are "true" and "false". Enabled by default.
*Egg Festival outfit
For the outfit you wear on the day of the Egg Festival, if enabled above, sets the name of the Fashion Sense outfit in your wardrobe as well as the portrait file name postfix. See *Base outfit for use example. The default value is "EggFestival". Entering multiple outfit names separated by commas (spaces allowed and optional) will randomize between them each day.
*Flower Dance outfit enabled
*Flower Dance outfit
Same as above, default is "FlowerDance".
*Luau outfit enabled
*Luau outfit
Same as above, default is "Luau".
*Dance of the Moonlight Jellies outfit enabled
*Dance of the Moonlight Jellies outfit
Same as above, default is "MoonlightJellies".
*Stardew Valley Fair outfit enabled
*Stardew Valley Fair outfit
Same as above, default is "Fair".
*Spirit's Eve outfit enabled
*Spirit's Eve outfit
Same as above, default is "SpiritsEve".
*Ice Festival outfit enabled
*Ice Festival outfit
Same as above, default is "IceFestival".
*Feast of the Winter Star outfit enabled
*Feast of the Winter Star outfit
Same as above, default is "WinterStar".
!Note: this is the part of the config where the custom festival setup will go if you add any. To do so, open the "content.json" file in the mod folder, search for "//custom festival code sample" and follow the instructions there.
***Seasonal variations config section
*Spring outfit
*Summer outfit
*Fall outfit
*Winter outfit
For the outfit you wear in the respective season when nothing else that overrides it is going on, sets the name of the Fashion Sense outfit in your wardrobe as well as the portrait file name postfix. See *Base outfit for use example. The default values are "Spring", "Summer", "Fall" and "Winter" respectively. Doesn't do anything if the "Seasonal outfits" option is disabled in the main settings section. Entering multiple outfit names separated by commas (spaces allowed and optional) will randomize between them each day.
*Spring raincoat
*Summer raincoat
*Fall raincoat
*Winter raincoat
For the outfit you wear in the respective season when it rains, sets the name of the Fashion Sense outfit in your wardrobe as well as the portrait file name postfix. See *Base outfit for use example. The default values are "SpringRain", "SummerRain", "FallRain" and "WinterRain" respectively. Doesn't do anything if the main "raincoat enabled" setting is off, and also if you don't have seasonal raincoats enabled in the main settings section or chosen as an island raincoat option. (I have no idea why you would use seasonal raincoats for the island but a single raincoat for the mainland, but you could in fact do that) Entering multiple outfit names separated by commas (spaces allowed and optional) will randomize between them each day.
*Spring mining outfit
*Summer mining outfit
*Fall mining outfit
*Winter mining outfit
For the outfit you wear while mining in the respective season, sets the name of the Fashion Sense outfit in your wardrobe as well as the portrait file name postfix. The default values are "SpringMining", "SummerMining", "FallMining" and "WinterMining" respectively. Doesn't do anything if the mining outfit is disabled, as well as if the seasonal mining outfits option is disabled. Entering multiple outfit names separated by commas (spaces allowed and optional) will randomize between them each day.
*Spring pajamas
*Summer pajamas
*Fall pajamas
*Winter pajamas
For the pajamas you wear in your farmhouse in the evening and/or morning and/or all day, sets the name of the Fashion Sense outfit in your wardrobe as well as the portrait file name postfix. The default values are "PJspring", "PJsummer", "PJfall" and "PJwinter" respectively. Doesn't do anything if you haven't selected any time to wear pajamas, as well as if the seasonal pajamas option is disabled. Entering multiple outfit names separated by commas (spaces allowed and optional) will randomize between them each day.
---DEBUG---
Are your portraits not loading? Is your farmer wearing the wrong outfit? You're in the right readme section, then.
0. Check that your config is correct (config.json or in-game config menu at the end of the settings page if you have Generic Mod Config Menu installed) (you should have Generic Mod Config Menu installed). It's immensely likely that you updated the mod and the config reset and you didn't fix everything you should have. Happens to me all the time. I wish config didn't break every time I add a new option to it )=
1. First of all, you need to actually launch the game and load the save you're having problems with. If the problems are with a specific outfit, go to where and when you would wear it and make the problem show up. (You can get the portrait to display anywhere by trying to eat something) (I recommend CJB Cheats Menu for warping places and setting the time and date for easier debugging, btw)
2. Alt-tab (on windows; mac and linux users, whatever keyboard shortcut you use to switch between active windows) to the SMAPI console. It looks like a black rectangle with lines of text in it titled "SMAPI".
3. Type in "patch summary liliet.seasonalfarmerlooks" without the quotes and press enter. (If you're just here from the ---BUG REPORT--- section, go back there now, you're good)
4. You should have multiple screens' worth of pale grey text that says approximately this:
(ctrl+f "(end example)" to find where the instructions resume)
(start example)
*************************************************************************************************************
=====================
== Global tokens ==
=====================
Content Patcher:
token name | value
--------------------------------------------------------- | -----
ChildGenders | [X]
ChildNames | [X]
Count | [X] 0
DailyLuck | [X] -0.031
Day | [X] 2
DayEvent | [X]
DayOfWeek | [X] Tuesday
DaysPlayed | [X] 2
FarmCave | [X] Bats
FarmhouseUpgrade | [X] 1
FarmMapAsset | [X] Farm
FarmName | [X] T
FarmType | [X] Standard
FormatAssetName | [X] (token returns a dynamic value)
HasCaughtFish | [X]
HasCookingRecipe | [X] Fried Egg
HasDialogueAnswer | [X]
HasProfession | [X]
HasValue | [X] false
HasWalletItem | [X]
HavingChild | [X]
IsCommunityCenterComplete | [X] false
IsJojaMartComplete | [X] false
IsMainPlayer | [X] true
IsOutdoors | [X] false
Language | [X] en
LocationContext | [X] Default
LocationName | [X] Mine
LocationOwnerId | [X]
LocationUniqueName | [X] Mine
Lowercase | [X]
Merge | [X]
PathPart | [X] (token returns a dynamic value)
PlayerGender | [X] Female
PlayerName | [X] SampleName
PreferredPet | [X] Cat
Pregnant | [X]
Query | [X] (token returns a dynamic value)
Random | [X] (token returns a dynamic value)
Range | [X] (token returns a dynamic value)
Render | [X]
Roommate | [X]
Round | [X] (token returns a dynamic value)
Season | [X] spring
Spouse | [X] Abigail
Time | [X] 0620
Uppercase | [X]
Weather | [X] Sun
Year | [X] 1
HasActiveQuest | [X] 9, 14
HasConversationTopic | [X] achievement_0_memory_oneweek, achievement_1_memory_oneweek, achievement_6_memory_oneweek, achievement_18_memory_oneday, adventure_Abigail1_memory_onew... (use `patch summary full` to see other values)
HasCraftingRecipe | [X] Campfire, Chest, Cobblestone Path, Friendship Bracelet, Gate, Gravel Path, Heated Stone Bird Bath, Plastic Tube Birdfeeder, Stone Bird Bath, Stone Sig... (use `patch summary full` to see other values)
HasFlag | [X] abbySpiritBoard, Abigail_Introduction, Bouquet, button_tut_1, button_tut_2, checkedBulletinOnce, dad1, dad2, dad3, EastScarp_IntroMail, FashionSense.M... (use `patch summary full` to see other values)
HasMod | [X] 7eventy7.BlueMacawCompanion, 7thAxis.AlternateLadyShebaPortraits, 7thAxis.AlternateMrGingerPortraits, 7thAxis.LitD.CP, 6480.giantcrops, 6480.GiantCrop... (use `patch summary full` to see other values)
HasReadLetter | [X] Abigail_Introduction, button_tut_1, button_tut_2, checkedBulletinOnce, FashionSense.Mail.HandMirror, na_invitation, sawQiPlane, sawSecretSanta1, SnS.F... (use `patch summary full` to see other values)
HasSeenEvent | [X] 1, 4, 65, 60367, 100162, 1301060, 1301061, 1301062, 1301063, 1301067, 1590166, 57870000
HasVisitedLocation | [X] Farm, FarmHouse, BusStop, Town, Mountain, Backwoods, Mine, SeedShop, Saloon, ScienceHouse, Railroad, BathHouse_Entry, BathHouse_WomensLocker, BathHouse_Pool, Custom_Bath_Garden
Hearts | [X] Abigail:8, AdelaideRosierVMV:0, Aguar:0, Aideen:0, Alex:0, Alissa:0, Anton:0, Ariah:0, AsterPellegrinVMV:0, Beatrice:0, Bert:0, Birdie:0, Blair:0, Car... (use `patch summary full` to see other values)
Relationship | [X] Abigail:Married, AdelaideRosierVMV:Unmet, Aguar:Unmet, Aideen:Unmet, Alex:Unmet, Alissa:Unmet, Anton:Unmet, Ariah:Unmet, AsterPellegrinVMV:Unmet, Beat... (use `patch summary full` to see other values)
SkillLevel | [X] Combat:0, Farming:0, Fishing:0, Foraging:0, Luck:0, Mining:0
=====================
== Content patches ==
=====================
The following patches were loaded. For each patch:
- 'loaded' shows whether the patch is loaded and enabled (see details for the reason if not).
- 'conditions' shows whether the patch matches with the current conditions (see details for the reason if not). If this is unexpectedly false, check (a) the conditions above and (b) your Where field.
- 'applied' shows whether the target asset was loaded and patched. If you expected it to be loaded by this point but it's false, double-check (a) that the game has actually loaded the asset yet, and (b) your Targets field is correct.
(Filtered to content pack ID: liliet.seasonalfarmerlooks.)
(CP) Farmer Seasonal - Outfits And Portraits:
---------------------------------------------
Local tokens:
token name | value
--------------------------------- | -----
BaseOutfitName | [X] Base
BathingLocations | [X] BathHouse_Pool, BathHouse_WomensLocker, BathHouse_MensLocker, Custom_Bath_Garden
BathOutfitEnabled | [X] false
BathOutfitName | [X] Bathrobe
CurrentIndoorPostfix | [X] In
CurrentMaternityPostfix | [X]
CurrentMiningOutfitName | [X] Mining
CurrentOutfit | [X] Mining
CurrentOutfitFinal | [X] MiningIn
CurrentOutfitFull | [X] MiningIn
CurrentPortraitFileWithoutPostfix | [X] assets/SampleName/portrait_Mining.png
CurrentPostfix | [X] In
CurrentPotraitFileFinal | [ ]
CurrentPotraitFileFull | [X] assets/SampleName/portrait_MiningIn.png
DesertOutfitEnabled | [X] true
DesertOutfitName | [X] Desert
EggFestivalOutfitEnabled | [X] true
EggFestivalOutfitName | [X] EggFestival
EveningPajamas | [X] true
FairOutfitEnabled | [X] true
FairOutfitName | [X] Fair
FallMiningOutfitName | [X] FallMining
FallOutfitName | [X] fall
FallRaincoatOutfitName | [X] FallRain
FarmhouseLocations | [X] Farmhouse, IslandFarmHouse
FestivalOutfitsEnabled | [X] true
FestiveOutfitEnabled | [X] true
FestiveOutfitName | [X] Festive
FlowerDanceOutfitEnabled | [X] true
FlowerDanceOutfitName | [X] FlowerDance
GreenRaincoatChoice | [X] RegularRaincoatOption
GreenRaincoatOutfitName | [X] GreenRain
IceFestivalOutfitEnabled | [X] true
IceFestivalOutfitName | [X] IceFestival
IndoorPostfixEnabled | [X] true
IndoorPostfixName | [X] In
IslandOutfitEnabled | [X] true
IslandOutfitName | [X] Island
IslandRaincoatChoice | [X] None
IslandRaincoatOutfitName | [X] IslandRain
LuauOutfitEnabled | [X] true
LuauOutfitName | [X] Luau
MaternityPostfixEnabled | [X] false
MaternityPostfixName | [X] Mat
MiningOutfitEnabled | [X] true
MiningOutfitName | [X] Mining
ModdedDesertLocations | [X] Custom_WTDR_GhostTown, Custom_DTZ_ZuzuCityOasis1, Custom_DTZ_SancInt, Custom_Desert_AfforestationArea
ModdedIslandLocations | [X] ZuzuResort
ModdedMiningLocations | [X] Custom_DTZ_OasisCave, Custom_DTZ_OasisCaveUnder, Custom_DTZ_OasisCaveJungle, Custom_DTZ_ResortSecretCave, Custom_ESDeepDark, Custom_Cape, Custom_Secre... (use `patch summary full` to see other values)
ModId | [X] Liliet.SeasonalFarmerLooks
MoonlightJelliesOutfitEnabled | [X] true
MoonlightJelliesOutfitName | [X] MoonlightJellies
MorningPajamas | [X] true
MountainMiningEnabled | [X] false
PajamaEveningTime | [X] 2200
PajamaMorningTime | [X] 0600
PajamasAllDay | [X] false
PajamasFrom | [X] 10:00
PajamasOutfitName | [X] Pajamas
PajamasUntil | [X] 6:10
RaincoatEnabled | [X] true
RaincoatOutfitName | [X] Rain
RainyWeatherList | [X] Rain, Storm, Kana.WeatherWonders_Deluge, Kana.WeatherWonders_RainSnowMix, Kana.WeatherWonders_Drizzle, Kana.WeatherWonders_MuddyRain
SeasonalMiningEnabled | [X] false
SeasonalOutfitName | [X] spring
SeasonalOutfitsEnabled | [X] true
SeasonalRaincoatName | [X] SpringRain
SeasonalRaincoatsEnabled | [X] false
SpiritsEveOutfitEnabled | [X] true
SpiritsEveOutfitName | [X] SpiritsEve
SpringMiningOutfitName | [X] SpringMining
SpringOutfitName | [X] spring
SpringRaincoatOutfitName | [X] SpringRain
SummerMiningOutfitName | [X] SummerMining
SummerOutfitName | [X] summer
SummerRaincoatOutfitName | [X] SummerRain
TodaysFestivalEnabled | [X] false
TodaysFestivalOutfit | [ ]
UseModOutfits | [X] true
UseModPortraits | [X] true
WeddingOutfitEnabled | [X] true
WeddingOutfitName | [X] Wedding
WinterMiningOutfitName | [X] WinterMining
WinterOutfitName | [X] winter
WinterRaincoatOutfitName | [X] WinterRain
WinterStarOutfitEnabled | [X] true
WinterStarOutfitName | [X] WinterStar
Patches:
loaded | conditions | applied | priority | name + details
------- | ---------- | ------- | -------- | --------------
[X] | [ ] | [ ] | High | Loading Seasonal Looks farmer's portrait (Load aedenthorn.FarmerPortraits/portrait) // tokens not ready: CurrentPotraitFileFinal
[X] | [X] | [X] | Default | Loading Seasonal Looks Fashion Sense outfit (EditData nihilistzsche.FashionSenseOutfits/Outfits)
Current changes:
asset name | changes
----------------------------------------- | -------
nihilistzsche.FashionSenseOutfits/Outfits | changed entries
****************************************************************************************************************************
(end example)
The global tokens describe the current conditions in the game. "Location" should match your current location, "Weather" should match your current weather, and so on. If it doesn't, you have bigger problems that my mod is in no way guilty of. (You don't generally need to bother checking this)
!!!
!!!!!!!!!!! If there is nothing after the "Content patches" header, specifically after the line "Filtered to content pack ID: liliet.seasonalfarmerlooks", no local tokens or patches or anything, then the mod didn't load. Either you installed it incorrectly or I uploaded the latest version without testing and it's just that bugged right now. Either way, if you don't know exactly what went wrong and how you should fix it on your end, submit a bug report on the mod page (see the ---BUG REPORT--- section) !!!!!!!!!!!!!
!!!
Anyway, the local tokens describe the variables the mod itself uses. You might want to look at them a bit later (or just read through them for fun and to know how it works, I'm not the boss of you). But for the next step of the debug, scroll further down.
Nearly at the end you have the "Patches" section. It describes what the mod is trying to do - editing the portrait and outfit respectively. For each of these attempts, it has three checkmarks: [ ] loaded, [ ] conditions, [ ] applied.
-- Loaded should always be on [x]; really, it should. If it isn't, try to reinstall the mod / Content Patcher / SMAPI / the game itself: I have no idea why THAT might be happening. If reinstalling doesn't help, report the bug on the mod page I guess (see the ---BUG REPORT--- section). Go to the comments (Posts) tab first for instructions on how to provide full information with your bug report, then go to the bugs tab and post the report.
-- Conditions and Applied should match. If you're seeing [x] conditions [ ] applied, also try to reinstall the mod / Content Patcher / SMAPI / the game itself. This is a known bug but it's not MY bug as far as I know, sometimes Content Patcher Just Does This apparently. So far reinstalling everything has fixed it for the people who had it every time. If this happens, even if reinstalling DOES help, please report the bug anyway (see the ---BUG REPORT--- section). I want to know.
-- If you have [x] loaded [ ] conditions [ ] applied, at the end of the same line you should have an explanation about which condition exactly didn't match / exactly what happened.
-----If the outfits or portraits half of the mod is disabled in the config, then it'll say that UseModPortraits and/or UseModOutfits respectively doesn't match / is disabled. If that's wrong, fix it in the config and try again.
-----If "HasMod" (distinct from "HasFile") doesn't match, then you don't have one of the required mods installed; see the ---PORTRAITS-- and ---OUTFITS--- sections of this readme to see which those are and where to find them. Of course, if you don't want to use the corresponding half of the mod, you don't need those mods and don't need to pay attention to this line.
-----If "HasFile" doesn't match, it means the mod is trying to load a portrait and isn't finding it. If this is the case, skip ahead to the **Local Tokens** explanation.
-----If you have "token not ready" or something more esoteric here, that's probably my bug and you should bring it to me (see the ---BUG REPORT--- section). I'll hopefully fix it soon.
-- If you have [x] loaded [x] conditions [x] applied in the line(s) you need for your intent use of the mod, then the mod thinks everything went fine and it loaded what it needed to. To squint at what went wrong more closely, continue to the **Local Tokens** subsection.
The "Current changes" section is basically a summary of the "Patches" section: whichever patch is [x] applied, should be reflected there. (In the example above the portrait change did not apply, but the outfit change did, so there is one Current changes entry). If it's mismatched, you have bigger problems and should probably reinstall everything and also do a gremlin appeasement ritual, I don't know. You shouldn't need this part for anything in this specific mod.
**Local Tokens**
The ones you want first are:
- CurrentOutfitFinal
- CurrentPortraitFileFinal
These are the outfit name and portrait file the mod is actually trying to load! Whatever your problem is might be obvious after looking at them. If you have a "HasFile" problem, double check that your portraits are in the correct folder / that you have all the portraits you need and they are named correctly.
If you have indoor and/or maternity postfixes enabled, it might be helpful to look at the following:
- CurrentOutfitWithoutPostfix
- CurrentOutfitFull
- CurrentPortraitFileWithoutPostfix
- CurrentPortraitFileFull
By default, the "Final" variables above will match their respective "Full" versions. If the "Full" portrait file doesn't exist, but the "WithoutPostfix" one does, the "Final" variables will match the "WithoutPostfix" versions instead. Note that this checks specifically portrait files: I don't have any means to check the existence of an outfit from Content Patcher currently, so if you've turned portraits off, this functionality doesn't work and it will always match the "Full" version.
(If the description here doesn't match up to what you're seeing**, see the ---BUG REPORT--- section)
**Example of the way this might play out:
Your farmer is named Jane, and is currently wearing the outfit named "WhiteOveralls", it's your seasonal outfit for the current season. You have maternity and indoor postfixes enabled and default, and the farmer is currently indoors and pregnant.
Your CurrentOutfitWithoutPostfix is "WhiteOveralls".
Your CurrentOutfitFull is "WhiteOverallsInMat".
Your CurrentPortraitFileWithoutPostfix is "assets/Jane/portrait_WhiteOveralls.png"
Your CurrentPortraitFileFull is "assets/Jane/portrait_WhiteOverallsInMat.png".
Your CurrentOutfitFinal and CurrentPortraitFileFinal depend on whether you have the portrait_WhiteOverallsInMat.png file in the correct portrait.
If you do have the correct portrait but forgot to save the WhiteOverallsInMat Fashion Sense outfit, the game will attempt to load it and fail, leaving Jane in whatever outfit she was wearing (and actually loaded) before this failure (pajamas, mining outfit, the outdoor version of the same outfit), but displaying the WhiteOverallsInMat portrait for her correctly.
If you do have the correct outfit but didn't think you needed to save a separate potrait for maternity since all the differences are below chest level, but you do have the basic WhiteOveralls portrait saved correctly, the game will detect this and load the WhiteOveralls outfit and portrait without either the indoor or maternity variation, making Jane wear her hat indoors and fail to display the pregnancy.
In every situation, CurrentOutfitWithoutPostfix takes its content from another local token that ends in OutfitName (BaseOutfitName, EggFestivalOutfitName, WinterMiningOutfitName, CurrentSeasonalOutfitName, etc). By default, if nothing else matches, it takes from BaseOutfitName. If you're confused about why it contains what it does, look through those and find which one it matches.
All OutfitName variables that start with "Current" are calculated inside the mod, all OutfitName variables that don't are straight from the config. If the "Current[Something]OutfitName" that CurrentOutfit draws from is wrong (for example, the CurrentSeasonalOutfitName matches the WinterOutfitName and nothing else, and it is in fact spring in the game), that's a bug on my end (see the ---BUG REPORT--- section). However, if, for example, it turns out that your SpringOutfitName also contains the name of your winter outfit, that's the config error on your end and you can fix it easily.
RANDOMIZATION ADDON: all tokens that end in OutfitName can contain multiple outfit names now that the mod will then randomize between. These multiple outfit names go into the CurrentOutfitPreliminary token, then one out of them is randomly selected to go into the CurrentOutfitWithoutPostfix token.
**Example: Jane now has WhiteOveralls, YellowOveralls, BlueOveralls and PinkOveralls to choose from for her current season. Today randomization has landed on the yellow overalls for her.
Your SeasonalOutfitName is "WhiteOveralls, YellowOveralls, BlueOveralls, PinkOveralls".
Your CurrentOutfitPreliminary is "WhiteOveralls, YellowOveralls, BlueOveralls, PinkOveralls".
Your CurrentOutfitWithoutPostfix is "YellowOveralls".
And then it proceeds with the postfixes from there same as above.
Then there are the PajamaTime tokens.
- PajamasFrom
- PajamasUntil
are straight from the config and human readable;
- PajamaMorningtime
- PajamaEveningTime
are calculated inside the mod to translate the human readable version to the internal representation of time that the game uses. This representation is basically just the 24-hour clock without a : in the middle, i.e. 6:10am is 0610 and 5:20pm is 1720. The only difference is that it also extends into 24+ until 2550, which is 1:50 am. (So after 23:50 comes 24:00 then 24:10 and so on without rolling over until the farmer passes out at 2am.)
I have yet to run into any problems with these, but who knows, maybe I'll mess them up somehow in a future update or another mod messes with the time representation, so... this is where you want to go if your pajama pops up and disappears at wrong times I guess.
Finally, another set of variables that might be of interest is the mod compatibility ones:
- BathingLocations
- ModdedDesertLocations
- ModdedIslandLocations
- ModdedMiningLocations
- RainyWeatherList
The names are self-explanatory: these are the lists where I put - or you can, if you want - additional locations or weathers that call for a particular outfit. (The names aren't unified because I'm a jackass and can't decide which it should be. Maybe I'll fix this in a future version, or maybe it'll be like this forever. Not anyone's problem but mine) They should not cause any problems even if the mod that adds them is uninstalled, and you can add to the list freely in content.json. A location incorrectly added here might cause problems, so in case of emergency open the content.json file in the mod folder, search for "//modded weather" and read from there. (And report it on the mod page if it's something I messed up)
Everything else, besides ModId, is just your config. You can double check it in there instead of opening it separately if you want/need to.
---BUG REPORT---
If you came straight here without visiting the ---DEBUG--- section, dip in there and do steps 1-3, then come back.
4. You should have stuff in your SMAPI console now and a visible problem in-game. From this point and until you've completed step 8, don't restart the game. Maybe don't even close it. If you do restart, start the algorithm anew. You need the console log, and it gets erased every time the game starts up.
5. Screenshot the problem (with both the portrait and outfit visible) in-game. (There is a printscreen button on most keyboards I know of. On Windows 11 this calls up the Snipping tool, which lets you select an area of the screen then saves the result to the Screenshots folder in your Pictures library. Get the most recent file from there, that's your screenshot. If you're not on Windows and don't know how to screenshot in-game, I guess google it, there should be instructions and/or tools out there)
6. If you're using the portrait half of the mod, open the folder with your farmer's portraits and screenshot it too along with the address.
7. Upload these two (or more, if you want to point out more specific visible problems; repeat steps 2-5 as many times as you want) screenshots to imgur.com.
8. Open https://smapi.io/log and follow the instructions at the top to upload your log file on there.
9. Go to https://www.nexusmods.com/stardewvalley/mods/19503?tab=bugs and click the "report a bug" button.
10. Type in a short description of your problem, then link the screenshots on imgur and the log on smapi.io. To make my life slightly easier, when you're linking to imgur, instead of just copypasting the address of the whole post, click on the "share links" button on the image and get the BBcode one. Copypasting it into the bug report should make the image show up right in there. If this sounds too complicated or isn't working for you, just linking imgur is fine, you're good.
11. Pray I get to it soon >.>
Have fun playing Stardew Valley!
- your Liliet