#making-mods-general
1 messages · Page 298 of 1
technically not a vanilla bug since no item in vanilla is colored that
should I report it though, the number of people so far who use Cornucopia Mint to dye their stuff green at Emily is probably 0
Extra Dye Config
I'm glad i can just respond to anything selph says with Extra Thing Config instead of being actually clever 
@ivory plume very minor bug but color_sea_green is not in the list of valid colors for green in DyeMenu.validPotColors
Oh! I figured it out... I locked every layer on accident it seems. Does anyone know what command does this? And is there a way to mass unlock layers as well?
I'll fix that in the upcoming 1.6.16. Thanks for reporting it!
No wonder I keep getting bug reports from people trying to use mint to dye their clothes green at emily's
@ivory plume I'm not sure where this falls exactly (nvorbis, smapi, monogame, secret fourth thing) but a very short .ogg file (e.g. a sound effect) played with StreamedVorbis set to true can unrecoverably freeze the game
The low-level audio code isn't really my domain. Can you report it in the official forums and attach a minimal repro content pack? (The "non-modded" section applies even if it affects mods in this case, since it's an issue with the base game code.)
i'll see what i can do. thanks!
Is there a way to make a tile only passable for npcs and not the player?
unsure about tiles, but there is definitely an npc-only warp available
I'm am unsure as to whether it would be better to put a somewhat obvious but nice looking physical barrier to stop players from going into a location that doesn't really exist or if I should just make it a normal exit, and then disappoint people who try to use it for the first time....
It would be for fake npcs who may come through.
that sounds like a job for npcwarp
My question is sort of about map design too now. Which option do you think might work better?
I can show you if you like
It is obviously unfinished. There will be a small beaten path eventually
This is the 'barrier' lol
but you never want the player to go inside?
speaking for myself, i will accept almost anything as a barrier blocking off an area as long as it's visible. if it's silly and wouldn't actually stop someone from passing, i'll make fun of it but That's Video Games™️ and it's fine
There will be nothing they can get too unless I finish my expansion idea later down the line
ig what i'd do is cover the edges with foilage too
so that it look less inviting
the fences r nice i like those
Hmm... I guess the npcs could still get through that. I like the potential it looks like it has though, lol, but ig that is apart of the problem...
well if u come back here just update it
Yes, I would definitely do that. IF I can ever find it in myself to make an expansion
You know, working on the exterior, at least so far, has been a lot less painful than the interior I still haven't finished. I think that's because I understand tiled better, and am not so caught up in making a ton of custom furniture assets and other things. At least not yet
u can always start with some existing tilesheet and then decide if u want ur own later
hxw has a lot of furniture
I have been using vanilla as a base of course, so it's not nearly as much work as making completely original stuff
You know what? I just noticed something. My tiled app is a little overly saturated even though in the screenshot it is toned down. Vanilla is also less saturated as well. I wonder why that is.
thats cus of lighting
if u dont wanna have dep on other ppl's tilesheets for some reason u can load the vanilla furniture sheets into Maps as placeholder too
Mhm, I've been doing some of that
Took me a bit, but I found it.
if (Game1.player.position.Y / 64f >= (float)(Game1.currentLocation.map.Layers[0].LayerHeight - 2))
{
Game1.player.position.X -= 48f;
}
This is called in Game1.onFadeToBlackComplete if the location is the Farm and there is no event happening~~ and the farmer is not a farmhand~~. Honestly, this feels like a bug, but I have to imagine there is some reason for it. But for example, on the standard farm if you use debug warp farm 40 64, instead of placing you on the completely normal walkable tile at (40, 64) it places you 48 pixels to the left inside a wall.
(and this isn't even related to another "move the place 1 tile left" case that happens earlier in the code if the player is on the right side (but not off of) a map)
mr ape leaving homework for you
at this point I understand player positioning and player warping too well
its weird that only farm has logic to nudge people back in the map slightly
also that would affect farmhands too, as farm is an active location
Oh, I also misread the code... the isClient check isn't part of this logic... the rest is accurate, though
At this point I simply work around things like this... and the tileX-- if the player is on the right side of a map... and the mismatched boattunnel warps... and a handful of others I can't think of offhand
None of this affects normal game play, just my navigator mod's ability to keep track of things
the tasteful simplicity... my god, it even uses reflection.
ContentPatcher doesn't even have harmony references
okay so hear me out
a cutscene where the NPC is just singing Talking Heads lyrics
standing in the BackWoods, staring down at the road, saying "where does this highway go to?"
looking at Robin's house, "what is this beautiful house?"
I'm cracking here
NPCPassable tile property allows NPCs to pass through building tiles (have already told Parcy this, now just throwing it to the server in general as FYI)
okay different question, is there any kind of list of animals that can be added to events through addTemporaryActor?
anything in the Animals folder probably
according to the wiki
hmm, it seems mods have to specifically load their animal sprites there for them to be usable in events (which should be the case most of the time, since the texture defaults to loading from there)
interesting, ty
you can use farm animals or anything loaded into the animals/ folder
I do it for the goats
I see, and any Characters in the characters folder... that's very useful for adding in an NPC too without having to load them in at the beginning of the event
I swear, making complex events forces you to level up your understanding of the game
Hello, sorry to interrupt but does anyone know if there is any api i can use to modify the Game1.parseText() function? I'd like to apply zh textwrapping rules to en language code, as I'm trying to make chinese dialogue show up correctly in an english game
this used to be a jojamart, now it's turned into a cornfield...
same! I'm magikarping through this updated mod stuff though
more questions incoming oTL
So I noticed that in a custom added fence, even if you include the new gate sprite, the gate will still look vanilla in game
what's your spritesheet look like
I was modifying this one for personal use (from the seasonal hedge fence mod)
ah wait, I think I know what's happening
did you put the gate into an empty slot between two fences
that'd make the vanilla gate. to get your fancy modded gate you have to put it on top of a placed fence
that's just how the game works™️
if I wanted to just
replace the vanilla gate
would I have to change it in all the fence sheets? 
probably just where the default gate sprite is being used, if you want your gate-into-empty-spot to look different and want to keep the other fence-specific gates
where in the world would the default gate sprite even be dfhciwehf
I know the icon is in spring objects
i thought the gate was just defined per fence
looks like the default gate is the wood one in LooseSprites/Fence1
ah ok, neat, thanks a bunch 
Hey Selph, I had a question for you.
How did you make ostriches fit through the coop door?
Was wondering if it was something simple so I could apply it to the pokemon ranch animals which sometimes have issues getting stuck inside structure doors.
C# code that teleports animals bigger than the door outside 🙃
are those animals' dimensions larger than the door? if so then adding my mod as a dependency should fix it
give it a try let me know if it works
I don't know exactly. the primary culprit is the least visually significant of them all things considered
But all of them sometimes have issues. Usually when they can path behind the building "easily" had been the pattern I noticed
I wonder if it's unrelated and due to the building's dimensions
Putting fences on the closer side of the building mostly fixes the issue
if the animals are already smaller/the same size as the door my mod would leave them untouched
Oh possibly. Though I know the most recent update went out of its way to enlarge the doors due to the getting stuck problem
Which seemed like a questionable solution to me. Might just see what happens if I set the buildings back to matching the normal structures door dimensions.
Ultimately now that I'm out of the "converting to a separate content pack" phase of the process I figured I might as well tackle one of the more consistently reported bugd
when I get the mod to load the house I notice the npc isnt in the social menu and when I try to go into the house it kicks me back out
sounds like two separate issues - one with the NPC and one with the house
question, in Tiled or your map program, do you have the Warp in x,y at the same coordinates as your Warp out x,y? Because you'll want to move one up a tile so you're not constantly triggering the Warp
definately seems like its some other kinda issue. (this is with squeeze through.). also seems its a single animal problem notably.
very strange
what is its texture size in the data?
maybe it's a nonstandard value instead of multiples of 16
wild guess on my part though
whats interesting, is the eevee family has no issue and those are some combination of 36x36 (potenially 36x47 but those alt sprites have other issues)
I peered into the animal bounding box and door positional code some time ago (it was horrifying)
Not 100% sure (25% at best maybe) but I wouldn't be surprised if the game doesn't handle those nonstandard sizes properly
okay, reread it a little, what I think is happening here is that when the game warps an animal from inside the animal house to outside, if its pixel size is larger than 16 it shifts the animal left by 32px
because that animal is only 25px wide, that shift would shift it too far, causing it to phase into the wall and get stuck
i figured it was something like that. just leaves figuring a solution... that ideally doesn't entail having to edit the spritesheet
(it involves editing the spritesheet, sorry
)

I could add a special case handling for this in Animal Squeeze Through, but I still recommend enlargening it to 32px
gods know what else can happen
true.
since it doesn't seem like Pokemon Ranch has any other oversized animal issue, they're all smaller than the door
you should also raise it with the author maybe
(do confirm that's the cause and enlargening it to 32px first, in case I was actually wrong)
i was just generally trying to avoid shipping/dealing with assets for the project. and frankly making the one problematic mon just work in the patch project manually and rely on squeeze through to ensure any oversized coop animals still fit after droping its door back to normal size. is better than the animal being broke in the patch project
plaidbees is in here so it might be worth pinging them after confirming Selph's diagnosis and treatment
im just gonna set the sprite dims expecting a visual attrocity to see if it fixes the issue
going to look wrong but function ideally if selph is right
I haven't tried contacting them for ages but last time I did they were receptive of the fix I offered for their GSQ issue (not sure if they implemented it, since I don't use the mod myself)
it's late here so I'll go to sleep now, feel free to ping my username with 1. the confirmation, and 2. whether you really need that Squeeze Through handling. I can read it later
Night Selph!
sleep well Selph.
admittadly i haven't really figured out a good way to test animal related things. i have a testing save but there's no 'fast' way to test animal things the way you can with items
debug setupfarm spawns a coop and a barn, while debug setupbigfarm spawns 3 deluxe coops and 2 deluxe barns with chickens and cows, but I don't know if Pokemon Ranch has its own farm buildings.
But there's always the build command which would work with a custom building I imagine. And animal which should work to spawn the Pokemon.
Plus growanimals to make them adults
oh
thats all good to know. and notably yes it does have its own separate buildings. which actually might not be required if i fix the stuck issue.
since it was my understanding the buildings are mostly separate due to issues with that. but ive set the doors to match the normal buildings and so far only seen one major issue
The console commands page can be hard to find stuff on sometimes but it's always worth scouring https://stardewvalleywiki.com/Modding:Console_commands
need to test the coop for certainty tho. admittadly if there is issues with oversized animals squeeze through would be fixing them currently
@brittle pasture
some testing later, confirmed that the majority of the pokemon coop animals can't fit out the door normally, though Squeeze through fixes them.
then exactly two animals seem to be having the same problem, unown and lechonk (shown previously), notably unowns sprites are 24x24 and lechonk is 25x25, importantly Sunkern whos sprites are 29x29 has no issue exiting the coop without squeeze through's help, and seems to be the third smallest of the sprites. 28x28 appears to be the minimum sprite size that can still exit the door as far as values between 16 and 32, and assumedly theres probally a range closer to 16 that still works but that didn't seem worth looking into. upper bound of working jank sizes found.
additionally setting lechonk to be 32x32 in its sprite dimensions allowed them to exit the door.
importantly this is with setting the doors back to normal barn/coop size rather than the wider/taller doors bees added to them to try and fix the problem.
if nothing else. i think im gonna call it a night here. its way too late to continue working.
over 2 lines, i DONT read
change panning loot table--I need IE right?
Im trying to think of some methods for obtaining an item from the water that dont involve adding another dependency just for this. So far I can only think of adding it to the actual fish table (does it have to be a fish tho?)
I have spacecore as well as a dependency already so that's being used to spawn some forageables/breakables
could be a hidden fishing feature way down in the documentation somewhere lol
doesn't need to be fish to be in the data/locations fish table
does need to be a fish to have the fishing minigame actually occur
Yeah i have some treasures in vmv water
Panning and actual treasure chest would need ie
But it can be easily added by optional dependency
Ah i could add the item to the crab pot loot table as well
and honestly way more players use the crab pot than the pan hahaha
quick question ...if this code makes something load when the mod is there ..how i make it not load when the mod is there?
p sure it was adding a false there somewhere
"HasMod |contains=UniqueId": false
yeah that, forgot the exact format
|contains is in many ways the exact same behaviour as the original behaviour, but it moves the evaluation to entirely be in the key and so the new set of values is true/false, letting you check if its false
other behaviour is because its entirely in the key now, it will be distinct with other conditions in the same when block checking the same token
@-@ oh damn yeah i kinda get it ..
i just didn know how i would write that since github had only the example of ->"hasfile:id here":true
i more artist then a coder 😄 oh joy
in general to get the cleanest conditions, CP wants you to have a patch without the condition, and the second one with the positive condition to selectively override/tweak, even if performance wise (and sanity wise) it may be easier to have the mutually exclusive patches
^^ i see ..well thank you for explaining and all
Question: I have almost no experience coding or anything like that but I was super inspired by the Sam After Dark series and was wondering about tutorials or tips with making dialogue content packs.? I’ve spent two days staring at the modding wiki and my head hurts.
https://stardewmodding.wiki.gg/wiki/Tutorial:_Adding_New_Dialogue this breaks it down p well I think
Adding new dialog is easy with Content Patcher! This tutorial aims to walk you through the entire creation process of adding new dialogue for an existing NPC (Mayor Lewis). The general principles also apply for other dialogue mods, but you will need to think about your target file(s) depending on what kind of additions/changes you want to make.
...
Omg thank you! I wonder how I didn’t find that before haha
i am going to write 12 different trigger actions to check for the presence of a specific item in the player's inventory on every location change, and if it causes performance issues then I will fix it later 😌
I must have been scarred by the pre-1.6 CP seasonal outfit checks because I dont actually know if this is detrimental or not
What is the goal here 
performance issues, apparently
Lmao
I don't think having LocationChanged trigger is that bad, even 12 of them
I have 12 different quest items and they should only be obtained one time each; I need to know when the player obtains the item so that I remove the chance for it to spawn.
I can also check for when the player uses the item more easily, but they could go weeks without using it
its not super necessary to remove the chance but it would be better for the player if they dont end up with duplicates of the same item
Hm what if i just get the item and then toss it in some other inventory b4 leaving the map tho
yup
but you have to fetch the item at some point so its the best i can think of
getting a duplicate is not the end of the world but it would be confusing
The other way i can think of is secret note framework
adding a framework for this part of the mod would be complicated for reasons unnecessary to get into
The notes r innately unique, and u can run an action on read to give item
But seriously, if you do think it would be any detriment to performance, I wont do the checks'
Well it would increase the time between maps but it's hidden behind the void
Each quest item is a pretty rare drop so the chance of someone getting two in a row is already low
People won't notice that much tbh
But i just feel eh about doing something that isn't 100% reliable
Vs just making the items somewhat valuable so ppl can feel good about getting dupes (kinda like vanilla treasure chests)
no it would be really confusing haha because all 12 of the quest items have the exact same name and description
Maybe I'll have the person that you turn the quest item to give you a consolation reward and remove the duplicate from your inventory if that happens ?
tbh I'm one of the main performance advocates and I haven't even bothered looking into trigger actions or GSQ optimisations
hello it's me again 
i want to divide my code for festival.json in their own respetive files... is there a way to do that?
define festival.json?
and what is in your content.json?
What is this syntax
Includes are a kind of Action
because if you successfully got from content.json to festivals.json then you can just do that, but more..
i havent tested my code yet 
Yeah u have correct examples of Include here
"Action": "Include"
Remember that include fromfiles are relative to the folder where content.json is
oh okiee. so for festival json i should do
{
"Logname": "egg festival!",
"Action": "Include",
"FromFile": "festival-data/egg-festival.json"
}
?
my folder structure is like this
Looks like the path is actually data/festival-data/*.json
even if the include code for eggfestival is is at festivals. json?
all paths are relative to the manifest.json/content.json directory
someone just lmk that someone I gave perms to is using my work in a "bimbo-ify" mod for the SDV female characters and essentially undresses them, but I feel conflicted seeing as when they originally asked me for permission, they never really disclosed what the content was going to be
"I adore the hair mod you made for Maru, and I'm currently working on a mod that involves the bachelorette's looks changing the more you get to know them"
this was all they ever said regarding what the mod was going to be, and I'm not sure if I should ask them to take my work out considering I already gave them perms
Damn
I dont think its your fault for not asking what the mod was about and I personally think you are within your rights to revoke permission if you wish to. After all respecting permissions is about an ongoing relationship with an artist, not some one-time transaction to obtain the right to use their work forever
thank you.. i made the changes to my file 
It does read to me from the wording of the message that they purposefully obfuscated what their mod was for
i understand why you are conflicted but if you are uncomfortable of them using your work for acts like this.. i think it is within your rights to not associate wit them and take back the permission
@ivory plume hi! i hope it's ok to ping, but I wanted to ask if it would be possible to add a targetable entry to Data/Objects (or Data/CookingRecipes if that is more accurate im not sure) in CP that lets us choose if the object needs to be cooked for perfection requirements, similar to how we currently have "ExcludeFromShippingCollection" ? no worries if not but it would be super helpful if doable
ooh
6480 how did i know youd agree with me heheh
currently all you need to do is avoid the Cooking category for your items
it won't display as Cooking though, of course
so you could have a cake in the "forage" category and it would work?
didn't roku make a framework for this
yeah which is sort of the point though like i want to add cooking recipes
but i offer shipping as a toggle for artisan items
Yeah htg
ig it's on me for assuming it was going to be innocent but it's like please don't blindside me with ts lol😵💫
I think I might end up asking them to take it out
nothing at all to do with the 600 recipes sitting in my in-progress folder 😪
so id like to offer it for cooking too
nothing at all to do with wanting to offer cooking OR artisan as an option for WAG 
when will you make it up to 6480 recipes in the wip folder
LOC sidesteps it like so:
https://github.com/b-b-blueberry/CooksAssistant/blob/master/LoveOfCooking [CP]/assets/object-data.json#L444-L449
where the half items are basically a cooking byproduct that doesn't count for shipping, even though it's food
It would be that high if mizu had her way
XD
But the half items dont have cooking recipes? I thought adding any cooking recipe requires the perfection thing
id want to make cooking recipes but unfortunately i am Bad at spriting food
the perfection calculation for cooking is distinct recipesCooked / count of entries in Data/CookingRecipes though
ah butts
It's totally not your fault anyways! We shouldnt have to be interrogating everyone who comes to ask us for permission (and people who want to hide what their mod is about would still be sneaky anyways if asked)
remove someone else's entry from data/cookingrecipes when u cook ur excluded recipe ✅
Data modelling CookingRecipes would allow for easily adding the ExcludeFromPerfection flag, but I'm not sure if that kind of change is in scope for the 1.6.16
piling more crap into the string delimitted value doesn't sound fun
Oh god id have to rewrite 600 recipes
ooo but a datamodel (dreams)
honestly i'd like to see it become a model in future too, but without any changes like this in mind i wouldn't have thought it'd do much other than improve readability
if vanilla did data model it, CP would have a rewriter for it for legacy packs which would let you patch export to get your new form
true
yep, i'm fairly sure old formats of CP will still be rewritten for NPCDispositions patches for Data/Characters
which it does already if you are a legacy pack still trying to play with dispositions or the fun case of old data/locations where the assets same name but very different structure
the perfection requirement is the main reason i have avoided them currently just because of the sheer volume of stuff i add to the game atm
so yeah obvi no worries if not in scope but
would be SUPER COOL if in scope hehe
was a strong advocate for data model all the things so we can throw random crap in it easier
new Data/Objects over the old Data/ObjectInformation is night and day, along with Characters vs NPCDispositions
sorry i lost track but ty for sharing! if pathos says out of scope i may take a look at this as an option!
the way CP does the runtime migration is kinda fun, it takes the new asset and transforms it into the old world, lets CP run on the old data model, and then takes it and puts it back in the new model again
Questions:
In C#, is possible to add a fadeIn to a IClickableMenu?
And how do I mute background music while playing a sound effect?
iirc my original prototypes didn't do the back and forth and I transformed the editdata itself to behave on the new structure, but had more edge cases.
the full downgrade and upgrade is more reliable albeit with more of a performance penalty
You would have to draw everything yourself tbh
Look at how dialoguemenu does kt
Also @drowsy pewter I backread and it is my opinion that if you are a content pack, trigger actions and gsq performance is not your problem
I don't think you can cause issues with vanilla quries/actions anyways tbh
hmm
oh really - i got the impression reading the docs on gsqs that if you can you should use a when condition over a gsq because of the caching (i think?)
not that i dont use GSQs but i did always wonder about performance
i thought the exact opposite ashhsjfhsdkf
It doesn't matter 🫂
Performance should be a c# modder's game
Hey sinZ 😛
God I feel like roadkill today lol
ok so yeah here
but to your point 6480
it does say gsq would be faster if its a when condition that isnt often checked
@ selph Hey I need to check when a player gets an item in their inventory for the first time, can you write a C# mod that lets me run a trigger action every time tick so I can check?
I think in the last two days I got about....16hr of sleep each day and I still feel like roadkill
@ Button do you have a trigger action for item entered inventory
i guess atras point is we arent doing it nearly enough to matter XD
feel better!
ahhhhuhhhhhhh interesting immediately falls out of my brain soup
I guess its not really that important anyways since the more pressing concern for us between When and GSQ as content modders would be whether the code exists in the data or not :P (so other mods can target our stuff)
There are cases where When is more efficient, mainly on data assets themselves or its HasMod/Config guards
and there are arguably more cases where runtime GSQ conditions are more efficient and user friendly, because the condition reacting to the new state of the world doesn't need to reload and apply all the edits again. (See: Music fields in Data/Locations vs conditional EditMaps)
at one point i did, but i couldnt get it to work right while also detecting if it was a new item or not (and not just you picking up the same apple from your chest 500 times)
it was also apparently buggy, and broke item stacking, so i removed it after like 2 hrs of it being up and never bothered trying again. wouldnt be that difficult to use the inventorychanged smapi event, but i didnt want it running constantly, which is why i was originally hopin to make it specifically a "new item acquired" trigger
but, all that said, you can always roll your own with BETAS Harmony
the appearance system is another textbook example of how it can be a lot more performant than the content patcher equivilant, because you can easily just cache all the appearances without needing to reapply the edits
the amount of lag that 1.5.6 had from all the mods changing textures to be in pajamas or whatever, and changing music on maps that is mostly just not a thing anymore with being always in the data model and doing runtime checks instead
unfortunately still a thing for changing the lights unfortunately
Wait can i pseudo advertise here? I posted in modded farmers buuut that may just be a chat >.<
Hi! I don't want to add a field to the slash-delimited Data/CookingRecipes strings, but migrating that into a data model is on my list of ideas for upcoming versions. I added a note to add ExcludeFromPerfection when that happens. Thanks for the suggestion!
ty!
(don't forget to copy+paste for crafting which is almost identical)
(Yep, it's part of the same to-do entry.)
WOOO thats so exciting
(It's just an idea currently, it hasn't been discussed for a specific version yet.)
STILL exciting rofl but i understand not to get overly excited XD
not like i dont have a million other things i should be working on anyway hehe
Ahh i dont mean to like. Be annoying. But where can i ask for a tester or two? Like an outside source?
I'll just post what i did in Modded Farmers (w the post deleted).
Rejoined the server to say:
Im making a social media mod! I just. Need one to two people to help test >.< i can do it! But yeah i need outside opinions!
Basically, every villager (modded or not) is assigned a personality per season, a mood per day, they text (Ping), facetime, and post on social media (PocketPost). I'm prolly not going to upload to Nexus for a bit. But if u wanna follow! It's natsukisr.
Oh and they have randomized friend groups, a special gift a day (randomized gift preferences too!), and schedule changes.
#modded-stardew is probably the best place to look for interested players. I don't think players would usually sign on as official beta testers (unless they're really interested in the mod), but you could post preview builds with no commitment for interested players to try and provide feedback.
Wahh thank u! I did but i feel like it was moreso a chat so i deleted the post and reposted here. Sorry! I'm not used to giant servers lmaooo.
No worries! It's fine to ask here too, but it's mostly mod authors in this channel.
AHH i see! Thanks ♡. Do you have any advice? Because it's based on Mobile Phone (obvi). I'm using assets from FreePik atm (pain) and yeah! I think it's coming along nicely! Kinda took me a month to do it lmaooo
Once it's closer to release, it could be worth partnering with an artist to redo the textures (or finding assets from a different provider). AI-generated content is controversial, and the server rules don't actually allow posting mods containing significant AI-generated assets here.
OH is freepik ai???? I had no idea 😦 I'll just buy a bundle when i can from itchio!
Its kind of a passion project (along with a sebby mod im making thats just json events and dialogue) so thats why i cant upload quite yet. It's super skeletal and i may add more
The more limited form of has player ever obtained this item is reliable if there is just a trigger for "picked up item"/smapi inventory changed
I do wish smapi inventory changed happened at timing where hasbeenininventory hasn't been updated tho
not if they install BETAS or a mod that uses that trigger mid save
Need a player has item anywhere GSQ to be used on day started then 
This would be pretty bad if naive
the most performant of triggers: checking every single item everywhere
I did just have like
A hashset that's populare once saveloaded + inventory changed to add more qualified item id to it
But i dunno how in demand this kinda thing is for content modders, it wouldn't let you know the count of some item
that wouldnt work for consumables, bc it'd happen every time you launch the game
bc once you consume it it wouldnt be there for the next saveloaded
Need to actually put hashset into mod save data then
Ok, the nicest way I found to "stop" the background music is this
if (Game1.currentSong is not null)
{
const int volParts = 50;
const int timeDelta = 2500 / volParts;
float volDelta = Game1.currentSong.Volume / volParts;
Game1.currentSong.Volume = 0;
for (int i = 0; i < volParts; i++)
{
Game1.delayedActions.Add(new DelayedAction(1750 + timeDelta * i, () => Game1.currentSong.Volume += volDelta));
}
}
Game1.playSound($"{ModEntry.ModManifest.UniqueID}_MenuOpen");
It opens a menu later, so I still need to animate it
That won't work properly with splitscreen
Since you're only adjusting the volume of the current screen and the other one(s) could be the currently active audio track
You would need to adjust the volumes of all screens
Also you'll probably get smoother results if you use a tick event and calculate volume based on elapsed time, rather than stepping down the way you are now
Does anyone know how to make custom characters and houses for said characters?
I only want the player opening the menu to have their background volume decreased until the sound effect finishes, the other players don't need to mute anything nor hear anything
where do I post my smapi log to ask for help
i think here?
or its in modded tech support
idk tho
oh ok
if its related to mod MAKING here, if its jsut the game then #1272025932932055121
well im trying to update a mod but theres an error
!mh
For help with modding issues, please ask in #1272025932932055121! When asking for assistance there, sharing an error log will help others identify your issue (see https://smapi.io/log for instructions).
this channel is for making mods only
what if i dont know how to make something (example:custom npcs)
If you mean update as in you are editing the mod to make it work for 1.6 (like perhaps it is RIley?) then here is the right place.
yes
!npc This is the channel for you, definitely. Have a look at the resources below for NPC making.
Keep in mind that making NPCs is a complex process that requires learning many different aspects of Stardew modding.
Here are a few links that can help get you started on all that you need to know:
-
Tiakall has a great tutorial on making a custom NPC for 1.6.
-
NPCs no longer use dispositions, check the wiki page for the new NPC data.
-
Aviroen has put together a template that will allow you to easily create a romanceable NPC.
-
Feel free to jump into the https://discord.com/channels/137344473976799233/1277457201077813280 thread for more interactive feedback and help!
-
Fireredlily has a WIP NPC Builder Please do report any errors you get with it into the NPC thread!
Then yup share your log and json :)
ok
generally it helps when you give some context so we know where to send you(or say youre in the right place)
also, aba i had a laugh today when i opened my shop json reading your comment bout the shop portrait
oh im def not doin it properly at all but ill still send
for content.json the format would be content patcher right
Yup but it doesn't really matter
(idk either why i loaded the portrait btw)
You were just in a haze of loading lol
me opening the json and seeing your comment:
I'm assuming that this is an edit to the original Riley content.json? Can you explain what stuff you've done? And send the log, please?
I have had times like that with my own files, especially where I changed one bit and forgot to change anything associated with it.
well yesterday I basically just tested it out since this is my first time modding but I just learned to at least let smapi try to run it by changing the format to the used version of content patcher and in the manifast I changed it to use 4.2.1 or something, sorry I forget.
the npc has three folders [cp] riley [tmx] and the house, the tmx was used with tmxl but its obsolete now
tbh i also had the revelation today that i probs am uselessly taking two frameworks to spawn ma minables...like...i thought i need IE for the heres the minable thingie and spacecore to spawn em but aparently i can make the minable thingie itself through spacecore too? idk anymore spacecore docs aint me-friendly written xD
Yeah I have no clue, never looked into IE before. Or even spawning stuff with Spacecore outside of figuring it out for...whoever that was for. Clown, maybe?
yesterday the farthest point I got was deleting every folder but the [cp] riley one and using the content and manifest.json as a substitute. When I loaded up the game I saw rileys house in game and on the minimap but they werent actually in the game. When I tried to go inside the house the animation played but I was put back outside.
i first realized the spawning stuff because i looked at the sns code back when the uh...the book thingie was suggested you know, the one with the cool info you get at the start. but yeah, ill probs look at sns again at some point to see if i can get rid of IE if i can slim down on frameworks(nothing against using many, just, if i just use it for a singgle thing i feel like i could just...not use it or look for something diff)
and by smapi log you mean the whole code and message it tells you when attempting to run the mods in your mod folder right
I think that trying to edit Riley into working is going to be difficult without any prior modding knowledge, unfortunately. They're a pretty complex NPC (whose pronouns are they/them in general, by the way). To point out just a couple of things from the content.json: addMaps, spouseRooms, and festivalSpots are not valid Content Patcher fields, Data/NPCDispositions is no longer a valid Target (it still kind of works due to CP magic but you'd want to change it to Data/Characters and switch to the new disposition format), and that's not even starting on the pregnancy stuff.
The content.json you posted is broken, did you edit it at all other than changing the format? It's missing a comma on line 155 (that's what the error in the log is saying).
I restarted from yesterday where I made actual changes in the coding to match the newer model that content patcher uses other than that I cant remember right now.
From what I remember I did to get started is that I simply remove the other 2 obsolete folders, removed the outdated dependencies. Changed the format to reflect the new usage being mainly content patcher. The house showed up but no character and I couldn't go inside. I probably did more stuff but its just a blur.
well, for starters you didnt load an inside map so ofc you couldnt go inside, warps are probs wack or missing too
The best guidance I can probably give you is to have a look at Tia's NPC tutorial and the files of a 1.6 NPC so you can learn what a functioning NPC looks like and then identify what parts of Riley need changing. At least for getting them in the game - at this point I don't even know enough about them to know what their pregnancy roles dependency did so I don't know right now how to recreate that in 1.6.
There is kind of an inside map loaded, it's just done via TMXL-specific json so it doesn't actually work.
ah i read it as that map being gone with those two deleted folders mentioned
Right, but that's not how the game's audio works in splitscreen. Only one screen is playing music, and which one that is depends on a number of things
id honestly restart with an empty slate but i am personally easily confused so yeah
The map might be gone if the folder has been deleted, but since TMXL is gone/non-functional it doesn't matter either way lol
true
Restart someone else's mod with an empty slate?
nah i mean like the parts that needs to be changed
You mean like taking the assets out and then adding them in via the new methods one by one?
Oh instead of trying to edit the edits they already made?
like taking a complete empty data/characters template and- yeah
but as i said i am a constantly confused person by nature so, might not be needed by others to do that xD you saw fisrthand how my own shit confused me at some point 
!npc @wild viper Oh which reminds me I did not actually link Tia's tutorial after mentioning it.
Keep in mind that making NPCs is a complex process that requires learning many different aspects of Stardew modding.
Here are a few links that can help get you started on all that you need to know:
-
Tiakall has a great tutorial on making a custom NPC for 1.6.
-
NPCs no longer use dispositions, check the wiki page for the new NPC data.
-
Aviroen has put together a template that will allow you to easily create a romanceable NPC.
-
Feel free to jump into the https://discord.com/channels/137344473976799233/1277457201077813280 thread for more interactive feedback and help!
-
Fireredlily has a WIP NPC Builder Please do report any errors you get with it into the NPC thread!
So It's a shared Game1.currentSong?
I guess I have been putting out the whole purpose
No, I agree with you. I wouldn't do that because I am able to read the json, see what it's intending to do, and know the newer way to do it, but a newbie would have none of that knowledge.
Converting to 1.6 from an old mod like that isn’t just changing the files to match the new format but basically remaking the entire npc just as a version that’s compatible with 1.6
Sort of, but not really.
Between all screens, there is one music track playing. Each screen "requests" a specific track, and the game has some logic to figure out which of those is most important, and then switches the shared track to the highest priority individual track across all screens.
Muting volume of one will have inconsistent behavior- if it's currently selected as the active track, it will fade out, but the music from other screens won't fade in. If it's not, the music won't change at all and your code will effectively do nothing.
I am converting Pierre Plans Ahead from STF to CP and I've made it to the most complicated of the random chance options, where he "may" plan up to 7 days ahead. The screenshot is the code in the old STF version. It's a seeded random to select which date range will apply in that season, so the game stores / remembers what the random selection was for that season.
I can easily make a random selection for the date range in CP, and have done that with a Dynamic Token, then passed the result of the Dynamic Token into the Condition.
My challenge is in "storing" what the selection was each season without re-rolling every day. The default behavior for CP's Random is to re-roll every day. I was told even if I added a |key={{Season}} at the end, it'd probably still be re-rolling every day. I didn't test that assumption though.
I saw there's a SYNCED_CHOICE option in Conditions, but I'm stuck on how to use that to make the selection on the date range, and feed the result back into the date range selection. Is there a way to do that, or do I need 3 patches for each date range and have the SYNCED_CHOICE in each?
Code of the dynamic token and the patch (for a different seed than the screenshot but that's fine): https://smapi.io/json/content-patcher/9dc09ae092d14d3bb14ab8a859f46aba
Parts of it, definitely. In this case it's Riley's disposition, maps, and pregnancy stuff that need completely redoing. Just changing the format numbers and removing the old dependencies will have no effect because there's not anything to replace what the old dependencies were doing.
Well I was thinking that I didn’t need pregnancy roles as a dependency they just wouldn’t be able to have children or adopt
Without changing pregnancy things, Riley will just get pregnant according to their gender stated in the disposition. If you want them to not have children at all, you need to set SpouseWantsChildren to false (I think - you can only have kids if your spouse asks, right? I never have kids in game without cheating). If you want them to adopt, you set SpouseAdopts to true.
Oh no I don’t really worry about that I just wanted them to be an interacting npc
I'm trying to add a pier over the water to hopefully put my house on it but every time I go in game, I can't seem to walk on it and I'm still being blocked by the water. Does anyone know a solution?
you need to make sure all of the tiles you're trying to walk on are passable (tile property)
How could I change the volume of the current song playing then?
once you get over the boundary
Then you will just need to convert the maps to CP and update the disposition to the new version.
Ok, first time modding and trying to edit a farm. I'll check those out ty!
Use reflection to get the list of game instances and adjust the volume of each instance track. For fade out I recommend using Math.Min as well in case multiple people open the ui at once.
There is a run per instance func
hey all! I was wondering if there is anyone who would be willing to make a mod along the lines of this:
A kind of gate/toll where a player has to pay a certain amount of gold in order to pass. In order to build the toll, the player would have to pay a certain amount (high) and use certain materials to build it. And in order to destroy it, the player destroying it would have to pay a high amount as well (in order to disincentivize other players from destroying it).
You can drop it in the Mod Ideas github list, but there's no guarantee someone will take it on: https://github.com/StardewModders/mod-ideas
If you want to pay someone to make your mod idea, there are a few people who do commissions (mostly art, sometimes code); you can ask around, search usernames for the word comms, or see the !commissions command, which you can put in #governors-mansion.
It's a bit confusing how exactly you want this toll
Is it blocking access to some map
Yeah it would be like a gate, and to pass you have to pay a certain amount.
It'd be mostly for the main farm area, if they pass through the gate they have to pay an amount
thanks! ill ask there as well
There's only 1 farm though 
Oh yeah :) but like in the 4 corners map there are 4 (for multiplayer) and there's a small area to go from one to another or leave the farm
What stops someone from no clipping over besides honor
the gate would be large enough to cover the passage
Honor is enough, I think, for not using NoClip lol anyone using that mod knows they're proceeding at their own risk to fun and ~immersion~
oh i see what you mean!
correct
this is just for fun
it's not meant to actually inhibit people from using other mods to bypass it
Well i can sorta imagine a content way of doing it
Custom farm map, edit 4 corners to need magic warps to go between zones (plus warp to the 3 exits
Block access to warp with a mail flag named after player name
Special order to unlock the warps (this part will be annoying cus idk if u can get other player's names)
Yes that would be a good way of doing it ! Do you know if there would be a way to make the warp conditional on paying a certain amount of gold to be set by the user who placed it?
That's the last part, a special order or some event gating the part where you obtain the mailflag
You need c# if it's a freely placed object of some sort, hence why my suggestion is "modify map to do stuff"
Just to be clear, I'm not making this mod, but i encourage you to try 
Does anyone know a mod that adds a tile action for showing a detailed dialogue box? (portrait, text, etc)
Base game has one pretty sure, as long as npc is nearby
I see, and yeah! I hope someone is able to make it. I will post it on github. Would you be able to help me craft the idea for it? I know you already did so I may copy paste kind of a similar method.
BETAS has the remote version
Ik, but if the npc is in a different location
can you elaborate a bit on the purpose of the random part is?
The mod idea repo is just you describing what you want and hopefully someone picks it up, limiting scope to just farm helps ofc
is it a specific config when pierre MAY plan ahead but may also not? and if yes, what are the different cases? I think there are possible options for each cases but i don't quite understand the behaviour wanted so it's harder to suggest exact solution
You can use a dayending trigger action to store mailflags for what seed is picked then use the flag to control the stock
I'm interpreting your original ask as
Okay I will post it! Thank you so much
- Pierre needs a random stock for the week
- It should stay the same for that week and reroll on monday
To form the mailflag to set u can do Random, though you will need to write every unset mail out explicitly
The goal was to have 3 date ranges that the game randomly chooses from. So either he has the seeds 1 day ahead, 3 days ahead, or 7 days ahead. But the decision on that random roll should be set for the season. So on spring 22, the decision is made and stays for the rest of the week in spring. Then in summer 22, there's a new roll for that week, and stays for the rest of that week.
I think I've cracked this though, this is what I'm trying:
"Condition": "DATE_RANGE Spring 22 1 Spring 28, !PLAYER_HAS_MAIL PierreStocklist Received, SYNCED_RANDOM season Maybe7 0.33 @addDailyLuck"
I think that means there's more options for the date range, but as long as it's constrained to that week, that's fine
i would go in same direction than chu with mailflag, but i haven't used the synced_random season so it may be a case of several approaches working
i think also possibly there's another synced token that may be better for guaranteeing you see only one of the option but at least one
however i'm not sure it works with seasons
SYNCED_CHOICE <interval> <key> <min> <max> <choices>+
I think synced random is still a per day thing
which would become something like SYNCED_CHOICE season 1 3 1 for one, SYNCED_CHOICE season 1 3 2 for another and SYNCED_CHOICE season 1 3 3 for the third
well according to wiki it accepts different intervals, i believe i used a tick one with success
From the game state query wiki, in theory season should work 
it calls out season as an option for interval
Ah i see, i just remember wrong then 
lol all good! I am new to this so I'm relyin on the wiki and y'all 😆
the CP random is definitely still a per-day thing
funny how new game updates make novices out of all of us
My friend wants to make a mod to where he can create a toll bridge can you make a mod to have a court system so we can incriminate people based on unjust policies
Pardon me if I'm interrupting, but is there documentation on making npcs swim via calcifier? I know the mod desc. said there wasn't yet, but I wanted to check here too!
I don't know the answer to your question but no worries on interrupting! this server is all about multiple conversations going on at the same time lol
It should be, Wren uses it.
Thank you!
Secret documentation!
Also i just realized calcifer had machine harvested this whole time
Did not need to booli selph into making the action 
And it has a stat huh
harvested, not ready
also it doesn't seem to work with Automate
the thing in EMC is action on collect i thought
...it's on ready actually
The baby waits for no one 
I think i probably got it confused bc i just fairy dust during test
but yeah, on harvest is tricky because there's no "collect output from machine" function so automate or junimatic just does it itself
you'd need to patch those as well in addition to the game
Yes but
Idk how2context tho
Introducing my newest machine, the replicatoe
I never change object.heldObject, I just give you a clone
DaLionHeart's hopper pull, interestingly, is immune, because it actually calls checkAction but transpiles it to put the item into the hopper inventory if applicable instead of the farmer

Your ehat
very considerable idea, though I'm worried there may be some edge cases I haven't considered
i call this the "i tell my users its up to the other mod author to do compat, go ask them" situation
oh look, found one involving ClearContentsOvernightCondition
(I have no idea how I would handle this)
(think I'll just add this only if someone really really want this
)
(anyway Object.HarvestMachine for 1.7 plsss)
I'm retired 
wouldnt stop me from redirecting people to your comments
pssst does anyone have that ikea bed sprite order infographic on hand? 
atra you're the least retired retired mod author I know 
Can I harmony patch an anonymous delegate (the "acquired" delegate in this image from Chest.cs)?
I feel like the answer is probably no
Yes
oh?
I see it in the decompile as StardewValley.Objects.Chest::'<checkForAction>b__60_0'() but I have a feeling typing that all out is not how I reference it
I remember doing something similar for a protected delegate using CreateDelegate(Type, object, MethodInfo);, not sure how you'd do it for an anonymous one though 😄
I want a side effect to happen before and after the Game1.playSound call. I don't want it to happen every time playSound is called with this specific cue. just when this delegate method calls playSound
I just intend to prefix the whole delegate if I can. it doesn't need to be the instruction right before playSound
Hm what if you steal the delegate in a transpiler
Yeah it being anon is what's really throwing me here lol
Match on RequestLock and insert your own method which makes a new delegate
Manual prefix 
Tbh this is basically what I did
Reflection find the delegate and patch it
I do think literally using the anon name will work but this is perhaps less fragile
Yeah if I can be SLIGHTLY less fragile I would like to be lol
but also just typing out the name is faster lol
For atra's suggestion you would want to iterate the methods of Chest
You are screwed if game ever adds another anon delegate in same method tho
Not necessarily, tbh
Hey everyone I have a request? I'm looking for people who are familiar with modding and good with grammar, spelling etc to look over my default json and make corrections without rewriting too much of my content. If anyone is interested and willing pls let me know? I really do need the help as I am very dyslexic and struggle with this type of thing a lot.
thanks for the examples atra :)
I'm going insane i can't find a small thing on the tilesheets waaaahh
ohhhhh my gosh it works thank u all sm
Ok so the synced random condition for a shop item appears to be working, but it's ignoring the date range restrictions.
For example, I intended for this patch to only apply in spring 22-28, but it's applying in winter 22-28. I'm guessing it's because I put the synced random interval to be season, but I thought it'd only work during the specified date range 
{
"LogName": "Pierre May Plan Ahead 7 Days - Year 1 Summer Seeds in Spring",
"Action": "EditData",
"Target": "Data/Shops",
"TargetField": [
"SeedShop",
"Items"
],
"Entries": {
"{{ModID}}_PoppySeeds": {
"Id": "{{ModID}}_PoppySeeds",
"ItemId": "(O)453",
"Price": 100,
"Condition": "DATE_RANGE Spring 22 1 Spring 28, !PLAYER_HAS_MAIL PierreStocklist Received, SYNCED_RANDOM season Poppy 0.33 @addDailyLuck" // available MAYBE between spring 22-28 AND player doesn't have the PierreStocklist flag
}
},
I'm having the same problem when I set the interval to day, actually 
"Condition": "DATE_RANGE Spring 22 1 Spring 28, !PLAYER_HAS_MAIL PierreStocklist Received, SYNCED_RANDOM day Poppy 0.33 @addDailyLuck" // maybe available if it's between spring 22-28 with 33% chance each day AND player doesn't have the PierreStocklist flag
isn't that asking for trouble? Professionally I steer clear of reflection if I can for multiple reasons. I could see this possibly causing hard to debug runtime errors, or would SMAPI catch these also in runtime? I'm new to the deeper parts of SDV modding and where SMAPI comes in
We are currently doing crimes in mr ape's backyard
I'm writing so many harmony patches that reflection is the least of my worries
I respect the professionalism but this aint commerical production code
I like modding because at work I'm not allowed to be cursed
Lol I didn't mean this that seriously, I could just imagine if this is for a mod that you'd also share or offer support for, this could become a pain in the butt. But if it's just for fun, live your best life for sure 😄
oh I mean i intend to publish this
You still want to check that your reflection is giving you something usable
And give up with error if it didn't
Hence the whole thing about iterating all methods
yeah the iteration worked for me
Yeah as long as you manage to catch any issues that may arise before breaking the valley you should be good
I've got a nice little warn log if it can't find the delegate but the cool thing is I can simply skip this patch and my mod won't break
1.6 has a fair amount of error catching too
I broke the menu draw code many times and game just catches it + force exit the menu
"mismatched ui push/pop counts" we hate to see it
Looks like you thought this through. I noticed SMAPI throwing a bunch of runtime errors as well while I was playing around accessing some properties, so it's nice to see there's already some logging, and I didn't even look into debug logging or other debug settings yet
Got my pier working but is there a way or another mod that lets me put buildings anywhere? Trying to put my house right here.
Needs a different TileData prroperty, Buildable
You can go in the tileset and make all these pier tiles buildable
[[modding:maps]]
Would I just add another property : Buildable T?
Yeah, tho double check spelling against the wiki
Also this has to be a back layer tile
Could use LooserBuildRestriction map prop too
Tyvm, gonna try to fix it.
your DATE_RANGE means "between Spring 22 of Year 1 and Spring 28 of Year infinite"
you're going to have to do it like this:
SEASON spring, DAY_OF_MONTH 22 23 24 25 26 27 28
well that was certainly a interesting inital comment to get on my now posted pokemon ranch patches... i think they misunderstood what the mod is doing and is functionally no different than bringing in new logic for a vanilla animal.
What does your mod do?
content patchers another mod to fix bugs, and impliment new mechanics on top of the existing content. no item registration or sprites are held on my end. sorta analogus to a compatibility patch between two mods.
Yeah this seems fine
Obviously if you could contact the pokemon ranch person and integrate things that'd be nice
I guess this bit in the description could br contrued as rude
primarily intended to make various aspects of the mod, actually function properly or at least how one might expect it to.
Thank you!
I'll try that out when I'm back home
That's probably true. I probably shouldn't have been writing it at 2 in the morning
You didn't opt in DP either so I'd say you are fine over all
But that was the grievance that started the whole thing was animals getting stuck and mechanical inconsistent and exceedingly strange way treasure digging works
But also I should probably change how it's worded
I wouldn't say have done anything to be worried about at all. Its an optional edit, you are good. Being nice to* the original mod would be better though yeah, not that it was particularly mean or anything
the nuance is improve vs fix yea, the later implying a belief that the original mod is bad
still u r require original mod and u didnt reupload assets of any sort
did you try to dm the author tho, i kinda just assumed you did
I hadn't. It was on my list to talk about it with them post release since not everything I did necessarily makes sense within the scope bees was going for.
Again as the mod page says this started as a bunch of personal edits to the mod so I admittedly didn't consider permissions when I started. And now we're here
There's a chance it'll be taken down temporarily while Nexus looks into it if it gets reported, so do keep that in mind, and try not to worry too much if it does.
late is better than not 
If the original author wanted it taken down, then you could be at risk.
I think for this kinda thing only they could report it
I'm creating a framework in C#, and in my code I use the following code:
Path.Combine(this.Helper.DirectoryPath, "assets", sound)
Would this get the directory of my framework, or would it get the directory of the Mod of the person who is using my framework to add content to the game?
If it's the second option, is there a way for me to get the folder of the mod of the person who uses my framework?
try Helper.ContentPacks.GetOwned()
So there's a-
Beaten me to it. 
this only works if they're actually content packs of your mod and not like CP content packs using your framework
Yeah, if they're just editing some data model from your framework mod using CP, they'll need whatever relevant paths added on their end in there.
my more recent frameworks rely on game assets instead of paths.
Where content packs would create an asset and pass you its name instead of the file path
what does the framework do exactly? asking since if you can rely on the content pipeline and CP content packs it's better to do so
instead of handling loading files directly
Finally got to add more enemies to capture and evolve. Not sure if I want to do exp / level system for them tho. I thought about just doing the Digimon type system where they evolve based on how long they live.
nexus has various permissions including stuff about modifying files to improve it, which an external mod changing may falls under
in case of unclear nexus permissions i don't think it's out of line to see if you do have discussed this with the author/got permissions
So I am still trying to figure out transpilers and how they work so I decided to look at Spacecore buff code for the hover text. Currently Spacecore displays custom skill buffs above the line. I am trying to move it below the line. If I am reading and understanding this correctly, spacecore looks for the 8th variable of drawHoverText each time it is called. which is buffIconsToDisplay.
The first time (step 0) adjusts the height. The second time (step 1) adjusts the width. The third time (step 2) is where it actually inserts the draw code for the icon and text. This is however above the buff-line. This is because (I am assuming) the custom code is inserted right after the variable is called.
How would I go about advancing the code instructions? would I just do something like. codeInstructions[i+30]; ?
oh god manual transpilers
I am just working with what was already there
Harmony is a framework for patching .NET code, allowing you to take any portion of the game's logic and insert or substitute your own. This gives you more flexibility and control than SMAPI helpers and events, at the cost of being typically more complex and difficult to use safely and correctly, and more likely to break with a future update of the game and/or SMAPI.
If you are trying to do something that isn't possible or practical with SMAPI alone, then Harmony is usually the solution.
For more information, refer to the following:
- Harmony Modder Guide - Intro, Use Cases, Initial Setup
- Tutorial: Harmony Patching - Types of patches and code examples
- Decompiling Stardew Valley - For finding methods to patch
the second link has a quick guide about using CodeMatcher
ultimately your goal is to produce a new list of code instruction, but code matcher lets you search for a block of code at a time
So, using the content patcher, it doesn't work to change the audio called string1, nor do the other audios in the normal game change just using the content patcher, I can even add a new audio, but the ones in the game don't change... And via C# I can do this normally
that doesn't help me. I don't want to rewrite all of spacecore's code here to use code matcher. thanks for the help
what doesn't work with Data/AudioChanges?
"spring1": {
"ID": "spring1",
"Category": "Music",
"FilePaths": [ "{{AbsoluteFilePath: assets/springnew.ogg}}" ],
"StreamedVorbis": true,
"Looped": true
}
}```
that looks correct to me, can you post the full json/log
"spring1": {
"ID": "spring1",
"Category": "Music",
"FilePaths": [ "{{AbsoluteFilePath: assets/springnew.wav}}" ],
"StreamedVorbis": true,
"Looped": true
}
}```
also does not work
second more random question: what could cause enemies to show up invisible when they aren't suppose to? just like loading issues? Messing around with like warp player to floor 50 of the mines or to skull cavern or the volcano and flying enemies sometimes appear invisible after doing that.
https://www.nexusmods.com/stardewvalley/mods/30964 is an example of a music replacer mod that changes spring1/spring2/spring3 with CP just fine
"Changes": [
{
"Action": "EditData",
"Target": "Data/AudioChanges",
"Entries": {
"spring1": {
"ID": "spring1",
"Category": "Music",
"FilePaths": [ "{{AbsoluteFilePath: assets/springnew.ogg}}" ],
"StreamedVorbis": true,
"Looped": true
}
}
},
!log what does the log look like when you load the mod that you made
Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.
Please share your SMAPI log file. To do so:
- Open this page: smapi.io/log.
- Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
- After uploading, it will show a green box with a URL to share. Post that URL here.
Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didn’t occur in your last session, please load the game to the point where the issue occurs, then upload the log.
It doesn't give any error, it just doesn't change the music.
give the log just in case
It's just that the person who made the mod and it went wrong wasn't me, I'm just helping someone, but I just tested it here and managed to make it work using the cp... strange that before it didn't work, I don't know what it was, and it didn't give an error, it just kept playing the same music... but that's okay, thanks
Got the trash bear working decently well 
Don't ask why he eats the baggy pants, I didn't condition him to eat pants.
It only cost a dozen additional custom properties to get all the different states animated right.
Can't wait to test how this behaves in multiplayer, or what happens if you open the overview menu while he's in his chomping animation.
Surely I didn't break 20 other things while adding this
I'm assuming that these are two alternative lines used in the summit event - but what determines which one is called? : "SummitEvent_Intro2_Spouse": "It's so beautiful up here...", "SummitEvent_Intro2_Spouse_Gruff": "Great view, huh?",
As a pure guess, I would imagine it's related to the NPC's manner: https://stardewvalleywiki.com/Modding:NPC_data
Oh, nope, looks like it's...
private bool sayGrufferSummitIntro(NPC spouse)
{
switch (spouse.name.Value)
{
case "Harvey":
case "Elliott":
return false;
case "Abigail":
case "Maru":
return true;
default:
return spouse.Gender == Gender.Male;
}
}
If the spouse is Abigail, Maru, or male, you get the gruff version, apparently.
Baha, okay. Yeah I had thought manner at first, but there was none named gruff.
And Harvey and Elliott not gruff?
Apparently so, looking at this!
I mean it makes sense... but for modded npcs then it's just gender.
Yeah, that's slightly annoyingly hardcoded for modded NPCs. You could patch both versions if the player's married to your NPC, though. That would force it to use whatever line you like, gruff or not.
(I think the mod I'm translating has interpreted it as, both are said, so I'm gonna just shove all the dialogue in the gruff key instead.)
Thanks for the peek under the hood 🙂
@ atravita 
Heyyyyy
yasssss, got spacecore buffs under the line with all the other 1.6 buffs are.
r u gonna PR spacecore 
yes but most likely won't be accepted cause the way I did it is jankkkkkkk and not up to modern methods.
well the other thing is just casey still on vacation
isn't pathos still around for spacecore updates tho? or are they just doing bug fixes.
i think pathos would only do something if spacecore explodes
he didnt even accept his own PR for GMCM...
the basic jank that I did: basically Logged till i figured out how many lines I needed to skip... then set those code functions to do nothing. effectively erasing the two lines in yellow.
Then made sure in the DrawCustomSkillBuff I made sure to draw the line first and then check if there are custom skill buffs to skip.
that feels.... weird... especially since casey trusted them to maintain it? you think the PR for GMCM fixes would be something that would count as maintaining the code. especially since it breaks with the upcoming content patcher release.
Fixed compatibility with the upcoming Content Patcher 2.7.0.
?
is that not a fix?
That's a different thing, for spacecore guidebooks
As for why pathos didn't just merge that one you will have to ask 
also its not like casey isnt still around, just taking a bit of a break from modding. i dont know if pathos is "maintaining" it per se in the usual way we say someone is maintaining a mod
But yeah i guess it's cus casey is vacation and not retired (in a way different than atra retired)
Thanks again for your recommendation on breaking up the season separate from the day of the month condition! That worked like a charm 
Unrelated to this, i was thinking it'd be nice if cp migrateids supported migrating farm animals and buildings
But idk what the consequences would be 
Conversation topics is another one but they are kinda transiant
okay PR made
@hallow prism if it's not too much trouble, could you add my custom field to your WildTree patches for VMV? Not urgent, but I'm going to be reading from it in my next update instead of maintaining my own translations for trees.
Here's my PR to SVE for reference
https://github.com/FlashShifter/StardewValleyExpanded/pull/28
why did you ping lumina for sve?
i see. good to know i suppose. im not actually sure my project has permission issues beyond plaidbees not wanting it hosted
for vmv
that PR is the one I made to SVE, I would have made one for her myself but I can't seem to find the repo
I should probably clarify my original message
ah yea the content isnt on the repo anyways
ooh it's happening, nice
I assume there's a CP portion that isn't public? or is it made without?
there is but it's not on github afaik
there is a CP portion, it's public in that you can download it from nexus
but it's not tracked on a git host
just making sure I'm not blind, I downloaded VMV to make sure it worked, but I can't make a PR
completely fair, I didn't add enough context. I updated my original message lol
you should probably poke flash here too, if you haven't already done so on sve discord or whatever
i dont think the github is checked all that often
ah I didn't want to bother, I figured it would be noticed eventually
Ok so I'm trying to add a custom companion with CC and I don't understand what it means by StartingFrame I understand 0 is the top left of the spritesheet but I don't understand how to get the numbers for the frames if that makes sense?
well then
i for one support using uiis2's influence to get everyone into localized wild tree names 
@proven vigil hey would you mind reviewing my PR to include my custom tag for wild tree display names at some point? PR in linked message
love me some tree information on hover
it's the next one on the list, I have it open in VSCode rn
I cant load many webpages rn but is this for wild tree label names? Thats cool! Ill add it to cornucopia as well
I'm finishing up my PR rn
Ah yes, I have now scrolled down in chat lol
it's just sapodilla and corpse flower right? I'm not missing anything here?
Yes!
hmm did rose and the alchemist add back the cool magic mushroom trees
The big shrooms 
are they by different authors? not using git for your content packs seems like a huge footgun. i can't imagine having to rewrite any of my content packs if i lost the files, or backtracking changes without any history states
atra wrote the C# yeah
I just noticed this... that explains why my GMCM PR is languishing 😭
bump
Frames is about the sprite index
So let's say you got a 128x64 sheet and the widthxheight is 16x16
You would have 16 frames in this sheet, 8 per row for 2 rows
Frame 0 at 0,0,16,16
1 at 16,0,16,16 etc
uiis2 custom tree label names happening? 
wonder how thatll work with all the other random small mods adding trees O:
a sad excuse for me to distract myself from rewriting the experience bar component
Ah ok thanks Chu, I think I understand that
are there many mods that add wild trees
idk but i sure know that i am adding some lol
sve only did fairly recently tbh, I think it's a new thing
will they be moss-enabled
its better for small mods since they wont have to make UI2 add custom labels for them
O:
SVE's trees in town cannot have moss and that's fking criminal /lh
my localization for trees has been growing and I can't anymore lmao
when the green rain comes and I see a naked SVE fir/birch I wail in despair because it could have been green like the rest
oh absorbed, out of interest, did you happen to get UIIS2's tool upgrade status hud icon sprites working? i remember having a couple of bug reports on LOC for the frying pan GenericTool appearing as an error icon
PR it
it's not a big deal, just asking since you're around hahah
yours was the cooking mod? I thought I fixed that forever ago
is it still broken?
idk these funny labels kinda grew on me ngl
made the trees sound more mysterious xD
ah well the error/crash was fixed, previously I think it just failed, whereas now it works but can't resolve the sprite
I say 'now' but I haven't tested for a while
huh... remind me the name? I'll download it and double check
good lord what is that color scheme
love of cooking -- there's a tool upgrade available similar to the trashcan
i forgot to activate font settings to get rid of the awful shadow, sorry
i like to think its the cheeto dust coming through
tool data entries are here:
https://github.com/b-b-blueberry/CooksAssistant/blob/master/LoveOfCooking [CP]/assets/tool-data.json
but yeah, how this label thing gonna work O: is UIIS2 doing the adding or do content creators do that themself and should i really think about this past 2am when i should go to bed 
Blueberry did u know about token aliases
2am is peak coding hours
actually I fudged it in the past back when it failed, here's how:
https://github.com/b-b-blueberry/CooksAssistant/blob/master/LoveOfCooking/Harmony/ModPatches.cs
just add my custom field with the name like you would a fruit tree displayname (e.g. no "tree" part) and UI Info Suite takes care of the rest
check out the PRs above for reference
that's a trashcan lmao
rude 😌
but yeah i think it's just using the default generictool behaviour 、which is to draw the trashcan (the only vanilla generictool)
whereas it can instead use parseditemdata as in my harmony patch linked above for the correct sprite data

I wonder if I shoved it it wrong but there isnt really much one can do wrong with that few lines..
yeah for some reason whoever wrote the original method had it bounded to the index for trashcan if it's a generic tool. must have been pre 1.5 when all the item stuff changed
yet another reason the rewrite is important to me lol, lots of stuff that just isn't needed anymore
shit's crusty
it matched the default vanilla behaviour for the time, so i can understand how it became that way
thanks for fixing it up so quick!
np! yeah it's not that it was bad that it was done, but there's a lot of stuff all around the mod that was kind of just band aid fixed around as the game changed
i think me saying i like the unknown label made it stick /j
lmao

Anyone know if it's ok to use i18n within dynamic tokens?
"DynamicTokens": [
{ "Name": "sebastian_videogame_name", "Value": "{{i18n::SebGameName}}"},
],
... void i dont think the ui2 update is like, actually out
if you mean that you dont know how to make the label work in your game ahhdjs

///thats why absorbed is PRing the field into other mods now, and not after the update is released shhdsj
quick question! i'm working on a mod to change NPC names, and the current task is handling dialogue. upon looking through content patcher docs, it SEEMS there's no way to simply iterate over all the various dialogue files as a whole without specifying each file individually to be patched, even with tokens, so i want to verify whether this is true as far as anyone knows or whether i missed something, before i go do things the hard way (with or without content patcher).
so: is there a possible way to use content patcher to patch a collection of files matching some criteria (ie, every file in Dialogue/ containing a reference to Jodi, or just every file in Dialogue/), or do i need to specify each file as a distinct target?
well to my defense i am awake for almost an entire day, ok
To my knowledge, Content Patcher does not have any way to do iteration. No "for each". So yeah.. you will probably have to do it the hard way
i can by now laugh about my own constant confusion
What you want to do would need C# yeah
To be fair, it would probably also be a lot easier in C#
Void pls go to sleep
(I have two C# mods that exist only because CP can't do loops
)
(I have two also, for exactly the same reason)
First error text. Could anyone refresh me on how to fix this? (ignore the first sprite stuff I know what is causing it)
https://smapi.io/log/4e86500ec4dc467eabdbffc11619a3d3
i would but scope creep has me in its clutches
everything you say is based
awesome, i appreciate the confirmation! it's one of those things where like... i would hate to have simply overlooked something really easy before heading to the C# mines 
tbf 24h is pushing it but who would I be if I went to bed on time 🤷
{ "When": "i <= len(npcs)" }
funnily enough I am not even tired
Extra info: I have touched 0 code. I have only messed with my map in tiled
ah, tilesheet climbing
Yeah hah...I've dealt with this before but the fix has completely slipped my mind
you gotta slap hxw tilesheets into your folder
pathos pls
scary asset redistribution...
and when you release the mod you get rid of em like the vanilla tilesheets and add a dependency in the manifest
Okay so. I actually. Have the dependency in my manifest. So I don't know why it's fussing
that my silly brain does remember lol
tbh I've been very tempted to add more set based tokens
use C# for this. like others said, it's required for this kind of iteration, and it's much easier.
here is some prior art if you would like to see how i did it: https://github.com/ichortower/TheJClub
they still gotta be present in the maps folder while editing tho afaik or else youll keep getting the tilesheet climbing
hello friends, I have a question re: map modding.
currently, I am using both Delotti's mine retexture (which changes the interior of the mine to be green/changes with the seasons) and also Forager's Nooks and Crannies from Wildflour. I was attempting to make my own conversion/compatability patch for this, and I followed the directions on the Modding:Maps page on the SDV wiki, but I keep getting errors thrown saying that the tileset I'm using isn't valid (I exported the outdoors tilesheet from one of the vanilla maps and imported it into the nooks & crannies map). It's not a huge huge deal if I can't make it go, but I figured I always wanted to learn more about mapmaking and using outdoors tilesheets indoors is something I don't know how to do so I was wondering if anyone could point me in a direction to get started??
tl;dr: am I going to have to make a {{season}}_mineedit.tmx for each season's patch for the mines?
sorry in advance if this isn't worded the best I...am confused 
But if it needs to be in my maps folder, and it won't work when I have the dependency, won't the issue still be present when it's time to release?
hm maybe it's cus indoor tilesheets aren't affected by season? im not sure if mines is indoor
!log
Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.
Please share your SMAPI log file. To do so:
- Open this page: smapi.io/log.
- Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
- After uploading, it will show a green box with a URL to share. Post that URL here.
Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didn’t occur in your last session, please load the game to the point where the issue occurs, then upload the log.
send what error you got
actually you can already do that
"When": {
"Query: {{i}} <= {{Count: {{Relationship}} }}": true
}
where {{i}} is a local/config/dynamic token containing your magic threshold
though this wont include npc's with CanSocialize not being true
starts at:
StardewModdingAPI.Framework.Exceptions.SContentLoadException: Failed loading asset 'assets/Maps/MineEdit.tmx' from SMAPI\wildflour.nookscrannies: an unexpected error occurred.
---> System.Exception: Unable to load map with file path 'C:\Program Files (x86)\Steam\steamapps\common\Stardew Valley\Mods\[Sunberry]\Forager's Nooks and Crannies\[CP] Forager's Nooks and Crannies\assets\Maps\MineEdit.tmx'
---> System.InvalidOperationException: There is an error in XML document (3, 24).```
the problem is your map is trying to pull those tilesheets from outside the maps folder cuz you didnt put em there. its like when you take a vanilla tilesheet from directly your unpacked maps folder and thinking "oh but the game already got the tilesheets so it should work"
im bad in explaining shit
For the future, when mod testing, please remove non dependent mods so helpers can find things easier!
oh heck, ok, good to know >m<;;; sorry
this is incredible and amazing and i deeply appreciate you lmao
but you know to put those vanilla tilesheets you wanna use into your maps folder too, right
No worries haha I used to do it too
yeah they're sitting in me folder
that goes for literally ANY tilesheet you wanna use
Okay so...when do I remove them?
This is incredibly cursed and I love it
fwiw, I also used spring_outdoorsTileSheet and added the dot in front to see if that would work, and it remains static/doesn't patch with the recolor mods I have 
when you release your mod
My brain is not comprehending 
I think Void is saying when you zip your mod to release it, remove the tilesheets from the folder
as in do not include them in the zipped file
oh wait
heck >w<;;;
aaaaa it's so hard to follow conversations in here lmao
I would recommend doing the . prefix on the filenames and let Tiled use the dot.
SMAPI will skip the dot, and make sure it doesn't accidently actually use that file

i shouldve also probs used the command for explanation
and then when packaging, to make file sizes smaller skip them from the zip file
yes I did that, but again, it was using vanilla tilesheet
not the recolored
no I exported outdoors.tsx from a vanilla map and imported it into the cave patch map ;w;
!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"/>.
Yes, but then wouldn't. the issue re-appear? If I already have the dependency, why does it need to be in my maps folder. I'm not trying to be difficult I genuinely don't understand 
a ok ty I will look into this

i think that's for me haha
o
the asset pipeline / "virtual filesystem" that SMAPI will use to load the tilesheets, and what Tiled is doing are very different

Tiled needs them to be in the same folder, because when the asset pipeline is going to look for them, it will assume its all in the same "folder"
thanks, SinZ
my brains not braining enough anymore to properly explain things not in my mothertogue 
ohhh okay, I think I see. So just. don't. worry about it once things are completed? delete the tilesheets from my folder and don't worry about what tiled screams about?
I was for some reason under the impression they used the same grab method...silly me
SMAPI/Stardew will always load the tilesheet as Maps/{WhateverTiledSaid}
and SMAPI will yell at you if you try to do Maps/../somethingElse
yes, tiled only sees the physical filesystem
however, make sure you do not ever save your .tmx when the tilesheet is not present, even if its only a tiny quick change
Thank you, helpers! I appreciate the patience!
nod nod noted!
id always keep a copy of your mod without the deleted tilesheets at hand tho btw in case you gotta edit stuff. then you dont need to do the whole re-adding them to the folder etc stuff
gestures its 3am, water im doing
I don't do content/map authoring, but I would always keep them (with the . prefix) and just try avoid to zip them up

Can we help this person, now that my issue is fixed? I don't want them forgotten!
xml is corrupt on line3, would need to see what the file looks like
aba gave me the tip with having them in a tilesheet folder and also directly in my maps folder with a dot and then before release told me to delete em so thats what i go by because idk i believe aba is smarter than me in that topic lol
( @lavish terrace )
ah okok sorry I had tabbed out for a second
oh wait no I actually looked at the log for realzies
its due to the outtdoors.tsx file external tilesheet reference
YEP I noticed that while you two were talking 
embed the tilesheet reference to outdoors or whatever the term is
oh embed it?
the actual map makers can correct me here, but iirc tsx files are nearly always bad
<w>
sorry if this is a stupid question but what do you mean by the reference; the name?
or where it says source in tiled?
under image
yeah
Question: How difficult would it be to port a Solid Foundations mod to Content Patcher?
Mostly trivial iirc
Or does [SF] do things that [CP] cannot??
Solid Foundations was a backport of 1.6's buildings functionality, so would only need to tweak a few minor syntax things to align
Any chance there's a guide somewhere I (and any [SF] mod devs) can follow?
[[Modding:Buildings]]
Stardew Valley 1.6 revamped how buildings works and now you can add a new building with just Content Patcher. There are also new ways to add textures/skins to existing buildings that have advantages over previous methods. This guide will walk through how to use these features, starting from "put my new building in the game please". If your goal ...
god, i think im gonna go to bed. im not tired at all but i feel myself slacking
eep well!
i should finish this guide...
Tail between my legs....I'm still getting the error and I've copied the sheet into my maps folder...
@indigo yoke from the custom skills stuff you were sharing today, I got inspired to tackle what you commented on the forums about and allow people to make custom skill buffs in skillful clothes revamped, so hopefully you won't get any more complaints about the mods not working together! 
also in regards to your Delotti mine edit...I remember Dottie wanting to edit the same thing in the past but idk what came out of it so maybe you can ask Dottie for guidance whenever it is around?
if your SF building had skins pls look at this as well https://stardewmodding.wiki.gg/wiki/Tutorial:_Change_Building_Appearances
did you replace the sheets via tiled too
face palm
happens to the best of us
replace tilesheet
still get error
check tiled
forgot to embed the new tilesheet
mfw
okay if this doesn't work i'm. gonna go insane
Guess who is gonna go insane
:O is it you???
ok so I didn't get any errors this time but I have yet to go to the location in-game to check and see if it worked
butt we shall see!!
hey, at least we have each others company in being silly
It's still giving the error 
I think it's the same?
https://smapi.io/log/1eb6066fbc9e4235bb280d3b6e84067b
she also isnt showing up in cjb cheats menu
well, her sprite issues still persist so she wont be loaded until its fixed
Oh okay sorry I just read that part of my log -- I can fix that ez
im just a bit confused why the tilesheet climbing is still a thing when you put them into the folder alongside your map and replaced them in tiled
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"/>.
the bottom part
or delete those hxW in tiled completely and freshly readd them? but that means redoing your asset placements
I'll try that first
i also wonder what this the mod setting something to null is and the locations error 
Isn't that because of the tilesheet?
not sure, lets hope we get it fixed and then see if those errors still stay or not
well, it's displaying right ;w; but it's still the vanilla outdoors tilesheet for some reason :T better than nothing still, I suppose
do you still have the tilesheet in your maps folder
in the mods folder
no, there's no tilesheets in the mod folder
i tried xD
im just too tired i guess but good luck (to you too, sage)
Hello, sorry if this seems intrusive but does anyone know how to fix the flickering window tile at the Carpenter Shop and the missing window tile at the Saloon? I'm trying to edit an outdated town recolor mod, and I'm trying to figure out how to fix those two glitches.
Oh ok thank you so much!
Dunno about Gus window but probably the same issue
you can unpack the vanilla files and compare
the cursed window reappears
fairly sure it's animated in vanilla but the tiles are all the same so it's not visible
IIRC it is very vaguely animated with a fan animation only during the summer
Hey y’all, I was wondering if theres any YouTube videos or guides that can help me and my brother make a stardew valley mod were really struggling to make one
If no one can help that's ok 🙂
Video tutorials outdate fast, so there aren't many as far as I'm aware
Can always get help here, though!
what kind of mod are you trying to make?
There's no space after the !. But are you doing the command for ms beans?
There are a lot of resources you can read through. While a video might be easier, it is certainly still doable
yes
I'm living proof of this fact. Hearing there was no video tutorials had me shaking at first, but even though it was bumpy for a while, I managed to get my npc in the game (still a wip but you know what I mean)
Making mods can be broadly divided into two categories:
- Content packs are formatted text files, and don't need any programming knowledge. They can add/edit NPCs, maps, new items, shops, and more. To get started, see the list of framework mods, the wiki tutorial for Content Patcher, and there might be relevant guides on the tutorial wiki.
- C# mods use programming code to change fundamental game mechanics. See getting started with C# modding.
Usually it’s easier to start with making content packs, since you don't need to learn programming.
Also if any of you have that handy dandy info graphic on how to arrange bed tile layers in tiled. That'd be greatly appreciated.
I don't know where to find it but you can just experiment Sage it doesn't take long
And just look at a vanilla map bed
Ack alright
I'll do that tomorrow
......why didn't I think of that
My silliness precedes me
(I would offer you the infographic if I knew where it was but in the absence of that...lol)
A surprising number of people never think to look at vanilla as a guide for how to do things.
So you are not alone ^_^

Well we want to make a mod were asreil from undertale was in the game and had a story line in the game. 🙂
That'd be cool! You're looking for NPC documentation then
!npc
Keep in mind that making NPCs is a complex process that requires learning many different aspects of Stardew modding.
Here are a few links that can help get you started on all that you need to know:
-
Tiakall has a great tutorial on making a custom NPC for 1.6.
-
NPCs no longer use dispositions, check the wiki page for the new NPC data.
-
Aviroen has put together a template that will allow you to easily create a romanceable NPC.
-
Feel free to jump into the https://discord.com/channels/137344473976799233/1277457201077813280 thread for more interactive feedback and help!
-
Fireredlily has a WIP NPC Builder Please do report any errors you get with it into the NPC thread!
Ok thanks ill show this to My brother and will see what we Can Do

similar idea ngl but with arle
sdv is only written in C#
!startmodding though depend on what you want to make you may not need C#, just data files in JSON
Making mods can be broadly divided into two categories:
- Content packs are formatted text files, and don't need any programming knowledge. They can add/edit NPCs, maps, new items, shops, and more. To get started, see the list of framework mods, the wiki tutorial for Content Patcher, and there might be relevant guides on the tutorial wiki.
- C# mods use programming code to change fundamental game mechanics. See getting started with C# modding.
Usually it’s easier to start with making content packs, since you don't need to learn programming.
What programs do any of you use to make mods with C#?
the getting started guide above has more info
usually (on Windows) you use Visual Studio
if you are making a custom NPC, i recommend using content patcher and not bothering with C# unless you discover some arcane shit you absolutely need and can't do any other way
(you probably don't need that stuff. and if you are asking about what programs and language to use, you don't have terminal programmer brain that would make you want to use C# for an NPC /lh)
Alright, I looked into it: Nope, I'm in over my head, I have no idea how to port this [SF] mod to [CP] on my own. Gonna need to practice making my own building mod in [CP] so I can understand the framework better before I try porting someone else's mod...
Which Visual Studio template should I use, and is it the best for Windows?
seconding ichor that you don't need C# if you're making an NPC (scrolled back up to your previous posts just now)
what exactly do you want to do beyond just adding a new character that has their own dialogue, sprite, schedule, home, and heart events? because that's all doable without C#
however, you should install a decent text editor for editing your content files (Notepad is not decent). Visual Studio Code (sadly, not the same as Visual Studio, thanks microsoft) and Notepad++ are popular choices
That's mostly what we're doing
+1 for Notepad++, my JSON editor of choice.
Also keep a tab open for JSONlint
i have searched and searched and i cannot find an answer 
i'm trying to make a custom animal house, but i cant figure out how to make the feeding bench function or how to add auto feeders? i have the feed hopper included but i cant find anything on what else needs to be done
