#making-mods-general

1 messages ¡ Page 208 of 1

wanton pebble
#

I didn't know for the longest time

dusk mulch
#

Now it won't happen, if I encounter it again I'll let you know.

winter dust
#

Hey Pathos, JA had color.png images for flowers and such, do I only need to define TintColors for the crops now?

wanton pebble
#

Then atra said it and I essentially went 🤯

dusk mulch
#

But I think my mod is ready for release.

ivory plume
winter dust
winter dust
calm nebula
ivory plume
#

It's only on the 1.6.9 migration page currently; I'll move it to Modding:Objects now.

winter dust
#

Oh cool thanks, I was gonna do that if you hadn't but epic.

calm nebula
#

hey @blissful panther can you do me a favor?

#

can you add equivalent images for Rider?

#

I updated the wiki to point at just VS, Rider, and grudgingly VSCode

uncut viper
#

shouldnt VSCode also go in the windows bullet point too if Rider is also in both

calm nebula
winter dust
#

what

uncut viper
#

im not sure what your emphasis is there for

tender bloom
#

grudgingly

#

is bad

#

vsc is not an IDE and microsoft is delusional for pretending it is a replacement for VS for C#

calm nebula
#

grudgingly

#

you see the grudge

tender bloom
#

this is my opinion but I think this is maybe also atra's

calm nebula
#

(feel free to edit it to be different)

winter dust
#

VSCode is terrible.

uncut viper
#

i mean, im not disagreeing, but i think that misses my point which was "it says VSCommunity and Rider for Windows, and Rider and VSC for Linux/Mac, why doesnt it say VSCommunity, VSCode, and Rider for Windows" (which was not too serious a point anyway, just an observation based on that screenshot since i dont even see that text on the wiki page)

calm nebula
#

VSCode is fine for python

tender bloom
#

maybe we should just say (worse) in front of VSCode and put it on both

winter dust
#

Fair point.

calm nebula
#

someone had a launch.json that worked

uncut viper
#

i was only noting my own confusion as to why Rider was repeated for both but not VSCode, is all

calm nebula
#

can we go find it, and by that, I mean find a chue

tender bloom
#

Rider and VS are both fully featured

calm nebula
#

unless a chue is a vim

ivory plume
#

The wiki should just suggest the best option(s). If someone already prefers VS Code and has it set up for C#, they won't need the recommendation; if they don't, they probably shouldn't do that.

tender bloom
#

The annoying thing is that microsoft itself will recommend that

tiny zealot
#

good idea to remove MonoDevelop from the wiki instructions SDVpufferheart

tender bloom
#

Idk if people will run into that just like.,,, out on the internet

#

They certainly tried to cram it on me during the dying months of VS

winter dust
#

It's almost impossible to find the Migration guides on the wiki when you're searching for them unless you put Modding: infront of Migrate.

ivory plume
#

Assuming you set "ColorOverlayFromNextIndex": true in your Data/Objects entry, yep that should be all you need to do.

winter dust
#

Awesome, thanks for the help!

ivory plume
winter dust
#

I also hope they end up updating the wiki sooner than later, search indexing issues like I mentioned are fixed in later versions. And so are all the security vulnerabilities.

fathom hound
#

is there a When Has Value condition to identify if an npc is a marriage candidate or not???

#

where can i check for something like this?^

hard fern
#

Uh... I know in their character data there's a "CanBeRomanced" thing

fathom hound
#

would it be "HasValue:{{CanBeRomanced}}": "true"?

#

ohhh yay i found that on my own ^_^

tiny zealot
#

i don't know of a way to check the value of data fields like that in CP

hard fern
#

Im not quite sure how you would actually go about doing Stuff to the json to make it work though

uncut viper
#

no, that will not work

fathom hound
#

oh man, is there any way for CP to recognize romanceable token? SDVpetcatsad

uncut viper
#

romanceable isnt a token

fathom hound
#

oh, how would i be able to do it then?

tiny zealot
#

a mod could provide a token for that (maybe button is already adding it?)

uncut viper
#

you cannot do it with base CP

fathom hound
#

oh thank you

uncut viper
#

i do not add any tokens

tiny zealot
#

oh, my mistake

hard fern
#

Is this like for your divorced spouses

uncut viper
#

Esca's GSQ token may be able to do it

#

(the only thing BETAS adds that is CP specific is a PatchUpdate action, otherwise there is nothing requiring content patcher at all in it)

fathom hound
#

hopefully npc's from different mods dont have the same name

hard fern
#

Can you not just check for when relationship with x npc is divorced (?) or is that not how it works

fathom hound
hard fern
fathom hound
#

I could do it though

#

dont think im gonna until someone complains about it LOL

tiny zealot
uncut viper
#

if the name of the NPC you care about is in a dynamic token or config token or something, and is just a single name, you can possibly use trigger actions to send mail flags that you can then check

hard fern
uncut viper
#

i dont know off the top of my head if there is a GSQ though that checks if an NPC is romanceable

fathom hound
#

the internal names from sve, rsv, were just standard names so i kinda just assumed the rest of the mods were SDVsobastian

uncut viper
#

SVE and RSV are old and from before it was convention

#

as ichor says it is literally not possible for different NPCs to share an internal name

fathom hound
#

kk ill just check the top left of npc's in lookup anything from every mod just in case then

uncut viper
#

before it was convention to add the modid* i mean in case it wasnt clear

#

i didnt realize it hadnt been said

fathom hound
#

ah okay so the ModID part will show in the top left of lookup anything? if it applies

uncut viper
#

if the NPC maker added it, yeah

fathom hound
#

thank you!

tiny zealot
#

the convention is not commonly followed for NPCs, but most newer ones have some sort of convolution in there to keep them unique (even some old ones did)

#

e.g. JeanCat and JortsCat (they predate the convention)

uncut viper
#

(there doesnt seem to be a GSQ to check romanceable status anyway though so it seems a bit moot)

fathom hound
#

gotcha

#

meh all good, if someone reports a bug then ill worry about it

tiny zealot
#

i guess my point is there's no guarantee of what the internal name is

hard fern
#

Best to just check in the mod files

fathom hound
#

true ill do that!

#

the name would be in i18n.json if not in content.json right?

uncut viper
#

no

#

that would be the displayname

#

you need to find where they are editing Data/Characters

fathom hound
#

ahh okay thank you!

#

ah yep downtown zuzu uses unique string id convention for names SDVpuffersquee

devout otter
#

For curiousity, what mod are you making, Anaira?

fathom hound
#

i got bothered that npc's divorce and just forget about their kids SDVsobastian i have them come on sundays now

devout otter
#

Aah, that's cool. And all these are config for us to decide who the ex-spouses are?

fathom hound
#

yep!! thanks to tia it makes it a lot easier for me lol

#

i have npc's included from sve, rsv, es, vmv, dz, mt, pc, stoffton

devout otter
#

You're making custom dialogue for all of them?

fathom hound
#

no dialogue just warping in farmhouse

devout otter
#

Aah.

#

Hmm, I wonder if there' a way to determine who the divorced parents are so you don't have to manually set config for so many NPCs...

fathom hound
#

every npc i see in lookup anything just has their first name

fathom hound
devout otter
#

Oh, what's the problem?

fathom hound
#

doesnt recognize the kid's parent

devout otter
#

Oh yeah huh, it can only recognize whether the NPC is divorced or not.

fathom hound
#

yep yep

#

and i'd have to write a unique line for every npc

#

tia's huge brain of config just works a lot better lolol

#

i do wish there was a way to tell if npc was romanceable tho SDVpetcatsad

devout otter
#

Wouldn't they already be romanceable if you're able to divorce them?

fathom hound
#

since most expansion mods dont have unique ID

devout otter
#

That wouldn't happen. All expansions have unique ID or they'd not work.

#

Like there is no other NPC with Claire as their internal name, so SVE's Claire is already unique.

fathom hound
#

ok just making sure, i wouldnt be surprised if there was a non romanceable npc in one expansion named John SDVsobastian

devout otter
#

If somebody want to make a second NPC named Claire, they'd have to use MyMod.Claire or Claire2 or something as her internal name. And thus both Claires would still be unique.

vernal crest
#

I think there have actually been mods across the years that have used the same ID for NPCs sometimes but I don't know of any existing clashes.

fathom hound
#

I'm talking about different expansions with different internal names

#

but i think im fine

#

76 marriage candidates in my mod

hard fern
#

You can have a gus expansion where every new npc in the mod is also named gus and have them still be unique internally

devout otter
vernal crest
#

Can you romance John from Passerby Cemetery? I thought he was nonromanceable.

fathom hound
vernal crest
#

Huh maybe I just never noticed because I chose not to lol

devout otter
fathom hound
#

oh no, another expansion? SDVsobastian

devout otter
#

So TNG changed their Thomas's internal name into TNG.Thomas.

quiet dock
#

!unpack

ocean sailBOT
#

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!

fathom hound
#

it seems like TNG isnt compatible with 1.6 anymore?

quiet dock
#

can someone explain how this works please?

fathom hound
#

(phew)

devout otter
#

