#making-mods-general
1 messages Β· Page 453 of 1
Okay! Looks like that worked! Thank you for helping with my rather dumb question!
And okay, so were you saying it would be worse to put that property in the project itself like Chuve said? Because it would break it on other people's PCs, right?
Yep; putting the file in the user folder is something you can just do once and forget about ever after (assuming you don't move the game folder). Putting it into the project file is quicker (if you know how to do it), but you'll need to do it for every mod project you build.
Okay, so if you put it in the project file, that's just what's on your PC, vs. the mod file, which is what you'd be exporting though, right?
Am I making sense? I'm really out of my depth, but I'm trying to learn
The .targets file is just on your PC. The .csproj project file is part of your mod code, which you'd upload if you make the mod open-source later.
Okay, so if I put my specific modpath in the project file, the mod wouldn't work for anyone with a different installation path then, right?
Looking at the mod build package code, that's actually already handled. If the folder doesn't exist, it'll keep looking for one that does.
Oh right, okay, that makes sense. I did notice it was trying to do that. I don't know why it didn't find my installation automatically, it's just on a different drive.
It checks the Steam install path in the Windows registry too, but maybe Steam didn't update it correctly if you moved it to the other drive after installation.
That could be.
Well thank you so much! I've now got a mod that tells me what buttons I pressed! Now I just gotta figure out how to make it actually do what I want!
Welcome! Feel free to ask here if you have other questions.
good luck with that lmfao
Did the file path for portraits change? I'm making an Anti-social NPC for a mod I'm redoing, but every time I load up the game, SMAPI says that it couldn't find the portraits. I would post a log but my Internet is down at the moment. I double checked my spelling and I know I loaded the files correctly, but nothing.
the game has not updated in 10 months
no
Did you double check the path itself? (Maybe not a spelling typo but maybe you typed the path wrong)
Also
yikes my power just went out for a hot second
Hmmmm 
the thing is I copied and pasted my code from my NPC Reyla Character data into the fake NPC character data, I changed the names of course to the new NPC names, but with just changing the internal names the game isn't happy.
Let me see if I can send the json file to my phone and upload it to the SMAPI website
ah that wasn't too bad
alright nice
i would familiarize yourself with this servers rules on generative AI, for future reference
Annnnd, the power at my house went out... 
Wow that makes two 
Luckily, I still have phone service for now
Darn it, I guess it's going to have to wait till tomorrow π
is there a condition for crops that they can only be planted near a body of water?
don't think so
that would require PlantableLocationRules to be aware of a crop's tile position
I'm going to make jelly (cave, sea, river) crops and if there is a condition like that it would be amazing for sea and river
you can make it fully aquatic 
without any mods?
(is this awuaponics)
there is IsPaddyCrop
there's a mod that adds seaweed crops using it
IsPaddyCrop would make it grow faster and without needing to be watered if near a body of water (like rice)
can I check if IsPaddyCrop then it only grows
no
failure
How much is the time it takes to grow deducted if it's planted near water?
(like the formula)
25% faster
Dang so my evil plan wouldn't have worked
I had thought maybe if you set the time to grow be ridiculously long and magically speed it up near water
It would incentivise people to grow it only near water
I already literally exclusively plant rice near water for the two day difference and often forget it's even plantable elsewhere so idk 
It's just fun to plant paddy crops
can you make custom characters,locations,houses,festivals in mods
in my biased opinion jelly crops make sense both balance-wise and flavor-wise to be aquatic crops anyway so there's that option if you really don't want people to plant them on dry land
Yes you can do all of it
!god
heck there are dozens of mods that do that already
sad that I cant, but jelly crops goes land vrooom
the bigger ones we call "expansions"
oh heck nah im gonna make the most absurd joke mod ever
Everyone likes a good shitpost mod
its called stardew valley - (minus) and adds a squid game festival, ddlc sayori as a romancable character, the police, cars, pierre secretly having a whole mafia, etc. really light stuff
I wouldnt say that's light XD
thats just a bit of it but im also working on it with my brother adam
my case with using dependencies is that updates break things, and CP mod is supreme, usually does not break
well it also means you can only do whatever vanilla can
so you're out of luck for your idea
(it doesn't)
(it has a bunch of crop extension data, but no plantable rule extension)
it is funny that they didn't even say it
@gentle rose im so sorry for this json π https://smapi.io/json/none/a497963e7f614e40add8a5ade9284de1
speaks volume
it parsed wonky 
can I see the patch for the include? 
I can do an absurdly long time jelly crop and another for MTF with decent time
I'm torn
it's just a snippet, but it's lumped in with everything else so i know for a fact my event works https://smapi.io/json/none/4dd3465a1df1435e8459f4098921b42d
(as in if it didnt load i would have bigger problems)
...yeah...
i guess i can make sure my npc isnt moonwalking (again)
and test it for the nth time
has event lookup been updated for long preconditions? I don't use it but I've been assuming it has
and yeah i can trigger the event completely naturally without debug
but like...
its totally empty
No
It still only works with aliases
i guess that's something i should warn users about then
and provide a readme with how to trigger events
ah. that would do it. and explains why map event markers has no complaints about that 
Readme started :3
Event readme!!!! Event lookup hates my long event preconditions. :( so here is my handwritten how-to on how to trigger events.
Selph, I have so many questions. does MTF have a condition to check if it is near a body of water?
maybe once I'm done with the map event markers update (ha) I'll PR sheku... if they have a github repo, that is
not for this mod apparently 
no, but I can add a GSQ for it
it still doesn't have anything for plantable rules though, and that one's a bit tricky to add
finally? it's been around for a while 
the one thing MTF already has is the aquatic crops thing which is why I suggested it; your use case though is quite new
π im sorry iro i have no idea when mods are birthed
I think all of Sheku's mods are not source available
And I am soooooo far away from my own event info mod being usable, sadly
some are, looking at their github, but not many (and none that I recognise)
(there's an even older MTF mod so I sadly can't claim that rival title)
(casey's Monster the Framework)
the thing is, there isnt a way to make a crop grow only if conditions are met, maybe with custom data idk
neither of them can conjure a backronym without forcing the F into Framework
contrived
you may be able to put something together with betas
there is a way in vanilla, just not with "near water condition"
that can be stretch goal for MTF maybe but right now I'm neck deep in this other project
can we check in vanilla if a crop is IsPaddyCrop?
as mentioned, no 
whyyy 
but yeah, sadly I don't think there's a way to achieve exactly what you want currently
(click for refund)
(realizes I bought it nearly 10 years ago)
it would be amazing, it can be planted anywhere, but it only grows if IsPaddyCrop: true
maybe soontm
I could have sworn betas had a grow crop traction, but it looks like it doesn't 
@ button literally unplayable
apo?
master π¦§
that would still require passing in the tile context into the GSQ for plantable rules, which I feel is super niche
I know I was jk
hmm actually if this is all you want I can throw in a "is paddy crop" GSQ into MTF's next version, and then you can do "if not paddy crop then lengthen grow time by 1000%"
you don't
but you mentioned above
oh wait did you mean "grow" or "plantable"
growth
then you can't, but whether a crop is plantable in a location in the first place is vanilla yes
π€ i know fruit trees won't grow if there's something blocking the area around it, but i assume the code for that is completely different to crops
in vanilla if you give a crops 7 days to grow it will grow in 7 days; the only way to control that behavior is with fertilizer/paddy
or not watering it
the sprite is too big
i have no idea what im doing
where do u even begin to blend the light banding
How r u so good at Thing
hello i JUST said i have no idea
you don't. stylistic
Yeah but i have even less idea XD
my half hearted method with non pixel art is to just add so many bands that it technically becomes a gradient
so maybe just add bands of 50/50 dithering and then dither outwards? 
this testing version of MTF adds a new game state query, selph.CustomTapperFramework_IS_PADDY_CROP_NEAR_PADDY, which is usable in MTF's crop extension data (stuff like GrowSpeedModifiers or even MainDropOverride), feel free to reference the documentation here
oh wait I didnt attach a file
I would like your ability to have no idea please. My no idea what I am doing is like...stick men
That didn't need to be a ping. I blame babies.
(transpiling CheckItemPlantRules to pass in more metadata for GSQs is going to be 2026 at the earliest)
babies?
Babies.
whoosh πͺ you are now clueless
Thank you Selph I'll take a look
does i18n in CP support a single (e.g.: i18n.json) file with a dict or only each separate jsons?
You can't trust 'em.
understood have a good day
map draft with just vanilla tiles, i'm going to make a new version adding in some custom ones when i finally feel like it
@rapid pond Hi do you take requests?
hi! depends on the request, for what exactly?
Is it possible to request honkai plushes? specifically Cipher, Anaxa, Castorice, Sunday, and Gallagher?
pings r okay!!
oh sunday my beloved-
i hadn't even thought about doing star rail plushies, but sure, i might do some! it will be after the genshin ones are done though 
this hint isn't to cryptic on what you need to do? I feel like I spelled it out for the player here also because it's one of the wierdest things you have to do
"I wonder if one could combine lightning with a bug?\nI would need something that could harness it while close enough to a bug to study."
is it referring to a vanilla item? because I have no clue tbh
the answer (spoilering just in case some one wants to guess) || hold a lightning rod while near a bug ||
yep, all vanilla
||oh, I guess it's a bit confusing because that's not really a common stardew mechanic so "close" feels like it should mean "similar to" rather than "nearby"||
I'm also not sure what a bug is in this case if it's vanilla, ||the mine bugs||?
yep
the vanilla game refers to them as such for the gil extermination quest
hmm, yeah personally it would take me a while to guess that specific solution from this clue and idk if figuring it out would be satisfying, which is what makes or breaks a puzzle imo
I think you can stand to adjust a tad for clarity, like To study this, I'll need something that can harness the lightning's power while I'm close enough to a bug.
does anyone know if theres a fixed dialogue string or w/e for a romancable that uses the angry portrait? when i set mine up i kinda didnt go by the right order vanilla does lol so im wondering if i should bother fixing it or not
mm, since you can't control what will happen in future update and mod stuff i would say it's worth changing now
rather than needing 154 workaround later
Is there a guide or best practices list somewhere for balancing animal prices and such?
Perhaps balance in general, it's a concept that eludes me a bit
Hey guys, I'm currently learning how to create a C# mod and I'm running into hurdle with adding new content. Initially, I tried adding items directly via code, but it felt overly complicated. Now I'm looking into using JSON assets for content and reserving the C# code for implementing new mechanics. Is this approach (JSON for assets + C# for mechanics) generally considered good practice, or is there a more efficient/standardized way to add new items/content in a C# mod?"(sorry for bad english)
luckily it was a pretty quick fix 
don't use JA, Content Patcher is the way to go
Does anyone know any good turtorial for egg hunt event coding? π
as mentioned above, definitely don't use the Json Assets mod, Content Patcher is the way to go to add stuff easily, but adding with code isn't very hard once you understand how it works. It's just about using the AssetRequestedEvent handler to add data to the game's content.
Using CP to add stuff is simpler but requires you to split your mod in two (but you can still updload it online as a single mod), while doing everything with SMAPI directly is a bit harder but you can do basically anything since it's in C#.
obviously, if you need help either way, we'll be happy to help!
What are you trying to add?
A simple hat, just to understand how it works. I added it via JSON Assets, and now I'm trying to use Content Patcher, but I'd prefer adding it via code. Is there any sample code available?
hm, is there some sort of page on the wiki that focuses more on the romance part of an NPC? even on the modding wiki i mostly jsut see general NPC talk but not all the things I gotta change/add if my NPC can be married
I jsut dont wanna miss anything
can PLAYER_HAS_ITEM use categories? or context tags?
I'm pretty new to modding myself BUT I've been working on my own custom NPC for like??? the last 3 months and this tutorial IS MY BIBLE I hope it'll help 
https://stardewmodding.wiki.gg/wiki/Tutorial:_Making_a_Custom_NPC
oh I do know of that one, the problem is just it has no actual spouse/romance section lol. I got a bunch of NPCs already but this is my first time making one romanceable lmao
What's with the two json links?
hmm sounds about what i have written down then, i got this so far
Looks pretty good, Void. Way more than the bare minimum. If there's other stuff that comes up you'll find it as you test, I expect.
Those are the coding for the quests :o
But why are there two? You have the EditData patch with the quest info in your content.json, so what's the other one?
alrighty, then i can start without too much worry xD
Realizes I don't need the other one 
Okay I deleted the unnecessary copy but it's still the same issue π
Ok, so you have written your quest incorrectly. You haven't got anything in the correct field after the description. I'm writing an explanation now.
I split each field into its own line so it's easier to count them. After what you've got for the field I have the field number and then the name of the field that it is. You can see for things like the instructions (field 3) that you have the completely wrong thing.
Wait I'm confused??? I followed the wiki???
https://stardewvalleywiki.com/Modding:Quest_data#Completion_Requirements
"ANY PLAYER_HAS_ITEM Current 579, PLAYER_HAS_ITEM Current 580, PLAYER_HAS_ITEM Current 581, PLAYER_HAS_ITEM Current 582, PLAYER_HAS_ITEM Current 583, PLAYER_HAS_ITEM Current 584, PLAYER_HAS_ITEM Current 585",
ok, i am doing this wrong somehow
Where on the wiki page does it say to put forward slashes between each item of the completion requirements or to start the completion requirements inside field 3 instead of field 4?
"ANY \"PLAYER_HAS_ITEM Current 579\" \"PLAYER_HAS_ITEM Current 580\"" and so on
I put the forward slashes cause that's how it was coded in the game??? 
Looks like you have to do each one individually
Find a LostItem quest specifically and look at how it is structured. The forward slashes are necessary to split up each field but the completion requirements are all inside one field so there should not be forward slashes inside it.
OH
Quickly fixes
Can you show me what's in your condition field?
"IgnoreRain": true,
"IgnoreWinter": true,
"IsAttackAnimal": true,
"AttackDamage": 5,
"AttackIntervalMs": 5000,
"AttackRange": 10,
"AttackMaxChaseTimeMs": 10000,
"AttackCondition": "ANY \"PLAYER_HAS_ITEM Current 579\" \"PLAYER_HAS_ITEM Current 580\" \"PLAYER_HAS_ITEM Current 581\" \"PLAYER_HAS_ITEM Current 582\" \"PLAYER_HAS_ITEM Current 583\" \"PLAYER_HAS_ITEM Current 584\" \"PLAYER_HAS_ITEM Current 585\"",
},```
it's for EAC
I owe you my life 
Hmm. Can you try running debug gq "ANY \"PLAYER_HAS_ITEM Current 579\" \"PLAYER_HAS_ITEM Current 580\" \"PLAYER_HAS_ITEM Current 581\" \"PLAYER_HAS_ITEM Current 582\" \"PLAYER_HAS_ITEM Current 583\" \"PLAYER_HAS_ITEM Current 584\" \"PLAYER_HAS_ITEM Current 585\"" in the console and see if it gives the same error?
Oooooh @brittle pasture πΆ
That is my guess, yep
i swear i am not intentionally doing rude things to EAC
the dangers of "i wonder if..."
for reference i am attempting to make an animal that will attack you only if you are carrying a bone item with you
it also produces bone items so it's like a risk reward kinda deal
unrelated but makes me laugh https://i.imgur.com/H7xc1I9.png
uh oh, I think things took a weird route just now 
For sanity testing can you patch export the asset you have that condition in
remind me the syntax for that and sure
Patch export <asset name>
would i be looking for the EAC asset here or my own
"MalePercentage": -1.0,
"AnimalProduceExtensionData": {},
"FeedItemId": null,
"OutsideForager": false,
"AnimalSpawnList": [],
"ExtraProduceSpawnList": [],
"ExtraHouses": [],
"IgnoreRain": true,
"IgnoreRainCondition": null,
"IgnoreWinter": true,
"IgnoreWinterCondition": null,
"GlowColor": null,
"SkinGlowColor": {},
"GlowRadius": 10.0,
"SpeedOverride": null,
"TextureOverrides": [],
"GoOutsideCondition": null,
"IsAttackAnimal": true,
"AttackDamage": 5,
"AttackIntervalMs": 5000,
"AttackRange": 10,
"AttackMaxChaseTimeMs": 10000,
"AttackCondition": "ANY \"PLAYER_HAS_ITEM Current 579\" \"PLAYER_HAS_ITEM Current 580\" \"PLAYER_HAS_ITEM Current 581\" \"PLAYER_HAS_ITEM Current 582\" \"PLAYER_HAS_ITEM Current 583\" \"PLAYER_HAS_ITEM Current 584\" \"PLAYER_HAS_ITEM Current 585\"",
"IsHarvester": false,
"HarvestInterval": 1000,
"HarvestRange": 5
},```
is the relevant bit
do you want the whole thing?
That's all I needed
cool
and what is eac in this context
not sure then, looking at their code it seems fairly normal so not sure whats making it misbehave
harro everynyan, a small question about GMCM
Why does it get me spell out my variables in-game instead of making it a dropdown list? I checked out some other mods I have, but didn't notice anything specific. What am I doing wrong?
I think this happens because you allowed multiple options to be selected at the same time when making the config schema
what does the config part of your content file look like?
The correct name for the field is AllowValues. You have to have it exactly as it's written in the CP docs or it won't be accepted as a real field.
Damn, didn't notice that I had it misspelled after like 5 checks, thank you!
Erm I tried to add the change name command twice but it appears to only work once??? In the first image his name is supposed to be "???" until it's revealed who he is. Any idea how to fix this??? π
json?
So this is the error I'm getting
https://smapi.io/log/be222d144cd947b2b14a367130959ba9
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 28 C# mods and 12 content packs.
it's loaded, though
hello good people. does anyone know where the sprites for ginger are? i found the forage item but i cant find the in ground version
It seems your character's name is RaffieJohn.Lilly, but the portrait you load is only Lilly.
but it works in Reyla's code, though 
Does Reyla have appearance data? Does Lilly have it?
Try cursors2
just this for Reyla. But not for Lilly, since I didn't think she needed it
Ah, have you set Lilly's TextureName to Lilly?
I did not
Then that.
ok, let me add that real quick then
found it in cursors. thanks for pointing me in the right direction
Basically your NPC would seek for Portraits/<TextureName>. If it doesn't have that field, then it would seek for Portraits/<NPCInternalID>.
this is super weird; code-wise I literally just call CheckConditions and doesn't do anything to the string
this is a long shot but try switching all instances of Current to Target?
Guys is there a mod to skip some parts in the game or give myself items I don't have? Cuz I just moved to pc so my save on ps is stuck thereπ
Sorry, was trying to patch export, but it looks like it worked! No errors 
- look at CJB Cheats and CJB Item Spawner
- you probably want #modded-stardew for general gameplay questions; we're making mods here

Cloudy Skies already has it and more.
Hi! I was trying to do beach outfits too and noticed the LOCATION_NAME Target GingerIsland
is that a valid location? my old code was referencing each of the ginger island location e.g. island_south, island_west, etc
were you basing this off the tiled map names?
GingerIsland is not a valid location name, but neither are Island_South, Island_West, etc. you want IslandSouth, IslandWest, etc without the underscore
alternatively, if you want every location on the island, you can use the LOCATION_CONTEXT query instead, with the Island context
yeah i didn't remember the exact name so i went for snake case xd
you can always check in Data/Locations for the location names
thanks! i'll take a look
I'm trying to remember where I saw "GingerIsland" as a location name 
I think I was looking at another mod on how to get the GSQ and appearance to work, when 1.6 just came out and they had that. But I also haven't had anyone mention Reyla not showing up or getting any errors, so I assumed it worked
Since it's GSQ it won't really show error. It just won't ever fulfill that condition.
okay... so how to i get to randomizing that dialogue?
You want your NPC to have randomized dialogue every day instead of assigning them to specific days and stuff?
yeah
(but i also want to have fridays and sunday have specific, but still random dialogue)
The simplest way, that wouldn't need to use Dynamic Token, is:
i read about that the other day! in the next update i'll be like this https://stardewvalleywiki.com/Modding:Migrate_to_Stardew_Valley_1.7#Switch_blocks
Just do something like"Mon": "{{i18n:Dialogue{{Random:1,2,3}}}}"
ack i have to rewrite my i18n then
If you don't do them by numbers, then yeah unfortunately.
I'm highly excited for this! Unfortunately it's likely that 1.7 is still years out.
i mean you can also do {{i18n: {{Random: Key1, OtherKey, MyKeys}} }} if you really wanted
but using numbers in them is probably gonna be a lot easier in the long run
do you think its still a long way before we get the 1.7 update?
there is zero expectation of any release date for 1.7 at present
last i heard the 1.7 was being developed by a small team
theres not even an expected release date for 1.6.16
Pretty neat that we already have documentation on what we need to change for 1.7
Well the 1.6 beta went on for a pretty long time.
not arguing with that point, just mentioning that theres more people working on stardew valley than before
(also im pretty sure the team for 1.7 is the same as the stardew team has been prior)
"Mon": "{{i18n:Selena.Spring.0.{{Random:1,2,3,4,5}}}}", so would this work? I have it organized in my i18n now as
[Name of NPC].[Season].[Heart Level].[Random Dialogue Key]
Stardew Valley has not been a purely solo operation in a long while
1.6 was also by a small team. I don't think the team changed much between then and now.
(For Joja mod authors, Lookup Anything now has visual themes thanks to @lucid iron and improved data mining fields.)
huh
as long as there are 5 potential keys, Selena.Spring.0.1 through Selena.Spring.0.5, yeah
Woah.... jojafied
ah i started playing in 1.6 and always thought that the game was made by ConcernedApe alone
lookup anything cosmetic update was not on my bingo card this week
got it, thanks ^^
Hasn't been CA alone since 1.2
Yo so, question. Whats y'alls takes on adding new mod dependencies post release? I assume it's not a good idea but I'm not sure
id have no issue with it if i needed it
but ive also not really released any mods where its been relevant
Fair enough fair enough
as a user though i also dont care if a mod adds a dependency as long as they say they have in their update notes
if it improves your mod then do it
and as a framework author whose had to read about people turning down my frameworks many times in the past bc they didnt wanna add a dependency, i also think you should just add the dependency if itd help
Do users get notified about new mod dependencies though?
Yeah when they download, and again when SMAPI is loading.
Oh that's good to hear then
well SMAPI will tell them if it fails to load
SMAPI wont warn them beforehand that the manifest has changed to add a new dependency
and nexus wont say a dependency is new itll just give the same list of requirements as if it was the first time you downloaded it
Honestly as a mod author I don't really think about it. If a user download the new version without adding the dependency, and then proceed to play without ever noticing that my mod is missing, they they don't really interact with my mod anyway.
Thanks for the advice y'all! I think I made a mistake when I started off my mod cuz I wanted to do as much as I could by myself. Now I'm gonna spend a bunch of time rectifying that.
i think theres merit to doing things yourself instead of adding a whole new dependency if you are capable of just doing it yourself quickly and easily. but any sort of complexity to me quickly becomes reinventing the wheel
i wouldnt add an entire dependency just for one simple GSQ for example, when i can just make my own version of that one GSQ, but if i needed several GSQs that a mod already adds... i might as well use it
(ofc that perspective probably differs between a C# modder and a purely content modder, since purely content modders often dont have the choice)
I'm figuring offloading more stuff than can be offloaded to frameworks will reduce mod compatibility issues.
that is also true and a large benefit of it
I live in constant fear that I'm gonna annoy other modders cuz of my bad coding
compat + community vetted + more people to ask for help, are all pretty big benefits of using a framework instead of rolling your own
Yee!
As a user, I donβt mind. As an author, I did that (specifically Buttonβs CMCT) but only as a conditional requirement if installed with another mod I set compat with. I havenβt heard any qualms about it so I just roll with it
Fair enough!
dolphin I disagree with your themed name
What why. π
dolphin is or is not a seafood
While looking at people's SMAPI log, I've actually encountered twice people who don't have my mod loading because they're missing dependency. But eh if they don't care about it then neither do I.
I get that fear truly but I think we have to unlearn overthinking the worst, especially when the perks and benefits all boil down to the userβs benefit
dolphins are technically made of flesh
(and yours as well, as both the author and the one who maintains your mods)
This dolphin is not though. Spoooky, right?
I once made the menus reparse every event every single tick, and modders here know and don't seem to have ostracised me yet, so I think you're safe 
(tbf if you'd done that recently i would definitely have had some Words with you /lh)
whoof
(what counts as recently /lh)
(no this was published in December or January and written in 2023 lmao)
any time after my "hm, this person uploaded a C# mod but theyre new and i dont trust them yet" phase ended
(I just made the mistake of not going over the code super thoroughly when migrating it from personal use to a published mod. whoops.)
the only time i get annoyed by bad code is when its coded badly in such a way that a) couldve easily been done a lot better for little to no effort and b) breaks one of my mods in the process
if not both of those things are true then it aint my problem
How do you feel about bad code thatβs breaks your mod but canβt feasibly be done better
(Ie. 3d mod)
im getting a lot of questions that my "if not both of those things are true" shirt already answers /lh
β¦is βoneβ considered βa lotβ these days
yea h
Wow, Iβve got a lot of Kirby air sequels Iβm excited for releasing soon
(One is definitely far more than I wouldβve expected 6 months ago, to be fairβ¦.)
i mean, would you not have said one kirby air ride sequel being announced would be-- yeah
its all relative
~~I'm really in the mood to play stardew VR but it doesn't exist in playable form yet π ~~
maybe ping the mod author and ask when its gonna be updated
That mod author doesn't appreciate accountability, smh
have you tried leaving a rude nexus comment
stupid question, I keep thinking about making a mod that changes the starting season & season lengths im just wondering how feasible adjusting event stuff like the mines being blocked the first couple weeks and the community center cutscene/unlock arguably need to be moved to fit into whatever season is being started in. im just not sure how feasible that whole program is, even before getting into ideas like a custom starter crop for fall growing into a mixed variety of pumpkin items (heirloom pumpkin vibes as opposed to carving pumpkins like are the normal crop) to go along with it.
mines blockage/cc unlock/spa unlock all uses days played, so you probably don't have to worry about those
season length is gonna be the bigger problem; the vast majority of mods and even the game code itself assumes 28 day seasons so you got some work ahead
(FYI there are already mods that change the starting date and/or change season length)
Only thing I see with things like mine unlock, is that the game only has the spring version of them, and I don't know how easy to would be to change it
i guess then itd just need be whatever replacement seasonal crops id want to make then
how dire is the museum real estate situation
this too lol, good catch, but it's nothing an image patch can't fix
from bad to catastrophic I'd say
There are already mods that are just adding more room to the museum, nothing else
I know of at least 3 mods that touch it - SVE, VMV, and Extra Museum Space
suppose there's a little bit of work making stuff clean (season locked cutscenes ect). has some potential concerns with custom farm houses being sure to not be giving parsnip seeds. but i suppose making a mod to pick a starting season, then making any seeds given be swapped somehow i know farm house starting gifts are weird.
i can think of 2 others: cape stardew and the mod by oclarina that has a lot of ms
wonder how much of a hassle it would be to make a whole separate museum.
well we have a framework for that now, so not much I'd say
huh wait really?
yeah
neat.
hi ^_^ still a beginner at this. I want to make a simple cp edit to the text about your horse waiting patiently that pops up when you return from the desert. I found the string for it, BusStop_ReturnToHorse2 in Strings/Locations, but I can't for the life of me find where that string is used in the data folder. it doesn't seem to be in the Locations data. does anyone know where it is? or is there a way to just edit the string itself in strings/locations?
with editdata?
yes
{
"Action": "EditData",
"Target": "Strings/Locations",
"Entries": {
"BusStop_ReturnToHorse2": "Your horse is very angry with you for leaving it. Better sleep with one eye open tonight...",
},
},
(but use i18n of course)
ok i must be doing something else wrong bc it isnt parsing :p json validator says it expects object but got string
I'm using fields instead of entries, is that the issue?
not sure, but post your code pls
alright gimme a sec
"Changes": [
{
"Action": "EditData",
"Target": "Strings/Locations",
"Fields": {
"BusStop_ReturnToHorse2": "text here"
}
}
]
}```
ok switching fields to entries made it parse
hmm yeah Fields probably only works for nested data models
it works! that makes sense. thanks for your help
(iirc fields on string string asset has special logic for slash delim strings)
Hi, I could use some help with how to format questions/responses in dialogue. For context, I'm looking at StardewValleyWiki.com/Modding:Dialgoue to learn, and the examples shown there are formatted differently than how my json files are. Can someone help my baby self understand why and how to adjust my dialogue.json? Here's a screenshot of the example on StardewValleyWiki, and my dialogue.json
either have to use Extra museum space or make your own with Custom Museum Framework and from a player perspective i'm begging you use CMF
yea cmf or ub dont bully vanilla museum
i think cmf is nice for location and adding text to all the stuff
ub nice for scattering unlockable bits
oh right UB also works
Before I go making the sprites for an idea I have - if I use custom bush mod, is it possible to make it so that seeds can only be planted in one season, and harvest can only be done in a different season, but during the other two seasons the crop will stay alive and just change looks according to my sprites? I know it is a bit unusual to have a crop that grows over the year instead of over the season, but I'm hoping to do something like this.
(there's nothin stopping you from adding a door to the existing museum that warps you to your custom CMF museum location either, if you really want it to seem attached to the existing museum)
how much codey-explodey do you think would be involved in a diy museum mod where you can place the museum tables as furniture
with the vanilla museum or with cmf
with CMF you'd just need a way to put a TileData on the furniture
with vanilla
you can put properties on furniture with harmony, spacecore, and furniture framework
maybe calcifer too?
actually even with vanilla it seems like it wouldn't be too hard. could just postfix isTileSuitableForMuseumPiece
would have to prevent picking up the furniture if it had an item on it though
CB's drops can have conditions associated with them, including seasons
plant conditions is not possible I think
oh for some reason i thought you were talking from like a CP perspective idk why
yeah doing it with the vanilla museum would be dead easy
somehow I thought there would be more hardcoding than just. a net dictionary of tile -> item
I guess I've just been traumatized by bundles lol
Hmm. I'm still torn as to whether I have more flexibility adding a custom crop or custom bush.
I want the crop to age slowly over spring/summer once planted, then be harvestable in the Fall with it's own sprite set to reflect this (full grown vs harvested), and dormant/no growth during winter (full grown vs harvested sprites). Then if the player has it already dormant-harvested on their farm, it will trigger the growing process Spring 1, starting it all over, or if they didn't harvest it would have a sprite set for old growth dying off and new growth coming in.
It's a lot of sprite creation, but I want to do it if it's possible coding-wise
not really with current options
the closest would be a bush, with some differences
there's some options with spacecore
but to my knowledge there's no way to have all the things you listed
Well, not without c#
asparagus you would plant in year 1 and start harvesting in year 3 π
realistic farming mod, wait 10 years for your apple saplings to start fruiting
then after a mere two seasons they die off due to blight
Snap frost kills your bananas
spend the next 2 seasons applying for government bailouts from the ferngill republic agricultural department
Why the hell did you think you could plant them up north
Asparagus is a fucking beautiful plant though
Oh, yeah. I think I'll just make a new museum space. Maybe I'll make it go with a spare npc i have... They can work part time at my museum~
It's miscanthus, lol. I want it so I can use its product for construction materials ^-^
And the mod I'm building has community harvest event and building event that can only happen in specific seasons if certain conditions are met.
So..... yes, I'm maybe leaning too much towards realistic farming specs on this
i think you gotta balance accuracy to irl and pacing in context of game's og crops
Yeah
like why would i plant this thing kinda deal
Well, that has to do with the mod it will be a part of - it's construction material for the farmhouse
as for what you can do without custom C# i do think bush is a little more controllable for harvest times
since it has support for GSQ
i don't think it's a good idea to restrict when a player can plant something though
it is a pain if i get the planter thing 1 day after the plantable season 
lol, yeah, that's a good point
So I will need to sprite up for each season so they can plant whenever
u can use same sprite for all 4 seasons if you dont wanna deal with it
Nah, I like the visuals, it's not too bad
then have fun 
I can make more than 4 sprites for growth stage though in custom bush, right?
4 is just the min?
along a texture row, I mean. The instructions aren't quite clear, it just says the standard is 64x32, but it is possible to add
im not sure if custom bush has concept of growth stage 
Ah, a crop has a designated field for how many days it spends in each stage, but you're right, I'm not seeing that for custom bush
yeah, it's part of the difficulty and the fun of modding, to find the right balance between conveying the concept of a specific crop and gameplay features
Smh
I request some mods for this thing known as "real life gardening"
All melons op plz nerf
I do like some realism myself; that's basically almost all of my content mods, but yeah I concur that a "apple trees take 10 years to mature only to die of blight half a year later and pushes you into bankruptcy forcing you to apply for bailouts" mod is not very fun
Mod that gives your peach trees Disease 75% of the time
mod that makes those fat possums dive onto your saplings and destroy them completely
oh wait these are american possums
mod when you need to change your banana cultivar every few years to avoid the gros michel's fate
Also how long do bananas take anyways
My impression is that a banana is an overgrown grass
pretty fast it seems (about a year)
not that long. typically you obliterate the stem after harvesting, they're quite fast growing being technically grassy herbs
Banana trees grow FAST. This is the progression of my favorite plant over the past 9 months : r/houseplants https://share.google/GPkfciKIecEXbVkCN
(share.google ..?)
Alright
Does anyone know where the values for the player-creation menu (the new game menu) are stored?
I expect selph to make an realistic fruit tree mod asap
I feel like i was supposed to do things with my mod...
Ah right. How to make honey from fruit trees?
what sort of values are you looking for? hairstyles, shirts, accessories, menu sprites, or something more UI focused? ( @zenith tartan )
Better Beehouses (mod)
alternatively get my Additional Tree Equipment mod and put a beehouse on a tree
think so yes
It's funny because my beekeeper coworker says his pear trees are a big hit with the bees
(this means I won't actually have to make the mod myself, hooray.)
So are every single gd melon and squash
(i still do need to come up with recipes for my flowers though...)
Have you ever seen an inch long bee?
All of them I think? I want to make a mod that reads what they are set to when you create your save, write that to a file, and then put those values back in next time you start a new game.
Edit: Sorry, not the sprites I guess. The actual choices.
I should add, I'm a total newb.
!startmodding look into C# modding and decompiling the game
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.
the values are likely going to be split between the Farm, Farmer, FarmerTeam, and other classes. it's best you find the new game menu class itself and check out what's assigned when the new game is created.
So I did make a decompilation of it and looked through, but I wasn't sure. I think the class is CharacterCustomization.cs.
But I guess I'm not sure what part of that is the actual values, vs. the UI.
are you looking for the farmer appearance info or the remixed bundle whatever settings
the ClickableComponent objects are UI components, whose values get pulled and set to the desired locations
if you look at the OK button handler (optionButtonClick) you can see the logic for pulling the values from those to set the farmer name/farm name/fav thing/etc
π€ is it possible for player's skill level to be an event precondition?
if theres not already a precondition for it just use the GSQ as a precondition
and to go along with events, is it possible to make a "choice" event, like if you click yes, then you can trigger the event, and if you click no, you don't trigger it, and there's a 7 day cooldown before you can trigger it again?
im gonna try and explain my plan, i dunno if it makes sense, sorry in advance if it's long
I want two events, event A where it only triggers if you bring a certain item with you, but if you don't bring the item then it gives you event B, but i don't want players to accidentally trigger event B if they don't bring the item
so i want the start of my choice event to be like... "Are you sure? You can't go back if you click yes" (and it forks?) but i dunno if that's doable....
yep, i've done that myself for an event, lemme find it
"{{EVENT}}/!ActiveDialogueEvent {{EVENT_NO}}": "
{{MUSIC}}
/35 38
/farmer 35 36 1 {{CHARA}} 36 36 3
/quickquestion yes or no?
#no
#yes
(break)pause 1000
\\speak {{CHARA}} \"maybe later.\"
\\eventSeen {{EVENT}} false
\\addConversationTopic {{EVENT_NO}} 7
\\end\\pause 1
(break)pause 1000
/speak {{CHARA}} \"great!$h\"
/pause 1000
/switchEvent {{EVENT_FOLLOWUP}}
",
this should be what you're after? marks the event as unseen to be repeated later, adds a CT to prevent it being seen for 7 days, otherwise continues to the followup event
(\\end\\pause 1 is load-bearing fluff to prevent issues with arg parsing on end in multiline quickquestions)
Aaa ty
of course you can format it any way you prefer, like having the yes answer script come first, or indent both in the qq command, it doesn't much matter
I will be completely honest I didn't even know that existed! I will definitely see about using that π
I put a bit of work into wrangling the parrot perches into doing effects instead, but I haven't got anywhere close to finishing it
TYSM FOR THIS now i can fix my event that has this format and never worked
although it seems like there's no way to have animations that aren't just the owner npc teleported somewhere
yeah my impl follows vanilla's as close as possible
so still feel free to roll your own solution if that doesn't do what you want 
i have seen asian giant hornets, yes
how feasible would it be to get a c# API for custom instant-build animations?
tbh I haven't even looked at that part lol
so it seems to live in Building.drawInConstruction, which is quite a pile of code
devil whispers skip prefix
tbh I can add an API for this, but I can't think of anything that isn't just a glorified postfix on this function
i guess you only want to target the magical.Value || daysOfConstructionLeft.Value <= 0 branch
the other branch is thing robin bonks
Hmmm
The bee was distinctively fluffy
Also distinctively giant
Hello! Could someone help me with using the seed checker tool?
Iβve never used it before, so Iβm quite new to this. π
Seed checker tool?
Yeah? Are you asking me what I mean?
Yeah I was trying to make sense of how the wizard animation works and I don't really understand it at all
They're all python scripts. Just install python and then run the scripts with it
Looks like it uses numpy so make sure you have that installed
my understanding is:
newConstructionTimeris the timer for the building's build animation in milliseconds. it initially gets set as 2000 (2 seconds) for magical buildings, and gradually gets decremented to 0- the draw "percentage" is calculated from this value; at 2000 the building's 0% drawn, and at 0 it's fully drawn. at 1000 the building's 50% done from the bottom up
- the rest of the draw stuff is done around that percentage
..i think i messed something up-
(ik what i did wrong lol but omg this is cursed
)
got thunder bugs to finally charge lightning rods~
Also I would say this is maybe not the channel to ask for usage help, it's more dedicated to writing than using
Hmm so I'd probably need some horrible harmony to make it not do the wizard animation maybe?
apparently the wizard's build anim is the same as the instant-build anim, but with some blue fire sprites from cursors instead of the usual smoke and dust from animations, as well as the initial placement using some nearby white sparkles over the whole sprite instead of more dust from animations on the foundations
huh.
Show your portrait patch?
well the wizard animation is purely for magical buildings, which are only marked when buying from the wizard
Although I guess robin can instant build too
oh i know what i messed up haha, i just find it funny tbh
instant-build (daysOfConstructionLeft <= 0) buildings use a similar animation but with dust and dirt instead of stars and sparkles
So I guess it would be as simple as hooking the constructor to trigger the animation when it's built and use data to handle making it instant?
..rn I don't really feel like doing the shit i'd have to do to fix it tho sooooooo
just gonna have cursed kroby for a little while
At least for instant-build animations
well the implementation is up to you, i've just looked at the construction anims before hahah
or rather up to selph
(aka. selpher, formerly zombifier)
Hello! Could you please tell me how to change the texture of an item using Content Patcher? I mean just a single piece of furniture, not the entire sheet.
hi, there's a simple example here if you're already familiar with CP in general:
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/action-editimage.md#examples
where the ToArea defines the region in the furniture spritesheet you're aiming to replace
as blueberry mentioned you can set 'magical' to false to have it just do the base animation instead of the blue flames and magic, and then at performActionOnConstruction (when the whole sequence starts) queue up some animations
maybe you can even do funky stuff with the timer field to control how fast it is (it gets updated every tick in updateWhenFarmNotCurrentLocation)
(these sprites in cursors do line up wonderfully)
what I see when I encounter that octopus that I hate
So, I saw this (linked) recently ish, and suddenly realized it could be used to automatically rerun transpilers on hot reload (via patch->unpatch, unless Harmony has a function for that that I couldnβt find).
And you could just #if that to be only on debug builds.
For attribute based patching you just could check if the type has the harmonypstch attribute and any transpilers.
For manual patching I guess youβd have to store which patches would trigger based on which type? Unless harmony has an API for fetching that stuff already
Remind me in 22 hours to try the above
Ask me one more time and I'm going to jam a paperclip into my reset button. (#6925921) (22h | <t:1761609821>)
sigh...yeah I'll do it. Alexa play my destroy all humans playlist (#6925922) (22h | <t:1761609876>)
Remind me in 1 hour to think on how thinking made me think about the think so after thinking we have thought, therefore all previous statements are a direct result of thinking
I'll have you know daqueenlucy I am SO MUCH MORE than just a reminder bot. but fine. (#6925924) (1h | <t:1761534319>)
I still donβt understand how to determine these area coordinates on the actual spritesheet.
when you've unpacked the game assets, open up the spritesheet in an art program of your choice (other than krita) and it'll tell you the pixel coordinates under your cursor
you'll use these numbers as the X and Y values
even Paint will do the trick
other than krita π
unpatch -> patch is the only kind of unpatching. you can do Unpatch_All_ though which will just unpatch everything
actually there might be category based Unpatching too but im not sure if we have it in our harmony version
I think automatically doing harmony patches on hot reload has been rediscovered 2-3 times now
Do I need to place the cursor at the top-left corner of the sprite?
yep, all XY coordinates start from the top-right
generally it'll be a multiple of 16 for most spritesheets, so round it to the nearest one
Well itβs the first Iβm hearing about it, so there π
likewise your Width and Height values will be some multiple of 16
4, 276
rounded to the nearest multiples of 16 gives you 0, 272
so use those as your X Y values formatted to match the example earlier
it'll look something like this:```json
{
"Format": "2.8.0",
"Changes": [
{
"Action": "EditImage",
"Target": "TileSheets/Furniture",
"FromFile": "assets/furniture.png",
"FromArea": { "X": ???, "Y": ???, "Width": 32, "Height": 32 },
"ToArea": { "X": 0, "Y": 272, "Width": 32, "Height": 32 }
},
]
}
where the Target, FromFile, and FromArea values will depend on your use case
I need to replace Abigail's portrait. I know the Target and FromFile values, but I'm having trouble with the coordinates.
using the values in the codeblock above should be good
you just need to add in the coordinates of the sprite in your FromFile spritesheet, which if it's just a single sprite on a 32x32 canvas, should be simple enough
per the comments in the original example, you can just remove FromArea entirely if the fromfile is just a single sprite
perfect
then it can be simplified to this:
{
"Format": "2.8.0",
"Changes": [
{
"Action": "EditImage",
"Target": "TileSheets/Furniture",
"FromFile": "assets/furniture.png",
// No FromArea; FromFile is a single 32x32 sprite
"ToArea": { "X": 0, "Y": 272, "Width": 32, "Height": 32 }
},
]
}
Thank you so much for the guidance!
no problem! enjoy 
that seems to work, thank you
i think i may have also missed a comma....current maybe also works?
"AttackCondition": "ANY \"PLAYER_HAS_ITEM Current 579\" \"PLAYER_HAS_ITEM Current 580\" \"PLAYER_HAS_ITEM Current 581\" \"PLAYER_HAS_ITEM Current 582\" \"PLAYER_HAS_ITEM Current 583\" \"PLAYER_HAS_ITEM Current 584\" \"PLAYER_HAS_ITEM Current 585\"",
"AttackCondition": "ANY \"PLAYER_HAS_ITEM Target 579\" \"PLAYER_HAS_ITEM Target 580\" \"PLAYER_HAS_ITEM Target 581\" \"PLAYER_HAS_ITEM Target 582\" \"PLAYER_HAS_ITEM Target 583\" \"PLAYER_HAS_ITEM Target 584\" \"PLAYER_HAS_ITEM Target 585\"",
both of these are working now
sorry for confusion
@soft lance: think on how thinking made me think about the think so after thinking we have thought, therefore all previous statements are a direct result of thinking (1h ago)
Since the recent Automate update, Iβve been getting a message in SMAPI saying that itβs no longer compatible with PFAutomate. Could this be a problem for mods?
Well it depends on whether you use PFM
I believe some function changed in automate and so the stuff reflecting into it needs updating
People can either downgrade automate or wait for affected mods to update, no effort needed from content pack ppl
that might be harder than it seems, there are a bunch of places that need to be patched to prevent picking up furniture... FF already transpiles a bunch of stuff to replace furniture.heldItem == null with a method that checks for FF slots, so you'd have to add another check after/before it. Or maybe put an invisible item in the slot? I guess that could work.
For now, the mods I have installed β including my own β donβt seem to be affected.
FF actually doesn't mess with tile properties (except removing the hardcoded bed "go to sleep?" tile), I figured calcifer already has this feature in a pretty accessible way so it was unneccessary.
"are you in a museum? did you just use the action button on a tile that has an item in it? yes? ok, suppressing all input via helper.Control.ButtonPressed or w/e its called"
fair enough
if a problem cant be solved by removing player control, simply keep removing player control until there is no more problem. iven ever tested this theory of modding but im sure its correct 
finally, green coleslaw
Oh Nice designs!
amusingly green coleslaw was already a thing in the love of cooking until 2.0 hit and obliterated green cabbage forever
funky fridays π« now to figure out how to set it on fire
Looks incredible!
red cabbage
look inside
green
Wut is that
an exercise in using the perspective tool
it's good cabbage
can i eat this pls thx
no
unfortunately 6480 said it looks inedible or something
if this has literally been done before i don't want to know lol
have to maintain a pure mind, and more importantly, plausible deniability
One of my favorite concepts in criminal law
looks very similar [to this](#making-mods-general message)
hey, what causes the "no longer compatible" error in SMAPI? is it based on which version of SMAPI I built my mod with or is it just checking what version I put in the manifest? Someone is complaining that the latest version of FF isn't compatible with SMAPI for android
I can change the manifest easily, but it would be a chore (and probably a bad idea) to downgrade the SMAPI version I have installed
its the compiled binary vs the runtime its running in
if you are calling functions that don't exist or have different type signatures for example
but there will be trace logs saying why its not compatible
this is what causes this https://smapi.io/log/af560d4c69d54a89bebd8e55f8e51595?Mods=game~SMAPI ? But I'm not using any 4.3 feature afaIk
Log Info: SMAPI v4.2.1.1 - 1750757583 with SDV 1.6.15 build 24354 on Android Unix 33.0.0.0, with 0 C# mods and 0 content packs.
it doesn't matter about the smapi version, its everything
the android codebase when it comes to menus especially can vary from mildly to wildly different and in any mod that deals heavily with UI you will almost certainly need android specific code, as they do not share the same whole codebase
yeah, it would be annoing to make an android specific version to fix the bad function call
I guess I could just remove a feature to make an android compatible version...
Or ask the android smapi build to add a facade for it
seemingly every other tab related menu in shopmenu is facaded, except dresser
https://github.com/NRTnarathip/SMAPI-Android-1.6/blob/develop/src/SMAPI/Framework/ModLoading/Rewriters/StardewValley_1_6/ShopMenuFacade.cs#L34-L140
that's a funny issue
event positionOffset causes actors to walk endlessly with move, but not with advancedMove
interesting
Uh okay but thatβs doesnβt tell me how to actually use them π
And sorry if this is the wrong channel, I didnβt know which to ask on
You will probably want to go find a speed run discord server for things like that, since this server has no dedicated channels or information about speed running. However, if you can't or you want to give this server a shot, #modded-stardew or even #stardew-spoilers are probably better places for you to ask because this channel is about making mods, not anything to do with playing the game ^_^
(Also googling "how to run python scripts" should give you a starting point too)
yeah, once you know how to run a python script, you'll still have to ask the author or someone who used these before on how these specific scripts work. As Aba said, not sure if this is the right place to find this someone.
what mod is this from?
uhhh
reminds me of the vt style
You tryna make new portraits for Krobus?
I know how to run the script but I still donβt know how to specify what I want to look for
Then see my first message about where to ask, as we don't know any more than you do
can someone help me why my custom npc isnt showing up?
you've targeted Data/NPCDispositions to add your NPC, but that is a 1.5-era asset that no longer exists. you need to put their data into Data/Characters, and the format is totally different
!npc see these resources
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.
-
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!
(i can also see the top of CustomLocations in your data, so you should know that that too is outdated and should be replaced with the new location data format)
Customlocations is working fine for me
can you tell us which tutorials you followed to set up what you have? if they are outdated and we have the power to fix them, we'd like to
(youtube videos, for example, we are powerless to fix)
CustomLocations works but there are no advantages to using it (worse performance, less powerful)
https://www.youtube.com/watch?v=PJYc56IU2zQ
https://www.youtube.com/watch?v=wL5GFeL7hWw&list=PL6M1QTNx4Bq4hl34Fmm_L4np5UqrU0kHZ&index=1
https://www.youtube.com/watch?v=OguLSVAM2uM&list=PLN7Z5tuWCKM7zyCsDa8PgxDoFyyv34_SQ&index=4
My microphone sounds terrible D:
Here is how to use the latest version of NPC Creator.
Got questions? Visit my Cozy Apartment: https://discord.gg/uSGNKNf
MissCoriel's NPC Creator: https://www.nexusmods.com/stardewvalley/mods/4701
This is part 1 of how to create a Stardew Valley NPC. Pause anytime to slow it down. This will only put your NPC in the game, Part 2 will teach you dialogue, Part 3 will be schedule, and part 4 will be Events Overview.
Useful Links:
MissCoriel's Discord: https://discord.gg/uSGNKNf
MissCoriel's NPC Creator: https://www.nexusmods.com/stardewva...
Hey! In this series, I'll guide you through everything you need to know to make a Stardew Valley mod! In this episode, we create a custom NPC, as well as going through seasonal changes (when conditions), lights on maps, and paths (adding trees).
-----------------------------------------------------------------------------------------------------...
npc creator 3 chalks up another victim /lh
Unfortunately you can't use videos for modmaking tutorials anymore, they're out of date for 1.6
oh
Ichor linked to the up to date resources we have for making NPCs
changed it to Data/Characters but still isnt showing up :/
and the format is totally different
It's in the totally wrong format
sooo whats the right format?
You could try looking at the resources that you just got linked to
It's even got a link specifically to the page that tells you what the new format is
You can take a look at the unpacked version of the game, if you did that also
But I suggest, what Abagaianye said, to look at the links
animal crackers can't be taken back from animals right?
i dont think so
only with mod https://www.nexusmods.com/stardewvalley/mods/27071
ahh
(selph thank you for your service)
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.
-
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!
yep
It looks like you might have used an "Action": "Include" patch to call the file XperDialogue.json but instead of writing an EditData inside that file with your dialogue, you just have the dialogue. You either need to use a "Load" patch instead or (if you want to use tokens, which you probably will want to at some point because translations use i18n tokens) Load a blank json file and then use an EditData patch to put the dialogue in.
it works thx for helping me, but when i open the relationships page in my inventory the name is just 3 ? how can i fix it?
this is the last thing i want to ask
Put the correct name in the DisplayName field
it is
Is it showing Xper when you talk to them?
nope
i cant even talk to her xd
shes just there
but thats fine for me, i dont want a schecdule
Then something has gone wrong. Can you copy patch export data/characters into your SMAPI window, then upload the file it exports to https://smapi.io/json and then reply to me with the link for it?
no errors found
No, please do what I asked
im trying but i dont see other link
Did you copy patch export data/characters into SMAPI and hit enter?
and, where can i find the 'patch export data/characters'?
You need to write those words into the SMAPI console while you have a save loaded
oh xd
It will then tell you that it exported the file and it will tell you where. Go to that folder and upload that file to smapi.io/json and send me that link, please
Sorta! Making an expansion mod for them and dwarf and itβs gonna come with new portraits, but I did use parcyβs Krobus portraits as a base for mine!
Thanks. Try these two things:
- Change every instance of
{Daveed264.elsonormalis}_Xperto{{ModId}}(exactly as I've written that - just copy and paste it from this message - Change the Target for your dialogue patch from
"Characters/Dialogue"to"Characters/Dialogue/{{ModId}}_Xper"
- with permission (I'm adding this so people know you asked and were granted permission)
Yup! Thanks :)
ITT WORKS thank you for your help :)
You're welcome :)
anything bad happen if you make stuff that can produce "temporary" items like qi fruit or calico eggs? do they still disappear?
technically i already have a fruit ghost for qi fruits, no one's complained (or probably noticed lol)
i dont know how calico eggs work but qi fruits are just normal objects, the special order removes all qi fruit when its done
so if you spawn them in and the player does the special order they will poof
interesting
but you can possibly patch the special order to remove that bit
just that it would also uhh unbalance the special order
yeah
i wonder if it nukes planted ones, particularly giant ones
bonus perk of using includes, you can slightly diff which files have a problem
I believe the plants disappear too but this is a belief without evidence
The big one might not
aaaa i think i'm doing this all wrong, that might explain some things
ah neat
there's actually stuff in place
getting awfully tempted to buy one of those kits that makes a dualshock 4 have a usb C slot
@brittle pasture am i blind, where are ProduceData and AppearanceData meant to go?
"LogName": "DiamondDog EAC",
"Action": "EditData",
"Target": "selph.ExtraAnimalConfig/AnimalExtensionData",
"TargetField": [
"{{ModID}}_diamonddog"
],
"Entries": {
"IgnoreRain": true,
"IgnoreWinter": true,
"GlowColor": "Cyan",
"GlowRadius": 1,
"ProduceData": [
{
"Id": "prismatic shard",
"Condition": "ITEM_ID Input GoldenAnimalCracker",
"MinimumFriendship": 1000,
"ItemId": "74"
}
]
}
},```
so this produce data can't be here, then
in the documentation you should start from the top level fields and gradually follow the types
i have been attempting to but uh clearly still not grasping the levels
"Field name" is the actual name
maybe i need to look at like a basic json tutorial or somethin
have you perchance perused the examples at the bottom
I gotta go in a couple moments, but basically only names in the leftmost column are field names
alright, that should help, thank you again
in this case ExtraProduceSpawnList
it is a list of ExtraProduceSpawnData objects, so next you browse ExtraProduceSpawnData's reference to see what a typical object should look like
Can you create titles and seperate sections in content patcher mods content.json like you can with other mods? For example in this image, Dynamic Reflections.
Have quite a lot of customisable stuff in a mod of mine so it would be nice to clear things up with headings
Read through the content patcher readme and couldn't find anything
should be able to load up dynamic reflection's files and see how they did it
Tried that, pretty sure it's completely different since it's not a content patcher mod. I tried applying what they had to mine and it didn't work
I don't think content patcher mods can currently yeah
Damn, thanks
is it not a part of GCMC ?
Yeah but C# mods and Content Patcher mods do the config UI differently
Ooh I think I might have found something, they call them sections instead of titles
Yesss it worked. Just had to add // House Options section at the top and add "Section": "House Options"}, underneath each item for that section!
nice
yeah CP configschema can do sections
there are some GMCM features that it can't do, like paragraphs and complex widgets
Ooh okay good to know. Yeah I don't think it can do the folders thing that Dynamic Reflections was doing with their 'go to settings' bits. That would have been super handy.
The sections will have to do! π
well what in tarnation now
one dog works fine with it's EAC data, the others in another file won't leave the building if they have EAC data
but other dogs in that file that don't have EAC data do
comparison time
results: ???? lol
another day, another cursed bit of knowledge of how stardew does font handling & rendering
rude
i must still have something set up wrong
hm their home data might be a little borked, that could be it
yeaaa i think i might know the issue, oops
I am honestly impressed by how well modded keybinds can be used on gamepads using Star Control 
the quick actions I set in that video are only available while that context menu is open.
kinda solves the button variety limitation problem
yeah ok. i had the upgraded building as their home, when it should be the regular building, and reqbuilding as the upgraded one, that'll do it
once again eac is innocent and i am dumb

Hello, I have a question. I use a lot of 1100 mods (I know there are a lot of them), but on a Windows PC they work fine, but on a Mac with a better CPU and more RAM it slows down. Does anyone have any idea why this could be?
Same mods and same save file
assuming itβs not an issue with your machine, you could try installing profiler and/or associated mods linked here #1359454014319755294 message
I tried but I don't see anything relevant
#1272025932932055121 might know more about how to help
Thx
Maybe a simpler alternative would be to just remove the item from the collection and drop it on the floor if the furniture is removed
what is this π π π
Hello. can someone help me understand how i18n and gmcm interact?
tried with and without the i18n prefix but it doesnt use the token. it just writes it
Check the CP docs on config translations
isnt that just explaining what you put in the i18n file?
im confused on how you write it in the content.json so it uses it
If the translation keys exist, the config UI uses them automatically. So you'd put a non-translated key in the config schema, and the translation keys contain those config keys.
For example, set "Section": "Slimes" and it'll automatically display your config.section.Slimes.name translation if it exists.
oh man.. thanks. not sure why i was so confused by this
oh no actually this is why i thought i needed to change the config schema
for some reason its not accepting the token
you cant use tokens at all in config schema
im trying to use tokens FROM config schema
are you Loading whatever file those tokens are in directly?
or are you using EditData to add the slime candy?
edit data
it works without trying to translate the description of the item
when i try to make the description i18n friendly it no longer accepts the token
oh, are these tokens in your i18n
Plz show i18n
"candy.slime.description": "Summon {{query: {{green slimes}} + {{blue slimes}} + {{red slimes}}}} slimes and {{query: {{big green slimes}} + {{big blue slimes}} + {{big red slimes}}}} big slimes",
so this in i18n wont pull the token from my configschema in my content.json?
no
ok thank you for teaching me about passing in tokens
in game
"Description": "{{i18n: candy.slime.description | slime math = {{query: {{green slimes}} + {{blue slimes}} + {{red slimes}}}} | big slime math = {{query: {{big green slimes}} + {{big blue slimes}} + {{big red slimes}}}}}}",
in content
"candy.slime.description": "Summon {{slime math}} slimes and {{big slime math}} big slimes",
in i18n
does anyone know if this will break when actually being translated later?
alr posting my first mod, uhh can someone proofread my description?
oh also, @brittle pasture, what's your nexus page? wanna credit you for your help :)
Short desc:
Dwarf portrait replacement using Content Patcher, adds 8 emotions (+ neutral). I used LavenderSkelly's fantastic Dwarf Portrait Replacement as a base, please check out their stuff too! Since Dwarf Portrait Replacement is compatible with The Last Smoluanu by Lemurkat, this is too, but mine are more exaggerated so a few lines might have weird faces.
Long desc:
Fairly simple Dwarf portrait replacer, just plop it into your mod folder and voila, dwarf portraits! Note that the expressions wonβt naturally show up in vanilla, youβd have to have a mod that includes expressions in its dialog lines and then itβll show up. Pls lmk if you encounter any issues!!
Lil backstory, info and credits:
Hey! This is my first ever mod, so please lmk if you encounter any issues with it! Iβm currently working on a huge Krobus and Dwarf expansion bc theyβre so cute together, and I wanted to give Dwarf more emotions for it, and thus, this mod was born! I used LavenderSkelly's fantastic Dwarf Portrait Replacement as a base for these since I canβt draw without a base lol, I highly recommend you check out their stuff! As the base mod is compatible with The Last Smoluanu by Lemurkat, this mod is as well. Just keep in mind that this mod has much more exaggerated facial expressions, so a few dialog lines might have weird expressions. But do not fear- eventually (in like idk a decade) when I release my Krobus and Dwarf mod, itβll include an edit to TLS that includes making the facial expressions more consistent with my mod (said edit will be posted on Lemurkatβs side).
Also, huge thanks to the whole modding side of the SDV discord server, yβall are amazing and so helpful :))
Permissions/TOU:
Mostly, do whatever!
If youβre editing/updating/reuploading/modifying it in any ways, message me here on Nexus for my permission before posting. If I donβt respond after 2 weeks, you can post it anyways. Either way, please credit me in the post and provide a link to this mod page.
If youβre just posting something containing my portraits, like a game screenshot or video or whatever, just donβt claim it as your own. Iβd appreciate it if you included a link to this mod page, but itβs not mandatory :)
Most importantly, follow the TOU of other peopleβs content as related to my mod, like Lemurkatβs TOU if youβre using The Last Smoluanu.
Well I just lowkey need to yoink the original sprites of a few fishes
alr
Fish?
yeah
good luck with your mod :))
I tried to check out the content.json of a mod that changes the fish sprites but it doesn't reference any of the files except for some code files that it comes with
So I am at a loss
huh
Thanks, it's just a small sprite replacement
Check springobjects
YES i forgot the name of that one lol
in Maps
Objects_2 is in a different spot from springobjects, which is seasonal for some dang reason
It has most of the sprites
my username is zombifier
and I appreciate the shout even though it's totally not necessary at all 
They just updated it?
that image says it was uploaded 4 years ago
But i did say it has some not all.
It's best not to recommend it to folks over !unpack since it is out of date 
its also not useful if you need to know the coordinates of what you want to EditImage
proofread as in grammatical, or formating?
both! like how easy is it to understand, is it consise and clear?
yeah lemme brush my teeth and I'll give it a glance
What's unpack
!unpack
Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!
Oh! Im dumb ik
I miss read
What about people who dont have access to computer alot π€ and only a tablet that's not quite android?
||hubby hogs the computer constantly||
i mean spriters resource is also probably analogous to unofficial decompiles on github but for visual assets, as far as legality or piracy is concerned
I own three copies of sdv π
They're probably going to struggle - unpack also shows you the content json files so if you're needing information on e.g. an item or event, SR won't have that
you might, but do the people you're directing to spriters resource?
unpacking at least guarantees they have the game in some form
We get that
it's just that it'll probably do more harm than good
Was giving the sprite outright bad as well?
that is also typically discouraged yeah
though yours was also a jpg and not as usable for reference as the unpacked file anyway as a result
Oh I wasn't aware π
yeah it's decent
I didn't realize there was unspoken rules with this
ty! i tend to be very unclear with communication lol
eh, mod description should be informative, not some romance novel level speechcraft
No no i like this. I think it's wonderful
ehhhh i do tend to forgot whole words when speaking or typing if I'm excited-

good to know i didn't leave out any crucial info lol, i always gotta proofread anything i write to make sure-
When I wrote fanfiction I proofread this shit like 5 times, putting in changes every single time
So I feel ya
omg there are so many times i meant to say 'I really like that!' and just said 'I really that!' while the other person just stands there like '????'
I REALLY THAT
Excuse me as I got back into my miku rabbit hiddy hole. 
omg
have fun!
Miku? Is that a Hatsune Miku reference?
I can't believe it
(For reference, generally the references you want to steer people to are:
- The original game files
- The official wiki (including the Modding section)
- The modding wiki (for tutorials and how-to's)
- Asking questions here if needed (or in other modding servers)
Other stuff may be outdated or incorrect!
I appreciate it
But I sweepy I did too much adulting ran around with an angry almost toddler and stayed up until 5 am doing sprites im dead to the world. Into the hole π³ I go!
is it possible to pin this?
well tia isnt a junimo so not really
i mean a junimo can pin whatever they want, but since ~2019 its only ever been used for posts by junimos and typically for server policy updates or other very important information relevant to the channel
gotchaaaa okay
thanks for explaining :)
in a more broad sense though only Junimos (and higher ofc) have access to pin permissions in the first place, not mod authors
hence my original comment
i would have assumed like purple role+ lol
you really do not want to give permissions like that to a general subset of people in a server with ~280,000 people in it lol
yeahhhh makes sense haha
uhhh how might one set up a dynamic token of years married? I have a convo topic trigger during the 'after wedding' dialog, but I'm not sure how i might convert that into a dynamic token, maybe use that as well as the BETAS PLAYER_DAYS_MARRIED query?
I can say I made some really dumb commands when I was allowed to
!!true
true
heheh
!stop_modding
aw got nothing :(
you cant use GSQs as When conditions (without Esca's Modding Plugins as a provider) so you'd need some other way to do it that isnt BETAS, unless you wanted to use mail flags as a middleman option
lol i love looking at the commands it's great
huh okay
(by mail flags as a middleman, i mean using Data/TriggerActions to send mail depending on a GSQ, and then using that mail in a HasFlag When condition)
i think secret mail works! i wanna set it up so it works for specific spouses
i could do the one year (which isn't a year?!?!?) topic memory + days married or something to make it specific
you can do that, yeah. you dont really need BETAS at all for it really
huh alr!
you can also just set your own 112 day CT after the player gets married, and send a flag when that expires
though, admittedly im blanking on how to set that up for multiple years without just hardcoding multiple years
flag triggers a dialog that has a 112 day CT and repeat into oblivion?
but what do you call the flag?
right, but then how do you make it y2 next year? and y3 the next, and so on, forever
and then you'd need to check for y1, y2, y3, etc for the dynamic token
listening to music while i code never fails to destroy my concentration-
what do you need this dynamic token for, anyway?
uhhh line referencing how long player has been living with NPC for anniversary dialog


