#making-mods-general
1 messages Ā· Page 224 of 1
is inheriting quality from the input item the same problem, or can you do that with contentpatcher alone?
is there a mod that does that
I contemplated adding something like "affected_by_angler" tag to EMC, but lazy and busy
i meant fixing the price of already created items
no that's supported by machine rules
would that work with dynamically priced machine output (re: button)
no
if you kept one that was more expensive than the base price it would be a downgrade i suppose
pein
what happens if you stack pre- and post-angler products?
the pre-angler product consumes it
well there's another workaround, that is if in your machine rules you give your post-angler product a different internal name
then they wont stack
(note: internal name is not the item ID. they'd both have the same item ID)
I think that idea should be good enough
is thre something like
https://wiki.stardewvalley.net/Modding:Objects except for machine rules btw?
[[Modding:Machines]]
(checkout the Index page for the rest!)
thanks! i was changing the url to Modding:Machinerules and Modding:MachineRules and gave up
(https://stardewvalleywiki.com/Modding:Index for reference)
Quick, probably dumb question, but how do you load in a larger object during an event? I'm trying to add a fallen log (one of the 2x2 sprites from springobjects.png), but no matter what index I feed into addObject, I get the little crossed out circle of unhappiness
so how does CopyColor work btw? does it just automatically know how to hueshift correctly?
it will hue shift the entire sprite, unless you set ColorOverlayFromNextIndex to true in your fish sauce item's data, in which case it will color the sprite next to the main sprite and overlay that on top
you can see how the game does it for wine/pickles/etc.
oh i see
so for example i could have the bottle at index 0 and the label at index 1
yep
and it'd recolor only the label
what's up with cornucopia using this instead of just "CopyColor": true?
does MachineItemOutput really call it CustomData instead of CustomFields
horrendous
im just confused bc https://stardewvalleywiki.com/Modding:Machines says that you can literally just call it true without the need for a CustomData field and an ExtraMachineConfig dependency
am i missing something?
That was a 1.6.9 thing
CopyColor used to not work properly before 1.6.9
Cornucopia Artisan Machines was released before 1.6.9 so it used the framework for that
now you can just set it to true
oh neat! so i can just replace the customData field
do i use true or ColoredObject?
true
to be fair it's probably because it's also used by the vanilla game (for casks aging multiplier)
it just also happens to be supremely convenient for modded settings
also
localization my beloathed
(https://stardewvalleywiki.com/Modding:Item_queries#Item_spawn_fields has an explainer as to why that is used)
(under ObjectDisplayName)
Some of that stuff isn't supposed to be in the brackets
You probably want to have this ] after Flavored_Name
Oh is LocalizedText not just a lookup of the String?
LocalizedText also supports {0}, {1}, etc., and the optional arguments will be substituted into those
ah, I didn't realize that
wait whats up with the double %PRESERVED_DISPLAY_NAME?
an item named "{0} Juice" in English might be "Nuoc {0}" in another language
you can't rely on %PRESERVED_DISPLAY_NAME to be before or after the name
Mild bump, just in case
that's also explained in https://stardewvalleywiki.com/Modding:Item_queries#Item_spawn_fields
why is mail parsed in the constructor this is terrible
ie. it turns into "Anchovy" if your item is Anchovy-flavored fish sauce
oh yknow
im asking bc the wiki example is only using it once in a row
why are you digging around in mail
some things only need one substitution
pickles_flavored_name has two
is pickles_flavored_name just completely arbitrary btw?
pickles_flavored_name only appears there and on another pickled item in objectdisplayname
oh, i see
š end my suffering...
My guess is that addObject only pulls a single 16x16px square but I can try to look through the decompile for confirmation. I would probably try to use temporaryAnimatedSprite personally.
i mean its arbitrary in the sense that you can load whatever custom string you want i guess
but in the LocalizedText tokenizable string, it must match whatever exists
I believe addObject also needs a valid item in game data to start with
what would i be using if i just wanted to have the name be "[imput item name] fish sauce"
beeg log is not an item
for now just to get it working do "%PRESERVED_DISPLAY_NAME Fish Sauce"
you can convert it into i18n/tokenized strings once you get the rule working
Alright, thank you. I guess I need to decide just how badly I want this darned log in the scene now xD
Is there any issue with using temporaryAnimatedSprite instead?
Lol addObject just calls TemporaryAnimatedSprite anyway
(addObject does indeed need an actual Item to copy from)
textureName = what for springobjects?
Why not?
we need a link to do that, not a screenshot 
personally i would just rather it be put in its own method, not that its a problem with parsing it on creation
Just which texture name to use in the call
Maps\\springobjects
Will give it a spin. Thank you!
It's mostly in methods the constructor calls
im not asking for help, im just saying its funny how many errors i got
yeah but in three different constructors
Could have a fourth 
(chu if you're here are you also impling item query mail attachment)
(something something I have two pennies)
i assume if ObjectDisplayName works to change the name of the item when you make it, ObjectDescription changes the description?
no, that's not a thing
just display name
smoked fish has dynamic description, but that's specialā¢ļø
feeesh
I can't guarantee it will work because I can't read C# well enough to know if any spritesheet is valid for the textureName but I hope it does!
ah, so different wines always have to have the same description?
tbf its not like i can localise anyways
i dont really know enough languages for that
and google translate is banned
I'm just trying to figure out all of the rest of the parameters now. And whether or not the texture name needs to be in quotes. Would help if there was an example on the wiki
if a mod gets popular enough (which in some cases is like, 50 downloads), other people volunteer localization
ok, but you dont have to be the translator
fair enough! something for future me to worry about then
(should load any texture asset name you toss at it afaik, from a quick glance)
welp guess im not doing mod testing today (its like 38*c where i am and my computer would die)
(100*F)

heyyy how did you get a picture of me
Magic
QQ - Are 'update' methods, like NPC.update called on a fixed cadence, like 60/sec? Or is it framerate-dependent? I see a bit of code around that seems to assume a fixed 60/sec cadence, but not sure...
im going to make a tutorial for modding for myself, like my own little book for modding (since i am going to make it i can make it so i understand it however i want)
as far as i know it will be every Tick which is "hopefully but not guaranteed" to be 1/60th of a second
someone smarter than me will correct me if im wrong im sure
idk ur pretty smart id believe it
I think if the game cant handle 60 ticks per sec then it'd just slow down
(not smarter than button)
i know OnUpdateTicked has that being true, but i cannot personally confirm from my own knowledge whether every single custom Update() method happens after every tick
but if they all follow SMAPI's UpdateTicked event then its "appriximately 60/sec"
under good conditions ofc as selph mentions
(and in this case wen i say Custom i just mean "doesnt come with XNA/monogame")
That's been my working theory. I think I'll just go ahead and assume 60/sec for things that are basically aesthetic.
usually animation frames are on a timer not frames
I can offer an example and help, if you like!
175ms and stuff
so it's not important that tick is 60/sec exactly, using elapsed time from GameTime is enough
Yup, animations seem to work with elapsed, but things like jump are going to be tied to tickrate. (As it updates gravity every update, regardless.)
Every time I go to place furniture in game I think "argh, I hate AT for furniture, I will go convert all these AT packs to CP" and then when I am out of the game I think "argh, it's so much work to convert all these AT packs to CP just to avoid a slight annoyance in game, I'll just deal with them being AT".
Stuck in an endless cycle of avoiding decorating.
Yes please. I have this based off the Marnie dance example:
temporaryAnimatedSprite Maps\\springobjects 32 400 32 32 400 0 99999 39 11 false false 32 0 1 0 0 0 ping_pong/
It is currently flickering between the log and the next 32x32 spot on the sprite sheet XD
And I can't figure out how to change it so that the animation has only one frame
Same issue - I decided to write a mod to help get myself to decorate:
https://www.nexusmods.com/stardewvalley/mods/24958
Didn't work. I still can't bring myself to do it.
Can you finance your new farm life through Joja? xD
Lina made me a thing to automatically convert AT packs to CP but I can't remember how to use it lol
I converted furniture from at to cp but then didn't want to use the furniture because i hate decorating
I've almost got it working, btw
But it thinks that the animation should be more than one frame. Posted the code above
I would try changing interval to 9999999, frames/length to 1, and removing ping_pong
is the last field required? if so, what can I use besides ping_pong?
There's a more indepth explanation of the command on the migrate to 1.6 page which I think needs to be on the event page
No, the flags aren't required
ok good. I'll give it a try!
Nice! Log is now behaving nicely in the scene. Thank you for your help š
Hooray! Glad it worked.
Hi Chu, are you still present?
is there a question that only chu can answer
Its about their mod he made for flavored items
@lucid iron the answer is yes there is a question that only chu can answer
im scope creeping the mod
WAIT I CANT TYPE THAT FASY
check back in 24hrs
(sorry chu i forgot they didnt actually type the question before i pinged)
but i did post the test one yesterdya
lol omg ok so do you plan on publishing that mod soon? I would like to use it for a shop in my mod FoS
Ahhhh it's scary trying to update wiki pages with info from the migration page.
Ok, I just don't want to add a dependency for it, if users have no way of downloading it from Nexus yet, and there is no rush at all, but I will be eyballing your modpage like a hawk until it is posted : )
i would love a mod where you can deny the letter at the start of the game and work for joja instead (put it on the mod idea repo)
so if u already put stuff in ur mod using the mushymato.MMAP id u will have to change it later
Just to add a spin on it, have it be that you reject the idea and then Joja sends you there anyway to help them gain a foothold. xD
Oh yeah lol
Like Morris with JojaMart, but you're meant to be a plant in the town to demoralize Lewis, LOL
I hate trying to read the wiki syntax but I love helping the wiki be up to date. Such is life in the zone.
Could someone quickly take a look at this? am I using when wrong?
"Action": "EditImage",
"Target": "Maps/townInterior",
"FromFile": "assets/wiztowerinterior.png",
"ToArea": { "X": 0, "Y": 0, "Width": 512, "Height": 1088 },
"PatchMode": "Overlay",
"When": {
"SelectedWarpMap": "WizardHouse"
},
{
"Action": "EditImage",
"Target": "Maps/townInterior",
"FromFile": "assets/wiztowerinterior.png",
"ToArea": { "X": 0, "Y": 0, "Width": 512, "Height": 1088 },
"PatchMode": "Overlay",
"When": {
"SelectedWarpMap": "Custom_WizardBasement"
}```
yea i dont think SelectedWarpMap exists
...oh
So, on the backburner for that perfection farm thing-- the string mentions that you are left a Magic Lamp that grants a powerful bonus. What would make sense for that? Daily buff similar to the mastery statues? Daily iridium/resources/gold similar to the perfection statues? something else?
Is SelectedWarpMap not your own config token?
found it on CP wiki
Also Idr if I said this last night, but thank you thank you thank you for making the mod 
There's an author guide on the Github, but that is very much not a wiki.
errr. the content patcher github, yeah xD
And there's no mention of SelectedWarpMap on the github as far as I can find
Which section? I've never seen that on there either, even in the config or token sections
(We are asking because we want to help btw, not to nitpick at you)
uh oh.. where did I get that from xD
Okay, so basically I'm trying to make the modified town interior only apply when in the wizards tower/basement
ah, then you want the location as your when condition
The only place I see the word SelectedWarpMap being used is a DynamicToken from SVE:
... that's probably where I grabbed it then.
A work of art
I think this is what you want then:
"When": {
"LocationName": "Custom_WizardBasement, WizardHouse"
}
You'll need to change the update rate to OnLocationChange.
ty! Idk why I didn't try locationname first.
You have no idea how excited I am for this!!!
I have long wished for my fences to give me jelly
Jellyfence
Fencejelly
That just makes me think of a fence in skyrim that only accepts jam and jelly
"The gate is closed but looks at you hungrily. Offer jelly?"
Iād like to hear some opinions from you guys here on npcs. What kinds of custom npcs would you say donāt seem very common but youād like to see more of? Are there some ideas your surprised no one has done yet?
Toll gates, LOL
More animal/non-human NPCs are always nice.
I like seeing NPCs that traverse several mods, in general. Like Eli and Dylan seem to
Not enough children!
There probably arenāt enough kid npc with fleshed out stories
I have the Stardew Kids Expansion mod but it's a bit sad because none of the NPCs really acknowledge that they exist so they feel like ghosts
Like more pet npcs that can talk?
Maybe pirates related to the ones that show up at the Ginger Island cove?
make bird npc
There was that one mod that filled out a school with more kids before, I think. But I'm not sure it still works.
children are tough to do because they generally depend on adults, so you automatically have more work to do
A whole pirate crew just comes and goes but no one mentions them
Yeah.. I've started limiting the types of npc mods I get if no one in town seems to take note of them, or they're sort of monolithic
there really aren't many edible npcs in the game are there. now there's a mod with moral dilemma
something something krobus black licorice
Like a talking blueberry?
i would really like more monster people
an NPC whose heart level is an indicator of how much you ate them
at 10 hearts they just fking disappear permanently
Ooh yes.
Either ones that can talk (you can lock the understandable speech behind the Forest Magic wallet item if you want), or just random animals that have descriptions about things they are doing when you click on them rather than direct speech.
That would be fun
like, say, the hat mouse 
Are you saying Lacey is a pet?
Because I think she would have something to say about that ichor
I think they're saying Lacey is an alternative to a talking pet that's still an animal
You could pet her, theoretically.
theoretically?
a little weird
if i was a mouse girl i would want to be petted
Iāve never played any hat mouse mods
listen i'm not going to tell anyone what they can and can't do with their mouse wife
Instead of "can I pet the dog" it's just "Can I give the mouse an ear rub"
I mean.. you can't actually pet her, but in theory? xD Need a way to give her headpats
their mife, if you will
Ooh the forest mouse mod is also cute, but they're not really npcs you interact with much
anyway, assuming i ever make another NPC, i think i have it lined up, and would you believe it's another nonhuman
i would actually
My IRL wife actually is my mouse wife and I do pet her so this checks out
mostly bc i think it would be really weird to lie about it
Truly groundbreaking
Iām a little confused now
By the way we have just meandered around saying some useful stuff and some silly stuff?
||crow||
Context: ichor made this: https://www.nexusmods.com/stardewvalley/mods/18177
||dancing crow?||
Random chance sea monster?
It is kind of funny, but the conversation is being pulled in a few different directions at once
My ||favorite new 1.6.9 addition||
Always
lol
||dancing crow|| is on the shortlist, but not currently in the lead. that may change though
Sorry to add another topic btw but is it possible to make a music file not get added to the jukebox selection after playing?
Because my scene is adding a clip of snoring sounds to the jukebox and I don't want that there 
i dont remember what the jukebox menu looks like, does it show "???" or smth if you dont have one unlocked?
or does it just show nothing
bc if it shows nothing you can just use MarkSongHeard Current songId false
Nothing's there, the selections just increase every time you unlock more songs
I wonder why there arenāt more shadow folk npcs honestly
I think you can edit Data/JukeboxTracks and ban your track
Sen and Krobus need more friends
Sen is one of my favourite NPCs
One would think there would be a lot more
there would be a lot more if you didnt kill them all when you were going through the mines. you monster
I'll look into those methods then, thanks 
There needs to be like... an outcast shadow person club, where they sit in Sen's hideout and sew cosplays and discuss shadow person politics
i'm 96% sure you can manage the jukebox with just CP but i forget how
is that what the _disabled_ entry in JukeboxTracks is for
(tbh Sen is great, but imo he's kinda lore breaking since he's just waltzing around in daytime)
(unless there's a heart event that explains it and I missed it)
"_disabled_": {
"Name": "Invalid",
"Available": false,
"AlternativeTrackIds": [
"buglevelloop",
"coin",
"communityCenter",
"jojaOfficeSoundscape",
"nightTime",
"ocean",
"title_day"
]
},
i have never looked in this file before
Neither have i
I can't believe I'm not allowed to loop my favorite track jojaOfficeSoundscape
We can enjoy it together
why is title_day banned ):
Well.
no ocean sounds either... rude
You can look at it, I can look at discord, because I sure the hell am not getting out of bed for anything right now
you have the repo you can look at it in there
Not on my phoneeeeeee
i cant believe atra doesnt have a web browser on their phone
Although I could log in to github with my modding github I guessss
....is it a nokia or something??
i think setting Available to false for your music ids will do it. you don't have to add them to the weird one
(I have two githubs. One for modding. One is my real name github.)
why is the weird one there
š my npc's sorta break lore but not in any significant ways, just like "yeah this exists now btw, not like the average person would care though"
i don't know, button
why not :/
i wouldn't say lacey breaks lore so much as i just wrote what i wanted
(it helps that the extent of hat mouse lore in the game is "hat mouse. poke")
talking mouse is already canon, apparently. Are there more talking mice other than yhe hat mouse ?
I wish I could survey what the most common npc professions ppl write are
Honestly probably science something
"desperately unemployed"
I keep seeing characters in the field of some kind of researcher
Adventurer
"truck freak"
I feel like I see a lot of adventurers
i cant wait for my NPC to bend/break the lore i hope people complain about it in my nexus comments
Lol, you might be right
Would a lot really care?
You'd be surprised
theres someone to care about everything
I want more nonsensical wizards in my game
Gosh⦠I have know idea what reaction to expect when mine is finished
Im going to put more wizards in my game
I have the general belief about Nexus commenter's that there are 10% that just complain about stuff
I just ignore
Tbh you can't expect anything until it's done unless it's like. something you know will be a talking point from the start
I mostly see positive on others posts. Are the mean ones deleted?
i dont want to ignore them for my npc though for my NPC i would find it entertaining to read any complaints
if your NPC says geez you're breaking lore /s
hooboy
I got one that just collects hate speech that I report and hide
dire times
Thatās a nice attitude for it
It's not for Stardew, but man can comments get that way
i did wonder what you were going to do to prevent this when we were talking about it earlier
is this the fish dimension
(free virtual cookie for who knows why)
what are you doing with so much sea jelly what
then i decided you probably know its not your job to
It works 
Jukebox snores no more
absolutely
Does lore breaking get a lot of flack? I mean, ppl can just not play it.
what about yobeez
I volunteer as tribute
you appear to have had a fish bomb dropped on you
yobeez nu-- (i am yanked off the stage by a large cane)
yobeez louise...
perfect, no notes, I'll make my NPC say that
what does each permission mean on nexus mods?
i feel really dumb for asking but just to make sure,,,,
there are explanatioins of the permissions beneath each permission
thinking about falco calling you einstein in star fox 64
i mainly ask since i assume the permissions of this mod are open
"Minced Oath" is a great term
"People can just not play it" is not a thing that people who complain about mods like hearing or thinking about. For some people, everything's gotta be for them
it's the nyapu-styled portraits for nora
each of those tells you beneath them what you are allowed to do or not do
would make a wonderful new food item actually
and i'd like to not get into trouble over uploading the spirit eve set
sorry if it's really dumb
and it's internet comments, the bar for entry is super low, people just spit out whatever they think about something sometimes
Your right, thats not how the internet works, I just havenāt experienced a lot of mean comments on anything mundane.
Do you have to download first to comment though?
You do not
yaaay it worked ty ty
Oh nice
hm... that looks like a problem
Now that is a mysterious pot
i think your stew's burnt
maybe full of shadow guys
Ohā¦. Ok, that makes sense
Since the green crud is coded into the game I used the invert to try and mess with it xD
i feel that. it's one reason im kinda skittish online.
You cooked krobus
kjsgbshjsgjhk
this is a thousand yard stare comment
you are correct
I seasoned him with some of sebastian's vase contents.

Weedbus
Are there a lot of farmer npcs that people have made?
Hmm i don't think so exactly
SVE adds 3
Those tend to be in expansions
RSV also has a bunch more
(dont forget rule 6)
Not just one off mods huh?
There aren't really any standalone farmers
Hmm... Wait, there's one recent, Coal Point Farm?
Oh, whatās that?
Farmers as a concept need a lot of space to look believable which I imagine is hard to fit into town
as in, rule 6 of this discord server
I want a farmer NPC that somehow ALSO gets a deed from grandpa so you both fight over the farm and pull up each others crops.
Coal Point Farm does add a farm and people farmin it
I think that's as small as farmer-adding mods get
The farmer's long lost twin separated at birth-
yesss
Wish that were possible
they walk around town trying to sabotage your relationships
until i know pelican town's laws on the green... imma assume bay leaves lol
sounds like a use case for Barley's thing
Remraf
We need an enemy ark with a character
one day I will have negative 10 heart with Pierre
Oh wait, you were talking about enemy nps right?
hmmmm.. is it possible to animate the sve wizard overlay via spacecore or anything?
A rival like in a couple of the old Harvest Moons sounds interesting but there'd need to be some mechanic for tracking your progress vs theirs and some kind of reward for competing with them
the wizard house, glow thingy
I am... Very unfamiliar
xD do you use sve?
Nope
ahhh
Havent done so in years
it's an overlay png of the whole room that has like glowy lights
lmaoo
that's now two mods for item query attachment in mail
idk we could always have 3rd
depending on what I want for my next there might be a 3rd
not always
prank spam mail, your mailbox is now sticky
sneak peak on what I'm working on. sending this in mail will need an item query
but this one does have reason, i made a item query model so i was trying to think where this would be nice
CP again failing to tokenise values in data models with tokenised keys 
somehow it feels like its only me who runs into this
blues maybe try local tokens
they resolve really early i think
i didnt realise atra already released tho
since atra is supposibly retired and stuff
released what
item query in mail
why did i think selph did that
how would a localtoken solve this? this is just dynamictokens not being parsed
I did item query trigger action
i think local token resolves earlier
not mail yet, which two people have now beat me to
item query trigger action... i dont remember what that means
add item but it can use an item query
oh i did that one too 
oh just that specific action
well its ok 3 cakes etc.
this is more like 2.5 i think
wow! n+1 cakes
n! cake
so much cake
hmm should I make the fire bait trigger on legendary fish. on one hand that'd screw careless people over, but on the other hand funi
what is fire bait
:SBVYes:
i think u should do it
ftr i dont think you need to be careless to accidentally get the legend
my honest answer is no i would really hate that actually
as a player
my noob ass will just use deluxe bait anyways
please do not smoke the legendary fish
yeah makes sense
but on the other hand I can sign them up for my pyramid scheme
what if i have 3 cause the challenge bait?
i would still hate it, bc i dont like fishing them up enough to a) want to do it again and b) not be aggravated if i lost it bc ive had the same stack of 999 bait in my fishing rod for 7 seasons
(yeah I agree, I would also not want my legend to be smoked as a player)
i smoke my legendary fish and then display them on tables
well, i stopped doing it in 1.6.9+
they get to be in a pond now
i'll smoke their family instead
localtokens not solving the issue here for some Include-d assetjson { "Changes": [ { "Action": "EditData", "Target": "{{ASSETS}}/Definitions", "Entries": { // . . . "FoodsThatGiveLeftovers": { "{{LocalID}}_seafoodsando": "{{LocalID}}_seafoodsando_half", "{{LocalID}}_eggsando": "{{LocalID}}_eggsando_half", "{{LocalID}}_saladsando": "{{LocalID}}_saladsando_half" }, // . . . }, "LocalTokens": { "LocalID": "{{ID}}" } ] }
how early are you populating this dictionary
ppl made extensive use of tokens for my very nested model
GameLaunched -> OneSecondUpdateTicked and LoadStage.Ready
again the keys tokenise fine, but the values dont
doesn't seem to matter whether i put the LocalTokens in the Include action or the EditData action
does it work if you use LocalID in the key but like, LocalID2 in the value
a second token
(or just ID and ID2 ig to abandon the localtoken stuff)
what if you try lazy loader instead
i was really hoping it wasn't the tokenised-key-blocks-tokenised-value issue
maybe dumb but what if you use Fields instead of Entries
sidenote i am way too dumb to be able to read CP's code
errrr if i use Fields nothing is loaded to the data model hahah
not ideal
the bug report is that the values on json:129-132 aren't tokenised, so itemregistry.create("{{id}}_item", 1) is failing
i've run into this with 2 mods and a repro pack already haha
in case anyone's brave enough to look into it more i opened an issue a little while ago
https://github.com/Pathoschild/StardewMods/issues/1056
@rotund elm docs https://github.com/Mushymato/PeliQ/blob/main/README.md
New utils mod for item query stuff
https://www.nexusmods.com/stardewvalley/mods/31832

Sorry to bother you guys. Can anyone tell me, can you set dialogue or whatever for a year past Year 2? I see that you can set stuff for year 1 and the _2 means year 2 or later, but can you set stuff for Year 3 specifically? Like a When condition? "Year": "3" Is that a thing?
thank you, I appreciate it
(i give up trying to read CP code sorry blueberry)
i dont think i can even find where its actually parsing the token in the value ever. like i think i did but heck if i know
that's fair, i'm sure you'd need a degree in the source code before you could start to debug something like this
I think i never ran into this problem cus i always did invalidate+lazy load
i did my best 
Instead of ready+one sec tick
the problem isnt the tokens being not ready though bc the tokens in the key work
and if they simply werent ready they would just be empty strings
or null
But empirically some trinket mods have serious token abuse inside and they r ok
and empirically it is not here either
it feels like a weird thing with specifically Dictionary<string, string> models
lazy loading wouldnt change much since they're reloaded and invalidated on LoadStage.Ready
Hm does it make diff if it's a string: some model
nope, i had the same issue in a different mod. here i had to use "LocalId": "_suffix" because "Id": "{{ID}}_suffix" wouldn't tokenise:
"Entries": {
// . . .
"ShrineTrees": {
"{{SHRINE}}": [
/** Small Cherry **/
{ // Graveyard shrine
"LocalId": "_Cherry_S",
"Tile": "34, 11",
"Flip": false,
"Leaves": true
},
],
// . . .
},
// . . .
}
Did you try patch export
in LOC? just the same as ModId. in the other mod? some string used in the assets that predates pretty much any CP implementation of locations
the exported results are the same as you see ingame with the debugger, this issue includes the patch export file
oh the page expired
well anyway the repro pack is there
Can someone please tell me the name for these things? Event.fromAssetName and Game1.eventsSeenSinceLastLocationChange. The context is listing them on the wiki to explain that you can use them in C# mods. I don't think they are methods?
those are fields
fields, surely
on Event and Game1 respectively
Thank you!
It's so hard to do the C# part of wiki edits when I don't know what anything is lol
Chu, where did you even find the PeliQ mod page banner XD Im dying 
blueberry does your dictionary work if you load it after the save is loaded
just load the same asset into some random dictionary in a ButtonPressed event for testing
oh well the repro pack already does
public class ModEntry : Mod
{
public static Data Data;
public override void Entry(IModHelper helper)
{
helper.Events.GameLoop.SaveLoaded += this.GameLoop_SaveLoaded;
}
private void GameLoop_SaveLoaded(object? sender, StardewModdingAPI.Events.SaveLoadedEventArgs e)
{
ModEntry.Data = Game1.content.Load<Data>("Mods/CPNestedModelTokenTest/Data");
}
}
nope 
There. Any Idea if a lot of mods use this place?
honestly you're better asking in #modded-stardew , people there play with a wider range of mods than us here
this is the busstop, right?
That looks different to my busstop by quite a lot, I think. I assume that's because I use SVE.
that area was only added in 1.6 i think
when the bus stop was widened
SVE might be using the smaller one still
there's a joke in here about Stardew Valley Didn't Expanded but i'm not qualified to write it
SVE's is the same size so maybe I just have never paid attention to that spot lol
not high enough server rank
ooh right, villager role. you need to post some before you can share images
its loosened in tech support and mod makining channels
always forget the rules around here
you can copy the message link to your message in here though thats probably fine
Talking!
If you combined your image and question into one message you could forward it to modded farmers (or I could if you don't have permission)
isnt that where tim's garage is
if you want a naive answer, since the area was only added in sdv1.6 there won't be so many mods using it
ah nop its not https://www.nexusmods.com/stardewvalley/mods/26146
is that tim drake from the hit webtoon series wayne family adventures
there is literally nowhere in the vanilla locations that you can put something that isnt already taken up by some mod somewhere
so dont worry about it
does anyone know how to code sprite animations for sprites that are double-wide, such as clint hammering or elliot fishing?
I believe you need SpaceCore for those
every instance of that in the vanilla game is hardcoded otherwise
https://github.com/spacechase0/StardewValleyMods/tree/367b8e85e312730aebd50cdc3417391410848ea3/SpaceCore
search for SourceSizeOverride
eurgh okay, like in C#?
No
SpaceCore adds features you can use in CP mods
instances in the vanilla game are hardcoded in C#, yes
alright, thank you! downloading now :)
hm so i suspect i never ran into this bc
ModId works perfectly as token in key
no other tokens do so it prob have special sauce
quarry mine is rather untouched afaik 
i have seen a mod add stuff to the quarry mine but it was in 1.5 iirc so
who knows where it is, both on nexus or in my memory
lewis basement has only 1 mod afaik
Someone has added an NPC to the quarry in 1.6, I believe. Or planned to.
oh its even updated, nice
that is outside the mine tho :p
tbh if I'm adding NPCs I'd just add Central Station and have them come in via bus
season and day
but it is however in the same vanilla location
it does look like modid is speshul for being invariant at least so not that surprise
if i'm adding npcs i think i'll use gil's character stub just to see what breaks
or just become more popular than SVE and remodel the town :^)
can you try another immutable one?
all the cool kids who were modding since 1.4 took all the good spots smh
i dont know what other immutable token to try though
apparently ConfigTokens are also ImmutableValueProviders
ImmutableValueProvider(..., isMutable: true) 
config tokens, modid, and HasMod seem to be the only ImmutableValueProviders i can find
HasMod works in the key
and when using HasMod in both the key and the value, both work
HasMod in the key + {{KEY}} in the value works
so does "{{Round: 2.5}}": "{{KEY}}" actually
but my asset key isn't 3 
it seems to literally just be when you use a dynamic token in both the key and the value
so idk why season and day werent working for you chu
were you even in game yet
c. I'm working on a weigie re-texture for the farm cat
I'm doing sprites right now but i wanted to know if someone could help me figure out how to put my lil guy into the game
Referrals to video tutorials would be helpful
c. sry for intruding!
video tutorials are not really recommended because they are very often out of date, and i dont know any for that topic anyway. but you will probably want to look into Content Patcher's EditImage (and the rest of its author guide if you are unfamiliar with it)
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/action-editimage.md
Hi, I'm new to modding and trying to add events that remember choices in a previous event that will affect how a later event goes. I noticed the event script:
fork [req] <event ID>
Can someone please tell me how to properly use it? Does the [req] only work for addMailReceived <letter ID> ?
Also does [req] , <event ID>, and <letter ID> all need " " around them?
c. ah! tysm, button!
more potentially useful debugging info: I made a new dynamic token named "Other" and set its value to be {{KEY}}, and then tried using {{KEY}} in the key and {{Other}} in the value
i did not see what it resulted in bc my game immediately froze and was unrecoverable. i can only assume this means theres some infinite loop going on there
splitscreen my beloved
never mind, i tried it again and it didnt crash this time, it just displayed {{Other}} in the value though. womp womp
still useful! a little further than i got with debugging before i just made a git issue
at the very least it is definitely a problem when there are two dynamic tokens, one in the key and one in the value
Perfection
it also doesnt just break itself it breaks every other token in the value
"{{Render: {{Other}}}}_{{ModId}}" just results in exactly that being displayed
not even {{Other |valueAt=0}} works
and now i can also confirm that it happens with any combination of config tokens too
gotta toss out the whole punnet square of config and dynamic tokens
honestly i'm just relieved it's not a me problem
im surprised ive apparently never seen anyone else try to use a dynamic token in both the key and the value (or dynamic + config or config + config or etc etc) before
ah well you know me, breaking new ground, breaking new features, just generally breaking things
my beautiful perscreen<cookbookanimation> class is so completely ruined by splitscreen. i crafted it so finely, hand-picked artisanal static keywords, reset on return to menu, ..
and yet kitchen interactions on one screen play the animation on both, adds the clickablemenu to the wrong screen, and closing it does nothing on either
even though it's always referenced with ModEntry.Instance.States.Value.CookbookAnimation
to me, that reaches acceptable quality control standards for split screen modding
absolutely, but it just so happens there's a number of very unhappy splitscreen players out there
an even number of them, strangely. going to need to look into that
ive never met a single one, so i cant corraborate that
ah well they're never single, see. always doubles
probably no reason for that
I feel like im inflating split screen player counts by testing
did you ever actually tell pathos about the token thing by the way or did you just open an issue
PerScreen is such a useful utility
i'm fairly sure i raised it to him and he mentioned he'd get around to it when there wasn't mountains of things to do (understandable since nobody else ever has had this issue and the mod i originally ran into this on is never releasing anyway)
yeah thats fair, i was just curious if he'd said anything about it or mused why it might be happening
of course if you hit a breakthrough i give you permission to ping him again
just don't tell him i told you to
the fact that its dynamic/config tokens specifically is probably the only breakthrough id make, i have tried so hard to follow along CP's path of functions that handle these things and i cannot do it
for now removing the tokens in LOC's broken tokenised values will do me fine, i just want to get these bugfixes out of the way
the only next step for me would be downloading the source and compiling it myself with breakpoints and debug logging but id just be placing those randomly
and i do not wish to do that
Did you ever get an answer to this? In case you didn't and still want to know, there is a stopSound event command.
There is? Why's it not on the list on the wiki? 
It is on the migration to 1.6 page but the events page hasn't been updated with everything on there (I'm trying to do it now).
https://stardewvalleywiki.com/Modding:Migrate_to_Stardew_Valley_1.6#Event_changes Scroll down to find it
Ooooh
I'll see if the event works as expected with play and stop sound commands later, thanks for the heads-up 
You're welcome! I forgot to check the 1.6 page at the time or I would've seen it and told you sooner.
Is it better, in "When", to list all the conditions that apply, or only the necessary ones
Uhh, well generally you use conditions to restrict when the action applies so the more specific the better?
I think I can be specific enough without using so many though... (I'm duplicating the conditions of another mod but I think I can do so without specifying some of the conditions)
if they do not ALL apply, then the patch will not run
does a patch run much more efficiently if it has tighter conditions?
If the inclusion of a condition wouldn't affect the outcome, it's not worth including imo
the point is that there is no such thing as an "unnecessary" condition in a When. if you write it, it becomes necessary
I think that depends on how you're looking at it, Button. You're coming from the angle of "once it's in there it has to be true" but I think bezajel is coming from the angle of "does it need to be in there?"
I'm thinking of using a kind of narrowing-down-the-conditions approach, where the first patches editimage for a broad category then the following patches editimage only in the specific cases
to me, the phrases "all the conditions that apply" and "the necessary ones" are the same things
Yes Abagaienye is right
If you have in mind a VERY specific case where you want the action to apply then you want more conditions
But if some of the conditions are already covered by other conditions, then those would be unnecessary
I'll try to give an example (and i know this is not the right syntax). if I go editimage when A=false, then editimage when B=true, then editimage when A=true, would that be the same as.......... editimage(1) when A=false and B=false, then editimage when A=false and B=true, then editimage when A=true and B=(true or false)
sorry ignore the (1)
Not quite the same if I'm reading that right
No, your first patch is only checking that A=false, so it will return true regardless of B's value as long as A=false.
hmm yeah I guess i know they're not the same.... more, will i get the same outcome by the end once all three patches have run
sorry, they are all editing the same image
might be relevent to know !
by the end of what state? A and B being true or false or what?
by the end of the content.json...
as in by the time the patches have all run or not run
im asking what end result you want them to be the same in
ohh ok
as in, do you want them to be equivalent end results when A is true?
let me try to get my head around your question
in a situation where A is true, it should not matter whether B is true or false
if your edit when B=true does not depend on the state of A at all, then there is no condition on A at all
condition relying on A*
if A is false, it should give one result if B is true and another if B is flase
Well, your action priority will indeed come out the same way at the end at both, I believe
and is one way better coding than the other?
like, will one take significantly more processing time?
I know spelling out all conditions will make it possible to change the order, but other than that?
i don't think the outcome would be the same between the two sequences in your example
what do you think will be different?
In both cases it seems that if A=true that will take priority, but if A is false then B=true has second priority, and both being false has lowest priority
^ yes that's my intention Mud
but A being true does not necessitate overwriting B being true
if both of them are true, they can both have their edits done and showing
They are straight EditImage, where the default is replace
editimage does not always replace an entire image
so given they both edit the same image the later applier patch would overwrite the earlier?
Ah yes, I'm coming at this assuming they're editing the exact same part
no it doesn't always
but yes in this case they are editing the same part with the same size target and from file
the later patch applies in addition to the earlier
if they are covering the same and only the same exact areas, A will overwrite everything if it's true and the last patch listed
Functionally what should happen in this specific context is that you'll get your desired priority but I believe Button is describing a situation where not having all the checks could lead to additional edits from prior patches
yep okay
I think that will be fine, because all the edits I'm making a straight 1:1 replacements in terms of target and source size and area
(portrait replacements)
NPCs count as "met" if you see a cutscene with them in it, right?
in this case though it's not that B has tighter conditions or unnecessary conditions, just rather that B has no conditions at all relevant to A. that's where I was coming from earlier
Does anyone know where in the spacecore docs I would want to look for using an animation for the OnItemUse trigger? or is it even possible?
afaik that's not possible.
So is it better to do it one way or the other? (letting the patch order sort it out or specifying more precicely the conditions)
but all the spacecore docs are just on the one page
so if it's not there it's not anywhere
I'm not a programmer so I don't know these things inherently
does B need to not apply if A applies?
nope
then there's no condition to write, as it doesn't require that
patch order within your own content. json is guaranteed assuming all priorities are equal
Cool, I think I know what I'm doing then? Thanks for helping me sort it out and sorry for being confusing
Boolean logic and equivalency is a confusing thing
Especially when you have multiple ways to come to the same end result 
Oooh ooh another question (this one not logic related)...
If I am listing different targets eg. "Portraits/Alex, Portraits/Alex_Winter,..."
Can I put a line break after the commas to help me see what's in the list?
probably but I won't promise it
Button, I think this line means that the event command it's for has one required argument <actorName> and one optional argument [ignore] (default true). Is that correct?
if (!ArgUtility.TryGet(args, 1, out var actorName, out var error) || !ArgUtility.TryGetOptionalBool(args, 2, out var ignore, out error, defaultValue: true))
correct!
Yesss I managed to read something on my own! Thank you! 
and specifically that ignore is a bool
And I think the [ignore] is basically the on/off switch for it
Try it and get back to us because I'd like to know 
will do!
So you could write ignoreMovementAnimation "Mr Qi" to make Mr Qi move without animating and then ignoreMovementAnimation "Mr Qi" false to make him animate again.
Are you adding an example on the wiki or just asking for yourself
I'm not necessarily adding an example to the wiki, but I am adding the command to the wiki lol
id have to look at the command (can't rn) to confidently confirm what ignore does though
i just asked because I'm not sure if it'd expect "Mr Qi" or MrQi or "Mister Qi" or what lol
It's in the 1.5 page without arguments and with only a very hesitant explanation and in the 1.6 page to say that it's ignore argument is fixed, but nowhere does the wiki state what its arguments are.
is it a long command in the decompile or would it fit in a screenshot
Oh, that part is definitely right because the 1.6 page specifies that's how you write the NPC name
for Qi specifically?
(But again, I am not actually including anything to do with Mr Qi for what I write)
i just know Qi has some name weirdness sometimes
Wait is that another event command that just isn't on the modding events page
But again I won't be including an example anyway lol
I was actually wondering if I could do exactly that for a future mod idea 
Well that's handy then!
(assuming that is indeed what ignore does)
Yeah, that is true. I have to test it before I actually add it to the events page so I will find out.
If you would like to peruse it, Button, it is here
If my edits to this page end up getting reverted I will cry forever after the amount of time and effort this is costing me lol
Worst case scenario I'd just have to do a clone NPC that doesn't have an actual walk cycle but an innate command for it would be much less work 
Hello, everyone! One question. If I created the following condition āRANDOM 1ā, it would always happen, right?
im back in ilspy now and yeah that should ignore movement
it will also NOT change their facingDirection
as in, if ignore is true, they wont face the way theyre moving towards either
should do
Got it, thank you 
while you're there can you also add the very important tossConcession command
@uncut viper , I'm using CMCT for config, but the name of the config values are complete sentences, and at least one has a comma in it, will that cause any issues?
uhhhhh
Yup! Does that make an actor throw their movie ticket?
maybe admittedly
hmm
tossConcession <actorName> <concessionId> where concessionId is from Data/Concessions
can you show (or DM me if necessary) the config in question you want to get the value of
(aba i dont know what it does technically i just happened to see it just now, but it seems to just make them throw like, a popcorn sprite up in the air with a dwop sound)
(popcorn, joja cola, etc. whatever the concession is)
Calling anything to do with movies "concessions" here is pretty much unheard of but I thought it meant tickets
ive never heard popcorn or snacks or anything referred to like, anything but concessions
We just call it food
weird term for it
huh apparently it's called that because you buy it at a concession stand
a small business or shop where things are sold in a public place (such as a sports stadium or theater)
We also do not have concession stands
i just call those kiosks/snack stands
To me, a concession is when some sort of right or expectation is given up to someone else, usually by agreement. Like someone agreeing to turn their music down as a favour to their neighbours because they want to keep the peace, or a company agreeing not to trade in particular area as part of a deal with another company or something.
yes that is correct
i didnt know the word had so many meanings
š i had to dictionary it
My guess is that you got to movie food from some sort of agreements being made to allow food vendors to sell food at movie theatres (or other public places), so the vendor was being granted a concession and then that became how their stall was referred to and then that became how the food itself was called.
you are correct x2
yeah thats pretty much spot on
(i had to look it up again)
it's saturday, even doctors take weekends off
ugh i should take a break from writing <NPC loredump> and go to sleep
Hey!
I'm super new to modding and I tried to just change Emily and Haley's names but after I did they spawn in the middle of the town and are just stuck there.
I bet its something super obvious but can anyone help me out?
but lore is fun...
I really need to do a character model study for the side view and movement frames at some point, to go along with my character height studies
Make sure you are only changing their DisplayName field and not the internal name?
What did you do to try to change their names? It sounds like you might have changed their internal names instead of display.
Ohhhh yeah!
That makes senseš
if you just wanna change their names there's a mod on nexus, Ultimate Villager Manager
it covers pretty much all vanilla dialogue and events, too
I want to do more than just the names but since I'm starting out I thought the names might be an easy start
But they are still stuck even after I deleted the part where I change their internal name
You temporarily broke their home and scheduling, so you will need to load a new save or sleep to fix it
Gotcha!
Ill try that
Oooo thank you! I'll try using that
i just don't understand. screen 0 is the one that invokes Play() ```cs
ModEntry.Instance.States.Value.CookbookAnimation.Play(
animation: Animation.Open,
onComplete: () =>
{
Game1.activeClickableMenu = menu ?? new();
});
and screen 1 is the one that handles `onComplete`
how does this even happen
Sorry for the very obvious questions but what does that mean?
there's an FAQ here:
#1272702286245920799 message
another person suggests it's a possible brief server outage on their end, but you'd need to visit a tech support channel to find out more
(this is for mod authors)
The warnings are Content Patcher saying it didn't apply your second or third patch because you have made a mistake in what you wrote.
Ah
oh you're the same person as before. what a dirty trick
Yeah sorry had to change usernames
at last, functional splitscreen
You have an error in your message, ā[npcloredump]*ā
What do I do if I want to change multiple things but it says that a member with the name already exists?
You're trying to combine two actions in one code block, but they must be in their own separate block. Basically you're missing a closing curly brace on line 16 and an opening one on line 16.
{
"Changes": [
{
"Action": "EditData",
"Target": "Strings/NPCNames",
"Entries": {
"Haley": "Homie"
}
},
{
"Action": "EditData",
"Target": "Data/Characters",
"TargetField": [ "Haley" ],
"Entries": {
"Gender": "Male"
}
}
}
OHHHHHH
it's important to use TargetField: [ Haley ], Entries: {...} here since otherwise if you simply use Entries: { Haley: {...} } you're wiping ALL of Haley: {...} and replacing it with your new version
Oh, that too
Thank you all so much
hardest nexus comment in history šŖ
Ahhhhh I set my globalFadeToClear speed too low and now I'm stuck fading forever!!!
Oh thank goodness for endevent
it's because all languages use {0} (the first preserved display name) but FRENCH uses {1} (the second one)
Yes it was a headache
Yes it was a recent change
This only applies if you're re-purposing a vanilla string like I was
I want to destroy this person
my anger at this person is alleviated by the fact they wrote an objectively hilarious comment. Go on, angry little weirdo. Live your angry little life.
@versed wyvern @uncut viper She slide š
Powerful
Coming soon to an Events page near you
oh dont be mad at them, i did actually give loc a pretty vicious xp system haha
forgot to add the +25% xp gain to this update tho
maybe later, as a treat
tossConcession works too! It does throw the food in the air. I would show a video of that but the video programs are doing annoying and confusing things I do not care to investigate.
niceeeee
just ignore the animated tiles
is it a website that shows the properties of a given map, basically?
or can you add some
it's a tbin parser in js
and the easiest way to test it is just display the parsed data
(aim is to convert tmxl2cp and the other converters to being web only, I could feasibly do everything that tmxl2cp python could do in web, except the tbin parsing)
oh nice, that's a really good idea
you could probably use flask or something to do the python scripts directly in the web, it just wouldn't be static which would mean hosting etc which you probably don't want
mhm
could probably compile https://github.com/ToasterSDV/ToasterMapCLI to wasm too but that seems like a lot of effort
oh no there's multiple types of tiledata formats
š
are there any tiledatas that would in theory use a float? (as in, a number iwth a decimal)
yep, any of them can
bool, int, float, string, object, color, and file are all valid types in tiled
i wonder how many of those are supported by the game
oh.. didn't know you could do that https://pillow-might.loves-you.xyz/c9JUUn5Vu9
I should probably actually parse 32 bit numbers
because except for acouple of cases, all I do are just 8 bit numbers and then ignore the other 3 bytes
can someone please help me with Tree Size Framework? I don't know how to add mossy sprites )=
Currently it doesn't support them, will add on the Todo list for the next update
Please!! I want the non-glitchy look for my pack ^^
It's just modified assets from Simple Foliage, so I can't release it unless I get permission, but if/when I add mossy sprites I might actually go and ask...
How can i change shop opening times via c#?
Yayyyyy!!!!!! Now I don't have to
You want to adopt the rest of the code too?
Ciao, If I change a script while In game, If I make the player sleep, will the npc scripts refresh? or do I have to close and re open the game always?
!reload
-You cannot reload tokens, that's a forced restart unfortunately
-If you've done any CHANGES, then type into SMAPI:
patch reload YourMod.UniqueID
-If you've done i18n DEFAULT.jSON changes, then type into SMAPI:
reload_i18n then
patch reload YourMod.UniqueID
-C# Visual Studio has a feature called Hot Reload
-C# Rider also has Hot Reload
-Generally working in C# it will be called "Hot Reload" (usage may vary)
thank you a lot
You will still need to sleep after doing a patch reload if you're changing NPC schedules but most other changes will happen straight away.
Patch reload while testing schedules just seems to make my NPC peace out through a wall most of the time 
oh no are layer properties breaking this
(my Tree Size Framework mod: the two nice oaks at the top and the mossy one at the bottom) (it's this yellow bc of heatwave from weather wonders)
@ivory plume Hey Pathos, got a question about Platonic Relationships since you're maintaining it. Would you be open to making its dating requirement config accessible via GMCM and possibly splitting it into individual character configs? We've been troubleshooting an issue where Platonic Relationships is overwriting Content Patcher edits to the 10 heart events made by Platonic Partners and Friendships and Gender Neutrality Mod (and likely other mods that affect those events) if the dating requirement is enabled, but since it's only editable via manual config, it's not as accessible to users compared to GMCM. Splitting the dating requirement check would also help with compat since then people could turn off the dating check for a character they're using another mod for but still keep it enabled for the other characters.
ooooh it would be so cool if you could enter a list of character names in the config that you wanted the mod to affect, so it would be compatible wtih all modded characters but like manually
(or the other way around, enter a blacklist)
Hi! It's already configurable in the latest versions; players can edit assets/data.json to change which events/triggers are changed by the mod.
"via GMCM"
I added the initial structure for Generic Mod Config Menu support to CherryChain's repo, and added the first few integrations. Most of those mods don't have GMCM support yet, but it's on the roadmap.
Thanks!
it was.
perfect now, except animated tiles
Hi, does anyone know how to use fork [req] <event ID> properly? I tried to to do it like I saw how the vanilla Leah Event Script did it with my addMailReceived but it didn't work.
!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.
@fallen lagoon
Oo those trees are so pretty!
@lucid iron if memory serves me right, you're the author of Livestock bazaar. I wondered if there was a way to have a different sell price for animal at (custom shop) and marnie?
i tried searching in doc but it's entirely in the order of possible that i missed that (i saw the option for using a custom currency)
or should i use tradeitemamount without specifying an item to use?
Yep you can do that
Can also specify trade item (O)GoldCoin since that's how it works internally
Ah yeah this mod didn't implement shop wide things like that, the animal custom data stuff holds all the info about how the animal should be sold (where and what price)
ok š i'll set that up later today then maybe a custom sign if i feel fancy
i can't tell if it would be complex so i let you see if it's worth it
and it's fine by me, i don't have that much animals
(and half of them aren't in shop)
I believe there's a mod that does this already that you could reference!
thanks! They used to be stationary map feature trees from simple foliage, and i made the trunk narrower, the roots smaller and added a cut off stump circle
i just rly like it when trees are big :3
at least just the oaks!
Hello, I am new to modding, wondering if there is anyone who can help me with making a darth maul npc mod?
!npc
Keep in mind that making NPCs is a complex process that requires learning many different aspects of Stardew modding.
Here are a few links that can help get you started on all that you need to know:
-
Tiakall has a great tutorial on making a custom NPC for 1.6.
-
NPCs no longer use dispositions, check the wiki page for the new NPC data.
-
Aviroen has put together a template that will allow you to easily create a romanceable NPC.
-
Feel free to jump into the https://discord.com/channels/137344473976799233/1277457201077813280 thread for more interactive feedback and help!
-
Fireredlily has a WIP NPC Builder Please do report any errors you get with it into the NPC thread!
!help
burh
if you're just using commands for yourself you can try in #governors-mansion
alr
is therew a command for smapi to open shop gui? i dont want to go to pierre everytime
debug shop ShopIdHere
for future reference: https://stardewvalleywiki.com/Modding:Console_commands
(See list of vanilla shop IDs.)
alr
Little question. I've been 'studying' how to make events, and I have encountered the question fork.
I understood that you ask a question with 2 response, to wich the second gains a new line, or fork.
So, i can continue the new event on the under line, for the second answer, but what about the first answer? Do I continue on the before line with just an / blah blah?
Example I took from the site:
question fork1 "Go fishing with Willy?#Yes#No"/fork noFishing Continue first answer here by adding /?
noFishing: "pause 500/speak Willy "...Oh. Another time, then."/pause 500/end warpOut" #!String
For example in Leah's 2 heart event after the choice "Why don't you sell your art on the internet?" it forks to "internet" and there is an addMailReceived LeahInternet command after the first dialogue. Then in Leah's 10 heart event if the choice "Why don't you sell your art on the internet?" there is a fork LeahInternet choseInternet that forks the event to choseInternet. I was trying to do the same thing with an event I'm creating.
yeah, you have it right. question fork0 (where 0 can be whichever answer you want to cause the fork) just sets a specific flag if you pick the right answer. the fork command switches to the new event key, but only if the specific flag is set, so if you pick something else the event script just continues
perfect, thank you a lot
how do i add custom crafting recipes for items that players have at the start
https://stardewvalleywiki.com/Modding:Recipe_data for reference
set unlock condition to default
Thabks
Hi, i am new here. I dont know if its the right place to ask, but does somebody know how can i use seasonal tilesheets in tiled? (Like the tilesheet to change with the season)
just add the spring_ one
the game will replace it
You know, I'm surprised there isn't a Tiled plugin for working with built-in Stardew tilesets.
(At least nothing I'm aware of.)
like one tha tautomatically adds the animations/properties?
Thank you so much!
I was thinking more like, something to automatically use the images from your local Stardew installation without goofing up the image names in the output. Something to let you swap the season you're previewing.
ahh
I mean in theory it could set up animations and stuff but that sounds like more work than just "start by copying a vanilla map"
onto the todo list it goes
Hey
If I want to make a mod and turn one of the non-romancable characters to romancable, what files would I need to change for that?
Pain and suffering
Many
I was afraid that'll be the answer
Technically if you just wanted them to be romanceable and gift able and that's it (we're talking bare minimum no events etc) you'd just have to change a few things
Now if you wanted the whole sh-bang...
You can feel free to take a peak at the files from my Qi mod if you wish, though it really depends on the NPC how you'd have to go about it.. and that mod has a lot of extras
Yes.....?
Whats the name of the mod?
My idea was romancable Gus and I was looking for a mod that I could peak at how they did it but I couldn't find any that did
Oh boy that's gonna be interesting 
That'd take a lot of work simply because of the saloon- iirc he needs to be behind the counter for you to buy stuff so you'd have to make his marriage schedule him going to work 7 days a week lol
Also it's in my name! Friendable Mr.Qi (the name is deceptive but I chose it at the start lol)
Ah yeah
But I don't think that'll be much of an issue? I think?
Qi was a different beast to tackle with his npc creation due to his... Qi-ness (Aka the fact that he has a lot of weird hard coded things and phantom sprites and whatever)
Ill definitely take a look at it!
You could also look at make Marlon real which i think actually edits the vanilla Marlon npc
My mod makes a "new" npc to handle the weirdness that vanilla has with Qi but you likely wouldn't have to do that with Gus
Ah gotcha!
so il try looking into the Marlon mod and see if I understand anythingš
Everyone here is willing to help along the way, I surely couldn't have done what I did without these lovely folks
If you're confused or need help don't feel afraid to ask
Will do!
Thank you so much

How can i use a copyrighted tilesheet like DaisyNiko's tilesheets in tiled? (I know that if the tilesheets aren't in the assets folder, they won't work in game) I'm sorry if it is a dumb question but i am new here
copy it and delete it before publishing
daisyniko's mod is the one that loads the tilesheets into the game, which will make your maps work without needing the files in your mods
and then add it as a requirement
tilesheets do not need to be in your assets folder to work in game
as long as they are loaded in there either by someone else or the game has them by default
Thank you again so much!
@teal bridge For your usage of the Data Layers API, do you need the ability to register a custom color scheme? If not, I'll remove that from the PR so this version can focus on the layers API since there's some consequences of custom color schemes that we'll need to think through.
Interesting. I extracted my Stardew android executable, and there's no SkiaSharp.
For that matter the game content isn't in the APK so I need to try using a different tool to back it up. š¤
Probably just need to grab my rooted phone
anyone aware of a way (even if convoluted) to get crossplay between xbox and pc
does it even have local multiplayer?
if not, i sincerely doubt it - microsoft would probably not want the online services to be reverse engineered
if yes, good luck converting the packets and hoping there aren't large differences
makes sense yeah
[Heart event] Can I use the question fork for 3 responses and 2 forks? if so, how?
@ivory plume So, I've tried following the instructions from the android repo and using the PC version of the game to extract the android build's content xnbs using StardewXnbHack but I'm getting an exception that is fairly opaque to me. Do you have any input? I'm not sure how worth it it is to even unpack the content since we do have the PC version, though I guess there'd be mobile-specific UI textures. š¤ The exception that was thrown: https://smapi.io/log/e92a312e6e194bcd9e4a2aac7190d1da
Oops, couldn't parse that file. Make sure you share a valid SMAPI log.

