#making-mods-general
1 messages · Page 275 of 1
Pff... berrieses
Weedses
makes perfect sense
does schema go above or below the format
Below
ah oke i got it right then
i added the hardmode section ++ moved the entire arimarket.json to content.json in the sunberry file i created
ah
(which schema)
CP schema? i think
ConfigSchema
Are you trying to make a config or no:
I guess just to be safe
well kai added schema to my code to fix it , so.
Well that.... That probably didn't actually fix anything
It just alerts to errors and ignores some, like trailing commas
"$schema" doesn't actually do anything in game, it just changes what error handling happens in your text editor
I believe that takes extra setup to work in VSCode
{
"Format": "2.6.0",
"$schema": "https://smapi.io/schemas/content-patcher.json",
"Changes":
(...)```
is the start of the sunberry RSSI patch im makin, :P
Since CP ignores comments and vsc (the one im using) doesn't, it just makes things less annoying
!vscjsonc
In Visual Studio Code, go to File -> Preferences -> Settings, then search for "associations", and in the "Associations" setting, click the Add Item button to add an item with key *.json and value jsonc (see image).
If you are making a content pack for Content Patcher, you should consider using its json schema so that VSCode can tell you if your patches are valid, you simply have to add
"$schema": "https://smapi.io/schemas/content-patcher.json"
at the start of your content.json file.
You can change your VSC settings so it doesn't complain about trailing commas at all for JSON files regardless of whether you have the CP schema present
Which I do because I don't bother with the schema
im fine with having a buff icon as long as it stays throughout multiple days and won't be overwritten
i did try to make it configurable, but im still not too sure on how to make the menu appear in the gmcm ( unless all i really do need is a config.json file with the corresponding names )
not in the same menu as RSSI this tim e
All you need is a configschema
It will auto geneerate a config.json on load, and that's what will show up in gmcm
ah
Oh whew, I just wrote my advancedMove command wrong. Please let that be the only problem 🤞
Nothing I do makes my shop work 😭
Going to bed for real this time, gonna bug y'all tomorrow sometime :p
Only a few changed files since last time it worked 😭
Just a couple
That's... Totally wrong
oh thats what the configschema should look like
Have you ever looked at the config section on whatever wiki page had the instructions for making a mod
eh
some wikis confuse me more than help me understand
Please do not refuse to read the docs, Dottie.
We aren't your personal guides and we're not here to do work you refuse to do.
The docs outline everything you need to know
okok
i also didnt see the config part of the wiki anyway
but ye lemme look at that now
{
"LogName": "Schedule",
"Action": "Load",
"Target": "Characters/schedules/Bella",
"FromFile": "assets/schedules/Bella.json",
"When": {
"HasSeenEvent": "16554812"
}
},
❓
Then the basic idea is to look at trigger actions to use the AddBuff action, game state queries to set up the "Condition" field, and buffs to create a custom one. You can use CP to edit all of the data for that.
The base game only has a few basic trigger timings, though, so you'd probably need SpaceCore's OnItemEaten or some such. I'm not familiar personally, but someone else might be. (Also I don't think max health is a supported stat either, now that I check that wiki page.
Buffing defense might be the closest option.)
Here's an example content.json file for a CP pack that I happen to have already. At the start of each day, it adds a buff if the current player has the mail flag in "Condition": https://smapi.io/json/content-patcher/de157f091fc949a6b13e7a43395a6c84
You'd probably need to set up a second trigger with SpaceCore's addons to make it set a mail flag after eating, and also apply the buff right away.
(also it uses the TileSheets\\retro_furnitureFront texture because it has a lot of blank space, so the icon should be hidden)
I've done a buff on item eaten with spacecore
welp, time to add the other.. 3? 2? shops
i already lost count of sunberries shops lmao
i think theres actually 8
can someone explain(or help me find on a wiki) how to set a mail flag after eating an item? ive only really made simple maps and unobtainable items so im pretty inexperienced
As stated before: By default, there is no trigger action for eating an item-- you will likely need SpaceCore for that: https://github.com/spacechase0/StardewValleyMods/tree/develop/SpaceCore/docs
spacechase0.SpaceCore_OnItemUsed - use item GSQ conditions to check the right item, make sure to set UseForTriggerAction in ObjectExtensionData (see further below) for that item to true
spacechase0.SpaceCore_OnItemEaten - use item GSQ conditions to check the right item```
im very confused, first of all, what does GSQ mean? second of all, what do i put where?(like, do i put SpaceCore_OnItemEaten: <something> in my item's file?)
Guys which mod allows you to have 3 kids from github? I will download it
GSQ means game state query https://stardewvalleywiki.com/Modding:Game_state_queries and you will need to write a trigger action https://stardewvalleywiki.com/Modding:Trigger_actions to add the buff and set the mail flag.
Let me know
@lucid iron its her/his mod
im having a bit of trouble figuring out what exactly to do, can you make a simple item that upon eating adds a mailflag?
I can show you an example of something that uses the trigger you need and the condition to use (though if you want to use item ID rather than context tag, you will have to find the right GSQ for that - I can't open my Firefox right now so I can't search for it). You'll need to search the trigger actions page for the actions you want, since mine won't be quite what you're after because it's an action that adds one random buff from a list of buffs instead of just adding one buff. I think there's a vanilla AddBuff action.
{
"LogName": "Add Trigger Actions",
"Action": "EditData",
"Target": "Data/TriggerActions",
"Entries": {
"{{ModID}}_Buff": { // Apply a random buff for the rest of the day once the Mysterious Candy is eaten
"Id": "{{ModID}}_Buff",
"Trigger": "spacechase0.SpaceCore_OnItemEaten",
"MarkActionApplied": false,
"Condition": "ITEM_CONTEXT_TAG Input trick_treat",
"Actions": [
'Spiderbuttons.BETAS_RandomAction "AddBuff statue_of_blessings_0 {{BuffDuration}}" "AddBuff statue_of_blessings_1 {{BuffDuration}}"',
"AddMail All {{ModID}}_Graveyard now"
]
}
}
}
See how you go using this example, the SpaceCore docs, and the trigger actions & GSQ pages to figure out your own. If you get stuck I can try to help you.
It's very frustrating for us to have to answer the same question for you over and over again when you keep coming back and asking it like we didn't. Scroll up to the last time you asked this, the link will be there.
oke guys, now im regret using chatgpt... have to write it from zero
don't make the same mistake as me
Yes don't use it or else XD
It will spit out useless code
didn't we warn you about that before you even started?
There are like 100000 messages so ofc I wont find it.besides it was said that you get any help here in this channel no matter what
You can use the search feature, and nobody here is paid to be here, we're doing you a favour when we offer help and if you refuse to put in any effort and act like you're entitled to our time, a lot of people will stop.
If you are making a mod and you were already helped, there's a search feature
They aren't making a mod, scarlett, they want the download link to a mod we already linked them to like ten times.
Adding on bc i feel like ive seen a lot of this lately, it's like. Impossible to help when said person doesn't even try to do anything
That's what i meant, you get help here if you are making a mod not any help of any kind
I tried duh
Jeez people are so mean here like thank god im not the only one who noticed that
@outer glacier
we're mean for not answering the same question ten times because you can't be asked to actually read our answer the first nine times? if that's mean I'm okay with being mean
You send me link only once and you all kept spamming so I lost it and didnt see
And the link for that mod was sent ONCE
it's not mod MAKING related tho so you're in the wrong place to begin with
anyway, I'm going to put you on ignore now
Ty
So where can I text? These channels are confusing
Each channel has a description
#modded-stardew is for the usual mod talk about what mod people rec etc
Okay thanks
yay i got it working(i didn't bother with having the buff the same day as what really matters to me is not having to care about how many buff foods do i have)
on another note, I think for the ten heart dialogue for my NPCs I gonna use that random thingie for some more variety
maybe. tho for now i am ok with just weekly dialogue lol
four times I could find at a glance btw 
First quarterly update of the year is out. 
https://www.nexusmods.com/stardewvalley/mods/10294
yoooo
Yeahh I suspected that was what happened
I'm sorry you feel that way but we were all trying to help :(
I swear there's a console command to export game files from when the game is loaded, but I can't find the command for it anywhere (I'm trying to see what's going on with a texture recolor).
I thought it was patch export <filepath>
that should be it afaik
Thanks
Like when yesterday I came here foe the first time some people were sarcastic and made fun
It keeps saying that it's not a valid command for some reason? Unless I somehow deleted a file that makes it not work
do you have console commands
I really do hope you can find what you're wanting 😔
or did you miss the folder name in front of the file
...no wait that probs has a diff error message, hm
I put patch export TileSheets/furniture.png
Get rid of the file extension
Thank you, quill
What are your WIPs?
Maybe this month I come out of retirement after all

I have a few! A UI recolour that requires significant work to get it 1.6 ready because I stated working on it during 1.5, a food mod, a soda mod, and a few fun ideas that are currently on the backburner (No assets exist for them yet because I haven't started working on them)
Those sound awesome! :D
I don't really showcase my WIPs here, but I'll appear out of the woodwork with a finished mod at some point - uni's been really kicking my butt, haha
Sniping me with a pat, eh Dora 
Get patted, nerd. 

So many WIPs so little time
so much time spent trying to fix weird issues
Is there a context tag that prevents something from being put in the dehydrator
The red mushrooms can't go in, so maybe something they have? Or it might be the other way around and only certain context tags can go in.
Also has anyone had any experience doing wild tree spawning with maps?
I think red mushrooms dont have the edible_mushroom tag which lets them be dehydrated
which wouldn't work with the berries since they're a fruit
I suppose 'berrieses' is kinda funny though
any reason why Pink and Yellow couches sit me on the left side (bad), while the Green couch sits me in the middle (good)? the collision and sprite size data is identical:```json
"{{ID}}_Flower_Couch_P": "{{ID}}_Flower_Couch_P/couch/2 2/2 1/1/1500/-1/{{i18n:furniture.flower_couch.name}}/209/{{PATH_S}}\Sprites\Furniture/true",
"{{ID}}_Flower_Couch_Y": "{{ID}}_Flower_Couch_Y/couch/2 2/2 1/1/1500/-1/{{i18n:furniture.flower_couch.name}}/211/{{PATH_S}}\Sprites\Furniture/true",
"{{ID}}_Flower_Couch_G": "{{ID}}_Flower_Couch_G/couch/2 2/2 1/1/1500/-1/{{i18n:furniture.flower_couch.name}}/213/{{PATH_S}}\Sprites\Furniture/true",
(ignore my idiot wife)
my god... those are so cute...
There is an override to that one
Check how cranberry wine works
thank you
also for context I have both of these done but I get the warning in the console that it doesnt have the 'SpawnTree' property still
(for what i was referencing with trees and what not)
check out Strings/Objects for the cranberry stuff
though hmm the dried fruit override is not used in vanilla
you want to add something like DriedFruit_Flavored_(O)YourItem_Name to override the dried fruits name for your flavor
and youre sure its all on the paths layers? 
yuhp
right. the green couch has rotation 0 and the yellow couch has rotation -2 (?? ??? ? ?)
These couches look tasty
huh weird
very... im also getting like, weird tiles where i cant walk into them even though there is literally nothing on any layer other than the back layer for them so
it's very fun /sarc
you sure theres nothing on them? maybe you have selected empty tiles and put them on the building layer. those usually are not noticeable
happened to me when i put down my petrified tree
delightful :3
you can put empty tiles down? and then interact with them?
like they actually become a solid object?
when they are on the buildings layer, yea
how would i even be able to tell :L
thats the fun thing
by carefully checking your map in tiled from time to time, or using Data Layers to check it ingame
you dont until you walk into em
right, data layers can tell. which i usually dont remember i have(like rtf)
not sure bout your tree tho
is everything else on the paths layers working?
also, have you tried a different tree ID
oh my god so THAT'S how i put the barriers against the wood paths
huh... yeah I looked at your furniture data Blueberry and that... should work ? I dont even know where the -2 could be coming from lmao
yes, and yes
i have one for both the fiddleheads and the mushroom tree u_u neither work
and i havea bunch of other stuff on the paths layer, including mahogany trees which do spawn
huh, mahagony spawns? I was about to wonder if you tried RTF the whole map but if mahagony does spawn...
wait did you have the mahagony later or before
Added all of it at the same time - though tbf Mahogany is its own tile, it's unrelated to the tile that spawns the other trees
Mahogany tile u_u
you did try RTF or a new save tho right
new save, yes, i dont know what RTF means though
!rtf
Reset Terrain Features (https://smapi.io/mods/#Reset_Terrain_Features) is a mod that lets you reset, clear, or generate everything that spawns on a map using an in-game menu. That's especially useful when changing maps mid-save, as the debris will otherwise use the old layout (causing things like trees in the water or bushes blocking exits).
OH oh that's what you mean
the reset terrain features thing would be something i'd do if it wasnt spamming the error in the console
Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Home, with 23 C# mods and 1 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
I want to create an event and have learned some basic things, but what I’m wondering about is coordinates in a map. How do modders accurately determine the exact position of a character in the map to create events?
nunu need da answer
You can open the map file in Tiled to check or you can use a mod like Lookup Anything or Debug Mode to find them in game
oh
how :)
I just told you?
oh my god... all of the spawn tree things have a space
Hello! This message was translated from Portuguese.
In this field, if there is nothing to be provided, should I insert an empty string or null?
aight i have another question. I wanna test the mod fast and immediately. How so :) I don't wanna load the game over and over
patch reload YourUniqueID
Neither, it's an optional field so you can just not include it.
You must provide a Texture if you want to make an animal
I don't think it's optional despite what wiki says
I don't wanna ask too much but where should i put that magic line in? The debugger or?
SMAPI window
ohhhhh... thank
I am working on a project where we create Content Patcher files using Python, but I find myself confused.
Texture: Optional[str] = None
I think None could be a solution, but the wiki suggests a possible default value.
If you put null in this field you get the error chicken
Which is not what you want if you are actually making an animal mod
I recommend looking at an animal mod like this
To see what fields are needed to obtain a functional animal
thank you! 😄
thank you to! 😄
bro, your tips are actually useful and help me a lot. Can you share more tips? :)
if you wanted
Yes, read the Content Patcher documentation, it's helpful
this?
Yup and then the other ones inside the author-guide folder too
alright
MissingMethodException: Method not found: '?'.
??? ? ??
every day a new and exciting error
unrelated, but i tried changing the couch furniture from earlier to armchair and it still gives some random 0 or -2 value for currentRotation when spawned in. i have no idea
Does vanilla armchair do that
I pumped out a retexture mod for the default bed! Where would I post the link to the nexus page?
I'd say #modded-stardew
vanilla armchairs have 4 rotations, this one has 1
What if u have 3 dummy rotations does it help
that would unhelp because it'd change the sitting position and collision size in every rotation
looks pretty good. does your object appear in CJB item spawner, and can it be added by typing debug f farmertoy in the SMAPI console? does it appear in the jojamart inventory?
can you share your SMAPI log?
!log
Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.
Please share your SMAPI log file. To do so:
- Open this page: smapi.io/log.
- Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
- After uploading, it will show a green box with a URL to share. Post that URL here.
Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didn’t occur in your last session, please load the game to the point where the issue occurs, then upload the log.
Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 6 C# mods and 1 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
Turns out I JUST met the requirements to request the mod author role :D
Do I need to tag someone in particular for it?
DM bouncer
this should work:
https://smapi.io/json/content-patcher/325d810d58aa4f609ac73cface3e19f9
your indentation hid the fact that you were missing a few } closing braces
might also want to change your Load Target to "{{ModId}}/objects"
GOSH thank you so much
consistent indentation saves time, and best of all, it's free ☀️
(This looks so beautiful!! I love your edits!)
sorry agsfg i went off to clean the kitchen
Meanwhile in "what does this user comment even mean"...
Can you add a feature that can be made first from a backpack
(That's a comment on Better Crafting, for context)
Did they mean something like, Casey’s satchel mod? Idk
What would you do if when you okay so he said yes would go?
All you C# modders out there: is there a standard way to get the ModTranslationClassBuilder thing (I18n) to give you a random key, or should I just go ahead and put them all into an enum?
Like random from every possible key?
I would the raw translation helper instead
Oh? I've been looking for examples on doing random stuff with either. Do you have a mod I can go look at?
https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Translation
string label = helper.Translation.Get("item-type.label.{Random.Shared.NextInt(0, 5)}");
Something like this i guess, wrote on phone no warranty
Nice. Thank you very much, chu!
The modtranslationclassbuilder just gives u convenient static wrappers over this
Hmmmm. I'd have to be passing helper around in order to use the regular one though
Just make it static I won't judge
Lol!!
I dunno why u r doing this in C# tho
Because I'm sick of getting tokens to work. I want a foreach and CP doesn't have one
So I'm going to make it work one way or another
Seems like a very reimplement CP kinda thing
If you do this but still have a CP part you now have translations in 2 places
Eh. My WeddingAnniversaries CP thing already writes over ALL marriage dialogue, and is still prone to getting killed for special events and stuff. So why not just manipulate the dialogue stack directly?
the idea is to replace the CP version
Just have the translation folder in the new place
Then i would approach it as a framework
Patch the spouse dialogue stuff so it picks from special dialogue asset
Then you and other people can do edits targeting that dialogue asset
It's fine if u wanna provide defaults directly in C# ofc, simply load to said asset
chu is reminding me that lacey has a few i18n strings in the C# component and i regret it a bit
Hmmmmm. So... if I made it as a framework, I would still use it with CP. I think
?
So... framework mod + cp mod (different things)
You could, but again u can just load stuff in C#
it's mostly the strings for the GMCM menu so it's not like it's a meaningful amount of content, but i do kind of want to redo it
i'll do it when i break up the i18n into a folder so translations only have one big file rearrangement shock instead of two
I am grokking about 60% of this right now. Will have to go look at other framework mods I guess and see how they let others hook into them
In mmap i have some default data like this for a custom asset
Can't use tokens obviously but i load it when i am init the asset
Idk, this is new and I am just going to have to dig for awhile. Thank you, chu
Hello, so I've been working o my first mod which is a Cottage for rental, that should appear at Robin's shop. After this step, I'll work on a rental system. But I can't get it to appear in the game at all. Any ideas?
Are you attempting to get it to appear in the Construct Farm Buildings menu, or somewhere else?
For the carpenter buildings menu, you need to make sure Robin is assigned as the Builder as part of your Data/Buildings entry
What does rental mean
@rigid musk you were nice and you said that you hope someone will make that mod for babies age!! MY FRIEND MADE IT!!! Thank you for being nice
It makes the cabin available to rent overnight for NPCs and tourists.
Hello does anyone know how to update codes do that the mod is useable again?
Here's the thing... I have a full time job and a toddler at home, so time is an issue. Added to that, I'm a total beginner with creating mods... so If anyone is interested in teaming up, it would be great!
Ah that's neat, i assume there's C# component though
I have a basic guide for adding a new farm building
Stardew Valley 1.6 revamped how buildings works and now you can add a new building with just Content Patcher. There are also new ways to add textures/skins to existing buildings that have advantages over previous methods. This guide will walk through how to use these features, starting from "put my new building in the game please". If your goal ...
It doesn't cover how to add interiors yet
Need to use the indoor map stuff and tmx
I'm using the same interior as the shed for now... but I haven't tried if it works yet because it won't load in the game
Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.
Please share your SMAPI log file. To do so:
- Open this page: smapi.io/log.
- Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
- After uploading, it will show a green box with a URL to share. Post that URL here.
Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didn’t occur in your last session, please load the game to the point where the issue occurs, then upload the log.
!json
JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.
If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.
When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.
which mod are you looking to update
thats a C# mod, so you would need to use C# to update it
Oh damn it
can anyone tell me why SMAPI would be invalidating my mod while patching? is this normal?
full log - https://smapi.io/log/a22cb0456fee4c85811113f4b8436057
invalidating the cache means SMAPI is going to let mods edit them again when the edits change instead of using cached values
that's normal
if a cache was never invalidated then the assets would never change
okay cool, im back to step 1 for troubleshooting 😂 thanks guys
Guys, about the hairdata, do you know the parameters passed in the string?
example:
"100": "hairstyles2/0/0/true/-1/false"
After many attempts, I couldn't find the information on the wiki.
!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.
https://stardewvalleywiki.com/Modding:Migrate_to_Stardew_Valley_1.5#Custom_hairstyles
seems it was never given its own page
thanksss!!!
Hi, I have an old mod that I made that used DGA to create a custom item and AT to give the player the option to pick different variations. Now that DGA is abandoned, I'm looking for other ways to implement this item as simply as possible.
Basically it's a personal computer meant to function as a TV. AT works fine with it so long as it's only changing the custom object, but unfortunately what I was using DGA for was to assign the screen's dimensions and locations, as they don't line up with already existing game TVs.
I was wondering if there was a way to either A) tell AT where the screen is so that it can be used with a budget TV or B) create the custom item again using CP.
I know that FF is also a framework that can work, and I've seen others use Calcifier, but the later has no documentation and the former isn't working for me. (Namely I can't seem to add it to Robin's shop as an item and all of the other TV mods that do something similar do this via a custom catalog which I don't understand how to make and also feels like it's over-complicating things.)
yeah I think custom TV is one of DGA's features that isnt ported to the game/CP yet
FF does support it, so post your code if you have questions as to why it doesnt work?
Sure, thanks for the help.
adding it to shops/catalogues is just CP tho
The item isn't really showing up in Robin's shop for me to test if it works in the game or not.
Here's the whole mod zipped if that'll help things.
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.
I think I added it correctly via CP but this is new to me and I might have made a noob mistake somwhere.
also you can use CJB item spawner to spawn in items (though im sure you want to get your shop data working too)
Ah, so looks like my CP folder is actually gone now. Which might explain things.
Though if I can add it via FF that could be ideal too.
Is the cp mode for ff out yet?
This is the content.json for the main FF item.
I know the AT version works, since it was working in 1.5 when I was testing.
did you check that your item shows up in cjb item spawner?
I didn't, but I'll do that once the game loads.
i think i remember a wiki thing(prob content patcher) on making a crafting recipe can someone give me the link?
Oh, wait, I did but it didn't show up when I looked up the names.
your code looks fine (comparing against the FF sample pack)
Sorry, my memory isn't the best.
That's good to know. I'll add a CP to edit Robin's shop for now.
Ohhh! Wait, I think I found the issue. I was using the old Format 1 and I needed to be using Format 2.
@sullen girder You leveled up to Cowpoke. You can now speak in our voice channels and share images in all channels!
I just labeled it Format 2 by mistake.
oh wait, it seems to be missing some closing brackets?
That sounds like something I'd do too, lol. I'm gonna just start fresh with the content.json
does anyone have Alex's overworld sprites? I can't access my laptop at the moment
idk how to word this so bare with me
is it possible to tell the game to replace one area of a map so that i dont have to replace the whole map just like one part or nah
I edited it from having two entries to one entry, so yeah, I probably mucked that bit up.
!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!
Yes.
i already have it unpacked
i just can't access my laptop yet
I'm not home
You can make a CP patch of a specific map area to overlay over the OG map you're wanting to edit.
I don't think it'd be good to send unpacked files directly 
ooh
Atm I cannot remember how to do this though.
What is the purpose?
atleast in dms maybe?
I'm making a sprite replacement mod
#making-mods-art
i want to change the tree by marnie's ranch and twealk the world a little bit to fix some errors
Then a CP patch will do that well enough, but keep in mind conflicts with other mods that also edit those areas. Like SVE.
How would you test the mod without access to PC 
errors being my own errors that are caused by different sized of things
i need to place the sprites into the sheet BEFORE i can even test it
yea >.< i'd have to make some compatibility patches
but I don't have the sheet yet
Look- just say you can't send it and I'll wait till i get home and do it myself
thanks regardless
Found the documentation.
tyyy
Perhaps just reference a mod like this then
(side note, the author of FF has a thread here, you can ask there too if you want
https://discord.com/channels/137344473976799233/1340345659642875915)
Oh thanks! I'll do that if I get too stumped.
@astral prism: “||next time I should make a modmod/extension teaser as the april fools- "Zuzu Left Town"- which adds the ability to leave the big city to settle down in a small town remarkably like the base game but with everyone (besides harvey) having moustaches"- that is all. That's the silly idea||” (364d ago)
Any common errors that would cause a shop to not display it's stock?
It should have at least a couple things
https://smapi.io/json/none/5428896dafcd4f27ad21c3c6471ab4dd
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Pro, with 32 C# mods and 31 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
item id needs a (O)
which means the fruit should be there
oh wait u got multiple shops there. which one has the issue?
pahahahahaha
Harvz is there still a DTZuzu disc? I left a while back
Can you try giving one of the entries a custom ID instead of having it default to the ItemID?
So, as an example:
"Cloth": {"Id": "Cloth","ItemId": "(O)428"}, as one of your data models inside the Items list ([ ])
The game tries to default to using the ItemId for the shop item entry Id if you exclude it, but if you've got the same one repeated, they can mess with each other's stock limits.
@vernal crest thank you for doing that whole thing with spacecore ! i did it :3 now i justh ave to make it properly seasonal.. and properly weight them all lmao
I will try this!
I feel like mobile users are gonna be pretty disappointed when I tell them they wont be able to use anything arena related... but i aint doing an entirely different thing for that I don't have the patience AND i cant test it so 💃🕺💃✨ no arena for them
maybe spacecore will be compatible with mobile one day
and item extensions
Hey y'all! I'm making a mod that upgrades the greenhouse, and I wanted to start off with something simple like a sprinkler system. Heres the content patcher JSON:
"Action": "EditData",
"Target": "Data/Blueprints",
"Entries": {
"GreenhouseOverhaul.GreenhouseSprinklerUpgrade": {
"Name": "Greenhouse Sprinkler Upgrade",
"Description": "Adds sprinklers to the greenhouse that automatically water your crops every morning.",
"Builder": "Robin",
"BuildCost": 50000,
"BuildTime": 2,
"BuildMaterials": [
{ "ItemId": 645, "Amount": 10 }
],
"BuildingToUpgrade": "Greenhouse",
"Texture": "Buildings/Coop" // This is just a placeholder
}
}
The problem is that its not showing up in the carpenter menu. Here is my patch summary:
Local tokens:
token name | value
---------- | -----
ModId | [X] ValeriusPetrini.GreenhouseOverhaul.ContentPatcher
Patches:
loaded | conditions | applied | priority | name + details
------- | ---------- | ------- | -------- | --------------
[X] | [X] | [ ] | Default | EditData Data/Blueprints
No current changes.
So I guess its not not applied yet? If anyone could help me I would really appreciate it!!
Tried this to no avail :/
https://smapi.io/json/content-patcher/f56f5bebcf7744b2884f3527a6cd8cf9
Thank you so much! This works!
Better Game Menu has arrived! This is a replacement for the game's built-in pause menu that's focused on better performance and extensibility. Users with larger mod packs especially should notice immediate improvements in the time it takes to open the menu.
This is a pretty big change, so compatibility will be a concern. There are currently 23 mods in my compatibility tracker, 12 of which are fully working. Of the rest, I've submitted updates to most of them to get support added. Let me know if you run across a mod that's not working and not in the tracker, and I'll check into it.
Are you a mod developer? Does your mod interact with GameMenu? You can check out my implementation guide and commented API, or reach out if you have questions or need help.
Thanks for reading. I hope you like it. 
And you're absolutely certain that MeadShop is the shop menu you're opening?
(Does the owner portrait/dialogue show up?)
The shop worked fine before I started working on my mod, admittedly I added quite a lot to my mod since the last time I knew the shop was working - but, of all the things I have done, I've only added the 2 new items to the MeadShop, and when I comment them out it still no longer works so something happened to the MeadShop specifically since last I used it
Could you run a patch export on Data/Shops?
Make sure your items are registering inside the MeadShop entry there
One moment
Hmmm
It is not loading any of it
Its only loading the infuser machine recipe
-# Hopefully now people release some updates with those PRs I wrote, since it's out now....
🙌
Its not even loading the proper itemID for the infuser
im so confused
infuser.json
Its not loading dialogues, owner or anything for the meadshop

okay, that means it's time to look at the shop entry code again, because something's probably in the wrong place.
Does MeadShop even exist in the exported Data/Shops?
Wait i thought world maps everywhere is also sheku
That shouldn't matter
What matters is that it's not treating your individual Item data models as separate.
This will be a bit of an annoyance, but try adding the Id on the outside of every item model's { }
(alternatively, you could comment out all of the ones that didn't have the ID repeated on the outside of the curly braces)
I'm wondering if having a mix of ones with the ID on the outside and ones without are causing the issue
Im not entirely sure what you mean by that
oh my gosh I think I just found the issue
Maybe
This is what is being read by the export
So your code later on for Cornucopia and SVE and such adds the IDs for the shop entries on the outside:
"ItemId": "(O)FlashShifter.StardewValleyExpandedCP_Bearberrys",
"Condition": "SEASON winter",
"IsRecipe": false
},```
the first line
try structuring all of them like that, or commenting out everything that doesn't do that.
Honestly, that's the correct way to not accidentally overwrite the other entries.
I see
if you are making the entire shop entry yourself, do not add the keys on the outside
if you are using TargetField to drill down into the Items list, you use the keys on the outside
Yeah, they've got a mix in their code
that is why you did that earlier
So should I just have base shop data, and have a seperate insert for the items to follow the lower formula?
if its all your shop, you can do it all in one insert in the same place you add the shop itself
Ah gotcha, yeah its completely custom shop
So to clarify, here
if you can get away with having one patch, having one patch is better, bc its less patch overhead
Because the infuser's the only item in the list and I can't see the code where it got added
I suppose what I am asking is whether or not you gave it the ID outside when you added that or not?
Becacuse I don't know if you used TargetField to add the infuser
ah, okay. So that one was overriding the other edit
(substance use or mentions are not allowed in this server)
But yes, you want ONE Data/Shops entry per brand new shop that uses Entries and not Fields or TargetField.
To simplify things
:P roger that
Yeah I am not sure when or why I added a shop insert in the json for the infuser - obviously didnt remember it being there lmao
No luck 😭
What in tarnation
scope creeping myself with monster skins and drops... I wasn't gonna do it and now I must make them all look like Qi AND im adding more recipes and drops
I am unwell, someone needs to stop me (no one can)
Qi would say keep going kid B)
Oh yeah i made it for anaira but monster variety supports modifying drops on dangerous monster now
You can use it to add drops to dangerous slimes if you want
Whats the format for a when has mod for 2 mods
"When": {
"HasMod|contains=FlashShifter.StardewValleyExpandedCP": false,
"HasMod|contains=Cornucopia.MoreCrops": true
},
?
Would that work
It works 😭😭😭😭😭😭😭
Thanks for the help y'all ❤️
Lily I removed the bottom insertions and just extended the origina shop data will all relevant items
If you modify that patch please test thoroughly to make sure it works as expected. The reason that's in there is because of the horrible placement logic for furniture, which sometimes reduces the active stack twice, which was causing tools and other important items to be deleted.
can anyone tell me why my recipes are showing like this? it shows up correctly when using LookUp Anything. it says all of my patches are loaded too 😦
i cant figure it out 😭 https://smapi.io/json/content-patcher/52b8f706fa124511a2ea4d62d27a5340
We would need to see the code to help more
oh nvm
lmao
IN the crafting recipe for that tea
ahri1014.SCD.LushSpringTea 1
I believe you omit the 1
I think the unused field for food has to be matching numbers as well? Someone can confirm that for me ill brb
"ahri1014.SCD.LushSpringTea": "614 1 22 1 591 1/10 14/ahri1014.SCD.LushSpringTea 1/null/"
what happens if you change "null" to something else? Cooking recipes tend to use "none" if they don't want it unlocked by default or another method and only want it gifted/purchased.
I'll try changing it to none instead of null. The only mods I looked at with recipes for reference used null
I don't know that it will matter, but nothing else sticks out to me as immediately wrong.
try making the name of all of your objects match their key. you're setting its internal name to something different from its itemid
oh, good call
The name outside the { } and "Name" need to be identical for Object Data
i think if you do something with objectinternalname in isalable or something you can make it work (dont cookies do that? idr) but its not worth the hassle. thje Name is for internal use only and will never be seen by the user, so theres generally very little reason to have it differ
(i know you know this lily im just adding on for ahri)
i guess LA just doesnt use the internal name in its check, or something
this is something I did/for reference ages ago:
//AND
"When": {"HasProfession |contains=Blacksmith": "true",
"HasProfession |contains=Gemologist": "true"}
//OR
"When": {"HasProfession |contains=Blacksmith, Gemologist": "true"}
//OR
"When": {"HasProfession": "Blacksmith, Gemologist"}
//NOR
"When": {"HasProfession |contains=Blacksmith, Gemologist": "false"}
Is there documentation on how to upload a mod to nexus?
what part are you having trouble with?
until you get to the publish stage nothing is public
Do you mean like removing the ".Recipe" from the recipe entries?
I actually haven't started publishing yet. I have my code on github, but I figured there were steps documented somewhere, but I couldn't find them via the govener nor the wiki
no. fix the "Name" lines in Data/Objects to match your keys
Okok 🫡 thanks
e.g. you have one name "Name": "Winter Star Latte"
change that to "Name": "ahri1014.SCD.WinterStarLatte",
Someone may have made a guide at some point but you can start making the page/get it all ready months before you even upload a file/make public.
theres a guide on the official wiki
you dont really need to follow this to a tee but it's a good checklist
Do I need to edit Data/AudioChanges to get a non-looping track to loop?
if the track is meant to be looped then you need to say it is a looped track there
"summer1": {
"ID": "summer1",
"Category": "Music",
"FilePaths": [ "{{AbsoluteFilePath: assets/summer1.ogg}}" ],
"StreamedVorbis": true,
"Looped": true
},
if I set it to false, the custom summer1 music only plays once
i shouldnt have edited my patch's code when i was so tired, i messed it up lol
something with the item spawn fields, but also has to do with an unknown shop..? 3 of the errors are about arimarket, one error is just "???"
[game] Item spawn fields for shop 'SeedShop' > entry '???' produced a null or empty item ID.
[game] Shop SeedShop has multiple items with entry ID 'skellady.SBVCP_AriShop'. This may cause unintended behavior.
[game] Item spawn fields for shop 'SeedShop' > entry 'skellady.SBVCP_AriShop' produced a null or empty item ID.```
i'll have to boot up the testing mod list to send the full smapi log, but heres the json.
https://smapi.io/json/content-patcher/4817573b78dc4617811cb0c72572ae6d
least the other shops dont produce errors, but theyre also not working as intended xD
you're targeting SeedShop > Items but then seems to be adding a top level shop?
i went with the assumption that seedshop = pierre, so if im adding a modded shop that sells the same item type, aka seeds, i should use seedshop as the target for the items :p
no, SeedShop is literally Pierre's shop ID
its just for Pierre
the ID can be whatever you want
ahh
looks like you're trying to add items to SBV's shop? in that case instead of SeedShop you'd change that to the id of the shop you're actually changing
and delete every top level fields outside of Items
you're Targeting Items already, so any edits would be adding new entries into it
okay my sleepy self edited sunberrys shopdata
when i was editing aris data, i applied the edits to the wrong file oops
eh easy fix
anyways time to change the shopID in the correct file
more input on that mistake, in sunberrys shopdata, everything has skelladys ID and such, followed by the item its adding.
i changed the ID to match the RSSI, so the IDs looked like this
"Id": "boringvlln.rshops_.BeanStarter",```
instead of the skellady.SBVCP_[shop].[item] 😭
it was originally meant to be applied in the RSSI sunberry lmaoo
are you directly editing SBV's files for this
Hello, so I've been working on a mod that just adds a new a area to the game and that's working perfectly, my problem lies with that I'm trying to add a new path into the town map but it just won't show up, any ideas on how I can make it work?
{ "Action": "EditMap", "Target": "Maps/Town", "FromFile": "assets/Maps/phantom_farm_pathway.tmx", "FromArea": { "X": 0, "Y": 0, "Width": 7, "Height": 16 }, "ToArea": { "X": 27, "Y": 0, "Width": 7, "Height": 16 } }, { "Actions": "EditMap", "Target": "Maps/Town", "AddWarps": [ "30 -1 Custom_Phantoms_Farm 26 28" ] },
no, im just grabbing the shopdata from SBV to edit into my compat, im not editing the files of SBV 😭
i'll just need to reset the SBV shopdata file in the SBV mod itself lol
so who is doing an April fools mod
Everyone is Clint 2.0
is there an effort cut-off for when its no longer a joke
do you have any other mods loaded or just your own?
oh good
Oh I should do a joke mod
it was ||2027|| last time atra
Just mine and essential ones
hm. now i cant open the shop menu
and that's the tile you're trying to target?
Yes
!log
Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.
Please share your SMAPI log file. To do so:
- Open this page: smapi.io/log.
- Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
- After uploading, it will show a green box with a URL to share. Post that URL here.
Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didn’t occur in your last session, please load the game to the point where the issue occurs, then upload the log.
Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Home, with 1 C# mods and 1 content packs.
invalid tilesheet path '../../../../../../../../Program Files (x86)/Steam/steamapps/common/
you have broken your tilesheet pathing
so it's looking for tilesheets in the wrong place
when making maps keep the tilesheets in the same folder as your map
you can easily fix tmx files by opening them in a text editor (they are XML files)
and finding those paths
and removing the paths for the images
Ooh okay I know when I did that now, thank you for your help
Can anyone explain this to me please? [owner tile area]: if specified, the tile area which must contain one of the shop owners for the shop to be available. For a custom shop, these are defined by its Owners field. This must be written as: <x> <y> <width> <height>. I assumed it was the top left tile but smapi doesn't seem to like what I've done
you're defining a rectangle, so you need X, Y, and the width and height too
that rectangle will be the Owner Area
(unrelated, i love that Pathos chose "Intern" for his title)
I put 10 26 9 2 at the end. Does this mean coordinate 10,26, 9 width and 2 height?
yup
the rectangle will be 9 tiles wide, 2 tiles tall, and the top left corner will be at x10 y26
I don't know why I'm getting an error then
Hang on, this is a tile property yes?
yeah sorry just too used to asking for jsons lol
like the full thing you wrote for it
OpenShop 8BitAlien.Lilybrook_ClareCafe 1200 2300 10 26 9 2
you're missing the From Direction
Ohh I thought it was defaulted to down and was optional lol
does anyone know if there is a way to despawn monsters with spacecore?
it is optional, but the game has no way to know you arent trying to make it optional if you write things after
after all, the game sees a number after the shop id
Ahh gotcha
this goes for any trigger action, tile property, etc. with optional arguments
if something is optional and you want to skip it entirely, that means you must skip every argument that comes after
Button I love your profile picture 
how can i change every instance of "Alex" to "Edwin"?
Haha was just thinking the same
lots of agony and patches
is it your intent to completely replace Alex from the game instead of making a new NPC? If so, you can change his DisplayName in Data/Characters, but like Lily says, it will be a bunch of other patches to in order to replace it everywhere
you would have to go through and find every instance of it, and then make a patch for every single occurance afaik
i wanna just change his menu nnames
display name like on the single chart or when talking
you'd need to change his Data/Characters displayname then
or
actually i think theres Data/NPCNames?
do you have a script for that?
You don't mean when people refer to him, or for any strings or anything?
Just display name?
just display name
yes
(like in the dialogue window)
then yeah, do an EditData patch on Strings/NPCNames
https://www.nexusmods.com/stardewvalley/mods/31408 I did that with this mod for Qi ... because it was funny
and I made everyone Clint it was horrifying
editing your jsons is notepad is even more cursed than my comic sans font 
im not big on jsons anyway'
you... kinda need those for modding
well your alternative is C#
well i mean
how else do you think i did the sprite replacements
im just doing the same but for text
which will require more json
yeah
just follow the content patcher docs for EditData and edit the Strings/NPCNames asset and that should take care of a lot
isnt it in the same format as action: blah blah
there isnt a way to limit it to just menus, though.
contentpatcher has docs? where do i check them
thanks
Hi Aba :D
the docs are also on CP's nexusmods page
thank you again for that spacecore tutorial
You're welcome!
im super happy with the results :3 Now I just have to sprite all of the monsters 
i think when i tried to add the item list to null them i had too many nulls.. lmfao
pierres item list is slightly different than ari's xD
(and the three other maps, but im pretending they dont exist)
is it easier to do sprite replacements instead of custom NPC
cause i heard its pretty nightmarish
if you mean NPC replacement ... if you can do an NPC replacement you can make an NPC
istill cant open the shop menu though but ik its from the json
i mean it is, but obv the downside is you are replacing an NPC, so
If you just mean the sprites its not that difficult no
its fine i dont even know half the cast anyway lmao
If you want other people to use your mod, they are much less likely to do that if it's replacing a vanilla NPC
oh im not uploading it
its gonna be priv
OH the issue is the "when" snippet oops
then ofc feel free to do whatever's easiest
Isn't there a mod that changes the NPCs' names in game?
again you can reference existing sprite replacer mod for your use 
probably, but fi theyre already replacing sprites anyway, they might as well do it in their mod
Because I think using that combined with making a mod that replaces portraits and sprites is going to be easiest.
unless they do start caring about every instance that doesnt pull from Strings/NPCNames (which admittedly might not be many)
But replacing display name is a massive amount of work that involves patching so many things
So many events and dialogue lines
well, they already said they only care about the menus
for a custom NPC you gotta do their dialogue, custom place, path, etc etc
yup
Oh, that's going to be weird
possibly, but if its for a personal mod and they dont care, then it doesnt matter
No, it doesn't
which one is a good one?
weird i got timed out
anyway
keep in mind i basically know nothing about json editing so this is gonna be a bit difficult at first
doing it with images is probably one thing
text is another
it is?
yes
...huh
Oh button you're blue!
you literally only need to change a single line in an asset of lines
i am unfortunately very blue
It's a nice blue
no such thing
I wish I could keep this blue
the bluest
I'm blue
It is a very pretty blue isnt it
i see i am unwelcome here /j
game is being renamed JojaValley™
its not my least favourite colour, but its no match for most others
and we fight against the evil that is the ... uh... feral forest creatures...
horrible things.. all happy and not blue
i think ill just be lazy and use this
this one's only sprite, u can search for stuff with portrait too
could I make a ring without using C# ? If I only wanted it to have some basic buffs and what not?
spacecore equips should do it
Spacecore... so beautiful
custom companion also has a feature to make follower on a ring
obviously u should make a trinket instead ofc
BETAS could also do it
What are the reasons for a custom shop not opening? No SMAPI errors
try debug shop <shopid>
did you set a specific time or something
if that works it means your tile data is wrong
A qi that follows you around 
i am embarrassed that i completely have forgotten where alexs house is
debug warp josh in SMAPI will take you there
well, okay least VScode isnt yelling at me now. :P but the validator sure is 😭
https://smapi.io/json/content-patcher/ba3510b0d1da46d492fbd8b991f326c6#L50
i think i messed up with the layout of each value
I have 2 TileData for the same shop, will that be causing issues?
VSCode isn't noticing anything wrong because you technically have valid JSON, just you've failed to wrap every "Entries": {} entry in its own {} object braces
ooh ok
in this case, Entries is a list of {} shop data entry objects
its on 2 different building tiles right? thats not a problem
if you set open/close time then thats 1 thing
so once i fix that this should be a valid json to the validator, or is there more mistakes i made?
if ur npc rectangle is wrong thats another thing
Are there any examples of people making rings/wearable items with Spacecore? There's not much on it and I... am not very good at working without example (and sometimes not with it either wheeze)
i can't say yet, you have 3,500 lines of JSON for me to read. i'm leaving that to the parser
I have an open close time but I'm within the correct time
My npc is standing in the rectangle, also
Debug shop opens my shop
in any case, you currently have some list of entries that looks like this:```json
"Entries": {
"Id", "ItemId", "Condition", "Price", "AvailableStock", "AvailableStockModifiers", "Id", "ItemId", "Condition", "Price", "AvailableStock", "AvailableStockModifiers", // ... (repeat 46 more times)
}
obviously this isn't correct
are u at the right direction
well what is the tiledata
once you wrap each group of shop data entries in {} braces it should be fine.
inspect tiles then 
does the direction mean the direction of the npc?
Joja bluu I notice you are not a joja subscriber
no its where u r relative to the tile
999gp per season
so down means you have to be below the tile when you interact
Oh so if it's a counter i'm going up to, I need to put up?
Ohhh
Yep so that bit is correct then
now u r making me panik lol
i can't afford a Joja+ subscription on top of my monthly Atacama Prime payments, an ad-free Netcine(TM) subscription plan, my FoodTube delivery costs, AND the monthly fee to unlock the wheels on my bicycle
i'll make do with just drinking the verification can of joja(tm) bluu(r), it's only like one or two an hour
ah yea i was right
// check interact direction
switch (direction)
{
case "down":
if (who.TilePoint.Y < tile.Y)
return false;
break;
case "up":
if (who.TilePoint.Y > tile.Y)
return false;
break;
case "left":
if (who.TilePoint.X > tile.X)
return false;
break;
case "right":
if (who.TilePoint.X < tile.X)
return false;
break;
}
Diet Joja(tm) Bluu(r)
this means when your Y is above the tile's Y, do not open shop
wait i can lower my level?
i wouldn't call it a worse blue, maybe just a deeper blue. one that represents your maddening descent into this corporate hellscape
blu :)
I'm very pro getting rid of my xp
Action: OpenShop 8BitAlien.Lilybrook_ClareShop down 1200 2300 10 26 9 2 Does this look right?
selling me exp should be allowed when we're in joja mode
Heyyyy aquo what do you thinkkkkk
is the npc rectangle 9x2 
seems very wide
well it seems right i guess 
but i also think u can slacc and remove the npc rect if its being weird
is it supposed to be ClareShop and not like, ClaireShop?
No it's meant to be Clare
and Clare is definitely inside that rectangle
standing there when you click the title
yep i put her on 10 26 (currently has no schedule)
I put her default location as 10 26
When i debug shop, the portrait or dialogue doesn't come up but the items and prices do 
what does your shop json look like
did u put Clare as owner
May I DM it to you? I'm doing an expansion as you prolly know and I want to keep it as private as possible
if i were freer id say yes but right now i cannot dedicate enough of my attention to discord/DM help and was more so asking for it for anyone else who might be around to also take a look and chime in if they can
That's ok, thanks anyways 
try giving the NPC a couple of schedule points even if it's just to walk in a circle in the box
I know there used to be issues with dialogue if they had none, but not sure what changed with that in 1.6 and no idea that would even be related to shop data
Hmm alright. I will try that now! Wanted to do all the schedules at the same time but oh well lol
What am I doing wrong when trying to load location music? I couldn't find exact formatting on the wiki, so this is my latest attempt{ "Action": "EditData", "Target": "Data/Locations", "Entries": { "{{ModId}}_MidwayCave": { "DisplayName": "Midway Cave", "DefaultArrivalTile": {"X": 3, "Y": 13}, "CreateOnLoad": { "MapPath": "Maps/{{ModId}}_MidwayCave", "Music": { "Track" : "fall_day_ambient" } } } } },
I've fixed it!!
woo
Congratulations!
segment from Data/Locations for the Saloon
"FirstDayWeedMultiplier": 15,
"MinDailyForageSpawn": 1,
"MaxDailyForageSpawn": 4,
"MaxSpawnedForageAtOnce": 6,
"ChanceForClay": 0.03,
"Music": [
{
"Id": "OpenHours",
"Track": "Saloon1",
"Condition": "TIME 1700"
}
],
"MusicDefault": null,
"MusicContext": "Default",
"MusicIgnoredInRain": false,
"MusicIgnoredInSpring": false,
can also look at AdventureGuild in the same file too
Oh thanks! I'll see if I can put this in properly.
First day weed multiplier
do u think khloe meant to leave the Honk
Always
If I want to make a mod with config values that other secondary mods will then use, I need Cross-Mod Compatibility Tokens, right?
No, the other mods will need CMCT.
yea unless you are making it in C#
? Maybe I am misreading but the mod page says that you use CMCT to access other mods' tokens, not to make your tokens available to others.
you are correct too aba, its the mod using your tokens that need to also have CMCT
I meant I need CMCT to make it happen because each of the secondary mods will want to use the same config values instead of all having their own separate configs
If you're the creator of the secondary mods, you will need to use CMCT in those to access your primary mod's tokens with them, yes. (Or use C# like chu said).
there are a few other ways with varying levels of jank tho
mailflag if you only need true/false
the pair of actions in betas that let you read/write moddata
some nonsense with stats 
Oh? That second one may be worth investigating 
and lastly just only making 1 CP mod but with 9000 includes
this would be limited to places where you can use GSQ
Afaik it was removed
but i have it
Hm
from the nexus version
(or tokenizable strings if you just want to read)
personally i would say if you don't have a particularly strong reason to split your mods up, just doing 1 CP mod is the way
even if people potentially download assets they never see in game, it's not a big problem when sdv mods are so small
Hmm... well the specific use case I'm brainstorming is that a rough representation of the player shows up in some pictures I'm putting in, and I plan to put in overlays that will change the representation's hair and skin color based on what the player chooses in the primary config, since we can't check for those things
make a C# mod 
brain too smooth
or idk pay someone to do that

Or just use cmct
the reason why i do actually think C# mod is the way here is bc the player's hair is so variable 
heat death of the universe before you get every shade, skin tones would have been realistic if you ignore skin tone mods
Yeah I'd just have to provide a whole bunch of base color options from brown, black, blonde to green, pink, and purple and call it a day
in that case i would ship those colors, plus a color mask for ppl who are particular about these things to edit themselves
If only I could just access whatever the game uses to colorize variable items like artisan goods 
disregard how everyone else's photos have same color
but yea this particular thing need C# to do "properly" while being niche enough that i can't think of any framework now or in the future that would do it 
assuming the painting is furniture, it'd have to be way to get player hair color + way to colorize furniture?
gah
least im close?
anyways vscode and the validator keep saying i have dupe keys and i thought everything goes under one changes block
@lucid iron i think the ||honk|| easter egg still remains, it's just that Khloe was kind enough to make it not affect subclasses like mine
it's an easter egg cause u gotta find it 😌
Is Yoba truly safe for our children? Let Joja Corporation:tm: help you raise your kids the right way.
Joja, the only corporate religion you can rely on.
i still cant talk to ari what the hELl
hm
ok so i can open the DND shop menu
i cant open Ari's Market shop menu at all
i only get a yellow warning about ari saying the target cannot be found, but only when i open the DND shop menu???
and the dnd shops stock isnt changed at all
heres the json log.
https://smapi.io/json/content-patcher/40da68d7cc544d4384e4b98551b225dc
i have to get into the testing mod layout before i send the smapi
I don't see a AriShop in SBV's files
(that is where you want to add right)
yes
for the first shop, second one being the cafe. i just changed the target to the appropriate sbv shop name in the shopsdata
so time to see if i can ATLEAST get the menu to show up
( i had the DND cafe as just "cafe" and such, but wouldnt that also cause the menu to not show up for the DND cafe? )
there's a bunch of nesting issues in your file, namely your entries below line 2024 is outside of the Entries block
your boringvlln.rshops_IceCreamBowl block is also nested inside the boringvlln.rshops_PinkCake block, alongside a When condition that should be outside
i was about to ask why theyre different colors actually lol that answered iut
also does AriShop exist before your edit
then TargetField would fail because it's trying to target a nonexistent shop
same with Cafe
not that Cafe is being edited, because of the nesting issue
well anyways time to find out how to UNnest these
The user is aware that there may be untested plastic materials present in one or more THRIVE furniture pieces, and waives any right to hold Joja Co.:tm: liable for adverse health outcomes attributable to contact with said plastic materials.
Is there a way to give the player Emily's "Saying 'Hello'" quest? As far as I can tell it has no id and is initialized by some shenanigans in SocializeQuest but I'm having trouble giving it to the player. (this is just for testing the quest)
I’m trying to get an event song that doesn’t loop, to loop as interior music. What is the best way of doing this?
any quest with the type set to Socialize will give that quest. you will be able to modify the title and objective text but not the objective itself
it is functionally no different from the introduction greeting quest
sorry, type set to Social*
not Socialize
yep, just figured it out. Not certain if I needed to greet everyone first in addition to just debug completequest 9 but I got it. The loadQuestInfo part was important.
SocializeQuest socializeQuest = new();
socializeQuest.loadQuestInfo();
Game1.player.questLog.Add(socializeQuest);
Love to see what we are all doing
ok no matter how many times i try the entries wont NEST
i fixed it for the cat cafe but i cant fix it for ari AUGH
well, by fix i mean get the two entries to nest seperately, not into eachother
highlight the range of fields within each entry in VSCode and press shift+{ to wrap them in {} braces
repeat x47 (don't forget the commas)
i still. cant talk to ari
the cafe remains uneffected
i fixed the nesting ( i think ) but thats abt it .
https://smapi.io/json/content-patcher/2e503a85bbed4ac0a0a4ff18fa8c0b0e
i might have to move the when action then.
i infact did not fix the nesting
if you want an honest opinion on your workflow, i would've instead tried to cut this content pack down to exactly one (1) Entries value and no config options, and if that worked, then gradually added the other 47 entries with 3 config options
you're trying to fix and debug 48*3 things at once
Introducing Joja:tm: Cola Classic. As designed by ConcernedApe.
absolutely.
for now im just gonna give up and wait until i feel motivated again
im not messing with this code anymore 😭
i'll have to rewrite everything too anyway so
as morris said, pretty much exactly what i was going to say, you want to work one step at a time, adding it together piece by piece. i wouldn't dream of doing everything at once and praying
one entry, no config options, no conditions. if it works, add another entry, if not, find what broke:
https://smapi.io/json/content-patcher/e89e5ccc99f547f18c0985c3ce1b6099
everything one step at a time 🚶♂️➡️
of course i won't ask you not to give up for now if you need, but definitely don't pick up the whole mountain again when you get back into it hahah
i get stressed just looking at the validator for your 3,500 line json files lol
in my defense i was copying off the format of the base game RSSI shops code, which was hella long
like just for pierre it was like
..i have to get back on my computer to check
but! the author didn't just write 3,500 lines and open it to test
i would assume the author did it much more sanely and realistically
꒰ as in, one at a time ꒱
꒰ pun intended too btw ꒱
starbucks, probably
LMFAO
now with a low 10,450kJ per drink to wash away the guilt of workers' rights violations 
Guys which mod is required for “having more children” mod to choose baby’s gender? Bc few people told 2 different things
you want to ask about mod usage in #modded-stardew
To force gender you will have to make your own unique kids mod
Have more kids is primarily a framework
oh cause april fools
Can anyone think of a reason why JoshHouse would be overriding my map properties when I'm replacing the entire TMX?
are you Loading it or using EditMap but for the whole thing
Specifically it keeps reverting the Doors and DayTiles and NightTiles
Ah, I was using an EditMap. I bet that's the issue.
i thiiiink (dont quote me) EditMap patches dont carry over map properties, just tile properties
unless you use MapProperties ofc
in the json
Fair enough, I can add a code block to change those
I saw Pierre request a Joja Cola:tm: last week, just saying.
i'll quote you on that because it's true
thank you
I don't want to replace the entire map, just the top, but for convenience, I was not adding the FromArea and ToArea yet
so good to know the code block will be required.
Yeah i believe that it doesn't apply if you do editmap. Ex: I had to apply my warps on a map some other way
I haven't patched over an existing map with map properties in so long xD
I forgot how non-custom maps worked. LOL
(It actually didn't transfer my TileData object for the new Door either, which is obnoxious)
I'm blue, da ba dee da ba doo
da ba dee da ba doo
seems like in FTM you can't set a custom sprite for mummies unless I'm missing something
oh wait I might have a syntax problem
nevermind it was a me problem of course
i have no idea why but everytime i make a new json file and save it, it saves as "GO" jsons??? the fuck??
hm. guess i just chose the wrong "save as" file type.. GO is the first one aside from "all files"
anyways im just converting a CP hair mod to FS, time to see if i did it right :D








