#making-mods-general
1 messages ยท Page 545 of 1
agreed- ||hopefully he'll get a redemption arc tho?||
Sorry if this is off topic, but this is glorious stuff.
||also deserves emily's love ngl..||
ooh?
|| Polyamory sweet to get the girlies together fr||
||I mean I already marry emily most my runs anyways I see no issue||
Oh!
Reminded for absolutely no particular reason...
How hard would it be, hypothetically, to make special dialogue if using polyamory sweet and married to another candidate?
For example, my NPC is friends with the wizard, and if you marry both of them says something accordingly?
hmm, shouldn't be hard at all
I should really focus on finishing their base marriage functionality before adding extra details like that but what can I say, I love me some small details
just two seprate objects with 'whens' for the marriage dialoge
alsooo do tell ๐
wait you're busy rn- IGNORE
LOL I'm really not that busy, I just cant have headphones on
maybe a stupid question but how do you check what level you are ๐
but im afraid i have to save something for you to see when the mod comes out, I cant spoil absolutely everything for you!
go over to #governors-mansion and use /lvl :)
that's mean /silly
now on the other hand, if you'd want to playtest my mod before it releases.... I could probably work that out ๐
okay!
I could use ideas for the events particularly. They have dialogue, but they're all kind of just standing around infront of Vael's house not physically doing anything haha
same here but 'mod coming out' is prolly an 'if' atp- /hj
Would it be okay if I DM you? ๐ ๐
go ahead! thanks for asking first :)
What's the requirements on making a mod? Do I need a fancy drawing pad ๐ฅบI do apologise if I sound silly but how do I get started on creating something ๐ฅบ
it depends, but you can use things like content patcher which are generally very easy (i started modding with it a week ago and ive gotten the hang of it)
Hi, what's the best way to cancel an NPC's schedule for the current day in order to teleport them somewhere else?
and the game uses pixel art so if you want to do sprites, a mouse should be more than enough
What can I make with content patcher, I want to do something small like an item of clothing or whatever is easiest to begin with
ive made an audio mod, replacing every track and some SFX with harvest moon DS sounds, i found that is exceptionally easy
!startmodding CA draws all his pixel art with a mouse, so you definitely donโt need fancy equipment! check out the content patcher links below to get started
lol I did just now and "the application did not respond" what are you Haley?? XD jk jk thank you!!
If I want to make let's say a ladybug pot ๐ฅบhow did I go about it
Governor is having a Little bit of trouble right now. Just a little bit!
I may put out myself for comissions on pixel art especially with ModFest 2026, anywhere I can post it that people will see?
#making-mods-art message governor is down but here
i feel like iโm in the stone age having to use discord search instead of my good friend The Governor
Now, I don't wanna crash the vibe here XD but mayybe, someone knows why the heck my temporaryAnimatedSprite doesn't do anything? XD I have this: temporaryAnimatedSprite TileSheets\\animations 0 1920 256 64 200 4 30 61 34 false false 1 20 1 1 0 0 but it just doesn't do anything. This is the pixel area of fire btw. I just can't figure out what the problem is XD the code definitely uses the animationssheet
Of Course this is part of an event script. When I do just a temporarySprite, it works, but I'd like the features of this code with the loop and zoom settings
my first instinct is that some of those need to be floats not ints but i actually think that got disproven. iโd need someone to look at the decompile to confirm
An int can get parsed as a float just fine
wait, how do I make something a float in a json data?
It's vice versa that you need to care more about
gotcha
4 is a valid float. 3.2 is not a valid int
At least numberwise, I've tested many things, also for the fadeout value (which requires an 'alpha'), but nothing works
waiiiiiiit, apparently I never tried putting the alpha to 0. And now I actually see the fire. How in the world did I not test this? 
Well, I guess, I found the error then XD
No the problem was someone else. Whatever, I have zero idea what is happening, but at least I see something now and I can test around better XD
can someone tell me how i go about locating the dialogue keyed in this?
this.addMarriageDialogue("Strings\\StringsFromCSFiles", "NPC.cs.4462", true);
!unpack if you haven't already
Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!
me: opens game to test my mod
smapi: system error. idk man sounds like corrupt memory lol
Wait, I am super confused. So, when I change the 14th entry, meaning the scale, I can put a float number there (like 0.25). But when I put anything in there except zero, the object just doesn't appear at all. When I do put it on zero and the next entry (scale change) to zero, my flame appears 4 times the size. The wiki says, the game zooms in 4x already and I am assuming I multiply that with 0 and that's why that is happening. When I put the number at scale change to, lets say, 2, the object appears twice as big. Naturally, I thought, maybe I can just put that one to 0.25, but that only accepts integers, so it breaks. Meaning, I obviously have to put anything besides zero at the entry before. But it just makes my object disappear, why? XD
When making Marriage dialogue, does it have to be in its own json separate from regular dialogue like on the NPC Data wiki page?
so, how am i supposed to ask for help with my mod and the log when the log isnt showing all the message i saw before smapi closed itwself? :I
i mean, i do have a screenshot of the message tho
cuz my log says this: https://smapi.io/log/e755de0053534d81aa70c0bbf19eff2b while smapi itself said more(hence, the screenshot)
Log Info: SMAPI 4.5.1 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26100.0), with 63 C# mods and 45 content packs.
that's the ol AVE, only fix is shuffling your mod list around a bit
randomly disabling, relaunching, and reenabling C# mods
since i can't post images in #archived-stardew-memories here is my concept art of "if only the game had a way to customize farm building" that lead to my first mod. Years later, CA would add paint to the game.
Yep, the game looks for MarriageDialogue<NpcName>.json to load the dialogue from your spouse inside the farmhouse when married.
Ty!
is there any way to apply the standard furnace animation(wobbly expansion contraction thingy) to any custom sprite without manually drawing the frames?
outside of making it a processing machine? dont think so
though maybe you can do some madness with temporaryAnimatedSprites if this is for an event
meanders in here. if i just so happened to be out of the loop for (checks watch) 2 years and was wondering if anything major has changed in game (specifically around sprites and portraits) ... is there an easy way to catch up?
1.6 was nearly exactly 2 years ago, so it depends on whether your checkpoint was before or after
Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!
if 1.6 was the update that reworked a lot of modding stuff to make it easier, my checkpoint was before that
right before that actually lmfao
yeah lots changed; as lumina said definitely unpack the files
The Dreaded Unpack. alright well thank u guys, time to dig in i suppose
holy damn, that worked, thanks
yeah simply perusing the unpack is the best way to get a feel for what's changed, though in a handful of cases (such as events) not all the existing data was updated with the new methods and formats and tools available
for backwards compatibility (and presumably source history) reasons i'm sure
hey! is there a way to replace certain sounds? misophonic and I wanna make a mod to remove eating/drinking noises by replacing them with silence
the audio cues (i think that's the right word?) themselves to be specific
Yeah, Target/DataAudioChanges and then find the ID of what you replace. I have noticed some weirdness of replacing certain sounds but nothing I specifically remember.
Like gulp appears twice.
I imagine when you replace it, it replaces all of the sounds.
oh ty! i'll look at that once my cat gets off my lap LOL
Is this the correct way to set up this traction? it didn't end up working
why do you have it as mark action applied true? /gen
you could also try taking the true out of the condition
I just started trying to add items to the game but i cant seem to add this item to the game
it doesnt show in the item list when i load it but it doesnt give a loading error in the smapi console
what item list does it not show in?
when i type list_items in the console
and i cant get it in my inventory
with player_add
uhh i could try
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.
oke wait that gave me the item
๐ญ
maybe i used the wrong command to give the item to myself?
do i need to use this command for modded items or could i use player_add if i do it properly?
Any means of item spawning should work if your item exists there's no difference
Player add is harder to do correctly :P
Debug fin is fuzzy and easier to use
Modded items work fine with player_add, it's more that I dont trust people to have used it correctly
ah thank you this helps a lot!
is there a convenient way to check if an NPC is a roommate?
Late to the party, have you thought about playing multiplayer with your GF? It might be a way to collect resources together, make a special craftable item mod and then make rings for each other in-game and get married in-game.. I'm sure you can take it from there..
seems like vanilla just checks if their name is 'Krobus'
their friendship status would be roommate in friendshipData iirc
We have been when we have time, the issue is im a full time student in eng. I wanna make this for her because I like making stuff but i also want it to be unique to her and her tastes ya know
I appreciate the thought tho :)
That seems pretty outdated might wanna decompile again
its specifically in 'marriageDuties' in NPC
there is no roommate FriendshipStatus, but there is a roommateMarriage bool on the Friendship object
it may do it better elsewhere, but the section im looking at checks a tile position and asks if the entities name is krobus lol
That's not checking if the NPC is a roommate
That's specifically doing hardcoding for Krobus
Yeah marriageDuties is fugged
Krobus can't stand outside.
sinz's response is what i need
Well SinZ is slightly incorrect
It's on the Friendship object but is found in roommateMarriage
the FriendshipStatus will not tell you if its a roommates situation
well... yes. his response let me find it anyways :P
Yes, I get you -- I should have phrased my suggestion as "And then you could play coop together and ..." be there when the event triggers -- it can come from your farmhand to her, inviting her to a special spot, etc etc (my partner is an event planner, he is a cat in cream in situations like this)
Ohhhhhhhh
I was considering that but im not sure how much trouble it would be to sync 2 player characters. Maybe since itll be in a pre programmed cutscene it wont be terrible?
You'd join her game as a farmhand, no need to sync characters
Oo ok
That way, you'd be allowed into a cutscene where she could find a cool ring and get a note of proposal or something like that
You'd need to load the mod into her computer, though since you prob won't want to make it public
Thats true lol
If u wanna C# u can make ur own festival which are events underneath
Probably not super complicated to create a custom destination using the existing game assets, take an existing space and reshuffle things around, use existing deco to create a special spot
Don't quote me on this because I'm not super familiar with events but I think it's even possible to make one that utilizes multiplayer farmhands if you knew in advance how you wanted to set things up
And do equivalent of the egg hunt for the player control
The pieces exist in vanilla, including mp event sync stuff, but u must assemble it
Or u can just marry ur gf in game 
Maybe an egg hunt where she's finding gold, silver, platinum ingots and some precious stones...
Thats really good
And finally a note signed by you
I dont want it to just be "craft a ring" because I think that'd give it away lol
That is also really good!
There's also this mod https://www.nexusmods.com/stardewvalley/mods/30087
Thats huge!! Also i gotta dip again for a bit, boutta write a structures exam. Thank you everyone for the continuous help!
GL on the exam!
making sure the mod is showing up with GMCM
I had titleScreenOnly set to false. ๐คฆโโ๏ธ
I was going to release my mod today but I'm having an issue with that
and making sure the format recieved in my Mailbox is the same format in Collections
i dont know does it make a difference xd
and yes ill take the true out i wasnt sure if it needed to be there
bc
i mean its phrased as a question
yes, it's default true if you don't specify but if you mark it false the action can repeat
so i was wondering if there was a specific reason you marked it true
GSQs resolve to true/false when evaluated
MarkActionApplied controls whether or not the trigger action is one time or repeated
hm its not working
oh im literally just
i didnt include the json omg
no one look at me
Are all farm maps 110 by 110?
Whats the right way to actually add a spouse room? I have the tmx ready just.. dont know where/how to load it in lol
huzzah it worked
the disposition of the npc
ahhh that makes sense, ty!
They can be of any size
You get teensy ones, giant ones
(note: 110x110 is giant)
Bluebs faem map soon?
not likely ๐โโ๏ธ
it'd be cool to add farm building skins for endless mod tho
Japanese building skills when bluebs
where ๐๐โฉ๏ธ๐ค๐๐๐๏ธ mod bluebs
damn you even got ๐
what if i told you ๐๐๏ธ๐๐
maybe even some ๐ชดโ๏ธ๐ฟ
the ๐ is news
Plant cuttings to grow new ones, is what Im getting from the last one. Tree splicing
not ever ๐โโ๏ธ
Question! How would I make the player and an npc kiss during an event? Gotta get the classic smooch in for their date, its a stardew tradition after all!
Painfully!
oh lord
Actually no, maybe there is a special code for it
I originally thought it would be "careful position adjustments, specific frames, and a temporary sprite for the heart"
yeah i would do animate/showFrame but perhaps using positionOffset as well
Why not showKissFrame
Because I didn't know that exist
Oh probably cuz it aint on the wiki
yeah kiss doesn't exist on the event page
showKissFrame <actor> [flip] where flip controls facing left/right
default false for flip
i shall add it
It might only work for NPCs and not Farmer
so i would probably maybe give it a test first before adding it to the wiki
i'm eventing tonight so i can throw one in to test
Hi @uncut viper I'm trying to use BETAS to set friendship points to 0, but the event command isn't being recognized
Are you doing /action
BETAS doesn't register as event commands so yeah need to go through that one