(Mineral Town) also wasn't compatible with 1.6 until just a week ago. 😛

vernal crest
fathom hound
#

its sticky posted

devout otter
#

The final version for 1.5.

fathom hound
#

ahh i see

quiet dock
vernal crest
devout otter
#

But honestly, I don't think you'd need to fret about adding every NPC from every mod. If I were you, I'd just add NPCs from mods I actually use and then consider adding more if people requested it.

fathom hound
#

yeah im done for now

devout otter
#

Else, have you seen The Daybreak, that expansion with 200 characters...?

vernal crest
#

It would be cool to get a list of NPCs automatically from installed mods but I don't know how to get them into the config. I assume it's not actually possible to.

devout otter
#

Alternatively, just use a user input field in config instead of a dropdown, then provide the list of names in an Article.

vernal crest
#

You'd get so many bug reports with that because people wouldn't realise you have to use internal names and would manage to get them wrong if they did. Plus if you had to include a list of them anyway why not in your config already?

devout otter
#

Because copying and pasting i18n names and keys is a bit more boring. 😆

hard fern
#

... I have so much power, i could finish and upload a mod right now

fathom hound
#

well i have a problem anyway, im testing each mod.. RSV and SVE worked so now i tried ES and DZC right now and they arent loading

vernal crest
#

Aren't loading?

fathom hound
#

nope not loading

devout otter
#

Oh.

vernal crest
#

You can't use the mod Id token

fathom hound
#

oh for the allow values?

devout otter
#

{{ModId}} is DTZ's own mod id.

hard fern
#

You need to type out the mod id

vernal crest
#

Mod id will resolve to your mod's id

fathom hound
#

oh, how would i change it so that its DTZ's?

hard fern
#

Look in dtz's manifest

devout otter
#

You need to look in DTZ's CP manifest.

vernal crest
#

Replace the token with the actual unique id

fathom hound
#

so {{DTZ.DowntownZuzuCP}}_Cal?

devout otter
#

Without the brackets.

vernal crest
#

No, the curly braces are indicative of a token which this will not be

fathom hound
#

thanks SDVpufferheart

#

Hmm it still didnt work

#

ah wait i got outdated mods lol

devout otter
#

For Condition field, can we put an ANY inside an ANY?

uncut viper
#

yes

#

if you can handle the escape quoting necessary

devout otter
#

Like "ANY \"SEASON Winter\" \"SEASON Spring, ANY \"DAY_OF_WEEK Friday\" \"DAY_OF_MONTH 3\"\""

uncut viper
#

ill say "tentatively yes but i get lost in the quote sauce trying to parse it so i cant guarantee theyre actually escaped right"

devout otter
#

(Sorry, I know you've answered but I was already in the middle of typing this example and wasn't willing to just erase that.)

uncut viper
#

(you can use single quotes for the outermost quotes if it makes it easier)

royal stump
#

aside from the weirdness of nested quotes, yes, "ANY" is just a condition that takes any number of string arguments and runs them recursively

#

so it can call itself any number of times

#

