#making-mods-general
1 messages Β· Page 595 of 1
!json
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.
also in the future if you want to share stuff it is better to go via this link than to keep sending pics
(it also catches certain errors)
also i don't think you really need the minimum versions but some else probs knows better
Ive never seen minimum version yeah
but i guess if its like really important and a recent version it makes sense
i mean i've seen them just don't think it is necessary in this case
like if next update added something you need, but if its like. years ago. then ive never seen it lol
yeah i think sprite replacements dont need it πββοΈ
Gotcha
i dont think people usually put min version cause you're generally supposed to update content patcher anyway
If you're using a feature that strictly requires something only added in a specific version, it's helpful to denote it in your dependencies
Or ContentPackFors
That said 1.27.2 is exceptionally out of date
how far back is that version
For ContentPatcher specifically I prefer using the format version to denote this
I think you could in theory have an older content pack that needs migrating so an older format, but with a new patch added on that uses, for example, PatchMode.Mask which requires v2.9.0+ specifically. I don't know if CP blocks you from using that patch mode with a lower format.
Nah, shane painted it
so he used joja paint :o
It does
In general it does
He used leftovers from when he painted his chickens >:3
Makes complete sense frfr
I know it does for things in general, but I couldn't find something blocking that patch mode specifically when I looked. But I'm also busy so I only looked for about 2 minutes.
y'know come to think of it I could probably get the mod author role since my mod's already out and I'm just making an update for it 
you've yapped enough as well

