#making-mods-general
1 messages · Page 505 of 1
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.
but the condition changes the map and locations if it's year 3, etc.
one sec, its a nsfw mod. let me redact some parts
When I load the game in and go to the wizard's he acts like vanilla and lookupanything says no schedule is loaded
i'm not sure yet if this is the issue, but we don't recommend putting spaces inside of config option keys
are there any?
"Some of the other men should be changed too": "True",
"Hearts:Wizard": "0,1,2,3,4,5"```
oh you mean the "Some of the other men should be changed too" part?
yes
okay I can edit that but the other config option keys all have spaces and seem to work correctly so I kinda doubt that is the issue here, though its certainly possible
also, your animation descriptions aren't formatted correctly
it takes a slash-delim string
Y'all, do I need just one content json for my NPC and new crops? Or do I need a content json for each thing I wanna add?
"int[+]/int[+]/int[+]/[dialogue]/[offset]/[laying_down]" off the top of my head
Oh the parts that say Dialogue Bit are all redacted parts to not have any of the nsfw dialogue shown since we aren't supposed to share anything nsfw in this server
okay but it's formatted like i sent?
How is Include used? Sorry if I am bein a lil dense with the info btw.
my suggestion is to use patch parse to see how your tokens are being parsed, because if neithere patch is applying that suggests that they're not ready
patch parse?
Thanks!
ty!
for the tokenizable string, would that be "Characters/Schedules/Wizard" or something else?
in what context
patch parse parses a tokenizable string and shows the resulting metadata
With the example of
patch parse "assets/{{Variant}}.{{Language}}.png" "Pathoschild.ExampleContentPack"
oh, no you want to pass the token you want to parse
in this case you want to check your config option and the heart levels
ah fun
Metadata
----------------
raw value: Hearts:Wizard
ready: True
mutable: False
has tokens: False
Diagnostic state
----------------
valid: True
in scope: True
ready: True
Result
----------------
The token string is valid and ready. Parsed value: "Hearts:Wizard"```
Everything I enter outputs basically the exact same thing? Even when I made a typo on the config option and said Soem instead of Some? (example is patch parse "Hearts:Wizard" just swap out "Hearts:Wizard" with anything and it looks the same for everything I've typed, with the same true and falses even??)
can you do a patch summary? probably should have asked that first
it's a really large mod, the summary is hundreds of lines >.<
that's okay i can still read it i'm just looking for those patches
IT IS FINISHED
!log please upload it here when you do it
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.
Some of the other men should be changed too | [X] true
it's true
and the other things it changes in the mod are working
that's not what i'm looking for; i'm looking to see if the schedule patches are applying
I just clicked the wrong link. I cut out the rest of the log to redact it
okay well according to that, the conditions match (for low hearts) but the patch isn't being applied
yeah i see that. I wonder why
can you comment out the config option in the When and see what happens? to try and isolate the problem
this is fine
wow that's a lot of work good job
yeah give me a few minutes to test
@iron ridge sometimes I go into a modding void and things happen, I am sorry for the sheer size of the PR I just put in. Uh, enjoy?
(also I ended up moving one of my own festival positions to avoid stepping on the previous Void PR, LOL)
have you slept since changing “some of the other men should be changed too”?
or since loading your mod
that's what I'm testing right now
you’re testing if you slept? I assume that means you haven’t and are now trying to sleep. schedule changes happen at the beginning of the day so you have to
oh sorry, the first time I loaded the game in, when i went to sleep it crashed. I think it's because of how I commented out the when so I was changing that and retesting 😅
I definitely could have been clearer 😅
alright nope. still not working
I even tried parsing it down to just the one schedule and no when at all and nothing
im trying to make my player wake up in a different location when they pass out on my map and im struggling to do so can someone helpe me?
"Action": "EditData",
"Target": "Data/LocationContexts",
"Entries": {
//LOCATION CONTEXT
"{{ModID}}_YamayVillage": {
"PlayRandomAmbientSounds": true,
"CopyWeatherFromLocation": "Default",
"PlantableLocations": [],
"ReviveLocations": [
{
"Condition": "PLAYER_LOCATION_CONTEXT Target {{ModID}}_YamayVillage",
"Location": "{{ModID}}_DoctorOffice",
"Position": {
"X": 16,
"Y": 13
}
}
],
"PassOutMail": [
],
"PassOutLocations": [
],
"CustomFields": {}
},
}
},```
Shouldnt this do exactly what im thinking?
This is not how to use patch parse. If you don't use the token characters {{ }} then it will not read it as a token and it will just go "this is plain text with a value of "Hearts:Wizard"" like you see it doing here. Try patch parse "{{Hearts:Wizard}}"
Are you trying to do this for when they are defeated in combat or when they pass out from exhaustion?
ah that did help get that working. still doesn't explain why the patch isn't applying at all even without the when
Spaces in config keys don't cause issues, I just tell people not to do it because it makes me cross and it makes no sense for them to have spaces because people should be using i18n for the visible config option name in GMCM.
Now that you've removed the When, what does the patch summary say about the patch?
Oops, couldn't parse that file. Make sure you share a valid SMAPI log.
Are we looking at the first animationDescriptions patch?
no the schedule
Have you slept since removing the When?
yes
are there any errors or warnings in your log
No
Try patch export Characters/schedules/Wizard
Then open the file it exports and see if your edit is present
exhuastion
Then you're using the wrong field
oh shoot
Waah, my log is still so gigantic
which feild is it?
Are you using the wiki page? It's PassOutLocations, right above ReviveLocations
So, despite the summary saying it's not applied, loopkup anything showing no schedule, and it not working in game, the export does show the edited schedule
Did you do a patch summary again after exporting? It should say it's applied now.
huh. okay it does say that. but I closed the game, reopened it, slept, and went to the right time and nothing happened
Does LA say he has a schedule now?
No Schedule Loaded
Is yours the only mod you have installed for the wizard?
Yep
i have it in the right spot now and it just isnt working im not sure why. maybe im writing it wrong. and yeah im using the wiki i just get confused when reading
I play a very mod-lite game with only a few mods at all tbh
Have you got a Load patch for the schedule?
Are you sure your location has this location context?
yeah but does my doctor office need the same context too
"Action": "Include",
"FromFile": "assets/Jsons/Wizard.json",
},```
is in my content.json and that is the file with the schedule in it?
that's how I edited every other character's schedules
No it doesn't say it needs that. But does your doctor office have a bed or the AllowWakeUpWithoutBed map property?
The vanilla wizard has no schedule so if you haven't loaded a schedule first, your edit isn't editing anything.
So you have to edit his schedule slightly different from other people
ooo no it does have that let me do that
How does one tell what the tile coordinates are? I'm trying to figure out where I wanna place my NPC(who will have placeholder sprites) just to see if I am actually making the NPC exist.
ah that would be why then
Yeah you gotta load a blank first
(i'm very glad you guys are helping, i never would have known that)
how would I do that?
I ran into that problem myself
In game with the Debug Mode or Lookup Anything mods, or out of game with Tiled
Mk. Thanks.
you can open up the map in Tiled and hover over the tile. the numbers that appear in the bottom left are the coords. you can also use the debug mode mod
"Action": "Load",
"Target": "Characters/schedules/Wizard",
"FromFile": "Data/Empty.json",
"Priority": "Low"
},```
And the fromfile is a blank json
I'mma figure out how to open the maps in Tiled later.
Right, content-blank, still needs the brackets
that fixed it thank you aba!!!
awesome. one second while i set that up
Hope y'all do good on your mods, I'mma go see the coordinates I wanna put my NPC at and then go to bed.
Hmm why is CP doing such intensely verbose logging
Also look at this monstrosity:
13:36:07 TRACE Content Patcher 212 patches were rechecked for OnTimeChange tick.
oh god
Jail for all of them! Jail for 1,000 years!
IT WORKS
yeee there you go. The blank load thing got me too on him
does anyone know if there's some window-level scaling that happens on macos with retina displays? I expected some of my elements to be smaller like they were when I was developing on windows but they're larger on mac
I work at 100% zoom and ui scale for consistency so I don't think it's that...
i'm back with my possibly stupid questions again,,, really starting to think maybe i'm just not smart enough for this lmao 
can someone explain what i'm missing here to get these maps loaded in...? i have them in the assets folder, and i tried following the guide on the wiki, but it just resulted in smapi just opting to not put them in repeatedly
Everybody is smart enough, we just have different levels of ability that make some parts easier than others. I find drawing really difficult and exterior mapmaking even harder, but json easy.
See the yellow squiggly lines? Hover over the words with the lines under them and see what it says.
They're not the only issue here, but they're the first.
duplicate object key?
Yes, so you are trying to have an "Action" line twice in the same patch which is not allowed.
i figured i needed to have them be separate, but it didn't work either way
Remove the EditData one
Secondly, your Target is wrong. You're trying to load maps into Data/Locations, which doesn't work.
the wiki said to add it there, but
Did you read this section of the wiki page? Specifically the "Adding a new Location Using Content Patcher" bit?
those were the instructions i was trying to follow, yeah;;
i think i'm just not grasping something obvious
No it didn't. You are getting mixed up between maps and locations. We add locations to Data/Locations, we do not Load maps there.
OH
the location has a wholly separate entry?
and then the entry has the map attached
i think someone tried to explain it earlier and i thought i got it but. uh. i obviously did not
sorry to make you spell it out for me again;;;
Sorry, game was loading so I was stuck lol
so it's an editdata sort of like how i added in the character data?
It's not an easy thing to explain and I can't think of a useful analogy, unfortunately.
just different location and stuff?
But maybe think of it kind of like an NPC. An NPC has the visual part you interact with in the game - portrait and sprites - but it also has character data. You have to load the visual stuff and then tell the game "this visual stuff is associated with this NPC". Without the visual part you wouldn't be able to see the NPC to interact with them, and without the character data there'd be no interaction to do when you saw them.
It's kind of the same with maps. Maps themselves are the visual part, while locations are the data. You need the visual part to have something for the farmer and NPCs to run around on, but you need the data for it to be anything more than just visual. It's a bit more intermingled than with NPCs because you can have some data on the map itself, but it's sort of the same idea.
Does that make sense?
yeah, i think i'm getting it
So you need two things: a Load patch for the map so it gets into the game, and then an EditData patch for the location so the data is there too.
Are you looking at any other mods as examples while you're doing this?
do you have a specific one you think would be a good reference? i was thinking of looking at sve, but i was worried that would be too complex for what i'm trying to do
Definitely don't look at SVE
It's massive and full of things that are no longer good practice because it was first made a long time ago
Have a look at mine, since I'll know exactly what I was doing to be able to explain it to you: https://github.com/Abagaianye/AbaStardewMods/blob/main/ApollosTrickOrTreat/[CP] ApollosTrickOrTreat/data/aba_maps.json
maybe i should make a mod that does one of everything just to have as an example lol
If I was ever willing to make my messy mods public I'd already be halfway there but they're called messy for a reason lol
well then you have the same issue of having to dig for the correct example in a mod that does everything
"everything" is also a whole hell of a lot.
yeah and i don’t particularly have the time or motivation 
there's examples of most tasks in the CP docs, right beside their appropriate documentation. as far as i can imagine it'd just be all the examples and none of the documentation
well, aside from the SDV specific behaviours like schedules and marriage behaviours.
hrmm so will i need to include the tilesheet i used with the mod? or just make it a requirement? i assume i'll need to load it either way?
i used a custom one, i mean
Is it one that you made?
no, it was one i found on nexus, so i figure i need to make it a requirement?
Yes, it has to be a requirement in your manifest.
You are actively not allowed to include the tilesheet in your mod.
right, i figured
So no, you do not load it.
okay! got it
Once in game, your map will make use of the tilesheet as it has been loaded by the tilesheet mod.
how do i find the uniqueid for the tilesheets so i can list it as a requirement on the manifest? :0
oh nevermind they have a manifest in the files sorry asldkjf
The manifest.json for the tilesheet mod will have it's unique ID listed
Ah, I see you figured it out 🙂
uh. now how do i fix my dumbass mistake of not saving it to the correct folder,,,
the map i mean

What do you mean?
What folder is it in and what folder do you think it should be in?
the .tmx files i made before i didn't have saved in the mod folder, they were saved in the tiled folder
so when i tried to save them to the mod folder it. didn't keep anything
You should never try to save to a different folder, you'll cause tilesheet climbing
Exit Tiled and cut and paste the files into the right folder in your file browser
Also, did you start your maps using a vanilla map as your base?
yeah, i did
should i just like... make them again in the right place?;;;
Okay, starting with a vanilla map is good
Though I'm not sure how you ended up with them inside your Tiled folder
No, you don't need to make them again. We'll just fix the tilesheet climbing.
!mapfixer Try uploading them to the map fixer
There is a map fixer tool by Spiderbuttons that can fix common map errors such as tilesheet climbing.
Upload your map file(s) as .tmx and click FIX to run. Your fixed maps will be downloaded as a .zip file and will need to be extracted in order to replace your old versions.
Feel free to let Spiderbuttons know if you run into an issue it can't fix.
do i just need to move the tilesheets i used?;; like the ones from stardew?
like, this is what i'm winding up with
Have you read the instructions for how to use the tilesheetinator?
You should not be moving any tilesheets anywhere at any time
i thought i was using it correctly, and i got the house to work, but the garden's not cooperating
Have you added the custom tilesheet mod to tilesheetinator?
yeah, i only used it indoors though
i think maybe i should just... try again tomorrow, i'm sorry
i've been fumbling a lot today
Then if your garden map is only using vanilla tilesheets, you should be able to have it fix just by pressing Ctrl+. on your keyboard
Taking a break is always a good idea if you feel like you need one
For Multiplayer saves, where does the game save the farmhands' data?
Have you tested it
install node & npm, run npm install in the directory and then npm run build and I think it'll make a folder with a html file or two you can just open in browser
Maybe it'd be npm run dev actually to be easowr
I've decided to do some touch-ups on the slimes.
What eyes should I give them?
Something like Vanilla or something more akin to my duggies and sprites?
The latter would add a bit more personality, but I fear I might be overdoing that style, no?
Roll with your style. Go all out.
People will either love it or hate it, but that is far, far better than blandness.
Map making question: How do I make a door warp that isn't a LockedDoorWarp? Like, one that players can click on whenever to pass through it?
You can make a LockedDoorWarp with times 600 and 2600 so it's unlocked at all times
Ahhh thank you! I should've realized that lol 😅
Well said.
does anyone know if there's some window-level scaling that happens on macos with retina displays? I expected some of my elements to be smaller like they were when I was developing on windows but they're larger on mac
I work at 100% zoom and ui scale for consistency so I don't think it's that...
Does anyone know if Unique Children sprites are free to port to LittleNPCs content packs such as Growing Valley? Since I would like to use my custom UC sprites with GV
The permissions on unique children is pretty closed
Are you talking about a sprite you drawn or a sprite from unique children itself?
The body base is from UC but the hair and clothing would be drawn by myself
maybe if you do that take the vanilla children sprite as base
this would be better in term of permission and freedom to use
Growing Valley also has base sprites for customising the children that is not one of the unique bachelor(ette) children in the mod - and apparently the ARV Kids content pack for it also share the same body shape as the GV base body
And yes - per GV’s Nexus page one can use GV assets to create custom GV children…. But not conversion to TFC (The Farmer’s Children) or Unique Children
That would normally mean I am fine if I use the base sprites in GV for custom children, right?
This is what I'm talking about
Game1.dialogueFont.MeasureString says the height is 51 but the inside of my textureBox bounds is supposed to be 40 so how does that make sense?
I just really feel like I'm missing something crucial with the math here
Ah, thank you. Fixing Y3 may be over my head, since it was previously just set to copy Y1 completely, but I'm working on the rest
noticed some other weirdness while I was looking, like Ian from Ridgeside using Sebastian's face??
Blame scarlett /lh
Probably just a confused script. Sebast Ian
Why is drawing NPC sprites so hard?
tiny
Fair. I just wanna draw my deer/goat alien biped.
ah, the concept making NPC sprites actually just bought itself a new plot of land in the 18th circle of hell so that's probably why
measurestring is based on the font line height, which will include the space for letters that go under the line like g
(forgot to ping
)
All the fixed SVE positions are working fine anyway
How much bigger am I able to make NPC sprites til they don't work right?
uhhh i think you'd need a framework for that
wait a sec i do have a layout thing for size-
are you wanting to make them look bigger on screen, use a larger resolution, or both?
Explain framework? I am still waking up.
I am thinking of making another NPC that is bigger than a normal NPC.
it's doable but pathfinding will break unless you use PoohCore
in the context of SDV modding, a framework is a C# mod that enables you to make things that would not otherwise be possible
Yeah but it's all numbers which is why I'm kind of bamboozled. Also the line height is 42. The glyph cropping is 51 when I check in the debugger so I'm assuming that's it?
Just getting confused about how scaling works -- you can check my original post but the inside of the xp bar is set to 40 so I'm really confused why the reported height of 51 fits inside the box 0.o
(thanks for the ping)
for example, buttons has a framework mod you can use to make custom emotes
yeah, but iirc height is a fixed value per font rather than evaluated based on your string (I'll have to double check but that's what I remember from when I looked into it)
basically don't trust that value lmao
you can quickly test by checking if o and Ag have the same height
Okay, committed and pushed, everything seems to work, with the exception that SVE Y3 Expanded's setup does not show anyone. However, this is how the actual site behaves right now even though it's set to copy SVE's Y1, so that is something over my head to fix. The Y3 Main Event works fine (though the game never uses it, I just copied the positions over to it so they show somewhere). I suspect some NPCs are still missing portraits, but I added all the ones I could find.
and I fixed all the Sebast Ian situations I noticed
ty
Sebastian being Ian should just be swapping the image
There was actually an Ian png that was Sebastian's face, replaced it with one with Ian's face
That happened with Andy too, Andy was Sandy's face and there was no Sandy image at all, I fixed that.
yeah they do 🙁
So am I just out of luck for actually knowing how my string will render? I suppose I can just hardcode an offset
just feels bad
ui is a lot of hardcoding unfortunately, I hate it too
Abs0rbed is the tree names released 
I wanna get some critic on my pixel sketch of my NPC, should I show it here or in the making mods art channel?
i cant for the life of me get my player to revive insid the doctors office when knoced out
what are you doing currently? can you provide the json?
I got it working!
i just needed to bad mouth my code so it would get embarrassed and work XD
Spritefont logic is just bonkers tbh
I realy want to create a mod. Add new mechanics such as a new ealy game machine and news erly game items.
Is it not too hard to make ?
!startmodding :)
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.
modding is as easy or hard as your determination and motivation make it!
and/or hyperfixation 😌
it doesn't sound hard to make if you know what steps you need to do to make it, I think you could take inspiration from other mods (the framework mods https://stardewvalleywiki.com/Modding:Content_pack_frameworks) to see how they implement the items, then you can look at the wiki (https://stardewvalleywiki.com/Modding:Content_Patcher) on how to add functionability to the items. (same links as from the bot)
Hi and happy new year everyone!
I made a resolution to try learning how to mod Stardew Valley (not sure if that was really a good idea 😭).
I’ve watched some tutorials and I understand the general workflow, but they’re pretty old now.
I’m trying to start simple by adding a teleporter to reach a map, but I’ve been going in circles for hours.
If someone could help me via private message, that would be really appreciated. 💛
we can help over here!
!startmodding
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.
If you don't want to do C# warp, Spacecore offers a framework where you can turn custom items into 'warp totems' - I use them so players can get to custom maps I've made 😄
I use files in .json. It's ok ?
"Action": "EditData",
"Target": "Data/Locations",
"Entries": {
"SecretBase": {
"DisplayName": "Secret Base",
"DefaultArrivalTile": { "X": 7, "Y": 8 },
"CreateOnLoad": {
"MapPath": "Maps/SecretBase"
}
}
}
I’m teleporting to nothing, I don’t understand. My map is included.
!json can you please upload your full file to this site?
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.
Default Arrival Tile is used only for like
Debug commands
And isn't used anywhere else
and you don’t teleport, or you teleport to a black map?
Anyone else got experience with feeding claude code the entirely of the moding wiki and letting it do its thing?
I've had success oneshotting some fairly complex stuff
What about yall
json looks cromulent at a glance to me (although as usual, i recommend namespacing your location with {{ModId}} since "SecretBase" is not particularly unique and prone to collision with other mods)
no, we highly don’t recommend using AI to create mods. furthermore, it’s against the rules of this server
At first I tried teleporting from one point to another within the town, and that worked fine. No problem.
But I don’t understand how I can, for example, walk on a tile and get teleported to another map.
Huh, didnt know that. Why tho?
I suppose ppl who come asking for help with AI generated code by the chatgpt web UI can get frustrating over time ig
to warp from town to secret base, you would need to use AddWarps to add a warp in the town
I tried everything, and I honestly think AI is worse than anything when it comes to coding. I won’t do it again because it was worse than the tutorials.
why don't recommend: not likely to work
why against rules: (tl;dr) genai bad
Just to confirm- what does debug warp secretbase do
I see
(which you did, i should add)
It's pretty cool tho. Unlucky ai coding noobs gotta ruin the experience for yall
I will take a look
I should specify - type that into the black window of smapi
I think the core factor is that modding, especially just content stuff, is actually pretty straightforward if you sit down and learn what a json is
Lack of understanding of how your own mod works means you can't fix issues down the line
people using it to little success has little to do with my strong dislike of genai
I would still dislike it for exacerbating water shortages and burning computer parts just to get a subpar result, yes
honestly, even if i could one hundred percent automate mod making with no chance of errors and no immoral side effects like water usage, theft, etc, i still wouldn’t, because i derive joy from the act of making
dont forget the plagiarism!
well considering the topic was using AI for making mods, and its been said by a junimo before that polite discussion of such is allowed, im not sure why itd be there instead of here, as long as it doesnt go on too long?
I'm trying to separate the "help modder fix mod" convo from the "ai convo"
A lot easier when there arent two conversations going on
And that channel is quiet
I wonder if there's some crime way for me to discover all assets currently loaded
i mean this lightheartedly but i think you might be the last person id accept an off-topic reminder from. the other person hasnt even gotten back to you yet
Define currently loaded
Stuff in the Game1.content cache
chu you're such a hardened criminal
It's gotta be somewhere right
I am considering some kinda EditImage helper for the mod making mod 
ContentManager.loadedAssets?
Sounds likely I shall look
its a private field, so you'll need reflection
speaking of crimes, i am planning to add color context tags to some clothing items, to maybe help players with color matching. is this niche? yes.
unless you want to use the property version, which is actually more protected than the private field, in which case you'll need reflection too
Maybe it time to finally publicizer
publicizer is nice
Also, chue, the game sometimes loads image assets to other (temporary) content managers
That's ok tbh
I still got this message : [game] No location with name SecretBase
[Console Commands] Sent debug command to the game, but there was no output.
Game1.temporaryContent or smth
ur location don't exist
I'm really confused about load and EditMap
actually thats not true maybe 20% of the time is SMAPI
!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.
I have 2 vague ass ideas about how to obtain the nebulous list of assets to pick from for editimage and besides inspecting the content
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/action-load.md https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/action-editmap.md
I considered just getting the much more limited set of names from object data and big craftable data
I am not sure which one is more helpful/straightforward
i believe i have fucked up. well jokes on me for trying to use a C# command bblueberry sent me to help with this weird project idea
Hmm, looks like your location wasn't created correctly
what the fuck did you do to get this
Can we see your log?
typed in cs return Game1.player.shirt.Value.color.Value;
what is cs
this is console code stuff and not your fault
I <3 content code
Why do you want the player's shirt color
i want to add it to the shirt object data
So.
does using a higher .net language than the target generate polyfill stuff for it? i thought it just changed things around during compilation to not need polyfilling bc itd turn it into the older stuff directly
-# pls pick me up im scared /hj
Bea what exactly is your plan here with console code to help you with this context tag thing
I don't think it'll give u the taggable colors anyway
Cus only dye shirts even set this right
this, mostly. maybe just doing it manually is a better idea
this is one of the problems with asking about stuff for making mods in modded-stardew
theres nothing in that message you sent to indicate it was for something making-mods related so i doubt blueberry thought you wanted it for any other reason than just like, curiosity
bc neither console code nor the value of the shirt colour will give you anything you want or need here
FF0000....isnt that red.
actually all the non dyeable items just use FFF000
That doesn't look red.
its not
omg i didn't realize that was a hex code and was like 'fooooo?'
Is the default red?
i think its more likely that the game just sets it to red by default if it doesnt even use it
hardcoding...
i doubt LA would be giving the wrong colour if its just reading the fields
it does change for dyeable items

this is in fact, beyond my capabilities
Probably 3many effort
I also have no idea what giving context tag to clothes would do practically
do wish stardew had a better way of color matching
Is the intention to make the dye able ones dye fun
it was my very first idea and after thinking about it its kinda stupid
i still dont understand what your end result is or why the current colour system is insufficient
Or is the intention to with the undyeables
No it isnt stupid I'm asking for calcification
Clarification
i wanna make it easier to match the dyeables with the undyables
like u have a shirt that's blue and u wanna match the exact shade with a skirt
Tbh it would be easier to get the hex colors with a color picker in your favorite art software
if im not making it clear enough please do say
(its clearer now we were just typing at the same time)
(Although copying dye from one clothing item to another would be great) looks at button
im not the one with a sewing and fabric mod
looks at selph
i dont know what context tags would do here to help match two pieces of clothing
time to make pleading eyes at Selph
as ive said it was my first idea, but tbh it wouldn't help much, since of the way you pick the colors in stardew
Do I need to add a warp function directly inside Tiled, or is the JSON code enough on its own?
Just gotta defeat pants.png
Either way is fine.
would be better if the undyed ones showed their color values on hover or something
Both is ok, but they work differently
no one can truly defeat pants.png
This isnt trivial tbh
Lol
huh?
I fought Pants.png once, never again
pants are a prison anyway
if I am ever feeling insane again I will work on my FS pants again but until then
Defining an algorithm to pick the dominant color from a 16x16 image
No, you cant straight average
what a horribly cursed idea
the only things ive ever did again were hats because those are damn easy
literally had this idea trying to make the shorts match the shirt but like this isnt even the most used color in it
#cursed
Just open the image in your favorite image editor and color pick
practical solution ftw
also all the colouring is applied during the draw code
Would anyone be able to point me in the right direction for editing dialogue on the fly with SMAPI?
I'm currently editing the text in the Rendering event, and by MenuChanged it's there, but it's not actually changing the text
silently writes down to attempt FS pack again sigh
anyway throwback to when i did this for no reason
u don't need a reason to be cool
Plz publish it
not the springobjets hat
What are you editing precisely
what about objects_2
Try pushing new dialogue to the npc dialogue stack instead
If you're editing the current text displayed iirc the game just regenerate that a lot
There may be easier/better ways though, tell us what you want
springobjects.png is too powerful to turn into a mask i fear
i'd say make seperate hats for all of them but i don't hate u, void
eventually the idea is to change the player's name based on relationship status from different pool of names
(Also, tbh, rendering is for rendering, not logic.)
also is there a mod for fruit hats. i swear i saw it, or did i simply imagine it
Looks like a Death Godlike head
hell nah, it would literally jsut turn into this when sized down to such a degree
i love
hat
Oh I'd just use a tokenizeable string for that
I got example for this too hold on 
since I already have it i might remake pathos mask...back then i did it in JA
looks like the farmer tried to enter a far away realm not from our reality
was just gonna say hey chu didn't u publich a mod really similar to elegant's idea
that says publich doesnt it
looks like they had a terrible sprinkle accident
So one deal is that ppl would have to opt into actually using this thing like Hey we are [Mod_NPCTag Lewis buddies] right?
I’m reading the wiki, but it’s really frustrating it seriously lacks concrete examples.
yeah,,, ive only ever added basic things so i'd add example if i had any
If you want to globally replace @ with your logic then I'd do a prefix on Dialogue.parseDialogueString
but if u ask about a specific thing someone will be able to help
void you're in the code!! /j
Oh thanks I think that's what I am looking for!
im everywhere and nowhere
In my case all I'm doing is taking [HMK_token] and expanding it to [HMK_token speakerid]
And the actual determining of what string will be resolved is inside the tokenized string handler
might even call me Schrödinger /j
shouldn't it be Schrödinger cat? i think we know where the dude is
(Dialogue.ReplacePlayerEnteredStrings() is what handles the @)
He died in 61, so Schrodinger is now the one in the box tbh
no you need a prefix
Terrible times
unless you dont mean on ReplacePlayerEnteredStrings()
why is it terrible
just replace the @ before the rest of the function runs
Well i think it's equal to this more or less
I dun have decompile before me so im not sure what is the order of @ vs [TS] here
the @ gets replaced basically right when it needs to be before display, afaik
not during parsing
which would be better, because you might want to replace it with something else if they talk to the NPC at 6pm vs 6am when the dialogue is first created
e.g. if you start dating at noon
Is dialogue parsed at 6am?
The problem comes from the tilesheets folder. I see that some modders use this subfolder, but for me it just refuses to work. So I put the tilesheets directly in the maps folder instead.
Oh that's more complicated than just using a subfolder
parseDialogueString happens whenever a Dialogue is created which can be a lot of different times and not always when you are talking to them
one big example is schedules
dialogue will be created and thus parsed whenever an NPC arrives at their destination
which is why $query can be out of date
Tiled can only see tilesheets in the same folder as it without something like Tilesheetinator, and you have to load your tilesheets in the files to get them usable in maps ingame
I think also the code that handles buyback runs at 6am
the return™ man, my discord is lagging again
wait is this a pathos mask
i have faint memory
of pathos not being a cat with a pufferchick
People who use subfolders have stuff like this that load their tilesheets so the game can see them.
are these custom tilesheets or game ones
yes, it is
Yeah, also is this custom or not? If it's just about Tiled, there's Tilesheetinator.
Guys, how to add an element to the town map without actually modifying the town map itself?
I mean something like an overlay layer. For example, adding an extra door to Pierre's shop.
What’s required to do that? (A map via Tiled?) Which function should I use in the wiki?
there are patch modes
have a this
and yeah tiled is the only way i know to edit stardew maps
you can technically do it by using EditMap and changing tile indices etc
if it’s just one or two tiles that’s what i’d do tbh
i mean how would u add a door without tiled
you would change the tile index to look like a door and then add a warp tile action
i mean i wouldn’t
and like, same result
So does that mean that every time you have to:
- create a new map that contains the element,
- load that new map in the script,
- and then use edit/map mode?
just was saying tiled isn’t the ONLY way
no, if you’re editing an existing map you don’t need to load
no, edit map is the only step
loading is for new assets/maps, not edits to existing ones
u really just need like a 1x2 tmx file with a door visual
I’m only using .png files, is that okay? (I followed a tutorial to get the unpacked content version.)
u need a tmx
- copy town map into your mod or workspace folder
- make desired edits
- crop map as small as possible to just your edits
- use EditMap with FromArea and ToArea to define where your cropped map should go
(you don't FromArea for this, you'd be using the entire map edit)
(i prefer to just so i know the numbers match but yes it’s not required)
I got it better, thanks
One simple question that still confuses me: when you integrate an already existing map into a mod folder, do you always have to include the tilesets one by one?
!tilesheetinator
You can use the Tilesheetinator tiled extension to create Stardew Valley maps that work in-game without having to copy vanilla and modded tilesheets back-and-forth, rename files with a . in front of their name, edit maps only in the unpacked content folder or make symlink workarounds.
See the mod page for full installation and use instructions.
if I want to make a NPC join in year 2, how do I do that? I'm thinking maybe an event that triggers in year 2 to show that they arrived. How do I also make NPCs interact with each other?
You could do something like, they have a year 1 schedule that's just "stay in this out-of-view map the whole day", then have their actual schedule loaded with condition "year 2+"? I haven't done NPCs, so I don't know if you can just conditionally add them
you would use UnlockConditions in their Data/Characters entry
the condition being either "is year 2" or "has seen this intro event"
as for NPCs interacting with each other, you can write events that showcase them together?
if that's what you mean
thanks so much! Is there a tutorial on making additions to the map?
[[Modding:Maps]] the wiki is your best friend
I was thinking like maybe schedules that make them interact with each other
yeah then just write their schedules to match up at points
i actually have 2 NPCs who go everywhere together if you want an example
yeahh sure! That'd be really nice
https://github.com/nbeymer99/DeadBoyDetectives/tree/main/assets/characters you're looking for charles and edwin
oh my god I love detectives
then you should be excited for my next update where you get to solve cases with them lmao
oh my god, my mod is actually 3 officers together stationed at stardew
i didnt backread but i dont agree to whatever was promised
i'm still slowly working on adding interaction with other mods, but i'd be happy to talk about it with you whenever!
that's so sweet, if you ever need feedback/surveys/testing, you can cold ping/dm me whenever. I'll be playing the mod with my modded save for sure 
A way to copy the color from any object to a piece of clothing!!!
doesnt the dye pot/sewing machine do that already
they don't want to destroy the item in question
Objects that r not necessary color tagged
Find most frequent color from the texture pls
very intriguing idea, we will get back to you after Q1 planning and strat review
in the meantime please submit a one pager PRD to the shared team drive
How does one specify the "front" sprite for a new modded furniture (a chair, specifically) using Content Patcher? In Data/Furniture I can only set one sprite.
Sewing machine pulls it towards a color, based on context tags iirc
We will invest 0.2 dev hours in this
did you set rotations
Rotations is set to 4.
So let's say you have texture Pyon.Furniture, you need a Pyon.FurnitureFront
Make the Front same size as the base and draw front of chair on them
Vanilla has this setup on most furniture sheets
Lol
I'm not going to put math on anyone but me
And I'm not doing it
Atra has agreed to donate us the 0.2 dev hours
Look before I bother doing anything else I need to actually play the game again
And playing the game is less interesting than trying to convince y'all to do stuff
That worked. So I guess it's hardcoded to attempt to find a tilesheet with the same name plus "Front"?
Yep that's just how it works
Alright. Thank you.
Time to assign the JIRA ticket to atra
I still need a bit of your help. I made a door that I want to appear on a road in town. My AddWarp is at 8 54. I created a 1×2 door called “Town_Door”, but I can’t see it in-game. What am I missing? Thanks.
shouldnt your edit map where you add it to the map has the target of town and not...whatever that is you have?
I’m going to try. I think what’s confusing me is this: we agree that having another TMX file called “Town” won’t cause a conflict with the real map called Town, right?
youre doing editmap and not a load so its like you have a cutout you slap on a map to change that area
so if coords and the other stuff are right it should work if you put the right target map
good luck :3 i cant help more than that, gotta get to bed since ive early shift
ty for your reply, but content patcher is still annoying me. I did install the Tilesheetinator plugin though. [Content Patcher] Unhandled exception applying patch: Teleport > Town Door.
StardewModdingAPI.Framework.Exceptions.SContentLoadException: Teleport loaded map 'assets/Maps/Town.tmx' with invalid tilesheet path '../../../../Content (unpacked)/Maps/spring_outdoorsTileSheet'. Tilesheet paths must be a relative path without directory climbing (../).
!tilesheetclimbing
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"/>.
The door still doesn’t show up lol, it’s driving me crazy. It’s the only thing I’m trying to do and I just can’t get it to work.
!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.
I decided to take a look at making a Farm Map design Tutorial (again) and was looking for my old notes, that I'm pretty sure i did a bunch of work on, but the last thing i can find was from 2021, has it really been 5 years? 
anyone,,
No, apparently I tried in 2021,2022,2023, and 2025, but only found my 2021 notes. I really need to clean up my PC/Files and reorg them.
people tend to have specialty focuses when it comes to modding, I for example have no idea how any of that works, and my closest guess would be to sprite replace a hat, which that image is probably too big for a hat sprite.
and generally when someone doesn't know how, they wont respond, so its not that you're being ignored its that the people currently here may not have the knowledge you're looking for. :p
oh i thought my message got lost, mb
the channel can very quickly fill up with a flood of "i don't know sorry" if everyone replied to things they didn't know :P
Hello, how are you all?
Is it possible to use a “flavored” item as an input for a machine and have it output another item? I’m not sure how to phrase it properly haha.
For example, an item like this:
"DriedFlower.Displayname": "Dried {0} Flowers"
Can that be part of a machine rule, but not for all “Dried {0} Flowers” but only a specific one, for example “Dried Blue Jazz Flowers”?
its okay, its a common misconception, which is why i mention it.
also people tend to get lost in working on stuff or only work in the mood or on certain times/days and so sometimes re-asking is fine, so long as its not often enough to annoy people (which varies).
Third victory! I know it wasn’t a big deal, but now I have the basics and the right GitHub links to keep going. Thanks guys for your links and tips!
are you reading through the documentation? https://github.com/Floogen/FashionSense/wiki/Creating-a-Hat-Content-Pack
i didn't know there was one
how else would fs pack makers understand how to utilize it 
magic
I have made hats with content patcher - and have PEEKED at the idea of fashion sense
[[Modding:Context tags]] every flavored item has a tag for that flavor (starts with preserved_sheet_index)
one day I will figure out why the Fashion Sense thing I made can't be layered with other accessories without part of it changing color, or why setting it to not be colorable messes up part of it. But nobody ever knows why when I ask so
my shoulder rat shall remain caged
in those situations i tend to remake the items
I have redone it so many ways that I don't know how anything works anymore, the nose and feet just turn dark brown if I layer accessories no matter what
and with some changes they vanished
Thanks, Selph. I’ll check the link 😁 👍
There is a level of "I am not familiar with the workings of this and I am getting desperate" where you just start changing things that could maybe in some universe be related
and I got there
that i can totally understand lol
hopefully you get it figured out because ur rat is adorbs 
He works great when he's not layered with any other accessory...
sorry for ping -- testing this on my own didn't result in anything happening. if you'd be comfortable posting your pack someplace i could maybe take a look?
I’m trying to understand how some modders use tilesheets, but I’m confused. I tried opening the Tiled Lighthouse and several others. It’s impossible to find the images. They appear in-game, but I can’t see them anywhere in the mod folder. Did I miss something?
tiled only recognises the tilesheets on properly set up maps if they’re in the same folder as the map, but I made an extension to get around that
!tilesheetinator
You can use the Tilesheetinator tiled extension to create Stardew Valley maps that work in-game without having to copy vanilla and modded tilesheets back-and-forth, rename files with a . in front of their name, edit maps only in the unpacked content folder or make symlink workarounds.
See the mod page for full installation and use instructions.
(also hi Draylon, long time no see, idk if you were around when I first published this haha)
When and if I do get around to making my mapping tutorial its probably going to include stuff that is years out of date and doing stuff manually that has tools to shortcut now that i wasnt around for.
I was not, also wassup 
meroe, with the tilesheetinator extension you have to add the ES tilesheer folder via the extension
I’ve installed your extension, it looks great!! but I think I don’t know how to use it yet (lol).
ctrl+shift+,
have you set up the paths yet? in the menu there are two options for it, one for the vanilla unpack (that you have to set) and one for mods like east scarp like nic said
helloooo what would T² mean in this context?
after that, ctrl+. will fix any map
the 2 is just for a footnote
https://drive.google.com/file/d/1RFqR0jkOC4kTga4RmuBuTBSZpu4IyhZu/view?usp=sharing I haven't messed with it in a while, but I've done a playthrough with it, so I know it works fine other than that
iirc it’s that you can use any value and it counts as True
OOH okay, so just if it's included it is true
Well you need a value, and people generally use T
you still have to have a value after it
ohh
(honestly, i feel like i and many other modders get/got confused by the 2 superscript, so i wonder if there would be value in editing the wiki)
okay so i still need something after the key
I did get confused by that too
I'm in the right way ?
if the footnote was at the top rather than the foot i feel like it'd be a lot less confusing
yes that’s right! just select east scarp’s tilesheets folder using “browse”
yes, except for the east scarp folder, you would want the option beneath what you have highlighted--manage stardew tilesheet mods
(they have it open haha)
kfsfhs i didn't even see
Autofeed is the name of the property box, and T is what goes in it. somtimes it needs to be T, sometimes it needs to be not empty, so dont just put a F in there for false, that would be logical, but also wrong. I remember there being a few things like that in the property settings that are odd.
i'll actually step off and let you do the tilesheetinator walkthrough as the expert lol
no please don’t rely on my memory 😭
though they've done wonders in standardizing stuff since i started modding, so some of my advice may just be old fogey talking.
okay more questions- is there a way to add a custom passing out rescue thing to a location?
yes
ooh!
i don't remember the details right now but wiki may have it
People often expect you to be the expert of your own mods, but its often a dedicated user that has way more knowledge about it, at least thats how i feel about it sometimes.
i use it in VMV (just tested it myself. Entirely on purpose. I did mean to be killed by my own monsters.)
especially if you havent touched it in months/years
-# I don’t even make maps I haven’t touched tiled in months
dwarf will (hopefully) now pillage you of your gems if you pass out in the mine location at low hearts 
it's in location context
hum
you can do custom rescue. Custom loss of item would require C# however i believe
you can do an event when dwarf rescue you and then you have the normal item loss and you can imply dwarf took those
PERFECT tysm!
but you can't select what you lose currently with game commands
okay i was going to look at editing the wiki but unfortunately i don't know wiki markup well enough lol
pillaging time 
you can do no loss/chance of loss, basically
glad you can deal with that limitation 🙂
thanks for helping me, I appreciate. what should i do ?
1.6.16 request unlocked 
its ironic that some of my more popular mods are me just branching out, trying something new, exhausting myself over it, finding out i dont like doing that, and leaving it and never updating it.
remind me about this in 18 hours
you know what rhymes with jerkface? head_in_the_cl0uds. head_in_the_cl0uds does. but fine i'll remind you anyway... (#7016122) (18h | <t:1767462588>)
love youuu
I am hopefully doing good at my modding. I am currently using a placeholder sprite and portrait and working on placeholder dialogue(which I will replace with actual dialogue, sprites, and portrait later).
FTM's 2.0 trigger stuff will have inventory removal that would work for passout stuff (with the right conditions, ig?), but it's still not ready for beta yet, december was a mess here 
i would like to unpack tilesheets like "lemurfurniture"
2 is out? 
not quite, I'll be beta-ing it for a bit after I finish the monster spawn/remove part
The benefits and downsides of vanishing for a year, lots of new tools comes out, but also... lots of new tools came out.
you should find the folder that contains those tilesheet PNGs and then click "select this folder" once you find it
still needs some more commands, but yeah, I've got a working "custom action" thing that's basically expanded trigger actions
nice!
i hope things are better now
That’s exactly the problem. I can’t find that PNG. It’s not like in other mods.
here's one of the simpler format examples, draylon, just spawning forage once per second 
have you looked in those subfolders? i agree that large mods can have confusing folder structure sometimes
it's better, yeah
still dealing with some family problems going forward, but it's mostly under control
thats really cool, and its got my mind spinning with ideas it unlocks. 
weird, I don’t know where ES stores its tilesheets tbh, let me have a look
You can put a tilesheet basically anywhere in a mod as long as you load it right. Be hard to find, but you hypothetically could
expansion mods often kind of have to compartmentalize during development, but for most other mods its overkill.
East Scarp has its tilesheets in East Scarp Core/Assets/Tilesheets
it’s in East Scarp Core > assets > Tilesheets
oops, beaten to it 
Well, I do it because it sorts all my different dang recolor options
Does your mod replace them automatically, or do I need to add the new one and delete the old one? (Really sorry for these annoying beginner questions.)
that is also fair, its also why i really dont like making my own tiles, even though i'm actually not bad at it, i dont want to contact 15 recolor artists to get permission to make my mod compatible.
don’t worry about the questions! it’s all automatic once set up you just do ctrl+. and it should fix the map
it doesn’t actually change the map file in any way, just loads the missing tilesheets
Making stuff to match a recolor generally doesn't involve that much tracking down permissions.
Recolor guys rarely say "No you can't make your stuff a color that fits in with my stuff"
perfect, close the popup window and see if ctrl+. works
Compatibility is actually the main reason I make Farms with base assets, cuz noone touches the farm map, so i dont have to worry about another mod intruding, and if i only use base game assets, I dont have to worry about recolors.
It worked perfectly for LeMurfurniture! Very nice, very nice! What about the others? Maybe they come from the base game?
yes, so there’s another option in the Map menu called “Set Up Vanilla Maps” or something like that
use it to select your unpacked maps folder
While true, I still often feel i should ask, and some recolor authors actually don't want you to gain DP if you're working with their recolor even as a compatibility thing (I've had some directly tell me no on DP). Some Authors have also left the scene entirely so its not possible to get permission really.
Also I hate having to go back and do more compatability or fixes, so when a new recolor comes out or I missed one I get requests, and If i do it once, it will be expected that I always do it.
Mostly I mod to paint in tiled, rather than actually make a mod, so my motivation is a bit odd in that respect, I only really make them mods so people have the option to use them, otherwise they just sit there, its why some of my maps are too large to practically use, or very difficult to use or design for.
I think I would just not support those recolors that think they own a shade of blue tbh
yeah, supporting recolors is already so much of a pain in the ass, if i meet any resistance along the way i'm just not gonna do it
i just wanted sand/grass tiles 😭
Fair enough, unfortunately If i vaguely remember correctly, the one that said that was one of the more popular recolors (at least at the time, not sure whats even out there and updated now), which means users are going to ask why not if you include the others but not it, then you got explain or ignore in one way or another, which either way invites drama (though you can mitigate it a bit). So I just avoid the entire thing.
Can someone gimme a simple explanation of what this means? Cuz all I see from it is red wall of death that means I did something wrong or missed something and idk what.
At least there is significantly less red text than the last time I tried to boot it up though.
line 9 has a grammatical error in the phrasing of the code bits
For vanilla mods, I’m still struggling a bit. How do you do it for townInterior_2, for example? Thanks a lot.
Content (unpacked) > Maps
YESSSS
!json not only is this site handy for sharing code, but if you select Content Patcher it can parse your code for you and tell you where there are errors. if you see something like "unexpected character: {. on line 9, then you should look at the line above and see if you're missing a bracket/comma/etc
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.
Very good mod, it was really well thought out. Earlier I couldn’t do anything, now I know a lot of things. Thanks again.
How can i create a custom sound for a farm animal?
[[Modding:Audio]] to add/edit audio and [[Modding:Animal_data]] for editing the farm animal
aww bot cmon
[[Modding:Audio]]
[[Modding:Animal_data]]
I mean the actual audio file is there some way to make one?
i think audacity is pretty good from what i hear?
Do u know how to use audacity or whatever
Nope
I'm gonna take a look
WAIT A SEC- what if i customize the PassOutMail letter to have a trigger action that takes items?!
is there an action to remove items from inventory
i believe so, though i dont know how flexible it is in usage cases
it's not the neatest idea but it works
yeah i wonder if it throws an error or smth if it doesn't find the item
or if you try to remove 79 blueberries but the farmer only has 78
i find that often times when it comes to stardew valley, neat is not how you end up doing things to make an idea work.
hm, i could add the needed gems to the query to that specific letter
You should add ores too 👀

i don't think it takes an item query, but i wonder if a) that would work b) you could request that in 1.6.16. i'd need someone more knowledgeable to put in their 2 cents

Ok but isn't adding the item u need then taking it away like
Zero sum
also the mining candy, if they have any
oh, not adding it
If I remember correctly, the removal just doesn’t happen in that case since, well, there’s nothing to remove.
eh, at that point its really just "test it and see what happens" to see if it works without a defined number or something.
hm okay okay
ah okay that's tidy
afaik, the base game options are specific to item IDs, though you could condition it on the GSQ player_has_item first
(Please fact check me. It’s been a while and it’s 1:30 AM over here, so I may very well be confidently incorrect.)
better try to keep it from taking quest items and tools 
go to bed 
that would suck so much to lose like one of each gem or smth lol
oh they're gonna take allll your tools 
(it is impossible lol)
no, add an easter egg, that if you faint with a copper pick, he gets so insulted that he takes it and he gives you an iron one.
if you can nest "if" stuff, you could do a whole silly tree of removals in order, but yeah, it's all a bit awkard 
i gotta make my dwarf mischeif portrait into a gif or something to use here..
(FTM has an "item match data" setup, so its future item removal stuff could remove X things by category or whatever, but yeah, not ready yet)
ooooh..
time to scour framework mods so i don't gotta make some inane amalgamation of tokens 
but whyyyy
they're just an icon let it slide
y'know i didnt know for the longest time that you can bomb his rocks, i always assumed it was pick strength locked, and last time I said this some people were like, "YOU CAN USE A PICK?" while i was like "YOU CAN USE A BOMB?"
PFFT-
yeah this is something where i’m like “wow i think i’d actually rarher do this in C#” lol
ah, unfortunately i cannot C#
not with that attitude
no please i've scope creeped enough
i have a family
and cats
most importantly the cats
I have like 3 unfinished projects cuz of scope creep
a simple one would probably just be like
condition: if you have {{random gem id, dynamic token}}
action: remove one {{random gem id, dynamic token}}
used to be more, but last time I modded I made a concerted effort to finish some.
ooh okay, perfect :)
Hence Forever Falls Farm, the Gargantuan farm map with like 7? 9? sub-maps.
(or ig you could just inline that with seeded random, rather than dynamic) (w/e works)
...what.
i'm still fairly new-
I think its the only Large scope creep map I've actually finished https://www.nexusmods.com/stardewvalley/mods/18317
9 submaps.
a dynamic token probably wouldn't be necessary, just a normal random token, like
{{Random: (O)16, (O)18 |key=RandomGemToSteal}}
in both the condition and action
(with actual gem IDs, I don't remember 'em)
...okayy..
info on random here, if you're not familiar with the key stuff; it basically just makes them pick the same result each day
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/tokens.md#randomization
I still have Cave farm, which would have to be build from the ground up cuz it was built using frameworks that predated Content Patcher that then died out.
Volcano farm, which was code heavy, but I could probably repurpose into something simpler, but it still has a lot of complications, and I was working on a forest expansion and NPC mod, though I only got baby steps into that one
there might be others i'm forgetting.
okay tysm- i am unfortunately quite stupid so i appreciate the help 
OOHHHH i got tysm!!!
I don't know if this is the right place, but hello beautiful people, I am making a mod and I am learning the events. Currently, I got stuck on question and fork1. I'm leaving the mini event I made so that someone can explain what I did wrong. {
"LogName": "Custom Events in Town",
"Action": "EditData",
"Target": "Data/Events/Town",
"Entries": {
"MyEvent_1766335141440/f jeny 2/t 600 2000/w sunny": "continue/26 66/farmer 26 66 1 jeny 32 66 2/pause 1000/faceDirection jeny 3/speak jeny "{{i18n:jeny.Event.MyEvent_1766335141440.2}}"/pause 1000/emote jeny 40/speak jeny "{{i18n:jeny.Event.MyEvent_1766335141440.5}}"/pause 3000/move jeny 0 3 3/pause 3000/faceDirection jeny 2/emote jeny 16/speak jeny "{{i18n:jeny.Event.MyEvent_1766335141440.11}}"/pause 1000/speak jeny "{{i18n:jeny.Event.MyEvent_1766335141440.13}}"/question fork1 "{{i18n:jeny.Event.MyEvent_1766335141440.14}}"/emote jeny 16/speak jeny "{{i18n:jeny.Event.MyEvent_1766335141440.16}}"/pause 1000/end",
"fork1": "speak jeny "{{i18n:jeny.Event.MyEvent_1766335141440.fork1.0}}"/emote jeny 28/pause 3000/speak jeny "{{i18n:jeny.Event.MyEvent_1766335141440.fork1.3}}"/friendship jeny -50/end"
}
}
I am like 90% sure my cats think I am insane(I keep yelling at my laptop).
you're not stupid, you just don't know, there is a difference :p. a lot of this stuff is varying in levels of intuitivism. as a side note: I'm halfway surprised that word doesn't have red under it.
i believe people usually find using quickQuestion and switchEvent more straightforward, if that would be easier to understand
what error are you seeing?
was poking at an example; I'm not sure how you'd detect pass-out off-hand, but just as a random demo, this would remove a random item ID each day
"Action": "EditData",
"Target": "Data/TriggerActions",
"Entries": {
"{{ModId}}_Test": {
"Id": "{{ModId}}_Test",
"Trigger": "DayStarted",
"Condition": "PLAYER_HAS_ITEM Current {{Random: (O)16, (O)18 |key=RandomGemToSteal}} 1", /* only do this if the player has random gem */
"Actions": [
"RemoveItem {{Random: (O)16, (O)18 |key=RandomGemToSteal}} 1", /* remove that same random gem */
]
}
}```
since those 2 randoms share a key, they both roll the same thing as each other every time
(ig those IDs are horseradish and daffodil, now that i check
)
According to me, the error is that when I select any of the options, event 1 continues, and as far as I understand, if I select answer two, it should jump to fork1 and continue a different event, or am I wrong?
aaa tysm!!!
so would i just be able to do %action (enter trigger action key)?
it should work in that format too, but (if it does error about missing items) you'd want to get the condition in there with "IF" or something
its a bit difficult for me to parse your event code, but yes, that’s how fork is supposed to work. i think you might be missing an argument; let me check the wiki rq
oh, tbc I think %action just does an action, not a whole trigger entry? I'm not sure offhand
lemme se
i feel this so much. I decided that to compensate for the removal of roommate/dating to my npc, I plan to add 2 other npcs 
that specifically runs one action, so it'd do the "Actions" thing in my example, like %action RemoveItem {{Random: (O)16, (O)18 |key=RandomGemToSteal}} 1 %%
gotcha gotcha, tysm!!!
but yeah, I'm not sure if you can use a condition in there, so it might be a bit weird to check for the item
you can for the mail!
should work with that then, yeah
I was just vaguely remembering Button say "if" breaks in some context, but that was probably events
time to go through the item ID list and find stuff that dwarf would yoink..
my phone is cutting it off but yes you need the fork command
food, ofc
a lot of the original gems are like, 66/68/70/etc in objects
that was supposed to be in reply to this
i have them partially memorized by now-
hm, could i do this multiple times? so that dwarf might take multiple items from multiple pools?
i think so..
should be able to, yeah
YES
i think you’d need a new key though
Isn't there an event command for removing an object
Like
That one Jodi event uses it
mhm! but this is for mail
Sup Atra
Can someone please explain to me how me trying to befriend Harvey so I can write a line for him turned into three hours of trying to make a good-looking farm? lol
Can someone please tell me a little bit about him? I know he's scared of heights and wants to fly, but other than that I honestly don't know.
nest tokens?
like put a token in a token
I can't figure out the error. I don't know if I'm doing something wrong or putting something in incorrectly. Well, I give up. Question and Fork don't want to help me.
Oh, okay, thank you. Sorry I can't help in that regard
a lot of the npcs.... actually dont have a lot of defined identity, your best bet is to read his dialogue that he can say on different days/festivals and watch his events.
Right, okay. I'll go do that, thank you.
i’m finishing up dinner rn but if you give me 5 i can send you an example
or you can look into quick question and switch event instead
oh yeah, the general consensus is that question fork belongs in the depths of hell 
yes, yes they do
I LOVE quickquestion
Also, uh, no reason I'm asking but, like, can you make a machine that accepts animals as input?
https://smapi.io/json/content-patcher/d513f5963fa2414290112ae7390a438c take a look at this. note that i didn't have best practices, and the key for your forked event should also be prefixed with your ModId.
without C#
caracal what- /lh
input chicken=get chicken nuggets
specifically, question fork0 \"{{i18n:charleshearts7.1}}\"/fork leaveCharlesAlone/speak CharlesRowland says "if you choose option 1 in the question, then go to the fork leaveCharlesAlone. if you choose option 2, continue onto the speak command"
no, machines take items. animals are (i think) NPCs under the hood
Animal husbandry can get you meat from your animals if that's what you're after
...okay this is a fucking abonmidation BUT- would this work
%action RemoveItem (O){{Random: 60, 62, 64, 66, 68, 70, 72, 78, 80, 82, 84, 86, 426, |key=YOINK_1}} 1 %%
%action RemoveItem (O){{Random: 125, 166, 184, 186, 436, 438, 554, 607, 749, 773, Book_Void Book_Artifact |key=YOINK_2}} 1 %%
%action RemoveItem (O){{Random: 96 97 98 99 121 122 158 |key=YOINK_3}} 1 %%
Yeah I usually play with that mod for that reason XD
Also g'morning everybody
g'mornin!
I spent all night writing 9 events in one sitting and crashed at like noon lol
morning! (8pm for me LOL)
ah, the life of the author /hj
it just kinda popped into my head as an idea but it's not worth adding to my to-do list rn lol
I think the most I've written in a 12 hour period was like, 10 maybe 11 and I slept for almost 2 days afterwards
Blitzed-through-things-and-then-crashed brofist
Hey on the bright side y'all might be getting yet another penny expansion whenever I get around to testing whatever my brain came up with
i'm still seeing coordinates and tiny map icons every time I close my eyes
😭
for me my Blitzed-through-things-and-then-crashed is usually 1 event max during 4 hours-
I don't love penny in vanilla but if mods can get me to love Alex I'll keep trying until they make me love Penny too
I think I started working on it at 3 and crashed at 2 AM?
my brain is full of "make secret note that triggers conversation topic, write lines for note and topic, then trigger mail from conversation topic that includes gift, then write that mail
and stringsfrommaps
the scope is creeping
the stickbug is approaching
I will never release Kent or Alex or any other of my other character expansions bc I will just scope creep Shane into oblivion
My modding days are usually like 8-12 hrs with outliers being like 16 hrs, but I'm also doing mapping, which isn't brain intensive (at least to me).
I find mapping (like, making maps in tiled) for the most part pretty soothing
sprites for the most part - also soothing
i shall feed the enternal void that is scope creep with all of my mind and soul, and i shall do so gladly
Is there a way to find out what mail is waiting for you in the mailbox? This is because when a mail is broken, you get the mail icon, but when you click on the box you get nothing, and its super-hard to find out what mail is bugged.
When I'm on, I'm on. Gotta take advantage of that focus and energy...
speaking of BYEEE I GOTTA DO STUFF
Currently I've found its loaded in your savefile under "MailForTomorrow" or something similar, but its hard to instruct people reporting bugs to dig through their save file.
their log would have trigger actions that were applied in trace
you can filter by your mod id which would narrow it down
... not necessarily? Not all mail is sent via triggeractions
well you would know better than me how you sent mail :P it would also show events seen if you sent it via event
(it would narrow it down a bit, but there's still cooking recipes, events, special order mail). Would it be able to tell you which triggeractions fired that day too? I'm not sure... what I do know is that the savefile has a <mailforTomorrow /> component.
have you tried lookup anything on the farmer? long shot but it might work
oh you want a command for the log 
I haven't tried it because this isn't my bug report, but it is something I've tried to solve for a while
and a log command would be most excellent/easiest.
or event lookup on the mailbox I guess!
yeah, that format should be fine if you're just aiming for (O) items anyway
it happens when you have situations like: have removed the mod that has the letter in it (but the mail has already been loaded into the savefile), or there's a typo in the mail name.
perfect, again tysm!!
(and it just doesn't exist for whatever reason)
it might be this code you need to look at, actually: <mailbox><string>spring_19_1</string></mailbox>
that one shows what's in the mailbox, right?
EMP has a console command that lists mail in a named category* or all of them, if that helps check
still a bit inconvenient to get a random user to use, though
(save-wise i'm not sure what's in which xml tag)
that's useful though! I can make use of that for the times this happens to me personally! What's the console command?
emp listmailflags [type]
they're listed here, but emp help explains a bit better, I should expand this later
https://github.com/Esca-MMC/EscasModdingPlugins/blob/master/docs/emp-modding-guide.md#console-commands
EMP ListMailFlags
Aliases: Flag, Flags, ListFlags, ListMail, Mail, MailFlags
Format: EMP ListMailFlags [MailType]
Example: EMP ListMailFlags Received
Lists all mail flags set for the current local player.
- [MailType]: The category of mail flags to list. Case-insensitive.
Optional. If no mail type is included, all mail types will be listed.
Some mail flags might be set with multiple types at the same time.
Mail types:
- Mailbox or M: Lists mail flags for unread letters in the player's mailbox.
- Received or R: Lists mail flags for letters the player has read, and flags that aren't related to mailbox letters.
- Tomorrow or T: Lists mail flags that the player will receive tomorrow.```
so emp listmailflags mailbox should show things currently in their inbox, as far as I know
e.g.
[Esca's Modding Plugins (EMP)] Mail flags in "Mailbox":
spring_2_1```
awwww dwarf 
Can I put multiple actors in one warp? I want them to show up together
DrawAfterShirt
doesn't draw after shirt
nope, but you could use beginSimultaneousCommand!
or just put continue after each warp to make them effectively simultaneous
oh ffs is it sleeves
Thank you, I'm gonna try that
Harvey is such a sweet dork.
idk why but i sometimes get him confused with luigi
Now that you mention it...

I was missing a single quotation mark. I'm outta the building(endlessly reading and rereading my content json)!
WOOO 
i'm back with stupid questions again,,, sorry guys,,,






hat pls