(whoops, opened in a tiny window and didn't scroll up enough, basically redundant SDVkrobusgiggle but can confirm)

devout otter
#

Every time I need to do this ANY thing, I need to make sense of the logic all over again...

#

But in any case, that's good to hear, thanks all!

dusk mulch
#

ughhhh its been like 2 hours and my mod still hasnt been verified

devout otter
#

Is it in .rar?

dreamy cedar
#

I has done a thing. I got Junimos that pop out and play with crib babies. But you can see it's just a bunch of emotes and running around and a few meeps. I'm looking for ideas for the crawler and toddler stage, any ideas? (Note, I have no kinda art skills.)

fathom hound
#

AWWWW

#

I think im done with cp coding finally

uncut viper
#

possibly one of the cutest things ive seen

fathom hound
#

no really its so cute bc kids are always alone all day SDVpufferpleading

dreamy cedar
#

One thing I love from the base game is the high-speed toddling. I'm trying to conceive a way to add on to that. The current toddler logic is just to randomly pick a clear spot in the house and have the toddler run to it. Perhaps I could find a thing that looks like a ball and have the Junimo huck it somewhere and the two race to get to it.

faint ingot
#

Anyone know where I can find this in the unpacked game files? In the event it's "specificTemporarySprite shaneCliffs"

tender bloom
#

cursors, probably?

#

the bottom ~1/3 mark has some weird event sprites

vernal crest
#

Yup just above the word "Max" in cursors

faint ingot
#

thank you

hard fern
#

Sigh it's always cursors

rancid musk
#

-# It's not always cursors. Sometimes it's spring objects...

dreamy cedar
#

Hey I just struck gold in bobbers.png for the ball I was thinking of having the kids kick around.

fathom hound
#

big thanks to tia and button for helping me a lot SDVpufferheart and everyone else in here! <3 good night pufferchicknight

devout otter
#

Somebody who is good at logic please give me assurance. DAY_OF_WEEK Friday, DAY_OF_WEEK Saturday would always be false, and ANY "!DAY_OF_WEEK Friday" "!DAY_OF_WEEK Saturday" would always be true, right?

uncut viper
#

correct

#

GSQ, GSQ (with a comma) is an AND
ANY "GSQ" "GSQ" is an OR

#

Day is Friday AND Saturday
Day is Not Friday OR Not Saturday

coral hearth
#

where are code files for different animals located? like i see the base farm animal within stardewvalley.dll, but i can't find the code for specifically the pig

ocean sailBOT
#

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!

uncut viper
#

Data/FarmAnimals

gentle rose
coral hearth
#

code

devout otter
coral hearth
uncut viper
#

same with the AND

#

the "not something" is always parsed on its own, so e.g. "!DAY_OF_WEEK Saturday" means "not saturday" which, if its monday, is just "true"

calm nebula
#

Don't forget de morgans

uncut viper
#

so itd be "true" OR "true" for example

gentle rose
#

was just gonna say de morgans

but I don't feel like writing it out

calm nebula
#

!a OR !b = !(a and b)

uncut viper
#

de morgans is fine until you start making me write complex proofs to go from one thing to another

#

(those admittedly werent that bad either but man did they take up a lot of space when i needed to show all the steps)

gentle rose
#

and conversely,

!a AND !b = !(a OR b)

calm nebula
#

Boo!

#

Suddenly they return in stardew modding

devout otter
# calm nebula !a OR !b = !(a and b)

Yes! I think this is always my conclusion every time I try to logic this out, but after some time I just need to be assured I'm not remembering wrong and then I go through the process all over again.

gentle rose
uncut viper
#

(what i really hated was anything with ⟷)

gentle rose
#

oh I liked that SDVpuffersquee but that's probably the maths half of my degree talking

devout otter
#

"Condition": "!PLAYER_HAS_MAIL Any ccMovieTheaterJoja, ANY \"!PLAYER_HAS_MAIL Any ccMovieTheater, !{{Clerk|contains=Naufal}}\" \"PLAYER_HAS_MAIL Any ccMovieTheater, ANY \"{{HasMod|contains=FlashShifter.StardewValleyExpandedCP}}\" \"{{HasMod|contains=LemurKat.JulietHouse.NPC}}\", !{{Ticket|contains=Naufal}}\" \"PLAYER_HAS_MAIL Any ccMovieTheater, !{{HasMod|contains=FlashShifter.StardewValleyExpandedCP}}, !{{HasMod|contains=LemurKat.JulietHouse.NPC}}, !{{Ticket|contains=Naufal}}, !{{ConcessionOh|contains=Naufal}}\"", In other news, I have made a monstrosity that would surely confuse myself when I get back to it in the future.

uncut viper
#

on its own is fine, just remembering all the other rules in order to use it..

#

memory not so good

calm nebula
#

Oh god

uncut viper
#

i think you should consider single quotes

gentle rose
uncut viper
#

the if and only if one

devout otter
#

Okay, single quotes is like a'?

uncut viper
#

correct

#

if you use single quotes, then regular quotes dont need a \

#

(but single quotes will then need a )

#

.. a \

gentle rose
calm nebula
#

Oh god

gentle rose
#

who's going to make a content patcher syntax highlighter?

#

dibs not it

faint ingot
#

Can you do a CP map patch only while an event is playing? or better to use changeToTemporaryMap and just load a whole map replacement?

devout otter
#

So like this? "Condition": '!PLAYER_HAS_MAIL Any ccMovieTheaterJoja, ANY "!PLAYER_HAS_MAIL Any ccMovieTheater, !{{Clerk|contains=Naufal}}" "PLAYER_HAS_MAIL Any ccMovieTheater, ANY "{{HasMod|contains=FlashShifter.StardewValleyExpandedCP}}" "{{HasMod|contains=LemurKat.JulietHouse.NPC}}", !{{Ticket|contains=Naufal}}" "PLAYER_HAS_MAIL Any ccMovieTheater, !{{HasMod|contains=FlashShifter.StardewValleyExpandedCP}}, !{{HasMod|contains=LemurKat.JulietHouse.NPC}}, !{{Ticket|contains=Naufal}}, !{{ConcessionOh|contains=Naufal}}"',

uncut viper
#

much pprettier

#

(at least imo)

devout otter
#

The Notepad++ doesn't like this, though. 😔

uncut viper
#

oh wait

#

ok minor correction on my part my apologies

#

the first layer of quotes will no longer need to be escaped

#

but i think bc i didnt notice it means your original would not have worked anyway.... i think

calm nebula
#

Ticket contains naufaul or concession oh lord

#

Tbh this is why in additional special orders I just edited my "Condition" with text operations

uncut viper
#

i actually dont think my brain is capable of parsing this to know if this condition actually even works

devout otter
#

It works! I've tested it!

uncut viper
#

like... as you intend it to?

devout otter
#

Yeah.

calm nebula
#

Sure, it's more verbose. But I can ducking read it

uncut viper
#

with all the logical combinations

uncut viper
#

interesting

#

i was just going to suggest turning some of these hasmod conditions into dynamic tokens

#

but if it works it works

devout otter
#

That would've been my next step if it didn't work.

vernal crest
lucid mulch
#

I was doing experimentation ages ago with a json validator rewrite that was built on Monaco to do real-time feedback.

And from there explore a vscode extension for further integration

fathom minnow
#

Quick question, I'm working on a mod with a custom shop and I wanted to make it so clicking on the vendor would open a dialogue box with a choice of buying something or leaving.
Choosing yes would open the shop menu, and choosing no would just close the dialogue box and nothing else would happen.

Can this be done purely through Content Patcher or is C# required for something like this?

pale marten
#

Can anyone tell me what the reason for, when making a custom object, i need to define both a type and a category? What's the difference/use of either?

winter dust
gentle rose
gentle rose
#

also, opening the shop directly wouldn't require any custom stuff to be set up (I'd imagine it's possible to do via content patcher either way, possibly using BETAS, but it would still be a lot simpler to just open directly)

hallow prism
pale marten
hallow prism
#

it's "only some chosen ones are initiate to the mysteries" (you can read the code or have some clues in docs)

acoustic lintel
#

Hey! Does anyone happen to know where I can find the data for the dialogue immediately after the wedding ceremony? Where they stand outside and say something like “the ceremony was wonderful wasn’t it dear? Well, best get to work.” I wanna change it for my custom npcs mostly because “dear” just doesn’t match their personalities but I can’t seem to find it anywhere in the unpacked content

hallow prism
#

you searched with a "search in all the folder" feature?

wanton pebble
#

Oh man, that's one of those dialogues. That's in the strings from c s files thing isn't it

#

It was in a different section in one point five point six, not sure if its in the same area one point six.

acoustic lintel
#

That’s it!! Thank you so much it was in strings from cs files

wanton pebble
#

I think you can probably use custom fixed dialogue to change it for only your spouse rather than change it for everyone.

#

Never mind

#

I forgot the key is n p c after wedding

acoustic lintel
#

Yeah weirdly I did that first but when I tested it it didn’t work. He just didn’t say anything

wanton pebble
#

I'm used to having to use CFD For those keys

woeful lintel
#

Yo, I'm testing the new Lights system for FF, and I can't help but notice that Abby's window in the Spouse room stays lit up when I use a debug time 2000 command, is this normal?

flat sluice
#

Hi,
sorry if this is the wrong channel to ask for this kind of help.
Today, I got an e-mail from GitHub that my codespace is approaching the end of its retention period, so it will get deleted within a week. They sent me a link, under the "Continue using" text, but that link is not accessible and gives their error 404 screen.
My question is simple yet hard - how to prevent GitHub from deleting my repo?
The link to it is here: https://github.com/DenisSilent/Eleanor
Please note that I am a beginner on GitHub, so expect questions like where some setting is.
Don't hesitate for asking more info!

GitHub

This Github repo is a repo for upcoming NPC Eleanor, which is a mod created by StrojvedouciDenis (a.k.a. DenisSilent or Denis001 (at Discord)) for game Stardew Valley. - DenisSilent/Eleanor

analog notch
#

is there a tool for viewing the context of stardew dialogues? (asking for translations)

flat sluice
analog notch
#

not that (still thanks!)

fossil osprey
analog notch
#

we're translating in raw JSON but sometimes it's confusing because we don't know the context behind a certain string

flat sluice
brittle pasture
#

I dont know what codespaces are, but it seems to be a cloud coding thing

#

your repo will not be deleted

fossil osprey
#

No, GitHub is free, but there is a "pro", paid GitHub licence allowing you more control over your repos, notably having fully private repo
Because I was in school, we had a licence for a free github pro

brittle pasture
#

only whatever VM you're using to code online

flat sluice
flat sluice
ivory plume
#

(GitHub Codespaces is essentially a code editor + IDE in the cloud; it's separate from the Git repo.)

fossil osprey
#

Some quick search is telling me there are scams going around on GitHub where, if you get mentioned anywhere on GitHub, you may automatically receive an email from a real GitHub which is actually phishing
So even if it looks like it's from GitHub, it may be malicious

#

I don't really understand how that work, but be careful when clicking links on mail

flat sluice
flat sluice
#

Question - should I delete the codespace I created like half a hour ago? I never used it and I'm not even planning to.

fossil osprey
#

probably yeah, lets not create internet waste

tawny ore
#

Hi @ivory plume. I noticed Automate's special behaviors for Junimo Chests only handles chests with the SpecialChestType JunimoChest. Would it be possible for Automate to handle other placed chests connected to machines using GlobalInventoryId?

flat sluice
#

So, I guess it is all OK, then, and I can continue with my SV coding. Sorry for potentially overreacting/panicking, but I think it's always better to stay safe and ask someone than wonder about what happened and why.

gentle rose
tender bloom
#

I mean, ChatGPT also isn't fully reliable for non-recent events, but there's much sounder reasons to believe it could be correct in those cases

merry rampart
#

Making a custom starter farmhouse furniture placement for my new map and I wondering if there was tool or something out there that makes this easier, rather than me looking up the item id of each piece and coding it in individually

gentle rose
merry rampart
gentle rose
#

there still might be tbh, I'm far from an authority on this 😅

ivory plume
#

(You can also search item IDs through the SMAPI console window, but probably not much different from using the item IDs site aside from always being up-to-date.)

ivory plume
tawny ore
#

Probably something like, any connected machine groups combines them all into one.

brittle ledge
ivory plume
flat sluice
#

So at least it helped me in some way...

ocean sailBOT
tawny ore
merry rampart
#

i cant remember how the game adds in furniture. is it the top leftmost tile of the placeable part or the topleft most part of the item itself?

ivory plume
unique sigil
unique sigil
#

also - unfortunately there is no easy way to set up custom starter farmhouse furniture, but i do remember furniture framework displaying the coordinates of placed furniture in the SMAPI console (but i think it's not available anymore bc FF is yet to be updated, afaik)

merry rampart
#

Hmmm...

#

Everything shows up fine except the Blue Cushions...

teal bridge
#

Hey Pathos - just wondering if the Data Layers API is something that could still possibly happen I know you'll address PRs in whatever order suits you (as would I), but if it's something you've changed your mind on then that would be good to know so that I can turn my own custom layers into their own mini-mod.

#

(I don't really care that much about the Automate PR since that was for something far-off in the future anyway, but the Data Layers change is one that I actually use for runs, and since the mod is receiving multiple updates, it's getting harder to keep in sync.)

unique sigil
merry rampart
#

dangit. sadly there's no numbered alternative that would work...

#

so im just gonna have to change the layout

blissful panther
ivory plume
# teal bridge Hey Pathos - just wondering if the Data Layers API is something that could still...

Sorry for the long time it's been open! Yep, I still plan to merge that PR (and I'll handle rebasing it to fix the merge conflicts).

Just for context to avoid the impression I've been ignoring your PR: I was focused on Stardew Valley 1.6 development until recently, so I'm still catching up on the big PRs. I only merge one or two of those at a time since I'll often need time for testing, documenting, refactoring, and follow-up updates. That especially applies to public API changes, since that can't easily be changed after it's released (so I'll want to make extra sure it's perfect first).

My high-level short-term task list since I switched back to modding is:

  • [X] clear backlog of Nexus messages (done!);
  • [X] initial updates for all the mods I maintain, including a few big PRs (done!);
  • [X] refactor & update all of CherryChain's mods (done!);
  • [X] rewrite Stardew Aquarium to mostly use Content Patcher (done!);
  • [X] create Central Station (done!);
  • [ ] follow-up updates for Central Station (mostly done);
  • [ ] next set of updates for my own mods, including at least one more big PR (in progress).

I'm not sure if the Data Layers API PR will be next until I review it in detail, but it probably will based on a quick glance through the PR list.

ivory plume
unique sigil
#

oh, nice! thank you!

merry rampart
#

sweet!

calm nebula
blissful panther
#

Petition to replace all of the instructions with dotnet new classlib --framework "net6.0" -o "MyStardewMod" /j

ivory plume
#

All you need is dotnet and nano anyway.

blissful panther
#

Technically not even ModBuildConfig!

#

Oh, wait, Pathos, hi! SDVkrobusgiggle

rancid musk
#

Who needs nano when you can ```bash
cat > ModEntry.cs << EOM
using StardewModdingAPI;

public class ModEntry : Mod {
public override void Entry(IModHelper helper) {
Monitor.Log("Hello world.", level: LogLevel.Info);
}
}
EOM```

blissful panther
#

Seeing Khloe typing makes me think of how I've wanted to include the manifest builder for the longest time in these instructions. SDVpufferwaaah

rancid musk
#

I, for one, think that would be a good addition to the instructions, but I am admittedly biased.

ivory plume
#

(I've thought about supporting tokens like $MSBuild:Version$ in manifests automatically, but at this point I don't want to just invalidate the purpose of the manifest builder package.)

calm nebula
#

Not as A Step. But like an optional

#

It's sooo good

blissful panther
#

Okay, Rider instructions are in.

#

I also didn't remove MonoDevelop, because apparently it does sort of support .NET 6?

rigid oriole
#

I should switch to rider...

gentle rose
#

it might technically support it, but I second the sentiment from earlier that we shouldn’t be recommending it to anyone

#

if someone is already on it then they don’t need the recommendation, and if they aren’t, then they should be using, well, anything else

teal bridge
calm nebula
#

Tbh I will not be checking

teal bridge
rancid musk
#

I miss the "Let's put all stardew mod code in a single repository" repository so I could spy on people and see how many are using manifest builder, lol

late dust
#

Good evening!
I have a question, if I want to put two decorative fish in my greenhouse with the pond I can't put them in that pond because it is an indoor?

tawny ore
blissful panther
#

I was just doing the same! SDVkrobusgiggle

late dust
#

Please, does anyone know if you can put fish on typical indoor maps?

blissful panther
#

@rancid musk

From the big ol' monthly mod dump...

Found:            423 items (300.72 KB)
Text:             423 hits
Searched:         1,250,481 items (80.76 GB)
Pending search:   0 items (0.00 KB)
Checked:          1,651,577 items (80.76 GB)

Problem quite a few of those are sort of... false hits, because the mod dump includes files other than the main release file on Nexus, so some are duplicated.

With... I think most of the duplicates removed, 134 mods!

acoustic summit
lucid iron
#

Sorry if i missed prior convo

tawny ore
#

@late dust when you say decorative fish, does that mean you want them to visually appear in the water source? Because that's something which is added by Visible Fish, but not vanilla behavior.

#

Or do you mean a Pond like the buildable ones

blissful panther
late dust
lucid iron
#

I was under impression that everyone with more than 3 c# mod used it

#

It's in my dotnet template monS

tawny ore
late dust
rancid musk
#

Hmm. Today might be a good day to dive back into the code generator project.

tawny ore
late dust
tawny ore
#

I do understand, you're describing behavior that the vanilla game doesn't support anywhere. You don't normally see fish in water in the vanilla game.

acoustic summit
acoustic summit
#

Just to clarify in general: You aren't able to catch fish there at all, right?

#

And thats what you want to fix

acoustic summit
#

Did you add the fish to Data/Objects and Data/Fish?

tawny ore
#

Oh I see now, when you say decorative, you didn't mean as a decoration/visual, but non-decorative as in catchable.

lucid iron
#

Do you have treat as outdoors

late dust
# acoustic summit Did you add the fish to Data/Objects and Data/Fish?

{
"Format": "2.4.0",
"Changes": [
{
"Action": "Load",
"Target": "Maps/Greenhouse",
"FromFile": "assets/Serra2.tmx"
},
{
"Action": "EditData",
"Target": "Data/Locations",
"TargetField": [ "Greenhouse", "FishAreas" ],
"Entries": {
"GreenhousePond_Tigertrout": {
"Chance": 1.0,
"Season": null,
"Id": "(O)699",
"ItemId": "(O)699",
},
"GreenhousePond_Bluediscus": {
"Chance": 1.0,
"Season": null,
"Id": "(O)838",
"ItemId": "(O)838",
}
}
}
]
}

lucid iron
#

I forget if that was required

tawny ore
#

Is Decorative a term that means something different in the map data fields?

acoustic summit
#

You want to target "Fish" not "FishAreas", I think. Fish areas is used if you want different fish in different areas of one location

lucid iron
#

I think u need at least one fisharea right

#

If u want to let ppl crab pot

acoustic summit
#

I'm not really sure, I think it defaults so it isnt needed

lucid iron
#

But yes see my example Dokkan

acoustic summit
late dust
dusk mulch
#

I can’t find the mod idea depo in the pins, can someone give me the link?

gentle rose
#

I don’t know if it’s actually in the pins

dusk mulch
#

ty!

ivory plume
#

(It's the third link in the main pinned message.)

fathom hound
#

I have another silly mod idea in mind SDVkrobusnaughty

dusk mulch
blissful panther
#

(Pins are even worse to find in threads on mobile!)

gentle rose
#

mobile discord just sucks all around

blissful panther
#

And the desktop refresh is coming.

tribal ore
#

Is there any way to make a conversation topic response have higher priority than some of the marriage dialogue? Specifically the normal "Rainy_Day_xx" dialogue lines

#

I thought they automatically would because they are more specific, but the Rainy_Day stuff went first and I didn't see the conversation topic response until that evening

hallow prism
#

hmm, usually CT do indeed have higher priority

#

but marriage dialogues must have some special behaviour

#

if it was just one key i would suggest editing the key based on the CT being active

tribal ore
#

Maybe it's because it was a CT_memory_oneday thing?

hallow prism
#

no i bet more on marriage having different way to be added since it varies based on time of day

tribal ore
#

Alright, I can go ahead and make a different set of Indoor or Rainy stuff based on the CT being active I guess. I was really trying to get a line to show up after the first wedding night, so _oneday seemed perfect

#

Doesn't have the same impact if said in the evening xD

uncut viper
#

marriage dialogue is checked first right before CTs

hallow prism
#

note that oneday will last 4 days

uncut viper
#

afaik

hallow prism
#

(just in case this matters)

tribal ore
tribal ore
#

Alright, will rework with new knowledge. Thanks guys!

faint ingot
#

What are these Shane lines from? "event_room1": "Okay... that'll require a great script. Maybe I'll ask Elliott for advice next time I see him at the saloon.$s", "event_room2": "Sounds great. I'll have to create a bunch of practical effects to make it look cool.",

#

Don't recognize the lines and I'm writing an event that may have something to do with this, maybe?

brittle pasture
#

probably cut content

blissful panther
#

Maybe it's an unused precursor for the commercial event?

latent mauve
#

Yeah, it feels like it was meant to either be for the commercial or for some other event (a TV debut for Charlie or the blue chickens would be a funny event using those actually)

#

A bit of a tangent, but I am SHOCKED that Shane has access to Blue chickens and didn't use them for the Joja Bluu commercial

faint ingot
#

I think the chickens come after which makes me wonder... I mean Clint turned blue after drinking the soda... and now suddenly his chickens are turning blue? suspicious.

wanton pebble
#

Is Shane going to be locked up for crimes against chickenkind now

faint ingot
#

Nope, Shane is just helping with some plot development : )

next quarry
#

Love the idea of shane getting involved

hallow prism
#

does someone know if the author of alex - stay hydrated is on discord?

lucid iron
#

Yeah confetti.trees

wispy gale
#

hiiii @hallow prism ! odd timing, i was about to tap in for some help on updating the mod lol

hallow prism
#

can i dm you about a compat thing?

wispy gale
#

been MIA since getting back to work and finally have some time! what's up? i'm currently working on adding $q and $r dialogue so folx can opt in/out in conversation. current circular conundrum is that 1) i want Alex to ALWAYS ask a question at the start of each season, using "#$q -1 null #<question>", but also 2) i only want the mod dialogue to run if players respond YES to his question ... so does that mean the response ID should be saved or should not be saved??

