#making-mods-general
1 messages Β· Page 552 of 1
I only just woke up so the only message I've seen is that ping so forgive me if this reply is missing the point a bit from the rest of the convo. But catching a missing tsx isn't possible. Catching a duplicate tile sheet I thought it already did but I can add if not, but it won't fix them because it wouldn't know which one you used more
If they're named differently then it's also impossible for a computer to know they are duplicates
named differently in terms of tileset name or png name?
Either. If anything is different about them it could be an error or it could be a legitimate choice on the users part
i see 
hm
But like "fishmonger_inside" vs "ModId_fishmonger_inside" are two completely different names as far as the code can tell, it wouldn't even know to check if these were dupes.
does it/can it cach unembedded tsx or does that fall under "can't catch a missing tsx"
Could someone possibly make me a mod?
the png name is the same but the tilesheet name in tiled if different
!modideas or commission someone
like, when i go and look at the iamge source then its the exact same png used for both
If you have a mod idea that you aren't planning to make yourself, you can put it in the mod ideas github: https://github.com/StardewModders/mod-ideas
However, this does not mean anyone is guaranteed to work on your ideaβmodders who are looking for ideas sometimes go through and work on what they find interesting off this list. If you want to pay someone to make your mod idea, there are a few people who do commissions (mostly art, sometimes code); you can ask around, search usernames for the word comms, or see !commissions.
How would it know if you meant to embed a tsx?
i thought they had to be embedded?
It tells you when there's a .tsx in your tmx already
But there's reasons you might want that
listens to the THX sound.
ok, just counted, seven maps are affected by double tilesheets ugh
(I haven't back read at all or had my coffee yet so I understand it not at all, sorry)
i can link you the beginning if you want but don't feel obligated
yo what workload should i install in visual studios?
is the only way to have twice the same tilesheet fixed to remove one and redo the entire map then?
i only choose the C# and roth compiler
are you making a C# mod for the first time? are you following the button press tutorial?
whats that?
im not just making a mod im learning how to code
this page and the pages it links to tell you how to set up and make a simple mod
then you're better off visiting #programmers-off-topic i think
this channel is for making mods
im gonna take a little break to eat something
I use JetBrains Rider for C# (D-flat?)
@ornate trellis i found this, you might want to ask if midnight has found an easy way to fix this
For CP mods, should I be putting i18n string names in LogName or would that break things?
You can't use tokens in LogName
Can you use tokens in recipes?
dang, midnight isnt online atm...i might as well bite the bullet and redo my maps
also i am looking at tilesheetinator and im not seeing custom tilehseets mentioned or do those fall under the same thing as "tilesheet mods"
speaking broadly, if on the wiki something says it is a "tokenizable field" that means you can use tokens in it
generally i18n is used in places where 1) the text is user-facing, 2) it would help with randomization, such as randomized NPC dialogue
tokens like {{ModId}} can be used (almost) anywhere though
Yeah I had thought about using i18n in LogName since someone playing a theoretically translated version wouldnβt recognize what my itemβs English name is which sounds unhelpful for troubleshooting
The tokenizable field the wiki mentions is not the same thing
How do I force a screen fade, followed by custom code, and then end the day? When I use Game1.fadeScreenToBlack() it fades out, and then immediately back in. I want it to stay dark and then add logic that happens before the shipping bin and saving. I can't use Game1.newDayAfterFade alone, because it seems to immediately end the day with no fade, and the callback isn't called until after saving. Do I need to set some other properties first?
oh sorry never mind that
You can use content patcher tokens basically literally anywhere inside a patch entry itself
I have managed to make your Orchard map work (including the candle animation from the unembedded tsx) by copy/pasting the relevant data from the MermaidHome map in Visual Studio Code (where the LostIsland_Inside tilesheet exists as an embedded version)
So that method may be viable rather than replacing all the tiles by hand
If i were to make a mod to change dialogue what format would i need to use? most of the available mods on nexus are using 2.9.0
i wish i knew what exactly that meant...cuz when i open a map in text for I just have big questionmarks
is there anything more recent or am i just waffling
2.9.0 is the most current format yes, but you can always check content patcher documentation to find out what the current format is
the highlighted part here is the section of the XML code that holds your tileset data for LostIsland_Inside
ohh
As a point of comparison, the unembedded tilesheet code from the LostIsland_Orchard.tmx is just this one line: <tileset firstgid="2913" source="VWCF_LostIsland_Inside.tsx"/>
thanks thanks
Silvermoon-chan: do you switch tilesheets when capybara goes into the water?
hmm
so when i have two that are both already embbed i can copy all the stuff from one to the other?
this looks hella alot tho, hm
The firstgid number is something you don't want to mess with, and you need to change source to name, but otherwise, you can just copy and paste everything from the working tileset's code after that.
hm, but i need to get rid of a whole set
The <tile> ... </tile> part is where it makes your candle tile animated.
cuz for example rn i am looking at the TEMP wedding map where it has outdoors twice
duplicate tilesheets may be something the tilesheetinator does handle, I think?
(I could be wrong)
I've fixed those before with editing the TMX code too, but it's definitely a bit more annoying.
idk...i read the mod desc and i am still wondering where to set up custom tilesheets(not from tilesheet mods, my own)
Side by side of the fix for the missing/not embedded .tsx file at least:
Left is broken, right is fixed.
I'll open up the wedding map and take a peek
man, im still so lost...I mean i see the difference but
i didnt even catch the orchard having issues too, the ones i found were
fishmonger inside
- lost island
- coolgalhome
- forsaken cove
- hidden spot
- northern cliffs
- wedding spot
Yeah, I found the Orchard right before Northern Cliffs in the error log
i swear to god i will use tilesheetinator for any future mods, ugh (once i figure out how to add my custom sheets via that)
Which animals/beasts have proper swimming animations?
Void, here's all the ones I found in the log with the exact same TSX issue:
- GI Inside
- CoolGalHome
- Library
- Orchard
- NorthernCliffs
- GanguroHome
- Lolita Home
- RoyalMermanHome
- BirdHome
- AnglerGuyHome
No worries, sorry if I stressed you out more!
its alright, i mean, i guess i did this to myself
I can probably fix the TSX errors for you if you want, but I want to see if I can work out a way to save you from the duplicate maps also.
@daring skiff here ya go u just edit these cues https://github.com/Mushymato/Merchant/blob/main/docs/099-misc.md#sounds
i managed to redo GI inside and the wedding map but man i am already so done...if you happen to find a way without having to completely redo whole sections or something that would be great(or at least find an easier way)
I always show offline, what are we asking me?
did you find a way to fix double tilesheets or did you have to redo the tiles
Oh, double tilesheets, I know a way around that. It's not perfect, it saved a lot of time
what did you do? O:
Pick the copy of the tilesheet you want to keep, the one with all the animation data and stuff you need. Export it to TSX.
then use this to replace the other one with that TSX
If nothing goes wrong like the image being visibly out of order (I've had this happen once or twice), embed
and then delete the tsx because it will probably show up separately in the list of tilesheets. You may have to close it and open it again to double check. That way you can make sure there's just one.
I have had it go wrong once or twice as I said, so save a copy and all, but it saves so much time
oh my god
I was doing compatibility patches for festivals and SVE and everything and I didn't realize until I was almost done with them that the bits I copies from SVE and Ridgeside had copied the tilesheets. it was SUCH SLOW GOING until I figured this out
i was manually replacing all tiles before and was going insane 
but the time it took working out how to do it was way less than it would manually doing it
Yeah god the "which exact grass tile is this" game
you are my saviour
i need to fix like ten maps or so of which some wouldve basically been full replace
LOL yeah I was looking at about 60 maps I had to double check
and they aren't big, but jesus christ
hmm, why are all my inside tilesheets gone now th
The Soul Mod requires... a sacrifice.

(new version finally available in my thread dsfsdf)
@woeful lintel Heyy, so I figured i'd test the slots thing with my silk playstand just to get it set up preemptively. I got it working but just with putting normal furniture on top of the playstand frame like a table. How do I make an item/furniture for silks that I can place only on the frame, and is it possible to have the inventory sprite of the silk look different than the placed sprite? I saw the item_context stuff in your docs but nothing on making the items themselves 
Would there be a better way to add gift tastes for flavored items in the json, or would it be better to not do it?
I tried this after seeing there was 'AcceptedContextTags', and while it does make for example Penny love the Poppy flavored item, it also makes Evelyn love all of the flowers (even Poppy), which isn't really intended
I dont believe !context_tag works in gift taste
You cant have a set of context tag sadly
how does one set the value of a map property in c#?
location.changeMapProperties but also why
So you cant have stuff like "all blue flowers", just taste about blue and taste about flowers
I assumed they meant through the content pipeline?
ah that's a shame, hm...maybe I'll just make sure they have specific likes for items made from the flower/flavor...thank you
Sure
possible, in that case u do this https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/Framework/Patches/EditMapPatch.cs#L171-L180
assuming im following everything right, soil decays at the end of the month because the farm has the "ClearEmptyDirtOnNewMonth" map property.
I want to prefix where that happense and turn that off.
then posftix it back probably
specifically GameLocation.HandleGrassGrowth()
i would just do a transpiler on that if check if u already doing a harmony 
...i don wanna
but yea in that case see this function
transpiling looks hard. prefix is easy
no its not hard
but hm i think u would have to transpile anyways
if (this is Farm || HasMapPropertyWithValue("ClearEmptyDirtOnNewMonth"))
transpiling in itself is simple, but you do need to learn about CIL and the instruction stack
gotta yeet the this is Farm bool
the map prop is irrelevant when the location type is a farm
oh damn. your right.
huh, actually i dont think the farm even does have that property.
I have a question, i have a mod that's going to require some testing to tweak, is the best way to get feedback just uploading the mod and seeing everyones opinions?
IL_0007: ldarg.0
IL_0008: isinst StardewValley.Farm
IL_000d: brtrue.s IL_001c
IL_000f: ldarg.0
IL_0010: ldstr "ClearEmptyDirtOnNewMonth"
IL_0015: call instance bool StardewValley.GameLocation::HasMapPropertyWithValue(string)
IL_001a: brfalse.s IL_0047
u just gotta make brtrue.s IL_001c into br IL_0047 probably 
Would I be able to just replace the Action field in this edit/tile while keeping everything else unchanged? Or do I have to replace the whole thing?
Nvm, that was a dumb question π
so yea relatively not that bad as far as transpilers go, since u got a good label to steal nearby
on second look i dont think farm has that map property, its just the "is farm" check you mentioned
yea and im suggesting adding unconditional jump to end of the if
oh
it kinda depends on type of mod but usually yea just upload it 
sometimes i get testing from friends willing to help
is there a tutorial about how to use the appearances thing? idk how it works but I have a feeling it'll be easier than trying to use one sheet of all portraits
It's definitely better to use appearances πββοΈ As for tutorials.. probably? I know modding wiki has a page about it
ill go lookin then :3
Is there any convenient reference for every line of dialogue a villager has in the game? At a glance the wiki page for each character has most of their lines outside of event scenes but I'm not sure if anything else is missing and events are a bit annoying to parse as scripts because of how they're formatted (and saved by location rather than character).
If nothing else I can search through the unpacked JSON and reformat event scripts a bit for readability but wanted to see if anyone else already put in the work to collect everything as transcripts.
!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!
it is in fact the best way 
Already done that but fair enough
could probably do a simple script to pull every speak <name> command into a file for each character 
You could technically use my i18nifier to pull all the text from events
https://nom0ri.github.io/sdv-i18nifier-app/
It's not that simple of a script to pull everything, just tons of regex 
ooh neat tool, thanks
Can someone help me, I kinda feel like I'm going crazy trying to figure out what I'm doing wrong with my "Flavored Cream Cheese", it doesn't show the PRESERVE ITEM ID name from the fruit item dropped in with the cream cheese base. https://smapi.io/json/none/0b3a60727d8f4250bf926866ea624f99 and https://smapi.io/json/none/da9eb4d722b14673b038d230fb186f74 machine logic and the objects data
Question re changing location during an event. The first half of the event happens in the Saloon on a Friday night, and includes all the Friday night crowd, or at least those visible within the viewport (part of the point is that it's crowded). Then switches to another location with only 4 characters - one of which wasn't in the original scene. When I change location do I have to warp all those other characters into a spot in the dark, or can I just load the ones I need for the new scene? And do I need the last character to be included (albeit out at like -100 -100 somewhere) from the start?
what does your i18n look like (i.e. "FlavoredCreamCheese_flavored") vs what shows up in-game?
just to make sure the key's right and the value has {0} in it
nope hang on wrong i18n
in the i18n I have "flavored-CreamCheese": "{0} CreamCheese", so it needs to be "flavored-FlavoredCreamCheese": "{0} FlavoredCreamCheese",
u can changeLocation, warp your characters into a visible tile and warp the ones u dont need to -100 -100
have the one you dont need yet at -100 -100 yes and then warp them to a visible tile when u need them
your files up there use
"ObjectDisplayName": "[LocalizedText Strings/Objects:{{ModId}}_FlavoredCreamCheese %PRESERVED_DISPLAY_NAME]",
which leads to
"{{ModId}}_FlavoredCreamCheese": "{{i18n: FlavoredCreamCheese_flavored}}",
so it'd be looking for a key like this in the i18n
"FlavoredCreamCheese_flavored": "Your text here with {0} as the preserve name"
the other keys did start with flavored- instead, so it might be mixed up somewhere
Thanks! That's gonna be a lot of characters stacked in a corner, though... π I thought it was bad when I had an event where it errored by Demetrius vanishing and Shane appearing in his place... (two simultaneous errors, but the coincidence of location proved hilarious.)
ooOOOOh, okay that makes sense (sometimes the 'this goes to this which looks for this' is what makes it click) I'll go triple check it's all the same key in that format and try again. If this works which I'm sure it will, it ALSO fixes my matching flavoredmarshmallow issue in my Dessert Animals β€οΈ
{
var matcher = new CodeMatcher(instructions, generator);
// Find the target anchor (IL_0046 - IL_0048)
matcher.MatchStartForward(
new CodeMatch(OpCodes.Pop), // IL_0046
new CodeMatch(OpCodes.Ldarg_0), // IL_0047
new CodeMatch(OpCodes.Isinst, typeof(Farm)) // IL_0048
)
.ThrowIfNotMatch($"Could not find entry point to make target anchor {nameof(Transpiler_HandleGrassGrowth)}");
if (!matcher.IsValid) return instructions;
// Move to IL_0047 and get/create its label
matcher.Advance(1);
var targetLabel = matcher.CreateLabelAt(matcher.Pos, out _);
// Find the original branch to redirect
matcher.Start().MatchStartForward(
new CodeMatch(OpCodes.Isinst, typeof(Farm)),
new CodeMatch(OpCodes.Brtrue_S)
)
.ThrowIfNotMatch($"Could not find entry point for {nameof(Transpiler_HandleGrassGrowth)}");
if (matcher.IsValid)
{
// Update the branch's destination to the new target label
matcher.Advance(1) // Move to the Brtrue_S instruction
.SetOperandAndAdvance(targetLabel);
}
return matcher.InstructionEnumeration();
}```
so uh. like so?
oh u dont need ot make ur own label 
mm. just advance to the right spot and do the setoperandandadvance thing?
you can match for the brfalse.s IL_0047 and then Label lbl = (Label)matcher.operand;
then use that label and replace brtrue.s IL_001c
it is usually best to just try loading game with ur transpiler tho
harmony will bonk u if u did it wrong and then i usually just print the IL to see what i did
var matcher = new CodeMatcher(instructions);
matcher.MatchStartForward(
new CodeMatch(OpCodes.Brfalse_S));
Label lbl = (Label)matcher.Operand;
matcher.Start().MatchStartForward(
new CodeMatch(OpCodes.Brtrue_S));
matcher.SetOperandAndAdvance(lbl);
return matcher.InstructionEnumeration();```
That is certainly much shorter.
and appears to be working
many thanks!
well, that didn't take long πββοΈ
Transpilers are inevitable π
i mean... I could've done something worse. like just replace the entire method, to change my one line.
it would have taken me less time, if nothing else :P
from the mutterings i hear about crime rates around here it probably wouldn't even be that big of an offense
New quote added by chu2.718281828459045235360287471 as #7638 (https://discordapp.com/channels/137344473976799233/156109690059751424/1480384027864338563)
can u help delet the #mod-showcase message
Lol
I think you can just unpublish in the showcase 
nope
(It is deleted)
Hasn't worked since... I've been here, tbh
Oh, the more you know 
It's supposed to work but doesn't due to Discord permissions weirdness and a workaround has yet to be implemented yet
Okay, I finally stopped waffling around on other projects to launch my bathroom renovation mod, LOL
pssst if you do a codeblock with c# code, if you type cs or csharp by itself right after the backticks, it'll give you syntax highlighting
nifty. I'm promptly going to forget before the next time i try to do that, but thanks :P
do you need to have dialogue .mon (which would default to spring), and so on in the json as defaults in order for the rest of the numbered dialogue to work?
No, you shouldn't, though if you don't have the day ones you have to be very careful not to miss any of the more specific keys otherwise your NPC will not have dialogue occasionally. I'm not sure what you mean about defaulting to spring though - there's no default dialogue like there is with schedules.
If u want to do the popular dialogue pool approach then ppl normally just cover all 7 days of week
I think covering all 4 seasons should also work? No clue
I actually need to have an entire months worth of unique dialogue for what I'm working on, so I don't think I will be using week entries
I just write 5 lines per heart level and just randomize it.. im lazy...
I don't use any keys other than the "Mon" etc keys except for specific dates like around festivals
My dialogue is broken currently though, and now my npc also isn't showing up anymore even though the trigger actions stuff worked great the other day, so I'm kind of frustrated with multiple things right now
Back when I was working on my NPC I gave her unique dialogue for every single day of the year
oh you have an NPC?
two actually
That's frustrating! Let us know if you want help troubleshooting 
I'm working on one right now though for modfest
I was actually asking about buttons but I'm excited to see what you make too!!
And thank you Aba, you've always been very kind to me and the many mistakes I make. 
(I sort of do! Conceptually I do. No art for her though so she's on indefinite hiatus.)
gotchaaa
I think it is the worst thing when something was working before and now it isn't and you don't know what happened to cause that.
yup
cough cough everything i do ever
My very first Stardew mod (and my first foray into C#) was actually diving headfirst into Harmony to dehardcode gift taste dialogue portraits pre-1.6 just for my NPC to work the way I wanted her to, so she's been on hiatus for a while
You'll probably all see my npc project by the end of the month. Riiight before submission ends I bet
still that is fast-
tbf i do work at the pace of a heavily concussed snail
but still fast!
I am verrry slow as well. This project is doable compared to my other npc mod though for reasons I can't share without spoiling what it's about
I've been working on my main krobus/dwarf expansion for like 6 months and I'm like... 40% done
I'm thinking it's pretty unlikely that I will manage to get a modfest submission (beyond Bog's Witchy Tilesheets that Bog and I did together).
I've been working on my "quick museum mod to be an early user of Button's CMF mod" for...8 months now I think lol
i had my custom emotes mod done with the nexus publishing tab open on my computer for a whole month
Every time I introduce me needing to draw anything into my mods I slow down to a crawl
Nexus mod pages are terrible
My total time spent with my real first mod and npc is so much, with so little to show for it π
still working on my first mod btw. you're doing alright
I think I hate modding but also i love it
There are some parts that I dislike but for the most part I really enjoy it
It's weird to think my first released npc mod won't be my first npc. I won't get to technically celebrate either project as my first npc mod because of that. π€·ββοΈ
I'm pretty sure I've spent more time updating other mods than my own
-# gonna actually go force myself to sleep now byeee
celebrate both. live a little
No, I will, I'm just talking about the technicalities, that's all π
Ok, the perspective I just shared was very much a glass half empty one.
I will have TWO first npc mods to celebrate, just for different firsts lol
I'm going to start another new test save to see if my npc is just not triggering because of weirdness going on in this one. I literally have no idea what could have changed to make him not show up when it worked last time
Ok, so there was something wrong with my save! Idk if I should be concerned that it got messed up so easily though.
blueberry! i made some progress and all my maps are now walkable! (on my "eternal mod")
it was very exciting
made a house
need to put rice cooker next to the pantry, but to do that i need tilesheet and that is work
Ook, so I think there is cause for concern, because for some reason, if I view the event that makes my npc visible and then quit without saving, it will not trigger correctly when I go back in the save.... This is weird
Anyone know why this would happen?
I don't want someone to play my mod, not finish their day because something came up, and then not be able to trigger the event properly the next time
gorgeous. wonderful. beautiful. how do the greenhouse glass walls work
My mod relies on a trigger action to make the npc invisible, and then an event to make him visible again by the way
no comment π it's meant to be a courtyard
Try running debug gq PLAYER_HAS_SEEN_EVENT Current <event id> in the save after you've seen the event, quit without saving, and then reloaded the save.
but i don't know how to draw that any other way
Is there a reason it's not in his unlock condition instead?
sure
let's pretend grandma is magic
i see you managed to sneak in some hydrangeas 
Yes, because he needs to show up in the same spot after the event ends, and an unlock condition made his schedule take a day to load
Dolphin actually came up with the idea!
Fair enough
Oh, debugging it does seem to make the event actually register this time, so this might not be a disaster scenario.
Odd it doesn't play properly if I try to view it a second time after failing to save the day though
they're lumi's!! from the indoor tilesheet
now behold my latest eternal mod progress, more fucking trees i am so done with fucking trees if i see one more leaf i am going to explode
omg they are so pretty
they dont even do anything theyre just there for decoration and to justify makotos existence i swaet t o god
they have shapes
I'm going to have to set this concern aside for now probably, since there might not be anything I can do.
I drew an avocado tree yesterday
Oh, this is great blueberry!
glamorous. realistic. and most importantly avocado shaped
the fruit trees are bedeviling me
i have drawn a papaya tree and an avocado tree
i meant to draw a total of 11 fruit trees
11 trees is so many trees
yeah i don't know why i do this to myself
the problem is, i love fruit
and if i want to have 11 fruits i need 11 fruit trees
it's important to note that CA used the exact same tree shape (with edits for the stump) for every fruit tree up until ginger island
i don't know how he had the strength to give them all unique leaves but at least the tree is the same
messing around with gingko trees
braver than i
winter-fall-summer-spring left to right because sure that makes sense
with a myserious extra mistake in the middle
Trees r so cool...
i suppose technically i drew a gingko but i thought it was buxus
and i havent drawn any seasonal variants either
this is my papaya tree
What if i just make bonsai to avoid big tree
i think you can guess where i got it
bonsai is also a struggle but less of one
the problem with bonsai is you want so much detail
in such a small area
but at least there is finite fiddling
i was going to jsut make small trees but also the trees grow big after a year but you can cut them back down to size with secateurs
I have those lego botanical sets of an orchid, crysanthemum, some bamboo, and a plum blossom... So i want them everywhere
Even in stardew
i think i drew wisteria, pine, and a couple others in my bonsai mod
tbf papaya trees really do just Look Like That
there's a bunch growing around here and i saw loads in fiji
right?? they're such weird trees
Why are they so green
i don't think i've seen one irl but i looked up pictures
just tall ass green things with blobs hanging from the top
i only drew the decorative mandarin since i saw a nice one on a walk out of work over lunch
actually that's the same story for all the trees now i think about it
Blueberry can u draw a giant weeping willow
fuck off
π
/lh but also /gen 
i am going to EXPLODE at trees
these ones are survivable cos they r small
What if the trees exploded
i would cry
New quote added by atravita as #7640 (https://discordapp.com/channels/137344473976799233/156109690059751424/1480409754508464361)
Blueberry, what about that one fun one with the parallel veins
Ginkgo
Or a fig tree
i love fig trees
elizabeth's got us covered
Baobab
there's a truly wild fig in the sydney botanic gardens
actually a few
the one i was thinking of: https://www.alamy.com/stock-photo-banyan-fig-tree-sydney-botanical-garden-australia-129631922.html
Does atra get a fig
Your figs are wild
truly

What about poplar
well the size is not the important part
im being lied to
the front only show 1 item π
but theres 2
Do u have two trinket or one trinket
2
Weird.
i would consider birch trees but lumi already made very nice ones
2cakes
Does NetList have a custom enumerator
but anyway it's impossible to do a nice willow or honestly most pines since the foliage just doesn't foliage right in pixels
2trees
i think its cus im checking this list in the middle of trinketItems.OnElementChanged += OnTrinketChange;
but the trees drive me crazy...
so it's in a weird state
sdv has some groovy way of doing pines which i don't fully understand or appreciate
i feel like at tree scale you could make spikes
sdv pines are like, christmas trees pines
U withhold useful information
....doesnt on element changed tell u about added element
at least i'm sure magnolias will be easy enough to make. like a plumeria but different
see 5 layers of indirection
anyways i do have simple solution at least
a very grandi flora
I feel Kinda silly, Ive been trying to make a warp between 2 of my custom maps (a front door of a house to the entrance of the interior). I've watched videos and read the wiki and just cant seem to wrap my head around it. help? please and thank you.
Anyways yeah, video game does not actually follow c# naming convention
big shiny leafs too!! and funny pinecones
..changed isnt a guaranteed after change.
- Are you editing Map Properties in Tiles or doing warps via CP?
- Have you figured out how to add Tile Properties in Tiled?
New quote added by atravita as #7641 (https://discordapp.com/channels/137344473976799233/156109690059751424/1480412450464731186)
at work i've got a big bowl of interesting seeds and nuts i've pilfered from my walks because i'm like that. the magnolia seed pod does get a few questions lol
jacarandas also have cool pods
im being bullied again
At work I have small glass chickens and many empty cans of Monster
You should need:
- outside map: tileproperty on the lower part of the front door (LockedDoorWarp is typical for a house)
- inside map: Warp map property designating which tiles warp back to the outside map
Here's an example of the LockedDoorWarp tile property in Tiled, on the outside map
maybe this season i'll be able to find some flame tree pods. oh to dream
I generally know how map and tile properties work.
Do i need to do anything in the content.json file?
this is odd. I don't get why I'm seeing these errors here in my i18n https://smapi.io/json/content-patcher/002b95c28c1248f39d6f6cca19411cb4
here's the dialogue json too https://smapi.io/json/content-patcher/7619853daa7a4c68829f015ffbdb1c37
here's my inside map corresponding to the same lockeddoorwarp above
no, unless you prefer to do the Warp in CP via AddWarps instead of in Tiled via map property
and my content json https://smapi.io/json/content-patcher/1cc23d7d3fab460bbd933f4030ca58e0
I circled the two tiles that are referenced in my Warp map property
I feel like Tiled would probably be easier as a beginer
the LockedDoorWarp is aimed 1 tile above that so I don't infinite loop
CHERRY BLOSSOMS!!
used to be the case that AddWarps was more reliable because the wrong number of spaces in Map properties would up and die, but i think pathos made that more robust
You're getting errors because you have the validator json format set to Content Patcher instead of i18n. Change that and they all go away.
What do you mean by "doesn't work"? Do you get the no translation error? Some other dialogue? You can't give him gifts at all?
I literally can't tap him
there is no chat or give gift pop up upon hovering
I wish there were translation errors lol
You have not given him any dialogue
Because the Targets are wrong, they are his display name not his internal name
Ohh
Same with his entry in NPCGiftTastes
So would it be Lockeddoorwarp instead of warp with x y mapnameB x y and then in the interior just Warp x y MapNameA x y?
LockedDoorWarp destinationX destinationY mapNameB startTime endTime
(in a tile property, so you don't need the "from" x y)
and then in the interior yes Warp x y MapNameA x y
Ah ok I think I understand now. One moment I'm gonna give it a try
thanks! I'm still getting errors, but stuff is actually happening now
What format should I use for the startTime and endTime?
24-hour time, ranging from 600 (6am) to 2600 (2am)
Ok, so I think I fixed the inconsistent names. Is there a reason my i18n is getting a bunch of translation errors now?
I'll get the new jsons
(don't forget i18n needs a different reload command to patch reload)
The warp isnt working...hmm. keeps saying " [game] Warp to OrphanageInterior failed: location wasn't found or couldn't be loaded. "
And is OphanageInterior a location?
Is your map named differently to your location? (By the way, we recommend that you use your mod id as a prefix for all IDs to ensure they are unique.)
oh, I actually did not know that. Thank you!
Its the name of the map
What does your Data/Locations patch look like?
...
Or the Customlocations field in cp if it's defined in that instead
I dont think i have that set up
Here is how to put your map in game:
https://stardewvalleywiki.com/Modding:Maps#Getting_your_map_in_game
https://stardewvalleywiki.com/Modding:Location_data
i think thats the part i've been confused about
Yes it's tricksy because you have to have location data and that contains the map. Without the location, the map isn't actually in game as a map.
Where do I read about all of the different reload commands btw? Is it in debug's docs?
I may need to get a good nights sleep before i take this on. I only started trying to make stardew mods this last week and ive kinda gotten obsessed lol. Have to force myself to take breaks
The only "official" reload command is SMAPI's reload_i18n, which is in its docs and our !reload command. Beyond that any other kind of reload is added by whatever mod uses it, so it'd be in their own docs
(CP is also in our !reload command though but things like FS or Smithy (i think it has one?) or AT and stuff wont be)
Oh, ok. I'll try that command then, thanks button
I'll think I'll quit smapi, since some things may not get reloaded anyway actually.
you can also run help in the smapi console and it'll tell you the top line of every command
(Because the command didn't fix the errors)
and for many commands doing stuff like patch help would give further details
so what patch is having the translation error and what does your i18n look like
thanks I'll save this
The specific process you have to do to reload i18n is to first run reload_i18n and then run patch reload <mod id>. Excluding either command or doing them in the opposite order will both fail.
Oh, ok
i already made a mod to add cucumbers and i want to do more but i'm too lazy
like bell pepper, onion, maybe lemon trees
hmm, yeah, absolutely nothing in my i18n seems to load, so I'll grab those json again
cocoa that can milled to make cocoa powder
default json (which only has placeholder dialogue btw, I promise the real thing won't look this bland)https://smapi.io/json/none/8e58bdccb4f64b708bb0263ac1743492
and where are you seeing the translation error?
his name, his gift tastes, and his dialogue for winter_5 currently
If it's not recognising the i18n at all, that suggests that your file or your i18n folder might be incorrectly named
it's default.json
oh wait!
That's my other npc mod
NO
It's called i18n.json 
That's not what it should look like
hmm, still translation errors after changing that though. Thanks for all the help guys, I appreciate it. I'll need to just fix my mod more tomorrow now though, when I get the time.
https://smapi.io/json/none/5ac7715377154f26af124d9b6ac015ae (machine logic}, https://smapi.io/json/none/3f5c33d7516e4cfab9e5fb6505cc3aa9 (objects.json)
https://smapi.io/json/none/f3bfd88f4e3b432388d5923fb2e0da7b (default.json) I'm still just getting "Flavored Cream Cheese as the final product - it changes the right color but still not labeling with the item id that was dropped in with the cream cheese base
Hello
I'm losing my mind lowkey
How do people link the translations of their mods in this section of the page
I tried googling but its just telling me how to upload the translation itself, not how to link the translation mod page...
If a translator gives their mod a translation tag and a language tag, and put the mod they're translating as a requirement, it would automatically be in there. No other way to do it, AFAIK.
You don't manually link them there
Uploading the translation itself IS how it gets put there, as Dolphin says
Ohh
Okay then I guess it's nexus itself being weird then
The translator uploaded the mod correctly, nexus just isn't recognizing it
I'll just manually link it in my mod description
Thanks!
ive seen a lot of translation tagged mods that shouldnt have one
i miss a lot of them since i have translations and ai filtered out :(
i've heard that the nexusmods team are doing some improvements in that area but can't say for certain what they are or entail
my workaround, currently, is doing the occasional looksie while signed out
ok but what stops me from creating a random mod and tagging it as a sve translation 
Hey guys. Is there a way to remove quality from items produced by animals that don't usually have a quality value? Like the lung dragons are producing gold quality batteries
do you want a way to strip quality from items generally, or are you looking to specifically stop them from producing like that? if they arent supposed to then i assume its a mod doing it, so youd have to look at its options.
No I've had this problem before, it's definitely my mods doing it. Any items I have them produce that shouldn't have a quality, do. I'd like to try and stop that from happening
you would need some C# at the moment
it's how the game works, the animal products get quality, i don't know of a way to make that stop with just CP
i don't believe animal drops are using the full range of item field features, so if they do in a future update this may become possible
oh i thought we were in the other channel woops.
Alright thanks Lumina
Extra Animal Configs allows you to prevent quality from friendship gain
for the sprite index, if i put them all in one image that is, do the numbers go by column or by row? like if i had a orange, peach and banana in the first row and mango, plum and strawberry in the second row. would peach be spriteindex 2 or 3?
You can make them like any other Furniture (it can even be a basic object made with CP if it's less than 16x16 pixels).
To make the slot only accept silk, you can use the "Condition" field. For example, "Condition": "ITEM_CONTEXT_TAG Input some_unique_id.silk" will make it so that the slot only accepts items with the context tag some_unique_id.silk (you can define and use any context tag you want, just make sure that it's unique (the [[ModID]] token won't work here) to avoid unwanted items). Then you just have to add the same context tag to the items you want to fit in that slot (FF has a field for it). If the silks' collision is large, you might also want to set "Max Size" = {"X": 2, "Y": 1} or even larger on the slot.
Unfortunately, I don't think there's a way to make your silk furniture or item be only placeable on the slot, I'm pretty sure all objects are placeable anywhere by default. This is not a huge issue though.
To have a special inventory sprite, use the "Icon Rect" field (works the same as the Source Rect of a Layer).
In case you want to have your silks be placed on top of your playstand Furniture, you can have the Area of the slot on the upper part of the Furniture and use the Offset to align it with the playstand so that it's more intuitive to place and remove it.
I'm trying to figure out AT again, is there any way to give an alternative base texture for colored chests? I can't find anything about it in the docs.
Can someone identify these strings of ActiveDialogueEvent for me?
questComplete_25
questComplete_132
questComplete_8
questComplete_
questComplete_23
I just want to know what they mean technically, or significance. They can be found the save's data, for example.
err it looks like theyr'e CTs for after quests are completed
i think u can go into the quest data and find the corresponding quest by the number
Where can I do that? I only this website:
https://stardewmodding.wiki.gg/wiki/List_of_Vanilla_Event_IDs
Last edited by AtlasVBot on 2025-09-13 18:47:40
For anyone who needs to reference a vanilla event but doesn't want to dig through the Events folder for the umpteenth time.
But even outside of the list of vanilla event IDs, I couldn't search for them.
open the raw data
!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!
^If ur modmaking and havent unpacked, u must
https://stardewvalleywiki.com/Modding:Dialogue#Generic_topics
automatically-generated conversation topics
Thank you, both of you.
bumping this since it was glued to an unrelated message
Hello! I'm currently writing the dialogues for a new NPC I'm making, and the doc on the modding wiki says you can add % to the start of a line to make it like when you talk to Gil, without any portrait. Does it HAVE to be at the start of the entire line of dialogue, or can it work just for the second line of the same dialogue?
This is what I'm writing:
"Introduction": "Is it for real this time, though?$2#$e#
%(San Lang seems lost in his thoughts...)$11"
it doesn't seem to work right now
Should work I think
But also you're adding a portrait call for a dialogue that shouldn't have a portrait
ah yeah I forgot to remove that in the copy-paste
I tried without the portrait tho and it doesn't work
I'll do it a second time just in case I got things mixed up
"Should" as in "I have no clue, but logically it should imo" π
well now we know it doesn't work lmao
i dont think it's worked for me in the past
cant remember though and i guess the test also proves that lol
I'll try as the first thing in the whole dialogue
for science
and the wiki might have to be edited lol
"Introduction":
"%testing"
so it somewhat works, but I was expecting the smaller frame that we can see during events
task failed successfully 
yeah, I've just spent 3 days making events, I get all mixed up now that I'm writing the normal dialogues
that smaller frame is for the message event command, i believe
yup this one
% dialogue always uses full-size (e.g. emily dancing at the luau)
"Introduction":
"%testing#$b#testing2",
and % dialogue has to only have one line
β¨ Science β¨
I'd say this "message" can work with the regular box with a portrait too 
Yeah that's what I'm gonna end up doing, I'll just change the portrait for a closed mouth
Should I use Json Assets or just stick with content patcher for modding in items and machines?
^ json assets no longer serves a purpose except for keeping old mods working
Magnolia? Wait... it's a fruit tree. Never mind.
cherry of some kind? idk trees
thats not cranberry is it or am i just slow
magnolia it is π it does look quite like a guava tho except for not being completely covered in guava
okay im slow
this has been a fruitful research session tho since now i know people will see the weird magnolia seed pods and think it's a delicious fruit
the second sprite made me think of almond blossoms they're pretty!
you know it never occurred to me that almond is also prunus
i knew it's the kernel of a stone fruit but i never put the two together
yeah
i'll be sure to make the flora a bit more grandi for the larger version πββοΈ
that's blueberry!
a common misconception
oh my
okay its like 2 am im sorry what do you mean?
(the person xd)
who has now changed their name to cranberry
ohhhh okay
Plants a fruit tree. Waits a year. Harvests.... Maple Magnolia seeds.
close im aussie not new zealand
i do like cranberries more than blueberries
wait are you aussie?
W0t's wrong with new zealand, m8?
wait a second, now this is really out of the blue but you dont play any other games do you? i feel like i know you
frangipani season here still πββοΈ
dota's probably the only multiplayer game in the last year haha
Well New Zealand's former prime minister has relocated to Australia
(unless you played mh world/rise)
okay nvm xd, used to play a game with some one called blueb3rryyyy
Mod the Worldβ’
oh no i haven't had a leetspeak name since 2006 haha
what does that mean?
What happened in 2906
numb3rs 4 l3tt3rs
i got counter-strike on steam lol
ah ic ic thank you!
What's counter strike
it's a sort of online casino
Is it that game New York is suing
but it used to be a video game
wouldnt be surprised
and also yes
*suing over
the state of new york is suing a game?
yeah cause gambling
interesting
100% Provenβ’!
CS:GO is pretty much singlehandedly responsible for starting the lootbox trend
TF2 didnt sell keys for $2.5 for it to be sidelined smh my head
i just spent at least ten minutes wondering why my postfix patch wasn't changing the result of a function, and it's because i forgot the ref in ref bool __result π©
turns out that will make your patch just silently not do the thing!
i know! that's what makes it so irritating π
i'm sure this is a rite of passage at this point
not even the first time i've done it, but i think the longest i've gone before figuring it out
When we dont' learn from our mistakes.
... or have made so many mistakes, we forget all the others we've made.
When brain goes brrrr
I love the sandwich game
papa's cheeseria
Pizza Soup. Mmmmmm.
At a glance it doesn't seem like it's possible to use CP to patch an event to add preconditions without replacing it outright (i.e. nulling it and then adding a copy with the updated preconditions), is that right?
Which precondition are you trying to add
For some, conditionally nulling the event works well
I didn't have anything specific in mind at the moment 
probably mostly seeing other events off the top of my head (from forked question answers)
actually just conditionally nulling might work, you're right
aside from that edge case, yes, you have to null out and replace the event entirely if you want to change its preconditions
this is because the preconditions are part of the key (grr in-band metadata) and the key is how you access items in the dictionary
Someone reported an issue with quests, the first I've heard:
"When the letter that starts the quest arrived, my quest log was already full, so the quest didn't get added. Now the letter is gone and the quest never appeared in my quest log."
While I can give them commands to activate it, how can I prevent that in the future?
Is there a condition that can be added before being given quest(s) to check if they are already full? I didn't know that there was a limit for the number of quests, seems like the first person that has met said limit
I'm unsure, I'm questioning now!
I've never had a user have that kind of issue until today, so I'm curious how this works
I did check, the letter does work correctly, and no one reports issues with it
Though he does state that his quest log was..full
so I assume that there is soem sort of limit to the number of qeusts you can have
err i can only imagine he means his ui is full
I just dont know the limit, or how to check before
but u can scroll down?
I'm unsure π€£
is blueberry around
I'm going to ask them
guh
any chace the quest ID of the quest of your mod clashes with some questID of some other mod they might have?
i believe if two quests have same ID the second one doesnt trigger
I'd doubt it, I have unique IDs for my mod, and especially mail
and they are pretty long
he isnt getting any errors I believe, at least what Im told
"ASF_QuestWillyJackOFishLetter"
oh god i have the same id in my mod!
I have "ASF" before I knew about doing LucyTheDove.ASF
some of my ids are so long for no reason
oh no that was a joke
u had ASF_QuestWillyJackOFishLetter
xd
i was gonna cri
i wanted to migrate to a new ID, but thats a big headache, not worth it since all the stuff I have, are, pretty long ID's
i hope theres no other wem who wants to make a toothless, peeta, or tilly mod
I decided to make a peeta mod with your username as teh ID
im sure there will be no conflicts
I did just ask for their SMAPI log tho
and what platform (i asked if PC, how big monitor and resolution)
I doubt anyone uses 720p these days..but i remember on a very old laptop of mine it was 720 and i had to do smth funky so some UI fit
(tho, ages ago)
I do have a tortilla bread puffer in one of my mods
is there a mod, which fixes the controller issues , i wanna know
Does anyone know where in the files LeahsEx is defined? I know it's a gender check somewhere, but I can't find where
on ipad or android
I'd recommend to go to #1272025932932055121 or ask in similar channel for it
By default controller support is good, works with Xbox cotnrollers and my steam deck
Im unsure, might be a weird bug
but id recommend that channel : )
okiee.
event key leahShow has a gender check
in events.cs
thank you!
WARPU-STARRR!
thank u!!!!
mailflags are permanent right, if nothing else changes it?
yep
can you make recipes with a lot of options for an ingredient?
random example, 1 any edible mushroom and either 1 horseradish or 1 garlic?
With spacecore yes
Hey @ivory plume ! I'm here from Nexus mods! You asked me to ping you here π
anyone know offhand what the building id for the shipping bin is? is it just ShippingBin?
Yeah but watch out for island shipping bin which is not a building
There's also leftover code on Farm from when shipping bin is generally not a building
that may or may not be exactly what I'm changing right now
Hell yea I always wanted that
I'm making all the island buildings real
I remember the island shipping bin is wack as hell it uses the Farm code to do stuff
hm, there's no mailbox building
would it be better to leave it where it is, or to use c# to glue it onto the island farmhouse after it's unlocked
if I do the second, it becomes movable with the farmhouse, but then it might not be in the same spot as the parrot perch
yknow maybe I should just add a constructable mailbox
it is just a tile action I think
and it has its own separate building sprite
idk how useful it would be, but if we can build shipping bins, why not mailboxes?
hm, I will need some c# to add the mail bubble though I think
How does farmhouse do it
I think it'd be useful
Hardcoding 
The issue is mostly the cabin mailboxes which are baked in
hello! hopefully this is the right channel to ask but i was wondering if there was a way to alter leah's ten heart event so that the opposite gender shows up instead of the same gender. i know the love interests in this game are all player-sexual but leah being bi would be cool
the farmhouse doesn't; Farm uses GetHomePosition and then finds the building there
It is already movable as well with a map property
You'd have to edit the event script and reverse the gender switch blocks i believe
Ideally use fields so you only change specific lines
I did notice it was stored in a field; didn't realize it could be read from a map property
makes sense, though, since you can do that one the farm too
although the farm ignores it if the mailbox is attached to the farmhouse
in theory this should be compatible with map edits, since it does read the mailbox position and everything else is hardcoded
It's nit glued to the farmhouse?
hey, uh, does anyone know if there's a way to make a train appear during an event at the railroad?
C#
a temporary animated sprite could maybe fake it
It is, but in building data, which could be changed
I mean, it's an event, I don't need the actual trains, just the appearance of one
then yeah look at TAS and i think the train is in cursors
Help, I feel like I'm going crazy : I'm looking for a sound to play during an event, it's like a big wind whoosh, and I knoooow it's in the game, but I can't find it in the list! Does anybody know what the name is?
Try the soundbank mod to find it
do you have a link? I can't find it with that name on nexus
Soundboard
thank you!
thanks, was trying to find it lol
when in doubt, maps/springobjects or loosesprites/cursors
π
sorry, pretty new to this but would this be doable just through content patcher or would I need smapi?
I think I might have hallucinated the sound I was thinking about, I can't find it at all ._.
oh well, one more thing to add with CP I guess
just editing the event script can be done with Content Patcher
I think editing it to be a coinflip on ex's gender would be cool, personally
alternatively, config
Is it possible to swap the whole music folder in the game with just the cp without any additional frameworks
Really curious how game even operates with it
I'm taking a peek at the event where Leah's ex appears and it doesn't seem like LeahEx is defined as a character anywhere that I can see, so I'm honestly not sure if you are able to swap the sprite just through the event script, even if you do change the dialogue.
(You might need to fake the sprite change with an EditImage patch to temporarily replace LeahExMale with the LeahExFemale sprites or vice versa)
what do you mean by the whole music folder
I am not familiar with the way sdv handles music and just suppose it's stored in some way which is possible to swap or edit
I'm jus wondering if it's possible with cp
thank you!
Or I need some other kind of framework
ok so I think these are the locations and dimensions of the trains sprites :3
just remember that you cant do any conditional edits
it must be done one time at launch
you can apply an edit conditionally but it wont be unapplied
unless you re-apply the original audio
Can someone send me a wiki on how to make a new map and add the game?
[[Modding:Maps]]
(btw I'm making a mod that adds more Abigail events and since she often visits the train station I wanted an event there)
Content Patcher, Tiled and Tilesheetinator do wonders
Recently learnt this stuff and I loved it
I am one step closer to getting my flavored marsmallow and flavored cream cheeses to work and it's really funny because I feel like the answer to fixing one is in the other's code somewhere XD
i feel like im being an idiot but i cant figure out how to put the player into their bathing suit for an event in the bathouse. can anyone help me out?
I think the only related vanilla event triggers in the pool area specifically so that the player is already in the swimsuit by the time they get there.
(Penny's heart event)
It's in Data/Events/Bathhouse_Pool, so you'd need to target that as your event location to use the same method.
the event im making doesn't start in the bathhouse which is why I'm struggling so much. I've seen someone do what I'm trying to do in a different mod before but I can't find the mod I saw it in to use as a refrence.
Date night
There doesn't appear to be a direct event command to change in and out of the swimsuit, but I feel like I've seen one before as part of a framework maybe
I've never used that mod, does it have that kind of event in it?
is there a way to check if the tide pool bridge is fixed for an event?
if you are using content patcher you can check for the world state flag.
"When": {
"HasFlag": "beachBridgeFixed"
}
thanks!
no problem!
also I too would like to know how one might put the player in their swimsuit (wanna add that to my Abigail 10h event)
yea im tryna figure that out rn but ill ping you when i figure it out
tysm
also I'll probably have a showFrame right before you get in the water so it doesn't look like a sudden downwarp
Just out of curiosity, but having the Farmer pass through a tile with the TouchAction ChangeIntoSwimsuit tiledata property wouldn't work in an event, would it?
There isnt an event command
You have to walk the player using a move command over the title property
That's what Date Night does
Oh, so the thing I just wrote is viable?
Nice.
I did find a framework that adds more Event commands, but changing into the swimsuit wasn't one of them-- there was one that changed the player's clothes that I was thinking of instead.
so changing a tile at a location would work?
Yeah, you'd need to add that tile property to a Back layer tile on the map you're using.
And then walk the farmer over it
do you think if i just have them walk over the tile in the locker room and then warp to inside the pool it would work?
I think so..
changeTile doesn't seem to have anything to do with tile properties though
i will try it, thank you for your help!
i might be back in here if it doesnt workπ
It doesn't, you would have to change the tile property from a map patch instead of an event command.
fun
I mean, TemporaryMaps for events are easy enough to make/clone from the base map with small changes like that.
you could use tiled or just do what im gonna do and have a "blinking" shot of them walking through the locker room
oooh youre not using the bathhouse nvm
Don't Blink. Blink, and you're dead.
yeah I'm doing an event where you go swimming with Abby in the woods at night XD
it seemed cute and stuff
(gonna have the farmer go behind a bush after Abby invites them into the water to change)
alternatively, hide the tiledata object behind the top of a bush so you walk past the bush to change, and map-patch that particular tiledata object in or out based on the event flag
@mortal blade Not appropriate.

It's against the rules to discuss NSFW content β€οΈ
Thank you for the reminder.
I mean, it is a trans Abby mod, so I do have her reference prefering to swim somewhere more secluded, but that's like, not nsfw and just a fact of being a trans woman anyway
If that secluded area is your map you can just add the changing and swimming tile right
... it's just the normal secret woods map
Is there a smapi command to just,,, spawn a baby? I need to test if my mod is working on changing the baby and toddler sprites π
u can just patch export the asset and trust it works 
I cant find the two and a half kids joke I made three years ago
you could also try borrowing someone else's save where they have a baby
so if i download smapi and put it in my mods folder the same way i have too as every other mod would it work okay?
- SMAPI isn't a mod, thus does not go in your mods folder. It's a mod launcher and is run as its own program to install.
- This isn't the place to ask questions about how to use mods, we are here to help people create mods. π
!mh
For help with modding issues, please ask in #1272025932932055121! When asking for assistance there, sharing an error log will help others identify your issue (see https://smapi.io/log for instructions).
or maybe #modded-stardew (but it seems like they already redirected you to modded-tech-support, so go there)
okay i have another question that i might just be being dumb on. is there a way to combine the end dialogue and end newday commands? i want to had the enevnt end on a new day but i also want there to be dialogue from the npc the next day
end dialogue only exists on the day of the event, so new day would clear it.
You can use conversation topic though.
The base game does this by using the event commands to add a conversation topic
how would i do that?
addConversationTopic <ID> [length] : Starts a conversation topic with the given ID and day length (or 4 days if no length given). Setting length as 0 will have the topic last only for the current day.
from the event data page on the wiki
thank you, I was looking at that one but wasnt sure if it would work for what im looking to do.
i would just use the event id right?
eventSeen_<id> is a built in conversation topic you can use
So you wouldn't need to use the command to add it, it should be automatic
You would just need to use that for your dialogue key.
thank you!
ok, I need to ask, why does tiled like to break file explorer?
every time I open a map, tiled does not like having file explorer visible for some reason until I minimise it
Can't say I have ever run into that issue
it doesn't happen every time
eh it's probably a symptom of microsoft vibe-coding their god-awful OS
whatever, this should work, right?
(this is my first mod btw so I might seem a little dumb sometimes XD)
yeah I've not been using the token form the whole time and now I'm too lazy to go back and fix it...
this is a new instance so you must as well
okay so back to this, it didnt work...
ngl im a victim of this too and it lowkey pisses me off, its so dang annoying...
did the farmer change when walking over the tile at all?
hey guys would anyone be willing to take a look over the content.json file for the mod i'm working on? it's not done yet but i have to go to bed and i've spent so long on it that i would really appreciate knowing i'm doing it correctly
!json drop it in here, morgan, and share the link and I'm sure people can look it over for anything if the validator complains
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.
thanks in advance if anyone gets around to it :)
use the smapi.io/json site if you can
but also, the best way to find out if it works is to test
the JSON site will have told you there's an error, but you cannot use unescaped quotation marks inside a string that's inside quotation marks.
"Description": "Takes 28 days to produce a mature Lemon tree. Ready to harvest in the summer. Only grows if the 8 surrounding "tiles" are empty.", <-- this will break because "tiles"
Same for the other tree description after it
hey y'all. to have a conversation topic happen after an event, does the ID for said topic get put into the dialogue.json or elsewhere?
i think you're looking on the page for conversation topics? https://stardewvalleywiki.com/Modding:Dialogue#Conversation_topics
ahhh yes, i didn't see that portion in the dialogue tab. from what i can comprehend, so long as there's a matching key in the dialogue.json, it should apply?
from what i understand, when you want to create the topic you use the $t dialogue command. then any character with a corresponding topic_memory_time key in their respective dialogue files will react
You addConversationTopic in an event
this is what i've done from the tut i was following. i just wasn't %100 sure where the topic ID was stored haha
And then in Characters/Dialogue/Charactername you add entries for your topic
For each character it's for
example, this adds one to Alex
For the CT MV.NewSheriff
ahh i see. does that have to go in the content.json for each character or can each entry be compiled in the dialogue.json?
The JSON does not matter, it's just for organization
okay swag :)
I have one specifically for CTs added to villagers because I like sorting it that way
organization is key 'round these parts !
Just remember to include all your JSONs
For CTs I'm persnickety
I like dividing the NPCs into 4 groups and adding the CT to only one group at a time (randomized) so is not like you see smth and the entire town is talking about it tbh
I am More Persnickety
because I add them each one based on exactly who I think would comment about it at all
... ok what if I added a 'she/they' config option for Abigail to my trans Abby mod?
Which is why Alex only has the one I basically assigned to everyone becuase it is a Big Town Change
and some of them are "exactly one guy talks about this"
Tfw I just found out about the Mod fest from a CoffeeMug video and Iβm already deep into a different month long drawing challenge.
Has there been any notable tutorial guides that cropped up from this fest? Iβm extremely new to mod making and I had started to get the tools for it but irl stuff kinda took precedence until now
also I went different angles with different people for the first one that most people react to, where Robin and Demetrius talk about the building being finished and Caroline's glad the construction's stopped, etc.
(it's basically next door to Caroline, bad vibes for her tea time)
I think there's a few ways you can vary out your CTs without the "Everyone talking about one thing" problem
cool, time to find and replace every instance of Abby being referred to with pronouns and replace it with a random token weeee
I use localized strings for mine when I do Gender
?
You don't have to pass through the tokens to the i18n, it's nice
hang on let me JSON Validator upload mine so you can see examples, it was hard for me to get a handle of without them
Not really any from this fest, but we have the modding wiki and the regular wiki which have tutorials and everything you need to mod
https://smapi.io/json/none/80bb5956ac31406bb6a18a3daf1b4f0f Okay here are my localized strings.
Now, I do have an Abigail one in there, AbiShe, for DSV's Nonbinary Abigail. I'll use that as an example.
"MV.Municipal.Abi.She.false": "she",```
Here's my i18n for it. So if you use that option in DSV, it sets True. (the dynamic token here refers to DSV's settings)
``` "MV.Municipal.Dialogue.Daily.31": "Think [LocalizedText Strings/MV.Municipal:PierreName] and Abigail are feudin' again.$3#$b#I know where [LocalizedText Strings/MV.Municipal:AbiShe]'s comin' from. Some people expect their kids to be one way and don't know what to do when that ain't what they end up with.$3",```
And here's it in action (with Pierre/Piper compatibility as well)
Also I realize now that she's/they's reads badly, I WILL FIX THAT, but the example works anyway
Anyway. that works everywhere except mail. That's how the base game swaps out words in i18n now, so it works more cleanly than having to pass tokens through
does it randomise it?
You can do that with it
My examples just use hasmods, but you can randomize instead
{{Random: {{Range: 1, 2}}}} like you could do one of these and have 1 be she and 2 be they
... doesn't content patcher have a random string feature too?
That is content patcher's random function isn't it...?
{{}} is for content patcher tokens
ok but what you suggested kinda overcomplicates it?
If you put those in an i18n, then you have to pass through the token to an i18n
If you just use {{i18n: today}}, it'll show the literal text "today is {{DayOfWeek}}". You can pass in the token like this instead: {{i18n: today |dayOfWeek={{DayOfWeek}} }}, in which case it'll show something like "today is Monday".
this is from Content Patcher documents
That bit is... annoying and can be fragile, you have to remember to do it every place you use that token in the dialog
for each token you use, so if there's more than one pronoun in a sentence, you have to pass through each token
ok but what if the dynamic token I set up does that for me?
You can set up a token at the end of every single piece of dialog you do to pass through your tokens in a big block. It's really fragile and I must have broken my dialog five times by messing with that
so I wouldn't really recommend it, it was a headache
but you can do that
In 1.7 there'll be switch blocks and it'll be way easier overall to do that kind of randomization, but that's unfortunately not now
but to save you some time, if you do that and your NPC stops talking at all, check the passthroughs. One bad comma and your NPC can't talk
Yeah that's why I use the more complicated to set up but easier to just USE strings.
Do as many as you like!
ok, adding neo-pronouns then!
what if u just let player enter a value too
translating to all 5 forms of pronoun hard
maybe idk
I think GNMT can even do randomization with that
what is GNMT
so maybe how they do it would cut down on options needed, you just have them enter it in
This is for the player, but you could probably do the same thing with a NPC
mb i took a break but nope it didnt change the bathing suits and also when going into the bathhouse they are just standing on the water instead of in it
probably huh?
I mean, I can probably just leave it with static options and change it up later idk
ngl I just said it for Just In Case reasons, I am sure you could do it that way. I just don't know the specifics, so I'd rather not sound really sure
You can do all kinds of magic if you're willing to C#, I just have no idea how
Did you use the swimming event command to put the player and NPC in swimming mode?
That should fix them standing on the water at least
Finishing up dinner but I will play around with making a quick event after to see if I can reproduce it
if @uncut viper isn't available, can someone help me with the formatting of SetNewDialogue? I feel like I've tried every way of formatting it in a maillog for a trigger action and it's still not working π
I got this error at one point with my smapi log :/
https://smapi.io/log/43d14b9b673f4c2091ea0bf0fe252585
I had no errors with this one but it still didn't work π
(https://smapi.io/json/content-patcher/2527354ef2774dbba726270a597baf82)
Log Info: SMAPI 4.5.1 with SDV 1.6.15 build 24356 on macOS Unix 15.7.3, with 20 C# mods and 2 content packs.
You're missing a space between the NPC name and the dialogue
That said, using SetNewDialogue at the end of a day won't do anything, because the dialogue is just going to be overwritten the next morning with whatever dialogue they get that day
Okay I see, I'll try it again! Do I need quotes around it or slashes? And Am I able to trigger it with the mail instead? I didn't know how to add multiple items to the mail since I have the quest triggering already!
You don't need quotes if you're using a translation key instead (or you just have one word) but if you're plugging in a whole sentence, you do need to surround it with quotes, escaped as necessary
As far as I know mail can have an endless amount of actions put inside it, one after the other separated by the % symbols
Okay, I'll give it a shot! Thank you!
So would this be correct for the mail?
%item quest Jas.RosaliesRibbon.Quest true %action Spiderbuttons.BETAS_SetNewDialogue {{ModId}}_Rosalie {{i18n:RosaliesRibbonForJas}} true%%[#]A Quest from Jas
I would double check the number of % symbols required, but I can't check that myself atm. You'll need quotes around the dialogue if that i18n is a whole sentence.
Yeah, it's the whole thing for the translation key. JSON won't validate it if I put quotes just around the i18n key though
If it's a whole sentence then it isn't a translation key, by translation key I mean like Strings/StringsFromMaps:Blabla or whatever. You need to escape the quotes with backslashes.
"Spiderbuttons.BETAS_SetNewDialogue"{{ModId}}_Rosalie {{i18n:RosaliesRibbonForJas}}"/true" Like this?
welp there were slashes there
discord deleted them haha
"Spiderbuttons.BETAS_SetNewDialogue "[]{{ModId}}_Rosalie" [] {{i18n:RosaliesRibbonForJas}}[] "/true" (just ignore the [ ]
Put it in backticks (`) to prevent Discord from formatting them
\"like this\"
"Spiderbuttons.BETAS_SetNewDialogue {{ModId}}_Rosalie \"{{i18n:RosaliesRibbonForJas}}\" true" this is how your action should look
(Assuming it was just one action. The quotes on the very start and very end would be at the ends of your mail if used in mail)
how am I supposed to format the mugshot command? "MugShotSourceRect": "0 0 16 23", smapi rejects this both with and without commas.
Thank you!! I'll give it a shot! π
tried {} too, but it turned red in the json
two ways. one:
"MugShotSourceRect": {
"X": 0,
"Y": 0,
"Width": 16,
"Height": 23
}
two:
"MugShotSourceRect": "{X: 0 Y: 0 Width: 16 Height: 23}"
Oh, that's definitely more complex than what I was trying, thanks button!
Ive been trying desperately to get my second custom map into my mod and nothing is working.
I looked at the wiki and tried to do what it said but something isnt correct
have you seen the full template that is on the wiki? it has every possible thing in case you have troubles with other stuff too
what exactly is "nothing"
!json If you upload and share a link to your json here people can try to help
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.
please use the link provided above
you got 2 Format so thats not good also u should use {{ModId}}
not {{PunkBuggy.BoxCanyon}}
this is all discord preview will show me so pls use https://smapi.io/json
Your problem is almost certainly using the token {{PunkBuggy.BoxCanyon}} which probably doesn't exist and thus the Data/Locations patch isn't running
(patch summary <ModId> would confirm that)
Sorry one moment
also u dont have to use CustomLocations anymore
ah yeah the second change block would be overriding that first change block
RIP. Guess Iβll have to come back to attempting mod making after March then.
wha no it's not so hard to get started
!gs
If you would like a guide to setting up mods for Stardew Valley, check out the getting started guide! https://stardewvalleywiki.com/Modding:Player_Guide

