#making-mods-general
1 messages · Page 264 of 1
Hi, what if there is a yellow error stating that the modded npc couldn't get marriage dialogue but there's one in the marriage dialogue json file.
uploaded my mod but nexus doesnt let me opt in 
Is there anyway to make questComplete dialogue repeat if the quest is done again at a later date?
"questComplete_{{ModId}}_Quest_Linus3": "{{i18n:Linus.questComplete_Quest_Linus3}}",
This kinda thing
I have a quest that triggers every winter
The line shows up the first time just fine, but subsequent winters don't have this dialogue
CONGRATULATIONS!!!
tysm apryll
! jsut wish i didnt have to hide it rn cause i cant opt in

opt in to what?
It takes like sometimes an hour or more for the #$@% thing to let u opt in, drives me nuts!
So if someone was making a giant desert tortoise as a barn animal, would it be completely unethical to have the tortoise drop scute flakes that can be turned into tortoiseshell items
Well rabbits drop their feet so
Alt idea is to be able to pickle and age the eggs
aged eggs omg :x
A question.... How does one read savedata? Like this...
<item><key><string>married_Abigail</string></key><value><int>298</int></value></item>
This doesn't look like it is mod data, just in the regular save game data. (I saw the Helper.ReadSaveGame thing, but that it is scoped to my mod's data only).
(it wouldn't help you this week as there's a 3 month delay between any gain and the moment you really got them)
Need more context to know
This looks like a dictionary
and yes, nexus delay on enabling the DP is annoying, i wish you could set that BEFORE publishing
but well, nexus..
Hope fixed soon
Oh
well, money is money
I need any of it
Is there a way to look for either tag in a context tag gsq? ITEM_CONTEXT_TAG Target tag1 tag2 looks for items with both tags, but I'm looking for a way to look for items with either of those tags in them
The data out of the savedgame file, I was digging through the file and saw that.
Use ANY
By context i mean we need to know what this dictionary key value pair is scoped in
You should not be parsing save games directly
if the idea is that they just shed bits off their shell I think that'd be pretty Stardew-friendly!
Thanks!
I do not know where that came from, I'm really bad at reading json, I am guessing I should look in Game1 for married_ something to find where?
Do u have access to this save file
Yes, it's mine, luckly!! ❤️ Basically, if somehow I could read that as it is from the savefile, that would allow me to easily give Kantrip the token which is desired!
yeah, i just didn't want you to be caught by surprise
If they're just shedding naturally I'd say that's pretty ethical! Otherwise, maybe you could add a toothbrush tool to scritch them with to drop the scales? Tortoises like scritches, iirc
Like so
awww
The problem still remains then u need to find out more context
Format the xml with vsc or similar to read it easier
That's insanely cute
They do the skritchy booty wiggle, lol
i wonder if you could set up something similar to how you can mark events as unseen at the end of them, to make them able to play again? or maybe a mail flag/trigger action? (i went to look at the quests wiki page but it's apparently just a stub, lol)
alright, lfg! Thanks everyone, here I go to actually make the dang json haha
RemoveConversationTopic questComplete_<questId> trigger action
questComplete_<quest> is a conversation topic that is auto generated
can u make new version of shears with CP
tho
new harvest tool i mean
hm i should double check if it removes it from the list
okay i think if you remove the conversation topic before it ends naturally and gets shoved into previouslyActiveDialogueEvents, it might work
keyword being might tho
the CT wont be auto generated if its been seen in the past but i think it only gets counted as "seen in the past" if you let its timer tick down automatically, but there may be another check somewhere specific for NPC dialogue checks
(auto generated CTs get set to last 4 days)
you may also need to remove the mail flag for <npcname>_<CT>
so remove Linus_questComplete_[questId] for example
no
interestingly the only blocker seems to be that the constructors for MilkPail and Shears hardcode the tool name (EDIT: and a bunch of other constructor params)
no toothbrush tool then
EditImage the shears texture when you're in the tortoisehouse
my tortoises shall be free roaming
can you set the movement speed of an animal
yes
fast
In VSCode, how do you make it so it actually parses the save file?
use another text editor that handles large lines correctly
install more ram
I think you need hex editors
no its just a big xml
i force it to format
ctrl shift p -> format document -> wait like 30s
regarding your thing though, i feel like it is modData
e.g. something like this
if i wanted to access this info, i would see about getting Bush and then use its modData dict
YES!!! It works!!! Like luring a mermaid with a hamburger!!! Ok then.... Here is the question: Do the memory_oneday, _memory_oneyear, etc ActiveDialogueEvents ever get removed from the savefile?
Can I reference other nuget packages in my mods? I'm specifically looking at Handlerbars .NET https://www.nuget.org/packages/Handlebars.Net, but when I reference it in my csproj SMAPI tells me my dll can't be loaded
js templates...
shhhhhh .net tempaltes
this is terrifying barley what are you doin
rendering html
ok the issue is not necessariyl that i use it in my .csproj but that I actually reference it in my files
the narrow case is that perhaps what you are doing and what sdv/monogame dont like each other
Make sure copy to output is enabled
elaborate?
gotta ship the dll with your mod
does that sticky the MIT license of the nuget package onto my mod then? I wanna make sure i abide by that
<PropertyGroup>
<BundleExtraAssemblies>ThirdParty</BundleExtraAssemblies>
</PropertyGroup>
you can do this too, from the modbuildconfig docs
it doesnt
what do you expect html to do in a sdv mod tho
i'm generating mod lists as cute little html pages via console command
i'd like to use templating for it
i mean if i had to guess thats kind of the point of them wanting the package
Oh nice
if anything this package reference is making it less cursed so i don't reinvent the wheel
so i just go2 the mod folder and open in browser
that's the plan ya
I've heard Fluid is good for that
i'll give it a look
i haven't actually touched templaters for a while so i'm not super tied to any particular one
i just recongizned handlebars from my web dev days
thanks yall!
@balmy venture [[Modding:Maps]]
I don't think so, but a lot of that stuff relies heavily on asp.net itself, which in turn heavily relies on kestrel
seems worse than just a nuget then 
hm this page doesnt detail the wall and floor id stuff
Thank you, I read that one but I'm a bit confused yet
i don't have a full guide, but my recommended starting point is the Shed's interior tmx
yea weird why does modding:maps never mention the props u need for this 
Wall and Floor IDs information never got transitioned from the 1.5.5 migration notes on the wiki
I remember having to dig to find it
I'm glad it's not me being super dumb
I found starter wallpaper and flooring but I wanted the property to allow changing to ingame flooring and wallpapers
so the issue with wall/floor is that
Maybe we should have a page dedicated to the farmhouse.
Not just for the wall and floor stuff, but also renovations, warp fuckery, and moving the spouse room and stuff
you also need Decoratable location
still very new to tiled, I'm digging and learning where to look
it's hard to make the Cellar that cus cellar has its own class
I'm reading the link trying to understand thank you
my goal is to change the barns and coops to be decorable XD
That one might be ok
I think the incubator might break
how do you set their location type to decoratable
you guys think it's not possible then?
i think it should be fine?
sheds are also just building interior
"IndoorMap": "Shed",
"IndoorMapType": "StardewValley.Shed",
yea StardewValley.AnimalHouse right
doomed then 
maybe i just gotta
make all locations behave like decoratable
Yeah but the item processing code I think checks for AnimalHouse by type
a lot of things check it actually
gosh here I was hoping I could do it using tiled maybe 🤣
like buying animal
I can take another look but I remember some jank with the incubator technically being a machine
How come some vanilla portraits are completely front facing and some are angled to the side?
Welcome back Map Utilities, died 1.4, born 1.6 /jk
At least I think that was the one that let you do custom decoratable locations
It exists I just need to make a test map and I'm dragging my feet on that
That uses some but not all of the features and also has some c# nonsense specific to it
hmm how do i find who to attribute
Attribute for what?
I'm confused but sounds cool 😵💫
i was gonna copy the bit about wallid and floorid into modding:maps
Aaaah
but i should attribute who wrote the 1.5.5 page
The edit history should say who wrote the page
i wish i can git blame on the wiki
Using version control for a wiki backend actually sounds genius
some wikis do have a blame plugin
i did it by binary search
it is pathos as expected
i got bonked sadness
ok it worked in 2 edits 
well I guess I'm back to my sadness making custom paths 🥹
Brilliant idea tho
Does it usually take this long? This is kinda crazy….
I’m about to just like delete and re upload. This is nuts
It can take quite a while yeah
A few hours isn't too out of the ordinary I would say
God really ? Someone answered me and told me it’s supposed to only be like 15 min not 3 hours
Wow
Well thanks 
Integrated wildlife took like 4 hrs for me to opt in I believe haha
am I misunderstanding how fish pond produce works? I was wanting to always get 1-2 roe when there is at least one fish in the pond, then a change to get an extra roe if there were 9 fish, and a chance to get an extra roe on top of that if there were 10 fish, for a total chance of 1-4 roe daily if there were 10 fish in a pond. but it's not going above 2
ah, okay. that would explain it. so if I want a chance for 4 if 10 fish are present, it needs to be min 4, max 4, and the other two lower options are ignored if the 10 fish option is chosen?
yes
unless of course there's a mod that picks several at once but you can't account for every modded case 😄
awesome, thank you. I'm glad it's a simple misunderstanding to fix.
and ha hah, I can definitely not account for every modded case XD those people are on their own, they can deal with sturgeons who lay fish eggs like chickens
Is it possible to make a schedule inside the farmhouse? Or in the partner's room. (using content patcher)
it's possible, but not really practical
since well, you put furniture in the farmhouse
I would like to put a schedule for my NPC in her own space, but I haven't been able to do it after a few attempts.
oh, right. marriage schedule?
yes
Let's say I have two files under the same mod on nexus. Will nexus tell people they need to update the mod if I update one of the files but not the other? Trying to think of a clean way to add mod support for PolySweetLove. I think having two versions of the mod is the right choice, since I get into a lot of if/else hell otherwise
Maybe there's some manifest magic that I don't know yet
yes in fact there is
Yes it will tell people they need to update
Mostly I was trying to avoid making PolySweet a requirement for people who don't want it. So I thought that having it bundled completely separately would be better
you can use hasmod without it being a dependency
I know that there are portrait packs and whatnot that have multiple versions under the same mod
if you use hasmod you can keep the compatibility part in the main mod but only have it activate if they have polysweet
And the mod appears as having an update every time one of those is updated
i thought you could also have like... subkeys though
Either? that would be annoying for people then
Subkeys would be neat. But I'll probably end up using hasmod after all. Was just trying to keep things tidy, but am probably just overcomplicating it
What would be the location/ID of the farmhouse in the Game? (to make the schedule) like "FarmHouse", "House" or something like that?
Hasmod is the way to go i believe
you dont have to list polysweet as a dep
it's just FarmHouse, but i dont know if you can do that with marriage schedules
{
"UniqueID": "Pathoschild.LookupAnything",
"MinimumVersion": "1.49.0",
"IsRequired": false
},
oh, right, thanks for your help!
Alright, will try to organize things nicely but keep it all under the same folder
I don't think my patch is patching properly. to bugtest and make sure things were working, I made the chance values for the population 10 and population 9 options 100% and gave them a unique number (so I could be sure it was that particular option when it procced) and had the population 1 option be Purple Mushroom, something radically different to seperate it from the vanilla roe option.
all I'm getting is the vanilla roe amount. not the population 10 or 9 roe amounts, or the purple mushrooms. included is my FishPond.json and the patch summary information. I know I'm doing something wrong, but I still can't figure out what
are you trying to modify "Id": "Sturgeon",
yes, I was using its object ID number because I wasn't sure if the text string "Sturgeon" would be acceptable
you should be using TargetField to edit the vanilla sturgeon entry
not add another one
["Sturgeon", "ProducedItems", "(O)812"]
oooooh, okay. thank you!
Is it possible to have an NPC that is not the player's spouse enter the farmhouse? For example, a spouse's parent/sibling/friend?
its very hard
you can have events take place in farmhouse, but it wont be compatible with farmhouse changing mods
interesting
but I couldn't have it be a part of an NPC's schedule? Like one day a month my spouse's sister will come "babysit"?
(New feature for {{i18n}} tokens in the upcoming Content Patcher 2.6.0: translation fallback keys.)
maps like the farmhouse are special and you can't schedule to them, and as mentioned you have 0 idea of the layout of anyone's farmhouse
farm is generally banned from npc pathing
devastating
and u probably dont want to make them kick down ppl's things lol
Why does (double)codes[i].operand == 0.02 return true but codes[i].operand == 0.02 as object return false? The type of codes[i].operand is System.Double
(codes[i].operand == 0.02) is false right
and then u tried to cast it to object?
what is the goal here
oh does the as object happen after the ==?
u could try codes[i].operand == (0.02 as object) maybe
but honestly i think casting to double makes more sense
from a readability pov
Can the babies leave the farmhouse? 🤔
lol
If you throw them far enough /j
So no field trips and no visits from auntie, devastating
only reason I ever had them was for achievments... then never again
codes[i].operand == (0.02 as object) also returns false
isolated babies forever
sad ig thats just how it goes
sad bubble children
you can use the mod: "Farmhouse Visits"
and create your own schedule to npcs to visit you.
(WIP) Thoughts on this page format? It's the output of a command I'm working on to export your mod lists as a formatted HTML page for shareability (or just to look at for fun if you want lol)
(pop it open in a browser)
Oh like more compact with multiple columns?
yea
well, u can perhaps make simple layout that
just title + whatever desc is in the manifest + attempt at nexus/github link
I think if u have more than a hundred mods u prob don't want the images right
instead of the ul u have rn
the other thing i, graph theory fan, desires is a dependency tree
If u have a thousand mods you can't actually send enough nexus requests to generate the list with images bc nexus in its wonderful wisdom doesn't have a bulk get endpoint
1k dep tree 🥹
i think you can just break into SMAPI internals for that
it will have one somewhere after all
Surely it must to determine load order
I think i need to do a check on the remaining hourly/daily requests and tell them they won't get images or anything if they don't have enough api calls
I spit out what they have remaining but I need to not bother trying if they won't have enough
honestly i dont think i care that much about having nexus thumbnails
They do take up space
are u going to broadcast the pelcan to uh
the 1k ppl who installed this https://www.nexusmods.com/stardewvalley/mods/31832
What is this lol
something that would be useful is little labels for what framework they use tho
The pelcan?
Yes that one is in manifest
pelcan Mouth perfec t size for put baby in to n\ap! inside very Soft and Comfort baby sleep soundly put baby in Pelican Mouth.
I also wanna group stuff with the same update key
Nobody wants like 3 entries for one mod
yea but sometimes ppl just dont put update key on the sub components 
Vibrant pastoral redrawn has Nexus:??? As its update key I've learned
i did this one in snek manually
so its not that hard even if u dont break into smapi internals
I hate my mod name, but it's the best I can think of, any thoughts?
Clothes Give Buffs - Hats Shirts Shoes - plus More Clothes
"Buff Clothing" and the preview picture is Lewis with a 6 pack and purple beach shorts
That's hilarious! And Pam with ripling abs!
Might I suggest codes[i].operand is double d && d == 0.02
Or you could just use codes[i].LoadsConstant(0.2) if you're checking for a constant number. (I don't know when else you'd be checking for an operand that's a double mind you.)
best thing i can think of would be Bonus Clothes which doubles up the buffs/boni and the additional/bonus clothes
when I added in the "TargetField": [ "Sturgeon", "ProducedItems", "(O)812" ], line, the first error started popping up. when I removed the offending line, the second error started popping up, and when I removed those, it began to send red text telling me that all of my [, {, ] and } characters seperating out my various Populations were making my json invalid.
while it doesn't scream at me anymore when loading, and it DOES change the roe into purple mushrooms for population 1, despite having 10 fish in the pond, it will not give me anything for population 10. I know this is because the only Population data that's getting replaced in the table is the last one in the list, but trying to seperate them back out with curly brackets results in me getting told my json is invalid.
replying to myself to make my original .json, with the proper curly bracket placement, easy to find
Are there any downsides to using a large number of tilesets for a map?
{
"Action": "EditData",
"Target": "Data/FishPondData",
"TargetField": [
"Sturgeon",
"ProducedItems",
"#0"
],
"Entries": {
"MinStack": 4,
"MaxStack": 4
}
},
i realised i had to use #0 instead of (O)812 because of dupe ids
if you look at Data/FishPondData u can see how the target field is drilling down
bc there r dupe Id i had to use #0 for the index
if u want to edit the second output it'd be #1 and so on
and i am only change what i need to here (MinStack, MaxStack)
is #0 referring to that entry's place in an array list? sorry, stupid question, I know, I just want to make sure I'm understanding it properly
yes (these are lists not arrays)
lists, sorry
and, just to double check, is that MinStack 4/MaxStack 4 specifically for if there are 10 sturgeons in the pond, or any number of sturgeons in the pond?
I'm targeting the first entry in that list
It happens to also have RequiredPopulation 10
ah, okay. so if I wanted to target the second entry, which is RequiredPopulation 1 (if I'm remembering right), then it should look like
"Sturgeon",
"ProducedItems",
"#1"
],
"Entries": {
"MinStack": 2,
"MaxStack": 3
}```
right?
This would target the second entry yes
I would double check unpack
Now this is like, fine if you want to keep the vanilla progression of fish counts
If you want to completely replace ProducedItems, you have to target just Sturgeon and put in your own list
You may do this with Fields if you want, see EditData docs on that one
I think I am wanting to completely replace ProducedItems with my own list, as I wanted to have a different amount of roe for if you had 1-8 fish in the pond, 9 fish in the pond, or 10 fish in the pond, along with a 100% chance to select that fish amount's items. so as long as you had, say, 9 fish in the pond, you'd always get 2-3 roe, and 10 fish would always get you 3-4 roe (I have it at a flat 4 for now just to test to make sure things are patching like they should, once they're working I'll change to final numbers)
Fields would be the better way to do this than Entries?
Fields is basically target fields but only 1 level deep
You definitely don't want to override the whole Sturgeon entry
I definitely do not
reading the editdata doc some more, I see what you mean now by drilling down
iirc Fields can be used with TargetField as well.
TargetFields all about changing what scope ContentPatcher is looking at
(Fields can be used with it yes)
yea but the point is more, u r already at only 1 down
it is use Fields at top level instead of "TargetField": [ "Sturgeon" ]
I don't think it liked me changing TargetField into Fields
well thats just a json syntax error
do you need both fields and targetfields
what does your json look like now
it looks like this
Fields would be in place of Entries
(or alongside, if you wanted to do both, but no reason to)
so I still need TargetField, but change Entries into Fields instead, and my error was that I changed the wrong thing?
you just want to erase the existing ProducedItems list entirely and replace it with your own right
am i understanding ur earlier message right
yes
then you will need both TargetField and Fields
but dont drill into ProducedItems
but bc FishPondData is a list of objects you still need TargetField to get to Sturgeon in the first place
"TargetField": [ "Sturgeon" ], so that I am only drilling into the Sturgeon entry itself, correct?
correct
i think then that using Fields instead of Entries but otherwise keeping what you have will work
it is still not liking something somewhere with Fields
what is your current json
the 422 is just to make sure that it's changing to the patched output and not using the default output, I will be changing it once I know everything is working like it should be
admittedly im less sure the proper way to do this when the top level itself is just a list of objects
yeah, I thought this would be similar to something like editing Pierre's shop list, but it seems like it's anything but. none of the lessons I learned doing that seem to be working out here
it might actually just be Entries in this case
yeah, it stopped screaming at me when I put it back to Entries
and I'm getting the proper amount of roe out of a 10-fish pond
Fields is usually the way to go bc usually people just dont drill down more than they need to but ig its just a bit different with top level object lists, which few assets are
i guess in this case its like using Entries to edit context tags
Fields requires two layers of keyvalues
yeah
Hey all! I am a seasoned android developer but new to modding. I have a mod idea to assist with syncing save files across android and PC. The first thing would be to allow for a new save file location due to android's permissions being too restrictive with regard to the default save file location. The mod would allow you specify a file location to look for stardew valley saves. Any idea if that is even possible or how to get started on that?
you could do this anywhere else too but theres just no other reason to drill down that extra one layer unnecessarily
that array could be replaced with object with keys "#0", "#1", "#2", "#3" and I think that works?
and if theres a 5th and 6th produceditem they would be preserved
they want to replace the entire list though
then dont targetfield and have the Sturgeon key wrapping produceditems
then TargetFields already not valid
it's working as intended now, though. thank you, Button, Chu, everyone else
it is valid, TargetField can do that
(Can someone on Linux and/or macOS make sure this build works fine?)
Data/FishPondData is a list of fishponddata objects that have Id values, so you need TargetField to select the Sturgeon one
[SMAPI] SMAPI 4.2.0 with Stardew Valley 1.6.15 build 24356 on Unix 6.13.7.1
TargetField specifically uses a dictionary key if its a dictionary or a "list key" (which is what "Sturgeon" is here), or a field name, or a list value, or finally a list index
looks good
say pathos do you know about the glibc problem on certain linux distros
[game] Galaxy SignInSteam failed with an exception:
TypeInitializationException: The type initializer for 'Galaxy.Api.GalaxyInstance' threw an exception.
---> TypeInitializationException: The type initializer for 'CustomExceptionHelper' threw an exception.
---> DllNotFoundException: Unable to load shared library 'GalaxyCSharpGlue' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libGalaxyCSharpGlue: cannot open shared object file: No such file or directory
im not even sure why im getting this when im on steam
Nope. I assume that's not new in 4.2.0?
No idea unfortunately, sorry. (And thanks for testing!)
its a good thing i dont play multiplayer 
TargetField uses the same resolution algorithm that Entries and (outer layer of) Fields use, so if TargetField can reference "Sturgeon", then Entries/Fields should also.
i didnt know it worked like that without a targetfield to go along with it, but if thats the case then thats very good to know then
so Sekundes if you feel like changing it you can do the way SinZ mentioned too then
it works now, I have a feeling that if I touch it again, all the magic blue smoke will escape and it will never work again XD
sinz is massive number of TAS able to cause perf problems
how many TASes are you trying to make chu
Anything can cause perf issues if you try hard enough
im giving ppl the potential to make a lot of them
sounds like the people who wanna make a lot should be asking
TAS as in tool-assisted speedrun, or something else?
TemporaryAnimatedSprite
the thing i dont rly get rn is this pool mechanism
the way ContentPatcher works internally for EditData is that it has an 'Editor' view.
Entries does editor.SetEntry(key, yourValue)
Fields (targetting an array or object) does editor.GetEntry(key) and then mutates that reference directly using newtonsoft's Serializer.Value.Populate method
What TargetField does is start with that parent editor, and for each key in TargetField, creates a new editor targetting parentEditor.GetEntry(key)
(this is still somewhat over simplified, as there is a factory to make the editor, and theres different types of editors based on being dictionary vs list vs model vs delimitedString )
It's basically instance pooling
You can see similar in string builder pooling
what threw me was just the saying targetfields is not valid after i said its not a key but an id, but i think i was just taking "key" more syntactically literally than you meant it
Content patchers definition of key is the more abstract notion, and at this point I have much more hours inside the CP codebase than actually using it
fun fact, EditData Entries is internally called Records
i actually think i do too but the difference is thats mostly bc i dont really ever make CP mods and also it doesnt mean i understand it still 
how do i skem SVE into using my less intensive fog
PR to smapi that will inject harmony patches into SVE
could you not do a PR to SVE directly? Who's managing the C# part right now?
i didnt think SVE was really receiving updates anymore though? with the work on castle village instead if anything
I mean, you could ask Flash directly, but since SVE has seen a lot of folks no longer able to use it, I think he'd probably appreciate a performance boost 
how do I make this part look at my mod folder instead of the normal folder?
"TextureName": null,
"Appearance": [
{
"Id": "Winter",
"Condition": null,
"Season": "Winter",
"Indoors": true,
"Outdoors": true,
"Portrait": "Portraits/Abigail",
"Sprite": "Characters/Abigail",
"IsIslandAttire": false,
"Precedence": -100,
"Weight": 1
}
yea but honestly the code is very easy
i dont know why it was never considered
easy as in, it'd be actually simpler to hardcode the one case 
vibing in the sky
an attempt at 2-column slightly more compact grid view
i've been watching your progress on this for a while now, what are ya gonna call it?
add a Load entry to load the textures that you want into a new target, named for example Portraits/{{ModId}}_AbigailFunkyMode
then you can specify "Portrait": "Portraits/{{ModId}}_AbigailFunkyMode",
its part of MMAP
this is a framework feature for maps
ill use it myself eventually, maybe
is this the start of a sentence or a "you appear to have implemented the feedback i said earlier"
*basically what i imagined
ok neat
thank u for your feedback earlier btw 
i should find some limited free document store hosting and let ppl make shareable links. i feel the scope creep coming on
are you still de-duplicating based on update key
does anyone know how to put arrow signs in dialogue boxes? i'm trying to do TileData Action Dialogue for a directional sign and i wanted to have two entries pointing right and down
No not rn
Idk how to decide what the main mod is of the multiple ones ngl
i dont know if its really worth doing
u could just sort it by unique id and get like, half way there?
Heyy, Im currently working on a mod and I was wondering if there is any way of "restarting" the mods when I update them.
Lets say I compile the mod and I open stardew and I get a console error, I go and fix it and compile it again but until now I have been hard reseting the game (so shutting it down and opening it again) and that has been very time consuming, is there any other way I can do it??
!reload
- Content Patcher pack: enter
patch reload <your_mod_id>in the SMAPI console window. This will reload and reapply all your patches (but won't recalculate theConfigSchemaorDynamicTokensections if you use them). - Translation files: enter
reload_i18nin the SMAPI console window. If it's for a Content Patcher pack, also runpatch reloadafterwards. - C#: see the Visual Studio hot reload or Rider hot reload feature.
Close. But no cigarettes
room temp reload
Thank youu!!
wait, so do I leave it as-is and then put a new little header with that load stuff, or do I put the load stuff right in where it specifies the pictures?
If new header, how do I specify it's for winter only?
actually, do you just want to replace Portraits/Abigail with your own PNG?
my instructions assumed you're adding a new entry entirely
nope - it's only on Abigail bc I yoinked the like, character profile thing from Abigail and have been updating the info to my boy, but it adds him as a new guy not replacing abigail
but I can't get it to add his winter outfit
Load your texture into Portraits/YourCharacterName_Winter (example name) and use that in a new Appearances entry
I don't think you can put those in dialogue. If you're doing Action Message like the sign in the bus stop then it's possible
...that's probably what i meant to use lol thanks
would i just type > for a right arrow?
> becomes right arrow, @ becomes left arrow, ` becomes up arrow
there is no down arrow (unless you use SVE, which goes "Fine, I'll do it myself" and patches the font to replace a character with a down arrow)
hey! Im making a mod and currently using Content patcher..trying to figure out how to trigger an event when the player goes to sleep!
a nightly event may need More Nightly Events
oh did you mean a heart event
sorry i should specify better, i meant cutscene!!
yep I kinda figured lmao. as button said you might need that framework mod to add your own
got it! will look into it! thanks folks!
How simple is making mods for sdv and how simple is it to learn c# to do it
Simple is in the eye of the beholder
!startmodding it's pretty simple, although as you might expect, certain things are quite difficult.
for starters, you don't need to learn C# for a great many types of mod
Making mods can be broadly divided into two categories:
- Content packs are formatted text files, and don't need any programming knowledge. They can add/edit NPCs, maps, new items, shops, and more. To get started, see the list of framework mods, the wiki tutorial for Content Patcher, and there might be relevant guides on the tutorial wiki.
- C# mods use programming code to change fundamental game mechanics. See getting started with C# modding.
Usually it’s easier to start with making content packs, since you don't need to learn programming.
My understanding is that stardew mods are easier to make than most other games
As for c#: it's a very nice language
Jeez I am trying to do the spawn randomization for this and it is killing me, I am asking for help in the monogame discord but their advice isnt helping much.
the event key is "65/m 25000/t 600 1200/H", so:
between 6 am and noon, host player only, 25000+ total earnings. plays when entering Farm
i believe if you earn money and cross the threshold before noon, then go to your farm, he will show up immediately
Hello! I joined rn because im having trouble making my first ever mod, im just changing the portrait sprites fo shane for now
Is there a specific channel to post like the SMAPI error?
I am too ambitious for that
where would one find the list of x and y spots for items in springobjects im trying to repalce the meteor
i knwot heres a lsit i just cant locate it >.< srry
*list
Also I'm already learning two programming languages how hard can a third be
I'd open up the image in an editor and see what the x y coords for the meteor is
!log post it here
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.
hmm the meteor appears to have 2 xs and ys would i need to load those squares all seperately?
!json and what you are working on as well
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.
you'd replace a 32x32 region
EditImage can edit whatever sizes and locations you want, not just in 16x16 chunks at a time
The SMAPI seems to have a problem with the code i put in my json file, lemme post
not hard at all. once you know how to code it translates fairly easily between languages
oh ok let me see if i typed this in correctly then o7 ty ty
pls use the json link above
you're missing a { to match the first }
and a command between } and { in the line below
every object in JSON must be enclosed between matching brackets
and you need commas to separate them, as well as separate entires inside a bracket
How simple is that? Apryll learned how, and Apryll is… not left brained. It took me a while. I am probably in the worst case scenario for learning c#. just takes determination and patience. And the people here are very helpful and willing to teach! I thank them all!
So srry, is there a way u can like draw on the screenshot where the {}’s are?
Im not a coder i just copied something from online 🥲
if you upload the file to the json validator I linked above it can point out the mistakes by line
and I can also help correct the file with actual line numbers
Ahh okay
Thanks for the support!
It wrote that theres an issue with line 4 but im unsure how to solve it
post the link here
Hold on, ill need to transfer some files around
you should just be missing an opening curly bracket on line 4, I think?
and on line 12 you're missing a comma
you just need to post the link to the smapi.io/json site that you're viewing the errors in your browser
Apologies, discord is not on my laptop im typin from my phone oopsie
{
"Format": "2.5.0",
"Changes": [
{
"Action......
you're missing the curly bracket before Action
thanks, that's clearer
like icarus said, missing { between line 3 and 4
and missing comma between the two brackets on line 12
https://smapi.io/json/content-patcher/87fdcf053c1241a78b8344982abdcc9a this is what it should look like
oops, jinx
haha
that validator is super useful for pointing out syntax errors, although sometimes you have to look a line above where it says the error is
(since it's usually something like unexpected character on the next line)
Thank youse so much yall for helpin me out on this, this why im an artist not a coder lol
I'm also learning the code part rn, and I've had sprites done for weeks already haha
is there a way to put spouse dialogue on your anniversary?
you gotta start somewhere!
(i just got the mod i converted to work ty ty for the help
)
Cool! Is it like the iridium meteor thing? Or a new thing?
its a regular meteorite replacement :3
it would be cool to make it cycle between the colors randomly
that would look so cool!!!
i might look into it further when im less sick but it would be a personal thing since its for personal use
i dont think im allowed tor edistribute peoples converted mods 
but i can link you to the original
I'm pretty sure you need a mod that lets you track number of days since the wedding, like BETAS.
unfortunate
ALSO is there a way for dialogue to distinguish between rainy days and days with thunder?
Correct, unless the permissions specifically allow it. (Also it's a good idea to credit the mod when you're posting pictures so people can see the OG mod when they look at your image
)
OOh yee let me grab the og mod for people who are curious
you can conditionally patch the dialogue based on CP's Weather token, which supports distinguishing between rain and storm
mod is by 글화 on naver :3 https://blog.naver.com/codnjsdl8235/222061937337
wheres the goose
This is dope
right here but hes too small to see
You could also use $query to make your rain dialogue check for storm
Can Schedule check that too?
would it be possible to make different colored meteorites fall depending on season 🤔
without C#
Not the way I suggested but Selph's way could
you can patch the meteor sprite
but it just means the meteor looks different every season
do u want that?
might be strange if my decorative meteor i didnt mine changed colours suddenly
but maybe its junimagic
oh your fair and real button XD
it just got snowed on or something
LOL
mybe ill make my own multicolored meteor i had an idea for one thats like a large crystal structure protruding from the ground
like this
i guess u can spawn that with some combo of item extensions and more night events?
im not sure if people would rather have like
a general purpose bg like this one that they only need 1 map prop to setup
I love the background
or awful 10 arg string prop
which is what i actually have rn
and doesnt even support time of day things yet

have you considered a custom asset model
i did but its not quite that complicated yet
it also isnt as terrible as vanilla tree prop for what its worth
ill sleep on it
the main point of contention is that theres also this chunked mode that im supporting
they cost me 5 different args that most ppl wont even use 
but they r flat
anything more than like 4 args max in something is more complicated than id like unless necessary
especially if i want to think about making any of them conditional
but only some and noit others
ig it depends whether you consider Rectangle 1 or 4
cus that is part of the problem with draw related stuff
4
the main reason why i'd want to keep this as map prop(s) is so that i dont have to do extra stuff to map things
perhaps i just separate the chunk related stuff to another map prop (there are 4 of these rn)
if i wanted to recolor one of the dogs ingame how would i go about that 
i would add a new dog Breed instead
either way start by reading about content patcher
i am currently doing that, i have like 10 tabs open lol
omg thanks
didn’t even know the wiki had modding stuff, soo much to read now 
https://smapi.io/json/content-patcher/bd15c8a337924cdbad9c4d371f759934 what am i doing wrong with the Lighthouse entry? it used to work before i tried making it have my mod id in the name
the error i get in SMAPI when starting the game is that the location couldn't be created
!log please post the exact error log
Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.
Please share your SMAPI log file. To do so:
- Open this page: smapi.io/log.
- Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
- After uploading, it will show a green box with a URL to share. Post that URL here.
Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didn’t occur in your last session, please load the game to the point where the issue occurs, then upload the log.
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Pro, with 13 C# mods and 1 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
Is its name missing the mod id somewhere else? It seems like the json thing is saying the name doesn't match?
line 18?
or is it a format thing?
i think you're right it's probably line 18
have you double checked your map/tile properties?
.
also i changed line 18 and it still doesn't work, so i guess that wasn't the issue
something on the Buildings layer, id suspect. its failing in GameLocation.updateDoors()
an empty Action, maybe?
i added this TileData Action Message to the signpost:
@ Lighthouse```
does it not like new line characters or something maybe
newlines wouldnt be handled i dont think, no
but can you send a screenshot of your TileData anyway? its not the kind of error id expect
is that the only TileData you have on the Buildings layer?
i have a LockedDoorWarp (although it's not new i added it weeks ago and have been able to use it) and i have a Dialogue
and your message one is definitely named TileData? if so i guess try it without the newline
https://smapi.io/log/ab682f29d0dd47b2b7b7c8a67d4183ca does this mean it worked? yellow text is better than red
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Pro, with 13 C# mods and 1 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
well you've renamed the location to have the modid in the location key itself now (which you should be doing from the start, though i notice none of your others do)
so that warning is actually for a no longer existing location and not the one you just reloaded
so yeah it seems fine
the sooner you change things to use it the better
I have a quick q about mod permissions
like if your making a mod and wanna color it to match a recolor or retexture should you ask permission from the mod author of that recolor/retexture or is that only if your using assets?

specifically i wanna make my mod be pairable with wildflours whismical resources by recoloring my rock base of my crystal meteorite to be similar to the rocks in it so that it doesnt look out of place
Hello, how can I make the screen shake in an event using content patcher?
in 1.5 I just moved the viewport rapidly back and forth with a short pause for a manual shake:
/viewport 13 6/[..]/viewport 13 5/pause 10/viewport 13 7/pause 10/viewport 13 6/[..]
just got an idea for a mod, something that adds more mini obelisks, im thinking color them with gemstones and each colored set could be placed down and used as different mini obelisks
Submit ideas for mods to create, or find your next mod project! - StardewModders/mod-ideas
I just tried using spacecore to spawn monsters on a custom map for the first time and it worked the first time - I am gobsmacked.
Well I guess while I am waiting for help I can work on the score/rectangles...
well, it doesn't seem to be barren, so I know one thing that's gotta be planted there
Curious, the screenshot didn't capture the tinting. I will try again.
There are 56 crops in that image
Anyone know the best guide to beginner creating my own crop mod? It may be a bit ambitious but I don’t really know where to start in 1.6
*begin
Drat I missed out on the seed stage for the short ones >_<
I don't think crops are too ambitious. You want this page for making the initial content pack, then the crop data page for making the crop part (the bit actually in the ground) - there's an example at the bottom you can copy and edit, and the objects page for the fields you need for the seeds and the produce from the crop. There's an example of doing that here (ignore the gift tastes for now). If your produce is not also the seed like in the example, you will want two entries in Data/Objects: one for the seed and one for the produce.
You’re the best, thank you so much! @vernal crest
I don't know if I'd call it a 'guide', but I learned by downloading other people's crop mods and looking at how they got things to work for them. working examples can be great to learn from if you're able to follow their train of thought and see how they worked everything out
Yes, Sekundes's suggestion to download other mods that do crops and look at them is a good one. People usually suggest Cornucopia and that is very good and comprehensive but make sure you can single out just one instance of a crop rather than trying to look at all of them.
I see, thank you. I will definitely try that. I have some c# knowledge but with content patcher it seems a lot easier. Do you suggest just looking at the actual files themselves or is there a specific place on the mod page? I actually looked earlier at that exact mod but only saw stuff using json assets.
https://www.nexusmods.com/stardewvalley/mods/28053 this is my crop mod! I made it using Content Patcher
That’s awesome! I really like your sprites btw!
you can use it to look off of how I did it, and see if it makes sense to you
thank you :3
I really appreciate it!
if you have any questions, feel free to ask
you are most welcome
At the actual files themselves. Content pack mods have pretty rigid requirements for both syntax and content, so although there can be some variations in how to achieve things, overall one Content Patcher mod that adds new crops is going to look much like another.
I'm not sure you were looking at the most recent version of Cornucopia though because it doesn't require Json Assets lol
I see now, and I looked through your files Sekundes and I do understand it, but I do see that I should focus on just one to start out XD. @vernal crest I think I was looking at the part where they ported everything from PPJA and that's where I got confused. That rigidity seems really nice actually, less daunting for sure.
@dusty scarab I looked through your files and it looks a lot simpler than I originally thought. I think im going to work on the sprites firt then begin the actual implimentation part, but overall thank you both!
Third time lucky, bla bla bla crop monstrosity.
you are welcome. I look forward to seeing your crop mod! growing things is always fun
Thank you, yes it is!
I would actually personally recommend doing it the other way around so that you already understand how the "getting it in game" part works before you put too much time into the art. Especially if you have any thoughts about using a different number of growth stages (sprites) than vanilla does because there are extremely specific rules about how much you can deviate from vanilla there.
also another quick question, is it easy to add things to machines? and be able to turn the new crops into artisan goods?
@vernal crest Ah I see, that makes alot more sense now that I think about it
that is primarily done through the context tags. things tagged as fruit or vegetable automatically are able to go into preserves jars, kegs, or the dehydrator without any further input on your part
Easy is relative to your own ability to grasp the concepts and your patience/determination, but yes and yes.
I see, and that makes sense too XD
though, if you wanted a custom machine output, look at my machines.json under Data, as that is where I put the custom Bottles of Dried Herbs that the dehydrator turns my herbs/spices into
also something to note on that topic, is that the game populates a list of what things can turn into when put into machines, and once it finds a match, that's it, that's what it picks. so if you're adding, say, custom items to the dehydrator when that item can naturally go into a dehydrator, you'll need to make sure you reorder the list so the item you WANT to be made is at the top of the list, so the game finds it first.
I went through a lot of Handful of Dehydrated Peppercorns before figuring that out
Ah okay I see, so for example if five peppercorn are put in it outputs one dried peppercorn item
yes! you can also control the maximum and minimum quality crops can be harvested at. for example, herbs/spices like peppercorns are locked at normal quality, no matter what. I did that as a quality-of-life thing, since they're intended as dehydrator produce and making sure you have 5 of the same quality to get the dehydrator working was always a pain
That makes sense, so you would want your custom recipe above the vanilla one in the order of operations. And I see, okay awesome! it makes alot more sense now looking at it. Is there a good way to keep everything organized when doing this kinda stuff? Did you set up a google doc or something 😅
And it seems like copy pasting is gonna be the big thing here like most coding.
no, but I do use Visual Studio Code, which is easier for keeping track of things and keeping multiple tabs open than doing it something like vanilla Notepad
Thats what I use too, I assume it would be easier for me to follow if I actually set up the project first.
Ill use the file that @vernal crest sent earlier to start.
ah, fair enough. I did all of my organization by mentally working through one season at a time and keeping my tabs open to make sure I was getting everything done, working from the leftmost tab over to the right, for each crop. I think organization ends up being what works best for you, honestly. it's different for everyone
Wha? I sent something?
Valid, that makes total sense!
and yea those files above for me to get started XD
Oh the links to the wiki pages lol
those hyperlinks 😂
pretty sure they mean these
ah, late to the party because I went scrolling to find them, lol
For project management some people use paper and pen to-do lists, some use things like Trello or MilaNote, some use Google Docs or Sheets, just write their to-do lists inside their json files. It's all very personal. Just make sure you do not write one single thing that's meant to go in your json content itself inside Google Docs or Microsoft Word lest you introduce characters the game can't interpret.
one more thing, thanks again for the help both of you! the days in phase, is that referencing how many days to update the sprites of the growth cycle? I see, I will have to try that. I have a little notepad, and I think it will help me atleast get a start to the whole thing.
you could always make your own personal discord server and keep your to-do lists there, organized by channel, with notes and everything
days in phase, yes, is referring to the number of days spent in that particular growth stage before it progresses to the next
I am working on an update to the wiki at the moment to make it more clear lol but yes like Sekundes said it is. Each item in the list refers to one "phase" of growth which corresponds to a sprite in the texture and the number is how many days it will spend displaying that sprite before moving to the next.
okay I see, so this crop takes 4 days to grow and takes 3 days to reproduce again?
No, it takes 11 days.
it takes 11 days to grow. 1 day as a seed, 3 days in phase 2, 3 days in phase 3, and three days in phase 4
The first item in the list is the seed phase, which will pick one of the first two sprites in the texture to plant and then ignore the other one when it goes to pick the sprite to use for the next phase.
oh I see that makes much more sense 😂
after phase 4 when harvested, it reverts to the 6th sprite in the zucchini_crop.png until 3 days have passed, at which point it reverts back to its harvest sprite
I think my confusion lies in the four being in the fourth phase spot
Reverts to the 6th sprite? You don't have it using the 6th sprite in its growth though.
Initial growth, I should say.
for regrowth crops, it picks the final sprite in the line to use as the regrowth phase. I put mine on the 6th place in the png
so if it was three days in phase four shouldn't it also be a 3?
because the individual size of the tiles for sprites is 32x128, which gives 6 possible growth tiles, plus 2 for seeds, and it picks the last growth tile as the regrowth phase sprite
Yes
The game will always pick the 8th sprite along for its regrow sprite and the 7th for its harvest-after-regrow sprite (this is counting the two seed sprites individually - if they're counted as one, then it's 7th and 6th respectively).
yes. sorry, I wasn't counting the seed sprites and was only counting the growth sprites
So like this one for an example does not regrow and takes 5 days to grow? Sorry i might still be confused.
correct! that is a 5 day crop and does not regrow
Do you mind Sekundes if I draw on your zucchini crop image to show Rogue the placement of the crop sprites and what they correspond to in the json? (Totally fine if you don't want me to)
absolutely, go for it!
hey, if I can make learning easier, I'm all here for it. this place has helped me so much, it's nice to be able to help others in turn. we all lift together!
so like for you peppercorn crop does it take 3 days to regrow? @dusty scarab
Okay pardon my very messy writing lol The blue numbers correspond to the DaysInPhase to show you which sprite will be shown at each step in the initial growth. The purple numbers are showing one way of counting the sprites to show what sprite corresponds with each part of the entire cycle - because only one seed sprite is chosen, they're grouped together and then the next sprite chosen is number 2 instead of the other seed sprite. The H stands for "harvest in first growth" and H+ is "harvest upon regrowing", while the R is the regrow sprite.
peppercorns are a 4 day regrowth crop
sorry im trying to wrap my tiny brain around this 💀
Most of the vanilla sprites don't look quite like this because the regrowable ones are usually 5 steps in DaysInPhase, not 4, so there isn't a doubleup of the harvest sprite. Looks like broccoli is the exception to that though.
it's all good :D it's a lot to take in
Sorry I am adding a lot of extra burden to you by focusing on the sprite stuff when you're just trying to follow the actual growth itself, so just ignore anything I've said about the sprites!
I'm just very obsessed with it because I've literally just been working on finding out the rules for them the past day and a half.
So this crop is 11 days total does that include the regrow days after initial harvest?
you are all good lol, im just trying to follow the cycle but struggling to do so
No, the zucchini is 11 days for only its initial growth.
DaysInPhase doesn't affect regrowth in any way.
I see okay the diagram is coorelatin how many days to each cycle of that growth sprite
it does not. it spends 1 day as a seed, then 3 days as a stage 2 growth (2 in the image), 3 additional days as a stage 3 growth (3 in the image) and finally 4 days as a stage 4 growth (4 in the image).
after 4 days in stage 4 have passed, it becomes its Harvest sprite and is harvestable and spends 3 days as the regrowth sprite (R in the image) and then goes to the sprite labeled H+ when it regrows a new crop of zucchinis
The blue numbers are, yes. The purple ones have no relation to number of days for growth at all.
(By the way Sekundes, it's good to see you again! Welcome back ^_^)
(I'm remembered! :D it's nice to be back!)
Ah okay I see, so as you guys mentioned above the game just grabs the last two sprites for regrowth? so in the tilesheet the last two will always be the harvest and regrowth sprites. And it just cycles H+ after the initial growing untill the allowed seasons change.
sorry spitesheet not tilesheet
No, not the last two
yes. however, if you have a 5-stage regrowth crop, like most of the vanilla ones are, then you'll use the one in the position labeled H+ as both the first harvest AND the re-harvest sprite
Specifically only number 8 for regrowth and number 7 for re-harvest. (If you are counting the seeds as two separate sprites.)
Abagainye is explaining it better, lol
I will show you an extreme example of this. This crop has only one DaysInPhase step, so it shows the seeds (for however many days are specified in that one step) and then BAM! harvest. Then it jumps all the way to the one at the far right for its regrowth and once it is finished regrowing, goes to H+ for its harvest, never again using sprite H.
okay I see lol, again sorry for being confused. The loop makes sense, but until I actually do it myself my brain gets confused with the numbers.
so for that crop are you able to harvest it everyday?
...I see someone is growing kudzu in the valley. XD
or well without seeing the code I guess I wouldn't know
Ah ha you're getting it
This can only show you how many visual stages are possible for the crop, not how long they will take in each one.
but it starts as a seed then jumps to that second sprite and whenever it hits that second sprite and is harvested it will regrow displaying only the H+ sprite.
(I did this as part of a test to work out if you could have crops with fewer or more growth stages than vanilla crops. Every single stage was set to 1 day to make testing easier.)
The regrow part will be the R sprite not the H+ sprite, but otherwise correct.
So then it will just bounce between the regrow sprite -> Harvest+ then a forever cycle untill the season ends?
Yup that's right ^_^
okay I see, thank you guys again.
makes alot more sense now
also were you able to do that?
what did your testing find?
I think of hops in vanilla stardew dosn't that regrow every day?
it does, you are correct
that would have a RegrowDays of 1
"RegrowDays": 1,
but if a crop only has a growing day of the seed and then one day is it still able to be reharvestable? or would it need atleast one growth stage?
My findings were that with non-tinted non-regrowable crops you can basically go crazy. Give them as few or as many phases/steps as you like. Regrowable non-tinted can only have fewer than vanilla, not longer. And do not mess with the number of phases/steps for tinted crops AT ALL.
This is the shortest you can have:
"DaysInPhase": [ // Harvest day after planting
1
],
I see
If you combine that with RegrowDays of 1, you get a crop that can be harvested every day from the day after planting until it dies.
Like Sekundes said, kudzu lol
that also only takes one day to grow?
What thing are you referring to when you say "that also"?
so like if a crop only takes one day to grow can it also be harvested everyday following that initial one day. Like kudzu in your example? If that took one day?
it can, as long as its RegrowthDays is set to 1
BRO can C# please just make it so when you do a decimal it automatically makes it a floater im going to cry
Like Sekundes said, that depends on RegrowDays. There's no relationship between DaysInPhase and RegrowDays at all. I think you're seeing them as connected things.
a 'day' in Stardew Valley can be more accurately phrased as a night. one night needs to pass before one day is recorded as having passed. so if you start the regrowth day before night falls and you sleep, it counts that as the day needed to be spent in the regrowth stage before it's harvestable again
You could have a crop that takes 4,000 days for its initial growth and then can be harvested every single day after that. Or you could swap them around and have it take 1 day for initial growth and not regrow for 4,000 days.
ah okay I see
hello everyone!
I'm new here so I don't know if I can ask for help 👀
also yes, DaysInPhase and RegrowDays are completely divorced from each other. they can be completely seperate numbers and everything will still be okay
Welcome! You can ask for help, there's no restriction on membership time :)
thank you! ❤️
so um I'm trying to create npc mod
and I was following tutorial and everything was fine
like I have nps - dialogs are okay, gifts are okay but fors some reason he ignores the schedule
we welcome questions from all comers! whether or not I'll be able to actually help is a whole other matter entirely, but I'll give it my best shot!
That makes sense, Thanks again for the help tonight, I am going to start tomorrow and see what I can come up with, but yall have a good rest of your night and DankaShu Goodluck with finding answers. You have the best of the best helping you 😂 .
That often happens. Have you slept in game since adding his schedule?
Good luck! There will be people around who can help more any time of day if you need it but I'm always happy to be pinged if you want to.
good luck! you can always come back and ask for help if you get stuck. we're pulling for you, we're all in this together
Thank you so much! I greatly appreciate you both! Ill pop pack in soon I'm sure 😂.
yeah sadly I just tried and it didnt help
my schedule looks like this
maybe there is an error?
Isn't there a seperate JSON for rain schedules?
the content looks like this
wait is a wrong one
You're missing a spring schedule. Spring schedules are mandatory because they're the default.
No, you're thinking of the dialogue.
sorry here is a right one
Why do you have two different ones?
those was like draft from coping tutor template
they are not in the same folder, I just screened the wrong file
Hmm. Maybe make sure that the one with the rain schedule isn't the one that's being used, then. Is the one with the spring schedule the one called schedule.json inside the assets/data folder?
yeah I made sure, the one in the mod is with spring one
!log Okay, can you share your log please? The message below mine will have instructions and a link to the website to share it with.
Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.
Please share your SMAPI log file. To do so:
- Open this page: smapi.io/log.
- Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
- After uploading, it will show a green box with a URL to share. Post that URL here.
Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didn’t occur in your last session, please load the game to the point where the issue occurs, then upload the log.
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Pro, with 4 C# mods and 1 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
!json Yes that's correct, thanks! There's no errors or anything wrong there. Can you show me your file where you add him to Data/Characters? There's a place on that same website where you can upload your file instead of trying to fit it all in a screenshot (instructions in the message below mine again).
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.
Oh, I think I have found the problem!
You can't, sadly.
sorry it is really my first mod and I mostly copy without understanding half
so I just need to move him to town or mountains?
The reason they're not allowed there is because it creates what is called "circular pathing" where the game gets confused about how to make NPCs get from one map to another because there's more than one path between the maps.
aaa I see now
Yes, try moving him to one of the others (but not the secret woods, that's also forbidden haha)
so its pathing problem
oooo
okay this was the second option
😂
Haha I'm glad I warned you then xD
so in any npc area
also thank you very much for the halp💖
Yes, somewhere like Town or Mountain or Forest should be safe.
TIL: this game hates people frolicking in the various woods
You're welcome! I hope this will be all it takes to get him walking around (make sure you sleep again after you change his Home location because it doesn't update until the night time code runs).
I wanted a romantic wood scene but seems I'll have to make separate woods location with blackjack 😂
You're able to put NPCs into any map during events, so if it was planned as an event it's still okay!
They don't use their pathfinding during events because you control their movement 100%
just make sure to keep out the hookers, this is a wholesome Christian minecraft server pastoral farming sim!
exactly why I cut on blackjack UwU
(...I don't care what kinds of mods people forget to label properly on Nexus mods, this game is wholesome, darn it!)
I like to think of it like a young adult book. Adult themes, less graphic depictions.
I can assure you I'm just creating completely ordinary husbando npc mod 🫡
no strange stuff
fair enough. I will forever meme on it being an innocent and wholesome game, though
You're not alone in that thinking, definitely. I just prefer the "more mature" stories (like Shane's) and get mods that add more of those lol
and all I want is the NSFW mods to be properly labeled so my innocent eyes don't get a drive-by flinching when scrolling new postings on nexus XD
filters do nothing without proper labeling!
I agree about the tagging. I want NSFW mods to be tagged correctly and also translations. I hate having to wade through all the translations to find the actual content mods but I can't risk blocking the translation tag because people put that tag on the OG mods too.
I am also in full agreement on that. translations are good for mods so they can reach a wider audience, but they do make for a lot to wade through when the tag gets put on original mods and you want to make sure you don't miss anything new
I filter by english language, it doesn't get all the translations but it gets many
maybe it misses mods in english that aren't marked that way though, who knows
That's my worry. I know that there are mods with the translation tag but no language (which is confusing) or only tagged with the languages they have translations for rather than the language they're in by default.
as long as we don't let Nintendo's lawyers find out. those Cease and Desist letters mean business

Oh poop the tags search is an OR, not an AND. I was getting more results with each tag I added, not fewer!
Oh dang, can you write in AND search terms? (sorry I forget what that's called)
Doesn't look like it
@vernal crest You leveled up to Cropmaster. That's level 500! The deepening purple represents your mad descent into the server.
Yeeeeeeeeeessssss
nice!
I don't see no deepening purple though, cheeto!
the dusting of orange covers the purple. proof: it's how the Dutch did carrots dirty :<
Congratulations!
Thank you thank you -bows-
Okay the language support for English, which is different to the tag English, appears to include things that are not included in the tag.
Although there are 3 mods with "junimo" in their description that are tagged English but not in the English language support.
may I also ask about map coordinates? U_U
in Tiles the coordinate axes are like this. are they the same in the game? with y axes starting from top?
Data Layers does not provide support for English apparently
Yup that's correct! A tile coordinate in Tiled will match the game one exactly. You can use either of the mods Lookup Anything or Debug Mode to see the tile coordinates in game, too. Lookup Anything especially is REALLY useful for testing mods.
thanks! ❤️
Oh yeah I think it's the language support one that I use, the english check box in the filter options
Sigh, the English tag and the English language support are not OR so I can't use them both to get mods with either thing present.
So back to no filtering we go!
it was worth a try
after a while you'll get used to using 3.0f notation. decimal and integer maths is something you'll run into anytime you so much as think about numbers, one way or another
hell, i only found out last year there's a MathF library you can use instead of Math to avoid doubles. fancy that
it can't be passed as a float param without casting, if that's what you mean
No implicit cast coolio
Makes sense
Often widening is implicit and narrowing is explicit
I would make a "just like my hips" joke here
can't tell if you eat a lot or party hard
....okay I'll remove the joke
also, float, not floater 😅 floaters are, best case scenario, the squiggly lines you get in your eyes sometimes
does C# assume decimals are doubles then?
by decimal I meant a primitive with a decimal point, yeah
also atra you weren't here but the 1.6 version of atracore couldn't compile in vs22 either for me
so it's not a rider thing
Could someone tell me what the “1 2” means in Recipe data?
that is actually l 2 (consider using a font that differentiates better between similar characters), and it's the unlock conditions for the recipe
https://stardewvalleywiki.com/Modding:Recipe_data#Format
(does the page actually explain what l 2 means?)
it doesn't, actually! i don't know what that specific condition means either

Let the code decide, routine 2 /lh
i suppose it just extends to none or any other value
given Complete Breakfast has the condition l 26, i'd assume l stood for level at one point, and was meant to be based on your combined total skill level
but nowadays it has no effect, and the recipe won't be unlocked under any normal conditions
that sounds right to me. vestigial condition that does nothing
see also
Recipes that are unlocked during vanilla game events are hard-coded to be unlocked when those events are skipped.
well yes and no, the recipe is given to you via event commands, mail, or friendship with npcs
you get the furnace after an event where Clint somehow finds out you got copper ore
or, occasionally, bought from a store
there it go
in short l does absolutely nothing and may as well be left out
i mean if it does nothing shouldn't the player just have the furance recipe? or is that hardcoded
default gives the player the furnace recipe. it's on the wiki page ☀️
so l is just a value that isn't default and isn't the other 2
yep! personally i feel like the wiki should have a footnote about l to explicitly say it falls under 'none or other'
but it's technically correct as-is
so if i use "l 2" in my recipe, will it unlock with furnace?
nope, it'll never unlock unless you specifically give it to the player some other way
i got it
(send by mail, add by dialogue, add by event, sell in shops, etc)
Is it normal behaviour for animals in a custom building to all bunch up together like they're spawning on the same tile every morning?
Yeah if ur map has too many things
What if there's a relatively open space but they just huddle in one corner of it?
No, I went hunting for that time you helped nuupon and saw you used MMAP to fix it.
The thing with nuupon's mod is that the vision is animal pens
And desire to have animals go in those pens
If it's a wide open space then i dont think u would normally need it 
But I am not very invested in finding out what's happening lol
Unless mmap is causing issues when no mushymato.MMAP_AnimalSpot is set? I'm pretty sure i just let vanilla logic run tho
No, I don't have MMAP installed lol
then it can't be my fault
No it's definitely not lol
I'll have a look
I need to fix the map strings anyway I guess
Welp I cannot find the map
Hmm no that is not excessive either
Oh well, thank you for helping anyway 
Would it be possible to write a mod that sets a new save location for the game to save to and load from? I'd like to redirect save files to a new location on android where permissions aren't an issue so that I can sync saves between android and windows.
Is this delay new? I've never encountered it before!


