#making-mods-general

1 messages · Page 252 of 1

lucid iron
#

Jk i changed it to default at some point

brittle pasture
#

I use preview, which is slightly adventurous

lucid iron
#

Here's my typical csproj if u wanna reference

tidal stone
#

is there a field that makes seeds only show up during certain seasons or do they just exis like in the shop 24/7 if their modded

#

ty for your help aba

lucid iron
#

Dw about the weird Import at the top i have it for silly linux reasons

tidal stone
#

ty for the help frog

tidal stone
reef kiln
last plume
#

cant seem to find the queriy to make a letter repeat.

nova gale
#

making the letter repeat is done by setting MarkActionApplied on the trigger

nova gale
#

that causes the trigger to repeat, and the trigger is what adds the letter

tidal stone
#

oohh i have to put the word season in there ok

#

legit thought it would be like the target field entry

#

where it slike ["spring" ]

nova gale
#

if that doesn't work milo, you /may/ need to add the mailreceived <mailid> false action into your letter so it keeps setting itself back to false, I can't recall if that's necessary

vernal crest
tidal stone
#

oo i found it ty tyyy

gaunt orbit
#

Once again I am going to recommend khloes wonderful manifest generator

last plume
#
                    "Trigger": "DayStarted",
                    "Condition": "DAY_OF_MONTH 5+19",
                    "Actions": [
                        "AddMail Current {{ModId}}_IntroductiontoGovernmentGrants Received",
                        "RemoveMail Current {{ModId}}_IntroductiontoGovernmentGrants",
                        "MarkActionApplied Current {{ModId}}_IntroductiontoGovernmentGrants false"
                    ]```
#

does this look like it will make it repeatable?

tidal stone
#

if im using 2 seasons would it be "SEASON spring SEASON summer" or "SEASON spring summer"

tawny ore
#

the SEASON query accepts multiple seasons so both should work, but the second is probably preferred

tidal stone
tawny ore
#

Actually the first wouldn't work unless they're parsed separately as two different conditions

tidal stone
#

ok, i wasnt sure originally i tried
"SEASON spring + summer"

#

because therea littol + on the quieries thing for it but it didnt like that XD

tawny ore
#

SEASON spring summer would work, and if you wanted to make the first one work you'd have to use ANY "SEASON Spring" "SEASON Summer"

brittle pasture
#

the plus is to specify "you can use multiple values separated by space"

#

not a literal plus

last plume
vernal crest
brittle pasture
vernal crest
#

This is how it looks to mark its own entry unapplied

"{{ModID}}_SpringTramp": {
                    "Id": "{{ModID}}_SpringTramp",
                    "Trigger": "DayStarted",
                    "MarkActionApplied": false,
                    "Condition": "SEASON_DAY spring 18",
                    "Actions": [
                        "SetNpcInvisible {{ModID}}_Hiria 3",
                        "AddMail All {{ModID}}_SpringTramp_Mail now"
                    ]
                },
last plume
vernal crest
last plume
#

im trying to make it so a government grant of 1500g is sent every season on the 5th and 19th which is biweekly

brittle pasture
#

also you probably don't need RemoveMail?

#

(AddMail can be repeated without removing it right?)

last plume
#

ok, i will take care of it in a few minutes my gf is calling me

tidal stone
#

rubs my little rat hands together
now imma work on making ym plants drop multiple during harvest

vernal crest
vernal crest
last plume
vernal crest
last plume
#

yes, i was hoping to have the same mailpiece sent biweekly

vernal crest
vernal crest
tidal stone
#

if i add lavender and something else addds lavender will the mods break or will it just have 2 different lavenders

brittle pasture
#

it is only a problem if both items have the same internal id

#

that's why we recommend using {{ModId}}

marble verge
tidal stone
#

aa ok ok

brittle pasture
#

so you item is named something like "Kandi.YourModName_Lavender" and the other item is "TheOtherAuthor.TheirModName_Lavender"

marble verge
# tidal stone aa ok ok

May want to consider calling it something other than just "Lavender", 'cuz it can get confusing in-game.

#

Something like "Fresh Lavender" or the like

drowsy pewter
#

Just don't play with selph''s mod

tidal stone
#

domesticated lavender?

lucid iron
#

Fresh Lavender (Fresh)

marble verge
lucid iron
#

When in doubt google <plant> cultivars

marble verge
#

If it's forageable, prefixing it with "Wild" also works

gentle rose
tidal stone
#

i think i drew Munstead english lavender

#

hmm actually

marble verge
#

Cornucopia Flowers and Atelier Goods add Lavender, but I'm not sure what they're called exactly

tidal stone
#

Royal Velvet Lavender or ENglish Lavender matches what i drew i think

marble verge
#

Cornucopia's is called plain "Lavender", Atelier Goods uses "Forest Lavender".

tidal stone
#

oh then i can just use domesticated

#

because my herbs are all domesticated variations

#

:3

brittle ledge
#

I actually like it when people give their crops cultivar-esque names 👀 give me Rock N Roll Rose or Purple Bearded Iris

urban patrol
#

man my discord app has been crashing a couple times whenever certain messages are loaded and i think i’ve figured it out: it always happens when it tries to load an AI-created code block

#

it nukes the entire channel lol

tidal stone
#

Chbrjvegifkydkydiy

lucid iron
#

What

#

Are you trying to post ai created code block or something

urban patrol
#

no i was trying to backread

#

i got as far back as the AI discussion and my phone freaked out

#

it happened a few days ago too with the same context iirc

steady peak
#

if im editing a mod once finished do need to save or can i just make changes and leave ?

tidal stone
#

Id save

#

I dont think changes stay after editing ?

steady peak
#

ok thanks 🙂

nova gale
sullen rain
#

Can someone more familiar with Fashion Sense than I am help me out? I can't figure out why I can't get these leggings to be recolorable

tribal ore
tidal stone
#

long to play you guys' mods but im just so enthralled with modding

#

older seb calls my name is2g

vernal crest
#

That message you just replied to was right in the middle of a discussion of how to do it with trigger actions lol

tribal ore
tribal ore
tidal stone
#

i might take a break and play it sometime tonight 07

i love seb content >u<

#

so hype

#

also on another note

when i was younger i liked to come up with fantasy stuff for fun and now im like "i could put my random stuff in stardew" XD

tribal ore
tidal stone
#

omg

#

i could ok so this is cursed but once upon a time before i knew how cp worked i tried to do a homestuck mod for a friend and i told them i gave up because i lost like all my files when my comp got struck by lightning or w/e so i could message them and make that for them again XD

#

(i liek to keep my promises if i can)

#

just gotta find that wiki about it again and read through it

tribal ore
tidal stone
#

im not rereading all 800000000 pages of it for a mod but i will happily add in characters for my friend XD

#

my first incarnation was literally XNB which is awful as i now know

#

im gonna make Can town a side stop via central station ☠️
imma bring in the whole cast

#

probably slowly

#

the awful thing is my friend made me rp homestuck so i feel confident in my ability to make lines of dialogue

tribal ore
#

Btw, I shared these elsewhere but I think you might appreciate them: images for a couple of the custom secret notes I added to my mod (thanks for ichor's Secret Note Framework, which is amazing)

tidal stone
#

ooohhhhhh

#

i love them

#

the suit so dapper so handsome so amazing i love

tribal ore
#

ty ty

tidal stone
#

know what i am gonna do a hs mod now
gosh darn it

#

sigh

#

time to go back to drawing sprites XD

#

(my secret is i never release a mod because i must make more things)

tribal ore
#

I'm probably doing Older Sam next

tidal stone
#

:0

#

my OTHER FAVORITE

#

letsgoooo

lucid iron
#

If you make all the kids older you gotta make up new kid npcs to take their spot

urban patrol
#

seb jr coming to your computer this summer

tidal stone
#

who wants to submit their ocs XD

#

jk jk

tribal ore
#

I think I'll let other mods handle adding kids. I just wanna have marriage candidates that don't feel icky to date because they act like high schoolers. And I realize that is my own preference! Not a knock on the vanilla characters at all -- it's a game that needs to cater to lots of different demographics, including younger players.

#

I just... I like Elliott a lot, but I don't want to date him every single time xD

gentle rose
#

I no longer trust mod users with child NPCs ngl

lucid iron
#

It's ok kantrip u can date older ppl in sunberry soon

tribal ore
#

I don't tend to install the bigger expansion mods, but I might make an exception if there's an NPC that really intrigues me

#

Looking forward to seeing what Sunberry offers

gentle rose
#

on an unrelated note, water is good. have any of you ever realised that? it’s groundbreaking

who’s adding a glass of water to stardew now

urban patrol
#

my NPCs i’m adding are teens, but that’s because they come from a tv show where they’re 16 lol

ornate trellis
#

I have a bottle of water does that count

urban patrol
#

they’re also ghosts so i don’t think it counts

tidal stone
#

my npcs are gonna be their original ages i think mostly because some aging and some not because death i feel it would be weird to age them all

tribal ore
urban patrol
candid stratus
#

it's a feature

urban patrol
#

exactlyyyyy

ornate trellis
#

man, I am sitting here being so uninspired bout dialogue its insane

candid stratus
#

Well the character I'm making has lost her eye fighting the end of the world, she's not gonna have high school dialogue :p

tidal stone
#

in my homestuck mod im gonna make the ancestos marriable if their single, the gaurdians marriable

and the dancestors marriable but the kids im not gonna age up because some of them died as kids so i dont wanna and even thopugh at end of comic Dave is like 25 (immortal) i would feel weird making him a different age from his friends

urban patrol
#

are you including content from homestuck 2? it’s been a while since i read and i’m not up to date on it at all

tidal stone
#

nah probably not homestuck 2 caused such a big divide in people im probably going to avoid it

#

mine is probably going to be like AUish where everyone just lives in stardew valley

urban patrol
#

aww cute

reef kiln
tidal stone
#

im gonna keep mituna and latula as a couple i think

#

because how could i divide them 😭

dry flicker
#

Ciao, i'm working on a carpet and i've added it in the Data/Furniture.
Will it appear in the shops automatically, or is there a script i need to change to make so happen?

brittle pasture
tribal ore
#

He's a cool friend though

tidal stone
#

Is there a way to have a larger than normal sprite like a 2x2

ornate trellis
#

for what

tidal stone
#

I want to make an animal npc but idk if i can fit it within the 2 16 squares we have

urban patrol
#

i know you can increase animation sprite size using spacecore, so maybe check that out?

tidal stone
#

oo ok

lucid iron
#

PoohCore

#

For bigger npc

last plume
#

anyone else notice nexus mods lagging asf?

ornate trellis
#

nexus being nexus

last plume
#

suddenly 🤦‍♀️

#

do you think its related to what browser i use?

ornate trellis
#

no clue but nexus is randomly shite sometimes, that what i mean. no face palming needed,

tidal stone
gray bear
#

sometimes nexus just says "no" and we must respect it

last plume
gray bear
#

i also use an adblocker. RShrug
please don't ping me in replies

last plume
#

oh thanks for telling me. i wont do no more.

past violet
#

Hi, yeah Nexus was lagging hard for a bit. No idea why

gray bear
#

might be server issues i suppose.

last plume
#

yea. i turned off my ad blocker and tried again. i will try turning it back on later.

past violet
#

Might be, because the newest SVE isn't downloading properly

#

And I had an issue where a mod was causing it to rain in my gme non-stop

gray bear
#

yeah ok i think it's a nexus hiccup

#

also this is making mods general so perhaps we should move to #modded-stardew to be on topic

tidal stone
#

I think i should get my drawing tablet doay or tomorrow so doing art will be smmmm easier for mods

latent mauve
#

Now considering if I need to make optional children sprites for my Zelda NPC replacer mod

tidal stone
#

I kinda wanna doodle for another mod idea and take a break from doing stuff for this one XD im rotating mods in ym mind, like ik it might be bad practice but ideas are bouncing around my head

ornate trellis
#

nah tbh thats what I personally do too. it keeps you from getting frustrated if you happen to run into trouble and makes you feel refreshed when returning to it

#

if you wanna share a buncha stuff from different things and a lot you could also have a thread made here or the modded art channel

tidal stone
#

like
rn my brain is like "remember those angellic and demonic themed plants you were making in 10th grade" and now i wanna draw them and make a little mod for them and expand on the idea a little bit

ornate trellis
#

sounds like a neat idea

tidal stone
#

yea the theme of the demonic plants was basically "what if plant looked dangerous but was delicious and the angellic ones were liek "seems liek they would be pleasant but until utlized a specific way were deadly"

#

but the angellic ones had like made you feel more enrgized whereas the demonic ones were more like basic? if that makes sens like the angellic ones i based around the idea that there was a reason you wanted to utilize them

#

i think imma rework it a bit but i think that could be fun

ornate trellis
#

yee

candid stratus
#

I'm still a bit confused on the whole dialogue proxy, where do I have to put new lines of dialogue? Is it safe to make my own new json for this and load it like I do for images or maps, or is it best to try and add this in existing paths in the strings data?

#

and is it safe to do all my loading with my CP mod while relying on those with my C# mod? Bad practice?

grand edge
tawny ore
#

Oh is the beta default now?

tidal stone
#

if i wanted to make it to where monsters and farming and stuff liek that had a chance of dropping a random item out of a pool of items of my creation would that be cp or c#

#

because i just had an idea for a collectible mod

brittle pasture
#

you can edit Data/Monsters to add your loot to the vanilla monsters drops

#

for crops, there's SpaceCore for extra harvests

tidal stone
acoustic summit
#

You could also do either of those in C#

uncut viper
acoustic summit
#

But yeah CP + spacecore works too

tidal stone
#

ok cool! cause my idea was for little cards or something you could find and collect and maybe turn in somewhere similar to the museum :0

#

the turning in part i also dont know if tats cp possible though

golden basin
#

so um anyone how im supposed to view the farmer frame int he modding resource?

candid stratus
#

Tried loading in a json file into Strings/Puzzles and address it through there but no luck

uncut viper
#

you're trying to draw dialogue without giving it any dialogue to even look for

candid stratus
#

I tried Strings/Puzzles/JanitorLockerCorrect, but replacing the / with : worked, thanks!

#

yeah in my example it was still empty but I tried a bunch of paths

uncut viper
#

format for translation keys is always AssetName:Key

#

and if you dont have a : in there it doesnt like that

candid stratus
#

What's the best way to structure my lines of text? Do I best just put everything in new files or am I expected to add to existing files

calm nebula
#

You don't technically need a translation key but they are useful.

calm nebula
#

With your mod id appended to the front

candid stratus
uncut viper
#

(speaking of which, it cant just be me that hates that LoadStringReturnNullIfNotFound will still throw an exception if its not in translation key format, right. like... just return null)

#

so often i want to use it as "i dont know what string is being passed in here ahead of time, so just try loading it and use my ?? fallback if not" but nope

golden basin
#

does anyone know why the modding resource isnt displaying any imageS?

#

so it works in my other google account weird

dry flicker
#

SDVpufferwaaah I can't find ways to add my custom rug into the Carpenter shop. I added it in the Data/Furniture but then how can I buy it if I don't know how to put it in the Data/Shops... anyone can help? i feel stupid

brittle pasture
#

[[Modding:Shops]]

dry flicker
rancid musk
#

Nexus what are you doin lol

crude plank
#

It's giving up completely

copper kestrel
#

@ivory plume do you know whether it's intentional that RejectItem dialogue keys overwrite the character's daily dialogue when triggered? Afaik this only affects modders because the base game doesn't use RejectItem anywhere that I'm aware of

wicked plover
copper kestrel
#

i peeked at the code and it uses setNewDialogue without passing the optional parameter add as true, so it clears any dialogue they have queued up for the day which is generally not desired in my experience 😆

wicked plover
#

If you don't want the character's normal daily dialogues to be cleared, you can set add: true in the setNewDialogue call.
This way, when the RejectItem dialogue is added, the existing dialogues will be preserved, and the character will continue saying what they were supposed to throughout the day.

uncut viper
#

they arent the one calling setnewdialogue

lucid iron
#

I thought game did use reject item for the pirate wife quest

uncut viper
#

i think thats just items marked as a quest item and it checks if the NPC has dialogue to accept it. maybe. dont quote me on that

#

i did a search thru Characters/Dialogue for RejectItem and didnt find anything

calm nebula
#

No, the game uses reject_

#

Totes different

lucid iron
#

Ah i see

uncut viper
#

oh atra can i ask you a transpiler question

lucid iron
#

Why r there 2 of em

uncut viper
#

as long as you're here SDVpuffersmile

calm nebula
#

You may ask

#

But I may not know the answer

uncut viper
#

how do i call the subtraction operator of a type in IL. does just OpCodes.Sub work

brittle pasture
#

reject_ is the old one, and its primary purpose is for delivery quests

#

Reject is the fancy new one in 1.6 for modders to add gift rejections

uncut viper
#

like if i want Point::op_Subtraction

calm nebula
#

I think subtract is the static method op_sub but I'm not sure about that

uncut viper
#

is there no easy like, AccessTools way to get it besides just searching all methods on a type for a name

calm nebula
#

It's a normal static method. Once you have the name you can just use AccessTools normally

#

It's just one with a compiler generated name

#

But it's pretty straightforward, like op_sub or smth

#

Not the <> mangled

brittle pasture
uncut viper
#

right, so i have to search the type for the name

#

cant do nameof

calm nebula
#

Yeah

uncut viper
#

and cant do like, AccessTools.Operator

calm nebula
#

Yeah

uncut viper
#

sad

#

not the worsty though, thank you both

tawny ore
#

If you don't mind the extra steps, it's always possible to use the operator you want in code, and then decompile to get the IL

uncut viper
#

i did

#
call valuetype [MonoGame.Framework]Microsoft.Xna.Framework.Point  MonoGame.Framework]Microsoft.Xna.Framework.Point::op_Subtraction(valuetype [MonoGame.Framework]

i didnt know how to emit this with a CodeInstruction

#

wasnt sure if i needed to do something special to get the op part

ivory plume
#

Do you mean because dialogueparts isn't empty by that point? It might be tricky to fix with the current design, but I did want to convert Data/Quests to a data model asset at some point which would make it easier to make it more granular.

ivory plume
tawny ore
#

Casually mentioning converting another asset into a data model. What's going on behind the scenes there, huh?

uncut viper
#

is 1.6.16 the modpocalypse /j

tawny ore
#

yes

ivory plume
#

(It's something we discussed during the 1.6 alpha, it just didn't make the cut for 1.6. So it's still something I'd like to do in some future version.)

calm nebula
#

So if that is set it's always overridden

tawny ore
uncut viper
#

(turns out if you're gonna use IL to call the Point subtraction operator, you should probably make sure the Newobj call before it is actually making a Point and not a Vector2)

eternal mortar
#

its been a really long time since ive made an event and ive lowkey forgot what ive been doing, im referencing my old events and i have no clue what this line means, any help?: animate Roxi false true 200 54

ornate locust
#

animate <actor> <flip> <loop> <frame duration> <frames...>

eternal mortar
#

yeah ive read over that but I have no clue what the frames are

#

or mean

#

sorry

ornate locust
#

So you're animating Roxi, not flipped, repeating, duration 200, frame 54

#

On her character sheet

#

Since it's one frame, it's probably just static

eternal mortar
#

oh ok ty! so its just changing her sprite tysmm

ornate locust
#

Yep

#

Can be hard to remind your brain what you did a long time ago LOL

fathom hound
#

does anyone know where hat mouse is? cant find it in characters or tilesheets

lucid iron
#

when in doubt cursors

ornate locust
#

Did you check cursors?

fathom hound
#

yeah, am i blind?

#

OH found it ty

ornate locust
#

spotting stuff on tilesheets can be hell

lucid iron
#

the rundown hatmouse shop is on spring outdoors tho

fierce vault
#

How do you all feel about ingame event guides like through mail or something similar? Is that a little overboard for one character?

lucid iron
#

you can take a look at spacecore guidebooks

#

sword and sorcery have those

fierce vault
#

From what I’ve heard it’s a pretty big mod which probably has an easy time justifying extra easily accessible guides. Maybe the nexus page is enough for something smaller

uncut viper
lucid iron
#

honestly i think Repeat needs a innate ++ or something

ornate locust
#

You can do "Articles" on the Nexus page and put a spoiler guide there

uncut viper
# lucid iron honestly i think Repeat needs a innate ++ or something

what would happen if it had an innate ++ but then you also did InsertAndAdvance in it
i could see it being useful to not have it, bc you might conditionally emit stuff inside the repeat, and if you do, you might want to repeat the stuff you just did on those conditionally emitted things

#

a niche case, sure, but i think probably best to leave it at "possible to do" instead of impossible when you can instead just Not Be Dumb Like Me and remember to advance SDVpuffersquee

lucid iron
#

hm well it's obviously too late to change the design

#

but i guess if you store the Next element ahead of time then called delegate on Curr then it would be safe right think

#

ofc this would imply a RepeadAndInsert kind of specialized iter

#

rather than Repeat

tidal stone
#

would doing something akin to the museum be something i can do with content patcher, such as the completion of a collection that is displayed, i figure if im making this collectible mod i should add a rewards system to it so it feels more fun uwu_nod

uncut viper
#

not yet

#

im very close to finishing a museum framework though

tidal stone
#

oo ok

uncut viper
#

not like, "releasing tomorrow" close but sooner rather than later

tidal stone
#

oh ofc ill just make the art and store it in a folder

#

honestly gives me more thinking time on the collectibles

eternal mortar
#

how do i make an actor disappear mid event? As if they went into a house or something.

rigid musk
#

warp command + playing a sound for a door

#

just warp them to like -1000 -1000

candid stratus
#

Be an NPC, walk through a door, get warped to the void

rigid musk
#

how claire and martin feel from SVE when they go into the bus

candid stratus
#

bus just sits there

#

it's all a facade

#

There's a hole at the bottom of the bus over a manhole cover, they have a secret hideout

rigid musk
#

/playSound doorOpen/warp {{ModId}}_TheMrQi -1002 -1002 I did the exact same thing in one of my events for an example

eternal mortar
#

haha thank you!

rigid musk
reef kiln
#

Question is there an advantage to vs code over note++ ? I currently use note++ but people on here always talk about vs code.

uncut viper
#

many advantages yes

lucid iron
#

linkoid's extension only works on vscode

#

and i can run the C# debugger in it

#

np++ is fine tho use whatever you prefer they r just tools

reef kiln
#

I don't do c# as I don't know it. I just had note++ on my computer so it is what I used.

lucid iron
#

i don't do events but it is nice just for the {{token}} highlighting

uncut viper
#

VSC also has syntax error detection

lucid iron
#

oh i thought np++ has a json plugin

uncut viper
#

its not automatic

#

doesnt highlight errors for you as you make them

lucid iron
#

huh thats a lot worse than i thought hokuhands

native saddle
#

@golden basin noticed you put in the changelog for the latest PC update that the warning messages for trees was fixed, but it actually seems to be sending more warning messages now

reef kiln
#

That's true. I definitely don't get errors highlighted in note++. But I also have no plugins for it. So that could be why too.

native saddle
#

I just started a fresh save after updating mods

uncut viper
#

n++ will not auto highlight them with a plugin

#

if you install the plugin you have to manually tell the plugin to check your json then it will open a little window telling you where errors are

reef kiln
rough lintel
#

coders: how to add a schema to vscode? i'm literally unable to figure it out despite rampant googling

native saddle
lucid iron
#

!vscjsonc

ocean sailBOT
#
How to make VSCode not scream at json comments

In Visual Studio Code, go to File -> Preferences -> Settings, then search for "associations", and in the "Associations" setting, click the Add Item button to add an item with key *.json and value jsonc (see image).
If you are making a content pack for Content Patcher, you should consider using its json schema so that VSCode can tell you if your patches are valid, you simply have to add

"$schema": "https://smapi.io/schemas/content-patcher.json"

at the start of your content.json file.

rough lintel
#

i did that, but i wanted to add the i18n schema and such

reef kiln
rough lintel
#

not just the jsonc

lucid iron
#

tbh the i18n one doesnt do much

rough lintel
#

oh i literally put it in the file....?

lucid iron
#

these r different urls containing json schema definitions yes

#

u put em in file same way

rough lintel
#

why does it tell me to edit settings.json.... cry

lucid iron
#

well u do that too

rough lintel
#

ok thats whats fucking me up

lucid iron
#

its 2 separate tips i suppose

#

maybe worth splitting it up Dokkan

rough lintel
#

is this. right.

lucid iron
#

what r u doin

rough lintel
#

i thought i had to add the schema shit in the settings.json so thats what im. attempting. to do

tawny ore
#

The schema goes into your actual content.json file

rough lintel
#

oh

#

but doesnt it also go in the settings...

tawny ore
#

No

lucid iron
#

nop

#

i guess u could, if u want to mass associate a kind of file

#

i never find myself wanting that

rough lintel
#

well id rather mass associate than go through each file of my npc and add that schema line lol

lucid iron
#

better to have it actually committable too so other ppl know what kind of json this one's supposed to be

tawny ore
#
// Your content.json file
{
   // Your existing content,

   // Schema
   "$schema": "https://smapi.io/schemas/content-patcher.json"
}
lucid iron
#

just do it as you edit them

tawny ore
#

In VSCode you can use snippets to give yourself a shortcut for the schema, or even just the general structure of a Content Patcher content.json file if you'd like

reef kiln
#

VScode seems complicated. Do you have to add the schema every time you make a .json, or just the first time.

tawny ore
#

Here's a jsonc snippet:

{
    "Content Patcher": {
        "prefix": "cp",
        "body": [
            "{",
            "  \"Format\": \"2.5.0\",",
            "  \"Changes\": [",
            "  ],",
            "  \"$schema\": \"https://smapi.io/schemas/content-patcher.json\"",
            "}"
        ]
    }
}
tawny ore
#

The json schema standard has you put it in the file, it has nothing to do with vscode in particular

reef kiln
#

Oh, why don't I see the schemas in more code on nexus? Do people not use it, or does it get removed when saving?

tawny ore
#

It's not a commonly known feature, but it's what smapi.io/json uses behind the scenes

reef kiln
#

Interesting

tawny ore
#

Not a lot of frameworks have their schemas defined either. It's one of those things that are nice to have, but very few people ever get around to writing one. The only ones I'm familiar with were authored by Pathos for content patcher, the manifest.json file, and i18n

gentle rose
#

I have yet to look into using json schemas but I have considered it because of content patcher

lucid iron
#

im not sure how to make a manifest tbh

#

one that would be able to describe what is valid in a custom data model i mean

tawny ore
#

Really any of the data structures could possibly benefit from having a schema. It would help catch errors more easily.

lucid iron
#

how do you deal with TargetField

tawny ore
lucid iron
#

yes but if u r using target field the structure of whats valid under Entries changes think

tawny ore
#

I'm not super familiar, but there are modular components to it

lucid iron
#

i did think about making schema for my custom asset at one point but i didnt find clear ways to

  1. inherit or extend the cp schema
  2. handle conditional stuff like that
tawny ore
#

Like it has some concept of conditional elements. Or if one was created, it might have to be opinionated. Like a schema to target a specific asset type (and action).

lucid iron
#

do it for custom bush 2.0 so i can steal homework

tawny ore
#

I'm always meaning to do it eventually only eventually ends up meaning never

lucid iron
#

yea at least it only has to think about EditData for the most part

#

ideally i can like

tawny ore
#

If I did it for CustomBush, it'd probably work under the assumption that it's included as opposed to being part of content.json

lucid iron
#

export the schema w/ newtonsoft json

#

and then glue that into cp schema somehow think

brittle pasture
#

hmm can it handle the custom ModData keys I put in EMC (including ones that match a regex)

lucid iron
#

idk if u can do keys with regex

tawny ore
#

Look at this segment of Content Patcher's schema

#

It has the concept of, "this applies when the patch is EditeImage, and here are valid property names, etc. So it seems like a lot can be done, but how can be complicated.

#

Also it looks like it's possible in the latest draft to have recursive stuff

#

You can have schemas which themselves reference other schemas

golden basin
gentle rose
native saddle
golden basin
native saddle
golden basin
#

im about to drop kick these tree warnings it was gone a moment ago???

tawny ore
#

What's funny is that whole discussion about having an easier way to build content using frameworks. schemas would actually help with that, and in some ways make vscode a more useful editor for building those mods.

#

Useful in the sense that VSCode will yell at you as soon as you start doing something wrong

reef kiln
golden basin
#

do i????

reef kiln
#

Oh, well in the tree.json there is a list of tree coordinates. One of them is trying to spawn a tree on tile 34 I think (from memory) and that tile is marked to not let spawning in the map. I fixed it in my old copy by removing that entry

#

Have not bothered to fix it in the update. I realized the warning does not actually hurt anything.

golden basin
#

34 is the index for the custom tree spawning tile on the path tilesheet

#

See what is happening is the mod is wanting to spawn a tree in spot that is missing a path tile for custom trees

#

and im trying to find the entries that are missing a spawn marker and its making me crossed eyed

reef kiln
#

On my phone at the moment or I would give a better description. Sorry. I know what I did was look at the error and remove the tree with the same index in the tree.json and the error went away in the last version of PC.

golden basin
#

they all have the 34 index though, do you mean the coords?

royal stump
#

(FTM doesn't support trees at all yet, fwiw)

reef kiln
#

I may have fixed it wrong though. Like I said, did not bother with the new update as I realized it made no impact on the game.

native saddle
#

Yeah it's in the CP component not the FTM

#

I pulled it up as well lol

golden basin
#

im just gonna rewrite them-

reef kiln
native saddle
#

Must've been a different number

golden basin
#

its fine imma just rewrite the spawns tbh

reef kiln
#

Sorry, I could not be a bigger help. I am not near my computer. So I can't check what one I removed. Or if it is even the same error actually because the one king kia posted does not have x y coordinates like mine did.

golden basin
#

its really no worries!

#

already almost done rewriting the spawns

sour sleet
#

In terms of the best way to do this, how would I make my expansion (way down the line) compatible with recolours when I'm using custom tilesheets?

uncut viper
#

Load them and don't just keep them in the same folder as your tmx

#

if you have custom grass tiles and such, after that its just a matter of recolouring them

lucid iron
#

if you drew the custom tilesheets, consider just providing the matching recolors innately

#

if you are using say daisyniko's sheets, daisyniko has compat made for a number of recolors

#

check desc on various tilesheet mod to see what they support

lucid iron
sour sleet
#

I'm in the process of making my own tilesheets so do I make them matching with the vanilla colours initially?

#

And then make an earthy version of my mod for example?

uncut viper
#

nothing will automatically recolour them to anything else

lucid iron
#

you as the author may provide as much compat as you want

#

but u gotta do it yourself

uncut viper
#

compatibility for recolours is someone manually customizing a sheet

#

by drawing over it

lucid iron
#

it isnt that different than what you did for the shop keeper tiles

sour sleet
#

Ahh so it's a When condition?

tiny zealot
#

more or less

#

i have a small interior tilesheet and i provide several recolor palettes for it. it's set up to automatically match whatever you have installed but there's also a config setting to override it

#

the matching is bespoke and sort of mischievous C# but you could do most of it with CP's When

sour sleet
#

Ah that's good to know. So it can all be one version of the mod that way SDVpufferthumbsup Which parts can't be done with CP?

lucid iron
#

none unless u r hoping to like

tiny zealot
#

the part where i open other mods' config files to see if the user has enabled their toggles

lucid iron
#

automatch all tilesheets forever

#

theoretically doable if u sample colors and change Texture2D kyuuchan_run

sour sleet
#

Ah ok thanks! Recolour compat is important to me lol

lucid iron
#

but normally people just provide vanilla earthy vpr starblue(maybe) and call it a day

tiny zealot
lucid iron
#

gottal like

#

sample color frequency then

uncut viper
#

nightshade just needs LUT support

tiny zealot
#

LUT is in the 1.1 feature list but 1.1 is in dev hell

#

(specifically, compiling your colorizer settings to a LUT to boost perf)

lucid iron
#

does it have ocio support

#

let me color me game with ACES

tiny zealot
#

i don't know what those two things are

lucid iron
#

(it is joke these r vfx color things)

uncut viper
#

chu's guide to tonemapping stardew coming soon

undone hawk
#

Mod works for vanilla fish! Question for y'all:
Should I release the mod right now or finish my fancy checklist of:

  • Clean up Code and optimize runtimes
  • Verify Compatibility with Modded Fish (Like SVE and Ridgeside)
  • Test for All Seasons and All Weathers
uncut viper
#

well ideally you test first

lucid iron
#

test with stardew aquarium

brittle pasture
#

up to you
note that for nexus visibility the first week after you release is important, since it's the only time your mod can make trending

#

do what with that info as you will

lucid iron
#

and maybe more new fish and fish of stardew

undone hawk
#

Stardew Aquarium? Why would I do that? I use the mod and can't see how it directly interacts with mine :3

#

Genuine question, I'm happy to test it

lucid iron
#

it adds more fish doesnt it

#

some of them use GSQ conds which ik lookup anything doesnt support properly yet

undone hawk
#

D-does it? I literally didn't know, I always run it with so many mods I just assumed those were from other mods

native saddle
#

It at least adds a legendary fish

#

A special one

undone hawk
lucid iron
#

but yea the suggest is more

undone hawk
#

I'll defo add that to the list

tiny zealot
#

definitely test with the big popular mods that add fish. SVE included, if you care about that

lucid iron
#

"test with big fish mods"

#

ultimately tho just go by vibes

#

it is mod so if it works on your machine it's good enough to ship kyuuchan_run

native saddle
#

More new fish, fish of stardew, fish bonanza

#

Those are the big ones I know of

lucid iron
#

people will show up with big ol logs with weird ass fish mods you never heard of doing strange things and break ur mod

#

(this is exactly what happened with machine mod on initial release)

tiny zealot
#

if you have known performance problems, i would fix those before release. i wouldn't worry about "clean up code" now, or potentially ever (clean code is a false idol)

undone hawk
#

So I'd like to cull any unnecessary load times

lucid iron
#

incidentally aquarium support might be another deco icon u could add (scope creep alert)

undone hawk
#

I was thinking that, since I all but designed this mod to help with Stardew Aquarium in my modlist

lucid iron
#

do u have a general "not yet caught" icon

undone hawk
lucid iron
#

oh huh

#

i interpreted it as "not available at this time think

#

pokedex rules i see

undone hawk
#

The top section is fish available, the bottom is fish Not Available

ornate locust
#

that is extremely hypnotic

#

Oh and the icons show you when they are available

#

that makes sense

undone hawk
#

Yup! There's also the Fishipedia aspect of the mod that I showed earlier

#

Which is an in game wiki for Fish :3

brittle pasture
#

qq, and apologies if it already does, how does your mod handle fish with BobberPosition set (eg. the Goby)

undone hawk
#

I have a hardcoded handle for Goby atm

#

I had a full on rant with my friends about Goby specifically being the only vanilla fish with a completely unique ID

#

Because of update stuff

lucid iron
#

well, there was that PR for lookup anything to add lookup on bodies of water

#

i suppose u can do it like, when you cast rod, update the HUD to the "true" fish catchable here

#

might be a bit too a fishing sea tho Dokkan

undone hawk
#

I do currently specify the bobber position thing for the Goby in its Fishipedia section, but that'd be hard to display with the HUD element

brittle pasture
#

yeah I asked because it is quite the tricky thing to show and was curious to know how/whether you handled it lol
did a quick lookup, vanilla has 3 uses of BobberPosition for fish:

  • goby (waterfall)
  • salmon (also waterfall, since 1.6 - this is news to me lol)
  • the 3 submarine fish with magic bait
lucid iron
#

salmon think

brittle pasture
#

(there's 2 more, but those are for secret furniture items and not fish)

lucid iron
#

ah i have another scope creep

#

what if the fishpedia shows aquarium tank sprites

#

does it do that rn

undone hawk
undone hawk
#

Admittedly my mod's p barebones when it comes to aesthetics

lucid iron
#

i think you can do it by borrowing TankFish, it'll just suck a little bc u r now outside stardewui layout system

undone hawk
#

Adding that and Stardew Aquarium support to my to-dos

tidal stone
#

making cards for my mod idea for card collectibles is so fun

#

i kinda wanna make other collectibles but idk what would be as good as cards hmm

#

ok should i do fish, monsters, orrrr mm crops next

#

for cards

lucid iron
#

not monsters never those

undone hawk
#

Fish!

lucid iron
#

literally anything else SDVpufferthumbsup

rigid musk
#

what do you have against the monsters Chu

tidal stone
#

fish it shall be
i actually forgor how many fish we have in sdv

brave fable
#

so many.

tidal stone
#

oh i just opened the wiki thats so real

rigid musk
#

a lot fish .. many fish... forever fish

tidal stone
#

rn im not doing the color coorination for the borders or the type dots that will be last >.>

rigid musk
#

But think Kandi if you make a collection card mod for fish you could also make compatibility patches for more collection cards for other mods that also add fish ...

tidal stone
#

real

rigid musk
#

More New Fish... Fish of Stardew... other fish mods that I know exist but my brain wont let me remember right now

tidal stone
#

i was thinking if people were interested i might reach out to other mod authors and be like "hey can i make a card collection expansion to my mod based on yours" and add it to optional files

rigid musk
#

Scope creep my beloved... and beloathed...

tidal stone
#

real

ornate locust
#

I have a whole scope creep section on my trello

tidal stone
#

if i can i wanna make "character" cards

ornate locust
#

taunting me

rigid musk
#

I can't wait to add more cutscenes to my mod that already has 22/23 cutscenes in it

tidal stone
#

but idk if ill ahve the pixel space to to do

rigid musk
#

You could do them based off of a big love gift of theirs maybe?

#

like elliott's could be a duck feather and a book or smth

tidal stone
#

oooh true

#

i might do that uwu_nod

#

i was thinking of doing a wedding one thats like just a picture of a bouquet

#

because i plan on doing a "events/festivals" card section

#

so flower dance marriage divorce fall fest stuff like that

rigid musk
#

I sitll have no idea where to find the sprites for the damn babies

#

not the toddlers that walk around but the other ones - i couldnt find them in cursors surprisingly

#

also those would be cute O:

#

eggs in a little basket for the egg festival...

tidal stone
#

yess exactly

lucid iron
#

babies are in character

#

can i interest you in some talking QiBabies

tiny zealot
#

fun fact crib baby and crawl baby are on the same spritesheet but use different frame sizes. there's some cursed code in Child.cs that makes it work

rigid musk
#

😭 I do not want to make them speak

#

that would be horrifying

lucid iron
#

ContentUnpacked/Characters/Baby.png

rigid musk
#

No compatibility with child to npc, go upgrade your blueberry babies somewhere else

#

Thank you Chu :3 apparently im blind

lucid iron
#

well i actually didnt let u speak to babies either

#

but u can talk to and gift toddlers

rigid musk
#

you don't actually TALK to them though... they're like pets, you click on em and they give you a little heart heh

tidal stone
#

me writing baby language: bababababa boo ga

rigid musk
#

also having even one child with qi sounds like a nightmare i would not want to have even more... a bunch of little blueberries scattered around my house

lucid iron
#

i see i must work harder on my framework salesmanship DokkanStare

rigid musk
#

(I actually have the default config set to false for having kids with him, he does not seem like the fatherly type)

sour sleet
#

Is it best to add my expansion with Central Station or is it best to add it somewhere already accessible?

rigid musk
#

those are very custom kids with that framework...

#

Honestly I 100% support central station

#

it makes compat much easier

lucid iron
#

yea its just nice

sour sleet
#

I shall use CS then SDVpuffersquee

lucid iron
#

if u dont particularly care about ur area being reachable from a specific vanilla place

#

use CS AquaThumbsup

rigid musk
#

Honey's Orchard is going to be added via CS :3

#

I still havent decided on a name for it... names are hard

sour sleet
#

I just worry incase CS gets dropped / lost to time in a few years say, and then my mod will need reworking. Or do I just worry too much lmao

#

Ooo what is it you're doing Lily?

lucid iron
#

its by pathos

#

i think you are safer than most monS

tawny ore
#

If Central Station stops getting updated, then SDV modding will also be dead

lucid iron
#

if pathos somehow disappear into ether one day im sure the remaining C# modders will get togther and figure stuff out

#

shits important

sour sleet
#

Ahh I didn't notice it was by Pathos

#

Oh we shall be fine then haha

rigid musk
# sour sleet Ooo what is it you're doing Lily?

I have a friend who really loves apples, so I decided to make a mod as a gift for them that expands upon such a thing (aka I will be adding like 11 different apple verities + a cinnamon tree (cinnamon tree will be toggled with cornucopia for compat reasons) and a bunch of apple recipes) and I thought it would be really cute if there was an NPC who owned an apple orchard to go along with it :3

#

varieties** spelling is hard

sour sleet
#

Aaa that sounds awesome SDVpufferparty

#

Wait are there even 11 different apple types

tidal stone
#

i finished a handful of fish cards

#

the pufferfish is like a ball

rigid musk
tidal stone
#

XD

#

i volunteer pink ladies, golden delicious, and apple smith

sour sleet
#

Oh wow, I never knew lmao

tidal stone
#

ik crab apples are also popular ones

#

i used to have an apple chart

rigid musk
#

ooo crab apples...
12 apple saplings

tiny zealot
tidal stone
#

did you know some apples are better for cooking than just plain eatin?

sour sleet
#

Just googled types of apples.. mind blown

rigid musk
#

oh god please i dont need scope creep for more apples

tidal stone
#

thats why some apples are kind of grainy theyre probably cookin applkes

sour sleet
#

There are apparently 7,000 types

tidal stone
#

usually used in pies and the like happy

rigid musk
#

Im trying to limit it at least a little so they can actually be used for recipes and aren't just... more things to add to the collection tab

#

Yeah! I did a bit of research on it while making the general recipes for my mod, trying to figure out which ones would be best for what

tidal stone
#

oooh love that

rigid musk
#

each apple type has different recipes theyll be used for :D

#

Crab apples would be pretty good for some apple muffins :3 I didnt have a recipe for those so ill add that... plus tiny apples are cute so i must

tidal stone
#

i love cooking in games so darn tootin im downloding appleovania

sour sleet
#

Ooo Pelican Town food truck is on the Hot Mods section

tidal stone
#

oooooh

brittle pasture
#

you should add Red Delicious variety, with -80 energy upon eaten

tidal stone
#

real

rigid musk
#

Red Delicious apples are kinda awful arent they...

tidal stone
#

REAAL its cause theyre vbaking apples i think

#

i might be twrong i learned this stuff in 3rd grade laugh

rigid musk
#

Though I'm just doing a patch on the vanilla apple to rename them to red delicious apples already xD

#

thats waht the vanilla game apple reminds me of the most anyways

#

God I never finished watching the video that the youtuber did of my mod (specifically him playing through the 14 heart cutscene and I keep having to pause it cause I feel so silly watching it... i hate being perceived god)

tidal stone
#

pink ladys are 3/5 apple intensity apparently

rigid musk
#

I love pink ladies and cosmic crisp apples

tidal stone
#

YESS 🙌

#

you should make qi apples /jk jk

rigid musk
#

hah i could

tidal stone
#

XD

rigid musk
#

Also I lied, apparently i was making the apples in game gala apples not red delicious apples

latent mauve
#

Anyone have any ideas what the "Down" sprite box in Demetrius's sprite sheet might have been meant to represent?

tidal stone
#

im now realising that with all the categories im gonna be making hundreds of these cards so im kinda glad button isnt done with that framework because it gives me time to get all the art done bunlaugh

lucid iron
#

these?

#

ive never seen em in game so i feel they r debug

latent mauve
#

yeah

lucid iron
#

notes to self

brave fable
#

i think you're as likely to get an answer on that one as you are asking about george's blue cube

latent mauve
#

I think Sit is pretty self explanatory

brave fable
#

the sprites aren't used. by filling in some junk it's clear it's a broken sprite instead of just having him invisibly broken

latent mauve
#

Fair enough

#

I'm intending to use them for Robbie's sprite (Zelda mod stuff), so I was curious.

#

Was wondering if I could pre-empt having to update him if that inevitably gets filled in xD

brave fable
#

i mean if it's inevitable, you're welcome to take a guess at what | \ OOW ~ is gonna be lol

#

but in that case i'd just keep it blatantly wrong so it'll show up if it's ever replaced

gentle rose
brave fable
#

his beach and winter sheets replace the banana costume with some other dubious sprite

vernal crest
#

Ah that would make the lines in the down sprite "ditto"

brave fable
#

⬅️ sit

vernal crest
#

Pen up, pen down?

lucid iron
#

remember to ask mr ape about this the next ama Dokkan

#

or just ping him if u r daring

gentle rose
brave fable
#

now that you mention it, they're likely just extra frames for demetriums' clipboard notetaking sprites

#

pendown must've been recycled into the banana suit in a later update, i don't know when it came in

golden basin
#

this is weird so, there are no entries for passerby cliffs and its a new save. I looked through all my files too nothing spawning in passerbycliffs i have no idea why this warning is here 👀

latent mauve
#

I'll just have the "ditto" down sprite blank then, thanks!

rancid musk
ornate locust
#

two questions: 1. Does Rain always overwrite other schedules, or is it just about the order on the list of schedules?
2. how the fuck does Lewis's schedule work re the community Center? As far as I can see in his schedule files, it's just... it's just spring's schedule, he goes in there. Why doesn't he do it before it's fixed? what

golden basin
#

Probably hard coded shenanigans

ornate locust
#

annoying, but makes sense

#

When you're looking at game files to see how to do something, always annoying to trip over that kind of thing. Guess I'm doing a When

golden basin
#

I'm confused by my tree spawn warning

#

There's no spawn entries in the area that's throwing warning

uncut viper
#

theres something in the schedule parser code that checks for whether a location is even accessible, so that probably stops lewis

ornate locust
#

Oh that makes sense. Unfortunately won't help my use case, but now I know

#

Yeah looks like that's how Clint does it too

#

The wiki just says rain and rain2 apply on rainy days, it's not very clear how that works with priority

#

wait no it says "listed HERE" not "listed"

#

that is clearer never mind

#

load-bearing "here"

vernal crest
#

Yeah from looking at the code I think the schedule keys higher on the page take priority over rain. So a rain schedule would take precedence over spring_Mon, for example, but spring_1 would be chosen instead of rain if it was present.

latent mauve
#

Community Center and Railroad both have fallback locations IIRC

#

For schedules

ornate locust
#

How does that work?

#

if you have any idea where that's listed/changed

brave fable
#

JojaMart is also checked for accessibility, these three are hardcoded exceptions:```cs
private bool changeScheduleForLocationAccessibility(ref string locationName, ref int tileX, ref int tileY, ref int facingDirection)
{
switch (locationName)
{
case "JojaMart":
case "Railroad":
if (!Game1.isLocationAccessible(locationName))
{
if (!hasMasterScheduleEntry(locationName + "_Replacement"))
{
return true;
}
string[] split = ArgUtility.SplitBySpace(getMasterScheduleEntry(locationName + "_Replacement"));
locationName = split[0];
tileX = Convert.ToInt32(split[1]);
tileY = Convert.ToInt32(split[2]);
facingDirection = Convert.ToInt32(split[3]);
}
break;
case "CommunityCenter":
return !Game1.isLocationAccessible(locationName);
}
return false;
}

