#making-mods-general
1 messages · Page 347 of 1
I mean for the worldmap
Yes...that's what the {{TargetWithoutPath}} is for. It does both of them.
If you have just changed your FromFile to "FromFile": "Icon.png" you have done it wrong.
No worries I did that part right I think
Okay yup, good work ^_^
Did you check your video before uploading it? Like Leroy, I'm just seeing you standing on your farm not moving.
(Stardew can be such a pain to take video of. I always have to go into windowed mode.)
The recording broke
Yeah...
Is there an example for the worldmap icon? Not too familiar with stardew valley files.
Yup, LooseSprites/Farm_ranching_map.png
bruh lol
I... don't think i can make one.
Why not?
here it is basically both warp dont work, everything is on a single map file tho
Hm. My thought is how do you tell the game which cabin to warp to?
Well, the map is tinier than the standard farm...
Put lots of extra forest around it then
Okay...
Hm, there are those little intra-farm warp thingies aren't there
intra what?
Intra-farm. As in it warps you to another place within the same map. (Intra = "within"). This is not related to your thing though, it's me thinking about Aki's thing.
DH made an intra-instanced-building warp proof of concept but I can't remember if he was reinventing the wheel or not.
What do your warps look like?
I also wonder how this would work seeing as it’s an instanced building
can cabins get the cellar upgrade?
it's a custom
the only thing that is vanilla is the exterior
yeah ik, I was wondering because you may be able to look at the vanilla map to see how it handles it
but cellars aren’t intramap anyway
they are also instanced though, so worth taking a look
So you're trying a map property and a tile object property?
Chu was of the opinion that intra-map warps in instanced locations works so I'm trying to figure out if they have to be done a certain way or if they were just wrong lol
you guys got me to turn on my pc to take a look at unpacked files now 
ugh i accidentally turned off the snapping for the objects layer on tiled and now i dont remember how to put it back 😭
Layer menu up top?
that just shows stuff like visibility and merging layers
yes, since i've seen it work, by the mod called "Oasis greenhouse"
wait what map asset is used for the cabins
farmhouse i think
But that's a greenhouse. Greenhouses are not instanced.
then why do your warps say Cabin?
i dunno if it works the same on like, the cabins and stuff
Ah, View -> Snapping
cause the map is called cabin, is that wrong?
aha, i managed to find it just before you sent the message lol
😔 sigh. my wip exterior map is done, but i need to now make the interior...
everything works just having issues with warps
what makes you think the map name is Cabin? /gen
Why is there a Cave in the bottom of the Worldmap ranch file?
At the very least it would need to be yourmodid_Cabin, wouldn't it? Since that's the map you've specified as the indoor map?
regardless, it’s instanced so it’s more complicated than that iirc
unless it isn’t, honestly idk atp 
Because that's where the farm cave is on that map.
And another thing as well, I have no clue how to make this fit in correctly...
Creative licence
ill try this, thanks
still the same lol, here is the log: https://smapi.io/log/4183ecf559984fb2a4c08b8553ecc3b7
Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home Single Language, with 4 C# mods and 1 content packs.
I am starting to think it may not be possible (unless DH has already added his POC to MEEP)
wait, why did you change the map type from cabin to decoratable location
That's the best I can come up with...I am bad at making a mountain.
I don't think decoratable locations are inherently instanced
try changing it back to cabin
if you don't mind me asking, what were you referencing to make the changes to the json for your mod? just so we can be on the same page because I'm struggling to figure out where certain decisions came from
I think it's pretty good!
If you say so... Guess it's better than what Harvest Moon tried to do.
And question again. I am not sure what this is.
Do I need to add a Display name?
This means that the name of the farm will be used in the display name, which is what you want
game file, Data/Buildings, the cabin is there, and for the upgrade function i just copied how the barn and coop does it
as for why i changed it to be a decoratable location is because in the main game you cant really change anything or decorate if you are not playing in multiplayer mode or with any other player
can you try changing it back, just to see if it fixes it? if it does, we can try a few other things
Do I need to change anything inside the Brackets? Maybe FarmName?
nope, keep as is
the brackets in this specific case mean it's a special thing the game will change into whatever it needs to be
if changing it back to cabin works, you could try changing it to StardewValley.Shed, which should be both instanced and decoratable afaik
Thanks.
still not working
did you try it with cabin, or just with shed?
and can we see the new log?
(and new json since there have been a few changes now)
Is there documentation for more lines like these? Maybe DailyBranches?
daily branches?
I can't find them on modding maps or modding farmdata
Like uh
spawning the branches
you can axe
oh, that's usually referred to as debris
so you can look for that maybe?
but iirc it's done via a tile on the paths layer
The issue is I don't know what page would have it...
modding maps would be my first bet
Yeah i did that one too.
sadly neither of them have any documentation about the MinDaily or MaxDaily
yep still don't work
it's on the location or location contexts
I'm not convinced that's a thing you can do
can you send what I asked for then please?
there's nothing like this on either one of these documentation pages.
Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home Single Language, with 4 C# mods and 1 content packs.
it's StardewValley.Shed, not StardewValley.Locations.Shed
My folder is so cluttered as well... I don't even know what I can safely delete... Or if I screwed it up...
there isn't anything about that really
:pepesad:
It's possible to do for weeds atleast.
if you are using like vanilla textures for the map tiles, you can like change it also to use the game textures
yup, but it isn't for debris.
Aki, can we see a log from you using the StardewValley.Locations.Cabin type, please?
it's the same even with the change, ill try adding something to the NonInstancedIndoorLocation, i just dont know what values it accepts
wait let me change it back to that
leave that null, it's null for vanilla cabins too.
there no error, it overrides the custom map
can we see the log, please?
Log(StardewValley.Locations.Cabin): https://smapi.io/log/8c3b257a9dd140d281a245dd857c2fea
Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home Single Language, with 4 C# mods and 1 content packs.
yeah i think ill just stick to my old map lol, thanks for the help everyone
im glad that i didn't delete it lol
Hi,
I'm back again with yet another modding question (I know, I ask for help way too much).
This time - Appearances. I had a code that changed my NPC's clothes using Load and EditImage. But that's not ideal.
So, finally, I tried to rewrite the code to use Appearances (that would act the same), and as expected, I did something wrong (again). Neither the sprites nor the portraits are loading. Patch summary and patch export say that the appearance code block is correctly loaded into the game, which means that there is a problem with either their application or with the load commands.
Therefore, I'd like to ask for help with solving and fixing my problem of not loading the sprites and portraits of my NPCs.
SMAPI log: https://smapi.io/log/4870d6361fb0459c994d454cdddc1c37
Appearances JSON: https://smapi.io/json/content-patcher/08a01bd948b94d2c8dcd6f9c899393cc
EditImage JSON: https://smapi.io/json/content-patcher/7935db240ecd4a7195ba28ff169bdbc4
Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Pro, with 81 C# mods and 33 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
First up, is there a reason that you're editing her Data/Characters entry for this? She's your own NPC so you can just put it all in the entry when you first create it.
No other than dividing proper code things to their proper files and also because it I somehow broke the whole patch, the NPC would still load.
Secondly, can you do a patch export on Data/Characters so we can see if your Appearance data was actually added?
Here it is
And yes, they are added there
IsIslandAttire means that it will only be used on Ginger Island
So you have effectively denied Eleanor any clothing on the mainland 
OH, my reading is being stupid again! 
Let's try it again...
Why are you doing a mix of using Appearance and EditImage?
The point of using Appearance is to remove the need for EditImage except for overlays.
These 2 files aren't applied at the same time.
That EditImage is just an old code copy that even isn't loaded into the game.
Ah, I see
Your seasonal stuff is still strange though
I'd recommend avoiding a conditional load and controlling it using the Appearance system instead so the textures are always present in the game's content pipeline.
Oh, so just load all files at all times and then use the ones I want to using the Appearance system, right?
Yeah
Looks like you saved me again, because now it works! 
Now, to solve all the conditions so it'll work like the old method.
How do I specify a part of Appearance code block to apply only if a CP config setting is turned to a specified value?
A program that know formating, I guess
!vsc
When creating content mods, it's useful to have a program that will check the validity of your json for you. We tend to recommend either VSCode https://code.visualstudio.com/download or notepad++ https://notepad-plus-plus.org/downloads/
These, for example
Two options: conditional patches or using the config option in a GSQ if we can find a way to get it into the condition field as a bool.
ah
What modding requirement?
Oh, something on Nexus?
Oh! Forget my words, then. I thought it as a UI for modding
Yeah no that's not anything to do with a text editor
It's asking if your mod includes a reshade preset or similar
Yours definitely does not
This is so stressful. I have zero good header images rip
I really don't think we can set it as a bool since it has 3 values. Respectively it is possible to have a bool for all 3 variants of that config, but... (huh, my C# learning awakes!)
I have a feeling that the first thing you're talking about will be much better and much simplier.
don't sweat it too much, nexus will throw any image through a grinder and make it look shit anyway
I took like a really bad zoomed out photo of my map for the banner and nexus ate it anyways
lol okay
No, not set the config itself to a bool. Write the check for it so it resolves as a bool. Something like the following except I am totally inventing this formatting for the purposes of explaining what I mean: "Condition": "{{Outfits |contains seasonal: true}}"
My knowledge that you can do funky stuff with CP tokens far surpasses my ability to know how to do said funky things. SinZ is always giving examples of ways you can use them that blow my mind.
Oh right! I tried something similar but ended up with an error.
I'm going to try to figure out if it's actually possible. You should probably work on setting it up with the conditional patches approach for when I inevitably fail xD
Oh yeah we could just use dynamic tokens
OK, feel free to ping me with any results or questions (though I'll probably have questions to you that you to me
)
Oh yeah, that should be easy, what an idea!
I forgot they were a thing lol
Well, DT's are set:
{
"Name": "DT_outfits",
"Value": "one look only (ORG)",
"When": {
"Outfits": "one look only (ORG)"
}
},
{
"Name": "DT_outfits",
"Value": "one look only",
"When": {
"Outfits": "one look only"
}
},
{
"Name": "DT_outfits",
"Value": "vanilla",
"When": {
"Outfits": "vanilla"
}
},
{
"Name": "DT_outfits",
"Value": "seasonal",
"When": {
"Outfits": "seasonal"
}
},
Humm ok I think this might work "Condition": "{{Outfits |contains=seasonal}}"
Those DTs won't work for use in the Condition field, they aren't bools
But try what I just wrote before thinking about DTs because if it works, you won't even need the DT because you can just check right inside the Condition field 
(Just do one. This is very experimental on my part due to thinking "this should work" but lacking the brainpower to actually reason through whether it will.)
OK!
Having this in JSON: https://smapi.io/json/content-patcher/2002b096bd4b451aab11b91b657b3a16#code.26
Something is terribly wrong right now... 💀
Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Pro, with 81 C# mods and 33 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
Oh, sorry! I duped the load patch!
Yup lol
Try no. 2...
Also
stop testing with your play setup!!!
Err... That is not my play setup, that is only way too big debug setup.
Play setup is 600+ mods.
And FYI, I have ES and RSV there because I have patches with them (scheduling)
Okay stop testing with so many unnecessary mods then :P
You cannot tell me that you require Tractor Mod to test an NPC xD
I won't, because I don't. It was just a really quick copy "what mod I see, that mod will be there, if it could ever be needed". And then there are some mistakes like this one...
Mods like DSV are there because then I can "look, say 'what on earth are they doing there with that code', and ask on Discord how to do that" 
I have a separate mods folder for things like that
Right now I have 5 different mods folders
Man I really hope I don't have any of the textures mismatched LMAO
I just checked a bunch of them but still
I have way too many full folder copies and I don't want to look for "why it is here, can I delete it"; but 1 game set, 2 modding sets, and 1 folder where VSC, Tiled, etc. is located.
I have separate folders in my testing game mod folder 😔 where i separate mods by testing groups. I have one with basic framework and utility mods, another with sve for specific things, and another for when i was testing recolors ... You get the idea 😅
hello
Either way, looks like this works!
i was wondering how to make my own NPC
!noc
!npc
Fuck
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.
-
Aviroen has put together a template that will allow you to easily create a romanceable NPC.
-
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!
I symlink between all my folders so I only have one copy of any mod
is it possible to make an NPC that can sell things?
Yeah, you just need them to have a shop
Don't worry, having to release a bugfix update immediately after publishing is practically a cheeto tradition
i wanna make heavenhold in Stardew as a portal
YEAHHH nice
This makes me feel at ease
Shops are on a completely different page on the wiki btw
Sometimes we discover them so quickly after publishing that there's not even any need for a version update because there have been zero downloads lol
[[Modding:Shops]]
Yesssss I am a champion!
You are, indeed!
You saved me in at least 15 different or same problems I asked here! (yeah, keeping track of it in my changelogs)
where to start when trying to mod? i wanna try lvl 1 so i can step to 100
Start with something very simple like replacing an NPC's portrait.
I am very happy that I've been able to help ^_^
hmm, ill try to look for tutorials
!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.
I think a good starting place is something like a mod to replace an image
It's simple, at least
We don't have a tutorial for something that simple but the example for how to use the Load action in the Content Patcher documentation shows how to do it. https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide.md#create-the-content-pack
But I linked you to the step by step guide to creating the mod, so once you do that part you can then scroll down and see how to replace Abigail's portrait with another image.
Now that I think about it, there is a lot of people asking for a 1-to-100 on modding Stardew, maybe there is something to do
I feel like it would be a little hard to come up with like... A comprehensive guide for all the levels
Also note that creating NPCs take a lot of time and effort, depending on how well fleshed-out you want your NPC to be.
Can I just drop all my files in one ZIP?
We have enough struggle just trying to keep the modding wiki up to date (a task we are woefully behind on) let alone trying to create comprehensive tutorials for every topic at every knowledge level.
Are they meant to be modules that players can choose between or is it one "replace everything" mod? The answer either way is that all the files should be in one zip, but if they're modules you should have a config set up so people can enable or disable each module.
laughs in manifest post-fix literally minutes after release
It's all in one content .json
The json itself is organized if I want to parse it later
Then you definitely want it to be in one zip or you will have most users not actually installing most of the mod.
Ok that was what I was going to do lol just making sure
Just to be clear, you've got a mod folder named [CP] DawsonsCoolRetextures (example name of course lol) and inside that you have a manifest.json, content.json, and assets folder? And inside the assets folder are all your texture files, possibly split into further subfolders?
@steel plaza I just tested, it does work with type StardewValley.Shed
congrats!
ok I have a. Silly question but I wanted to know if this was theoretically possible before I went further with this line of thought
I know typically npc locked doors (for bedrooms and stuff) are restricted for the 2 heart mark for friendship, but is it possible for me to restrict an area for a bit beyond that mark? Like say, 6-8 hearts?
conditional door I think?
Ooooo, cool! Thank you!
eh? so why does it now work with mine
btw how do i change the source in Tiled to use the game files tilesheet?
because you used the wrong id for sheds, like I already said
Put your map in the game's Unpacked content map folder while editing
🤔 i think entering a locked bedroom requires 4 hearts usually (not like that actually changes anything)
Really?
Am i going crazy
It’s two!
It’s been two since 1.5 at least
they're pretty desperate in pelican town
other than that I would need the log and json of the fixed version to know for sure
then after doing that?
Why did i think it was 4 hearts ..
also, are you building a new building each time you change something?
Maybe you got it confused for the flower dance? Since that one is four
Once you do that, Tiled will tell you that it can't find the tilesheets. Point it to the ones in the folder your map is now in.
flower dance is 3 iirc
we're all confused I see 
😔 this means ive gone several playthroughs raising hearts to 4 because i just assumed i couldn't enter their room???
For years 😭
That’s the biggest oof of the century im so sorry

