#making-mods-general

1 messages · Page 562 of 1

ornate drift
#

"new year new me" ass code

gaunt heath
#

The NPC ID is the singular identifying aspect of the NPC. New ID, new NPC.

ornate drift
#

anyway, the door is visible, but its not interactable

gaunt heath
#

That's why unique IDs are so important

hard fern
#

it is missing the action door i think

#

if it exists but cannot be opened

torpid sparrow
#

doors are evil

ornate drift
ornate locust
#

The door is also a tile too close, looks like

#

it

#

it's floating in front of the door hole

ornate drift
#

i forgot to name hte tile property tiledata

#

fuck

gaunt heath
#

Ok it's getting late and I have work tomorrow, I'm off

hard fern
#

well that would explain it

ornate drift
#

you all are very talented

gaunt heath
#

For the most part we've all just been at it for years

#

I started modding in early 2020

torpid sparrow
#

guh 6 years

#

i hope im still modding in 10 years

ornate drift
#

stardew valley is like minecraft

#

you cant let go of it

deep plume
#

I started in 2016! I wonder how long the modding community will stay so active

torpid sparrow
#

its almost 2 years since i first started modding

slow basin
#

im trying to follow the custom companions companion ring example, and i've got the ring, just not the companion XD

torpid sparrow
#

i think a couple weeks away

deep plume
#

1.6 brought a ton of players and modders in, I hope 1.7 does the same

ornate drift
#

Elle more like Elite

deep plume
#

don't worry, I still don't know what I'm doing!

ornate drift
torpid sparrow
#

ellite more like elliott

#

oh my god

hard fern
ornate drift
#

...yes?

hard fern
#

hm

#

is the log saying anything...

torpid sparrow
#

thats what happened when i tried to door

#

and then i never tried to door again

ornate drift
ornate drift
#

i even made sure of the map property

#

this is still haleys base

hard fern
#

wait

#

no nvm

#

im tired SDVpufferflat

#

i misread something

ornate drift
#

my brain is melting

torpid sparrow
#

hi tired im forsy

ornate drift
#

and the door

#

tile property

hard fern
ornate drift
#

and dw i ask too many all the time

torpid sparrow
#

uh does moddid work in tiled?

#

i thought it didnt

gaunt heath
#

psssst as I brush my teeth, {{ModID}} doesn't work in tiled

torpid sparrow
#

score

ornate drift
#

bro 🥀

gaunt heath
#

You need to put your actual mod id

ornate drift
#

speedy.mannynpc?

torpid sparrow
#

if thats ur modid

#

then yes

ornate drift
#

grrrrrrrrrrr

torpid sparrow
#

yes

#

speedy.mannynpc

ornate drift
#

im gonna get tired of hearing my name AND my sonas name everytime

torpid sparrow
#

well just in tiled

ornate drift
#

and in patching

torpid sparrow
#

thats funny tilly is my sona too

#

although this version of tilly isn't really

#

Dew!Tilly

gaunt orbit
#

damn, turns out c# ignores the sign when checking for zero equality on floats

jaunty shuttle
#

Now i'm curious

torpid sparrow
#

about quoi

hard fern
#

i, for one get tired of writing my mod id every time i have to use it in a console command XD

hard fern
#

at least in vsc i can just go {{ModId}}

ornate drift
torpid sparrow
#

hi parrot

ornate drift
#

i hate this game 💔

#

is it because i dont have manny discovered yet

torpid sparrow
#

dont think so

hard fern
#

uhh if it's his room then are you friends with him

ornate drift
#

no hes ??? on the social tab

torpid sparrow
#

does it give u any popup

ornate drift
#

nothing no

torpid sparrow
#

then i dont see why not discovering him would be an issue

#

given that we get popups for all the vanilla villagers

#

even if we havent met them

#

and thats how it is in other mods too

ornate drift
#

oh yeah the exit is also bugged lmao

torpid sparrow
#

what the issue IS however i do not know doors hate me and i hate doors

gaunt orbit
# calm nebula What did you do

I have a depth offset property stored in a data object, and I wanted a way to use flag values to indicate if it should instead just BitIncrement or BitDecrement the base depth value instead of adding the offset. I thought +0 and -0 would be a convenient way to do that

ornate drift
acoustic compass
#

Oh, if you’re trying to get into npc houses, would it be possible to cheat in the key to the town for that?

ornate drift
#

its a custom NPC mod

torpid sparrow
#

in the process of making the house

ornate drift
#

im trying to make it so you cant access Mannys house until youre friends with him

torpid sparrow
#

not playing :3

hard fern
#

key to the town should work for that though

gaunt orbit
hard fern
#

or wait

torpid sparrow
#

no

calm nebula
#

Well I was gonna a say this but maybe not

ornate drift
calm nebula
gaunt orbit
#

-0 is a perfectly valid floating point number

ornate drift
#

wtf

torpid sparrow
#

key to the town is FRONT door

ornate drift
#

i have the key

hard fern
#

no yeah im confusing myself

gaunt orbit
torpid sparrow
#

no its front door speedy

ornate drift
#

oh right riht

torpid sparrow
#

not for interior door like that

gaunt orbit
#

that was one of the first things I tested

calm nebula
ornate drift
#

interior doors are EVIL

calm nebula
#

What about.....hnmm

hard fern
#

the door to my npc's house is just like leah's and elliott's where it is also their "room door" so to speak so i mixed up the two lol

torpid sparrow
#

yeah so is tillys and peeta doesnt have a bedroom door

#

sorry peeta couldnt figure it out

#

no door for u

gaunt orbit
hard fern
#

where does tilly even live

torpid sparrow
#

her house

#

above the blacksmith

calm nebula
#

Casting as an int

gaunt orbit
#

I will probably just add a second bool field instead

ornate drift
#

its also awfully dark

torpid sparrow
#

oh u can add lighting

calm nebula
#

I was about to suggest a reinterpret cast!

ornate drift
#

let there be light 🗣️

calm nebula
#

Lol

slow basin
#

my companion ring issue is probably really obvious and im just overlooking it 😭

gaunt orbit
#

I think putting unsafe code in a mod is a good way to make people afraid

slow basin
#

but i feel so silly

gaunt orbit
#

lol

ornate drift
#

?????? theres literally nothing there

hard fern
#

what's going on here

calm nebula
#

I've put unsafe code in a mod! SMAPI doesn't tell on you!

ornate drift
gaunt orbit
gaunt heath
slow basin
#

I no longer think its the ring and believe it must be the CC information =-=

cobalt lance
#

Stop using CC and look up trinket tinker

#

Well I guess a ring vs a trinket eh

ornate drift
# hard fern what's going on here

wait

the wiki mentions something about having a tilesetID like 1 or 2 (im using towninterior)

what if im using multiple tilesetIDs

#

im using bakery and bathroom right now

calm nebula
gaunt heath
#

Those are arbitrary, the game just happens to name them 1 and 2

hard fern
ornate drift
#

kailey go to bed (even though i want you to help me)

gaunt heath
#

You use whatever tilesetID you have set, there's a guide to identifying it in the door tutorial

slow basin
cobalt lance
gaunt heath
#

Aw heck yeah I opened discord for a reason

slow basin
#

i see!

gaunt heath
#

AH

ornate drift
#

ive been trying for the past HOUR

#

to get this door to function

#

the door just wont door

#

of all things id get stuck on i never expected it to be a simple door like DAMN

slow basin
#

the only reason i was gonna make it a ring was because i figured i could add it to a shop in care a lot

gaunt heath
#