latent mauve
#

For your use case, it might be easier to use a MAIL command to set specific schedules based on the flags, like in the example: Example: MAIL ccVault/GOTO spring/GOTO summer (runs GOTO summer if the bus is repaired, or GOTO spring if it isn't; not limited to GOTO commands).

brave fable
#

Replacement schedule entries are interesting, here's one from Sam:

  "Mon": "1000 SamHouse 17 15 2/1100 JojaMart 16 5 2 sam_work/1600 SamHouse 17 13 0/2130 SamHouse 22 13 1 sam_sleep",
  "Wed": "GOTO Mon",
  "JojaMart_Replacement": "ArchaeologyHouse 40 4 2",

so on mondays and wednesdays he would try and go to his job at JojaMart, but if you've closed them down, he'll go to his JojaMart_Replacement schedule position instead anytime you try and send him into JojaMart

ornate locust
#

Oh that's cool

brave fable
#

note that this explicitly only works for JojaMart and Railroad schedule entries, and CommunityCenter will simply fallback to default or spring depending which is available

ornate locust
#

Odd

#

Well, good to know anyway. Guess I'll be using flags

brave fable
#

i don't see why this shouldn't extend to communitycenter or any other map honestly, but it doesn't

#

anyway all the accessibility rules are hardcoded into Game1.isLocationAccessible, which includes Desert as well if ever you wanted an optional entry there

ornate locust
#

Cool. Thanks!

#

I've only used mail flags with actual mail before: If I want to use a mail flag as just like... a flag, how do I do that without a letter? Just the ID and blank quotes in Mail.json?

#

or do I not have to do anything in there

vernal crest
#

Nothing in data/mail at all

uncut viper
#

and make sure you send it to the received inbox

ornate locust
#

So Mail's just for the actual letters Perfect, thank you!

gentle rose
#

you know how content packs, portraiture mods, replacer mods and xnbs all count as mods?

...what if I upload a mod and it's an image you can print, cut out, and tape to your screen in the correct position

clear bough
#

Has anyone used Miss Coriel's NPC Creator 3? I was looking at this relationships part here and I believe this is where you can enter family relationships in case the custom NPC is related to one of the vanilla characters.

brittle pasture
#

isn't that still outdated

uncut viper
#

yes

brittle pasture
#

we recommend learning how to work with Content Patcher and 1.6's new NPC data structures instead

tidal stone
#

ok what section should i do now for my cards do you think? crops, weather, festivals, characters? hmm, i could also do ore, monsters, artifacts, or animals

clear bough
vernal crest
#

!npc Tia's tutorial linked below

ocean sailBOT
#
Creating a Custom NPC

Keep in mind that making NPCs is a complex process that requires learning many different aspects of Stardew modding.
Here are a few links that can help get you started on all that you need to know:

tidal stone
#

Tiakall's tut is really really good!!

vernal crest
#

It's the first link but the others are helpful too. If you want to try working with a creator tool still, try Fireredlily's NPC builder. It's still WIP but can help with getting stuff in the right format without abstracting it as much as Coriel's creator.

rigid oriole
#

can you do spoiler tags in a nexus mod desc?

brave fable
#

you can, but it turns into a collapsible panel instead of an inline censor

rigid oriole
#

collapsible panel is ok with me

foggy torrent
#

Question, how would I edit spouse rooms? :3 thank you~

foggy torrent
#

Is there a way I can remove the marriage dialogue as well? XD

#

thank you!

rigid musk
#

not sure how to edit already existing spouse rooms but you can simply overwrite marriage dialogue by replacing the entry with whatever

brave fable
#

are you already familiar with how to create a content pack mod using Content Patcher?

rigid musk
#

i.e. if the spouse has a "Good" dialogue you can just replace it with your own Good dialogue and it should overwrite it

foggy torrent
rigid musk
#

Oh like... you dont want them to have any marriage dialogue at all?

#

I don't know if that's possible since there are lines that will be pulled as 'defaults' if there aren't any entries for it

foggy torrent
#

Yeah 🤔 I want to do a custom one for each NPC, but I dunno how to get rid of the generic dialogue I hope it makes sense! I don't think it has anything like that XD

rigid musk
#

Oh well again you can simply replace it with what you want the lines to be!

#

i.e. i know one of those default lines is fall_8 (If im remembering right anyways) where they talk about fixing up the house

foggy torrent
#

oohh..

rigid musk
#

you would just target "Target": "Characters/Dialogue/MarriageDialogue[charactername]" and then replace the "fall_8" line with whatever you want

rare orbit
rigid musk
#

ignore the fact that i wrote target twice

foggy torrent
#

alright cool!!

rigid musk
#

wheeze it just did that to me too, i was writing some notes for v 1.1.0 for my mod and what I plan to do and I wanted to check something on my mod page and it was just... doing that

rare orbit
#

any idea what settings for sve are best for low to mid level laptop?

#

i wanna play sve but i rarely have luck with it

rigid musk
#

toggling both the low memory settings should help you

rare orbit
#

also any one put a list of what mods are compatible with it and what's not??

rigid musk
# foggy torrent alright cool!!

if you look in the characters marriage dialogue jsons that you want to change you should be able to easily see what entries they already have and change those,

rare orbit
#

oops wrong area

foggy torrent
rigid musk
#

well you can!

brave fable
# foggy torrent Question, how would I edit spouse rooms? :3 thank you~

assuming you've made a copy of the unpacked file Maps/spouseRooms as some new file assets/MyCoolNewSpouseRooms.tmx, it'd be simple to replace the map with your own asset:```json
{
"Format": "2.5.0",
"Changes": [
{
"Action": "EditMap",
"Target": "Maps/spouseRooms",
"FromFile": "assets/MyCoolNewSpouseRooms.tmx"
}
]
}

if you cropped your new file down to just a single room, you'd need to change the `ToArea`, so for Emily's room you'd use these coordinates:```json
{
    "Format": "2.5.0",
    "Changes": [
        {
            "Action": "EditMap",
            "Target": "Maps/spouseRooms",
            "FromFile": "assets/MyCoolNewSpouseRooms.tmx",
            "ToArea": { "X": 6, "Y": 18, "Width": 6, "Height": 9 }
        }
    ]
}

where the coordinates are given in tiles, starting from 0x ,0y in the top left of the map, assuming your map is also 6x 9y in size to match all the existing maps

rigid musk
#

Like the bed dialogue, you know if you remove the bed in your farm house and how your spouse is just like 'bro where's the bed' you can change that

#

you just have to know which entries to replace

rigid musk
#

actually all of the 'default' marriage dialogue that every spouse will have (if there is no entry) is in characters/dialogue/marriagedialogue

#

(the one without a name at the end)

foggy torrent
#

yeah, I just don't want certain characters to say it, since it seems so out of character XD

rigid musk
#

That's fair! Again all you would have to do is make an entry for them -i.e. if you wanted Abigail to say something specific on fall_8 you would do:

"Action": "EditData",
"Target": "Characters/Dialogue/MarriageDialogueAbigail",
"Entries": {
"fall_8": "I love eating topaz on fall days, it just fits the theme, you know?"
  }
}
#

