#making-mods-general
1 messages Ā· Page 134 of 1
Yap time but I think I'm going to make an all pink animals + product mod, I already did pink chickens but boredom eats at me so might as well do all animals ^^
Pink isn't even my fave colour but I doubt anyone would want grey animals š
"dennis-- ugh. dennis, knock it off. leave me alone."
Nah it's a translation for the base game so it would need references to the original string keys to begin with, the translation itself is not meant to be translated further
I think the person just added to the files which I already released rather than adding as a patch to mine
@chrome mountain @calm nebula Hi! I'm preparing an update for the Stardew Aquarium C# component, and currently the C# component has a mix of code and content. I was wondering what you'd think of merging the CP component, STF component, and the content-in-C# into one Content Patcher pack which you could maintain and release outside the C# component?
Hi!
Hi
Tbh that would be preferred I suspect
Yes that would be great!
Do you have a Git repo for the content packs, so I can just submit PRs with the changes? (Or I could just send you the modified content pack, but having multiple contributors without a code license is a bit iffy.)
We don't have a repo for it 
Alright, I can just download the latest version and send you the changes then. (I'd really recommend making a repo with a code license though; that way you can see what changed, and every contributor doesn't have separate copyright say over their contributions to the content pack.)

alright, I guess I have to check here because debug listtags is showing me something that I may just be too out of mod practice for - is there any way to have a catch-all context tag for cheese?
I've been going through my list of mod stuff that's bugfixes/small compat adds and someone wanted compat with "sheep cheese". I was hoping there'd be something like cheese_item like there is for milk (milk_item) but debug listtags is not showing me that's a thing
(tertiary question - in the event that's not the case, does a context tag have to exist on at least one item in order to use it in special order context tags? worst case, I'm hoping I can just add a item_sheep_cheese to the end, but not sure if that would break it for everyone)
yes, by adding them yourself
to every item you can to be considered "cheese"
that would... be so much more work than just putting in /item_sheep_cheese XD
I was hoping there was a vanilla way
If there's not that's fine!
if you want to do a one-off change and allow an item from a mod to be usable in your special order you can use the autogenerated id_o_itemid tag
and it won't break if I do that for a mod item?
i.e. I want the same code to work if someone doesn't have the mod installed or if someone does
I have been encouraging people to use the cheese_item tag so there is some precedent but yeah theres no official way
You can always add code that appends context tags to modded items as well
yeah that's what selph suggested
Should be fine as along as you use OR conditions (ie. the slash) 
But for my own sanity and since this is my bugfix portion I'm trying to simplify code adds and not break it for people
(IMO the more mods that make use of generic context tags, the more onus there will be for item modders to add them to items)
Yep, already using / so that'll work for me!
I'll add the one you suggested selph and I'll also use cheese_item like you suggested 6480 so it's forward-compat
(plus in the future I can then go "just have x mod add cheese_item to the context tags" so I can be even lazier XD )
(Since if there are MORE cheeses, they should have that tag added anyway)
I dont really know of many big mods adding cheese except cornucopia and VMV
I mean, works for me, means I'm technically adding even more compat this way with cheese_item
Btw we have an unofficial list of the generic tags that I try and recommend people use; we can add your mod as one of the mods utilizing the cheese_item tag to show people that it improves compat https://stardewmodding.wiki.gg/wiki/Context_Tags
oh hell yeah I can be even lazier than I was going to. Milkable Sheep (which is apparently the mod name that someone asked compat for) has:
"{{ModID}}_SheepCheese": {
"Name": "{{ModID}}_SheepCheese",
"Type": "Basic",
"Category": -26,
"SpriteIndex": 2,
"DisplayName": "{{i18n:MS.SheepCheese.N}}",
"Description": "{{i18n:MS.SheepCheese.D}}",
"Texture": "{{ModID}}/Objects",
"Price": 500,
"Edibility": 50,
"ContextTags": [
"cheese_item",
"color_yellow"
]
}
rolls to literally add a real short addendum code wise
yay
Now for the annoying compat thing - someone wanted Gus marriage schedules for LFL compat. I probably don't have to test TOO hard, but I might want to add in schedule dialogue or something depending on LFL's usage of it. yaaaay.
For some reason i managed to forget goat milk/cheesse was in the game
And was about to ask if anyone's made a mod for goat cheese
XD
I have asked Mizu before why we didnt add daffodils to cornucopia
Goat cheese isnāt used for anything but selling and gifting Leah and Robin, which is a bummer. (unless you have modded recipes)
agreed, and cow cheese is used in like 500 recipes
Thatās why Iām here! (I havenāt coded in years before but this old idea was bugging me, so here I am.)
i can't even call this scope creep i just mod creeped myself
Oh?
(unrelated, but pls... 1.7 crafting overhaul... any cheese in recipes...)
(Please)
This is like the 3rd recipe mod ive thought of
While i haven't even managed to do sprites for the first, because i am bad at spritework
š
Draw stick figures and have people use their imagination
Good ol "no, you do it" approach XD
Hm. Im suddenly thinking about my "dye" issue in quotations
Youāre so valid, I donāt know how to do sprite work either⦠going to have to learn. 
I want to make different items dyeable, but i don't know if that would be via a custom crafting menu, or a machine...
(as in, which option do i want)
machine is probably more immersive(tm)
machines guy recommends using machines, more news at 10
Lol
I had an idea for making dyeable cloth using vanilla items as ingredients to make certain patterns (like shirts), but that required spritepatcher
HIIII im here FROM MY PC !!!!!
YAAAYYY!!
i. did a silly oopsies and tried to open stardrop before redling steam/sdv itself,
guess my steam itself was on the other drive whoops
@gaunt orbit: do npc paintings compat for home designer (12h ago)
yarn ball complete..
@ivory plume I tried setting up a repo for the content. Not sure if I did it right.
https://github.com/Gervig/Stardew-Aquarium-Content
That looks fine! I'll submit a series of PRs soon, so we can review and discuss each step if needed.
thank you! 
are shops updated on day start or can I manually refresh it by, say, activating a trigger action via dialogue?
shops check their inventory when you open them, i believe (cf. item queries and Condition fields)
By shops, are you referring to stock lists or something else like the owners and open/close state?
the items within them, firered
if you have stuff controlled by CP conditions you're at the mercy of Update, of course
I'm writing Gus schedule dialogue because fml he has it for LFL so I want to give comparable quality, and I'm dealing with the Harvey Effect (TM) so I'm wondering if I can make schedule dialogue fire an extra bit of free food from him
Does Item Extensions handle adding items as well as nodes? Or do I have to input a separate CP pack in order to get the items into the game then attach them to nodes?
(Path would be "talk to him --> he says a dialogue line ---> free food item added to shop by way of a flag/condition/etc. that I add to shop")
oh yeah. use $action in the dialogue to set whatever flag you want. then check for that flag with a GSQ/Condition on the item entry in the shop
you can limit stock, too, so if you only want it to be free once or something you can set that up
and if you only want it to be temporary (say, for that day, instead of permanent), then you can clear the flag with a trigger on day end
Excellent. I can cannibalize some Darkroom Portrait Shop code for the dialogue triggers and - yeah, the trigger on day end is gonna happen
Gotta keep things somewhat balanced XD
what is the Harvey Effectā¢ļø?
sigh you know how everyone complains about Harvey charging you when you get knocked out?
or at least it's a big thing on stuff like reddit and I think in seasoned/new?
Essentially, I don't want to make the shop free if Gus is married to the player. So Gus would be charging the player for food. So Gus would get the same sort of blowback because he's charging the player
ah, yes
My solve is to at least mention why in the dialogue as long as it's not hamfisted, then also use the dialogue to unlock a secret free meal if you are married to him, but not infinite free meals.
I have half considered making a mod that changes all the knocked out mail from Harvey to be from someone else if married to Harvey for that but it's probably already been done somewhere
i had a similar thing about making the hat shop available in lacey's spouse room. it's more convenient, but you still have to pay full price. she lampshades it in a couple spots
On the other hand, Harvey makes the most sense to find you passed out on the farm if he's married, because at least it's not a stranger crossing your property at night
(actually maybe only one. the other is about having to pay full price at the stardew valley fair)
Okay cool, I can add objects and nodes in the same pack. Okay, do I HAVE to add the object and node in the same json? Or can I have an objects.json, then a node.json? And they'll work together?
Me trying to dissect weapon mods to see how they use content patcher
Almost every new weapon mod uses json assets 
I'm trying to follow Lumi's mods as a reference.
Ack. Problem
Ichor, I just realized it's schedule dialogue
since it's not regular dialogue, is there actually a way to add in the trigger action in that?
I was putting it in i18n, realized that isn't the code area, and then realized "wait, crap, the schedule code is 630 Saloon 17 18 2 \"Strings\\schedules\\Gus:MarriageBreakfast\"/ "so I don't know if I can put the trigger action there
as long as it ends up in a Dialogue, it should be fine (running the actions is part of parsing the string for display in the text box)
so: yes, it will work
okay, so I can put it in i18n and it'll still go through?
....that would have saved me time coding mods prior but I'll take it
yeah, i18n is fine. just remember to pass in whatever tokens you need (e.g. {{ModId}} for the mail id)
or you could always put the code stuff in the string and only farm out the dialogue itself to i18n
No you're not an idiot
I forgot the intermediate step 
I mean
{
"LogName": "Gus Schedule Strings - Breakfast Time (Marriage)",
"Action": "EditData",
"Target": "Strings/schedules/Gus",
"Entries":{
"MarriageBreakfast": "{{i18n:SB.Gus.Breakfast.Marriage}}",
"BreakfastDay": "{{i18n:SB.Gus.Breakfast.Marriage.Thursday}}",
"SundayBreakfast": "{{i18n:SB.Gus.Breakfast.Marriage.Sunday}}",
"SundaySportsBreakfast": "{{i18n:SB.Gus.Breakfast.Marriage.SportsRoom}}",
},
"When": {
"relationship:Gus": "married",
},
},
the intermediate step there makes me instantly able to put the code there
something like "MarriageBreakfast": "{{i18n:mb_part_1}}#$b#$action mail whatever#$b#{{i18n:mb_part_2}}",
i fired this from the hip so edit until works
so I somehow spaced the intermediate step
generally i like to keep stuff like actions out of i18n, since there's risk of damaging edits. but i'm sure i'm not perfect about it
(i do leave emote choices and breaks/separators in there)
Either way, thank you to the both of you. Just a couple more dialogues and then it's either the Scarlett updates for the SVE mods of mine, the DNR Island Date and small extra date thing I had an idea for, or the UWS-RSV writing
you can split up your CP files however you wish and use "Action": "Include" to pull them in
there's no best or even standard way to do it. you get to decide how to do it so it's easiest/makes the most sense for you
And the nodes will use the objects, no problem?
yeah. there's no worry about loading stuff in the wrong order or having broken references (unless you forget to put something in entirely!)
(you do have to be careful sometimes about the order of your edits, but that's a different problem)
I wanted to try and help this town and somehow I've made it worse
You fool! You captured his stunt doubles! 
oh god...is...is that Peierr?
Did I spell his name wrong? Yes...Do I care? Not really XD
Pierre and Clint kinda share the hatred of the community...But like...I don't really hate Clint like I hate Pierre...After all...he DOES hide something from his wife...
wheres morris, clint and lewis
Why do people hate on Clint š
I mean Clint is misunderstood imo...
But enought chat about characters. I has a question. is there a bonafide list of needed tokens for i18n or is it just what's on the wiki?
That's why I edited the stash to be cat toys 
what do you mean needed tokens
I...I don't know XD I'm going insane
Any token you want included in i18n dialogue has to be handled special (but itās all the same special)
You need an i18n key for every bit of text you're replacing. Which should be configs, all dialogue in daily/festival/schedule/events, display names, gift taste reactions, movie reaction text....
Any schedule strings or map strings.
Ok. Methinks me was thinking about something else XD But while I wait for dialogue options from the person I am making the NPC for I will be i18nifiying my mods
@chrome mountain Do you have a preferred indent size in JSON (e.g. 2, 3, or 4 spaces)? My first PR will make the indentation consistent if that sounds fine to you.
what wiki page were you looking at?
self learner here. Can someone walk me through what I am doing wrong. Gladly will take any advice. " code " Game1.weatherIcon = Game1.weather_rain; Error receiving Cannot convert string to int
ALL HAIL PATHOS
^This is a joke...But do respect the heck out of him
I don't remember... XD
I'm mush today
My brain is shot from like 5 days in a row working at my retail job
What are you trying to do with this piece of code?
So? for making a portrait and sprite replacer.... is that possible for content patcher? should i use another mod as a framework if i make seasonal outfits?
The error is pretty straightforward
Game1.weatherIcon is an int, and Game1.weather_rain is a string, so they're not trivially assignable like that
You canāt assign something to be a string if itās an int and vice versa
Whatever you prefer, I usually just autoformat anyways 
content patcher. look at Data/Characters appearances (also somewhere on the NPC data wiki page)
I 100% would not be here if it weren't for pathos :3 I still have the forums messages I sent you back in 2019
If that is confusing, looking up some basic info about types in programming is probably a good idea
(the Appearances system is for seasonal outfits but if you wanna replace the default portraits/sprites you can also just do that with CP, just change their Characters/ and Portraits/ assets)
ahh! thank you!! i am working on a sonic x stardew valley portraits and sprites! imma start with vanilla for now
Ok well back to i18nifying my mods
is it ok to use the seasonal outfits' content json as a reference??
Hereās one of the top hits off Google about types https://gilbert.ghost.io/type-systems-for-beginners-an-introduction/
wait? for seasonal outfits cuter asthethics? it's updated
im not saying its not updated, im saying io dont know if it uses the new system added in 1.6
SCA should be using appearances last I heard
ohhhh
I havenāt checked
there was an old way to do it before 1.6 and a new way in 1.6
if its using the Appearances system (aka you open it and see changes to an Appearances list using TargetFields) then its fine
it is
Source: I coded the update of it that Poltergeister released prior to them moving on entirely
yeah oh boy this'll be hard
there ya go then
I mean
it shouldn't be too hard!
and if you need tips, feel free to give me a shout. I've coded... many an appearance mod at this point
I may be a bit rusty, but not too rusty XD
thank you!!!
i definitely will need all the help i can get ;w;
you know how to use content patcher right??
Yep!
ok!!
want me to add ya as a friend on discord??
just so i can dm my progress and such?
It'd probably be better for you to put any questions you have on it in here, just in case I'm not around or if I'm stumped on something, someone else can chime in too
If you want there's also an i18nifier app for quicker convertion
hello i need help with creating a json as a test for my mod
i got this error for some reason
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.
toss your json file in the validator
share the link here and we'll tell you what's missing.
you mean the file or
yeah
put the content.json in the json validator
then share the link the validator gives you here
Hi, it's me again, I have a silly question. I'm working to consolidate my collection of furniture tilesheets into an AT mod for my own use, as I will be constantly (well, maybe not that often) updating it, and my question is this. Does AT need the folders set up like they are in the game folder (Furniture, Furniture 2, etc) or can I just drop them all into a folder called Textures?
ofc, then have them in individual folders for each item
I guess I'm asking can I mix items from Furniture and Furniture 2 tilesheets into one main folder?
.... ah. You have no changes in that file, speedy
get rid of the ] on line 4
Actually, wait, even the patch there is off
Missing comma line 4
gimme a sec, I'll just rewrite it quick
my brain is stupid when it comes to coding
there you go, and thanks for letting me know about the 2.4.0 stuff
I should probably recorrect the uploads I just did for Tool Seller and Part of a Saloon...
is it not possible to check if a player is in a custom map with c# by using if (e.NewLocation.Name == "Map") where map is the name of the map. im currently warping there using console commands, is there any difference when warping with tiles and terminal?
What is this?
that looks fine for the manifest on first glance
awesome
You don't need C# I think there's a GSQ
But the answer depends on whether it's an instanced map like say building interior
what if i want to do it in c# though? š or is it a lost cause to do it with c#
You can also tag all ur custom locations with a custom field and check that
See LOCATION_HAS_CUSTOM_FIELD
just straight up checking if the player is there and showing a global msg if true
simple stuff
Just remember that things C# can do is a superset of things framework can do 
Since frameworks r implemented in C# after all
like atra says though what you had up there with NewLocation in the SMAPI event should work so we'd need to see the context
townsfolk are gonna be confused af seeing a blue small hedgehog walking around their town
how can i make it so the game changes every instance of Sams name to Sonic?
edit his display name and every instance of his name in dialogue
arent there hundreds of them or something
theres no other way to do it besides manually in CP
yikes
Keep in mind that's just the vanilla dialogue, too. It won't change any modded dialogue unless you add compat for it.
(If you would like to make him a separate NPC, though, you won't have to worry about it....)
custom NPCs are one of the most popular mod ideas
are they hard to make
technically? no
motivationally? yes
each individual step in making an NPC is not difficult
putting them all together takes work
what about the sprite placements, dialogue, interactions, etc
Yeah most everyone can make a custom NPC, but not everyone can make a custom NPC well
NPCs just have a lot of moving parts that need to function properly in order for an NPC to work
Speedy, I mean this as an actual question, not anything insulting, since I know how it might sound
How new are you to modding?
it can be a lot and despite being popular is not recommended as someones first mod for this reason, but theres no reason you cant if you put your mind to it
like not just making mods, but playing them
Okay, so custom NPCs are extremely popular
We've got whole expansion mods which add dozens of new NPCs
For example
!sve
Stardew Valley Expanded (https://www.nexusmods.com/stardewvalley/mods/3753) is a mod which adds a lot of new content and areas to the game. It has an install guide which is on the github wiki along with FAQs and troubleshooting steps for common issues: https://github.com/FlashShifter/StardewValleyExpanded/wiki
It's recommended to play Stardew Valley Expanded on a fresh save file to avoid potential issues.
!rsv
Ridgeside Village (https://www.nexusmods.com/stardewvalley/mods/7286) is a mod which adds a lot of new content to the game (NPCs, a new location, shops, and more). Make sure to read and follow the installation instructions listed on the mod page and their install guide https://ridgeside.fandom.com/wiki/Install_Guide
!es
East Scarp (https://www.nexusmods.com/stardewvalley/mods/5787) is a mod that adds a new location to the east side of Pelican Town, along with a few new NPCs, new shops, fish, and special orders. There are also a variety of additional NPCs that live in East Scarp that can be installed through optional add-on modsāsee the mod page for details.
!vmv
Visit Mount Vapius (https://www.nexusmods.com/stardewvalley/mods/9600) is an expansion mod that adds a new region in the mountains. Accessible by train, you'll enter the hamlet of Glimsap, with its tight-knit group of villagers, that holds a market twice a week. You'll get to explore new places, fight monsters, get new crops and forage, trade local coins for exclusive goods, and complete tasks to unlock special items, including machines, buildings, and animals.
impressive
And many more!
damn
There are also solo NPCs, like Juna, Jade, Alecto, Jorts and Jean, Isla, I could go on
if you want to take a look at all their code, you can probably get an idea of what goes into making a custom NPC
where would the npc live...?
that's one of the things people determine upfront
Cecilia, when she was around, created a whole house in Cindersap
as the mod maker thats your job to figure out
Isla has her own Island area
and of course, the expansion mods have their own areas, so they give their own houses there
jeez
id rather copy an existing house and just make sonic live there
i aint good at building sprites, mostly just characters
A custom NPC is a lot of moving parts and is quite the journey. You really would want to define what you want to do first, then tackle each portion in order
i can tell
!NPC But we have a lot of resources on making them š
Keep in mind that making NPCs is a complex process that requires learning many different aspects of Stardew modding.
Here are a few links that can help get you started on all that you need to know:
-
Tiakall has a great tutorial on making a custom NPC for 1.6.
-
NPCs no longer use dispositions, check the wiki page for the new NPC data.
-
Aviroen has put together a template that will allow you to easily create a romanceable NPC.
-
Feel free to jump into the https://discord.com/channels/137344473976799233/1277457201077813280 thread for more interactive feedback and help!
-
Fireredlily has a WIP NPC Builder Please do report any errors you get with it into the NPC thread!
Pelican Real Estate 
oh, yeah, if you have an NPC with NPCDispositions, it's using old code, don't follow its instructions
Tia's resources is great
not to scare you off either, but the living situation is also just one non-majority part of it
most people i see trying to make an NPC mod for the first time take like, a month or two minimum
A number of people do create one as their first mod, but obviously output quality varies, and you get some that become lasting fan-favorites and others that do not. The most important skill to have with custom NPCs, IMO, is creativity: the ability to create a character that has their own distinct personality and story, etc, much like when writing a character in a book.
(I hate mapmaking so I included a few tips on how to not have to do that
)
i didnt say no one makes it as their first mod, plenty of people do, just that people dont recommend it
ah jeez
all i know is to replace existing sprites and thats kinda it
My main advice really is don't rush it.
rushing it is the number one way to run into that motivation problem and burn yourself out completely, for sure
learn how to operate every moving part, and don't release before you've got a character that's fairly solid.
I think you'll learn a lot just by playing with mods
Also, it is perfectly acceptable to not plan a custom home for your NPC, there are many that just have them "commute" by spawning in at the BusStop, or start out in places like the Adventurer's Guild and don't have a room until later, if they are romanceable.
im guessing it requires a lot of code too
It depends on if you are making a social or non-social NPC, as far as how many moving parts you need
A fair bit, yes, but you end up learning a lot about how the game works in the process
Basically expect to spend a month AT LEAST on learning everything
For a first-time NPC, nonsocial is way less intense.
You're not finishing this tomorrow
if you mean C# code though, it can take none, you can do it all in Content Patcher with json
I have so far managed to do all my modding without a single bit of C#
would it be fine if i could like
get a coder to do the work while i do the sprites
My NPC builder handles a lot of the base Data/Characters code for you, but some base knowledge of Content Patcher/Content Pack JSON is helpful.
Yeah, lots of people do collabs!
.... that's changing probably next year if I can find the time to learn it using the resources I now have at my disposal
i mean you can definitely collab with someone
But that requires time
Anyway, yes, you can get someone to code it while you do the art
but you'd be asking them to do a lot of the work
Would you want to do code for someone else's project?
you can commission someone, if thats an option for you
thats the thing i know zero knowledge about coding lol
thats possible too
In a lot of cases, you'd either be commissioning someone, or doing an exchange where they did the code, you did art for one of their projects, etc. But that'd be a discussion between you and whoever possibly took on the project
You can learn from scratch perfectly fine. But like I said, it's not fast
you did make a sprite/portrait replacement already though! its the same kind of coding as what you just did
hm
just a lot more of it
^ Yep, it's not that big of a leap once you know all the components, it's just multiple things you have to add now.
And the resources in the !NPC command can walk you through it!
Not knowing code is not a big deal, no one's born knowing CP.
You can check out that tutorial and get a feel for what it involves
!anyonecancook
thanks guys
No probs
Ok so I've done a bit of reading, but my question isn't exactly answered. I guess I just want some confirmation. AT works by texture type. I'm left assuming that means it doesn't matter what tilesheet it's refrencing? I have some end tables with lamps, and now that that's a functioning light, I would like to use them as such. So I just need to make a folder "Oak Lamp End Table", drop in the required files, and it can live in the main Textures Folder, right?
I'm sorry if I'm not making any sense. I'm trying to learn as I go.
Hmm, well, not using the old end table with lamps to replace the new items added, the images aren't the right size, so I guess I don't need to worry about that right now. And I think, for my own sanity's sake, I'm going to keep the sheets and their items seperated. Furniture, Furniture2, etc...
i am suffering from the bracket curse again
i cant effin find my mistake
i mean, the validator tells me the line but I am jsut sitting here like...but where did i miss what...
Start doing what I do and comment on your ending brackets as you make them. xD
(Post the link from the validator and I'll help you find it)
https://smapi.io/json/content-patcher/38fe9d61cb894fb08be169ac5f51c2f0#L275 I am astaring at the line trying to see but
there needs to be another } before that highlighted line because its still part of your "Entries" from the first block
goddamnit
right before NPC Gift Tastes, yep
Yeah, when it gives an unexpected character error, try checking the line just before.
VSC has a cool feature to help with that by collapsing blocks too
notepad++ got that too but collapsing things tend to confuse me even more lol
tho i was considering switching to VSC for the sole reason it has dark mode...
you can change the theme in N++
win11 newest updates dont allow custom themes so i suffer the curse of eyesearing lightmode for notepad++ as their themes only change the inside for some reason
idk it just really bothers me
is your system theme set to dark mode?
i looked at vsc before but all its windows kept confusing me ngl
yes
I might have to teach myself how to make mods that aren't recolours/sprite replacers hrmmm
it's a np++ setting
well if you used CP for that u r half way there
Yeah I have my np++ set to dark mode as well. Light blinds my old eyes.
you're not stupid
tbf i didnt know that existed either bc my N++ version was 4 years old so it didnt exist
and now i updated and it removed my custom theme so thats rip
yeah it's good to stay up to date
unless its win11 because 24H2 killed custom themes
but yay my notepad++ is dark now
.....i also set brackets and stuff to auto close
Huh, I just realized that when you do a custom language in N++, it defaults all the styles to having an explicitly white background, making them look atrocious with any theme but the default.
I hate autoclose its like Ill put the bracket in when Im damn ready for it
i am in a constant state of confusion i need my crutches
What really throws me is the "auto-open" where it automatically adds the opening brace after pressing enter. So I always end up with two braces and later have to hunt down why the code doesn't compile and the indentation is all screwed up.
I will miss putting the bracket in when I'm ready for it
I mean, VSC does have this in the settings that you can do to turn it off
arent they talking about N++ though
I'm OK with auto-close. The auto-open-bracing was one of Rider's idiosyncracies. Though there's probably a way to turn that off too, if I'd looked.
imo every IDE/text editor/etc should automatically detect the settings i personally prefer for everything when i install it
I wasn't sure if the auto-close was a N++ thing too
With machine learning as prominent as it is, I believe that somewhat unironically - that at some point they should realize you're fighting their code completion and selectively disable the features you hate.
Maybe not literally on install. But after a few hours of development.
i hope not, i think thatd just make me more confused why something that was happening earlier was no longer happening despite me doing nothing
Not silently of course, I mean with the unobtrusive notification saying something like "hey, you delete the closing brace 9.6 out of 10 times we insert it, do you want us to just stop doing that?"
oh, thatd be perfectly fine then
i need the butler who hands me my closing braces
on a colour-scheme-respecting platter
"Your punctuation, ser, and your champagne"
Hi matt!
@brittle pasture
Heads up, I'm preparing an update to Custom Bush that breaks your patch, but in this update your patch is no longer needed because Custom Bush checks the Indoor Pot for its qualified item id before it plants a bush.
How do I go about adding new music (not replacing) to locations? The "back to the valley music addon" mod only adds seasonal songs, but I want to add new location-based tracks.
For instance, how do I add this track to play when the player is in the secret woods?
"Format": "2.4.0",
"Changes": [
{
"Action": "EditData",
"Target": "Data/AudioChanges",
"Entries": {
// Woods 1
"woodsMd1": {
"ID": "woodsMd1",
"Category": "Music",
"FilePaths": [ "{{AbsoluteFilePath: assets/woodsMd1.wav}}" ],
"StreamedVorbis": true
},
Now that you've loaded the Audio track, you should be able to just edit the Locations data for the Woods to change the Music property there
Got it!
I would have sent a PR but I think you were in hiatus and a patch to ban bushes from water planters was quicker lol
@brittle pasture Would you mind if I DM you a separate/related submit?
The :Hi: emoji is very cute
nope, go ahead
I'm assuming this is very wrong, because it isn't working. I honestly don't even remember where I got this schema from
{
"Action": "EditData",
"Target": "Data/LocationContexts",
"TargetField": ["Default", "Music"],
"Entries": {
"Town": {
"Default": {
"Music": [
{
"Track": "townPiano1"
},
{
"Track": "townPiano2"
},
{
"Track": "adventurerGuildPiano1"
}
]
}
},
You don't change it in the Location Contexts for this, but in Data/Locations instead
Do you want your music to be added to an existing location context 
I... don't know what I'm doing lol
I'm terrible at reading technical documentation
Context would be for several locations
But you can just add to single location too
That's what you'd need to change for the Woods, since it's specifically defined in Data/Locations instead of falling back to the Location Context/MusicContext data.
K changed from data/LocationContext to /Location since it's a single, specific location. Testing now for the nth time
You should use targetfields
You would need to change your TargetFields as well
Change to what? Sorry I'm reading this page but I don't understand what I need to do. This is martian for me
"(optional) When targeting a list or dictionary, the field within the value to set as the root scope; see target field below. This field supports tokens."
https://github.com/Pathoschild/StardewMods/blob/stable/ContentPatcher/docs/author-guide/action-editdata.md#target-fields
If you followed the link where it says "see target field below" it's explained more directly
this is probably closer to what you'd need: https://smapi.io/json/content-patcher/d3035594aba14337a06e60bf1951d124
To anyone whoās made recipe mods before: whatās a good way to judge what edibility value and buffs to give a dish?
I donāt want to make anything too overpowered by mistake.
my approach is picking the closest vanilla dish and compare against it
Oh, thatās an excellent idea, thank you.
@latent storm
not sure if you're aware, but if you add DisplayName and Description to your CustomBush data model, it'll be used by Lookup Anything and UI Info Suite. Otherwise, it'll just display a default value.
Hi guys!
I was wondering if anyone here has the treecrack and treethud audio files, but if not, how can I get them?
you don't need to unpack these if you just want to use it
thanks!
I want to edit them xD
you should probably add your own audio rather than edit other ones
unless you just meant you want them for non modding purposes ig
maybe if u want to take and adjust the cues a bit
tho theres the pitch stuff u can suffer make use of
are buffs in vanilla turned off by default in vanilla? I can't seem to get the buffs to stay active after new day/saving. Is it even possible?
I added a logging in my code to tell me if it's being applied it says it does but still not working.
as said earlier buffs do not persist across days, you need to reapply them
nexus is functional for me, so probably dependss on your location
Not sure how you would use Persistent Buffs to keep equipment buffs active though, wouldn't want it to keep giving the buff when you don't have the equipment on
Plus they're already working in C#, just need to reapply the buff on day started when the ring is equipped, like Selph said before
I just uploaded my code on github. Starting to get used to it. Can anyone help me out, at my wits end. https://github.com/aronyoddity/CapeStardewCode/blob/main/CapeStardewNewCode/ItemPatches.cs
if (contextTags.Contains("item_ring,color_blue,armor_ring"))
contextTags is a set of already separated context tags, so this is never true (unless your item somehow has a context tag that's those 3 strings joined together as 1)
split that string and use Contains on each tag individually (or IsSupersetOf on the list?), or ContextTagManager.DoesTagQueryMatch .
Do y'all think there would be a way to create a vending machine type of thing using content patcher only?
I have a concept, of a animatronic that tells stories in exchange for money
So you'd input money, machine animated and tells a story and then afterward he turns off and stops moving?
I have the machine asset already
Maybe if u buy coins
And they r items that go in
The thing I'm unsure about is triggering the dialog boxes and timing the thing 
You would need c# I think
Maybe make it a shop?
I think there is a way using cp to tell if something is bought
Could maybe do it with that one map framework from erinthe but idk if that's been ported to 1.6
Hm
Or you could make it a shop
Can you start an event with trigger actions?
With a giftable npc
not with the vanilla ones
The payment/shop is not the hard part
button: "let me tell you about some crimes i'm going to let you commit"
The little guy has to do a song and dance
no, i actually have nothing for this one unfortunately, i did try
as far as i can tell it requires some custo mC# functionality from somewhere
I was thinking if u could use trigger actions here
Then u can code a event where he do the thing
spacecore can play an event with trigger actions iirc
And start event on purchase
BETAS can make a message box appear but the timing wouldnt be doable afaik
I could do the c# part
Shops do have action on buy
As long as I don't have to do anything else
So this route doesn't need additional C#, besides the spacecore
And ig if it is a shop he can have several jigs
Make a shop with one item, have a giftable npc(if you can hid it in the npc menu too) with its only loved gift being that item and every other item being hated make, remove the cap on npc gifting per week for this npc, make the loved gift received diolog for this npc be the machine and the hated gift received be the denied diolog.
This should be doable but C# would probably help
You don't need an npc to make a shop
thats not doable without C#
I was thinking instead of shop + event I could do a custom tile action
The npc is for gifting
it also wouldnt let the animation play first
you cannot selectively disable gift giving limits
What about your spouse?
Shops accept trade items if u want that 
i didnt think you could bypass the limit for them either, but regardless, you dont want to make the machine your spouse
wren chosen as the re-reviver of dynamic tile actions
Or whatever that one framework the hogwarts person wants is called
Use polyamory suite and make it a ghost spouse that only has the attribute of gifting and maybe if you can make said spouse not able to be seen on the npc screen
Seems like maintenence hell
that doesnt seem like a viable way at all compared to just a little bit of custom C#
I would totally do a one-off thing for clown's robot though
I originally suggested with "machine" in mind but honestly I think event makes the most sense
Caveat u gotta make event ofc
also spouses dont have higher gift limits either anyway never mind i misread the wiki, friendship is just halved but you can
Yea I see that but they wanted no c# so I am trying
I think you can avoid events with c#
if theyre going to use another dependency it would be easier to use spacecore anyway
Just do some TAS shenanigans
I forgot what space core has again
* takes notes for one of those 2025 things I have *
Life, the universe, and everything
Spacecore has a lot of space in it
CP is great in all but it has itās limits if you donāt want jank
Maybe a cat too
Actual answer is it's essentially the communal c# toy chest
Can you buy nothing?
If so this can be done jank free as long as there is a event from buying something
Actual answer is Casey is awesome
How does the goblin in the witches swamp get his mayo in the code?
Hardcoded I think
You could yoink that and have a shop that gives tickets
Tbh I would, personally, ask DH
DH?
Hooman
Oh
Fellowclown has a c# component made by DH
might be easy to make it a Machine and just detect when it starts processing after money is put in, display a message, then stop its processing after the animation is done
you could make its little jig the loadeffects or workingeffects or w/e
Only idea I can really think of is having an NPC who just stands in the right place whose only dialogue is to ask if you want to hear a story and selecting yes charges you money and it starts a random event
Oh yeah the machine thing is an idea
Kinda like what I said
Getting the positioning right might be the only annoying part, if you want them to look like they're the animatronic in a box
You could make the npc invisible
Pretty sure invisible NPC's can't be interacted with
you can give them invisible .pngs though
You could make the NPC stand direclty in front of the animatronic as some kind of usher or something
Thatās what I meant
So you talk to them and they ask if you want to use the machine and that triggers an event of you walking up to it and putting money in
this still requires a dependency though anyway
Does it?
how do you start the event?
Oh, I guess I assume dialogues could start events
CP?
But haven't checked
Content Patcher
oh, turns out it can actually, i didnt know that duialogue command existed
Interacting with something can trigger it
Dialogue and events are not really my thing, so I'm working with half remembered things I've skimmed lmao
i still think if you're going the event route anyway that a custom C# component is cleaner though
cleaner is subjective 
Sure, just doing it in C# would be my preference too lol
is there not just like a map tile action already that just starts an event?
of course, but "start event when right clicking this tile" seems a lot better than "create a fake invisible NPC that stands overtop this tile that talks to you and starts an event through the dialogue"
and atra says a C# component already exists
There is a TouchAction and Action for PlayEvent
Though neither would give you the option to decide if you actually want to spend the money
That could be baked into the event I guess
question fork. why not?
I would personally lose my mind if I had to sit through 2 fade outs because I was curious but didn't want/have the money
rather than 100 C# to 101 C#
I think tile action is definitely the way to go
C# can be called cleaner every time
thats not always true
It can be, but my 1000 line script would beg to differ
Could also avoid the fade on events and just directly trigger dialogue and a TAS
TAS?
Temporary Animated Sprite
I was thinking Tool Assisted Speedrun
Yeah, the full name is just a lot to type
Speedrun tool might not be much use here
And they're a pretty important part of the game
I mean CP is a lot worse if mis interpreted
in these parts we call speedruns weekend mod jams 
though idk if any mod jam was that short
I can't imagine making a mod in 2 days
I did a game jam that was 24 hours
What about the three months you spend ignoring it
8 hour modjam when /jk
I missed my meds several times, didn't sleep the entire time
No art bones in this body, all code
Yea I would 2d every game jam
MAKING a mod in 48 hours is for bite sized stuff
UPDATING a mod in that timeframe, though
I'm happy with the results of the one mod jam I did, but I never felt like doing one again 
easy peasy
You donāt have the looming expectation to keep your mod updated and adding new features/compabilty
the key is to find a spot where you don't need to add new features anymore and it's just updating/compat
Updating mods you didnāt make or donāt remember is hell
The real key is to just ignore other peoples demands on your time 
I mean, I have to disagree somewhat
I do understand the complexity thing because trying to remember all the ins and outs of Saloon Breakfast after a while away was a challenge
Sorry
but it's more just trying to figure out what the author originally intended with the code if you're working on someone else's mod
Gotta make moneyyyyyy
Lol
It's why comments are great, atra! Even if I do remember that Isla was commentless
"After careful consideration, it appears the author is very terse and hates future generations. And why yes, I'm the author."
Lol.
treat it like a gigantic research project and hope that eventually you can get your own rosetta stone XD
I'm afraid if anyone is interested in my mods and I'm not updating them, they're gonna be better off starting over, I'm never gonna be good at comments
Im dumb enough that given a few months, going back to my old code is like reading hieroglyphics. I comment not only for future development, but for my future self
I always feel bad when I suggest fixes to mods or suggest to add compatibility to mods
This is the downside of the really good memory
I love to make fun comments just because the joke sticks in my brain and helps me remember later
Unless you hit me very hard on the head
I will remember specifics, months down the line
I have an interface called IPatch and commented above it is "arrr"
Same
i do jokes on occasion, but mostly i despise useless comments and try only to write ones that explain why code is the way it is, or explain tricky stuff that isn't clear
commenting my code is unfortunately the thing im worst at i think and even more unfortunately it hasnt come back to bite me yet over the years so ive not had reason to change my ways
(also don't look at my professional output from a decade ago, when i wrote lots of useless and jokey comments!)
Don't! I like when I get incompatibility reports bc it's often mods I don't play with or sometimes even know exist. I can't fix it if nobody tells me it's broken
I don't like useless comments and every time I try to comment something I feel like I'm just stating exactly what I named shit anyways lol
If you still feel bad, though, you can always try and fix it and do a PR
the main kind of comments i write is my ratings on how bad i think the following workaround is
I think I still have a few comments like "this fixes a bug in 1.4.5 but idk why, look into it later"
// TODO: this
Oh yeah ever since I found out about VS's task list feature I've been using TODO so much
It's so good, right?
This is news to me
does it do something with those? I just wrote like that incidentally 
Also #hack
Incredibly useful tool for me, who is always forgetful. (same reason I write good commit messages)
Yeah!
neat, I should really poke around the UI some time (//todo)
Rider tells me if i have remaining TODOs before i can commit ssomething but then i can (and do) choose to ignore them and commit anyway bc i use TODOs as "this is a pipe dream for later"
Yeah! It'll fine them all and put them in a nice list for you
i use TODO and FIXME all the time, but my tool for getting a work list out of it is called grep
Grep is nice
grep my beloved
raise NotImplemented my beloved
extremely useful, fast, behaves reasonably, kickass name that's fun to say
grep makes me think of like how a cat goes blep but its a frog or possibly a toad instead
The lack of a git grep for svn makes me so sad
My favorite Linux thing is pattern-based file manipulation
It KILLS me that mass-renaming on windows is so bad
You have to do horrible things with loops
PowerRename
I have that but it's still not as convenient as having it baked in
i had to write some ill-advised .bats at my old job and robocopy was involved. i cried
I dug up a program for that that was okay, used it once, then forgot its name again 
would be nice if Windows had anything similar
PowerRename also has a nice ui
oh, that's a first party thing, hmm
It's regrx based but it gives you a preview
yeah, seems useful for the tag-naming stuff I'd been doing
I think the single most useful shell tool I have for windows is Link Shell Extension
Adds options for junctions/symlinks to the context menu
Only wish it supported right-click-drag
Still a lot easier than doing it through cli though
how do i remove the flooring under joja mart
Is there some sort of tutorial for adding items? I'm new to modding and I'm having trouble with this
just realized my dumb a spelt the sign wrong lol
JoJo mart
its canon now
What part are you having trouble with?
There's not a lot of guides, but there is a lot of documentation, at least for json stuff
well, I'm trying to add an item with a content pack but when I run debug f it can't find my item
Can you run the command "patch summary" and then upload a log?
!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.
huh
=====================
== Content patches ==
=====================
The following patches were loaded. For each patch:
- 'loaded' shows whether the patch is loaded and enabled (see details for the reason if not).
- 'conditions' shows whether the patch matches with the current conditions (see details for the reason if not). If this is unexpectedly false, check (a) the conditions above and (b) your Where field.
- 'applied' shows whether the target asset was loaded and patched. If you expected it to be loaded by this point but it's false, double-check (a) that the game has actually loaded the asset yet, and (b) your Targets field is correct.
my content.json must be wrong
(there's nothing below it)
Can you post the whole log?
If you upload and share the whole log it'd be more helpful
I want to make sure the mod is being loaded
it is
(on the smapi website)
In that case will you post your content.json on smapi.io/json and link it?
my bad, I didn't read it fully š
I see the format version is outdated
May as well use the latest, but that won't stop it from working
That all looks correct. Can you upload your manifest.json as well?
ContentPackFor must be the id for content patcher
ah I see
I converted a certain broken animated scarecrow mod from CP to AT for personal use, but it crashes my game when I leave the farmhouse upon season change. HOWEVER, I am able to spawn, place , and paint bucket the texture inside my house and it animates just fine without crashing... does anyone know why this might happen?
To explain what ContentPackFor is- it tells SMAPI what framework you're using to load the mod. Your json is set up in a way that CP can understand, so to get it to run, you have to tell smapi to give it to CP to use.
Earlier, you were telling smapi to use your c# component as the framework, and then not reading anything out of it on the c# side
That makes sense
i passed out right after posting im so so sorry jdfsd but pathos suggested a custom trigger actions for the tile animation
So.. So I get the scope of what I need to do. (my brain is juggling around ideas, it's awful)
I want to add more fish what would I need for the code?
- fish data: Spawn locations, times, rates/weight, difficulty, behaviour, category, description, potentially gift taste if they should diverge from generic fish
- fish pond data
- assets of course
- i18n
@chrome mountain I have a series of six initial pull requests ready. These just set the baseline version before we actually merge some of the content packs.
Here are the first two:
(I'll submit the next ones once those are merged to avoid merge conflicts.)
Yep. See Modding:Content Patcher + fish data + fish ponds + gift taste data on the wiki if you haven't seen them already.
- the fish object in Data/Objects: https://stardewvalleywiki.com/Modding:Items
- the fish data in Data/Fish: https://stardewvalleywiki.com/Modding:Fish_data
- the spawn data in Data/Locations: https://stardewvalleywiki.com/Modding:Location_data
- the fish pond data in Data/FishPonds: https://stardewvalleywiki.com/Modding:Fish_ponds
Haven't seen it yet no. I am too tired to look up the code so I started with the assets first.
Thanks you two!
(and I didn't want to read it all up just to get distracted by work and having forgetting everything once I wake up tomorrow)
How would aquarium data work? Sprite wise I mean, would I need to make animated ones for that?
Data/AquariumFish, it uses a seperate sprite sheet, which can have all added fish + seperate sprite indices, or individual sheets per fish
yeah you draw a bunch of frames and define which ones should be used for the animation in the data
you can unpack and see how LooseSprites/AquariumFish is laid out
As an example you can also look at how the squid is coded in Data/AquariumFish and compare it to the LooseSprites/AquariumFish
Gotcha. Is that something I have to do right away or can I just add it in a later version of the mod?
To see how to lay out custom orders of the sprite. You dont need to do it till the very end
Just note that visibleFish uses the same AquariumFish data, so you wont be able to see your fish in the water if you wanted to do that for testing.
if you don't add it your fish simply can't be put in a fish tank
nothing else breaks
That's good to know. Thanks!
is there a guide for making flavored items
i cant find one
well less so "flavored" but i want to be able to output different colored items without having to make a custom sprite for every possible option
Like Roe? I think thats a ColoredObject - I think
that's C#, we're presumably talking about CP land
i'd like to hopefully do it in CP, yeah
Yeah, Im not sure how CP accesses colored Objects
/ how preserve jars work with roe
if you need examples, look at Cornucopia Artisan Machines' essential oil and flavored yogurt
hey I don't have the role yet (haven't sent enough messages) but I just released an update for my mod. Is there any way to get it posted in mod showcase?
vanilla flavored items use some hardcoded stuff
someone here can showcase it for you
wag 2.0 switched over as well
that would be amazing can i just post the link here?
yea go ahead
do you have a message to go with it
oh uhhh I assume for here it would be something short not the full release notes right?
localized text strings... i dont know what that means š
You can just say a little description or introduction to your mod, they'll include it in the post for the showcase
How about
# Better Special Orders v1.1.0
Sick of getting stuck with Special Orders you don't want to do? Now you can reroll them. 1.1.0 reworks and expands the settings menu, adds chinese translation, adds support for more mod boards, and fixes some bugs.
it's just a fancy way of ensuring the generated display name changes when the user switches languages. You basically load the actual display name into a string asset and reference that instead of passing the string directly into the field
for now you can just use something like "%PRESERVED_DISPLAY_NAME Cake" in your machine rule, and it'll turn into "Blueberry Cake" if blueberry is used
Look at https://stardewvalleywiki.com/Modding:Item_queries ObjectDisplayName for the full explanation
.> am back. is it possible to make items that buff the player if it sits in their inventory with C#?
Most things are possible in C#, that in particular I am pretty sure is possible
I recall when the buffs system got rewritten there should be some nice function that just applies buffs
sigh is this what im gonna learn C# for... lol
You could check per tick, probably
The quirks youād need to work out are probably things like: is this in addition to food buffs or does it replace
if you didnt mind it only happening onlocationchange then you dont even need C# for it
wdym? like the buff will only apply whenever the player changes location?
you can use trigger actions to apply a buff and theres a GSQ to check whether an item is in the players inventory
combine the two and you can make a trigger action to apply the buff if this special item is in their inventory and remove the buff when its not, but the downside is you're limited to however often you can make that trigger action run
and the quickest with vanilla is LocationChanged (though you can do it on DayStarted too ofc)
so something like
{
"Action": "EditData",
"Target": "Data/TriggerActions",
"Entries": {
"{{ModId}}_LuckyCharm":{
"Id": "",
"Trigger": "LocationChanged",
"Condition": "PLAYER_HAS_ITEM Current <item> 1 1",
"Action:": "AddBuff <buff ID> [milliseconds duration]",
}
}
}```
(id isn't filled out whoops)
if they don't have it, what is the gsq?
!PLAYER_HAS_ITEM Current <item> 1 1
ah
adding a ! at the start of a GSQ inverts it
I'm trying to do something whenever a specific Dialogue pops up using OnUpdateTicked() but for some reason the second one isn't working at all. What's different with that?
Working example:
bool hasClintDialog = clint?.CurrentDialogue.Count > 0 && clint.CurrentDialogue.Peek().getCurrentDialogue() == Game1.content.LoadString("Strings\\StringsFromCSFiles:Tool.cs.14317");
if (hasClintDialog) {
//DoSomething
}```
Non working example:
```NPC robin = Game1.getCharacterFromName("Robin")
bool hasRobinDialog = robin?.CurrentDialogue.Count > 0 && robin.CurrentDialogue.Peek().getCurrentDialogue() == Game1.content.LoadString("Data\\ExtraDialogue:Robin_HouseUpgrade_Accepted");
if (hasRobinDialog) {
//DoSomething
}```
No extension on the file name? I don't know much, but since the filepath is the only different thing that would matter it seems the error would be here
But try to log variable in the console to debug
The file name is either StringsFromCSFiles or ExtraDialogue in my case. No extension needed there. Everything after : is the Key for the dialogue string which is found inside:
"Robin_HouseUpgrade_Accepted": "Thank you! I'll get started tomorrow. I should be finished in around three days.",
Alright then ^^
Have you tried to check what's in your variables then? That could orients you towards the problem
Found the issue... Looks like some of the Dialogues are not firing the OnUpdateTicked event or are causig a "frozen" state so OnUpdateTicket isn't firing at all? Not entirely sure.
But using OnMenuChanged works in that case.
Any idea why trees refuse to display properly? I've been working on updating my tilesheets, fixed mostly everything but I can't figure out how to fix this, driving me crazy lol. Might not be super noticeable in the photo but the vanilla trees sit underneath (and at times) on top of the modded textures.
Do you have your code set to PatchMode Overlay?
^ if you just set it to overlay, it will layer the tilesheet over the vanilla ones
Thank you! That did the trick
Noob question, sorry, but. I'm pretty sure I need that bracket, so I'm not sure why I'm being fussed at about it...
OH, commas.
Yeah, it ā oh. Wait. Hold on. I know where I messed up.
Iām using an older guide for this.
You need a comma after every property or object if there is another one on the same level after it
So your "Duration" property doesn't need a comma since it's the last one of its level
hey, any idea what these errors mean after updating ModBuildConfig?
Thank you, thank you.
restarting VS fixed it
Im using Content Patcher and im currently writing an dialogue. I was wondering if it would be possible to spawn an entity like an item or so at a specific Location and x, y coordinate via the dialogue itself
no, because dialogue is dialogue
it goes in the text box
You can do some things via trigger actions in dialogue, but I don't think it'd cover what you want to do: https://stardewvalleywiki.com/Modding:Trigger_actions
ok. since AddItem and or Events(?) that spawn something exist I thought it might be possible
this seems more like something that would work better in an event,
as you can spawn temporary sprites/npcs and such
What exactly are you wanting to do?
I vaguely feel you may be able to find a trigger action for that in spacecore tbh
uhh I wanna spawn an armed Mega Bomb
š¤
Yeah, you're not gonna be able to do that with CP
would it be possible without Harmony?
No idea, I don't do C#
cursed option: make a dummy npc whose normally transparent but one of the animations is just a bomb going off

though mega bomb might be too wide for an npc spritesheet 
sprites in detail:
- I want it to deal damage

I guess im done with ContentPatcher and play around with C# now. but kinda cool how easy it was to add an (barebones) NPC
Realistically speaking, it's probably easier to create an entire NPC in CP than C#, there's just too many parts to NPC's
I too wish to be sponsored by Raid Valley Legends
you will likely also find yourself wanting (or implementing, but poorly) CP's features, so i recommend this approach too. you can always keep your C# component around, like i did, for whatever shenanigans you have in mind
Out of curiosity only, how do modders deal with events in farmhouses that aren't in the kitchen?
I'm sticking in the kitchen for what I'm presently doing, but with the myriad farmhouse stuff is there a baseline way to determine a different spot?
Nope!
Ah, chaos reigns, got it XD
Warp to kitchen spot would be a Bice event command
You can do it as your first c$ mod
And spouseroom spot haha
Trust me, I've had to prevent myself from scope creeping that exact thing because it would require stopping my christmas time mod inspiration when I have limited time for it XD
And learning C# of course
I believe in you 
One of the romanceable wizard mods (RRRR I think) has events not set up at the kitchen, but they're very specific in the mod description about "don't place a furniture at X" "make sure you have a couch at Y"
suffering... accidentally got stuck in a wall once
Tbh rrrr is also a very opinionated mod last I understood
(if the farmer themself doesn't move around, furniture placement isn't an issue per se because NPCs will clip through, it'll just look odd.)
Just give the NPC a parkour animation
You can also set the farmer to clip through iirc
Yeah, I thought there was a farmer noclip type command for events, I just don't remember what it is
doing some C# to add farmhouse event commands to do stuff like harvey's dinner would be kind of fun, but i think it would be more fun if someone else did it
(the specificTemporarySprite for harvey's dinner like, locates the fireplace and does a bunch of cursed setup)
I mean, it's pretty easy c#
Good for a learning experience
(I love how hardcoded spouse events are.)
what if house doesnt have fireplace
You get put on the top left corner
is there a way to determine if an item exists anywhere on a save?
totally agree, I wanted to play around with ContentPatcher at first and it seems to be quite powerful and gave me a general idea how the asset files are structured. now I want to mess around with the actual game code. I even had fun setting everything up, unlike with VisualStudio
BETAS have a GSQ for that. In C# you'd use Utility.doesItemExistAnywhere
rmbr that its kind of slow and iterate all items
Do you mean betas as in the 1.6.15 thing
altho maybe buttons caching it
or a mod
the horse tweets mod
now I see why that name would be confusing
Oooh, this might be useful for later projects
for this one I'll still probably use it, but in a dependency-less manner
(until I have a working prototype I don't want to say too much, but I want to have a way to have the tea set enter a gift pool I'm making if someone's past year 1 and doesn't have it anywhere on the save)
Ah, heck. I'd need something to eval a GSQ in Content Patcher when conditions for that
trigger action on season start that checks the GSQ once and sets a mail flag if it passes
then you can gate your patch behind that flag
also solves the problem of that GSQ being expensive
@brave fable based on your modpage I think this is the correct way to reach you
I wanted to ask how Iām supposed to unlock cooking chocolate, and further if thereās any issues with some of your love of cooking recipes not unlocking?
Itās possible because I had to remove and re-add LoC with the advent of 1.6 things got messy, but I seem to be missing things even though I hit level 10 cooking.
this is the mod making channel, are you making a mod that depends on LoC somehow?
Oh for I to be so bold, nah, their modpage just suggested if you needed help to ask in this channel, but I could see how maybe thereās a better way to go about it
Iām sorry if I interrupted anyone
there's no way blueberry said to ask in #making-mods-general
no worries, just saying no one plays game here and u should ask in #modded-stardew
I gotta check this
for any (modded) gameplay things
i guess thats for translators
Most likely
cus loc 2.0 has a wacky system for that
Iām re-reading and what I read is probably attributed to making translations, but I just assumed it a general statement
'tis for translation stuff. Yeah, in the future, post on the modpage
Appreciate it :)
What's the sound cue for when you're cutting weeds with a scythe/opening the Winter Star present?
Not sure about Winter Star, but for cutting weeds it's weed_cut
weed_cut isn't called by anything in the Winter Star stuff, so no idea
Still trying to find what's being used there, might have to actually look at the event stuff though
It's been forever since I last reached that festival, I can't remember any sound from it at all lmao
Question: if I am adding a second floor to the island farmhouse, is there anything specific I need to set so that if the player passes out there, they aren't penalized? Or does it already work that way unless I add the location to the PassOut locations?
(it's a new location in Data/Locations entirely for the second floor)
theres playSound cut if its the winter25.json Event, not sure though
d'oh you're right
my only excuse is I'm rusty and forgot I could look there, I thought I'd have to look in the C#
Ah, I was looking too far down in the event
you wouldn't need to do this if you put the second floor on the same .tmx as the first floor... is there a reason you do it this way?
i was going to say "LocationContext": "Island" condition would help, but thats a thing?
that map prop is defo not on the wiki
if (!(passOutLocation is FarmHouse) && !(passOutLocation is IslandFarmHouse) && !(passOutLocation is Cellar) && !passOutLocation.HasMapPropertyWithValue("PassOutSafe"))```
And then if it's not any of those locations or doesn't have the map property it does the pass out stuff
i live on that page almost 24/7 and have never seen PassOutSafe 
Fairly easy thing to test, I'll slap it on Forest and see what happens
Yep, you simply wake up in bed the next day
Guess I'll add it to the wiki
Alright. This may have to be a question for casey, but just in case I'll ask everyone else first
I just talked to my custom npc at the island resort and they had their regular portrait instead of beach. Do I need anything besides this? { "Action": "Load", "Target": "Portraits/{{Russell}}_Beach", "FromFile": "assets/NPCs/Portraits/Russell_Beach_Portrait.png" },
how does the spacechase0.SpaceCore_PlayEvent eventid ifNotSeen - ifNotSeen is optional (defaults to false) - if true, the event won't play if it has been seen before triggeraction react with the "DayEnding" check?
i.e. if I set an event to fire on "dayending" will the event play and then the day end no matter what?
will the event be skipped because the day should be ending and events shouldn't happen?
base game has some events playing at DayEnding by default, so your last worry should not be a problem. Vide the mistery box appearance event
"DayEnding" goes just before the Day truly ends, calculates what needs to calculate like shipping items, and starting the next day
not sure if the SpaceCore event goes like this, but this is the base DayEnding event trigger behavior
I guess I probably need to review the 1.6 appearance changes, I didn't realize there was an impact there
yeap, probably check if that is the right portrait name to change.
you can also check if the portrait is being correctly be changed using patch export
If you're using the Appearance system you can just make an entry for when they go to the resort
It has a field for specifically making an entry for when they go there
I'm not using the appearance system I didn't know about it before. I thought it was working with just the code I posted above but maybe it broke at some point.
they have the correct beach sprite but not portrait
Thank you! This will be a big help
fireredlily is migrating to C# mods?? 
I was considering options to make one of the floors an observatory type thing where you can see 'outside' by putting a panorama scene behind it, which, the illusion gets killed quick if you see black on the edges.
Haha, no, but I am gonna use the newly discovered map property
Maybe next year I will have time to venture into C# but not yet
observatory?? š i am interested
Next year is in less than 3 weeks 
Holiday time is busy
Those are night events which are not events
Next year is in 3 weeks, but it lasts for a whole year
I wouldn't. Personally
by next year I understand in some time through the next 12 months
That's 12 whole months of procrastination
By next year I read as "mayhe some day"
I thought panorama with parallax is done by C# for just a few locations though
Like the summit
and "maybe some day" I read as "never at all"
One of your interpretations is correct
one, but you will not say which, right? lol
I read it some day as tomorrow because it's the most fun
Exactly, Relativistic
The thing I hate the most about editing the wiki... Exactly how many changes until I'm no longer making a minor edit
i feel like minor edit is like. fixing a link or a typo, or some visual adjustments, but a non-minor would be adding new content and/or redoing formatting?
Welp, I already saved it, so hopefully the wiki mods don't get fed up with my bullshit
nevermind I found the problem. One of my NPCs has an event that changes his appearance, and I had a wrong entry where I was changing his new beach appearance to use the new non-beach image instead of the new beach image
(I've seen Margotbean's talk page, I'm not sure I could bring myself to be annoying enough to actually anger them)
i'm planning on making a modding wiki page for available tilesheets
but i can't figure out what kinds of things should be listed as features/how detailed i should get with the features. not like there are that many on nexus so it's not super difficult to look through them i guess??
Seems like my mod is occassionally duplicating an NPC when I change his disposition home, or it may have to do with giving him a 000 schedule. Is there anything I can do to prevent the duplication besides not making those edits?
Pretty sure 0 schedules are the culprit and there's still no fix as far as I'm aware
Normalize warp rooms, abandon weird schedules
If I create a warp I'm worried other NPCs will use it to get places faster
Generally I think you just have a singular warp tile that changes destination depending on what you need
And the warp back can be somewhere ridiculous so they'll never calculate it as closer
This is a question about commissions related to Stardew mods: Are there people making requests for events? I'm interested in opening commissions for events once I get confident enough in my skills to make it a service
Possibly. I commissioned Arknir for two of the Jorts and Jean events.
I would say there's a market for almost anything, usually when people are asking about commissions it's just where they can request them, not sure how many of them were looking for events specifically
I know a lot of people are intimidated by even simple events, but I'm not sure how many would be willing to pay for them
I'm just having a lot of fun with making events rn š
Hi yes, it's me, the person who won't touch events lmao
I'd probably be open to doing just about anything NPC-related content patcher stuff
I've found my passion for programming again since I started this project!
I spend so much time relaunching the game to test even simple things, I can't imagine doing that for an event, sounds absolutely exhausting
Hey, sorry for the delay. I've been having a lot of problems past few days, will try to look into these things soon
I've been doing that for months until one of the people in the server said I could use console commands š
Yeah thatās understandable, glad youāre ok now (or at least enough to reply!), take your time!
Also since that weāve also noticed another bug but I didnāt want to tag you again with more stuff since you hadnāt replied yet as I didnāt want to just pile stuff on you. The SC health regen buff doesnāt seem to be working correctly, not sure if it works for positive values but at least negative values donāt seem to be damaging the farmer, the buff applies correctly it just does nothing
It's part of why I stopped adding new entries to my i18n because even if you reload the patch using console commands, it doesn't refresh the i18n information until the next boot
Isn't there an i18n reload command?
reload_i18n
Can't save you from caching though
Do you know how to tell if a mod cache'd the i18n?
The wording on the official wiki makes it sound like only some mods do that
Not without changing it, reloading it and testing again, unfortunately
I'm not sure if the base game does any caching of translations, but usually it's something you'd have to do intentionally
Hmm, someone mentioned the regen thing to me recently but I wasnāt able to reproduce it, is it possible thereās a mod conflict?
I'll check turning off some mods I was using, but I was mostly using a mod testing mod list
ask me that again I dare you (#6416578) (48h | <t:1734284915>)
Tbh just put yourself on the comms list
hell yeah š
I just tried it out and it works perfect! Less game reboots
what Class does a "thrown and ignited" Bomb belong to?
I tried:
StardewValley.Object bomb = new StardewValley.Object(position, "288");
Game1.currentLocation.objects.Add(position, bomb);
Neither "288" nor "Mega Bomb" works so I assume its for something else entirely? It places an Object in the game world however its just (see pic related), I also tried itemID "64" and instead of an Ruby I get some kind of bookshelf
You should use ItemRegistry.Create
Bombs also go through a pretty weird sequence that's mostly in the TemporaryAnimatedSprite and GameLocation classes
After they're placed
atra was saying something about using placementaction on them