That tutorial was written in a fit of passion

hard fern
#

one time i couldn't get a door to work and it was because i had offset my objects layer from the tile layer somehow and it fucked everything up.

cobalt lance
gaunt heath
cobalt lance
#

Night night!!

buoyant moon
#

Having Leah be in the first thing I'm writing has been.. interesting, with how her 8 heart event is conditional on an earlier choice, so I need to account for that in a number of ways SDVpufferdizzy

slow basin
cobalt lance
#

The documentation is really good, I self-taught everything so far

slow basin
#

awesome pawesome!

ornate drift
#

maybe theres an issue in the map properties itself

fathom hound
#

does anyone know where i can find the movie theater junimo plushies at?

fathom hound
ornate drift
#

maybe its because Manny hasnt been warped to that house yet?

#

hes just chilling in Town atm

hard fern
#

an npc being in their room doesn't make a door stop working

#

*not being

ornate drift
#

damn

#

i havent done anything related to the door animations

#

maybe its that?

hard fern
#

the door animates itself though

#

some kind of magic

ornate drift
#

hmmm

#

what about patching?

hard fern
#

patch what

ornate drift
#

nvm thats related to custom doors

#

ugh....

#

okay- we'll get back to this later

#

now i need to set up a warp

#

from the bakery exterior to the interior

broken rivet
#

I would like to ask, if I want to use a custom image to cover the style of the flute in the farmer's flute-blowing action when players use a custom newly added horse flute, what mod can be used to achieve this?

opaque cobalt
torpid sparrow
#

add a conditional appearance that is used for the wedding event

opaque cobalt
# torpid sparrow add a conditional appearance that is used for the wedding event

I have tried running variations of the line "Condition": "IS_EVENT 191393 502261 festival_spring24", with Attendees, default, and EventScript to which none have worked. I made sure it wasn't a precedence issue by having it be -25000. Would like to do appearance, but unsure if I being the big dumb, or if it would not work the way I think it would

torpid sparrow
#

appearance is in the character disposition

#

if u open up a vanilla character's file you'll see the appearances section

fierce vault
#

is there a way to make a hat have a separate icon for when it's in the inventory?

torpid sparrow
#

u can uhhh is it append?

#

let me check

tiny zealot
#

i can definitely tell you that line 54 (using Condition on a content patcher patch alongside Target/When) will not do anything

uncut viper
#

You also have a stray Attendees block just outside of anything

torpid sparrow
#

oh actuallyyeah that isnt a patch

calm nebula
#

Ichor I'm in bed but I swear the wedding has an event id

#

Like it might be "-2"

tiny zealot
#

i think it's -2?

torpid sparrow
#

no editdata or anything

calm nebula
#

Anyeays

torpid sparrow
#

hmm where did i put my npc appearance edits

tiny zealot
#

the wedding asset is a bit cursed because even though you can add your own event scripts for custom weddings, the Attendees section is global

torpid sparrow
# opaque cobalt I have tried running variations of the line `"Condition": "IS_EVENT 191393 50226...

{
"LogName": "Edit Abigail's Appearance",
"Action": "EditData",
"Target": "Data/Characters",
"TargetField": ["Abigail", "Appearance"],
"Entries": {
"{{ModId}}.AbigailPicnic": {
"Id": "{{ModId}}.AbigailPicnic",
"Portrait": "Portraits/Abigail_Beach",
"Sprite": "Characters/Abigail_Beach",
"Condition": "IS_EVENT {{ModId}}.Tilly_IslandPicnic",
"Precedence": -120,
"Weight": 0
}
},
},

can edit appearance like this

calm nebula
#

Do Attendees have gsq

#

Can you gsq against the bride and groom to be

uncut viper
tiny zealot
#

sure, of course

uncut viper
#

Wedding event scripts*

torpid sparrow
#

break free from patches, rebel

slow basin
#

I need to make a quick fix to my silly little npc ill do that in the next couple days

calm nebula
#

Depending on the groom/bride

#

What if you have two npcs who hate each other

uncut viper
#

By the time the wedding happens the player is already Married

#

so you should be able to check for spouse

calm nebula
#

Unless in multiplayer

#

Anyways

uncut viper
#

Im unsure where multiplayer comes into play here

opaque cobalt
#

I need the how can I work this like I am 2 and half explanation. My brain is about as smooth as peanut butter. All I know is that the NPC would be just an attendee (NOT groom or bride), and that wedding id seems to be funkier than regular festivals

calm nebula
#

You see other player weddings

#

So if you're watching the wedding of someone else

torpid sparrow
#

just confirming the wedding has an event id right

#

would that work for IS_EVENT condition

calm nebula
#

You would want to check against their spouse not yours

torpid sparrow
torpid sparrow
opaque cobalt
uncut viper
#

The target player is the farmer being married

torpid sparrow
#

you had the right idea of changing the portrait/sprites based on a condition but 1. you didn't actually patch anything and 2. uhh idk if that's how it works to define attendee im not sure

#

however i do know you can modify appearance in my example

#

like you didnt edit any data

#

u just put Attendees

ornate drift
#

i managed to make a warp for the bakery but the warp for leaving the bakery doesnt work

opaque cobalt
# torpid sparrow u want to change the appearance of kent during wedding, then add a patch like th...

Yep, that part I have. I have an appearance block for an always worn config option and one for event only. What my issue has been is in trying to find what the actual event ID is for the wedding so have it actually work for that event only option. Lacking a solution, I tried method B which was to attempt to alter attendees list.

Okay thanks, will try to fix all errors I have made and see if things start to work

ornate drift
#

it still has haleys base FUUUUUUUUUUUUUUUUUUCK

torpid sparrow
#

u should get debug mode mod

#

you'll be able to see what event id an event has

#

or you can try debug ebi -2 in console to see if the wedding plays

torpid sparrow
ornate drift
#

apparently yeah

#

ran around in the void and randomly tleeportd in front of haleys house

torpid sparrow
#

uhhhh screenshot ur tiled

hard fern
#

if i included bits of narration would you mentally read them the way the narrator does in the stanley parable....

calm nebula
#

Isnt Stanley a mug

torpid sparrow
#

water bottle

#

tumblr

ornate drift
#

i think lemme test it

tiny zealot
torpid sparrow
#

ahh ok

#

yeah i was wondering

gaunt orbit
torpid sparrow
#

i wonder if is_event would work then

torpid sparrow
#

fucking freudian slip

hard fern
gaunt orbit
tiny zealot
#

but you can do debug wedding <NPC> (i think you have to do debug married first, since the event requires you to already be married. stardew is Fun™)

torpid sparrow
#

shortcut has a lot of steps

opaque cobalt
torpid sparrow
#

oh it did???

torpid sparrow
calm nebula
#

IS_EVENT -2 should work

torpid sparrow
#

wunderbar

ornate drift
#

the warp is done

calm nebula
#

It only took how many of us

#

Half asleep

ornate drift
#

yay now thats outta the way

torpid sparrow
ornate drift
#

this stupid fucking door still wont open LiveSob

torpid sparrow
#

Yeah fuck doors

opaque cobalt
calm nebula
#

I'm supposed to be asleep tooooo

hard fern
#

the door saga

#

it continues

ornate drift
#

wiwi wawa

torpid sparrow
ornate drift
#

bear indeed

#

i really need to give the bakery a makeover later this looks BAAAAAAAAAAAAD

#

also the parrot just clips inside the roof for some reason

torpid sparrow
#

Is it front

#

Is that layer on front

ornate drift
#

er

#

alwaysfront

