#making-mods-general
1 messages · Page 212 of 1
Oh rly what are the missing features?
the Skull Cavern music
normally it uses LavaMine.. but with CM i had a LUA code to change it
Ah did CM unhardcode mines and skull cave
can't do that with CP for now
I'm aware of these tools of course, but they're very lossy and mostly just end up creating more work at the end of the day.
Probably not that bad to roll your own
I'll use an analogy to localization vs. machine translation, with localization you have to actually work through the nuances.
i just folded them in to the LavaMine.. so now you have 6-8 tracks available for LavaMine and onward
The thing atra had/i yoinked is just a python script that converted the html generated by md to bbcode
Usually gotta tweak afterwards
I have to change SVG images to PNG, deal with all the places where I can't use custom CSS, deal with the lack of admonitions and footnotes and all the other missing features, etc.
It ends up being less work to just rewrite it from scratch, sadly.
MD and BBcode doesn't have too many differences.
Anyway, I've got it saving now, so that's not nothing.
Markdown and bbcode have enormous differences, like two generations of differences, three if you consider mkdocs with all the plugins and extra features.
If i had lost part of my mod page while making it I would have ceased to be
Well, of course I'd never be so foolish as to have my only copy of the text in a Nexus form, so I didn't literally lose hours of content, just all the careful formatting and tweaks.
The actual sentences are cribbed from the mkdocs and github pages.
I have WTDR uploaded to nine websites, so I always have backups.
does anyone know what the hexadecimle is for the squirrel screech?
like the little squirrel that jumps out of bushes and trees into other bushes and trees
found it
Is this how to format the OpenSound for editing shops?
"OpenSound": "000001a8",
@ivory plume Everything seems to work so far in the Automate PR. I have resources being processed by a machine next to the empty blue chest (with its own global inventory id), being sourced from the black chest, and they are connected in a third separate location.
I'm sure we mentioned before that NPCs change into their beach sprites using the changing room on ginger island so you can't just warp them there and expect the sprite to be different.
It takes a special kind of talent to be this bad at formatting. "Hey, this image is a little taller than the line of text, so, I know, let's render it several pixels above the text to make it even more obvious."
How does the global inventory detection work?
Does it have to be a Chest
LifeHack: Adding ModData to NPC's to make note that they need further processing later down in the code. Thx for ModData, like a year later!
Chest, placed in a location, associated with the GlobalInventoryId
I wonder if that works for roku's collector
Unsure if it is chest or just bc that opens
I just realized it's not propogating changes from chests in one location that are connected through global inventory ids to chests in another location
Okay yeah, the other thing I do is keep the Nexus page simple and redirect to the github
Anyways
New event!
Time to do a crossword when I go home
i don't remember that part thank you
We advised that if you want to see his beach sprite in game you should target his regular sprite and that if you just want to check that you're correctly targeting his beach sprite you do a patch export.
okay okay... i'll do that
I'm so confused about how you don't remember this. This conversation was only yesterday.
i do remember and it is unnecessary to say
thank you for helping previously, i only wanted to double check something
I'm sorry, I'm not saying it to be rude, I just wasn't sure what was happening.
the people yearn for GIMA
The people are going to get an appearance debug command instead
is this another feature for event repeater
if "Include" can have only 1 field (Changes)
why isnt it just a list
i feel like ppl trip over accidentally having Format in a include semi frequently
implementation details 
the only reason i complain is cus i want to save 1 layer of indent
think of all the you can not have
My autoformatter and me are in a war
saving ppl's ssd and ram trust
well, i already use 2 space indent for all content packs
I put all my jsons through a minifier before uploading
Are you serious
no
Tbh I've considered making a content pack autopackage tool
Automatically stripping the config.json and my gimp files
well, i did kind of want manfiest builder but for content packs
my ass forgor to incrememnt bc khloe spoiled me for C# mods
Lol
My new NPC creator isn't really going to just be for NPCs
I'm trying to make it capable of doing everything individually
So it will let you make manifests for things
you will have to read other people's framework custom models then
won't really be like that
then i cant use it for my purposes 
I can just see all the common things and even give you a way to customize it
it is a different usecase
example pls
well i have frameworks that have custom models and i make content pack for them sometimes
so you can just use the custom feature
when i have time i will probably just make a cli tool that packages content packs for myself
instead of selecting from a list
or setup a csproj
i dont think i am the usecase your tool ought to cover in the first place 
i am trying to accomodate a lot of things
then ideally you detect custom models from ppl's installed mods and generate schema from it
for a manifest?
for your general usage NPC and other stuff creator
if the goal is to make it a GUI for content patcher
nope
It comes with a Dialogue Editor, Event Editor, and easy way to create schedules and animations.. which some of those things can make mods individually
then i dunno, i have no opinion bc you didn't specify your scope
were these not part of the npc umbrella before
yes.. but using my tool it has made people make less mistakes that are technical
the human error is easier to diagnose
hm then i think 1 additional area you probably want to support is trigger actions (Data/TriggerActions), and maybe Mail
I will be adding mail to the new one
besides that maybe some mod provided dialogue key (spacecore/BETAS)
I don't understand Trigger Actions yet tho
they are like, because 🌞 happened, and there are no 🤡 , we shall now proceed with 🍎 🍊 🍌 , we will either do this only once, or everytime 🌞 happens without 🤡
none of it makes sense until I actually use them
i am busy with a lot of data collection right now.. and I'm rewriting the whole thing.... it will be a bit before I think about trigger actions
in this silly description, 🌞 is Trigger event, No 🤡 is a GSQ that returns true or false, and 🍎 🍊 🍌 are actions which are effects like "send mail"
very common usage is for new npc to send you a mail only once to tell player that hey i exist now
yea i am just gib off hand example 
@calm nebula I regret taking a peek at how VintageInterface2 works internally.
86 of the 107 patches on cursors aren't even "Oh load a small image to put on cursors" its copying a section of their fully redone Cursors file and putting it on the cursors asset.
And the vast majority were unconditional too 😦
(does mean because the source image is read so frequently caching the file io might do something purely due to how frequently the same source asset is being used)
I need to also actually play the game..
helps me out knowing what's up
i really haven't played the game since 1.4
sinz what if u write a edit image optimizer that reformat a content patcher pack to have better edit image layouts 
This is the NPC Creator right?
I just hope for empty Smith machine lol
yeah.. i'm making the code more efficient.. basically when you decide to make a content.json, it will look at what you have in the project and create it from there... it won't be locked on an NPC
easier for me to just make smapi or contentpatcher do that instead
if you do that would you save the resulting optimized content pack
or only perform the better edits directly
only perform better edits directly.
For example if theres 10 edit patches all in PatchMode.Replace, the last edit wins for the region it selects, so don't need to bother running the earlier ones for the same region
for the other patch modes need to be a bit more careful and do things properly
doing the NPC Data will hopefully be a little better than before
the reason why i was thinking "save optimized" is cus in VintageInterface2 case you'd be able to change a lot of these small patches into 1 patch on a recomposited image that has alpha in every never changed reason right
unsure if this is perhaps too specific
It becomes slightly more complex due to a single CP patch can only select one rectangle and cursors is spaghetti
I think the more global change to avoid get/setdata when possible is the direction I want to head
And I think it's possible to maintain the current api and still do that
But I want to prototype it first and well
Uh
but yeah my first performance attempt will be a SMAPI patch for optimising AssetDataForImage.PatchImage
#making-mods-general message is this new interface understandable?
I knew you added an NPC event creator/editor but I didn't know if I was remembering wrong.
It's not bad, what application are you using to design it with?
VS
I was considering learning Godot to make a multiplatform version.. but I can't seem to get into it
I'm sure someone who is familiar with it would help one day.
it's more of a time thing for now
I have a job now so a lot of my time and energy goes to it D:
Yeah, I know that feeling.
I got me a new lappy so I can do some stuff at my bed when I'm off
but I'm also interested in trying to design my own game
tho all the people I consider friend keep trying to tell me not to make it
That's not very nice of them 
each of them specialize in one aspect of game creation <.< while I'm not a master, I am capable of doing most the tasks alone
pretty sure that makes them nervous
They also don't like the style of game I'm trying to make.. tbh the idea is antiquated but that's what I like about it
What's the idea.
Can i take it to your DM.. it breaks off topic
Yes, of course.
Marriage schedules: Is there any way of telling the game that the spouse should wander around the farmhouse (like they do by default) up until the schedule tells them to leave?
Also, I've read in a couple of places that the spouses tend to do their fun activity (Sebastian working on his bike, Elliott reading his book, etc) on Saturday, but is that specified anywhere in the configuration? I can't find it
its not specified anywhere configurable
dang it dang it
But is it mostly Saturday?
I can at least schedule around it
non-rainy, non-winter saturdays
Dang, the first random person wanting to translate a mod of mine is an offer to do it with chat-gpt :/
Thank you so much!
Ouch
i believe there are some things that might have higher priority than the patio sometimes
but i dont really know how to parse marriage duty code very well
Sigh, some people suck.
but i can say with certainty that those are the only kinds of days they go to the patio
also only if its the host's spouse and only if the NPC isnt Krobus
That's exactly what I needed to know. Looks like I'm moving game night to Sundays!
The thing is I woulda changed the license on this mod to be more permissive if it was someone offering a real human translation and even worked with them to actually make this mod i18n compatible (I got lazy don't come for me)
But not for chat gpt
thanks! i'm not getting the error anymore, however crops (tested parsnips and tulips) are getting harvested to player inventory even though it's set to TinkerInventory
Oh i see i forgor to delete 2 lines of code
I'll fix it in 1.5.4 but that's probably next week at earliest
I need to make this spaget less spaget properly
Something i was thinking of making is harvest for artifact spots and harvest for weeds, if you want those for your mod update u can wait for me a bit 
harvest for weeds
Isn't that basically fiber seeds?
Oh it's more trinket stuff.
Yes 
(Not that I'm minimizing trinket stuff, I'm just almost done with my runs by the time I get them)
It took me much longer than the rest but i finally made the mule trinket you suggest
I suggested a trinket?
Wow, 7 months ago.
The actual implementation ended up being "your little guy has a global inventory you can access with a button (soon to be registered to iconic/star ctrl)"
And you hire this little guy from dwarf so she doesn't actually take a slot
Sounds interesting. Kind of a portable junimo chest then?
It's not shared between trinkets, i used global inv to dodge chest nonsense
Star control api is stable right, I'll probably just do that now
lame, shoulda used list of string encoded IDs + modifiers in a moddata field /lh
It should be. I've drafted up the Nexus page already and just trying to figure out exactly how I'll cut over for the update. Not actively working on any code or received any more bug reports.
And by "drafted" I mean "basically given up on trying to fix its insane formatting".
you gotta put the letters in the boxes
BRO IM GOING FUCKING INSANE WHAT, I SET THE SOUND TO PLAY WHEN THE SHOP OPENS, THE SOUND ID IS 000001a8 and when i go check the files ITS RIGHT THERE
AND I GO GET THIS ERROR [game] Can't get audio ID '000001a8' because it doesn't exist.
that is not even close to a valid sound id
its a hexadecimal
which is not even close to a valid sound id
😭
i also dont even see it on the wiki page that lists all the audio ids
i dont either but when i unpack the audio id's its right there
Uh
how do you even know what it is then
i unpacked the audio?
Are you sure you're looking at the right thing
that doesnt tell me how you know what "000001a8" is supposed to be
they're in .wav files
i will just scour the wiki for the sound i want
I think button just said they looked at the wiki page and it wasn't there
[[Modding:Audio]]
i think the part of xact that does have all the mapping isnt unpacked by unxwb
solved a crossword, became pink 
what is the audio ID for Parrot then?
well if you ctrl f on that page for parrot you should find it
or just browse the list
its easiest to look in decompile
i tried using both the decimal and hexadecimal and neither worked and it doesnt have the ID listed
...
got it to work, ty
😓
oml its so annoying not having descriptions for these, im going to fill out as many as i can when i get this done
Is it possible to use revealtaste in dialogue to show a random loved item for an NPC? Or maybe I just need to make a randomized list with a bunch of options?
I think you could try using the random token but I think you would need to list them, yeah. Unless there's some way to actually grab the data from npcgifttastes to auto-populate a list.
Not without c# BUT
The game does that already
The random friends and family gift taste dialogue lol
Don't look at me
What random friends and family gift taste dialogue?
don't make me tap the sign
The game will randomly sometimes assign...
Yeah, is there a place I can read about that in the modding wiki?
I love friends and family
Oh no, what sign
Please tap the sign bluebs so I know what sign you mean xD
How does this get triggered? Does it override normal daily dialogue?
atra blink twice if you need help
Not what I was expecting but thank you
Tap tap
Why is daddy in air quotes
Alternatively, please give me a hint about where to find this in the decompile and I will attempt to peer at it myself ^_^
there's an infinitesimally small chance to add a random loved item dialogue to a character's daily dialogue
I mean my sanity is questionable on a good day but I think I'm fine now
i didn't setup any testdata to fudge that and it took me a solid 15 minutes of reloading to get elliott to say unspeakable things
When you could have just called the method yourself
Thank you for your service 
this channel is for asking questions. but different questions. not that one
I’m interested to see how many of you will become pink
same (but it’s 4am here)
@uncut viper This is the file I was talking about
.
do .wav files not work in discord?
OH COME ON
damn audio files dont like me

its from the wavebank.xwb
What is fhat file even supposed to be
idk where it is used in the game
sounds like a cat or something
im not sure how to describe it
anyway im going to go do these descriptions
actually nah im too lazy to do all that
i need to find this damn sound effect
Why does the game asset repo need my IP address?
I don’t know what the game asset repo is but that sounds suspicious
its something from pathos, if you have the mod author role you have access to a github repo that has all the game files for easy access
Oh, then if it’s asking for your IP that’s GitHub
Idk why GitHub would be doing that when presumably you have an account
Probably to prevent spam ?
Yeah but you can only get in through invite
Or rather, to prevent someone from making a new account to pretend to be a new person
These are almost certainly the defaults GitHub sets
You can try looking up why GitHub made these choices
.choose small, normal, green, color, code, other.
Choose result: other.
.choose actually do the thing i need to do, stare at wall
Choose result: actually do the thing i need to do
darn
.choose actually do the thing i need to do, stare at wall
Choose result: stare at wall
I figured I'd get more practice actually reading the game code before I ask for access to the repo since until I can it won't have much use to me.
All of it is unpacked
Is it? I thought it was just the decompile
there's content in the repo too
but the things in repo and thing from ilspy is basically same
Yeah my only interest in it was if I wanted to look at things when on my laptop
dude im going fucking insane, i re-unpacked the audio files in case the file i was seeing was a mistake and it was still there, and its not on the wiki, and its hexadecimal doesnt translate to anything
yes.
i re-unpacked the audio files
it had the same hex
im looking at this url https://stardewvalleywiki.com/Modding:Audio
Same thing
but its hex doesnt translate to anything
this is what it translates to: ���
why did i read the readme to unxwb
a lifelong love of words
a love sorely unrequited.
it is from the wave bank (not 1.4)
(The hexadecimal value is just its index in the soundbank, it's not an encoded value.)
Hey so I’m attempting to make a standalone mod that’s just the SVE Infinity Weapon buffs and I’m have no idea what to do for content.json
Turbo noob here
i keep reading that as "uwuxnb"
No it’s just stat rearrangements
oh, well the file may have been missed when adding the 1.6 audio files, can someone add it to the wiki?
Nothing truly custom
!startmodding start here then
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.
(you want the Content Patcher stuff)
what do you mean sve infinity blade buff
do you just want to make the sword stronger?
There's a script on the talk page which lets you re-export the wave bank data (basically the tables on that page), in case you want to update it.
What do I put that script into?
Does anyone know a better way to position menus to be consistent with UI / zoom scaling besides what Im currently doing? (Setting the pos x and pos y, then scaling them to the zoomlevel and the inverse of the UI scale, both to the one and a half power)
Its been working for me, mostly, but feels really odd
the better way is to use Stardew UI
other than that its trial and error and good luck
though i cant say ive had to do any scaling like that before
(i havent done TOO much ui stuff myself though, for a while)
Put the code in a C# mod. It'll print the output to the console when the game launches.
Alrighty, Thanks anyhow 🙂
vanilla ui coding is just hell and fun™
I don't have VS... I will just figure something out.
darn, that script really works
your 01a8 hex code is for a sound named Raccoon by the way
Oh, ty!
i'll update the wiki page with the mod output
what would you call {Artifact Spot, Seed Spot}
whats the context
Wiggly spots
are seeds wiggly?
I call one wiggly worms and the other wavy grass
the mystery seed spots are wiggly
I assume these are the two chu meant
🪱
ToolActionableTerrainFeatureButNotTreesOrBushes
i thought it was for hoedirt that had seeds planted in them
those are objects
i mean, yeah, but idk what {Artifact Spot, Seed Spot} is for out of context
this language is doomed
i wouldnt call the things you hoe up a seed spot
oh seed spot is the actual item id yea
there are many times where i find it best not to follow in SDV's footsteps
the hoe stuff just check these literal id if (base.QualifiedItemId == "(O)590" || base.QualifiedItemId == "(O)SeedSpot")
i was also reply to blueberry anyways
maybe i just call them DigSpot that seems fine
Do Bus Locations, Train Station and Central Station all play nice when installed together?
ya
basically if u have central station
bus and train locations get onto same dialogue menu
destinations added by BL/TS will appear, just marked with Bus Locations or Train Station prepended to its name
but if u r add support in new mod do just add it to central station
there's a bunch of Utility.ModifyCoordinateFromUIScale you can use for matching cursor pos to menu pos
however, i was under impression that if you use IClickableMenu you don't have to do anything about the draw 
unfortunately i can't edit the wiki since i haven't edited the wiki enough, so if anyone would like edit credit on updating the wiki's audio page for 1.6 soundbank changes be my guest:
https://stardewvalleywiki.com/Modding:Audio#Track_list
includes (hopefully) all descriptions already on the page
unfortunately i can't edit the wiki since i haven't edited the wiki enough, so if anyone would like edit credit on updating the wiki's audio page for 1.6 soundback changes be blueberry and i's guest
i think it's probably too many changes at once
it is indeed a mass edit by a new user exception
would they prefer i add the changes one line at a time
yea we only accept handmade artisan wiki edits here
no wiki slop
dig spot?
yea i went with that
inverse square sounds like a novel method, try using Utility.getTopLeftPositionForCenteringOnScreen(this.width, this.height);
there's a few ways about it though depending on how you build your ui, so do whatever works. there's no standards
unfortunately the wiki page source is sorted alphabetically rather than by wavebank index, otherwise we could very easily do small edits to append new soundbank entries
may as well just wait for someone who's made enough edits to come along and post that edit 
why does that mean you cant
does it actually count moving everything down a few lines as one big massive edit, surely not
!twocakes
If you discover that someone has made or is making a mod with a similar concept to yours, don't stress! Our community promotes the idea of "two cakes", where two versions of the same idea can peacefully co-exist. Your mod will have your own unique stamp on it that makes it special.
yeah but why would someone want 2 mods that do the same thing
hmm my optimisation appears to have done an oopsie
people are free to pick whichever one they like more
because they likely won't do it exactly the same
Some of the best tasting cakes I've ever had have been the not good looking ones
oh so i just have to be better
(Wow I am tired lol)
i don't think it's wise to see it as a competition lol
i preferred the original honestly. very befitting of the two cakes mantra
pre edit was cinema 
TBH I didn't even question it Khloe I thought you were just going for a nice truism
Nah I am not in some kind of witty thing is thing mood I am just sleepy
Oooo how exciting! I got an email! Let's go check it out- its spotify spam.
weapon rebalance mod...
"holy shit, one tautology"
hey blueberry what's ur modding wiki name so i can credit u with the mass edit
surprisingly it's Blueberry
neato, and it's an update for the 1.6 tracklist?
Oh and also @uncut viper @lusty elm I didn't give up making that farmers market mod! I just downgraded it a whole lot. https://www.nexusmods.com/stardewvalley/mods/31670?tab=files
yep, straight from pathos' c# export script, updated with existing descriptions 
- there are pretty much always going to be differences, one might have 100 options, one 10, the 10 one is often going to be more approachable, even if some would see the 100 options as "better".
- regardless its also about learning and improving your own skillset, something you learn doing it will likely help you down the road as well.
- the users will use what the users use, as will mod authors, everyone has their preferences.
- even microdifferences like your mod being published in 2025 and the other being updated last in 2024 will often be seen as more reliable.
I did not mean to spur this conversation
(make sure to double check what you're replacing, the track list is long but does not go to the bottom of the page)
Very sorry
nothing to be sorry about

I'm only editing the one section that blueberry linked but I will double-check I don't lose any content!
i'm afraid the bakers are out in force now. we're going to be buried in cake
As long as you use Profiler, which I don't think I have competition still, you can use whatever else idc
it's a long section I use didn't want you to get the tempting urge to just Ctrl shift end 
I just didn't*
now you're making me doublecheck that i didn't do that 
i didn't and it still blocked me
I THINK the copy/paste from blueberry works fine if i'm only replacing the track list section
The pouring ran over the last like 24 hours has completely sapped all my energy... but i should do something...
measure in ticks and not milliseconds
yeah it's only for Track list
ok i did the edit, let me know if I messed up lol
looks good! thank yooou
thank u for ur wiki contribution 🫡 the other week i was reading the audio page and going "darn, i wish someone would update this for 1.6"
well noone told me there was a script to do it for me lol
sooooo real
maybe someday the 1.6 guide will finally find homes in its respective pages
if only there were a script to do it
tbf how would I even really know it wasn't updated. lemme just check the audio page for a list of IDs so I can check if any on there are missing from the audio page
i knew it wasn't updated cause of the cursed_mannequin sound i saw in code being missing
I did a decent chunk of it before I got bored. It's kinda relaxing especially when you're making new pages rather than merging into existing ones
sometimes i contribute content to a modding wiki page and i'm like "wow. my civic duty to the community" meanwhile i have so many other obligations that should probably take precedence 
Mine outputs to Speedscope and supports threads, but it's highly specialized and not a standalone/general-use mod.
Most users probably don't want upwards of 50 MB of profile data generated per second.
@acoustic summit Hi again!! I had a few more questions/ideas as I chip away at sprites if that's still ok! 
-
Could it be possible to spawn a few different critters together? Say, different rats/birds/pokemon (looking at Flabebe specifically atm--would love if they could spawn with multiple colors in a group!)
-
A way to make spawn rarity vary by season? Like making them rarer in the Fall/Winter?
-
If a critter is set to follow but not attack...will it still follow? Bc friendly following critters, if only for x distant, would be pretty adorable (if not a little cheaty with catching them 😂 )
Sorry for hitting you with so many questions!
Oh snap yeah I'm seeing that now-- looks like I get to learn more 
[[modding:game state queries]]
For the first two they can be done using some trigger actions and GSQ stuffs. (There is a trigger for creatures spawning, which passes the name of said critter and the tile, compare that and then use the action of spawning a critter with tile nearby)
did you do any cycle check 
Im not sure what a cycle is
haha
For the last one though I'll add in a separate option for the creature to be a friendly follower 🙂
prevent people from spawning infinite Bug because they trigger actioned on a Bug with additional Bug
though ofc if ur action spawn Bug do not raise trigger then no cycle is possible
i am curious, did you add a way for content packs to actually check those passed in arguments?
or is that for C# gsqs only
Does anyone know if I'm modding the Town map and made a building but now tall grass grows through the building tiles, can I do anything about that? Is that a map property?
!rtf
Reset Terrain Features (https://smapi.io/mods/#Reset_Terrain_Features) is a mod that lets you reset, clear, or generate everything that spawns on a map using an in-game menu. That's especially useful when changing maps mid-save, as the debris will otherwise use the old layout (causing things like trees in the water or bushes blocking exits).
oh, is it because it was already there?
if you are making a mod that edits town map, first of all don't, but secondly you can use a trigger action from BETAS to remove stuff at where you plan to put building
My CP view of some of this is limited, since I haven't used GSQs or Trigger Actions in my mods. I kind of assumed CP could access the arguments passed in a trigger, unless they can't? In which case I don't know why are they bundled
they cannot. a custom GSQ can access them
since nitv bugs are items, what i'd recommend is to use the Input/Target scheme
(important to note that its not a CP limitation either, someone using your triggers in C# would also not be able to without writing their own custom GSQ)
you could also be the one to provide said custom GSQ
Is the don't because of all of the festivals?
So when you are doing things, check GSQ like this
GameStateQuery.CheckConditions(Data?.EnableCondition, player: owner, inputItem: Trinket, targetItem: Trinket);
(pretend trinket is bug im too eepy to edit)
make custom GSQ that acquires the inputItem/targetItem like this
!GameStateQuery.Helpers.TryGetItemArg(
query,
idx,
context.TargetItem,
context.InputItem,
out Item item,
out var error
)
idx usually 1
if you are the one writing the GSQ you dont need to do the input/target thing
but u r make the GSQ u do what u want (as long as u doc)
you can access the custom data
doing it like this let you use it in more places
but makign them target/input items does mean other GSQs can have access to them, if it might somehow be useful (like BETAS ones)
machines for instance
And I forgot to mention @deep cypress
How would I go about making a custom GSQ which accesses the arguments in a trigger? Or would that be me updating some arbitrary stored data for a GSQ to reference each time the trigger occurs?
still, for a custom GSQ you might as well get the data directly since you also mentioned passing a tile
for trigger raise do it like this
TriggerActionManager.Raise(
TriggerEventName,
player: proc.Farmer,
location: proc.Location,
targetItem: e.Trinket,
inputItem: e.Trinket
);
(as in, do both, custom data and input/target stuff, but in your own gsq just get the data)
a GameStateQuery delegate gets passed a GameStateQueryContext parameter which should hold your custom data
I don't think I could pass Bugs as item, unless I was only passing the item version of them such that they could check its name
that would be the idea
well you can also choose to just pass the bug in CustomFields
if the item ID of the bug is their name then they can use the existing ITEM_ID GSQ to check it, for example
thats fine if u r like "im never using this GSQ anywhere else"
but hm, if u do that maybe just cut the Data/TriggerActions middleman
well you still want the trigger
not if you just let ppl put in a list of actions on the model 
you still want the trigger
the point of the trigger is to let mods react to a thing spawning
whatever mod that might be or whatever their intent is
yea im not saying to stop raising the trigger
im not sure what middleman you're talking about then
but for the narrow case of nitv spawn -> a follow up nitv spawn
you dont have to round trip to data/triggers
cus it's your mod u do whatever
i still dont know what you mean
neither the trigger nor the GSQ are doing anything in the middle of anything
Could it be possible to spawn a few different critters together? Say, different rats/birds/pokemon (looking at Flabebe specifically atm--would love if they could spawn with multiple colors in a group!)
this is the desired feature
Its 4 am so my brain is a bit fried, but this has been super helpful info that I will use to make those parameters useful so thankyou both so much
oh, i was speaking generally and not in the context of that specific persons request
i understand now
yep i get that, and it's good for u to do the trigger stuff nicer too
prob also still good to have a GOT_SPECIFIC_BUG gsq
There is a GSQ for a specific bug being spawned, my main concern is conveying the info on it's tile
that GSQ you currently have wont help with the trigger
if you have the data in the Trigger being raised, then you want to be able to react to that bug, so you need a way to access that data specifically happening at that trigger
So some combo of a GSQ for last bug spawned (Or input item as item of creature) and using custom fields for tile, would allow for example that requested use case
My mod has been up for an hour and it has 0 downloads and 0 views, how can i attract more people?
this isnt being pedantic but is just actually core to the idea, but its not just "last bug spawned." its specifically "the bug attached to this trigger"
you need to make sure the GSQ is looking inside the data attached to the trigger and not just at a list of recently spawned bugs
There, Hopefully that fixes that issue... I noticed my submaps for Forever Falls were showing up on other farm maps as valid options, so i put conditions on the loading for them, which caused multiplayer incompatabilities i believe, so i ended up removing all the conditionals from the loads, and removed the CanBuildHere T from the maps and added THEM back as a conditional CP patch to each of those maps based on the Type name of the main farm map. :p
Festivals aren't a concern iirc, they are on a different map
You do get some lack of immersion tho, if your building aint there
The more general thing is that lots of mods put their houses in town
It's just for me and I edited all of the festival maps so I wasn't really worried about it
It's just a compat concern that you can choose to ignore in favor of whatever mod list you got
True that, even if they should be synced I should be going for this effect. So read up on context / delegate stuff and see what I can do.
Town is the most popular thing to edit, so it causes incompatabilities, and sometimes adding stuff used to break pathing for NPCs, which would break them, I dont know if the NPC system got more robust in 1.6, but it used to be you could blow air in their general direction and they'd break.
there isnt actually really anything written on the use of custom data in trigger contexsts specifically, but looking at the Context stuff in ilspy will help
custom data using the actual triggerArgs array is not very common for basically this reason
I still think if it's an intramod thing you r probably better off with just regular ol C# event 
.choose small, normal, green, color, code, other.
Choose result: other.
Maru's Robot really doesnt want me modding atm.
i dont think triggers are intended to be an intramod thing
.choose yes, no
Choose result: yes
well there is your answer
I don't know. I guess I just wasn't that worried about it since it was just for me. I've been playing since 2016, so I'm pretty confident about NPC paths. I don't post mods I make, but if I ever do I'll watch out for that
you can have both internal stuff and external trigger
Bump
Just up to whether u think it is a core feature to be able to have spawn groups
I don't use any of this in my mod, its meant to be utility for CP and C# mods as access points to spawn and do things with the creatures.
It's a framework so by definition you don't use any of it though
It is more like
- Offer series of Trigger GSQ Action to do dynamic spawns
- Design your own system for dynamic spawns, which you expose on some data model of yours
You can do 1 or 2 or both
i dont think doing 1 is "better off" than doing 1 AND 2 though
how can doing more than 1 be worse than just doing 1 here
Improve the Description, both Shorthand and Long version, add more Images to show what it is and showcase it, respond to comments if there are any.
And honestly, Don't worry about it, some times of day are dead for people looking at mods, some days of the week, don't judge it on an hour, at least give it a full week.
Some mods also are naturally going to have less downloads, especially if its something that adds a map, or is based around starting a playthrough.
For example, a Farm map, you can only have 1 and it defines a playthrough, its naturally going to get less downloads than a mod that makes the barn look different. Some mods are also naturally just way more used, like recolors.
dev time
the least dev time is doing nothing
Or like you didn't think of any good reason to do 2
Huh, alright. Thankyou!
Honestly i think sometimes i jump right into doing 2 then go hold on 1 would have done it
(also i actually meant to swap 2 and 1 in my post woops)
In that case the argument for 2 is "greater control over the behaviors"
right but my argument is "you can have that, AND still do triggers"
which is like necessarily better
bc adding triggers does not take away from the C# events
Button is there any potential spaget with registering trigger not at game launched
Well that part is c# so probably fine
i would often register things in my ButtonPressed event before i set up my automagic to do it for me
id just ad it to my F2 debug key to register it if i realized i forgor
I was thinking about this cus
same with queries and actions
I have 1 singular trigger atm
Potentially raised by some trinket
And people need to do a gsq to restrict it to that trinket
So what if i just let ppl give me a suffix
And register+raise that trigger
yeah theres no issue there
Yey
register freely
be unbound
the only thing i know and use that i know restricts to gamelaunched is CP's api
I didn't think about this much cus 1. mostly just one slot previously 2. actions is more direct than trigger
On Tiled, if I use a TileData to make an action to warp, is there any reason it wouldn't show up when I test the game? There's no action for the square I put it on
is there a tile placed on the corresponding non-object layer
yes
have you checked theres no other patches potentially overriding it
if there isnt then idk enough aobut mapmaking to debug further all i really know is the "you need things on both layers for tiledata to work"
Did you name it TileData
Yes, no extra spaces or anything
You can use Lookup Anything (tile lookup on) to check whether it applied in game
If it's an action warp your cursor become hand when u hover
yeah, but it doesn't
It's not applied then, guess you have to dig through patch summary to see who else patch there
Do you see other visual aspects working
yeah, everything else is working. just the action warp
I even tried copying and pasting an existing one into that spot to see if that would work but no luck
You definitely used Buildings right
definitely on buildings
And in game there is a buildings tile there that isn't passable
yes
is it some cursed town tree problem
Some GameLocations just have special tiles that are hardcoded
I'll try to move it and see what happens
I don't know if Town trees are special, maybe
can you send a picture of your tiledata
is it normal that the X, Y, Width, and Height are not like, integers
95.67 and 976.17 is your problem, same with height 16.33
im gonna guess its not
Worked! Thanks! I must have grabbed a corner on accident at some point because that one was just a copied tile from Sam's house
.Choose season, code, game.
Choose result: game.
hi everyone! i'm completely new to modding and i was told i could find help here? i'm trying to add a new location to the game accessible from the community center, and i've had issues editing the community center map
you chose like one of the more notoriously annoying maps to edit
oh man 😅
this is my content file at the moment. i'm able to debug warp into the new location (DeadBoyAgency) no problem, but when i try to debug warp into the community center edited maps, i'm unable to move around without being kicked out to town. when i enter the community center like normal, i don't see my changes
!json
JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.
If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.
When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.
!log a log might be helpful too even if it might not show anything obvious
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.
can you start by describing the goal of your mod in more specifics? the more specific you are the more we can aid you in doing exactly what you want to do.
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Pro, with 3 C# mods and 1 content packs.
sure. i would like to add a room "above" the community center that is accessible by some fake stairs i tried adding to the community center maps
like do you always want it accessible? is it only when its completed? why do you want it linked through the community center, what is the goal of the room, etc.
always accessible both when completed and before, and i chose the community center for funsies which i guess i could change to another easier map lol. the goal of the room is to be like a secret attic of sorts i guess
i'm unsure if the edited community center maps are even being loaded into the game
i've tried using both load and editmap and neither has appeared to have any effect
are you 100% sure the file you are editing is actually the one in your mods folder?
because i dont see it editing communitycenter in the log at all
But I don't see anything that would make it not
well, actually I do
there is no Maps/CommunityCenter
okay that's what i thought actually because the files are _Refurbished and _Ruins
the file names are what the asset names are
this goes for everything inside the unpacked content folder
if it doesnt exist in there it doesnt exist in the game
should i write two separate editmap functions to edit each one with my edited versions?
you should fix your first editmap to point to the ruined one and probably remove the When condition bc its unnecessary
and fix the second one to point to the fixed one
the fixed CC
okay let me try changing that, thank you!
https://smapi.io/json/none/e7156a2e28874a81859d627f12846ba1 hmmm i'm still not seeing any changes being made in game
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Pro, with 3 C# mods and 1 content packs.
can you type patch summary into your console (when you've loaded a save) and send the log?
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Pro, with 3 C# mods and 1 content packs.
to be clear btw the Location is called CommunityCenter
the map isnt
so you cant warp to the ruins version
ahhh i see that makes sense
which is why it warped you to your DeadBoyDetectives_CommunityCenterRuins there
is your CommunityCenterRuins.tmx just a tiny piece of a map you are trying to overlay on top of the existing CC?
or is it a whole community center
it’s a whole community center, i copied the old file and edited that
bc i noticed you dont have a ToArea in your editmaps
but you are only specifying a 4x5 piece of your edited map
so you need both ToArea and FromArea in an editmap function?
i'm not against replacing the whole map btw but i got the impression it wasn't needed if it could be avoided
the FromArea will determine where from your edited version it will take that 4x5 slice, and if you dont have ToArea it will default to the same size as your FromArea, but place it in the very top left
you should not replace the whole map, no
interesting okay so it should say like from x y and then new line to x y to tell it where to put the chunk
where to put the chunk and how big a chunk it should be
if your edited version is the same exact map its probably just the same exact coordinates and size
nice okay let me make those changes real quick
If your map consists only of the change you want to make, you don't need FromArea because it defaults to the whole map.
I've recently seen an example of one map being used for multiple different patches, presumably because it was like spouseRooms.tmx and consisted of different bits on the same map file. I wonder if that is more performant than having multiple .tmx files.
it works now! i have to edit my warps a bit, because i put the player behind the warp when exiting accidentally, but omg what a relief
something i'll look into tomorrow now that i've got it working at least!
thank you all so much for your help <3 i'm sure i'll be back in here another day with more questions lol
I have no idea if it'd perform better or worse than separate .tmx files so I suggest just going with whatever makes sense for you. I was just raising it out of curiosity lol Sleep well!
@dusk mulch Patch modes info on this page: https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/action-editmap.md#overlay-a-map
ty!
kudos given
i forgot to save a .tsx file and i was wondering why it was still saying i had tilesheet climbing
I'm curious about why you're using so many tsx files
i have 1 in my mod, wdym
Are you animating that many different things?
1 tsx, 1 txm
Well you made a tsx file for every file you used in the Farmers Market mod before
yeah that was before
(Or nearly, I just went off what I saw in screenshots and stuff)
Are you aware you don't need a tsx for every tilesheet? /gen
It was just someone who wanted to check with me about the vanilla assets thing because they noticed it and know I make mods so they wanted to ask me why someone might do that (because they don't do map stuff)
im still learning, so... no...
but hey i got the map patch working!
Tsx files are only useful for transferring animation and other tile information between maps
So if there's a tilesheet with a lot of animated tiles on it, you can export the tsx from a vanilla map to keep those animations instead of having to redo the animations yourself
Are you using the "add an external tileset" option from the top menu or the "add a new tilesheet" button in the tilesets box?
This one?
yeah
Oh, you might not have "embed in map" enabled when you're adding it
It's a checkbox on the popup box after you press that button
It just simplifies things because then all the information about the tileset is actually in the .tmx file so you don't have to deal with a bunch of .tsx files that don't add anything useful.
ohhhhhhhh
Do you have SVE by chance?
I do
can you test my mod compatibility?
yeah...
Even without any other mods? (Except pre-reqs)
Yup. It's a very big mod.
XL mod
XXXXXXXXXXXXXL mod
Also I really have been coding for too long, I just got to a dialogue piece in my fanfiction and started typing {{i18n
I am unwell
LOL
It was such a knee jerk reaction/habit I dont even know how to feel
"{{i18n:Translation-Key-518}}" he said solemnly...
What a profound wisdom
"{{i18n:Aos.QiFanfictionResponse1}}", he said, tipping his hat.
Qi fanfiction 👀
omg i love SVE im never leaving
Qi fanfiction
I'm taking a break from my qi mod... to write qi fanfiction
Please go on, I crave stories about that guy 👀
i mean ive posted a few chapters for it, i havent updated it in... checks notes my god two+ years
You're so brave for posting stories that aren't finished
looks at 30+ started projects
i checked out everything in SVE BUT the 1 thing i needed
YALLL
MY MOD IS COMPATIABLE WITH SVE
I DID IT
I DIDNT EVEN HAVE TO CHANGE ANYTHING
as much as i love sve my computer doesnt love it
so time to get rid of it
mods that don't touch the vanilla locations usually are fine with existing stuff including SVE
yeah i had to downgrade my mod drastically due to having too many vanilla game assets in there and it would take me too long to fix so i just resorted to this
(too many game assets = copyright uh oh)
thank you for the help btw!
hey, are ther any common mistakes for new NPCs schedule in custom maps?`I got my NPC to spawn and everything (no errors in SMapi) but he will not move
{
"Changes":
[
{
"LogName": "Peters Schedule",
"Action": "EditData",
"Target": "Characters/schedules/Peter",
"Entries": {
"spring": "610 Custom_DansDorf 29 11 2/700 Custom_DansDorf 31 23 1/2000 Custom_DansDorf 30 11 0",
//"rain": "910 Custom_Backwoods_to_DansDorf 9 12 1/2500 Custom_DansDorf 30 11 1",
}
},
],
}
Have you slept in game since adding his schedule?
no i think not
i will try
it worked thank you
but i got this massage in Smaoi: [SpaceCore] Requested path to Backwoods is blacklisted from pathing, for NPC Peter
[SpaceCore] Requested path to Custom_Backwoods_to_DansDorf is blacklisted from pathing, for NPC Peter
so he cant enter the other area right?
yeah npcs cant go into the backwoods
Yeah, NPCs can't go through Backwoods. If that's the only route, you'll need some alternate path.
warp rooms are good for that
@next plaza after doing a deep dive in profiler logs, found Sword and Sorcery CP tokens are taking awhile
KCC.SnS/PaladinUnlocked is taking anywhere from 3ms - 9ms and KCC.SnS/SpecialOrderBoardBook is taking anywhere from 6-17ms every timechanged event.
not the biggest problem in the log by a mile, but is actionable at least. https://smapi.io/log/41055512ea0347bbb3e5809a24276675?Mods=Profiler&Levels=trace~critical&Filter=PaladinUnlocked
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Pro, with 249 C# mods and 565 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
ah ok, is there a list where npc cant go?
Iirc the Backwoods and Secret Woods are the only two fully excluded from npc path finding
Well the farm too but
(for completeness sake also the cellar(s)) and the tunnel next to backwoods/busstop
in Data/Locations defines Tunnel,Woods,Backwoods with content packs or other mods could override back again trivially. (you will cause bad things if you do that to the location north of the farm)
and in codebase theres hardcoded exclusions for Farm,Cellar and Backwoods as well
ok thank you, NPCwarp Mappropertie should also fix some problems, no?
EditData on Data/Locations and setting ExcludeFromNpcPathfinding on the location to false for the vanilla location would re-enable it (for those that are disabled due to it at least, the hardcoded ones would be banned anyway)
If memory serves, the key thing is to make sure there isnt a circular loop in pathing via warps, it breaks (or used to, dunna if its been fixed in 1.6 or w/e) npc pathing, Hence why Backwoods and Farm have always been blacklisted from NPC pathing.
yeah loops do bad things
even worse if its a fake loop like Backwoods because while it in theory connects busstop to mountain, they aren't navigatable without the shortcuts unlocked which only happen when the player shows up, not when an npc in the background would try routing
and npcs trying to go through the farm would cause chaos with destroying everything
Ye, cuz they only look at warp connections, not pathability
the micro pathfinder would do pathability to a certain degree, but the micro pathfinder cant tell the macro pathfinder to try a different route
i got it working with NPCWarp, he dont need to be in backwoods
SpaceCore's rewrite of the macro pathfinder iirc does fix the loop problem, though I dont think it does the false positives
micro being within a map, macro being between maps?
yeah
makes sense, ty
the macro one in vanilla is a depth first search, and so it just does the first learned way to get from A->D.
the micro one does a flavor of A* pathfinding
ah, a naive DFS explains the issue with loops
it also recalculated the full depth first search cache every time a warp anywhere changed, which took a long time.
1.6 made it much much faster, though kept its flaws.
1.5.6 had SpriteMaster being a near mandatory mod to get load times from 10+ minutes down to 30 seconds and 9+ of that was the pathfinder
huh. Surely preparing some kind of proximity matrix in advance for known locations would be preferable 
vanilla didn't need a complex pathfinder theres like 5 maps
true, I guess it was only necessary once the game got optimised for mods
once you ban the naughty ones that vanilla shouldnt use anyway
this still seems like a less than ideal way to handle it for mods though, if I'm not mistaken? (and also like it would be very susceptible to the stardew map version of a zip bomb
)
spacecores solves the problem well enough and anyone with enough mods to cause an issue has it anyway
Very quick question... does anyone know of any mods which manually spawn farm animals other than MEEP? As in: create animal instance, and add it to a location.
afaik both space core and cfl can spawn starter farm animals
Which puts them in some farm building and they live there?
If those are the only ones, that's potentially very good news.
vanilla 1.6 farm?
Which will also have a home assigned, which is good for me.
Essentially, I'm just trying to figure out if FarmAnimal.home or FarmAnimal.homeInterior are ever not assigned by any other mod (or the game itself), and I'm not seeing any instance in the game itself except for Marnie's animals, and that wouldn't be affected by what I'm thinking of.
Hi,
It has been a long time since I first asked here, in this very channel, for help with modding - that day was the 3rd of August 2024. Since then, many things in many lives have changed. Some of them were good, some were not.
Anyways, here we are - 195 days later (BTW, happy Valentine's Day 💘). 225+ days from when I started coding my first SV mod. And today, after what felt like an eternity, I achieved the goal for this mod - version 0.8.0, which is the official Nexus Mods public release version for my NPC Eleanor mod 🎉
You can check my mod - NPC Eleanor - on Nexus Mods ( https://www.nexusmods.com/stardewvalley/mods/31663; inform me when it will be visible, please) or on GitHub (https://github.com/DenisSilent/Eleanor)
Also, by writing this, I'd like to thank everyone who helped me here. I really, really appreciate it. I know that without your help, I wouldn't be able to create this mod. I won't ping you as I don't want to disturb you, but don't worry - you won't be forgotten - check out the included changelog (also found here: https://github.com/DenisSilent/Eleanor/blob/main/[CP] Eleanor/zzz_dummy files/changelog.md).
Thanks again and have a nice day.
Denis001 a.k.a. StrojvedouciDenis
it is visible when i click on the link
Yup! Visible with a downloadable file for me.
If you can come up with a short write-up, one of us can put it in #mod-showcase for you, too.
Yeah, it just took a while to upload I guess, so I asked for someone to check it, just to be sure. Thanks!
Yeah, give me a minute, please, I'll think of something...
I think I'll stick with this:
New NPC mod out - NPC Eleanor
Eleanor is a young witch who studies under the guidance of the local wizard, Mr. Rasmodius. She is kinda shy at first, but she'll eventually open up to you (or, at least, that's how her dialogues & events are written). She loves studying and learning new things. Also, note that her past is not one of the best...
Download here: https://www.nexusmods.com/stardewvalley/mods/31663
Thanks for the suggestion, I kinda forgot to take a pic of it. Will add in a minute!
One picture was added, might take a while to add others...
why do you guys make mods? just curious :3
like does it make you guys money, or is it for self enjoyment? or something else?
because i want to cook my own food
Enjoyment. Mods don't make much money for the most part.
I like learning stuff and I want more NPCs with interesting stories.
So people can fare evade the public transport system of Pelican Town.
modders in this community arent doing it for money. if they get money from mods its commission work. also, i make mods to give back to the community thats given lots to give a favorite game of mine some longevity
you made a mod to walk to the desert?
This ain't sims 4 
Paywalls Georg is an outlier adn shouldn't be counted
Usually it starts with "oh i wish this didn't work this way >:("
sounds like me alot..
i just dont know how to mod?
!startmodding
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.
whoa
My first mod that took off was a result of me seeing the Haunted Chocolatier trailer, and thinking "...ooh, that counter placement."
Tarniyar made it, I update and maintain it.
Yeah I started modding because I wanted Stardew to have more bathrooms lol
hows it work? i can just walk to the desert? ignoring all cc rules?
I think at some point we got annoyed with the placement of one object and we missed it away.
Though before that I edited other people's mods for my personal use (like tweaking dialogue and stuff).
i started modding because no farm maps cater to my exact tastes,,
oh wow
You walk through the tunnel that you get to through the backwoods map, then you just keep following the roads to the desert map.
oh cool
i made some personal use recolors for objects 
It's a long journey, but it's faster than fixing the bus. And cheaper.
Why should I have to pay gold to visit the Desert for something I just paid like 300k gold to fix.
Capitalism smh my head.
it depends what kind of mods tbh - people who make QoL/gameplay mods typically do it because we see something we’d want to be different. People who make aesthetic/farm map/farmhouse mods do it because they enjoy designing, people who make expansions/NPCs do it because they have a story they want to tell… lots of different reasons!
I mod because I’m bored and curious
you mod to commit crimes
Good morning it's Friday
that’s what I said /lh
It's only just still Friday
are you going to crochet something for the valentines event atra
or knit. idk if you crochet
good god its friday already?
Good morning, it's definitely 100% still Friday.
i didnt notice
struggles of living right next to the international date line 
I considered making crochet chocolate
My time zone ends with half an hour.
I thought about it too, but idk if I have suitable yarn 
i mod because i think "what if the game had this" or "what if this looked like this instead" a lot of the time 
That, and I wanted a hobby that wasnt exclusively just drawing (even though drawing's most of what I do for my mods)
love of the game, both literally (stardew is great and it's fun to make changes i want to see in it) and in the "modding kicks ass and i enjoy doing it" sense.
but lol no it is, with few exceptions, not a way to make money
there’s literally not a single person making the big bucks from stardew modding 
The absolute biggest mods will be making a... decent little chunk, but certainly nowhere close to a living!
even if we're talking about money from DP, the 3-month turnout is way too long to be considered a stable source of income 
I finally finished all the testing I can do on FF3! Now I have to update all the docs so that I can ask for Furniture Pack makers to test the new version...
technically flash makes a stable income given that he has a patreon hasdhdjs
i think its his full time job
pathos has a patreon too I think but idk how much you can get from those
Not anymore
Flash's full time job is working for CA
after the update?
as a modder, flash's level of patreon is a realistic upper bound
Oh no... I have to update the json schema as well...
I believe so still
I'm not sure if it's employee/contractor type status for anyone helping out with the game, honestly.
did other countries have a crackdown on contractors recently too? the UK had a pretty substantial regulation put into effect recently that makes contracting way more limited
(in an effort to fight companies like uber iirc)
i think the US had a judgement against uber specifically on that point, but (cynicism, politics) ||you should not expect anything that inconveniences a corporation to come out of the US for a good while||
(pathos also has some hosting costs for smapi website and such)
||similarly for the UK tbh, this is literally only affecting the contractors themselves in the end||
Hey, does anyone know from where Furniture.canBeRemoved is called? Alternatively, how do I setup the decomp to see references (I only have ILSpy for now)?
I thought ilspy let you do that, but if it didn't just save the code as a project and open it in your IDE
I don't actually have the code, that's what I mean by "setup the decomp"
You do what chu said, just open the assembly in ILSpy and save it.
!decompile
If you want to make SMAPI mods with C#, one important resource is decompiling the game to read the game code. Here's how to do it: https://stardewvalleywiki.com/Modding:Modder_Guide/Get_Started#How_do_I_decompile_the_game_code.3F
You can also use ilspycmd if you want, skips the UI
This will put both game and the game data decomps together
Tbh i always wondered about why gamedata was it's own dll
Oh, forgot to mention I have ILSpy as a VSCode extension, that's probably why it can't see references
thanks for the wiki link btw
Hey
New to stv modding. Tried googling stuff but honestly I am surprised how little info there is on internet about getting into creating mods.
My mod idea. Wanted to edit Crystalarium behaviour to require some kind of fuel. All I found on wiki is "basic" manifest and ModEntry class. But where can I find the rest of whole API documentation.
I was hoping for quick override / add method to crystalarium but man I can't start ):
!startmodding you should check out the content patcher examples and documentation. a lot of mods don't require C# or knowledge of the actual API
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.
(machine rules are governed by data, so you can probably do what you are thinking of with just content patcher)
but also, the wiki's API pages are quite good as a reference if you have programmed before and are doing C# mods. if you haven't programmed before and you want or need to do C#, i would start with any basic programming tutorial (skills will transfer easily between languages)
Crystalarium auto-restarts so requiring fuel would change the behavior - might be some nuances to deal with there.
I found the stupid issue that made me unable to pick-up rugs! -> 
The fix is a Transpiler, which I haven't done since last summer -> 
aww transpilers are fun
Is there any available list of example simple mods out there?
Because honestly I can't figure out how to begin just from this wiki.
the saving grace for this time is that I already have a transpiler on another method so I can find the IL to replace
my main problem right now is that I have to find a single check in GameLocation.LowPriorityLeftClick, which is a huge method
ah yes, okay, transpilers on god methods are less fun /lh
can you clarify exactly what are you trying to do? I don't wanna point you to a content patcher mod if what you want to do needs C#
otherwise there's the C# button click example on the wiki
that's the simplest C# mod which you can use as a template
for a moment I thought you had Atra's stop rug movement tweak installed 
Sure ! I wanna edit crystalarium behavior atm to require some fuel and customize it with config to fiddle with balancing it.
Just have no idea how to start with that I found alrdy https://stardewvalleywiki.com/Modding:Machines and I got StardewModdingAPI.IModHelper to fiddle with but was hoping for either more detailed documentation or examples.
what kind of fuel, do you want the crystalarium to clear out after every harvest and you have to put the diamond + something else in again
Idk atm thought about batteries that would last for like 5 cycles or smthing
And about documentation I was looking for something similiar to that https://docs.oracle.com/javase/8/docs/api/java/lang/String.html and cant find it on wiki or anywhere else
ok so if you want something like Diamond + Battery => the Crystalarium produces diamonds for the next 5 collects, after which you need to put another Diamond + Battery in
that's doable purely with json content patcher, you however need a framework dependency
for the "next 5 collects" part because the vanilla game doesn't support that functionality in its machine data
I'd love to try do it with C# tho to learn it and expand my mod later
sure, what you need to know is that: the game reads much of its logic from data; machine rules specifically is Data/Machines
!unpack follow these instructions and you can view the unpacked data
Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!
then in your C# mod what you would do is register an asset event to edit Data/Machines and edit the game's machine rules or insert your own ones
see the "Edit a game asset" section
Yeah thanks thats helpful! Need to read it now and attempt to make any change to game
welp, that was easy as hell
i was wondering if there is a way to detect when items are spawned in or when a player recieves a item
i want to make a mod that announces when players receive like good items, so if someone picks a prismatic shard it will make a small announcement in chat
if you want to check that items are spawned, you could postfix object's constructor
int mapCoordX = (int)Game1.player.getTileX();
int mapCoordY = (int)Game1.player.getTileY();
``` has there been a change in code?
that seems not to work anymore
hmm is there a framework that adds "item first enters inventory" trigger
( there's also Game1.player.OnItemReceived and Game1.player.GetItemReceiveBehavior, but I haven't checked how they work )
if not then you can postfix OnItemReceived
Those look super useful!
(GetItemReceivedBehavior has a "show notification" field but I think it's only for the current player, so you want OnItemReceived)
int mapCoordX = (int)Game1.player.Tile.X``` disregard... i found it
yes. update your decompile
oh that's easy, in Entry you add
var harmony = new Harmony(ModManifest.UniqueID);,
and then you add
Monitor.Log($"Applying Harmony patch \"{nameof(ModEntry)}\": postfixing SDV method \"Farmer.OnItemReceived()\".");
harmony.Patch(
original: AccessTools.Method(typeof(Farmer), nameof(Farmer.OnItemReceived)),
postfix: new HarmonyMethod(typeof(ModEntry), nameof(Post_OnItemReceived))
);
(assuming your patch is in the ModEntry class)
Just keep in mind your postfix must have the same fields as the original method
my fault for using the positioner code x3
yeah.. i found it
That's odd, I'm not sure why that would be the case.
I haven't been part of the S&S team for a while though. I don't recognize those tokens either, I think they were added after I stopped working on the project. I can't imagine what those token implementations could be doing that could take that long though.
@vale stream do you mind hopping into a call and screen sharing how to do this, i am quite dense
!harmony
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
oo thats quite useful too
the link Selph sent is a pretty good start- but if you're still lost, i can send screenshots
kk ill see how far i can get with this then will return if i need more assistance
thankyou all for the help
I still have a question about marriage schedules, if anyone has experience. Is there anyway to specify that the NPC should do their regular "marriage duties" stuff up until a certain time of the day? Just so I don't have the NPC standing blankly in the kitchen until it's time to leave the farm house
If not, I guess I can try to move them back to their spouse room or something, but I know that pathing inside the farm house is fraught with danger
As far as I know, I don't think it's possible
Alright. Sucks that we don't have a "wander" function, but I'll see if I can find a better way to make it feel more life like. I want Seb to work from home up until about 12:30 on Tue/Thu and then leave
Ohh that sounds cool! Actually, you could get it to work via C#? I don't remember if reloading schedules works, I think there was a method for processing those
Let me check really quickly
Sure, thanks. I'm trying to keep this CP only, but might bend a little if I decide this is important enough xD
I also wonder if the coordinates for the spouse room in the farmhouse are the same regardless of upgrade 1 or 2