#

sure!

final arch
#

save it and delete it on the last day with a trigger action?

wispy gale
#

okie so last day meaning...last day of the season?

final arch
#

yeah

reef kiln
#

Hello, I am trying to make 2 mod compatible with each other. I am getting this message in SMAPI
17:47:23 WARN Content Patcher Can't apply data patch "(CP) Roosters! > Include data/machines.json > EditData Data/Machines #2 > entry #1" to Data/Machines: failed converting entry to the expected type 'StardewValley.GameData.Machines.MachineData': Error converting value "ItemPlacedInMachine1" to type 'StardewValley.GameData.Machines.MachineOutputTrigger'. Path 'OutputRules[6].Triggers[0].Trigger'..

This is the JSON. What do I have wrong?

uncut viper
#

ItemPlacedInMachine1 isnt a trigger type

#

on line 238

reef kiln
#

didn't even noticed i did that.

uncut viper
#

the error pointed it out

reef kiln
#

I thought it was saying the item I was trying to place was wrong. I need to read more carefully.

faint ingot
#

oh maybe it's not my code but the fact that i'm resizing the window after the event starts... edit: confirmed, pay no attention to the man behind the curtain

wispy gale
hallow prism
#

i don't have exact similar example. I know cornucopia use trigger actions to set some flags based on config

