#making-mods-general
1 messages · Page 452 of 1
You can load anywhere you like, but just load into Characters should be good enough.
sweet, thanks for your help :)
ty 
@next plaza: actually consider this (8h ago)
heh coding time
we figured out the glows btw. i had a space where i shouldn't. classic.
Hey so I have an s24 Galaxy and I've downloaded SMAPI Launcher, but my phone won't let me access any files through the app
I've tried to manually give the app permission, but there isn't even the option to do so
Here
!androidsmapi
We are not able to provide support if you run into trouble or compatibility issues with Android SMAPI; please use the discord linked on the Android SMAPI github.
IMPORTANT: This is a highly experimental build and may be prone to glitches, bugs, or incompatibilities. Please see the wiki instructions for more information regarding installing the unofficial Android port of SMAPI for Stardew Valley 1.6.
Do not harass mod authors to make Android specific compatibility patches.
Thank you!
hellooo is there a way to disable footstep noises for a character during an event?
i wasn't aware they even played by default lol. i assume you don't want music or ambient sound playing that could cover it up?
oh i have, but you can still hear them 🫠
it might be a charatcer-specific thing? krobus by default has footstep sounds
hmm lemme chekc character data
if nothing else, there shouldn't be footstep sounds if anyone walks on tiles without a valid Type property
(or maps with mine anywhere in the internal name)
nope not in character data
...I'm too lazy for that haha, good to know tho!
yeah, a full map swap might be a bit much, and I'm mostly just familiar with how it works for farmers
idk if this would work, but you could maybe find the audio cue for krobus' footsteps, and then conditionally replace that with a silent audio file?
I don't see any obvious krobus-related sound code or assets, and last I checked, all audio changes are permanent until game reload
it might be everyone, i'm just making events with them specifically so i notice theirs
aw :(
darn
great idea tho!!
does anyone have examples of an event with switchEvent I might use for reference?
just skimming vanilla, it's used in ElliottHouse, Forest, and SebastianRoom
Could a temporary sprite or animation help? Might be too much work for the value but its a loose idea ^^
uhhh what for? /gen
using a krobus lookalike sprite would presumably skip any footstep sounds
(though idk how much work is involved in those & it probably varies by script)
huhhhh interesting
..maybe later haha, I'll screenshot this and put in my mod doc for future reference
Yeah exactly! The issue is mostly moving the temp while timing the animation to look like normal walking ^^"
your capitalisation is inconsistent which could be causing issues
you have Arctic Summer Fox in some places but Arctic Summer fox in others
Thank you! I will see if that's the problem
@uncut viper Sorry for the ping, but I'm trying to use CMCT for my mod, but I'm a bit confused. I can only have my config section set as true or false for it to be able to work? I can't have multiple options?
Hm? You can read whatever config options you want with CMCT 
The mod page says nothing about needing the config to be a Boolean
What do you want to do with it?
Thank you ♥♥ That fixed it
I'm trying to make an article on how to use my saloon mod for other mod authors so they can have their NPC in the new area of the saloon.
I've been at this for the last few days
Might just make three separate mods if I can't figure it out
{{Spiderbuttons.CMCT/Config: RaffieJohn.ExtraSpaceSaloon, Saloon Basement Size}} Presumably this should work.
(Though I'm not sure about the config token having space in it.)
Spaces are fine
In short you can use Query to check what the config says, I'm not sure if it's exactly how you were suppose to use it, but it works for me 😅
"Query: '{{Spiderbuttons.CMCT/Config: Parrot.RomRas, Portrait Mode}}' = '12'": true
Will the bouncer respond after I've gotten the mod author role?
Oh? So does "12" mean portrait frame 12?
Nope, it's just the option in the config
(you can just do this:)
"When": {
"Spiderbuttons.CMCT/Config: Parrot.RomRas, Portrait Mode": "12"
}
You don't need to do query even. This would also work "Spiderbuttons.CMCT/Config: RaffieJohn.ExtraSpaceSaloon, Saloon Basement Size": "Large",
Oh, makes more sense 😅 No clue why I did it like that tbh
I'll add this to my article!
Just to make sure I also set this up as a DT for it to work or just having a when condition should be fine?
you dont need a dynamic token
also you dont need to set up anything in your mod at all, its only the other mod that needs to do anything to use CMCT
I know, I'm just trying to make an article on how to use my mod, since that has been the main topic in my comment section.
just making sure
Thank you everyone for the help! 
is there a guide for how to make custom maps?
!mapmaking
If you want to make mods that add or edit maps:
-
Use Tiled to edit .tmx or .tbin files.
-
Refer to the Maps wiki page for details on how maps work in Stardew Valley.
-
Content Patcher allows you to create custom locations through editing Data/Locations
-
Vanilla Maps can be edited via Content Patcher as well: EditMap
ty
Hello everyone. is it possible to use randomization with trigger actions?
what i want: when x trigger happens choose a random action or actions from a list of actions
possibly, but the {{Random}} token doesn't update that often (i think it's once a day?) so you may run into trouble there
yes, you can use the SYNCED_CHOICE gsq and If statements for actions
oh good a better answer
If SYNCED_CHOICE tick modid.mychoice 1 10 5 ## my 5th action
this one has 10 choices and this action is #5 on the list of choices
oof... will this work in content patcher or is this c#
what i just told you is the trigger action action format
do you understand how to make a list of actions within one trigger action
hey wait r u the guy who made cornucopia?
yup
in the Actions field you list each action in quotes seperated by commas right?
yes
but it executes them all
Use the format i gave you
if you're still not clear, look for SYNCED_CHOICE on the game state query wiki page and If on the trigger actions page
and if after that you're still stuck you'll have to explain which part exactly you dont understand lol
SYNCED_CHOICE tick modid.mychoice 1 10 5
this is choosing a number between 1-10 then saying true if the number is 5?
yup
where does tick come in?
so ideally if you have it to be 1-10, you would have 10 different choices for actions
tick is how often it updates
if it's day, then it will always be #5 on that day (if #5 is rolled)
if its tick, it will be a different number each time the trigger action is used
im confused on the list of actions part
the synched choice is an integer
relating to the position in the list
it doesnt relate to any position, you choose the number that goes there
if your 20th action in the list is written to be synced choice #1, it will be synced choice #1
and please spell it synced when you write your code
"Actions": [
"If SYNCED_CHOICE tick modid.mychoice 1 10 1 ## action 1 goes here",
"If SYNCED_CHOICE tick modid.mychoice 1 10 2 ## action 2 goes here",
"If SYNCED_CHOICE tick modid.mychoice 1 10 3 ## action 3 goes here",
"If SYNCED_CHOICE tick modid.mychoice 1 10 4 ## action 4 goes here",
"If SYNCED_CHOICE tick modid.mychoice 1 10 5 ## action 5 goes here",
...
]
because these all update on the tick, they will all choose the same random number between 1 and 10. so if they all choose 5, only the last action in this list will be true and will execute
OOOOOOHHHHHH
how would it look if i wanted it to do 3 of the actions on the list?
1 10 1+3+5?
no sorry. 1 10 1 3 5
dont know if you can make it choose multiple at random
how would I make more fish that you can catch?
stardew wik?
[[Modding:Fish_data]]
there we go
thank you
thanks for your help!
and thank you too!
Can do it with both. Content patcher is probably better though even though Jason assets had an update
You can make it do two more trigger actions (like whole trigger actions), but the 3 different actions may randomly choose the same outcome
k, is there a thing on cp github that explains?
@narrow owl You leveled up to Cowpoke. You can now speak in our voice channels and share images in all channels!
W
It's probably in the content patcher documentation itself
Last edited by AtlasVBot on 2025-09-13 18:56:18
Adding a new fish to the game has never been easier than in 1.6; nowadays, fish are a simple set of patches via Content Patcher. There are four required steps: you need to load sprite images, define the fish (as an item, and as a fish) and add it to locations. Optionally, you can add aquarium spri...
ty
that one is a bit more digestable then the modding:fish data
but ty both of u
I feel like i always get confused by the modding wiki tutorials
you should probably use both in conjunction with each other, since the official wiki explains things in more depth!
k yeah, im new to modding so just tryna find my way around
although i agree the official wiki page for fish specifically makes my head spin a bit
that's just because fish data is a bit fucky i think
~~ill admit i had trouble making fish and i actually just ended up using sve as a reference... ~~
yeah
Fish data is cursed
i was abt to use this: https://www.nexusmods.com/stardewvalley/mods/3578?tab=posts looks confusing af
Ah yeah that one might be too big
Also wth is discord doing to me
you're haunted
lol
Fish is easy its just a lot of steps. You gotta do the object, the fish, the locations data, the aquarium, and the fish pond
Each of these steps is simple theres just like 5 of them
Hmmm are there any framework mods to disable specific wallpapers from showing up in the main wallpaper catalogue
IIRC it's hardcoded for the vanilla ones
not that i know of, but if you check the Data/Shops:Catalogue entry you'll notice ItemId is filtered to items marked isRandomSale with a PerItemCondition that excludes a number of specific IDs
i'm not sure if you can set the randomsale flag on WP items, but you could maybe textoperations your way into the condition and pray there's no conflicts. hardly ideal
How does the wizard special wallpaper worj
In before there isnt a wizard special wallpaper
Oh hm, that makes sense. Why did I think it was c#'d
i believe they're excluded in the PerItemCondition on Catalogue, and then added to WizardFurnitureCatalogue:Items
it likely was c# before the Data/Shops model was introduced. you're just old is all
The reason I asked is because I've been looking into possibly moving away from the vanilla GetShopStock method since it's not incremental
The rare catalogues were added in 1.6 as well, so there wouldn't be a need to remove walls from the catalogue prior to shop data
Right now this is a huge bottleneck since it intantiates literally thousands of items all at once on heavily modded games, and I don't think I can offthread it because I'm 90% sure that would explode
Just when my ankle healed I pull my shoulder out of the socket
I am old
this exercise thing seems very bad for your health
I'd like to be not injured
New quote added by atravita as #6702 (https://discordapp.com/channels/137344473976799233/156109690059751424/1431126164830818439)
Bluebs what would you suggest i do instead
Note that I get very depressed if I dont exercise
depends. how many ankles do you have left
do fitness() while (ankles > 0.5f)
Do fitness until I have less than 0.5 ankle.
well if you wanted the pseudocode then yeah 
switch to core exercises until you hurt your back 
(if that's the right term, I just jog)
i think atra needs the pseudoephedrine not the pseudocode
Tylenol would be great
hi guys, is there anyway to spawn a torch item with light on?
Hmmm, how do I add text to a shop without a portrait?
From c#?
I guess what I'm asking is what do you mean by "spawn" here? What is the context
I wanted to spawn a candle item in a map I made.
can I do that without c#?
with lights on
Are you trying to create it as forage? Or a permanent map fixture? Or just place a torch when a save is created?
I used FTM to spawn it as forage
Do you have it correctly tagged as a torch item?
IE does the item give off light when you place it down yourself
Then that sounds like a big with how FTM handles spawning. You should report it.
Do you need FTM? Is there a reason you can't use location data forage rules?
Those should handle it correctly I think
It's okay! Questions are why this channel is here!
Gotta learn somehow, and it's not like there's a bootcamp for stardew modding
thank you so much for helping me 
If location forage rules don't correctly do torch spawns, you will need c# to handle it. (Though please let me know either way w/ ping)
Setting the portrait to a blank string (not null) will disable the portrait:
"Portrait": ""
I did that but it didn't seem to work. Maybe I'm missing other information I need to add in
{
"Portrait": "",
"Dialogues": [
{
"Id": "Lemurkat.EastScarp.Fundraising",
"Dialogue": "{{i18n:Fundraising.dialogue}}"
}
]
}
],...```
You still need the Name field, it's not optional. You can set it to "AnyOrNone" if you don't need a particular NPC to be present.
For some reason my game keeps crashing using smapi on android
!androidsmapi
We are not able to provide support if you run into trouble or compatibility issues with Android SMAPI; please use the discord linked on the Android SMAPI github.
IMPORTANT: This is a highly experimental build and may be prone to glitches, bugs, or incompatibilities. Please see the wiki instructions for more information regarding installing the unofficial Android port of SMAPI for Stardew Valley 1.6.
Do not harass mod authors to make Android specific compatibility patches.
Oh hm, the text changed
Basically the tldr is that android stardew has different code than desktop stardew and it makes mods explode sometimes
Ok thank you
fwiw, this was reported recently; torch_items only turn into the Torch class during placementAction or some such method, which FTM doesn't use yet
I'm about 90% sure the vanilla forage system doesn't do that either, but yeah, worth checking
If not I'm probably going to put that on the 6.16 alpha wishlist if possible
Not using placementAction which I'm sure would have bizarre side effects, but having a carve-out for torches
it could probably use better handling, there were several edge cases of varying weirdness alongside that
but yeah, refactoring the placement logic would be 1.7 territory from the sound of it, it's complicated
Tbh not having a reliable way to turn objects into functional versions has been annoying the hell out of me with a few of my projects. So far my approach is to call placementAction and then just try my best to do cleanup
Not great but seems to sort of work
yeah, I'll need to figure out which edge cases to squish into FTM from that manually
since it sometimes places and sometimes doesn't
And sometimes the thing is a regular object and sometimes it's a subclass
Tbh I do not remember how I handled it in mus and I will simply prey it does not break
It worked! now I can spawn candles, thank you again 
Stardew RPG has been update for 1.6, it might even work as intended!
https://www.nexusmods.com/stardewvalley/mods/11132
Hello, I'm making a custom farmhouse. When I add map properties, if I use wall_2 and floor_2, should I use <index> or <tilesheet>:<index>, considering those are vanilla tilesheets? Does the index continue from walls_and_floors or start again at 0? And does the <area ID> (the one uniquely identifies the area or room) need to be loaded or the game just reads the tmx file and knows which room is which?
So if you look at the additional walls and floors data file it creates an entry. I want to say it’s “morewalls” but I’m not looking at it.
If you’re setting the default wallpaper to something on that tile sheet it would be Morewalls:<index> and yes it starts over at 0 on the new sheet
Thank you very much 
Good luck with your farmhouse. Farmhouse is haunted.
Uh yeah? Where else do you expect grandpa to stay (silly)
Hey everyone, I need your advice. I'm making a mod that needs to add a button to each save slot in LoadGameMenu. Is patching LoadGameMenu with Harmony the best option, or are there other options?
if you're able to feasibly do so you can also just draw your own buttons on the screen overtop the menu using SMAPI's render events
but it's probably not too bad to just postfix the menu's draw and click/hover functions
what are you adding there btw?
(asking because: 1. i've already done something like that in my Kokoro mod, not that i maintain it anymore, and 2. at this point you don't have any save data loaded, so if you want to display any cool data, you have to store it yourself, separately from the actual save files)
i guess i'll just ping, since it was a while ago: @finite viper
To be specific the only data available is hosts Game1.player instance
In detail, the button will compare the client's loaded mods with the data from the save (json-file in save directory)
so exactly what Kokoro does
I'm not sure if a similar mod exists, but I'm making my own.(Oh, ok)
My laptop's hard drive died and I lost my mod collection.
What do I do if I don't get a response?
A response for...?
[Content Patcher] Can't apply data patch "SNES Dogs of The SNES > AHM Include > Data/AHMdata.json > EditData Data/Machines > entry #1" to Data/Machines: failed converting entry to the expected type 'StardewValley.GameData.Machines.MachineData': Error converting value {null} to type 'System.Single'. Path 'WorkingEffectChance'..
what am i missing here
probably a comma or somethin
oh i guess effect chance has to actually be numbers oops
ah good altered a pixel offset then reverted it and now my game hangs at black, rad
Hmm, I just thought of a further feature that people might find interesting (though unsure if it would be usable for CP mods).
What if you could also opt in certain options so that a copy is synced for everyone?
First example that comes to find: for the mod that lets you set your own pronouns, mods could then fetch the pronouns of any connected player who also has the mod
or a "dibs on spouse" mod that uses GMCM to let players select an NPC and then shows who selected which NPC(s) to other players
That becomes really easy with the "NPC picker" widget I have planned.
You know, part of me thinks that both of these should be a SMAPI thing, but I'm not sure @ivory plume is even interested in having networked synced configs / per player configs (ones accessible by everyone connected) in base SMAPI. It would work much better if it was base SMAPI though (since it could properly handle stuff like not saving per-player values to config.json when you are a farmhand)
Like for the per farmer configs, the default values for a new save could copy the values from the global config or something.
(Although I guess it could be handled from a mod via some harmony patching SMAPI...)
For that matter I also wish all the config files were in a separate folder and not part of their parent mod folder
{
"Format": "2.4.0",
"Changes": [
{
"Action": "EditImage",
"Target": "Characters/Haley",
"FromFile": "assets/Haley.png"
},
{
"Action": "EditImage",
"Target": "Portraits/Haley_Port",
"FromFile": "assets/Haley_Port.png"
},
{
]
}
uhhhh i think i fucked up my json
{
"Format": "2.4.0",
"Changes": [
{
"Action": "EditImage",
"Target": "Characters/Haley",
"FromFile": "assets/Haley.png"
},
{
"Action": "EditImage",
"Target": "Portraits/Haley_Port",
"FromFile": "assets/Haley_Port.png"
}
]
}
does this work?
oh wait
so basically i just need to change it to 2.8.0
there isn't a vanilla pattern of _Port afaik
but the sprite edit would work fine assuming there isn't an appearance entry being applied instead
oh yeah i should change that actually
I agree
helloo is there a way to get spouses/roommates to NOT murder any monsters in the farmhouse? i changed krobus's Spouse_MonstersInHouse dialog but i think they would still kill the monsters-
okay more questions- i wanna change the way void ghost pendants can be obtained, how can i make sure I'm editing only the field related to the void pendant trade in Data/Shops? here's what I have:
after entries is the copy-pasted data for that specific trade from Data/Shops
looks hardcoded, and I haven't personally seen any mention of it in frameworks
aw alr, thanks for the info 
(also I guess it uses Strings\\Locations:FarmHouse_SpouseAttacked if monsters run into them, if you wanted to edit that too
)
HMMM i'll look at that ty 
but yeah, the damage and relationship change aren't really contingent on anything
I think that's correct if you use the "Id" for the ghost pendant entry, e.g. here
(not a CP expert though)
"TargetField": [
"DesertTrade",
"Items"
],
"Entries": {
"(O)808": null /* or {settings} if you just want to replace it */
}```
oh- and uh here's the entry for that trade
769 is Void Essence rather than the pendant, afaict
...oh, nvm, misread that
if you want to change that specific part, you'd target the 808 ID and then use Fields instead of Entries, I think
yeah, CP generally looks for just "Id" when targeting stuff in lists
"TargetField": [
"DesertTrade",
"Items"
],
"Fields": {
"(O)808": {
"TradeItemId": "(O)Something_Else"
}
}```
Gotcha, the issue is most of these trade things are just identical 
gotcha, tysm!
hi peoples. where can i find drop tables for chests, mystery boxes, etc? i really would like to just copy and paste it into my CP mod instead of building it from scratch
Chests?
dang
Hey I'm developing an stardew mod that ports all of the pokemons available from PMD sprite repository as farmers in stardew, it's practically finished
but I have one issue
Fashion sense doesn't like too much having 5000 bodies in their folder
10 gb vram
somebody know if there is a way to tell fashion sense to not load all sprites at the start and load them when they are used?
(if not possible I can still cut the pokemon sprites by almost an half, as there many alt versions)
maybe make alt versions into CP patches with config so that only one is loaded at a time?
That, or make several fashion sense pack
Like, by pokemon types for examples?
hey! even more questions lol, how should I format the TargetField for adding special movie reactions for specific NPCs? this is what I have alongside the OG data
ik I'm doing it wrong but idk how to fix that 
Hi! I was reading this bit of the SV wiki but I don't understand everything it explains:
https://stardewvalleywiki.com/Modding:Game_state_queries#Queries_versus_Content_Patcher_conditions
... the resulting changes are written once to the asset. Then there's no performance impact after the asset edit, since it's just plain unconditional data. However the asset is reloaded when patches are added/removed, which may impact performance if they change often in some cases.
afaik it effectively means that CP When conditions don't lag the game as much as game state queries
here's the CP guide: https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/tokens.md#global-tokens
generally yes; game state queries aren't ever really cached (saved for quicker re-checks) after you use them, so they tend to be slower if they need to be looked at regularly
that said, whenever a CP patch needs to change something, the entire file & any patches on it need to be reloaded
so for example, if you're editing Data/Objects with TimeChanged update rates or something, it might take a while to re-apply everyone's patches
the guide's thing on When conditions:
what does regularly mean in this context? in the next paragraph it is stated that
On the other hand, game state queries are faster in cases where the conditions are checked rarely and doing so avoids reloading textures or maps (like Appearance in Data/Characters
afaik appearances are evaluated when the npc changes location
regularly as in frequently, e.g. trigger actions might check GSQs when time changes or players warp, etc
it really depends on context
thanks! i'll take a look
Hey yall i got a noob question. I was playing with nature in the valley a lot and its one of my fav mods. I was wondering if there was some way to 'net' a creature spawned by custom companions or a vanilla bird/butterfly
Like player uses net on a creature added by cc or a vanilla butterfly
Then it 'despawns' and nature in the valley is invoked to act as if a creature is captured. Like i could create an entry for a creature collected and all the details required for donating/making terrariums, but the actual spawning isnt done by nitv and action isnt taken on a creature added by nitv
Sorry if I am misunderstanding everything, I know all 3 of these types of creatures spawned are not the same (I think cc spawns them as villagers and nitv has its own thing too) but if theres even a hacky way to do this id love some insight i cant stop thinking about this haha
Like itd be fun if i could use net on vanilla butterflies
Or even something like using net on some birds spawned by vanilla or CC or bird guild and acquiring feathers (not full bird)!
for the most part, if the game has a "Condition" field somewhere, you can use that without worrying too much
modded trigger actions and such tend to be where GSQs get complicated
i saw some complaints about performance in the mod that i'm patching up so i really wanted to get this right
ooh what mod is it? if you don't mind me asking
np! its the Seasonal Outfits - Slightly Cuter Aesthetic
after fixing some bugs i decided to tackle the performance issue
huh, i didn't know it wasn't up to date, nice you're patching it tho!
just wanted to check you got the OG modder's consent?
to put an example: for winter indoor and outdoor outfits, it would be better to use an extra appearance with the Outdoors: true that overrides the vanilla NPC_Winter outfit when it goes outside than constantly changing the NPC_Winter outfit since that would edit the asset constantly
afaik, CP specifically handles that asset by treating "NPCName" as the entry key, so maybe like this?
"TargetField": [
"Krobus",
"Reactions"
],
"Entries": {
"spring_movie_1": {
/* your new(?) entry stuff */
}
}```
alr! tysm for all your help 
doesn't it already use Appearance? are you accidentally using the "improved performance" version that makes it not do that?
i believe it does that already yes, just trying to understand why is it done that way and not the other
i'm not sure i will publish it, it started as a way to get into modding with content patcher
i'll definetly ask the owner if i ever decide to release tho
using appearance is probably better, in that reloading images is probably slower than checking appearance conditions, but tbh this gets into "you should find a way to test this" territory
(which can be difficult without a slow PC or C# timers)
there's enough optimization stuff in CP that it's hard to guess what'll slow down
Personally, I definitely got less performance issues after SCA switched to Appearance system.
i found a profiler mod that measures the times taken for each patch but tbh i don't know how to use it or how should i properly test this other than loading a save a performing the same actions with/without code changes
yeah, I'm not familiar with setting that up for CP-related checks, though SinZ might be able to help in the thread for it?
#1359454014319755294
i have heard both sides of the arguments, some say it works better and others complain about it loading too many assets
not sure what to listen to xd
there can be issues due to limited memory vs CPU load, etc, and people's mod sets can be wildly different
alr i got more questions haha, if I wanna add multiple entries under this, how should I separate them? Should I just make more actions thingies? reference for how they originally look
well if you're using the setup I posted earlier, you wouldn't want a Reactions list; it'd be something like this
"TargetField": [
"Krobus",
"Reactions"
],
"Entries": {
"reaction_0": {
"Tag": "fall_movie_0",
//etc
},
"reaction_1": {
"Tag": "*",
//etc
},
}```
the target field stuff zooms in on Krobus's reactions list, so each entry is inside that
i just noticed Sinz is the author of the profiler mod i used
i'll check out the thread, thank you!
OHHH alr ty 
still a bit confused but I'll check here later when i need to haha
PS in case anyone else is interested in decorating with light sources, FTM v1.26 is out 
- adds an "is on" setting for BC/furniture with lights or other toggles
- fixes torches and other
torch_itemthings spawning with broken animations/lights
would I be able to add custom reactions here?
I'm not really familiar with the asset, but you can add new entries or replace existing ones with that same method, yeah
using an existing ID will overwrite them, and including new ones will add them
gotcha! should work pretty similarly to default then
I'd like to create a custom NPC where becoming partners requires a another different item instead of bouquet, and proposing requires a different item instead of the Mermaid's Pendant. Additionally, I need to know how to remove this character's wedding event.
If this isn't possible, could someone can guide me on how to make a "roommate" NPC like Krobus as an alternative?
lists are a bit weird in CP, but that mostly means they have special rules for choosing their order; add/remove should be similar to anything else
uploads 1000 mods for each pokemon to nexus
I will upload 3 versions, one with only the pokemons no shinnys or any variation, other one with the minimum variations (base + shinny+ regional) and another one with full sprites which is the one in the video
hey! I'm very much a beginner but it does sound vaguely possible to me, ik you can interact with custom companions, maybe in the interaction script you could trigger getting an item and them like despawn the companion? again not familiar with CC or even just CP, but the idea sounds possible, really complex tho!
I think that will suffice
still I have the knowledge to edit fashion sense some day, I only need time
If I can manage to make a mode that loads the assets in place, my mod can be used with all sprites without any issue in any computer
No, you can put everything in one CP mod
thats true ive seen the docs for cc for speaking with spawned creatures, maybe i can use that as a trigger for some things
it sounds possible! there are specific tags that the void ghost pendant has that allows it to roommate krobus, but as a shortcut BETAS has a relationship change trigger action that you might be able to set up to run when the item is gifted!
wonder if there exists a trigger along the lines of 'use net/tool on villager'
ah nice! i could see if that could be extended to the net
Would anyone be willing to take a look at my attempts to add pond colors to some mod legendary fish and help me figure out why it's not working?
In the base mod, the fish have no context tags, so I added them (so they would filter into the vanilla LegendaryFish Pond data) but... no amount of patch reload + resetting and refilling the ponds will make the colors happen
maybe! def sounds hard tho
I was wondering if there might be a concrete example or template for this method? I'm finding it a bit difficult to visualize from the description alone. Thank you for your help!
(the context tags change IS taking effect, because the max population of the pond drops to 1 after reset)
ofc! uhh. i have an event where i use BETAS to trigger Krobus moving in, I could send bits of the script to you, but that's an event and not an item being gifted
I think you need MoveEntries to move your water color entries to the top and avoid the fallback entry
BUT spacecore has something to trigger an event upon an item being gifted, AND there's a way to put specific dialog when a certain item is gifted, and maybe you could put a $action in that gift dialog
Oh I'll try that, thank you
Ok!I will check it!thanks!
is it alr if I try to write it for you? it seems simple enough
Unfortunately did not work (confirmed with a patch export that the MoveEntries took effect as desired)
not to be too glib but i am so far gone on my current "this seems simple enough" so be careful /lh
Yes! Thank you so much!
just checking, do you want them to be roommates or spouses?
spouses is best,the roommates is an alternative
do you have your files set up yet?
forgot to @ you lol
we shall see 😭
I have a mod currently in development. If you send me the file, I should be able to integrate it into my project for testing.
i'll just send you the code here, it's pretty small
also got no clue how to do the wedding thing
okay
Hi so jumping back to this I have edited the file to my liking. It shows up in the store the exterior shows up how i want it to. However i cannot enter the building and it hosts a ton of errors in smapi that are all related to missing assets and my game panic. I have a folder in my assets with the tilesheets png but it seems to want the tsx files that i used in tiled .How do i go about fixing this. I did embed the tilesets in tiled and i thought that would fix it.
alr here it iss, make sure to delete all of these guys < >, those are just there to indicate where to put your stuffs!:
{
"Action": "EditData",
"Target": "Characters/Dialogue/<custom npc id>",
"When": {
<criteria to accept dating>
},
"Entries": {
"AcceptGift_(O)<custom dating item id>": "<acceptance dialog>#$action Spiderbuttons.BETAS_ChangeRelationship <custom npc id> Dating"
}
},
{
"Action": "EditData",
"Target": "Characters/Dialogue/<custom npc id>",
"When": {
<criteria to accept marriage>
},
"Entries": {
"AcceptGift_(O)<custom proposal item id>": "<acceptance dialog>#$action Spiderbuttons.BETAS_ChangeRelationship <custom npc id> Engaged false 3"
}
},
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/tokens.md#global-tokens just search for 'when' on here to find out how to do the criteria :)
also if i got this wrong someone pls tell me
okay!thank you so much!
ofc! glad I could help out 
Turns out testing pond colors is hard because you have to sleep for them to take effect 
!howtovc
Hello! If you are a new member to this server, please read this informative message about how to be able to speak or stream in voice channels!
• In order to speak/unmute/stream, you must be level 5!
• In order to reach level 5, you must chat in any text-channels! Each time you talk/chat you will gain exp.
• When you reach level 5, you will receive a message that you have obtained the Cowpoke role!
To check your current level, head on over to #governors-mansion and type the command: /lvl. This will display your current level and your exp bar. Thank you for reading!
Sorry I was dumb, what I should fill in for the <criteria to accept dating> and <criteria to accept marriage> fields?
No worries! I mentioned it below the code lol
post your code again?
also just in case can you post the patch export as well
OH or do you mean like gameplay-wise?
Cause in bg it’s 8 hearts for dating, 10 hearts and house upgrade for marriage
Ah thank you, but it turns out it was working -- just wouldn't change until after a sleep.
Excuse me, does this code remove the vanilla dating (via bouquet) and engagement (via Mermaid's Pendant) requirements? If not, could you please guide me on how to disable these two features?
Nope, but you might be able to use the reject gift things mentioned in the dialog page of the wiki!
I’m sure there’s some command to bring it up
Cannot find it-
Welp, go on the SDV wiki and search for dialogue, then make sure the modding topic thing is enabled under advanced
On mobile so I can’t pull it up 
Sorry It's 2:30 AM here because of the time difference. I'll @ you in 6 or 7 hours if I can wake up. I need to get some sleep now. Catch you later!
I know I already said I agree, but I also double agree so it's easier to update mods without having to like, move the config to a different spot. delete the mod folder. put in the new stuff. move config back in. Gets tiring after a while.
hello can someone check my work here:
"ItemId": "RANDOM_ITEMS (O)",
"PerItemCondition": "ITEM_CATEGORY Target -96, !ItemID 526 523",
this should choose random items in ring category but not ones with the id 526 or 523. yes?
that's not how you format the ITEM_ID condition
just save me a severe headache
!ITEM_ID Target 526 523 should do it
can anyone quickly tell me what index 2 is from the haseenevent condition? I edited hatmouse for some hats and i think i did it wong since i get this and the CP git doest really say much besides "The event IDs seen by the current or specified player, matching IDs in the Data/Events files."
[game] Failed parsing condition 'PLAYER_HAS_SEEN_EVENT VoidWitchCult.CP.TheFishmongerNPC_Introduction': required index 2 (string eventId) not found (list has indexes 0 through 1).
awesome thanks! Figured it would be something like that
you likely are missing the player argument
usually player GSQ requires a host/any/current/whatever

oh damn you right...
thats what I get for doing the shop edit a long time ago before finishing all events fgdf
Hey guys hypothetically if one were to be making a UI Interface mod and this is her very first mod... how do i edit the main page...
have you had a look at how other UI mods do it?
I cant really find any :[
you can't find any UI mods?
Like i find the ui mods but i dont understand how they go in and edit it if that makes sense?
Idk im very very new
the basic answer is that changing the texture (colour, image, etc) of things is easy, changing the layout (size, positioning) would require c#
!startmodding
Making mods can be broadly divided into two categories:
- Content packs are formatted text files, and don't need any programming knowledge. They can add/edit NPCs, maps, new items, shops, and more. To get started, see the list of framework mods, the wiki tutorial for Content Patcher, and there might be relevant guides on the tutorial wiki.
- C# mods use programming code to change fundamental game mechanics. See getting started with C# modding.
Usually it’s easier to start with making content packs, since you don't need to learn programming.
they use Content Patcher
Thank youuu !! Sorry again !
no need to be sorry!
you will need an understanding of how Content Patcher works in order to make it, so i would start by reading that wiki tutorial for CP and also the Content Patcher documentation it links you to
emphasis on "please read the documentation too" as the wiki does not have all the information and is not supposed to
the Content Patcher documentation on github is your primary source
Thats what i was gonna start doing! So if I'm just recoloring and like adding things (i want to make a fall/rustic interface) i dont need #c ... right?
recolouring needs no C#, no
Thank gosh
adding elements that did not previously exist, yes
(to clarify, adding UI elements. if you meant new things like items, those are easy)
Yeah, kinda just like adding little pumpkins and leaves .. and maybe changing the cursor but mostly focusing on recoloring
if theyre within the bounds of the existing texture you can just draw them as part of the UI texture
Oh cool!!!
but likely wont be able to make them go beyond the edges of where the existing UI goes
and it depends on what exactly the UI piece you are editing is
Yeah! So if they go beyone the edge, that would need #c?
if the game only draws a 20 pixel wide by 30 pixel tall section of a texture, for example, then you cannot edit anything outside that 20 x 30 texture space
to do that you would need C# to change the UI drawing code itself
I see!!!
Anybody know if there's a way to get Rider to be able to debug SDV? Doesn't work at all for me, and I see I'm not the only one: https://youtrack.jetbrains.com/issue/RIDER-112901
I can debug fine with vscode, but would rather be in Rider.
^^ Forgot to say I'm in Linux
My guess is that it's to do with the steam container
Yeah... C# mods don't normally come with a config.json I think (if using the modbuildconfig packaged zip), but for CP mods - or on Mac, since replacing a folder deletes everything and then pastes, instead of merging - it can be really annoying, for sure.
has anyone heard of the arena mod?
Does the light path layer tile just not work in spouse rooms at all?
hmm, my AHM treats are giving animals full hearts immediately
the hearts are supposed to be the friendship, not their mood, right?
friendship yes
the heart increase is proportional to the treat price/sell price ratio, so if a treat is giving too much hearts the animal sell price's probably too cheap
odd that it wouldn't just be an editible value but hm
well it's like that for balancing reasons (a treat should always increase an animal's sell price more than the price you would have gotten from just shipping the item)
balance hasn't been my strong suit for sure
looks like all my stuff is currently set to 4000 to buy, 800 to sell
maye that's too cheap
might be because my animals are set up in such a way that there's a base one and then several alternate purchase types who are set to -1 price?
maybe i should just break them up into separate purchases hm
you can still set the sell price of alt purchases without purchase prices
ah i see what you mean, ok
3000 / 2000 makes treats give two full hearts still but that's better than maxing out
ok i think i've got it to give half a heart now
How do I get permissions to post aout a MOD in mod-showcase? I am listed in the Wiki as a MOD developer from back in the day.
I'd guess it doesn't; the game's built-in map patch timing tends to be incompatible with some features. You might need to try conditionally editing the Light map property on the farmhouse instead.
I see I need to read the PIN... let me do that. Thanks
you're orange so you still have perms
Sorry if this is the wrong way to do it. Forgive me as it has been several years...
The original Junk Mail MOD is back and better than ever. Updated for 1.6.
too tired to do balance work i think, nap time
Man that was fun, and no where near what I thought I was in for. However, that MOD only messes with mail. No graphic manipulations. Now to update the next old MOD.
fishing trawler perhaps?
I think you mistook who the author was?
also last I checked it still works, graphical issues at the docks notwithstanding
i can't find it on the cp docs (maybe i missed it) but how would you do like an auto mod check thing but when said condition is false? like "When": "HasMod" but when you dont have the mod

sorry if that sentence was a jumble.
like theoretically i know how to do it but i can't remember the right way to do it exactly
"HasMod|contains=modid": false
thank you discord user six four eight zero
not really
Maybe just coincidence then
or i randomly picked it up via internet lingo osmosis 😅
Also likely
Tumblr is weird bc it's not that popular in and of itself, but it still has really strong background influence on the rest of the internet
does anyone know where the hell to find info on rock hit points?
I just want to make my thing take three hits to break with a normal pick
actually, maybe 5
Uh, object.performToolAction or whatever it's called
The god method for using tools on things
At least I think that's where it is
It's somewhere in the object spaghetti that much I know
Objects have a field for hitpoints
Is it bad i thought of real spaghetti at first
float power = Math.Max(1f, (float)(t.upgradeLevel.Value + 1) * 0.75f); this is the formula for how much damage it'll do to the rock, at least, i think
if basic rocks are resourceclumps then i think they have a health of 1? idk dont quote me 100% on that
New quote added by atravita as #6706 (https://discordapp.com/channels/137344473976799233/156109690059751424/1431497287355338865)
ok, i think i got it
outsmarted by a bot
Basic rocks are objects IIRC. Only big rocks are clumps
also updated water to work with the lava in the volcano
Is there an option to cause the NPC to change their appearance for their new location when I have warped them using the console?
Like, a debug key.
Neat
At work wishing I was modding as usual smdh
Time to overthink what I wanna do when I get home on a loop
(CONTENT PATCHER QUESTION)
For the "Spouse" token, does it check for the spouse of ONLY the player having a content.json file with a "When" condition featuring this token or ANY player in MP?
If it is the former, how can I change the "Spouse" condition so that it targets ANY player with a particular spouse (or spouses)?
For that, you use the context: thing to say what player.
An on my phone, about to go to bed, but, PolyamorySweet’s content patcher file has an example of this in the main file somewhere.
Was going to try to find the content patcher documentation for it, but it’s not workiny on my phone either. It’s like
When:
“player: current” : true
That’s not the exact pf it, but hopefully it can make it so that you might fond that which you need
Yeah there's stuff for like current player, any player somewhere that would probably do what you are trying
And I suppose without poly going the spouse itself would limit it to a particular player? Unless you can double marry in vanilla
Sounds a bit tricky tho yeah
Hi, I was wondering if it's possible to add something like a mostly transparent overlay that would work more or less like the weather particles and would always stay, at least outdoors? I'm hoping to make a recolor inspired by silent hill and thought it would be fun to add some fog, maybe something similar to the overlay the green rain day has but gray
so the way that SVE does fog is that its a literal layer of map tiles put over everything, which can be a mess for compat especially if this is intended everywhere, however Cloudy Skies is a weather type framework and would be able to do custom weather types like that
Hmm looked it up and sounds like Cloudy Skies could work for this! Thank you! :D
It would definitely be really unique and eyecatching if you did that, especially if you had like different fog types that changed with the seasons
MEEP will do map parallax stuff... eventually. 
ouhhjjj
I have poly -
My use case is:
For my custom IUCT fork, I now want to have the fork to detect if ANY player (not just the host or current playing having the fork installed) is married to the Wizard (or Krobus/Sen/whoever I am planning to add custom children dialogue).
To be exact:
One player (regardless of being the host player or a farmhand) is married to any particular spouse (both vanilla and modded) - and their children would have unique dialogue - And ONLY the children of the player marrying that spouse have the dialogue
(E.g. Host married Sebastian, but a farmhand marries Kenneth (RSV) and there are unique IUCT lines for Kenneth's children - so by that logic, only the "Kenneth's spouse" player's children would have the unique lines)
Ah yeah that makes sense
So, is only the "Spouse" token enough for the use case I've just mentioned - Or there needs to be additional step (s)?
Yeah I really don't know myself
This mod gives kids a unique id so that their true parent is tracked and you just edit their Characters/Dialogue/<kidid> no tokens required
It would probably not work that good in an existing save though, unless you dove all your kids before install
Also gotta actually make the content pack
I was not asking about this mod though - I mean asking for how the "Spouse" token works and its scope in MP
you mean I gotta make a mod for the mod to work? Dang
I suppose for that case maybe it just works fine?
So for mp the Spouse token should return your (primary) spouse
It's checking who their NPC parent is so the players shouldn't really matter?
it doesn't know anything about the kid you are speaking too
Not that - I mean, should it detect the active player (the one having a mod where this token is checked)'s spouse (s) or only the host player (if the token is used in a condition alone)?
I think it would do host if you said host and any if you said any? Maybe I misunderstand
Some tokens have this feature
But the default is the local player pretty sure (Game1.player)
For UCT + poly cases it's a problem because there's no knowledge of which npc parent this kid is associated with
So you get the kid dialogue for any kid i think
So far, it is just only me marrying the Wizard (via SVE + RRRR) - So the dialogue works fine (I have only add generic dialogue for children from existing marriage - Wizard-specific children will be added later (identifiable by an editable name in the config.json file))
But in MP, it would be "odd" if any player's children (regardless of who they marry) say the same things about the Wizard.
I need to make it so that the IUCT fork would check for whether the current player (especially in MP contexts) is the Wizard / whoever I am planning to add special children dialogue later on
Yeah like i said it's not a problem the spouse token can perfectly solve i feel 
The edge case there is mainly when you talk to a farmhand's children though (i.e. a child whose parent is not supposed to be the wizard)
If you just dont do that then it's probably fine 
What about how to use these to do my use case?
If u wanted to just know any player is married to wizard u can try the anyPlayer arg
Rmbr u can patch parse "{{tokenwhatever}}" to test things
What about using unique player IDs (the player installing the mod can try to get the ID and plop it into the slot for that in the content.json)?
I'm not sure if there's a point there
And idk if i would expect average player to be able to find this value from the save file
Try n see if it works for your personal desires at least 
what about checking for children’s names?
Would the “ChildName” token accepts lists?
Do you want a condition like
(For example, using a mod modifying the children limit, a player can have more than 2 children with a particular spouse (or a number of spouses) - So if the condition check runs through a “ChildName” token check - Would it accept list results (e.g. entering a list of names to that token, and it checks for any children with any of those names + the current player’s spouse being any NPC I want to add custom UCT child dialogue)
I mean an “AND” case
Checking a list of child names AND if the current player is married to a particular spouse
You can check if it contains a certain name but idk if you can do intersect conveniently
The "list of children name" is OR
Not even talking about the spouse name yet 
Child names and spouse name: are OR checks - I mean to stack those altogether
Well anyways I think in a When block if you do "ChildNames": "name1, name2" in a when block, it'll check for any in the comma separated list
And if u want it to be config then sure use config token instead of literal "name1, name2"
Lemme try to clarify:
The “When” conditional check checks for 2 things:
- A list of children’s names
- A list of spouses for the current player
So the logic would be:
- It would first check if any of current player’s children have certain names as written in the token (e.g. If the player’s 2 children with (let’s say) Shane are named “Mandy” and “Grim” - The mod would check if any of that player’s children are named as such)
- Then, the conditional block would check for the current player’s spouse.
If both checks return true (i.e. the current player (regardless of host or not) is married to (e.g.) Shane AND they have children named (e.g.) Mandy and Grim) - Then these children would have unique dialogue
Regardless of whether I use config tokens or not - How should I do the conditional loop handling this?
stardew has informed me i've started the game 1000 times
they should add counters for 10000 and 100000, i think those would be more accurate
Ah, but that feature is for players.
If it were designed for modders it would definitely be much higher
As anyone who has a modder friend on Steam who hadn’t hidden their “___ is now playing ___” statuses can attest
Lol my flatmate came to check on me one day because they got the Steam notification that I had started Stardew so many times they got worried about what was happening to me
I have disabled steam notifications
Also frankly I have like three friends in steam and all are in the stardew modding community
(can confirm)
So, flow chart (maybe):
Game check for current player’s status -> Goes through a list of names for children born of certain spouses (list for children’s names can have up to 12 names based on my PolySweet child limit) -> Checks if this player have children bearing any name in the list -> (1)
(1) is true (player has children with any or all of those names) -> Checks for said player’s spouse -> (2)
(2) is true (player is married to specific spouses (e.g. Wizard, Kenneth, Jio, etc.)) -> Their children with that spouse whose names are listed in the checks leading up to (1) above will have unique dialogue.
Otherwise, the children will use IUCT default dialogue instead
you cannot do loops like that in CP
you can only check for every name at once and every spouse at once in a single patch
you can ofc split it into several patches each for a different name
It is time... for crime
<vanishes to crime thread>
hm, casey, can i make these fail silently or set a condition so they dont spawn if something is on the tile? i only want them to spawn on these specific spots so they dont overflow the beach over time
(this does however mean you'd need to write specific names down, which makes it kind of pointless)
For examples that list as “otherwise”, here are some examples:
- The current player listed Shiro’s children as “Ryouta”, “Takashi”, “Tomo”, “Rio”. They indeed have children with some or all of these names, but that player’s spouse is currently Sam
- The current player is married to Harvey, but they don’t have any children with the names “Kevin”, “Hiromu”, “Ryo”, “Lana”
What do you mean with this?
the ChildNames token only returns a list of names. you, as a modder, have no idea what those names are going to be beforehand
you cannot use the ChildNames token to determine which children belong to which spouse
Too late, I already went to crime land. (/s)
At the moment no. Feel free to make a github issue about it so I don't forget, though.
Or even just comment on this issue with that (and any other things you want): https://github.com/spacechase0/StardewValleyMods/issues/535
Allowing to despawn all forageables from the group using groupId instead of definitionId. Option to despawn added forageables daily Also trigger action cannot spawn items on some tiles. For example...
nor can you even get at all what children were born to what spouse in the first place
as you only have a singular name in the Spouse token, unless polysweet/free love/whatever has its own token
oh god, another thing on my list
😅
and you cant really do anything with just the name
If you have Unique Children installed - You can check who is the children’s NPC parent
That’s the root of my IUCT fork’s logic
You can literally just screenshot your message into that issue (or just a link), if you want
not with content patcher's childnames and spouse tokens alone you cannot
#making-mods-general message Pathoschild said this is possible ig
(Checking for any out of multiple spouses)
not sure how thats relevant
you can check if they are married to Sam or Shane
it doesnt tell you which child names belong to Sam and which belong to Shane
My use case is, for example:
A player have 2 children with Shane named “Mandy” and “Billy” and another two (possible with mods uncapping the children limit) with Sam named “Miku” and “Teruki” - So via Unique Children’s feature of checking a child’s parents via social status menu, they can use the children’s name in the conditional loop I mentioned above
they cant, because you cannot do the conditional loop you mentioned above in Content Patcher
its not a thing you can do
content patcher does not support the kind of variable looping and dynamic condition checking that you require for your idea
if you need such functionality, it must be implemented yourself in a C# component
Per-spouse checks there’s only 1 spouse per check -
But for children names it can check any in a list
the ChildNames token does not care who the children belong to. a check that says "Is their spouse named Sam and do they have a child with ANY of these names?" means nothing if the list of names is every child they have, including children with Shane
hey! uhh where can one look at achievement IDs?
you are welcome to experiment with the tokens if you want to make sure, but what you want is not possible with Content Patcher alone
I did not mention exact child parentage checks.
But checking the current player’s spouse and if the player has children with any of the names in a predetermined list (the only way to tell the children apart in this case is visually via UC (Unique Children))
my dumb ass forgot i could look at the game files-
...
I think something like this to tell whose children it is in Unique Children
(From the mod’s official Nexus page)
So my method of checking children’s parentage is NOT dependent on UC-related tokens/code
Just check the social tab and hover over a child’s name to see who is that child’s parent (especially NPC spouses as that child’s parent)
who's doing the check? the mod user?
The player can check their child’s parentage with Unique Children installed by going to the social tab of the menu
and they'll tell your mod?
Yes
how?
I just realized that FF duplicates errors when failing loading because it goes through the game's asset pipeline. What's the correct way of handling an error in a the Load function of an asset requested event?
The Stardrop crop sometimes gets glitchy and does not get harvested properly with a syth from the farming mastery.
Anyone know how I can fix my custom crop working with iridium scythe?
What’s matter here is the “Child with” block in the UC social tab example above.
So you can tell who is the parent of the child with that name.
Then, open the content file (or GMCM config tokens if I can implement that) and write the name (or names) in the token field checking for children’s names (within the same conditional block checking for the current player’s spouse (once spouse per such block, as each specific spouse would have a unique set of children dialogue)).
I thought you said the mod USER was doing this
usually the assumption is that the person loading the asset handles the error with a try/catch
What do you mean, specifically?
The action of inputting which child names to check is made by the user.
The spouse checks are NOT intended for users to edit
that's weird, it shouldn't. Maybe content patcher is logging one as well?
So while you are not meant to switch around dialogue sets between different spouses (e.g. the set intended for Kenneth’s children being used for the check intended for Jio’s children instead) - You can change the list of child names “associated” with each of those spouses
Bump
do they say exactly what's not working?
I love high quality bug reports ✨

did they give a log in case another mod is messing with scythe logic
Nope lol, I'll ask
For now, the dialogue sets would apply to ALL children a player could have - But as the fork expands - There would be child-specific (name-based AND spouse-based) dialogue.
What’s important is that is the “Spouse” token checks for the current player (the one running this mod on their instance of Stardew), the host player, or any player regardless of them being online or not?
For example, if a FF data asset is invalid, there's an error when the assetrequested event handler tries to parse it (either the json doesn't match the data model, or the data model validation threw an InvalidDataException):
[00:41:18 ERROR Furniture Framework] Mod crashed when loading asset 'FF/leroymilo.FurnitureExample.FF/content.json'. SMAPI will use the default asset instead. Error details:
SContentLoadException: Failed loading asset 'content.json' from SMAPI/leroymilo.furnitureexample.ff: an unexpected error occurred.
---> Newtonsoft.Json.JsonReaderException: Can't parse JSON file at /mnt/ext4_data/SteamLibrary/steamapps/common/Stardew Valley/Mods (dev)/Example Pack/content.json.
Technical details: Exception has been thrown by the target of an invocation.
then the part of FF that asked the asset in the first place handles the loading error and logs that the data is invalid with the traceback:
[00:41:18 ERROR Furniture Framework] Failed to load, skipping pack.
StardewModdingAPI.Framework.Exceptions.SContentLoadException: Furniture Framework failed loading content asset 'FF/leroymilo.FurnitureExample.FF/content.json' from the game content.
---> Microsoft.Xna.Framework.Content.ContentLoadException: The content file was not found.
---> System.IO.FileNotFoundException: Content/FF/leroymilo.FurnitureExample.FF/content.json.xnb
---> System.IO.DirectoryNotFoundException: Could not find a part of the path '/mnt/ext4_data/SteamLibrary/steamapps/common/Stardew Valley/Content/FF/leroymilo.FurnitureExample.FF/content.json.xnb'.
(I removed the traceback of both logs for brievity)
I would like to only keep the first log, since it's the one with the info about what went wrong during parsing.
ah, I see why
the first one handles the error and then doesn't load anything.
the second one happens because you requested an asset and nothing loaded it
So I need some sort of invalid asset to return when nothing loaded?
the easiest way to do this is to throw a custom exception inside the first one instead of logging an error, and then do the logging in the second one
you can check the InnerException on your ContentLoadException and do logging based on that, and rethrow otherwise
hmmm, but I don't actually handle anything in the first one, I do throw an error
Are you directly loading the whole json 
...
you could simply silence the second set of errors by try/catching and logging to trace, though that would also catch unrelated errors
Maybe if you load empty json and then do the edit by reading separate json
So even if die u give a valid empty model back
Also nice place to do any funny model transform things u want 
that's what I already do, hence the "Failed to load, skipping pack." text. I guess I'd like to have the info from the first error.
wouldn't the same thing happen when reading the separate json? I'm not sure what's the proposition here
the use case is loading data from content packs for FF
In this case, the error was thrown from the [OnDeserialized] method of the model, maybe it has something to do with that
I'm starting to think the solution is for the asset loading method to have a try/catch and return an InvalidPack object inheriting from FPack (so that it does return a proper object) containing the error info so that the pack loading method can print the correct error.
There might be something in the modcontentmanager also eating the custom errors I throw in the jsonparsers/validators
what is the difference between these two categories when used in queries or input arguments?
yeah, I think thatTechnical details: Exception has been thrown by the target of an invocation. is newtonsoft eating my error.
So, would “HasValue: {{currentPlayer}}{{<insert spouse name you want to check>}}” really check if the current player is married to a particular spouse?
Or..
The name of the current or specified player's NPC spouse
Would this check for the only the current player (the person having the mod installed - might or might not be the host)’s spouse, only the host player’s spouse, or both (checks for any player’s spouse (s) regardless if they are married to one (or some) particular spouses)?
Not sure what you're expecting HasValue to do here, HasValue does exactly what it says in the name, tells you if the provided value has a value
For the current or specified player part, click on it on the CP docs, it'll take you to an explanation of how to specify the player, if the player is not specified for a token the default is the current player
In MP, how can currentPlayer work for host and farmhands?
I know that if I have the mod and I am hosting an MP instance, I am both the hostPlayer and currentPlayer at the same time
What about farmhands having the mod? Would tokens like “Spouse” registers their value (s) instead of the host player’s?
The current player is, in fact, the current player, which can be the host, but is not always
A farmhand's current player with be the farmhand and the token's value be according to them
So would that mean:
in my IUCT fork, if I have the mod, it will recognise me as the currentPlayer - But since I would be hosting the world, I am also the hostPlayer.
Other farmhands having the mod? The mod would recognise them as a currentPlayer only and would fetch their values and assign to the tokens (e.g. Host marries Shane but Farmhand marries Emily - So the mod’s “Spouse” token detects Emily as that farmhand’s spouse instead of Shane)
Is this correct?
yes
So that means the “Spouse” token alone is sufficient to detect the spouse (s) of any player having the mod - and the value the token returns would be different for each player, right?
Yes
What about “ChildNames”? Does it support lists?
(e.g. I want the token to check through a list of possible names that one player’s children could have)
Like, “ChildNames”: “Mina, Jon, etc.”?
Does this token (or ANY token) works like this?
Which file and/or folder are the character portraits in?
Referring to the furniture.
Junimo furniture in tilesheets iirc
Yep, thanks.
If I want to set up config tokens that the player can input text in (usually a single value) - What should I do?
Saying empty json was misleading my bad, i was thinking more like you just construct instance of the model you are loading
Assuming this is a CP pack:
"ConfigSchema": {
"PlayerTextOption": {
"AllowBlank": true,
"Default": "default text"
}
},```
other options being detailed here https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/config.md
(and that'd result in a {{PlayerTextOption}} token you can use)
A failure in Edit is less severe than failure in Load
But hrm if the real problem is newtonsoft not throwing error up to a point u can catch then it's moot 
What specific flag(s) is or are set when you buy the Joja membership?
jojaMember is the main one, though there might be other incidental changes
https://www.stardewvalleywiki.com/Modding:Mail_data#Mail_flags
Gotcha, thanks
pst real quick; anyone know if its possible to put gifs as sprites or does it have to be jpg/png (aka can i make sprites moving pictures or do they have to be still pictures)?
They need to be pngs.
You can animate them frane by frame tho
but i was thinking like the sprite would make a talking motion during a single text box or something
There's a wip (not released) framework for that kinda thing
If you want fine control of animation timings on a portrait

(just testing for fun, but yeah
)
unknown file extension '.gif'; must be one of '.fnt', '.json', '.png', '.tbin', '.tmx', or '.xnb'.
eeeeeeehhhhhhhhhhh i only know minimal coding stuff, i only made a single farmhouse map out of pure spite so idk much about the coding part
I guess spacecore's animation feature would worknfor this
i wonder if theres a way to animate a png picture lmao
That would be an easy way to do that, but I think it'll force the animation to loop
thats fine itd be set to loop anyway
probably
in general, the game's animations are on sprite sheets, where the frames are just side by side
i was more so wondering if itd still come out animated if i tricked it into thinking the picture was a png file
Eh no
darn
Content Patcher can't load those, the game won't know what to do with them, and it might not have the engine support for them anyway
booooooooo
being based on an old microsoft 2d system
💔
(or more to the point, gif as a format has always been weird w/ low support
)
Gif cursed
but yeah, frameworks might let you splice that up into separate images and switch mid-dialogue, though I'm not familiar with doing it
I don't think you have to give up the idea, you can setup the portait spritesheet like the vanilla ones: each portait is a different expression, then use spacecore to animate them: it's a framework that works through CP if you're not familiar, so it's pretty easy to use
👀
Yeah I don't think animating it is the problem
But you should give up on fancy lip syncing or whatever
This one gives all the portraits looping animations
It's a lot of work but hey it works
wasnt planning on getting that fancy! i was just gonna make like 2-4 frames and mush them into a looping gif then push them into the code
YOOOO THOSE ARE SO GOOD?????
The things new framework would let you do is make eye blink and mouth flaps independent
Which would achieve stuff like "mouth only flap while text is typing"
It's cool but also unreleased
But art wise it's same amount of work 
Gotta draw all that
I feel it's fine if u just make things work with spacecore like this mod for now, think about fancy shit later
oh my god I wonder what that framework is 
(it can separate a lot more than that tbf, it allows you to have pretty much arbitrary layers/combinations)
what were you thinking?
I wanna see I wanna see
i mean....its not nearly that fancy and i was gonna redraw them because im not a fan but i have a few hailey ones done if you wanna see...?
hi, I’m the author of that new framework btw 
(I didn’t make that art, that’s dacar, he’s very cool and inspired the idea)
Discord is actually allergic to playing videos on mobile i swear
Oh GREAT now the video audio is haunting me even when the video isnt playing and i switched to a different window
are the only 3 fonts in sardew tinyfont, smallfont, and dialogue font?
tinyfont is only numbers
that's the font used in stores right?
like the seed shop (sorry random image found for example)
is dialogueFont the one called SpriteFont in the files? I forget how it all translates into the game 
in content it's smallfont, spritefont, tinyfont, and the asian character sets that I think go into spritefont
ITS A WORK IN PROGRESS-
cute! I think a ton of people would love that style. it reminds me a lot of flash games!
Hd portraits
my framework handles those just fine dw 
You're never gonna guess the inspiration 👀
whistles innocently
(okay yeah, C#'s dialogueFont is the content folder's SpriteFont, so it's 3)
This feels so familiar and i can't pin my finger on it...
ooo, spill
But yeah it totally reminds me of those old flash games
haha makes sense
but it reminded me more of like, did any of you play the barbie(?) flash game that used to exist
or like the papa’s games
YESSS
obvi mine arent finished and DEF need a redo now that im looking at them after not drawing for a few days BUT it seems dacar beat me to it and did it better sooo ehhehheh
it's snapchat
i'll see myself out iro it's ok
if there was only room for one animated portrait mod I wouldn’t bother with a framework, I’d make C# for dacar and leave it at that
i suppose our art styles are different enough right like i dont wanna copy him or make like a dollar store knock off lmao
if dacar had a problem with other people making animated portraits, he wouldn’t be actively supporting me in making my framework
and he was inspired by other games too!
Dont think i ever played the barbie ones but i played the papas games all the time lol
I used to be scared of the closers and would always quit at the second day though LOL
closers was the jam
🤔 i really dont know the first thing aside from the art portion of making an animated sprite mod so does your ( @gentle rose ) framework mod have instructions in the description or can i like send them to you to input into a code oooorrrrr....? idk how that part works help lol
(i feel like a dummy)
it will have instructions once it’s out! there should be a beta version soon
but it will hopefully be almost as simple as any content patcher mod
if dacar had a problem with other people making animated portraits, he wouldn't be actively supporting you in making your framework in the right at all anyway
/lh
potato, tomato
i should also fix my farmhouse map
hello!
Does anyone have an idea why my winter festival outfit does not work??
Does this look better than the previous menu screen?
example if what it previously looked like (i dont have a proper screenshot saved sorry)
hmm, maybe add a more detailed magnifying glass sprite?
OR give it a shadow?
your mod sounds so effing cool btw 
ty. tho kittycatcasey did the original. I am just updating it and trying to (imo) improve the menus, balance, ect.
gotcha!
istg casey has the wildest ideas-
yeah I wasn't actually fond of the original mod myself because how jank it was
I still want to make a new magic mod but I've yet to come up with something I'm happy with
100% understandable
cleaning up the jank has been enjoyable @_@, still jank tho.
😂
like the light from lantern actually following you now instead of just being placed. should help people understand it working. Also added a lot more SFX so people know something is happening / improving player feedback
I look forward to what you come up with when it eventually happens~
same here!
Fun fact, it originally did follow the player but just broke at some point
Part of my problem with the magic mod was that you're essentially just using mana in place of stamina for a lot of cases (such as the farming stuff)
If I actually end up making magic 2.0 (under a different name at this point), I want it to be more unique, and not simply feel like you can do a little more of the same stuff
tbh 3d stardew is magic-y enough to me-
That's the other problem, there's so much work to do with stardew3d, and I basically only make modding progress on the weekends these days 😅
Make magic the fps part of 3 d
might make the other fps part more difficult maybe
Stardew but... 3d?
Magic will be its own mod if it gets made. 😛
But there’s a good chance I’ll add 3d mod support for it…
I would say “have you not seen the crimes”, but it’s a secret, so of course
So secret you have to actually check for the thread manually
very secret indeed
(There’s two crime threads technically, and only one is 3d)
that's a fair complaint. 15 out of 30 spells atm are just "Do something you can already do somehow but with mana".
Yep, and a lot of the others just didn’t feel interesting (at least in the version I maintained)
I liked shockwave
(unrelated but i think it would be cool if Stardew had that same look as like, octopath traveler as an example)
H d 2 d
Also i just realized id been using spanish keyboard???? Is that why i keep typing ñ randomly....
I think that's maybe possible with [redacted] shader things (even tho the hd2d aesthetic is like 2.5d)
Well, for what’s it is worth, Stardew 3D will have third person as well.
And it even shouldn’t be too hard for a mod to add a new mode rather than first person / third person. That’s how the VR is working despite being a separate mod.
Then you just need a CP pack to override assets
I personally don't mind it too much per say...
as if magic were actually real, people would also use it for really mundane stuff as well as fairly spectacular. That is kind of some of my favorite parts about magical stories. (this is just the first example that came off the top of my head) a wizard using their magic to stir their coffee instead of doing it normally with a spoon
but it should be kept in check. there should be a lot more unique spells than mundane
Now all we need are those really fancy shaders they have for Minecraft
Just for Stardew instead XD
Yes on both accounts.
It’d be different if the magic farming (for example) actually felt different, even if the end result was the same
….i mean technically i am using shaders
And if I end up going the even more heinous crime route so that I don’t have to figure out lighting/shadows in an optima way by myself… well, it’ll enable a lot

I really should do that sooner rather than later to be honest. My initial attempt at it didn’t turn out but some stuff had changed since then.
I’ll be ripping out tons of existing code and having to replace it when I do that
hmmm, maybe I could work on water/till/clear debris a bit more.
Like copy over the spirit AI / effects I did and try to mix the two.
So instead of just "click magic hotkey, water area". It would be "click magic hotkey, summon water junimo. they go and water tiles around you"
Yeah, that’d be better. Though I’m also contemplating stuff that is stronger but also has drawbacks
Not sure what that’d be for the farming yet though
I would love a programming-like magic system/grammar
that allows actual creativity/flexibility in spells
Check your logs to make sure it's loading without errors, but beyond that, you could try using a different condition to see if that's the issue (e.g. "Condition": "true",)
that might be a big part of what I’m contemplating, though a little different since I want to keep the magic circle thing
disappears for at least like 20 minutes
Thanks!!
I tried it and it worked with different conditions. What could be the error then? 😮
The only problem I have with animated portraits is that there's not enough people doing them >:D/j
Is there a debug key to cause the NPC to show the appearance?
Like, for Msru’s Hospital Look. Warpimg a character to there doesn’t force the look.
Hmm, i dont understand? How do I add a debug key? :))
I'm not sure about testing with debug commands, but either way, it sounds like the condition isn't checked at the right time during festivals for the is_event query. You could try something like this instead, if having them change clothes all day is fine:
"Condition": "DAY_OF_MONTH 25, SEASON winter"
Or if it should just be during the festival, you could add a time or location query, like this:
"Condition": "DAY_OF_MONTH 25, SEASON winter, TIME 900 2200"
Thank you for the advise! I tried it, but it did not work 🙁 ❤️
Then how can I call this text again later on?
with that example, you'd use the token {{PlayerTextOption}} in your CP patches, and that would be replaced with whatever's in the player's config.json/GMCM
For instance, if I add 12 text input config for children's names in my IUCT fork (multiply that by how many spouses do I want to have custom child dialogue and how many scenarios I want the dialogue to happen (dating, engaged, married, etc.)) - Would tokens like "ChildNames" accept list of curly braced tokens?
I can't really say without knowing what setup is involved, but if you mean something like this, then it should work:
"When": {
"ChildNames": "{{PlayerTextOption}}" //apply this patch if the player entered a child's name
}```
depending on whatever other details are involved, since that's probably not the goal
something like "ChildNames |contains={{PlayerTextOption}}": "true" would probably work too
The setup would check through a list of child names, then checks through who is the current player's spouse - If both returns true, unique child dialogue will trigger rather than the standard IUCT dialogue
Thanks everyone! It works 😄
ooh they look great!!
The styel is really close to the canon art!
Adjusted the spell bars position from being in a row to being next to each other, along with a background and some text. Is this too much?
old for comparison
if you have the room, i'd suggest laying them out horizontally in the menu to match how they appear above/below the toolbar in gameplay for clarity
that way you likely wouldn't need to include the 'spell bars' label to tell you what it is, since it's clearly the same spellbar you already recognise
can someone help me out lol ive been out of the modding game for a while and my progress got deleted
and i dont remember how to do this stuff for just making basic sprites
!startmodding
Making mods can be broadly divided into two categories:
- Content packs are formatted text files, and don't need any programming knowledge. They can add/edit NPCs, maps, new items, shops, and more. To get started, see the list of framework mods, the wiki tutorial for Content Patcher, and there might be relevant guides on the tutorial wiki.
- C# mods use programming code to change fundamental game mechanics. See getting started with C# modding.
Usually it’s easier to start with making content packs, since you don't need to learn programming.
first bullet point
thank you
the content patcher docs (linked on the wiki tutorial for content patcher part i believe) has some examples too iirc, which will also probably come in handy, particularly in the EditImage section
okay let me finish some of this ill come back for help making a gatcha machine

working on it
orthographic or perspective for an event scene
anything but code for a day
this feels like a dumb question but how do i gety it from an xnb to a png?
!unpack
Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!
any question you don't know the answer to is a good question 
one such question is 'how in all hell are you meant to sprite animated fire'
with scrolling noise I think
the only scrolling noise i know is the sound of my mouse zooming in and out on these sprites 
Thats so incredibly impressive, good job!!! 
perspective looks cool
thanks
trying to go for the same effect as in the movie theatre and the mermaid boat
i'm sure detailing this will be very very simple and enjoyable
which will hopefully make me go back to work instead
2
me just learning tos dreverse engineer my old mod
(i liked the ortho better personally...)
it's a tough call. i'm not surprised ca never actually applies perspective on objects even in perspective scenes, the end result will probably still look warped even after being smoothed out and detailed
me learning how to do this by force trial and error like forcing a puzzle
could trash the two benches on the sides but also i don't much want the room to be fully empty
much to solve
just a cutscene, no movement
I like the latter, but idk how it'll end up looking with NPCs and such, if any
(reminded of an RPG Maker game where the plot was about how hard it is to match* the art pack styles for RPG Maker
)
formating im still confused?
oh likely just one on the mat in the middle and maybe one or two behind them to the sides. it shouldn't break the illusion of depth too much given the game already does pretty much whatever it wants on that front
anything specific you're stuck on we can help with?
make words make sense?
!!format
The OED is the definitive record of the English language, featuring 600,000 words, 3 million quotations, and over 1,000 years of English.
"make words make sense?" /lh
the content.json is where im stuck
!json maybe you could share your file here?
JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.
If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.
When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.
there are some basic examples of each action in CP's docs, if that helps
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide.md#features
(and probably some good guides on the tutorial wiki, but idk which ones to suggest personally)
does the power up like spring onion and bear knowledge applies to all players when only unlocked by one in mp games?
if you use shared wallets then yes (if they're online), otherwise no
????
that's the manifest.json format, content.json should be different
yep, you'll want to change the You can change JSON format value to match your file, so Manifest for manifest.json, and Content Patcher for content.json
also you can post the uploaded file's URL here to share it directly
manifest.json is a file every mod has, even C# stuff, to tell SMAPI what the mod is when it's loading
content.json has the actual instructions on how to load your art/edit game data/etc
T_T do i need to add a content note for every sprite i do?
there are some ways to load multiple files at a time, but the simple answer is yes, you include another "change" thing for each file you want to load
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide.md#what-does-a-content-pack-look-like
since they need to be in specific "targets" for the game to use
so that text you have there is fine if it's in the manifest.json, but your content.json will be something like a bunch of "load"s like that example
so how would i have load the muliple different pets? just have it pick up the file for each content.json?
Depend on how you structured things. perhaps u could use multiple target and have the fromfile field using {{TargetWithoutPath}}. Or maybe even using template. Would be best if you explain what is it you're trying to do
im changing the sprites to have butts and the turtles to have random hats
currently just doing the cats atm
so adding overlay to an existing assets?
yeah
okay, moved the bars down. ngl I actually like this. I was feeling a bit icky when messing with the bars when they were on the side.
...... i forgot u can see the bears butt XD here we go finding every file that has a butt to add a butthole
if don't mind ur assets completely replace the image u could do...
{
"Action": "Load",
"Target": "Animals/cat, Animals/cat1, Animals/cat2, Animals/cat3, Animals/cat4, Animals/cat5",
"FromFile": "<path to the ur file>/{{TargetWithoutPath}}.png"
}
Make sure ur file name is cat, cat1, cat2, and so on
If u place all the png in folder name "assets" the the FromFile would be, "FromFile": "assets/{{TargetWithoutPath}}.png"
very helpful thank you.
is there tooling that exists for getting the decompilation output into a state where i can dotnet run it? the standard ilspy output seems to be missing functions
there is a private code repository (for people of sufficient level on here who also have the Mod Author role) which is the decompiled game code but (afaik) massaged into a state where it can be successfully recompiled. but also afaik there is no special tooling that enabled it and the massaging was done by a person
yeah, there's mainly a run after decompile.linq that fixes dll references and such
but also "step vi: fix compile errors manually as needed" 
Sigh Hi. So, I'm COMPLETELY new to this process, and I've been following the tutorial on the wiki to try to set up a mod (but haven't actually made it really do anything yet). When I try to build it, I get errors saying it can't find the game path. I know that there's an entry on adding the game path manually, which seems like what I need to do, but I don't understand what it's saying. It says to "go to my users folder" (I've done that in file explorer, but maybe they mean to do it in Visual Studio? Which I don't know how to do) and make a targets file (which I have no idea how to do). I've tried googling how to make a targets file, and all the results basically say "you don't need to, it'll import one".
I'm sure this is an absolutely newbie level question that you've probably gotten before, and I tried searching to see if someone had explained this already, but I didn't see it. Can anyone break it down for me?
Hi! First, make sure this option in File Explorer is enabled (View > Show > File name extensions):
you can find game path via steam if you need to
Then just create a text file in that folder, and rename it to stardewvalley.targets.
stardew valley > right click > browse local files
also if it's easier u can just toss the game path bit in csproj, the stardewvalley.targets method is just nice if u got multiple mods 
<PropertyGroup>
<GamePath>your/gamepath/here</GamePath>
</PropertyGroup>
(And to avoid committing it in Git repos and breaking the build for anyone else who opens your code.)
Oh, really? Okay, well I did try doing that, but Windows doesn't want to let me make a txt file there.
Do you not see the option, or does it show an error message?
It doesn't show the option. I should mention I suppose that I'm on Windows 10. It shows an option to add a folder, though that has the icon for user access control or whatever (I am the admin, so I could do that, but it's not the goal right now).
Are you in the Users folder itself? If so, you'll need to go one deeper into the subfolder for your username.