#making-mods-general
1 messages · Page 581 of 1
you need to name it the same as your CP folder
keep the ./ since that says "start looking from this folder where the csproj file is"
so ./[CP]MeguminNPC
okay.... uhh i think it seems good. just when i try to build it it says the manifest doesnt exist. but thats because there is one in each subfolder and not in like the... main directory? idk how to explain it
guess ill try to launch though steam
https://smapi.io/log/3bfd8c68d39c41c38bff989be6e97d5d
well im getting less errors, but for some reason it still doesnt want to find the files
Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Windows 10 (10.0.19045.0), with 15 C# mods and 1 content packs.
ah, wait i think i forgot to update the content.json manually, let me try again
oh hey, i think its working
looks like the actual build part worked, though! One other tool I'll mention while I'm still here is the manifest builder. You can use it to build your C# component's manifest automatically based on info you put into your csproj file
https://github.com/KhloeLeclair/Stardew-ModManifestBuilder
yay, thank you. i dont really understand what i did the best. but it works.
I was just about where you are a little over a year ago - well done
now what i need to do next is use harmony to make a prefix to allow only my npc to bypass the restriction that stops npc's from entering the community center before its complete... or something like that
Are circular warps still an issue?
I will say that you should put the gamepath in a .csproj.user file (or use stardewvalley.targets) so that it doesn't break if other people try to edit the code on their own computers
(or if you yourself try to edit it on another computer)
would that be so they can edit the gamepath easily to suit their own computer?
yes, but also so that if they edit it (or delete it so it uses the default ones) it doesn't show up in your code
i think so but i also think spacecore solves it
spacecore unfortunately never fixed it for me, i had to make one map off limits for npcs so they dont get confused by looping
damn
Mod that adds raw and baked version of tbh cookie
time to make one
I thank you for your service
is there a way to make VS ignore this?
because i have manifest's just not in the main directory... and it wont let me build because of that
I hate 16px
put your manifest in the root
you also don't have to segment the C# source files in their own directory; ModBuildConfig will separate and bundle the content pack automatically
if you need an example: https://github.com/zombifier/My_Stardew_Mods/tree/master/RageBait
iM THINking rn caps sorry
maybe I add other flavours
strawverry hcoloccalte
both raw and baked
just sprinkles as separate food
ill finally add some recipes
New quote added by kattia369 as #7851 (https://discordapp.com/channels/137344473976799233/156109690059751424/1491155337523499089)
you have such great spelling my dear!
Where can I find the names and item ids of animals?
As for animals, I am unsure
Data/FarmAnimals.json
chat, how do map patches work? do i need a tbin file, and how do i work with tbin files if so?
sprinkles, burned sprinkles, chocolate chips, burned chocolate chips
and the dough with different flavor and different stages of yippe
general maps stuff: https://stardewvalleywiki.com/Modding:Maps
patch stuff
https://stardewmodding.wiki.gg/wiki/Tutorial:_Map_Patches_and_Warps
another one
https://stardewmodding.wiki.gg/wiki/Adding_Map_Patches_Using_Tiled
!unpack
Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!
ive done that
and look at Data/FarmAnimals as mentioned
do animals have item ids or is it only its produce
animals are not items but they have internal IDs
could I use that for alternate textures?
idk anything about AT
AT's -gah enter key too close
AT's documentation page has an example mod you can download that shows how to add alternate textures to animals
(as well as many other things)
okay so it's just find the map you want, place your thing, crop your area, then in the content.json you paste your map in with the area picked and sized in tiles?
i mean i assume the guide(s) cover it...
I'm obligated to say that you can alternately use the built in skin system to add new appearances to animals
skins work with AT tools too
;-; just wanted a yes or no if im understanding right
I already made a content patch version
(also AT seems to have a bug with swimming animals, at least ducks. they walk on water like j- yoba)
I just want to do the rabbit
i didnt read the guide thats your job 
skins != texture replacement
here’s an example of skins https://www.nexusmods.com/stardewvalley/mods/42997
(i coded it and can answer questions)
elle's mods also use the skin system if you need examples that apply to vanilla animals
cannot get portraits or dialogue to load for shops, is there something i'm missing besides in the shop json
https://smapi.io/json/content-patcher/36c9a0eb802444548be3d43d8cdfdea6 like the shop opens and works, just no dialogue or portraits
your screen resolution is big enough?
???
or, well, the window sdv is in
what does this mean
yes, like dolphins pinned message there
works fine for other shops
Yeah so you can’t have 3 npcWarps in one area?
and smapi aint saying anything?
smapi is quiet
odd
that's why i asked if there's something outside of the shops.json i was meant to do
it looks almost the same as what i have for fishmonger
closed message also doesn't work, and the tiledata doesn't like care whether neith is there or not
not sure...the main diff between yours and mine is that i directly use the npc instead of loading an extra portrait and that i have an opening/closing time but otherwise its p much the same
wait
waiting
you do
"Id": "Wizadroid.TGW_Neith"
but name should be either the internal id of the npc, AnyOrNone , Any or None
is that the internal id of neith?
notices I forgot to update the version in the manifest >:|