tribal ore
#

Another question about Marriage Dialogue, if @Button is around. The wiki states: "Daily dialogue added when the day starts, based on the <weather> (Rainy if it's raining, else Indoor even if they're not indoors) and <random> (a random number between 0 and 4). If the game chooses a <random> value that doesn't have a dialogue, it'll use the default text instead."

What is the "default text"? Is it the entry labeled "Indoor_Day_<Spouse>" for example?

calm nebula
wispy gale
#

Ooo by MizuJakkaru on nexus? and any of them, flowers, crops, etc?

tribal ore
#

I'm trying to figure out which things specifically I need to overwrite to get a one-time single line of dialogue to happen

wispy gale
lucid iron
#

I guess you can do it like $action AddMail flag now on the Yes option

#

Not sure how to check this tho, does When work here

tribal ore
#

I'm doing something similar to give career-flavored dialogue for Sebastian

    "Action": "EditData",
    "Target": "Characters/Dialogue/MarriageDialogueSebastian",
    "When": {
        "HasFlag": "{{ModId}}_Flag_CareerSchool",
        "HasSeenEvent": "{{ModId}}_Event_11h",
        "HasConversationTopic": "{{ModId}}_Timer_Career",
    },
  "Entries":{}
}```
#

And then I just overwrite all of the "Indoor_" entries

wispy gale
#

oh for my mod? i'm trying to have the dialogue mod run if the player answers yes to Alex's question, he'll ask if you want reminders to drink water at the start of each season LOL

#

you seem way further along

tribal ore
#

Yeah, if you can set a flag during the dialogue you should be able to check it later

#

If not, you'll have to set it with a trigger action somehow. Is Alex's question happening during an event?

wispy gale
#

so it's not just 1 line of dialogue -- Ooo ok, i haven't used flags or trigger actions yet, but i have played around with Marriage Dialogue edits

#

Nah it's not triggered by an event, just a dialogue key like spring_2 or Mon2 if the player has the mod enabled

tribal ore
#

Hmmmm

#

$action AddMail Current {{ModId}}_FlagToCheck Received

wispy gale
#

i've created a mod config, so players could just toggle the mod on or off if they don't want to use it during a specific season...but i did wanna make it more interactive

tribal ore
#

If you put that in your dialogue, I bet it would work. Then you just use the "When" condition for CP to change Alex's dialogue later

#

Right now, I'm trying to do something similar, but I don't know which entries I have to overwrite for sure to make sure that the line gets used.

wispy gale
#

i'm guessing the $action AddMail can be used,not just in relation to mail/letters? thanks for the help btw! currently ~ digesting ~ lol

wispy gale
lucid iron
#

Mail = Flag

wispy gale
#

ohwuhhhh LOL

lucid iron
#

Just need to make sure u don't send real letter

tribal ore
lucid iron
#

I forgor the args exactly pls double check wiki

tribal ore
#

That's why my example used "Received" instead of "Now"

#

"Received" says: set the flag. Don't bother with the mailbox, the player has already "seen" this

#

Then you can unset the flag later if you need to

tribal ore
#

I have all of that figured out (I think), but I still need to make sure the right entries get overwritten

#

And wasn't sure if I needed to kill "Indoor_Day 0-9" or if I can just overwrite "Indoor_Day Sebastian"

#

I'm going to try to overwrite the generic MarriageDialogue file and see if that's the "default" that it will fall back on

wispy gale
#

Hmm i think i saw a specific dialogue key for AfterMarriage, but i think it's for talking to NPC Day of...sorry not super helpful

tribal ore
#

Yeah 😛 It's ok. I tried using a conversation topic, but those lines get used AFTER all the stuff in MarriageDialogue, so the line shows up in the evening

#

I'll just overwrite everything to be safe xD And then put it back the next day

wispy gale
#

yah that's what i would do, esp if i knew how to put it back next day lul. still very much n00b here 😅

tribal ore
#

g2g, but feel free to ping me if you think I can help more. I'll respond if someone else hasn't by then!

wispy gale
#

okie, appreciate it and good luck!

unreal robin
#

hi! i'm stella, i don't speak english hehe, i'm making a june expansion mod, with a cafe in pelican town, but i'm having problems with opening the door hehe. if someone could help me i would be very grateful.

latent mauve
tribal ore
#

Another question! Is there a way to specify a random chance in CP's "When" field? As in, 60% of the time, this set of patches will get loaded in?

uncut viper
#
"When": {
  "Random: {{Range: 1, 10}}": "6, 7, 8, 9, 10"
}

something to that effect i think

tribal ore
#

NICE. Thanks, Button!

calm nebula
#

Technically speaking button that is 50%

uncut viper
#

im only like 80% confident in that ftr

latent mauve
#

To be more specific about my question for stellar, whenever they pop back in: Is this a door with an intended open/close animation, or a door you interact with to teleport to the inside of a building?

uncut viper
#

yeah see

#

i didnt pay too close atention to the percentages with the min and max exclusive/inclusive yada yada

calm nebula
#
"When": {
  "Random: a,a,a,b,b": "a"
}
uncut viper
#

i would say that is "something to that effect" therefore i am absolved of all incorrectness

#

no further questions

tribal ore
uncut viper
#

technically its all a string. dont put objects in there tho

unreal robin
#

is teleport to the inside, the building is outdoor

lunar juniper
#

Does anyone have a method or mod that lets you change the name of a mod added npc? I really like this character but they share names with someone I know irl and it's a little awkward

tribal ore
uncut viper
#

if you want you can just go in the mods files and change their DisplayName

#

it would be super easy to just make your own CP mod to change their display name but if its entirely for personal use just going in their files and tweaking it is probably just easier

devout otter
#

Though would be a bit trickier if the mod also mention their name a lot in the dialogues.

lunar juniper
#

Is it really as easy as that? I was expecting something worse

uncut viper
#

(do NOT change anything BUT the DisplayName though. keep their name the same everywhere else. only the DisplayName is shown in game)

#

somewhere in their files is a json file that has something doing something to Data/Characters

#

as Dolphin says it wont catch mentions in dialogue but nothing will short of a C# mod

devout otter
#

If the mod has i18n files, the simplest way is open default.json and change every line that mention their name there.

tribal ore
#

I mean... you could just search and replace in the files

uncut viper
#

unless you didnt mind doing more Ctrl F searches

tribal ore
#

If you are on MacOs or Linux, I could give you a command that would do this through the terminal

devout otter
uncut viper
#

it isnt always as simple as Ctrl F though anyway bc sometimes people use tokens for names

#

and the token name may not be the name of the NPC to find it

tribal ore
uncut viper
#

but changing the DisplayName field in the CharacterData will at the very least consistently change the name in most places

lunar juniper
#

Would it help if I mentioned it's an npc from the SDV expanded mod?

scarlet ether
uncut viper
#

no the process is the same no matter what mod its from

lunar juniper
#

Ok got it

uncut viper
#

it does become more important to emphasize, JUST the DisplayName.

devout otter
uncut viper
#

since in SVE the internal name and the display name are the same

ocean sailBOT
#

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:

  1. Open this page: smapi.io/log.
  2. Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
  3. 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.

lucid iron
#

why r u destroying cursors as we know it

dusk mulch
#

Will sprinklers render if they are on the front layer, or will they only render on the buildings layer?

uncut viper
#

that looks like its just replacing the water texture

#

doesnt seem very destructive unless the coords are wrong

lucid iron
#

wow til water is cursors

uncut viper
#

also im pretty sure you wanna reverse the order of your dynamic tokens

lucid iron
#

i had assumed it was a sensible place like Maps

uncut viper
#

its just always becoming false as is

devout otter
tender bloom
#

why would water be in a sensible place 😆

tribal ore
devout otter
#

If you just want to change the name under their dialogue box portrait and menu, then changing their DisplayName is enough.

tribal ore
#

That's just logic

tender bloom
#

water is not just in cursors, it's hardcoded beyond that

#

the tint of red water is C# p sure

#

and green water?

wispy gale
#

did i apply this correctly? SDVpuffercactus i assumed {{ModId}}_FlagToCheck meant I can create custom flag names, so i did it for each season

uncut viper
#

yeah that works fine

wispy gale
#

yeeee! thanks guize

uncut viper
#

fix the dialogue tho ur missing a #

tribal ore
uncut viper
#

before the action

tribal ore
#

{{ModId}} is a dynamic token that CP will replace with your mod's name everywhere

lucid iron
#

mod id isnt a dynamic token its just a normal one

#

but yep that is what it do

uncut viper
#

(regular token. not trying to be pedantic, but dont wanna confuse with actual DynamicTokens)

tribal ore
#

!

#

Thanks 🙂

#

Ummmm. So I just wrote 300+ unique lines of marriage dialogue and I am becoming increasingly scared to i18nify this thing at the end xD

#

Wish me luck!

uncut viper
#

the quicker you start i18ning the less work it is later

devout otter
#

This is why I directly write my lines in the i18n file from the start.

tribal ore
#

I was afraid that I wouldn't be able to understand the context if I moved them out of the file 😦

#

But yeah, I guess

lucid iron
wispy gale
#

i kind just put // context for everything as like side notes

dusk mulch
wispy gale
#

and thanks for clarifying everyone!

uncut viper
#

you dont place sprinklers in tiled

lucid iron
#

they are not map tiles

dusk mulch
uncut viper
#

they are objects

#

then theyre not sprinklers. they wont do asnything

#

they are just a texture

dusk mulch
#

i know

#

thats what i want them as

uncut viper
#

they will behave the same way any other map tile does

lucid iron
#

you need to spawn them with some framework (spacecore/ftm) if you want them to work

devout otter
uncut viper
#

them being sprinklers is irrelevant

dusk mulch
#

Okay, thank you.

uncut viper
#

tiled does not know or care if a tile is a picture of a sprinkler or a picture of water texture or a picture of 100% transparency

dusk mulch
#

all it cares about is that the tile gets on the map

#

(sometimes)

lunar juniper
devout otter
#

If you change the i18n, you won't need to change the DisplayName.

#

And don't change the NPC file names.

#

(And don't change the line keys in the i18n file.)

lunar juniper
#

The only thing I did was replace all instances of the character name and the display name

scarlet ether
#

Well, thanks for the input. Turned out the priority needed to be set later. Now, another question: how would I go about setting up a DynamicToken for a map property? Is it possible in the first place? I'd like to apply my water patch only to pond/lake water and am unsure if I'd need to write a C# mod for it. :/

devout otter
#

Like if you encounter a line like this "Config.OlderSophiaPortraits.name": "Older Sophia Portraits", Just change the name on the right side. Don't touch the left side. So like this. "Config.OlderSophiaPortraits.name": "Older Stephen Portraits",

tiny zealot
devout otter
lunar juniper
#

I used ctrl+h replace all...

devout otter
#

Oh that's ruined.

lunar juniper
#

Yeah XD

wispy gale
tiny zealot
#

this has me considering making a derivative of the j club that lets you just decide what characters' names should be SDVpufferthinkblob

uncut viper
#

the "however you want it" club

#

subway mod

uncut viper
wispy gale
#

hmm kay that's what it seemed like...what would you suggest if i didn't use a trigger action, is there another way to make the question repeatable? or that's the only way

rigid musk
#

does anyone have any examples of using the question fork command in an event?

devout otter
#

(There actually is no upcoming Everyone Is Clint Expanded` mod.)