Hello in ftm if I set a spawn area like this. What will occur? ```json
"DaysUntilSpawnsExpire": 0
it'll persist overnight indefinitely
(and forage will dodge the sunday automatic cleanup that way)
So no clean up
yep, and things like monsters won't despawn overnight anymore, etc
` ,m n Z c vb
oh sorry guys I was wiping crumbs off my keyboard a little too vigourously
Cat tax
I sure hope the C# people can forgive me for using prefix-postfix drawing pairs instead of transpiling in the right spots I say like as though I'm not already doing this for months
Hi, I need help with making a mod for Content Patcher that adds more sheds to the game but Im not sure how to make them paintable.
Been at it for about 4 hours now, off and on, and I just can't get my custom flavored item to work. I just want the game to let me name my item after my input. Any time I get close, SMAPI just tells me I need to use one of the vanilla flavored item targets (wine, juice, etc). Am I really not able to just make a custom flavored item? As far as I can tell, my json is fine otherwise.
https://smapi.io/json/none/0efe36c54dbf43459cc5409f1c1b4875
FLAVORED_ITEM only works with the vanilla items
If by paintable, you mean just adding alternate skins, you can look at other buildings as examples in Data/Buildings, and this reference info here:
https://stardewvalleywiki.com/Modding:Buildings#Exterior_appearance
And there's a tutorial here: https://stardewmodding.wiki.gg/wiki/Tutorial:_Change_Building_Appearances
But if you mean the actual color system, I'm not sure if there's any formal documentation on it, actually.
I could try to summarize how it works if you're already familiar with Content Patcher.
just put your regular item ID and rely on other fields to replicate the effects (copy color, copy price, etc.)
don't forget to add custom internal names (with a {0} to make them not stack), custom display name using %PRESERVED_DISPLAY_NAME, and price modifiers on top of the base price
...all I had to do was remove the Flavored_item bit, and it works
I'm gonna scream at my wall
i mean the color system like how you can paint buildings in vanilla
The items already don't stack, thankfully
they probably dont stack because their colors are different
the game doesnt protect you in the same color same name but different flavor case
Alright, so step 1 is to add an entry for the skin you want to make paintable in Data/PaintData, which has entries like this:
"Big Shed": "Building/-45 -10/Roof/-20 5/Trim/-25 0",
The entry key on the left is the building skin's ID, or just the building name if it's the default skin. The value on the right is a set of section names and min/max brightness values; you can just copy those from another entry. (The numbers affect how bright the colors look, but I don't know how the exact math works.)
Step 2 is to load a color mask for the skin with the target "Buildings/YourSkinID_PaintMask". In that image, red = the "building" section, green = roof, blue = trim, like in the base game's ones.
Well, it looks like it's fine now that I removed literally a handful of letters, which has me fuming due to wasting hours on something that simple lol. I haven't seen any issues that could arise, and my intention was for them to split because they're just like wine and juice items. So, mission accomplished begrudgingly!
(so for reference, the CP content.json edits for a paint mask would be something like this, I think)
{
"Action": "EditData",
"Target": "Data/PaintData",
"Entries": {
"YourShedSkinID": "Building/-45 -10/Roof/-20 5/Trim/-25 0"
}
},
{
"Action": "Load",
"Target": "Buildings/YourShedSkinID_PaintMask",
"FromFile": "assets/YourShedSkinID_PaintMask.png"
}```
Thank You! Sorry for the long reply. I can finally enter the paint menu, but the paint doesn't seem to apply
Does your paint mask use pure red/green/blue? The red parts need to be 255-0-0, for example
Yeah, it does
Probably something with the content.json then, I guess; you can upload it to https://smapi.io/json and share the link here
Oh, looking at the game's code, I think it specifically wants the paint mask's target to start with the ID from "texture", rather than the building ID. You can try this instead (slash instead of underscore in the middle):
"Action": "Load",
"Target": "Buildings/LADC.MoreSheds/ShedV2_PaintMask"```
smapi tells me im missing the file and i cant add slash on the name of said file
the file itself can't have a slash in the name, but it doesn't need to match anything except what you write in "FromFile"
e.g. this would be fine too if you just name it shed_mask.png
{
"Action": "Load",
"Target": "Buildings/LADC.MoreSheds/ShedV2_PaintMask",
"FromFile": "assets/Shedsbase/shed_mask.png"
},```
ok, I did the change and I still have the same problem
maybe it doesn't need the buildings part, since your other texture doesn't use it
{
"Action": "Load",
"Target": "LADC.MoreSheds/ShedV2_PaintMask",```
I'm about to just throw out everything I've been working on because this annoying flavored item stuff just keeps failing to cooperate. It was working just fine earlier after removing flavored item from my output ID, but now it's returning error items. All I did was remove flavored item from the recipe's output as pointed out earlier, saw that everything worked but also realized my sprite was not so good, and went to change my sprite. Just touched up the visuals; no dimension changes, just made the sprite look better. Now, even if I revert to the old sprite (yes I know this won't change anything, but I got irrationally angry), it still returns an error item. I retraced my steps, looked at my json I posted earlier, copypasted it and removed the flavored item text in the output ItemId just as I did before the problem happened, but it's broken now and I have no idea why.
I can't think straight with how upsetting this is, and I just keep failing at figuring it out. Can someone look at my recipe when they have the chance, and tell me why it's doing this nonsense? Attached is the item's json (in case that contributes to the problem) as well the recipe json. Disregard things like sell price, I haven't even attempted to balance that because of the error item problem.
https://smapi.io/json/none/aaa862aa92064394b4c72542ba2796eb
https://smapi.io/json/none/a3d267e391cd42758f2d55cdbc7ae90d
(O)Campaigner.CandiedFruit DROP_IN_ID remove DROP_IN_ID, just (O)Campaigner.CandiedFruit
Having trouble getting date text to work beyond the first yearβ
Iβve tried:
summer_27
summer_27_2
both of the above in the same script
And
summer_27_*
This is for an unmarried Sam.
Any idea why this isnβt working?
Ignore the italics, there are supposed to be underscores on each side of 27
If I do that, then the item won't come out right. It's supposed to rename to "Candied (Fruit Name)", such as "Candied Apple".
It won't come out as an error item though, so it changes one problem out for another.
you need to set ObjectDisplayName and ObjectInternalName as suggested
every step I mentioned is important π
I swear I did that, but now it's gone. My non-coder brain is being fried by all this.
So, remove the Drop in, add those two, and it SHOULD theoretically work?
yes
ObjectInternalName can be {0} Campaigner.CandiedFruitOutput; {0} turns into the internal ID of the input item, ensuring that they don't stack with each other
ObjectDisplayName can be Candied %PRESERVED_DISPLAY_NAME, which turns into Candied Apple if the input is apple (put this in i18n of course, or use the localized text token per the Item queries page)
YES,THAT DID IT, thanks a lot Esca!!
Not a dialogue writer myself, but it looks like you might need to try summer_27_1 and summer_27_2 instead. The no-number version has higher priority and loads before it checks for a year 2+ entry, but it should check the _1 version on year 1 and _2 on every other year.
Thanks hero:) will try
Alright, this worked. I am setting my file to READ ONLY so I don't somehow screw it up again. I don't know how I didn't have the two names yet somehow had it work earlier, and I'm just not gonna question it. It works, that's all that matters. Thanks for helping an idiot like me along.
Coding is absolutely not my thing. It's such a slapchop job, what I've done
~~you still need the price modifier
~~
Shhh I'll get to that eventually
feel free to take a break yeah
I'd much rather just make sprites all day instead of touch code. So much easier for me.
But I can't quite recruit a pocket coder, so I'm just throwing things at the wall until it works
(or until someone makes it work for me, like you did lol)
(don't be afraid to ask questions especially if you've been at it for some time)
I've been staring at this file wondering if I didn't smth right or wrong. Would I be giving directions on the mod page to drag all the pngs and jsons into the Tractor mod? I tested to see what would happen if one were to download it and drag into the mods folder but I ran into what seems to be an issue. I'm almost there 
Problem with that is that I hate to interrupt others' conversations with my walls of text when I do have problems. Sociel anxiety or whatever that'd be called lol
your mod should just be installed like any other mod
it should show up in the log
if the textures aren't applying that's a separate problem
either way if it's not working feel free to post both your log and code
I majored in a field that requires coding, and one of my profs compared me to a raccoon for employing a similar strategy lmao
it opens like this when I do so I'm wondering wether I made the file incorrectly
I didn't unzip
to install a mod unzip into the Mods folder as usual
alrighty
So... how do I do PriceModifiers correctly? Can't find an example in Data/Machines, where I assumed it would be, and the wiki (as far as I can see at almost midnight) doesn't show an example.
those are documented here with some examples, since they're shared by a couple asset types
https://stardewvalleywiki.com/Modding:Common_data_field_types#Quantity_modifiers
Oh, I thought I just put a number next to "PriceModifiers": like 1.25 or something lol. That was very wrong
Shame on me for thinking things are simple!
yep, list [] of objects {} to support complicated nonsense pricing 
never guess πββοΈ always read documentation
Now for the unhinged question; how many decimal points are allowed in this string? Can I be an absolute menace and put the first 100 numbers in Pi, or is it limited to hundreths/thousandths?
typically nobody will notice your decimal precision if it's greater than the leading decimal length (e.g. .0001 for a price of 1000)
New quote added by atravita as #7942 (https://discordapp.com/channels/137344473976799233/156109690059751424/1496358900197359706)
they're treated as floats during calculation, which is a whole thing you won't want to learn, but tl;dr what blueberry said & the decimals aren't necessarily perfectly accurate anyway, depending on weird computer math
and for prices it all gets rounded down to the nearest integer at the end
So i'm trying to convert a CP path mod to AT, and I feel like I did everything correctly but Smapi wont load it. I have a super basic understanding of modmaking in general so I'm not sure what I'm missing. https://smapi.io/log/7c823c265abf4f778355a64835da45c3
Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on macOS Unix 26.4.0, with 80 C# mods and 175 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
THey need to be what they are in your asset folder
So rename the pngs or change the FromFile
alrightyy
hm... you tempt me
now I must rename it all </3
-# I'm willingly putting myself through this torture >:P
Hello. I'm making a personal sleeves mod for Fashion Sense, but I don't know what I'm doing. 
I have the sleeves.png ready, but I can't seem know how to implement it in-game.
nvm. my eyes burn and I want this over with >.<
Have you looked at another FS mod to see how it works?
It doesn't appear properly in the game when I test it, using another mod as a template, but with different asset directories.
I did but... may I ask, do I have to follow the directory to a T?
Because I want to assimilate or conform with the game's vanilla formatting, starting from Assets folder, then working my way there.
The mod I'm looking at to see how it works, the directory directly starts with, say, Sleeves.
Fashion Sense works how Fashion Sense does
I'd follow how it works rather than how vanilla works
I would refer to the fashion sense documentation, which I assume exists.
It probably relies on the folder names to understand what sort of item is in it
All the FS mods I am peeking at have that same naming convention.
I DID IT. I give my thanks to those who've helped me!!
Yipeee
Yay!!!
I have to step away soon, and I'm not sure if anyone familiar with AT is around right now, but it may help to upload a zip of your mod, or screenshot the file layout. That error seems to say it can't find your mod's "Textures" sub-folder, which is required for AT, unlike a Content Patcher pack:
https://github.com/Floogen/AlternativeTextures/wiki/Creating-a-Content-Pack
Now for the hardest part - making the Nexus page...
Look at modded-stardew :p
OH ITS ALREADY DONE... yoink
Well, the installation instructions on the mod don't quite seem complete... though it could be Nexus slowness.
(Or my superspeed in yoinking)
yeah that seems incomplete
Okay, so I followed the directory format, but the sleeves themselves look off and aren't showing in-game properly, especially in the side angles and back.
Unfortunately, that is beyond my current ability to help with FS π
I need to do my next Joja mod update too - adding DSV compatibility to Jojafy the chicken in Shane's events. I already did the art but now I've got the perms.
I will thank you! I'm sure I have something mislabelled or missing a bracket haha
try moving the textures folder out of assets, so it's next to the manifest
unfortunately that didnt work
I feel like my strings look ok? Ill try again tomorrow
oh the folder name 'paths' also has to be one specific to the game. like Crystal Floor
and I believe the name in texture json must also be Crystal Floor exactly
I removed the assets folder and its not throwing errors anymore
ok i got it to work! moved the texture.json back into the paths folder and now its working! thank you!
It just really hated being buried in an assets folder i guess
WORKED BTW. Just tested a whole bunch of stuff and updated my mod. Tysm!!
Quick CP question: Is it possible to grant a friendship boost to the entire town as a quest reward? I know friendship <name> <amount> works for individuals, but I'm looking for a way to target everyone simultaneously, like the reward for the introduction quest
i think you can do AddFrienshipPoints any amount
I'm assuming I can ask here since this is modder related and it's not my error log (which is why I haven't sent it yet, wanna make sure it's ok to send), but someone sent me their error log due to Arumi having pathing issues (the spacecore could not find path while honoring gender female one) and oh boy does it have a lot of map errors.
I don't think it's an issue with my mod, but I'd like to be sure before I tell them that ^_^; I don't want to be wrong, but like... pretty sure its not my mod due to the fact other NPCs like Tilly also have issues pathing and the red errors are about map patches from other mods.
Would be nice if I could figure out which mod(s) are potential culprits.
Looking thru the log myself again but this is my first time doing it for someone else so there's a high chance I'm missing a lot or might be wrong
I believe it's fine to send someone else's log
do maybe wait cause i am also not 100% sure
My guess is just that one of the mods that changed the beach overwrote her warp or something. Lots of map errors in the log from multiple mods Q_Q
Should be ok to link someone else's log, though check first there isn't any identifying info in it
they posted it on my modpage too so it's probably fine
I'll still check for stuff tho
Disclaimer I haven't played with Arumi yet so can't promise I'll be able to tell if the errors are from your end 
they do have Gem Sea Shores which judging by it's bug section might be causing some npc warp issues
-# I can't resist troubleshooting
It's weird because her house doesn't show up
it should still even if they use gem sea shores π€
i haven't had issues yet with arumi + gem sea shores (but i've only played a little)
the only pathing issues ive found is during night market since it uses an entirely different map, but that shouldnt make her house not appear at all in regular days
One thing to check for the spacecore issue is to make sure any warps added to vanilla maps are added using addwarp so they don't mess with warps added by other mods
I use add warp yeah πββοΈ
https://smapi.io/log/b6647edca08c4150b7acabcad0407d74
There's lots of different map issues, old mods, just a lot of mods in general, Tilly and other modded NPCs are also having pathing issues as well which is why I'm assuming it's another mod, (I also don't have new locations except for Arumi's house interior and the slime floor only used in her 10 heart event and cannot be accessed otherwise.)
Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Unix 6.17.7.29, with 215 C# mods and 400 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
the out of date mod is UI suite 2 alt
They mentioned the game working fine except her house isn't there π€
I notice a lot of those errors across mods are due to missing files. It might be worth asking what method they use to update mods; it's not absolute but that's something I've seen when people do the update method where they replace mod files (the thing where you click 'replace files') rather than deleting and reinstalling a mod to update it properly
Otherwise it does look like something's interfering with the beach warps
(To expand on this, basically what happens is the mod author changes their file organization setup, the player clicks replace files rather than deleting and reinstalling, and remnants of the old setup stick around and wreak havoc)
If gem sea shores is getting a lot of map bug reports it may be missing an addwarps entry in lieu of a regular warp edit. Not at my computer rn so can't check but that would be my first guess
as far as I can tell gem sea shores sticks to addwarps
Its unfortunate I cant check everything because my laptop is barely surviving 50 mods :(
Looks like it does have some warps (based on a few comments) so that one may be worth a check for addwarps too
(Sorry I can't check them myself, debugging from my phone rn lol. Might be able to tomorrow if not resolved by then)
i don't see any addwarps in the .jsons
it's ok lol, I'm just happy to get help 
Thanks!
Sounds like the path here is to ask the user to remove that mod and see if it still errors
(And maybe make sure they know to download+reinstall to update mods rather than replacing files, just in case)
Maybe I should try downloading that mod for a sec π€
Valid strategy π―
hmm it seems like there's just an additional boat which warps you to another part of the beach, i'm not getting any errors with arumi + this mod + gem sea shores
Do you also have spacecore installed?
i think the warp is just in the .tmx which annoyingly didn't show at first
Swim mod?? Dont know why that would do it but maybe it could be that one
Swim mod does have some diving maps iirc
i added a bunch of the mods they have touching the beach and can't reproduce a missing house or spacecore error. of note tho: my log and their log are loading these mods in a different order
probably cause they're on linux
T_T darned dit, I'm not on linus
But it's also an aedenthorn mod so I'd be surprised if it was the culprit (might be worth a check tho)
LINUX* not linus
Yeah I was wondering if something's throwing an issue with unix but that's harder to diagnose
Hmm
Do all Arumi's entries match in terms of being case sensitive?
(Focusing on Arumi bc I assume it's easiest for you to check, but that could be an alt explanation for the other mods' missing files as well)
it should, I usually copy paste but I can check, which entries specifically π€
All of them. Linux is case sensitive in general so it may throw a 'file does not exist' error if any of them are off
i think it's the load order
I put a false dependency on arumi in east scarp to make it load earlier like it is in their log and no house
huh
Earlier than gem sea shores? Or the other beach mod?
honestly I cant even find when my mod loads, which line was it?
Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 28 C# mods and 20 content packs.
view the raw log data for maps/beach
so yes, loading before Gem Sea Shores now
it's loading before in their log too
You can ctrl+f (or 'find in page' on mobile) in the smapi log to find it. Make sure 'loaded x content packs' is expanded
So is gem sea shores overwriting the map? Or patching the same area?
seems like a linux thing with the loading order then π€
So Nassi should put the priority to late?
Gem Sea Shores changes the whole map so yeah
Load order can differ for everyone. For example, I organize my mods into folders like frameworks, npcs, expansions etc. Everything in expansions would load before everything in frameworks bc e comes before f
mm how do I set it to late? I've never had to deal with order stuff before since SMAPI normally handled it fine >_<
tyty
Something I like to do is to put all my entries in include files and then only load includes from content.json, so that I only have to put mod-wide conditionals (like priority) into those few content.json include actions rather than every entry in the mod. Just in case you'd find that useful 
I did do that when I rearranged my files πββοΈ now its much shorter and more satisfying haha
assuming this looks correct
Looks right off the top of my head
You can also do late+10 (or whatever number you want) in case other mods do the same prio
anything so arumi can have a house (don't actually put anything)
nod nod was gonna ask
me when I add late +999999 her house must be there
even in the void her house perseveres
I'll just do + 100, seems high but well, I only change the parts that touch her house anyway, if someone else added stuff there it won't be compatible regardless
I'm not the best with words but does this response look ok?
Looking through it seems a lot of your errors (with other mods) are due to missing files.
Just wanted to check how you update mods, as sometimes these kind of bugs are caused by replacing the mod folders instead of deleting the old mod and then adding the new file. (sometimes authors change their file layouts and it can cause stuff to get messed up with duplicates, missing items, old files trying to call stuff that doesn't exist or has been moved or renamed, etc.)
I've never had her house not appear before (other than night market, which does have a lot of bugs, and the ones on my end I'll have fixed in the next update) but I found with the help of other modders in the SDV discord, that the issue with my mod specifically, is due to other mods like Gem Sea Shores loading after mine does πββοΈ It ends up overwriting my map patch and that's why her house isn't there.
It'll be fixed in the next update, but if you want to test it you can open the content.json in my mod folder and add "Priority": "Late + 100", in the section with the Log Name "Add Arumi House"
So it'll look something like this:
{ "LogName": "Add Arumi House", "Action": "Include", "Priority": "Late + 100", "FromFile": "assets/data/maps/arumihouse.json", },
good ol' priority: (AssetPriority)int.MaxValue. never fails
I think that should be fine
Sorry to repeat myself, but I asked above how to make a quest reward friendship with the whole town. Someone suggested AddFriendshipPoints but that only allows targeting 1 NnPC at a time as far as I can see from the documentation on the wiki. I want the entire town that the player has met to get say, 100 friendship points when completing a special order quest I'm working on. So, is there a way to target all NPCs for a relationship increase?
the good news is there's a C# method Utility.improveFriendshipWithEveryoneInRegion(Game1.player, 120, "Town"); used for the luau soup, the bad news is there's no vanilla way of using it from data
It'd be pretty simple C# thing to make for ur own mod tho
Just gotta register a trigger action to use it
the world will never know what emoji these vignettes fulfil 
Ah ok, well good to know definitely I can't do it via content patcher and would have to make a C# mod. Well, I've hit that wall a few times now, it might be time for me to face the big scary cliff that is C# programming and then be able to do some of the other things I'd put off as too hard/impossible to do via CP as well.
helloooo and sorry for dipping, my life has been extremely busy and chaotic lately
i'm still working on my mushroom mod and ran into a weird issue regarding powers
the idea is that you will receive skill books later that teach you certain potion recipes - those aren't classic recipes but machine outputs that are locked behind a specific trigger action
while i was casually playing with my mod installed in my save, i obtained one of cornucopia's cookbooks and upon reading it, the trigger actions for my books went off as well, unlocking the potions. i'll gather the json files in a moment, but does anyone have an idea why that happened?
Can't you just write add friendship to everyone you want? It'll be long but no c# needed
{{ModID}}_PotionBook1_TrAction i assume you mean all of these actions? but the conditions being true means that "Trigger": "spacechase0.SpaceCore_OnItemUsed", if anything else uses that trigger then yours will go off as well
doesnt account for custom npcs
i imagine Town would include everyone whose home is set to town? im not sure but that's what makes sense to me
Oh, I see! I wasn't aware of that
what would be a good workaround?
uh lemme pull up spacecore it's been a minute, i'm gonna go off the assumption that you can just set the conditions appropriately
there is a BETAS gsq Spiderbuttons.BETAS_PLAYER_HELD_ITEM <Player> <ItemId>+
https://stardew.button.gay/docs/betas/queries#PLAYER_HELD_ITEM
thank you so much! I'll give it a spin
i wonder if spacechase0.SpaceCore_OnItemEaten - use item GSQ conditions to check the right item "eaten" also considers books, if you wanted to make it purely spacecore there
that's not necessary since my mod uses both spacecore and betas anyway (unless there's any caveats i'm not aware of)
that was my experience with using them both so far as well, but my knowledge doesn't extend beyond CP modding at the moment
"Action": "EditData",
"Target": "Data/TriggerActions",
"Entries": {
"ExampleTriggerAction": {
"Id": "ExampleTriggerAction",
"Trigger": "Spiderbuttons.BETAS_BookRead",
"Condition": "ITEM_ID Target (O)Book_Horse",
"Action": "MarkCookingRecipeKnown Current HorseFood"
}
}
}```
there is this
BETAS has a trigger action for this if you weren't against a dependency
betas! betas!
I would suggest what atra said here which is to check the target item in the condition rather than use a BETAS gsq, as that guarantees that the item you are checking is indeed the item used (which theoretically might not be the held item when other mods are at play)
I will try, I somehow did not consider using item queries in tractions before
thank you! 
To be clear it's an item gsq, which is different from an item query
FLAVORED_ITEM is an item query, ITEM_ID_PREFIX is an item gsq. Don't accidentally use the wrong thing 
also hi button
i been gone so long that people have turned jolly rancher flavored
aaa, right! i keep mixing up the names but i do end up using the right thing where needed. thank you 
Hello and long time no see 
My apologies if this isn't the right thread. I am trying to create a mod in which I add a new house/ location in the valley but I worry I will conflict/ break other existing popular mods, is there an easy way to check this (I'm adept with c# but new to stardew valley modding)
Conflict in town is almost inevitable
you're in the right place :D
If you have a spot in mind, let us know
We can probably figure out what needs to be done
Although again town is very oversaturated so there is the chance you might need to pick somewhere else
I want to make a cave for a special type of npc im building, I wanted it somewhere in mountains maybe next to hot springs?
Like the spa?
yes sorry
Thatβs probably easier I imagine. when I said town I mean like the main town area 
i call it hot springs because im thinking of harvest moon
with enough chaos you can shove it into the secret mines--
very few mods add new npcs and buildings to linus' tent location. you probably won't have any conflicts
If ur concerned about things Making Sense (since the railroad is right above) you could patch into the railroad area
Iβm not sure how many mods change that area though other than SVE for sure
Thank you so much for your answers! I see that there are lots of collections and I hope people in the future give it a chance π«
Well, vanilla moves Leo there...
let me know when CA makes a mod and I'll stop suggesting linus' tent
Crying CA makes a mod 
stardew dlc
I'm updating a mod that has worked since 1.5.x (and now does work in v1.6.x)
It's just an EditData in Data/Objects, nothing special or strange.
Specifically:
This works:
`||
// Triple Shot Espresso
{
"LogName": "Modifying Triple Shot Espresso",
"Action": "EditData",
"Target": "Data/Objects",
"TargetField": ["253"],
"Entries": {
"Buffs": [
{
"Duration": 1800,
"CustomAttributes": {
"Speed": 1
}
}
]
}
but this does NOT work.
// Triple Shot Espresso
{
"LogName": "Modifying Triple Shot Espresso",
"Action": "EditData",
"Target": "Data/Objects",
"TargetField": ["253"],
"Entries": {
"Buffs": [
{
"Duration": 1800
}
]
}
||`
However.. I'm told that Content Patcher does not provide editing of nested arrays, (like Buffs: [ ] , above) only replacement of them. Hence why if I add the existing Speed attribute, it works, but when I don't, it doesn't.
So before I jump down the rabbit hole of re-writing this in C# for SMAPI directly..
Is this true? Or are there any verbs, commands, or similar within which Content Patcher can edit a nested array, rather than requiring a full replacement of all values within? π
I'm wanting to mod, but suffering from classic case of Executive Dysfunction Cus I'm Waiting For Something and I'm only on my phone rn, so can someone send me the cat sprites (any will do) from Data/Pets? I wanna make a kitty cat and I need the base to compare size and style with
not sure we're supposed to do that
Ohh wait
you can nest deeper; just add more fields to TargetField
Is that not allowed, I guess I'll find something else to do until I'm done waiting and doing the thing
So you can edit (not just replace) a nested array, if you define TargetField properly?
yes
can you provide an example of how you would do that, in this case, where the object is 253 in Data/Objects, and the nested array is Buffs: [ ] ?
I'm just not familiar with what syntax TargetField would be expecting
(Correct, please do not share whole unpacked assets)
["253", "Buffs", "Drink"]
aka enter the entry for Triple Shot Espresso, enter the Buffs field, enter the entry with the Id Drink
nice! ok, I will try that out right away..
then you just set Duration in Entries
Perfection. Exactly what I was looking for, Selph.
You are a rock star, tyvm for the help. π β
βοΈ 
Y'all think the mayonnaise machine would work for making peanut butter? 
"HasFlag": "ccMovieTheaterJoja" if i wanted to use this flag as a precondition for an event, should i do a GSQ or would a mailReceived work?
isn't mailReceived for the script of the event, so the GSQ PLAYER_HAS_MAIL or HostOrLocalMail would be what you need, i think
i dont see any event by that name
at least not in morris's json
ill poke around
what do you mean event by that name?
You gotta check item id target
mailReceived is not for the preconditions of an event i think
https://stardewvalleywiki.com/Modding:Event_data#Basic_format i'm talking about the mailreceived under here
https://smapi.io/json/none/fdbd1394e96b4ce388a005597785fae4
Trying to touch up my flavored item recipe by adding "When": {"New Crafting Recipes": "true"} to my second recipe so that it's only active when I have the mentioned config option enabled, but I can't seem to figure out where that should be placed for the second recipe here. Where in my json am I supposed to put that?
When applies to a whole block, so you need to split that out
or you can do "Condition": "{{New Crafting Recipes}}" and it will turn into True or False at runtime
What are flute/drum blocks classified as? Are they big craftables?
they're placeable (O)bjects (you can confirm with the unpack)
they may or may not be a custom type idr
Stepped away, but wow. That condition is so busted. I should probably use that condition on more things instead of having a million whens everywhere lmao. Thanks!
Message: Cannot access a disposed object.
Object name: 'Can't draw texture 'Portraits/Morris' because it's disposed.'.
π
what does disposed mean /lb
It means the object was cleaned up out of memory
oh
How do you get an NPC to pathfind to a building on the farm?
that's the neat part, you don't (not without c#)
Hmm I was just wondering cause iβm learning how to do it with decor that you can place anywhere but thatβs not enter-able, but for a future idea I had can you do it with actual buildings that have doors?
Like would it be complicated C# or manageable? The pathfinding Iβll already be doing is for children not full NPCβs so I guess thatβs the difference I was wondering about
well i don't fully know about pathfinding but with have more kids the children can go out on the farm (i believe)
it's "there are very few people in the modding scene who I trust can do it without the code exploding" level of difficult
Have More Kids have kids on the farm functionality so you can take a look at it
Noooo 
Yeah iβm doing it off of HMKβs pathfinding for the kids
Chu is helping me
sigh so not an option for actual NPCβs? There are no mods I could use as a framework that do stuff with normal NPCβs pathing?
i don't think there are no besides HMK
Can I make an NPC warp inside of a building on the farm?
It's not that hard but it's also not trivial
I really need to add a couple fish recipes to my mod, it'll be nice getting to come up with recipes that actually have meat in them 
While I don't think it's necessarily hard to make happen it's a mess when you consider how NPC normally work
There's a reason why merchant has 100% fake actors for the minigame
And eventually i gave up on using just vanilla path finding
(CP) Is there a way to add an dynamic overlay patch to "Building A" on the same content file as "Building A" is created?
I'm not 100% sure what you mean, but if it's how I understand you, yes?
I darn near almost succumbed to scope creep again. This time I was considering adding a farm animal just so you could make your own butter π
https://github.com/Pathoschild/StardewMods/blob/stable/ContentPatcher/docs/author-guide/action-editimage.md
Patchmode Overlay is what you want
OHHH i was wondering why i couldnt view maps and stuff and i just remembered this is a new computer and i havent unpacked any xnb filed 
Yeah, that is what I'm trying to use, but the overlay sticks around when the season changes. That is why I'm asking if I can add the patch on the same file, or do I need to make a new mod that targets the building
Oh you want it for just a season? What kind of building are you targeting?
I haven't worked with farm buildings before so I'm not 100% sure it works the same way, but with tilesheets you can target spring_town for example and it should just change spring
Yeah, I want the overlay to change, depending on the season. Its targeting a custom shed I made
If it doesn't work the way I just said for farm buildings, then you can put a conditional on your overlay patch to just work in the season you want
"Season": "spring"
}```
like that
Or you could make the overlay itself seasonal, like spring_overlay, summer_overlay etc. if you need a different one for each season
and the game just kinda handles things being seasonal
"Action": "EditImage",
"Target": "Buildings/Big Coop",
"FromFile": "assets/{{season}}Big Coop.png",
"PatchMode": "replace"
},```
Hmmm- ah, here's a random farm mod I just cracked open and how they make a seasonal big coop (this is BogWytch's). You can do the same with an overlay. The season dynamic token is useful
Isn't there something you can do to have a modded item appear higher in a shop list like Pierre's? Adding a cooking ingredient that I'd like to have next to like rice and oil
This uses springBigCoop.png, summerBigCoop.png, etc. files
https://stardewvalleywiki.com/Modding:Shops Check "examples", it shows reordering
{ "Id": "Example.ModId_Pufferfish", "BeforeId": "(O)685" }```
specifically this for reordering
yeah, but that replaces the whole building right? I m looking to add the overlay, and have it removed
Where it says PatchMode: replace, change it to overlay
that will make it overlay instead of replacing
You can do a different image for each season. If you don't need an image for some seasons, you can just do different FromFiles for the seasons you do use and do a "When" condition for the season.
yeah, but then the overlay wont change when the season changesπ
Er... it will though
"FromFile": "assets/{{season}}Big Coop.png",
{{Season}} is a dynamic token. It changes based on the ingame season. When it is spring, this image will be SpringBigCoop.png
When it is fall, it will be FallBigCoop.png, etc
So you do four overlays, one for each season, and whatever you want on them. And name them {{Season}}Whateveryourfilename.png
If you only want an overlay for (for example) Winter and no overlay for any other season, you just do FromFile as your overlay and add this instead as a condition.
"Season": "winter"
}```
I'm struggling to think of 2 more "Nightmare" foods, which is a set of foods that are meant to be very powerful as rewards for completing a set of bundles. I've got a cupcake, candy, donut, and "fishloaf", as well as a smoothie and spice already covered.
I, genuinely have no idea what I'm doing wrong, I think it's related with the way the Building is created, but have no idea why
Nightmare as of scary, or nightmare as in culinary abomination?
If what i've got so far is anything to go by, probably both but mostly "scary" (air quotes, it's more just a theme relating it to Darkrai)
!json
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.
Can you upload your code here to show us?
Oh... so it's like that kind of scary 
What about littleNPC's or the custom kids made with HMK?
(also wdym by not hard but a mess to figure out?
)
Sandwich maybe or pancakes
Ooh I do like the idea of sandwich
I'm down to only 4 more placeholders total until I've (at least text-wise) replaced them all. 1 more Nightmare food and 3 more basic dishes
I've still gotta figure out the prices, edibility values, buffs, and actual recipes and THEN the sprites but idea wise I'm almost done 
This When condition is doing nothing, and you don't need it:
"Season": "{{season}}"```
You are already using the {{season}} token in the asset name
That When argument is basically telling the game "when the season matches the season it currently is, return true"
Just to check though, your actual filenames in the mod folder are assets/spring_Deco_ShedV2.png, etc. ?
they are, the overlays apply, but they don't disappear once the season changes
Are you sleeping through the seasons or using a debug command to switch them?
IIRC, the default update rate for a patch is once per day/at the start of the day, so if you are not changing that update rate and are using a command to switch it without sleeping, it likely won't update until the next day.
If that still doesn't work, can you post your SMAPI log?
Im using cjbcheats to change the season and then sleeping
Your PaintData also looks to be using the incorrect key based on where you have loaded your Shed as well, but that's a separate issue
!log
Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.
Please share your SMAPI log file. To do so:
- Open this page: smapi.io/log.
- Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
- After uploading, it will show a green box with a URL to share. Post that URL here.
Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didnβt occur in your last session, please load the game to the point where the issue occurs, then upload the log.
Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Windows 10 (10.0.19045.0), with 8 C# mods and 8 content packs.
What do you mean by this?
It's an oversight in the wiki that I discovered when creating my farmhouse skins, but the key the game expects in the Data/PaintData entry is your building's loaded Texture and not the building ID.
so, LADC.MoreSheds/ShedV2?
It's easily missed, because the farmhouse (which has houses as a Texture but Farmhouse as the building ID) is the only base game building that doesn't use the same name for both
I am genuinely not sure if it tries to prepend Buildings/ on the PaintMask texture key or not, because I loaded mine into Buildings and just prepended the texture with the {{ModId}} and an underscore instead of creating a new directory
it doesn't require the Buildings part, no, the paintmask key is just the texture asset target + _paintmask
(iirc from this last night, at least)
context here in case it helps, just got back so I'm reading up a bit
I definitely think I just wrote {{ModId}}_JunimoFarmhouse for my PaintData key, which is the same as my texture.
But I can double check
They are a completely different case than what I'm talking about
In vanilla there exist a system to control NPC pathing, aka schedules
I don't like doing things that would void out something content mods normally interact with
For children this is not really a concern, because there's nothing that controls Child behavior outside of C#
i have a quick map question, i'm trying to apply a patch to map A and a warp to go to map B and a warp to get off map B to map A, ive got my town patch and warp code up because i know those work and i'm able to get to map B with the town warp coordinates. i've tried everything I can think of to see why these aren't applying to no avail, and my patch summary for my mod, where its relevant to the patches and warps, is the only piece of my log indicating something isn't working like it should
is Maps/DeepMtnCrossroads used by an entry in Data/Locations? if it's a valid patch without conditions, the only reason it won't apply is if the game never loads the asset, iirc
(ah, couldn't find it for a sec, my ES was out of date)
if this is the map you're aiming for, you'll need to copy this target, rather than the map file name:
"Target": "Maps/EastScarp_DeepMountainCrossroads",
"FromFile": "assets/Locations/Outdoors/DeepMtnCrossroads.tmx",```
So, I tried to use this method instead, and ran into same problem π
Is 75 fish too much for a single recipe? 
Can you upload the code you tried instead so we can see? This one might be over my head, because as I said, I never touched farm buildings, but someone else might know
Well as they mentioned the "Season": "{{season}}" thing does nothing since it already uses {{Season}} in the from file. You're also using Patch Mode Replace instead of Overlay
yeah, I'm trying the method you mentioned earlier of just replacing the whole texture to see if it works
That was not the method I mentioned earlier
quick question: does k in an event condition before another event id mean has not seen?
I was not trying to show you a replacement thing, I was trying to show how someone else did seasonal changes on buildings
yes
k is the deprecated form of !SawEvent
ty ty
just wanted to make sure
behold my godawful 70s bed and cringe!
made the bedspread that hard-to-use 70s yellow-brown color for fun. Final vers will have something else. Wood texture taken from the worn-down kitchen bits in towninterior. The usual SDV wood furniture style looked too flat for it - probably because most of the furniture still around from the midmod period has seen decades of use!
I think I just speed ran creating a mod; I just finished a rather quick mod in like 2 hours, I just need to clean up some stuff before publishing it π
Nice!
Scope Creep was coming up on me again but thankfully none of the other berries equivalent to the Enigma Berry are strongly tied to another pokemon like the Enigma berry is to Darkrai, so I dont feel the itch to add another pokemon questline to my mod
https://www.nexusmods.com/stardewvalley/mods/45281
Published! A QoL mod for automate users with large networks, this mod adds 5 new Junimo Chests!
FYI, I'm looking for concrit on that bedframe & radio alarm clock. But making a mod in 2 hrs is super impressive!
Thanks! As for the texture, would it be possible to move the alarm clock above the head board? It currently blends into the wooden panels
Yes, I just thought on the shelf was a better place for it on account of reachability.
Would you like a showcase?
I like how voluminous the blanket looks! I think the outline around the clock part is a bit too dark considering the rest of the bed's outline is much lighter, so that part could maybe be lightened a bit
After a very brief, unacademic google search, what about Drampa? Apparently there is an anime episode centered around getting a Drampa a Haban Berry
Sure!
Hm. might have to figure out how to make it more obvious that it's a separate item.
Showcased!
Maybe change the clock color?
Well, the berries I'm talking about are the Micle, Rowap, Jaboca, and Custap berries. They, alongside the Enigma Berry, all have the highest stat in their respective types.
And I was considering more legendary and mythical pokemon like Darkrai
The rub is that it's based on IRL alarm clock radios, which tend to be dark brown. Does anyone know of a black example?
*from the 70s
Or a color suggestion. I'm stumped.
There have been so many distribution events of a Darkrai carrying an Enigma Berry, whereas those other 4 have 2 different pokemon each that prominently seem to carry them. Except for the Jaboca Berry which is shockingly undistributed 
I think the color of the clock is alright, it just needs a lighter intermediary between it and the headboard. A brown that's darker than the line on top of it but lighter than black
Whelp, time to get back to the mod I was actually supposed to be working on/learning Tiled
Although what Si said is true
I think this might be a closer comparison
Oh boy I'm gonna have to get sprites together for 41 new recipes real soon.
The funny thing? I'm gonna need more after that π
Technically only 6 more but like I doubt I'm gonna stop at the bare minimum
the black and sliver one is closest to my reference. Going to try red and silver and see if it works with the current display well.
While an excellent example of a period bed with a built-in hifi system (!), this is not what I am going for. However, I will save it to my reference images folder.
Alright, thoughts on this recolor? I delibreatly left the clock's display unchanged as red light is easy on sleepy brains.
I have the following tmx file. How would I replace "LewisBasement.tmx" with this map via content patcher?
(I'm not sure I'll be using that particular bedspread, but I did want to make that variant of it anyway, sooo...)
I think it looks great!
Success!
{
"Action": "Load",
"Target": "Maps/Greenhouse",
"FromFile": "assets/{{ModID}}_Greenhouse.tmx"
},
but with other names, obviously. This wouldn't be the entire content.json, either.
Alright, I did the overlay method in making the sleeves. And now we have a lil' Ciel Phantomhive from Kuroshitsuji/Black Butler.
Problem is, I'm not covering his hand completely, which is why there is a pair of two-pixel skin there.
Also, I want to making the sleeves' color toggleable, rather than blending it with the worn shirt.
That would require Generic Mod Config Menu, but I still need to start with how I want to make it work.
I think the target is "Maps/LouisBasement" however I am not completely sure this is the right reference name for it.
Whelp, we are about to see
Even just a config.json file would work, especially if I can use or do RGB instead of HSL.
May I ask why you are renovating Louis' basement?
It is going to be the default location of a new merchant
For clarity: the headboard has a shelf with two sliding panels, which the alarm clock is supposed to be sittting inside/atop of. Here's it without the clock. Did it this way so I could make variations on the themes of "what's on my nightstand?".
Nice. 
I totally forgot Lewis' basement existed and now I kinda wanna add something down there 
There aren't many (if any) mods that edit that map π
Huh. Turns out you can't give lewis his pants back if you haven't gotten his letter yet π
Whelp, I'm gonna have dinner then work on the shop for said merchant!
only mod I can think of that edits lewis's basement is Mayor Mod
Looks normal to me
penny wise, pam foolish 
Yeah. Typical tuesday morning. I wake up, listen to whatever musical is stuck in my head to get me going, then take a stroll through the void before going to work.
pam will have more content
i dont know who asked for penny to give pam a wake up call
but its happening, and it isnt a negative one either
its very sweet
trust
if i did good on evelyn i will do good on pam
oh no
penny kissed pam
that is NOT WAHT I INTENDESD
I DID NOT INTEND THIS!!
oh is this what the alarm clock bed is for. a wake up call
π
two cutscenes
the archaeology...not...done yet
but its ggoing well for penny expansion
: D
Modding question
For the Trailer_Big
How do I detect if its done or not?
my cutscene uses "Target": "Data/Events/Trailer",
but how would I go about checking if trailer_big is the primary thing being used rn
i seee
and, what do i use to detect if this is in effect or not
i dont think ive ever tried checking before
like what state query
The game will also check for events in the regular Data/Events/Trailer even if you're in the upgraded Trailer
That's an event, just have it be that if you have seen the event
(If the concern is wanting to add it to both)
i have a cutscene that uses the trailer
and im concerned it'll use the old trailer
if youve upgraded
for inside
It won't if you're not changing to a temporary map that is the old unupgraded interior.
all it does is "Target": "Data/Events/Trailer",
and it doesnt edit the map at all
just moves npcs around and dialogue
good to know
Then it will use the upgraded trailer interior
awesome, thank you!!!
That said you may need to adjust your script anyway to account for the changed interior if it matters
true, i'll check
if i do need to adjust it
what is the game state query I use to detect if that event has passed already
Also the game uses the mail flag pamHouseUpgrade in various places to determine if you've done it
ohh
thank you!
I regret leaving myself with 30+ item descriptions to write all at once
Though maybe Iβm just burnt out from all the other things related to these items
which is better for a day/night tile combo? or are neither of them good?
*click to enlarge
I'd say the one on the right. The wood grain effect looks really good too, but the lighting on the...lock? Looks better on the right one
incidentally you might want to reduce the detail somewhat, the grainy wood style is mostly only used in pre-release furniture tiles, and the more recent ones have a flatter appearance
but it looks like you've added the details right onto the retro bed so if it's your decision then roll with it haha
I agree, but the grain has charm. The flatness in vanilla Stardew has charm too, but damn that grain looks good for the scale it's at.
info on design choices is in posts from earlier today. Tech bit is a built in radio alarm clock.
basically, it's supposed to look worn.
*one on the right has a color mismatch, light parts of the daytime radio tuning display now match that of Harvey's radio gear.
don't worry, it's b/c I've noticed that older furniture tends to have a more obvious wood grain texture (ie ridges & troughs) than newer, esp. if the varnish was never all that thick to begin with. Plus with the emphasis on the natrual patterns of wood, it just makes more sense for the midmod era.
i can only worry πββοΈ
Texture process: sample this kitchen from towninterior, slice and dice, add bridges of new texture in a matching style to prevent too much repetition in the tiles, tweak.
I made the bed frame from scratch, though I did use the retro bedding - had to widen it by a whopping two pixels.
Bumping this.
UGHHH I'm having issues with templates. I'll probably post about tomorrow, seeing as it is almost midnight and I'm tired π
mood.
I feel like the answer is gonna be no, based on the wiki, but is it possible to change the HumanDoor location on a Building's skin?
Iβm trying to create a mod that uses Content Patcher along with Buff Framework to add a custom buff icon.
My goal is to add a custom food item, and when the player consumes it, a custom buff should be applied for a few seconds.
Iβve already successfully added the food item, but the custom buff doesnβt seem to trigger when itβs consumed.
There are no errors showing up, but the buff effect simply doesnβt activate.
Does anyone know what might be causing this?
you shouldn't need Buff Framework for just regular food buffs right
anyway show your code?
Waitβ¦ is it possible to trigger a custom buff using a custom sprite with Content Patcher alone, without using Buff Framework? π₯
Just a moment, please.
{
"Format": "2.9.0",
"Changes": [
{
"Action": "EditData",
"Target": "Data/Objects",
"Entries": {
"{{ModId}}_Test": {
"Name": "{{ModId}}_Test",
"DisplayName": "{{i18n:Test_DisplayName}}",
"Description": "{{i18n:Test_Desc}}",
"Type": "Basic",
"Category": -7,
"Edibility": 1,
"Price": 500,
"IsDrink": false,
"Texture": "assets/test.png",
"SpriteIndex": 0
}
}
},
{
"Action": "EditData",
"Target": "aedenthorn.BuffFramework/dictionary",
"LogName": "",
"Entries": {
"{{ModId}}_Heroes_Special": {
"which": -1,
"sheetIndex": -1,
"glow": {
"R": 255,
"G": 255,
"B": 0,
"A": 255
},
"consume": "{{i18n:Test_DisplayName}}",
"duration": 60,
"source": "{{ModId}}_Heroes_Special",
"displaySource": "{{i18n:Maple_Heroes_Name}}",
"description": "{{i18n:Maple_Heroes_Desc}}",
"buffId": 141001,
"glowRate": 0.05,
"sound": "yoba",
"attack": 2,
"luck": 2,
"texturePath": "To2morrow.MapleBuff/Heroes_Special"
}
}
},
{
"Action": "Load",
"Target": "To2morrow.MapleBuff/Heroes_Special",
"FromFile": "assets/Heroes_Special.png"
}
]
}
Here is the code.
you can define a buff ID in Data/Buffs then have your food object trigger that buff instead of specifying the other generic buff fields
it'd give you custom icon and description
wow
I didnβt think of that approach. It definitely seems worth trying. Thank you very much for your answer.
as for your code I'm guessing you should be giving the item's internal name instead of display name in the consume field, but yeah consider using just CP and that's just one dependency instead of two
(Buff Framework is useful for cases not supported by the vanilla game; buff from eating though totally is)
I probably would have spent two more days stuck on this if it werenβt for you. I really appreciate you helping me save time. Iβll give it a try and share the results. Have a great day!
success
before i potentially fuck up loads of things, can pulling from github erase what's on my hard drive, or will it merge/give me the opportunity to resolve merge conflicts?
i accepted a PR but i've done work on my desktop without pushing for a couple days now
you won't be able to successfully pull if your uncommitted changes would conflict with the pulled changes; though if you commit your changes you'll be prompted to resolve merge conflicts
if you have uncommitted changes it will usually prompt you to commit before pulling, and then you resolve any merge conflicts after that
ahhh i see thank you
unless you force it, in which case yeah it'll delete stuff. but you have to specifically ask it to do that
as for 'can pulling erase files from my local drive', yes, git will apply the remote changes to your local drive. if the changes include removing files, those files will be removed locally.
scary
it helps to be aware of the ways you can use git to irreversibly erase your work
at least pulling deletions from remote is generally reversible
that's good at least
i forget the seemingly innocuous git command that would completely wipe all your local files with no history. not reset hard of course
rm -r .git ?
no as in a git command, not a terminal command
might've been to do with init, the memory is lurking at the back of my mind somewhere
i distinctly remember a very panicked forum (github?) post about someone who lost it all
bah i had such momentum on these little vignettes and now i'm stumped for composition
you can do fun stuff with rebase (particularly interactive rebase) to nuke everything
i've rebased away a good day or more of work before. i love rebase all the same
my favorite horror story comes from someone in the steamdb irc/discord (Can't remember which) where they tried to interactively rebase the gametracking repo and ended up deleting their /usr/bin folder in the process and had to rsync it back from another distro
Okay, I've got a very specific situation: I've got a custom building with a paintmask, it also has a seasonal layer (snow on the roof in winter, grass along the bottom in spring, etc) set to overlay on the building texture and set to mask the paintmask.
However, if the building is painted in game, when the season changes neither the overlay nor the mask go into effect until you reset the game itself. When I sleep and hit Winter 1, there's no snow on the roof and there are still little mushrooms along the bottom of the building leftover from fall; if I close the game and restart it, it's working as intended; weirdly, if I go back to the main menu and restart the save without closing the game, the ovrlay changes properly, but it sticks with the previous season's mask on the paintmask.
Anyone have a similar situation? I've tried a couple things, like messing with the update rate and priority, but none of these have any affect.
that's likely due to the paint mask texture not necessarily being used for the building, but rather loaded on paint changed (or building first loaded) and then being used to create an all-new texture instance from that data
Is there a way to get the game to update a paint mask texture?
Does the season offset apply to the paint mask?
Yeah
Well, that's good to know. The seasonal stuff was so limited and it applies to multiple related buildings, I figured it was more efficient to have a single overlay per season than every building sprite to be 4 times its normal size.
city vignettes made me watch my last bubblegum crash and now i have no more.
How much pain in the ass would it be to open a book and have it pop up as a functional menu
this simple premise has haunted me for 5 years
Oh no
so are you planning a custom menu or a simple existing one?
Ehhh idk tbh
Ideally i would want it to function like a chapter select menu
In order to replay certain events
how good are you with c#
And also have character profile info
I can provide more details after work, but how would you use Local Tokens with templating to add multiple different items? Currently the last call to the template overwrites the prior calls.
Again, I should be able to provide better clarification later today after work.
Trust me, you do not want your first exposure to C# to be GUI stuff.
you have to learn a lot of intro concepts before I can articulate how much of a pain in the ass this will be
Wow incredible
The one thing i decide i want to do in C# is the one thing i shouldn't have
well it's not the one thing you shouldn't want to make
XD well at the very least, can i right click an item and have it bring up a multiple choice question
I believe so
pretty sure you can yeah, spacecore lets you set an action on use iirc
Even if it's not a custom menu i can at least try and half ass it by making my menus function as maps
you'd just be making the action be a trigger action for dialogue that includes a question syntax
Got it
Or you could use harmony patching, but that may be a bit overkill
Welp im gonna be using spacecore a lot for this mod probably
Also probably not the best for a beginner
To clarify, Harmony probably isn't the best for a beginner to C#. Not what blueberry is suggesting π
Though I don't want to discourage you from learning C#!
Im so scared
im sure it could help you ease into topics like execution flow but yeah a lot of concepts at once
honestly it's not all that bad, these are very doable tasks, but from zero experience you'd have to learn a bunch before you can really plan the solution
Yeah. Creating a GUI is a deep dive project π
Well at least by not using C# im getting closer to my goal of doing absurd things in content patcher
ill be the first to say menus and UI in sdv is not that bad, a lot of the basics foundations are done for us, it's just about making something usable and understandable with knowledge of SDV c# concepts
That's fine as well! I just never want to discourage people from learning or make people feel bad for not knowing something.
I find teaching to be very important
Yeah, I've not played around with custom GUIs for SDV yet. I have several ideas I want to do eventually, but I also just don't feel like creating even more GUIs out of work (I've been doing a lot of GUI creation as part of my actual job lately π ), but I have seen a few examples
If I want the sleeves of the farmer to be a different color, can I color it to that except to red (default)?
I do want it to be a shade of blue - midnight blue, specifically. Or I can toggle it to grey/white. Which is it?
Alright cool so after I finish this set of recipes I'm set to do around like another 25 π
I'll probably find a way to work that number down but I'll deal with it when I get there lmao
But after that I should be done with them! Unless I come up with another really good idea but at least then it'll only be ONE recipe at a time 
Hey guys
So I'm trying to get this track to play on only green rain days, but it's playing on all rainy days
Do I have this formatted correctly?
{
"Format": "2.8.0",
"Changes": [
{
"Action": "EditData",
"Target": "Data/AudioChanges",
"When": "WEATHER GreenRain",
"Entries": {
"Rain": {
"ID": "rain",
"Category": "Ambient",
"FilePaths": [
"{{AbsoluteFilePath: assets/strangelullabye.ogg}}"
],
"Condition": "IS_GREEN_RAIN_DAY",
"StreamedVorbis": false,
"Looped": true
}
}
},
]
}
i dont think that when condition works
is that interfering with the entry condition?
a when is
When: { "blah blah blah" }
and if you already have the GSQ condition you shouldn't need the when
ill go look at the GSQs but just choose 1
and format the when correctly
also the when condition is done wrong, it's a CP thing
it would be "When": { "Weather": "Green Rain" }
also the wiki page for audio doesn't have a condition as part of the fields, not sure if that would still work
if condition can't be used, then it's not working bc the When is done wrong so that's also not triggering
Have things changed with audio? As I remember a long while ago you couldn't use when for audio changes as the changes were persistent upon load.
oh that i have no clue
i guess that makes sense bc the audio wiki page has 2 parts for the example; one that adds it as a cue and one that actually applies it
@sullen rain i think this is the significant part
hmmmmmmmm
maybe the when condition will work idk
did u fix the when condition and did it work
I'm testing it now
The wiki says this The override is applied permanently for the current game session, even if the asset is edited to remove it.
Yeah now there's no music at all
well the audio is stored differently to other game assets
did make this shell script to rename extracted audio files to their names
im assuming that the when condition doesn't work, and it was working before because you essentially replaced all the rain audio (since the GSQ condition is also not valid)
and now that a correct when condition is applied, it doesn't work bc it's not designed to work
Bah
hi speedy
hows your mod going?
where are you wanting the rain sound change? or over the whole game or just a specific map?
mine?
Over the whole game
tilly
I wanted to give the green rain days a spooky soundtrack
her final big update is scheduled for tomorrow so going good
everything is done except for her fall outfit and that's easy to implement
But also make it compatible with my rainy days mod

when conditions will still work on Location patches no?
would it be possible to just add the cue under ur unique mod id, and then patch it in conditionally to every location?
if there's a dynamic token
or some...token im not sure of the proper name
game does some hardcoding I think to force the rain day ambience rather than play the map's music
Problem is, location music doesn't play when it rains.
ah ok
might be some very janky way around it
I was trying to use priorities along with conditions to load too but that just made either one track or the other load for all rainy days
It's all down to music tacks not stored/loaded the same way other files are
Cloudy Skies might be able to do it?
they're not in xnb files in a music folder
There's an idea
hmmm there is
"MusicIgnoredInRain": true,
"MusicIgnoredInRain": false,
in data\locations
so I guess that controls it @sullen rain
does smapi/cp care if I use / or \
cuz I see these both used in different places
and I still don't remember how to if possible to tell them apart
in file paths in particular
it doesnt matter in most cases; some data assets use / as a field separator and you'll need to use \\ for those
(Please anybody who use LocalizedText in event dialogue, please use \\ instead of /)
Smapi normalizes paths so you can be pretty messy with them
Did @dreamy dew get the help they needed last night?
Built-in alarmclock for @proven spindle
Is there a list somewhere of how to use all the little symbols in text?
Specifically how to use them in modded dialogue and descriptions because looking it up I keep finding examples on how to use them in game but I doubt holding shift is gonna work in the i18n file
Any experienced custom farm map creators here? I am having trouble setting up being able to catch a few specific fish on a farm project I am working on. If someone could DM me and check my content patcher file and help me figure it out, that would be awesome, thaaanks! π©·
!json unless your file has nsfw content you can post it here so everyone can look
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.
Do you mean how to get something like the money symbol?
Yeah, or like a heart in my case
Under character creation https://stardewvalleywiki.com/Secrets
Will these actually work in the i18n file?
They should
Have had the money symbol show up, havenβt tried the other options
I dont actually see the money symbol mentioned on that page 
it shows up when there's a stray $
your farm's ID is CountryParkFarm, so the entry in Data/Locations should be Farm_CountryParkFarm
(but I recommend adding {{ModId}} to it to avoid potential collision)
Sorry I don't fully understand, this is my first attempt at modding
make your farm name {{ModId}}_CountryParkFarm, then CP will automatically replace {{ModId}} with your mod ID in the manifest, increasing uniqueness
(your Data/Locations patch would then target Farm_{{ModId}}_CountryParkFarm)
for now though focus on getting your fish working
[[Modding:Farm_data]] also look at this wiki page
The mod itself is working 100%, the farm is loading and fully playable, just in the water I can only catch trash items and not the fish i set to spawn
yeah it's optional and mostly a conventions thing
In that farm_data link you sent me, i had read this before and it seems to provide this FarmFishLocationOverride but that would set my farm to just act as mountain/river/ocean fishing. When I examined other farm mods in TILED, they did not use this property at all on their farm. I was wondering if it was something to do with this BaseFarmType": "Standard" but then I wonder if removing that would ruin my mod
Shouldn't there be a comma here?
its after the comment
how it looks in notepad++
#making-mods-general message in case it was buried this was the solution
Ahh, alrighty!
So adding Farm_ to this?:
just to clarify
yes
Thanks I'll give it a shot right now, thanks for everyone who chimed in trying to help
how does SMAPI resize existing images when they're reloaded π€
does it use horrible reflection hacks?
oh wait it's implemented in CopyFromTexture
what happens if you try to call that on RenderTarget2D? it doesn't override it, but it seems like it wouldn't work at all since the backing data construct is different
The fishing fix worked but lmao what:
you get 2.8 fish per fish
2342% Trash 
but that's not going to fix the trash
Is this fishing info overlay
Yeah using it to test this farm fishing
Imo that's just mod bug and you shouldn't worry about it
you say that and now my pockets are exploding with trash
but it works fine when I played on other modded maps :/
You should test if you get the other fish or not
If it works fine for player then yeah just report bug to fishing info
If it doesn't work and you only get one fish then u gotta fix prob
First I changed trash % from "Chance": 0.22 to "Chance": 0.022 (and added the 0 to other fish entries) and this happend 
testing fishing
hopefully it doesnt explode
caught a sunfish then it changed to this:
This is what I've caught so far, the two sunfish were my first two catches:
finally caught a seaweed
there is something really wrong
can you show the current code
I may be wrong but trash may have a higher weight in chances here
showing code would be smart here yeah
So far I just added the farm_ but then I removed "BaseFarmType": "Standard", (hopefully that doesn't break anything more)
Give me a moment and I'll repost the updated Json, shall I do it with the link or upload it directly
Also should I be worried about removing this: "BaseFarmType": "Standard"
(BaseFarmType is not a real field)
Strange because removing it changed how the fishing was displaying
your code looks fine; i guess make sure that you reloaded the code + you're on the correct map?
So the screenshots before were when I had the basefarmtype line, when I removed it and tested again, it looked like this:
but i feel like this trash % is way too high and all the other %s are way too low
I am wondering if it is adding the 100% default trash on top of my custom fishing list
either that or it is classing this as 66%:
"Id": "CountryPark_168|169|172",
"RandomItemId": [
"(O)168",
"(O)169",
"(O)172"
],
"Chance": 0.22
}```
but i still feel like the %s wouldnt be so different if that was the case
the global Trash entry has very low precedence so that shouldnt be an issue
actually now I think about it, I was catching trash items that were not defined in my list, I only have 3 items listed for trash
I havent made a new farm type though so someone else may have more info
Hopefully π
quick question
when uploading a translation mod
how can I be sure it links to the original mod?
some people upload and it dosent link while others it does
I removed that section of trash items to test my theory and this was the result:
(it's exactly the same as before i removed it)
So I think it's not registering my trash entry and just using the base game 100% value for it.
i am attempting to load in a custom character first time (very bare minimum) and i have a placeholder 64x64 for the portrait, but online i see lots of different sizes for sprites would anyone mind giving a suggestion for the best size for a spritesheet (i believe it is 16x16 for individual sprites)
32 height 16 width maximum for humans
Or well.humanoid
Unless ΓΌ use c# or a framework
(Well not maximum but you currently need a framework)
Canβt wait for ForceOneTileWide
Does anyone know for a translation mod
how it can pick up that its a specific langauge
i already have the language tag (like french, spanish, etc)
idk waht else I do (nvm i fixed it, it was because i forgot to click the "Any" popup and set the language)
titlebuttons?
several files in LooseSprites, e.g. yellowLettersLogo and stardewPanorama
(or just logo? I forget what's used where)
what folder?
minigames
aaaaah
...oh, right 
oh and clouds in minigames as well
I use c# to write a basic foundation and the smapi alongside content patcher for an easier way of writing content.json. So if i have something like 4 rows (walk up, down, right, left,) so it would be 64 width and 128 height ?
That looks so cool! I know it's not for the bed you're currently working on but I hope you use it in another one someday 
right, okay, back from vacation and I'm lost
what is this?
Wait i'm not suppose to do that am I. sorry
That's better
Sorry, I'll try to remember better in the future
For event entries you should do
"Entries": {
"YourEventId/AnyConditions": "YourEvent script"
}```
I'm sorry, I don't have those. I let it stay on the screne and I've forgotten what it's for
Surprising what two days will take from you
Sorry
well I think it would be best if you read through this first https://stardewvalleywiki.com/Modding:Event_data
Yeah, I think that's best too
Thank you
Is there a wikipedia page explaining content? I'm trying to figure out how to get the mod to be recognized by Stardrop by reading into other mods, but I'm a little lost on where to start.
I have a manifest now that's been verified
Thank you
Do I need to do content if I'm not editing anything just yet? What I'm trying to do is make an event between the Governor, Lewis, and the Farmer in the middle of Pelican Town.
yes you need a content.json for events
Okay, thank you
Hey i got a question
I was thinking on migrating all entries in aquatic sea fish to the proper id (LucyTheDove.ASF) rather than just ASF_(x)
However, this would be over 300 entries, how would this be possible to do?
do you use vim
most editors have find/replace, though that still leaves you with writing the migration commands
Im asking about migration commanda
I know how to replace the ids
But that'd leave the player aith 0 daya
yeah I'd whip up a python script
How would it work? Would this be able to migrate all letters quests dialogue lines and fish?
I'm hardheaded. I wohld try to do it with awk
Cause im talking a large migration if possible
Which is like, 300 entries total
For the default json
I already know how to migrate some things but an entire mod like this is not as simple
I dont have to migrate but wondered if there was a better way
quests... dont think so
honestly I'd just leave stuff in place if this goes beyond stuff supported by the migrate trigger action
Okii then
me staring at all my old mods that used dots instead of underscores
How would this work and what does it mean
Maybe thisbisnt a good idea cause id also have to repair over 50 quests
That are active
I know how to migrate and fix active quests but its a pain to do it to 50
Hmm I dont thibk i should then too risky
<type> [<old id> <new id>]+:
U know how it says +
It means u can give multiple
Anyways i wouldn't bother at this point since u had some kinda namespacing as is
Should I name the id "Id"
I heard its a smart thing
Makes mod more performant and stable

Is this up to date?
yes
Thank you
it is the most up to date resource for content patcher, because it is provided to us by Pathoschild who maintains SMAPI and content patcher
I really do appreciate the help
pathoschild is keeping everything I find up to date I see them everywhere I go... legend
I'm beginning to understand that lol
Pathoschild where do you find the time </3
and somehow finds the time to work with CA as well
@summer spoke since youβre starting with an event mod, this might help you out π https://stardewmodding.wiki.gg/wiki/Category:Events
Update on this
Apparently they did the priority edit and Gem Sea Shores still loads after my mod? I don't know how else to fix it π€ and I cant tell if its a linux issue because I don't have linux
Apparently gem sea shores messed up a few of their other mods so they decided not to include it for now, but I'm very confused about it hmm
https://smapi.io/log/8aee8364dfcc40d78726cddeb0d558c5
This is the log
Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Unix 6.17.7.29, with 213 C# mods and 392 content packs.
Why did I think it was smart to add a turducken style recipe to my mod. How am I going to sprite that π
And an id spreadsheet as a cherry on top: https://docs.google.com/spreadsheets/d/1CpDrw23peQiq-C7F2FjYOMePaYe0Rc9BwQsj3h6sjyo/htmlview#gid=239695361
Right, so I made a content.json and a manifest.json and I've started a assets folder. I've saved everything in the Stardrop mod files, but it's not showing up on the menu.
Also @round dock, thank you I'll add it to my raeding list. I appreciate the help.
Not showing in the menu, as in your console?
Yeah, the Stardrop menu. The list of mods thing
did they start a new safe?
yeah new save
Okay, close and open it again then check mods you disabled. Although if anything you can just put the mod in your regular Mods folder in the game files.
after they added gem sea shores it broke again
Stardrop has a reload button, to refresh itself
well, probably incomatiemmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
sorry
Do I have to try adding it as an unneeded dependency
I could suggest it to them but seeing as removing GSS removed some of their other minor gripes they might just leave it
I can't test it on my laptop cus my mod automatically loads after GSS does already
and I already did the priority thing to make it late
how late? try making yours extra late
late + 100
have you also tried a false dependency
gem sea shores does have late priority too, but its only late +1
nah, thats what I'm thinking next
that's a lot of m's
maybe one of their dependencies has a higher late???