hm, that might be it then...since it counts as it no owner then and the wiki says
If omitted, the shop is opened regardless of whether an NPC is present, and no portrait or dialogue is shown.
oh, thats really it
yup
yippie, fixed
(tho is should be closed right now so that's the next thing to look at)
wait i wonder if
i might have that mod installed that shops are always open
that could definitely disrupt testing 😭
well, i mean, unless you got something in your map, i see no time in your shop json
if you just got self serve its limited to vanilla shops anyway
i know theres one that includes custom shops i keep forgetting the name but i always wanted to dl that one lol
okay so the self serve mod was why it was loading when it shouldn't
but still no close message, my patience is running thin with this shop 😭
Im using Self-Checkout and 'Shops Open Longer for Self Serve mods' in a combo. works great (though wouldnt use them when testing shops
)
ngl i never got mine to work either...
for Mr feesh i got it to work tho
i think it was setting the shop time in the map to 24 hours and limit the time in the shop json?
hm yeah i think thats what it was...in the map i had it as 600 2600 and then directly in the owner part i set the actual opening time in the json
not sure why i didnt get it to work for constance
what is the latest version of smapi
now I just need to set Neith's schedule to actually stay there instead of wandering off into the void 😭
4.5.2
the seasonal island tilesheet aint actually used ingame, are they? (or are there any known mods that use those sheets) 
https://www.nexusmods.com/stardewvalley/mods/43626 this might have reskins for those sheets
owa
hm, i do be wondering how that one would look with my retex when i get to thze GI sheets
hm, this aint right
hm, i see some issues with foliage too, well, thats not part of my mod so i cant do much, tbh constances ship having something growing on it looks funny
maybe a layering thing?
theres a ton of recolor issues with vpr and maybe even simple foliage tho, hm
if you wanted, you could pop the top of the ship on a higher layer, I mean
yeah i could, im not really that bothered tbh since it still looks kinda "on purpose"
but uh
Might prevent some future similar incompatibilities anyway
oh wait i havent updated yet gimme a sec
That looks like Simple Foliage is getting in on the compatibility web
hm nope still happening even after the update, odd
Hi! I'm the author of crystal island. I will take a look at Simple Foliage's code and see how to deal with this issue
they probably have a very late priority set
im wondering if theres also some vpr issues cuz theres mismatched tiles 
im not familiar with VPR, I'll take a look as well!
The last update asks for deleting the old files instead of replacing, in case you haven't done that already
Hm no that's on my part actually
just checked the code and a few items are asking for the wrong path if the compatibility patch is enabled, should be fixed with the next update!
crystal island should not edit the beaches' assets. could you send me a screenshot of what seems to be the problem?
it might just be conicidence but my edit worked before enabling it, hm
is the edit applying and just not visually showing up, or it's not applying at all?
wait a dang minute, i just disabled crystal island and its still happening, wut
lmao
ayo wth is going on
you can type patch summary + your mod id (like patch summary BackedPotatoes.CrystalIsland) and see if the edit is applying and not showing up or if it's not applying at all
...its not applying anymore cuz conditions arent met, huh
earlier today it worked
i didnt do anything to the code today besides add waterfalls
what conditions does the edit have?
HUH, ok uh guess i messed up with setting a false dependency....
ok back to uh
what was i doing
btw
are there any issues with doing priority late? i kinda want my mod to load after other recolors so it goes on top since i wont do literally everything on the sheet
added compatibility with simple foliage 🐦⬛
i'll see VPR now
i don't think so. just don't go as far as late can go bc other recolors might want to edit something on top of yours
i enabled crystal island again
my beach stops working

its just the beach that doesnt wanna
skoopy valley ft legend of zelda currency cameo
what assets are you editing? you're editing the town's beach?
it helps if you send here your patch summary as smapi log 
or a screenshot of your code, im not picky, i just need a little more to work with
i found the issue....looks like i cant edit any island sheets with your mod on? heres the code(not sure if its the best way to do it but yeah. i commented out the island code and patch reloaded and its back
why my beach only tho...
oh i dropped the link oops https://smapi.io/json/content-patcher/3efc244f01a34bfc9ee441d82aadf9df
ignore i did the when thing to false for island, tho that mightve been the issue who knows
i'm taking a look, one moment
did the patch summary just in case anyway too https://smapi.io/log/6558252a802948aabcde2177af3f9d60
Log Info: SMAPI 4.5.1 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 58 C# mods and 24 content packs.
Suggested fixes: One or more mods are out of date, consider updating them, SMAPI is out of date, consider updating it
a few of your patches lack "Update": "OnLocationChange"
could you try applying them and see if it fixes it?
I spot a Rupee 👀😂
I added earthy's recolor to my game to see if there's any problems to the beach recolor, but it seems fine. do you want to send me your mod for me to test it? it's alright if you rather not
sorry im not sure what a rupee is 
Name of the currency :D
It's like a ruby, but since they all have different colors it would be too much work (and too boring) to just say "gems" or stuff like that XD
yippie it works now
yeay! 
now i can ignore the island for now teehee, until i get to know how to do compat for other tilesheets lol
Rupees are a real life currency, they're used in India
OMG rightttt i forgor 😅😔
spring_island_tilesheet_1 (or of any other season) are not used, to my knowledge. or at least i haven't figured out where they are used
i edited them in my mod's files in case other other mods use it, like witchy grass recolor
or at least theyre not used on the island
which i dont understand
huh interesting...ive always been wondering if any other mods use em since i think the game doesnt but if they are unused i might get rid of it and then just focus on the generic island tilesheet once i get to it
I wish there's expansion that add permanent-some-other-season-not-summer
permafrost
game's got 2 extra location context and both r summer only lol
You could call them facets or sapphires
Sapphires are the colloquial name for corundum, which comes in a ton of colors
someone add the antarctica
perma winter island with penguins n seals...
imagine a c# mod that takes away your health over time when youre cold and you need like a warming device to keep wark or something
doesn't weather wonders have hail damage
I did have a concept for a permanent-winter mountain location but I haven't done anything with it
yeah but thats a wholeass weather mod that needs to be installed then
Some of the Persona games have that iirc
The Everwinter Peaks
fair
i might be too damaged in my noggin from genshins dragonspine and BOTWs snowy mountains...
Oop, gem enthusiast mode activated 😂🤭😆
Not Dragonspine, that thing was literal hell 😭😔🤚🏼
flowers grow all year like crops do in the island
permanent fall halloween town
Permanent Green Rain 🫠
oh thats hell
that would be cool
lmaooo
idk can you add a mechanic that lets you shear moss cows for moss
Yeah that's just a weird shaped sheep
Rghh gotta ask my question while people are alive here

Eac means u can get both moss and moss juice from moss cows
Depends on what the book do
Like an interactive book that warps the player into the book
Making it just readable is simple
can you just go "can be sh-sho-..404ing on the englisch languge
Hm warp in is ez but warp out is annoying
<- i have too many ideas and some of them are absolutely ridiculous to try and put into the sdv universe
I would assume warp out just be the farm warp totem place
Still it's essentially a spacecore warp totem
This also sucks for custom farm reasons lol
Sigh
could make a book for warping in and another item as a bookmark to warp back to farm or something?
Warps are evil ig
shrug
Maybe i can just put up a stop inside the book realm that gives the player free farm warp totems
That way they can just grab one and warp home
also a good idea
Wait a moment, you're German and I only figure that out now 😔👀 awesome 👌🏼
yes, i am germ
🦠
have you ever heard of my most favorite german word- gets dragged out
Why the hell is that emoji called microbe and has NO OTHER ALIASES
like, emoji makers being unsupportive smhh
chu knows my fave word
:^)
Super weird too, perhaps?
you get one guess
German has so much long word
Does it have meat somewhere
yes
Ughhhhh
Top 10 German meat works
Rindfleischverpackungsettiketierungsgesetz
Words
or something
close
damn it
close as in if you jsut had it written how its actually named
Is German the type of language that you can just put more words together to make a compound word
but yes its Rindfleischetikettierungsüberwachungsaufgabenübertragungsgesetz
(Please stay both English and on topic.)
Ok. Tea mods. Tea and crumpets mods
sorry, i needed this moment of sanity
Well ill probably test my book thing maybe today maybe never
world in a book does sound cool tho, js
Hello! I'm trying to add a recipe that allows for any item of a certain context tag using SpaceCore, which I've done before and so I'm reusing that code, however I'm struggling to wrap my head around how to implement other ingredients on top of the custom tag ingredient. It's probably simple but I haven't done it yet so help would be greatly appreciated 
Here's the code I've already got and works for the intended purpose. I'm looking to add Wheat Flour as an ingredient on top of this (which I know is ID 246)
"ProductQualifiedId": "(O)PBB_LumioseGalette",
"ProductAmount": 1,
"Ingredients": [
{
"Type": "ContextTag",
"Value": "sweet_berry",
"Amount": 12,
"OverrideText": "Any Sweet Berry",
"OverrideTexturePath": "TntDove.PBB/Objects",
"OverrideTextureRect": {
"X": 96,
"Y": 96,
"Width": 16,
"Height": 16
},
}
]
},```
for me is less the lack of drive and more the lack of energy, but mood
Idea is fun until i have to actually put in the work
never done stuff like this before so i sadly cant help
(just stating so it doesnt look like youre overlooked or anything)
Lumiose Galette spotted 👀 You're making an XY mod by any chance?
-# i don't know what that works either, just wanted to point out what i noticed 😔😅
Actually, just updating my pokemon berries mod with more recipes
I may be getting a tad carried away just adding foods from pokemon but hey I'm having fun lol
Poffin
Unfortunately, Poffins just aren't really.. visually interesting? then again I don't think this is the first time Poffins have been brought up so maybe I should just add them lmao
I just don't want to end up adding a million different recipes to the stardrop saloon 
Maybe you could make the book a PIF room?
Are there any other mods that use SpaceCore's context tags for cooking like this that I could look at for reference?
type item, value 246
Cornucopia does on some settings
cornucopia has examples in flexible recipes
or just 6480's standalone flexible recipe mod
you just add another entry to the Ingredient list basically
Alright, thank you!
-# okay i really should have been able to figure that out myself 
For having a warp specifically... maybe having the player place the book and then interacting with it warps them? Then they warp back to wherever the book was placed? Might be easier to find x placed object than trying to figure out what the players last tile location was
I already figured it out
Oh awesome, nvm then lol!
I'm realizing I should probably have the Mod Author role here but I guess I'll wait until I've updated this mod lol
You need to be level 25 in the server (Farmer rank) to get the mod author role.
Oh, really? Alright then I wont worry about it lmao
Are there any mods that add new monster classes that I can look at for reference? I currently have the following
But don't know where to go from there.
what are you struggling with?
is Shooter inheriting from the Monster class?
ig you could spawn it ingame somehow (maybe bind it to a key for now) and see what works?
shooter is the "shadow sniper" class, yeah
Do u need to fiddle with these numbers or do u just need them to look different
Even fiddling with these numbers is probably doable post construct tbh
yep, if the goal is possible with field changes, you can just edit them after creating a normal Shooter instance
if you actually need/want to subclass something, there's a big hurdle in that it'll crash the save process, unless you a) register it with spacecore, b) only ever spawn it with FTM, or c) manually remove every instance before the game saves
edit: or d) use the auto-delete flag in one of the alphas https://stardewvalleywiki.com/Modding:Migrate_to_Stardew_Valley_1.6.16#Ephemeral_characters
(in general try not to subclass any nettype stuff unless you really gotta)
yeah, pretty much any in-game entity won't save if it's not of a known class
also you can do a lot with Harmony if you check for a modData flag or some such
Besides exploding save u may also explode people with mismatched mod version
These are good things to know. (I am probably somewhat responsible for giving Nullnnow bad info earlier related to this because I am always forgetting about how nettype stuff works - listen to these recent comments)
Got it. So much for that plan (at least for now) 😅
My plan was to have the MyShooter class eventually do more than what could be accomplished by just changing field values (i.e., custom behavior). I was just starting with changing field values to see how to modify monster data.
With that in mind, later this week I'll look into just changing the field values of a monster instance (it won't do exactly what I want, but it'd be a start)
chu out of curiosity which did you do for big spooder? remove every instance?
https://smapi.io/log/4f8e221354e44e7b9276c7afc576e32b
https://smapi.io/json/none/eaf256de49b8427586e9b8995105f280
Trying to throw together some aquarium fish, and I'm just playing around with vanilla assets and minimal effort right now just to try to understand how this works. What I have will load just fine, and I can put the first item into a fish tank just without issue; it shows up just fine, and I've verified that by using different sprites in the first index slot. However, it ONLY recognizes the first index of my image, even though thre are five images (each 24x24, total size 120x24) in a row. I'm pretty stumped at this moment; could someone help troubleshoot why nothing is showing in the log, and why my five "fish" all use the first index?
Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 7 C# mods and 2 content packs.
I didn't make that mod, but FTM categorically removes any monsters it spawns overnight (or during quick-save/etc) then respawns them afterward, so the game's serializer just never sees them at all
(oh, I misread "chu")
haha yeah chu made it for me but my grasp on reading C# is shaky
https://github.com/Mushymato/BigSpooder/tree/main/BigSpooder if you're curious
just dug it up to check 
it seems like it's just manual spawn/despawn commands at a glance, though? not sure if it's safe to save while one is out
UH OH
thoughts on the texturing y'all does it read adobe/stucco
oh nvm, it's got a SMAPI OnSaving event to remove it
SpooderManager
i've already warned my one (1) android player that i know of that this entire thing may not, and in fact probably will not, work on android
it's spacecore dungeons so
Why manage Spooder
let spooder be free
New quote added by head_in_the_cl0uds as #7855 (https://discordapp.com/channels/137344473976799233/156109690059751424/1491225464713379982)
so it doesn't eat the xml generator, or reproduce apparently
If you decide to go with it later, I do have a custom monster mod here for reference:
https://github.com/Esca-MMC/PollenSprites
It's a little overdesigned in some ways since it started in SDV 1.4 or so & things have changed, but the basics are there, and it can be spawned in FTM packs with its type name ("PollenSprites.PollenSprite" iirc). I tried to heavily comment everything at the time. It's derived from "Ghost" with methods changed where needed.
Incidentally, aside from the save process itself, you need need keep the default (0 argument) constructor as-is if you make a subclass. The net code uses that to sync them across clients in an odd way, so not having it (or using it yourself instead another constructor) causes weird errors.
Right, so I had some computer problems, but I'm ready to start again. I forgot, though, where do I save my manifest and stuff again? I just want to make sure before I go too far deep. If I'm remembering it right, I make a new folder in the Stardew Mods folder?
And if it's right, it should show up on the black screen as running right?
or am I missing something?
yep, the general structure is Mods/Your Mod Name/manifest.json, content.json, etc
usually with an assets sub-folder to put sprites or data in, but that depends on how you write the content
and yes, any loaded mods should appear in the SMAPI console as it boots the game up
Right, thank you. I appreciate the help
Content Patcher mods usually start the folder name with [CP], though it's not required
is it possible to remove the prize ticket from being a reward for a special order
If it's a "normal" order that needs to appear on the special order board, I'm not sure about the best way to do that. If it's a custom board or just an SO you give out in an event/trigger/etc, setting the order type to anything other than a blank "" should prevent the ticket counter going up, it seems like.
with c# anything is possible
(Yes)
It's just a stat
Just decrement the stat
I feel like the timing would be difficult in CP alone, but yeah
if (this.orderType.Value == "" && !this.questKey.Value.Contains("QiChallenge") && !this.questKey.Value.Contains("DesertFestival"))
{
Game1.player.stats.Increment("specialOrderPrizeTickets");```
hmm yeah I'm looking at the right code now and I'm not sure we need C# after all
(idk when the game dispenses the tickets, not having played)
"IncrementStat specialOrderPrizeTickets -1"
i dont know what decrement the stat means but i can
i was about to say im gonna figure it out 
thanks atra :3
increase = increment, decrease = decrement 
but yeah, negatives work in those stat trigger actions (and stats won't go below 0, they just get removed from the list)
wait do i decrement stat with a traction
I've added a set of foods that all use the same buff icon, but for some reason they use the buff icon for the first buff icon I implemented for a different food? Even though I've changed them to use a different texture in the BuffIcons.png
or in the special order
if special orders can lower stats, then that's fine too
hmm I think the only reliable way to do this is waiting for 1.6.16's ActionsOnReward field
Traction
I did it on location changed btw
Basically assumed you would likely switch maps anyways
hmmmm
i think maybe ill just put it behind a second year condition for this specifically as it makes the most sense
youre not gonna get to a heart level high enough with tilly by spring 8 for the event to make sense with her personality
i think i need to decrement stat for the construction order though
Won't the special order board itself still show that it grants a ticket, though. Wouldn't players be confused when they then did not actually get a ticket
You can get special orders in other ways
(In my case I'm just temporarily hiding the tickets until special orders unlock naturally)
This is what I had originally, cut down to the important parts. This works properly, pulling the first texture in the file.
"Buffs": [
{
"Duration": 10,
"IsDebuff": true,
"IconTexture": "{{InternalAssetKey: assets/bufficons.png}}",
"IconSpriteTexture": 0,
"CustomAttributes": {
"Speed": -250```
But this for some reason pulls the same buff icon as the one above.
``` "PBB_LavaCookie": {
{
"BuffId": 28,
"Duration": 100,
"IconTexture": "{{InternalAssetKey: assets/bufficons.png}}",
"IconSpriteTexture": 1,```
the board doesn't show the ticket reward; the ticket collection box does count the stat
or at least I think the board doesnt show? i need to play again
IconSpriteTexture isn't the right field name; it should probably be IconSpriteIndex
https://stardewvalleywiki.com/Modding:Buffs
Ahh, thank you! I had a feeling that was gonna be the case
God I love a simple "Replace All" in Notepad++
idk myself either, but this is how the wiki describes it
On the top left of the Help Wanted board is a counter consisting of three stars. A star is obtained each time the player completes a quest. Once three stars are reached, the player will receive a Prize Ticket.png Prize Ticket reward and the counter will reset.
but yeah, orders that aren't actually on the board can either use another OrderType (EMP's custom boards do this too) or offset the stat before anyone notices
Special orders not normal quests always give one
On another note, Is there a way I can make an item be very rarely hoe'd up from the ground like Cave Carrots are in the mines? Or is that like a special loot table specifically for the dirt in the mines?
Cuz I was also thinking of it like clay, but looking through the files I see "ChanceForClay" as its own unique value for each location which I imagine means I can't implement it like that
you'd need C# I think; artifact spot drops are exposed in data but not the "base" drop from just hoeing regular dirt
yeahhh I had a feeling. Alright, I think I can settle for just artifact spots (which I think I got figured out already, still need to test though)
i like the shape and style! imo the texture could be changed a bit, it's got quite a bit of low-contrast noise going on with the weathered patterning which you don't see much of in SDV, which usually seems to use lighting difference for texture rather than colour difference. typically SDV would probably also dither the surface here and there for texture, but i didn't want to overdo it since it's a mostly flat surface and dithering is more often used for curves.
also dropped in some simple shadows for depth, and removed the inner edges at the top corners. you may like it, or you may not
it was easier to redraw it than to explain it hahah
i remeber lumina (?) made some spanish revival style buildings a while ago that stucc in my mind as good examples of this sort of wall, mine probably looks real crusty by comparison. maybe i just watch too many spaghetti westerns
but yea long and short is that the brickwork is covered by the stucco so it's good to just have bits of it showing thru rather than the whole pattern
the palette is the same except for the tone used for the brickwork lines
Oh hey blueberry, question for you
Did the info stuff you put in your mod menu require c# or is that something you can do via config file?
in your cooking mod
i have some bad news for you
https://github.com/b-b-blueberry/CooksAssistant/blob/master/LoveOfCooking/Interface/ModConfigMenu.cs
you just solved my adobe/stucco dilemma in one image i've been fighting with this for all my buildings
oh yeah here's the juicy stucco style i was after
#mod-showcase message
mine's very simplistic in comparison, but it's just a quick mock
well its definitely nice to have references i couldn't find any on my own 😭
guess my first attempt was my best attempt
pie aroma wafting out the window..
happens to be eating pie right now i did not steal that one, I promise
honestly the first ones look really good too, just needs some cleaning up the soft blobby colours here and there, add a little polish, wham bam
that sounds like a fun lil idea i could spend too much time on
@ornate locust hi there, I'm testing the compat for Spouses Move House and Star Crossed. When Emily moves in with Leah I have a map patch that covers her parrot because I move it into their bedroom in Leah's house but I noticed that it's left there when I have them turned off with SMH installed.
I wanted to ask if you'd be alright with me leaving that specific patch on. It just covers the floor, perch, and parrot with the floor and wall tile in her room.
Oops I didn't see you had just written here while I was writing that!
I cant tell if my code isn't working properly or if setting the chance to 98.0 for testing purposes just isn't enough to guarantee the item to appear in an artifact spot 
Maybe I'll be better off making this a forageable found just on the ground like seasonal forages
I don't mind @! But I'm surprised my patch isn't making it go away since it should replace the whole room tbh... strange.
It's hardcoded in, as I found out 😵💫
Oh no
I did a wonky workaround by making them alwaysfront tiles
Wait a minute.. Looking at Cornucopia's code, it has "ForageableIsTillSpot" as a field, that might just be what I want to do.. although there doesn't seem to be factors limiting it by season or location?
It's kinda funny because you can still click and hear the bird squawk but you can't notice when you're just looking haha
Yeah that should be fine then
It looks like I put the boxes on either side of it so it won't get in the way of that
a new level of winter tilesheet problems. the sky background has a visible seam in winter that i've not noticed in other seasons. ignore the pink trees
Okay sounds good!
wait where are those trees from?
I'm so happy that someone besides me encounter this
The sky irl has that too
huh
that isn't tiling right at all
That's definitely the left part of the mountain on the right behind the cliff there
that field is a SpaceCore feature specifically, which apparently spawns forage inside an artifact spot
https://github.com/spacechase0/StardewValleyMods/tree/develop/framework/SpaceCore#readme
FTM also offers that, fwiw, but neither will make them appear when just tilling random ground (as far as I know, anyway)
I'm not really familiar with spacecore's spawnable system, but you'd probably have to setup forage spawns with its system rather than let the base game's Data/Locations system do it
Ohhh okay. If I'm remembering it correctly, it might be an extra item on top of the usual item then?
yeah, anything defined with those would be extra forage in addition to the default spawns
the reason you'd use FTM/SC instead of vanilla is if you don't want to compete with vanilla items in vanilla artifact spots
since they spawn new artifact spots on the world
Alright, yeah that sounds like a good compromise for what I'm looking for then!
@urban patrol Hey nic, where are your patches for editing the worldmap?
nvm
found the json
silly
That's the best way to find stuff, ask and then you just happen to find it
There's just so much extra stuff seemingly related to configs in the Cornucopia Forage file that it was kinda overwhelming me 
Wait SpaceCore adds Health and Stamina regen buffs 
tried to take what you said without y'know copying 1-1
I probably still need to clean it up more but it definitely looks more stardew-esque than my previous attempt
I got the Forageables working 
I think with that I've finished implementing this whole batch of items I was working on today
The best part about figuring out how to do new things is absolutely being able to do them WAY significantly faster next time you want to. Can't wait to copy paste this same code next time I want to add a forageable 
also applies to art
definitely yoinkin blueberry's technique and applying it to my buildings and the texturing was 100% taking me the longest time
chat does anyone know of a tmx map file that's like, a bunch of nice shapes of grass? like, smthn you could copy paste from it to another map for ease of use?
omg no i just found my missing sialor mercury penant thing in the washing machine filter. my gorl has been cleaned into fine particles
mod is cancelled
Kinda like my Potion Craft Herbs and Minerals mod 
don't copy paste between maps
it can cause duplicate tilesheets
you can set up terrain brushes if you want to automate drawing grass edges
what if i switch the tilesheet out to be the one im using? 🤔 like with the forest map
if the tileset you're copying from doesn't exist in the current map (and that includes the same tilesheet but different tileset) then it'll duplicate
It's literally almost 10PM and I finished what I started today why do I want to try and do more 😭
how would i enable harmony in my project?
terrain sets my beloved (except that the vanilla tilesheets don't have all the pieces for all of the transitions so it's a bit jank)
i've never actually set one up myself because i can just draw the map faster lol
hmm i think ill have tilly give away some lny food during the first day of LNY and have it configurable for immersion
not so realistic for stardew but it's fun and i want it
Yes!
Tilly's not sleeping and idk why 2200 {{ModId}}.Tilly_TillyHouse 3 4 3 {{Lowercase: {{ModId}}_Tilly_sleep}} she's cranky when she doesnt sleep well
what does your patch to Data/animationDescriptions look like?
ah yes, the key there needs to be lowercase
smh missing a single character like that couldn't be me i don't make mistakes like that 😤
also, if that's her home location, you could try 2200 bed for the "go to sleep" schedule point (make sure you have the lowercase animation key sorted out)
if that's where she wakes up, it most likely is
what happens if i do anyway and it then just doesnt take me to a tileset when i rightclick on it? 🤔
yay bed worked thanks ichor
i mean there is a tileset with the same name alr here but its not like... connected clearly bc it doesnt take me to it, but like
does this look right?

is that a no?
it works fine
looks more or less right, modulo i'm not familiar with the function you're patching
make sure you call Harmony.PatchAll in your mod entry or similar, and make sure you put <EnableHarmony>true</EnableHarmony> in your .csproj (in a PropertyGroup)
i was told its the one that stops npcs from being able to access the community center before its complete
so what this is supposed to do is bypass that only for my custom npc
yea i thought so, when i tested it in game i was getting the infinite loop error again
- postfixes cannot return
bool, onlyvoid, bool is reserved for a prefix that skips further execution - your
__resultparam should be typeboolto match the method you're patching - if you want to change the result of the method, you should set the value of
__resultinstead of the return value
https://harmony.pardeike.net/articles/patching-postfix.html#reading-or-changing-the-result
so change the bools to void's?
(That's a pass-through postfix so technically it's fine but)
Your logic is wrong tbh
im not surprised its wrong lol, i have no clue what im doing
public static void Postfix(NPC __instance, string locationName, ref bool __result)
{
if (locationName is "CommunityCenter" && __instance.Name is "yumyoboi.MeguminNPC_Megumin")
__result = true;
}
should be fine
I'm pretty sure you should also be checking which location rhe game is checking
Hellooo people. I have a question: Have any of you any experience doing stuff with the negative hearts mod? I wanna add dialogue and stuff with it, but I'm not too sure how
huh i haven't looked at passthrough postfixes before. wonder if i'm missing out
what do they do?
It's just slight different syntax for the same thing
for this "make sure you call Harmony.PatchAll in your mod entry or similar"
does this mean i have to name the file that?
because i tried this and it didnt work...
no, it just means you have given the function attributes to tell harmony what to patch with it. but at some point when your mod runs you have to tell harmony "patch all the functions i have told you about"
some time in your mod's Entry method is a standard place to do so
like this?
something like that. give it a try
i dont think the patch worked, im still getting the infinite schedule loop error
I figured it was c# (which is fine. I just don't want to add c# to dwaren expansion, I intentionally keep that mod to CP only as a test of how far CP alone can go :P)
Lots of pain trying to do the things I wanted to do, but hooray for procrastination; I rewrote a chunk of my mod, cleaned up the code, renamed a lot of stuff so it's easier to manage later, and most importantly, I figured out how to properly do multiple animal skins AND make aquarium fish after lots of struggling. I am no coder, but I feel good knowing I have working templates should I hate myself enough to make more of those lol
That said, I hated making aquarium fish. I couldn't figure out how to make an indexed image with all the sprites that works, so I resorted to a bunch of loose sprites. It works, but It's a bitter victory.
Spite sheets aren't too bad, but understanding the indexing can take a minute
Well it took me well over a minute lol. Spent like 2 hours trying and failing to get something as simple as not using index 0. Everything on the modding wiki made sense, and I followed it tightly, but I fell on my habit of just using one sprite at a time. Like I said, bitter victory lol. Maybe I'll try indexes again later, but for now, loose sprites banzai 🎆
If you end up tackling it again, the important bits to remember are that it counts in book order (left to right, then top to bottom) and it counts in “units” of one sprite size (like 16x16pixels for objects)
@brave fable , should i try a thing yes or no?
𝒶𝒷𝓈𝑜𝓁𝓊𝓉𝑒𝓁𝓎
Correction: passthrough postfixes can return the same type as the method it is postfixing, as long as the postfix's first parameter is also that type
Though you wouldn't use __result for a passthrough
If you really struggling with indexing, you can use Tiled to import your sprite sheet as a tsx and it can show all the indexes for you
That's not an official way but it helps a lot
#making-mods-general message
It's also great with EditImage shenanigans to get coords easier
if you have photoshop you can also use 'divide slice' > 16 wide x 16 high to find your tilesheet indexes
Maybe there's aseprite alternative for this exact feature but I haven't seen any tool that would properly mark indexes
also works for photopea.com
note of course this starts indexes at 1, so you'd have to subtract 1 for SDV indexes, which start from 0
At some point it's something one can eyeball after a while of practice, especially if you use nice resolutions that are easy to count
Actually nvm
Ghost ping
(Oh, sorry Wem for the invisible ping!)
chat what is this
Photopea Online Photo Editor lets you edit photos, apply effects, filters, add text, crop or resize pictures. Do Online Photo Editing in your browser for free!
if (true && Game1.soundBank.GetCue(cueName) is ICue cue && !cue.IsPlaying)
location.localSound(cue.Name, tile);
annoyingly localSound doesn't seem to mark cues as playing so this just spams a million sounds each frame 
yeah, a lot of sound-related features are very trial and error
that doesnt sound like it should make sense
blueberry, 25 or 30
they all just get back to the same cue.Play in the end dont they?
30 is an excellent number
question about tile animations, does it break ingame if you have too many things it runs through?
actually wait, button's probably right, it's just that you're making a new cue every time you call GetCue
/// <remarks>
/// <para>Cue instances are unique, even when sharing the same name. This allows multiple instances to simultaneously play.</para>
/// </remarks>
public Cue GetCue(string name)```
that's from the XNA decompile on pathos's repo, so I'm not sure if they're written down anywhere else 
(been a while since I looked up the FNA docs or w/e)
they show in ILSpy
yeah they do show up on hover in a mod sln
the soundbank wrapper thats from is actually from SDV itself
("that" being the function blueb was using)
😔 didnt work out
hmm nevermind, it still plays a million sounds since localsound apparently makes its own cue to play, so checking if my instance is playing is pointless
predictable problem if you think about it before writing it
guess i'm just not thinking today haha
wanted to make a tileset of grass that when placed in order looks like wind is blowing past, it works for one go by.. kinda, then it breaks completely
i think esca's point was that Every sound related function makes its own new Cue
why not just store the Cue
yeah i interpreted that as 'save the cue instance' without thinking 'am i actually using my cue instance when playing'
(more generally, I just expect some sound features to require odd workarounds or not function through the wrappers and interfaces)
i'll just find a condition that hopefully can't be called multiple times per second
meanwhile I was just stubbornly figuring out how to get VS to show that text without searching directly
how does it.. end up like this when it's so nice in editor
try using the bulk tile animator? that could be a result of timing being off or something
🤔 it seems more like the tileset ends up lagging, bc they start all on time when it loads, but then it blows up and they're all slow and out of time, but how do i bulk animator and will it work if they're all supposed to be right after eachother in line
but if they're all timed the same but the game is laggy then you may have hit the limit of what your computer can handle
no the game is fine, the tileset isnt :/
mmmm, i assume i had them holding for too long
🙂↕️ bulk animations worked, gotta now consider 🤓
:3 i think... im possibly doin too much
oh jeez 😭
you've been sent to the green dimension
not true, no wumbus in sight
he's just off-screen dw about it

into the shadow realm
Im using alternate textures any idea why the animations aren't working
this is my textures png
is that an animal crossing house?? Cute!
it turns out I was using the wrong width and height'
adding @ornate trellis to this ping, Farm_Ranching (meadowlands farm) uses a few tiles from spring_island_tilesheet_1 (and thus also the other seasons). also Farm_Island uses a lot of that sheet 
(also sorry for the late ping i was doing some Epic-Backreading™)
Seeing this green terrain is so peak, id love this as an update ngl
How can I make an active mail flag that won't be sent to the player's mailbox at all?
Thanks!
i still haven't learned modding yet, what would be the goal for doing this?
allows for the game to check certain conditions
Yup, as Magnolia said.
"Mail flags" are basically markers. Some vanilla mail flags are markers for what the player has already achieved, where the player has already been, and a lot of other stuff about the player's progression and at what point of the game they already at.
Very useful for setting conditions on when stuff should happen. Perfect for strictly chronological things.
Mod makers basically use them for the same things, but for their mod.
https://stardewmodding.wiki.gg/wiki/Comprehensive_Mail_Flag_List here's a list of vanilla mail flags to see some stuff that is being checked
And they can also create their own custom mail flags
ahh ok thanks
This list is good except for the monster eradication goals, which is outdated
ah, good catch 
Hi!
Is there a MailFlag, quest ID or CP condition that defines whether year 3 Trash Bear quest is completed?
I believe it is 777111 but I need to double check
Is that a quest ID?
event id
got it, thank you! Will check it too
in EventIds.cs in the game code 777111 is listed as the eventID for TrashBearCleanup
I'm working on a mega modded Community Center bundle content pack, and when testing I got a bunch of red errors when I tried to open the Pantry bundles menu. Does anyone know what the error means I did wrong? I don't understand it 😅 https://smapi.io/log/a1af1488a6c14d9bad51edfc0ef84def
Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 92 C# mods and 203 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
could you maybe share some of the individual .jsons?
are you loading your patch or are you editing the data?
I'm.. not sure. I'm using ChallengingCommunityCenterBundles as a framework basically. I asked someone for permission to just edit their jsons code, and it seemed to work for the Crafts Room, but messed up when I clicked the Pantry. There's a dll file in the mod package, so I'm assuming that is what's loading or editing the data that I have in the json for me.
But I really don't understand how dlls work, so I hope that's not the problem lol
hmm, I feel a bit lost about this myself, so anyone else with more knowledge might be able to help you better, I don't believe it is anything to do with the .dll. My only guess is that you could copy and paste your .json stuff into the correct .json
yay, it works! Thank you for help!
No problem, happy to see it working and also love the mod 
Supposedly, it should already be in the correct json since I just edited the values in the other person's one that works. I keep looking it over and really have no clue what I did wrong haha 🫠 Thank you for trying to help!
ah, hope someone else can guide you better than I can 🙏
whats that mod again? Earthy recolor or something else=
Vibrant Pastoral, Wildflower Grass
tytyy
How difficult is it to convert clothing to FS?
probably depends on the type of clothing, hats are probs easy and so might be shirts but anything pants area....may yoba be on your side
Last night I was playing with making fish. I have working items (easy part), I have working fish tank sprites (mildly difficult), and now I'm working on actually making the fish be catchable. Problem is, I can't seem to catch my fish. Not because it's hard, but because I keep catching other fish lol. Is there a temporary way to make my modded fish absurdly common for testing purposes? I've set it up to spawn at all times at the beach during all seasons for the sake of testing, but for the life of me I can't find my own fish lmao. No Smapi errors either; I just can't find the fish I made.
Forgot the code I currently have for the catching part, just incase that's my problem; https://smapi.io/json/none/b100566198094a14b98b49c3574719e0
targeted bait?
...I'll be honest, I forgot that was a thing
Testing that now lmao. I foresee myself being frustrated for not trying that sooner lol
now that i have all my custom food added i gotta also put it in a shop
does anyone know why my harmony patch might not be working? harmony is enabled and the patch is apparently applied in modentry. but it doesnt do what i want it to
is the function getting called, try to log something to the console.
dont you want the return to be false
i think false is the default setting if the community center isnt repaired
testing rn
returns true if location is inaccessable and should use "Default" instead.
what are you trying to do?
they want the ruined CC to be accessible for schedules for their NPCs
the code is obviously missing the check for location name
allow entry into the ruined community center for my npc only
make sure to add that too
ah
i had that before, but it didnt make a difference, so i tried without
it didn't make a difference because your bool was the wrong way around, now that you're going to fix that you need to add it back
bool was the wrong way around?
you want false yes
Let it be known that I am a fool; my fish weren't spawning not because I needed better spawn rates, but because I ONCE AGAIN forgot to enable the file in my content.json file. Fished a whole ingame day with targeted bait, but the fish didn't show up once. Accidentally tabbed to my content.json, and saw it wasn't there with the rest of my fish-related stuff. Guess what fishing-related content ended up working right away after enabling the file in content.json? 🤦♂️
well, it works now so that's good!
Yep. Got my fish working in every aspect that a vanilla fish would, so it's a victory. Just a bitter one because I KEEP MAKING THE SAME MISTAKE lol
yes, you're right, in my logger the other characters that cant access it have it set to true, so false is for access
but now even though i updated it to false, it doesnt override it to false... idk
oh wait, that might be a lie, i didnt get the infinite loop error
she moved
oh my goodness
thank you so much
What's better for adding custom items content patcher or json assets in yalls opinion
JSON Assets is obsolete/on life support updates only, use CP when possible
is there a good guide/example to add custom items to stardew with content patcher
What specific type of item do you want to add?
something easy I was aming to make an item like joja cola
this is the guide for items https://stardewvalleywiki.com/Modding:Items
Yeah it's just one data objects edit then
But you probably want to add ways to obtain it
"Format": "2.8.0",
"Changes": [
// add item
{
"Action": "EditData",
"Target": "Data/Objects",
"Entries": {
"{{ModId}}_Pufferchick": {
"Name": "{{ModId}}_Pufferchick", // best practice to match the ID, since it's sometimes used as an alternate ID (e.g. in Data/CraftingRecipes)
"Displayname": "Pufferchick",
"Description": "An example object.",
"Type": "Seeds",
"Category": -74,
"Price": 1200,
"Texture": "Mods/{{ModId}}/Objects",
"SpriteIndex": 0
}
}
},
// add gift tastes
{
"Action": "EditData",
"Target": "Data/NPCGiftTastes",
"TextOperations": [
{
"Operation": "Append",
"Target": ["Entries", "Universal_Love"],
"Value": "{{ModId}}_Pufferchick",
"Delimiter": " " // if there are already values, add a space between them and the new one
}
]
}
]
}``` what does delimiter mean?
the seperator
sorry but what does that do
does anyone know why when im trying to do a sleep animation like this, the animation works, but it isnt 32x 16 like its supposed to be? It just defaults to the normal 16x32 ignoring the settings that are supposed to change that when using spacecore. https://smapi.io/json/none/72524570280045f79cfa306c7f70ec10 heres the json file for it too
I'd like to make a mod to add mid-day save capabilities, but I feel like I'm jumping straight into the deep end, so any recommendations/help/pointers would be appreciated. I looked into QuickSave, but I noticed it uses Harmony to overwrite a bunch of the functions and is iffy when it comes to compatibility with other mods. What I'd like is a mod that lets me go to my bed mid-day and save what has happened so far in the day without continuing onto the next day.
Questions I have so far:
When storing data via JSON files, do they always get overwritten when the mod is updated?
I see that storing data via SaveData doesn't actually save the changes until they go to bed for the day. Is there a way to force the game to write changes to the save file without moving onto the next day?
Are there any downsides to storing data via GlobalData and just using a key based on the save folder name?
So far I'm thinking
"Detect when in bed" -> "Save day state"
"Load save" -> "Detect saved day state" -> "Update map and entity data to match the saved day state"
First of all don't make a midday save mod 😌
Secondly harmony doesn't mean bad compatibility, it's just a tool
The general problem with mid day save mods is that many C# mods don't consider the possibility of a save/load happening in the middle of a day and so they only cleanup in DayEnding rather than Saving/Saved events
Oof. That makes sense
Normally I support making your own take on concept but given the cursed situation here I really recommend just adding whatever you want to quick save
It's open source, send in a PR
I personally have a mod that probably breaks pretty badly with quick save but fixing it would be a monumental overhaul of the feature which explodes, so i am just leaving it atm
I was definitely planning on reviewing quick save to see what issues they had to overcome. Sounds like I might just want to fork it and make any adjustments directly to it rather than write my own.
@tender bloom okay if u were to add histogram to stardew what would u add
(it uses harmony precisely to overcome the compatibility issues with other mods)
(if you wanna do stuff without the scalpel that is harmony you're gonna need a chainsaw twice the size of a regular one)
I'm used to avoiding Harmony in Vintage Story mods since it tends to break with updates. Didn't realize SV doesn't have the same issue.
Chainsaw? Where?
often it's either harmony and just put the code in the place you want or read and write state every tick (and consequently make the mod only usable on $3000 gaming PCs)
Yes, I’m working on an animal crossing new leaf farm, farmhouse with a fair few ATs and gonna be making different color roofs with different doors, and some npc’s in their houses on the farm
it is more prone to breaking on updates yes but SMAPI is very resilient and has specific rewriters to account for function changes
If you edit the map and make all the grass animated tiles from a 35x35 tile that are animated to go through 35 different tiles, or more I assume, it’ll do this :3
For sdv in particular, it is true that vanilla game updates can break your harmony patches
But I think it's mainly transpilers that die here since base game is good about not changing method signatures that much
If u harmony patch another mod then it is wild west 
You can get access to the next version of game and preemptively see if anything explodes
(a perfectly valid assumption, since that's how the game was designed to work)
I do try to use the saved events nowadays but it's kinda annoying that i now need a saveloaded + saved instead of just a daystarted
And sometimes the timing of saved is no good
Mobile exists u know
counterpoint: ||if I put my fingers in my ears and say lalalalalala loud enough I can keep pretending mobile doesn't exist||
phones and tablets arent real
I just want a mid-day save so I can play my 600 seconds/10 minutes run and not have my game paused for 5 days on my laptop 😛
Y'know what if instead of mid day save as a mod
You just put the sdv process in ur swap
And take it back when u r play again
Disclaimer this isn't a particularly serious idea
U sure
NoU
but.... I mean...
I think it's perhaps a little more practical on one of those handheldy things
Like ayn thor
Vs ur multi purpose pc
run game in linux vm ez
(honestly if you're not modding that much Quick Save is perfectly serviceable)
The reason why i don't see myself fixing this for quick save is because i was storing stuff by ref at day started
(if any of your mod breaks that's a them problem and you'd need to fix that anyway; QS just chooses to fix it on their side instead of/in addition to sending patches to the original mod)
So serializing that would have been big pain
Putting the whole game process in somewhere else would dodge this problem cus it's still all "in memory" lol
Looks like CRIU could freeze and save the process for me, since I'm using Linux
pros cuz you named the spacecore entry npc_megumin_sleep while the animation is called megumin_sleep?
@brave fable figured it out so it's working now, gonna be a lot of effort to flesh it out though
is there any addon to tiled that lets you use a keybind to move around with the selected tile to place?
Per-day stats:
- hours per day spent fishing
- g per day? I know people like to get high score here
- mine levels added/newly traversed/lowest mine level?
- total number of forage picked up
- number of plants harvested
- number of monsters killed/total damage dealt?
Per-game stats:
- date of first friending everyone
- date of level 10 skills/mastery
- CC completion date
- perfection date (obvs not all games get here)
https://smapi.io/log/9240d08c5d5940b0b947bda3e7f02862
https://smapi.io/json/content-patcher/af135e4294004961b02170b2bd9ab936
Could anyone please help me fix what's wrong
Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 11 C# mods and 5 content packs.
to use an image you first need a Load action to load your png into an asset name (like{{ModId}}/ObjectTexture; that asset name is what you'd put in the texture field
also you want to literally use {{ModId}} in your object ID; you don't have to put the mod ID yourself (CP will do that for you)
TY
Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 11 C# mods and 5 content packs.
you didnt load
you need a third change
with Action Load
ignore the TargetWithoutPath stuff just replace with the name of the png in your folder
also what I said about {{ModId}}_ applies to the key in the Data/Objects change as well
(and use underscore, not a space; space has special meaning in several places)
what about this tho 21:39:49 WARN Content Patcher Ignored (CP) Roblox Cola > EditData Data/NPCGiftTastes: TextOperations > 1 is invalid: the Value value '{{{ModId}} BloxyCola' couldn't be parsed: '{{{ModId}}' can't be used as a token because that token could not be found.
Tysm for the help it was really usefull
that is a suspicious group of brackets
first autoformat your brackets
"Action": "EditData",
"Target": "Data/Shops",
"TargetField": [
"AdventureShop",
"Items"
],
"Entries": {
you dont need TargetField if this is a totally new shop
oh yeah theres too many
but they all close the brackets
the best part of putting a ramp to a door is that I can glue this to the door and then not worry about ANY compatibility stuff because nothing moves the entire saloon door
that code looks correct; if you want another item add another entry to Items
with the ItemId set to the id of the custom item
thats what you think...
"stop, hes already dead" 😭
the entire thing is on the building, so it has to move the entire building to be a problem
shakes fist
does anyone have the shop wiki
tyty
https://smapi.io/log/e69697fd7f1140749e8a993b2d9dab8d im getting another error if someone could help that would be really nice
https://smapi.io/json/content-patcher/e236cf7faf4c474f8423a79a203f73fb
Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 11 C# mods and 5 content packs.
your Load block is in the wrong place
it should be a separate block in Changes
your Changes list has 2 entries currently; you need a 3rd one
and remove the extraneous closing }, too
where should it be
as I said, a separate entry in Changes
Changes is a list [] containing objects {} separated by commas
Does anyone know the size of those like... event images? Something like Alex' mom, and the DnD game (altho that one seems to be a cutscene). Maybe something I need to know when implementing them?
have you not unpacked?
I wonder if there's a more useful analogy than stacks of burgers on plates
gonestly could check them myself but wanted to ask to be sure about cropping and all that
i am gonna fight the door of the community center
those are in LooseSprites/cursors and they have unique sizes
sorry but wdym
but... >:|
(this might be easier if you go through Button's JSON tutorial: https://stardew.button.gay/tutorials/json)
1 patch with ramp for those using recolors & psychos who dont mind off center, 2nd patch with ramp that recenters door itself too 
uhhh what would be a good way to layout the shop items
this one's closer...
would you remove the bit on the ramp under the left railing? for moi? 
I think I have a plan to cover it
uhhhh does it make sense for a bakery to sell pancakes
the bakery near my place sells jams, cookies, loose teas, candies and chocolates
and scented candles
you're fine 😂
oh okay
wdym
basically smth like:
cakes first
then muffin
then maple bar
then pies, cupcakes, etc etc
oh like in the actual shop menu
uhh id do small to large items
custom items before vanilla items in categories
so like
speedy muffin
poppyseed muffin
donuts
maple bar
speedy cake
pink cake
chocolate cake
oh then cupcakes
muffin
maple bar
pie
cake
yes
Midnight wouldn't some of these slopes be hella steep
if the ramp is longer, it would potentially break events
Perspective is already quite jank in these buildings
so we're just gonna pretend the ramp is at a Stardew ADA-approved incline and those flowerbeds aren't half as tall as an entire human
I was thinking how irl sometimes there's ramp in a staircase
So that wheels can get up there assisted
well that's definitely not happening at Gus's, it's way too narrow
I think if someone assists George, they can walk behind him
its best not to look too closely at stardew dimensions, ive found 
yeah boy, sizes and perspective are something
we've got (unmodded) blueberries half the size of melons so this ramp is par for the course and well within specs 
oh wtf
gotta doublecheck the ids between object and shop data match
this isnt changing the schedule, ive never worked with queries and was using DSV (since the schedule has to apply with their conditions)
i havent gotten any errors
And you definitely slept after changing the schedule code?
oh pf no
(that screenshot is so hard to read)
i should be better at that
bc there's so much going on or? /gen
cut off from the rest of the entry
!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.
Just put it here we'll find it 
just did and its not in there
Yeah so something in the terrible query is not ready
thinks
Or your target wrong?
Anyways you can test the individual query tokens stuff
(written by dsv)
patch parse "string with {{tokens}}"
Do this on each of the tokens to find their value
is there a way i can make it so that an item can only appear in the shop on a specific day
aint no one walking up stairs TWICE
hmm i mean the only one that applies here is the first one
how may dang STAIRS-
It is so painful seeing one (1) missing comma create like 20 lines of error in the log 🥲
Weird, maybe we gotta check patch summary tillymod
Do that and send log, im on phone rn but I'll look when home
at this point, it might be easier to just target all the stair tiles in the tilesheets. 😛
I believe you can set a condition, like "Condition": "DAY_OF_WEEK Monday",
For the furnace, that's fine, he's not gonna hang out there anyway
Maybe instead of stairs george should just be given power armor
ooooh
im gonna need to remember his schedule first
rocket boosters on the wheelchair fix all things
[[Modding:Game state queries]] for more details on what conditions you can use
darn didnt work
Could also make room for a funny rocket-booster wheelchair event with Maru and George. 😛
Unfortunately idk if patching stairs tiles would work cus those ramps are more than the tike right
george is never getting into my buildings huh
oh my god im fucking stupid
Hence need for editmap
im in the wrong json
And yeah there's added railing tiles
im in the alternate location
oof
And that'd be crap for recolor compatibility
Well, in a thin enough hallway, just the stairs becoming ramp (without rails) would be enough
Custom tiles are gonna be equally a problem for recolor compat, so
that's moot
midnight have u considered areas with wide stair, making half of it stair and half of it ramp like you see sometimes irl? 🤔
not really solving any of my problems there :V
so uhhh
how do you make custom NPCs sit on benches witha custom animation
do you make their schedule on the specific lower bench tile
yayyyyyy
oh, yeah no thats not fixing any problems, i was just curious as to if it had ever crossed your mind
im going to assume tilly has been turned into an orange gradient square
yes she has
huh
her arms are noticeably shorter...
if you look at Data/animationDescriptions, you'll see that most of the characters that sit have a custom schedule animation set. 🙂
?? i havent changed her sprites
i think he meant shorter than the other npcs
I hypothetically know these exist, but I have never actually encountered one, it's always more like buildings retrofitted to have ramps or buildings with separate ramp and stairs, so I don't feel that confident making it look good. I am also generally concerned about the perspective? Making the ramp look steeper and such. When I do a full map patch, I can make the ramp longer than the stairs were, but it's not as feasible in some spots like building doors where I need it to end at the same spot or else risk messing u pevents
no i mean
compared to other NPCs her arms dont go down to her hips
not hips but like
below the hips? not sure
technically they do
hm yeah, that's true. the perspective is an issue
xd
her legs look super long bc shes got heels on
ohhhh thats fair
anyway I have a better solution for here because I can't make sense of why there is that much stair up in the first place, bam
another one of my nails fell off :/
mod where you can give yourself nine inch nails but also be unable to do anything at all
i have a custom schedule animation myself, yes
what i mean is where i should place the tile he's sitting on
bleh i should uh. do something
yeah you would put 43 77
great ty
though im pretty sure the bachelorettes sometimes sit there
oh! theres another bench at the fountain
that works
and some custom npcs (i think)
ough damnit i have to fix my map patches
rip
Speedy, important caveat
See the arm of the bench there? Snow appears on that arm in winter
it will show up over your NPC if they are set to sit there in the winter.
Also if you have them sit on a forward facing bench, the top of the bench will do the same
If it's one that has the top on the front layer
That one might be fine, just always check the layer
Yeah you gotta make sure to place your NPC when they sit so that nothing goes on top of them
it's a real pain
thanks for the tip tho
Better to know going in than to find out how I did LOL
The snow on the arm is a problem on the side bench mainly and I didn't notice it until I was walking by my NPC in winter sitting on the bench, it's so annoying
Also for your line of dialogue in your schedule, you would need schedule strings for him to say something. You would put \"Strings\\schedules\\Manny:MannyRead\" in the actual schedule. Then you would need to do editdata string/schedule/yournpc and than Entries: { "Mannyread": "your dialogue"}
oh i figured you could just include it in the animationdescriptions