lucid iron
#

ichor will u support regex

#

let me sed everyone's name pls

latent mauve
lunar juniper
#

So to confirm cause I know nothing about coding. I should only be replacing instances of a name on the right side of a colon, right?

latent mauve
#

Example on a vanilla map for @unreal robin :

hard fern
latent mauve
#

Stellar: If you've done that and it still isn't working, you may need to set your Location properly in Data/Locations first. 🙂

tiny zealot
reef kiln
#

What is J club? The only J club I know of is the J novel club, but that's does not seem like it.

versed wyvern
#

This is probably a rather niche question but would anyone be able to confirm that if you marry Sebastian and talk to him while he's at his spouse patio working on his bike, he's just using his default portrait instead of the one where he's lying on his rolling car mechanic thing?

devout otter
reef kiln
#

Oh, I saw that mod. Missed the name. Only remember it by the description.

versed wyvern
#

This is your future under Joja

wispy gale
versed wyvern
#

Yeah, I saw that but asked on the very slim chance there was something else in the code for it or something rubyslime

calm nebula
#

(thank you, DecidedlyHuman, for updating the rider instructions!)

wispy gale
#

lul yah he's one of my spouses in a save and i think i'd remember if that pic kept popping up too xP now i'm more annoyed that he just single-eye side-eyes the farmer before going back to work SDVpufferseb

lunar juniper
lucid iron
#

what if u just use J club

#

she can be Jophia

#

or Jouncher

lunar juniper
#

Oh I fixed it!

#

I reverted her display name in her npc config

tiny zealot
#

i didn't test SVE with j club's boncher mode so i'd have to check what her name would actually become

wispy gale
lucid iron
#

thats a whole other thing though

#

arent u just using mail flag not actual mail

wispy gale
#

...............yeahhhhhh lol. dang

uncut viper
#

also theres no reason to be looking at MFM at all

lucid iron
#

yea

tiny zealot
#

i think digus is adding features to it, but until those are released it has almost no uses over vanilla

versed wyvern
wispy gale
#

i got confused between using mail flags and literal mail xD i was doing Find in File "trigger" in my Mods folder to see how others are using trigger actions...chaos is how i learnSDVpufferchickcry

lucid iron
#
{
  "LogName": "Alex asking me things",
  "Action": "EditData",
  "Target": "Data/TriggerActions",
  "Entries": {
    "{{ModId}}_AlexPlsAskMeThings": {
      "Id": "{{ModId}}_AlexPlsAskMeThings",
      "Condition": "DAY_OF_MONTH 28",
      "Trigger": "DayEnding",
      "Action": "RemoveMail Current {{ModId}}_AlexDontAskMeThings now",
      "MarkActionApplied": false
    }
  }
}
#

something like this?

tiny zealot
lucid iron
#

this action is basically, on the end of the day of the 28th, yeet this particular mail

#

idk if u need the now actually

wispy gale
#

OHHHHHKAY, so i could do Day of Month for condition, theoretically (and hopefully in practice)!

#

i was only seeing DayEnding as a trigger and trying to find something in the wiki explicitly saying it could be on a specific date

lucid iron
#

GSQ AquaThumbsup

wispy gale
#

okieee thank uuu, i'll try that! also been reading in circles for a few hours, so the thingz are scrambled, time for break SDViconskaterboi

mystic skiff
lucid iron
#

in this case thou they dont want a real mail, just mail flag

mystic skiff
brittle ledge
dusk mulch
#

ARE YOU KIDDING ME

#

I HAD A TILEDATA OBJECT OFF BY 1 PIXEL SO IT WOULDNT WORK

ivory plume
unkempt beacon
#

Can someone help me with getting started on recolouring already existing content packs? For example, I’m trying to record the roof on Italian country side buildings to be more brown, but I don’t know how to do that without also discoloring the leaves ( I’ve been using the airbrush bc idk how to do this lol )

#

Do I just need to go in and do it pixel by pixel?

vernal crest
#

Use the magic wand to select all pixels of one colour and then the paint bucket tool to recolour them all in one go.

#

