#making-mods-general
1 messages · Page 538 of 1
hi, I’m not an expert, but I think the issue is that the initial viewport should be set to -1000 -1000
after you establish each character's position, you can change it with 'viewport x y true' (in your case 10 23)
Sorry, but I'm not sure if I understood correctly.
oh, don’t mind me, I was following this guide, but it’s outdated (https://stardewmodding.wiki.gg/wiki/Tutorial:_Anatomy_of_an_Event#Music,_viewport,_and_initial_character_positions)
Last edited by Handwrittenhello on 2026-01-09 21:39:22Warning: This tutorial is from 2023 and contains some pre-1.6, outdated information (for example, the use of numerical event IDs instead of string IDs). Please also refer to the main wiki and other resources that have been updated for 1.6 best practices.
In the SMC server, we had a team compe...
so maybe the issue would be that you haven’t loaded your custom house in your content.json yet
yeah for an event the location must be loaded into Data/Events/YourMap
and also i think that you're missing the '{{ModId}}_' before Charlotte (or the name you give her, to avoid conflicts if another mod has a character named the same)
where does the voidwalking happen?
the only move command i see is on the bus stop event
For some reason, my tiles are not aligning with the grid which causes the map to be all kinds of skewed in-game. Does anyone why that happens and how I can fix it?
what does it look like ingame, you could try editing the tilesheet and moving it down
did you try what chu suggested
I forgot omg
(A small chance for a kind birb to drop a random seed in any unplanted hoe dirt every night... yea or nay?
)
You better sprite them in and they better prefer sunflowers :P
Well, it's all CP driven currently!
{
"Changes": [
{
"Action": "EditData",
"Target": "DecidedlyHuman/PlantingByBirb/SeedData",
"Entries": {
// Spring
"597": { // Blue Jazz.
"PlantingWeight": 2
},
"CarrotSeeds": { // Duh.
"PlantingWeight": 1
},
"474": { // Cauliflower.
"PlantingWeight": 1
},
"477": { // Kale.
"PlantingWeight": 1
},
// Summer
"481": { // Blueberry.
"PlantingWeight": 1
},
"482": { // Hot pepper.
"PlantingWeight": 1
},
"453": { // Poppy.
"PlantingWeight": 2
},
"SummerSquashSeeds": { // Summer Squash.
"PlantingWeight": 1
},
// Autumn
"490": { // Pumpkin.
"PlantingWeight": 1
},
"BroccoliSeeds": { // Broccoli.
"PlantingWeight": 1
},
"488": { // Eggplant.
"PlantingWeight": 1
},
"425": { // Fairy Rose.
"PlantingWeight": 2
},
// Winter
"PowdermelonSeeds": { // Powdermelon.
"PlantingWeight": 1
},
"498": { // Winter seeds.
"PlantingWeight": 2
}
}
}
]
}
I think it's super cute
my experience with a mod that have stuff appearing in adjacent spots (self seeding flowers), is that it's cute but basically install and forget, because in practice, hoeing dirt that will disappear is annoying and i don't usually lack seeds
It would be pretty useless for me personally, because I never leave bare dirt! That's just wasted seed space. 
i would prefer a thing like, plants appearing around a bird feeder, but auto sprouting (no dirt hoeing needed) if you want a similar concept but that may be requiring less player intervention
Would the planting birds take the remaining days of the month into consideration?
i think its a cute idea and I guess i do belong to the type of player who doesnt count the space and just hoes away and be left with extra hoed space lol
Ooh, now something like that actually sounds like a great idea... it would give you the ability to dedicate an area to just bird seeds. I just worry the bird feeder is a bit too similar to that recent tree seed mod.
I will invest in scarecrows to avoid this 
Birds care not for teasing you with unharvestable crops. /j
I think I would almost certainly have that be a setting, though.
Evil bird setting, planting cauliflowers on Spring 26
There is also a DH_BirbPlanting_ExcludeSeed mod data key you can add to hard exclude any seed. So even if someone added a seed to be birb planted, it would refuse.
Of course, nothing would prevent them from removing that mod data key... but at that point, there's nothing you can really do.
I did initially think to have them drop seeds anywhere and not just existing hoed dirt, but it felt... odd, because there's a very good chance you would never notice so they'd never get watered.
Quick question but if i wanna do a debuff action in a dialogue is this the right setup or even possible "DialogueText $action AddBuff 27 -2 $5"
Rain!
this is just an approximate guesstimate but addbuff is asking for a specific ID, and if that buff ID is set up as a debuff, I don't see why it shouldn't work. but then again. what do i know
i was just setting up debuffs for objects
ye i been looking at the wiki but sometimes im not sure i understood right fdsgsfs
big big mood
cant test ingame rn since i havent set the npc up fully for them to spawn so...i fear by the time i do i might forget to check
okay, this is what lookup anything tells me in regards to the void tiles (lol)
ignore the witch swamp warp, i haven't deleted it yet
I can give it a try since i'm also setting up an npc
they're not talking to me yet so i have some debugging to do first
ooooh?
thats because they have no dialogue most likely
you might have misnamed your back layer
$action AddBuff 27 -2 should add Weakness to the local player, yeah
you might need to separate it from other commands/dialogue with # or |, though, judging by examples?
I'm not familiar enough with dialog to confirm
This says no tile here
So i think it is actual tmx issue
SVE/VMV/etc tend to use action like
...#$action AddMail Current Lumisteria.MtVapius_GiftReceivedFlag received|...
it doesn't help with the issue that my tiles are misaligned in tiled 
I see, i will try that out
i dont know what its supposed to look like from the screenshot you could try snap to grid
you could try copying and pasting
does anyone know of any examples that use spacecore's dungeon system like a custom mine?
sadly no, but i hope by the time i gotta try that feature out myself there will be because it looks complicated lol
so any idea what could I do about that
? I don't know how to explain it, those two tiles should be flush against reach other but instead, they are off by a couple of pixels and I don't even know why
have you tried deleting them and placing them again?
Wait which vanilla map
I need to fix the code; I ended up losing some things I had done.
Oh I meant I created my map from an unpacked vanilla one
chu sounds like as if there could be certain cursed vanilla maps out there 🤔
if it's the witch hut one---
i didn't do anything to the map other than deleting the tiles and resizing it
Yeah i was worried it was editmap
But hrm can u send ur tmx over
Plus any custom tilesheet
I fixed it by pasting all of my tiles over into an entirely new map. The back tiles were still off but I deleted them and placed them again
still kinda weird
Hi, how can i add decorative Animals to a custom map? I want to add cows like the ones of the marnie's ranch to a NPC farm i did
do you want to do this right now, or are you willing to wait for the next game patch
Thanks, i was looking around for that info 🙂
Right now you can use MEEP
And if you want to do it yourself it's just matter of tagging your animals with some mod data and making sure you remove them before saving
Right now, Custom Companions with something that just resembles a farm animal or MEEP, yeah.
I think CC is still kept working?
yes, i think it was recently updated
hello! getting this message when I use any of the SMAPI schema things, is there something I'm doing wrong?
Are you using a trusted workspace in Visual Studio Code?
i have no clue what that is 
(if it's in restricted mode, I might expect to see that error)
how can I set the workspace to trusted?
Can you screenshot the bottom of your Visual Studio code window? There is usually a spot along the bottom left that will say Restricted
If it's not a trusted workspace
Interesting, nothing visible there
Gimme a minute to load up my computer
I've noticed after the latest update, it always opens my windows as restricted now and I have to click the banner to make it go away
alrrr I'll try restarting it and see what happens LOL
..that really should've been what I do first what kind of modder am I to not do the universal fix
Mine does this:
can you right click on that bar and make sure workplace trust is checked so you can see the element?
okay!
okay this is weird
mhm
oh? there's not error but it's still not working hmm
..turn it off turn it on again round 2
...still there
If you go into settings and type trust in the search bar, you should see an option to add a trusted domain, which might help it go away
okay!
It's in JSON -> Schema Download, like this, for me:
How would I make an event trigger if the player has reached floor 100 in the skull cave?
Is the event happening in the cave itself? or is that just the trigger for unlocking it?
hm, do you mean upon reaching that floor or as a condition if the player reaches that floor?
jinx LOL
The event is happening on the farm, I'm just trying to make it trigger if they reached it
okay, so you would need set one of your event preconditions to indicate they have reached that level, lemme see if there's a pre-existing vanilla one that you can use
(If not, you can make a TriggerAction to add a mailflag, and use that mailflag as the precondition)
thanks 
happy to help!
Hold on, for an event precondition, you have to do a little bit more than that. 😛
OH, it would be a GSQ, so more complex!
oh yeah
..double jinx LOL
make sure you use GameStateQuery MINE_LOWEST_LEVEL_REACHED <min> [max]
There's already an in-game event/quest marker for reaching level 100 of the skull caves, IIRC, which is why I wanted to check for vanilla mailflags first. 😛
oh yeah the iridium milk mr qi event?
aah smart! there's a page with all of em on the modding wiki
yea
Yeah, you can just piggyback off that pre-existing mailflag
wait so I would write it like this?
GameStateQuery MINE_LOWEST_LEVEL_REACHED 220 220
You don't need to set a max
the [ ] means it's optional IIRC
Oh ok didn't know that 
I could absolutely be wrong on that, but I would worry that setting 220 for both would stop the event from triggering if they got to floor 101 before seeing it, for example.
oh yea true
in the event code, do I write mr qi's name as MisterQi?
if they're in your event, check data/characters for their id!
ok I'll do that now
Looks like there is a mailflag for if the player drank the iridum milk? qiCave
for reference, yeah, the modding pages use this format for arguments
<required>
[optional] - if not included, it uses a default behavior, like max floor = infinite
[optional_1 optional_2] - an optional group, like when you need x and y together for a tile
[optional]+ - optional and you can just add any amount of them, separated by spaces
Awesome, thank you for the explanation, Esca!
thanks!
Last edited by Abagaianye on 2025-09-13 06:31:55
This is a list of all vanilla mail flags in the game that can be found by searching the game code.
This is so helpful
Thanks for sending never knew that even existed 
yeah, that was the one I mentioned earlier haha /nm
oh haha
sorry, I didn't see it
no worries!
it's really useful! i have it bookmarked bc I never stop doing dumb mod shit LMAO
lol
I must have completely missed where you mentioned it earlier, claude, 'cause I didn't see that post.
Same lol
hello! i have a small beginner problem. im making a new fruit crop (called moonberry) using content patcher, where the item is called "moonberries" similarly to cranberries. everything works, except for the fact that all products are called "dried moonberrieses" and "moonberries wine" and i cannot for the life of me figure out how to change it. i tried looking at the wiki and searching this channel and while i found how to somewhat do it, i cant get it to work. this is my second crop ever so excuse me if its something obvious lol
here is what i have so far. the fruit id is {{ModId}}_Moonberry. if i need to send anything else please let me know
{
"LogName": "Fix moonberrieses",
"Action": "EditData",
"Target": "Strings/Objects",
"Entries": {
"Jelly_Flavored_{{ModId}}_Moonberry_Name": "wghg43g",
"Wine_Flavored_{{ModId}}_Moonberry_Name": "wghg43g",
"DriedFruit_Flavored_{{ModId}}_Moonberry_Name": "wghg43g"
}
}
is it because {{ModId}} is there instead of my actual mod ID? is it the underscore before moonberry?
"wghg43g" is a placeholder. if nothing works because of that then... oops
Oh, there's a thing specifically for that, IIRC!
try editing strings/objects like this #making-mods-general message
yep that is what i based it on, but it doenst seem to work with the custom fruit id
but instead of 258 make it your object id
darn :(
it might be hardcoded then
did you try with the O
i tried both (O){{ModId}}_Moonberry and (O)Moonberry, so it seems like there is no luck here for me
i can just rename the item. no big deal just sligthly annoying
but wait, the dried fruit would still have the wrong name no?
it should be qualified item id
"Strings\\Objects:Jelly_Flavored_" + parsedItemData?.QualifiedItemId + "_Name"
Mind showing your code for the Data/Objects entry for the Moonberry just so we can make sure everything lines up?
yep give me a second
have the seeds as well since its loaded in the same action
{
"LogName": "Load moonberry items",
"Action": "EditData",
"Target": "Data/Objects",
"Entries": {
"{{ModId}}_MoonberrySeeds": {
"Name": "{{ModId}}_MoonberrySeeds",
"DisplayName": "{{i18n:MoonberrySeeds_name}}",
"Description": "{{i18n:MoonberrySeeds_desc}}",
"Type": "Seeds",
"Category": -74,
"Price": 0,
"Texture": "assets/Moonberry/Seed",
"SpriteIndex": 0,
"ExcludeFromShippingCollection": true
},
"{{ModId}}_Moonberry": {
"Name": "{{ModId}}_Moonberry",
"DisplayName": "{{i18n:Moonberry_name}}",
"Description": "{{i18n:Moonberry_desc}}",
"Type": "Fruit",
"Category": -79,
"Price": 85,
"Edibility": 25,
"IsDrink": false,
"Texture": "assets/Moonberry/Fruit",
"SpriteIndex": 0,
"ExcludeFromShippingCollection": true,
"ContextTags": [ "color_sand" ]
}
}
},
-# ohhh shit didn't see the earlier ones! sorry :/
when you change stuff are you creating a new moonberry jelly
i thought they are created automatically since i can see them in the item spawner mod. should i create my own?
Yeah, the old object won't get the new data
So you need to spawn in a new one when you update your mod and patch_reload or reopen the game
it may be cached to some degree, since flavored items be like that
if u want to be extra sure just fairy dust a preserve jar
i tested with fairy dust on my previous fruit but not this one 
based on decompile, Jelly_Flavored_(O){{ModId}}_Moonberry_Name is the key
If you were checking one that was already in your inventory, it wouldn't have changed
i might have forgotten to reload earlier.... oops
And yes, you'll need to change the Dried version also
or, it was this
might have been that
yep it was that. oh
well, thank you so much and sorry for taking your time!
We are here to help (and be helped)
now i have to actually give them names. thank you again and have a nice rest of your day/night!
Any way to make an item that opens an image sorta like a secret note, but its not a one-time use type of thing?
hmm, I think spacecore and meep has stuff like that?
6480 has an inspect tortilla mod that they allowed me to use as a base for my own stuffs, maybe check that out?
mhm!
ok thanks!
Well that tortilla looks familiar! 
Lol 
AAA
Hello, everyone! I've tried figuring it out on my own and haven't managed to get it to work as I have pretty basic level coding knowledge.
But I'm using Ash's Farmhouse Redesign and would like to have it with T's Apartment Mod. But the mods seem to conflict with each other. I was wondering if someone could help with merging/editing the mods so they work together. It would be for personal use only
what events do you think would make sense for formal wear? Community center re-opening, wedding, any other good ones? My mind might just be blanking
Joja completion thingimibobber.
Err...
Not many formal events I could think of beside those.
cool, thanks. I didn't think there was many but wanted to make sure from folks that are more familiar with the events than me
Yeah, the countryside isn't particularly known for being formal. /lh
Flower dance
These are 2 different farmhouse replacement mods right
Yes, as far as I am aware, they both edit the vanilla farmhouse
What exactly do you expect from a merge
The actual answer to this is that you probably have to go edit the tmx yourself
Yeah, thats what I've been trying to do it and its not working out so much for me 😩
does any framework have a "action on entry" map property?
That's just a trigger action with a LocationChanged trigger
i need it dependent on the map, location change wouldn't work in my case
It would. Just set the condition to check if the player is in a location using your map
for context, they're trying to do spacecore monster spawning in a dungeon, but the map sizes are different. it's my thinking that a regular trigger action to check for one of 58 variants of mines map would result in a ton of lag, right?
If you know which variants go to which floors, then no, it's not a ton of lag. I'm not familiar with spacecore dungeons to know how much control you have over the variants though
how is it not working out? What's the issue you are running into?
Do you control where the player spawns in a dungeon? If so, you could try putting a touch action on the spawn point, but I'm not totally sure if the player being put there counts as touching it
you'd have to move to trigger it which is kind of strange
I mean if spacecore is teleporting you into that tile, that would ideally count as touching it
Which would happen as soon as spacecore set things up
But I've not tested that
All else fails I'm sure chu would be fine adding that to MMAP
Say.
You know how the Skull Cavern uses music from the lowest layers of the mines?
Is there a way to replace them with unique tracks only for the cavern?
Everyone bulli me these days /lh
i'm pretty sure audio is special and can't be conditionally loaded or edited after the mod is loaded, so it would be replacing the lava levels too
You'd have to re-replace them when you exit the cavern
it's your generous nature lol
With their original files
It can be conditionally loaded and edited just fine, it's just that the condition is kind of a one time permanent thing once it happens
But another future edit can overwrite it
i see i see
but unlike most of it this one is a genuine feature suggestion!
Yeah I think my ehhh about it is mostly on how rare it is to have different map per location
yeahh its kind of better to have it in spacecore cus thats where the issue originated
is it rare because its not often useful or is it rare because its difficult to do fun things with it without a saviour like MMAP to help these poor unfortunate souls
I was, of course, talking about NOT directly replacing the files so they'd also appear in the mines.
Was just curious if there were a way to only do it in the caverns.
you cannot do it only in the caverns without replacing the audio
mid......
Are u suggesting that i should do a trigger action replace map 
Terror
i dont think that was a very obvious point since you did say "is there a way to replace them"
unfortunately the way described is the only way
at least until some mine music framework comes along, or already exists and i dont know about it
I am thinking about doing it at least since it'd probably help with traction explosion perf issues
People can do that themselves with conditional EditMaps
Well then.
Next best thing would be to make it so the new tracks play alongside the Vanilla ones only in the caverns.
That's probably possible?
It's just question of whether it's a ActionOnEntry list or a ManualTriggerActionOnEntry
I guess the 2nd option is more flexible 
secret third option: First one then point them to BETAS for the TriggerAction trigger action action action 
Oh the agony.
(the second one is more flexible and what i would go with)
@pale river here
(fwiw i think boxo's issue is actually what nic had a month back so casey maybe fixed it)
no need to make it require Manual though if you didnt want it to
see the file sent below
yep thank god she screenshotted my log so i could confirm lol
Hello, how are you? Could you help me get the settings we added to a mod via GMCM to recognize the translation tokens? Because it’s showing up like this and I don’t know why. A friend who checked the files told me she doesn’t know why it isn’t working, since she was able to do it for her own mod.
The i18n has to be named very specifically
You want EnableSakura not Sakura
im gonna mail you air packaged air thank yoh very much for everything; u reallyd dint have to spend like one hour with me on this hahah ❤️☺️
The i18n has to be named exactly the same as the key basically
mr beast??
i only wish i would have remembered the wording of that error sooner so i could have saved us both some time lol
also there are more recent builds of spacecore in here from like a week ago, but idk if they're experimental or not
Ok, I’ll try it, I’m not very sure I understand it
Ty
Your i18n key is Config.Sakura.Description. Your key is EnableSakura. So it should be Config.EnableSakura.Description
oooohhh
Now I understand, thank you so much!
I am not sure how I can iterate through the player inventory. I have tried printing out Game1.player.Items but it just prints StardewValley.Inventories.Inventory in the console.
I am trying to use a foreach loop but I am not sure what the class type would be?
foreach (<unsure> item in Game1.player.Items)
{ print item name }
It works!!
Thanks!!!
You can use var item in situations like that, and in Visual Studio at least, you can highlight item to see the actual class, and/or right click var and find an option to replace it with the class.
In this specific case, Items is an Inventory, and Inventory is a collection of Item instances. You'd probably want to log item.QualifiedItemId or some such to see what each one is.
I have now grasped Event Limiter Exceptions
Thank you, I will give that a try 🙂↕️
(they're easy to do, I just didn't realize they were a thing :V)
I had a user who couldn't meet Bill because his intro kept getting event limited out, whoops
i know the answer is probably no, but is there any way with CP or some framework to make items that boost the horse's speed?
like the same effect carrots have, but with a different item
i don't remember if there's a context tag you can use for that
seems like it's specific to the ID, this is the horse C# check
if (!this.ateCarrotToday && who.Items.Count > who.CurrentToolIndex && who.Items[who.CurrentToolIndex] is Object { QualifiedItemId: "(O)Carrot" })```
so probably no with just CP, and I've never heard anyone mention that framework option at least
(looks like the permanent buff from a horse book is also ID-specific)
obligatory "this is a perfect candidate for a first C# mod"
I got somewhere now!
I am not sure how I can access item.QualifiedItemId
the inventory can contain null (empty slots)
aka items[i] can be null and you have to check for it
QualifiedItemId is just a field like the others
yep, something like items[i]?.QualifiedItemId should work
? will leave the text blank if the item is null, without the error caused by trying to check fields on a null item
the longer alternative being something like
if (items[i] is null)
//log something about that fact
else
//log the way you already were```
This makes a lot more sense now!
I know why my code didn't work before...
I was calling it like this:
...
var item = items[i]
item.Name.QualifiedItemId
I was calling it on a string the whole time 😆
also ngl I'm now 10% more likely to make a unified animal treats framework
Okay, I take a break now. Thank you Esca and Selph for the help! 
I will continue to slowly chip away at the Combine Machine mod, I want to see if I can add custom machines to have the same functionality 
brain needs to learn more about C#, feels so distant from Java 
you're talking about Combine Machines on Nexus? its source is available, and I looked at it; to make it work with modded machines you need to dehardcode it so it uses the 1.6 machine data instead of a static list of BCs
One Day i will Use EMC to make simple machine upgrades mod
(I looked into it some time ago; I would send a PR but 1. it doesn't seem like the author's active since 1.6 release, and 2. I don't play with it lol)
Not today
Yes I have been reading the source on my free time 👀
But yeah machines changed a lot tbh i think it's more useful to understand the system from ground up and decide what you want to do
Don't get tied up for code written for bygone era
I will do that, thank you 🙂
I want to see if I can make it without using harmony first 
Don't get frighten by the harmony patched game code warning from smapi either 
now you've given me hope that it's not that hard to do, but i'm kind of scared of C#
but maybe I’ll give it a shot idk
it's probably as straightforward as a button pressed event, and in the code check that
- the player's active item is the required item
- the cursor is hovering above the horse
- if the horse's carrot field is not set, consume the item and set the carrot field
though obviously I'm familiar with C# and it's straightforward to me
honestly, i don't even know where to start, it'd be my first try with C# and i'm kinda lost
i'll see how I can figure it out
thanks for breaking it down like that, it'll definitely make things easier if i decide to give it a shot
Basically I change the tiles in tmx and it doesn't change to the right place since I guess it affects the farmhouse from original to completely upgraded is my guess. I think I might be missing changes
@next plaza hi, sorry for the ping 3 days ago, you can ignore that one; but I found a bug with spacecore dungeons that the mineshafts don't work; ladders work fine though; I'll provide a json but it will take me 5 minutes
https://smapi.io/json/none/2b27e23e2f414f20baace190e5f25d3b
https://smapi.io/json/none/57e709c36ac2452e8385385cd5f936cf
I got the bug with steam so i have to restart my computer
Log Info: SMAPI 4.5.1 with SDV 1.6.15 build 24356 on macOS Unix 14.6.1, with 5 C# mods and 1 content packs.
do I need to add a mod to cheats
what do you mean?
has anyone tried to make machines that can input and output Items that aren't Objects? i've been trying to subclass Object to make a class that can be used as machine with arbitrary Items, but it's not going very well because some of the relevant methods aren't virtual and some of the logic seems to be in external classes that look at public fields on the machine and expect them to be Objects
it's annoying but there is working example in extra machine configs
the solution there is a intermediate holder object
ah, thankyou!
Hello I’m working on a clock with moving hands that the farmer can set for alarm similar to the clock setup in Pokémon.
I was thinking of making watch mod
hi hello, im having an error and i think it's bc of my formatting (i just kinda copied and pasted before and tried recreating it for new entries from other forms).
!json for future reference, you should upload your code and share it via this site. but you need to close your Entries block; you can hover over brackets in notepad++ and see the corresponding pair (or if it's missing a corresponding bracket)
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.
https://smapi.io/json/content-patcher/2b8c28e4528948cd892712ab733a3cec i closed it (im pretty sure, highlighting shows the closing bracket) but it still says theres an issue on 94
sorry im new to mods, would adding this affect the playstyle of my game? i only want to have cosmetic changes. not gameplay related
missing comma
each patch (a block that has an action) needs to be enclosed in brackets {}, and each block inside of a patch that has brackets needs to be closed as well. you closed the Entries block but not the patch itself
also, i see you're replacing shane with your NPC. are you interested in instead adding a custom NPC? it's almost the same amount of work, but easier in some places because you don't have to untangle them from stuff like vanilla events
yeah, i just thought it'd be funny
im editing the json right now though in the meantime
i'm getting the same error for the same line but i closed the patch and the bracket inside
looks to me like you } closed the Entries block in the previous action, but didn't also close the action itself
oh like that line that connects them?
ideally it'd look like ```json
// ...
"HitBySlingshot": "OWWWWWW FUUUUUUUCCCKKKKKK!!!!!!!!!!$10",
}
},
{
"Action": "EditData",
// ...
yay! Thank you, I guess I did close everything else properly but didn't format the end of the dialogue changes when I added new things for mail and such
Looking for advice
How difficult is it to add a sound file that plays when text loads? I wanna add text sounds to a mod and wanted to know how much trouble it'll be
In line with my discussion the other day re: esst scarp apparently overheating someone's CPU... are there any ways i can optimize it?
Where could one find the font used specifically for characters' names under their portraits when they speak?
Spriter's Resource ain't doing too good and the game files themselves don't tell a lot either.
Hey, guess who has to rewrite the pack loading process again to be able to implement retro-compatibility?
not an expert on this, but it sounds like you'll need to use C# cuz I don't think that's exposed in data
I figured I was probably using C# (my only coding experience is in C#)
Do you mean something like this mod? https://www.nexusmods.com/stardewvalley/mods/42338
Or for non-dialogue messages?
Oh specifically for dialogue!
Ichor hiding bangers in github
That'll make your endeavour way easier, with this framework x)
Oh hey Mr. Duck XD
Hi! :3
Hi everyone, I'm working on a custom event where my NPC approaches Willy while he is fishing. I want Willy to finish his fishing animation (16×64) and then return to his normal standing/talking sprite (16×32) to continue the conversation. I’ve referenced the vanilla JuicyBugsWanted event, but that cutscene ends without showing the transition back to idle. I tried using the stopAnimation and ShowFrame command to handle the animation, but after the animation stops, I end up with two Willys on screen. Is there a way to transition him from the fishing frame back to his default sprite so he can face my NPC and continue the dialogue?
Can you use a dynamic token inside of an i18n key?
Like {{i18n:{{DynamicToken}}.1}}
Yes
Awesome! Thank you!
when doing stop animation make his sprite go back to index 0
Is there any kind of basic info one needs to know before making a custom farm?
I really wish to make one with vanilla sprites but I basically have zero knowledge on how to make it work
I tried map editor mod and it was interesting but there's surely a more convinient tool which everyone use
well I guess the problem is that I used addTemporaryActor to set the height for Willy sprites and can not reset it🥲
[[Modding:Farm_data]]
Authors typically use Tiled. For more information, see [[Modding:Maps]]
!startmodding if you're new to making mods, you should also read this
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.
what you will want to make is a content patcher mod
Thank you ❤️
I realize it's a lot of information all at once, but if you take your time with it, it's not too hard to understand
I'm sure its not that hard to make content packs, but later i'd love to implement some coding too
There's a lot you can do with just framework mods, but if you do end up needing c# for a feature, there's a guide for that on the wiki as well.
C# and programming in general has more of a learning curve than content packs. All of us blacksmiths in the channel would be happy to help you learn it if need be, just be aware that it is an entirely new skill you'd be learning.
Content packs still use some code: it's JSON, while SMAPI mods use C#.
content packs do require writing JSON, but JSON doesn't require general programming knowledge to write, so it's a bit more approachable
thene you can delete the temporary actor but i dont think you need a temporary actor
Hmm but then how to use the fishing animation for Willy without temporaryactor? The height of the sprite is different from the common one because of the fishing rod🤔
i feel like you could with extendSourceRect and extend it vertically but idk
is there a way to do a when check for whether a specific trigger action has been run? it doesn't seem like there's mail flags or CT for that
iirc the fishing animation is hardcoded
why not just warp the sprite offscreen and warp the actual willy where it was
theres also that command to basically fuse the temp sprite to the npc or w/e isnt there
i don't think this is what i need? not sure
i basically need to patch in some warp tiles after running a map update trigger action with mmap
otherwise the warp tiles will exist even if theres no map patch lmao
{
"Action": "EditData",
"Target": "Data/TriggerActions",
"Entries": {
"{{ModId}}_younameit": {
"Id": "{{ModId}}_younameit",
"Trigger": "that mmap trigger action",
"Condition": "location = whatever location",
"Actions": [
"update map"
]
}
}
}
]```
wait perhaps i could just add a traction that adds a CT and gate the warp tiles behind that
wait no if the CT runs out, my warp tiles will disappear lmao
there’s a GSQ PLAYER_HAS_RUN_TRIGGER_ACTION <player> <id>+ Whether the specified player(s) have applied any of the specified trigger actions.
or you could set a mail flag as one of the traction actions
yeah i know of that one, i was wondering if i could use that in a when check
but it's a condition so i was trying to find the right way to set it up
what is a map update trigger action
GSQs resolve to bools so i think you can just shove it in a token? let me check
or maybe i have it the wrong way around
the map override thing
i forget whatever i'm reading after 2 seconds
they are persistent until you remove them
yes but i need warp tiles with them
but they are not supposed to exist until i run the override traction
otherwise you'd just step onto the tile and warp, right?
wait let me just grab the code
touchaction warps accept a mailflag as one of it's args
which let you control if the warp is active
"Action": "EditData",
"Target": "Data/TriggerActions",
"Entries": {
"{{ModId}}_MMAPWoodsWarp": {
"Id": "{{ModId}}_MMAPWoodsWarp",
"Trigger": "DayStarted",
"Condition": "PLAYER_VISITED_LOCATION Any Woods, WEATHER Target GreenRain", //super creative condition until i figure out something better
"Actions": [
"mushymato.MMAP_UpdateMapOverride Woods + {{ModID}}_WoodsWarp"
]
}
}
}```
"LogName": "Add magic warp tiles from Woods to mushroom meadow",
"Action": "EditMap",
"When": { "HasMod:| contains=FlashShifter.StardewValleyExpandedCP": false },
"Target": "Maps/Woods",
"MapTiles": [
{
"Position": { "X": 48, "Y": 26 },
"Layer": "Back",
"SetProperties": {
"TouchAction": "MagicWarp {{ModID}}_MushroomMeadow 39 21" } },
{
"Position": { "X": 48, "Y": 27 },
"Layer": "Back",
"SetProperties": {
"TouchAction": "MagicWarp {{ModID}}_MushroomMeadow 39 21" } }
]
},
```
hm i guess im just confused about why this even needs mmap map override
it seems like the kind of thing a normal editmap would be sufficient for
i'm already using mmap anyway, i can be extra like that
the mmap feature is for actively changing the map in middle of day 
but putting that aside u should just put the TouchAction in the map override tmx
or do EditMap targeting the loaded map asset
being extra can be an actively bad thing if not required, in terms of functionality and/or optimization
instead of targeting Maps/Woods
still i dont see any benefit of u using the funky map override thing here if its just gonna be a day started deal
button don't bonk me 
what would I be bonking you for
okay no let me be serious now
i somehow assumed what i wanted to achieve needed a trigger action
well if u wanted something like
shroom appear when player uses item
then yea thats the kind of thing the mmap map override is for 
the advice is the same though, put any map things on the map override's map asset
don't split them into map override and also regular editmap targetting the base map, that kinda defeat purpose
the main limitation is no map property only tile property 
yeah makes sense
I'll see if doing a regular editmap is enough for what i wanna do, otherwise i'll be fancy and do it with the trigger action thing
also i get the functionality and optimization argument, i was just being silly
thank you, chu 
i mean it not as a personal attack or anything I just like a nicely optimized json. please insert here that one emote chu likes to use of that character tucked into bed
if you don't know the one then feel free to make one up in your head to get the point of lightheartedness across 😌



Yes those
Thank you chu
I only write my CP files in manually minified JSON.
I usually do a :V, don't need any particular emoji set for The Duck Face
It was the unbothered sleeping I wanted to get across more than the face
The "it's not a big deal, I'm sleeping" vibe
noo i wasn't feeling attacked! all cool, i'm also character tucked into bed here
Anyone know how to make a tillable spot give you an item with Content Patcher?
you can use FTMs buried spots or UBs digspots for that
thanks
(adding new drops to dig spots is technically vanilla, but FTM/UB/SpaceCore/etc. allows adding new dig spots entirely instead of having your drops compete with other drops in vanilla dig spots)
(all depends on your needs)
Does anyone have a favorite mod manager? Not loving the whole pulling zip files from Nexus mods and hand installing them.
Stardrop
I think he means the artifact dig spots with the little worms
No, like for example from secret notes where it tells you to dig at a certain spot
yes for those you need eg. ftm or ub
Has anyone used that with a steamdeck for example?
This channel is for making mods
You probably want #modded-stardew
I don't use a mod manager bc it makes build process complicated
stardew is the only game I dont use a mod manager for tbh
I'm going insane. I'd like to come up with at least two more brand new monster concepts before I begin spriting. Problem is almost all my ideas go to the volcano due to my bias. Yikes.
I've got a cool trilobite enemy that uses the spider as a base on my mind, but if I send it to the volcano, I'd have a whopping four monsters for the damn thing.
Of course, I could distribute them to different floors, especially when there's a pre-set miniscule amount, but I'd like to hear your feedback on the matter.
If you need more context regarding any of the other monsters, go right ahead and ask.
good afternoon all
does anyone know if it’s possible to ‘split screen’/show two characters in two different locations at once on screen during an event to simulate a phone call?
You'll need to make a separate map that simulate that
So have one unique map with half of it being one location, the other half another one, with a border in-between to simulate it being two different spaces, and then your characters would just be inside their respective space
oh sweet thank you! I guess my mod-making work time later will include looking up mapmaking LOL
Will be super useful anyways!!!
[[Modding:Maps]] start here
Yeah usually the player sees the event because the farmer can see the scene, and a split-screen phone call would imply the farmer is able to see both sides
There are some "farmer-less" events, but they are more rare
In vanilla phonecall events you don't usually hear the phonecall right
Like leah calling her ex
i mean yeah but its also just a usual form of storytelling and i would love for it to be tried
tyvm! and didn’t know farm computer bot could do that, noted 🩷
helloooo is there a way to add a universal gift dialog response for NPCs with a certain gift taste?
does accept item keys not do what you want
Help, some people are saying my mod's not working for them and when looking at their logs they contain a ERROR game An error occurred in the base update loop: System.Collections.Generic.KeyNotFoundException: Required location 'Polydot.PolyCarts_Expa' not found. but I don't get why it wouldn't exist, as it DOES exist when I look at the patchsummary
{
"Action": "Load",
"LogName": "Location Load Expa",
"Target": "Maps/Polydot.PolyCarts_Expa",
"FromFile": "assets/Expa/Expa.tmx"
},
{
"Action": "EditData",
"LogName": "Location EditData Expa",
"Target": "Data/Locations",
"Entries": {
"Polydot.PolyCarts_Expa": {
"DisplayName": "Expa",
"DefaultArrivalTile": {
"X": 19,
"Y": 19
},
"CreateOnLoad": {
"MapPath": "Maps/Polydot.PolyCarts_Expa"
},
"Music": [
{
"Track": "woodsTheme"
}
]
}
}
},```
OH, I mean for like every npc
nop theres nothing for that
..it's for a joke mod I don't wanna put too much energy into this-
aww okay
1.6.16 request time!
send the entire log
i would just do the vanilla characters anyways
this is the only one that is still kept by smapi but it doesn't show the summary
Log Info: SMAPI 4.5.1 with SDV 1.6.15 build 24356 on Windows 11 (10.0.22631.0), with 56 C# mods and 227 content packs.
oh, not true!
https://smapi.io/log/ebef522f7c9d4a2d9895f02678fa1370
Log Info: SMAPI 4.4.0 with SDV 1.6.15 build 24356 on Windows 10 (10.0.19045.0), with 34 C# mods and 46 content packs.
this is a multiplayer game, does everyone have matching mods?
lol, no there's 70 mismatched mods in the log...
the other one doesn't have that though
yeah, and while the host did have the same isssue it resolved itself for him
in that first log, Daily Screenshot is the one triggering access of these locations and subsequently dying
I'm currently listing all chocolate and garlic items to set them as hated gifts for a dog NPC... Why must Wildflour’s have so many chocolate based items!! 
it might be doing things too early, or in a way that doesn't work very well in mp
i think wag has a context tag for chocolate items?
do they not have some kind of chocolate_item context tag?
while genuinely disgusting, someone mentioned they fixed it buy shoving my code into an AI ||end me|| and it produced something that apparently works but means nothing to me?
{
"Action": "EditData",
"Target": "Data/TriggeredActions",
"Entries": {
"{{ModId}}_ForceCreateExpa": {
"Id": "{{ModId}}_ForceCreateExpa",
"Trigger": "DayStarted", // Or SaveLoaded
"Condition": "!LOCATION_NAME_HERE Polydot.PolyCarts_Expa", // Only run if location doesn't exist
"Actions": [
"LoadLocation Polydot.PolyCarts_Expa"
]
}
}
}```
LoadLocation isn't a trigger action that exists afaik
barring rando ass mods adding something
None of that would work
That’s what I was wondering, but it’s not listed on the modding wiki (I didn’t check in the mod files directly, maybe I should have done that first 😂 )
The only correct thing there is "EditData" and "DayStarted"
yeah okay that's kinda what I thought, as literally nothing in this made sense to me lol
From a glance at Daily Screenshot's code, that specific error might be due to farmhand currentLocation null stuff
but yea i dont think there is anything for you to do they are the ones who have to make sure their location adding mods match up
you can also hold an item in game and type list_tags i think
I'll mention that at least and see if the issue persists.
Still don't get the issue with the second log though
Personally, I wouldn't recommend worrying about any issues until they have matching mods.
Unfortunately Wildflour’s items does not seem to have a chocolate_item context tag from what I'm seeing in the mod files :(
if u really want to dive deep into this, you will have to get their save file
i think this is more effort than worth
yeah but that one doesn't show mismatched mods
You could always give them the chocolate_item tag
that sucks :/
I changed
"MapPath": "Maps\\Polydot.PolyCarts_Expa"
to
"MapPath": "Maps/Polydot.PolyCarts_Expa"
though
I might do that, would make things easier in the long run. But I still got to list them at least one time. 😔
Or chocolate_allergen, cause white chocolate is not deadly for dogs
just cause I didn't quite get that either, does that work or does that break something?
smapi normalizes \\ into / so there is no difference
if you want you can go ask wildflour about adding tag like this 
oh, the one WARN it does show is apparently also related to mismatched mods
why do people not read 
That is for an extremely specific use case when you think about it. I prefer not to bother them, especially when I started doing the work myself.
no i think it's reasonable since context tag improves compat for all future situations
maybe someone's npc loves choco
if u mean WARNING: Mismatched UI Mode Push/Pop counts. Correcting. that's not mismatched mods
that's when the game crashed while drawing a menu of some kind
hi guys can anyone tell me where the beginner modders are gathering? I trying to make a dumb window and I'm afraid the wiki isn't gonna cut it so I want to see what other ppl are doing and try to identify a pattern
it tries to fix by yeeting the menu
Would rather slip it as a suggestion then, seems like a more appropriate approach to me.
this is the channel to ask anything 
what did you have for breakfast chu
water
so in order to make a standalone window, that won't replace any other window in game, do i need to have a dependency on custom furniture?
like that mod custom furniture? or is there anything new? maybe i'm outdated
I did, but I read it's usually caused by mismatched mods
ah you only need content patcher to add furniture now 
(most definitely not)
https://stardewvalleywiki.com/Modding:Furniture take look at this page
u can also use me mod if u want https://www.nexusmods.com/stardewvalley/mods/41037
okay well I will leave it at a lie in that case and report back when they report back lmao
window furniture have some specialness, you can only make them 1 wide, and you need to include the night sprite right after the day sprite
!unpack
Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!
take a look at how vanilla windows are arranged and do it same way
thank you! I've been actually trying to do exactly that, I unpacked the game files and am trying to understand how everything works
apparently all i managed was to break one of the windows
What if I want to make a 2x2 window? Or a 3x7 window?
oh omfg, I'd been wracking my brain over an issue reported by a bunch of people now for so long, and it took a good friend to just DM me with the issue to figure out what it was.
After completing the Frontier Farm minecart quest, it takes like a week before they actually start working because of a conversation topic or smth
so I just needed to add one tiny when condition, fixed
Yeah my first window was supposed to take the full height of the wall, but it was cropped, so I had to change the png
maybe I'm being too ambitious because I'm trying to make this window work so I can use it with dynamic windows, so I made a static and an animated one
hm idk off hand if window also had to be exactly 2 height 
I've spent more time reading other people's mods than playing I need to take a break probably
windows have to be 2 high yeah, you need Furniture Framework for larger windows
even if they weren't misaligned, the 1x2 light glow will always appear in the topleft
so i have another dumb question what is the difference between Furniture Framework and Custom Furniture?
does dynamic window do anything about it
So, it only works with the vanilla windows until now
custom furniture doesn't actually work anymore
no way I have a few mods that need it
should I just remove it?
Custom Furniture is an outdated framework from way back when you couldn't easily make custom anything. Furniture Framework is a modern framework that takes the current furniture data models and extends them for extra/flexible functionality
I also have it but I couldn't understand the difference
thank you!
current furniture data models
aren't they still strings for now
yea
hm so u can make a bigger than 1 2 window but if the bounds r 1 3 then u cant put them on walls 
;-;
if u make the bounds 1 2 then u get this lol
RIP lol
so do i have to use a negative number?
Can you do it with FF?
furniture hardcoding goes brrr
man ok I have to work on this
well probably, but i don't know if you can use FF window with dynamic window
negative numbers are illegal
no I said it wrong wait
man why is dynamic windows content pack for (grumbling)
the screenshot from dynamic window indicates that it just supports bigger windows though
altho the window looks fine here. not sure if i actually fixed it in data or made some c# garbage to realign it manually
well I was think about making a single 1 tile window
And then make it so I can just use a lot of them on the wall
ok yeah I need to go back to the drawing board
well u are not allowed to put more than 1 furniture on 1 1x3 slice of wall 
left-right windows does sound smart tho
You could use like window modules yeah, like part 1 and part 2 make a complete window together
But it’d still be limited to 2 tiles tall
the docs r pretty sparse tbh, so im not sure what the correct way to do bigger window is 
wait idk if I'm saying it correctly. From what I gathered, the vanilla windows occupy a the wall from a certain height, which means I can't make them go all the way floor to ceiling
im referring to the fact that dynamic windows showcase bigger windows on the mod page
yeah they're all to tiles tall
yeah idk how the dude did that
well it's their mod in C# and presumably dehardcoded stuff 
contacted them alr, waiting for reply hehe
Mod that makes window wallpapers when? /j
;-;
okay see I'm being too ambitious
eh it's just not knowing about various vanilla hardcoding bits 
that's what I'm thinking too
Can't even do a full floor to ceiling working window and already want to make interactable animated ones
what the actual fuck
my tiny little grass resprite is the 22nd most downloaded SDV mod on CurseForge???????
if u want to just have a big panorama bg and don't care about placing the windows
yeah curseforge isnt that popular
i'd just make map edit 
it has 1.5K downloads on Nexus, it has 236.7K on CF
I totally get it I really could but every time I open the game and look at the windows I want to make one
I dreamed abt it alr
It's dumb
You got this
lmao
what the hell hahahahhahahahahhahahaha
but i dont think what you want is impossible 
its just this example pack they have right https://www.nexusmods.com/stardewvalley/mods/41590
probably isn't for someone who knows what they're doing
!anyonecancook
It’s a difficult beginner project but I think you can 100% do it if you really want to and put the work into it
yeah, they just have the example pack
but yea it really isn't about possible or impossible here more like "can do with just content patcher" or "need to learn C#"
in this case im pretty sure they did the C# needed already
thank you, I'm going to focus on figuring that part out. Until now it seems like it's most likely the latter
but i am obviously not the author and the docs on how to is unclear, hence advice is go ask the creator 
on it!
Okay guys, thank you once again and sorry for overtaking the conversation I've been wracking my brain because I rly liked the idea of little windows that open and all
it was that freaking puddle and the butterfly gifs
It was quite a fun conversation
this channel was made for struggle tangents 🙂↕️
kekeke hopefully I'll be back with a solution to my own problem and if I ever post smth on nexus I'll dedicate it to this server
Everyone here’s super friendly and helpful, even i’ve been bullied, thrown, tempted into working on one of my 3 dream mod ideas
I'm 65% sure someone already figured this out and I don't want to reinvent the wheel, I usually try to keep just the necessary mods for my game to run the way I want to a minimum... I only have like 900 mods according to smapi

I'm gonna go figure this out or even better, find someone smarter who already did
Thanks once again
oh great news it took me five minutes to realize the author had already uploaded another version of the template and the one I had was old because I might've been trying to to this on and off for a month or more (now onto my next mod idea)
so it's probably just copy and pasting stuff now
great
bye
lmao
How difficult would it be to change the UI?
if you just mean visual changes like "i want to make the cursor a cat and i want the loading screen to be cats", then it's doable with content patcher using EditImage. if you mean "i want to completely redo the menus" then pretty difficult and will definitely require C#
Just visual change, so that's good to hear!
https://www.nexusmods.com/stardewvalley/mods/39379 look at this mod (or anything similar) for an example
Ooooh that's so cute
I decided I wanted to make the UI look like Animal Crossing for my Animal Crossing mod lol
cute!
I'm in need for a logic and formula check. "When": {"Query: ({{Year}} - 1) % 4 = 0": true} Would this theoretically work for "patch only on Year 1 and every 4 years after?"
i think so, but you should also be able to do {{Year}} % 4 = 1
Oh dang you're right. 😅 Thank you!
For anyone with a mod that uses StardewUI, have you encountered gamepad users who were unable to navigate parts of your menu? I don't have a controller to test the same conditions, but I can fake some version of it by forcing the game to treat the keyboard as a gamepad. By doing so I can't replicate the reported issue - I tested this a lot during development, so I would've caught it then and this is the first such complaint since release 8 months ago. I'm asking in case there's some obvious things I can try changing to try to get it to work for them. Or if there's some other way for me to test gamepad compatibility, that might let me replicate the issue myself. For reference, the latest comment on my mod describes specifics: https://www.nexusmods.com/stardewvalley/mods/28256?tab=posts
yea i gotten similar reports that i never reproduced even with a controller, and my theory is some specific combo of screen size and ui scale is no good
sometimes i wonder if it's platform specific even 
useful to know, at least. Maybe some check that could use some epsilon of added distance to extend a search for somewhere for the cursor to go to, but not much I can do about that
Hello! I havent ever gotten super deep into this game and im in the middle of my second playthrough, im at Spring Year 2 rn and i was wondering from you guys if it would be a bad idea to add stardew valley expanded after already playing for an ingame year, i really dont wanna reset the work ive already done but i am curious about the mod.
You want to ask this in #modded-stardew, not here (here is for making mods)
Okey
@tawdry hazel I saw the discussion about your window ideas, and I'm just going to advertise FF a bit: with it, you can make a window of visually any size (I think the bounding box height is still limited by the wall), positioned like you want on the wall. You can customize the light glow, and use the on/off state of the Furniture to add interactibility (not sure if that would be enough for what you want). There's also a feature to change the sprite depending on day/night (also affected by weather), like the vanilla windows. With the CP compatibility, you can change the sprites depending on season and weather pretty easily.
Good luck making the window of your dreams, with or without FF!
@jaunty shuttle you might also be interested by this
Oh and I asked the author of Dynamic Window if I could see their code to maybe make FF compatible with it in the future because it seems to have pretty cool features (might not be possible, but worth a try)
Hello! I'm newer to mod creation but I've been emblazoned after making my first asset replacement mod in content patcher. I got an idea from the github board for a glittering water retexture and it seems like a fun idea. I understand mostly how to create/insert assets, but I would ideally like to make it compatible with dynamic reflections and was wondering if anybody had advice on how to approach that (or to know if it's something I even need to be worried about).
Hi! If it's just retexture, then Dynamic Reflection should already be compatible with it.
Thank you so much!! 
Would it be possible to change the nasty line spouses say about a messy house at random? Just overwrite it to something normal?
you can change it, yeah.
either by overwriting the strings or in their dialogue
also they don't say it at random
Oooo
they say it if your house is "messy" (furniture blocking their path and such)
Yeah even when it isnt
nope, you just didn't notice that you blocked their path
Oh awesome, thank you! 
@ivory plume considering making a PR for smapi to support forgejo releases on arbitrary instances, is that something that'd be of appeal?
TIL you don't need to "load" overlays.
the more you know. 🙃
Hi! Do you mean for update checks, or something else?
#modded-stardew is the channel for discussing modded gameplay 
Oh sorry!
I have a horrible suspicion that furniture may in fact be disk bottlenecked
since the texture sheets seem to be loaded when the furniture is instanced
yep, for mod updates
I'm hesitant to support that because single-mod update checks are very inefficient and expensive for the update-check server (compared to CurseForge/ModDrop/Nexus, where SMAPI can pre-fetch every mod version in bulk). We have it for GitHub mainly because it predates bulk update checks, but at least we can assume that the GitHub API will usually have good uptime and performance. Arbitrary servers don't even have that, so it potentially increases performance issues with update checks.
local update checks when
ah, true, that does explain why github is an option
I'm editing a json and it's been ages... any reason why VSC is telling me
Unable to load schema from 'https://smapi.io/schemas/i18n.json': Location https://smapi.io/schemas/i18n.json is untrusted.json(65538)
Is this something I can fix or...
did you open your workspace in restricted mode?
I've changed nothing, so I imagine not
Other than the odd VSC update over the months since I've been in this code
hm, I see VSC has a "trusted domains" setting which means I can probably add smapi.io to that
Yeah, that handled it... not sure when that trusted domains setting got added/checked
Hello everyone!
I’d like to introduce my new mod: PerPlayerFarm.
It allows each invited player to have their own individual farm instance, providing a more personalized multiplayer experience.
You can find it here:
https://www.nexusmods.com/stardewvalley/mods/38441
Feedback and suggestions are welcome!
Sounds nice! If you're advertising try #modded-stardew
yay it worked thanks so much
it was super confusing but I think I got it
it's important to just mess around in tiled and draw stupid things before you get set on making a proper map 
it is pretty interesting
only thing I wonder is how I copy properties like collision or water tile being fishable
I suppose it is something with layers
all tiles have properties, either explicitly from 🟪 tile object layers, or implicitly from the properties as defined in the tileset
you can add properties to any arbitrary tile explicitly by creating tile objects, or to all instances of a tile by editing the properties in the tileset for that tile
if you want to copy all tileset tile properties from a map, including animations, you should generally use the 'export tileset' (from vanilla map) and 'embed tileset' (in your custom map) buttons in the tileset viewer
or 'replace tileset' (in your custom map) button if the tileset already exists in your map, but without the properties you need
It's mentioned on the map page, but there's two ways to do it-
- you can apply it to the tilesheet directly, and then all copies of a placed tile will have that property
- you can use TileData objects to apply properties to single specific tiles
it's usually sufficient to just start working from a copy of a vanilla map file that already has all the tilesets you need with all the appropriate properties, but obviously if you need more tilesets then you'll need to export/embed/replace
you can choose not to embed the tileset and simply use the TSX file generated on export, but this has some niche issues that can brick your map
i however stand with TSX files and dedicate my life to understanding their bullshit
sounds like you should be PRing Tiled to fix these tsx issues
i will do no such thing
i did say should, not would, after all
i should do no such thing 🤝
i should also mention that one common 'gotcha' in tiled is that tilesets are not equal or the same just because they share the same image. for example, the outdoors tileset in the Forest map is different to the same in the Mountain, and both have different tile properties and animations depending on which tiles are being used in the map. if you sample a tile with the Stamp tool in the Mountain and paste it in the Forest map, it'll copy the entire Mountain outdoors tileset in your map as a duplicate
so it's important either to avoid copying tiles between maps, or know how to best use the export/embed/replace tileset features to combine the duplicates when they come up
something to really think about before completely understanding
on the other hand, the 🟪 tile object layer items can safely be copied between maps if you want to quickly copy some explicit/arbitrary tile properties from one map to another, since they don't actually use any tileset
Ill reread everything tomorrow with a fresh head
this is plenty of stuff to test before realising that they really do
thank you for the details 🙏
no worries, ask here if you have any questions
maps are fun, just a few pitfalls to watch out for
Okay, say, for example I'm not naming any names, someone is so bad at technology that they had to reset their computer, again, and, again not naming any names, accidentally lost months worth of progress. Where do I start again?
Or rather, that person start again?
Yeah, no that person is totally me
with something small in scope so they can feel motivation, then building from there
having some backup of sort to have less anxiety about losing stuff again
yeah, at this point, having a backup is probably a good thing...
I'll start small then, thank you
Can I get a quick pointer/vocabulary-word for this? I'm wanting to create something very much like the Traveling cart - that is, a map feature that may or may not be there, has a minimally-animated shopkeeper, and can be clicked on to do shopping. And this is in a C# mod. Any good canonical examples of that kind of thing?
The best time to set up a github repo for your work was x amount of monhts ago. The second best time is today! Highly recommended.
I'll definietly look into it as soon as I stop downloading everything, thank you. And who knows, maybe 5th times the charm
So I've got a question - I'm trying to add in a few colorful eggs, and I want them to be worth more money leading up to the egg festival. Is the best way to do this with dynamic tokens, which I then reference in the price field? It just feels a little clunky. This is what I've got
{
"Name": "IndianRunnerEggPrice",
"Value": 50 //PLACEHOLDER VALUE
},
{
"Name": "IndianRunnerEggPrice",
"Value": "Query: {{IndianRunnerEggPrice}} * 1.5",
"When": {
"Season": "Spring",
"Day": "{{Range: 7, 13}}"
}
},
{
"Name": "BlueEggPrice",
"Value": 50 //PLACEHOLDER VALUE
},
{
"Name": "BlueEggPrice",
"Value": "Query: {{BlueEggPrice}} * 1.5",
"When": {
"Season": "Spring",
"Day": "{{Range: 7, 13}}"
} ```
the problem with changing price in data is that existing items don't have their prices updated
that's fine, I'm not trying to change prices for existing items
the other problem is that what if your new eggs stack into the old ones
anyway to answer your question I don't think CP supports self referential tokens like that (EDIT: no it does)
it would work if you pull the base price into another token though
or just put the base value into it
A dynamic token can use itself in its value
dynamic tokens can use itself yes
Who knows, I'm very dumb
CP will complain if you pass a float into the int price field
The main caveat is that it will use the value of itself at that point in the list, ofc, and not a further down value
Even if the further down value is also valid
yeah the mental model is that they "run" top down
that's what I thought! I've been getting into the documentation and I'm starting to feel a little less lost on the pages about tokens and config files haha
I can't actually remember if cases like this could get optimised by buttons work or not.
it is technically an immutable entry that then gets consumed by a deterministic second entry.
My what
the other question is, could I add a When condition and have it take the object ID into account? Becuase if that would work, I could just have one token ColorfulEggPrice, assign it a value based on which of the 3 eggs it was, then tell it to multiply by 1.5 during the week before the egg festival
was it button or chu that I nerd sniped, I can't remember
Chue i think
Sounds like a chu thing because I have no idea
names not aligning to github hurts
No
My github username aligns!!
Can't say the same for chu though. But chu is mushymato
was chu I nerdsniped then
Where the fuck can I find dinner
(behind foreach, content modders perhaps yearns for "get existing value of field as a token" the most)
Is Selph matchy matchy on github
Regex. References
no, I use my government name
Selph is zombifier
and my steam name also differs lol
last I checked your github isn't decending into insanity
Well my steam name differs but also I dont use my steam name here and also I need to fix it
Smh my username matches just not the display name
and also I don't actually use Tumblr aside from lurking but my name there differs too
I don't think I really have any online references left that point to anything other than SinZ (plus either 163 or 167 suffixes where needed due to being taken)
been using it consistently since late 2009 early 2010.
though there was a year or two period early on where it was S1NZ on minecraft for reasons
all my minecraft, stardew, dota, etc used SinZ.
Halo CE I used OMalley
Did you do stuff with dynamic tokens chu
Wait what did I snipe you with
that is what the PR is about
sinz wanted to do some token immutability improvements but i didnt do it
i was talking about myself 
i did it when pathos house fixed but i missed the wave oop
Is ur PR in or not yet?
no bc i missed the wave
wow, I just made an event that won't end itself after I added basic movement lol
back to the drawing board after I kill this smapi instance
any idea why debug would say the event script: move is stuck at (82%)? (Paraphrased) I can't even skip the event for some reason...
and I did put skippable
what does your log say?
no errors, but I forgot to put a facing direction after the character's name when stopping the animation, so I'm hoping that's it
@jaunty shuttle i closed your bug report on nexus too bc i can't do anything about it from my end, but do let me know if you need help on converting kids over or anything
ok, I can skip the event this time thankfully, but after adding the direction my character is still moving forver, and in the wrong direction...
the x y and facing cords all look fine to me
can you send your log and event script
i'd also check that you're not pathing them into Buildings or anything
I'm going to try a little more to see if I can figure it out myself, but if I can't, I'll upload over the event script
thanks
good luck!
oh, would trying to make a temp actor go into the void where a non npc warp exists affect anything?
because I don't see an issue with the code
I remember being confused by something that I think was Unique ID but I can't remember how. Is it still "<your name>:<mod name>" or is it something else?
right, okay thank you
A colon can introduce parsing issues so I would advise against it (notably with Content Patcher token input)
(It actually might be strictly barred from UniqueIds anyway now that I think about it)
then what is {{ModID}} thing again?
Oh, okay, I think I understand again now. Thank you
Ok, I can't seem to figure out why my actor goes to the right infinitely insteat of upwards and why the event can't end itself. Is anyting apparent in the event code here? "parcy.mrNPC.intro/Time 600 1700": " continue/16 2/farmer 14 23 3/skippable/addTemporaryActor Mystery 16 32 16 2 2 false Character/--(X,Y, & facing direction)/animate Mystery false true 150 0 1 2 3/playSound bob/pause 1000/playSound bob/pause 1500/playSound bob/pause 1000/stopAnimation Mystery 2/playSound bob/move Mystery 16 -1 0/pause 2000/end "
no smapi errors either.
I feel like the animate command might be breaking something, but I have no idea why it would...
Ok... I read over that but clearly misunderstood it then. I'm still not sure I get it, because I'm only moving it in one direction. Sorry if the question's kind of dumb. I'm not sure what to change still
When you write a move command, one of the first two numbers has to be 0. You've got 16 -1, meaning you're trying to move Mystery 16 tiles right and 1 tile up at the same time.
What's the difference between a content pack and a smapi mod again?
Content Packs are written using json in the format that the relevant framework mod has specified. They require the framework mod in order to work. A SMAPI mod is written using C#. It doesn't require any other mod to work, only SMAPI.
content pack: written in JSON, needs a framework like content patcher or similar. broadly considered easier to learn for beginners
SMAPI mod: written in C#, can do pretty much anything you can make it do. higher level of difficulty for beginners because of its versatility
Content packs are more accessible to most people because they merely require learning the data format that the framework sets rather than learning an entire programming language.
right, I remember now, thank you
another dumb question, what are update keys?
I feel like I should know this already, but I think I have the flue and its kinda hard to think right now
They are the unique identifier for the mod on the website they're uploaded to (e.g., Nexus) that SMAPI and mod managers use to alert users to mod updates. A Nexus mod update key is the number of the mod page in the URL.
thank you
if you make a private mod page, you should copy paste those numbers into your manfiest json before uploading
It needs to be done before people download it
(Fun fact: There is no limitation requiring that a Content Pack may only be json and nothing else)
right, okay, I think I understand now. thank you
Some people are quite good at c# here!
oh yeah didn't someone make a TOML mod before?
what's a toml mod?
TOML is a language like JSON
That one NPC helper uses TOML (sort of) and there is a YAML loader for content patcher as well
TMXL could use Lua as well
Json is very easy to use and supported by the use of Newtonsoft for SMAPI, though, unlike other options
I was just thinking about lua the other day
I know nothing coding wise, but I heard it's a pretty lightweight language and good for making games
Would probably still take me months to learn though 😅
I think the sort of things people used to do by lua via tmxl is now simply done by trigger action actions
Ok, I changed move Mystery 16 -1 0 to move Mystery 0 -1 0. Am I still misunderstanding somthing, or should my character be moving more than one tile up?
-1 will move them one tile up*
*results may vary because moving one tile at a time can be weird
Oh, I guess I'm still confusing it with being the Y tile location I want the npc to end up one
not the tile amount moved
Ok
so -2 should move more right?
yep, -2 would move them two tiles up
i'm sure you aren't lol
Where is the gold clock sprite? Having trouble
should be in Buildings chief
I’m designing a clock face
alternatively you can use the community centre clock which should be in LooseSprites/Cursors
I wanna fix a mod but idk how to mod can someone help me
I can send the mod if you want me to
!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.
what mod are you trying to 'fix'?
It's this mod https://www.nexusmods.com/stardewvalley/mods/9851
I do not have any moding experience but if you are willing to help I would appreciate it
Uh, do you have permission from the mod author to update it?
What is that
What is permission?
Ik what permission is but what permission
bblueberry is still an active mod author both on nexus and in this discord server so, I'd suggest trying to ask them if they plan on updating it before you try and update it yourself.
Laurie is assuming that you intend to share a fixed version of the mod with others. If so, you'd need permission from blueberry because the mod is not open source.
@brave fable do you plan on updating the kitchen community center
Love of cooking is a great mod btw
well. maybe i should've clarified. It'd be best if you sent them a message on nexusmods or if you dm-ed them instead
i'm not sure they'll see this or if they do appreciate pings at all
But don't do it now you've pinged her
Well if they say no can you help me fix it
Nope, closed perms means that nobody else can do it for you
I mean no to updating it
We can point you to resources for how to learn C# and Stardew modding though :)
For some people, very easy. For others, the hardest thing they've ever attempted. How much programming experience do you have?
Ummm, like the thing you do in some video games to attack faster?
I don't think that counts as programming? Unless i'm misunderstanding the situation here.
Anyhow, I don't think we'll be helping you update any of bblueberry's mods just yet, until you've talked to her
but again, i'm gonna direct you to this.
I get that
But can I fix it on my own
Or is that still breaking the rules?
Sorry I'm new
If blueberry allows you to update it for personal use then you're welcome to fix it on your own. Personal use means you're not going to share the updated version with anyone else.
As for us helping you, I'm not sure(?) I'm also a little bit iffy about stuff like this, sorry.
Ok thanks
Are these crab sprites meant to be, like, directional?
I think so?
hi, ive never actually looked at what needs fixing or updating in the mod since it was truly miserable working with bundle code haha. maybe it's simple, maybe instant, maybe it'll take forever, you're welcome to submit a merge request into the repo on github linked from the mod page if you're interested in working on an update
Hi. Im currently working on a majoras mask mod. One of the masks I want to implement is the Giant mask. But I can’t get the character to get bigger. It stays the same. Anyone an Idee how to implement this
If you're looking to make characters bigger than the maximum size allowed by Stardew, you can use PoohCore
And the hitbox ?
Are you making an NPC or a monster?
Hey, sorry but I have another dumb question, how do I know if the mod I'm making is C# or a content pack. I'm hoping to add a new map and several new NPCs if that helps any.
well unless you plan on doing something fancy, a map + some new npcs can be done with just CP
thank you
The player it self. If it wears a specific mask it should go bigger.
the farmer renderer is kind of very cursed
(it's not even all sprite textures iirc, some of it is drawn dynamically)
Currently I have also a frog mask. It worn while sleeping, the next day will rainy. But I’m thinking to change it to that rain starts when worn or stops when deequipt. What’s your opinion.
Hm. Ok thanks
https://smapi.io/json/manifest/befe620fb8fe423bacd09c47339172a2
What does "Expected Array but got string" mean?
wrong format somewhere, like having just text when it expect { or something like that
let me check format for keys
right, okay. thank you
"UpdateKeys": [ "Nexus:NUMBERHERE" ],
update keys can list several sites so it needs a way to know which one you're refering to
I'll change it, thank you for your patience
when talking about format, it's the version of the mod itself and not Stardew, right?
The format field in the content.json? Or are you still in the manifest.json?
content.json, sorry
In the content.json it's the version number of Content Patcher
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.
!json wikipedia
JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.
If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.
When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.
sorry, what's the command to have a wikipedia take me to a page that explains what json I do after making the manifest?
or is it just format, changes, and then I leave the rest to put on the page of my actual event?
Try reading through this: https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide.md
thank you
I'm sorry, I'm still a little confused. What should I work on after making a manifest?
Writing the mod
write okay, and I don't need a json file to load anything, right? I can just put it into the mod that I'm currently working on - an event for this instance - and it'll automatically pull it up from the folder?
I'm not sure what you're asking. Yes you need a json file. If you don't have a content.json you don't have a mod.
content.json, that's what I'm missing. Sorry for the confusion. I knew I was missing something I just didn't know what
thank you
I figured that might be the case. It's worth noting though that UC adds a child renaming feature. I'll reach out to them 
Oh btw, do you prefer to be pinged for bug stuff on here or have it submitted on nexus?
Bug reports on here or nexus is fine, but it's hard to give real time help on nexus
One of the reasons why hmk has custom kid stuff is that I felt like it's going to be pain in the ass compat situation 
Hence the recommendation to just adapt other kid mods if you can rather than trying to get UC and HMK to behave nicely together
Lol yeah 100% fair
since I'm focusing on writing the events out before spending money on the project, is there anything I need to add:
Can you please share your events.json? Your content.json is wrong but without seeing your events.json I am not sure whether it's just wrong because the Target is wrong or if it's wrong because it should be an Include patch rather than a Load.
sorry, haven't written them yet. I thought the order was manifest -> json -> event.


