#making-mods-general
1 messages · Page 501 of 1
wdym? this is just 1280x720
if u mean the image there's prob subpixel jank if you squint
that was giving me issues iirc (keeping in mind this was two years ago) but also I had 30 animation frames on my overlay so that was probably why
im not horribly concerned here cus i will provide an absolute mode 
ah no this is not with harv's thing
ahhhh ic ic
it's a much simplier feature i just made between disappearing and returning with goose
love goose
i dont plan on supporting animations, because ppl can use SC anims if it really matters 
like most map prop related things in mmap it is meant to be simple 
image of goose, what else do we even need
herons ofc
oh right
stardew valley is over
Had an inkling (no pun intended).
But how would I get around to implementing that, since it's got no non-dangerous variant or whatever? Remove the non-dangerous block of texture references and replace it with the dangerous one?
Can't quite describe it, since I'm away and won't be able to get back on for a while.
I just know there's lines of code that refer to the dangerous and non-dangerous textures of a monster with both variations in Vanilla, but the squid exists as is.
well you know how you have a line that says "Varieties": {
you can put "DangerousVarieties": { instead
i dont think there's a non dangerous blue squid in vanilla
yeah the squids are dangerous only which i am really happy about ngl
but if there was, then you can have both a "Varieties": { ... }, and "DangerousVarieties": { ... },
this applies to stuff like mummies
theres a few more of these like the shadow sniper guys
Heard of those. Yet to encounter them.
something helpful for debug is to search for "Try ApplyMonsterVariety" with Trace logs on
I try to avoid spoilers to get the ultimate getting-gutted experience.
i don kno wat dat mea
monster variety logs the first time it tries to monster variety on something
Would replacing Varieties with Dangerous Varieties not cut it?
the format is
Try ApplyMonsterVariety on '<monster ineternal name>' (<class namespace> : <class name> '<original texture>' HardMode:<True if dangerous>)
oh that's all you need yea
im just describing something helpful for debug
I just fixed a few syntax errors and file subdir pathing so if anyone wants to playtest this mod, it should be able to run as long as the dependencies are installed
Also Harv's scalable/animated CG mod is bundled in this if anyone wants to test it out also
@gentle rose just 4 u
I want to test this out, where do you find the entrance to it?
@hard fern i made a pre-release if u wanna try it https://github.com/Mushymato/MiscMapActionsProperties/releases/tag/1.13.0-rc.0
To use this in an event you would use the trigger action form:
// adding overlay
mushymato.MMAP_ScaledOverlay <fade in time ms> <texture name> Fill
// removing overlay
mushymato.MMAP_ScaledOverlay <fade out time ms>
There's 4 scaling modes Fit, Fill, Stretch, Absolute:<scale>
Fill would crop anything out of bounds, Fit scale it to be always in bounds with possible empty spacing
Stretch makes it same size as screen, Absolute lets you put a exact scale number
you'll have to use debug commands for now unless you want to spend multiple in game days doing the unlock quest - also can't guarantee that the unlock quest works because the mod isn't complete. you can look at the event dependencies in the jsons in the mod or dm me for the debug command chain if you're having trouble
Woah, sounds cool. I'll save this for later when i get a proper chance to try it out
it's not perfect, but this baby is up and running
thanks again to everyone here for all your help
do u want a showcase 
i prob won't push mmap-1.13.0 until like end of jan anyways so no rush, there's some other changes i wanna do
sure! Um, long story short, it's a complete and utter remaster of FIASA, Ranger Taro, and the Canyons, to the point where it's an entirely new whole expansion experience. Updated everything!
Oh nice!
Can someone link me some examples of mods that ADD farms, instead of replace?
Id like to see how its done
husky got some and so does kisaa
like this for example https://www.nexusmods.com/stardewvalley/mods/28593
ty
you may want to repost the link in #modded-stardew with a blurb
we can showcase other ppl's messages now, so i don't have to post on your behalf
Oh nice! Yes I will! Ty
oh, neat. I didn't know you had a third mod, can't wait to try iit
(I had FIASA and Taro until I uh.. nuked my entire stardew install)
So I dont understand something.
If map makers just need to put the tilesheets maps use in the same asset folder, why do some farm mods need you to download/enable custom tilesheets that the author used to make the map anyway?
Because you can't just include those tilesheets in the mod
it also stops having twenty differnt versions of the same tilesheet mod kicking around. >_>
Yup
I... should of figuyred that. Be kinda theft, huh
Including the custom tilesheets in the mod = redistributing someone elses assets, unless you made the custom tilesheets yourself
Having in one proper place means that everything will hopefully stay consistent 🤔 and mean it's recolor compatible, and the mod author can do updates to it freely
definitely a permissions issue, you need to acknowledge the work made by other authors and not re-publish their tilesheet under your name
Any tools/tips for making our own?
🤔 i don't have any particular advice... for tools it would just be any image editor that can handle pixels decently
my tip is that i make my tile sheets 10 tiles wide so that counting them/finding the index is easy
especially for doing things like day and night tiles
I do 16 or 32 tiles for the same reason usually, I am just used to those breakpoints

Lookupanything is always funny after you gift someone 100 something items xD
How do I let farmer and the npc kisses in an event
From what I've observed, it seems I switched the NPC's sprite to the corresponding one and then played a sound effect.
yeah, that's how you do it
But where do I find the player's sprite...?
for the farmer you want frame 101
so e.g. showFrame farmer 101/showFrame NPC <their kiss frame>/specificTemporarySprite heart x y/playSound dwop and so on
season to taste with flipping, animate, pauses, as needed for your event
So I don't need to care about where the player's facing, just input 101 and it will automatically adjust or perform the action based on my farmer's orientation at that time?
no, for the event you'll need to flip the player and the npc manually if needed
farmer 101 faces right, and the npc's kiss frame direction varies by character
showFrame farmer 101 true will make the farmer face left (optional flip argument; see here for details)
cool! Thanks for your help
Hello, can I make a machine that accepts input but outputs nothing?
I think the closest thing is an item that disappears upon collection, PeliQ supports adding those
so a trashcan
Thank you, I wil check it out 
hmm actually the peliq feature I was thinking isn't quite that
what's your use case?
I wanted to make a machine that accepts a weapon and gives a buff
yeah machines need something as an output
if your machine is only usable once per day you can use ClearContentsOvernightCondition so it gets reset every day start
- set a mail flag to make sure the users can't just smack it and do it again before the day ends
a grindstone
maybe you can compromise and randomly give iron ore/stone/etc. back
I'm happy to say that I've officially finished my mod 100%, all thanks to your generous help. Thank you so much to everyone who supported and guided me, and also for your enormous patience. Please, if you ever need my help, don't hesitate to call me. I promise to return the kindness you once showed me.

Thank you all so much, I could never have done it on my own.
If I want an NPC to choose one of several random items for me during an event, how should I write the code...? Sorry for bother again, I think I've seen some sort of random on wiki but when I scroll the page I just can't find it anymore
Hello everyone here 😭 sorry for the intrusion but I just came in to ask about some coding because I'm really about to lose my mind
I've made portraits for a custom npc in a much higher resolution (256x256) than the portraits of the original mod uses, so I'm having a really hard time trying to implement my portrait mod. I already use Portraiture in my game but I can't seem to figure out how to implement my portraits using portraiture. Simply placing the png asset in my portraits folder won't work because the custom npc character I've made portraits for has a very big and complicated set of portraits. I've tried to make a content pack but it's driving me insane and nothing is working, I know nothing about code and honestly exhausted my options and don't know what to do. Is there any easier guide to creating a portrait content pack replacing a custom npc's portraits through the higher res portrait function of portraiture?
What you want is CP’s random token. 
I'm really nearing my sanity's end and I know it might sound a bit stupid but I really can't seem to figure out how it works
Thank you! I'll go and check it
🤔 what do you mean by complicated?
This npc has over 10 sets of portraits
seasonal portraits + different festivals
you should just be able to name the portraits something like <NPC's internal name>_<season> or something like that with portraiture plus
Yes I have, but they aren't getting applied
can you show an example of how you're setting it up?
So this is assets folder (subfolder inside the portrait folder of portraiture)
The last one is the portrait I've done that I've tried putting in through portraiture
this is how portraiture plus says you need to format it. are you using it?
i don't think you can do inside/outside
since that's tied to appearances
I'm going to review the png names again and try again
I wasn't aware default portraiture didn't support indoor/outdoor variations
default portraiture only supports beach & winter, like the vanilla game, iirc
beach will not work for the beach portraits. portraiture handles it based on location name, actually. so you'll have to rename it name_IslandSouth to get it to work on the resort
otherwise it will just show the portrait when the npc is on the regular stardew beach
h
The problem now is that... I have named the png after his internal id_season_ all in the format stated above but the portraits are still not getting applied
you are using portraiture plus alongside portraiture, yes?
yes it's been downloaded
ok, wait, are you sure this is the npc's internal name
No but I've changed it now
what is it named now?
Yes but I honestly can't think that he has some other internal ID
I tried everything that I saw getting referred to him and nothing it making the portraits show up
it might also be SpecialAgentJonson.MirrenTheFlorist_Mirren
I'm trying that now
This seems correct, yeah. Nowadays it's a fairly common practice to prefix your custom NPC 's name with the mod id so that it's unique and won't conflict with other NPCs with the same first name
OH MY GOD IT WORKS NOW
holy
thank you so much
I tried this ID a few days ago it probably didn't work because I didn't have portraiture plus
Can someone help me create a dialogue for an NPC so the mod can add the routines, the gifts, and the whole wedding thing? Can someone help me?
If not the coding part, maybe I can try
look at the tutorial and then at mods doing what you want, then ask speciifc questions
And the part of content patcher
Um btw, the NPCs' dialogue boxes in my events are blank... but content containing @ will be read...
I'm sure my token in i18n and content has the same name
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.
Sorry I was trying to figure it, here's the json https://smapi.io/json/content-patcher/df10a1e154dd4c19884fffd6a50d906e
It said the LogName was typed wrong, I wonder if that would be the problem...not really sure
But could someone help me figure out the NPC codes? I want to create an NPC mod to be the first mobile mod, so can someone help me with the codes?
Have you read the guides?
Another problem is, why the NPC change his cloth when I switch to the kiss sprites, and the cloth went back after I switch it to another one...
No
So you want someone to help you complete the code, and you already have other things?
Help me figure out how to write the code.
Anyway...I still can't figure this out...
Can someone help me with the codes?
the guides show you how to do the code
Thanks
For those who have made Growing Valley content packs, is it possible to implement seasonal sprites and portraits based on a combination of skin tone, birth order, and gender?
Hm I'm not sure if littleNPC allows appearance but if it does then yep you do normal appearance things
Birth order is baked into the token used to add the npcs so that's simple
God I'm gonna get crazy, it said I had an error but it's empty there!!!https://smapi.io/json/content-patcher/848f5364847446ae814b6a1bd662588a Some one please save me
you have an opening bracket there but not a closing one
Last edited by AirynS on 2025-10-23 07:04:19
If you want to add seasonal outfits for your NPC, there's two ways you can do this: the token way or the Appearances way. Appearances is a new code structure added in SDV 1.6, so if you're looking at an older NPC's code for reference, they'll most likely be using the token way. The main difference bet...
the one in line 226 only closes the when condition
Hello, I want to ask if it is possible for a 1x1 furniture (for example, a decor item) to have 4 distinct different rotations, as in the left and right views have different sprites?
So far to add new CP furniture, I think in the tilesheet it needs front view, side view, then back view (so the side views are mirrored from the same image).
The part I'm not too sure about is how to edit the Data/Characters entry of a littlenpc generated character but i think you can do that now?
You can't do that in vanilla
The usual approach here is
- actually just make 4 different furniture
- use some other mod that supports it
What do you prefer?
I see, I think it's easier to make 4 different furniture. Thank you for telling me!
For using some other mod, is it by using Furniture Framework?
Does anyone have the NPC content.json file is ready for me to use as a reference.
Yeah it has the easiest syntax for this particular thing
I uh implemented rotation support in mmap in a slightly cursed way

Maybe i should make it less cursed
If then, what about seasonal outfits based not just only on GV conditions (birth order, skin tone, and gender), but also on a rotating daily basis akin to Unique Children? (For example, on day 1, a child would wear an outfit, on day 2 another, on day 3 another one, on day 4 yet another one and rinse and repeat every following 4 days)
You could probably reduce it to 2 furniture 2 rotations each tho
Well i think the first problem is find out if you can do it first?
The guide I linked describes how a normal NPC can use appearance data, this is how vanilla does winter outfits and shane joja work uniform etc
You should see if you can give a littlenpc entity those data
Try patch export Data/Characters to see if you can find their internal id
Does anyone have the content.json file from NPC that I can use as a reference?
Now if this doesn't work then you can go back to the old ways of just doing editimage
Oh, MMAP also can add furniture / furniture rotations? 😮 I should look this up too
What if I haven’t have a child added via LittleNPCs/Growing Valley beforehand?
Oh...yeah you're right
Sort of? What it has is support for particular draw layers to only appeal on a rotation
That's why it's a lil cursed
I tried adding panorama with MMAP for personal edit and kinda failed and gave up haha
I mean no offense, it's just that my learning curve is somewhat slow
Is it normal when taking a screenshot of the farm, the panorama is missing? It became a black background when I screenshotted my farm
Uh...why it keeps telling me there's an unexpected character on an empty spot...I hate coding
My head is gonna explode
DrawInMapScreenshot
This is the field that controls if a parallax layer appears on map screenshot
It's default true now but it used to be default false bc it looked bad
Could someone please send me the NPC content file?
Sir you were given guides
Did you read them
No
Imo just adding 2 furniture is best 
It's the simplest way and gets job done
huh I see... (quietly checks my MMAP version)
I couldn't understand; I need some kind of reference.
So according to my nexus file history I downloaded the update but just didn't update it in my mod file, where did I download it then
I'll try again after properly updating! Thank you for telling me
I'm not sure what you mean by this
Yep if it still borked feel free to ping me
Nobody will help me.
That
The content of the reference NPC
They sent you the guide, read the guide, if you can't understand english that well, then use your translator
If I haven’t have a child by an NPC and/or have a child but they haven’t turned into an NPC using LittleNPCs yet - what can be done about the situation?
You even didn't read it
Oh i mean u can make test save right, just to explore if the idea will work 
The content.json That's the reference I want.
I create and destroy mod testing saves every other day
The guides have a lot of example content.json.
I would preferably want live testings (for now) (testing on top of an existing save)
Then come back here once u got a littlenpc in your save
The problem is the same, without actually try stuff we r only theory crafting
Are you looking for a template that you can directly fill in?
Still i think that even if the appearance idea doesn't pan out, you will definitely be able to do conditional load/editimage
And you can use the Random token to randomize it
Here's the guide for cp tokens https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/tokens.md
Littlenpc lists what tokens it adds https://github.com/mus-candidus/LittleNPCs
I didn't really like how this stuff worked though that's why I made have more kids definitely use npc data
Will HMK see any public 1.0 release soon?
Does anyone have the I am Looking for
Yeah I'm stopping myself from further scope creep
Not really. There are way too many types of content.json to have some kind of template. You best look at examples and try to understand them.
I do like more testing but it seems stable now
there is no such thing as a completely fully empty NPC template out there, you gotta do the work yourself. even MissCoriels thing is still kinda outdated, I believe
Thanks
is tia updating her npc tutorial? i saw something about it
It's like an essay in school: You can't really use a template because you need to write everything yourself, but once you look at other essays writing is actually easy.
I fear that this examply actually scares people off because nobody felt that writing was easy, but oh well.
Honestly i think Tia's tutorial is basically annotated template
You put the pieces together and understand why you need em

BLAHAJ!
now if i can find a link to 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!
ah! thank u chu
yes the most creature to ever. i have one on my bed at all times
It will protect you there.
One question: is the NPC dialogue a different .Json file than the others?
I believe quill has multiple 
see you can create a very very big content.json with all npc info
what people usually do is separate some of them for convenience/easier reading etc
so it doesn't have to be a different json file but i mean, shit gets long fast man
Include is your friend
When writing events, do I have to write a new /speak npc for every place I want to break to the next dialog box?
I do have a simple one, but it's in Chinese, you probably need to translate it
if it's all the same NPC and there are no commands in between, you should be able to use #$b# in the dialogue to separate them I think?
yeah that should work
That's what I'm doing now...
is it not working?
But it just won't be saying the sentence after #b#
You can send it to me, let me translate it.
we need a "take me to your code" sticker for this channel
could you send your json using the json validator?
!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.
-# that was a shitty joke that means "if the code doesn't work, please share it"
Just a sec plz...it's loading for a bit long...
we're pretty patient
ok so you're putting the #$b# in the event code
what would be better is if you add a dialouge for the npc with it and than call upon it in the event itself
actually how does the speak cmd work
Like i18n?
I've tried to use i18n like an hour ago, but the dialogue box would be empty...Could this be related to the fact that I didn't write it as #$b#?
i can't actually find the ref, but yeah the hashtags are required
Cool, I'll try it now, and there's actually another problem which is quite weird...
this doesn't actually do anything
I don't know why, but when I try to switch the NPC to a kissing sprite, he changes into a different outfit.
And switch back when I change it to another
Oh...um...I don't really know that...I just open the picture and count...
I'm not really sure...
But I've checked the original author's code
She does use 28 at the kissing part
can you show the character sprite you're using? you can just screenshot it
It's a very long one...
is the kissing sprite on there
Yeah I think it's the first one on the...
I count really slow...
this is sprite 28
(that's 27. sprite index starts at 0)
First one on the 8 line

But I need to turn it
Cool, I've finished the changes, now is the time to see...
Still doesn't work with i18n...guess I'll figure the it out later
Ok he speaks normally now...But the portrait doesn't change...https://smapi.io/json/content-patcher/cb1bd86a853e46babcefdf7f42f9e58c
(
@noble ermine You leveled up to Cowpoke. You can now speak in our voice channels and share images in all channels!
Wait I think I find the problem...
will mod-added items show up in bulletin board quests without extra-code/another mod that changes how the board works
the opposite of what i thought then... thank you
So for this sprite, I should type true if I want it to face left...?Or false?
iirc the bulletin board deliveries uses a random item
you should write true since he's facing the right
Thanks, I'll try it now
I hope this will be the last test for my first event making...
Nah it doesn't work with true...
I don't know why, but whether I add true or not, it seems I can't change the direction of his spirit.https://smapi.io/json/content-patcher/a19c2e1ad131470b9673e8bc7d6fd6b1
When I made my mod, i made two sprites for facing left and right and just referenced them im the character basics, lemme see if I can find it and show. There might be a more elegant solution but since my character is asymmetrical it was my only choice anyways
mine looks like this
Thank you...but I didn't make this npc
I dunno how the original person did it then ^^" mb mb
Thank for your help anyway...I checked her code and...showFrame NPC true works there
I really don't know why...
hmmm...
I almost copied and pasted that sentence; every single letter was the same, but I don't understand why mine didn't work.
I've been trying to figure it for an hour
When you changed stuff did you patch reload
Also double check if your patch actually applied
I...restart the game every time, do I need to do that also
In that case nop
patch export <target>
This will write out what the actual data is to a file
Me: remembers I have an NPC with asymmetrical hair and mentally saves this for later
Oh...um...how do I do that
Sorry my brain is a little dizzy now
That's a console command u type
patch export Data/Events/Farmhouse
These are just sanity check steps though, I'm not sure what's actually going on with your event 
Oh...thanks, I found them...
does this work in 1.6.15?
Maybe I should just find some reason to let farmer stay on his right
It's really driving me crazy...
I can't get an animation to work in the schedule, I'm probably doing something stupid maybe someone knows what? 😄
i fixed the typo, but all 3 don't work
Amd I doing something wrong in naming them of putting them in the schedule?
What does the final "beach" refer to
looking at the game data I figured the last word iss just a nickname for the animation?
so the beach is just to imply its their beach animation (I might add more sprites but for now I just want to get it working)
no I'm pretty sure that's the sound name
you should look up how the data asset works rather than guessing
aaaah that makes sense
I did read the wiki but there wasnt much info on the first prompt, only the entry
so I couldnt do much but look at the game data and guess
"first prompt"?
This bit, there is no info about it on the wiki, only the entry format so what was I supposed to do except look at the game data and guess?
well the part I'm talking about is the second bit
okay but I have the begin, animation and end sprite set as do most in the game files, the beach is not there?
Ive deleted that and it still doesnt work
From the wiki but I misunderstood thinking it was naming the animation. Ive deleted it
This is the current animation and schedule data, the animation still doesnt seem to trigger
Thanks to everyone who helped me, my first event just ran successfully
I need to take a nap now
You Target should just be Data/animationDescriptions.
Without the .json part.
Ah okay, thank you!
aaa congrats!!!
Yay it works finally, I was sure I was doing something stupid and I sure did haha, thnx!
What is the easiest type of mod to make?
Uhhhh, that's a super subjective question
Ok, i'll try to find another question
How easy would it be to add a new crop or a new artisan good?
ah, not my area of expertise (like I have one LOL), but someone who knows will prolly pop up soon lol
Making mods can be broadly divided into two categories:
- Content packs are formatted text files, and don't need any programming knowledge. They can add/edit NPCs, maps, new items, shops, and more. To get started, see the list of framework mods, the wiki tutorial for Content Patcher, and there might be relevant guides on the tutorial wiki.
- C# mods use programming code to change fundamental game mechanics. See getting started with C# modding.
Usually it’s easier to start with making content packs, since you don't need to learn programming.
really the most difficult part there is drawing the art
cries in not an artist
I'm not much of an artist either but I managed it anyway - for artisan goods, I recommend Frankensteining vanilla assets together as a good starting point
Frankesteining is the way
Hmm... Now what to make for my mod?
I was thinking of making arknights stuff since it's my fav game but really all i can think of for arknights wouldn't fit that well...
I guess that's the issue with foreign media mods, you can make anything into a mod, question is does it make sense or if it'll mesh with the game (a lot of ppl just ignore that part tho)
Mostly thinking that like, i can make characters or stuff from arknights fit, but not really any new crops or more easy stuff
I've seen some people make plushies/furniture of stuff like that, easy to code, less easy to art imo
Yea and less what i'd wanna add
I mean, if my fav game doesn't fit, i'll make another of my fav games fit x)
Lemme think about it :3
Xenoblade valley? Hmm... Maybe...
It's definitely more, vegetal than arknights in terms of setting x)
Sorry one more question, I'm adding a custom item. Gift taste and crop info are not relevant. I have the green circled code and it works, except the texture does not load. I have a .png named objects at the path specified, but it says it can't find it. Do I need to add the red bit of code as well?
yes
Okay, ty!
you need to load the textures for the game to access it?
I wasn't sure if it still had to be done as my item is not a crop, hence my question
the texture has to come from somewhere
but what type of file should "Mods/{{ModId}}/Objects" be?
Ok!
well you decide the file extension
the target line itself will have no file extension
nor will the texture field in your crop and item data
you can see in the red part that the asset in fromfile is a png
The asset is a png already. It is just unclear to me what "Mods/Verstave/Objects" should physically, as a file. Should it be a folder or an empty PNG? Cause I had a tilesheet named objects before there and it did not work, so its unclear to me what I am loading the asset PNGs too
Sorry if its a stupid question, I just want to learn
nothing. it doesn't exist in your computer
you're just making an asset CP can use
Ah okay, thnx!
it's not a file and it's not a folder and you could just as easily call it ehdjvufms474 as you could Mods/modId/Objects, it doesn't matter
i'd rec putting {{modid}} into the object id, just in case
every asset name (which is what that is) is one singular, virtual asset. you can't put more than one thing to the same name
that's the first line before the purple {}
Sad trombone
are you sure you're reffering to a file that exists
have you saved your files?
No .png in the asset name
and are sure you're using the right ones?
Yes, I'm gonna redrop it into the mods folder
because your code doesn't show the file type but the error does
wait are you not editing the version inside the mod folder?
also for future logs and jsons please upload them to their respective SMAPI validators
instead of screenshots
I wish there was a directory tree validator.
No I work in a seperate folder in onedrive so I can work on multiple devices as I travel often and use 2 different devices (my PC at home and my laptop for traveling)
ah, okay.
but good news and apologies, maybe onedrive had not fully synced (I do always wait for the green tick before copying en dropping it in my mods folder)
Thank you all so much for your help today ❤️
I'm having a rough day bc of a dying family member and working on the mod and getting things done has been really nice, so thank you for putting up with my stupid questions 
if this is a mod you plan on publishing, now would be a good time to follow this advice too
no such thing as a stupid question so long as the person has a genuine interest in learning
Yes I am going to do this! Ty
i'm sorry about your family member. glad you got it done 
generally if you can put a mod id somewhere, it should be there
and remember to always spawn new objects whenever you change data about the object 
Dawg don't be afraid to take a break, your family should come first
your wellbeing always comes first 
They do, but I am not in the same location as them RN so all I can do is wait for updates so it's nice to have something to take my mind off it
very valid 
Chat please tell me, is there any way to change the background colour of the title screen (the white is hurting my eyes)
was able to get a lot of my progress back!
Like creating myself a mod for it or just a mod that does that
AAA that's so cute!! (i got no clue sorry)
not without C#
Oooo interesting are you making the rooms ? If so what program are you using (I want to know to fix a broken mod 😭)
Okie, so I do know C# so what will I need to replace the background (I’m guessing the background would just need content patcher or is there anything more?)
Thank you so much, it’s been a pain to try fix the adopt Leo mod
no, you literally cant do it with content patcher. its a C# mod entirely, editing TitleMenu
OH, thank you :D
you will be transpiling draw code
!startmodding should have C# modding instructions?
Making mods can be broadly divided into two categories:
- Content packs are formatted text files, and don't need any programming knowledge. They can add/edit NPCs, maps, new items, shops, and more. To get started, see the list of framework mods, the wiki tutorial for Content Patcher, and there might be relevant guides on the tutorial wiki.
- C# mods use programming code to change fundamental game mechanics. See getting started with C# modding.
Usually it’s easier to start with making content packs, since you don't need to learn programming.
Okie
have you decompiled the game yet? diving through there will be how you find out what to change
Yup :)
oh great! double checking, unpacked or decompiled or both?
My xnb’s are unpacked, sorry to ask, but what do you mean by decompiled I kinda just assumed it was the same thing 
no worries!
!decompile this is how you see the C# code behind the game
If you want to make SMAPI mods with C#, one important resource is decompiling the game to read the game code. Here's how to do it: https://stardewvalleywiki.com/Modding:Modder_Guide/Get_Started#How_do_I_decompile_the_game_code.3F
Ohhhhhhh thank you!
not a code person but afaik unpacking is for .json stuffs that you can mess with using CP, and decompiling is for the C# code
Okie, tysm! Still new to this :3
no worries! comparatively I'm pretty new too LOL
Actually wait, has anyone else been having their game menu crash if they change the clothes on the farmer (I checked my mods and fashion sense was causing the crash even if I removed all conflicting mods)
...no 
did you investigate the source of the crash, and/or open a tech support thread in this server, and/or report it to the author of FS?
Will do, I did try investigating, I’ll try more things to see if it fixes it and then make a report
ah, mapmaking /hj
best of luck! #1272025932932055121 is there if you need
Does anyone know if spring_extrasTileSheet.png comes from a specific mod or if it's just a name that various people use for their misc tilesheets?
I thought so too but a search of my files only came up with a White Water Farm. I should go check the SVE folder just in case.
hmm, spring_outdoorTileSheet_extra is in vanilla
SVE uses spring_z_extras
most intriguing
Do any of you know of a mod with a custom script for a new weapon? I want to make a sword that shoots instead of blocks for a secondary attack but I'm having trouble figuring out the best way to make it.
it could be like a in-tiled name for spring_outdoorTileSheet_extra like how the sewer map calls the sewertile one st in tiled?
idk if that makes sense?
ooooh look at slingshot code
You're meaning the tileset name and it's a good thought but no, it's definitely the file name
is this from a log?
aaaa okay gotcha
how new are you to modding?
I checked all of the major expansions (minus VMV and RSV) and no match in there so far, Aba
No, I'm investigating why Confluence Farm's grove map is broken and it appears that Draylon used that tilesheet but didn't include it in the mod folder
hmmmmmmmm
Pretty new. I've made a couple basic ones. Most complicated one I've done is adding a luck meter to the HUD. I code in C# for my day job though so it's more figuring out how to structure things
all I needed was Draylon's name xD
oh fancy!
I'm not sure if the slingshot stuff is C# or regular data/weapons
Waterfall Tilesheets from Draylon uses that tilesheet png
Thank you, amazing! I've looked at that mod before but never downloaded it
okayyy it is in Data/Weapons!!
"32": {
"Name": "Slingshot",
"DisplayName": "[LocalizedText Strings\\Weapons:Slingshot_Name]",
"Description": "[LocalizedText Strings\\Weapons:Slingshot_Description]",
"MinDamage": 1,
"MaxDamage": 3,
"Knockback": 1.0,
"Speed": 308,
"Precision": 0,
"Defense": 0,
"Type": 4,
"MineBaseLevel": -1,
"MineMinLevel": -1,
"AreaOfEffect": 0,
"CritChance": 0.02,
"CritMultiplier": 3.0,
"CanBeLostOnDeath": true,
"Texture": "TileSheets/weapons",
"SpriteIndex": 32,
"Projectiles": null,
"CustomFields": null
},
"33": {
"Name": "Master Slingshot",
"DisplayName": "[LocalizedText Strings\\Weapons:MasterSlingshot_Name]",
"Description": "[LocalizedText Strings\\Weapons:MasterSlingshot_Description]",
"MinDamage": 1,
"MaxDamage": 3,
"Knockback": 1.0,
"Speed": 308,
"Precision": 0,
"Defense": 0,
"Type": 4,
"MineBaseLevel": -1,
"MineMinLevel": -1,
"AreaOfEffect": 0,
"CritChance": 0.02,
"CritMultiplier": 3.0,
"CanBeLostOnDeath": true,
"Texture": "TileSheets/weapons",
"SpriteIndex": 33,
"Projectiles": null,
"CustomFields": null
},
"34": {
"Name": "Galaxy Slingshot",
"DisplayName": "[LocalizedText Strings\\Weapons:GalaxySlingshot_Name]",
"Description": "[LocalizedText Strings\\Weapons:GalaxySlingshot_Description]",
"MinDamage": 1,
"MaxDamage": 3,
"Knockback": 1.0,
"Speed": 308,
"Precision": 0,
"Defense": 0,
"Type": 4,
"MineBaseLevel": -1,
"MineMinLevel": -1,
"AreaOfEffect": 0,
"CritChance": 0.02,
"CritMultiplier": 3.0,
"CanBeLostOnDeath": true,
"Texture": "TileSheets/weapons",
"SpriteIndex": 34,
"Projectiles": null,
"CustomFields": null
},
They're going to need C#, not json
I can't point you to anything useful unfortunately because I don't pay any attention to weapons or mods for them
I guess where I'm stuck at the moment is adding a new weapon that's not just a reskin? I looked at the "More Weapons" mod source code and it looks like he redefined the basic weapons png. Is there a better approach?
Lol "know" is a bit of a stretch. "Friend of a friend of a friend", maybe xD
"I know a guy who knows a guy kinda like that"
OH lol i was talking about TwoKidsInATrenchcoat LOL
Don't mind me lurking lol this actually kinda piques my interest because I'm slightly interested in maybe making a custom weapon for the Kent mod (and for my planned expansion)
oooh you should make a thread so we can stalk your mod progress
Crackling Charcoal's Mod Progress
My luck display I added below the experience bars mod
@uncut viper hey look a consumer
ah i am way late to this 
i did think that but regrettably i dont have CSS anywhere near ready 
how soon is too soon to ask for another showcase for a mod for an update to it. asking for a friend (the friend is me)
my feeling is that if i scroll a bit and don't see it, it's likely ok
well i am gonna post the update in #modded-stardew at the very least regardless so if any mod author out there thinks its not too soon to showcase a significant update to god rays then i wont complain—
just try to wait for next year for the next significant update!
tbh there probably won't be another significant update to it 
well you know how scope creep is
saying those words is like a character saying "now we should be safe" in an horror movie
idk what else one can even add to god rays
Lens flare effect
now make water tiles sparkle where the rays land 🙂↕️
Oh yeah that sounds stupidly hard
the sky, i think
like when u r beneath a canopy
and the wimdy
just to be clear i am not saying this is for god rays i am just throwing darts
you're making me doubt myself about whether or not i know what a cloud is, if i cant figure out what an inverse cloud is
this canopy thing made me more confused
So a cloud but instead if covering the light it emits light and also it's a hole ?
is the idea that in the Woods.tmx you get lit patches on the ground where the sun comes through on the preexisting rays
which are also preexisting
i dunno im not good at words today
the light on the ground
i guess what i actually want is a light source that moves like the cloud critter 
is dynamic lighting in the scope of this project 
The cloud critter?
it doesnt have dynamic in the title so maybe its safe
Ive been working on a shader for mobile I'm thinking about porting to PC
does map screenshots work 
oh ok i see what you mean now. tbh im not sure if theres a way to make that look good lol. the effect would be awful as soon as it went over a building bc you'd expect it to like, translate weird as some hits the ceiling and some hits the ground but itd just be flat
yea the problem of no real 3d geometry strikes again
I figured out the file format to get a custom weapon in case it helps you for that:
Mods/
├── MyCustomWeaponCP/ ← Content Patcher pack (data + sprite)
│ ├── manifest.json
│ ├── content.json
│ └── assets/myweapon.png
└── MyCustomWeaponMod/ ← C# mod (optional logic)
├── manifest.json
└── MyCustomWeaponMod.dll
I managed to get a basic new weapon with a custom skin running this way without messing with base weapons
how does the window light rays work?
as in do modded tilesheets need special compat to add them?
Nope, it's all shader logic. Planning on adding asset logic for mod makers but this probably wont happen for a while.
Uses OpenGL ES because mobile.
But basically I have a shader that extract brights and I add a godrays layer on top of that
ooooh ty 😄
Hey that’s awesome! Congrats :)
ah is that why the hospital is all glowy
Yep. It's all customizable though. I wanted to make sure I can add as many parameters for different situtations. So you can adjust things like intensity for god rays. There's different blending options between layers + frames. Obviously it'd be more exact if I added the per asset shading. This is much more expensive on mobile though which is why this isnt a priority right now. Plus I'd have to go through the assets and create depth maps, etc.
i wonder if it'd be possible to make vanilla lighting logic match the shader lighting logic 
like the stuff happening in Game1.DrawLighting
It's possible.
someone had asked me about whether i could make light sources get blocked by trees n other "foreground" objects and i considered that out of scope
but it would be cool to fiddle with that in a shader mod 
There's a couple ways you can do this. It's definitely possible to get away with detecting "foreground" assets on PC. Unfortunately when I tried to do this for mobile I found the operations to be too taxing depending on the device. This caused overheating with unoptimized shaders.
The godrays here create a pseudo shadow for assets. So it's also possible to do it less exact
it could be that you only do so for entities (like trees in the location.terrainfeatures list)
the detection for those is simpler compared to the map but idk if it's simplier in a way that matters for shaders 
either way this is very cool i am look forward to it 
At the end of the day its just a sprite. Filtering through them frame by frame is a lot of overhead for my target audience. When I get the chance to port over to PC (just the shader translation piece, everything else is forwards compatible), I'll take a look again at shaders for individual assets.
Can I use spacecore to implement 'on item eaten' on a food item I've made to apply a C# buff that temporarily increases friendship points earned when talking to NPCs?
you can apply the buff simply from edits to vanilla data assets, e.g. Curry Diablo = Data/Objects + Data/Buffs
from there you'd just check in your harmony patch to modify the friendship points whether the player currently has your buff
sure, you can also use SpaceEvents ItemEaten to do more complex behaviours but this is a pretty simple use case
ooooh, okay thank you!
[HarmonyPatch(typeof(NPC), nameof(NPC.grantConversationFriendship))]
public static class GrantFriendshipPatch
{
static void Prefix(ref int amount)
{
if (Game1.player.HasBuff("MagicEgg.FriendshipBoost"))
{
amount = (int)(amount * 1.5f); // 50% boost
ModEntry.ModMonitor.Log($"[MagicPinkEgg] Friendship boost applied: {amount}", LogLevel.Trace);
}
}
}
}``` something sort of like this?
Do u only want it to work for talking
Actually i forget if you only get friendship 2x a week or every day for talking
Yes 🙂
uhhhhhhh, I actually don't know off the top of my head either, I think it's you get it every day
...i think it's everyday..
Either way it looks like it will work go try it
Sweet! Okay time to test everything I've been working on in one long go
hellooo wtf did I do wrong?
!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.
Put it in here instead
tyyy
If you made an error it'll also tell you what it is
oh shit
yeah that's probably an issue LMAO
okay fixed that 
okay updated it if that changes anything! https://smapi.io/json/none/6ca3386f14f248b885f1f1a7794b8f56
Did you test if it works or not?
Hi, im new here... well, i come here to have a little help whit a mod im working on. Does anyone know how can i make a farmhouse map mod? Sorry if my english is not so god, it isnt my first lenguage. Im usimg "Tiled", i see on youtuve that is it the tool for making maps, but... the ting is that i always get the same error about where tilesets are located
No worries! There might be an SDV server for your native language, if you're interested! #friends message
sadly I cannot help with maps i suck at them-
:(( Aw, men i´ve been stuck on that problem for weeks. Dunnow if it for the 1.6 actualization or what
!tilesheetclimbing does your error look something like what this governor command says?
When creating or editing maps in Tiled, one common error is tilesheet climbing, marked by red text containing "invalid tilesheet path '../../..'. This is caused by SMAPI not being able to find the tilesheets needed by the map file. To prevent this error, make sure that you have a copy of all necessary tilesheets in the folder containing your WIP tmx file. Copies of vanilla tilesheets can later be deleted, but must be present while working on your map.
If you get this error with a completed map, an easy way to fix it is to open your tmx file in VS Code or a similar text editor, find all of the places with <image source=, and remove the filepaths to so that only the tilesheet names remain. For example, if the code says <image source="Content (unpacked)/Maps/townInterior_2" width="512" height="64"/>, change it to just <image source="townInterior_2" width="512" height="64"/>.
beat me to it Button :3
if so, those instructions also tell you how to fix it
Wait, ill show you the pic
Ok. i lost the file original, so im using this old save. I dont know what happen
yep that's tilesheet climbing! here are the instructions on how to fix it
Omggg. Thanks, ill try
Is there a way to disable the npc dialogue after purchasing a building or farm animals?
these are the CTs if you wanted to edit them to say something else
but if you mean disable adding the CT then idk
robinConstructionMessage(), its this method that is being called, how do i disable this without harmony
without harmony, you don't. at best you can wait until the menu appears and then immediately close it
Is there a good resource for writing spouse schedules? I can't for the life of me figure out what needs to be where for my custom spouse to hang out in his spouse room on certain days.
Hi, sorry for the hour, but i have a new problem. Here ir my Log: https://smapi.io/log/78ec1c6e6ef14440bcd3c1032431a365 Does anyone kows what happen?
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26200.0, with 3 C# mods and 1 content packs.
if you click "trace" on the site, your log says this: Fixed broken map replacement: Content Patcher loaded 'Maps/FarmHouse2' without a required tilesheet (id: untitled tile sheet, source: Maps\farmhouse_tiles).
i haven't seen that error before, but i would double check you didn't accidentally delete any tilesheets or tilesets
Oh... I see, thaks, i will check
who's the best player(s)to check against for the questline i want to make? (any, all, current, host):
- upon [player] reaching 10 hearts with the 4 main NPCs, one of them gets set to invisible for 999 days. all(?) players get mail from another asking them to talk to her very urgently
- event plays where it's explained that he was kidnapped to the dungeon etc etc, quest is given to go rescue him (should i broadcast this?)
- what would make sense is that whoever rescues him first, that's how he gets set back to visible
- if players didn't rescue him together, should the quest then fail for the rest? or should each person get the chance to do it? idk how that would work with setting him back to visible
as always i'm torn between what would make sense narratively and code-wise, and what would be fun for all players
I think it's fine to have the rescue be a broadcast event so that all players are involved even if they didn't go to the quest location themselves (like how vanilla handles the community center unlocking and completion!)
That also makes the NPC returning to visible make more sense because they all witness the rescue
in terms of multiplayer the only real way to have people work together is if it was a special order style of quest, or bundles I guess
Yay, my pull request was merged.
oh pathos did the harmony version bump on the develop branch of smapi
@ivory plume just an fyi, there are some incompatible harmony patches in the wild that wont run on the newer harmony version due to added validation added in https://github.com/pardeike/Harmony/commit/919f13880e1aa5703fe01bafec0160b7c8c6b33c which does break patterns where you replace the last ret instruction with something else to inherit its labels and insert instructions after it (and include a ret of your own) like https://github.com/Spiderbuttons/BETAS/blob/main/BETAS/Triggers/MonsterKilled.cs#L31-L58
Also I have been doing experiments with running smapi on .NET 9 (with and without the satori alternative GC) along with .NET 10 and the only compat issue I've observed is the harmony version bump.
https://github.com/SinZ163/SMAPI/tree/net10-experiment Mainly works by keeping the stardewmoddingapi.exe/dll in the internal folder and then changing a few places to ensure rather than using the internal folder as the alternative place to load dll's it is the parent (vanilla) folder instead, and a few tweaks in places so vanilla initializes correctly still looking at the right folders.
Is there any easy way to make my event play every Spring 1?
Use a trigger action to mark your event as unseen on spring 2 every year
Hi everyone! I have recently been working on adding Steam downloading support to my Stardew Valley Server project! This should make it more approachable!
Right now its a pre-release, I am curious if fellow programmers/stardew enjoyers have feedback! https://github.com/DaanSelen/stardew-multiplayer/releases/tag/v1.2.0
I've previously had feedback on Mods their licensing, so that should all be in order.
looks good perms wise! still not for me but hopefully you'll find your target audience
Hope I am not spamming it, Its one of the projects I use myself and I would love if people looking for it had a use
Most other versions of such a project are abandoned
I don't think posting once every few months is spam?
I certainly hope not.
you pop in when you have a meaningful update so imo (I'm not a moderator so take this with a grain of salt though lmao) you're good to go
Yeah! Exactly, adding Steam support is something that I hope encourages people to try it out!
you should mention it in #modded-stardew , they actually play the game over there 
I'll do that, hopefully not triggering any mods with sending it multiple times
I don't think twice is going to get you banned tbh 
Haha just being a bit paranoid seeing the resistance I have gotten on my first attempts of sharing in this server.
Sorry I tried to understand the part on guide about trigger...but it's still a bit confusing to me. So, if this is what the event looks like, https://smapi.io/json/content-patcher/d043257658c84778b42ffea206bfd06f, how should I write...to let the event repeat on this day every year
You don't need that When field because your preconditions are already in the event itself. You also shouldn't be using a number for your event ID, ideally. Use a descriptive and unique string instead, ideally prefixed with {{ModId}}_.
As forthe trigger action, this is the page here to teach you about them: https://stardewvalleywiki.com/Modding:Trigger_actions
huh. do you happen to have .NET 8 stats too
I skipped 8 entirely
Oh, thanks, I use that number because I thought I could only use numbers for the event id...I'll try it now
No, your mod id is your UniqueId from the manifest.json, which is usually in the format of your username and then the mod name. For example using my mod: Abagaianye.AnimalMuseum
Sorry, wrong typing...I mean event id
Oh okay. Yes, before 1.6 it had to be a number but now we can use letters and special characters as well.
That's cool, I've already changed it and I'm trying to figure out the trigger part...I hope it succeeds on the first try.
oh well. i could use that info for my own project, which is currently .NET 8. i wonder if there's any benefit to switching to .NET 10 soon
You will want to use DayStarted as the trigger. Your condition should be a day sometime after the event, and your action should be MarkEventSeen. You will need the MarkActionApplied field set to false as well so the trigger action will run again each year.
I'm trying to make a 'sweet talk' mod where if you eat a special egg it gives you a temp increase in friendship points. Data/Object and Data/Buff are done in content patcher, and then I have the harmony patch for if player has buff, then give boost. the buff nor the object show up when I patch export (and I did the 'includes' in the content.json. Folder structure is the C# Dll and manifest, and then within that is the CP folder which also has manifest, and then the jsons.)
Oh...I'm using DayEnding now...will that be work?
Btw, is there a more convenient way for me to test if this thing is working properly?
I...really don't want to keep restarting my game anymore
DayEnding is fine, it won't matter.
You can use patch reload <modId> to reload your changes while in game.
And you can use debug ebi <eventId> if you need to run your event immediately without meeting preconditions
Then... can EventLookUp show whether the event was successfully marked?
I'd better back up the save file first...
You should be testing this on a test save with no other mods installed, ideally
It might do, I'm not sure. But you can easily cheat to just before the next day the event should trigger, sleep, and then see if the event happens.

specifically I haven't fully looked into why its faster either, and .net 9 -> .net10 was pretty much negligible in this metric.
Knowing that half of the time saving is in CP content pack initialization, theres a chance its just internals of newtonsoft or linq or whatever else thats now faster and could have been 7 8 or 9 that contributed.
or if it was the harmony change as I was doing the tests with my debugger mod which does harmony patch some cp internals that got to run better with the newer detour methods.
This page has a list of console commands you can use to cheat things: https://stardewvalleywiki.com/Modding:Console_commands
And CJB Cheats can also help with things like changing the date
If you haven't already, it would be worth experimenting with the Satori GC for your project https://github.com/dotnet/runtime/discussions/115627 which does have net8 versions if you want to A/B test on.
Osu representives and Terraria modding representatives are in that thread (though its not the easiest conversation to follow) with some interesting observations
ended up testing myself, jump from .NET 8 to 10 seems negligible for me
GC isn't a huge problem in my project
Nah it's not working... https://smapi.io/json/content-patcher/fd97337e073d47289b8c05a30d766397
Maybe I misunderstood some part...
You need to add "MarkActionApplied": false to your trigger action entry (not inside the Actions field, but at the same level as it) so it runs more than once.
But are you saying it doesn't even work the first time?
(By the way, you should ideally make your event id {{ModId}}_Christmas so it can be unique.)
It worked at the first time
But when I change the time to the next year one day before the event and sleep
It didn't work
Try watching the event, sleeping one night (so it's then Winter 26), then put this into the console: debug gq PLAYER_HAS_RUN_TRIGGER_ACTION current <modid>_Christmas (you have to put your actual mod ID in there, not {{ModId}}). See if it says true or false - it should say true as long as you haven't added the MarkActionApplied line yet (if you have, just comment it out for now).
Yep it's true, and I added the MarkActionApplied": false
Okay, now run this one: debug gq PLAYER_HAS_SEEN_EVENT Current <modid>_Christmas
It should return false
Um...it's still true
Have you changed your event's id to add the prefix like I suggested?
Should I use debug to watch the event again then try it?
No, let's just check what's happening here before trying more actions
Can I see your updated json, please?
Yep, it looks like this nowhttps://smapi.io/json/content-patcher/7ae197b307c240eebc0dced936f353c3
Your MarkActionApplied field is on the wrong level. It's outside the Entries field, but it needs to be inside it.
you can't have one mod inside another: SMAPI won't search for the Content Pack manifest since it found the C# mod manifest first
place them next to each other
Did you change the event id before or after watching the event?
Um...not sure, after I watch it in a normal way
Should I restart the game maybe?
That's okay, let's check something. Can you run patch export data/events/farmhouse and then go find the file it exports and upload that to the json website?
Yep, just a sec..
Stay in game for the moment, if what I think happened is correct then I'll get you to start a new save and try testing it all on that one
- oooooh Okay. Thank yoou!
Thanks. Looks like I was wrong about what happened, so I'm not sure why your trigger action isn't applying. Before we try switching to a new save, can you try running debug gq PLAYER_HAS_SEEN_EVENT Current RRRREveryAfter_Christmas again and check if it's still true?
Yep, it's still true
And btw
I've change the part you said, the"MarkActionApplied": "false"is under entries now
Okay, can you run debug action MarkEventSeen Current RRRREveryAfter_Christmas false, and then run the debug gq PLAYER_HAS_SEEN_EVENT Current RRRREveryAfter_Christmas one a third time?
It's false now
Okay so we know the trigger action does work if done through the console
Hopefully the issue was just that things were updating at the wrong time before.
So let's try again. Have you done a patch reload since you put the MarkActionApplied field in the right place?
Let me check...
You can check most effectively by running patch export data/triggeractions and checking that the field is false for your entry
Oh that would be faster
https://smapi.io/json/none/54e96864d7c543bdacf32a8baaabe636
I found it said "Action": null,,not really sure what that means
That's fine. Trigger actions have both an Action and an Actions field, for some reason. The Action field can only hold one action, while Actions can hold multiple. I always just use Actions because it's more versatile.
But it looks like your MarkActionApplied field is true when it needs to be false, so you haven't patch reloaded since you fixed it. So do a patch reload and then do the patch export again and check it has changed to false.
It also shows "MarkActionApplied": true
Cool, iI'll try it now
Um...SMAPI said this...``[Content Patcher] Can't apply data patch "RRRR Every After > EditData Data/TriggerActions > entry #1" to Data/TriggerActions: failed converting String value to the expected type 'StardewValley.GameData.TriggerActionData': Error converting value "false" to type 'StardewValley.GameData.TriggerActionData'. Path ''..
Can you show me your json again, please?
sure, just a sec
Sorry this is taking so many tiny steps!
Ah, it's still not in the right place I'm afraid
{
"Action": "EditData",
"Target": "Data/TriggerActions",
"Entries": {
"{{ModId}}_Christmas": {
"Id": "{{ModId}}_Christmas",
"Trigger": "DayEnding",
"Condition": "PLAYER_HAS_SEEN_EVENT Current {{ModId}}_Christmas",
"MarkActionApplied": "false", // put it here instead
"Actions": [
"MarkEventSeen Current {{ModId}}_Christmas false"
]
}
}
}
Try copying what I've done just there
Yep, I'm gonna reload the patch now
I've a question.
What's up with a chunk of the monster sprites?
What the hell is a spiker?
Cats? Crows?
I know the shadow girl is unused.
Which is just Krobus with a bow.
Cats and crows unused
Mhm, thought so.
Only top left of spiker used
I was curious about those too when I went peeking for a temp enemy sprite to use in an event
I should be able to see the event if it shows false when I use debug gq PLAYER_HAS_SEEN_EVENT Current RRRREveryAfter_Christmas...right?
At this point, yes, because you haven't replayed it since we set the event to false using the console
I used debug action MarkEventSeen Current RRRREveryAfter_Christmas false, it's false now but it's not playing...
Should it be playing? You should still be on the same day as you have been the whole time
Oh...I'll go back one day and sleep to see
Nah still not
Please excuse me for a while I need to use the toilet...
So you're now on winter 25 and are married to the wizard, are inside the farmhouse and the event isn't playing?
Yes…I switched the day back to 24 and slept but it didn’t play
If you're sure that it was showing as not seen before that, then the issue sounds like it's with your preconditions rather than the trigger action, since we've bypassed the trigger action entirely just now
It naturally triggered once, but at that time, the part of the remove that had not been modified, and I forgot to pause the game so it entered the next day... But I backed up the save file, so I can try to go back to the time when it was not triggered naturally.
At this point I think it might be worth trying with a new save
You can start a new save, leave the house, run debug hu 2, then debug marry wizard. That'll make you married to the wizard. Then you can just set the date to winter 24 and sleep.
Sure, I’ll try it now
It played
Should I just sleep and change the time to next year winter 24?
Okay, asking my question again at a more reasonable hour lol:
Is there a good resource for writing spouse schedules? I can't for the life of me figure out what needs to be where for my custom spouse to hang out in his spouse room on certain days.
No, sleep and then run these in this order:
debug gq PLAYER_HAS_SEEN_EVENT Current RRRREveryAfter_Christmasdebug gq PLAYER_HAS_RUN_TRIGGER_ACTION current RRRREveryAfter_Christmas
Then tell me the results
I'm not sure you can do anything about that
The marriage schedule you can write is them going to town
It's false now
Not for patio or their position inside farmhouse
I think it would be nice to have something for that
Thank you! At least I don't have to spend a couple more hours looking for info on it
THere were two of them there, so which one is false?
both
Okay, that's good. You can try switching to winter 24 y2 now and sleep to see if the event runs the next day again
Um...no, it's not playing
And both of them are still false
Well, that's confusing
Can you run patch summary full RRRREveryAfter and then upload your log for me to look at, please?
Do u want to hear my vague ass ideas for this 
Sorry it took me a while, uploading log always confuse me a little https://smapi.io/log/165c90566ecd44328dda680c6d89e411
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 85 C# mods and 108 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
Thanks. It's not showing you as having seen the event before so it is definitely correctly removing it, but I don't know why it's not playing the next year.
Are you still on Winter 25, Y2 right now?
Yes
What happens if you leave the farmhouse and go back in?
So on year one it plays when you wake up but in year two you have to leave and go back in for it to play?
vague ass ideas are always welcome
i think it'd be nice to abstract the places spouse be at to house/farm/go to town and let people control which of the 3 is happening that day
Usually gsq
Under the broad category there's particular places like farm at the patio, farm at the farmhouse
yeah I was thinking: make SpouseRoom/Porch/SpousePatio valid alias for schedules
It'd be nice if spouse could switch between these points of interest in middle of day
And maybe add more points of interest like they went to fill the pet bowl 
Scope creep alert!
Yes i shall stop here 😌
No problem if u just make some special stuff for ur special spouse either way
Chu offering generous helpings of scope creep as always :P
Yeah, I've been trying third year and I still need to leave the house
I am not sure what is causing that 
Well, at least it can be play
Someone else here might have an idea of why (cough chu help cough) but I do not and I have to get to bed. Sorry we couldn't get it working exactly as you planned, but at least the trigger action did work!
Hey I need help on smth
I’m trying to mod doors but it simply DON’T WORK. Like, I tried everything and it’s everything correct, they appear on the game but I can’t open them. I can’t seem to find anyone else with the same problem so I came here. Can somebody help me? I feel like I’m going CRAZY AAAAAAAAAAAAAAAAAAAAA
Have you got the map property and the tile object property?
There's a tutorial somewhere, let me find it
You haven't forgotten to name your object "TileData"?
In your map, your object needs to have a Name field called "TileData"
Can you take a screenshot of the object, showing its properties?
In Tiled, I mean
One sec
I guess it's about the game itself, anyway, I'm really appreciate your patient help, I learned a lot from it! Thank you
I already saw this tutorial, it helped me a bit but didn't solve my problem
don't you always have to leave the farmhouse and come back to trigger farmhouse events
Object layer
oh oki oki one sec
Idk they said it played upon waking up the first year
Farmhouse events are almost always about romance so I've never learned their secrets
Wait one sec
For any other event aside from day 1 events (my experience) yes
I don't know how yhe code works but maybe it's because normally when you sleep you're already in the farmhouse, so it won't trigger unless you go back in, but on the first day, you get warped there after the intro cutscene
day 1 events?
Yeah still doesn't work
Like new save year 1
Stuff that's unavoidable
Bc of the fact that you wake up in the farmhouse and trigger the event
ah
IT WORKED IT WORKED IT WORKED
THANK YOU SO MUCH OH MY GOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOD
C# concept - proximity emotes? likeeee, for example, if I have medium hearts with someone and standing close they do the little, like, blush emote (or make a new blush emote)
are you asking how to make that?
no, that I'm kinda puzzling through myself - more like, seeing if this seems like a reasonable idea/feasible thing to do?
The idea just kinda popped into my head
anything is doable with c#
Fair, I'm still very new at it, so these are also kind of 'lesson projects' XD
Look at how the game handles npcs saying hi to you and then dont do it that way
what does the game do
It's actually something u can do in BETAS now
BETAS my beloved - okay gonna peek at that cuz I think that's lowkey so cute
Nothing bad, but iirc it runs for every NPC, not just NPCs that have at least one farmer on the map
(Not a problem for emotes probably, I first noticed it because the text version would sometimes call the dialogue asset, prompting the entire asset edit process for smth that no player was looking at.)
helloooo got another one of those errors where it repeats the same thing into oblivion, uhh, can someone help me make sense of it?
would help if you gave us the error
(and yes i fixed my mod's issues in my log
) https://smapi.io/log/f96a572302794ec79beebc630a4e57b0?Levels=debug~warn~error~alert~critical#:~:text=an existing target-,10%3A39%3A56,-ERROR
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on macOS Unix 15.5.0, with 85 C# mods and 246 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
are you trying to load an asset called Resources/Content/Open_GreenCheck?
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.
and here's the content file: https://smapi.io/json/none/9b13c4e2a5d9476c961c949aa675bd5d
these are files but are they loaded as assets?
You appear to be trying to use an opening texture you haven't loaded
OH SHIT
I'll fix that then LOL
i knew there was something i was forgetting
tysm!
okay trying again
....okay it happened again-
!log
Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.
Please share your SMAPI log file. To do so:
- Open this page: smapi.io/log.
- Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
- After uploading, it will show a green box with a URL to share. Post that URL here.
Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didn’t occur in your last session, please load the game to the point where the issue occurs, then upload the log.
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on macOS Unix 15.5.0, with 85 C# mods and 246 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
hmmm i think i will
i guess it's a EAC thing hm
"The override item query to use to actually generate this produce. Most item query fields will work, aside from quality (which is determined by friendship, unless specified) and stack size"
this seems to say it can't do quality, dang
Maybe feature req for after the holidays
IgnoreAnimalQuality bool If set to true, ignore the quality from animal friendship and just use the quality from the item query.
see that's weird
why would this even be there if the item query can't do quality to start with
i feel i must be misunderstanding something
my dogs make ores and you don't really want those making several stacks of quality levels etc
"Action": "EditData",
"Target": "selph.ExtraAnimalConfig/AnimalExtensionData",
"TargetField": [
"cryomancer.snesdogs_runawaydog",
"AnimalProduceExtensionData"
],
"Entries": {
"(O)330": {
"IgnoreAnimalQuality": true,
},
"(O)86": {
"IgnoreAnimalQuality": true,```
looks like i thought i did it too
Oh maybe u gotta use that + quality
perhaps
the wording in the docs is confusing my brain, maybe i shouldn't mod after work
helloooo, yk how after an i18n thing you can add token value things like | playernameDwarf={{playernameDwarf}} etc to allow token parsing? would it be possible to add multiple, like | playernameDwarf={{playernameDwarf}}, swear={{swear}}
Yeah you can (i think they r space separated)?
However this is the part where i tell you about the wonders of localizedtext/lh
ooh?
i have sooo many tokens i was gonna make a token containing all of this text but for all my tokens | playernameDwarf={{playernameDwarf}}, swear={{swear}} so i don't have to write them all-
ooooh>
If you have a frequently referenced bit of string u can do that
Then you don't have to pass in any args to i18n token
Cus localizedtext gets parsed by game itself
oh shitt okay
Oh yeah i wrote the example a little wrong in that
i got like a million tokens for use in dialog so that'd be perfect
You can't actually use {{ModId}} either
ohh
Gotta claude.krobo/text or whatever you call your asset
LOL, uhh, is it alr if I send one of my lines ans you show me how it would be formatted?
Sure but im on phone 
oh, no worries then!
It involves 2 patches (Load and EditData) to setup your custom text asset
...okayy
Which r just string string dict like dialogue
But the keys are anything you want cus you own this asset
...I'm still a fairly new modder here 
okay so, instead of the token i can just put [LocalizedText filename/key], and then make a file with the keys?
okay
And then the claude.Krobo asset (which you loaded) should have a entry (key) "playernameDwarf"
okay okay
It's mostly just alternative to those terrorfy i18n passthrough tokens i see people do sometimes 
playernameDwarf would have to remain a token here i think
Do you know off-hand how common that is? I'd rather not be stuck on an old Harmony version permanently, but if needed we could delay the Harmony update until SMAPI 5.0.0 with Stardew Valley 1.7 (though that might be a long way off).
Not necessarily, cus it could be that your EditData whcih adds the playernameDwarf entry is like
"playernameDwarf": "{{playernameDwarf}}"
..could i make a token thats just a huge fucking list of | playernameDwarf={{playernameDwarf}}s and then add that to the end of all i18n stuff..
This is the exact kind of crime I'm talking about lol
This will work but it's not very maintainable
also, still not wholly familair with blank.json
yeah-
That's just the initial data basically
Every asset needs a Load to exist at all
No
..oh.
It's a Load
one seccc
The Load is often implict because it's vanilla asset
Or done by another C# mod if they are some kinda framework
sooo include still works for code files right?
Include is a content patcher side concept and irrelevant to what I'm describing
mhm
gotchaaa okay okay
When u do Action Load, Target claude.krobo, FromFile blank.json (where blank.json is actual file in your mod)
You are saying that the default value of claude.krobo asset is empty object
..one second my brain is making dial-up noises
As opposed to default situation, which is the claude.krobo asset doesn't exist
You can imagine this in texture terms if it helps
Imagine if you had a completely transparent png
And you load that
okay
Then you do EditImage on it to actually add the visuals you want
ohhh okay i think i gotcha!
That's what's happening when ppl load blank.json then edit in dialogue more or less

pls hold