Quick look at the code reveals that is in fact the case, the farmer still has to be setup manually
woo BETAS working and now my mod is more realism tm
is there no double ended queue in C#
well, i didnt know there's a linked list 
but i thought about it more and realized i actually just wanted a normal queue
i always feel kinda weird when i gotta do some leetcodeish code irl
it feels illegal for some reason
A queue is just a list but you start in the middle and keep a pointer to the first element
u r right but i aint building my own wheels 
Well, I just started a new actual project even though I still need to update my mod and work on my current npc

And Iโm already getting scope creeped too!
And Idc if thatโs not a verb
It is now
this might be a really silly question but what is the purpose of using the {{ModID}] prefix? Like I know it ensures the object will be unique according to the mod's ID but is there another benefit :P
That's it
Uniqueness is important for compatibility
Wait, there may be another thing, I think Lookup Anything can also tell what mod a thing is from
if it has the ID on front
Ah okay
thank you
Oh really? Thatโs neat!
Half the fun for me is building wheels
But uniqueness is important so you don't have two NPCs named Steve in two mods and they don't work together because their ID is both Steve
Lookup Anything is among at least a handful of mods that can identify the source of an item based on its mod ID prefix, yeah, so long as it follows the specific convention
Iโm actually having fun doing the art for my new project though, so I think I might be able to keep the groove and work on it for a month!
IIRC of those Love In Deep Space mods trips over... I think RSV? Because they both have guys with the same name. It can happen
Zayne
yes im aware! i just wondered if there was a difference between putting {{ModId}} in front or just author name/some other unique identifier
So neither uses a unique id?
Neither uses unique ID, yeah
but thats just another reason why lookup anything is goated
Ok! That makes sense then
Oh yeah, that specifically, that's the Lookup Anything thing.
yes and no. yes because something like lookup anything does look at the modid prefix but also no because so long as the names are unique in any capacity they will not conflict with each other
you can have an npc named Zayne and Zayne2 and they won't explode
The modID is just pretty convenient as a unique identifier. Don't have to worry about someone else's Zayne2
the Zayneverse
there is the rare chance somehow you and another author has the same modid
but i feel like thats such a non-issue because of how rare it would be
And it's easier to fix that problem
that means someone else would have to name their mod "{{myname}}.poop"
actually no i can see that happening
because with {{ModID}}, you just change the mod ID and it'll change all the places you used it
(Other mods referring to yours would have to be changed more manually, but it's a much less likely problem than Two Zayne)
its good bc im indecisive about what to do with my mods and i changed the mod id 3 times
(And others!!!! I also do it in my mods
/lh)
Zayne is not the name i expect to be duplicates
(I do also think my mods aside it is important to emphasize that it's not just for LA's sake.)
zayne and leilani are the two names i know offhand to have had duplicates
is there a way to prevent the player from asking out an NPC after a certain event
like they just wont accept the bouquet
Ohh does that override the regular bouquet keys?
Modid helps make your whatevers identifiably yours outside of just making sure it doesn't explode
oh pf i should have read the wiki its literally right there
this is what happens when u ||go joja||
Oh I read that as Willy first lol
yeah, RejectItem is checked before bouquet/movie tickets/etc, though not everything (e.g. vanilla quest items override it)
Ahh oki :3
Many a question tonight, how does one add a help wanted request
to the board outside of pierres
You don't
darn
You can opt your NPC into them. Can't create them.
Framework-I-don't-know-of notwithstanding
mail it is
hmm i wonder if i could find time to whip up my long-threatened mod adding new mad libs to the quest board for the modfest
wow u can smite people with BETAS
Smite how
lightning strike
Oh. Yeah, you can do that ๐
can you lightning strike during events?
yes
HHD also uses it to log what mod crashing furniture is from
ooh that's helpful
can u mod a shop to buy your furniture
Need an opinion about something for GMCM.
My config.json has approx 30 different options, while the basic user just needs a few of them.
Should I just include a few basic ones in the Config Menu, and keep the rest in the config.sjon for advanced users?
If you're in C# you can just put the advanced ones on a separate page in GMCM
I didnt think of that, thank you!
that or just a section heading might be enough. basic stuff first, then "Advanced Options" to follow
Oo thanks!
just wanted to update that adding a pause 1 did work, so presumably the behavior is "skip the next command", not "refuse requests for player input until inventory management is done"
anybody know why this event command might be silently failing? addTemporaryActor \"Baby Sheep\" 32 32 9 12 down true Animal Lamb
well, maybe not silently failing. but i see no baby sheep
looks like the correct name is BabySheep (no space)
ah thanks
Need to know if anyone's working on a mod to restore them procedural mines from the video 
Is there a guide to localization somewhere?
I may release without, and do it later.
there's also a handy converter here: https://nom0ri.github.io/sdv-i18nifier-app/
omgg thank you!! bookmarked both
I may be able to finish the mod tonight using this ๐
@whole raptor i think it probably does this because it's looking for (break), but just a heads up that the i18n converter doesn't seem to like parentheses inside of quickQuestion options. here's the event fork script:
"{{ModId}}_JustPassingBy": "pause 1/speak {{ModId}}_Miriam \"Be on your way, then. I don't want your company.\"/quickQuestion #(Leave)#(Ask) Whose grave is this?(break)advancedMove farmer false 3 0 0 7 2 50\\animate {{ModId}}_Miriam false false 120 28 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29\\pause 2000\\addConversationTopic {{ModId}}_MiriamGraveyardUnknown\\end(break)switchEvent {{ModId}}_WhoseGrave/end",
how do i do the thing in manifest where it tells people they need to have a certain mod installed for a mod to work again
goes hunting for it
oh found it
its dependancies i think
i forgor i needed content.json but i swear 2 gosh i had one at one point i do not know where it went
welp time to remake it
!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.
-
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!
It's always the quickquestion, isn't it..
I'll try taking a look tomorrow, cause it's 7 am rn (don't ask) ๐
Will 1.7 break mods like it was on 1.6?
It will break some mods. Other mods will be fine though. So it goes!
....Given the recent news, I am rethinking my mod plans to rewrite and overhaul Clint to be a large, vulgar, badger woman with a heavy Scottish accent.
tbh I don't expect 1.7 for another year or two
Same, and I lean closer to two
I forget, how long was it between 1.4 and 1.5 vs 1.5 and 1.6?
pretty wide variance
Stardew Valley 1.4.0 was released on 26 November 2019.
Stardew Valley 1.5.0 was released on 21 December 2020.
Stardew Valley 1.6.0 was released on 19 March 2024.
https://www.stardewvalleywiki.com/Version_History
1.5 was still being updated into 2022, so there's more to it, but yeah
plus whenever work on chocolatier started etc
(and 1.6.16 is still in development that is separate from 1.7)
Mind you, we have no idea what the scope of 1.7 is besides Clint, Sandy, and New Farm Type.
so you're saying on average 1.7 came out last year
the visible content per update also got considerably bigger, e.g. adding all of ginger island
1.5 added more visually than 1.6
ig so, yeah (mixed up my numbers there)
at the same time though a solid amount of 1.6 was tech debt obliteration
I suppose I could also just pivot and replace Pierre with a sleazy Raccoon.
and the rest of the long, long modding wishlist
hello. have you HEARD of tom nook
But then again my mod-making backlog is long enough as is.
Don't people like him? Or no??
Oops ping
imagine how much people would like pierre if he had you in about a billion dollars of debt
Hmm.... need to rethink this.
NOPE i stand corrected: this addItem with a pause still skips the "they were charlie's favorite" dialogue after it
addItem (O){{ModId}}_HyacinthSeeds_purple 15/pause 1/speak {{ModId}}_Miriam \"These hyacinths... they're important to me. More than anyone knows.#$b#They were... they were Charlie's favorite flower.$u#$b#${He^She^They}$ loved the way their scent carried on the breeze in the spring.$u\"/emote {{ModId}}_Miriam 20/speak {{ModId}}_Miriam \"I've never told anyone... I didn't think they would understand.$2\"
Wouldn't it be more akin to Lewis
i think if there's one lesson we can learn from clint and sandy it's that you can get away with anything if you're hot. so just swap him and elliott and we'll see where the loyalties lie
Oh I know what I could do! I could turn Pierre into a VERY EAGER golden retriever! There we go! Problem solved.
Anyways...
It got unmerged.
(he mentioned kids, so we can expect a bit of that if he finds satisfying approach)
1.7 is already out!
it's been out since 1970
we got
clint, sandy
kids
and a new farm type
Im really hoping for a desert farm
But i do also know flash wanted to add one for the castle village update
this is not the right channel for this
oop
the future modding update gained the name 1.7 after people leaked its concept from the concert, and then split and became 1.6.16, but 1.7 is also still being developed in the background anyway
though regardless the actual update was never released, only modding alphas to it which don't contain new content
The 1.6 modding alpha ran for years and did not contain any of the content that was in 1.6
what is the correct way to define a custom color scheme with the new SMAPI config? I had a SMAPI-config.json file in my mod folder that was working perfectly before updating to 4.5.1, but now it's ignored.
Also have a config.user.json in my SV folder with the same color scheme defined, I actually don't remember which one was working
tom nook is fascinating because you take out a loan from him and then pay him back with his own money
no intrest either
so he's not making anything off of it
at that point dude why not just give me the house for free
if i want to add in dialogue to the vanilla characters to make them occasionally mention mine to make her feel like she belongs in the town more would i just load that in content.json or would i need another dialogue.json
actually maybe i can check out the jorots and jean mod to see how the author of that does it 
you could just slap the edit into content.json or you can use includes and put it all in a separate json
both work, but i guess it depends on how you want to organize
ex: if you have a lot of stuff in your content.json already maybe put it in an include

my biggest hurdle is what kind of story in want to tell with my npc

i just made her for fun on a detail level but i never considered what part i want her to play in the story of the world
๐ค maybe focus more on the npc herself instead of like, "her role"
boring is kinda subjective ๐ค
but from what people say about vanilla npcs
is they want them to Do more things
and have more to say
so i think giving your npc a lot of dialogue and schedule strings could help with that

like what kind of personal backstory does the character have, what drives her in life, that kind of stuff
once you figure out what kind of person she is, then maybe her role (either story wise, or just character archetype wise) will become clearer

guh all ik about her is that she's a clown i never gave any of that thought until now just been pushing it off but ig ill have to figure it out now
maybe start with why she's a clown ๐ค
fair
other question
is there a good tutorial on how to write i18n i honestly forgot how to do it
So you'd like to stop writing all of \"your strings straight in your content.json?\" and/or you'd like the capability to see all of your strings across all of your .jsons?
Introducing i18n!
-
How to make your mod compatible with other languages: stardewmodding.wiki.gg
-
The file where you can put all of your strings is called default.json, and it sits in a folder at the same level of your assets, named "i18n".
-
If you're converting from an older version of the game, there's a converter for ease-of-access.
Not to be confused with
{{DynamicTokens}}since these require the specific{{i18n:<KEY>}}modifier
a converter
so you can write all your dialogue and stuff as-is and then slap it into the converter
Not contest-worthy, but first mod I completed the other day was adding a little
trashcan icon to each Letter.
I'm sure there's tons of these out there in some form.
When you click the trashcan, it removes the letter from Collections.
id say its contest worthy!!!
Thank you! its really simple though compared to others.
Thank you!! I hadn't either.
When the game initializes and starts, what is class/file in the games code where the 'flow' begins
Game1.cs?
If the game creates an instances of Game1 it should also be written somewhere in the code
nvm its GameRunner.cs
with 1.7 coming
its doable to make a shortcut on my farm to warp right to sandys shop right
in the map properties
it's doable, yes, althought people may complain about immersion unless it's a magic warp
i mean frontier farm does have the tunnel going to the desert
so maybe something adjacent to it i guess
Doesn't like half the farms of SVE have a warp to the secret woods
Yeah they do
It's easy enough to do
Personally I like the idea of a farm map that changes and expands over time
me too, although both frontier and grandpa's farm do have extensions
but just one
one with several would be cool
Like, expanding with milestones
or using robin
well, not physically using robin. that would be cruel and not very humane
The only thing I'd do is limit the warp to after bus unlock
Or after the meeting Sandy event
Hi, how does one specify peach juice as an item id?
you can't, but if you can use context tag you may use parent sheet index
darn
ty!
hmm i want to set a gift taste for peach juice
dont think that's possible
You can use preserve item id
It should make them like all peach flavored things
oh thats a good workaround
would i be able to specify peach juice for a quest tho?
and also where would i get the preserve item ID
preservedParentSheetIndex ?
guh i feel like i should have come across this before
It's all lowercase like most tag but anyways bigger problem you can't make peach juice in vanilla
If they have the cornucopia juicer then they can do it
hmmm
i dont want to make a quest just for that but if i have peach context tag that would work
ill put that on my to-do and ask again later
would I be unable to add a special order for different honey varieties then
Special orders are different than quests you can totally use tag see pam juice
oh yay ok
pam juice...?
I think only I will use it
Im thinking of a way to do it
WAIT IM SO SMART WAIT
I always wanted a way to take a walk to a desert instead of a bus
I can make a map between bus stop and desert
and then implement it somehow
I will practice and make my own too
I suppose I will have to load the desert and a bus tunnel maps with proper warps to my map in between so it works
orrr
is it a way to just edit warp properties of a map without doing the load thing
just paste my xy desertroad xy to both of these maps warp properties
oh and also theres calico map version I have to edit as well
idk what this means but u can add warps directly in tiled
but i'd add a warp to existing maps in ur json
I mean I want one tile on calico desert and one tile on tunnel warp to my custom map
without editing these two in tiled and loading it along the mod
oh then yeah json
I see
its just an editdata patch
okay tyy
which layers do I use when I paste trees to a map?
stump is supposedly a Building layer and everything else is Front?
oh i see
Does anybody know where the concerned ape logo in the game intro comes from?
I am not able to find it in looseSprites and tilesheets
same question about the bus intro sprites
unless its frankensteined from the existent ones
Minigames/TitleButtons
Minigames/Intro
Hello i am trying to add my fish to the fishing pond in the default farmhouse but it doesnt seem to work. I think it is because of this part of the code but i cant figure it out. (i believe the code runs without red errors in the console)
{
"Action": "EditData",
"Target": "Data/Locations",
"TargetField": [ "Farm", "Fish"],
"Entries": {
"{{ModId}}_Jeff": {
"Id": "{{ModId}}_Jeff_location",
"ItemId": "(O){{ModId}}_Jeff",
"Precedence": -1000,
"IgnoreFishDataRequirements": true
}}```
thanks
there's no Farm entry, but there is Farm_Standard
oh
where can i find the entry list because i thought the wiki said on the page modding:locations that is was farm
!unpack
Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!
as for the wiki table, it is correct that the farm's location name is Farm, but since the player can choose between multiple farm types each type has its own entry in Data/Locations corresponding to its name, and there's no universal Farm entry
and if i want to add the fish to all the farm types there is no universal farm?
so ill have to add them individually
you can add to the Default entry with a "player is on farm" condition
PLAYER_LOCATION_NAME Current Farm
thanks and last question where in the unpacked folder can i find the location entries?
Data/Locations.json
whatever asset you're targeting for edit is the exact one you want
๐ thank you
(just in case, I know you're probably just testing it to make sure it shows up in the first place but don't forget to add a percentage chance to your fish entry)
i will๐
Does anyone know whatโs most likely to happen in the contest if one mod ends up having both the most downloads and the most endorsements? Because itโs not clear if the second winner would then be determined automatically by the second most downloads, or the second most endorsements. Or would it just be a first winner takes all situation?
How do I add or edit my custom map id for warps
you mean if you put in a {{ModId}}_yourcustomfarm, or not?
I want two vanilla maps to be able to warp to my map
so im not sure if thats what I want
im a bit slow with this new stuff
Iโll check how I do it, and see if that would probably apply
Iโm no mapping wiz though, when it comes to technicalities
the content json would be it
So I just use my tmx name and it will recognise it as a location id?
"Format": "1.0",
"Changes": [
{
"Action": "Load",
"Target": "Maps/DesertRoad",
"FromFile": "assets/DesertRoad.tmx"
},
{
"Action": "Load",
"Target": "Maps/RTD_MoreRoadTiles",
"FromFile": "assets/textures/RTD_MoreRoadTiles.png"
}
]
}```
"Name": "RoadToDesert",
"Author": "sashasand",
"Version": "1.0.0",
"Description": "Adds a map in between a bus tunnel and calico desert you can use",
"UniqueID": "sashasand.RTD",
"UpdateKeys": [],
"ContentPackFor": {
"UniqueID": "Pathoschild.ContentPatcher"
}
}```
I want to be able to walk from bus tunnel to calico using my own map
so I load my map but idk how to make calico desert and bus tunnel to be able to warp to it since idk the way of making a map have a location id
https://smapi.io/json/none/ed723b9b7673431da9d9532ed00e87f7 here's how I did it for my maps
So with the bus tunnel you'd do { "LogName": "Add Warp into Iggy's House", "Action": "EditMap", "Target": "Maps/Forest", "AddWarps": [ "12 64 {{ModId}}_IggysHouse 7 9" ] }
using your custom map name :3
you can only win once
ohh neat
I guess the winner with both would automatically win the most downloads then?
that i do not know
Ok, thanks
I havent used it so I can just use my own name I already got
you have it before another identifier
huh
So, {{ModId}}_yourmapname
{{ModId}}_DesertRoad then, okay
You can actually see the game interpret the mod id if you look in the smapi log, too.
Like, if I were looking, and there was something about one of my maps in there, I'd see, parcy.mrnpc_map1
the underscore isn't necessary I believe, but as you can see, it helps with readability
does UniqueID have to do something with the ModId btw
thats a part that confuses me a bit
or I use it for smapi and nexus stuff
It's the mod ID
oh
so content json takes unique id from manifest
and uses it as ModId
without a need for me to manually type it
yes
that makes a lot of sense now, thank you!!
It's all tricky stuff when you're encountering it for the first time
very
alright gonna try it now
oh what content version do I use
console keeps warning me that some stuff is for higher numbers
@void aspen is it this "Version": "1.0", in the manifest?
oh, ok
Been there, quite recently, actually
OFF Topic for a moment, but I had the strangest map issue when I was changing names
I renamed one of my maps map3 and it just would not work. I checked to make sure the map TMX and every instance of it had that name, but the location couldn't be found. As a last resort, I changed all instances of the name and TMX asset to map3fr, and suddenly it would load in?!!
I think the lesson is: if you have really tried and checked everything, (because I had. I knew the map should load in, since it did before I renamed it) the problem might be something really weird which you just have to change, even if it doesn't make sense.
(I was using a Mod ID by the way, so the name should've been unique)
added 1 to the file name and all instances in content
warping via debug also didnt work before
ill try again
ugh
how do you guys test your mod for mutliple stardew versions
!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.
try uploading json
why would you want your mod to work on older versions? There's probably 99% of players on the last one
{
"Action": "Load",
"Target": "Maps/{{ModId}}_DesertRoad1",
"FromFile": "assets/DesertRoad1.tmx"
},
everything else works fine in it
when I add warps game tries to use them but cant see my location
now is your tmx named the same
yeah
or is the latest version is fine? I am not sure what is the distribution of players who run older versions
latest version should be fine
Maybe its something with the mod id
๐ญ
What if I just ignore it and name it uniquely
without a mod id
What do you mean by "can't see my location"?
Is there an actual error in the console or are you trying to see yourself on the world map (which won't work without you adding an entry to the world map data)
Ah, never mind, the earlier messages just loaded in (dumb mobile app)
Have you changed the code at all while you were still in game?
Okay, just wanted to make sure it wasn't a case of the mod not being reloaded with your changes
The mod ID token should not be the source of the problem, there is usually something earlier in the error log if your location can't be added
(typically because it can't find the TMX asset in your mod folder, or a tilesheet wasn't loaded or found)
!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.
that may be an issue since I use 1 custom tileset
Upload your log so I can check earlier in it for anything?
Log found, uploaded to: https://smapi.io/log/3888e91a31184a0ca79d93e6fa5cfe22
woops
looks like you are not really familiar with CP, I invite you to read the docs when you have time
Found it: Patch error: SillyFarm > Load Maps/SillyFarmTexture has a FromFile which matches non-existent file 'assets\textures\SillyFarmTexture.png'.
Ah, okay, let me look again
also you definitely:
- need to have your modID in the map id
- don't need a random number at the end
Theres a reason I removed it for now
and put a number
and yeah theres def no issue with that as it seems
is the reason "I don't know and tried random things"? because that's not a good thing to do
Curiously your log doesn't show that you have attempted to load the location at all
my content json does succesfully edit map data so it should work
You were asked earlier to upload your full content.JSON at smapi.io/json, can you do that now?
!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.
#making-mods-general message
I just tested if removing mod id would do anything in case I messed up some letters
which wasnt the issue
There might be an error in your Action:Load
Yep
And when you hit the button at the bottom, the page will refresh and give you a colored box at the top with a URL in it, copy and paste that URL here
oh
well I think I did that
And this is from the content.json that is located in your Mods folder, correct? Just checking because sometimes people have a separate working folder
yeah
assets have tmx and subfolder for a tileset
I think mb the way I load my custom tileset breaks something
But i was explained serveral times
and I use tsinator
Would you be willing to show your filepath, I just want to make sure we have all the information
to the tmx?
To the content JSON in this case, I am a bit baffled that the log doesn't even show an attempt to read the Action:Load
Yep, that's why it's confusing
to edit warps for two vanilla maps
My immediate thought is that the version the game is reading is missing the Load action but if you've relaunched the game and that's your content.json, it should be seeing it
wait what if
I put it on the second place
and I load my tileset before the tmx
maybe it tries to load tmx which doesnt have a tileset loaded yet
and it breaks
If that was the issue, it would say that in the log after it tried to load the map
But it doesn't even acknowledge trying to load the map
https://smapi.io/json/none/b6f17583586149429640fbb0300e1522
gonna try this now
just in case
I also updated the format to be 2.9
You may also want to update SMAPI if you are going to change the CP format number
... Okay, I just ate and had a thought. You haven't made a Data/Locations edit, have you?
Brains work better when you actually fuel them, LOL
But the game won't create a location until you make an entry for Data/Locations
Ohhh
I think someone said that already
and I didnt know what it meant
Yeah, someone else probably caught that earlier but without the full content.json we couldn't be sure if you'd done it.
Do I edit data in contet json
this might be helpful https://stardewvalleywiki.com/Modding:Location_data#Simple_location
once again i want to make npcs and im just gonna start housing them in pelican town loft because i dont wanna finish my map for a town ๐ญ
Perfect, miranda.
bless u lily
that is why it exists. โค๏ธ
you really made it so easy for me your a genius lmao X3
The nice thing is, they can always 'move out' of an apartment if you finish your town later. ๐
TRUE!!
im workshopping a trailer park town but i get so distracted while making it its so blank rn
ill probably have everyone live in the loft and then slowly work on town
do I do the same for a custom tileset or just loading it is enough
The tileset is fine just being loaded, because it's not your location, it's just the tiles being used to build it.
it loaded both the map and tileset
wait is there a tutorial that shows the format for events
or should i jsut grab it from strings in content unpacked
There are at least two event tutorials that I know of, but the unpacked files in Data/Events/<locationName> will help to
yay
okay warps are working nice too
the only question tho
if I warp to desert when its calico festival
will it go to the festival variant or i have to do something
cuz I only warp to Desert and not DesertFestival
The Desert Festival uses the Passive Festival system, which just changes the underlying map asset for the Desert location during the Desert Festival.
So, an actual map patch to Maps/Desert might not show during the festival, but warps that point to the Desert should be fine?
so even if in game I try to warp to desert during the festival it will automatically warp to the festival desert variant
cuz it didnt work this way with a debug command
how do ppl come up with the numbers for their events? is it like a ryhme or reason or is it just random nbumber
you can (and should) use string names for events now
oo ok
usually {{ModId}}_EventName
how do i know where the viewport should be when doing an event 
or is ti just guess work
zoom out a bit and see what looks best ig
ah wait its tile coords HRM
i usually have my event script up on the left and on the right i tab between the event wiki page and tiled with the eventโs map open
itโs easy enough to change coordinates when testing though just pick something that looks approximately right and tweak as needed
Hello,
Is it possible to change portrait for certain event like wedding for example?
yes, it should be possible using appearance
is it like this will work?
{
"Action": "Load",
"Target": "Mods/JP98_HDPortraits/Test_Abigail_Wedding",
"FromFile": "assets/Abigail_Wedding.png",
"When": {
"Spouse": "Abigail",
"IsWedding": true
}
},
{
"Action": "EditData",
"Target": "Mods/JP98_HDPortraits",
"Entries": {
"{{ModId}}_Abigail": { "Portrait": "Mods/JP98_HDPortraits/Test_Abigail_Wedding", "Size": 256},
}
},
One message removed from a suspended account.
One message removed from a suspended account.
One message removed from a suspended account.
I think you're looking for #1272025932932055121
One message removed from a suspended account.
I think i kinda like how it turned out
gotta work with some grass tho
and smoother transitions
so a question on editing event dialog and making it translation-friendly. I know that if I'm directly putting in dialog I need to escape the quotation marks. But how does it work if I'm pointing it somewhere else?
for example, here's the end of shane's 8-heart event:
/speak Shane {{i18n: dialogue.Shane8Event.Shane5}}/faceDirection Shane 3/speak Shane {{i18n: dialogue.Shane8Event.Shane6}}
and the corresponding dialog in default.json
"dialogue.Shane8Event.Shane5": "My special blue ducks... I've been raising them in secret for the last few months.$6",
"dialogue.Shane8Event.Shane6": "I... Well, I won't be living here forever, and I wanted to pass something on to Jas. I've been teaching her how to care for them.$6#$b#...I want to feel like I'm not just a leech on the world. I want to contribute somehow, even in a small way like this.",
Hello hello hello
yeah you need escaped quotes around the i18n tokens
like this?
/speak Shane \"{{i18n: dialogue.Shane8Event.Shane5}}\"/faceDirection Shane 3/speak Shane \"{{i18n: dialogue.Shane8Event.Shane6}}\"
the transition to beach is a bit harsh
maybe there's a more natural way to blend them? idk
I think this is much better
Apparently beach appears there only if farm type is a beach one, with four corners theres no water
Still like it
I just added ONE sign
!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.
that cuts out the actual error
yesterday i just enabled my mod to test it and smapi kept crashing and the way to fix it was to jsut enable/disable some diferent mods so...anything goes in the world of code, i guess
ave error?
aye
how do I force a natural calico festival on a new safe for testing?
CJB into the future?
idk what cjb is
CJB Cheats menu
oh
its the go-to almost all in one cheats mod
really good for testing
Is there any significant performance benefit to using OneSecondUpdateTicked instead of UpdateTicked, or is it negligible? In my case, I'm using it to check whether the player is wearing a specific clothing item and, if so, apply a buff
well u do checks 1 time vs 60 times
You probably don't need to activate the buff that immediately, but also, checking is probably also negligible anyway
The real question is whether or not you're applying a buff every tick tbh
The check is fine
Unless you're doing the checking Very Bad (but you probably aren't)
Oh, am I not supposed to send a pigeon to France every check?
isnt there built in things now for equipment to apply buffs
and unapply buff on unequip
No that's spacecore
And if not spacecore I think thats just Rings
yea if u wanna just use spacecore thats fine too
if u control the item's class in some way u can use onEquip
oh and AddEquipmentEffects that looks relevant 
I know, my question came up because I was reading the wiki, and it recommended UpdateTicked for change monitoring
sometimes u do need to check something every tick, so it's not that strange
oops, I totally didn't forget to add a check to avoid applying the buff every tick 
when using quickquestion do i use {{i18n:4hearteventanswer1}} for example or does i18n not work that way
ive never used it before so idk
ugh maybe ill just not include a question
but itll stifle the story
๐ฏ๏ธ
you can i18nfy the answer keys jsut like any other part of the question

ok ill see if i can sus out the format of how to do it then with i18n
its really ,,,, confusing for me
im more of a learn by being shown not by reading isntructions type of person
brain no worky that way
So, quick note: I'm learning the main reason today you optimize for less per-tick updates.
lemme see
it's a) a different game and b) would require you to get to late game
but the game has per tick acting crops and animals
and bees count as animals
-# you can confess your crimes we won't judge
theres actually a reason why those have per tick updates though
11~18
so for my fishmonger event I did it like this
quickQuestion {{i18n:Event.4Hearts.HowAreYouQ}} #{{i18n:Event.4Hearts.HowAreYouQQ1}} #{{i18n:Event.4Hearts.HowAreYouQQ2}}(break)speak {{ModID}}_TheFishmonger \"{{i18n:Event.4Hearts.GoodToKnow}}\"(break)speak {{ModID}}_TheFishmonger \"{{i18n:Event.4Hearts.HowAreYouQQ1Reply}}\"/
crops use it for shakings
so its not per tick bad as much as well dont do it too much and be responsible
anyway, this is referring to a different game, not Stardew. Playing Starsand .. kinda makes me wnat to mod Stardew again. >_>
ooo ok
im going to explode writing this dialogue but i have a clearer vision for how i want my events and character to talk
ah i completely missed the part that is about starsand
Yeah I was abpit to say
8000 unique entity is fine unless there is a cartasian
Dont do a cartasian
I'm thinking about dipping my toe into the Modfest, but my modding time is very limited and I'd rather focus on what I'm good at (story and characterization) and not what is going to take a very long time to learn (pixel art). With that in mind, has anyone tried using the SDV NPC Sheet Generator?
It sounds amazing, but the endorsements are very low and it requires me to run an .exe file, which makes me nervous.
given the mod fest rules, you should make sure you have usage rights to what it makes 
maybe u could just do expansion for a vanilla npc instead?
Excellent point about usage rights, though the program does only use vanilla farmer sprite options and does have open permissions to use the outputs. I'll have to look into the rules more closely.
Thank you!
question: can animal products be edible from the start or do they need to be put through a machine or process before becoming edible?
I wanted to try it but currently doesn't work for my Linux Box
you can eat eggs and drink milk no
oh, duh.... I knew about the milk thing but don't know if I've ever eaten a raw egg in game before
gift alex an egg some time
he does say he needs like 3 a day for his muscles or something like that at the flower dance (I've never romanced him vanilla)
I'm getting close to mod release and am just so anxious that people wont like it
how do yal deal with the anxiety?
I acknowledge the brain worms of anxiety, take a breath, and then firmly but politely kick them out. Easier said then done I know. Usually for me what's most important is do *I * like the thing I made.
I also take the route of "prepare for the worst and hope for the best" mentality where I either get to be right or I get to be pleasantly surprised.
so, take that with a grain of salt. (If it helps I am very excited to aquire thine mod)
that does help
Honestly even if just one person enjoys it thats enough for me
Hopefully you like it!
(I create mods for myself first and try to focus on that if I get tough comments.)
Monthly mod stats time!
Mod compatibility
82.5% of SMAPI (C#) mods are compatible or have a workaround, up from 81.9% last month.
Unique mods by type
We have 402 more mods this month.
The breakdown per type is:
- +218 Content Patcher;
- +115 SMAPI (C#);
- +26 Fashion Sense;
- +23 Alternative Textures;
- +9 Farm Type Manager;
- +6 XNB;
- +4 Furniture Framework;
- +1 Producer Framework Mod;
- 0 Better Artisan Good Icons;
- 0 Custom Furniture;
- 0 Shop Tile Framework;
- 0 TMXL;
- -1 Dynamic Game Assets;
- -1 Mail Framework Mod;
- -3 Json Assets;
- and +5 for frameworks with <100 content packs.
Content Patcher packs
We have 13,356 Content Patcher packs.
The top five Format versions remain...
- 2.0 (3941 โ 3996), 2.3 (882 โ 891), 2.4 (665 โ 667), and 2.8 (785 โ 844) for Stardew Valley 1.6;
- and 1.19 (569 โ 570) for Stardew Valley 1.4.
Open source
- We have 4,181 tracked C# mods, of which
- 2,437 mods (58%) have a source code repo, with
- 1,304 (54%) in a multi-mod repo and 1,133 (46%) in a single-mod repo.
The percentage of C# mods which are open source continues its steady decline this month (from 59% to 58%), due to the wave of closed-source AI-generated mods. The percentage has been consistently dropping by one point per month in recent months.
Web costs
And finally, web hosting costs for the SMAPI.io site, update-check server, and API rose slightly to US$218/month. (The graph is always a bit behind due to billing cycles. Also, I snuck in a new DNS queries chart.)
See also
- Stats for โ January 2026
- Full mod dump (81 GiB)
- Download all open-source mod repos
- Dynamic view of mod dependencies
And that's it for this month! Feel free to ask if you have any questions.
Does anyone know what this is in movies: "ID": "reaction_0"
i cant remember
oh oops hello mod data
I think that's just the ID of the reaction entry under Reactions
I remember the wiki saying it has to be in that format, not sure if said reactions have to be in order (reaction_0, reaction_1, reaction_2 etc) or not
good reminder that i gotta go to the city and return my xbone controller for having 100% y right thumbstick drift
Friends, is there an explanation about the use of {0} and {{0}} as placeholders in strings anywhere?
For context: There's a mod using the Custom Backpack Framework and both are used in the string for the message when a backpack upgrade is purchased, but the string causes errors in multiplayer only and I am curious as to why.
pretty sure it's as simple as ```cs
public override bool overrideSnappyMenuCursorMovementBan()
{
return true;
}
{0} is a placeholder that can be substituted with something on the C# side of things.
If it's breaking in multiplayer the C# mod is probably trying to grab something it can't from another Farmhand potentially
sure, that's simple. generally {number} tokens (single brace) are used for arbitrary C# string tokenisation with Game1.content.LoadString(string path, params object[] tokens), where params object[] tokens is completely arbitrary, and substitutes the numbered {0}, {1}, etc tokens with the params in order.
so for example, given some string "It's a beautiful {0} day, right {1}? I always loved {0}."
if you were to load it with some code Game1.content.LoadString(myStringKey, Game1.season, Game1.player.Name)
you might get the result "It's a beautiful Spring day, right Guy? I always loved Spring."
there's no rule of order or content for each number, it's simply according to whatever line of code is loading that string
which you won't know unless you infer it from the results or find the code in the decompile yourself
It's also possible the mod is assuming that the player in question that this string is relevant for must be the current player and not the farmhand, so it's trying to grab something from the current player that it never had.
It's also possible it's not this because it can be a bunch of other things too.
Ultimately though, it's nothing you can fix on your end.
Fair enough, I was wondering if changing the string to not use the placeholders would help or not, because in multiplayer, instead of it posting the string's text in the chat, you get Strings/UI:Chat_CustomBackpack# instead.
As though the string reference didn't exist.
It probably won't help because the mod is going to be passing in the placeholder values regardless.
But if it's not fixable on my end, we will just live with it!
Though I did assume "not working" meant causing errors or something and not simply printing out the wrong thing
only worry about that which you can change 
yeah, it's the same oddity as this other user's bug report, so I was just hoping I could personal-mod my way into a fix. LOL
But it just also made me curious as to how you could figure out what the placeholders referred to in base game or in a mod, so thanks for answering that it's a C# defined thing!
it's bad enough i can't hunter monsters with this evil & malicious gamepad, but i can't test menus
ShopMenu is a menu with inventory. is it MenuWithInventory? no, it is IClickableMenu.
CraftingPage is a menu with inventory and has a trashcan like MenuWithInventory does. it is IClickableMenu.
TailoringMenu is a menu with inventory and has an inventory and filter tabs like ShopMenu does. it is IClickableMenu.
surely it wouldn't be that catastrophic if these ui elements were more modular 
oh we don't get default interface implementations do we. hm
perchance a mixin
+6 XNB;
Anyone else done something dumb like download their own mod before and then get that permanent little banner reminding you of it?
Lol ive had to download my own mod because i simply do not have a copy of it on my computer
Kinda funny seeing your own mod as downloaded afterwards isn't though? lol
i've definitely done this, but it was (in at least one case) due to a bug report and i needed to check what was in the file i actually uploaded versus what i had lying around
i do hate having the "update available" notice on my own mods tho
"update available" thanks nexus, i just posted it.
I bet github would be good for that. I still need to figure it out after all this time ๐
I have an "update available" on my latest mod because I downloaded it before I published it. Even though the version did not even change
had a "[SMAPI] No update keys" but figured it out.
didnt add ur manifest key? i think 
so odd... I redid his sprite, but positioned this bottom portion at the exact same spot as the vanilla one. The feet literally overlap, and yet the left facing walk sprite is clipping? And it's only the left! Is this a vanilla glitch with krobus's sprite box?
Yeah ๐ I searched through this chat earlier amd saw what to do. Thx!
super common 
Krobus has a unique sprite size in his character data, did you verify that your new sprite is the expected size for the frames?
(the Dwarf does too, I ran into this when I changed out the art for my Zelda NPC overhaul mod)
I might have positioned them wrong now that i'm checking
I'll see if I can correct this
Krobus is odd in that his frames are only 24 pixels tall, rather than the standard 32 of other NPCs, so I am wondering if that's the top of Krobus's head clipping in from another frame below it.
IIRC the usual vanilla solution to this is to embed an InventoryMenu inside the "host" menu
We do on net 6, vanilla just doesn't use them bc legacy
alas legacy
yeah it's just funny that MenuWithInventory is an entirely separate and usually ignored concept to a menu with an inventory
The whole menu system is kinda kludgy tbh but I also think that game ui is just Like That
it's A Lot Like That
I think the problem is just that ui is actually a really hard problem to solve, and most of the more sophisticated solutions are geared towards application interfaces and don't mesh well with the design constraints of games/game engines
Unless you're making a grand strategy game and half the game is spreadsheets
hey can someone help with my smapi log if they have the time? I'm having an issue with the calendar in game. So I can't use the calendar in town, the pause menu, purchasing one, or pressing C. I even validated/verified integrity of my game files to no avail.
Log Info: SMAPI 4.5.1 with SDV 1.6.15 build 24356 on macOS Unix 15.5.0, with 165 C# mods and 224 content packs.
anyone know what Game1.gameMode == 6 actually means?
yep, that's loadingMode, there's a list of const values at the top of Game1, just search for mode
ILSpy can't link the compiled integers to the constants, so they're left as numbers in the decompile
ty
confused as to why thats getting checked in marriageduties, which is only called in one place... but w/e i dont need it lol
(SMAPI will turn 10 years old today!
I'm writing up a detailed retrospective history of the Stardew Valley modding community to celebrate, including some info that wasn't available in the old post I wrote years ago. Feel free to ask if there's any specific questions you think would be interesting to cover.)
Thank you for your hard work over these 10 years!
smapi birthday to you, smapi birthday to you~
smapi birthday, dear Stardew Modding API
smapi birthday to you ๐ฅณ
Hey gang, back at it with questions
I want to make a building, constructed from Robin -- a "Den" that lets the player choose what "familiar" follows them (Trinkets in TrinketTinker)
My idea was to set up a tile action dialogue - question, and have the responses trigger different mail flags? Would that??? Work????
extremely crude attempt at such a thing thats definitely formatted super wrong (its like 2am im half asleep)
actually im going to sleep and come back to this mess later i think
when my brain Actually Functions
Important question for my Stardew Valley ACNH mod: should I keep the children as humans, make animal species versions depending on spouse, or start as humans and do animal species later on?
Do my ShopTextures need to be separate for each individual animal?
- The transition from XNA to Monogame and that brief period where people hacked in the 64bit monogame onto windows anyway prior to the .NET 5 update for 1.5
- The origins of the Content Pack system
- OG Modpocalypse
Sure, I'll try to fit those in if I can dig up the original context (e.g. forum posts, GitHub repos, etc).
I'd be interested in knowing if, with the benefit of 10 years of hindsight, if you had to go back and restart SMAPI from complete scratch but without any backwards compat. constraints, would the SMAPI you create in that rebuilding be significantly different from today's SMAPI?
SMAPI has been through a few iterations (0.x โ 1.x โ 2.x โ 3.x โ 4.x); if I was starting from scratch with full knowledge of what we had now, I'd jump straight to the 4.x design and rethink some of the APIs (e.g. I'm not happy with the console command API, which I plan to revamp for SMAPI 5.0). I think the fundamental design of SMAPI would stay the same though; the design philosophy of SMAPI vs Storm/Farmhand is something I'll be mentioning in the post.
(This deep dive is interesting; I'm digging up new info I didn't even know, like that Storm lasted less than three weeks.)
Iโd be interested to hear if thereโs any of SMAPIโs current design/development philosophy that you think could be applied to other new mod loaders for other games (especially games not on big engines) tbh!
I think the biggest philosophy is minimizing the barrier to entry. Someone who's never modded any game can follow the quick start guide and quickly have a working mod in the game (with a debugger attached to inspect what the game offers), plus the content pack system means you can often mod without even writing code. I've peeked at modding for other games, and they tend to involve either (a) a large amount of confusing documentation before you get to that point or (b) a more hands-off figured-it-out-yourself approach.
Even for an experienced developer, I think it's very empowering to have a working mod within minutes so you can start poking around. There's a few other games where I looked into modding, and just decided it wasn't worth the trouble to get started.
I also like the balance SMAPI strikes between mod flexibility (with direct access to the game to make changes) and convenience APIs (to simplify common things), which I haven't seen much in other modding APIs. That balance also makes SMAPI much easier to continue maintaining long-term, which I think was one of the factors which doomed Storm and Farmhand.
(I have explained this to non stardew modders before, which is partially why I was interested to hear your opinion! the tooling around stardew is like 90% of why our modding is easier, even more so than the base game, starting with smapi and content patcher)
oh wait itโs the 28th, happy tenth anniversary to SMAPI!
(from the first commit on github haha)
I probably should have started this post earlier, it's past 3am and I'm not even halfway done.
Hellooo! Does anyone know how I can get rid of this reddish line next to the leg whilst mounted on the horse? I've managed to find the reins and sort those out, but this is an eyesore! I couldn't seem to find it on the same tilesheet (farmer ones), and I haven't managed to find it anywhere else yet. Any ideas?
I'm just getting into modding, so not 100% confident with all of the sheets yet!
Smapi was first released mere days after the game released? That's pretty cool!
I had a quick uneducated look at Mistria modding and it is a much more technical beast.
Absolutely, yeah. Iโve taken a cursory look several times and each time I think โoh man. Maybe Iโll come back later and see what it looks like then. Also. I really appreciate SMAPI and Content Patcher.โ
once the game is fully out, maybe some tools will make things easier
not released but the repo was created that soon, yeah!
and yeah for games there's various difficulties. Darkest Dungeon wasn't too bad if you only want to edit some values, more complex if you want fancy stuff. Don't Starve I managed to do some stuff by copy pasting stuff and trying to figure what the error message was and following the tutorial/asking for some help. Oxygen Not Included I never did anything because the entry barrier is higher ("You Must Know Harmony", this is scary), and the game get regular updates that tend to requires mods to update (not all, not always, but enough that some may be unavailable for a bit)
It was before my time, but I think SMAPI 0.1.0 was released and usable two days after Stardew Valley went live.
oh yup, you're right!
i didn't discover SDV modding right away, and even after i did there was a whole period of time when i stuck to XNB modding because the idea of installing a third party thing was scary
oh wow the original license was gpl?
but my return to modding was entirely due to CP overlay feature
wish i could deal with those somehow, but i'm annoyed at comments about stuff i don't control, even if the commenter can't know that
I've hesitantly thought about ONI because I really do like it (though I haven't played in ages) but yeah Harmony. Also have thought about Supermarket Simulator, Palworld, and Dredge but decided not to overall, (to me at my current skill level) the bar of entry is higher than I care to put effort into at the moment and I'm perfectly happy for now modding Stardew and working on my own game :3
Very hopeful for FoM tools in the future โค๏ธ
Hey, I'm currently working on a translation for a mod. Is there a โproper etiquetteโ on publishing translations? I wanted to contact the mod author before publishing it anyway but theyโre not really active, so uh Iโm not sure what to do or how to reach out to them.
-# Aside from properly crediting them and only publishing the i18n file and not the entire mod, of course
-# or am i completely overthinking this-
I think if they went through the effort of setting up an i18n it's fine to just translate. You should still send a message and credit them though. And of course if they ask, you take it down.
reach to them first, let them some reasonable time to answer
i dislike not being asked because sometime, someone else asked first and are in the process of making the mod
or there are other info i would share if asked
or i want the guilt of not having done the french version and no one else can do it, thank you very much
thats a good call, you're right haha
anybody knows why would animation editor not work on tiled?
i select tiles and try to open it
and it doesnt open
based on a few other people who had that issue, it might help to try any of these:
- update it, if you don't have 1.11.2 yet
- reinstall it
- install the non-64-bit version (e.g.
Tiled-1.11.2_Windows-7-8_x86.msi) - install an older version, particularly 1.10.2
old versions are available on the github page here in the "Assets" tab, among other places
https://github.com/mapeditor/tiled/releases
(there was a link to an actual fix in a temporary build too, but it seems to have expired/broken)
Alright im awake
Am I on the right track? Or would some other interaction be better from the start?
Should it be a craftable item instead maybe, like the statue of dwarf king?
You can only have 1 action
Choice menu in actions isn't a vanilla thing, that's why mmap has the question dialogue thingy
Ahhhhh I see I see
That said something u can do is to have a shop
My possum mod shows how to make a "hireable" trinket
I got tripped up by this I think in the wiki, since it just links to the dialogue page
Yeah u can only have 1 line here
You should get a text editor that highlights json syntax
Oooo i'll take a look at that !!
Right now I have it set up so that if the corrosponding pet is adopted, and the player is outside the farm, the trinket is active
But that doesnt give the player any real agency over when the trinket half is active, so i was lookin into changing it
that... would indeed be helpful huh