Is there something interesting in NPCs' rooms?
npcs, usually
Speaking of NPC rooms
My weirdest pet peeve is not being able to have a bed against the left or right walls
It always has to be the wall at the top
Yeah I guess so. I always play with Custom Locks Updated so I always barge into their houses and rooms at all times of the day at whatever friendship level
It always confuses me when I forget to disable it while testing my own NPCs though lol
I GET THAT like. Let my bed be snug dammit
would that work if people dont have the content unpacked?
It's not something that your users should be doing. Only you.
As long as the vanilla tilesheets are in the same folder as the map while you're editing the map (whatever folder that is) but deleted before you publish it, the map will use the vanilla tilesheets in the game's content files when in game.
ohhh ok ok thanks thanks
(we have a brand new https://stardew.button.gay/tools/mapfixer for fixing tilesheet or other map problems; just note potential problems with Remove Empty TileData set to true/yes)
Map Fixer: Upload .tmx files to fix common map errors.
Anyway, sadly I'm still not done with the appearances code as I have a vanilla outfits config, and I have troubles making it to use winter outfit.
Log: https://smapi.io/log/c24009fa4cd84a86b215ebd0a30683db
JSON: https://smapi.io/json/content-patcher/06acb386c9b047b4a0ea240b0d429d6a
Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Pro, with 81 C# mods and 33 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
What if you try it using the the Season field instead of specifying the season in the Condition field?
I'm sorry, but I don't quite understand what exactly do you mean
OH, I didn't notice that one!
Instead of
"Condition": "{{Outfits |contains=vanilla}}, Season Winter"
have
"Condition": "{{Outfits |contains=vanilla}}",
"Season": "winter"
You're still using the season token in your load though??
Yeah, why?
The whole point of this was to remove that lol
good morning! just double checking what my research seems to say - no go on events during festival days?
You shouldn't have to conditionally load anything
So, how else would I load the proper .png files (spring.png,...)?
TargetWithoutPath is a friend if you have multiples (I do believe)
The reason I wanted you to avoid it was because if something goes strange and your condition doesn't get met at a time that it should, you might end up with a broken NPC who has no texture
wait, can i just like point it to the unpacked content? like the map are in the mods folder while it is pointing in the content unpacked textures, or does that now work?
So this:
{
"LogName": "Eleanor - NPCgraphics - default load command",
"Action": "Load",
"Priority": "High",
"Target": "Characters/{{ModId}}_default, Portraits/{{ModId}}_default, Characters/{{ModId}}_rain, Portraits/{{ModId}}_rain, Characters/{{ModId}}_marriage, Portraits/{{ModId}}_marriage, Characters/{{ModId}}_vanilla, Portraits/{{ModId}}_vanilla, Characters/{{ModId}}_seasonal, Portraits/{{ModId}}_seasonal",
"FromFile": "assets/NPC sprites and portraits/{{TargetPathOnly}}/{{Outfits}}/default.png"
},
{
"LogName": "Eleanor - NPCgraphics - default load command",
"Action": "Load",
"Priority": "High + 10",
"Target": "Characters/{{ModId}}_vanilla_winter, Portraits/{{ModId}}_vanilla_winter, Characters/{{ModId}}_seasonal, Portraits/{{ModId}}_seasonal",
"FromFile": "assets/NPC sprites and portraits/{{TargetPathOnly}}/{{Outfits}}/{{Season}}.png"
}```
is not correct?
No. It has to be in the SAME folder.
That is still conditional loading!!!!!
Because it is based on a config option that changes
And also a season that changes
Looks like my brain left me alone...
You can do it that way if you want to, but then there's no point in adding conditions to your Appearances. In fact, there's no point at all in using Appearances.
Yeah, I know, but I though Appearances are better than the way I was doing it before. So I want to use them, in the best way possible.
I'm just getting lost in them.
Right now, you're telling the game to put her in the exact same texture if it's raining or if it's not raining, if she's married or if she's not married, if it's a festival or if it's not a festival.
There's no point in having different Appearance entries that have the same texture fields
That's right, because it was and is this way. Or-
OH! That's the problem!
Because I use the same texture for them, I don't have to have them separate!
Halfway there!
So now I have only _default, _vanilla, _vanilla_winter and _season. I think I have to get rid of that _vanilla winter, or not?
I'm not quite sure what the differences are between your different outfit options. I think that default/vanilla are two different portrait styles but with the same outfit, while vanilla_winter is a winter outfit...but just for the vanilla portrait style? And then seasonal is...if she changes outfit in summer and fall but...which portrait style?
default = only one outfit for the whole time (2 different variants, but we don't care about that, for now...)
vanilla = that outfit above for spring, summer and fall, AND winter outfit for winter
seasonal = each season has its own outfit
rain/festival/marriage = default outfit
https://github.com/DenisSilent/Eleanor/tree/main/[CP] Eleanor/assets/NPC sprites and portraits
A look at the files might show it better
Okay so if there's no difference between default and vanilla except in winter, then you've got it the wrong way around. Yeet the vanilla entry and keep the vanilla_winter one. Because the vanilla entry is going to have the same result as the default one for three seasons of the year anyway.
OK, makes sense, it's gone
And you don't need that vanilla folder
Just move the winter outfit into whichever of the "one look only" folders it matches
Then I have to change the from file path in load patches
And then remove the default.png that's in the vanilla folder (along with removing the vanilla folder)
but OK
I can't tell the difference between your two one look only files so brb I am downloading them to look at them more closely
TL;DR
ORG is by me and direct portraits creator copy
NON-ORG is by a volunteer who made the sprites and edited the portraites
all seasonal variants are NON-ORG
So for your appearances entries you need:
- default, ORG
- default, NON-ORG
- summer
- fall
- winter
I think that's all
"Id": "{{ModId}}_default_ORG",
"Portrait": "Portraits/{{ModId}}_default_ORG",
"Sprite": "Characters/{{ModId}}_default_ORG",
"Precedence": 0, // priority
"Condition": "{{Outfits |contains=one look only (ORG)}}"
},
"{{ModId}}_default_NON-ORG": {
"Id": "{{ModId}}_default_NON-ORG",
"Portrait": "Portraits/{{ModId}}_default_NON-ORG",
"Sprite": "Characters/{{ModId}}_default_NON-ORG",
"Precedence": -11, // priority
"Condition": "{{Outfits |contains=one look only}}"
},
"{{ModId}}_summer": {
"Id": "{{ModId}}_summer",
"Portrait": "Portraits/{{ModId}}_summer",
"Sprite": "Characters/{{ModId}}_summer",
"Precedence": -20, // priority
"Condition": "ANY \"{{Outfits |contains=vanilla}}\" \"{{Outfits |contains=seasonal}}\"",
"Season": "summer"
},
"{{ModId}}_fall": {
"Id": "{{ModId}}_fall",
"Portrait": "Portraits/{{ModId}}_fall",
"Sprite": "Characters/{{ModId}}_fall",
"Precedence": 0, // priority
"Condition": "ANY \"{{Outfits |contains=vanilla}}\" \"{{Outfits |contains=seasonal}}\"",
"Season": "fall"
},
"{{ModId}}_winter": {
"Id": "{{ModId}}_winter",
"Portrait": "Portraits/{{ModId}}_winter",
"Sprite": "Characters/{{ModId}}_winter",
"Precedence": -11, // priority
"Condition": "ANY \"{{Outfits |contains=vanilla}}\" \"{{Outfits |contains=seasonal}}\"",
"Season": "winter"
}```
I *hope* it is better now.
Maybe the last condition is unnecessary.
OH, a spring outfit is missing (seasonal only), should I add it there?
Is the spring outfit not the same as the default? I assumed it was
It's not, but I would've done/thought the same thing
Ah ok yeah in that case you will need spring
Added
Now this setup will mean that she wears the same thing during rain, on festivals, when married, etc that she would on another day that meets the conditions. So if someone is using the seasonal outfits she'll go to a spring festival in her spring outfit etc.
You don't want to have your condition for the fall, spring, and summer ones having the vanilla option in them.
Oh! She should use the default one for festivals, rain and marriage, regardless of the config.
Oh yeah, my bad
Because if someone chooses vanilla, they should be getting the default NON-ORG outfit in spring, summer, and fall.
Then you will need to add those back in after all. Although why should she go to a winter festival in less clothing than she normally wears in winter?
Well, I'll say it in my internal lore that we don't know what/how many things she has under the clothes we can see.
And in the default ones, she looks more like someone connected to magic than in what she normally wears (I'd say).
(Just linking so you can see what I really have in my JSON right now: https://smapi.io/json/content-patcher/6b011c6cdc55476d9663f0b54b943004)
Your Appearance data looks okay
Your Loads are still wrong and I am going to explode xD
That's because I didn't touch them since the great appearance reformating. And please, don't!
Should I just make them "from schratch"?
It might be easier for you, but it's up to you.
If you rearrange them in the folders and rename them you can use just one Load patch with a FromFile of "FromFile": "assets/NPC sprites and portraits/{{TargetWithoutPath}}.png"
But as long as you remove that {{Outfits}} token and the {{Season}} token, you can Load them however you like.
I'm too uncool for {{TargetWithoutPath}} and I load all of my images separately because I can't stand to change my file naming convention.
Got that, confirmed.
I'd try to find a way to properly load them.
@steel plaza please ask first to DM people, and if you want someone to see your messages, just ping? anyway, as I already told you when you asked, the only way for me to tell what's wrong is if you send the json and log for the version where you use the shed
I personally don't do mod support via DM so if you want help it will have to be here
howdy folks! i'm having a little trouble with my gift tastes - i know it's being looked at by the game because I fixed an error that was coming up, but it doesn't seem to be doing anything
don't know what's the context, but that's 100% conflicting with FF
chu you would know this
do we have a way to attach a tile property to a placeable object (so it's added to the map wherever the object is, moved when it's moved etc)
Calcifer does this for Furniture
Isn't that already part of MMAP too?
Have you not been looking at chu's swimming rugs???
Yeah but my stuff is also blocked behind a custom asset
Idk why anyone would use this on a FF furniture
Well it wasn't that bad really, less cursed than my building draw layer extensions 
I've given up on altering the original draw beyond a conditional skip prefix so the jank remaining is draw layer z fighting 
Your loved one has a typo in the mod ID (which is a good time for me to advocate for using the {{ModID}} token so you don't have typo issues!)
The AcceptGift key for the Goldshroom has the typo too
The original motivation for this is actually "i want to steal building data model for tile properties"
Chu while you are here can intra-instanced-location-warping work in cabins?
your loved one 
So I'm avoiding any feature that has savefile implications
Yeah i made it for that purpose
Vanilla doesn't have one
OMG thankyou so much! I need to read my code more xD
Didn't you tell Aki a while ago that they could do intra-map warps for their cabins?
You gotta put the location name which unfortunately means u get bonked to main farmhouse
Cus i only made it yesterday aba
Was that in the context of using MMAP or something?
No you said it back in May!
Same location warp is fine with this
I was proposing yes but i wasn't too sure if it'd work (and it didn't )
So now u can make it work 
Welp I missed that bit
That said i was also thinking just
Did DH not put it in MEEP after all then?
No warps u walk behind a AlwaysFront bit of map lol
I made this cus it seems on theme with the other mmap building handling warps
I can't believe I didn't think to suggest that 🤦
So the gist here is
- calcifer can do specifically tile actions
- spacecore and mmap can do any tile property, with slightly different syntax on how
- sc needs tile coords for each
- mmap takes a rectangle
Both sc and mmap respect layer
thank you for once again enabling my hypothetical crimes chu
Mmap has this but for paths (as in stone walkway floor)
anyway I managed to get intramap warps working in vanilla but not in a cabin, only in a building with type shed
But atm u can only have 1 kind of prop on all paths
Oh does it have special handling
Or do u only have 1 Shed
works in multiple sheds
Fun that's useful
and I couldn't be bothered to figure out why the cabin map was being overwritten ngl 
so it might work with cabins too
Well probably not the Cabin cabin
followup question: does this work to load in the gifttastes? saw it in a couple other mods' code but doesn't seem to be working for me, I feel like I'm missing something
{
"Action": "Include",
"FromFile": "npcs/Clint.json, npcs/Elliott.json, npcs/Evelyn.json, npcs/Gus.json, npcs/Harvey.json, npcs/Jodi.json, npcs/Lewis.json, npcs/Pierre.json, npcs/Willy.json"
},
But i thought they were making a shed that resembled cabin so
I figured it must because there's already instanced warps in cabins (to the cellar)
It should work out if they just change right
yup
but also I think it might genuinely work in regular cabins, I just cba to check lmao
Well u can't just give regular cabin the Shed type can u
I thought they needed Farmhouse
I'm not sure, I added it as a new building
Anyways enough of this what is ur crimes 
ngl I forgor
NoU
but what if placeable warp
That's just an obelisk
but furniture placeable, not buildable
Nope! An Include action just tells Content Patcher "go to the file specified and then read the patches inside that as though they were inside the content.json". It has no use* except for splitting your content.json up into more files so the content.json is less giant to read.
* Except for templating using LocalTokens but if you are new to the idea of Includes that's way too complex for me to dump on you right now so you can ignore it unless you want to explore templating.
But yeah I don't think anything stop u from making pocket obelisks
I think I remember what I was thinking but I think it would require to have passable placeable object
Ah, shoot, okay - so how would I load in said gifttaste files like the json I first posted?
and I'm not sure that's possible
thanks for all the help ^^
Well u can just use a rug obviously
Or flooring
But i did implement collision maps for furniture so u can do a touchaction yea
the idea was a "no npcs allowed >:(" placeable object that would let people fix pathing problems themselves without having to edit mods
Pathing problems 
by having a passable placeable object with an npc blocking property
like when content mods end up with npcs in random places where you don't want them
Oh i mean i don't think placable warps like these count as npc doors
oh this isn't a placeable warp, it's the other thing
Well, you actually don't want to load the gifttaste file (there's only one) unless you want to absolutely destroy compatibility with every other mod because it will completely overwrite the existing file with what you Load, meaning all of the vanilla tastes would be gone and so would anything added by any mods before yours.
However, if for some reason that appeals to you (lol) you'd do it like this:
{
"Action": "Load",
"Target": "Data/NPCGiftTastes",
"FromFile": "assets/my_destructive_gift_tastes_file.json"
},
Well u can try but do note that some checks never goes through doesTileHaveProperty which is what's checking furniture properties
Hahahaha okay yeah that's not what I meant xD Am I completely on the wrong lines to add additions to the gift tastes and reactions?
So it's not super clear if this would do anything
or shadow true (we have a lot of these tile props lmao)
But yeah if it worked i guess u can make a no npc zone flooring
or if you can do placeable map prop (?) you can completely blacklist a map using a sign
No, what you shared originally is the right way to do it. If it's still not working even when you're testing the ones that don't have typos (or you fixed the typos) then we should continue to troubleshoot that.
Aah, okay, cool! Yeah, I fixed the typos, lemme grab the fixed json
See the nice thing about tile prop is that game itself respects a number of dynamic sources for it
No such convenience for map property so u gotta do persistence yourself and that's a pain
Can you please hop in game if you have quit and copy patch export Data/NPCGiftTastes into your SMAPI console, then follow what it says to find the file it exported and then pop that into the json validator and share the link? We're going to check if your patch is actually making it into the game.
Is anyone else experiencing not being able to opt in any mod on nexus mod rewards program? All my mods got opted out and can't be opted in. Upon pressing it says it's opted in but when checking the mod page it got opted out again
(Some people would get you to do a patch summary but those annoy me because they can be unclear about whether the patches were actually applied.)
There was a display bug but i thought it's fixed, may wanna reach out to support
probably the visual bug coming back, it happened a few weeks ago too
I believe that's just a bug on the mod page itself, as my mods say they're not opted in on the mod page but they do show as opted in on my mod rewards page.
ah i'll just wait it out, it's not like it's a big deal anw
that's good to know thank you 🙏
yeah yeah mb mb, i've also abandoned that idea since if mote than 1 cabin is built idk if it would use the same maps
https://smapi.io/json/none/258f1b2ef86a43e092e0ca8653f39024 to me it looks like it's loading in - should I try switching over to using {{ModID}} and see if that helps at all?
Before you try that, can you share your json where you add the Goldshroom object to the game? And also say what actually is happening when you gift it to Clint? I don't think I asked that before.
So, I fixed half of it - the object ID was GoldShroom, not Goldshroom - this has added it to the loved gifts (meaning I get the generic Clint 'Yes!' loved gift dialogue) but it's not loading the custom dialogue.
But yeah, that was my fault, serves me right for coding too early in the morning xD
Okay that's a good start!
So now we just go over your dialogue patch with a fine toothed comb
And now my mind has shifted over to continuing my music mod port to 1.6 and I instantly have a new question...
I did the music like this instead of how the tutorial said it (Because I used a different music mod to learn from)
But I encountered an issue
This music mod was made with custom music back then which allowed new locations as well. But I can't get the sewer location to work because of this problem...
Ah ha! It needs to be the qualified item ID, @young sluice
It needs the (O) in front of it
Ooh, okay! What does that mean?
OH!
so like
"AcceptGift_(O)Alx.Additions_KeyFlower": "{{i18n:Alx_Clint_Keyflower}}"
?
Thankyou so so much!!!
Wait. I think I fixed the issue somehow...
But now I don't know what I need to change "MusicDefault": "{{ModId}}_Music" into. My music pack has more than just a single track
Hooray, you did it!
So... this is for the music track.
},
"sewer": {
"Id": "sewer",
"Category": "Music",
"FilePaths": ["{{AbsoluteFilePath: assets/sewer.ogg}}"],
"Looped": true,
"StreamedVorbis": false
},
and this is the new music cue (If I knew what to change...)
{
"Action": "EditData",
"Target": "Data/Locations",
"Fields": {
"Sewer": {
"MusicDefault": "{{ModId}}_Music"
Do I just change MusicDefault to sewer.ogg?
If this helps in any way, this is how it starts.
Are you planning on replacing the entire sound track?
I'm not 100% certain but if the cue already exists, replacing via audiochanges would swap whole thing yep
No need to change other data
Sadly Sewers and SeedShop were added by custom music before. So I need to add them...
Yeah that is still applicable
"already exists" means either vanilla or added by a mod before you did
If the location didn't have music and you wanna add music then load the song to {{ModId}}_sewer and swap the MusicDefault yep
Is it okay to only add ModId to certain ones?
Sure it's just for disambiguation
If u wanna replace existing cue then you would use exact name
disambiguation? Sorry I haven't heard that word yet.
{{ModId}} is like hey i added this
Well uh, I don't want to quote dictionary at you 
In general if u can prefix a string with {{ModId}}_ you should
Smapi enforce modid is unique in a mod loadout
And so it's a reliable way to make sure no one else is accidentally overwriting you
What do you mean
That's normal, u just get a random one
Okay. phew
For same cue
Thanks
It took a few hours to get the custom music mods I did to work in 1.6 with Content P
So i'm glad this will work with cues
Luckily these were the only two I was missing.
I got music from so many games... as well as Harvest moon games. The porting never stops.
Just fyi
You won't be able to advertise any mods here that contain copyright material, just FYI
Oh. Okay. what about sfxs? It said not to.
For small sound effects (sub 5 s)?
It's a personal mod.
@distant radish heya, so I have the star crops mod which is a mod that's intended for just late game, but people that have MES installed are forced to remove it from getting OP seeds/trees too early. Is there a way I can just not have my modded items be included when someone has your mod installed?? Thanks.
Based on the description you can just give your seeds the seed_ship_banned tag
Thank you so so so much
@cedar turtle releasing a new update today so you don't have to remove it 
Well, you already got your answer haha
Thanks so much for making it possible! 
No problem 
I love funny mod interactions :3
@vernal crest, thanks so much for your help, because without it, I would never rewrite it so my mod would use Appearances, and if so, it would be very badly. You can check the result out if you want to: https://github.com/DenisSilent/Eleanor/tree/development_UNSTABLE!/[CP] Eleanor/assets

Another part of modding mastered! 
OneDrive is driving me crazy. I've disabled it, and tried uninstalling it completely. Somehow, it's turned itself right back on, and copied an old version of my Marnie mod from my laptop into my master mod copies.
have you tried installing gentoo 🐧
I'll look into it!
(im joking and telling you to install a linux distro)
even if you have one drive on, it only affects 1 folder right
can you just not put things in there
If affects my entire drive because I'm forced to log in with a microsoft profile email
why
if it is some sorta school computer, you r prob getting slapped with organization software policies or something
Because Microsoft has tried its best to get rid of single log on. Right now it's not showing, but One Drive will occassionally show up before or after PC. Microsoft wants to link all of your computers together. They also lock your operating system to your CPU now.
No, it's my home computer. I don't do SDV on my work laptop. I don't want IT to ask why I'm looking up coding stuff 🙂
Cursed
I do not have one drive infecting my entire drive.
Before I had to rebuild my PC (CPU got destroyed by a lightning strike), I never had it either
Oh but I refuse win 11 so that might be related
I guess install linux is serious suggestion now if it seems unfixable
I've re-uninstalled it. I'll probably had to go fight it off of my laptop too
I reinstalled windows just a month or two ago
The only reason I'm not on Linux yet is PC game pass
As soon as that stops being good value for me I'm gone
Oh hey my send message button just came back
... And then immediately disappeared again. Discord what are you on
Northwest New MExico gets lightning storms and monsoons. Power pole in our neighborhood got hit, and we had a huge surge. It blasted my power supply to, and the CPU gave up the ghost. USB slots got feisty after that, and my videocard was very unhappy. 😦
OneDrive strikes again
Okay that sucks terribly for you but it makes a lot more sense than your computer being struck directly by lightning which was my initial impression
I'm so engrained in Windows usage - I've barely gotten used to MACOS because of teaching. My dad was a hacker in the 80s, and we had like 4 or 5 windows computers in the livingroom growing up.
lol. I held it up lika Simba during the storm, for an insurance payout
I'm a bit intimidated by trying Linux
I install Linux on all my old laptops so I have casual exposure to a bunch of distros (but only lightweight baby ones)
There are some that emulate windows as closely as possible which can be helpful to ease into
I'm definitely partitioning my laptop once I'm done with my stupid thesis
is there a way to make the viewport move but stay? viewport move demands a duration but i jsut want it to move down a little and stay there for the rest of the event or isnt that a thing

The duration is how you make it move
oh wait i misunderstood, dindt I
You say "move at a rate of just one pixel at a time but do it for five seconds so overall it's 5 pixels please"
hmm
(Imagine if that's actually how we had to write commands lol)
Can i shorten the please to pls
i thought duration as in for that long and then it goes back to the original viewport
You have to use pls, but only in 60% of commands
If above, you get a Programmer Too Polite error
pls deliminated event command...
If below, you get a Programmer insufficient polite error
#pls#advancedMove
When I mvoed my viewport, I didn't have to put a duration. 😮
is it because I changed the location?
If your total number of event commands isn't divisible by 5 you have to add commands until it is
You weren't using a panning viewport cmd
ty!
could you set the duration to 99999 and hold no one needs that long tog et through it?
It would move well and truly into the void with that duration
Ah. I was thinking the duration affected how long the viewport stayed changed, after moving
Viewport move is not "set to this position for X time". It's "move in this direction for X time"
ok i misunderstood this command afterall
And apparently viewport clamp will just follow the farmer around like you've enabled camera follow on a Sim
If you want the viewport to just jump to a spot Void use the normal command, no move.
turn the farmer invisible, load a temp actor farmer, allow GreenScreenFarmer to do whatever you want?
Did you put big numbers in for X and y?
i did 2 6
but also the 5000 duration from the wiki as a test lol
felt like a fish slipping across the screen
viewport move -4 0 2000/
This moved the camera along at a walking pace for a few seconds.
At a farmer's walking pace to be exact
like fr tho I'm pretty sure Linux has a drive ish feature (I am also semi new and use mint cinnamon distro)
arriving extremely late to that convo oops.
The important part is u can decide if u want it
We r definitely in #programmers-off-topic zone tho
exactly!
I'm feeling it
oml I have like 3 events left to script. so desperately want it to happen on the same day as the flower fest but I'm pretty sure thassa no lmao
Well if the event isn't in cindersnap you should be able to do it
33 out of 36 core events done! Oh??? If it doesn't, that changes things! (i do be knowings how to do the entypening good)
The problem is more "what if player miss flower dance" lol
Would be pain to wait whole year
i personally prefer to not have events on festival days but you do you
😠
I definitely don't want them to wait a whole year, the idea that it would be someone walking the player home afterwards set at the BusStop
but it was just a lil idea to flesh out my story, so it's not a 'gotta have it' type thing cuz I don't want people to overstress about festivals and stuff
Pehaps set it before, and make it more of a cryptic prediction than a reaction?
I'll scribble some ideas out as a treat for finishing the event I'm currently trying to finish (I'm so close to being done with the main storylines)
I haven't edited Marnie's schedule whatsoever, however - hurry Marnie has caused her to decide she'll drink anywhere.
Hi. Can anyone kindly tell me how to make your C# IDE (JetBrains here) recognize changes or items you have made in a ContentPatcher patch, like you would C# libraries in a using statement or a reference? Thank you.
I don't think there's a way right now, you are asking for intellisense for content patcher
The primary way ppl debug is via patch summary
What's your particular goal here?
What specifically are you trying to do?
I want to make new consumable items which give buffs and then custom buffs with custom logic. Making the logic in C# is fine but after trying to make the items in pure C# I looked at some CP items from another example mod and I think I can achieve my goal way better if I combine CP and C# rather than doing it all in C#
Okay. So how are you currently doing the custom buff stuff?
I mean you can just populate the assets from C#, it's no different than doing it with content patcher
I made a dict which has each farmer as the key and the relevant data (buff timer, debuff potential) as the value, I keep track of it and when the consumable is going to be consumed it would do the relevant math and apply to that farmer. It would be easier if I could add attributes to the farmer object, but I heard harmony is a no go.
That's true but I suspect the asset stuff is related to a misunderstanding of how the game works, and I want to figure that out
Farmer has modData
It's a string string dict for mod added data
But hm i think Buff might actually be ok to subclass cus it never goes into the save right
There's nothing wrong with harmony, though you can't attach data with it. the built-in buff system will manage time and all that other stuff for you, so I would recommend using that, especially since it has built-in support for consumables
also harmony cant do that anyway, thats Cecil
What kinda buff do u hope to make 
which is a no go
(I wouldn't say there's nothing wrong with using Harmony; you should be aware of the caveats when using it, and there are definite advantages to avoiding it if you can.)
Pathos what if buff data action on expire
I think it would open up zero harmony custom buffs (in less janky manner)
As chu mentioned, moddata can be used to store arbitrary string data, but I would actually use a ConditionalWeakTable instead if you need to associate information with the farmer temporarily
it buffs you and then after a while debuffs you. If you use it your debuff chance for the next one is up. If you use too many in a day or season you definitely get a huge debuff. Also I know it sounds like drugs but I swear it isn't
It's probably out of scope for the base game unfortunately, since it's not something vanilla will use.
👀
I assume it was meant to be used at some point, but then the logic that it was meant for was never implemented.
Ah so i think this should be doable via trigger actions only, give me a bit to write down the steps
Getting back to the original question- it seems like what you're looking for is a way to identify your custom buff while its applied to the player, right?
If chu can figure this out with trigger actions that would be the route to go for sure
I was looking for a way to make the item itself since I wasn't having much success in making the custom buffs, and I looked at CP consumables and found out it's a lot easier to define custom consumable fields and such
pardon me for not being able to explain thoroughly, I should have made a prewritten thing with examples
well CP stuff is just the C# stuff but written in json
its the same fields and the same consumability and such that you'd write in C#
so you might have been going about adding an item via C# the wrong way?
- create the positive/negative buffs and a manager buff that is actually applied, do this by editing
Data/Buffswith C# or cp - in the manager buff's ActionsOnApply field, use
If PLAYER_STAT ModId_TimesBuffedTodayto gate someAddBuffthat actually apply the real positive/negative buffs, also useIncrementStat ModId_TimesBuffedto count number of times the manager buff got applied today - create a
Data/TriggerActionsentry to resetModId_TimesBuffedTodayat end of day
you may apply buff with food by editing Data/Objects to add your food with a Buffs list
since this would be a Data/Buffs buff, use BuffId instead of the fields there directly
none of the described steps require C#, but you may want non standard buff effects (that arent just +5 defense or -20 attack etc) so that'd need some C#
so I am supposed to Inherit Buff, or what do you mean by Edit?
Edit as in what this page describes
edit the game's content to have more data
content patcher basically does this stuff in the back for ppl who aren't in C#
Yes, I am working on the custom stuff. Also I would probably have done a DebuffChance which is based on TimesBuffed too*, but your point stands.
yea if u want u may still do the rest of the steps described, but register a custom GSQ to use instead of PLAYER_STAT
or just register a custom trigger action to run, instead of using If to do the logic
.Edit, huh. I guess I haven't snooped around the wiki as thoroughly as I thought.
but yea lots of zero harmony ways here go wild 
it'll help to take a look at Buff and BuffManager in the decompile for context
Noted. Thank you for your help, it's late here but as soon as I can I will get back to the code and try it out.
ohhh, I was only looking at Stardew Valley.dll, now I get why I couldn't find some stuff
ilspycmd -p --nested-directories -r "$GAMEPATH" -o SDV-CSharp "${GAMEPATH}/Stardew Valley.dll" "${GAMEPATH}/StardewValley.GameData.dll" -lv CSharp10_0
if u do this (with right $GAMEPATH value) u can decompile both into 1 folder
Does Stardew have a saturation setting or something? I just noticed that some of my stuff looks 'richer' in Aseprite than it does in game
I have been using the normal ILspy interface, let me look at this
Sprite > Color Mode > More Options
i use this cus ilspy avalonia is very tiny on my screen
I had to change that bottom one
!
radioactive butter 
it's organic
So Octree and Euclidean are the best?
I have no idea. Those just made mine match SDV
ah okay
I have to added hurdle that both of monitors have different color profiles so I don't know which one is closer to accurate
Well its weird because the spring objects do match
And I've been comparing mine to springobjects stuff
hmm. Maybe I'm just need to inspect it more
which would be more brittle, is a prefix that re does some of the base game code and then returns false or a transpiler? I assume the transpiler? But returning false from prefixes is kinda not great either right
transpiler might explode on game update but it will be more compatible usually
whats the particular usecase
How do I make it so that Lewis' schedule that I've made override SVE's?
I wanna give animals more golden crackers, but it feels like most of the golden cracker code is in the middle of some other function so I'm trying to figure out if I should use a transpiler or some prefix/postfix combo and patch other called functions called inside to get at values in the function
I've tried Priority: Default + 10
hmm
i think you can do a postfix here
vanilla
- player giving cracker + hasnt eaten a cracker before + can eat crackers -> consume the cracker
then ur postfix can be - player giving cracker + can eat crackers -> consume the cracker, but increment some moddata counter or w/e
the actual hard part is making the output stack count increase
enjoy
for the effects that really depends on wtf this should even do 
id probably transpile dayUpdate for that
another option is letting someone else do the hard work for you: https://github.com/zombifier/My_Stardew_Mods/blob/master/ExtraAnimalConfig/Api/IExtraAnimalConfigApi.cs#L18
its a thing for finding certain bits of IL
I've just been using a for loop... my life is saved
ough, the moment you forgor where to put the freindship points in an event question cuz you never used it
im staring at pennys vanilla bathhouse event and im like 
Event ID/f Marlon 9000
not that
oh
in a question
if the dialogue option giveth or taketh?
or maybe its that quickquestion doesnt allow it....but i swear i had a template i used way in the beginning where i jsut took it out, hm
My brain is a stone, it does not soak up knowledge at all.
/speak Leah "$q -1 null#Once you get past the outer layers, the true nature starts to show...#$r -1 0 event_sculpt1#It's the same with people.#$r -1 0 event_sculpt2#I actually prefer the look of raw, unadulterated wood.#$r -1 -100 event_sculpt3#(creepy) May I have a kiss?"
not a quick question, ohp
I can't figure out what I need to do. The wiki said if I threw in a dependency, my mod would come after it, therefore overiding it
oh i figured it out, i think
tho i should probs use a fork quiestion so i can instantly end the event if you pick the mean answer...
time to find out how to fork
lmao i did this for one of mine 😂
wait....unless....
Are there any utilities that can help me make a mod that adds items, without any programming experience?
you dont need to be able to program to use Content Patcher
you just script
theres also a lotta tutorials
anyway, i ahte forks i wont use those help
Doesn't content patcher replace standard objects only? Can you create new ones?
you can make new objects with it
Thanks
new maps, new fish, new weapons...
do you want me to find a fork i used for an example or are you asking for an alternative
I'm a dingbat and hate myself a little bit. I was using data/schedules again
i gonna do a diff approach and use quickquestions afterall. next update gonna change event stuff around anyway so
hey all, came here for two questions if this is the right channel
i want to know how to make a warp require the rusty key (in content patcher), and how the "summitboulder" object works because that one seems undocumented
you can gate your map patch behind the host having the mail flag HasRustyKey with When conditions
if its an Action/TouchAction warp, they take mailflag as 3rd arg
oh cool that works too
re: SummitBoulder, it just shows a message on interacting with it. getting rid of it is another map patch handled directly by the game
Farm_Eternal is the mail flag for perfection
understood, thank you for the answers!
yall, i need an extra pair of eyes telling me why my shit aint working in this event :(
Calling all cheetos!
We are considering changing how posts get published to #mod-showcase and who can publish them. We'd appreciate your feedback!
What we'd like to do is allow mod authors to both publish and unpublish their own posts in the showcase, and to publish posts on behalf of another.
When a mod author publishes a post on behalf of another server member, the original author, as well as the publishing mod author, would have the ability to unpublish the post.
Original etiquette rules will still apply: Don’t publish mods from people that aren’t in the server, and don’t publish (or un-publish) other people’s messages without their consent!
oh i always wanted to just do leah command on someone else's post
im assuming "on behalf of another" includes when the "another" does not have permissions to do so themselves?
tried it once b4 it didnt work
Yes, exactly.
Sorry to have posted over you, Void. 
im getting these errors and i thought I could do more than jsut some dialogue in a quick question thingie https://smapi.io/log/4dd0545e738745a3837206f8e6db400a but im getting these errors so...what am I doing wrong (for sake of sanity im only including the event in question and not my miles long entire events.json) https://smapi.io/json/content-patcher/14f66c587ca64aebb646b40f83d93289#code.69
Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Pro, with 46 C# mods and 47 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
i imagine there'll be some way for the junimos to tell if someone is sneakily unpublishing their post and republishing it over and over relying on the original publishing to be deleted and thus no (public) evidence
its ok i was formulating my actual question still anyway
(btw i used this quick question example https://stardewmodding.wiki.gg/wiki/Events_for_Everyone#Questions)
Yes, we'll have logs.
(i know people would notice like "hey, i already saw this in the showcase earlier?" but without the original showcase still there it becomes a bit "trust me bro" if someone says that)
We love logs
then i see no issues with it especially as i stand to benefit 
Button gets to stay purple
(Atra gets to stay fabulous)
-# smd
missing slashes in between friendship and speak!
🙏
I could be totally wrong, but I thought the commands for quick questions/questions was different than regular event commands?
yay!! my c# test mod worked 🙂
the logical next step of course is implementing a new minigame
its till throwing the error 
same one??
karaoke
Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Pro, with 46 C# mods and 47 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
it does plasy the second reply now tho but still has the error. i msut be formatting soemthing wrong but i cant make it out
im hoping to make a mod that lets you "befriend" shadow people. so im probably going to make an event when you have krobus at 10 hearts, so after you've triggered that event, the shadow people eradication goal is removed and it makes you immune to shadow people (like the slime charmer ring). is this too ambitious for a c# beginner or is it fairly doable?
i know lurking in the dark does that so its certainly possible but i havent looked into its code so idk how complex it is
SVE has a similar mechanic, as well
Can anyone help me with this error one of my testers has? They donated a mineral to Lilybrook's museum (CMF) and had already donated it to Gunther. After donating, the error popped up and the mineral had duplicated. Here's the error log: https://smapi.io/log/dca1a670257f4642a1abddbc06220a4b I can't seem to replicate the error again though? The error references Custom Museum Framework.
Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 21 C# mods and 23 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
im not 100% sure, but i believe you can only have line breaks in the events directly before or after a slash / so i think you should probably remove the line break for the very first command and see if that works
hm, ill remove the line breaks and test again
pretty sure i know what caused that so i just pushed an update to nexus that should fix that but if nexus takes too long to show that heres an updated build of CMF
Appreciate it, thanks!
yippie, it works now
just to confirm DayEnding SMAPI events run before all the DayUpdate functions right
its right before Game1.newDayAfterFade if that helps
oh no... checks my code
continue;```
ok, good
Not too ambitious
could i theoretically make the shadow people mod idea with content patcher? add a heart event to krobus, raise a mail flag in the event, add a special power that gets unlocked with that mail flag? or am i missing something
or would i need c# to have the power take effect
if (quest?.id is null) for the lazy
yeah, sometimes I do that, sometimes I don't, and sometimes doing that is wrong
Almost all of it! I think just the friendly shadow people part
i tried to draw a thing in RenderedActiveMenu and it eated my pointer 
oh i see it didnt eated mere hid (still not great
how do i find mouse size
no its ok im drawing a tooltip
And transpiled into thr draw metho
hmm this wasn't the problem, seems like ObjectList/TerrainFeatureListChanged caused by overnight spawning/despawning will only run after DayStarted and not between DayEnding and DayStarted
Tbh selph once I tried to do the no despawn hoedirt thing by hooking that
how did you read my mind as to what I'm trying to do
weh, do I need to go back into the Harmony mines for this
what r u doin
https://www.nexusmods.com/stardewvalley/mods/30895?tab=posts&BH=9 anyone with experience with this patcher here? // ive succesfully used it with CP mods but was wondering if it would work with AT mods too since im not where to find the target texture ex. (Mods\AuthorName)
your best bet is converting said AT pack to a CP pack using the vanilla skins mechanic
selph i believe the easiest way is to do whatever it is on warp
helps make multiplayer sync easier too
I need elaboration pls how does warp help
well rn this flooring basically does something to a 7x7 area around itself right
it sounds like u were trying to do this in DayStarted and got bonked by the timing issues
if u do it on warp to undo any spawning/until, u can do it any time of day
i suppose u can do same thing in daystarted too actually, now that i read the desc more carefully 
hmm
what if tent kit on farm
store the state of hoedirt in a bool[] in dayending
overnight spawn do stuff
restore hoedirt in daystarted?
Gotta do smth about loading a save tho (pain)
Perhaps if u just say magic auto hoeing dw about it
hmm im trying to make the event to meet a shadow person and krobus together and then befriend them, so im thinking either the shadow person walks in on krobus and the player talking and blah blah, but i dont think shadow people would go to the sewers (or maybe they're visiting krobus?) OR krobus visits the shadow people at the entrance of the mines and the player walks in and stuff... which seems more natural?
I'll toss in a "this may conflict with my mod Where the Spreading Weeds Are" comment but I don't have time to stay and chat rn. I transpile the spread weeds and stone method that handles the weeds destruction to get info - it might be simpler for you to just interrupt that method when relevant
Wtswa api to stop weed spread ez
Sorry, I think the method is spawn weeds and stone
Golden clock easier 😄
wait... I totally could, though... I will think about this more in a few hours
wtswa notices where something would get destroyed... then just check if another mod asked that it not be destroyed on that tile... could even be very conditional... but not now I have IRL stuff
could be by way of the Dwarf after the fight event in the sewers for lore reasons
piggybacking off my earlier question - if a CP mod's content.json is formatted like attached ^ where would i find the texture path? (Mods\AuthorName)
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.
so, i think you would want to just use this as a basis and do the data edit pet enhanced requires
like re format the CP pack so that it can be used by the patcher?
the patcher just grabs all the textures in one pack under ex Mod\Author name and modifies them at once so im not sure if u mean do them one by one or just re format the original content.json
reformat it to not actually depend on any tokens
gotcha gotcha
look at all the things depending on the Dog 1 token
Howdy folks! What exactly is the location data of the Goby? Trying to put a legendary fish in the same spot but not sure exactly how I'd do it, I don't think it's just Forest
Goby might be hardcoded still
Ah shoot, okay.
that might be a different fish? Goby was added in 1.6 and isn't named in the code directly, at least
it just seems to use its entry in Data/Locations -> Forest, within this zone
"BobberPosition": {
"X": 51,
"Y": 100,
"Width": 15,
"Height": 255
},```
Okay, cool!
hello again.. im done with my event, it works when I do debug ebi but in the game it doesnt trigger when i go to town
log doesnt give me any errors tho
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.
hmm seems like you made it trigger only when it's winter?
is the npc - NPCAtsushi - in the location currently?
normally yes but it is not there because I set the clock forward for the event
i thought it would be triggered even if there was no NPC like other events
it's because you added p NPCAtsushi as a precondition, which makes the event only trigger when the npc is in that location
it might be fixed if you remove that
oh lemme try
Quick question.
If I were to remove one specific item (trash item) out of a mod adding fish.
Would it be enough if I comment the respective lines in the object.json so it doesn't pull the info anymore?
Commenting out the lines would be the same as deleting the lines as far as the json loading is concerned
Could someone point me in the right direction: I've found how to put extra NPCs intoa festival, but not how to edit an NPC that's already programmed inside of it. Do I just include them in the 'Fields', 'set-up;, and it'll move them to the new location? Or will that duplicate them?
If you're using CP I think stringoperations is what you want?
that worked lol thank u
this little mistake made me feel a little dumb
ty. Reading that, I think it isn't the append or replace that's getting me, it's the [MainEvent_additionalCharacters]. I can't find a reference at all to [mainEvent] as a stand alone, but mods like SVE or Ridgeside, don't have it to reference.
But, Marlon specifically, isn't listed under any of those additional characters lines, so I'm not sure how to move him nor Marnie
Hi all. My research hasn't turned up any leads on the warping between the Town and the Sewer:
- Is there a way to modify where the player enters the sewers upon interacting with a tile/object that has the EnterSewer action? It looks like it defaults to 16, 11, and the "DefaultWarpLocation" map property doesn't seem to (and never seems to) work to override this.
- Interestingly, I don't see an action on the sewer map that warps the player to the Town (by interacting with the ladder). Is it possible to override the default if I've moved the sewer grate?
In the Sewer's base code, it has an arrival tile but I don't see a warp out on it. However, I haven't seen 'DefaultArrivalTile' as a command before, and it may work both ways? \
They don't have mainEvent?
I admit I'm not familiar with sve and ridgeside specifically, just the festival data format itself
yay! glad it helped 
and don't feel dumb! i made a lot of silly mistakes when i started (and still do)
Warps are on the maps. DefaultArrivalTile is where the game warps you if you teleport in without a specific position
no, both just have set up and append for mainEvent_additional characters. It's like villagers are hard coded to the festivals already, and you only have to add on?
For editing an existing festival?
But there has to be a way to move characters, because in SVE, the vanilla characters are all moved.
Yes
Okay so you're trying to move an edited-in npc in a vanilla festival, yes?
No, base one. I want to put Marlon with Marnie after a 10 heart event, instead of having her around Lewis.
Here's a truncated form of what Ridgeside has
https://smapi.io/json/content-patcher/6f7f09fe65644d248393b630d6023850
Neither RSV not SVE reference the vanilla NPCs in their festival json
nor*
google searches got me a vague reference to temporaryFestival maps attached to the standard map
But, then the vanimmal npcs data is somewhere and I feel dumb for being unable to find it 😦
Have you unpacked the game files?
hmm im stumped as well... maybe it's hardcoded?
Yes the action is hardcoded
Yes, it just has some animations set up and the rest is dialogue
it has a 'loadACtors Set-Up' reference, and a change to a temporary map.
is Constants.SaveFolderName available on non-host player?
Did you check set-up? If he doesn't change position between arrival and the main event, moving him there will be enough
The loadActors Set-Up line is nsetled in the "set up" line itself. I haven't been able to locate any other places, yet, that like... detail set ups
Hold on, I'm not at my computer
Home a few minutes to dig out the game files
Festivals are events with some hardcoded magic glued on
oh here
i think there's a layer on the tmx file itself where the npcs are placed?
Ugh of course that's it
so I need to figure out how to find the temporary actors layer in the map.
thank you guys. I really appreciate your patience 🙂
It will be changeToTemporaryMap in set-up
On paths, probably
seems like there's a layer on the festival tmx (this is the luau festival)
its on the set-up layer, which is set on the loadActors command
there seems to be a tilesheet with the characters?
I stand corrected
if memory serves, the sewer to town warp is entirely dependent on the ladder tile on the tilesheet
hm. When I open up my unpacked town, it doesn't have that Set-Up objects layer
It won't be the town map
i think you have to open a specific festival map
I wonder if I need to have something toggled
It will be the festival map defined by the event command
for example this isnt the beach tmx, its the beach-luau tmx
nooo dont say that festivals are just reallly complicated
I got the load temporary map in my head as some sort of layer, and proceeded to Blind Eye every event map
Testing it just now, you can technically derive the correct name from the constant + the host's name, but keep in mind that the folder doesn't exist for non-local farmhands.
Host: Constants.SaveFolderName = TestMP_375198604
Farmhand: Constants.SaveFolderName = _375198604
I'm not seeing any properties beyond the standard ID, width, height, etc. on any of the ladder tiles when looking at the sewer map in Tiled. Does that mean that tile is hardcoded somewhere to warp the player to a specific X Y in Town?
Is there a way to override that by covering the tile with a new one and using an action? I tried putting an object on the buildings layer and giving it the property "Action - Warp Town 33 97" but that didn't work.

