#making-mods-general
1 messages · Page 360 of 1
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.
like The whole content.json?
Here it is... XD
New quote added by atravita as #6478 (https://discordapp.com/channels/137344473976799233/156109690059751424/1366949832807419964)
i will not look at it if not linked properly myself, altought others may
Ohhhh wait... How to link it? Sorry I'm noob T.T
see here
is "ponceau" a word even used in english or is wikipedia using a french word and forgetting to translate it?
Almost. Don't put it in a code block or it won't turn into a link
New quote added by atravita as #6479 (https://discordapp.com/channels/137344473976799233/156109690059751424/1376411126539223060)
I don't recognize it
I guess it's an art term
well it can be just someone doing like me, using french words and hoping they exist in english too 😄 joke aside, even in french i didn't hear this word previously
so
Carlisle, basically what are you trying to do? having a sort of event when player can accept/reject the npc, and with this specific answer not being working properly?
it works for other npcs?
Is this quite an old mod? I've never seen anyone use a question using dialogue format to make an event fork before.
New quote added by atravita as #6480 (https://discordapp.com/channels/137344473976799233/156109690059751424/598609711838920771)
Yes, Actually, It works on other NPC but not with Elliot and Harvey. Yes, It's an old mod, and recently trying to update them. I'm not a seasoned Modder and just wanted to update them so It can be playable.
your issue is that you use NextlevelRejected_Elliott in your event and NextLevelRejected_Elliott in your dialogue
note the difference on capitalization of the word "Level"
Ohhhh!!!!
(Hey 6480.....)
THANK YOU!
thanks atra, i searched for a typo but missed the capitalisation difference
I'm an old, grumpy hat lol
this is why we insist on having a standard for capitalization
now, lawn, off my, coffee, insufficient, I'm a rainbow.
do we also have a standard for use of comma? 😄
New quote added by atravita as #6481 (https://discordapp.com/channels/137344473976799233/156109690059751424/1391379257942474854)
Thank you Very Much! ❤️
Iridescence (also known as goniochromism)
(wikipedia)
not by me! I will probably forgot the word entirely in 3 minutes
(trying to find a word to describe a bug)
maybe glitter would work
sorry
hahahaha
May i ask, Im thinking of slowly bulding my mod over time to its full realization (it will contain at least one shop, a handful of recipes and foods, multiple characters and one new location (just like a single house with maybe 3 rooms for 3 characters it wont be very big)
and i might add in some mail in there 2 and a purchasable pet BUT
idk if i should release it at phase 1: house location and 2 NPCS and update along the way, or if i should just wait and full release it
both are valid approaches
i suggest aiming for the first, because it's easier to do that then change plan, than cutting content if you aim for the second
as long as your initial release has enough content to feel whole then you should be good
alright! thank you :3
It'll probably be a hot minute before I release even phase one as I work on dialogue and events and suh but im excited to get it done ^-^
I can’t for the life of me get Shane’s gift dialogue for PepperPoppers to work inside the Jojamart. Everywhere else? It works. When I patch export? It shows my dialogue. I have 0 other dialogue mods installed.
Also even though I have all my assets for my maps in one folder it’s still giving me the red string about invalid tilesets 😭😭
which red string?
in tiled or in game?
no idea what's going on on joja mart, but a log may help
I'm loading a new one now
Can I have the mod author role? I made a mod (very hyper specific to stuff I do but it was made and put on nexus https://www.nexusmods.com/stardewvalley/mods/35374) so do I just go put myself on the list of mod authors on the wiki?
@outer glacier We get a Junimo to come give you permission first
I would temporarily null out Shane's jojamart dialogue
Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Unix 6.8.0.60, with 18 C# mods and 6 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
ok so your map issue is climbing tilesheet issue
That's a definite tilesheet climb
!climbingtilesheet
right but all my assets are in one folder
command bot hates me
!tilesheetclimbing
When creating or editing maps in Tiled, one common error is tilesheet climbing, marked by red text containing "invalid tilesheet path '../../..'. This is caused by SMAPI not being able to find the tilesheets needed by the map file. To prevent this error, make sure that you have a copy of all necessary tilesheets in the folder containing your WIP tmx file. Copies of vanilla tilesheets can later be deleted, but must be present while working on your map.
If you get this error with a completed map, an easy way to fix it is to open your tmx file in VS Code or a similar text editor, find all of the places with <image source=, and remove the filepaths to so that only the tilesheet names remain. For example, if the code says <image source="Content (unpacked)/Maps/townInterior_2" width="512" height="64"/>, change it to just <image source="townInterior_2" width="512" height="64"/>.
...
and when I edit the tileset it shows that the one I have selected is the asset within the same folder T.T
I'll keep trying it though
It might be a very specific mod, but that's more than fine! Feel free to add yourself to the wiki page to get it all started.
After you've done that, you get the roles.
Try editing it with a text editor like Governor says
okay! since it asks for discord id I assume it's automated [since that feels like something you could use for automation]? if not then I did it

Nah the discord ID just lets us snoop your mods lol
Yeah, it's entirely manual.
Yup I had to remind a certain someone to give me my pixelsmith role 
and the github is lvl 50 so I need to do more chatting for that right?

Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Unix 6.8.0.60, with 18 C# mods and 6 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
Yup, that's level 50, and specifically a Pathoschild ping for that. Or a Bouncer DM, and we can ping him behind the scenes. Whichever is more comfortable.
(It's not particularly exciting though. You just get to access the decomp while you're not at your computer)
!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 like the content.json?
(It is nicer than a manual decompile because it has fixed that make it build properly, though!)
Ah, that error is, I'm pretty sure, because you accidentally deleted the height and width of your tilesheet when you were fixing the name
I mean like I have on my computer the decomp to like 10 different versions so being able to just look at the versions on a github page feels convenient + the fact that it can build seems useful
Really? I thought it was basically the same as the decomp and couldn't be used to build the game 
does it make a difference if it's a .tsx vs a .png
like, I have a mod whose harmony patches only work on windows and so I'd like to be able to just edit code and build it to make it work on mac (because it's annoying that I can only use it in a virtual machine)
(not published because it's even more hyper specific than the one I have published)
Well it shouldn't be a tsx but either way it shouldn't be missing a height and width.
(or I guess equal levels of hyper-specificity; that mod at least somebody [blade] asked me for)
lmao so I think the actual problem is that I"m trying to use a .tsx
Nah it should still work if you are using one, it's just unnecessary extra faff that increases the chance for errors
A tsx just holds the tileset data in a file separate from the tmx, whereas if you embed your tileset into the map all that data lives directly inside the tmx
IMO there's no advantage to having a separate tsx except when you want to transfer a tileset from one map to another and even then I think it should only be separate for as long as it takes to export it from map A and then embed it into map B.
If you want to use the json parser to share your tsx and tmx I can probably point out the problem directly
okie
<tileset version="1.10" tiledversion="1.11.1" name="town interior" tilewidth="16" tileheight="16" tilecount="4352" columns="32">
<image source="../../.steam/debian-installation/steamapps/common/Stardew Valley/Mods/[CP]Tester The Wolf/Assets/Maps/.townInterior.png" width="512" height="1088"/>
</tileset>```
(This is not the json parser)
when I tried to put it in there it said it was invalid T.T I'll try again
It didn't even let you upload it?
I thought it would just scream at you
Either way, both your tsx and tmx still have all your tilesheet file path climbing. Did you actually fix that?
(By which I mean, did you forget to save, perhaps? Or maybe did something with the tilesheet in Tiled and accidentally broke it again afterwards?)
Would you like help embedding the tsx or just getting the tsx working for now?
I just want it working for now. Ok so the tsx should look like this?? https://smapi.io/json/none/f2684e26f60c4163a0e1262a83fa857a
If I can get this map to work, I can script the last event I need that goes there haha
Yes they both look better now
Halleloo. Testing now.
aaaaaba. hi
Hiiii iro
I’m contemplating updating the console commands page on the wiki because I did a deep dive into the c# for it earlier today
and realised the page doesn’t say which commands are vanilla and which are SMAPI
Dew it
Yes that'd be helpful for knowing which ones can be used in vanilla with chat cheats
vanilla as in with smapi but no mods is all of them tbf but I went searching because I was testing something on ios 
Yeah but I meant vanilla as in vanilla anyway
Morning, all. Anyone familiar with Khloe's Theme Manager? If so, do you know if it's possible to disable certain variables like $SkillsPageMasteryProgressBorder and, if it is possible, how to do it?
It's still a little rough around the edges.... but I published my mod today
@rancid musk Sorry if I'm bothering you, but would there happen to be a setting to disable certain variables in Theme Manager, or an option to use alpha channel instead of RGB for things like TextShadow and $SkillsPageMasteryProgressBorder?
So jealous. Ive been trying to get mine into a releasable state for what seems like ages. Congrats! Did you say what the mod was or am i blind?
@rancid musk does CloudySkies return IWeatherData for vanilla weather as well, or will it be null if it's vanilla?
I honestly had to push myself to release it cuz I know there’s still so much to do. I didn’t say cuz frankly I’m a little embarrassed but it’s a Shane expansion mod! Choose your own adventure mildly adult haha
There’s a little 7 event prologue and then there are 3 different paths you can end up on depending on how you answer in the first part
It got too big to send through discord to the people who were beta testing it with me 😭
@vernal crest I'm back post-sleep with another question about my Machines.json LOL
I added a bracket in where I think it was needed but now I'm getting this error - https://smapi.io/json/content-patcher/4a8a22a25c3242c189fe40499c64a397
ha yeah scope creep is a nightmare to keep a handle on. Always so many cool ideas. You did a thing though and you should be proud. Well done! I look forward to trying it out. It sounds fun.
Your entry key is in the wrong place. It needs to be the very first line after the "Entries" line.
Ahhhh. Scope creep. My nemesis. Ty so much. It’s been a project for many months now. ❤️❤️
like this? (tho im getting a dif error now)
https://smapi.io/json/content-patcher/8d1567498231464797a9cc78e1c3a79c
Disable certain variables? There's no setting like that. Not sure why you'd need one? The problem with alpha channels is that MonoGame uses pre-multiplied alpha, but you should be able to specify a color with an alpha value using hex or a tuple of four numbers. Also you can try prefixing a color with premultiply: to make Theme Manager do the premultiplication for you. So something like premultiply:#ff000080
There's no weather data for vanilla weather, so it'll be null
Remind me where I can post a link for the mod for people
Can I ask how did you go about testing it for release? I'm always worried if I do release something ill completely mess up someones save or something.
Yup now the new error is because you don't have enough brackets. If you click on/hover over each bracket it will show you which other bracket it's paired with.
If you do that with the one on line 3 you will see that although it's the third bracket in the file, it's paired with the very last bracket in the file which it shouldn't be. If you add a closing curly bracket between lines 58 and 59 you'll see the bracket on line 3 will change to be paired with the new one you've just added.
Time to work on my first heart event 
Sure! I tried with several new saves and then some very brave souls in a different discord asked if they could test it so I sent it to them. 🙂
yay!! tysm!
Honestly some of my favorite kind to write.
Here, making mods art, modded farmers. Any of the mod spaces that you want, though modded farmers will get you the most visibility.
I'm so excited ngl- I've been planning these events for the past month lol
It's very unlikely that you'll manage to permanently break a user's save with a content pack.
I also volunteered one of my old saves as a “how does it work on my old hella modded stuff” and then made a blank save and kept adding mods until something went weird but also yeah probs hard to break that bad
That's really is comforting
Thanks for the advice. It's really helpful. Ill try that.
(If you find a way to break a save with a content pack, let me know and I'll look into fixing it. Except bundles since those are cursed.)
New quote added by atravita as #6482 (https://discordapp.com/channels/137344473976799233/156109690059751424/1391453874166173890)
Haha thanks. It would be just my luck.
I have never managed to break a save and I not only do lots of wacky things myself but I also test a lot of other people's mods at varying stages of brokenness. I've also added pre-broken saves to my game from users and un-broken them. They really are very robust.
(Plus every user playing with mods should always have the save backup mod anyway so even if something does ruin a save they should have plenty of backups)
(Clarification: the save data itself is potentially not robust at all, I have no idea. But our modding tools like SMAPI and CP are very good at not letting things break saves.)
Yeah true. In fairness Ive never broken one with all of the wacky mods ive used in my own games before. It was just was a bit of a fear. Are there commonly overlooked things I should watch out for when releasing something?
(The save data is fairly robust in Stardew Valley 1.6+. It was much less so in earlier versions, when a single broken entity could crash the game.)
(Though SMAPI's error handling helps a bit too. Each of those red errors you see in the SMAPI log would be a game crash without SMAPI.)
Yes, putting your update key in your manifest lol
@rancid musk Thanks, premultiply solved my font shadow problem.
The reason I asked about disabling variables was because of those ugly color overlays on the skills page. It would be great if they were able to be turned off.
Since they can't, any suggestions on how to make them go away?
Is this a challenge.
Thanks Ill add it to the checklist. I was going to add it before but you cant seem to have in it until there is a published page.
Deleting your config.json before zipping it, making sure you delete any vanilla tilesheets from your mod folder and that any custom tilesheets aren't in the same folder as the map (if you're doing maps), taking good screenshots so your page looks good, including text on your mod page if you use image headers so people using screen readers can see the header text too (no alt text on Nexus)
Uh... just make them 100% transparent, I guess?
You just make the page and don't hit publish yet
Nope that's not true, what makes you say that?
I'll be honest I haven't touched stardew in a bit now so I'm drawing a slight blank on which part of the skills page you're talking about.
O then maybe I did it wrong. I remember getting an error last time I tried to. Ill give it another go
Yep, I'd be very interested in any new ways to do it. (There's a few fixed in 1.6.16, bundles are cursed, and there's one known softlock if you move the farmhouse out of bounds of the original farm map and then remove the custom farm map.)
yay now I can focus on my next project which is my own little NPC Iggy and a Kuudere Maru cuz I feel like Maru needs more love
I have just learned the term kuudere
I learned like, last week haha so many -deres out there
I only recently aknowledged his existance
like he's so cute and I love him but I am such a Shane simp its embarrassing. If it wasn't him or Sterling I didn't want it
Basically the skill experience bars and skill level number. I'll fiddle with it a little more and see if I can figure it out. Thanks again for your help. :3
Tbh I don't think i would count anything that can be fixed with a single console command
Okay so I installed "Lookup Anything" to see if my Fish Pond quests/items were all good- and it looks like they are!
But now Ive noticed that my individual fish dont have listed "Spawn Conditions" even though I have noticed said conditions working within the fishing pool (through Visual Fish)
Have you shared your data/locations patch with me before?
..maybe? i can grab it now tho!
Lookup Anything doesn't quite handle additional Conditions correctly
oh ok! I noticed the vanilla fish had the locations/times so i was worried i had something wrong but like xD they spawn in the right places and times
Wait but I was using LA with modded fish to figure out when and where to find them
i wonder what the difference is between the mods that worked with LA for you and my code 
it's not that it never works
it may just not like stuff like GSQ
or similar very variable conditions
ok ok so my mod adds fish and a few gems/minerals/artifacts (just enough to fill up the empty spots in the vanilla museum LOL)
Here's what I've tested so far!
- Fish ponds, their quests, and what they produce
- That the fish spawn in the right location/time/conditions (albeit I didn't check every single one but the ones I did check were all working)
- That the artifacts have a chance of being in the correct artifact spots
- That my gems/minerals come out of the geodes I assigned them to
- That my sapphire node correctly spawns in the mines
- That the crystalarium works (I assume it has a default time for each gem at the moment because I didn't add that myself xD but idk how to do that yet so I'll do it later)
- That panning works for the items I assigned to it
- Lookup Anything shows gift preferences for my items, too, so that appears to be working as well
- The fish show up with Visual Fish
Can y'all think of anything else I should double check?
I would've thought the fish I was using it for were using GSQs for time because they were only available part of the day and so on but I can't say I ever looked at their data and I'm not condemning myself to another 5am bedtime by turning my computer back on to check now lol
note that another mod like SVE may already fill those spots so you may want to have a plan for compat. Your options are :
- SVE? Never heard of it!
- Yes, just use (mod adding more museum slots)
- a custom museum
let me see for the timing in crystalarium
To be fair some of my fish overlap with SVE as it is, but the goal for my mod was like, for people who want more in the game, like a Vanilla + experience, without everything SVE has to offer (cause ik SVE personally overwhelms me but i always want a few new things to explore)
Fair!
(the overlap being like a Surgeonfish from what I can tell)
{
"LogName": "TimeChange",
"Action": "EditData",
"Target": "Data/Machines",
"TargetField": [
"(BC)21",
"ReadyTimeModifiers"
],
"Entries": {
"Lumisteria.MtVapius_Amber": {
"Id": "Lumisteria.MtVapius_Amber",
"Condition": "ITEM_ID Target (O)Lumisteria.MtVapius_Amber",
"Modification": "Set",
"Amount": 1400.0,
},
"Lumisteria.MtVapius_AmberFern": {
"Id": "Lumisteria.MtVapius_AmberFern",
"Condition": "ITEM_ID Target (O)Lumisteria.MtVapius_AmberFern",
"Modification": "Set",
"Amount": 9000.0,
},
"Lumisteria.MtVapius_Demantoide": {
"Id": "Lumisteria.MtVapius_Demantoide",
"Condition": "ITEM_ID Target (O)Lumisteria.MtVapius_Demantoide",
"Modification": "Set",
"Amount": 2280.0,
},
"Lumisteria.MtVapius_Carnelian": {
"Id": "Lumisteria.MtVapius_Carnelian",
"Condition": "ITEM_ID Target (O)Lumisteria.MtVapius_Carnelian",
"Modification": "Set",
"Amount": 3960.0,
},
},
},```
(short version)
ooh is that for the crystalarium?
yes
sure
that worked so woo!
ok ok so i wrote my Fish Code a few months ago and im trying to re-remember what it all means
I know everything up until the weather component, but what are the numbers that follow? Which one pertains to location?
(for visual)
"Pufferfish/80/floater/1/36/1200 1600/summer/sunny/690 .4 685 .1/4/.3/.5/0/true"
WAIT jk sorry i finally found the wiki page
i fixed it LOL
i forgot to update my fish from LMTD_(Fish) in locations to {{ModId}}_Fish
so now the data shows up with LA <3
its not showing the Coelacanth's weather conditions for some reason, but it shows the Surgeonfish's weather conditions xD they both work in their spawn locations as defined by their weather BUT at least LA shows their time/location/most of the info
now
ive figured out how to add something to a crab pot... i watned to add a frog into the freshwater loot pool but also i wanna release the mod...
Maybe i'll just add the frog in a future update lol
hello to all ! i hope this is the right place to this question, im very bad with big servers like this orz
anyway, im trying to find grandpa's sprites (the one that slides down the screen when he gives his evlatuation, or when he appears with Mr.Qi that one time)
my goal is to edit the sprites and make him into a goat anthro to match my farmer for a future playthrough 😌 i've already located his portraits and the intro cutscene ft. The Bed, but all i've found in the Characters/Grandpa xnb is. a single white pixel ? i dont know where else to look, can anyone help me ?
LooseSprites/Cursors
near the bottom right
spambots are numerous today
smh they just want a smidgen of the power held in Stardew
It looks like Cursors has him with his hands held together and Cursors2 is him with his hands by his side (correction it IS from the thumbs up scene)
interesting, havent noticed that before
grandpa hiding everywhere
I'd have to check the code, but Cursors2 might be used in the perfection summit scene
Alright I’m taking a break from poking my code bc I’m annoyed with it, but how on earth do I get it to recognize the provided asset for a custom item?? Was trying to get my warp item just baseline in the game before I started on the space core aspects of it and everything but the asset is working
SMAPI is throwing a “asset doesn’t exist” at me each time I pull it up in the item spawned and I’ve tried every combination in the texture field + organization in the mod folder I can think of
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.
Completely forgot about that, ach XD I’ve got it, thank you
thank you so much (both to you and @brittle pasture ), i would have Never thought to look for him in cursors of all places lmao
This feels silly to ask but can furniture be 16x16 or does it have to be bigger? I want to make my Chicken stuffies placeable decor
sure
oh, perfect! time to tinker
@nimble marlin Is Weather Wonders open source? I got a request to provide compat and I wanted to take a peek if it's on github or somewhere.
I just added compat for CloudySkies, was wondering if there was any other compat API I needed to hook into
how does one patch export NPC gift tastes? I want to change it so Shane loves Blue Jazz Flowers cuz Jazz/Jas
characters/gifttastes?
I've made a mistake somewhere, I can tell. My intuition is never wrong
i’m not at my computer right now, but it’s whatever the filepath is in the unpacked game
i think it’s Data/NPCGiftTastes but i’d have to check
am i allowed to share my published mod here
(yes!)
encouraged to, even, as long as it abides by server rules
As long as it abides by the server rules, it’s best to link on #modded-stardew
current WIP
thanks!
Those look awesome!
the next lil mod i wanna make is a Rarecrow texture mod 
does anyone know where the tea set is? need the png for maps
springobjects
thank you!
sure
staring at springobjects in search of an item is a classic of modding
it's likely the broken melon, unused
fun!
there are some of those for various veggies/fruits
i see meat
ah yes the unused meat files
Yeah, thats where all those meat mods get their sprites
i wonder how meat would have been implemented
Butchering?
i think he almost had butchering in game if i remember right ye
that’s also where some unused sound cues would have gone
there were plans to introduce butchering, yeah
he didn't do it in the end because it didn't fit the vibe
which i’m glad they didn’t, they’re pretty awful sounds lmao
"cute animals, quaint lil town, bloody murder of your beloved cows-"
A little too "real" for a farming game where you're escaping from the stress of city life
Lol
no fr lol
@quartz arrow You leveled up to Cowpoke. You can now speak in our voice channels and share images in all channels!
EYYYY
Blue
blue 
more sprite questions....anyone know where the tea bush and garden pots are
Garden pot is in craftables
I changed my buffalo chicken dip recipe cuz I was too lazy to implement the meat so it’s just buffalo crab dip now lmao
tile sheets has bushes!
For the tea bush check bushes?
tea bush is in there can confirm
thank u!
"Changes": [
{
"Action": "EditData",
"Target": "Data/NPCGiftTastes",
"LogName": "Gift tastes: Shane",
"TextOperations": [
/*Love*/
{
"Operation": "Append",
"Target": [
"Fields",
"Shane",
1
],
"Value": "202 {{ModId}}_SilverDogTag 178 ",
"Delimiter": " "
}
]
}
]
}```
ok, so from the wiki this seems to be the way to edit gift tastes but he still hates them
tried giving him hay and he was like 'don't give me your garbage man"
hmm
did you do patch reload if you kept the game open? did you do the include in case this is an extra json? its a bit hard to figure out if theres not much context
i believe it should be targetfields
Yrs
and not target fields
oooh, okay cuz I do have the include
and theres no error in the log?
wait I had a load not an include
Oh
no I didn't see any errors in the log but let me try it with the include instead of the load
you can try a patch export Data/NPCGiftTastes to check what is actually applied
do I need a load and an include or just the include
Lookup Anything could maybe help you also see if its appearing on the backend at all
if you have the gift tastes in a seperate json from your content.json then you need the include
it is in a separate json - my content.json is getting kinda cluttered
ok firstly, thank you for posting this Caracal cause it reminded me to check my own gifting NPC file and update it with the {{ModId}} tags LOL
then you need to include the json
does it need to be (O)202 maybe?
okieI have { "LogName": "Gift Tastes", "Action": "Include", "FromFile": "Data/ShaneGiftTastes.json" },
oh i didnt even get beyond the top part of what was posted
word, will do
oof ok now to write down (in better detail) what each of my items does gifting wise xD
speaking of the validator, i am not sure what it wants me to fix with the bracket in line 19 augh https://smapi.io/json/none/64d4f410fb1e4a7b87e528e7b374b20a
oh! you need one more }, in -->
]
}```
AH
your first { doesnt have a close rn and the one after Changes is closing at your last }
thank you!
np!! (i also had this error in a few of my files LOL)
brackets are everyones enemy tbh
IT WORKED
oh my god now I have to go in and add 10 tapes 10 dog tags and 10 darts and 10 chickens.
Oh boy
???
So each custom path gets a gift set and I want to add them all to his loved gifts. Regardless of path I also send chicken plushies and want to add those too
My ideas start so simple (add a flower to his loved) and then BAM it evolves (add all my custom items and the flower)
Ok the itch has been scratched and I can go back to squinting at the ‘make an NPC’ wiki
where in here, exactly? none of the places im putting it work XD
it should be after the first }, (aka the 3rd to last from the whole code)
imagine if you could add plushies into the claw machine :O
so it'd look like ->
},
],
}```
ish
Right???? So far I have chickens themed for things like Halloween (candy corn) and 'Valentine's Day' etc and will eventually add baby chick plushies too
still giving me that error https://smapi.io/json/none/7633cecd39dd4dd9955c785268e7c61f
hmmm we are now beyond my skill level LOL tho the bracket def was missing originally
fair! i appreciate the guidance
also tho ooh a warpstone?? to a cool new village???
There is a section in the movie theater page on the modding wiki about adding prizes to the crane game
what program do you use? i recommend using something that highlights bracket pairs for you
I've been experimenting with it a bit bc I want to add some books in there
Haven't gottent them to show up yet though
OH yeah you had your JSON format set to "None"
oooh thats such a fun idea
no that wasn’t the issue, the issue was the brackets
I’ve had it open in Notepad ++ and everything looked matched up fine
asdklf gotcha LOL learning a lot still LOL
ohhh i see how what i said wasnt quite right, i put the bracket in the wrong place too lol
weird! yeah i also use N++ but sometimes i guess you just need another set of eyes haha
Yeah for sure! Thank you for the fix 💜
np!
what i actually came in here for: what are all the components of a romanceable NPC? so far i’ve got:
- marriage dialogue
- spouse room
- 10-14 hearts events
- marriage schedule
anything i’m forgetting?
their portrait in the traveling cart!
festival dialogue (optional)
wedding + flower dance sprites
having a cute ass blushing portrait
Spouse patio?
God i miss my 1.6 perfection save and how cute Harvey was as a spouse 😭 but i ran out of things to do so it sits in perpetuity
erm! erm! erm! ummmm spouse patio
oh shrimply said that
reading is hard
is it giving an error icon or like not showing up at all
what does your Objects.json look like/wherever you have the main data for the gem
(i also had the error icon last night lol)
!json pls
JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.
If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.
When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.
sorry, it's all just in my content.json right now. https://smapi.io/json/content-patcher/a9c3b9b752774b3f8348a941cbff653f
just trying to baseline get it to exist rn, not worrying about attainability outside the item spawner currently since its meant to be accquired via an event
and i am worrying about that after i get this working
your "Texture" line hsould be the same name as your "target" line
your load target is "Target": "thresholdcrest",, so you need to set "Texture": "thresholdcrest",
GOTCHA
I also recommend picking a more unique name with {{ModId}} in it to avoid collision
gonna save making it a functional warp item via spacecore for later lmao, cause that will doubtlessly be its own interesting tangle
it's not too hard
{
"Action": "EditData",
"Target": "spacechase0.SpaceCore/ObjectExtensionData",
"Entries": {
"Lumisteria.MtVapius_OwlCarving": { // The object ID
"TotemWarp": {
"Location": "Lumisteria.MtVapius_Hamlet",
"Position": "16, 61",
//"Color": { "R": 0, "G": 0, "B": 255, "A": 255 }
}
},
"Lumisteria.MtVapius_JunimoCarving": { // The object ID
"TotemWarp": {
"Location": "Lumisteria.MtVapius_ForestTrailPond",
"Position": "26, 31",
//"Color": { "R": 0, "G": 0, "B": 255, "A": 255 }
}
}
},
"When": {
"HasMod": "spacechase0.SpaceCore",
}
},```
oh heck yeah! thank you
its so helpful when others have already done the cool thing once and are kind enough to show you their work 
it really really is 
sure! it's great to be able to spare others some of the struggles sometimes
worked like a charm!!! thank you so much
also, just saw your comment on the reddit post i made abt this yesterday before joining here; there's a "consumed on use" property for the totemwarp function, true/false, so i've got it set to false and works just how i want it to
Is there a built in utility method to get the quarry range on the map? All I could find was this rectangle
private void quarryDayUpdate()
{
Microsoft.Xna.Framework.Rectangle r = new Microsoft.Xna.Framework.Rectangle(106, 13, 22, 22);
great! i didn't look in too much details since i didn't need it
hmmm so my GarbageCans.json looks like this--
"Changes": [
{
"Action": "EditData",
"Target": "Data/GarbageCans",
"TargetField": ["GarbageCans", "Blacksmith", "Items"],
"Entries": {
"{{ModId}}_rose_quartz":{
"ID": "{{ModId}}_rose_quartz",
"Condition": "RANDOM 0.25",
"ItemId": "{{ModId}}_rose_quartz"
}
},
"MoveEntries": [
{"ID": "{{ModId}}_rose_quartz", "AfterID": "(O)382"},
]
}
]
}```
and yet the outdated "LMTD_rose_quartz" item (with an error texture) just popped out of a trashcan
... it looks like the one in my ACTUAL in game mod folder didnt update when i swore id udpated all the files xD welp thats an easy enough fix at least
Do custom CTs also create memory_ CTs, so I can use something like My_Own_CT_memory_twoweeks?
ya think you caught all the bugs and you think you uploaded the right files into the right places but then youre running your own SDV save and encounter oopsies xD
already on 1.0.2 for my mod cause i missed things 😭 oops
Hey, I'm trying to change the recipe for the Junimo Portal added by Junimatic but can't figure out how to change recipes for mods that don't use content patcher.
Any sort of guidance however broad would be very helpful, I'm not sure where to start.
you can run patch export Data/CraftingRecipes in the console while in game and inspect the file that it generates
it will give you every recipe that's available in game, modded or otherwise
you can find the recipe and then make a CP patch targeting it
Thanks I tried to do that with xnbHack but was only getting vanilla stuff. Sounds like I had the wrong approach.
yeah that only unpacks vanilla files in the game folder
mod/CP patches are runtime and leaves the game files alone
Looks like that gave me exactly what I needed. Thanks again
In one of my mods I want to patch the bottom of the Cindersap Forest map and add a little path down to a cave behind the waterfall. Does anyone know if I can just follow the normal map patching procedure or does the Trash Bear cleaning stuff up down there present problems/replace the map with another one?
i believe this is generated by events, not CT
is there a commad to make leah post in mods showcase??
Those with the mod author role can use leah to do it i believe
Or do I need the Mod Author role?
yes
I have made 2 mods, one already in here
im pretty sure someone else can do it for you but i dont know 100%
correct
a win for my memory
if they are willing to, however
if you published mod and have the proper level you can ask for the role
Ok then I would like to request the role
I have published the "Ctrl Alt Zero" and "Slightly Bigger Farm" mod on NexusMods
Yeah but that's level 25+ i think
you have to have the farmer role to request mod author
yeehaw
Gonna finally tackle converting everything to i18n
have you seen the i18n tool by nomori?
I think I’ve heard of it
!i18n
So you'd like to stop writing all of \"your strings straight in your content.json?\" and/or you'd like the capability to see all of your strings across all of your .jsons?
Introducing i18n!
-
How to make your mod compatible with other languages: stardewmodding.wiki.gg
-
The file where you can put all of your strings is called default.json, and it sits in a folder at the same level of your assets, named "i18n".
-
If you're converting from an older version of the game, there's a converter for ease-of-access.
Not to be confused with
{{DynamicTokens}}since these require the specific{{i18n:<KEY>}}modifier
Is the command
watch out for the generator putting {{ModId}} in the keys though—i’m not sure if nomori changed that yet
Thank you!!
oh boy 300 lines of dialogue and more in events
hopefully i can done within a week
Just caught that my Threshold Crest item is showing up in the shipping collection, it’s not meant to be there. How do I set it so it’s not listed there?
If a location has 0 doors, can I assume it's event only?
sending SO many good vibes
excludefromshippingcollection or something
"ExcludeFromShippingCollection": true,
i suggest searching for one keyword like exclude in whatever relevant documentation theere is
How r u measuring doors here
GameLocation#doors
the category its in might impact it too? but ye there is a tag you can add to exclude it
same question but for warps then
I'm assuming if there's no way in or out it's just for an event?
But anyways I don't really think there's a good way to tell if a location is event only because you can also be warped inside by mod things
Sounds good! I’ll give it a try once I’m done with the day I’m playing rn XD
There is a kind of map that is events only, temp maps
Trying to solve this thing, I've been told that most of the locations are event only
I put it in the tools category, which I thought would exclude it, but no XD
They don't have associated location data
do dialogue commands work inside i18n
or do i have to do separate ones before and after something like $b
Yeah im guessing sve added those as real locations for some reason
Checking warps is probably reasonable for ur use case
You can just add a toggle to show all locations for artifact spots in config
yeah someone in the SVE discord mentioned that they probably shouldn't be spawning the artifact spots at all but 
THEY HAVE WARPS
Why tho 
I dunno i think this is SVE's problem not uiis2
Was there some location data u can set to prevent artifact spot spawns i forgor
Treatasoutdoors is for indoor location to behave sorta like outdoor
Except for some bits like water
Not important for u
I guess another idea is check if they have a proper display name?
(i have to go to sleep but wondered, i heard there was a change about wild trees in ui info suite 2 future update and wondered what the impact would be on mods like VMV and its birch trees)
Hide the ones that don't
Did u add the customfield to set display name 
@hallow prism
I saw you ask for the feature in the scope thread lol, too bad it's not gonna happen

I think i did? I know i wanted to but those are very different
Remind me in 12 hours to see if i have the field uber pls
oh lumisteria you sweet summer child. trusting me with such a task? all right ;) (#6763713) (12h | <t:1751889411>)
I wasnt sure if the feature was removed entirely
If its just that its now on the side of the mod author of the tree then all good
Yeah basically, perhaps double check the custom field name vs the sve one 
Popping in for the warps and locations conversation - there's really no good way to use a player's ability to warp in and out of a location as a means of determining if it's event-only. Mods can add so many custom actions to move the player around.
In making World Navigator I had to at one point just accept that I cannot determine every way for a player to move around the world (and that's ok)
I’ve found that I have to put them outside the i18n keys so like speak NPC /“ {{i18n:thewolf.dialogue}}#$action AddItem 206 10/“
oh god okay
When I tried putting it inside of my i18n keys it would give me an error item
turns out i do not need to separate, at least not for festivals dialogue. events might work differently
i will reckon with events later 
You can use the i18n-fier as a starting point
took forever to get through that day lmao. this worked, thank you!
memories are generated by Conversation Topics, but events do generate Conversation Topics. @cold marsh all CTs will get all the memories
I have a question. There is a mail flag for when the player builds the Corner Room with the renovation menu (FirstPurchase_Corner). Does the game itself use this mail flag to track whether the renovation has been purchased or not? I have tried setting the mail flag myself, and it has led to variable results: sometimes the corner room shows up and sometimes it doesn't.
are you sleeping after? 
FirstPurchase should be saved even after you destroy it iirc
so I'd be shocked if it causes the map to update honestly
there's the renovation_corner_open mail flag which might be more what you want right?
I tried setting both, but I'm still getting weird behavior. It's a complex mod, though, so maybe something else weird is going on. I'll continue to test and report back.
I am sleeping after - it will be gone when I wake up in the morning, then I'll leave the farmhouse and return and it will be there.
lemme do some testing myself actually on vanilla to see what happens with the flags
someone could/should probably check the decompile
not me though it's 2am here
In the code FirstPurchase_Corner (or more specifically FirstPurchase_ + [a room ID] is used in the process of buying or getting a refund for that purchase, but not for setting the house up from what I can see
the corner room is actually added if the player has the mail flag renovation_corner_open
I gotta go for IRL reasons but hopefully that's helpful
renovation_corner_open isn't persistent, though, according to https://stardewmodding.wiki.gg/wiki/Comprehensive_Mail_Flag_List
Thank you for your help!
yeah? it's removed when the room is removed
I don't see it getting removed in the decompile, at least...
isn't that exactly what you want?
if (hasOwner && this.owner.mailReceived.Contains("renovation_corner_open"))
{
base.ApplyMapOverride("FarmHouse_CornerRoom_Add", "cornerroom_open");
if (this.displayingSpouseRoom)
{
base.setMapTile(49, 19, 229, "Front", "untitled tile sheet");
}
}
yeah that's what I saw too which is why I suggested renovation_corner_open; that block of code ^ gets called in _ApplyRenovations which is called in updateFarmLayout which is called in _newdayafterfade and in MakeMapModifications (which would be called in resetForPlayerEntry)
Ah, right. Sorry, my attention was being demanded elsewhere. Let me take a look at my code again and do some more tests. When I added the FarmHouse_CornerRoom_Add, it didn't seem to be registering on Robin's menu, but I think there's a delay based on how long it takes in game to build the renovation. This is really helpful; I will experiment and come back with more detailed information if necessary. Thank you, @harsh bobcat and @half tangle 
(also I realized my testing in vanilla would be with an unupgraded farmhouse [because I'm just using glitches to give mail flags] which is ... not gonna work lmao)
debug upgradehouse 1 (or 2) will give you an instant upgrade
@harsh bobcat
So this is the code I'm using:
{
"Action": "EditData",
"Target": "Data/TriggerActions",
"Entries": {
"glymr.BrokenFarmhouse.CornerMail": {
"Id": "glymr.BrokenFarmhouse.CornerMail",
"Trigger": "DayEnding",
"Condition": "{{DLX.Bundles/Purchased |contains=glymr.BrokenFarmhouse.FixUp17}}",
"Actions": [
"AddMail Current FirstPurchase_Corner",
],
},
},
},
{
"Action": "EditData",
"Target": "Data/TriggerActions",
"Entries": {
"glymr.BrokenFarmhouse.CornerMail": {
"Id": "glymr.BrokenFarmhouse.CornerMail",
"Trigger": "DayEnding",
"Condition": "{{DLX.Bundles/Purchased |contains=glymr.BrokenFarmhouse.FixUp17}}",
"Actions": [
"AddMail Current renovation_corner_open",
],
},
},
},```
After the condition is met, I go to sleep, and when I wake up, there is no corner room. But if I leave the farmhouse and return, the corner room appears. This is consistent even if I sleep for several days: the corner room is missing when I wake up, but re-appears as soon as I leave and re-enter the farmhouse.
Oh, hmm. I had a mail notification with no letter attached in my mailbox, and after I read it, the room is not persistent.
your trigger actions are adding mail for tomorrow, not sending it to the received inbox
if something doesnt go straight to "received" you get a mail icon and the flag is only applied when you click the mailbox
Oh! I understand, thank you. And that causes the phantom letter in the mailbox, too
Thank you!
im not saying its the sole cause of the room being inconsistent, but its definitely at the very least the cause of the phantom notification, and is also definitely a contributor if you havnet been consistently checking mail
The syntax should be: "AddMail Current renovation_corner_open received", right?
correct
When I do i18n, do i need to make the {{i18n:key}} have a unique key?
Like instead of {{i18n:Introduction}} it would be {{i18n:ModId_Introduction}}
ok perf
Now it's only missing the first morning after. @uncut viper you were right, the incorrect syntax on the mail was definitely a contributing factor.
sleeping in a place that should have map modifications made overnight generally stops it from actually showing up iirc (where my sole experience is perfection boulder)
(sleeping in the railroad on the night you get perfection makes the boulder still there and you have to leave and reenter)
Huh, I did not know that
I ran into it during a speedrun lol
Y'all, I'm so excited to share this mod with you. I've been working so hard on it, and I think it's going to be really fun.
This is showing up after I converted everything to i18n but i can't find anywhere that i've accidentally put } instead of dialogue
I remember before there was a bug with marriage dialogue that had the npc say "..." isntead of anything, is this related?
its likely not "instead of" dialogue but just accidentally writing {{i18n: ...}}}
a stray random brace is often just due to brace syntax error hidden amongst other braces
it's happening every day now
this is gonna be fun
searching }}} hasn't found anything
did you use the converter? i would double check the output of it if its happening every day
ough thank you lifesaver
yeah i did D:
ough
this is the default json
regular dialogue
marriage dialogue
yeah its happening with allll of the dialogue
wait did you run the i18n file itself through the converter?
@harsh bobcat I switched the trigger to DayStarted and it seems to be working as intended now!
like the default json?
excellent!
wait wem
yes, the default.json
oh no i didn't
are you Loading your dialogue directly?
i think you're supposed to put the portrait data at the end of the string, not the start? maybe that's causing it?
instead of loading a blank and then doing EditData?
dialogue was working before
it was just after i did the conversion
oh wait directly not correctly
sorry i cant read
hmm weird i cant find anything wrong directly with the files you sent
these files are not content patcher jsons at all, theyre just... dictionaries
theyre not a part of a patch
i loaded from my content
which means its either the i18n file itself, which you said it isnt, or you were using just raw files loaded directly
which means tokens do not work
if your dialogue was added in via a Load patch then that is loading them directly and skipping token parsing
does that become an issue when using i18n? bc i havent had problems without it
dialogue worked and everything
yes
you Load a blank to all your relevant dialogue targets
then you EditData in these dialogue entries instead
that makes sense; my map strings were working since i used editdata
how do i do this? sorry i've only done blank json once
do you remember what you did with the blank that time?
or do you need the full instructions
im trying to find it i actually cannot even find where i loaded it
oh nvm it was my events blank
you just do the exact same thing as the event blank. if its the same mod you can even do it in the same patch
okay perf thank you
just instead of the Target being Data/Events/Whatever its Characters/Whoever/Dialogue
or whatever your current load target is
i can never remember
then you do EditData on that target to add your dialogue keys
i'm just gonna ask here first before moving to mod art but here's a very quick rundown of the situation:
- i play with talkohlooeys portraits for 1.6
- person makes a traveling merchant mod based off of a youtuber
- i draw a talkohlooeys style portrait for it and wanted to use it but only scaled it to 256 because i use farmer portraits and 256 works with it so i assumed 256 would be the max
- wanted to upload it to nexus after months of having forgotten it
- swore it worked when i first used it
- it might have not, in fact, worked when i first used it
- befriended the mod creator
- tried using portraiture (failed)
- tried using scale up (failed)
- oh the orig traveling merchant didnt even HAVE a portrait ok that makes sense
- well shit now what
TLDR mod creator and i are losing our marbles trying to make an HD portrait work because the thing being modded doesn't have a portrait in the first place
i feel insane trying to explain this
whoa is that peeta hungergames from hit YA novel series the hunger games
yes, yes it is
why did i read peeta hungergames from hit YA novel series the hunger games in lois griffin's voice
he is available rn im just trying to get the i18n up so people can translate it if they like
peeta! stop giving random street urchins bread peeta! we're going to run out of bread!
gale in the distance: giggity
😭
this mod gives the traveling merchant a portrait, but you'd have to find out if there's a way to modify it or allow it to accept a higher resolution portrait https://www.nexusmods.com/stardewvalley/mods/20414
funnily enough i did talk about that with the mod creator and they said thats what inspired them to make the mod in the first place
i was also thinking of using that and also redrawing the portraits in the style but
again
giggity goddammit
Yeah, I can't help you beyond that info, unfortunately
yeahh it's really complicated without having to count on HDP
i tried scale up but, again, idk what i'm doing so i didn't go too far with it
So a number of mods add a portrait for cart merchant, what would you like to use as a base?
I believe the easiest path rn is spacecore source rect override
mainly i just want to make the hd portraits for the swaggon aka the mod by the mod creator im talking to
Ok then u need to know what the actual texture asset is, and then use spacecore texture override to put in ur 256x256 version
so would there need to be a dependency for spacecore in the manifest if ever?
Yeah you would make a content patcher mod that edits some custom assets provided by spacecore
I can't make u an example rn, perhaps in an hour or two
In addition, this mod gives HD Portraits specifically to shop vendors via SpaceCore. You might want peek inside for examples on how they do it.
oh hey i was just about to message you since i was thinking of doing yours too
Wait, you mean Talkohlooeys-style Portraits for Vendors? I'd be very happy if you did!
i'm gonna take a peek first in the anime style PFV so i can get a sense of what the hell is going on over there, thank you!
This syntax is wrong, isn't it.
"Query: {{Player_Has_Mail |contains=FirstPurchase_Corner}}": false
},```
Player_Has_Mail is not a token
you cannot use a GSQ as a When condition
you want HasFlag
and you dont need query
"When": {
"HasFlag": "FirstPurchase_Corner"
}
Thank you so much
I knew I was doing it wrong, I just wasn't sure how to do it right
"HasFlag |contains=FirstPurchase_Corner": true would also work but its functionally identical
so might as well write the easier to write one
If I want it to be false instead of true
oh yeah
i misread it as true
then yes you do actually need that contains way sorry!
Can I put an exclamation point in front of the expression?
Okay so, I have a fish thats supposed to only be spawnable after the Glittering Bolder is removed.
It not only is appearing in the Mountain Lake, regardless, but its also acting more like trash about 80% of the time- the minigame doesnt even proct
I have the condition of "Has Seen Event" in the Fish.json part, but not my Location.json... Is that why?
Also despite it acting more like trash (i had the minigame pop up the first time) it IS in my fishing catalogue/collections tab
Yes
well we dont know what your fish.json or location.json even are, so we cant answer that
but if im taking a guess, you probably dont want your fish to conditionally exist. you want it to be conditionally catchable. iirc fish spawn data in the Data/Locations entry allows a Condition field.
dont know what the deal is with the trash though. i dont do fish stuff.
It's acting like trash because that's what happens when you have an entry in Data/Locations but not a matching entry in Data/Fish
My recommnedation would be to gate it in Data/Locations instead
oh my god my name is holographic
I mean
I knew it was gradient I didn't know it was animated
(it's not on mobile)
ooh ok ok
so it wouldnt need it in both locations?
You can use Condition instead of cp When
(If it helps
FishData.json : https://smapi.io/json/content-patcher/16fe3022a3fc42b7bf87ebdcc9bd689f
Locatin.json : https://smapi.io/json/content-patcher/eeb9d882b59e45f3af9e042b49417242 )
My Green Rain exclusive fish has their like "When: X" then in the FishData one and it works just fine (I did test that one with normal summer rain and green rain)
But my goofy ass only checked for the pale catfish after the glittering bolder was removed and not before 😭
i cant imagine you want that for the green rain fish either
So gating it that way in Data/Fish isn't really useful tbh
but its working and im afraid to mess with it-
I thought it's not working
I guess maybe if you wanted it to not count for perfection on every day but green rain day
well, did you test what happens to the fish you already caught after green rain is over?
No the Green Rain one works
what do you mean?
the Glittering Bolder one isnt acting properly, I didnt have any issues with the Green Rain one
the fish you caught are fine because Data/Fish controlls how the fishing minigame works and also if the fish is required for perfection
unless aquarium data is also in there
does it not also control the name of the fish?
interesting
Aquarium data is not in there
well, the perfection point stands then
you are fine to do that check I just don't recommend it
Yeah they dont have Aquarium sprites yet anyhoo
itll just disappear from your collection entirely
Noted noted, im still learning all the code stuff lol so im not surprised i did some janky things on accident 😂
so would I still use the "When" component and just, shift it over to Location?
as a general rule of thumb, you want assets to exist as much as possible
do I get to be 8th grade physics now?
no, you dont still use the When
you use the Condition field of the fish location data
tbh I would actually use the PLAYER_HAS_SEEN_EVENT GSQ
im not sure what you mean im sorry
(I assume that's the name)
if a "When" condition is false, the patch doesnt apply. which means nothing in your patch will exist in the game, at all
i.e. when its not Green Raining, your fish data literally does not exist whatsoever in the game
but the fish still exists in objects?
and its in the collections tab rn, greyed out, in Fall
the object data still exists. the fish data will not. because you didnt change Data/Objects
if a mod tried to look at every fish that existed in the game, they would have no idea your fish was even a thing if they looked at Data/Fish
and there is no reason for it to not exist all the time
because it existing in Data/Fish does not mean it is catchable
so because the game is checking FishData and the when condition is false, instead of the location data being the false one, thats the bad thing?
using a PLAYER_HAS_SEEN_EVENT GSQ inside Data/Locations, which is also not a When condition, can restrict when it can be caught
yes
but neither of them should have When conditions at all
you should not use When conditions if you can get away with not using When conditions (again, as a general rule of thumb)
Also the thing i have is "When" : {"HasSeenEvent": "404798",},
Would it just be "HasSeenEvent: "404798" or is the PLAYER_HAS_SEEN_EVENT totally dif
forget the entire concept of When
PLAYER_HAS_SEEN_EVENT is a game state query that goes in the Condition field inside the fish spawn data
I am removing it, but I was making sure the tag thing was correct
Ok
I was double checking cause initially 7th grade said "I assume that's the name" and i wasnt sure
it would not be "PLAYER_HAS_SEEN_EVENT": "404798" either, so neither the tag nor the syntax you said would be correct, is why i said to forget Whens entirely
This is my first time making a CP mod so I'm sorry I'm not catching on quickly
somewhere in your Data/Locations you have a Fish field right?
Okay so I need to re-figure out what the tag/synatax thing is for the Glittering Bolder event?
The format is different for When blocks and Conditions, it can be a bit confusing at first. 🙂
actually i forgot you sent your json, one second
okay, so you actually are already using Conditions and GSQs
for other fish
you're using LOCATION_SEASON for the icegill and the mossy_trout
thats a Game State Query/GSQ
instead of LOCATION_SEASON, you use PLAYER_HAS_SEEN_EVENT
the way to use that one is described on the GSQ wiki page i linked, but you most likely want PLAYER_HAS_SEEN_EVENT Current 404798
which means if the current/local player has seen event id 404798, then that fish is possible to catch in that location
Okay, and if I don't want the fish to appear in winter, still, is that then a situation where I just add a comma and both the LOCATION_SEASON and PLAYER_HAS_SEEN_EVENT are within the condition thing in sepearte quotes?
if you want to use it AND the season one, then put a comma between them
ok
LOCATION_SEASON Here spring summer fall, PLAYER_HAS_SEEN_EVENT Current 404798
Say can u make custom mannequins
you can comma separate as many GSQs as you want, but they must all be true for the Condition to be true overall
yes
Data/Mannequins
The other day i saw mannequin data but idk what exactly u gotta provide sprite wise
ok thank you
Is it a big craftable or special 
as far as i can tell, its solely defined within Data/Mannequins
unless its just not called "Mannequin" in Data/BigCraftables
I shall experiment
also their sprites live in TileSheets/Mannequins
which also points to them being their own thing
or well
their base sprite
they also take a farmer texture lol
good luck
so, ok, how do i translate my Green Rain scenario into that then into the locations file instead
i dont believe so no
same way you did the sunny weather check, but check for GreenRain
I can probably figure out which ones actually matter
okay, so since i already have that tag in there, the one in FishData was just redundant?
also, you dont have to put a Condition at all. you can remove the entire Condition line if it sshould have no conditions
yes
(which is to say, you can remove the condition for the Gem_Fish in the Woods)
speaking of green rain fish
this little fellow looks like a green rain fish to me
oh because it has no weather or season restrictions?
thanks for helpin :) learnin lots of new things polishing up this mod lol
more so because your current condition for it is just literally always true
its always going to be one of spring, summer, fall, or winter
Trying to make a prefix for tryToReceiveActiveObject. Does anyone know how to get the NPC I'm gifting's info like name and gender?
this.(something) doesn't seem to work, I read something about __instance but idk if that's correct.
__instance yes
okay so SDV automatically generates both Roe and Bait for fish added into the game (which is SO incredible MWAH) but if i wanted to overight just one of them (for my rainbow fish because obvi rainbow roe/bait) can i do that..?
what are you trying to do
im not sureh ow the roe and bait is automatically generated so im curious if i make an asset file specifically for that fish's bait and roe how i would go abouts adding it in
you can't
gotcha
thats what i was wondering LOL
so I can legit just do
public static bool tryToReceiveActiveObject_Prefix(NPC __instance, Farmer who, bool probe)
and all will work out fine?
it seemed like a more Complex System because it did it automatically LOL its really neat it does that at all honestly
all the roe, bait, wine, fruit, etc. are the same item under the hood
the flavored variants have a color overlay on top
that makes total sense
(well, there's EBAGI I suppose)
eh its not that important xD just thought it wouldve been Fun
When will someone create even more better artisan good icons
that was matt's spritepatcher 😌
anyone know where the junimo language font is located? want to reference it real quick
i tried checking loosesprites/cursors.png, loosesprites/junimonote, and all the pngs in fonts/
you've been tricked by, you've been struck by, LooseSprites/font_bold.png
junimo text starts 224px down (lower 2nd 'paragraph'), and doesn't exist in font_colored
omg what tysm 
what the game does when something should be junimo text is just vertically shift the place on the png that it looks for the letters
is that a lil shadow guy 👀
so onto the same sheet they go
ah okay thanks
i kind of want to make this
What's the concept
literally back to 1.5
Ah yes
its hilarious
Gotta just prefix colorobject.draw ez
Is there a simple way to alter where the farmhouse door sits on the asset?
I've dug through the modding wiki a bit and wasn't able to sus it out myself
I need this as a tattoo
For context, I'm using AT because this a farmhouse retexture I'm only using for one particular playthrough
I know the most effective modding format is CP. This is a convenience vs functionality issue
Yeah u need to change HumanDoor
For buildings though u can do it all as buildings skins, and still use it with AT tools
Here's more info on the building data https://www.stardewvalleywiki.com/Modding:Buildings
You can only have 1 HumanDoor without mods
So would I add the HumanDoor change to the code for the skin?
Just making sure I'm understanding corrently
i made 2 character sprites so far but i need to do better on one because omg is she not as good as the second character i did
i might need to change my mod idea a bit to compensate 🤔
do you have to do anything specific to make your sprites see through in sdv or is it just a matter of saving them with the opacity down and then patching them in as usual?
nothing special, just export as PNG with transparency
what's your art program?
hey yall have a quick question, i read in my log that some maps were not loaded because they all have the property 'exclusive'. in normal circumstances id just remove one but im making kind of insane personal edits and just wanna fuck with it, so is there a way to remove that property from a tbin file? i loaded it up in tiled and i couldnt find it but i probably missed it, havent used tiled in a while
i also looked in the content jsons to see if i could find it and didnt, but im not really a modder just a very weird editor so i dont really know how that is done
Well why r u Loading map twice?
Exclusive is a cp concept and yep by default loading same map 2x is no good
What's the goal here
hi! when your log error mentions Exclusive, it's more an issue that you have two Action: Load entries with the same Target, which will typically fail as the game only expects one base file for each asset.
if it's just for personal use and you're aware of the consequences, i believe you can override this with a differentPriority value?
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/action-load.md#usage
okay so i found out the map editor mod existed and ive used a lot of mods that edit the vanilla maps over the years, and a lot of them just patch onto the map so i thought i might be able to combine them in a way? idk if that makes sense i was just really curious about it
otherwise, the more usual approach is to Action: Load a single asset, and use Action: EditMap in a separate entry to override it with a following patch
ohhhh sick thank you sm! so wait then is it possible to just change one of them to an editmap instead of a load?
(obviously its gonna overlap and cause mild destruction i am okay with that)
yes, but the two actions behave very differently:
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/action-editmap.md
it's worth reading through the docs to understand the structure and purpose of each
thank you sm!! i really appreciate that :D ill def give it a read
thanks for yalls help!
so for example, your changes might look like this to replace the whole map with a patch of the same size:
{
"Format": "2.7.0",
"Changes": [
{
"Action": "Load",
"Target": "Maps/{{ModId}}_MyFunnyMap",
"FromFile": "assets/my-map.tmx"
},
{
"Action": "EditMap",
"Target": "Maps/{{ModId}}_MyFunnyMap",
"FromFile": "assets/my-map-override.tmx",
"PatchMode": "Replace"
}
]
}
omg hell yeah, thank you so much!!! thats awesome fr youre the bomb<3
no problem! feel free to ask if you run into any problems 
i use aseprite! i just wasnt sure if sdv would force them to be non transparent or not somehow 🙂↕️ hope the ping is ok wasnt sure youd see it, please let me know if you prefer it off 🙇♂️
A GSQ of "Condition":"{{TokenThatCanBeTrueOrFalse}}" can be used, right?
Yes but ideally if the token's a gsq already use that instead
its a "If this mod is NOT installed it should be "true" "
perfectly fine
i'm sure aseprite exports to PNG with transparency just fine, you shouldn't need to make any extra changes
A HasMod contains should be fine here i think
I suppose I could use !{{HasMod |contains=modid}}.
Basically u r just using the gsq TRUE and gsq FALSE
It has to read as "true" if it's not installed.
HasMod itself probably resolves to the entire mod list so i think u need the contain
(Feels like this may be easier than having the things patch in if its not there)
I think i would choose to do the When instead almost every time
Is it dicey?
No it's pure vibes reasons 
I don't think there's anything functionally wrong with it i just dont like mixing gsq and token like this
(EditMap wont transfer map properties if you do it like this, right? whereas a Load will)
"when" is probably better performance-wise for tokens that never change, but format-wise I do like just putting tokens in conditions
(and CP packs shouldn't overthink performance much
)
(though speaking of which, TRUE is technically faster than true in condition fields)
fair, it's probably trivial now that I think about it more
Yeah it is purely vibe reasons
Related to desire of shoving everything related to a particular HasMod behind one include
I've just been dwelling on whether it's bad to use (changing) tokens in Data/TriggerActions lately, since it's busier and does caching
HasMod won't change either way, so yeah, vibes
hm, does anyone know off the top of their head if theres many mods that take the area above the cliff next to where pierre's shop is? by the river its where overgrown valley puts a orchard for the town, lowkey thinking of putting my shop in that location when i make it, but i dont wanna make it where people have to choose between my mod and another so i was wondering if anyone knew
i already know my mod prob wouldnt be compat with overgrown if i do put it there though (looking for alt locations as well near town)
have you checked if SVE touches it? sve changes most of the town
omg your right
pretty sure in SVE that entire cliff is basically gone to make room for whatshernames house
i had no idea! ill have to look around a bit more
ideally id like to put the shop in town but if i cant i suppose i could make it san additional addon to my characters house in the custom map location i was planning on making
i just feel like it would be a bit odd for the shop to be so far away from the people XD
it's fine for a mod to conflict with others, though. it's just not possible for everything to be compatible and everyone to get their vision with their own mod
follow your dreams ☀️ and just list out all the conflicts on the mod page when it's out haha

Compat is nice, but making yourself happy is more important to begin with
Compat can be a stretch goal if you want to do it
Yeah, a building in town + no conflicts is incredibly unlikely (potentially completely impossible) so pick whichever matters more to you and focus on that ^_^
Not everyone plays with SVE
🙂↕️
thats fair, XD if only the town was bigger lol, im sure ill figure out how i want to proceed ill just need to do some expirementing first, ty for letting me know that SVE changes the cliff :0
SVE also isn't the only mod that affects that area though, I know several people have wanted to put buildings there (though I couldn't tell you if they got released because I wasn't paying special attention)
For me, having Hiria be in Cindersap Forest (albeit in a custom map extending it west) is an important part of her story so I'm willing to sacrifice compatibility with any mod that would prevent me doing that.
Oh? I haven't seen any others
:0
i might make a secondary map that makes a more "farmer's market" looking area
put the shop there
How big will the shop be?
I’m glad my npc’s story actually requires his house to be on a different, bus-only map 
Not very big, it could even just be a location similar to where you buy ice cream and she just travels into town to sell
I want to eventually make my own expansion too and i'm set on Backwoods map, i want a cave there
I spend a lot of time in here and have done so for over a year so I've seen a lot of people pick areas to put their mods. Whether they actually get to the point of releasing...well...I don't track that part xD
since the idea is she lives deep in the woods of the valley
backwoods is tricky because of npc pathing issues
Just checking you know NPCs can't path through backwoods?
lol iro same brain
You could even put it to the town square
:0
Or near the fountain
oh true
it’s blacklisted from npc pathing because if you don’t blacklist it, the pathfinder explodes
Yes but my NPCs won't travel
I'll buy you one if we ever make it over to visit Mouse's family
hmm wait i wonder if anything changes the backyard behind sams house
they never leave their houses?
why is the backwoods cursed O_O
Circular pathing iirc
It adds multiple ways to get to the same map and the pathfinder can't handle that
makes me think of that old fable about how if you enter the woods of the fae they can send you around in circles XD
this is clearly the junimo magic at work
I don't wanna spoil yet but they will stay in their area
tl;dr vanilla stardew implements pathfinding badly and as a result, cycles crash it
(spacecore actually changes it afaik?)
mod author neuron activation on reading backwoods
:)))
spacecore doesnt do anything about cycles afaik
but the actual problem with backwoods is that it has a state where there are warp into it that has no way out
What are cycles?
Just if i edit the map and there are 2 other mods adding pathways to other areas, does it have to be defined somehow? Or idc about others and the program knows?
I've never even done NPC modding before and when I read the messages I still went 
Do you mean for the pathfinder or for avoiding overlaps in your mod and other mods editing the backwoods?
oh right, the backwoods is because it’s a disconnected map
Just other mods like Laelia Glade
cycles = places where you can walk in a circle back to the same map, basically
like farm-backwoods-mountains-town-bus stop-farm
You just have to make sure you're not editing the exact same part as the other mods.
i make an npc who explains why no npcs go to the backwoods so
"You see my fellow fae love playing tricks and the forest is our home, so they confuse those who enter your backwoods so that they may not delve too deep, I am at a loss as to why the magic does not seem to affect you, my friend."
In what way is it disconnected? I know NPCs can't path on the farm so that's closed to them, but can't they go in from the mountain and then go back out to the mountain?
disconnected in this sense means that there are two paths through the map that do not connect to each other, so there are warps on the map that can’t be reached from other warps
Or make a compat patch so you are editing the same part but in a way that doesn't break their mod.
Ahhh yeah of course so the NPC tries to get to the warp that's on the other side of the fence and cannot
can npcs go in the deep secret woods or is that also a no go ?
Like when somebody who I forget who it was wanted to make that trapdoor on the top of their NPC's house but the NPC kept trying to use it from the ground so it failed
whats the deep secret woods
(the issue in this case is a much tougher fix that would require rewriting the entire structure of how npc pathfinding is done)
No, NPCs are also banned from the secret woods but I think that's just to stop them dying? Because I don't think there's a pathfinder issue there
ooooh
No probably not lol
imagien they just delete the monster in their path
I think they just ignore them ngl
But Jessie has an event in the secret woods

