#making-mods-general
1 messages · Page 243 of 1
you would EditData on the furniture asset and add new key
{{ModId}}_PinkCauldron or whatever
but yea im not 100% against having AT if thats how you prefer to decorate
its just that we arent limited in adding furniture anymore
trueeee
i actually do prefer CP I just thought others prefered AT
can i have all my furniture on the same sheet like a tilesheet or does it have to be seperated
same sheet is fine
epic
i basically need to make the canvas be a total of number sizing 16 squares right
It turns out you can drive off into the void at some of the shortcut walls. There's only one bug report, so I'm guessing most people aren't trying to drive into the void 
what numbers a spiral mine again
man, i am just realizing I understood it wrong on how I can put my furniture on the tilesheet 
is there amax tilesheet size
19
(Sorry for the ping - I wish it defaulted off instead of on.)
4096x4096
i think this is a soft max tho, ppl with better computers can prob go higher
!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.
oh dang thats way more space than i thought
should be fine now
dang, chu got that fixed faster than I could suggest how to fix it 
Are you sure you don't want to take over the mod? I really feel that someone who actually wants to play it should be in charge of it.
it is just case of drawing stuff on Front when it should go on Buildings
for future reference, Jane: you can use this mod to see where the gaps in the walls are. From there you just have to put a tile on Buildings to block it. https://www.nexusmods.com/stardewvalley/mods/1691
i have 18 mods which is already too many