yes, fall 8th is fall 9th definitely

foggy torrent
#

Ohhh you can overwrite it? :0

rigid musk
#

Yeah :D

#

You just have to know which entries to replace like I said :3

foggy torrent
#

LOL, it do be like that XD thank you

#

yes, 15th summer and 8th fall XD

rigid musk
#

ah yeah the flies comment

#

i know the 8th also has one abougt them sweating in the heat

rigid musk
#

If a spouse doesn't have an entry for something itll be pulled from there

rigid musk
#

Youll probably have to cross check with each spouse you intend on changing the dialogue of as well to see if they already have entries for things, I think a few might

foggy torrent
foggy torrent
rigid musk
#

CB_clappyclap I'm glad I could help! If you have any other questions feel free to ask (or ping me) and I'll answer if I can

foggy torrent
brave fable
#

!reload

ocean sailBOT
#
How do I reload my changes while I'm still in game?
  • Content Patcher pack: enter patch reload <your_mod_id> in the SMAPI console window. This will reload and reapply all your patches (but won't recalculate the ConfigSchema or DynamicToken sections if you use them).
  • Translation files: enter reload_i18n in the SMAPI console window. If it's for a Content Patcher pack, also run patch reload afterwards.
  • C#: see the Visual Studio hot reload or Rider hot reload feature.
rigid musk
#

patch reload [internalmodid] oop

#

blueberry is fast

uncut viper
#

eager to use the fresh reload command

brave fable
#

eager to not have to write out all the exclusions like configs and translations SDVdemetriums

foggy torrent
brave fable
#

as far as i'm aware, pretty much all SDV modding knowledge is either within this discord, the official wiki at https://stardewvalleywiki.com/category:modding, or on the unofficial modding wiki, with some author blogs here and there linked from the modding wiki

#

i doubt there's much you can find via google, it doesn't seem like the big search engines are interested in promoting niche content like this in searches anyway

foggy torrent
#

does anyone else know where this might be? I don't see it in LooseSprites

brave fable
#

you mean shane specifically, or the border?

foggy torrent
brave fable
#

he's in Portraits/Shane_JojaMart

foggy torrent
#

Huh it doesnt show up on my unpacked folder o,o

brave fable
#

have you unpacked since SDV 1.6 released?

foggy torrent
#

Hm, I was sure I unpacked it, I found the decoration of spouse portraits that the trader has XD I want to unpack it again and its saying this..

brave fable
#

have you updated stardewxnbhack since 1.6 released? ☀️ we're at 1.1.2

devout otter
#

Joja Shane was specifically a 1.6.9 update.

#

Along with Joja Sam and the Lost Items crow vendor.

foggy torrent
#

ahhh..... I havent updated xnbhack

#

joja sam?! waw

#

awesome awesome XD

brave fable
#

he's the evil mirror dimension version of sam. loves money. hates children

foggy torrent
#

crow vendor omg

#

HAHAHAH XD yes

#

do I just download from github for the updated vers

dusk mulch
#

Did you ever get around to this by the way?

dusk mulch
#

i have never seen an error that isnt a CP error

foggy torrent
dusk mulch
#

Oh

foggy torrent
#

Sorry for confusing you, and thank you

#

:3

dusk mulch
brave fable
#

some of the rest are still boring (no method found for signature), and the not-boring ones are the ones you really don't want (invalid program, engine execution error, accessed protected memory, ..)

uncut viper
#

my favourite is when you get an error in an xml document, thats a fun one. not so fun for the ears though

dusk mulch
uncut viper
#

it usually happens when i fuck up badly enough that it cant load my save file and then more things break and then it cant read my startup preferences file

#

so it resets all my volume sliders to max

dusk mulch
#

oh jeez

brave fable
#

i don't think i've had a save-breaking error since working with raw bundle data

#

another fine reason to ignore community kitchen 1.6

gentle rose
brave fable
#

sometimes FatalEngineExecutionError comes to me in my nightmares. you never know when. it could happen to you, too

late bramble
#

Hello, I've been trying to add my custom location on the data/worldmap so I can have the tooltips and all that. I've noticed that every entry on it starts with the curly brackets {}, how do I make it so that the edit that I'm trying to add using the "entries" in action/editdata starts with the curly brackets?

drowsy pewter
#

It'll be formatted like that once it goes into the game

#

in your content patcher file, there needs to be a "key" (the word at the beginning) to differentiate it from other entries

#

Try checking out another mod which adds a location to that file, or really any mod

#

In the mod files, they start with the "key", but when you export the modded content from the game files, it's formatted correctly in the way that you noticed

late bramble
#

Ooh, I see. I'll give it a try, thanks!

obsidian ibex
#

this frames

dusk mulch
#

Hm?

#

What are you trying to say/do?

obsidian ibex
#

i want animate this frames with tiled to my farm

#

the "AlwaysFront" it's the better, but how i make the animation?

late bramble
#

If you want to animate a tile in tiled,go to the tile properties

#

Then select the tile thjat you want to animate, then on the toolbar on top you can see a movie icon

obsidian ibex
#

:0

#

i'll try, wait

late bramble
#

You can drag the other frames on there as needed

#

If you need references on the duration, you can open the vanilla tmx file on any map that uses the same spritesheet and check it there

late bramble
#

For example, this is the data for that

obsidian ibex
#

oh dude thanks!!!

obsidian ibex
dry flicker
#

Ciao, is it possibile through CP mod to write in the SMAPI terminal?

hallow prism
#

i think it's ok, i do have a tendancy to be a bit rigid about stuff sometimes and relaxing can be a good idea 😄

marble verge
#

Makes sense to be dedicated to how you envision your work.

#

I like Earthy nowadays, but it did have to grow on me. I used another one before... Can't remember the name, but it hasn't been updated since 1.4-ish?

hallow prism
#

starblue? eemie's? pastoral?

marble verge
#

I think it was Starblue?

hallow prism
#

hmm, not pastoral, this one is updated i believe

marble verge
#

The main beef I have with vanilla is the brightness and contrast - it's why I started looking for recolors./

#

By the way - the fossil items in VMV don't seem to be accepted by the Bone Mill, unless something has changed the last time I tried. Is that intentional?

hallow prism
#

i will see if i remember to look at the rules

#

possibly they don't have the bone tag and other fossils do

marble verge
#

They have "fossil_item".

#

The only one that has "bone_item" seems to the Giant Tusk.

hallow prism
#

i meant vanilla fossils may have the tags, bone mill use the tag afair

marble verge
#

Looking at the vanilla Objects.json, they have both

#

Both "bone_item" and "fossil_item", I mean.

hallow prism
#

thanks for confirming 🙂

marble verge
#

No problem.

static junco
#

Hey guys I was wondering if anyone knew any good ways to do this. Basically I'm making custom sleeves with fashionsense. all the modding stuff is going fine, I'm just wondering if anyone has efficient ways to test it out? Since there's so many niche animations you have to make the sleeves for I'm unsure how to test them all out in-game and I obviously want to see all the animations and change them if needed.

#

Im much more used to making more simpler fashion mods and this is my first time making sleeves!

#

if anyone has any ideas/advice feel free to ping me since sometimes im bad at checking gc messages !!!

shadow pagoda
#

Does anyone know a way to check which areas and their respective bundles in the community center the player has unlocked? When the CC is first open, the Craft Room is just opened. But when the player finishes a bundle, more areas open up. I tried looking at the markAreaAsComplete method as I would assume that would be the method (or one close in the stack trace) that would handle unlocking another area. But ILSpy is telling me that method just sets a boolean to true, and the method isn't used anywhere. Any thoughts as to why this is the case?

signal summit
#

Is it possible to modify statues' drops? Like for example for the statue of endless fortune to grant Prismatic Shards everyday? How so?

hallow prism
#

maybe, but at this point you probably will have easier time making your own machine/statue

royal stump
tribal ore
#

Sanity check please: does it matter which order a portrait and item tag come in dialogue? Are these both valid?

"Hey, this is for you!$h[353]" vs "Hey, this is for you![353]$h"

hallow prism
#

they look the same to me

tribal ore
#

There 😛

#

$h before [] or [] before $h

rough lintel
tribal ore
#

Or both?

rough lintel
#

well. not issue. but query

tribal ore
#

Wiki is unclear

hallow prism
#

sadly i don't have any idea as i don't use portraits in my gift giving dialogues apparently

rough lintel
#

right now i have mine before the [] but i havent tested that in game

#

i guess easiest solution is to load up and see if it yells at you lol

tribal ore
#

I'll go do that now I guess. I have mine in both ways in my mod, and am hoping that some aren't broken

#

Will report back

rough lintel
#

save us kantrip 🫡

swift swan
#

Hi guys, I'm trying to work with StardewUI. I tried following the guide on the documentary but I get the error System.NullReferenceException: 'Object reference not set to an instance of an object.'. Could anyone help?

#

On line 43.

royal stump
#

just quickly skimming the code, I don't think it technically cares where item IDs or portraits are in the dialogue, even if you put them in the middle of a sentence
(though I don't recommend that, just for your own sake)

lucid iron
#

Did u call it too early

#

!log

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
tribal ore
vernal crest
#

Dialogue breaks if portrait commands are the first thing in a line (especially $1 because that's the "show once" command as well as happy face portrait). I am unsure about what happens if they go anywhere else.

tribal ore
#

My anniv mod consistently does portrait -> gift, but I forced it to reverse. Both portrait and gift still work

tidal stone
#

Is it possible to give an animation with cp to a held item and open it in your inv or should i make my card packs based around geodes and have clint smack em 🤔

tribal ore
#

Also, you can't do @$l or something

vernal crest
#

@$l?

tribal ore
#

Farmer's name, portrait

#

"Hey, @$l, how are you?"

#

Got that as a bug report

vernal crest
#

Ah right. I've never tried putting a portrait command anywhere except the end of the line because of the instruction on the wiki to never put them anywhere except the end of a line xD

tribal ore
#

Fair! But yeah, I can confirm that portrait -> [] gift DOES work, and works well

swift swan
ocean sailBOT
#

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

swift swan
#

I'll make sure to use that thread after this-

vernal crest
#

Huh I thought this whole conversation was happening in SMC and was very confused when I couldn't find it again xD

rough lintel
swift swan
timid echo
#

Hello, I have been working on a portrait mod for some time now, but I have hit a snag in regards to the coding
Which is that I can't get it to work, and I need help, any help would be wonderful! I am not great at tech or coding but I have been working on these portraits for a while now, nothing I do will get them to work in game and smapi keeps saying that my folder is empty, I would sincerely appreciate any help!

rigid musk
#

if its saying the folder is empty you likely don't have a manifest

#

!startmodding

ocean sailBOT
#

Making mods can be broadly divided into two categories:

Usually it’s easier to start with making content packs, since you don't need to learn programming.

tribal ore
timid echo
timid echo
#

maybe I should try again?

rigid musk
#

Oh those aren't actual json files

#

they're just text files named '.json'

#

I think that's your issue

tribal ore
#

Good catch!

#

Otherwise, I can't see anything wrong with the actual manifest code

#

@timid echo Windows hides file extensions by default. Those files are probably really named "manifest.json.txt"

#

You will need to make Windows show file extensions before you can change them

unreal spoke
gentle rose
tribal ore
#

Or Google "Windows show file extensions" if you need a visual guide

timid echo
#

I'll fix it and check if it works and come back to ye, thank u very very much I appreciate it!

tribal ore
#

Good luck!

timid echo
#

thank you!

tribal ore
#

Is there any way to access another mod's moddata via CP, or does the other modauther need to expose it as a CP token?

#

Because otherwise I may actually need to step into C# modding

shadow pagoda
tribal ore
# lucid iron What kind of mod data

Working with the author of PolySweet right now to get anniversary dates for multiple spouses. She's made me a build that apparently adds the key I want to the NPC's datamodel:

Abigail:
"Name"...
"OtherStuff"...
"ModData":[
"PolyamorySweetWeddingDate": "137"

It is a string, though, because the ModData only takes strings.

#

I'm going to ping her directly when she's available, but wanted to make sure I'm not overlooking something stupid

#

If I could find any other mods that support/use PolySweet as a starting point, I might be able to answer that question for myself. But I don't know of any.

lucid iron
#

I was checking BETAS and hm i didn't find one that looks for npc mod data

#

Make apryll expose a content patcher token instead tbh

#

Or both Dokkan

tribal ore
#

That's what I was thinking. I feel bad asking for extra work, but I wanted to make sure that was the solution before asking her

#

Congrats on hot mod, btw @lucid iron !

lucid iron
#

It's tea's hot mod Sleepden

hallow prism
#

i too prefer my tea hot, in mod or irl

lucid iron
#

But iced tea is great

tribal ore
#

Speaking of which, I need to go finish brewing my coffee

lucid iron
#

Anyways i thought rn you aren't really supporting after the fact installs anyhow

plain marsh
#

Hello everyone, does someone care to help me fixing Fishing Trawler mod sprites? The fish box is bugged and I would like to know if it's possible to fix it for personal use

royal stump
tribal ore
#

Wedding Anniversaries now works for existing spouses. No TriggerActions needed anymore!

lucid iron
#

Ok cool

tribal ore
#

The next most requested thing was PolySweet support, so I'm trying. Sorry if that last sentence came across as aggressive btw -- it wasn't meant to be. Should have used tone tags

#

I was just making sure you were addressing me

lucid iron
#

Yep no worries

#

I read everyone with neutral voice unless it's all caps

modern plinth
#

has someone used ai to make events before? I never figured out how events worked so i was wondering if it can help at least make basic stuff and then i can just go around and fill dialogue and fix whatever its broken

hallow prism
#

it is unlikely to help

#

and likely to make things even harder for you

lucid iron
#

I don't think the AI is trained on sdv event scripts lol

hallow prism
#

the best approach to event is start very very basic and adds to that

#

and we can help with the very very basic part

hard fern
#

from what i've seen ai is bad at simple content patcher stuff so i doubt it will be any use for something like events

tribal ore
#

If you're intimidated by events, @modern plinth , just start by modifying one of the vanilla events. It's not so bad once you get started

flat sluice
#

Hi,
I am pretty sure this is a basic question and I should know the answer to it, but still - a few days ago, I started creating a very simple C# code (#making-mods-general message), and the tutorial is saying that the file name should be ModEntry.cs. However, if I look at the source code for Content Patcher or for SVE, there are many other code files.

So my question is - is it possible to have more .cs files that would, for example, be named by the things they do? If so, is it difficult to create more files, by that I mean if I need to somehow include them like other .json files in CP mods? And do you think it is better to have separate files or one file, and why? Do more files bring some problems, like performance issues?
(sorry, my curiosity is too big 😆)

lucid iron
#

You can do using yep

#

More of a general C# thing though, I'd recommend checking out a comprehensive tutorial if you want to know more

rancid musk
#

In C#, you generally want each class to have its own file. Beyond that, you need to know how to efficiently organize code and use classes and that's a very big topic