torpid sparrow
#

Yeah

#

It be always front of u

ornate drift
#

parrot got decapitated

torpid sparrow
#

Big fan of just Bear on the side

ornate drift
#

the most intimidating thing rn is definitely events

#

like how am i gonna make the bear move, jump, do something, react

torpid sparrow
#

Well

#

Move and jump

#

Are move and jump

ornate drift
#

theres commands?

torpid sparrow
#

Yes

ornate drift
#

is it all done via json?

torpid sparrow
#

Yes

ornate drift
#

damn

#

well now we got warps out of the way

#

its time for lighting

#

!lighting

#

aw :(

torpid sparrow
#

Oh have you encountered day and night tiles yet

torpid sparrow
ornate drift
torpid sparrow
#

If u go to paths tile sheet there is little lightbulb

torpid sparrow
ornate drift
#

theyre in haleys base

#

no say it

torpid sparrow
#

Another property

#

To change the windows from light in the morning to dark at night

ornate drift
#

oh it just affects windows??????

torpid sparrow
#

I mean not just that but usually what it’s used for

#

Not necessarily

#

Theoretically could do it for anything

ornate drift
#

was wondering where that was coming from

torpid sparrow
#

Paths?

ornate drift
#

lemme check

#

doesnt seem to be any

torpid sparrow
#

Uhhhhhhhhhhh

ornate drift
#

but there are night and day tiles

torpid sparrow
#

Yes

#

Bedtime

#

More mod crimes tomorrow

ornate drift
#

oh ok

#

was fun talking to u cya!!!!! thanks for the help

fierce vault
#

sigh, testing my hat to make sure it looks ok on all the hairs isn't great

#

(it will most likely not look great on everything)

hard fern
#

it has come to my attention that possibly the reason my event fork was not working properly was because i had set a mail flag and never cleared it between revisions....

fierce vault
#

I set skip hairstyle offset to true, but the hat still doesn't sit on the same spot on every head

#

i guess that cancels extra offsetting?

inland rain
fierce vault
#

well, I'm just going to have to settle for imperfect with this hat

#

it just will not look right on some hairs

silver grove
#

I need some help with my content patcher mod bcaForgiveBeg3
I'm replacing portraits/sprites from a custom npc mod, but the new portrait/sprite sheets are slightly different where there's more added/changed. How would i proceed to change the npc data to the new sheets coordinates?

hard fern
silver grove
#

For example, the og portraits have slightly different expressions and placements for them compared to the default expressions of NPCs (neutral, happy, sad, angry etc)
The new portraits expressions are more the like the defaults

hard fern
orchid glade
#

Your best best is to edit the new portrait sheet to move the expressions to where they are on the mod's original portraits

silver grove
hard fern
silver grove
#

That's what i'm trying to figure out but don't know how to for content patcher

#

Especially for sprites

hard fern
silver grove
orchid glade
hard fern
#

hmmm

#

!npc

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:

hard fern
#

i know this is for making a custom one but it has all the parts that go into one

#

there should be a section for animations.

orchid glade
#

If you really want to add new sprites to animations you will have to change the animations in the files that use them, which are usually events and animation descriptions (for scheduled animations)

slow basin
#

ressurects from being eepy
I need to draw this map

hard fern
#

the main reason i wouldn't recommend trying to change someone else's npc in this way is like stated before, won't be compatible if the original mod updates the dialogue or changes anything about the animations

orchid glade
hard fern
#

[[Modding:Dialogue]] should have all the stuff about portraits, i think.

orchid glade
#

But if the point of your mod is to add longer sequences, and extra expressions not used in the original, and if you can't do that by formatting your sheets like the original, then use the dialogue, event, and animation resources Forsy linked.

hard fern
#

mhm, like say, the original has only 8 expressions, and you added two more, those two extra expressions will never be used unless you change the mod to use them, because they dont exist in the original.

orchid glade
#

If they are just in a different order - trust me it's a million times easier to rearrange them so they work with the existing dialogue.

agile terrace
#

getting hives thinking about people rearanging portraits and therefor having to have a different set up for every mod that changes that character

silver grove
#

I see i see nodding I can re-order the portraits, no prob
Sorry for being a bit vague about the mod in question, i wanted it to be a secret but it would be more helpful if i showed examples ElmaSweat

orchid glade
#

it's all good, we got there SDVpraiseyoba

hard fern
#

we are Finally standing in the right spot.

#

note to self: do not try and do fancy things with move commands....

#

although the tea looks like it's on the wrong tile... sigh

#

but other than that, perfect!

#

welp. thats all i got.

void aspen
#

Does changing blue layer transparency in Tiled affects the game?

long jungle
#

Lol

But, well, my mod deals with lots of numbers so I've been using it for mathematical equations at the early phase of my mod but once I got past that I have never used it again.

Didn't even cross my mind to use it on when conditions

long jungle
brave fable
void aspen
#

Parallax not working was the most saddest part for me to realise

#

It would add so much depth into the game

#

I suppose additional framework could do the thing, but native support could be nice too

ornate drift
#

good morning

mellow knot
#

@uncut viper i was troubleshooting with airyn and kedi and i think there might be an issue with CMCT and one of its tokens so i wanted to reach out and ask you. hope the ping is ok! SDVpufferheart Log is here for your perusal when you have a moment: https://smapi.io/log/3feace388f9a4e28b522dd094bad1537

ocean sailBOT
#

Log Info: SMAPI 4.5.1 with SDV 1.6.15 build 24356 on Windows 10 (10.0.19045.0), with 106 C# mods and 196 content packs.

near imp
# broken rivet I would like to ask, if I want to use a custom image to cover the style of the f...

(i see you didnt get any responses to this, maybe you figured it out in the meantime), but does the horse flute use the playing flute animation from Characters/Farmer/farmerbase (or farmer_girl_base etc)? if so you could potentially write a content patcher pack to overlay a specific part of this tilesheet. youd need to tie the patch to some specific When conditions though, if you only want it applied at certain times. this might not be helpful but i was backreading and figured id toss the idea out

void aspen
#

is it okay if I don't load all my custom tilesets to the Maps folder via json when I do a mod?
I don't really want people to edit it via other mods so is it fine to keep in a mod folder

near imp
#

you dont want them to access it..?

void aspen
#

I mean
I want them to show up in the game on my tmx

#

just uhh

#

by keeping them in the mod folder

#

or loading is necessary for them to show up properly

near imp
#

i dont really understand what youre trying to avoid? /gen

void aspen
#

not access, edit i mean

void aspen
cobalt lance
#

Are you saying you're worried about other people having the same map name when loading in their json files, so you would keep the file up a layer?

#

Data/Map_Name as opposed to Data/Maps/Map_Name?

near imp
#

you can avoid having much more than one Action:Load for all of your textures by naming the pngs strategically the same as how you want them named after loading, and then using something like "FromFile": "assets/{{TargetWithoutPath}}.png" on the FromFile

#

the {{TargetWithoutPath}} token strips down the target names to just the last bit.

#

let me find a better example, hang on

#

this is from Growable Forage and Crops:

        {
        "LogName": "Textures",
        "Action": "Load",
        "Target": "Cornucopia.GrowableForage/objects, Cornucopia.GrowableForage/crops, Cornucopia.GrowableForage/fruittrees, Cornucopia.GrowableForage/teabushes_indoors",
        "FromFile": "assets/{{TargetWithoutPath}}.png"
        },

you see they're loading four textures with one action load

void aspen
#

this is much better tyysm!

#

Cornucopia.GrowableForage in this case is a {{ModId}}?

near imp
#

yes, you can switch it with that token

hard fern
#

🤔 hm, is making a dupe of an event worth it if all im really doing is changing a few lines based on a condition?

torpid sparrow
#

i say yes

hard fern
# torpid sparrow i say yes

well on that note, can i stick a token in the i18n key, like ex: {{i18n:Dialogue{{Alt}}}}

which would be the key DialogueA in the i18n

#

or DialogueB

torpid sparrow
#

idk about those tokens im scared of tokens

hard fern
#

oh

#

well only one way to find out i guess.

torpid sparrow
#

i just did new i18n

near imp
#

i know i18n supports tokens, but idk if it works for dialogue (no experience in that area)

opaque field
#

I'm very basic with my tokens - so far I have some for player pronouns and nicknames, and favorite flower

hard fern
#

merci beaucoup

#

sigh and now im really wondering if this is a good idea... so many conditions... conditional events...

ornate drift
#

i must find a way to fix this door

#

i am NOT giving up

hard fern
#

stupid twa

#

tea

#

well event works just fine with the tokening

ornate drift
#

oh almighty kailey where are you when i need you the most

#

💔

torpid sparrow
#

omg ur still doing the door

#
Stardew Modding Wiki

Last edited by KaileyStardew on 2026-03-18 02:05:56
This is a mildly advanced guide for modders that assumes familiarity with Tiled, Content Patcher, and map modding fundamentals such as the difference between Map Properties and Tile Properties.
Interior doors, such as the one in Figure 1, are interactive map elements with hardcoded behaviour (...

ornate drift
#

i slept and took a break

ornate drift
#

KAILEY

slow basin
#

Question

torpid sparrow
#

no way she appeared

gaunt heath
slow basin
#

Have you tried seeing if caps matter? Maybe its case sensitive

ornate drift
#

the ritual worked

tiny zealot
ornate drift
#

time to open up my laptop

void aspen
#

Can someone explain doors property to me?

#

or is there a wiki page for it

gaunt heath
#

By GOD is there a wiki page

void aspen
#

oh Im blind sorry

#

tysm

slow basin
#

Psst wem

torpid sparrow
torpid sparrow
ornate drift
#

third is tilesheetID whatever youre using first

#

and tileID is the ID of the door youre using

slow basin
# torpid sparrow me

Did u see the silly practice map i made to test my tilesheet stuff im working on?

torpid sparrow
#

yes it looks really cute so far!

#

very cloud

slow basin
#

Yeee 😄

torpid sparrow
ornate drift
torpid sparrow
#

not typically, it's just your id

#

my id is Wem.Bundle

ornate drift
#

oh

#

mine is lowercase fully so ye

slow basin
#

Aah ok nodders_cat

ornate drift
#

maybe theres something wrong with the map properties???????

tiny zealot
#

many things in stardew valley are case insensitive, but some of them are not and it's a big gotcha when it gets you so it's safest to assume case matters

#

the only time i know offhand where your mod id would have to be rendered lowercase is when 1. your NPC has your mod id in its internal name (it should have this) and 2. you need a sleep animation for your NPC, which must be all lowercase because reasons

slow basin
#

Because the uppercase is too loud

torpid sparrow
#

this is true

opaque field
#

if editing shop entries and want to say 'show this but only if the person has received this letter' that goes in 'condition' under 'item spawn fields' in 'common entries' right?

tiny zealot
#

yes

tiny zealot
#

i don't know. i just mean if 1. the tutorial is accurate, 2. you followed the tutorial, and 3. the door isn't working, then the problem must lie with 2

torpid sparrow
#

kailey is infallible

slow basin
#

Im so tempted to make a door so i can help

ornate drift
gaunt heath
slow basin
#

Oohh true

ornate drift
gaunt heath
#

Ok coffee is done and laptop is charged, one moment

torpid sparrow
#

not ur mod id

#

what is ur npc's internal name?

slow basin
#

Because it goes (yourname).(modname)_(npcname)

ornate drift
#

is it the one with ModId next to it?

gaunt heath
#

That's your mod ID, not your NPC ID. Your NPC ID has your mod ID in it, but they're not the same thing

ornate drift
#

oh

torpid sparrow
#

send ur content json or wherever u put ur character dispo

ornate drift
gaunt heath
#

You've chosen a very complex project as your first tango with mods

torpid sparrow
#

so its speedy.mannynpc_SpeedyManny

ornate drift
#

thats a mouthful

torpid sparrow
#

put that into tiled

#

yes

torpid sparrow
#

u can do it

slow basin
#

I believe in uu

gaunt heath
#

It's important that your NPC ID be unique, so basically everyone's NPCs follow ModId_name. The player won't see it.

torpid sparrow
#

hmm i should probably add a door to peeta i feel more confident in being able to do it

gaunt heath
#

I can help you worst case, it's hardest the first time. After you get it right once it's really not that bad

torpid sparrow
#

when did u write ur door tut kailey?

gaunt heath
#

Good question, uhhh time is fake

torpid sparrow
#

true

gaunt heath
#

I'd have to check the publish date on the wiki but I think 2024 or early 2025

ornate drift
#

anytime i need to use it

torpid sparrow
#

tiled is rly the only time u need it

ornate drift
#

thanks

#

oh?

torpid sparrow
#

or at least only time i ran into it

gaunt heath
#

There will be many times in life that you name something {{ModID}}_ThingName

#

It's just standard practise

torpid sparrow
#

to be clear only time u need the full written out thing

ornate drift
#

i managed to make warps by myself

torpid sparrow
#

but u should have modid in many a place

ornate drift
torpid sparrow
#

everywhere pretty much

gaunt heath
ornate drift
gaunt heath
#

As far as I know it's still up to date though, no game updates have touched doors that I've seen

torpid sparrow
gaunt heath
#

I wrote it partly due to a meltdown in the modder group chat

#

Like three people all simultaneously got got by doors

ornate drift
#

YES OH MY FUCKING GOD

torpid sparrow
#

doors have no mercy

ornate drift
torpid sparrow
#

but kailey defeated them

ornate drift
#

kailey is the true coder

#

goat-er

barren tapir
#

What is this, D&D?

ornate drift
#

wem

torpid sparrow
#

wha

ornate drift
#

can you teach me about day and night tiles

torpid sparrow
#

i could i could

ornate drift
#

like where im supposed to place them

torpid sparrow
#

do i trust myself to explain it well

#

hardly

#

there should be a tut

gaunt heath
#

They're decently documented on Modding:Maps

torpid sparrow
torpid sparrow
#

the gist of it is, place the "day version" of your tile, locate the "night version" of your tile, and then go in map properties and identify the coords of the tile you want to change on your map, and then id or the night version tile on ur tilesheet to change it to

gaunt heath
#

Tiled is understandably one of the most unintuitive/intimidating programs to use when making maps or patches for your mod. you folks would not survive RPG Maker SDVkrobusgiggle

torpid sparrow
#

i barely survive tiled

gaunt heath
#

I like Tiled, it's not that bad!

#

I also fight scientific software from the cretaceous for a living

ornate drift
#

do i pick the bottom ID if my windows are like this

torpid sparrow
#

you have to do it for both

#

top and bottom tiles

#

the tutorial is pretty good

gaunt heath
#

There are also examples on the vanilla maps you can compare against, like SeedShop

torpid sparrow
#

its mostly figuring out what the numbers mean

#

NightTiles | Front 6 9 1220 Front 7 9 1221 Front 6 10 1220 Front 7 10 1221

this would be your tile is on the front layer at position 6, 9 and the night tile's ID in the tilesheet is 1220

gaunt heath
#

Layer, X coord, Y coord, tile index

ornate drift
#

oh one of my windows is on front 2

torpid sparrow
#

thats fine

#

it doesnt have to be on front

ornate drift
#

it still identifies as just Front?

torpid sparrow
#

no

ornate drift
#

or front2

torpid sparrow
#

front2

gaunt heath
#

You just need to specify front 2 when you write the layers out

ornate drift
#

oki great

torpid sparrow
#

i think my windows are on front 2

ornate drift
#

what order am i supposed to make the doors in

#

windwos*

torpid sparrow
#

any really

ornate drift
#

from left to right

torpid sparrow
#

do what makes sense for you

ornate drift
#

i only have 2 anyway

gaunt heath
#

So like, Front2 5 5 20 for a tile at 5,5 on Front2 with tile index 20

#

It doesn't matter on a technical level what order each window is in

ornate drift
#

Front2 6 5 256 Front2 6 6 288 Front 16 1 225 Front 16 2 257

something like that

gaunt heath
#

Just about, the best way to see if it's right is to just check in-game

ornate drift
#

wait for NightTiles im supposed to find the night version....?

ornate drift
#

starting from the left, up to down layer

gaunt heath
#

It's basically the same process again

floral canyon
#

Hi guys, I wonder does anyone know if building can produce something "passively" like machines do? Like mill converts objects but can it produce objects daily without putting anything in?

ornate drift
#

those windows are not the same

#

how am i supposed to figure out which night window is which

#

if theres no light below it

torpid sparrow
#

Look at the timesheet

gaunt heath
#

Is it not documented on the wiki? One moment

torpid sparrow
#

Tilesheet

#

You could probably find it

ornate drift
#

if there was id immediately recognize it

torpid sparrow
#

I swear it’s there

ornate drift
torpid sparrow
#

And if not just use a different window

#

The right one is the night version of the top one

#

You could also just layer it onto ur map to see which one fits

gaunt heath
#

I'll write up the IDs and add em, I'll be back in a few minutes

ornate drift
#

found it

#

thats the front2 night tile

#

so its Front2 6 5 1253 Front2 6 6 1285 Front 16 1 1222 Front 16 2 1254

#

the night IDs being in the thousand digits is insane

gaunt heath
#

TownInterior is big

torpid sparrow
#

omg those r the ones i use

#

1253 and 1285

gaunt heath
#

Ok I'm going to go grab Skell's permission to update this tutorial. For now, here are the matched pairs:
Day Night
256 1253
288 1285

225 1222
257 1254

469 1219
501 1251

405 1220
406 1221

1224 1252

dreamy dew
#

I'm looking into the gift tastes, and there are negative values under some of the NPCs', what are they?

#

I assume the others are item IDs, but I can't seem to pinpoint or know what the negative ones like -74 are for.

calm nebula
#

Categories

dreamy dew
#

They're the universals, right?

gaunt heath
#

Category -74 is seeds per that table, for example

dreamy dew
tiny zealot
#

i recommend using the category context tags for your gift tastes instead of the raw category values

#

every category automatically generates a context tag on every item in the category. for example, anything in -74 (seeds) will automatically have the tag category_seeds

#

using that string instead of -74 will have the same effect, but it will make more sense to future you instead of being weird and opaque

ornate drift
#

yay the random lightsource isnt there anymore

#

speaking of lgihts....

#

its TIME

#

to add lighting

sullen rain
#

Guys SMAPI keeps telling me my asset doesn't exist but it does?

vernal crest
#

Also json containing the load patch for the texture, please (or whatever it is)

ornate drift
#

am i supposed to put this in Tiled as a map property?

sullen rain
ocean sailBOT
#

Log Info: SMAPI 4.5.1 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 41 C# mods and 82 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

sullen rain
#

{
"Action": "EditData",
"Target": "Data/Objects",
"Entries": {
"{{ModId}}_Yarn": {
"Name": "{{ModId}}_Yarn",
"Displayname": "Yarn",
"Description": "Wool that has been spun into yarn can be used on a loom to make cloth.",
"Type": "Object",
"Category": -26,
"Price": 200,
"Texture": "assets/yarn.png",
"SpriteIndex": 0,
}
}
},

void aspen
#

does door emily always closed till 2 hearts?
is there a way to make several doors with gradually increasing heart requirement

#

I think I can add some of that to my emily mod in order to lock ppl from some location till hearts are gained

ornate drift
#

for all NPCs

#

custom and base

#

not sure though

torpid sparrow
#

anyone know how to add in dialogue for the happy birthday mod? does it have to be a separate content pack?

#

i wonder if i just...target and editdata the english content pack would that work

#

hhhmmmmmmm

lucid iron
slow basin
#

can you make it where when someone steps on a certain tile a message pops up

#

using tiledata

#

I was wanting to make it where when they reach a specific point on the map and can't go further they get a message like 'You can see the Care o meter in the distance.... Love a lot said to avoid that area, better go back."

ornate drift
#

maybe add an invisible buildings tile and then a tiledata afterward

#

dont know what string though

torpid sparrow
#

u still need to interact with the tile

#

uhh maybe mmap

#

not sure

ornate drift
#

where do i put the lights property

dreamy dew
#

Hi, sorry, again with the gift taste. I'm confused. These are Robin's Liked gifts in the .json file.

424 - Cheese
709 - Hardwood
SkillBook_2 - Woodcutter's Weekly
But in the wiki and in the game (vanilla even), they're:
709 - Hardwood
80 - Quartz
SkillBook_2 - Woodcutter's Weekly
Basically, the difference being Cheese instead of Quartz. What's going on?

lucid iron
slow basin
torpid sparrow
#

hmm

#

im trying to write a birthday party event but idk how to place the villagers

slow basin
#

ig it depends on the space your working with

#

i imagine they might clump up into their little groups though like caroline with jodi and abigail with seb and sam idk if that helps though FerretThink

torpid sparrow
#

guh i dont wanna place all the villagers....but i must

#

i wonder if theres a vanilla event i can take from

slow basin
ornate drift
#

are base NPCs able to sit on chairs in schedules?

tiny zealot
#

yes, but not through actual sit code the way the farmer does. you need an animation for it and you call it manually

#

check Penny's schedule. she sits in several places

torpid sparrow
#

birthday party be like

#

im missing people

ornate drift
#

so it shouldnt be THAT hard, i think

tiny zealot
#

it's not hard. look at how penny does it

slow basin
#

can you lock purchasable items behind heart levels

brittle pasture
tiny zealot
#

yes

slow basin
#

like make it where you can only buy something if you have 3 hearts with someone or something

#

OOO

#

rubs my evil little paws together

ornate drift
brittle pasture
#

also cheese is in her like list in vanilla too

brittle pasture
slow basin
#

GSQ is which page

gaunt heath
brittle pasture
#

[[Modding:Game state queries]]

dreamy dew
# brittle pasture minerals are universal likes

But it's not a category (negative value), it's specifically the 80 Quartz item ID. Also, 424 Cheese item ID being considered liked by Robin specifically but isn't shown in the official wiki or in-game.

brittle pasture
slow basin
ornate drift
#

should probably add more lights....

brittle pasture
#

(quartz is special is that mr ape doesn't want villagers to like it too much compared to the remaining minerals and thus it's explicitly listed out as neutral/dislike for 2/3rd of the townspeople, and the wiki doesn't consider it universal)

#

(if your game doesn't show cheese as being liked by Robin that might be a mod issue, because I'm like 92% sure she does from the last time I played, as does most of the town)

dreamy dew
#

It's no written in the wiki page that she likes Cheese specifically.

tiny zealot
#

cheese is an explicit like for her, so i argue the wiki should list it, even though it's an artisan good and therefore default liked for all

#

likewise it probably shouldn't list quartz, since that's not explicit for her and is just the default value

dreamy dew
#

So it's kinda messy writing then? Putting Quartz as if it's a special case for Robin, when she likes all minerals including Quartz?

sullen rain
#

Got it working, thanks guys

brittle pasture
#

(I edited it for more clarification)

tiny zealot
#

rather than say the wiki has "messy writing" i would just say it's an error and it should be updated, even though it's not wrong

dreamy dew
#

There is also the forageable items like the Chanterelle, Common Mushroom, and so on, being moved around and not in a specifical universal something (universal loved, liked, etc.) - is it a different case? What's it called if so?

#

Because some NPCs would have those listed as their liked, some neutral, others disliked, or even hated.

#

They're somewhat universal, but not sticking in one level of taste like I mentioned.

tiny zealot
#

once again i am resentful that the default tastes are called "universal" and not "default" /lh

dreamy dew
#

I should just follow the NPCGiftTastes.json file, then, not wholly the wiki?

brittle pasture
#

a "correct" wiki would put quartz in universal likes but then add exceptions to like 2/3rd of the townspeople page, instead of just having it be listed in the remaining 1/3rd

tiny zealot
#

(i think the wiki should be "correct")

dreamy dew
#

I don't get it, since it's already a universal liked (minerals including Quartz), why not only mention it when it's anything but liked by an NPC?

near imp
#

universal makes me think it should and does apply to everyone. while default or baseline is like, the general but has exceptions. the words have very different associations, at least for me

dreamy dew
#

Like, someone not liking Quartz (neutral to hated) but they do like other minerals, something like that?

near imp
torpid sparrow
#

is there a way to check the GSQs for the day?

#

cant figure out why my event isnt triggering

tiny zealot
#

debug gq <your query> will evaluate it in the console for you

#

you may need quotes, i forget

dreamy dew
brittle pasture
torpid sparrow
#

hmm the gsq is true...which is what i needed

#

thinks

dreamy dew
brittle pasture
#

it doesn't? I don't see 80 in Robin's gift taste file

dreamy dew
#

It does say:

Except Quartz, which varies by villager.
Which I understood as if anything but liked (Loved, Neutral, Disliked, Hated; other than Liked).

dreamy dew
near imp
#

wiki isnt the same as the code though? i dont get it. like things misinterpreted or just clunkily formulated can be stated on the wiki because its just made by people trying to present info in a good way

dreamy dew
# brittle pasture again what I said here

Yeah, I got that, so since it's still technically a like by Robin, why put it out there still? It's not like she's neutral (or anything but Liked) about Quartz, which is what you're trying to say.

torpid sparrow
#

hm eventSeen eventID false is not working

#

im trying to make a repeatable event and it is not cooperating

dreamy dew
#

You said Quartz is an exception because some are just neutral about Quartz (or worse), but Robin isn't "just neutral about Quartz", she likes it as other foraged minerals. I was just confused as to why it's written under her gift taste in the wiki like it's a special case or something.

brittle pasture
#

let me just clear things up hopefully once and for all:
according to the game, Quartz is a universal like, except 2/3rd of the villagers don't follow it
according to the wiki, Quartz is not a universal like, because only 1/3rd of the town likes it

near imp
#

could it boil down to how the wiki has chosen to explain this setup to the general public? like this is the formula for stating likes and exceptions that they have chosen to go with?

dreamy dew
#

Anyway, apologies for being slow. I got it and will be continuing my thing.

near imp
#

i dont think youre slow SDVpufferheart sometimes often i really need to know WHY too SDVpuffersquee

brittle pasture
#

(no prob, I also have issues explaining things at times SDVpuffersquee )

#

rember when I answered no to the wrong question yesterday

near imp
#

hihi i saw and was like.. wait a minute

#

two part questions are a sneaky unintentional trap though 🙂‍↕️

dreamy dew
#

This just means I'm gonna have to completely revamp my "cheat sheet" for NPC giftItems.

near imp
#

ooo spreadsheet SDVpufferwow

#

i like me a good spreadsheet

#

is it to avoid having to keep opening tabs on the wiki when playing, for the joy of making a good one, or something else entirely perhaps? SDVpufferheart

merry river
ocean sailBOT
#

Log Info: SMAPI 4.5.1 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26100.0), with 29 C# mods and 22 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

dreamy dew
#

I can put it in my save, and Spring 1, Year 1, all the villagers have their tastes revealed to me, no more tabbing in and out of the game.

near imp
#

hot dang!

dreamy dew
#

I also have a "cheat sheet" that basically just have you meet all the villagers without seeing their first meeting dialogue/introduction. You'll have to meet and talk to them as part of the Introduction quest, and with the XML copy/paste, you still have 0 relationship points with them, they just won't be '???' anymore.

#

Meaning, they will still say their intro dialogue to you as if it's your first time meeting them. But in the save, they're considered "discovered" and no longer have their names "???" which prevents you from even pressing their profile (to check their gift log for example) in the first place.

near imp
#

youre mostly not taking data from an existing save for the gift tastes for this? id be nervous about inputting the wrong stuff SDVpufferchicksweatsip something that sprung to mind was a test save with CJBcheats, item spawner, turn off gift giving restrictions and just go to town giving people a bit of everything, then grab the xml from the save. but im stupidly fond of doing things the hard way sometimes, so maybe thats a bad idea too

dreamy dew
#

I know there are mods for this, but I like it that this "progression" is embedded to your save file. And it's organized, too.

dreamy dew
#

No worries, I don't take anyone else's save, that's just unfair. It's my own and it's actually probably written the same as others, just in a different order (gifted items, met villagers, etc.)

near imp
#

huh? no i didnt mean other peoples, i meant like generating your xml through a dedicated save for it

dreamy dew
#

Like, you probably already know this, but the order of gifted items is apparently arranged by which you gave the NPC first to latest, but the arrangement I'm doing is based off of the game's .json files, so it's neatly sorted, imo

#

Ohh, haha~ Sorry.

near imp
#

ah. i spose it could be manually sorted later after generating but i see where youre coming from

dreamy dew
#

No, I am only using Notepad. I have them saved as .txt files and whenever I want to put them into my save file, I just copy/paste them in. I have to save the save file first via Farm Foundry, for example, because it won't be formatted correctly.

#

And if I just add the lines in the save as is, it will break the save file. Tested it today and, yeah, that's how I found out.

near imp
#

how does the game handle if you input something thats wrong? does it just visually display the wrong info?

brittle pasture
#

if the XML is invalid you get booted back to the title screen

dreamy dew
#

It won't work, plain, I guess. It'll treat the save as a broken or corrupted save. So when you press a broken save, it'll take you to the main menu because loading failed.

#

But dw, I tried it on my save, it works perfectly.

near imp
#

i mean aside from invalid due to formatting, example: putting quarts as disliked instead of liked. what happens?

dreamy dew
#

I wish I can show a video. Can I here?

near imp
#

think so? i dont know

finite sequoia
#

I'd like to add my NPC to replace Pierre a few days a week, so I'm using the following code to add him to the list of owners, but I'm unsure what the correct field to actually target is, since Owners is a field. Would anyone know the proper way of adding to Owners without removing the current values?

//Change Shop Data { "LogName": "Thompson Stardew Clerks Shop Edits", "Action": "EditData", "Target": "data/shops", "TargetField": ["SeedShop", "Owners"], "Entries": { "Condition": "HAS_SEEN_EVENT Any StardewClerksEvent1, HAS_MOD AndrewJC.APelicanTown", "Portrait": "Thompson", "Dialogues": [ { "Id": "Wednesday", "Condition": "DAY_OF_WEEK Wednesday", "Dialogue": "Welcome to Pierre's! Look at this shiny name tag I get!$1", "RandomDialogue": null }, { "Id": "Sunday", "Condition": "DAY_OF_WEEK Sunday", "Dialogue": "Welcome to Pierre's! Look at this shiny name tag I get!$1", "RandomDialogue": null } ], "RandomizeDialogueOnOpen": true, "ClosedMessage": null, "Id": "Thompson", "Name": "Thompson" }, },

gaunt orbit
#

!json

ocean sailBOT
#

JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.

If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.

When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.

gaunt orbit
#

please use the parser

brittle pasture
finite sequoia
#

Oh! Thank you

brittle pasture
#

right now you're dumping loose fields into Owners instead of one coherent object

finite sequoia
near imp
#

couldnt you copy just that bit? it still makes it easier to share i feel

#

via the validator, even if not used for validation just then

buoyant moon
#

I suppose I could test it to find out but can you put switchEvent in the middle of an event script and have it continue after the called event ends?

finite sequoia
#

I guess so, but I also like to search Discord for similar issues first and using validator makes it harder for others to find my issue

dreamy dew
near imp
#

fair point SDVpufferheart

dreamy dew
#

And with the revelation about the vanilla NPCs' gift tastes, I have to redo the entire base game ones.

near imp
quasi dew
#

the good news: my mod works and is almost ready to publish!!
the bad: it's so much smaller than I initially intended 🙁

brittle pasture
#

(I still think a mod is a safer option than save editing)
(I actually made a mod some months ago that edits the save itself to insert gift tastes for every villager, vanilla and modded)

dreamy dew
near imp
#

for most users save editing less safe than a mod, i agree. but i didnt get the impression that this was necessarily for a lot of other people

quasi dew
dreamy dew
finite sequoia
#

I don't think there's anything wrong with smaller, especially when you can get a finished mod out!

quasi dew
#

I just put sooo much work into it, and I think it's like less than 90 seconds of events lmao

dreamy dew
quasi dew
#

I'm v proud of it. that's all that matters!

dreamy dew
#

Any mod is free to remove my messages if not.

near imp
#

quality over quantity imo. i wouldnt want a mod thats just filled with poorly thought out or badly implemented crud

dreamy dew
near imp
dreamy dew
#

Just think about it like that. But what matters is the intent here. Perhaps you can gain better feedback by describing how certain events should fire/trigger, maybe someone can help make it "more" in a substantial way.

quasi dew
#

I'm just gonna try to add some events for the second baby... I uh haven't started on that yet.

near imp
#

personally i often look for a smaller footprint in mods, i dont have count for how many times ive looked at something, felt like it "does too much and tries to put its finger into every pie in town" and then decided not to download it

burnt canyon
#

Hellloooo guys, I have something to show

quasi dew
#

I have the following events:
farmer + spouse admiring baby; baby's first words; baby learning to crawl; toddler learning to walk; fussy toddler refusing their bottle; toddler getting a bath in the sink; and the toddler meeting a pig!
I also have an event exclusive to marrying Sam and Abigail, where they play their respective instruments for the baby. And an event where the farmer and their vanilla spouse take their baby to the clinic for the first time.

#

writing it all out, it feels like it's a lot more content than I thought

#

oh and a crap ton of sprites for the spouses carrying their babies around town in a baby carrier :3 that's what took the longest

near imp
#

theres a baby carrier around town!? ++++

burnt canyon
#

Helloooo there, I've made a mod I want to share

near imp
#

youre definitely underappreciating your own effort 👀

round dock
#

Scripting an event is already tedious as it is, Kristin. As long as you’re happy with the output you made, it’s enough. Besides, you can always push updates if you want to add more content than originally released.

quasi dew
near imp
burnt canyon
#

Ummm, nevermind then, it seems that everyone is busy

quasi dew
#

my depression is definitely contributing to the "your mod isn't big enough" thoughts. so thank you all for helping me realize that!!

near imp
#

i had decided i wasnt going to marry in this save but this mod is making me reconsider SDVpuffereyes and i dont say that lightly. but it sounds like they wouldnt be such creepy little blobgoblins 😅 (no offense intended to vanilla children adorers)

quasi dew
near imp
#

it sounds like this mod will go a loooong way to doing that

burnt canyon
#

I have more mods that I'm working on but I still have to upload them on Nexus, any suggestions or support will make my day

quasi dew
#

love that Alex "cries at your wedding but calls it medical" lol

near imp
#

"ye bro its like my tearducts are just overly strong and active, just like me. i like sports. have i told you that?"

quasi dew
#

also huge props for making your first mod compatible with free love!! some of those compatibility configs are tricky. (speaking from experience with wrestling with polyamory suite)

burnt canyon
near imp
#

this sounds so funny SDVpuffersquee i dont use free love but im tempted to download just to read the dialogue text and have some top tier laughs SDVkrobusgiggle

burnt canyon
quasi dew
#

so excited for all of the free love/polyamory suite future shenanigans when the farmer is married to Emily and Clint

near imp
#

Do you have an education in writing perchance @burnt canyon ? ill be completely honest and say that a few days ago when you were sharing details for so many mods, i started to get a bit concerned about if they were actually written by hand. And well, some things like em dashes have become a bit more suspect in combination with other things these recent times. so thats why i kinda pulled back on giving more feedback

merry river
burnt canyon
near imp
brittle pasture
buoyant moon
#

I like the idea of Free Love/Polyamory Sweet but they're gonna be a headache and fundamentally incompatible with the rival hearts I'm working on for a while, maybe it'll be a major version bump to add support for them

near imp
merry river
burnt canyon
brittle pasture
#

are you embedding the tilesheet in your map perchance

merry river
merry river
quasi dew
#

btw does anyone know when toddlers go to sleep for the night? is it still 7:00 except on festival nights, where they stay up all night?

brittle pasture
#

if it's another mod's tilesheet you should be loading it externally (put it in the Maps folder while editing), and then rely on the content pipeline to load it ingame

#

also avoid breaking perms via redistribution

#

the tilesheetinator probably fixes this I'm not sure

#

iro halp

merry river
gaunt heath
#

Humour me: are you completely sure that 'assets\Maps\void.MM_MushroomMeadow.tmx' exists?

near imp
#

stupid question time: custom tmx files should be loaded like most custom assets right? so is there an issue in how its loaded? or could the loading path and the looking for the loaded thing path be two different ones, and thats why its not finding it?

lucid iron
#

This means smapi is pulling from only your mod folder and dying

#

Can u show us what is in the assets folder next to the tmx?

near imp
#

"'SMAPI\void.mm\assets..." is this what gives it away as an internal asset Chu? (trying to learn this)

lucid iron
#

Yar

near imp
#

what would it look like if it was an (properly loaded?) asset in the "content pipeline" ?

#

or does that depend entirely on what the author has written as a target path when loading SDVpufferthink

#

usually just ModId/AssetNameHere or something similar perhaps?

vivid citrus
#

Hello everyone. Has anyone implemented their own tabs? (I'm talking about the tabs in the menu: map, NPC, crafting, etc.) If so, how do I bind a specific page to a specific tab? When I hover over a tab, the game logs show that it doesn't have a page. How can I fix this, and is there an example of a mod that implements the functionality described above?

lucid iron
lucid iron
#

The vanilla tabs are pretty hardcoded

#

Personally I recommend not participating in game menu and just bring up your menu with some rebindable hotkey

vivid citrus
#

If I use the Better Game Menu

lucid iron
#

It is possible to do it inconveniently and with compat woes bolbsun

vivid citrus
vivid citrus
lucid iron
#

You can also register ur menu here

#

For quick access

vivid citrus
#

🫂

ornate drift
#

whats the category name for wine

#

category_wine?

#

or category_alcohol

brittle pasture
#

do you need the actual wine item or just a generic alcohol context tag

#

neither of those tag exists; wine are artisan goods so it'd be category_artisan_goods if you want the category

#

the vanilla tag for alcoholic items is alcohol_item

#

if you want the exact item its ID is 348, or id_o_348 in context tag form

ornate drift
#

i wanna make my bear hate all of those

#

only wine though, other artisan goods are fine like jam or something

brittle pasture
#

alcohol_item then (look at the gift taste of fellow booze hater Penny)

ornate drift
#

i aint a drunkard 🗣️

#

also thanks

brittle pasture
#

wait no I misremembered

#

alcohol_item is a thing but the game doesnt use it for gift tastes yet lol (Penny still has every alcohol item listed manually)

ornate drift
#

ah

brittle pasture
#

I was thinking of book_item

#

but yeah what I said stands; alcohol_item is tagged by vanilla and mods that follow the Convention™

ornate drift
#

ty!

ornate drift
#

oh what the fuck happened

#

this one works completely fine

woeful lintel
#

yeah, that's why I made FF lmao, the code to compute source rect and collision rect for rotated furniture is straight up wrong: it breaks ins some cases if you have furniture with a dimension larger than 1 tile.

gaunt heath
#

It's so spectacularly busted

woeful lintel
#

yeah, I made rotation completely softcoded (is that a word?) in FF to circumvent the issue entirely.

lucid iron
#

I only ever heard ppl say dehardcoded

autumn tide
#

softcoded is a better word, objectively

calm nebula
#

(Or data driven)

autumn tide
#

softcoded just sounds so cozy

obtuse wigeon
#

Don't suppose anyone knows why Tiled shifts the grid when I select a different layer and how to make it not do that?

autumn tide
#

-# no fucking clue but that sucks :/ i wish thee good luck

obtuse wigeon
#

Ahh it seems the grid has gained an offset, somehow, not a small one either, that certainly interesting given this was derived from the vanilla town map XD

frozen elm
#

@lucid iron I have encountered something weird with relocating farmhouse furniture with MMAP... somehow the furniture in the green area gets moved an extra 8 tiles to the left and I have no idea why.
The two actions I'm using are:
"mushymato.MMAP_ShiftContents 1 2 8 2 4 6", // Hallway
"mushymato.MMAP_ShiftContents 5 1 12 1 6 8" // Bedroom
Which would be the blue and red areas in the second pic.
Maybe it's a dumb mistake that I made but I have been looking at this for over an hour and I can't find anything...

calm nebula
#

Can you swap the order of the two

gaunt heath
obtuse wigeon
#

glad to be one of the first to experience it XD

frozen elm
calm nebula
#

It's because the blue area post was landing in the red area pre

#

And then the red area was moving them more

#

Which is why the solution was to make the red area go first

frozen elm
#

ohh. Ok that does make sense. THank you! I spent so much time trying to figure it out 🤦

calm nebula
#

No worries!

lucid iron
#

I will fix it next version but i dunno if i should leave it configurable

calm nebula
#

Smh I want my free bed upgrade, robin

frozen elm
#

I did notice this, as well as the child beds not appearing. Can't really think of a use case where you wouldn't want to upgrade though

half tangle
calm nebula
#

Smapi thing iirc

#

Big enum, covers both keyboard mouse and controller

uncut viper
half tangle
#

the microsoft page is what's linked as the resource for knowing those enum values... it might be some weird use of the + enum actually...

lucid iron
#

It should print the enum name

mellow knot
#

Since I do have a config for dsv

uncut viper
#

That's because it crashed and burned because someone asked it to grab config for a mod that doesn't have any

#

(CMCT 2.0.0 will fail more gracefully)

#

I just downloaded DSV Non seasonal and it has no config.

#

Not in that specific sub-mod

#

DSV.Core may have config once the game starts up, I don't know, but the Content Patcher portion with that unique ID in the log does not

mellow knot
#

Ok gotcha I will check with Airyn and kedi then ty for the info!

uncut viper
#

You can double check by looking in the content.json of the mod in question. That mod has no ConfigSchema field, so there is no config for it. I don't know how DSV does it's config but I imagine it handles it all in the .Core version

half tangle
crude stump
#

why is the dialogue box breaking like that? the dialogue is working fine if i just type anything inside it, but it doens't work if i use "{{i18n:etc}}" the log doens't say anything either

ornate locust
#

You need to load a blank JSON and apply your dialog via EditData

#

ummm hang on I am trying to find a tutorial/wiki page with further explanations

uncut viper
# mellow knot Ok gotcha I will check with Airyn and kedi then ty for the info!

(One more quick thing, I did go and check again and see that DSV.Core does create tokens for its config values which are then being used inside the content.json of the CP portion of DSV Non-seasonal. If these are the same configs you want, you don't need CMCT at all. Any mod can use these custom tokens that DSV.Core is creating)

#

(As long as you have a dependency on DSVCore ofc)

ornate locust
floral canyon
#

Hi guys, does anyone know of any framework that would allow buildings to produce something daily so you can access it from the outside?

#

I think it's not possible with CP alone

ornate locust
#

You mean like a mill?

#

well, other than processing items, but the way you access it

brittle pasture
#

like mill rules but without input? dont think so

floral canyon
brittle pasture
#

maybe i shunt this into emc idk

onyx panther
uncut viper
#

!json

ocean sailBOT
#

JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.

If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.

When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.

mellow knot
onyx panther
#

ok that won't tell me if it will work like I think it will

#

it'll just tell me if it's formatted correctly or not

uncut viper
#

No. But it will let others see it instead of downloading a file.

#

If you send the link here.

autumn tide
onyx panther
#

wait I fucked up the when and entires

#

do not write mods while half asleep, everything else looks fine, but you make the stupidest little mistakes

onyx panther
uncut viper
#

I'm assuming all these included jsons have the relevant editimage(?) patches?

onyx panther
#

yes

#

oh and I fixed the file

#

I can send the black one as an example

autumn tide
#

I believe there's a way to make two random tokens congruent if that'd be helpful?

uncut viper
#

Do you intend for the event to be repeatable?

onyx panther
#

yes

#

but the event is different for different hair colours

autumn tide
#

wait, does the event function as like, a cutscene, or just as a way to determine hair?

onyx panther
#

there is nothing besides some commands to make all other variations of the even unseen

#

and to set the dialogue flag

uncut viper
#

I think you don't need the eventSeen true at the end since an event will by default mark itself seen, and this could probably all be very simplified with LocalTokens but thats not required, but I don't see anything immediately amiss

onyx panther
#

which prevents the event from triggering until after it wears off

autumn tide
#

got itt, I believe a trigger action may do something similar?

onyx panther
#

(otherwise I'd have to write a ton of reused code and I'm lazy)