#making-mods-general
1 messages · Page 89 of 1
well, she's canonically a hawk, not a crow despite the fan name
💯 i did not even realize it wasn't the normal crow sprite, if you've animated it yourself, would there be a way to make it erratically flap for a few seconds up until the player finally comes up to it and it'll fly away?
that would be my tell that i need to click the stump cause that ain't normal bird behavior
actually it's the LooseSprites/Birds crow rather than the Monsters/Crow haha
Is there a way to animate dialogue text?
i think these lil guys appear in the movie theatre
TIL. i thought canonically you never get to see her so she's just ???
The smaller cuter crow
yea this location originally had just 2 big custom crows but then i found the baby crows and now they're everywhere lol
What r ur top 5 birbs
Excuse the ping, but as a Lacey enjoyer, I absolutely must ask: Would you ever consider adding a key for CP mods to add their own hat dialogue to her?
Animate how? I mean, the way text is rendered now, you'd have to remake the entire UI for it.
looks at bluebs
yeah i think blueberry did do some fancy bouncing text right
birds are great, hard to choose - lorries, crows, jays, wood pigeons, robins
oh, that's a pretty good idea, getting other modders to do work for me 
i did wavy/shaky text but it's not public or published
Like a wavy animation for example
wasn't it transpiler crimes
you just need harmony and some other weird stuff
raven (bigger, cooler crow) and probably four different kinds of owl tbh
"draw the rest of the owl"
Yoll the eurasian eagle owl my beloved
You'd have to do it all in C#
yeah animated text does actually need a slightly ridiculous transpiler and a controller and a couple of trigger action methods
and the rest of the owl
it's not the worst, but it's not great
I like bin chickens (ibis) but that is probably because I don't live in Australia
ravens, vultures, parrots, owls, penguins 
Corvid supremacy 
oh you know what, the loon can probably unseat one of the unspecified owls on my list
when i lived in oklahoma my aunt hat a pet vulture so obviously i'm biased
this bird i like ^
loon: weirdass extremely heavy ancient bird that sounds like a ghost. A+
No particular order
Sulfur crested cockatoo
Night Heron
Rose ringed parakeet
Common Loon
Eurasian coot
American Woodcock, Superb Bird of Paradise, Hummingbirds, Blue (or Red)-Footed Boobies, Penguins
were you adding more birds to ornithologist or something
oh i'm sure it was just another sneaky chance to post off-topic 

why do i get ideas for more npcs when i havent even finished the first
I fell into the trap!
instant demotion