Another thing you can also do if you just want all the roof to be more brown is use the select tool to only select the roof (you'd probably have to manually add more pixels in to the selection around the leaves or remove pixels from the selection if you get any leaf inside the selection) and then apply a hue/saturation or other colour adjustment to just the selection area. I'd personally probably copy and paste the roof onto another layer first so I could fiddle with the adjustment without worrying about losing the selection.

vernal crest
#

I've never used it but yes I expect so. Anything except the most basic art program can.

signal delta
#

hello everyone! i've got one question about translating a mod from eng to rus. First of all, its quite routine and monotonous action, and i decided to use external programs to help me with translation. So my question is "Is "scripts" or whatever it is which goes for instance like "kid1_Events_01" is case sensetive or not? I've already translated half of this mod and wanted to know should i fix it or is it okay due to mod eventually will find translated part of the modded event even with some case mistakes?"
Thanks in advance for help!

ivory plume
#

You'll need to be careful to only edit display text in the event script, not commands. For example, in /speak Abigail "Hi!" only the Hi! part should be translated. (See the event docs on the wiki.)

signal delta
#

"kid1_intro1_penny":"Seems like %kid1 is sproutin' up real fast. I reckon it's time I prepare some new homework for %kid1.",
like here i know i shouldn't translate "%kid1" and "kid1_intro1_penny", but my question is "In the modding is calling those "scripts" are strictly case sensitive or not?
can i write "kid1_intro1_penny" like for instance "Kid1_Intro1_Penny" or it will cause some error? (Sorry, i am simply new in these type of things and quite lazy 🥲)

hard fern
#

I think you should keep them as is to be safe

ivory plume
#

I recommend keeping the original capitalization for keys to avoid issues (e.g. if the mod is replacing an event, changing the capitalization would add a new entry with that capitalization instead of replacing the original one).

dusk crest
#

Ok, I'm super new at modding anything for real. But is there any mod that makes something (animals etc) follow NPCs around?

devout otter
acoustic summit
#

Can you give NPCs trinkets?

devout otter
#

Like as a gift? I'm fairly sure you can.

acoustic summit
#

I also think Pet Enchaned is for the player, too

acoustic summit
devout otter
#

Oh wait, I misread the question, sorry...

#

Yar, there is none that I know of that could make things follow NPCs around.

dusk crest
#

That's ok :3 I can at least try to get a feel for what the programming looks like for trinkets, so that will help.

dusk crest
rancid musk
#

Had people asking about Better Crafting for Android again. I wish I could just run the android build on PC... or if not the exact android build, then access the android UI stuff so I can design something similar.

teal bridge
#

The Android emulator ecosystem is... decent. Some might be able to run Stardew.

brittle ledge
tribal ore
#

Ok guys, an i18n question: does absolutely everything go in the same file when I'm done, or is it customary to split i18n lines between events/dialogue/etc ?

#

The example mod I have sticks it all into one big file

#

!i18n

ocean sailBOT
#
Creating Translation Capability

So you'd like to stop writing all of \"your strings straight in your content.json?\" and/or you'd like the capability to see all of your strings across all of your .jsons?
Introducing i18n!

  • How to make your mod compatible with other languages: stardewmodding.wiki.gg

  • The file where you can put all of your strings is called default.json, and it sits in a folder at the same level of your assets, named "i18n".

  • If you're converting from an older version of the game, there's a converter for ease-of-access.

Not to be confused with {{DynamicTokens}} since these require the specific {{i18n:<KEY>}} modifier

uncut viper
#

being able to split your i18n into multiple files in a folder was only addedin SMAPI in october

#

so it has not been customary for years bc it was not allowed

dusk crest
tribal ore
uncut viper
#

its entirely subjective bc it changes absolutely nothing functionally

lucid iron
#

say there's stuff for building upgrade to move stuff around right

teal bridge
#

It's still not customary or best practice, it's for mods with thousands of translation lines that really need to organize it that way.

tribal ore
brittle ledge
#

Ridgeside is over 30,000 SDVpuffersquee

tribal ore
#

Wow!

lucid iron
#

i have a (mild) string assets agenda, in that u should load ur stuff to actual asset and use translation keys wherever its supported

ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Enterprise, with 19 C# mods and 3 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

brittle ledge
#

But yeah, for 1000 you're fine with one file. Jorts and Jean are around 1200 I think?

lucid iron
#

unfortunately i dont actually make dialogue mods and thus i cant push my agenda Dokkan

tribal ore
#

If it gets overwhelming, i'll split

lucid iron
#

i will try anyways
if u do this

{
  "Action": "Load",
  "Target": "{{ModId}}/i18n",
  "FromFile": "i18n/default.json"
},
{
  "Action": "Load",
  "Target": "{{ModId}}/i18n",
  "TargetLocale": "zh-CN",
  "FromFile": "i18n/zh.json",
}

u can then do [LocalizedText {{ModId}}/i18n:Opossum.DisplayName] or just {{ModId}}/i18n:Opossum.DisplayName in events

#

if u choose to do this then whether u split up i18n matters a lil

tribal ore
lucid iron
#

yea

#

the advantages r not that much really

#

but u can switch lang in middle of game

tribal ore
#

Alright, I know that you do translations so your words carry some weight

lucid iron
#

i translate maybe 10 lines

#

for my c# mods

tribal ore
#

You offered to translate for Pathos recently. So i just assumed you did it more frequently

lucid iron
#

i do translate random stuff in pathos repo yea

#

when i PR his C# mods monS

acoustic summit
#

There are people on nexus with like a hundred translation mods including dialogue mods, how they have that time and why they donate it is beyond me

teal bridge
#

Some of them are translations of 2 lines.

dusk mulch
#

It was fine before I added a 4th warp

lucid iron
#

MTL got pretty decent honestly

#

enough that doing mtl and then a human pass is alright/10

#

instead of making more work 4 urself

brittle ledge
#

A lot of them are machine translation too. There are still some folks doing good translations though kyuuchan_nod2

teal bridge
#

This is also why I don't accept translations as PRs. I can't tell the difference between a human translation, a human-edited machine translation, and a straight up machine translation.

acoustic summit
#

When people give me translations I do a quick untranslation to see if the vibe was about right. After that my thought is its better to *have a translation that hopefully is good but maybe bad than no translation at all. If players of that language feel it is bad I trust they'd let me know.

teal bridge
#

Yeah, but if they did let you know, what would you do about it?

acoustic summit
#

Remove the translation

teal bridge
#

I guess so. Seems like a lot of overhead when they could just put the translation up as a translation on Nexus.

acoustic summit
#

Yeah thats preferred, but I get if they don't want to

lucid iron
#

i think its also about the scale right

#

if it is like 10 lines ill take anything

#

if its 50 with some minor creative writing going on i prob will ask them to post on other page

devout otter
# lucid iron MTL got pretty decent honestly

I've had a French translation that translated "smoking pipe" (as in, a pipe for smoking) as "tuyau qui fume" (as in, a tube that emits smoke) and I have no idea how that happened because I'm pretty certain MTL isn't that bad.

calm nebula
rigid musk
dusk mulch
dusk mulch
rigid musk
#

The wiki doesnt help me with it and i dont know any events that actually use it off the top of my head :(

#

im pretty sure its the way I get an event to have different endings based on how the question is answered

#

(normally I would just use a quick question like the lazy person i am to avoid learning a new thing but the specific way I want the event to go would require two different endings for it to make sense... unless I wanted to scrap the end response and try something else)

dusk mulch
#

Can you send the wiki page for it?

#

I want to look over it

rigid musk
#

I personally dont understand how to do it

dusk mulch
#

oh is this C#?

rigid musk
#

just content patcher

#

If you see me suddenly working with C# run because that aint me

#

now if you see me asking a billion questions about C# in the future... that is me because I DO plan on learning it

dusk mulch
#

but yeah i dont understand the question fork either, srry

dusk mulch
brittle pasture
rigid musk
royal stump
#

the first one I found was Data/Events/Beach, with the key "20/f Alex 500/z winter/p Alex/w sunny"
which looks like this:

.../question fork1 \"#I believe in you!#Wow, you're really arrogant.\"/fork arrogantJosh/faceDirection Alex 1/pause 500/speak Alex \"Thanks, @. I'll remember that.\"/move Alex 1 0 1/pause 500/end dialogue Alex \"Hey, that was fun, huh?\"",

  "arrogantJosh": "pause 500/faceDirection Alex 3/emote Alex 12/faceDirection Alex 2/speak Alex \"Hmmph... I think someone's a little jealous.$a\"/move Alex 0 -15 0 true/speak Alex \"I'm out of here.$a\"/faceDirection farmer 0/end dialogue Alex \"...$a\"",

so basically, that says question fork1 \"alex's text here#player's fork 0 choice#player's fork 1 choice\", and if the player chooses the second fork, it sets a special variable
then when fork <other event ID> happens, if that special variable was set, it stops the current event and goes to the fork event's instructions

rigid musk
#

Thank you Esca! it really helps to have an actual example lol

#

Sometimes code formatting gets all mixed up and jumbled in my brain and i dont understand it when its just the variables on the wiki

brittle ledge
rigid musk
vernal crest
# rigid musk I... dont actually know how to do that

To search the files in future you can use n++ or VSC or sublime to do a "find in files" search. That lets you search for a word or phrase in every file in a folder or group of folders without having to open each file individually.

brittle ledge
rigid musk
#

i guess im not really sure how id do that? (which is why i was looking at the question fork instead)
How i see the two is that quick question is like a thread that you split up in the middle but it still connects at both ends, where question fork is starting with the same thread but splitting it from the middle onwards

#

like this (drawn with my mouse in microsoft paint)

vernal crest
#

He also has a bit of info about question forks but he recommends not using them lol

#

I'm not speaking from my own experience but I'm pretty sure the experienced event makers do use quickQuestion to make diverging paths like in your second drawing.

rigid musk
#

Tia just showed me an example of it with the /end command being the only shared command, however I also have different dialogues i want them to have at the end

#

(i dont know why i didnt think of the end command thing though, that would be good going forward)

tawdry tinsel
#

Does anyone know where the sprites that are used in the fishing game are located? I've looked through Stardew Valley\Content entirely twice now and I can't seem to find it. Honestly just the sprite for the fishing pole is needed and I can recreate everything else myself. Sorry for the newbie question, I didn't expect to not be able to find it.

rigid musk
#

cursors

#

probably

vernal crest
#

Cursors

rigid musk
#

Wheeze

gentle rose
rigid musk
#

well lookie ther

tawdry tinsel
#

yeah i think i could marry you all

gentle rose
#

we all know that cursed spritesheet too well

tawdry tinsel
#

thank you guys

#

i can tell three people said the same thing at once 😭

gentle rose
#

when in doubt, check that one

tawdry tinsel
#

got it, appreciate you

gentle rose
#

if it isn't there it's in springobjects KEK

rigid musk
#

it's a very .. cursed sprite sheet

tawdry tinsel
#

yeah i can tell why i never found it

#

things ginormous

gentle rose
#

ginormous and creatively organised

tawdry tinsel
#

very much so

unique sigil
rigid musk
#

some of these icons i have no clue what they're for or why.... or why theyre even ON here in the first place

#

cursed cursed cursed i hate looking at it every time i do

fathom hound
tawdry tinsel
#

yeah idk when searching i found the chinese tencent texture with the qr code

#

average china god bless

gentle rose
rigid musk
#

hhhhhhhhhhhhhh i know i saw some weird stuff on there

#

this game has some weird files in it

#

some are fun to discover, like the purple dog and cat that exist but arent ever used

gentle rose
#

several names are just gibberish

rigid musk
#

:] that i took and am using in MY mod

gentle rose
#

like the bigfoot

hard fern
#

my favorite texture is NEW

rigid musk
#

oh my god yeah i saw the bigfoot filename while looking for something the other day

#

and I just...

#

why

gentle rose
#

it's not the only thing named like that SBVLmaoDog

#

open cjb item spawner and type asdf

#

also there's an old map property too

rigid musk
#

As someone who is a bit neurotic about file organization and naming I would die

#

(I couldnt figure out how to draw things from sub folders so my maps and sprites are all in the same assets folder and THAT annoys me so i would cease)

#

(i think i know how to do that now by the way, but it is far too late to change it, i aint doin allat)

hard fern
ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Enterprise, with 19 C# mods and 3 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

hard fern
#

your map is having issues? might be some kind of name mismatch

dusk mulch
#

damn nabit

#

ty

#

i will look over it

hard fern
#

ur json might help

#

diagnose the issue tho

vernal crest
rigid musk
dusk mulch
rigid musk
#

like... everything

#

sideeye everything

vernal crest
#

That means that nobody - including you - can edit any custom tilesheet you use in your maps just fyi

rigid musk
#

wdym

#

do you mean like... tilesheet patches

vernal crest
#

Like if someone made a recolour compat mod for your mod it would not work.

#

Yes

#

Because your maps will always be pulling the tilesheets directly from your mod folder and not from the game

rigid musk
#

GruHolUp well i dont know how to change that

unique sigil
rigid musk
#

not for my own tilesheets anyways

vernal crest
#

Put them in a different folder

rigid musk
#

wheeze

#

it is yes

unique sigil
#

you shouldnt do that

vernal crest
#

Load them into the game

rigid musk
#

I mean... why not

unique sigil
#

redistributing vanilla game assets and causing problems with recolor compatibility, if any

rigid musk
#

Im already aware of the vanilla furniture thing with the recolors and what not (i decided i dont care about that)

#

I did make an early version of it that didnt use the vanilla furniture but I didnt like the way it looked

unique sigil
#

have you ever heard ot Arbitrary Tilesheet Access?

#

thats exactly what you need

rigid musk
#

you can see that here

#

i dont... want more frameworks

unique sigil
#

(laptop unavailable to me so i cant link fast, but you should check it out)

rigid musk
#

I know it exists

vernal crest
#

It's possible to use the arbitrary tilesheet access mod now to avoid having to include them. But if you don't want to use it you can also load the vanilla furniture into the game and use it that way so people can recolour if they want to.

hard fern
#

is having more frameworks really that much of a problem? to me i juse see it as "oh hey now i dont have to do this thing the hard way"

vernal crest
#

(My answer included redundant information because I was typing slowly lol)

rigid musk
#

you would not believe the amount of people who complain about having more than one framework

#

I already have Content Patcher, Item Extensions, and another mod that button made for me

unique sigil
#

thats rookie numbers /lh

rigid musk
#

not for me considering it was only supposed to use content patcher originally

proud wyvern
#

back in the day mods like SVE or RSV required 8-10 dependencies, and we somehow managed /s

unique sigil
#

but like if youre concerned users dont want to download your mod bc of too many frameworks, usually people already have those frameworks from other mods

uncut viper
#

(if Lily does not want more dependencies, and is aware of the downsides, there is no reason to keep trying to convince Lily to use more dependencies)

rigid musk
#

Trust me, guiding people on how to install SVE was a pain when it had that many in 1.5

uncut viper
#

you wont be able to conditionally make edits to your tilesheets and no one else wil be able to touch them either, but if you're fine with that and never need them to change ever during gameplay then its fine

hard fern
rigid musk
#

I do want to change where my own custom tilesheets are pulled from if it will cause an issue if people want to recolor them though,

#

I dont care about the furniture, qi's room has a specific vibe to bring to the function and if people don't like it so be it

#

but if they realllly wanna change his wallpaper to match the wallpaper of their recolor mod im not gonna say no to someone making that

vernal crest
#

Using different folders or sub folders looks like this btw

"FromFile": "assets/maps/tilesheets/tilesheet.png"

rigid musk
#

(considering i did make new wall tilesheets and stuff like that)

#

so if i just made a folder called 'tilesheets'

#

in my assets folder

sweet meadow
#

note sure where to ask this - i wanna see what all seeds, bushes, saplings i have available. I have about 450 mods. how can i do that?
id really like to export it to a file if possible. ( i know i have over 1100 seeds, saplings, and bushes)

brittle pasture
#

patch export Data/Objects

vernal crest
brittle pasture
#

Or Data/Crops or Data/FruitTrees

vernal crest
ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Enterprise, with 19 C# mods and 3 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

sweet meadow
#

how about flowers? is there a special command for them under crops?

rigid musk
vernal crest
#

I remember Goat getting this issue at some point but not why. Is this happening on new saves?

rigid musk
dusk mulch
#

Yes it is

unique sigil
# rigid musk wait where would I target for this?

When you load your tilesheets this way, other recolor mods or actions (via EditImage) will have to target Maps/{{your loaded asset}}

see examples in Central Station and my companion recolor compat mod

vernal crest
rigid musk
#

O: thank you

#

now people can recolor things yippie

unique sigil
#

"Target": "Maps/TilesheetName"

vernal crest
#

I can never remember if it goes off the tilesheet name or tileset name because I keep them the same.

unique sigil
#

and "FromFile": "assets/{{TargetWithoutPath}}.png is sufficient

#

i am typing all this very slowly from my phone

unique sigil
vernal crest
#

But! Note that Kisaa has not included the subfolder in her example FromFile but you need to.

rigid musk
#

pondering so if I load the vanilla furniture as a tilesheet like this would people be able to just... make a patch to recolor it as well

unique sigil
#

Not wrong, but I still believe this is an unnecessary step if those are unchanged vanilla tilesheets and you dont use arbitrary tilesheet access

dusk mulch
unique sigil
#

you can do the same to your fully custom tilesheets if you do not want to include native recolor compat and allow other mods to target your custom assets for recolors

vernal crest
rigid musk
#

Again I DO want to allow people to be able to recolor the custom tilesheets I made, I just didn't care that using the vanilla furniture wouldn't offer recolor compatibility in that regard because of how I wanted QI's room to look

gentle rose
#

where's the content patcher format version?

rigid musk
#

if that makes sense

dusk mulch
gentle rose
sweet meadow
#

would animals also be under objects?

dusk mulch
#

if i do it will break the formatting

vernal crest
#

Format won't work in an include iro

dusk mulch
#

i have tried before

rigid musk
#

I thought you couldnt add format- yeah

vernal crest
#

Let me hop on my laptop and look at your log again in a sec Person

dusk mulch
unique sigil
gentle rose
#

fyi I'm pretty sure you can do all the data/locations edits in one patch

#

you don't need a separate patch for each one

vernal crest
dusk mulch
vernal crest
dusk mulch
vernal crest
dusk mulch
#

I have it open almost all the time so I can refrence back to it for thing such as tilesheets, tiledata, warps, ect.

#

But I didn't touch anything apart from the warps.

vernal crest
#

Last time this happened here in mmg I remember it ended up being because someone was trying to add trees via map property and included the same tile location twice

unique sigil
dusk mulch
#

I will take a look at the map properties then

rigid musk
#

If i could make the compatibility optional then I would

sweet meadow
#

to export all the types of animals, what data/ would i use?

dusk mulch
#

This is all I have in there

rigid musk
#

But I can't really see a way to make that optional so I will not be adding another framework mod
I didn't even want to add Item Extensions u_u

vernal crest
#

The \n bits

dusk mulch
#

What /n bits?

#

Oh

vernal crest
#

I'm going to have so many dependencies because it's more important to me that I have fun than that my players do SDVkrobusnaughty

dusk mulch
#

I will remove them and see how it gors

rigid musk
#

I mean in theory that's the same for me... less work to add in a framework

#

(same reason why I wanted to use the vanilla furniture tiles anyways tee hee)

vernal crest
#

Yeah I assume we are just having fun in different ways. For me it is fun to play around with frameworks.

dusk mulch
rigid musk
#

recolors would make room look weird anyways, i was going for a ✨ certain aesthetic ✨

#

I mean I love to see what mods can do, the things people make for people TO make things are amazing

dusk mulch
#

It worked, ty!

rigid musk
dusk mulch
#

But I forgot to add a warp back to the main map so now I'm stuck on a farm with just textures.

vernal crest
dusk mulch
#

Yeah but sometimes people just instinctivly do line breaks and I didn't even know they added the /n when done.

gentle rose
#

in general in programming, don’t add unspecified characters

dusk mulch
#

Well I didn't know pressing "Enter" would add a character, seems a bit dumb.

gentle rose
#

a newline is a character though?

dusk mulch
#

i have never heard of a new line as a character before

unique sigil
velvet narwhal
#

i was summoned

vernal crest
#

I don't think there's a section on the wiki page that references the pop-up box you can use for properties.

velvet narwhal
rigid musk
gentle rose
rigid musk
#

^

#

Putting every little instance on the wiki would be... a lot

#

Like far too much