#making-mods-general
1 messages · Page 244 of 1
yes
There is a command to empty the queue that I forgot lol
Oh, that should still work
yeah but I dont want to skip all, just one
What did I do lol
Hmmm okay
I'll take a look but no promises for the next two weeks, flying out Tuesday
log say anything of interest?

do you guys happen to know if there's an official list of the 1.6 devs somewhere? the Stardew Valley page on the wiki only lists this for some reason, which I know for a fact is missing people, which seems very odd
I'm going to bet that this page is almost definitely protected though... 😭 could there be an official reason for only these four to be mentioned?
weird that only casey is not on there maybe it's what casey wanted?
is Casey definitely the only one missing?
"[3]Update 1.6:",
"Eric Barone",
"Jesse Plamondon-Willard \"Pathoschild\"",
"Devin Hedegaard",
"Arthur Lee",
"Jared Flores",
"Casey Warrington",
works fo rme, weird
interesting. Atra, do you happen to know?
theres code from other ppl previously ofc (like Tom Coxon who haunts me in my netcode dreams)
no idea
u can see the credits.json file yourself
ofc, but like out of the official devs 
Stardew netcode isn't real and can~~'t~~ hurt you.
does it have content files?
yea
decompile under Code
content in Content
pathos putting "Pathoschild" right in the credits is menancing
shh don't tell Khloe I didn't know this, she'll take away my repo access
(/lh ofc)
(No need to look at the unpacked files directly; that asset is shown in-game when you click the ? button on the title screen.)
@final arch tell me if this is any different.
I wonder how many people have viewed the credits page in-game, compared to how many have played.
(Skip one not in yet, I'll need to add that in)
(I do not have stardew on my phone, unfortunately
)
I can check that asset.
There's a general section for ports:
-# Pathos beat me to it, and even did a screenshot from the game 
here's a list of possible plants ima try to make if you guys can think of any flowers or other herbal teas let me know :0
I probably should finish unpacking content for the android version so I can update the android decomp repo... but on the other hand I really don't want to
aw yeah another cinnamon 
if you are make mod like this i would
- check mods that may already have the same crops, and use the same context tag as them for compat
- consider using this to add support for toggling between item of same name from different mods https://www.nexusmods.com/stardewvalley/mods/21361
for 2 I think it's better for me to add compat on my end to the mega toggle content pack
(feel free to ping me when you released your mod!)
:0
ill add herb butter and olive oil do you think that would be nice?
more seriously, people will expect to be able to do stuff with your crops 
oh ye im gonna research how the teas are made and also include herb bred and cookies, and things like that
you can just have em become standard artisan goods, but it could be fun to make your own artisian goods
(just in case, chu was joking about the prevalence of butter and olive oil in crops mods. but if you're scope creeping yourself to beyond teas that would be cool too)
this is another thing you should check context tags for, e.g. cornucopia has a herb_item to make dried herbs
so if all ur herbs are marked the same way they will work™️
... the version on nexusmods worked when I tried again later, and Ive no idea what I did different 😅
another small suggestion: exclude the "subevents" from playing, because they often fail with "failed parsing camera values". (subevents are the ones ppl call with /switchevent and dont have preconditions
would that be a compatibility patch type of thing or a just make my crops dependant on cornucopia thing or would that not make it depeandant on cornucopia?
😦
no it's just using same context tag, which is a vanilla thing
oooh ok
ty ty
for mods, they can choose to add new tags
and if you want your mod to be automatically compatible with say cornucopia artisan machines
you would simply use the same tags
ooo dopealicious
theres no need to have real dependency ofc, the data is just unused if the player didnt have cornucopia artisan machines

in other cases you do want an optional dependency to ensure your mod loads later
i speak only of context tags case
Ooh i see several machines in cornucopa machines that i can use for my mod
ok machines imma add
tea oxidizer
(i wonder if i should make a teapot)
Oxidizwer might eb scratched actually
it would just be another step
i wonder if using the smoker can be an acceptable substitute
if you use a specific context tag i can see about adding it to the relevant plants i have
(like rosemary or mallow)
ooh
and maybe on the smoker, im still doing my research on the steps to making the tea and herbal remedies and such in want to add as recipes
I dont want to get too nitpicky with it but i wanna make sure i make it a little immersive
yeah finding the right balance is tricky
honbestly if the oxidization process sint used before soem of the recipes i have ideas for i might axe it because i dont want an unn ecessary finicky step
but ill see
yeah keep your options open and see what you have fun with
All I'm waiting for is an artisan machine to use my poisonous forages XD
ok so based on what im reading i think the oxidizer would ahve to be a new machine as it is the process of rolling or crushing the leaves and then leaving them to basically ferment i belive is what im reading here, unless cornucopia has a mortar and pestle or something similar ill probably make a stand where you use one 
oooh tell me about them please i love forage, what type of machine are you needing anyway :0 r u gonna m ake poisons?
I dunno what type of machine, I think I gave someone else an idea at some point. It just bugs me we can't do anything with things like mistletoe and etc, the forages that are poison as well
@balmy venture You leveled up to Cowpoke. You can now speak in our voice channels and share images in all channels!
I thought of maybe soaps? I keep trying to think what they could be turned into
maybe medicine components but I dunno how much sense that would make
or maybe just turn them into powders or other processed substance with the intention of selling as a supply for industries
oo
I did make a small mod that lets you dehydrate red mushrooms, so you could look at how I did that possibly.
(it was basically just adding the inedible_mushroom context tag as a Required Input under the Dried Mushroom entry for that machine)
that is interesting, I could check a machine that maybe would make sense for powders for example
Evening. Is there a downside to using a lot of Dynamic Tokens?
like most tools it depends on what you do with it
Anyone know if this works for merchant/shops?
Trying to get it to but doesnt seemto be
Wondering if its a limitation
need portraiture plus iirc
merchants are just 1 texture though, you could use spacecore hd texture instead if you want
That would be cool, not needing an additional dependancy
Is there documentation for that somewhere?
A Vector2 size. If specified, the sprite size to use for frames in SourceTexture (normally the size is the same as the size in TargetRect). This allows you to fit a larger image in place of a smaller vanilla image. (For example, fitting a 256x256 portrait into the default 64x64 spaces.)
ctrl f for this part
this page should link to most of the modding topics
ty ty
you would load the original first and then apply spacechase0.SpaceCore/TextureOverrides
I use them to define variables that are used across multiple includes. Makes my content.json swell up, but makes managing the includes much easier.
yea that is partly what they are for
although, i believe you can separate the dynamic tokens now
I'm getting this error when trying to make a Content Patcher mod, what does it mean? I followed the manifest.json and content.json guides but I can't find how to fix this
Seperate them?
!json your json is invalid
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.
yea i thought there was feature but maybe it's not merged yet 
which one tho, or both?
I did read about Local Tokens, but I'm not sure if that's what you're talking about.
no iirc there was thing to just, let you put dynamic tokens in a separate .json
it says your content json is invalid
Okay.
LocalTokens is something else, but it can be helpful too
The Local Tokens thing looks like you can turn includes into functions.
templates yes
It says my problem is on this line
not quite functions
Line 9
Missing a comma
wher
but yea i think the issue around dynamic tokens is like
it may be not ready at some places
Right above the highlighted line, should be }, instead of just }
oh
and there is issue with using dynamic token as a dictionary key
this seem to cause tokens in the value to not parse
I'm not a 100% on what that means, exactly, but I doubt I'm using them like that
The wiki doesnt explain what format Im supposed to enter in SourceSizeOverride do I do an array? is it a string? do I name the texture, and not the resolution?
(the issue is when you have a dynamic OR a config token as the key and also use a dynamic OR config token in the value)
An example in this wiki would be swell lol
Ah, okay. I'm mainly using them to future-proof things, but the thing I'm mostly worried about is overhead.
i dont think there is performance problems with dynamic token by itself
but you do have to re-eval them on change
or rather content patcher does
the issue chu linked is surprisingly niche and rarely comes up it seems since I've only ever seen blueberry talk about it so don't worry about it
personally i wouldn't use dt just to store a constant
bc i can just mass replace in the future if i feel like it
I was just about to say that that's basically how I use them 😅
many people do for e.g. npc names
but i dont make packs that get super beeg
so if u r at scale where u want it then just use it
it is made for ppl to use
The reason I like using DTs is so that I can basically forget what I used where in which include file. Update content.json and everything propagates.
when possible i'd prob choose to use LocalizedText for things like npc name
the when possible has many asterisks behind it ofc 
I've never dealt with NPCs before, and I don't think it's likely to happen in the future
you can't use localized text everywhere
I'm mostly working on compatibility patches to fix little (and big) issues I run into as I play
i think the NPC guide uses a dynamic token constant doesn't it
Anybody here knows why when I replace the file "hairstyles" only half of them get modified? Half of it gets replaced and half of it doesn't. This problem started happening to me since the last update the game received, which I'm pretty sure reworked a few hairs.
Is there a "use new hairs" button that I'm missing or what
i don't believe anything changed with hair in the last update? that was a couple months ago
it looks like you have hairstyle and hairstyle2 both loading to 1 target
surprsied that content patcher didnt tell you no exclusive
if i want to make a machine and crops would it bepossible to dot hat within one mod or would they need to be seperate 🤔
yep
The thing is that, the problem I'm currently going through happens with hairstyles, not hairstyles2.
Half of them appear in the hair selection menu, and the other half just doesn't.
ig it could be packaged actually
And I don't have a clue as to why
no they can be part of 1 cp mod
thank you chu
Look, this is the file I'm currently loading
Half, to bottom, all of them appear in the selection menu and replace the vanilla hairs
Half to top just doesn't
hm, I think I need help with trying to spawn nodes via spacecore
im fairly sure nothing changed about this so you will have to send json and log
I don't have any logs that indicate anything is loading unproperly
I know I did something wrong with the code since the log tells me but idk (ignore the furball entries those work, i mean the nodes/node group
json: https://smapi.io/json/content-patcher/43bf62d38e6541d7b9b2fe4c755ded5e
log: https://smapi.io/log/999165f99fa6476790eeb152335d1764
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Pro, with 24 C# mods and 23 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
can you use the json validator instead of sending them as files/text
sorry
linked here by chu
its okay you dont have to apologize :3
it just makes it easier to read on the website
I'm jsut sitting here like 
Characters/Farmer is incorrect, you need to load to Characters/Farmer/hairstyles and Characters/Farmer/hairstyles2
as for why you saw half the hairs change i dunno
let me see
now I get this error
https://smapi.io/json/none/da94e7c884b1495ca3bff98ac3f4e21c
you dont have a comma again
how did it got deleted?
{
"Action": "EditData",
"Target": "spacechase0.SpaceCore/TextureOverrides",
"Entries": {
"Natalie": {
"TargetTexture": "Portraits/Natalie",
"SourceSizeOverride":
}
}
}
What exactly do I put in "SourceSizeOverride":
i dunno
i just see that you dont have it
if I want a portrait larger than 64x64
portraits are 64x64
im glad it works
Tho I'm still here drooling like a fool, why and how did half of the hairs worked and half of them didn't if they were in the same file?
for this though u need to have TargetRect as well
honestly I put stuff like that to some cursed code magic
(<- doesn't understand how code works)
TargetRect would be { "X": 0, "Y": 0, "Width": 64, "Height": 64}
SourceSizeOverride would be { "X": 0, "Y": 0, "Width": 256, "Height": 256 }
assuming you want a 4x sized portrait
Hm, I tried fixing some stuff but I am still getting the same error in the log I really dont know what I am doing wrong
https://smapi.io/json/content-patcher/6cf287ab7d074e6480f5ac9fc9abfc0c
I was wondering, I'm looking into MEEP and here it says you gotta patch the map with this code, but can't you in theory also add these fields as properties directly into tiled and do it from there? That seems a bit easier to do
it's easier if you're making your own map yeah
the example is to edit an existing map without having to fire up tiled
i think i fucked up my json completely,hm
{
"Action": "EditData",
"Target": "spacechase0.SpaceCore/TextureOverrides",
"Entries": {
"Natalie": {
"TargetTexture": "Portraits/Natalie",
"TargetRect": {
"X": 0,
"Y": 0,
"Width": 64,
"Height": 64
},
"SourceRect": {
"X": 0,
"Y": 0,
"Width": 128,
"Height": 128
},
"SourceSizeOverride": "assets/natalie/BubblePortraitBig.png"
}
}
}
Would this be right then
I have a TargetTexture where I'm targeting the character portrait, and SourceSizeOverride looks accurate to me?
I was also wrong about it being a Rectangle
Looks like it's a Vector2
So you can do "128,128"
{
"Action": "EditData",
"Target": "spacechase0.SpaceCore/TextureOverrides",
"Entries": {
"Natalie": {
"TargetTexture": "Portraits/Natalie",
"TargetRect": {
"X": 0,
"Y": 0,
"Width": 64,
"Height": 64
},
"Vector2": "128,128",
"SourceSizeOverride": "assets/natalie/BubblePortraitBig.png"
}
}
}
When im not on phone I'll write down what i mean
Cool
Or maybe someone else can do it
Appreciate you
I can write what I have decided you meant
i dont know for sure bc i dont know how the spawnable stuff works but i think maybe from the log it seems like its spawning a null item at some point and trying to use it in a dictionary? so maybe double check your item IDs
yeah i am trying to go through everything again, I mightve done something wrong with the spawn groups so I am checking that rn
I demand to remain anonymous
actually its apparently erroring in the object constructor, hm
you can rename anonymous in whatever you’re doing. I’m still starting my answer with “what chu told me to tell you is that…”
only place it can do that is if the itemId is null somehow so yeah ig still double check em
ok i think i improved something but i didnt fix it
huh, now I am presented with yet again another issue I dont think I quite understand how to set this up
testing something before i send another log and json
uhhh...improvement? huh, thats not where I want it to spawn tho
Alright, I do need more help.
even the item sropped is an error item
the log isnt giving errors anymore so theres that. I don't know if I am now having the spawn part right(except the area) and its giving me errors because its not able to pull my nodes? I am adding the nodes via IE idk if it needs some sort of extra step or something for spacecore to be like yo this gonna be it or if I did it completely wrong(the IE nodes and minerals I made I can properly spawn in via CJB afterall)
json: https://smapi.io/json/content-patcher/ed4e3ee375b7402eaf76383c1e390e2e
log: https://smapi.io/log/ee4c7db86a60401d8d83e47558408d16
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Pro, with 24 C# mods and 23 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
on an entirely unrelated note, did something recolour your error item 
I was also wondering this. Something recolored my moss I have no idea and don't care enough to search XD
oh yeah thats my UI lol idk why i did that back then but its there
Ahhhh! Thank you :D
no warrenty never used this particular spacecore feature 
in particular u might only need "SourceTexture": "Portraits/{{ModId}}_Natalie",
btw proof my stuff does exists technically tahnks to IE lol idk why spacecore wont let me spawn em...
Question about CP priority:
If two mods load dialogue changes, but their entries are different, what happens?
Patch 1: priority high
"Sat"
"Fri"
"Sun"
Patch 2: priority med
"Sat"
"Mon"
"Tue"
Will we see Sat from patch 1, and the rest of the entries all showing up? Or will we only see the entries from patch 1 and none from patch 2?
it is like sandwich
although, are you sure its a Load
rather than EditData (Early Default Late)
EditData, my bad
I'm not actually running into this problem right now, just considering which priorities to put on some dialogue changes for mod compat
No priorities? Just let it default to exclusive?
EditData doesn't use exclusive
usually mod compat is achieved by having one mod dependent on another
this is less confusing than setting individual edit priorities
to answer your actual question the priorities you can use on edit data are Early Default Late
for all patches targeting Characters/Dialogue/Sebastian you have this deal (using only the keys you mentioned)
Base
- Mon: stuff
- Tue: stuff
- Fri: stuff
- Sat: stuff
- Sun: stuff
Patch 2 (Default)
- Mon: changed to 2
- Tue: changed to 2
- Fri: stuff
- Sat: changed to 2
- Sun: stuff
Patch 1 (Late)
- Mon: changed to 2
- Tue: changed to 2
- Fri: changed to 1
- Sat: changed to 1
- Sun: changed to 1
huh
I might need to take a break because I am too lost in getting my nodes to spawn
hm, i mightve found my issue
Nice!! Thank you so much for explaining it. There are dialogue patches for other characters that aren't quite as important, which I might set to Late
unless i am interpreting this wrong
Late is the most important priority
Oh. Other way around!!!
its the last bread on ur sandwich
because IE does state
You can spawn either from vanilla Location Data, or via FTM (only accepts 1x1 resources).
if you don't care just leave at Default
so i probs c ant spawn em via spacecore..
you can think about compat with CFDE and such later
I suspect you can spawn from spacecore tbh
If two are left at default, I'm assuming it is based on load order of the mod itself, which is... alphabetical?
yesnt (it depends on the file system)
You can but I made nodes via Item Extensions and now I am just confused because all I can get is error items
of course it does
when u are deal with compat u would be going in and adding false dependencies
to make your mod load later
so now i am checking IEs docs to see if there was a limit on that side but idk
Clever. Glad I'm asking about this now, even if I don't need to use it yet
Anyone has experience in fixing compatibilities for map tiles and recolors that could help me? Don't wanna clog the chat here
Sure, what do you need to know?
could I PM you or is it better here?
Either way, I don't mind.
can somone make me a mod to kick anoying players out of my game?
If you are hosting, you should already have /kick or /ban as default commands
? You don't need a mod for this.
oh
i think im gonna stop trying to get my shit to spawn, i feel too stuck
Got it all working, thanks mang!
void what do you see when you do lookup anything on your error nodes on the ground
Is there a way to get the tile x/y im standing on in game lol
debug mode (a mod)
Cool ty
Lookup Anything should also provide that
Ah damn already downloaded debug mode lol woulda been faster already had lookup anything
My poor keyboard is fying 😭
ok that was just a typo
Debug Mode is a necessary mod for mod makers, imo, so I think it's good you got it 😉
Agreed :D Trying to get a good base-line installation with just debug mods and dependancies etc
Now to look into how to make trash cans work
this item id is definitely correct?
does that match whatever you edited into Data/Objects?
could perhaps try (O)
well, its a node i added via IE so its in Mods/mistyspring.ItemExtensions/Resources
thats not how spacecores spawning works, it needs an object to get the texture from
the gem is in objects tho and is also an error item when i break the error node
can you do patch export Data/Objects then
maybe IE added things to that on your behalf
whats a good event listener for hearing when a bomb gets used?
yea i dunno, i guess i would try qualified item id
I would try the ID associated with it in your Data/Objects export
I am wondering if maybe spacecore is using the wrong modid for my {{ModID}}
spacecore doesnt know you're using a token
tokens never leave a content patcher .json file. all spacecore sees is your mod ID typed out. it cant use the wrong one
well
i might be dumb but I replced {{ModID}} with the one my node has in the object json
and its there now
You're not dumb...I would have done the same thing, Void
so it did use the wrong ModID
they are two different mods?
or its a coincidence? idk anymore
{{ModId}} is always the same across an entire single CP mod
yeah I said earlier I added my nodes via IE
i mean, you can do that in the same mod, so...
which meant i needed to make a IE folder
wait really
I actually wanted to write a script for this exact purpose for a while now, but never got around to it (specifically extra ones) 
I'm not sure what I'm missing, but this doesnt seem to do anything. I click the garbage can and nothing happens, nothing logged either. I also tried doing it through the content.json exactly as the example showed, and I think my manifest should be correct. Does anyone know what I'm missing? (sorry for the non-english in the image)
Hi I want to make a links majoras Mask Mods. Where I use the different Mask from the Game. I Never did a mod. How should I start. Do I need cp oder c#
Item Extensions mods are just content patcher mods
But I need to Change an Items to the Mask. Can I get Completly new Items with cp without replacing stuff
You can make new items with Content Patcher. I would advise starting here: https://stardewvalleywiki.com/Modding:Index
Ok thanks and After that
your manifest.json format is incorrect, needs a dependencies section
as for your actual issue, do you see the hand cursor
Yes I see the hand cursor
It just doesnt respond, I'll look into the dependencies section though
Look at other Content Patcher mods that add new items similar to what you want to do and see how they structured/organized their mod.
Is it possible to only apply a map patch for certain days of the week in game? Like my shop only being present on these days?
Yes. If your patch's applicable times are too specific though (i.e. changes more than once a day), you might need to adjust the UpdateRate for the patches.
Ah ok that's good. Is there an example anywhere of doing this? I can't seem to see anything on the Maps Modding wiki
{
"ItemId": "(O)254",
"PriceModifiers": 2.0
},
Is this the correct way to use "PriceModifiers"
You would need to use Content Patcher's When conditions to set your patch availability, so the CP docs are more helpful for that
I know SVE does a thing with the Skull Cavern entrance and exit depending on whether or not the Desert Festival is active, might be a place to start?
Do you know any Mods that ads new wearable items 😅 wich give the player affects
Hmm that didn't seem to fix it
So I need cp for my mod. Cause it can do what I need and it’s easyer right ?
might wanna ask DH about it then, not sure
you can check if ur data is definitely there in game by using tile lookup with lookup anything
I don't know of one off the top of my head, sorry. I know that there are mods that add custom items with buffs or special effects, but I'm not sure if they're solely reliant on Content Patcher or if they use another framework
I already have a When condition on the patch. Is it possible to add more than one?
The first example under Conditions shows two requirements being met
Ok thanks
Oh I missed that lmao
From the wiki: For example, this will double the price of a shop item in Data/Shops:
{
"Modification": "Multiply",
"Amount": 2.0
}
]```
Ohhhh
Where did you see that on the wiki exactly?
I was looking through here but didnt see that info
Ah. :p derp, ty :D
on the Shops page you can see the "common fields" row
that links to fields that is present in every item query (shops, machines, winter star gifts, etc.)
Does appear to be there yeah
Cool, so new question lol - do I still assign a price for the items in the shop, or does the PriceModifiers just take over by applying the multiplication of the base price
(there's a specific link under PricesModifiers in the Shops page that is a bit more direct, Selph)
ahh
I misread the question actually I thought they were asking about quality and stack modifiers
it uses the Price field if set, or double the base sell price if not set
Ty :D
Some object data also might not have a price set in it, so setting a Price is advisable in those cases
@blissful panther do u have any clue
Is that a space between MEEP and the _, or is it just bad kerning?
Doesnt look like it
That looks fine, yeah... did you add the manifest part?
What exactly is spacecore
I added the dependency yes, took the uniqueid from meep's manifest
spacecore is just a mod not a mod manager
oh lol he edited 🤣
ah
LOL
classic discord
Guessing he was asking about Stardrop originally? 😛
ooo
Yeah, manifest looks good, too. Could you share the entire patch block that adds the tile properties? Just the relevant EditMap part!
!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.
use the parser 
Maybe 😅
Is this correct? SMAPI doesn't seem to like it ``` "When": {
"HasMod|contains=FlashShifter.StardewValleyExpandedCP": true,
"DayOfWeek": "Monday, Thursday"
},
{
"Action": "EditMap",
"Target": "Maps/{{ModId}}_CordovaJanitor",
"MapTiles": [
{
"Position": {
"X": 1,
"Y": 4
},
"Layer": "Buildings",
"SetProperties": {
"Action": "MEEP_CloseupInteraction_Image LooseSprites/Cursors 540 305 42 28",
"MEEP_CloseupInteraction_Text": "The spirits tell me you're learning how to use a new mod..."
}
}
]
},
@blissful panther
Contains is still correct
so just noticed the danceRejection dialogue key is deprecated. not sure if it's buggy because of that now.
o ok
For HasMod
Given that it appears under the lookup, I'm guessing the patching wasn't the issue
It's the DayOfWeek that's the issue
One last easily missed thing! Does that tile actually have a tile on the Buildings layer in the map?
It does, initially it was entirely transparent (but still there) and I already tried putting an actual non-transparent version on the tile
This should confirm that right?
I've already realised that those actions get wiped if there's no tile on the corresponding layer
It says it can't parse the json
"AvailableStock": 1, is daily, right?
Stardew Valley's monsters have been making a valiant effort to prematurely end the days of foolhardy farmers.
Why not award their efforts by giving them a little more... style?
These new, purely visual, variants are sure to spice up your adventures a little more!
A bunch of monster types are not yet supported, but I had enough variants already to justify an early release of what's been done so far.
https://www.nexusmods.com/stardewvalley/mods/32218
(Sorry for interrupting, I just wanna get this out of the way before I go sleep. please carry on as usual)
I kinda want to rewrite xnb2cp again so it has a copy of content on the server and can diff the files in 16x16 chunks..
That definitely does confirm that... would you be willing to DM me what you have so far so I can test it out tomorrow (GMT)?
Double check that you have the correct number of closing brackets, because the parser likes my mock-up fine with your When block added
What is spacecore. What does it do
Library mod. It does a lot
The mod you mean?
the blurb still says AT 
Yeah, just all zipped up.
Yes I'll zip it up real fast and send some instructions, it's all very basic so far
Hi all! Back here three years after making baby's first mod to finally update it from JA to CP and everything is working except for the textures and gift tastes. I tried looking around the wiki but am not sure what I'm doing wrong. Any clues would be appreciated!
https://smapi.io/json/content-patcher/68f17a28feed4cd8bdc1abe2eaca1011
Also please ignore that only the letter is translatable rn. lol
Fuck.
I'll correct that right quick!
Thanks! Sorry for not having time before needing to sleep today. 
No worries! Thanks for already willing to help out in the first place, it's probably something stupid on my part
Here's my sample codeblock, 8BitAlien: https://smapi.io/json/content-patcher/a593b8c8e0ee496d9611cdb4c99378e1
I've had a look and can't see anything wrong with the json. Would you mind taking a look at my log? https://smapi.io/log/9c2ea194af4d4f4b995a4f1170933caf
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 12 C# mods and 8 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
Send your current JSON block for that patch
Because it looks like you closed the When block too early according to that
Try not breaking up Monday and Thursday into separate quotes
"DayOfWeek":"Monday, Thursday"
Your original code block had it that way, which should have been correct
actually the FTM spawning isn't working anymore either but I'd rather fix the textures first
Still not working sadly!
Did you change it in both spots?
There's another one at line 35
Well, if you ever do I will be happy to beta test it!
How do I ensure a recipe is purchase only? Meaning what do I put in the unlock condition if I dont.. want one?
"{{ModId}}_Carbonator": "{{ModId}}_MeadKeg 1 bonghits.Cp_BearHoneyMead 1 118 2/Home/{{ModId}}_MeadKeg/true/Farming 4/"
Just omit the field?
change Farming 4 to something else
https://stardewvalleywiki.com/Modding:Recipe_data
This... will probably be useful.
Thats dope
so does anyone know how the game adds these little icons in the special orders? -->>
SpecialOrdersBoard.GetPortraitForRequester
Alright. It's done. I'm pulling the trigger
you can postfix that if you want your own character to get emoji
on the seb mod?
Yep
oooh
so you can't add it with content patcher? https://stardewvalleywiki.com/Modding:Special_orders
another mod to download for my beloved sebastian ❤️
it looks pretty hardcoded 
Gonna put together a quick blurb and post it here. One minute!
(why is baby on this)
theroetically you can edit these
and then make your requester Baby
only the first one btw 
(hmm wait, I read the code and does it really only pull from emojiTexture)
(dang, ignore me then)
Ever wished that Sebastian was a little more mature? Well, wish no more! Kantrip's Older Sebastian is an NPC dialogue/events expansion that performs a complete overhaul of Sebastian's character. 20+ new events, hundreds of new lines of dialogue, custom secret notes and more!
https://www.nexusmods.com/stardewvalley/mods/31574
public string[] emojiIndices = new string[38]
does harmony let you append to array lol
yeah I'm deleting all my misinfo
but yea i would just postfix this if u got a c# component already 
its pretty standalone
excited to download your mod kantrip!
i believe ridgeside C# has custom code to display its own emojis
Thank you 😭 I've been working on it for a year
Might go puke now that it's finally out and people can look at it. Omg.
if I do Hasmod |contains= mod1, mod2, that's an or, not an and, correct?
but what are the places the emojis are used? and when I add the code it will work wherever?
correct
SpecialOrdersBoard.GetPortraitForRequester is only for special order board, by doing a postfix, you can return your own texture instead of the default emoji texture
most other places in the game uses character mugshots instead 
ok
It'd be pretty easy... if we couldn't use tokens inside i18n keys, still doable, just more annoying
Yeah... the random/range token stuff could get annoying
Random would probably be the easiest, dynamic tokens would be worse
And people tend to be very creative with all the tokens 
you have to port the whole cp tokens system to js 
i think for a first draft, maybe just treat any token in a i18n key as wildcard
show ppl whats known to exist at least
I probably would just make it into a standalone python script, not part of the i18nifier
I never understood those in game i18n editors... feels a bit counterproductive
@tribal ore Congratz on the mod release :D 
Thank you!!
How do I make it so that my NPC (part of my shop) blinks?
Hmmmm. You're talking about part of a map?
do you want to animate the portrait or the maptile?
Yep it's a map patch and her head is in the window of the truck. It looks strange that she's not blinking
A maptile
you need to have all her frames in a tilesheet, and use tiled to animate them
Thanks!
Have you looked at the traveling pig cart as an example? I'm betting you could learn something from that. Or the A/C fans on Robin's shop out front
Nice!
but yea it would be normal map anim stuff same as waterfall
So I wouldn't need to add her in as an NPC?
I want her to have a portrait and her head out of the window basically
portrait doesnt need npc either
That's good news lol
u can look at they deserve it too for many examples
I checked the wiki and I thought I had to add the portrait in through the Shop Data?
Ahhh
Gotcha
[Content Patcher] Patch error: Pelican Town Food Truck > Load Portraits/Elm has a FromFile which matches non-existent file 'assets\ElmPortraits'.
What does this mean?
The file does exist lmao
show your folder?
Want me to send it or a screenshot?
did you forgor the .png
yes
Yep, all good now!
The portrait isn't actually appearing when interacting with the shop 
First time for everything
"Action": "EditData",
"Target": "Data/Shops",
"Entries": {
"{{ModId}}_FoodTruck": {
"Owners": [
{
"Id": "AnyOrNone",
"Name": "AnyOrNone",
"Portrait": "Mods/{{ModId}}/Elm",
"Dialogues": [
{
"Id": "{{ModId}}_Default",
"Dialogue": "I have only the finest quality foods!"
}
]
}
],
``` The portrait isn't appearing still. Is this correct?
You should be inserting the Portrait to Portraits/Elm
then calling to that instead of Mods/{{ModId}}/Elm
I believe
That is at least how I did it, just got done making 2 shops
Will try that, thanks
hmm, if it accepts a path it should be able to be anything, so i would verify it's not another issue, but
Is there a way to have a NPC scheduled to go to the bookseller when they're in town?
i do prefer loading stuff to portrait
i don't really see how, i don't think there's a flag for that, or a CP condition
the only way i see is combo between a mod allowing to use GSQ as cp when, and a mod having a GSQ for when bookseller is visiting
Mm, a bit much for a brief visit. Thanks anyway
All good now thanks everyone!
someone may have a workaround/better suggestion but yeah
at the moment i don't really see a better option
Is there a resource somewhere for modders in relation to cornucopia? Like a list of available fruits etc with like a list of item IDs? lol this may be wishful thinking
yes it's named download the mod :p
lol alright
it has a wiki
I was sifting through, was curious if there was a popular resource or something
wiki is good for a first glance, but it will not have item ids
but to know for sure from a modders perspective (ie item ids) recommend download
(i do appreciate wiki/mod page to get an idea of what i want to look into, but then downloading the mod and looking at the file is 100% the best solution for detailled stuff)
Reason for patch export is just so you get all the tokens resolved
Hi! I'm trying to make a custom event, and it works, loads into the game and triggers correctly. However, once I include a Relationship trigger to the event (the "When": { "Relationship:[name]": "Engaged" } code), no matter where it goes in relation to the event's raw code, it will not load into the game. I have tried checking for it to be "loaded" once I propose, but no dice.
I have made another event and many dialogue edits in this same json and it's worked fine, but this one event isn't loading.
Instead of {{ModId}}
good point, i don't think cornucopia use this for the item id however
Looks like they dont have any tokens
Other reason is so u get whole data asset
are you engaged?
but sage advice nonetheless
Rather than edits in various includes
aye
Not at this time, but I have tried getting engaged and it won't load. It should be available immediately after proposing.
when you aren't engaged the event doesn't exist
if it doesn't trigger even when engaged and having slept, then you have a problem in your when format
ah perhaps I need to sleep and try the next day
however
i suggest trying to switch to game state query check instead
PLAYER_NPC_RELATIONSHIP <player> <npc> <type>+
because :
- it will be easier to test the event (it will always exists)
- it may refresh faster than sleeping
game state query can be used directly in the event condition
Ooh, I didn't know that was an option! Thanks for the advice, I'll try this out. 
(format being G THEGAMESTATEQUERY)
it is relatively new
"Lumisteria.MtVapius_Lake_MariamPatrol/f MariamFortinVMV 750/t 2100 2530/G PLAYER_VISITED_LOCATION Current Lumisteria.MtVapius_ForestCaveLong/c 1":
one example here
if you still encounter issue with when stuff in future stuff however check here so you can see if it's a format error
but usually for events i strongly prefer them existing all the time rather than having a when on them
That worked perfectly! Thanks so much, it triggers correctly.
I'll be sure to keep the game state checks in mind.
Hi, I'm working on a CP mod to make Robin dateable. When I EditData in data/characters to change Robin to "CanBeRomanced": true, she no longer appears in any festivals. Any clue as to what might be going on?
I don't know where to start with animating map tiles within Tiled 
Like do I make a new spritesheet for the blinking anim and put it over the top?
[[modding:maps]]
Ctrl+F Tile animation
Show how you edit, you may be erasing datas depending of how
tile animations are incredibly simple, you just open the tile animation editor tool, pick your frames, and then give them all the same per-frame milliseconds duration of your choice. the first tile will then be marked with a 🎞️ tag in the tileset viewer to show it's animated, and it'll animate wherever it's used ingame (and in tiled if you have animations enabled)
I've seen this before. You've probably overwritten something more than you meant to in Data/Characters with your edits. I made a bunch of NPCs invisible during festivals until I learned how to use TargetField
Like Lumina said, though, you should post the whole edit so we can help you debug. Otherwise, we're just guessing
First you need to edit the tileset
Then you have the button blueberry mentioned and go forward from there
I've commented out all other code except this:
{
"LogName": "Update & disposition & spawn location when dateable",
"Action": "EditData",
"Target": "Data/Characters",
"Entries": {
"Robin": {
"CanBeRomanced": true,
/"Gender": "Female",
"LoveInterest": "",
"Home": [
{
"Id": "Default",
"Condition": null,
"Location": "ScienceHouse",
"Tile": {
"X": 3,
"Y": 4
},
"Direction": "right"
}
]/
}
}
Do I need to add the new animated tiles to the current tileset?
Yeah animations all need to be 1 tilesheet afaik
Awesome
Yeah, you've basically nuked her character entry. Try something like this:
"Action": "EditData",
"Target": "Data/Characters",
"TargetField": ["Robin"],
"Entries": {
"CanBeRomanced": true
}
},```
If you use Entries here you will erase all of Robin's other data. You need to use Fields or TargetField
This ain't related to technical aspect of mod but what r u gonna do about the rest of the family
(I prefer the Fields method, but then, I am usually editing multiple characters at once)
Thanks! I'll give that a shot.
You're also much more experienced than I am. I only have the examples I know already work
My character editing nonsense for the Legend of Zelda NPC mod using the fields method for those wanting an example: https://smapi.io/json/content-patcher/ad3e2faaf891492bb61e4d2d73d44d64
Using TargetField fixed my problem. Thanks!
Yep, either method will work. My example is more for those editing multiple Characters at once. 🙂
I was just going to ask where I can learn more about this, thanks for the example. 🙂
Oh that was easier than i thought
Where can I find documentation on how to use When properly?
I searched around https://stardewvalleywiki.com/Modding:Index but can't find a page that talks about it lol
I want certain items in a shop only available on certain days
- When is a CP thing
- You don't need it, use the
Conditionfield
its in the content patcher documentation
but yes as selph says, dont use it for shop items
Alrighty, thanks!
When should only be used if there's no Condition field or equivalents in the data model you're editing, since it's essentially hiding data from the game rather than conditionally using that data
you'll likely still get plenty of use from it depending on your mod, but ingame methods are always preferable
it's also very helpful for compatibility patches between mods, of course
Decided to change this. Now, it's an API for other mods to add items if they want. GMCM example here: cs var BetterGameMenu = this.Helper.ModRegistry.GetApi<IBetterGameMenuApi>("leclair.bettergamemenu"); BetterGameMenu?.OnTabContextMenu(evt => { if (evt.Tab == nameof(BetterGameMenuTabs.Options)) evt.Entries.Add(evt.CreateEntry(I18n.Button_ModOptions(), () => this.OpenListMenuNew(), null)); });
how do you go to the vanilla settings 
You just... click the tab normally?
oh context menu means right click?
This is a right-click menu, yes.
i see word context too much and its lost all meaning 
If only you had some sort of... context for the word. 
feels like there should be some indicator that you can even do that, bc i also thought it was a normal click thing bc there was nothing to indicate a context menu as far as i could tell
since i am passing in this enum(?) BetterGameMenuTabs.Options it means vanilla tabs only right
translation for mod authors: the menu appears on IsActionButton instead of IsUseToolButton 😌
Nah, the enum is only there to give you a standardized source of key strings.
you think i ever remember which is which correctly the first time?
i'll admit writing that message raised a lot of self-doubt
I'll have you know I never remember which is which the first time.
i like it though, psure i accumulated 2hr of time in life wasted from going to options and scrolling all the way down to gmcm
yeah i love toolbar icons for just adding a button for that. i stuck one in loc as well for its own options
i did this for a little while before i figured out how to set up the hotkey for it
i was like "pssh how often could i possibly need the config menu"
but yes toolbar icons 
Yeah, toolbar icons are nice. I just figured this'd be a neat little place to tuck away some things.
My animation shows correctly within Tiled but in game, the frames aren't lasting the correct amount of time 
did you give them all the same duration?
No I didn't
there's your problem
the game doesn't care about the individual duration of frames, you just have to duplicate them in the animation to get each frame to last longer
Ah gotcha, thanks!
Is there a mail key that can be used to send mail to a player not on a specific day, but when they first load the mod on a save?
<season>_<day of month>_<year> This, but when the mod is first "activated"
i don't think there's a key, but you should be able to use an unconditional trigger action
Where does that fit in to the Mail Data edit?
say you have a Data/mail edit that adds e.g.
"{{ModId}}_FirstLoadMail": "letter contents here"
then you also add a trigger action that runs on day start and sends that mail ({{ModId}}_FirstLoadMail) to the mailbox
with no conditions, the trigger action will always run the first day that the mod is installed, and it won't run again because trigger actions only run once by default
That makes sense, thanks
Should I use the AddMail trigger action?
yeah, you'll use the AddMail action in your patch. see example here https://stardewvalleywiki.com/Modding:Trigger_actions#Data.2FTriggerActions
side note, but this question of yours implies that you are using mail with that name to send on specific days
if you are indeed doing that, I highly recommend you migrate out of that format and use trigger actions instead
to improve compatibility with other mods
since if for example one mod adds a mail for "Fall_6_1" then no other mods can add mails for "Fall_6_1"
I'm going to use Trigger Actions for this mod - what do you mean by your first sentence?
Ohh I get it
Really? So you can't (shouldn't) do date based mail. Or can you do date based trigger actions? Not that I have done it, but date based seem like what you would want if you wanted to say have an NPC send a winter star greeting letter.
Yes you can do date based trigger actions
and you can add as many as you want
date based mails named after that format is not recommended because you can only ever add one
Ok, so the mail isn't being sent to the player. Does this look alright? ```{
"Action": "EditData",
"Target": "Data/TriggerActions",
"Entries": {
"{{ModId}}_FirstLoadMail": {
"Id": "{{ModId}}_FirstLoadMail",
"Trigger": "DayStarted",
"Actions": [
"AddMail Current {{ModId}}_FirstLoadMail"
]
}
}
},
Oh, it is just the naming format that was wrong. I thought it was the date part. My misunderstanding. That makes so much more sense.
if you dont specify the send time in the AddMail it defaults to the next day
try going to bed
Advice taken. Sleepy
(If you want it to appear in the mailbox immediately, try AddMail Current {{ModId}}_FirstLoadMail Now instead.)
That's what I wanted, thanks 
Hey y'all! Fun question for ya: my UI for Fishing will have small icons next to fish that you currently can't catch. All of the icons are pulled from Cursors. If it's not the right time, a clock. If it's not the right weather, an umbrella. What symbol should I use to indicate it's out of season? (For context, location isn't needed since the HUD will ONLY show fishes catchable in the area)
Obvs this is extremely subjective, I'm just curious if smth would immediately spring out to y'all as a player for "Oh it's definitely the season"
Heh, "spring" out
I say a leaf, since a lot of people associate seasons with their color
it's also easy to read the shape and draw
Ohhh!
A tree
Tree is also good
I'd also just use these four default images for each season, but a buncha fish have multiple seasons they can be caught in
Hmmm I have both leaves AND trees
Which one would stick out to you the most as "Ah, seasonal"
the last one since it looks the most like a standard leaf sitting there
what about something like this?
all taken from the cursors file
There is a mod framework for that.
It can't be a specific season since some fish have multiple
I appreciate it tho >:3
If I just wanted to use seasonal indicators I'd use these:
Trying to find it now. One sec
without doing flat out seasonal indicators, I don't see how you could possibly show multiple seasons
short of doing this type of thing
nope maybe not
SpaceCore can do it
It wouldn't be multiple seasons, it just needs to indicate the fish is out of season, not WHAT seasons it's available in. That'll be the Fishipedia's job
👆 that's even better as it is a very common dependency.
oh
Think a minimalistic hud element
in that case,
I was gonna go with the cross over the leaf, since it also has to have an element for time and weather as well (a clock and umbrella respectively)
To be clear in my original post I did specify that
I don't think I saw that question specifically, but fair enough
there's what.. sunny/rainy, then morning/day/night?
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Pro, with 27 C# mods and 17 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
oh damn, wind is a factor too for one of them
What am I missing here? Trying to load a change I made in my map - have the tilesheet installed as a mod but its not detecting it?
...Halibut can't be caught mid day, but morning and night.. how do you plan to indicate that with a single icon for time?
It's relative. If it currently can't be caught due to time, clock. Otherwise the icon doesn't show
..so you're just indicating whether it CAN'T be caught at the currently checked time?
Correct!
....why...?
....you're showing what can't be caught, not what can be.. I don't understand?
I'm doing both
but you said if the times are right, no icons at all
In which case it will be in a section of the UI of currently catchable fish
Let me be more specific since I believe I've confused you
see, I didn't realize there were TWO separate UI sections
the original post also didn't mention that
lulu i think you really just gotta try doing it 
I'm gonna!
see how you feel about various approaches
I just didn't wanna leave someone confused
if there's two sides, a catchable, and not catchable-and-why, this makes more sense
i sometimes record myself using UI and then ask other ppl what they think im achieving
Will look like this
if they get it right with zero context then it's good
so.. you hover over something and it shows you the details?
Nope, it's a HUD element
Okay I'ma stop now I believe I'm not helping the confusion XD
https://smapi.io/log/0d1bf0aa9eea4357a165a119b618e086
Anyone know why this asset wouldnt load when I have the mod for the tilesheet installed?
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Pro, with 27 C# mods and 17 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
so where do the icons show up if this is your example?
I appreciate ur help DarkSlayer but I gotta get back to work! I'ma follow chu's advice and try a bunch of stuff :3
...fair enough.. sorry?
maybe it has to do with the second error being FileNotFoundException: Could not find file 'C:\Games\Stardew Valley (Base)\Content\Maps\MeadSaloon.xnb'.
Ur fine! I wasn't explaining it well enough and got caught in a lot of answering specific questions rather than what I should've done and just explained the entire concept :3
Can't apply patch (CP) Expanded Artisanal Goods > Load Meadshop > Maps/Data/meadshop.json > Load Mead Shop Interior to Maps/MeadSaloon:
StardewModdingAPI.Framework.Exceptions.SContentLoadException: (CP) Expanded Artisanal Goods loaded map 'Maps/MeadSaloon.tmx' with invalid tilesheet path 'hime_kitchenclutter.png'. The tilesheet couldn't be found relative to either the map file or the game's content folder.
Right, but I have the mod for the tilesheet installed
Which is why im confused
When the others work fine
but is the map properly pointing to it? does your mod use it as a dependency?
i think it might be hxw tilesheet problem actually
Yeah its a dependancy in my manifest
@orchid acorn is hime_kitchenclutter loaded in hxm tilesheet?
Its the last in my list of loading tilesheets so I know it works through the others fine
is kitchen clutter new in that mod? cause I'm not up to date, but I don't see that file
yea it is new
I see, then I can't help
i dont see a load for it in the tilesheet mod, which might be why you cant use it 
Ah, welp
Only used a single cabinet not the end of the world
Just glad it isnt an issue on my end
anyways it is easy fix, just temporarily add a load until hime can check
right
Added a load, we shall see
its gotta go to Maps/hime_kitchenclutter
// Kitchen Clutter
{
"Action": "Load",
"Target": "Maps/hime_kitchenclutter",
"FromFile": "Assets/{{Coloring}}/hime_kitchenclutter.png"
},
All working now
can you make content tweaker check boxes disable when you enable a different one?
tweaker 
sorry, minecraft habit
if you mean content patcher config schema, no
can you add categories/ change boldness? I know some mod configs had that, but I think those all had C# in them
apparently I am blind
omfg... I saw the // in some of the content json files, but I assumed those were somehow comments, which I have apparently learned json isn't supposed to have comments... so this makes sense
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.
smapi uses the chaotic neutral json parser known as newtonsoft.json which let you do many non standard things
fair enough
"When" entries need all of the conditions to match right?
I know this isn't the spot for it, but it'd be neat if there was a mod that added in some sort of... interactable in shops that you could use at a cost, which would teleport an NPC to the shop, as if you are "calling them for urgent business"
Yes, all the conditions need to match
@ myself 
update going out tomorrow LOL
lol he found a buuuug
I once tried to edit the frontier farm map to make the fences dismantlable... couldn't even begin to figure out how to set up my tiled for that.. LOL
is TileSheets/animations able to be patched, and if so, how? i'd like to add an object on the ground in the middle of an event and it seems like temporarySprite is the way to do that, but it says it comes from TileSheets/animations
patchmode: "overlay" maybe?
Don't use temporarySprite, use temporaryanimatedSprite. You can reference your own texture for it.
is there a reason you cant use the temporaryAnimatedSprite command instead? /gen
oh wait, there might be more to that question
that's another thing i was wondering lol. i think i may just do that unless there's a specific reason for temporarySprite to exist
sounds good (and easier, lol)
you'll find i am very new and very bad at this modding thing, lol
temporaryAnimatedSprite is like the 1.6-added "here modders, this command is to let you add sprites too" command imo
(but just fyi, if its in the Content folder, it can be patched, with only a few exceptions)
so far, I managed to make Hay sell for 2 dollars, and make a steel tool retexture, and make Crop Calendar compatible with DaisyNiko's Earthy Interface
that's awesome!
supoer sick of all of this super valuable furniture though, with no way to sell it..
for some reason wall baskets say they sell for 10k
Does anyone know the name of the sound it makes in the movie theater when the film is loading and about to play? I tried slowReel and fastReel, but I think these are fishing sounds, and more importantly they seem to loop forever.
that's listed as music though, not a sound? I'll try it anyway to see thank you for the suggestion
there is log sound debug command
(If you enter debug logSounds in the SMAPI console, it'll log the name of each sound as it plays.)
oh thank you i'll try that
hmmm that's weird I really thought there was a 'film reel' sound. Either it doesn't play every time or I misremembered
Do you mean the ticket machine sound? That’s pretty similar
maybe it is part of the ambience then?
that might be what I was thinking of... weird
(You can enter debug playSound ticket_machine_whir in the console to try it.)
Thanks, it was more that I was trying to replicate the movie theater experience in a special event, now that I realize I was wrong about the sound playing in the theater I will probably just avoid it. Interesting that it uses the "doorClose" sound though which seems to be represent the cap popping off the projector.
but I learned two new commands today for working with sound so that is a great help : )
I really need to remember to do this to find good sounds for events rather than just playing the event over and over and over again with different sounds each time lol
Lol same. Didn’t know you could just play the sounds whenever 
After some more testing actually I think you're totally right. The ambience has like cocktail party background chatter and then the film reel sound plays over and over again which I thought was something else. So I guess I just need to use stopMusic at the right time? I'm not sure why it didn't play though when I tested watching movies maybe it does only play sometimes.
OK now it all makes sense. I did have that playSound fastReel in there still which is why it sounded like the film reel sound never ended. if I just use the ambience the reel sound fades out on its own
Well, I got UI Info Suite 2's page working. It was actually easier than I thought at first glance.
I needed to remember that I can just ignore 99% of the menu code because it's all trying to hack the existing game menu into having another tab and that's effortless now.
Hi there, I'm a beginner in making mods and I'm studying this decompiled NonDestructiveNPCs mod. Is ModEntry.cs the only functional file in this whole decompiled folder? The other files only look like some notes, and this ModEntry.cs seems to be the only one that interacts with the game itself
Non-Destructive NPCs has public source code, which will be a bit easier to read since it won't have the decompiler stuff. (You can find source code by going to smapi.io/mods, clicking "show advanced info", and looking in the "code" column.)
ModEntry.cs is just a conventional filename, but SMAPI will look for a subclass of Mod to load the mod. Any other code is ignored by SMAPI, so only what's called from that Mod implementation matters.
Thanks! I checked the source code and only found this file looking functional, am I correct? What's Harmony library though, is it a library from the original game?
Yep, that seems to be the whole mod code in this case.
Harmony is a third-party library that's bundled with SMAPI which lets you patch other code (i.e. run your own code before, after, within, or instead of an existing method). In this case it replaces that game method with its own implementation (by prefixing the method and then returning false, which means not to run the original method).
Thank you : ) Do you know if there is a documentation for Stardew Valley modding? Like, a complete list for usable functions to interact with the original game? I found some in the wiki page, but I guess it's only partial
Or do people just read the decompiled stardewvalley.ddl
We have some docs at Modding:Index#Creating mods (note the 'specific topics' subsection), but mostly you need to look at the decompiled code to see what it's doing. The game doesn't really have an API, you can interact with the entire game code.
ok thanks
Whew. I am down to a single open-source mod I can send a PR to, then I just... need to wait a bit for some PRs to go live, and get some more eyes on Better Game Menu because there's a 100% chance I've missed mods. But at least my recent solutions list in VS is fun now.
stardewdelegatehelper 👀
My wip code generator for using attributes to mark console commands, trigger action methods, game state queries, and event handlers. It basically needs a full rewrite right now to fix a performance issue
So if patch export says my NPC's schedule isn't even present, what could the problem be? I've looked at other mod NPC schedules and it really doesn't look any different.
you either:
- haven't slept or reloaded the save since messing with the schedule
- haven't loaded your schedule to the proper NPC name in Character/schedules/<npc>
- had a JSON error somewhere in there
if you've got a log, include it and see if there's an error parsing the schedule JSON
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 14 C# mods and 5 content packs.
Loading Characters/schedules/MV.Municipal_SheriffBill
So, try again with the value above as the proper NPC ID 🙂
I had actually changed that about three times trying to make it work, but I can try it again
maybe I had a typo
Gotta include the parsed ModId value in your patch export command if it's in your NPC's internal name (and it should be, as per best practices).
Yeah, I did that at one point. Sorry, I guess this was a later attempt's log. I'll try it again and see how it goes
You also capitalized the i in Bill for the patch export command for this log, which may have also caused a mismatch
Capitalisation shouldn't matter for this particular command.
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 14 C# mods and 5 content packs.
nope
What does your patch summary show about the schedule load patch?
let's see
Is your schedule load/edit in an include?
Since you're not getting an error and the schedule isn't there, I'm wondering if you've forgotten the include code block.
I have the include
You should have something like this in your log if the schedule was there 16:45:00 TRACE SMAPI Content Patcher loaded asset 'Characters/schedules/Abagaianye.HiriaNPC_Hiria' (for the 'Hiria Williams - Custom NPC' content pack).
https://smapi.io/log/234e33e4df1e462093f9dea660451a9b it appears to be loading but not applying?
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 14 C# mods and 5 content packs.
I might just be missing it, but where is your actual Load of his schedule? I can only see EditData patches.
Oh god I bet that's it, I haven't updated my loadables
That's a relief if it's true, let's see
THERE IT IS
Also this is just a suggestion, but LogName is generally more useful if the names are unique to each patch rather than many patches sharing the same one.
Updated everything but my loadables. And yeah, that's probably a good idea. Wasn't really thinking much about those while I was focused on other things
that's a nice low-stress change to make after the fight with this schedule
heyy, whats the fastest way to unlock the wizard tower to test smthn?
@hard fern I love the new botanical greenhouse for PIF but thought I'd let you know it needs a simple patch to actually flag the map as a greenhouse space
damn
If you just need to get into the tower, warp straight in with debug warp wizardhouse. If you actually need it unlocked, you could try giving yourself the mail with debug action addmail current wizardJunimoNote now.
If that doesn't work, change the date to spring 4, sleep, head to town to get the CC event, read the scroll, then sleep. That should give you the letter.
I'm not a mod creator myself, but I referenced another greenhouse PIF mod to patch it for my personal use since I really wanted to add it
Haven't tested it yet though, so I hope that's right 😅
thank youuu 
Yeah i see it 😅 i totally missed it
It should work if i slap the property onto the map in tiled
It happens! Very familiar with sneaky small bugs like that being a software developer haha
Again though love the look of it 😁
hey guys! anyone know why setting the map property Outdoors to false in Tilex wouldn’t be working?
i’m still getting leaves falling dogs barking etc
my base map was Cave which i incorrectly assumed would count as indoors and i’d rather not remake the whole thing with an indoor map
Right welp i think i fixed it 😅 i just loaded my game up and planted one singular pumpkin seed in spring
Because that's one of the map properties where giving it any value makes it true. To make your map not outdoors, remove the property entirely.
that’s fascinating lmao thank you
All the ones with the superscript 2 - T² - are like that.
i wish people sent a log ahead of time...
No, because plenty of those properties have nothing to do with being indoors or outdoors lol. But they're all false by default if not included and true if included and given any value.
"Printed in vanilla" is an interesting turn of phrase, must be machine translation.
I would imagine that person probably doesn't have the recolor mods installed in the first place
i also love when i ask for a log and the user just does not respond
i also wonder if they ended up installing both earthy interiors + elegant interiors and the recolors ate each other
or, yeah, not installed the recolors at all
I've looked through sooo many mods at this point trying to build my list. Very common to see people in the comments that just don't understand they need additional mods 😆
Can you use day/night tiles on anything, or only the vanilla ones?
Anything, as long as both are on the same tilesheet.
As far as functionality is concerned, does it matter if I assign a Big Craftable a different category? Category -9 does not display a category name in the tooltip, and I'd like for my Big Craftables to have that - but I don't want to break them.
I suspect the game will just override that even if you tried, given this in the Object constructor:
if (Game1.bigCraftableData.TryGetValue(itemId, out var data))
{
this.name = data.Name ?? ItemRegistry.GetDataOrErrorItem(base.QualifiedItemId).InternalName;
this.price.Value = data.Price;
this.type.Value = "Crafting";
base.Category = -9;
this.setOutdoors.Value = data.CanBePlacedOutdoors;
this.setIndoors.Value = data.CanBePlacedIndoors;
this.fragility.Value = data.Fragility;
this.isLamp.Value = data.IsLamp;
}
Ah... Drat.
It's odd that I can use SpaceCore to override category tooltips for Objects that typically don't have one, but not Big Craftables.
wondering if anyone's ran into the same issue with xnbcli. It's working with some files like the cooking and crafting recipes but not the objects file? If I'm being a complete simpleton please be nice!
I wouldn't use that method of unpacking, because it can't unpack everything properly
I don't remember what the other one is called, but it was xnbhack or something (?) in any case it's on the wiki page
iirc xnbcli is repacking, which I definitely wouldn't do



