#making-mods-general
1 messages · Page 329 of 1
Sure!
tries to summon tia
So it's basically just a new island in the lake
Two things
- Does that still allow the legend to be caught
- The pathfinder has issues with those teensy bridges
Better to make them 2 wide
- I will fish for a while and find out. 2. Thank you, will do
I almost made it a stone bridge and backed off
i think legend is fine just moved further but people will get confused since you yeeted the log
and guides always say use log for reference
Okay, so I did catch the legend and Eli apparently decided to use my new island for his path while I was fishing, which kind of startled me. lol
path finder
this is another thing about doing a patch like this though, you will cause unexpected routes to be chosen
Well, i kind of am going the other way. As in, i have portraits but dont know what numbers they have
Typically, 0 is neutral, 1 is happy, 2 is sad, and 3 is angry AFAIK
So you would lay out your portraits accordingly so they aren't funky if you get a default NPC dialogue that uses one of those emotions
Are you making portraits for vanilla or modded characters
Well, the numbering is in order, from left to right and top to bottom, if that helps? So top left is $0, top right is $1, and so on
Nah, i got it. I’m just using “debug dialogue” to guesstimate
Vanilla characters but using someone else’s portraits
Are you interested in SVE compatibility?
Interested in thinking about it, at least. I have it installed in my game, so it is being background thought about as I test my stuff
I recommend testing your patch on vanilla and SVE if you haven't already because SVE's changes to the forest make it quite difficult to get something that works in the same place for both SVE and vanilla.
This one is in the mountains. I usually do test stuff with vanilla and SVE, but there aren't a ton of changes to the mountains so I haven't been bothering much right now
Oh haha sorry I forgot about the little bridges in the mountain so I saw them and thought it was the forest. Ignore me then xD
For sure. I worried the picture was too vague, honestly. I appreciate the consideration
Ok knowing now that it's in the mountain, is this going to circumvent the block to the mines at the start of the game?
That's a good question. I guess it does. Maybe I can patch in a second rock to block the other side that removes when the other one does
Or I could take out the right side bridge and have that add when you get the shortcuts
Imm not sure how hurry_all works. I thought it was supposed to warp people to their predetermined locations, but i guess not?
I just did some investigation and found that it does work, but they have to have already started heading toward that location. So basically if Penny is in her house and is due to go to the museum at 3pm, if you run hurry_all at 2:50pm nothing will happen. If you run it at 3pm, she will warp from her house to the museum.
Yeah, notably I've found that I can only benefit from hurry_all when I don't have time stopped, so that makes sense. Similarly it sometimes takes a few runs to get NPCs to their correct location if I change the time with cheats
Good to know. So that means i need to set a time, do hurry, wait for the move, then set time again, etc
If you want to see them going to each place in turn, yeah
Hey all! I've made one mod before, however, that was before 1.6. I know the update was like a mod overhaul, and it changed a lot about making one, so I was wondering if there are any resources I can use to start making a new one from scratch that's 1.6 friendly?
What kind of mod do you want to make?
Another character mod lol
!npc
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!
Perfect, thank you!
Is there somewhere i can get save files from? I need one with the Joja theater built.
so im trying to make a mod that changes weapon stats based on config (for the galaxy + infinity weapons) and it doesnt look complicated but it doesnt work
{
"Action": "EditData",
"Target": "Data/Weapons",
"Fields": {
"4": { //Galaxy Sword
"MinDamage": "{{GalaxySwordMin}}",
"MaxDamage": "{{GalaxySwordMax}}"
},
"62": { //Infinity Sword
"MinDamage": "{{InfinitySwordMin}}",
"MaxDamage": "{{InfinitySwordMax}}"
},
"23": { //Galaxy Dagger
"MinDamage": "{{UltGalaxyDaggerMin}}",
"MaxDamage": "{{UltGalaxyDaggerMax}}"
},
"64": { //Infinity Dagger
"MinDamage": "{{UltInfinityDaggerMin}}",
"MaxDamage": "{{UltInfinityDaggerMax}}"
},
"29": { //Galaxy Hammer
"MinDamage": "{{UltGalaxyHammerMin}}",
"MaxDamage": "{{UltGalaxyHammerMax}}"
},
"63": { //Infinity Hammer
"MinDamage": "{{UltInfinityHammerMin}}",
"MaxDamage": "{{UltInfinityHammerMax}}"
},
}
},
]```
patch summary thinks the edit has been applied, but hover shows the vanilla stats )=
are you spawning in new weapons? i think the already spawned ones retain the original stats
weeds - keeping weeded can increase growth, letting weeds grow can stop growth
Was about to file as an issue, but someone beat me to it.
https://github.com/Pathoschild/StardewMods/issues/1095
@inland rain Sorry for the ping. Your server is defunct so I can't complain there.
Any idea what the 1.6 compatibility is for Sound Tweaker? If anything is potentially broken. ||And possibly adding .ogg format...||
Content Patcher can't edit and doesn't retain any of the metadata when you replace an audio cue. So it isn't really viable for replacing anything in the Sound category right now.
the server is tied to my old discord account, which I'm locked out of permanently due to discord's 2FA rules
do you have an error log?
My old account is in 2FA hell too, actually.
I'm just wondering if it still works.
From talking to other people in the scene there seems to be an impression that it's not updated for 1.6 yet or has been replaced by Content Patcher.
I can go forward with using it to replace a couple of sounds. And then report back to you if there are any issues.
That's epic.
Also funny something as complex as this was spared from multiple dll breaking updates.
sound effects can only be made from PCM wave files afaics
I'd mostly just want to be conscious about file size if the sounds get loaded into memory.
you can try an ogg file with this one and lmk
make sure the file ends with .ogg, lowercase
(Do you want levels transferred over? That's a thing we can do if you DM Bouncer!)
if you can give me mod maker role, that would be nice
You'd just need to update the community page to match this new account, and we can do that pretty much in one!
No, i just want to teleport them to a specific place at a specific time; but i want them to perform the actual action they want to do at that time and just hurrying them with the command isnt working on its own
(But the levels would need to be first technically because of the level requirement.)
where's the community page?
ty
And just setting the time to right before the time you want, waiting for it to tick over to when they start moving to the desired schedule point, and then using hurry doesn't work? Do they warp there but then not do the schedule animation?
okay I edited it, no need to hurry, though
Congrats on being reCheeto'd!
it was hard work, but I owe it all to decidedly human
It feels bad needing to kick the old account, but sadly... 
What permissions does the modder role have?
I do a terrible job at farming and exploiting for XP.
We can make threads, make/edit commands, use masked links...that's all I remember
there might be two old accounts in fact
I didn't farm my XP! I just help people a lot 
bc my phone number is also tied to the original account, and then my second account got flagged and I couldn't verify with phone number
discord kinda paranoid
You're one of the good ones.
Yeah. Discord made it a living hell for me to log into my old account a few years ago. They were doing a huge crackdown on spam accounts and I think I got caught in the crossfire because I had reused my token a few places.
And support is useless.
Pretty sure I've found it... could you just quickly DM it to Bouncer so I don't accidentally mention someone who just has a very similar username? 
how do I do that?
Just send a message to @outer glacier!
Yup, that's the one I found!
It works perfectly. You're the best.
Replaced the drip with a cleaned up one + wonky pitch settings. Also ogg.
That's a good sound
I wish the cavedrip sounds weren't used, like, multiple other places so I could better take advantage of this.
Add more random cave ambience.
Oh? I have to set it to the tick before?
I was setting it to the exact time
I will wait on chu, patiently...
That's what I was doing when testing, yeah. Let the game naturally hit the desired time. I didn't test setting it to the exact time and nor did I check schedule animations so I can't say that it wouldn't work, but if you only tested it at the exact time it might be worth setting it to the 10 minutes before.
Say that I have a Content Patcher token named StateOfHead with random value selected every day, and the current day the value happens to be Bald.
Can I do this as a GSQ to fire a condition? "Condition": "{{StateOfHead |contains=Bald}}"
What crimes are you committing against Elliott's hair, Dolphin 
Whatever I do, Elliott deserves it.
Omg
Been wanting a more immersive way for Elliott to lose their hair.
😭 everyone is out for his hair
I think you could test this with patch parse to check if it will parse it
Expand this into Baldew Valley?
Baldew Valley...
(That should have been a GIF.
)
Elliott Donates His Hair, a questline
Featuring the man growing his hair down to his butt and then committing to the big snip
His hair is then donated to a wig specialist in Pine Mesa or Zuzu or somewhere
And then Rodney inexplicably shows up with long, luxurious hair that he refuses to answer any questions about

Admittedly my line of thought with this would be that it's a wig specialist that makes wigs for patients of baldyheaditis
Hey again. I finished writing a bunch of stuff, and when I tried putting the mod in to make sure my character loads, it tells me " Content Patcher Could not load content pack 'Vylah': content pack has no content.json file. " I know I have the content.json in the folder, so atp I'm not sure what to do
Can you show a screenshot of your mod folder?
And make sure that file extensions are turned on, please
I actually just figured out how to get passed that error (it was stupid spelling on my part LMAO) thank you though and sorry!
I guess I just got so tired that it was easy to overlook even though It was staring me in the face for the last 30 minutes 
It's good to step back when you're tired, take a break 
I was in typo hell precisely because I was working at night and was already zonked
I am not very susceptible to typo mistakes but I make up for that by lots of other types of mistakes like forgot to save the file, editing a different copy of the file, forgot to enable the mod, forgot to Load the asset. I run SMAPI to check what I've forgotten to do lol
LOL I hear you there
I'm susceptible to getting my input item IDs wrong 
AlbarinoSyrup instead of Albarino
Rinse and repeat for all 23 other items in the producer rule json
And then repeat in a second producer rule json
Oh speaking of which Quilly, either your hotfix for your sodas was the wrong zip or I just downloaded the wrong zip because when I went to judge it, a whole bunch of your i18n tokens still had the ModID tokens inside them and the whole thing was broken. I didn't realise you'd fixed that as part of your (elusive, mysterious) hotfix so I just fixed them all myself lol
It's okay we judged based on the working version
It must have been the wrong zip I sent, because I definitely fixed those
Especially since it was maybe just a me-problem downloading the wrong zip haha
I've since started labelling my zips better
You guys are too sweet to me 
Test candidate 1, test candidate 2, test candidate bollocks were yesterday's names while testing the producer rules
I was very fed up by the time I got to the third one, can you tell
TBH if I was zipping my mods before I was ready to publish I'd be doing a terrible job
I am very bad at any kind of version updating before release because my brain says a version under 1 cannot exist
I'm the same
The prototype I submitted for the mod jam is 1.0.0, just like the release candidate 
Can anyone help me figure out why this JSON isn't valid?
https://smapi.io/json/content-patcher/2ae2c84786b5400fbc3b87e314567674
Uh, whoops. Responded in the other channel. Those should all be Entries. You also need an Action and Target.
HUH. Thank you!
okay holy shit it was working all along. cool cool cool
What are examples of an action and target? Just pretend I havent made a mod in two years and forgot/have no clue what actions and targets. You know, for the people that dont know.
lets say youre trying to load in new portraits for Abigail. the action is EditImage (iirc), the target is Portraits/Abigail
in your example the action is EditData, the target is the address and name of whichever file youre trying to edit
The GitHub repo for Content Patcher goes in more depth. It's also really easy to read imo. https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide.md
OH LOL yeah that actually makes sense. thanks guys!
"Action": "EditData",
"Target": "Dialogues/Emily", //obviously not this you know what i mean
"Fields": {
{{all of that what you wrote}}
}
}```
It's also not illegal to look at someone else's mod to figure out how they did something. If you want an example.
You're right lol. Honestly I only mod on my laptop I use my pc to play games so I don't have any extra npc mods on my laptop to reference and I guess my brain was too lazy to just think about downloading another mod LMAO thank you
I'm the opposite, all my mods are on 0.1.something 
Been getting really into starting all of my versions at 0.0.1. Really sets the tone for what you can expect out of me.
...i only start version tracking after i upload for the first time...
and its always at 1.0.0 for me. i have released, whatever the fuck this is is the release version :|
So the dialogue is working except for the fact that it says the Monday dialogue before it says the introduction dialogue 
Does your npc have gift tastes yet
If not, see if the issue goes anyway if you add gift tastes
It went away lol thanks!
Hello! Is there anyone here who created content packs using Json Assets (I am interested in creating new crops). I tried to create one of my own fruits, but there are problems. With json files everything seems to be fine, but I'm not sure about sprites. Can someone help me? See where the problem is and tell me about it. 🥹
does anyone know if this is 1.6 compatible?
I should point out that we don't really use JA anymore, everything can be done with content patcher now
Oh, I see. Thanks for the answer!
it isn't on the compatibility list
What's better to change a room in the saloon, Load or EditMap?
EditMap
Load replaces the whole thing with your copy, EditMap allows you to edit only a part of it
it's a content pack, not a C# mod, so it isn't listed. in any case the best answer is probably givd it a try
Thank you!
Damn understanding how patch_reload has made life so much easuer
What seems to be working right now is letting each character start their schedule one after another and warping them to each. For exampleof there schedule has them moving at 8 am, then again and 4 pm, timewarping to 7:50, letting it run, using hurry_all, then jumping 3:50 pm then using hurry all is sufficient to get them to where i want to be
Well, not perfect but at least it's not as tedious as having to follow them around all day lol
Yeah this still cuts down on time, thanks!
Another weird question; is it possible to have a dialogue box switch to another character’s portraits? If i want it to be like a dialogue between two characters
can someone help me how to add textures while also keeping the vanilla animal textures, i've tried copying the contents from animalfacelift, cuter barn animals, and other animal mods but i can't seem to figure it our nor make it work. i just want to add an animal texture which i can pick from using livestock bazaar as well. i also asked before but i still can't seem to comprehend especially using the wiki for skins, so i am very sorry
for reference if it's okay, this is what i am trying to do:
that spot is for a new chicken purchase type, which you shouldnt do
skins I believe are selected using the arrows in the top left of that panel
ooh, that's why! a new purchases type is what i am trying to do
may i ask why i shouldn't do it, does it mess with the game
purchase type changes produce, skin only changes looks
you have to duplicate every field of the vanilla chicken, including produce
mods that add new drops for the chicken wouldn't work with your mod
what if i just want to copy all the data even the produce, i just want to add a new look for them that's all
if your new chicken has unique drops then sure, but if you're only adding skins no need to go through that trouble
new looks is what the skins system is for
so if i want to add a new produce, i have to download a framework mod first, right?
because i'm fine with duplicating every field of the vanilla chicken to be honest
Followup for the question on portraits from before. Vanilla standard portraits are labelled 0 thru 5, but what if i wanted to access a winter or beach portrait?
those are not part of the same sheet, but are typically separate sheets using the new appearances system
in events I think you can do temp portraits though?
well, it's your mod
you'll be adding a new farm animal entirely, make it unpurchasable, and edit the vanilla chicken's alternate purchase type field to add your chicken
i just edit data for the vanilla chicken, right? i already edited the alternate purchase type
yes, then add a new animal corresponding to that alt purchase type
Huh, didnt know that. So an ordinary $ command would not be capable of calling it
yes, the NPC must already be in that appearance
you can edit Appearances to add an extra entry for "is in this event"
thanks! do i only need action editdata and target data/farmanimals, then just duplicate the vanilla one and add the new animal last, right? do i need to use the "entries" like other mods do as well
Entries is how you specify what to edit/add, yes
also I don't know if you meant "duplicate all of Data/FarmAnimals", but if yes then dont
just add your entry
-# Catching up on messages I missed ...
I did indeed do this. People are welcome to steal it if they want. https://github.com/KhloeLeclair/StardewMods/blob/main/Common%2FArgumentParser.cs
I also strongly recommend against new purchase type btw
If your alt purchase is literally just texture then adding a skin is much easier
can i still add new produce using skins in a different method?
what do you even know about livestock bazaar though, chu /j
Oh if you want entirely new produce then yea need alt purchase 
However i think it's not that bad to present them as regular independently purchasable animal entry
You are already adding a new top level entry
like a new type of animal altogether? so if i want like a rainbow chicken that produces a rainbow egg for example, it should just be a separate animal?
Yeah i think it's clearer for the user if they just see it immediately
This is just opinion ofc
it must be a separate animal, alt purchase type or not
not using the alt purchase thing means your user (who doesn't use LB) can buy your chicken directly instead of repeatedly clicking Marnie's chicken icon and pray that the woman gives them their rainbow chimken
oh, tbh i am just trying it for myself for now hahaha still new at this, and just exploring what i can mess with. but yeah, I'll try to do that!
LB has a setting to not override marnie menu so you can check what a non lb player sees
Remember that it's not required for adding new animal in general only new non marnie vendors
how do you make seasonal tilesheets?
Make the assets (4 of em) of course
Then load them to a target like Maps/spring_YourModId_Tilesheet
Do this for all 4 assets
Lastly edit with the spring_ version
Yes, but only in outdoors locations
And only if it starts with the season name and then an underscore
thank you!
I need a collective noun for the group of npcs that are being dated by a player. Multiple married npcs is easy: "spouses". But what could I use for the other list?
In other words, is there a gender neutral term for girlfriend/boyfriend?
also, is it rude to make a portrait mod of an expansion mod with a different artstyle? like, im trying to make a portrait mod mostly for myself of east scarp in my style, but is it rude to redraw them like that?
Is it for personal use or as a mod you want to distribute?
personal use for now, but i was just wondering
FWIW, most people don't care about what portrait style other people use 🙂 And most mod makers are just happy to see portrait mods done for their mods. But you can always ask the person who did East Scarp
Partners?
Better than anything I've thought of so far. But that could also apply to spouses
okay, thank you! i wasn't trying to "fix" their art style or anything, just use an art style i enjoyed... but i was scared i would offend anyone
That's true. Could also do significant others
Nah. Take a look at OrangePie's artwork. They do full sets for ridgeside (I think) in DCBurger style
Pre-marital SOs xD
thank you. ill ask the person who made east scarp though, as you said
English is not helping here
lovers? idk that sounds a bit weird
Companions?
That covers romantic and platonic relationships
Lovers doesn't imply marriage, so maybe. Companions is pretty good. I just want it to be unambiguous to other mod authors, since I'm trying to make tokens
And I might release it as a separate mod later
i wish there was a word like "daters" or something lol
welp gtg bye, i hope you find a word... english didnt think of that ig lol
I think spouses and companions will work for now, but I genuinely wanted the "people I'm actually dating" meaning
Thanks!
Suitors?
Oooooh
You know. That could work.
Yeah, I want the explicitly romantic meaning (not future roomates). I'll use different works for platonic stuff later maybe
Suitors it is
Spouses -- all married NPCs
Suitors -- all dating NPCs
Lovers/Partners (undecided) -- all married OR dating NPCs
Companions -- all platonic NPCs
Eh, probably not tons. But if I'm making the one token I need, it doesn't take a lot of extra effort to add more. And I could order by hearts or by name
Anyhow it's probably not necessary to make the Lovers token
You can use Merge to combine Spouses and Suitors
The one token I actually need is the suitor with the current most hearts. Random if there is more than one
And companion would be "not in either but is social"
Nice!
These r within dynamic token capabilities
You can do this as a content patcher PR perhaps
I remember trying to get a list of spouses out with dynamic tokens and failing. So I thought an explicit mod token would be nice. I'm probably just not as familiar with how to make it work with dynamic tokens as you are though!
PR? btw
Well the spouse is assumed to be 1 cus no poly mod
It is the poly mod that has to provide extra spouses token since they r managing that
You do need to make the Suitors token yea
What is a PR btw? I'm not familiar with the acronym
This stuff, right? https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/extensibility.md
I personally think it's a reasonable add because cp has a number of other player npc relationship tokens
Naw this is if you are making separate mod that provides token
That was the plan. I figured if the token is useful for me in one mod, it might be useful to others
PR would be directly make change to content patcher and ask pathos to merge it into cp 2.8.0
OH!
The way prs work is that you fork the original code, make changes to it, and then "request" that the main repository "pull" those changes into it
Actually contributing to CP
It's a way of contributing to a project without having direct access
I didn't realize that Pathos was open to that in the first place. Very good to know!
though if you plan on it i would ask pathos what he thinks of the idea first
Pathos is open to PRs without being asked but if you ask first you'll know right away whether he even wants the feature
or if he wants it done a certain way
otherwise you risk making the PR and him politely declining it
i like to think most people hosting on github are open to PRs (it's a github thing)
this is (iirc) pathos's words not mine
yeah pathos's thing is about saving other people work and hassle
Cool. I'd be super happy to have Suitors in CP, but equally happy to release it as a mod with a few other relationship tokens
Yeah you should ask for opinion
So I'll see what Pathos thinks/wants
But i personally just make it happen first and then ask for permission via PR 
Polite decline is acceptable outcome to me
(particularly id be most unsure about any token that implies an integration with another mod, like tokens that specifically deal with multiple spouses, as i dont think any other token is really mod-dependent like that? GMCM is like the only integration i know for CP)
Oh I don't think you'd want to do spouses either
That should be the poly mod's problem
I can see the sense in that
But you can date multiple npcs in vanilla
Hence why i think that's fine to add to content patcher itself
dating yeah
the "all platonic NPCs" would be a pretty relatively expensive one too, fwiw
i think any token dealing with relationships is pretty expensive bc of how the friendship is stored, just smth to keep in mind
i would ask first if it was going to be/turning into a lot of work. polite decline is fine by me, too, so the one i did recently i just did and sent it off. it wasn't a very big time investment
okay, can someone tell and show me how to create new corps using the content patcher? I'm new to this... 🥹
I haven't done this myself, but you can always look at an example!
https://www.nexusmods.com/stardewvalley/mods/19508?tab=files
Thank you!!
There's also a wiki page: https://stardewvalleywiki.com/Modding:Crop_data
Hopefully between the two of those, you can get a start. After that, if you run into trouble with execution or errors, feel free to ask more questions 🙂
cornucopia is a rather complicated example, isnt it? id probably try lookin for a tinier crop mod first, though i dont know one off the top of my head
Linked the first one I found that used CP xD. I genuinely don't use crop mods, so that's the best I could do
@topaz idol i think this is slightly outdated, but it might be nice to look at the overall process! https://stardewmodding.wiki.gg/wiki/Tutorial:_Making_a_New_Crop
i also used this for my first mod, which added a crop. although its about fish, the way you add an item and such still works for crops!https://stardewmodding.wiki.gg/wiki/Tutorial:_Adding_a_New_Fish
PLEASE NOTE: JSON Assets is obsolete in 1.6 in favor of Content Patcher. Backwards compatibility is maintained, but for new crops CP should be used.
Making a new crop is easy with Json Assets (JA), but involves a few more steps than some other beginner mods. However, don't be intimidated by the length of this tutorial! It's only long so as to e...
Adding a new fish to the game has never been easier than in 1.6; nowadays, fish are a simple set of patches via Content Patcher. There are four required steps: you need to load sprite images, define the fish (as an item, and as a fish) and add it to locations. Optionally, you can add aquarium sprites and data, and fish pond data. I'll be using ...
Don't use the json assets guide, JA specifically has a crop harvest bug
I actually told them not to use JA earlier 
Hi I have a template just for crops https://github.com/6480k/6480-Stardew-Mods/tree/main/[CP] Mouse-Ear Cress
(you should also read specifically the wiki page that says Modding:Crop_Data)
yup i just used the guide with JA for how the sprites worked
I would personally say dont look at the page that says "Tutorial: Making a New Crop"
The information on it would conflict entirely with what you need to do, so you may end up mixing approaches
6480 what if we just put ur template on the modding wiki
go for it
Yay
It would be better described on a wiki page rather than in code comments but I am lazy
I linked it the last time this came up, but the How to Use a Template page on the wiki does actually have a crop template there as an example (at least for the image layout)
So you've got a template with a bunch of colored squares on it. Now what?
Templates are easiest to use in a program that uses layers. This explanation will for now assume you understand how layers in an image editing program work.
Layers in Photoshop
Layers in Gimp
Layers in Aseprite
Let's say you made a crop (or, in this case, literally just c...
is there a way to refresh textures while in the game so I don't have to quit and load again just to see what something looks like?
patch reload your_mod_id_here
where do I find the mod id? im recoloring something from an existing mod
are you editing the original or patching over it?
whatever mod you want to refresh the patches from, the mod id is found in the mod's manifest.json
editing the original. just desaturating something
yeah then you'll want the original's UniqueId in the manifest.json
in the manifest
that didn't do anything
wait I think I put it in the wrong place
it's at not content patcher
does that change what I put in bc it gives me an error if I use "patch reload"
it's "at_reload" if anyone else is wondering
hello again... I found an example for working on the mod and I did everything like there but for my own, but it still doesn't work. can someone take a look at the file (I'll send the zip) and tell me what's wrong and what needs to be fixed (and most importantly how to fix it)🥹
what kind of mod is it?
!json if it's not a C# mod (e.g. content patcher), use the json uploader to share your jsons
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.
adds a new berry to the game, nothing like that
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.
no it's not an error, the strange thing is that it is issued by the command but there is no sprite ( instead of him red crossed out circle) in the description there is only the name and (???). I can only assume that the problem is in the sprites(
do this then
I'm not good at coding (and stuff like that) so I don't even really know how to fix it
I don't know for sure, but these i18n string keys don't look good (the spaces)
Your json file is missing some brackets
every opening bracket must be matched with a closing one in order, like a burger
(spaces in i18n keys shouldnt matter)
and you actually have to Load a texture into "Mods/{{ModId}}/Opalberry Seed", because right now I'm pretty sure the game doesn't have any texture when trying to get that asset
add a ] between the last two } I think
smh yet another case of bad indentation...
omg wait you DONT have to exit the game and wait for smapi to load all over again all the time??? ur a life saver
depends on what you're trying to reload
patch reload is a Content Patcher specific command and does not reload configschema or dynamictokens, notably
if its one of those or your mod is not a CP mod, you're out of luck (unless the non-CP mod you're reloading for also comes with its own reload command)
good to know, thank you!
And yet, can someone take a look, fix it (make it fully work), write down what was wrong and send it back to me so that I can use this mod in the future?
(I... think this might be fully done now.)
Apart from the name quirk, but that was me being silly.
oooooo very fancy
The one thing I'd like to change is to use this repo instead of just storing the reference assemblies in mine: https://github.com/StardewModders/mod-reference-assemblies
But it's a bit out of date, and I'm too lazy to ask for the ability to update it. 
like leroy said, you have to add Load patches for your textures. it should look something like this
"Target":"Mods/{{ModId}}/OpalberrySeed",
"FromFile": "Opalberry Seed.png"```
do it for both the seed and for the object
Hey question
There is a prismatic quality mod and I was wondering if there was a way to edit some of the coding so combined with an item mod I can spawn prismatic quality stuff
Hm you may have to ask the author
I wonder if this works properly in item spawn fields
if item queries use ItemRegistry.Create then it wont if you set the quality to 5, but it probably would if you set it to 4
(quality is clamped to 4 after ItemRegistry.Create)
I guess u should just try it
yeah I dont see that mod removing the clamp
though that does involve passing the random check in this patch
its clamped when its a machine output, too
maybe they can patch FixQuality?
yeah itd be real easy
(addendum: by probably i guess that does just mean "subject to the random check" entirely bc i forgor 4 is used for iridium)
wish i knew why the FixQuality hack was done instead of just making 3 iridium
I wonder if the author is in this server
to summarize, I don't think it will work, but you can request the author to patch FixQuality so you can spawn prismatic items directly
it's probably because it's easier than changing the recipe formula to "if quality is 3 consider it as 4 for the purpose of price calculation"
i mean, why was the recipe formula not already made with 3 in mind
because it's price * (1 + quality * 0.25)
and iridiums have a leap over gold
price * (1 + (quality == 3 ? quality + 1 : quality) * 0.25)
yes, but consider ||ew ternary||
i enjoy ternaries and also itd hardly be the worst looking code in stardew
/s
/srs
This isn't as bad as the violently gendered
anyway not that it's going to be changed this deep into the game's lifespan, probably
Ok I did ask thank you
Imo prismatic quality should be 8 so that it is a flag enum \j
price * (1 + (quality == 8 ? quality / 2 : quality) * 0.25)
this game dev shit is easy
(/s)
no, the worst looking code in the game is the incorrect clock code which I'm still very very angry about. literally unplayable
btw? does this come off as rude for me to type?? idk if im asking this question right on nexus
there's a difference between permissions and copyright law, if you only care about copyright law you don't necessarily need to ask for permission, and if you care about permissions being allowed legally doesn't matter
how should word my question then?
honestly I'd just remove everything but what you're actually trying to ask
"hey, is it okay if I commission someone to make portraits that look like these ones?"
It could never be rude to ask permission for something you don't hard need it for!
Definitely good to, though... but considering all of the nypau style portraits out there that stay up, I don't see them minding?
no need to inform that you have a question (you can just ask the question) and no need to bring up the legal part (it comes off as argumentative) or the part about being rude (protip: this is you introducing the idea that this may be rude to the person reading it)
ohh sorry autism...
sometimes what i say doesn't come out right
especially in writing...
dw, I'm autistic too, that's how I learned these things over time
(a lot of people in this server are autistic/nd)
This feels like a good time to tell the thing I've always chuckled at, but never said to anyone.
Any time I see someone say "aww tysm", I read it as...

i mean
DH...
ya ain't wrong
And have now infected you all with it.
nooo I'm gonna do that too now 
Bapped
Hey, I've revamped my previous crypto mods to a pelican stock exchange! (now without using an API)
only thing i added to your suggestion was "if not? that's ok!" and "have a good day"
That's a good addition, yeah!
i usually add that to let people know i intend on being nice
up to you, these are nice things to add for sure!
i try my best
(idk if you can tell but I'm the overly blunt kind of autistic usually lmao)
and i notice online? things can be lost in translation
Mr Qi is the invisible hand of the market
does the farmer flooding the market with a thousand ancient fruits a week count as market manipulation
Breaking News Miraculous 'Ancient Fruit' Revealed to be GMO Figs
(im actually pretty impressed with the rendering of those charts...)
Yeah i like the new color scheme too
Is the lines a monogame thing u can draw or rawdogging it with staminarect
I don't think MonoGame has any kind of... shapes...
Would you like a #mod-showcase ?
I can repost it on your behalf to there
id be honored, and i dont know how to post it to the mod showcase
thank you
Until u get the
role it is just someone else doing it for you
Is there a blurb you'd like to include?
You can draw lines with vertices I think, but you'd either have to convert to polygons or fiddle with the draw state
The base game just draws staminarect a lot
i see
I think thats all for now
i am trying to play the game and after a while or when i go to a new place my game crashes and it shows me this does anybody know what the problem may be
!mh
For help with modding issues, please ask in #1272025932932055121! When asking for assistance there, sharing an error log will help others identify your issue (see https://smapi.io/log for instructions).
I did it! I finally fixed my temporary actor script! My final event finally works correctly! I'm done! Dobby is free!
Yo, how can I actually make a jellyfish hairstyle that actually looks good😭
Just make the pixels the colors you want /jk
It could help to do some concept art (non pixel?)
#making-mods-art is better place to ask though my art skills are -2
Out of pure curiosity... since when is TargetField a thing? 
Were there deeply nested edits in 2022
Fishpond movie and special order
Ah yes good idea, thanks
That long?
Damn... I thought it was like 23/24
Wasn't Community Center always complex. At least ever since remixed bundles?
Or was that part of the dehardcoding effort
hey
is there anyone who would like to help me test... a powershell script. (i also have it converted to .exe) (i promise theyre not malware)
the thing they do is create a backup of all config.json files along with the folder structure they're in in the folder you put them and run them and its subfolders
(like the /Mods folder of your game)
(the idea is that you can then take the inside of the folder they make and copypaste it and restore all your config files)
they work but also im the person who made them so i know how they are supposed to work
i promise there isnt a single command in there that does anything other than create folders and copy files into them
I mean it's a script
Post it via paste bin or gist so people can look b4 download maybe?
you can open the .ps1 file with notepad
or notepad++
its not like it executes on unzip
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
here it is!
*my bad it also creates a .txt file with a list of all the files it copied
Gist is nice cus u can version stuff too
Hi folks. Question about map modding and the "FarmCaveEntry" map property.
I moved the farm cave entrance a few tiles left on my modded standard Farm and updated the warps from Farm > FarmCave and FarmCave > Farm accordingly.
If I use a different farm type (e.g., Four Corners), the entrance to the farm cave is near the center of the map, and I can enter it just fine, but when I exit, it uses the warp to Farm and sticks me in a wall up top. I modded a copy of Farm_FourCorners and added the FarmCaveEntry property to the map. I confirmed it loads the modded farm correctly, but the FarmCaveEntry property doesn't seem to do its thing. Does the Warp property from FarmCave > Farm override the FarmCaveEntry property of Farm_FourCorners?
I may just add a condition in the content.json to detect the FarmType and load a separate copy of FarmCave with new warps if I can't get FarmCaveEntry to work.
I think what you want is to edit FarmCave > Farm since that's what defines the exit
how do i make a pack for this mod? i wanna make some child npcs that match my oc's kids for personal use
https://www.nexusmods.com/stardewvalley/mods/15152
check the already existing packs?
should i use an existing pack as a base??
probably a good idea
is it possible for the kids for this mod to be result from any spouse?
ye
just wondering cause the packs seem to be for specific spouses
check out Farmer's Children
Are you saying set the condition in the content.json to just edit the warp rather than load a whole map containing the updated warp?
Is there still no way to use FarmCaveEntry to override the arrival location of the player on the Four Corners map?
cool cool
say, i'll repeat my question.
does anyone want to help me test a script / .exe file that is supposed to copy all your config.json files to a separate folder?
it does that, to be clear, i did the testing on my machine, i just want to see what people who arent me get / think
Ok update I actually can spawn it with the item spawner
I just have to set to iridium
Then click as sometime I’ll actually get it but it works good enough for me lol
Is there a list of everything that can go into a “when” parameter in a content.json
how that mod works is that it randomly transforms an iridium item into prismatic 50% of the time
how do you ask someone to post something on the mod showcase?
i just finished my portrait mod for aideen 😄https://staticdelivery.nexusmods.com/mods/1303/images/34525/34525-1748991654-212030524.png
just paste the link to the mod
is the mapPath field on GameLocation the same asset name that i would see in something like an AssetsInvalidated event? or should i be looking at GameLocation.map.assetPath? or somewhere else?
mapPath is netstring that gets init with CreateLocationData.MapPath
so yea it should be an asset name
What do you need it for
depending on whether or not the map for a location has a TileData with a specific action on it i need to do some things differently
but i dont wanna check all the tiles in the map every single time i check if it has that specific TileData so i wanted to cache whether or not it had it
but if the map gets invalidated it mightve had that TileData added to it so i need to clear the cache
so i wanna look for this location's map in AssetsInvalidated
if you are lazy then this is good case for map property
in this case the tiledata im lookign for is an Action that opens up a menu with some options
and if that tiledata doesnt exist, i want to add those menu options to this other menu instead so theyre still accessible
i dont think id wanna make people add the map property in order to be able to omit the tiledata instead id rather just check for the tiledata
if the tiledata didnt have an Action attached to it id consider the map property but since the tiledata has to do something anyway and cant just simply be turned into a binary property i feel this is better
id still need to know to purge my own cache, though, that says whether or not it has the tile
though, i guess checking for the map paths in the assetsinvalidated list might just be worse performance anyway than simply iterating over every tile on the map every single time i do the check
in hindsight thats probably very clearly in fact the case. i should probably take a nap or something
hello! if you dont mind, could someone with the mod author role help me post this in the mod showcase? this is my first mod so i wasn't sure how to!
https://www.nexusmods.com/stardewvalley/mods/34525
I'm too low level to post in mod showcase myself, but congrats on your first mod!
thanks! i was super nervous about posting it because its my first mod and i wasnt sure the art was good 🙂
It looks really good !!
thank you 
Hey how do I make a bedroom door for my custom npc? one where you can only open it if you have two hearts?
Is there an easy way to get the current game version from inside a mod?
Ask there mod to put icon item on chest?, so we don't need to put sign to organizer item
never mind it's game1.version of course it is right there
Oh thank you
Well, time to set protections on the codeblock in my Pelican Valley Loft google sheet, I guess. Somebody apparently erased/incorrectly copy/pasted over the Locked Door code
It's been corrected now
would you like a little blurb to go along with it?
You need to set a TileData property on the bottom tile of your door, as Action Door <internalNPCName>
You can do this in Tiled directly on your map, or via code.
maybe something simple like "Portraits for Aideen (East Scarp villager) closer to vanilla style!"
posting on behalf of @twin wadi: Portraits for Aideen (East Scarp villager) closer to vanilla style! https://www.nexusmods.com/stardewvalley/mods/34525
i think you also need a Door map property - this guide is helpful. https://stardewmodding.wiki.gg/wiki/Kailey's_Interior_Door_Guide
This is a mildly advanced guide for modders that assumes familiarity with Tiled, Content Patcher, and map modding fundamentals such as the difference between Map Properties and Tile Properties.
Interior doors, such as the one in Figure 1, are interactive map elements with hardcoded behaviour (see InteriorDoor.cs). There are three types in the b...
thank you so much!
np!
Thank you!!!
i forgot to add a nexus id for the manifest... do i update that asap?
assuming you already published on nexus, yes update quite quickly
iirc you can just replace 1.0.0 so nobody would know what happened
okay thanks
Reading up on this I see "interiorDoor.cs" Is that a script you have to write? Is there something I have to put in my content.json to make the door animations work?
that's referring to the game source code, and no, that line means "if you want to know how it works under the hood read it"
refer to the rest of the page for the actual guide
Lol gotcha
You're not trying to do customized doors right just the ones that are already there in vanilla?
ngl the easiest way to do generic doors is use vanilla doors and locationchanged patch 
will do. Quick clarifying question though, do I have to place the animation on the door or do I just put the door down with the tileData and it shows up on there?
No animation is involved
yea game does that for you
You can open one of the vanilla indoor maps to see how it's done.
Awesome thanks. I'm sure I'll be back later (hopefully not with questions about a door LOL)
Doors are fun lol
doors...
If I wanted to add furniture that isn't normally there during an event do I just do it in game? I don't see an object number or tile number for addObject or addBigProp that I want. I'm looking for a specific table
(@lucid iron By the way, you can ignore all the comments in your PR temporarily. I'll clean them up when I finish reviewing and let you know when I'm done.)
You can use the addObject event command with the furniture's qualified item ID (i.e. (F) and then its key in Data/Furniture). If you have Lookup Anything, you can lookup the table to see its internal ID.
u know i wish there was way to use cp like token in markdown 
to handle updating "Format" every time
Ah perfect thank you I found the ID! so if I'm reading the documentation and your advice right to add an object like the Diviner Table I can replace <item ID> with (F)1138 giving me /addObject <x> <y> (F)1138 <layer> right?
Microsoft docs for Azure do some fun things where they will add metadata to code snippets in the readme
https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/eventhub/event-hubs/README.md?plain=1#L158-L167 which correlate to unit tests in the codebase https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/eventhub/event-hubs/test/snippets.spec.ts#L18-L27 and the CI will only let merges happen if the readme is in sync, and the test passes
is there a way to check dynamic tokens/if they're being applied
patch summary "<modid>"
you can also do patch parse {{dynamictoken}} <ModId>
token info is at the top
Other option is my upcoming debugger mod, but not fully comfortable yet with releasing builds of the extension itself yet
The qicrow summoned it
Very in line with Qi's personality tbh
Did you see the Nyapu portraits were added, Chu? 
Instead of snow, just say it's cottonwood seeds blowing through the air. Unique spring weather that just happens to look exactly like snow.
Why dose it look kind of nice
@lucid iron Thanks for all the work on the Content Patcher Chinese docs!
I finished the main review pass and listed some suggested changes. (Note that GitHub hides most of the comments under "X hidden conversations", so you'll need to expand that to see all of them.)
does anyone know how I add parentheses to a square bracket list in C# regex? Is it just something like [()A-Za-z]?
I think most regex flavours would need you to escape them?
You need to escape them yeah
oh, actually apparently you don't in c# flavour regex in this very specific context where they're inside a positive character group!
should match ((BC)123)
i usually escape everything that i know is normally a special char
but I agree with shockah, yeah
even if that special char would not apply in that position
does c# not have the ? operator?
instead of {0,1}
it definitely does
and the + operator instead of {1,}
I'm working with someone else's regex, just adapting it
oh it looks like they've been escaping the parentheses
if you're specifically trying to match item IDs I would structure the expression differently tbh because this will also match ()))a(()
do you want them to have to be qualified?
yeah
idk
maybe
it's either that or make different code for object and bigcraftables
I would just do (\(\([A-Za-z]+\)[A-Za-z0-9]+\))?
thank you :))
there's probably better escape characters instead of those groups but I cba to look them up haha
also if you don't want it to match the empty string, remove the ? at the end ofc
i do, but ty
we're publishing a new version of Dynamic Map Tiles
other ppl have worked on it while I was away, it does a bunch of new things
worked on = rewritten
Updated chichi's craftables :O! Now with 10 more retextures!
I want to try out a few edits to SMAPI so I've cloned it and opened it in Rider, but even though there exists a run configuration for SMAPI.Install, it fails with the error message
ops! Some of the installer files are missing; try re-downloading the installer. (Missing file: /home/kaitlyn/Projects/RiderProjects/SMAPI/src/SMAPI.Installer/bin/Debug/install.dat)
It seems the manual install instructions also require this file. Do I have to prepare the release package and install that every time I want to test a change, or is there a quicker way? If that is the case, I'm still confused by the existence of the installer run configuration
Don't know about rider, but normally in visual studio you never go near SMAPI.Installer and you just hit start on the SMAPI project
I imagine the run configuration for the installer is just a side effect of it existing as a project that builds to an executable.
I'm definitely missing something. I know BrookSounds is a property for any ambient sound in the world. When I open up the files in Tiled or search the unpacked assets, all I see are properties for waterfall sounds (first two numbers are x y axis, second is sound type).
I swear I've heard the babblingBrook sound. Obviously know about the engine sound. cracklingFire is used for Linus' campfire.
I got mega nerdsniped by this. This wasn't even what I was initially looking into.
So nobody has to go searching up the wiki link on my behalf. Reference to what type plays what.
https://stardewvalleywiki.com/Modding:Maps#Audio
Hoi, I'm going to stop checking most channels until I'm done with Deltarune, if anyone has any FF question/issue/report/suggestion, please send them to https://discord.com/channels/137344473976799233/1340345659642875915
Good morning! So im trying to implement choices that assign a type of points that accumulate and determine a path taken- however when I try to put these as trigger actions during events with quickQuestion they keep popping up as part of the dialogue box with the $coin. Am I doing it wrong?
That sounds like a dialogue syntax issue
Yes. Yes it is haha I think i fixed it but I gotta take hubby to work so I’ll check later
Hello guy, i want to get Texture2D object with unique id
so should i use texture.Name? just Name?
here my code, is that correct?
....this is a basic question but sprite sheets are better than individual sprites, aren't they.
broadly, yes
.....i assume not, but there wouldn't happen to be some easy tool to fetch coordinates for me, would there?
any image editor (gimp, photoshop, aseprite, etc.) should easily show you pixel coordinates in a sprite sheet if you open the image
no that makes sense and i have used em before
I just will have to fix all of these recipes
it's doing a favor to your users to do it, but how many recipes are we talking about?
if it's like, ten, almost no one is likely to notice the difference
Not that many yet, thankfully. It is like ten right now but I'm making more, and I should fix my code now
I just was looking at like culinary delight and other mods and it's so much cleaner lol
For 16x16 textures you can easily get away with 128 sprites just being a vertical or horizontal line, making counting very easy
(i like to arrange stardew spritesheets in rows of 10 items, so the SpriteIndex is the same as its coordinates)
https://www.codeandweb.com/texturepacker
There is this. I'm sure there are more, but it packs sprites as optimally as it can manage, and spits out JSON/XML for where each and everything is.
hero, thank you so much!
I don't believe it's free, but if you look for something along the lines of a texture packer, there'll probably be some free equivalent.
(there is! https://www.codeandweb.com/tp-online )
Free TexturePacker Online. Simple sprite sheet packer for your game projects.
I’m still struggling with patch reload. If i want to, say, fix a typo i made on somebody’s schedule, or edit dialogue they should be display, do i need to restart the day and bring them to the same point in the schedule? Right now i’m finding even with patch reload i need to at minimum restart the day
Schedules are loaded at day start so patch reload won't work there
Thanks
If, instead, i was in a situation where i have dialogue that plays when theyre in a certain animation, and i want to modify that dialogue then do patch reload, would i need to restart day there?
If the typo is in the string itself I think it should fix without needing to restart. If it's in the key in the schedule you'd probably have to restart. I wonder if debug loaddialogue works for schedule strings.
Thats a good point. I should try if loaddialogue reflects the changes, thanks
Hello all! I'm new to modding and I'm a bit confused by the dialogue class in C# using SMAPI. I'm currently trying to make a mod as a birthday gift and I've created an NPC through C# instead of Content Patcher because I wanted to build a quest over that character and CP seemed basic. I've created the NPC and it actually shows up in the map, but I'm trying to add some dialogue but cannot find great info online on how to do that. Assets like portraits and sprites where easier to load using the Load method but since Dialogue in the NPC class is read-only I'm unsure on how to go forward from here. Should I just create the whoel NPC in CP and then link it to the C# mod, or is there a way to create the NPC fully with dialogue and schedule directly in C#?
I think you can create quests with content patcher? Do not trust me on that
Yup you absolutely can make quests with just CP
And even if you want functionality that you can't achieve with CP (which you should confirm here because you'd be surprised what's possible) people usually do find it easier to do everything in CP except the one bit that requires C#.
It is possible to do it all in C# though. I know how to edit dialogue with C# but I've never loaded new dialogue so I can't speak to how to do that.
It might do the trick, it's a simple scavenger hunt style quest. I did start to follow the guide on how to add NPCs, but since I didn't see anything on quests and the whole management of sprites seemed a bit confusing, I thought it best to switch over C#. But I can give it another shot for sure. Is there a guide on CP quests I could reference?
If you want to stay in c#, all of cp's interaction with stardew is the AssetRequested smapi event (and GameContentHelper.invalidateCache)
No tutorial that I know of but the wiki page is pretty straightforward to follow: https://stardewvalleywiki.com/Modding:Quest_data
I'll take a look at both of them once I get home, thanks! At this point it might be easier in CP since I couldn't find a lot on the documentation on c# mods :)
You may have missed the helpful stuff (easy to do, it took me ages to find all the C# stuff on the wiki), as this page uses dialogue as its example for how to load a new asset in C#: https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Content
Don't hesitate to ask any questions you have here! Everyone is very helpful
Will definitely do, this already helped !!
You can also code most of a mod in CP and do only the bits you need in c#
If you're doing mostly content edits (and npcs are mostly content edits) I would almost recommend itm
Yes, looking over the links sent this is probably way easier than I made it out to be
It very often is that way for Stardew!
audio professionals or people who are smart: i want to patch the town map to play a song during the nighttime. whenever i try and add this song, though, the nighttime ambience always plays instead of the music. it loads perfectly fine, i just dont know what conditions i need to do (if any) to make it take priority over the nighttime ambience
did you edit the location data?
that's probably the way to go if you want to mess with location music
@lucid iron sorry for the ping but- I'm not sure what's going on here, but there's something funky with color intensity on some spots, based on the order paths are placed
using latest version on Nexus
1 sec- I don't want to floor channel with images
why is it not letting me remove the embeds 😠
you can remove the embeds after send
won't let me this time for some reason
ohh a thread would be a good idea, not sure if starting one for their mod myself would be, though
oh, they do have a few threads open already... oh well then
Hi, does anyone know how I can give an NPC unique dialogue on a specific day? I've been trying to figure it out with the wiki but I just can't get it to work.
@chu2.718281828459045235360287471 sorry
you can do season_daynumber iirc
That reminds me, did anyone check in on that dialogue weirdness we found as a result of 8BitAlien's issue? (Mon dialogue key overriding spring_1)
Or is this an intended behavior and I just missed where it is mentioned in the wiki for priority?
you can prefix a "dayofthemonth" key with season
I finally got the NPC to say the right thing in one instance, that's a start, thanks
not sure but i know a lot of dialogue stuff goes to hell if an NPC does not have gift tastes, so make sure that's not the problem
https://smapi.io/json/content-patcher/7ba3377278ed476dbcaddca1725b093d#code.5
y'all. am i dumb. what am i missing on line 5 😭
If I’m trying to do an increment stat thing in quick question do I add the points at the question or the response?
do it during the script that runs after you pick the response
i.e. the part between (break)s that is split by \\
🤦♀️🤦♀️ ok so that confirms that is what I was doing wrong. Thank you!
you forgot the second quotation mark for Tank Decor
oops that'll do it. ty!
Looking at the wiki on creating new machines in CP... is there a way to have something like the item price affect the machine's processing time? Or use other rules based on the input to change the processing time?
It was a weird issue, the lines were applied but the NPC wouldn't say the spring_1 line and always said the Mon line instead.
We got around it by using just 1 as the key and not using the season part, and then using a When condition to set it only on in spring
do GSQs not perform short-circuit evaluation?
as in, if you chain 2 of them together with a comma and the first is false, does it still eval the second one
It looks like it will?
mayhaps, judging from reading DefaultResolvers.ANY (and Helpers.AnyArgsMatch)
Looking at CheckConditionsImpl() in GameStateQuery.cs, it goes through the parsed queries, and returns false if one doesn't match. It only returns true if it gets through all of them without a false.
Im helping out in tech support rn and vmv has a gsq with a cp hasmod token (which should evaluate to immutable true or false) joined with a gsq added by cauldron
The smapi log indicates the mod with id in the hasmod is not installed, so the first one should evaluate false
But its throwing when trying to evaluate the cauldron gsq because vanilla doesn't have that gsq
Ill drop the actual snippet in a bit, im on mobile rn
I wonder if the error occurs bc parsing occurs before eval?
It does say failed PARSING condition... that could make sense!
Yeah i wasnt sure if parsing occurred all at once before eval or if they're parsed at eval time
If parsing happens before any eval, then vmv might have to lock it behind a when
it does parse them into little GSQ resolver object things that are then checked one by one when evaluating the conditions, but the query has to have a resolver first for that to happen
it still short circuits bc it doesnt actually evaluate them when it parses the entire GSQ, it just splits them up into chunks that point to what function does the evaluation for each chunk later, w hich will short circuit
Spring is weird sometimes
Basically
spring_ doesn't always work
Fwiw there is a simple way to handle these things if you're willing to have fun
i would think the moving hasmod to when would be the simplest and most fun, bc its always the most fun when things work, right (/lh)
sounds much less simple
i'm trying a minimal repro rn just to make sure there's not another interference
Yeah in that case doing a hasmod makes more sense tbh
But I like this
seems like it'd break real hard with an ANY
unless TextOperations is more quote aware than i thought
or less? maybe i mean less
idk i just woke up
guys i can't minimal repro the error 🤔
installed just VMV and its requirements and I can't get the error to throw. tried patch exporting fruit tree data, planting one in the ground, looking it up with LA
You can use the 50/50 method to come up with a minimal repro
This is true but I am honestly not invested enough in this user's smapi log
nondeterministic... gsq eval?
@ivory plume Quick question regarding this repo: https://github.com/StardewModders/mod-reference-assemblies
I'm about to make the switch to having my mods build in GitHub runners, and as a result, I need the reference assemblies. I have them in my testing repo for now, but I think I would rather pull them in during the build.
I'd like to keep them up to date. I could make PRs with the new assemblies, but it would defeat the purpose if I need to wait for a PR to be accepted before I can release a new version of a mod.
(Also apologies if you don't own the StardewModders organisation like I assumed. That is a distinct possibility.
)
(I don't own that organization, it's owned by Entoarox. I'm just a moderator in the org.)
(Oh, no!)
Is entoarox active rn
I don't think so.
Feel free to submit the PR with the new files and I can review & approve it. That test repo likely isn't how I'd manage reference assemblies long-term though, my plan is to eventually create a NuGet package for it (and not be under an organization I don't control).
I may just go the NuGet route to begin with, actually...
I don't have any releases to get out any time soon, so there's no rush on it.
For now though, I think I will just get a PR in for the current versions at least.
I'm excited for this. It kind of makes GitHub a more viable hosting platform.
It's just two text fields (possibly one if I eventually use Casey's suggestion) and a button click right now, yeah. Super viable to use GitHub for that with this.
Let me copy ur homework pls
So if I properly manage my updates on feature branches, I should be able to automatically publish for every merge into main
It'll be in my repo when the reference assembly situation is at least adequately resolved.
By the way, Pathos, would you rather I leave the NuGet package for them to you? Wouldn't want to do essentially the same thing.
i really like this idea but it'd mean i'd have to actually branch properly and stop pushing directly to main whenever i feel like it 
The way I have it right now, it's just a workflow dispatch. Stick in the project name, it builds it, and spits out a release with hashed assembly for at least a tiny bit of validation possibilities.
i've at least started tagging my main branch but my organization leaves much to be desired
I feel like for a monrepo, detecting which project's changed would be... nightmarish.
I did originally have it running based on me pushing a tag like SmartBuilding/1.9.2, but I decided I didn't love that in the end.
Now can you take my repo and make that work :krobusgiggle
Messy subrepos and all
We love you DH
I wouldn't blame you for not
Oh, and I sign my assemblies
With the built-in dotnet type signing-light thing, right?
That wouldn't interfere with anything at least!
Assuming it happens pre-ModBuildConfig zipping?
Yes
I meant to give you access on my repo
To be fair I would give half of y'all access over my stardew repo
Nondetermistic fruit tree output
ah ok
how do i get started with making custom clothing?
Depends if you want to use fashion sense
how is this formatted?
Or actually clothing items
im fine with vanilla size clothing
wdym? i do want to make a clothing shop though
Tilesheets or something?
sorry about so many questions btw
ill check that
Framework mods refers to C# mods that add new functionality to the game's code, and allows content mods to make use of them without having to make their own C# component. They usually work by reading custom data set in content mods and then apply their changes accordingly.
This page details the various...
I actually have this tab open.
oh its on characters>farmer
Trigger actions fire in bunch of places but mainly whenever the trigger is fired
thank you chu!
So assuming we have this play sound cue trigger action action, I'd put it in a LocationChanged trigger action and detect if the new location is SeedShop
Here is a different mod that adds a bunch of triggers as well https://www.nexusmods.com/stardewvalley/mods/27100
Everything happens so much.
@calm nebula, do you happen to know which project would be best to test with? I've tried a few random ones, and they don't want to build. 
Submodules checked out okay, and the ones that fail to build in the runner also fail on my system, so...
question: in what circumstance is createQuestionDialogue(string, Response[], afterQuestionBehavior, NPC) meant to like... use the speaker that i pass in to it. cuz i kinda thought itd show the portrait of the NPC given to it but it seems to not do that and appears no different from the other createQuestionDialogue(string, Response[], string) overload
It doesn't do that as far as i can tell
Simply inheriting this from the DialogueBox class
if (speaker != null)
{
Game1.objectDialoguePortraitPerson = speaker;
}
this is in the code for it so i think i can be forgiven for assuming 
I suspected that when u have daily dialogue that asks a question
This is used just to keep the speaker around
I don't remember any case in vanilla where the choices r accompanied by portrait anyways
Hmmm. The problem is that atracore has uncommitted code
You should be able to build east scarpe though
Or one of the independents
I don't see ES in the repo... I must be missing it!
Ooh, I just realised a pretty problematic thing for this being a drop-in replacement...
This specifically:
name: Overwrite ModZipPath definition file, because dotnet doesn't get the solution directory macro
run: |
echo "<Project><PropertyGroup><ModZipPath>/home/runner/work/${{ github.event.repository.name }}/${{ github.event.repository.name }}/Release/Zip</ModZipPath></PropertyGroup></Project>" > Build/Latest.targets
Anything that uses $(SolutionDir) fails horribly when building directly using dotnet and a csproj.
I can give up the solutiondir for github automation
@lucid iron https://github.com/AlanDavison/chu-PeliQ/actions/runs/15452192021
It failed because I forgot about the release action requiring a GitHub token, but it was a fairly drop-in thing with one little tweak.
Artifacts were still uploaded to the workflow output, but just not a release because of the token.
Yay
And reference assemblies temporarily added to the repo itself just for the test until the StardewModders repo one's PR gets merged.
But the proof of concept is there!
I wouldn't recommend stealing the workflow yet, either. Still a couple of things to make it more easily... adaptable.
Is the "run on tag creation" still a viable option for monorepo people?
i was thinking I'd have to write my own workflow for mods.directory's github stuff.. I can just steal this now
Definitely, if you prefer that over the manual workflow dispatch style.
Though the tag version isn't in any public repo yet and is slightly different.
The manual version still creates the same ModName/1.0.0 tag on release.
Actually, better idea would be to just replace the solution dir macro before the build in the workflow. That ought to be doable.
Hi everyone! I am wanting to make a mod for a custom NPC, but have no clue where to start. I am wondering if I can use another person's mod as sort of a "base" for my mod, but like just to understand how things work (if that makes any sense.) If so, would it be ok to share that mod? Or do I have to keep it just for myself sense it's a modification of one? Thanks!
Hello everyone, so for those who don't know, I have been working on a framework for custom TV channels and I want ideas for certain actions that you wish to be added to it, like learning a cooking recipe for example.
(Spooky haunted events, please.
/hj)
I don't get it 😭
Quite what they would look like in terms of implementation, I don't know!
Yeah, hence the /hj... But I would definitely want to do some spooky things like the dolls.
cooking recipe is nice. maybe add some skill points? a la project zomboid, watching the tv sometimes grants you xp in a skill
Let the user pick a trigger action to run
Then you dont have to rewrite anything vanilla already does
Oh, I am actually working on an example channel rn to showcase the framework, and it's very spooky and VERY cool. I am gonna show it here when it's done :)
Already on my to do list
but if theres something that cant be accomplished by trigger action (ie adding skill xp) then id include that in ur framework yes
yatta
!npc
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!
Already on my to do list too.
These are the only things on my to do list though. And the only 2 I got done are Learning recipes and adding mail flags.
So any other ideas are very welcome!
You dont need to do mail flags, etc if you do trigger action
If anything, I'd say you should only let them do a trigger action but add your own trigger actions as necessary
I guess. The mail flags thing was just to test. It was meant to be something simple, I most likely will remove it.
it cant hurt to have a default format for an always-sent mail flag
makes it easier for other mods to check if a player watched a channel from another mod
Oo I like that
i.e. a default mail flag on top of the trigger action
Decent chance I'll use this for my eventual horror mod!
Gonna try that and see which would be better. I was thinking I do my own thing (while letting modders use trigger actions) since it will give me more control but depending on how things go when testing that might change. I am not very familiar with trigger actions or CP in general. I skipped it and when straight to C# 😭
You can use c# to parse and run trigger actions!
when it comes to frameworks the more you can put the modder in control the better, rather than yourself
I might make it possible to even add a flag for a specific episode.
(within reason)
like I said I will see how things go with trigger actions
trigger actions are super easy to handle and super easy for other people to expand on
and come with free compatibility with any other mod-provided trigger action
I meant like both me and the modders like give it more control over what it can do, but like I said I don't know much about trigger actions, so I don't know how much control it gives.
i think trigger actions should be required reading for anyone making a framework, but i am a little biased
Im unbiased and i agree
And like I said my original plan was to allow for both my code and CP's trigger actions it just depends on how good it is, If it's good I might not need to code my own thing.
i still would highly recommend looking at trigger actions first though, since the 2 things you said you've already done are just already doable with trigger actions
Damn
Ok I am gonna look at it rn while talking.
Any ideas for things that can't be done with trigger actions though?
If you come up with any, write them as a custom trigger action is my vote
i would also agree with that, as that'd also let other mods use them too
Sounds awesome
I am looking into it rn. 
ive no ideas off the top of my head though besides exp, which was already mentioned (and might already be in spacecore?)
You're amazing
(not that something being in spacecore should be reason for you to not do it, two cakes and all, but smth to keep in mind that modders may already have options)
Even if it's in spacecore I would code it myself it's simple and makes it so my mod doesn't need any dependencies even if spacecore is installed like in every mods folder.
well, until you want it to handle spacecore skills
You mean options like these :)
https://www.nexusmods.com/stardewvalley/mods/27100?tab=posts
then its slightly less simple (though still not bad)
i do!
as a modder, thats one of my favourite mods
Betas or spacecore?
BETAS
The thumbnail is top 10 mod thumbnails for sure
Well, I would like to say it's because it's your own mod, but your mods are genuinely one of the most interesting and high quality mods out there, and I am not just complimenting.
Tbh if a feature
- Makes sense for your mod
- Is not going to explode another overlapping feature
- Low cost in general to do (e.g. no harmony required, code only runs when actively used by mod)
You should just add it
(it is mostly bc its my own mod but i am still ofc proud of my own code (sometimes). and also thank you
)
Anyways u should support tile actions too
I always find it funny that many talented people can do amazing things while doing this. Just chef kiss.
Unlike trigger action they get direct access to location which is nice
mirror mode is a pile of messy hacks and workarounds, i would definitely not call it a result of talent 
And there's a few things in vanilla only available as a tile action (like opening shop)
Say what you want, I say it's art. I have a lot of whacky ideas that I plan to do after I finish my actually useful ideas.
Do wacky ideas first
Oh didn't think of that
that's 100% going in
let's just hope it cooperates and doesn't make me cry for 30mins 😭
Don't tempt me I wanna finish this project not do a side quest.
I am one step away from turning everyone in the valley into a banana
That sounds like the main campaign to me
Oh god I have been reading for like 5 mins and I already realized how much better trigger actions are. There are barely anything left for me to do!
The members tab says you, me, and Entoarox are all owners? Ento is the only one of us who has the membership listed as "public" instead of "private" though
Hmmmm.
I'm not sure I agree with the required nuget package route to be honest since you have to have it in the project file (unless there's a feature I'm unaware of?).
Like, if I somehow wanted my mod to be able to build for two SMAPI versions (or even two slightly incompatible game versions that aren't mod-pocalypse level), that would be a little more tedious I think?
bnr?
Build n release
Right, but what if SMAPI 5.0.0 comes out mid-game version for some reason, and I want my mod to support both initially since not all mods are updated yet, for the sake of players whose mods don't all have updates yet
I realize there is deprecation periods
My idea was to have it be bundled with a core package (maybe even the mod build package). If the game folder is detected, the code is compiled using that folder; otherwise it's compiled using the reference assemblies (maybe with a build warning). So you can just take the same code that builds locally, and build it in a CI pipeline with no changes.
But building for old SMAPI could also include a workaround or disabled feature for something not doable with it compared to new SMAPI
For the manual workflow dispatch as it currently is, you could easily specify the right version for the package at least.
2 pipelines then with ref assembly 4.0.0 and 5.0.0
Ah, that makes sense
If you wanted to multi-target versions, you'd just reference two versions of the NuGet package conditionally.
Sounds slightly more tedious but okay
I do think the ideal in terms of ease would be for it to be included with the ModBuildConfig package.
I remember we talked about that a while ago.
If you do this, can I suggest a project file option for forcing use of the reference assemblies instead? Basically if someone is developing in one version but want to compile for an additional one without setting up gamepath shenanigans like I have on my computer
It seems much simpler in the most common case (where you just want to build a mod in a CI pipeline). I guess it's slightly more work if you have custom scenarios like multi-targeting game + SMAPI versions, but that sort of thing will be extra work regardless.
Fair
Yeah, it would probably be an option if we went with that approach (game folder only, reference assembly only, or auto-detect).
(Though technically could have the modbuildconfig repo just use mod-reference-assembly and package it in the specific way needed for modbuildconfig, using submodules or something - though might need some sort of version with just the game and not SMAPI in that case)
@blissful panther By the way do you want to be added to the organization
If we're okay with it, sure!
@ivory plume I assume you are?
Yep! Any established mod author can be in the GitHub org.
That's what I thought but nobody has been added in a while as far as I can remember so wanted to be sure
I didn't know this org existed until today 
Sent! (Took a moment because github app authentication was being dumb)
I can add other people too, just thought to add DH because of the reference assembly repo stuff
Thanks! This might actually be a logical place to house the action, too.
I noticed when I added you it said "two repositories" for the "Modders" team - mod-ideas and mod-translations
So might need a separate thing for the other repos (not sure it makes sense to give everyone write access to ref assembly repo for example)
@blissful panther Let me know once you've accepted it
Doesn't look like I can easily on my phone...
You're not a real stardew modder until
Classic corporations and making their apps/mobile websites less featured than the desktop sites
I thought u had to go to email to accept these things
I think the email just links to the page on the website that does it
Which would auto-open the app usually
It does, but no saved passwords in my browser, and my Yubikey is in the room that isn't my bedroom. 
I didn't know you could force github to only accept the physical 2FA stuff
When I was having trouble earleir it gave me other options
But I'm using the github app (and separate authenticator app backup)
I don't think you can, but my password manager is also locked... with the key that isn't here.
Ah. RIP
if you just turn off 2FA and use "password" as your password everywhere you wont have this issue
Mine even goes into the pool
One day we'll get 2FA as a brain chip that lets you authorize things with a thought.
And it totally won't be hackable/accessible by all the other brainchips
Hello again! I followed the tutorial for making an NPC that fireredlily sent in this channel earlier, and i am getting some errors relating to the .json files? I have the log link: https://smapi.io/log/21481c9ede6d4d72841491878a2ca59a Can anyone help maybe?
Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 4 C# mods and 1 content packs.
!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.
happens to the best of us