but also i dont think this would ever need more fix
You are a lifesaver. Thank you!
if someone else edit the 19.tmx then well, not supported™️
I'm trying to do a map patch and it works fine for Vanilla, but the SVE patch isn't working. Can anyone take a look?
I'm trying to make it compatible with SVE and the error mentions directory climbing which I do not have. I'm trying to patch the Town
what do you mean after?
Do you have an optional dependency on SVE
Double check that your Mods folder has right version of files
You mean in the manifest?
Yeah
Still I'm 95% sure it is file nonsense in your case, happens a lot with map making
Forgor to save or forgor to copy etc
Follow up question from earlier, I was away and want to know the answer. Did we ever figure out how to use the other set of arms for the sitting animation?
If you really can't find then you will have to send the tmx here for everyone else to look
I don’t have an optional dependency - do I need one? Although the error was about directory climbing
send your log and your tmx
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
this log isnt complaining about one of your maps
Did you copy and paste title property from a different map (tmx). I get that error when I copy from one tmx to another.
did you make an edit to the tmx inside SVEs folder in order to create your map patch?
I copied the Town.tmx file from SVE and put into my Mod folder, then I edited it
Are there docs on how to make a custom menu? Presumably C#
well, its complaining about a tilesheet in one of SVEs files, so presumably an accidental edit/save was done to it, as a fresh download of SVE has no tilesheet climbing. delete your SVE folder and reinstall it
This happened to me making a map and it was because the little white boxes (not sure the proper name for them) on the "path" layer that do special things are looking for the sve directory but you removed the map from that directory. So it is thinking you have title sheet climbing. Hope I explained that well. It felt like word salad actually.
making new menus is always c#
c# stuff is mostly a "decompile the game and figure it out" type deal, but if you are struggling with specific problems, you can ask for help here
Yep I understand you - I just don't know what to do to fix it lol
that said the StardewUI framework does make complex menus easier to work with
it depends on what kind of menu do u want
I want to be able to enter and check for a code
since menu never go into save its perfectly safe to subclass a game menu to do what you want
Which I may be able to do through chat
the game has a resusable menu for that
the same one that's used for naming pets/animals
you still need c# but you don't need a custom menu
Yeah I figured I could use that
just gotta assign to activeClickableMenu and u good
how much c#/ general programming experience do you have?
what is the entered name for tho
1 year of C#, 6 years of C, some delphi, visual basic, 5 years of java, 8 years of python, assembly, matlab, some html rubbish
I write machine software for a living
I fixed it by making a "new box", manually typing all the properties into it, then deleting old box. so the new box knew the correct directory. Not sure, if that was the correct way to fix it. It seemed like there should have been a better method, maybe someone else knows a better way. Because if you have alot of those boxes that is alot of manual typing.
I have, but it was too much to properly sift through it yet
We don't usually "hook onto" existing applications for what I do because of risks, so this kinda thing is fairly new to me though
It's ok, it seems to be resolved! I did a fresh install of SVE and that seemed to fix it. Thanks for your help regardless 
the class you want to look at is Menus.NamingMenu
@hard fern did you ever figure out how to use the other set of hands? I am just wondering the answer?
That's good
As an example you mean, I just have to make a class using the IClickableMenu interface and implement whatever it needs?
Ohhh okay I get the name of the class now
I'm stupid
theres not really point in knowing whole code base
ctrl+f for relevant sounding things until u find 
I first always look for means that wont require me making derived classes of the base code though :p
There may have been a CP way to do it so good to check first
oh its fairly dangerous to subclass things in sdv 
you need to make sure you are not subclassing anything that will be serialized
I'm aware, not to mention there'll be some roadblocks
i mentioned this specifically since menu is exception where it is safe to do
yeah if something gets serialized to the save file it blows up the game when the serializer encounters an unknown class
analyze my beloved
even if you implement serialisable interface?
yes
damn
the general way rn is to use a feature from spacecore
spacecore allows you to do it, but there's an additional step
usually subclassing isn't needed though
depending on the thing, you can get away with erasing it just before save and recreating it when the save loads
yeah
I figured out a thing with locations that replaces them with vanilla locations while serializing
You also risk someone else putting an unexpected class in your locatio
let me dig up the transpiler I wrote
Tbh just use spacecore
no, because the type is always determined by location data anyways
Is it possible to have a custom shop that sells random food items rather than set ones? I can't seem to find anything on the wiki
I meant more of a "someone sticks an unexpected item into your location"
of all the spacecore features that should be independent mods, the serializer is #1
yep item query
I know way too little about stardew's saving mechanics to make sense of any of this hahaha
what's that have to do with location subclassing?
then u can just proceed with "dont do it" for now
do you want eg any cooking item?
Yep!
do a PerItemCondition then
Can you explain?
So ITEM_CATEGORY Target -7 checks that an item is category -7 cooking
i think i am ready to get some beta testers for my mod
Ah ok thank you. Where would this go in my json?
you can then have a shop item like this
{
"Id": "RandomCooking",
"ItemId": "RANDOM_ITEMS (O)",
"PerItemCondition": "ITEM_CATEGORY Target -7"
}
Oh! That makes sense
Thank you 
Oh, to set the price as vanilla?
to make sure you are grabbing a cooking item that has actual valid price
Right ok, I shall try that now
Hiiiii
Hey, I'm starting my mod but I'm not sure which program to use. Where do I find it?
what kind of mod are you making
It's like a content pack with more characters and new fishes
!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.
if it's a content patcher pack, use one of the json editors
Ohh thanks you
!cp
Content Patcher (https://www.nexusmods.com/stardewvalley/mods/1915) is a mod which loads content packs to change the game's images and data without replacing XNB files. If you want to make mods using Content Patcher, start at https://stardewvalleywiki.com/Modding:Content_Patcher.
here be docs
I'm not specially good at coding, unlike my friendo Who is the one Who codes the mod
its a learning curve but i believe in you and friendo 
Awww thank you so much. You are so sweet
Does someone happen to know how to use the hands circled in blue and not the ones in crossed out in white
can you remind me what the actual bug you are try to fix
It is the sitting animation and earlier we found that using it in events it automatically uses the one in white. Which is holding reins. So the character is holding reins when sitting in events (even if not on a horse) the hands in blue are the one that are not holding reins and the one the game uses for sitting when not on a horse.
We could not figure out how to tell the game to use the other hands. I had to go so I never found out what the answer was, if it was found.
Hmm, my custom shop isn't appearing when I'm pressing A. I've added TileData
What actually happens? Nothing?
This can be done with CP right? And yea, nothing appears
For the TileData, I put Action: {{ModId}}_CustomShop. Is this right?
Yes. If you want download my mod and look at how it is done. It is a shop with no owner. So it is the siimplist implementation you could do. https://www.nexusmods.com/stardewvalley/mods/30740
No, i havent, and so im wondering if it's a hardcoded thing. There's nothing that would allow you to use the other set of hands in events
Since before, you couldn't even sit on chairs
OK, at least I know. It has been bother me since I had to go 8 hrs ago. I hated not knowing the answer.
Sorry i took a nap
Thanks both! Also, is it possible to add a portrait as a vendor?
I left too, so it is all good.
Yes, but my mod does not so you will need to read the docs for that.
How would I go about doing that?
I left mine very simple.
Sorry, this shop stuff is all new to me
this is part of the Data/Shops edit
Yours is really good Frog, great utilisation of the tunnel
im psure WAG has a bunch if u want example
The idea was not mine. But the original author left stardew modding and said people are free to update. So I made it agian from scratch. I eventually want to make it a real npc. But have not had the motivation to tackle that yet. The first step would be moving out of the tunnel as the tunnel does not allow npc path finding.
For the portrait you have looked at the wiki page. There is a section under "owners" where you do the portrait. https://stardewvalleywiki.com/Modding:Shops
Hope that helps
Thanks again Frog 
Np
What does this error mean, it's something to do with my map https://smapi.io/log/9477fdcba47c4d83bcce2d805686c379
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 11 C# mods and 6 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
invalid tile gid errors 🔥
Changing the TileData has caused this error. Is this correct?
make a backup copy of your TMX file, then try embedding any TSX tilesets into your map, save, and try again
But it was working fine before I changed the TileData
the tiledata is irrelevant
did you have the tilesheets present when you changed the tiledata
coincidental at best
the only two ways i know of having the invalid GID error appear is by either making a change without having all the tilesheets present, or using a tilesheet that no longer exists
never save a map without the tilesheets, even if you dont actually change anything about the tilesheets
Thank you, I think you've got it. Will redo the TileData with the tilesheets present
you may have to like, delete the tiledata, save (with the tilesheets ofc), and then re-add it to get the save to stick
(really any minor change that makes it detect that something is Different and needs to be saved, to get it to recalculate gids)
My shop now has a cursor over it but nothing is happening when clicked on aaaaa
That means it is detecting your tile data, but not finding the shop when you click. (Or was what was wrong for me) I had that too. Make sure the tiledata and shop data match.
Just checked and the names match. Is there another step I've missed out?
Hmm, can you upload the json. And take a screen shot of the tiled data. I am really not sure what else it could be off the top of my head.
no tokens in Tiled
Ohhhh
(i should have noticed earlier but i didnt even think about it tbh, sorry!)
Not a problem, just glad it's solved now lmao
(too focused on the gid error)
They can leave the token in the json right. Just need to type it out I tiled? Or do they have to type it out in both places?
assumiung its a content patcher json, sure
content patcher will replace tokens in jsons it reads
content patcher doesnt open a tmx
I thought it was good practice to use the token. Didn't know Tiled didn't read them
if you want to use token you can use editmap
Tiled has no way of knowing them bc tokens are just a Content Patcher thing
CP made them up
So in tiled just replace {{modid}} with whatever you used in your manifest as your ID. Just in the tiled though, leave the .json as is. It should work.
Is that way better? I did not even know doing it through CP was a thing. I guess the advantage is no data on the actual map.
its not really an advantage or a disadvantage outside of being able to use tokens
its like half of what EditMap is for
if you have a really small edit then use this to avoid having a tmx
but sadly its not applicable for me in this mod since i also needed animations
as soon as u need either anim or new tilesheet then u need a tmx so
do you think i should include the base color for the cauldron in me mod
actually nvm ill include it in case someone wants to use it lmao
My shop has no inventory 
Bright side, you have a shop 😀 😆
I know right lmao 
Guessing the context tag I've used isn't working
I think I will come back to this tomorrow
I am pretty sure -7 is cooking.
Just realised the dialogue isn't there either
I wonder if you need need to type out the context tag rather then use the number. Like category_cooking
you can use either, there's a GSQ for both
if you need help feel free to post what you have
ok i fina,lly got everything on a tilesheet now i just gotta hope i spaced it all right
omg
i found a grid on krita i can customize to be 16 tiles
@dusk mulch just a note on your announcement, if you're struggling to get beta testers, it may be because it very much comes off as an unprovoked threat? it's okay to say "this is a closed beta and you are asked not to release any details until we/I release the mod" but immediately starting off in this relatively hostile way in a post where you're effectively asking for help may be putting people off.
Also, you need to include more of a reason for why they should want to play it - what is your mod about?
No test only ship
labelling it as a "job" with responsibilities may also be off-putting tbh, remember that beta testers are people who are doing you a favour in exchange for playing your mod early, not your employees
I would love to say no maint either updating anything makes me want to perish
no debug, only run code
Have you seen the debate over test knitting in the knitting community?
Sorry, I didn't realise how I may have come across. I will try a better, yet smaller announcement.
No? Well. Keep it that way
RANDOM_ITEMS (0) you have a zero, should be RANDOM_ITEMS (O)
oh god no, but I'm so not shocked
that community can be so entitled sometimes
I dunno what the exact number is gonna be but sooner or later i will hit max number of mods that u can reasonably keep updating 
The urge to make a bunch of small mods is so high tho
Some designers ask for stupid shit like "you must take a photo of your finished object and put it on Instagram"
Mood
Like it's just another little project....
Mood
i like making stuff so i imagine eventually ill ahve a graph of mods to update on google docs or w/e
no need to apologise, this isn't affecting me directly in any way - it's just that you seemed not to be getting responses and I figured I'd let you know
Sidequests 
"do my free promotion for me" lmao
No idea how Pathos does it
I keep getting sidequest ideas while hacking away at the enemy mod bc it's just sm work
Pathos is a Large Modding Model
night quantum
night atra!
Night!
I didn't see that. 0 and O look so similar.
Pathos is that one 10x developer they talk about on linkedin /lh
:sleepingpuffer: fuck I can never find that thing, what it's named

mods pathos is an outlier adn should not have been counted
It's night
no, pathos seems nice and like he wouldn't randomly delete blocks of code. Does not qualify
it's night, fuck
I tried "bed" "sleep" "zzz"
I agree i always have to second guess
Pathos once accepted my 3 line pr to some json so I therefore agree to the niceness

It's listing all of the cooking items for sale now! How do I make it so that only 6 per day are randomly listed for sale?
I should have gone to bed 3 hrs ago. But sitting her on discord instead.
MaxItems
listed here for reference: https://stardewvalleywiki.com/Modding:Item_queries
Thanks!
Yes you can
awesome
If I want to place a building in Forest.tmx do I need to edit/add the entire tmx to my mod or can I just insert my changes overtop? I looked at a couple mods and I see that its easily achievable with objects
i can make 2 files maybe one for compat with my mod in the future and one for basic stardew i.e. robins shop
It’s best to do a map patch for small edits
look at the EditMap docs for content patcher
hmm how hard would it be to add custom crops and items to stardew i might go look up some herbs and things and make a crop mod in the future
is that content patcher or is there a framework for that? or is that like hard coding C# stuff i gotta learn
Content patcher
oh yay
the scope creep is real actually omg me :"i will make this one mod for fun" also me "hm i will makecustom map tilesheets, hm i will make custom furniture, hm i will amake custom crops, hm i will make cust-"
I edited Forest.tmx and cut out everything except the building and its immediate surrounding area. Now the .tmx file is still full of animation data and stuff like that from the original. Is there an easy way to c/p my tiles to another tmx files so it only contains my data?
you shouldn't
at the very least, you want to keep all tilesheets named as they are
This is 3500 lines
what you do want to do is remove the surrounding tiles if they aren't supposed to be changed
and use Overlay
I did remove the surrounding tiles
mod idea im gonna work on after i finish the furniture and do some more maps: I would love to hear thoughts on this btw
a mod where you grow various herbs and then dry and steep them to make various teas and herbal remedies
the actual tilesheet being there isnt important cus it's all 1 shared asset
if i want to add usability to the crops like drying them and then steeping them in custom machines that would still be cp aye?
that would be cool!
and yep
[[modding:index]]
i want to add it to a custom shop in the future but im gonna add them to pierres for base game, i think people who like cozy vibes would dig it
if u see a thing under Specific topics then its probably CP
Oo ok ty
for furniture though, people usually expect a catalogue i feel
im always worried im gonna accidentally stuble into an idea that uses hardcoding because idk anything like that
might not need to do anything in particular to expose it to the generic catalogue, but you can use calcifer for a custom catalogue if you want
Hmm then ill try and make a catalogue i can put in a custom shop in the future / a vanilla file for robins
yea ill prob use a custom catalogue so i can pretty it up
Your mod gets bigger and bigger everytime I see you chatting. I am glad you are having fun😀
{
"Id": "RandomCooking",
"ItemId": "RANDOM_ITEMS (O)",
"PerItemCondition": "ITEM_CATEGORY Target -7",
"MaxItems": 8,
"AvailableStockLimit": 3
}
]
``` This makes it so that there are 8 random cooking items for sale each day but an infinite stock despite me adding a stock limit??
haha yea XD i really love stardew so coming up with fun content is easy X3
I do not. Im trying to understand how to truncate the superfulous data from the forest.tmx I edited
My singular building still has 3500 lines of data in the tmx
So if one of the random dishes for sale is Spaghetti for example, I can buy an infinite amount of them when I only want 3 available
Ahhh ok gotcha
hello modding besties, I am new to modding and I was curious if there was a way (using dynamic tokens if possible) to pass the npc with the highest friendship amount to the mod
a more serious answer is, i believe you can strip the tilesheet's property and animation data if you still keep the same names, but there's no easy way to do this besides editing the tmx and you might explode your map in the process
so just dont worry about it 
I suspect that's going to be C# since I don't think a GSQ exists for that, but take a look at the Stardew Fair event json and see if Welwick's fortune telling script is exposed or buried in the C#.
oooo good idea thank you so much
a GSQ also wouldnt be the right tool anyway, you would want a tokenizable string or a CP token
You are so smart tiakall 😀
Heh, BETAS was my next thought--don't suppose you have something for that?
where is this string getting used in
i do not! very very few tokenizable strings, and no CP tokens in BETAS
I made a bathroom in my house myself, with some furniture I edited, the only thing is I want to create an attribute to change to bathing suit before getting in the bath but I don't understand why it doesn't recognize it, I looked through some bathroom mods and made that attribute. but it seems nothing changed :< I have tried many ways but it doesn't work, can someone help me 😭
remember a GSQ is just a true/false question it cant give you data in return
so you cant get the highest friendship NPC to store with a GSQ, as you can only ask it a question
!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.
also you should try using Lookup Anything (tile lookup on) on the tile that's supposed to have bathroom
gotcha, thank you so much
oh hm i see it actually you didnt name it TileData
i appreciate it yall, i might just do checks and have the game make a list of the characters with 10 hearts and then randomly choose one of those instead lol
hm
would you be able to do that with dynamic tokens tho
i think so? it would be more complicated tho fs
there is a possibility
beware, I was making a single NPC mod when I was then ambushed by my tileset mod. It'll get you
that Content Patcher's "Hearts" token sorts the values by highest to lowest
you're never safe from the scope creep
which might be useful if so. potentially.
though, i guess you'd only get the number of hearts, and not the name. do you need the name
yeah im looking more for the name
actually it might also include the name. though it might also be in a format thats hard to make use of
in that case, the way i might do it is have it check all the characters for if they have over like 7 hearts and then randomly select like 3 of the characters that meets those conditions
like if i value them like "character-1", "character-2" etc and then do a character-{{random:1,2,...}}
Hi, anyone know the simplest way to add an item directly to your inventory after a piece of dialogue?
grrrr lol i should just learn c#
if you ever want more ideas for your tilesheets i foudn 2 more things you could do in the future when you have more things to add i figured it would fit your tilesheets more than mine XD
i think you can just do brackets and the item ID in the quotations
like "dialogue here [item id]"
okay well it seems that the Hearts token is only ordered alphabetically (which might just be coincidence and not guaranteed) so rip
yeah unfortunately, thanks anyways!
ill lyk if I figure something better out, I was trying to avoid individually checking each character
Ok thanks. Do you know a wiki page on the modding or regular one that goes a little more in depth? It's hard to find them sometimes.
How can I fix this layering issue? I need the bottom bit of the table to be on the buildings layer
[[modding:dialogue]]
from the wiki: <id>+] Gives the player a random item, from the pool of item IDs within the brackets. For example,
"I spent the afternoon daydreaming about the ocean. So I decided to cook some seafood. [(O)198 (O)202 (O)727 (O)MossSoup]$h"
...gives one of 198 (Baked Fish), 202 (Fried Calamari), 727 (Chowder), or MossSoup (Moss Soup) as a gift.
Each one can be a qualified or unqualified item ID.
Wiki link: https://stardewvalleywiki.com/Modding:Dialogue#Gender_switch
you can use triggeractions in dialogue or events to add items to your inventory, e.g. "Hi @, go dry a mushroom.#$h#$action AddItem (BC)Dehydrator" or "There was a fish in the percolator??#$s#$action AddItem (O)138"
Thanks! I'll take a look.
Nice, this is all helpful, thank you guys!
To add a pass out penalty do I have to set the Passoutsafe map property to F or is it default?
if you set it to F it will be safe, same as T or Egg or 555
null/undefined will render the location unsafe
(which is to say, don't add the map property)
I can't tell what the layering issue is but you can have half the table on one layer and the other half on another, or the whole thing on a different layer and put invisible tiles in the buildings layer
but I also genuinely can't see a layering issue
When you use the watering can on a tile the table is on, the water animation is ontop of the table
...I think the solution is not to water your table tbh
no drinks on the pool table please. there are rules for a reason
Did you water to pool table at Gus's?
...Maybe.
He wasn't very happy with it.
🤣
petition to add spa action tiles to the saloon so we can have a swimming pool table
art thoust not a modde author
it's the weekend 😌
This sounds very cursed
after some testing and abusing the Render token and the |inputSeparator thingy i can say now that the only reason it isnt possible to store the name of the NPC with whom you have the most friendship in a dynamic token is because the Hearts token is not ordered in any way (just incidentally alphabetical)
do you think Pathos would be open to sorting by friendship points or do you think that'd be too much of a change for the token after this long (though i dont know why anyone would already be relying on the order of the Hearts token anyway since its... not ordered)
{{Hearts}} on its own without any input gives a list of name:Hearts like Abigail:8, Alex:0, Caroline:0, ... but you can do this:
"DynamicTokens": [
{
"Name": "FirstHearts",
"Value": "{{Hearts |valueAt=0}}"
},
{
"Name": "HighestHearts",
"Value": "{{Render: {{FirstHearts |valueAt=0}} |inputSeparator=:}}"
}
],
and HighestHearts would return the NPC with the highest friendship.... IF {{Hearts}} was ordered by points. but it is not. alas.
what if we ask for a content patcher sort token /hj
that wouldnt help bc Hearts rounds to... well, hearts. ints between 0 and 14
needs to be sorted before the conversion from Points to Hearts
that said, wouldnt have to do that fuckery with the Render token and input separator if there was a {{Split}} string manipulation token
it doesnt make sense to me that i have to do things that way with Render and with the second valueAt inside the Render inside FirstHearts, since "FirstHearts" itself will resolve to e.g. "Abigail:8", but it wouldnt work any other way i tried
I thought there was a split token 
I could have SWORN I saw a split token
or maybe it seemed so obvious that I thought I did
does content patcher even have a concept of a list other than a string with comma separated values?
thats all its lists are
you can change the delimiter, but thats it
(and as evidenced by the requirement of that Render token fuckery, im not even sure inputSeparator was even meant to be used that way)
but then again
how would a split token work then
wouldn't it end up just being another version of our mythical foreach token 
pooled
I knew you'd do it
too enticing a crime to refuse
omg this is amazing thank u so so much (sorry i just saw this lmao)
please take note of me saying under it that it does not work
just read that my b
but thank u anywyas tho fr
i might just have a player input thing instead
i was thinking like {{Split: {{FirstHearts}}, \":\"}} or something would return a comma separated list of "Abigail, 8"
so then i could do |valueAt on the result of the Split token
without the intermediary Render step with inputSeparator
if you keep this up you'll need an IDE to make a content patch
bc fsr it only correctly splits it like that if i do the Render step
and i dont understand why
it only works correctly if i do {{FirstHearts |valueAt=0}} inside the render step, despite the fact that FirstHearts is not even a list
and i dont understand why
that's so bizarre huh
do you think there's a way to just return like a list of characters above a certain heart integer?
(this might be a stupid question sorry if it is lol)
it also only works inside the json. it does not work in patch parse
I wonder why valueat doesn't work without render in this case
maybe there IS an underlying list which isn't just a string?
something to do with Render itself taking input arguments separated by a comma
but im changing the separator to a colon
and maybe some weird order of when things are resolved?
idk
oh i forgot to mention you cant just use {{HighestHearts}} you have to use {{HighestHearts |valueAt=0}}
i feel like ive tried every combination of where to place the valueAt and this is the first one i got to work
if you're changing the separator to a colon, isn't it reading them at an offset?
i dont know what its doing
like for this example, wouldn't it be reading them as (Abigail),(8, Alex),(0, Caroline),(0)?
no remember i have two dynamic tokens
FirstHearts and HighestHearts
FirstHearts is just {{Hearts |valueAt=0}} so just Abigail:8
oh right you separated after splitting
the fact that some variations work in patch parse and not the json and vice versa makes this real annoying to iterate on
I get you I get you
ngl this is why content patcher and I are not friends, I am too used to actual programming languages 
declarative json programming makes my head explode
...stardew jdsl when
okay update just {{Render: {{FirstHearts}} |inputSeparator=:}} does actually work for {{HighestHearts}}'s value
that's honestly such a mood, im considering teaching myself c# (i generally use python lolol)
but you still need {{HighestHearts |valueAt=0}} i cant figure out how to separate it before then
I don't actually recommend doing content things with c# if you can help it!
content crimes should be done via content patcher when possible
ok valid yea idk im new to all this and im highkey clinging to the wiki and github guides like my life depends on it lolol
if i use calcifer to make a catalogue does the catalogue have to be a seperate mod or can it be bundled in with the furniture? idk fi anyone knows the answer but thought id ask
nvm found my answer i think
i went snooping for some furniture that uses catalogues :3
thank u all lol i appreaciate it
You have a tile there that's on the building layer probably
Maybe an invisible one or just a fragment of the bottom edge of the door
I did that on accident with a building with pillars on either side of the door before
Notice how you can't pass where the pillar collision would be, that's why it's my guess
yea if you grabbed it from the thing as one image it prob has an invis tile there
just go over it with an eraser on the building level :3
Gotcha Ill try that
might do all 3 tiles to keep any weirdness from being there feels wise
Yeah, if it's one, it's probably all three
pictured: where I also made The Mistake
oh yea midnight idk if u saw my message but i found 2 (3 if its not already in the junimo thing) that might fit your style of tilesheet if you want ik u said no more updates for a bit though iirc but i thought id bring it up
That did it haha ty
Whatcha find? I can at least put it on the future list I have in "scope creep" LOL
XD
Now how do I make this door work lol
theirs the junimo star thing above the fireplace, the phone thats attached to the table in towninterior and then there's a piece of long straight ivy right next to the regular transparent background one, I can also go grab u pics if you want since ik it can be hard to find on a sheet lmao
Oh I got some phones
lemme check my doors and i can let ya know 07 (if someone doesnt answer first lol)
ooohhhh
normal phone, phone off hook, both recolored red because I was using it for my other mod tilesheet so why not
Where's the other things?
ok so make a tiledata property on the buildings object layer and the custom property is
Action and then Warp ( coords) (map) without the ( )
the map being the one your trying to go to
like this is mine
Action Warp 15 18 KandiKraze.TheNeighborhood_NeighborhoodJoja
Here's the door that I was pointing at. This one is a type that has an open/close time
oh let me grab them
oooh smart
i havent done that yet i forgor
OH and a bear rug might be good too Midnight
the bear rug and the junimo stone tablet thing on the fireplace
Rugs are on the future list. I thought there was a mod that added them but whoops, it was for furniture in your house, not tilesheets
aah ok 
u can sorta get them now
So Open from 9-4?
A lot of rugs are on towninterior2 now
That... hm. That is correct, but it's supposed to be 9-5, I army timed wrong
seperate linus sleeping bag from the tent ground? i had trouble with that in one room i wanted to use it, had to disguise it
Alright it's on the list. And I don't see that fireplace thing on JunimoFurniture so it'll go too
cool ^_^
and the ivy. And the rugs that are not on towninterior2
Do I need the one with and one without condition or can I just have them all without condition? (This is for a garbatge can by the way)
oh god I don't know how trashcans work
They are a bit confusing lol
I absolutely could not find anything on how they worked, I just looked at a bunch of examples and hoped and it's either never thrown the additional item I wanted to add to the pool or it's given nothing every time
like Data/GarbageCans?
Yeah
Whats the console command to warp somewhere
debug warp
i think its debug warp
Debug Warp (Location ID)
ty ty
wait that was before I knew about the modding section of the wiki needing the Modding space to search it searches
Yeah I have now found it. that modding space thing really got me
yeah lol
looking at the data, you need to TargetField GarbageCans
rather than just editing at top level
Yeah, I am asking if I need to have at least 1 entry with a conditional and 1 entry without a conditional or not.
JodiAndKent has no can specific entry
So that would be a no?
should be optional yes
Amazing, ty!
if you have a wiki account you can set the modding namespace to be automatically included in searches
so you don't have to add it every time
think I found my problem. Now to play with my mod in and never forget to smack the trashcan
is there a way to replace the door sound with the elevator ding for an Action Warp ?
Trash, gift tastes, generic gift dialog sorted.
Does anyone know what the Path ID is for the underground secrets mod tileset is? I'd like to do a retexture as part of my own mod, but I can't seem to figure out what the source code is doing to assign it.
apparently its just any asset name that ends with "underground_secrets"...
but to patch it, don't you need the right data?
"Target": "Mods/MOD PATH/assets/underground_secrets"
I'm having trouble figure out the exact path
yeah, thats the thing. you're supposed to match an exact path. the mod isnt doing that. its matching any path that ends with underground_secrets
or is it literally just "Target": "underground_secrets"
that would work. so would "Target": "fkdjghkdjfg/dfgjkhdf/dfkgjhunderground_secrets"
any asset that ends with underground_secrets will be the tilesheet
this is even more confusing now lol
its not the correct way to do things, so i dont blame you for being confused
well this didn't work
also, its doubly bad, bc its not actually using it itself
"Target": "Mods/prism99.aedenthorn.UndergroundSecrets/assets/underground_secrets",
yeah, its overwriting any asset that ends with underground_secrets, but then its using its own internal asset name in the mod itself still
which you cannot edit
so.. no way to patch it then?
correct
sigh
its not the best unofficial update of a mod, thats for sure
the old version didnt make it patchable either
but idk why the new one uses AssetRequested like that
I mean the new one was just a jury rigging, wasn't it?
i dont know what needed fixing between the old version and the new one
honestly, really hope someone can get it MP compatible =/
thats a much bigger ask if the mod wasnt made with it in mind from the start
but damn.. gonna have to entirely overwrite the base mod's image
which unofficial update is this?
yea the redux
oh that's also interesting with the new mod ID being like that
I've never seen anyone do <new author>.<original author>.<name>
there is unfortunately nothing you can do here. its the equivalent of using content patcher's InternalAssetKey instead of loading your stuff, except you cant even target whatever asset is using these sheets bc its all done manually
I got my mod already patching certain other mods I'm using that's got steel tool sprites to match my steel tool recolor, and it works pretty nicely.. shame I couldn't get the underground secrets one working too hah
oh idk why I was expecting a content pack even though I knew this was an aedenthorn mod 
no
oh
right
damn
looking at the changes im not even sure why they added the assetrequested event at all
to mess with people maybe? lol
seems like they were just goin thru after 1.6 and fixing any red squiggly lines from changed method names or parameters and such
i dont think it was malicious
yeah that's 100% the vibe I get from their entire repo
I mean I was joking honestly
also just found the asset requested method myself and I'm very much confused, unless they're TRYING to override another mod's asset/retexture on purpose?
no, it strikes me as just knowing that using assetrequested is the right way to do things but not really knowing how to do it
I looked to the commit messages for some clarification and unfortunately there is none to be found haha
just one of those "oh well, nothin i can do" moments
just looked, there's also no mouahrara version unfortunately since it seems their unofficial updates to aedenthorn mods are usually pretty reliable
they do seem to be going one by one though so maybe they'll do it at some point
I just downloaded the treasure mods from mouah's git too lol
so I'm glad to hear they've got a good reputation
I don't know much about them but I got a good impression from what little I've seen ig?
though those mods look like they completely replace the loot possibilities, instead of a % chance to give different loot
I really need to stop using my in-development mods to test random stuff. I never change it back. 
Does a custom NPC have to have a 'spring' entry in their schedule, or just vanilla NPCs?
there is no difference between a custom NPC and a vanilla NPC from the games perspective
anything that is required for a vanilla NPC is required for a custom NPC
spring is one of the required ones i believe
Ok, that may be what's causing the schedule on this NPC I'm looking at not to work then
important to remember that for any vanilla asset, the game has absolutely no way to tell whether something is from vanilla or from a mod
So you mean like, Content/Characters/schedules/name.xnb is a vanilla asset even if it's for a custom NPC right?
i wouldnt call it a vanilla asset, its just that the game has no way of knowing where it came from
(obviously beyond the very very root steps of actually loading the literal xnbs)
Cool, I think I gotcha
basically when the game looks at the list of e.g. characters it has loaded, "Penny" and "ModId_MyCustomName" are just meaningless letters to it. for all it knows, CA added an NPC named ModId_MyCustomName
so, it doesnt treat modded stuff any differently than it would treat vanilla stuff, bc it cant
Great. I just thought I'd check in case I was completely misunderstanding the way things worked 😉
Do you know if the requirement for having a spring entry in the schedule is new / i.e. 1.6? (Mostly just I'm curious why it was left out in the fist place)
Left out of what?
(There's no mention of adding spring as a default in the 1.6 migration page on the wiki nor on any of the other version migration pages, so I suspect it's been mandatory for a long time.)
Left out of the schedule for this mod I'm troubleshooting
Oh I see. Is it an old one?
probably just an oversight
Ooh you can have relationship-specific resort dialogue as of 1.6.9
Oh that reminds me
I have a question about fixing my own mod that I've been avoiding because I couldnt figure it out by myself
It's about beach portraits and testing if they are working or not
First question: are beach portraits and sprites (in vanilla) always used on the beach, or only under certain conditions, or only used on ginger island?
Only GI
Oh okay
Them being called Beach is misleading
yeah
So unless you use appearances to tell the game to use them on the beach, it won't
Correct
Okay, related question, how do you test whether that's working? I tried by using a debugging thing to warp the character to me on the island, but they didn't change into their resortwear
Probably because i didn't change the schedule, or something, right?
How would I test, or do I just have to hang out on the island until they randomly show up?
You can test if it's been loaded to the right asset by doing a patch export, you can check the animations by loading the spritesheets to a different target, or you can test them in their real context by waiting for them to get picked to go to the island.
Ahh good ideas
I speed the last one up by excluding every other NPC from being able to visit the island so Hiria gets picked faster (or always? Haven't bothered checking).
How do you do that? Did you make a mod to EditData the character data that you use when testing?
I got that somewhere from the modding wiki, but here's my copy of it if you're interested. https://smapi.io/json/none/34fa0297b43d4aa5b69bdd89c335f6c1
I just have it as an include inside my mod for Hiria that I will delete once I am ready to publish, but you could make it a separate mod if you wanted to.
You're welcome! I dabble with many parts of modding so I have approximate knowledge of many things.
Is there a way to manually define the order of Fashion Sense items?
I have a bunch of numbered accessories such as Horns 1, Horns 2, Horns 3 and so on. I also have helmets, visors and such that are also numbered like this.
I hoped they would be sorted like this:
- Horns 1, Horns 2, Horns 3, Helmet 1, Helmet 2, Helmet 3, Visor 1, Visor 2, Visor 3
But instead they get sorted like this:
- Horns 1, Helmet 1, Visor 1, Horns 2, Helmet 2, Visor 2, Horns 3, Helmet 3, Visor 3
I honestly can't tell why they're sorted as the latter, since I assumed it would be sorted alphabetically.
But all accessories with a specific number are clumped together.
Maybe there's a trick to naming the items, but I can't think of any.
are those the actual IDs of your items?
not that i know the first thing about FS, but it'd be good to see what you have now
If you're refering to the 'Name' inside the jsons, then yes.
Is the name of the folders they're containted in important? Because I have them laid out like this:
that's probably it, i'd try renaming 1, 2, 3 to Horns 1, Horns 2, Horns 3 and so on for each folder
after all, if it's simply selecting all folders with content files and then iterating over them, it's going to end up with 1, 1, 1, 2, 2, 2, 3, 3, 3
assuming it's sorting alphabetically that way
I'll give it a try ayway, cause I'm running out of options.
probably in that it doesn't need to match the inner item and doesn't affect the ingame object
Yeah, that's fair enough
but the folders have to be read in some order, right?
I couldn't find any info about what does affect the order and the code is too complex for me to sort through
That kinda worked!
But now they're sorted like this:
Horns 1, Horns 10, Horns 11...
That's at least one step in the right direction.
Horns AAA, Horns AAB, Horns AAC, etc
if you have less than 26 folders you can just do Horns A, Horns B, etc
i think just using Horns 01, 02, 03 would solve it
Oh! Great idea!
that too
classic sort
dw my first thought was 'at last, time for roman numerals to make a comeback'
unless you want more than 99 folders, then do 001, 002, 003
I don't have that many accessories, fortunately!
id say i dont think you'd have that many, but i dont underestimate fashion sense people
I have about 30 horns, so I guess that checks out.
And soncidering how my current spritesheet for all the planned FS items looks like...
In total probably more than 100...
without clicking to zoom in that just looks like a breadboard to me
Do my eyes decieve me?! Male clothing?
Just armour and other knightly things in general.
And some Western themed ones too.
any clothing is male clothing if you're brave enough
Aye!
Fair enough
I will be downloading this SO fast when its done
I plan on releasing it early, because a sizable amount is already implemented.
Hello, I'm trying to add/change a dialogue entry from a mod without changing the content of said dialogue that's in the i18n.
But, no matter what I do. Nothing has been changed. (Keep in mind that I'm very much new at this but has been reading the content patcher page as well as the modding guide founding no resolve.)
is it your mod? what is the mod in question?
The mod in question is "Valley Girls"
that mod is not allowed to be discussed here
Well that really limits our ability to help.
ah, sorry then.
is there an appropriate server that can discuss this?
if there is, its not affiliated with this one, and wouldnt be allowed to be linked here either as a result
to be clear, we are permitted to help with the technical modding aspects regardless, of our own volition
however, like Aba says, it will be very limiting, especially since it relates to i18n, but you would not be allowed to post the content/i18n itself
("of our own volition" maybe not the right turn of phrase there. i just mean "if someone wants to, they can. but someone ofc reserves the right to not want to help due to the nature of the mod")
I'm happy to explain what I can about editing a mod in general without reference to a specific mod, or if you happened to find a way to recreate the technical setup with nothing from the mod itself.
Sure, thanks for the help. I'll prod around some more.
It's not about the content of the i18n itself.
But, It's about the function to call that i18n.
based on the image I sent, when you date Penny, the dialogue should have changed to the (Sam.PennyDating) But it's stucked to the (Sam.Penny.)
Are you trying to talk to her during the relevant animation on the same day that you started dating her?
Or him, I don't know who it's for lol
Let's just say that I've been dating her for a month now and there is a custom animation of penny talking with sam that'll happen regardless of dating her or not that has a custom dialogue if I talk to Sam during this animation.
If I haven't been dating with Penny, the line should be picking up the {{i18n:Sam.Penny}} and if I'm currently dating Penny, the line should be picking up the {{i18n:Sam.PennyDating}} but, even though I Checked the "dating" the line still picking up the {{i18n:Sam.Penny}} one.
Okay so you've been dating for a while. Have you slept in the game since editing the file to use {{i18n:Sam.PennyDating}} instead of {{i18n:Sam.Penny}}?
I am asking because dialogue changes don't usually happen until the next day after the day your save was on when you edited the dialogue because it's chosen as part of the day starting code. Same with schedule changes, which animationDescriptions is part of.
I'll go test.
Making maps is hard
Still hasn't changed...
what could have make this so...
Try copying this into your SMAPI console: patch export Strings/animationDescriptions. Then go to your Stardew Valley folder and find the patch export folder and open up the file inside and see what line it has for "sam_penny".
Huh, despite me writing the {{Sam.PennyDating}} on the default.json inside the i18n. It doesn't show up on the patch export. I'll go test some stuff
You can type patch summary full ModID (find the ModID in the manifest under UniqueID) into the SMAPI console to get a list of all the changes that the mod is trying to make and whether they have been applied. Sometimes if a change doesn't get applied it will tell you why it hasn't.
This is from the patch summary [X] | [X] | [ ] | Default | Penny Include > assets/Jsons/Penny.json > EditData Strings/animationDescriptions #6 based on it, it's not applied. what do this means?
It might mean that it didn't work at all, but it might just mean that the game hasn't tried to ask for the Strings/animationDescriptions data yet so CP hasn't applied the edit.
When you did the patch export, was the line for "sam_penny" the one written in the default.json in the key Sam.Penny or was it something else?
This is from the default.json
"Sam.Penny":
"Sam.PennyDating"
This is from the export of the Strings_animationDescriptions
"sam_penny"
Can you start a new save, put debug dating Penny into the console, sleep, and then do another patch export?
Also, please edit your message to remove the content of the lines. I just wanted to know which line it used, not what the lines were. Don't put any content in no matter how innocuous it seems.
Amazing! Ty :D
Finally got my mead saloon and NPCs done 😭
Now I gotta add their shops
Is there a way to make doors work like they are supposed to and not just teleport you from the tile in front of it?
Do you mean like doors between maps or doors like they are in f.e. Pierre's General store, to Abigail's room?
(BTW, looks promising!)
yep! there actually is a way, it's just a little harder than indoors doors like in pierres
so first you're going to want to write a new c# solution to do that
you're on your own from there 
So the only way to make a door work is C# rofl
damn thats ugly af
I see why everyone just does edge of the map additions
Leaving my saloon I warp into the warp to go inside
creating a loop
Should I just spit the player out 1 below the into warp? ;p
typically the warp target is placed further away from the door than the warp action
just 1 tile further
Alrighty
Man i remember i need to get back to making custom furniture for my mod..
I guess i could release the furniture i made for my mod as an actual furniture set too, i gues..
Theres a real lack of good indoor furniture tilesets on nexus for modmakers I feel like
Wait, you're not using a door warp?
There are like three ir four
Check out Town
to be clear door warps are still warps and none of them will play out like GTA 4
Not that warp, it's a different eaep
eaep
Thanks
Lumi interiors, also I could have sworn hxw had interior tilesheets
Lumi's is actually gangster
I used Lumi's MidnightMisc and Xiddav
LockedDoorWarp 6 29 SeedShop 900 2100?
Is this not the same thing except denoting a time in which the door is locked?
or does Warp as is not work
it plays a door sound 
Warp also plays a door sound i thought
oh darn yeah your X Y values aren't whole multiples of 16
You mean the TileData itself?
turn on View > Snapping > Snap to Grid
and fix the X Y Width Height values in your tiledata
either is fine, apparently
so I can remove the warp addition in the json
I should be able to click it now?
As far as I could tell this is all I have to do to 'open shop', is this correct?
correction: you have to not do that
it may work for hardcoded vanilla shop
custom shops are requiring a specific format
Ahh okay
i've actually deleted my only action shop hold on
"Action": "OpenShop blueberry.SailorStyles.Shop none 0 2020 33 96 1 1"
ty :)
thanks 🙂
Ambiant lighting map prop?
How does lighting work in Tiled
if I place unlit assets will they light up at night?
or add windows
[[modding:maps]]
Before Dating Penny
[X] | [X] | [X] | Default | Penny Include > assets/Jsons/Penny.json > EditData Strings/animationDescriptions #5 (This should be the sam.penny)
`[X] | [ ] | [ ] | Default | Penny Include > assets/Jsons/Penny.json > EditData Strings/animationDescriptions #6 // conditions don't match: Relationship:Penny`
After Dating Penny
`[X] | [ ] | [ ] | Default | Penny Include > assets/Jsons/Penny.json > EditData Strings/animationDescriptions #5 // conditions don't match: Relationship:Penny`
`[X] | [X] | [ ] | Default | Penny Include > assets/Jsons/Penny.json > EditData Strings/animationDescriptions #6`
So the condition goes from not matching to matching, but the change doesn't happen. Did you do a patch export to double check the line hadn't changed?
Yes, I also do the before and after dating Penny. It hasn't changed.
I'm also triple checking the code to see if there's mistakes and it doesn't seem so.
oh IN Tiled
er no?
Do I add it as a custom property to a layer?
or just any object datatile
I don't know why it's doing this. What I would do in your place now is to experiment more. Comment out the dating code block and instead change the other one from {{i18n:Sam.Penny}} to {{i18n:Sam.PennyDating}} to rule out the problem being with the value itself.
Neither. AmbientLight is a map property.
I don't say this to be rude, but all of this stuff is on the wiki page. Are you struggling to navigate it? It is kind of unintuitive if you don't already know where to look.
This is the info about how the path layer (and therefore tilesheet) works https://stardewvalleywiki.com/Modding:Maps#Paths_layer
These are the map properties to do with lighting https://stardewvalleywiki.com/Modding:Maps#Lighting
The lightbulb on the paths tilesheet adds light type 4 to the map. If you want a different type, use the Light map property directly.
A breakthrough at least.
It seems that no matter what you do, it will not change. Even if you've changed the {{i18n:Sam.Penny}} to {{i18n:Sam.PennyDating}}
But, I've managed to change to the Sam.PennyDating in a weird way. Like this, but this means that I can't change the dialogue without changing the whole animation string right?
Yes, but it shouldn't matter unless you're actually making the rest of the animation string different. If you're just changing which entry in Strings/animationDescriptions it references, the animation itself should stay the same. You could try setting it up so that you have two code blocks like you did with the Strings/animationDescriptions edit, one that checks that you're not dating Penny and one that checks that you are.
Is it possible to use a dynamic token inside the configschema to create a variable dropdown menu of sorts?
No
You, are a god.
Thanks for helping me out man, though it's still kinda vexing that you need to change the string(dialogue), Data(animations), and even schedule to finally have 2 different dialogue box.
I'll save this rendition of the code, but try to optimize it in a way that's easier on my head & eyes.
Yeah, I'm sorry I wasn't able to help with a better solution. I don't know why the string edit wouldn't work.
Does anyone know of any open source mods (preferably that use C#) in order to retrieve/modify the current state of the community center along with their bundles. When I say "current state", I'm referring to if the player has completed a specific bundle, and if not, what items have they donated, and what else could they possibly donate. I want this to be compatible with both the regular and remixed bundles. I know of the bundles.json file though, that doesn't seem to keep track of what the player has / hasn't donated.
Yeah, ive been trying to look up mods. Idk if I just have bad luck or not putting in the right search words, but many I've been finding have been just mods that replace bundle.json
Well as mentioned lookup anything has a feature that checks if an item is needed for bundle
What exactly are you trying to do? If you just want the feature for game play then "look up anything" should work. Or "informant", or "UI info suite 2" all tell you wants needed for the CC. If you are trying to do something else, specifics help.
Ah I see, I didn't notice that was a mod name, I thought you were saying "just look it up". Sorry
Help with a condition?
I want dialogue to show only if a certain event has not been seen by any player. But perhaps I accidentally did a double-negation with this, because patch summary is telling me that it doesn't match:
"HasSeenEvent: anyPlayer |contains={{ModId}}_Event_Reconciliation": false,
Should it be "true"?
Yes, I do want the feature for game play. I am pretty much trying to give the player all of the remaining items needed in their inventory with the press of a button. I have tried with some other methods that go into more detail here #making-mods-general message (where you can also see my current code). I tried bumping this a few times, but didn't get a response, so that's why I was a bit more vague with my most recent question. I didn't want to spam the channel with the same thing over and over, even though they're related.
I will look at the mods suggested, and let you know if I need anymore assistance
No, I think this is correct. Have you checked with patch summary that your test farmer definitely hasn't got the flag for having seen the event?
I was grepping through the save file directly. Is there a way to test events seen with patch summary?
That would be cool
debug action MarkEventSeen?
Wait, should this be false if not married to Seb?
"Relationship:Sebastian |contains=Married": true,
For cp tokens there's patch parse
And for gsq: debug gq PLAYER_HAS_SEEN_EVENT
(need all the remaining args for both this and action pls check wiki)
You can do patch summary to check which events have been seen.
Yeah, just did the debug gq and event is definitely not seen. So it must be one of the other conditions. There are only two more. My guess is the marriage one
How do you get this section to appear? I haven't seen that in patch summary before
And ohhhhhhhhh I just realised I didn't back up my saves before I reinstalled Windows, so thank goodness for the SaveBackup mod!
It's just at the top.
... scrolls past the huge list of change .... yes it is
If you want to check that the player is not married to Seb, then it should be false.
xD
Ok, I freaking hate this | not syntax. Will change the marriage condition and see if that is my problem. I suspect it is
I always do patch summary full MyModID so my actual changes section is as small as possible. Especially since I actually mostly use patch summary for the global tokens section.
Let me give that a try. This mod... makes a LOT of changes
I also tend to chuck my log into the log parser if the patch summary gets too big. Easier to search it.
That a separate mod?
!log No, the website
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.
Nice. I rarely use that now except for json verification. Glad it has some other tools that will help
Do you know of an i18n verifier? Something that will automatically check for missing i18n lines (or extra ones)?
I'm about to do a final sweep and am not looking forward to doing it one by one
I have never used the json validator for json validation lol
LOL! It's very good for it
I don't see the point when VSC has it built in
Surely one or either of those also has syntax checking?
No, I don't know of any i18n checkers, sorry. I check everything manually.
Alright. Maybe I will write a script one day then
Because this is going to be painful
Convince nomori to add it
I guess you just need to read default.json per line and then grep
Goat has been writing himself a python script for checking his work. Oh and he said it checks for missing and orphaned i18n keys!
Yep. That's the plan. Though then I also have to read through dialogue.json and marriagedialogue.json and schedule.json and grep back in i18n for missing lines there
You can get json plugins for xcode and vim pretty sure
Oh?
As for cp specifics there's a schema
I'll poke him and ask him if he's willing to share.
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.
That would be legitimately amazing
My release summary tool will also detect inconsistencies like missing/extra i18n keys.
Ik this says vscode but the $schema part should be widely supported
Nice! I'll see if I can get that running
Well it seems like Pathos already has that covered but I'd already messaged Goat so...I guess they have to fight for i18n checking tool supremacy now 
Pro tip
patch export every asset you touch
And search them for "no-translation"
It's pretty damn hard to do a i18n checker when your keys look like
"FarmCave": "{{i18n:demetrius.{{DialogueVariant}}.{{Season}}.{{Random:00,01,02,03,04,05,06,07,08,09,10}} }}",
Oooh nice tip
Crap. Yeah, lots and lots of random dialogue in mine
patch export documentation where?
Uh, CP github
(In the Content Patcher troubleshooting guide.)
Patch export is my favourite troubleshooting command
I tell a lie. Patch reload is. Export is second lol
Pathos's tool checks to see if your translations are missing translations, which is great!!!
You mean like if someone translates your mod into Spanish or something you can check if they missed a line?
I'm trying to use Pathos' tool, but unfortunately linqPad doesn't seem to start after I installed it on MacOS
(Here's an example of the output.)
And I don't think the command line version installed, or at least it's not setup correctly (lprun8)
I would really really love to use this. Trying to get it setup on MacOS. They have a beta for apple silicon which I've installed but it does nothing when launched. No window or anything
(Morning, Pathos!)
I do not even know what Linqpad is.
Pathos' tool is a linqpad script. I never heard of LinqPad before the past 15 minutes either xD
I am extremely exhausted just from googling it.
I see them mention it in the off-topic channel sometimes too.
(LINQPad is essentially a mini IDE which lets you launch C# code with an output window. It has some specialized features too, but they're not applicable in this case.)
I wish c# is better at doing minor things sometimes
But atm i just break out the python 
Ok, making progress. Time to install .NET runtime on MacOS
Fun
Ok, Pathos, I've gotten to this point:
How do I point it at my Mod?
On the line that starts with readonly string SolutionFolder, change the path to the one containing your mod(s).
Awesome. Once I've updated the script variables, just run it?
Yep.
@ivory plume Pinging you bc it's your mod, but anyone who's knowledgeable can answer. I downloaded a zip of your lookup anything mod to better understand it and use portions of it to help with my mod. Mainly by adding debug lines in certain places. However, when I try to build the mod, I get the following errors. Do you know how to fix them?
You'll need to download the entire solution (not just the mod's folder), then open the .sln file.
dang. I'm running low on storage space, and was hoping I could reserve some
thank you
i think for fun after i finish my furniture mod imma start on that herbs and flowers mod
No warnings from the LinqPad script. Can't decide whether to be pleased or concerned xD
or maybe ill just start doing the art for it
i think today is a do art for the mods day
OH what if i included Poke salat
I wonder
Question:
Poke Salad is something that can be poisonous fi not cooked correctly (UI beleive the rule is to cook three times) is it possibel to write that its poisonous if eaten and not cooked a third time in sdv like make it edible but take away health before becoming edible and good for you?
Poke salad is made of pokeweed :3
Spitballing here, but you could make 3 items and 3 recipes?
I'm assuming without C# is the goal
Spacecore can do this IIRC
This is pure gold. Thank you so much
yea id like to do it without C#, and true ig i could do that
thats a good way to split it up
Any good patient soul that could sometime help me figuring out how to fix some compatibility issues I have with 2 mods I'm using? I thought I'd start try to fix myself but I'm a bit unsure how to start. (total newbie here)
God damn it, Spacecore you did it again. I will check Spacecore's github page. Hopefully this feature isn't already there. Thanks for letting me know wren 
Btw, can we save patch commands to a script file and just run them as a batch?
Do you have a log file that you can share? Hard to diagnose what we can't see, sorry
!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.
sec theres a mod for it
no it's not diagnose, I'm pretty sure the map tiles are missing from a recolor, I was thinking of attempting to fix them myself
you would want to get a log with patch summary so that people can see whats editing stuff
let me see how to do that
but as far as I can tell, one case is that my recolor mod is missing the custom tiles (that I could just edit and make them match) and the other is another mod's tiles overriding the recolor tiles
Inside the console window that pops up when you run SMAPI, you would type "patch summary"
Thanks a bundle 😄
I don't think I broke anything recently but I also haven't checked recently 😛
@ivory plume im making a child display names CP token for my mod (since it is re-purposing Name as an internal id), should i be doing the per tick cache thing CP does or is that part of how CP handles mod provided tokens already?
What are you seeing that's weird?