my two bird npcs are based on chihuahuan ravens 
Birbs
oh wow
maybe i'll dig up my old scrapped npc 🤔
it's impressive but they also don't look much like chihuahuas
oh they're quite small in game
ichor begs for more anthro npcs, i bring out my bird obsession
i always love to see non-humans
🤔 if i plan to go all in with making npcs maybe i should just make a base for them to all hang out
aka: i stick them all in the void
oh, and my question from... yesterday that i fell asleep before asking.... is it possible to put quotation marks inside of a dialogue line?
yes, just either escape them or use single quotes for your outer quotes instead
sure, just use \" wherever you'd use " (this is escaping them)
a
I do live in Australia and bin chickens are pretty innocuous most of the time as long as they aren't trying to steal your lunch. It makes me sad to see them dirty though because that's because of the encroachment of humans on their living space.
i forgot about those
"This is how \"you\" can write quotes in dialogue."
'This is "another" valid way to do it.'
If you do the second way you'd have to escape your apostrophes I imagine.
correct
how do i do a quick question again, i forgot...
in what?
in dialogue
No a quick question in dialogue is $y
Example: Penny: "$y 'Breakfast?_Yes please._Here you go._No, I'm good_More for me then!'"
and this is why i don't do dialogue commands 
It repeats every time the dialogue is played, can't be used for $p commands, and I don't know if you can do $action inside them to set a mail flag.
But I do know from Nova last night that you can put $v inside $y
you could probably just put the action first right
No I mean to set a mail flag based on which answer was chosen Button
do the regular questions still need numerical IDs? i know events got changed to allow non-numbers but idk about questions
Sorry
No, $q questions do not need numerical IDs
See example
Sorry it's a screenshot
i would use, but i have a feeling i'll get lost in my own syntaxing and forget what i've done
I don't really use $y because I did so much delving into $q for my nested questions tutorial that I'm comfy with it
But I bet there's lots of space for creative use of $y that I would enjoy exploring if I didn't feel so blah right now
...am i allowed to put a question in a conversation topic
the player is likely never gonna see this line again
i mean sure why not
i stuck a whole event in a random chance dialogue that's hidden behind several #$e#
You're allowed to do anything you can make the game do lol
That's part of the fun of modding
🤔 the "question_old" thing is never gonna be seen but
'arbitrary game bs' is usually a good reason why not
If the CT ensures the question will never be seen again anyway you might find it easier to just go with $y
i was debating... bc i want relationship changes
Ah then yup stick with $q
Again you might be able to shoehorn relationship changes into $y but it's built-in to $q
I am going to test action inside of y
(im writing this one, completely arbitrary line of dialogue for me and me only
)
make mods for you and you alone, and you'll always feel fulfilled
My mods are just for me! (And anyone who gets invested and I want to put easter eggs in for haha)
huuh what's the third row of bushes in tilesheets/bushes
that could pass for an azalea
i love when my IDE just randomly decides to say that things don't exist anymore and fill my files with errors without rhyme or reason until i restart it. like yes thank you maybe you're right, maybe Game1.player isnt actually a thing anymore as of 30 seconds ago
As in what is it in game or what real life bush do we think it is?
ingame haha
That's never happened to me. You've got some bad juju.
just some rando decorative bushes, no other in game uses
from where though? i'm sure i've never seen them (although they're in sdv1.4 hmb)
Oh but this is Rider isn't it?
it is Rider yes
it's what happened for me the other day when VSC decided to start with the dotnet extension disabled for no reason
I have seen them in game but I play so heavily modded that I don't know if my seeing them is vanilla or mod-added
Yeah, Jetbrains software does that stuff. I had those issues with IntelliJ constantly.
the friendship increase/decrease values, how much equates to 1 heart? 250?
Not that VS doesn't have its own issues. Just not "how did you miss that in testing, honestly" type issues.
oh these bushes are all over town hahah. guess i'm just blind to them and never saw them in tiled since they're bush instances
weirdly they put up pink flowers in summer rather than spring
They are medium bushes
the urge to shake
On the paths tilesheet
those aren't flowers, those are actually juicy wild melons
from a juicy melon bush..
unfortunately we can't eat them because of Pelican Town bylaws
Is there a way to prevent farm animals from producing increased quality outputs? If I have a farm animal that "drops" ore, for example. I don't want them to drop ores in anything but the base quality.
Now I can't stop thinking of the "I SH** GOLD BRICKS" Robot Chicken sketch.
Ooh I am invested in learning this. I don't like getting iridium quality geodes from my coop animals.
no, that's super hardcoded
theres nothing worse than asking an animal related question and then seeing selph say "you cant"
Well, I'm noticing this with Immersive Manure, too. I got the next level poo and I can't process it because I have a bunch in mixed qualities.
FWIW high quality poo do make better fertilizer
Well, there's no real difference in Hyper Speed-Gro or Iridium Quality Hyper Speed-Gro
Nooo Selph unhardcode it 
I'm actually looking at the code right now to see whether this is possible without throwing a couple more transpilers on top
I am kidding I am not that bothered by it (but maybe Logo is?)
By "next level poo" I mean the gold poo, too
I have some farm animals(?) that drop pretty high value stuff, and it's awesome enough that they can drop a Prismatic Shard, but it doesn't need to be an Iridium Quality one. 
🤔 thats some next level poo
I wonder where linkoid is, they haven't been around for a while
yeah i saw yaml mentioned and didn't pop up, must be work?
I'm more bothered that I can't Quality Smash it down to one level. 
let me Quality Smash the gold poo, please
That is a new mod to me
this convo out of context is hilarious
yeah these will need transpilers. I'll throw that on the 'maybe' pile once I'm done with my current new mod idea
(at this point I've transpiled so much of FarmAnimal that if another mod tries to do the same it will probably explode from the missing matches)
Thanks for looking into it at least, Selph! 
Other mods just have to submit to yours, Selph. You are the animal monarch.
I prefer "Manure Monarch", it just rolls off the tongue.
the Brown Baron, the Doo-Doo Duke, the Excrement Emperor
the poop prince(?) sounds bad.
anyway we should probably stop now for the sake of anyone in a dinner timezone
XD
i think only hawaii is left in the dinner timezone
Well AUS is heading towards it, yeah?
NZ is in dinner time!
ah hawaii's cousin
if a function generates an Item, then sends that Item to a different function as a parameter, and that second function edits that Item, will those edits persist back in the original function once the second one returns. i can never remember reference vs value passing
But Lemurkat is the only NZ-based person who comes around here that I know of
edit, yes. not if it's reassigned to a new instance unless ref is used.
hmm. would you be able to just patch FarmAnimal.HandleStats then with a prefix or postfix to check the quality of the produce since that gets called with the produced item but before its placed on the ground, instead of a transpiler
hmm that's kinda genius actually, do the evil deeds in another unrelated function that takes the object
trojan horse method
though unfortunately handleStats is only called for dropped items, not milked/sheared ones
so you'd still get iridium quality ore from a hypothetical ore cow mod
They're not milked or sheared, they just drop
im surprised it doesnt do it for milked/sheared drops 
wait, are you sure
oh... the item gets added to the inventory before the stats check with the pail/shears...
yeah there's literally no other function to hijack in the pail/shears
and also dig up
the pail/shears call HandleStatsOnProduceCollected tho which calls HandleStats
but you can also just set FarmAnimal.produceQuality in a DoFunction prefix on MilkPail and Shears
no clue about digging up stuff though
oh that's new, gotta stop using outdated decompiles urgh
oh yeah i have no idea when this was added i just moved to the beta like 2 hours ago so i redid all my decomps and stuff
(only a week old in my case. 1.6.9 moves fast)
is FarmAnimal.dayUpdate not where the dug up produce gets made too?
oh i guess that makes no sense
bc its not a daily thing
right
produce quality does get set there though so I can change it depending on current produce ID
anyway this does seem much less a pain now, thanks
anything to give me a distraction from working on my 1.6.9 mod updates lmao
i was gonna ask, what else do you have left of the museum framework
uhhhhhhhhhhhhhhhhh
i forgor
im working on my books mod right now, converting all the i18n to use the new subfolders feature
but its a bit of a pain bc i loaded all my i18n into assets so i could use my CP translations in the C# component instead
so i gotta rework that
ah right i18n can be tokenized or something, right?
iunno what you mean by tokenized but you can have like a folder named "default" now with different .jsons inside it
oh, i meant the c# thing uhhhhh
the C# thing is just me loading those assets and stuffing them into a dictionary im not doin anything with tokens
like i am loading i18n/default/books.json into like, {{ModId}}/Translations/Books to access those strings in my C# by loading em
I was going to use that recently for a mod update, did the conversion and then immediately realized I was going to have to undo it cause I was releasing the update pre 1.6.9 
i missed a lot today apparently #making-mods-general message
oh nooooo
man. i actually just have completely forgotten what needs to be done for museum framework though. like literally 0 clue what i was last working on
something about mail flags maybe
gonna need GSQs i know that much
nevermind i was thinking of the gender switch blocks #making-mods-general message
It was nice for all those blissful few moments to have dialogue be separated from events and other stuff, too bad it didn't last 😔
apparently i also added a new book sprite to my books mod at some point? it was just sitting there uncommited. i have no idea what book i was planning either
if someone could tell me what i was planning with this thatd be great, thank you
looks like...... burnt grass
faster horse?
cuz ive already got an artifact spots book
i dont think it was faster horse either 
cmon guys how do you not know what i was thinking when i told no one about this smh
someone already made a "harvest while on horse"
Little bits of grass grow up against the edges of all the buildings that don't already have them? /j
true, but you have at least 5 more braincells than me so i definitely cannot fathom the depths of your magnanimous brain
...wheat fields now tickle your toes, giving you a brief movespeed burst?
apparently i last modified the file on september 11th..... maybe if i go back and search through all the messages in this channel from that day ill find something
that is....... so long ago
oh good, so I was 25% correct
thats better than 0
tickled toes
if you had asked me when that conversation was though i would not have guessed 2 months ago wtf
time sure flies when you're having fun
looks at when i posted my mod for the mod contest
thats a moth actually not a fly
considering uber gave me a jumpscare about me sending in a timer for 10 days about the hardcoded spouseroom 90 degree angle, i feel like i blinked and the event was over
if it's a team modjam i'll definitely join
Nooo I need to rest
Thanksgiving mod jam
too soon 
I literally just had to google thanksgiving to find out when it is lol
stardew is 8 years old, so maybe we can bang on the door for a 10th anniversary modjam, but definitely want one in 2025
Oh my goodness Stardew was released just a week before my wedding day
You're killing me, smalls.
but think of the turkeys
i just like the shared community spirit 
Yes! I completely agree.
i just don't want to be orange
i'm with selph, give us another excuse to not be cheetos
But jams/events/contests in general are a lot of work behind the scenes.
You can opt to remove your mod author role? Then no more cheeto dust.
doesnt need to be a lot of work if you just never set an end date for one 
I hope you all got lots and lots and lots of thanks for the Spirit's Eve event, Logo
true, but then i couldn't ask at any time for that private git
It was wonderful
(but also i of course understand and am very appreciative of the work that goes into them
i am just jokes)
That would be Pathos' ethos
i missed the halloween eventhaha
pathos's ethos is a surprisingly twisty tongue twister
oh, right, pathos did say tonight's beta is the last, i should re-decompile
A sneak peek at mine and Panda's menagerie
squeaky!!
They're almost out of testing. 
egg
so many egg
22 different varieties of egg in 6 categories
making my npc hate pretty much all of the ginger island recipes is pretty funny, by virtue of hating coconuts lol
...i am still writing marriage dialogue
its done enough
It’s 3 am and i am deliriously looking at recipes
The question is…do I actually think I can sprite any of these
🤔 why is marriage dialogue so fun to write compared to regular dialogue... is it because i get to write them in full?
wdym write them in full
like with all of their personality(?)
Like not having to hide stuff for the sake of heart events?
i think you're the first to think marriage gives an npc personality
we're all of the mindset that marriage removes all personality
😔
It's not a bad thing!
Listen i will never be mad at more spouse dialogue
no more ginger island visits, forced to follow a different schedule, patio only available on saturdays with heavy restrictions 
NPCs should be able to have personality after marriage
yeah it's good that you're adding personality into it
this funny function called marriageDuties is just an inside joke that it becomes a shackle
my npc normally doesn't talk much, but in the marriage dialogue im using so many #$b# lol
Imagine a C# mod that just completely removed all the restrictions of marriage. It would be so hard to do, would have no compat with anything, and would break after every update...
…see this makes me think of NPC adventures and mods like that. Going on an adventure with your spouse would be awesome
i don't know what you mean by restrictions of marriage but that's just up to the npc maker's discretion about whether or not they add more lines after marriage through cp or events
there is the "spouses can visit GI" already
doesnt spacecore also have a thing to make npcs ignore their marriage schedule
did casey fix 0 schedules yet
i thought those were a different thing
0's break it iirc
The 0 schedules break the ignoreMarriageSchedule
I miss Ginger Island Mainland Adjustments
something to put on the list of "atra things to bring up to 1.6"?
i wrote a line of dialogue too long, I need to put it in an event.
How is it too long?
Oh sorry I mean like is it breaking the game's dialogue or something?
Or do you just feel like it's too long for dialogue?
are there like 6 #$b#/#$e#s in there
way too long for dialogue
cause, i have one of those, only one
technically it won't break the game's dialogue but idk who wants to stand there clicking for like a minute or longer just to see all of the dialogue
looks at my comments and bug reports a lot
The Devoted
a lot of people will sit there and run an npc dry
i also thought it would be nice to have more marriage events, so
how do you guys find inspiration for mods to make?
i am generally interested in yall's way of thinking
i have a mod suggestion lol
if anyone is interested
i'd give a lot to reduce or remove moss spawns
if you understand c#, you find one inconvenient thing and you make a mod out of it
if you're just bored of the game, you think of one thing you wanna see in the game and you make a mod out of it
that's generally how i go about making my mods
oh i would love to hear it XD
also you made your own icon? it's lovely
will you disable moss on trees for me 
luckily i know C# from school and work, so i can do c# mods
yes, using one of the portrait generators
i can look into the game's code to see how it's made
there is a portrait generator?
though ill assume people generally don't use it when modding a character
depends on the amount of laziness
i've contemplated it for the npcs that aren't social but i'll probably just do them myself 
yeah since i suck in sprite-making, especially with portaits, i might use them as a way to study
I recommend putting credit in your discord bio for your PFP because the portrait makers' terms of use require credit :) (Like how I have credit for my pfp in my bio)
Actually people use it quite a lot for making modded NPCs - one of the things that makes Poltergeister sad is how much people use it without crediting them.
i see, do they also create the different sprite-types (like sad, angry, etc)?
i will make sure to credit the author in multiple locations if i am to use it XD
No, people have to edit their own expressions
understandable, thank you for the help
also, another question, not related at all to spriting, is there a way to force mossy rain using commands?
Polter has said she's not keen on people using the portrait maker for making an NPC just FYI. It's not disallowed, she just doesn't like it much.
i can't remember if cjb can force green rain 
As for the green rain thing...not that I know of but that doesn't mean there isn't
Might be worth having a look through the decompile
am currently knee deep in mh:wilds so https://stardewvalleywiki.com/Modding:Console_commands 
yeah i looked through here
is there a way to even force green rain in the base game?
Like with a totem or something?
I don't think so
But you can just use a save predictor with a new save to find what date the green rain will be
it would be fun to make a totem for it XD
Done! Thank you 🙂
There is a green rain debug command, not sure it's syntax
Maybe just debug greenrain
To answer this question: before I was in this discord my ideas basically just came from me playing and wanting stuff (like a) my aborted attempt at making every house in the valley have a bathroom was because I have realism-autism and wanted bathrooms but I gave up because it was a lot of spriting and I was too proud to use the HxW tilesheets lol and b) Hiria coming from me really loving the very in-depth NPCs and wanting more).
Now that I am in the discord I get a lot of ideas from discussing stuff with other people.
I started by updating mods I wanted and then making a few of the ideas I had, am now doing the "making mods others want and that I find interesting" path
While also waiting for my brain to think of new stuff I want lol
yeah what i do rn is work on stuff my friends and i come up with, while also looking for inspiration from other games/people
I have made one very small mod because somebody else wanted it but didn't know how to achieve it and I thought I could see a way to so I gave it a go.
And that was fun.
As a firmly-not-artistic type, I do have a fairly limited pool of ideas I can actually chase
AKA what i am doing right now for @obtuse flare
A lot of frameworks are already made lol
true for me too XD
There is a gigantic ideas list on github from the people who have the ideas but not the skill/desire to implement them.
ooh, do send@!
!modideas
If you have a mod idea that you aren't planning to make yourself, you can put it in the mod ideas github: https://github.com/StardewModders/mod-ideas
However, this does not mean anyone is guaranteed to work on your idea—modders who are looking for ideas sometimes go through and work on what they find interesting off this list. If you want to pay someone to make your mod idea, there are a few people who do commissions (mostly art, sometimes code); you can ask around, search usernames for the word comms, or see !commissions.
/cough COLLABORATE/ART SWAP cough/
Eugh, but then I would have to be reliable
collaborations seem like a fun idea to me until i remember how unreliable i am in terms of actually wanting to work on anything
xD
i would love to collab with people XD
Yes I prefer a swap over the idea of collaborating
I am too controlling to let anyone else have input into my ideas hahaha
you can count on me to spit out art within reasonable time, cannot count on me to spit out c# within reasonable time
Re: reliability; see: me still working on this crane game mod after all this time
I will send Pau to make lots of melty eyes at you
Also: me starting work on a spatial sound mod, getting it working and then not progressing on making it scalable
(But Pau is not even into modding right now so I'm sure it's fine)
Yeah, Pau is waiting for 1.6.9 among other things
Which kind of works because I can't actually finish this crane game mod until SpaceCore updates again lol

but i wanted to use a 2.4.0 feature 
it works in 2.3.0
That's why I was confused about Format 2.4.0 the other day, because I'm using the beta CP but still using 2.3.0 Format
you're doing the default folder splitter yeah? it works
the what
i18n splitter
this is unrelated to the i18n
ReplaceDelimited
ouh right
Does it for sure not work with Format 2.3.0?
cp doesnt complain about it so i guess it does work
i thought removedelimited had a minimum format applied to it so i thought replace would as well
Well, it might yet still
naw it for sure worked
All this being part of the beta might be causing some odd setup
shows up in the patch export
May change once the proper version is released
ooh i didnt realize beta CJB cheats can warp you to a specific level of the mines
if only id known that during all the time i was making Graveyards lmao
Oh huzzah, my beta version of Custom Locks Updated is showing in SMAPI, so it was patience all along lmao
Hasn't CJB cheats been able to warp you to a specific level of the mines for a while?
i think thats my books mod all done n updated then.... and i am exhausted. how the hell does pathos manage so many mods
Uh, I think that's new but I can't remember if it was in late 1.6.8 or if it was added in 1.6.9
apparently its been in since april
i coulda sworn id downloaded CJB cheats since then
I thought I'd been seeing it my entire playthrough this year so yeah, 1.6.8
but apparently not
dont tell anyone but ive still got mods in my playthrough mod list that are from the 1.6 beta
im not good at updating things
I'm assuming the shame part is that they keep nagging you for an update :P
oh i dont feel any shame
All Platonymous's mods are from the beta, but they don't have updates lol
Is this supposed to be strange? I've got mods from 2017 - or is it specifically being from the beta that makes it something to hide?
They still work?
In fact I have started to remove some of my older mods because they're CP xnb so they make some dialogue odd - but not all!
Yes or I would have removed them lol
are they being updated though?
No, they are forever abandoned
:P based on the logs I've seen in here, this would actually be weird
Ahh okay
Yeah I have some that I don't bother to update but none from as far back as the beta
I did have to remove a Maru dialogue mod yesterday because it gives me festival dialogue as though I'm married to Maru because it doesn't check for marriage
And weirdly it also makes use of the festival spouse dialogue keys to say different things so I don't know what they were trying to achieve there because sure if I actually did marry her I'd only see the spouse keys
Seeing updates in my log gives me anxiety, I would need to be able to mute it to ignore them lmao
Hey I use partially broken mods but not completely broken!
I mean from others lmao
I am now even more offended that you are grouping me in with people who don't know how to read their own logs xD
So many logs with just waves of red from broken, old mods
I like to check what has been updated before i update because sometimes I don't actually want the change that's in the update. If i can be bothered, I change my manifest for them so I don't get the notification about it.
That's smart, not sure if I have the mental patience for that lol
yeah i learned that lesson very early on into 1.6
One time I went through and updated about 70 mods but ran out of time to play and by the time I came back to play I had another 30 to update
My mod for testing different question formats in dialogue has gone over 500 lines 
Wow
I should probably put it on the modding wiki once I'm done
Dialogue and events honestly seem like such nightmares to do 
But I do not want to do another tutorial because the other one took me so long
I can't speak about events because I've done nothing but the most basic in them (except TAS) but I find dialogue fun.
It's very easy to do really basic dialogue stuff without breaking anything so all the convoluted stuff is very much opt-in.
The great thing about the modding wiki is you could just dump the whole thing onto a page and just call it examples, maybe add a little info and call it good
I don't even have use cases for most of the stuff I investigate anymore, I just do it because I want to know.
Yeah it's already quite organised for my own sake so for anyone who isn't a beginner it probably would be useful as-is.
I would DIE if we couldn't have comments in our json files
I think there's some kind of silly way to get around it for traditional json, but it's definitely nice being able to just put plain comments
Probably more than half this file is comments because I have to have section headers, then explanations of what I'm trying to achieve, then testing results, then conclusions.
This has been such a good hobby to pick up after having to stop working lol
It scratches much of the same itch
Makes me wish I had gotten into it sooner, didn't even know what I was missing lol
Modding is such an incredible and beautiful act of creation. We are making whole worlds from literally nothing. It’s really totally amazing!!!!
exactly!!!
for me at least, modding is a way to show my graditude to a game that i love
There's no way to add colored slimes to events is there? I'd really like to write a Slime Fanciers Show, but don't want to have to recolor and animate them all separately
FTM monsters don't show in events. I wonder if I Can use MEEP?
I have a question: So OnTheRisk recently updated their animated portrait mods and included in one of the versions there's an animated Jas jump rope portrait. But currently they haven't figured out a way to add it in game. I was wondering if it would be possible to setup a content patcher mod that would only replace Jas' portrait during her time skipping rope to add in an animated portrait at all? Like even a vanilla style animated jump rope, or would it not be possible?
maybe you're making things from nothing at all, i have to make mine from coffee and actual years of my life 
Hmm backreading in this channel it looks like SpaceCore can do animated portraits.
As for getting them to happen at a specific point in her schedule - you could maybe do a CP patch to replace the portrait based off some condition that CP tokens could check but you'd have to use an OnTimeChange updaterate.
Alternatively if you got BETAS you could use the GSQ Spiderbuttons.BETAS_NPC_NEAR_AREA <Location> <X> <Y> <Radius> [NPC]+ inside her Appearance data to check if she has arrived at her schedule point and then use her skipping portrait.
Or I guess you could just give her a schedule string and set the skipping portrait in that.
I suspect there may be even more options than the three I have mentioned.
Upon re-reading Sticky's question I now think that the animation part is already sorted so if that's the case ignore what I said about SpaceCore lol
If she already has a schedule string then just editing that to add portrait command for the animated skipping portait seems easiest, yep.
oh, that's smart, just adding the animated portrait in a new slot of the portrait sheet and changing the dialogue... I would have never thought of that
I don't know if it will work because I have no idea how the animated portraits work lol
Does anybody know how to make a custom item, that when gifted will trigger some special even, like bouquet or pendant does?
you would likely need C#, unless you want that effect to happen to a limited numbers of NPC in which case there are workarounds by using gift answer dialogue and triggers/events
I see! Thank you both for the thorough answer, so you could refernce her schedule string - where she says the "1, 2, 3, 4, oops, let's start again" dialogue and reference that in the cp mod to replace the portrait which originally shows with the newly animated portrait?
Where could I find her schedule string? I'm unfamiliar with npc data
Strings/schedules/Jas
Thank you for the swift response! What program would I need to use to open the schedules files?
Just a text editor like Notepad++, Sublime, or Visual Studio Code, same as any .json file. You can even open them in Notepad. But have you unpacked your game files?
No I haven't unpacked my game files? How would I go about doing that? 
Looks like she doesn't have portrait commands in her jump rope schedule strings, so you might be able to use TextOperations to just append the portrait command to the end of it rather than rewriting out the entire string - but I am not familiar enough with TextOperations to know if that's how it works lol
!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!
Sorry for the barrage of questions just realised it seems to never end lol
It's pretty far from the longest discussions we had in here, don't worry about asking about stuff, it's the first step to understanding
Thank you unpacking the files now, I'll have a look and see if I can understand how the schedule will look unpacked
It's friend shaped
{
"Action": "EditData",
"Target": "Strings/schedules/Jas",
"TextOperations": [
{
"Operation": "Append",
"Target": ["Entries", "spring.000"],
"Value": "$99" // <--- portrait number
"Delimiter": ""
}
]
}
(this is how it would look i believe, repeated for each of the schedule strings)
Omg that's so kind of you!?!
one of them already has a portrait command in it. i dont know if you can have two and have it just choose the last one or not
Thank you so so much Button!!! I'll be sure to let the author know. I'll still have a look at the schedules to learn how to read it and extrapolate how you were able to reach that as the answer :D
The one with a portrait command in it is not for jumping rope (unless it's changed for 1.6.9)
they all have almost the same text anyway so i wasnt sure but if it isnt then thats great bc removing just the portrait command woulda been weird
textoperations weird i mean
but doable with a * delimiter lol
You will need to read both the schedule and the schedule string file. Schedule is Characters/schedules/Jas and schedule strings (the things they say in their schedules) is Strings/schedules/Jas like I mentioned before. This is just in case you get lost about there being two files to have to look at.
(im going to sleep now so good luck!)
Thank you will have a look at both
Feel free to come ask questions about them if anything about them puzzles you
I was able to make sense of it, since there are three different schedule strings for Jas practicing skipping rope would it be structured like this (using Button's code as a base obv I don't take credit):
//Spring
{
"Action": "EditData",
"Target": "Strings/schedules/Jas",
"TextOperations": [
{
"Operation": "Append",
"Target": ["Entries", "spring.000"],
"Value": "$0" // <--- portrait number - is Jas' neutral expression as no specific portrait is mentioned
"Delimiter": ""
}
]
},
//Summer
{
"Action": "EditData",
"Target": "Strings/schedules/Jas",
"TextOperations": [
{
"Operation": "Append",
"Target": ["Entries", "summer.000"],
"Value": "$1" // <--- portrait number she's happy here so it's her second smiling portrait
"Delimiter": ""
}
]
},
//Winter
{
"Action": "EditData",
"Target": "Strings/schedules/Jas",
"TextOperations": [
{
"Operation": "Append",
"Target": ["Entries", "winter_15.000"],
"Value": "$0" // <--- portrait number - is Jas' neutral expression as no specific portrait is mentioned
"Delimiter": ""
}
]
}
``` ?
I am curious to know how `"Delimiter": ""` comes into play, is that where I would add the command to replace the referenced portrait ($99) when skipping rope?
Also just learnt you can set is as a json through discord?? The more you know
Bother I was wrong about the one with the portrait command not being for jumprope, sorry Button
You will need to do more with the summer.000 string because you'll have to remove the $h before adding the correct one
Here is the page about textoperations https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/text-operations.md
I'm guessing that $99 is her neutral portrait so I'd need to replace that one
No, $99 doesn't exist
that's a pretty expensive portrait 
You'd have to have Aviroen levels of portrait madness to have that high a portrait index
hahahaha ohhhhhh so 99 as in the 99th row portrait
But I will explain that in a second - delimiter - that's what you are telling TextOperations to add between the existing text and your addition. In this case you don't want anything to be added so the delimiter is just ""
I see, I will have a read through of the github to see if it answers any of my questions 
Almost - it would depend on the number of columns in the portrait file. Vanilla has two, so this is what Jas's portrait indexes are (I hope you can read my messy mspaint writing lol)
The $h in her vanilla summer.000 string corresponds to $1 (the first 5 portraits have aliases of letters and you can use the letter or the number to indicate the correct portrait).
I don't know if you could target the inside of a schedule to add a schedule string (for the Sat schedule) or if you would have to replace the entire Sat schedule.
ohhh so I'd change the $99 to $1 in the summer config
No, change it to whatever the portrait index is for her skipping portrait.
All of the values you are appending will need to be the correct number for her skipping portrait
#h means her happy portrait? and since no portrait is referenced I'm guessing that means it defaults to her normal portrait. I'll try checking in-game to see if that's correct
In a few days, once 1.6.9 arrives, you might be able to use ReplaceDelimited for the Sat schedule...if I am understanding it correctly.
Maybe I'll wait a few days before sending the message 😂 seems like new features from 1.6.9 will make this easier to use will come out
$h means her happy portrait (aka $1), yes. That's the one in summer.000 that you'd need to remove and then replace with the skipping portrait. For the other two strings she doesn't already have a portrait command (and you're right that means the default - $0 - is used) so you just need to append the correct value on.
Hey, it's been so long since I messed with draw calls, can someone tell me where is Furniture.drawAtNonTileSpot used (except to draw held item)? I can't remember all of its use-cases, and I'm starting to look into ignoring it if it's not used.
mod idea: if you fail a help wanted board/ it disappears from the help wanted board without being completed then there is a chance that another npc will head to the npc and give them the item instead.
I'm getting an aneurysm trying to wrap my head around how I made relative draw position work, and how the game handles draw position
and what would happen when this happens? because from what I know, it could very well be happening like this already
like physically walk to them and give it to them?
that! or it could be mentioned the next day if you talk to them? "i helped X npc with their help wanted request since nobody else had gotten to it yet and i had some free time" or "oh X npc forfilled my help wanted request which was very npc of them"
I feel like the 2nd one would be more manageable, it looks like it would be a pain to make the first option possible with schedules and all this stuff already in place
nod nod
Hey, new to modding (but not coding). Working on something simple to start that makes a colored rectangle based on luck, but it's cycling through the character sprites instead. Can one of you tell me where I'm messing up to not get a solid color?
You can use staminarect for this
(you also really don't want to create a new Texture2D() most of the time, let alone on every single OnRendered draw call)
(honestly i'm amazed creating a default texture actually draws something when called)
b.Draw(
Game1.staminaRect,
new Rectangle((int)localStartPos.X, (int)localStartPos.Y, 16, 16),
Game1.staminaRect.Bounds,
Color.Red,
0f, Vector2.Zero,
SpriteEffects.None,
1f
)
This draws a red square
you also want to use e.SpriteBatch instead of b = Game1.spriteBatch, the EventArgs e parameter for this event handler comes with an instance just for you
you never set the pixels of your new Texture2D, and as someone told you already, you should create it once and reuse it instead of creating it each frame
also to explain, Game1.staminaRect is a basic blank texture used for drawing coloured squares and overlays
it is not, as you would think, a rectangle
Oh I thought it was a singular pixel 
Awesome, thanks peeps 😄
Something I did for a flat color rectangle is just a 1x1 texture with a white pixel, and change the source rectangle when drawing
so
fundamentally your problem is that texture2d does not clear memory on init
you get...something random. it's pretty fun.
you'll also probably notice quite quickly that you're printing a value to log on every draw call too hahah
what you SHOULD do is use Game1.staminaRect (or pack your own single pixel texture that's just white)
secondly
making textures is considered an insanely stupidly expensive operation
(Tip: you can use Utility.DrawSquare instead of manually drawing a texture.)
(Despite the name, it can be any rectangle size.)
rect is a texture, square is a rect, where will it all end 
SDV 2 will feature healthtriangle
oh beloved sdv developer, are we encouraged to use TemporaryAnimatedSprite.GetTemporaryAnimatedSprite instead of new TemporaryAnimatedSprite in general cases (such as sparkles, wobbly things, wooshes, etc)
That returns a pooled instance, so you need to return it to the pool by calling sprite.Pool() when you're done with it. But if you do that, it reuses instances instead of allocating a new one for each animation that plays, so it's more efficient.
don't they return to the pool when their alpha reaches 0?
i'd just assumed they did since my sprites apparently stop updating once they're invisible
Not directly, but looks like TemporaryAnimatedSpriteList returns an item to the pool when it's removed from the list. So in theory it should happen automatically in most cases (e.g. if you're adding it to location.tempSprites instead of a custom list).
wonderful, thanks
pretty much always to the location list (or event lists)
god damn it, I can't get anything done today
I'll add a message to the nexus page to say that an update is on its way to avoid some of the "where update" posts
Is there a function to get a list of catchable fishes in a location in C#? I know getFish and GetFishFromLocationData but they only get one fish.
presumably you'd start with this.GetData().Fish for a given location
Can someone help me with making a bug catching mechanic
Location fish use item queries and conditions, so they can be very dynamic. For example, you can use a RANDOM_ITEM query with a DAY_OF_MONTH 24 condition. So there isn't an easy way to get a list of all possible fish.
How much C# do you know?
How?
I'll use it to spawn bugs around the map like the wild animals mod
My understanding of CC is that it is for spawning creatures of various kinds to wander around or follow you. How would you use CC to catch them?
You're right that there was a bug catching mod and it used C# https://www.nexusmods.com/stardewvalley/mods/5099
There is a working (probably) mod that adds bugs as forage https://www.nexusmods.com/stardewvalley/mods/24071
Hmm can't i just reuse some of the code with the authors approval
I guess you could make meleeweapon for the net
Yeah that's what i was thinking
And then reference some monster or critter code for bug
The game code has changed significantly since that mod was written (e.g. string item IDs didn't exist yet), so it would probably work differently if it was created today.
Might need spacecore to serialize your net
There would probably be similarities tho
Casey's code is MIT anyway
It would be a starting point
It's gonna be a fair bit of work and I think u should just write from scratch under 1.6 context
Less hassle trying to figure out why original mod's code was like that 
If you don't code then you will never become better at code
That's true but i actually have no idea where to start
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.
If you want to make SMAPI mods with C#, one important resource is decompiling the game to read the game code. Here's how to do it: https://stardewvalleywiki.com/Modding:Modder_Guide/Get_Started#How_do_I_decompile_the_game_code.3F
Okay then i will start working on it thanks for believing in me
@lucid iron add me
No
Just ask any questions you have in here, it's nice cus more people are around for answers
Ok 🥲
question: can you use the machine tokens inside a condition (IE, to check for a nearby flower in the condition for the bee house for example)?
Machine tokens?
So I got a interesting bug from the secret note framework mod? Its very odd the note was working before but currently it is throwing a menu error now.
if i post a log woudl anyone be willing to peak at it?
Whoops I forgot you're doing C#. Pretend I don't exist!
Of course go for it Clown
Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on Microsoft Windows 10 Home, with 29 C# mods and 44 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
i wa asking for CP but yeah
i found them here
you are missing Cherry.TrainStation
wrong error were looking at.
These are only for item query
we're looking at the secretnote error at the bottom
): okay
so I've no idea what this error means, I was hoping someone could give me a run down so I know what to do to fix it on my end if possible. What occurs is I get the error at the bottom whenever I try and open my note.
The menu crash is secret note related?
making an output that only appears when a specific flower is used
is the secret note a new one?
Yes its for the secret note framework mod
Can you share your json of the note?
Does it have to be nearby flower
I wonder if it's the when condition that causing it
There's lots of examples of the special output for input in vanilla
what is your note's index?
Like pale ale hops vs generic wine/juice
yeah
The json is here
Fellowclown.PC_AncientGraveYardHint
It was the condtional I had set
For some reason it causes a menu error when applied to the entry.
the when condition is inside the entries
So you can just make special flower -> special output rule, on top of the general one
I didnt even notice that
thank you
but the bee house checks for outside flowers
Then you do need nearby flower 
trying to find new stuff to make is so hard... ):
I think there might be way with item spawn conditions, I'll have to double check what is go first
yea i dont think there is way atm
oh man i was so tired last night, i fell asleep on my dialogue...
...yep im gonna fight with my portraits again 😔
don't complain, some of us have to fight with the game

Unless you're asking this as a precursor for a discussion about making your own, this is the wrong channel. #modded-stardew is the place you want to head to for asking about mod recs :)
Hi guys, how do I identify a NPC string name? Just to make sure its string name is correct in case the creator decided not to use just their name as string?
I'm making some location fixes for some NPC mods so I wanted to know the strings they used to refer to their NPCs
If you have Notepad++, VSC, or Sublime you can do a "find in files" search through the mod folder for "Data/Characters" which will take you to the file that the mod author has defined their NPC in. If you don't want to do a find in files search, you can manually look through their files to search for that (starting with content.json because it will either be in there or they will have an "Action": "Include" code block that will probably guide you to the right file.
Or you can just do "patch export Data/Characters" in your SMAPI window when your game is open, then go to your Stardew Valley folder and find the patch export folder, open up the file inside it and search for the NPC in there.
Hello everyone. I wanted to get a bit more into modding and thought of starting a simple map extension would be a great idea for learning by doing. But I already struggled to install Tiled on my Mac OS 11+ with M1. Anyone know why I can't open it? It crashed immediately.
Ok this might be a stupid idea but I think this is doable with CP only with a combination of Machine Terrain Framework + SpaceCore
MTF adds a new field to machine rules which is a GSQ that has a bunch of extra custom params passed inside the context, including "tile the machine is on". SpaceCore has a GSQ for "has nearby crop" which only works if the context has a "Tile" parameter
so you can combine the two, and have a machine output item gated behind "there's a certain flower near this beehouse"
Try downloading it from here instead of itch.io (don't know if it will help but I saw someone say they had crashing on Mac when downloading from itch but not from github) https://github.com/mapeditor/tiled/releases/tag/v1.11.0
Thank you I will try it
Sadly this don't work. Is there any alternative program to use?
Not that I know of but any mapmaking program that can edit .tmx files might work (no idea how many there even are). It might be worth trying this version since that is the one the other Mac user I found said worked for them: https://github.com/mapeditor/tiled/releases/tag/v1.10.1
What's the error you get?
btw? i pray that 1.6.9 will not axe most mods and/or mod making ;w;
Content patcher stuff will be fine
Yeeeah I get it worked. Version 1.11.90
You will see me in a few days again with many questions 😂
Make sure you have this page open and read it (at least the sections before it turns into big lists of map and tile properties) very carefully https://stardewvalleywiki.com/Modding:Maps
Thank you! I will
I don't have the post link on hand but it's already been covered tht it shouldn't
the problem is usually the frameworks, once the framework is updated, the mods should work fine, no?
Assuming that the framework doesn't have to change how the content packs are structured, then yes
1.6.9 is mostly new features (which shouldn't affect existing mods) and fairly technical changes (which will only affect some specific mods like the light source changes). Most mods should be unaffected in theory, but I'll be preparing the mod compatibility list for 1.6.9 this weekend so we'll have a better idea soon.
if the content packs needs updating then it's up to the mod author to update them then
if I use addLantern in an event how do I then remove it? removeObject and removeSprite both don't seem to work.
The main mod compatibility issue in 1.6.9 is probably the net field changes; C# mod authors who have been ignoring build warnings since 2018 will have issues in 1.6.9.
(somewhere, a large portion of infrequently active mod authors just felt a chill)
removeTemporarySprites doesn't work either 
addLantern adds a temporary sprite, so you can use removeSprite x y to remove it again.
removeTemporarySprites should work too in theory.
I am using addLantern 927 3 5 1/ , I chose an 'empty' icon from springObjects instead of the Lantern at 735, because I don't actually want the lantern, just the localized glow effect. is that why the glow isn't removing with removeTemporarySprites? should I be adding the glow some other way?
Nope, that should be fine. Essentially addLantern just does this:
context.Location.TemporarySprites.Add(new TemporaryAnimatedSprite(initialParentSheetIndex, 999999f, 1, 0, @event.OffsetPosition(tile * Game1.tileSize), false, false)
{
lightId = @event.GenerateLightSourceId($"{nameof(AddLantern)}_{tile.X}_{tile.Y}"),
lightRadius = lightRadius
});
It doesn't matter which sprite index or light radius you use, since removeSprite will remove any temporary sprite on the given tile.
I am still shocked at how little broke in my most transpiler-y mod with 1.6.9.
If you change it to use a visible sprite, does the sprite get removed even if the light stays behind? If so, that might be fixed in 1.6.9.
testing...
Heya! I have a quick question, does anyone know DaisyNiko's policies on making mods compatible with her Earthy Interface mod/if that's allowed? I unfortunately cannot access their profile so I'm unable to check, but I wanted to ask if it would be okay for me to post a Earthy Interface edit for the Generic Config Mod, just since I haven't seen anyone else recolor it for that mod/wanted to give access to my personal edit in case anyone else wanted it
OK, it is removing the sprite, but not the glow effect
If you mean recoloring the cog icon, it's already an optional file on Earthy Interface
Any chance you could [try it in 1.6.9](#making-mods-general message)? If that happens in 1.6.9 too, I could probably slip in a quick fix since it'd be PC-only.
(Note that you'll need the beta versions of SMAPI and Content Patcher on Nexus for 1.6.9, and some other mods might not work yet.)
WHAT
Omg, I never knew that was there, I think I just did it by hand for no reason then 😭
WELP thank you hahah
Absolutely I will give it a try however I have to step away for now will work on it today and PM you, thanks so much
@next plaza I'm reviewing your passthrough tokens PR to hopefully include in Monday's Content Patcher update. I was just curious about the reason for this change in the LocalContext?
ok so im having an issue here.
my spouse doesnt leave my custom and not yet released farmhouse and i am unsure of why. i removed the farmhouse and reverted back to vanilla and she leaves. so... im not shre why she isnt leaving
is something blocking her?
nope. no obstacles in the way. unless wooden flooring counts?
Are the warps set?
only on the main map. do i need to set warps on each of the renovations too?
Probably a silly question, but my brain ain't cooperating today: is it possible to make a token to alternate between two values based on the in-game year? I want to make an outfit mod that alternates between two base sprite sheets every year.
I was trying to do so with a content patcher dynamic token
Should be, there's a CP token for year
arent each of the renovations a separate map? 🤔
You can do a modulo % to get even/odd years
wait, can a dynamic token work off another one?
Yeah I believe so, you are basically trying to derive a token from the year token
technically, though i dont know how it works for each of them
regardless im gonna add warps to each map and see what that does
oh wait durr, I can load one set of sheets by default and swap when the year number is even. Shows how well I think at midnight
I'm not sure if gsq/condition has anything though
nope, she still isnt leaving
Double check your farmhouse warp out and make sure there are no NPC barriers blocking the exit?
Yes, it can even use a previous value assigned to itself:
"DynamicTokens": [
{
"Name": "NpcNames",
"Value": "Abigail, Emily"
},
{
"Name": "NpcNames",
"Value": "{{NpcNames}}, Penny" // Abigail, Emily, Penny
}
]
oh cool, I just assumed that wasn't possible due to name collisions
Essentially you're just assigning a new value to the same token in that case.
kind of like a += operator?
warp is fine, there is nothing blocking the path, which is why im stumped
🤔 hmm
And your mod only changes the interior farmhouse map, nothing on the farm map itself?
right, only the farmhouse map. when i reverted it back to vanilla, she was able to leave. so it's something wrong with my map
ty all for the help, hopefully I can figure the rest out
Did you make the warp out the same in your farmhouse as vanilla?
no, the warp is different in my farmhouse
Where is it going?
28 38 Farm 64 15 29 38 Farm 64 15
oh
NPC pathing doesn't work on the farm by default I'm pretty sure
it doesnt
You would have to patch out the path blockers on every exit if I recall
Each new entry is essentially token = value, but you can do things like token = "{{token}}, value" for example.
Which allows for interesting things like...
- incrementally build a list based on conditions (e.g. get the vanilla NPCs, then add SVE NPCs if that mod is installed, etc);
- set an initial value, then override it based on conditions;
- etc.
That's my Warp Map Property. I can't change it or else I won't be able to leave
Add an NPC only warp that goes to the bus stop
Yeah, create a NPCWarp tile inside your farmhouse for them to leave without going onto the Farm map
Time remaining until someone asks for a way to remove items... 5 days
so your spouse being stuck is probably because she actually can't leave 🤔
(Generally you'd do that by not adding them in the first place, e.g. by adding conditionally.)
Nope she still isnt leaving
why remove items when you can just so significantly alter them to what you need?
Been trying to follow the logic for pathfinding and scheduling for spouse's, it's a lot and now I gotta run. Only other thing I can think is maybe it's a scheduling issue?
I thought of that but her schedule is fine. Besides, she wouldn't be able to leave the house in vanilla if it were a scheduling issue
Ok I've done everything I can think of. I've changed the warp, added NPC warp, added warp to the renovation maps... nothing. She still won't fking leave....
Are you still needing help with this?
FML... I figured it out.
It was because I had two buildings tiles right on the warp point. I was looking at the path from the stove to the door, the warp point itself completely did not occur to me
is there a way to track how many of a specific item are sold within a time-frame?
someone messaged me on nexus, they're unable to see the farmhouse i uploaded with content patcher. smapi is giving them no errors, and it looks like the content patcher is loading the file just fine. has anyone else run into this before?
SMAPI log posted on Nexus is a screenshot of the console containing no useful information... I am shocc
If you haven't, I suggest getting them to do a patch summary of the farmhouse asset to make sure nothing is replacing it after you
i bet they have another farmhouse mod and dont even realize that their house isnt vanilla
In these cases I always make them send an ingame picture first
You have no idea how many times ive wasted my time on a problem like that for the user to go whoops i totally thought that sprite was vanilla :/
lol thanks all, i'll ask them!
Is there a list of languages people have translated Stardew into?
Not sure what "people" means here but... https://www.stardewvalley.net/faq/
If it's a question about unofficial/unsanctioned translations then ¯_(ツ)_/¯
It's a question about unofficial.
hey i want to add a nps's scedule to a custom map, where to start? i have no experience with scedules yet
oh it's alex so its no custom npc
You just add the custom location and the coordinates you want him to go to into the schedule. It's the same as how it's done for a vanilla location.
the translation tab on Expanded is probably a good enough indicator
https://www.nexusmods.com/stardewvalley/mods/3753
there is not
theres also a number of unofficial translations that were finished prior to 1.6 and not updated
Just tested in 1.6.9 with the latest beta of SMAPI and CP, addLantern still leaves the glow after the sprite is removed
(yeah, none of the removal functions in DefaultCommands call TAS.unload)
Is is possible to use CP to modify a schedule to have a spouse go to the default path tile in their spouse room?
Don’t quote me but I think so you can use cp to change add or update the schedules
Yes, I've managed to make several schedule changes. But I can't figure out how to get a spouse to go to that specific spot.
There is a tile association on the map
Spouses don't always follow their schedule
Usually they're just being piloted around the house by the game
iirc it's rain that forces them to sit in the spouseroom
Marriage guts an NPC
al bundy was right all along. and we never listened 
Reason I marry Abigail she’s still fun to be around
Who's the NPC in that relationship? lmao
I was hoping to put the spouse in the spouse room on green rain day.
idk al seemed pretty gutted, let's go with him
🤔 don’t listen to me but what if you made the npc a fake shop and she goes there to “sell” only on green rain days
did someone speak just now
Hmmm. That's an interesting idea!
Can someone help me with the formatting and show me how the question system works?
https://smapi.io/json/content-patcher/595bf26989e1439d822d42b19755f1bd (event.json)

you've torpedoed your multi-line string by closing the string on line 8
Then again you could have them sell mod items if you felt like it lol
err actually i can't even decipher the format hahah
I'll see if I can get the fake shop idea to work. Thanks!
those are dialogue commands, not event commands
Hey,
I am trying to implement an inventory for horses, however I cannot figure out how to actually display a Menu which I can both place items in and take them out
I tried using an ItemGrabMenu, but I cannot place items in it, my assumption would be that ItemGrabMenus are just for grabbing items from them, rather then putting items in them, is there a better API for my issue?
Not sure if posible but mabey chest?
though this is assumed that you've made an entire location named Aven?
Is there a ChestMenu? I could not find thjat
UI is pretty convoluted to get into
Look at junimo building and windmill and pond think they all have an inventory
wouldn't chests have to be built from scratch
(The chest menu is itemgrabmenu
You can't import a character name?
You're just probably calling it wrong somehow
so data/events/<Location> is just that, it's events in a location, not bound to a specific npc
yeah itemgrabmenu is standard here, i use it as a base for all my menus. the shipping bin, for example, just uses a basic ItemGrabMenu itself
Hmm 🤔 I’ve never done custom yet so not sure
There are like....five or six variants. Make sure to get the one meant for chests.)
OH
if you haven't already decompiled the game code korsti, it's best if you do
Is there some requirement for placing items into it, since the documentation is kinda sparse and I am just guessing by the parameter names what they do
you likely want to set the constructor param reverseGrab: true
beyond that, you would have to use quickQuestion if you're doing something that requires player input, the $q and $r is usually reserved only for actual dialogue lines outside of events
excuse the tall text here
here's how the shipping bin sets the current menu on player clicked in ShippingBin.cs:doAction, obviously you won't be using this exact method but it gives you an idea:
ItemGrabMenu itemGrabMenu = new ItemGrabMenu(
inventory: null,
reverseGrab: true,
showReceivingMenu: false,
highlightFunction: Utility.highlightShippableObjects,
behaviorOnItemSelectFunction: shipItem,
message: "",
behaviorOnItemGrab: null,
snapToBottom: true,
canBeExitedWithKey: true,
playRightClickSound: false,
allowRightClick: true,
showOrganizeButton: false,
source: 0,
sourceItem: null,
whichSpecialButton: -1,
context: this);
itemGrabMenu.initializeUpperRightCloseButton();
itemGrabMenu.setBackgroundTransparency(b: false);
itemGrabMenu.setDestroyItemOnClick(b: true);
itemGrabMenu.initializeShippingBin();
Game1.activeClickableMenu = itemGrabMenu;
i think the important part is behaviorOnItemSelectFunction and behaviorOnItemGrab
u can skip highlightFunction if u dont need to filter
the very popular horse overhaul mod implemented saddle bags by placing a chest in an unreachable spot of the farm
these days though we have global storage, so -1000,-1000 chests aren't needed
Also you risk the chests disappearing if the player uses the world_clear command
I can't recall, it's been 2.5 months. 😅
do i create a seperate json file for the schedule or can it be written into config?
Is one of those callefd when placing an item in the grab menu?
the first one seems to get called when selecting it from the player inventory
yea and behaviorOnItemGrab for opposite way
So when someone grabs from the"menu iventory"
howevber when mnoving something from the player inventory into the menu inventory nothing happens
do u want to post what you have?
im unsure what is meant by move into, normally inventory operate on click right 
Sure
private void OnButtonPressed(object? sender, ButtonPressedEventArgs e)
{
if (!Context.IsWorldReady)
return;
var horse = Game1.player.mount;
if (e.Button == config.OpenInventoryKey && horse != null)
{
if (!horseInventories.ContainsKey(horse.HorseId))
{
horseInventories[horse.HorseId] = new Chest(true); // Ensure chest is created
}
if (Game1.activeClickableMenu is ItemGrabMenu itemGrabMenu && inventoryOpenStatus.TryGetValue(horse.HorseId, out bool isOpen) && isOpen)
{
Game1.activeClickableMenu = null; // Close the ItemGrabMenu
inventoryOpenStatus[horse.HorseId] = false; // Update the status
}
else
{
// Fetch the items for the player from the horse's chest
var playerItems = horseInventories[horse.HorseId].GetItemsForPlayer(Game1.player.UniqueMultiplayerID);
this.Monitor.Log($"Horse Inventory Items: {string.Join(", ", playerItems.Select(item => item?.DisplayName ?? "Empty"))}", LogLevel.Debug);
Game1.activeClickableMenu = new ItemGrabMenu(
playerItems,
true,
true, // Allow taking items
InventoryMenu.highlightAllItems,
(item, who) => {Monitor.Log($"{item.DisplayName} was selected by {who.Name}");},
null,
(item, who) => Monitor.Log($"{item.DisplayName} was grabbed by {who.Name}"),
false,
true, // Allow putting items
true,
true,
true
);
inventoryOpenStatus[horse.HorseId] = true; // Update the status
}
}
this.Monitor.Log($"{Game1.player.Name} pressed {e.Button}.", LogLevel.Debug);
}
Right click an item in the player inventory and then right click a slot in the menu
that's what I want to achieve
Also clicking an item causes it to be attached to my curser, rather than moving it around
you can't use ItemGrabMenu then
might wanna subclass it and do your special behavior in there
yeah the shipping bin's instant-transfer behaviour comes from destroyItemOnClick, where you'd need custom behaviour to preserve the item since that's normally handled by the baked-in shipping bin logic on ItemGrabMenu
So there is nothing predefined, which does the same as chests
chests dont do that either though?
I described the behavior wrong
you click a thing in your inventory and it goes inside
you click a thing in chest and it comes out
then yea just look at Chest.ShowMenu()
the default: case should be all you need
u can see that the transfer of items happen in grabItemFromInventory and grabItemFromChest
rn ur code just logs the items so no item transfer happens
Alright!
Also, I'm extending the PR into a broader 'local tokens' feature, which will let you recursively set tokens on any patch and use them within its other fields. Draft docs:
(It could be interesting to add ForEachLocalTokens or something, so you can have one patch that's applied for each set of values.)
That would be amazing - I feel like it'd be more useful if you could have more complex structures somehow though
(Did I say 5 days, earlier? Apparently I meant 5 hours.)
Like, A: { Name: ..., Description: ..., ... }, B: { Name: ..., Description: ..., ... }, ...
Well, the idea is you could do this:
{
"Action": "Include",
"FromFile": "assets/add-hat.json",
"ForEachLocalTokens": [
{
"Id": "PufferHat",
"DisplayName": "Puffer Hat",
"Description": "A hat that puffs up when you're threatened.",
"Price": 500
},
{
"Id": "ClownHat",
"DisplayName": "Clown Hat",
"Description": "A hat that jingles as you move.",
"Price": 250
}
]
}
Which would load assets/add-hat.json twice, and pass in the respective {{Id}}/{{DisplayName}}/{{Description}}/{{Price}} tokens. Not sure if that's what you mean?
Since I actually use a Chest to store those items, I can just call that thx for showing me that this exists
Basically, yeah
why not just make the original LocalTokens itself a list like that?
I think it would lead to some confusion, because the behavior of the LocalTokens list (call patch once for each entry) and the behavior of the DynamicTokens list (each entry can override the previous one) would be different.
(And replicating the DynamicTokens behavior on every patch would be prohibitively expensive performance-wise.)
could i foreach foreach
the particular case i have in mind was applying map properties to a large rectangular area
Just make all tokens be compilable C# expressions, done.
Yep. The file loaded through your Include patch with a ForEachTokens field can itself contain Include patches with their own ForEachTokens, nested as deeply as you want.
Hey I need to read a dll file is there any way to do that?
If you want to make SMAPI mods with C#, one important resource is decompiling the game to read the game code. Here's how to do it: https://stardewvalleywiki.com/Modding:Modder_Guide/Get_Started#How_do_I_decompile_the_game_code.3F
if it's a mod, check https://smapi.io/mods for source
Dunno if this was happening pre-1.6.9, but I'm testing my mod and I have some NPCs with "ShakePortraits" fields set. When those portraits appear, they start shaking and don't stop... is that supposed to happen?
i think that's intended behavior, i think the only one that has the light shaking is the $h assigned?
Dang, alrighty
for ilspy do you have to download all of the github downloads?
Content Patcher's i18n substitutions are scoped to translations in that specific content pack, right?
just the single vsix/msi/zip file, depending on whether you want it as a VS extension, windows installer, or portable build. why do you need to read a DLL file?
mods
Ohhh frick I should've tested immediately after Pathos said he fixed the issue I had
I'm getting it again 
well i assume it's to do with mods given you're in making-mods, but more specifically hahah
if you're looking at a mod's DLL, you might be better off finding its source code if linked from its nexus page description
if u r windows u just need the ilspy executable thing
does CA know there's a 1 pixel gap in drawDialogueBox since the fill colour sprite draw doesn't try and overlap the shadow that's part of the border sprite
fieldofficemenu for scale
Can you report that in the forums? We'll probably have a 1.6.10, so I can look into adding a fix for that if we can.
10...
I'm trying to fix a not open source mod
A hard road since decompiling is likely to leave you with something that won't function at all
depending on what it is you might as well write the mod again
I have decided to see if the mod author is still active and see if i can get the code that way
particularly cus u likely dont have perms to share mod if it is close source and all rights reserved
Made my first mod of a luck meter below the experience bar mod. Thanks for the help earlier guys 😄
When I'm replacing mine music, do I replace the overarching variable (EarthMine, LavaMine, etc) or do I replace the invidual songs (Of Dwarves, XOR, etc)? Or do both work?
I believe this is not a new bug but longstanding behavior that still exists in 1.6.9.
A lantern can be added during an event through the "AddLantern" command, which has a glow effect. This lantern can be removed through "removeSprite " or "removeTemporarySprites". Doing this removes the...
@next plaza: look into SpaceCore serialization for 1.6.9 if I haven't already (92h ago)
I need to get smapi mod to not be recognized as it's orginal mod and as a new one is there a way to do that?
change the unique ID in manifest.json
have still reconises it
why is it an issue?
trying to see what happens for a mod that is currently borken
the Name/Description/Author is what shows up to the user in the console, so if you're talking about those change them also
but the unique ID is what's important
again, not sure why this is an issue
I have changed everything in the manifest
!log
Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.
Please share your SMAPI log file. To do so:
- Open this page: smapi.io/log.
- Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
- After uploading, it will show a green box with a URL to share. Post that URL here.
Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didn’t occur in your last session, please load the game to the point where the issue occurs, then upload the log.
smapi detects broken mods from the mod itself being unloadable
ok then what's the issue then
it has nothing to do with the manifest afaik
stardrop does use manifest + smapi.io info though 
(You can disable SMAPI's compatibility auto-detection in its smapi-internal/config.json ifle, but generally that just means it'll either fail to load anyway or crash/error in-game.)
what one is that?
Oh, looks like you can only disable the rewrites. Well, the mod would almost certainly crash anyway even if you disabled the compatibility checks (that's why they're checked).
Generally you should update the mod code instead.
anyone experienced enough with Spacecore Spawnables stuff to help me debug an error im dealing with?
im fairly new to stardew modding but trying to figure out where I went wrong with some custom trigger action stuff.
Anyone know where the graphics for the fireflies in the Witch's Swamp are stored?
yep, here's one:
.
awesome thank you so much
seriously though they don't have a texture, they're just a coloured pixel
i suppose i was hoping their glow was part of the sprite, i'm making a character who's a zelda-style fairy and wanted to use it as a template
There's some funny light effects going on
if you're down to clown with c# you can check out Firefly.cs
You can make a texture "glow" with good shading though
you can make a light source with custom texture
light glow is indeed a texture, though if you patch the fireflies' you'd touch every other light source using the same texture
it goes without saying that you should not steal art, but elle did make a zelda fairy trinket
https://www.nexusmods.com/stardewvalley/mods/27305
ngl that looks like one of the terraria mods to turn the pixies into zelda faeries I used ages ago
an incredible coincidence 
is there, like, an official pixel art of the zelda faeries?
well sure, they had to appear in the 2d games somehow
not sure if the blue-ball fairies ever appeared before the n64 era though
ah
maybe they came back for the gba series?
(<-- has only played zelda 1 and like half of ocarina)
(<-- hasn't played any zelda)
i think they were standard small human with wings prior to n64
it was easier on the hardware to draw ball o light than model
yeah they looked much closer to the sdv fairy
snes zelda faerie was definitely tiny wand lady
oh i love their little antennae lol
isn't lily working on a zeldo mod
oh, i love this. throw your master slingshot into the fountain to get the galaxy one (dummied out)
throw the galaxy sword into the pond, become universe slayer
(looking at this list i'm surprised how on-model the CD-i fairies are lol)
their designs r great for being such a departure from regular graceful fairy queen kinda deal
oh right you want the BIG zeldo fairy
minish cap is my favorite fairy
https://zeldawiki.wiki/wiki/File:FS_Blue_Fairy_Sprite.png
no matter what I try, I can't save or send this as a gif T^T
this is an apng
oh.
😭
intrusive thought, trinkets with a soundID
do it
(psst, those are called 'ideas')
that's supported
welp, i know what's coming after the baseball bat
yeah, it'd be my own voice though so good luck to everyone who uses it 
omfg
no more braincells, modding-contest over 
this will be fixed in the next release of EMC for SDV 1.6.9, thanks for the report!
I am told you're going to be making an orange cat npc with a hatred of SharePoint
and a love for knitting
gods, how do I colour pick in Aseprite?
ive come up with a name for my next mod 
new mod currently blocked by SpaceCore breakage
(serializer my beloved)
(I could use like 10 string fields but ehh everyone has SC nowadays right)
(i don't)
"The humans... not only do they toil away with how stupidly disorganized their SharePoints are, but they also keep their nicest and softest yarn hidden behind what they call a 'baby lock'.
"
fixed green fairy
ichor what would get you to install spacecore 
one frame was missing some pixels, for some reason...
necessity
to be clear, i have it around, but my standard mod loadout is tiny and nothing needs it, so i don't use it
yea that's fair, i think save serializer is the only thing i use consistently
maybe if i come up with idea for a skill one day 
i was tempted to roll my own serialization for fun for museum framework but figured id just be making a worse, buggier version of the spacecore serializer
so i caved
bc i similarly do not want to use a bunch of string fields
you didn't want casey to be alone in the smapi warning? 
well you could shove ur stuff all into save data
making a kinda shitty serialiser is almost a rite of passage
tbf that was back when the actual framework idea was more just me experimenting and messing around and not a solid mod idea
you can do it I belieb in you