#making-mods-general

1 messages · Page 501 of 1

ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 109 C# mods and 192 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

lucid iron
#

wdym? this is just 1280x720

#

if u mean the image there's prob subpixel jank if you squint

broken egret
lucid iron
#

im not horribly concerned here cus i will provide an absolute mode Bolb

#

ah no this is not with harv's thing

broken egret
#

ahhhh ic ic

lucid iron
#

it's a much simplier feature i just made between disappearing and returning with goose

broken egret
#

love goose

lucid iron
#

i dont plan on supporting animations, because ppl can use SC anims if it really matters blobcatgooglyblep

#

like most map prop related things in mmap it is meant to be simple Dokkan

ornate trellis
#

image of goose, what else do we even need

lucid iron
#

herons ofc

ornate trellis
#

oh right

broken egret
west thunder
#

Had an inkling (no pun intended).
But how would I get around to implementing that, since it's got no non-dangerous variant or whatever? Remove the non-dangerous block of texture references and replace it with the dangerous one?

#

Can't quite describe it, since I'm away and won't be able to get back on for a while.

#

I just know there's lines of code that refer to the dangerous and non-dangerous textures of a monster with both variations in Vanilla, but the squid exists as is.

lucid iron
#

well you know how you have a line that says "Varieties": {

#

you can put "DangerousVarieties": { instead

#

i dont think there's a non dangerous blue squid in vanilla

ornate trellis
#

yeah the squids are dangerous only which i am really happy about ngl

lucid iron
#

but if there was, then you can have both a "Varieties": { ... }, and "DangerousVarieties": { ... },

#

this applies to stuff like mummies

west thunder
#

oh

#

Fascinating.

#

Had no clue a monster could be just dangerous.

lucid iron
#

theres a few more of these like the shadow sniper guys

west thunder
#

Heard of those. Yet to encounter them.

lucid iron
#

something helpful for debug is to search for "Try ApplyMonsterVariety" with Trace logs on

west thunder
#

I try to avoid spoilers to get the ultimate getting-gutted experience.

lucid iron
#

monster variety logs the first time it tries to monster variety on something

west thunder
#

Would replacing Varieties with Dangerous Varieties not cut it?

lucid iron
#

the format is

Try ApplyMonsterVariety on '<monster ineternal name>' (<class namespace> : <class name> '<original texture>' HardMode:<True if dangerous>)
lucid iron
#

im just describing something helpful for debug

west thunder
#

Oh, alrighty then.

#

ty......

broken egret
#

I just fixed a few syntax errors and file subdir pathing so if anyone wants to playtest this mod, it should be able to run as long as the dependencies are installed

#

Also Harv's scalable/animated CG mod is bundled in this if anyone wants to test it out also

lucid iron
silk swan
lucid iron
#

@hard fern i made a pre-release if u wanna try it https://github.com/Mushymato/MiscMapActionsProperties/releases/tag/1.13.0-rc.0
To use this in an event you would use the trigger action form:

// adding overlay
mushymato.MMAP_ScaledOverlay <fade in time ms> <texture name> Fill
// removing overlay
mushymato.MMAP_ScaledOverlay <fade out time ms>

There's 4 scaling modes Fit, Fill, Stretch, Absolute:<scale>
Fill would crop anything out of bounds, Fit scale it to be always in bounds with possible empty spacing
Stretch makes it same size as screen, Absolute lets you put a exact scale number

broken egret
# silk swan I want to test this out, where do you find the entrance to it?

you'll have to use debug commands for now unless you want to spend multiple in game days doing the unlock quest - also can't guarantee that the unlock quest works because the mod isn't complete. you can look at the event dependencies in the jsons in the mod or dm me for the debug command chain if you're having trouble

hard fern
odd ginkgo
#

it's not perfect, but this baby is up and running

#

thanks again to everyone here for all your help

lucid iron
#

do u want a showcase bolbclose

lucid iron
odd ginkgo
#

sure! Um, long story short, it's a complete and utter remaster of FIASA, Ranger Taro, and the Canyons, to the point where it's an entirely new whole expansion experience. Updated everything!

silk swan
#

Oh nice!

scarlet warren
#

Can someone link me some examples of mods that ADD farms, instead of replace?

#

Id like to see how its done

ornate trellis
#

husky got some and so does kisaa

scarlet warren
#

ty

lucid iron
#

we can showcase other ppl's messages now, so i don't have to post on your behalf

tight rivet
#

(I had FIASA and Taro until I uh.. nuked my entire stardew install)

scarlet warren
#

So I dont understand something.
If map makers just need to put the tilesheets maps use in the same asset folder, why do some farm mods need you to download/enable custom tilesheets that the author used to make the map anyway?

hard fern
tight rivet
#

it also stops having twenty differnt versions of the same tilesheet mod kicking around. >_>

hard fern
#

Yup

scarlet warren
uncut viper
#

Including the custom tilesheets in the mod = redistributing someone elses assets, unless you made the custom tilesheets yourself

hard fern
#

Having in one proper place means that everything will hopefully stay consistent 🤔 and mean it's recolor compatible, and the mod author can do updates to it freely

odd ginkgo
scarlet warren
#

Any tools/tips for making our own?

hard fern
urban patrol
#

my tip is that i make my tile sheets 10 tiles wide so that counting them/finding the index is easy

#

especially for doing things like day and night tiles

latent mauve
#

I do 16 or 32 tiles for the same reason usually, I am just used to those breakpoints

gentle rose
inland rain
scarlet warren
noble ermine
#

How do I let farmer and the npc kisses in an event

#

From what I've observed, it seems I switched the NPC's sprite to the corresponding one and then played a sound effect.

tiny zealot
#

yeah, that's how you do it

noble ermine
#

But where do I find the player's sprite...?

tiny zealot
#

for the farmer you want frame 101

#

so e.g. showFrame farmer 101/showFrame NPC <their kiss frame>/specificTemporarySprite heart x y/playSound dwop and so on

#

season to taste with flipping, animate, pauses, as needed for your event

noble ermine
#

So I don't need to care about where the player's facing, just input 101 and it will automatically adjust or perform the action based on my farmer's orientation at that time?

tiny zealot
#

no, for the event you'll need to flip the player and the npc manually if needed

#

farmer 101 faces right, and the npc's kiss frame direction varies by character

#

showFrame farmer 101 true will make the farmer face left (optional flip argument; see here for details)

noble ermine
#

cool! Thanks for your help

hidden locust
#

Hello, can I make a machine that accepts input but outputs nothing?

brittle pasture
#

I think the closest thing is an item that disappears upon collection, PeliQ supports adding those

brittle pasture
#

hmm actually the peliq feature I was thinking isn't quite that

#

what's your use case?

hidden locust
#

I wanted to make a machine that accepts a weapon and gives a buff

brittle pasture
#

yeah machines need something as an output
if your machine is only usable once per day you can use ClearContentsOvernightCondition so it gets reset every day start

#
  • set a mail flag to make sure the users can't just smack it and do it again before the day ends
hidden locust
#

a grindstone

brittle pasture
#

maybe you can compromise and randomly give iron ore/stone/etc. back

rough lake
#

I'm happy to say that I've officially finished my mod 100%, all thanks to your generous help. Thank you so much to everyone who supported and guided me, and also for your enormous patience. Please, if you ever need my help, don't hesitate to call me. I promise to return the kindness you once showed me.

#

Thank you all so much, I could never have done it on my own.

noble ermine
#

If I want an NPC to choose one of several random items for me during an event, how should I write the code...? Sorry for bother again, I think I've seen some sort of random on wiki but when I scroll the page I just can't find it anymore

orchid mountain
#

Hello everyone here 😭 sorry for the intrusion but I just came in to ask about some coding because I'm really about to lose my mind

#

I've made portraits for a custom npc in a much higher resolution (256x256) than the portraits of the original mod uses, so I'm having a really hard time trying to implement my portrait mod. I already use Portraiture in my game but I can't seem to figure out how to implement my portraits using portraiture. Simply placing the png asset in my portraits folder won't work because the custom npc character I've made portraits for has a very big and complicated set of portraits. I've tried to make a content pack but it's driving me insane and nothing is working, I know nothing about code and honestly exhausted my options and don't know what to do. Is there any easier guide to creating a portrait content pack replacing a custom npc's portraits through the higher res portrait function of portraiture?

unreal spoke
orchid mountain
#

I'm really nearing my sanity's end and I know it might sound a bit stupid but I really can't seem to figure out how it works

noble ermine
hard fern
orchid mountain
#

This npc has over 10 sets of portraits

hard fern
#

hm

#

are you using appearances?

orchid mountain
#

seasonal portraits + different festivals

hard fern
#

you should just be able to name the portraits something like <NPC's internal name>_<season> or something like that with portraiture plus

orchid mountain
#

Yes I have, but they aren't getting applied

hard fern
#

can you show an example of how you're setting it up?

orchid mountain
#

So this is assets folder (subfolder inside the portrait folder of portraiture)

#

The last one is the portrait I've done that I've tried putting in through portraiture

hard fern
#

i don't think you can do inside/outside

#

since that's tied to appearances

orchid mountain
#

I'm going to review the png names again and try again

#

I wasn't aware default portraiture didn't support indoor/outdoor variations

gray bear
#

default portraiture only supports beach & winter, like the vanilla game, iirc

hard fern
#

otherwise it will just show the portrait when the npc is on the regular stardew beach

gray bear
#

h

orchid mountain
#

The problem now is that... I have named the png after his internal id_season_ all in the format stated above but the portraits are still not getting applied

hard fern
orchid mountain
#

yes it's been downloaded

hard fern
orchid mountain
#

No but I've changed it now

hard fern
#

what is it named now?

orchid mountain
#

just a moment

#

this is the internal ID I found in the original NPC mod

hard fern
#

not the npc's name 🤔

orchid mountain
#

Yes but I honestly can't think that he has some other internal ID

#

I tried everything that I saw getting referred to him and nothing it making the portraits show up

#

it might also be SpecialAgentJonson.MirrenTheFlorist_Mirren

#

I'm trying that now

hard fern
orchid mountain
#

OH MY GOD IT WORKS NOW

#

holy

#

thank you so much

#

I tried this ID a few days ago it probably didn't work because I didn't have portraiture plus

elder scarab
#

Can someone help me create a dialogue for an NPC so the mod can add the routines, the gifts, and the whole wedding thing? Can someone help me?

noble ermine
hallow prism
elder scarab
#

And the part of content patcher

noble ermine
#

Um btw, the NPCs' dialogue boxes in my events are blank... but content containing @ will be read...

#

I'm sure my token in i18n and content has the same name

hallow prism
#

i'm not sure what you mean, can you provide the json?

#

!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.

noble ermine
#

It said the LogName was typed wrong, I wonder if that would be the problem...not really sure

elder scarab
#

But could someone help me figure out the NPC codes? I want to create an NPC mod to be the first mobile mod, so can someone help me with the codes?

noble ermine
elder scarab
#

No

noble ermine
# elder scarab No

So you want someone to help you complete the code, and you already have other things?

elder scarab
#

Help me figure out how to write the code.

noble ermine
elder scarab
#

Can someone help me with the codes?

ornate trellis
#

the guides show you how to do the code

elder scarab
#

Thanks

low marlin
#

For those who have made Growing Valley content packs, is it possible to implement seasonal sprites and portraits based on a combination of skin tone, birth order, and gender?

lucid iron
#

Hm I'm not sure if littleNPC allows appearance but if it does then yep you do normal appearance things

#

Birth order is baked into the token used to add the npcs so that's simple

noble ermine
ornate trellis
#

you have an opening bracket there but not a closing one

lucid iron
# low marlin For those who have made Growing Valley content packs, is it possible to implemen...
Stardew Modding Wiki

Last edited by AirynS on 2025-10-23 07:04:19
If you want to add seasonal outfits for your NPC, there's two ways you can do this: the token way or the Appearances way. Appearances is a new code structure added in SDV 1.6, so if you're looking at an older NPC's code for reference, they'll most likely be using the token way. The main difference bet...

ornate trellis
#

the one in line 226 only closes the when condition

dapper spindle
#

Hello, I want to ask if it is possible for a 1x1 furniture (for example, a decor item) to have 4 distinct different rotations, as in the left and right views have different sprites?

#

So far to add new CP furniture, I think in the tilesheet it needs front view, side view, then back view (so the side views are mirrored from the same image).

lucid iron
#

The part I'm not too sure about is how to edit the Data/Characters entry of a littlenpc generated character but i think you can do that now?

lucid iron
#

The usual approach here is

  • actually just make 4 different furniture
  • use some other mod that supports it
    What do you prefer?
dapper spindle
#

For using some other mod, is it by using Furniture Framework?

elder scarab
#

Does anyone have the NPC content.json file is ready for me to use as a reference.

lucid iron
#

I uh implemented rotation support in mmap in a slightly cursed way

#

Maybe i should make it less cursed

low marlin
lucid iron
lucid iron
#

The guide I linked describes how a normal NPC can use appearance data, this is how vanilla does winter outfits and shane joja work uniform etc

#

You should see if you can give a littlenpc entity those data

#

Try patch export Data/Characters to see if you can find their internal id

elder scarab
#

Does anyone have the content.json file from NPC that I can use as a reference?

lucid iron
#

Now if this doesn't work then you can go back to the old ways of just doing editimage

dapper spindle
low marlin
noble ermine
lucid iron
#

That's why it's a lil cursed

dapper spindle
#

I tried adding panorama with MMAP for personal edit and kinda failed and gave up haha
I mean no offense, it's just that my learning curve is somewhat slow

dapper spindle
#

Is it normal when taking a screenshot of the farm, the panorama is missing? It became a black background when I screenshotted my farm

noble ermine
#

Uh...why it keeps telling me there's an unexpected character on an empty spot...I hate coding

lucid iron
#

So a few versions ago yea

#

But i have defeated it YuniShake

noble ermine
#

My head is gonna explode

lucid iron
#

DrawInMapScreenshot

#

This is the field that controls if a parallax layer appears on map screenshot

#

It's default true now but it used to be default false bc it looked bad

elder scarab
lucid iron
#

Did you read them

elder scarab
#

No

lucid iron
#

It's the simplest way and gets job done

dapper spindle
elder scarab
#

I couldn't understand; I need some kind of reference.

dapper spindle
# lucid iron So a few versions ago yea

So according to my nexus file history I downloaded the update but just didn't update it in my mod file, where did I download it then SDVpufferblush I'll try again after properly updating! Thank you for telling me

lucid iron
lucid iron
elder scarab
#

Nobody will help me.

noble ermine
#

Bro

#

What do you want

#

Seriously

elder scarab
#

The content of the reference NPC

noble ermine
low marlin
noble ermine
#

You even didn't read it

lucid iron
#

Oh i mean u can make test save right, just to explore if the idea will work Bolb

elder scarab
#

The content.json That's the reference I want.

lucid iron
#

I create and destroy mod testing saves every other day

stray hemlock
low marlin
#

I would preferably want live testings (for now) (testing on top of an existing save)

lucid iron
#

Then come back here once u got a littlenpc in your save

#

The problem is the same, without actually try stuff we r only theory crafting

noble ermine
lucid iron
#

Still i think that even if the appearance idea doesn't pan out, you will definitely be able to do conditional load/editimage

#

And you can use the Random token to randomize it

lucid iron
#

I didn't really like how this stuff worked though that's why I made have more kids definitely use npc data

low marlin
#

Will HMK see any public 1.0 release soon?

elder scarab
#

Does anyone have the I am Looking for

lucid iron
#

Yeah I'm stopping myself from further scope creep

stray hemlock
lucid iron
#

I do like more testing but it seems stable now

ornate trellis
#

there is no such thing as a completely fully empty NPC template out there, you gotta do the work yourself. even MissCoriels thing is still kinda outdated, I believe

gray bear
#

is tia updating her npc tutorial? i saw something about it

stray hemlock
# elder scarab Thanks

It's like an essay in school: You can't really use a template because you need to write everything yourself, but once you look at other essays writing is actually easy.

I fear that this examply actually scares people off because nobody felt that writing was easy, but oh well.

lucid iron
#

Honestly i think Tia's tutorial is basically annotated template

#

You put the pieces together and understand why you need em

gray bear
stray hemlock
#

BLAHAJ!

gray bear
#

now if i can find a link to it

lucid iron
#

!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:

gray bear
#

ah! thank u chu

gray bear
stray hemlock
elder scarab
#

One question: is the NPC dialogue a different .Json file than the others?

gentle rose
#

I believe quill has multiple SDVkrobusgiggle

gray bear
#

see you can create a very very big content.json with all npc info

#

what people usually do is separate some of them for convenience/easier reading etc

#

so it doesn't have to be a different json file but i mean, shit gets long fast man

#

Include is your friend

noble ermine
#

When writing events, do I have to write a new /speak npc for every place I want to break to the next dialog box?

noble ermine
gentle rose
gray bear
#

yeah that should work

gentle rose
#

is it not working?

noble ermine
#

But it just won't be saying the sentence after #b#

elder scarab
gray bear
#

we need a "take me to your code" sticker for this channel

gentle rose
#

!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.

gray bear
#

-# that was a shitty joke that means "if the code doesn't work, please share it"

noble ermine
#

Just a sec plz...it's loading for a bit long...

gray bear
#

we're pretty patient

gray bear
#

ok so you're putting the #$b# in the event code

#

what would be better is if you add a dialouge for the npc with it and than call upon it in the event itself

#

actually how does the speak cmd work

gray bear
#

can also use that, yeah

#

oh wait, not how the cmd works thonk pls hold

noble ermine
#

I've tried to use i18n like an hour ago, but the dialogue box would be empty...Could this be related to the fact that I didn't write it as #$b#?

gray bear
#

i can't actually find the ref, but yeah the hashtags are required

noble ermine
#

Cool, I'll try it now, and there's actually another problem which is quite weird...

gray bear
#

this doesn't actually do anything

noble ermine
#

I don't know why, but when I try to switch the NPC to a kissing sprite, he changes into a different outfit.

#

And switch back when I change it to another

gray bear
#

kissing sprite is set in NPC data afaik

#

game does have a default for it

noble ermine
#

Oh...um...I don't really know that...I just open the picture and count...

gray bear
#

do you have this in the npc data file?

noble ermine
#

I'm not really sure...

#

But I've checked the original author's code

#

She does use 28 at the kissing part

gray bear
#

this depends wholly on your sprite sheet

#

if your kiss sprite is 28 index that's fine

noble ermine
#

I suppose...gimme a second I'm goona check...

#

Yeah I think...it is

gray bear
#

can you show the character sprite you're using? you can just screenshot it

noble ermine
#

It's a very long one...

gray bear
#

is the kissing sprite on there

noble ermine
#

I count really slow...

gray bear
#

this is sprite 28

dusky sail
#

(that's 27. sprite index starts at 0)

noble ermine
#

First one on the 8 line

gray bear
gentle rose
gray bear
#

this one then

#

outfit looks to be the same

noble ermine
#

But I need to turn it

gray bear
#

no you can just tell the game to

noble ermine
#

Cool, I've finished the changes, now is the time to see...

#

Still doesn't work with i18n...guess I'll figure the it out later

ocean sailBOT
#

@noble ermine You leveled up to Cowpoke. You can now speak in our voice channels and share images in all channels!

noble ermine
#

Wait I think I find the problem...

dusky sail
#

will mod-added items show up in bulletin board quests without extra-code/another mod that changes how the board works

gentle rose
#

yes, generally

#

the one issue iirc is certain cooking items can be bugged?

dusky sail
#

the opposite of what i thought then... thank you

noble ermine
gray bear
#

iirc the bulletin board deliveries uses a random item

gray bear
noble ermine
#

Thanks, I'll try it now

#

I hope this will be the last test for my first event making...

#

Nah it doesn't work with true...

noble ermine
elfin kindle
#

When I made my mod, i made two sprites for facing left and right and just referenced them im the character basics, lemme see if I can find it and show. There might be a more elegant solution but since my character is asymmetrical it was my only choice anyways

#

mine looks like this

noble ermine
#

Thank you...but I didn't make this npc

elfin kindle
#

I dunno how the original person did it then ^^" mb mb

noble ermine
#

I really don't know why...

elfin kindle
#

hmmm...

noble ermine
#

I almost copied and pasted that sentence; every single letter was the same, but I don't understand why mine didn't work.

#

I've been trying to figure it for an hour

lucid iron
#

When you changed stuff did you patch reload

#

Also double check if your patch actually applied

noble ermine
#

I...restart the game every time, do I need to do that also

lucid iron
#

In that case nop

#

patch export <target>

#

This will write out what the actual data is to a file

opaque field
noble ermine
#

Sorry my brain is a little dizzy now

lucid iron
#

That's a console command u type

#

patch export Data/Events/Farmhouse

#

These are just sanity check steps though, I'm not sure what's actually going on with your event bolbthinking

noble ermine
#

Oh...thanks, I found them...

gentle rose
noble ermine
#

Maybe I should just find some reason to let farmer stay on his right

#

It's really driving me crazy...

elder hornet
#

I can't get an animation to work in the schedule, I'm probably doing something stupid maybe someone knows what? 😄

gentle rose
#

I think you have the / in the wrong place

#

compare your three animation descriptions

elder hornet
#

i fixed the typo, but all 3 don't work

#

Amd I doing something wrong in naming them of putting them in the schedule?

calm nebula
#

What does the final "beach" refer to

elder hornet
#

looking at the game data I figured the last word iss just a nickname for the animation?

#

so the beach is just to imply its their beach animation (I might add more sprites but for now I just want to get it working)

gentle rose
#

no I'm pretty sure that's the sound name

#

you should look up how the data asset works rather than guessing

elder hornet
#

aaaah that makes sense

#

I did read the wiki but there wasnt much info on the first prompt, only the entry

#

so I couldnt do much but look at the game data and guess

gentle rose
#

"first prompt"?

elder hornet
#

This bit, there is no info about it on the wiki, only the entry format so what was I supposed to do except look at the game data and guess?

gentle rose
#

well the part I'm talking about is the second bit

elder hornet
#

okay but I have the begin, animation and end sprite set as do most in the game files, the beach is not there?

gentle rose
#

atra was asking why it says beach at the end of the second bit

elder hornet
#

Ive deleted that and it still doesnt work

gentle rose
#

atra was asking what it was meant to be though

#

where did you get this syntax from

elder hornet
#

From the wiki but I misunderstood thinking it was naming the animation. Ive deleted it

#

This is the current animation and schedule data, the animation still doesnt seem to trigger

noble ermine
#

Thanks to everyone who helped me, my first event just ran successfullySDVpufferwaaah

#

I need to take a nap now

devout otter
#

Without the .json part.

elder hornet
#

Ah okay, thank you!

elder hornet
warped perch
#

What is the easiest type of mod to make?

autumn tide
#

Uhhhh, that's a super subjective question

warped perch
#

Ok, i'll try to find another question

How easy would it be to add a new crop or a new artisan good?

autumn tide
#

ah, not my area of expertise (like I have one LOL), but someone who knows will prolly pop up soon lol

calm nebula
#

Quite easy

#

[[Modding: Crop Data]]

#

!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.

calm nebula
uncut viper
#

really the most difficult part there is drawing the art

warped perch
fading walrus
whole raptor
#

Frankesteining is the way

warped perch
#

Hmm... Now what to make for my mod?

I was thinking of making arknights stuff since it's my fav game but really all i can think of for arknights wouldn't fit that well...

whole raptor
#

I guess that's the issue with foreign media mods, you can make anything into a mod, question is does it make sense or if it'll mesh with the game (a lot of ppl just ignore that part tho)

warped perch
#

Mostly thinking that like, i can make characters or stuff from arknights fit, but not really any new crops or more easy stuff

whole raptor
#

I've seen some people make plushies/furniture of stuff like that, easy to code, less easy to art imo

warped perch
#

Yea and less what i'd wanna add

#

I mean, if my fav game doesn't fit, i'll make another of my fav games fit x)

#

Lemme think about it :3

#

Xenoblade valley? Hmm... Maybe...

#

It's definitely more, vegetal than arknights in terms of setting x)

elder hornet
#

Sorry one more question, I'm adding a custom item. Gift taste and crop info are not relevant. I have the green circled code and it works, except the texture does not load. I have a .png named objects at the path specified, but it says it can't find it. Do I need to add the red bit of code as well?

hallow prism
#

yes

elder hornet
#

Okay, ty!

hallow prism
#

you need to load the textures for the game to access it?

elder hornet
#

I wasn't sure if it still had to be done as my item is not a crop, hence my question

uncut viper
#

the texture has to come from somewhere

elder hornet
#

but what type of file should "Mods/{{ModId}}/Objects" be?

balmy valve
#

Png

#

I think

elder hornet
#

Ok!

hallow prism
#

well you decide the file extension

uncut viper
#

the target line itself will have no file extension

#

nor will the texture field in your crop and item data

hallow prism
#

you can see in the red part that the asset in fromfile is a png

elder hornet
#

The asset is a png already. It is just unclear to me what "Mods/Verstave/Objects" should physically, as a file. Should it be a folder or an empty PNG? Cause I had a tilesheet named objects before there and it did not work, so its unclear to me what I am loading the asset PNGs too

#

Sorry if its a stupid question, I just want to learn

uncut viper
#

nothing. it doesn't exist in your computer

gray bear
#

you're just making an asset CP can use

elder hornet
#

Ah okay, thnx!

gray bear
#

or, i guess, for the game to use

#

🧦

uncut viper
#

it's not a file and it's not a folder and you could just as easily call it ehdjvufms474 as you could Mods/modId/Objects, it doesn't matter

gray bear
#

i'd rec putting {{modid}} into the object id, just in case

uncut viper
#

every asset name (which is what that is) is one singular, virtual asset. you can't put more than one thing to the same name

gray bear
#

that's the first line before the purple {}

elder hornet
gray bear
#

are you sure you're reffering to a file that exists

elder hornet
gray bear
#

the order shouldn't matter right

#

hmm, code looks fine

uncut viper
#

have you saved your files?

calm nebula
#

No .png in the asset name

uncut viper
#

and are sure you're using the right ones?

elder hornet
#

Yes, I'm gonna redrop it into the mods folder

uncut viper
#

because your code doesn't show the file type but the error does

gray bear
#

wait are you not editing the version inside the mod folder?

uncut viper
#

also for future logs and jsons please upload them to their respective SMAPI validators

#

instead of screenshots

stray hemlock
#

I wish there was a directory tree validator.

elder hornet
gray bear
#

ah, okay.

elder hornet
#

but good news and apologies, maybe onedrive had not fully synced (I do always wait for the green tick before copying en dropping it in my mods folder)

#

Thank you all so much for your help today ❤️

#

I'm having a rough day bc of a dying family member and working on the mod and getting things done has been really nice, so thank you for putting up with my stupid questions SDVpufferheart

uncut viper
#

no such thing as a stupid question so long as the person has a genuine interest in learning

elder hornet
gray bear
#

i'm sorry about your family member. glad you got it done heart

uncut viper
#

generally if you can put a mod id somewhere, it should be there

and remember to always spawn new objects whenever you change data about the object SDVpufferthumbsup

balmy valve
#

Dawg don't be afraid to take a break, your family should come first

autumn tide
#

your wellbeing always comes first SDVpufferheart

elder hornet
gray bear
#

very valid SMCFrogHug

heady spire
#

Chat please tell me, is there any way to change the background colour of the title screen (the white is hurting my eyes)

autumn tide
#

was able to get a lot of my progress back!

heady spire
autumn tide
heady spire
autumn tide
#

tiled is what ppl use for maps!

#

uhhh lemme pull up the wiki

heady spire
# uncut viper not without C#

Okie, so I do know C# so what will I need to replace the background (I’m guessing the background would just need content patcher or is there anything more?)

autumn tide
heady spire
uncut viper
uncut viper
#

you will be transpiling draw code

autumn tide
#

!startmodding should have C# modding instructions?

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.

heady spire
#

Okie

urban patrol
#

have you decompiled the game yet? diving through there will be how you find out what to change

autumn tide
#

oh great! double checking, unpacked or decompiled or both?

heady spire
#

My xnb’s are unpacked, sorry to ask, but what do you mean by decompiled I kinda just assumed it was the same thing SDVkrobusgiggle

autumn tide
#

no worries!

urban patrol
#

!decompile this is how you see the C# code behind the game

ocean sailBOT
heady spire
autumn tide
#

not a code person but afaik unpacking is for .json stuffs that you can mess with using CP, and decompiling is for the C# code

heady spire
autumn tide
#

no worries! comparatively I'm pretty new too LOL

heady spire
#

Actually wait, has anyone else been having their game menu crash if they change the clothes on the farmer (I checked my mods and fashion sense was causing the crash even if I removed all conflicting mods)

autumn tide
#

...no SDVpufferchickcry

urban patrol
#

did you investigate the source of the crash, and/or open a tech support thread in this server, and/or report it to the author of FS?

heady spire
autumn tide
#

ah, mapmaking /hj

urban patrol
vernal crest
#

Does anyone know if spring_extrasTileSheet.png comes from a specific mod or if it's just a name that various people use for their misc tilesheets?

urban patrol
#

i think maybe it’s from SVE?

#

it sounds familiar

vernal crest
#

I thought so too but a search of my files only came up with a White Water Farm. I should go check the SVE folder just in case.

autumn tide
#

hmm, spring_outdoorTileSheet_extra is in vanilla

latent mauve
#

SVE uses spring_z_extras

vernal crest
#

Hmm no SVE's is spring_z_extras

#

Mysterious

autumn tide
#

most intriguing

tame moat
#

Do any of you know of a mod with a custom script for a new weapon? I want to make a sword that shoots instead of blocks for a secondary attack but I'm having trouble figuring out the best way to make it.

autumn tide
# vernal crest Mysterious

it could be like a in-tiled name for spring_outdoorTileSheet_extra like how the sewer map calls the sewertile one st in tiled?

#

idk if that makes sense?

autumn tide
vernal crest
latent mauve
#

is this from a log?

autumn tide
#

aaaa okay gotcha

latent mauve
#

I checked all of the major expansions (minus VMV and RSV) and no match in there so far, Aba

vernal crest
#

No, I'm investigating why Confluence Farm's grove map is broken and it appears that Draylon used that tilesheet but didn't include it in the mod folder

autumn tide
#

hmmmmmmmm

latent mauve
tame moat
# autumn tide how new are you to modding?

Pretty new. I've made a couple basic ones. Most complicated one I've done is adding a luck meter to the HUD. I code in C# for my day job though so it's more figuring out how to structure things

latent mauve
#

all I needed was Draylon's name xD

autumn tide
#

I'm not sure if the slingshot stuff is C# or regular data/weapons

latent mauve
#

Waterfall Tilesheets from Draylon uses that tilesheet png

vernal crest
autumn tide
#

  "32": {
    "Name": "Slingshot",
    "DisplayName": "[LocalizedText Strings\\Weapons:Slingshot_Name]",
    "Description": "[LocalizedText Strings\\Weapons:Slingshot_Description]",
    "MinDamage": 1,
    "MaxDamage": 3,
    "Knockback": 1.0,
    "Speed": 308,
    "Precision": 0,
    "Defense": 0,
    "Type": 4,
    "MineBaseLevel": -1,
    "MineMinLevel": -1,
    "AreaOfEffect": 0,
    "CritChance": 0.02,
    "CritMultiplier": 3.0,
    "CanBeLostOnDeath": true,
    "Texture": "TileSheets/weapons",
    "SpriteIndex": 32,
    "Projectiles": null,
    "CustomFields": null
  },
  "33": {
    "Name": "Master Slingshot",
    "DisplayName": "[LocalizedText Strings\\Weapons:MasterSlingshot_Name]",
    "Description": "[LocalizedText Strings\\Weapons:MasterSlingshot_Description]",
    "MinDamage": 1,
    "MaxDamage": 3,
    "Knockback": 1.0,
    "Speed": 308,
    "Precision": 0,
    "Defense": 0,
    "Type": 4,
    "MineBaseLevel": -1,
    "MineMinLevel": -1,
    "AreaOfEffect": 0,
    "CritChance": 0.02,
    "CritMultiplier": 3.0,
    "CanBeLostOnDeath": true,
    "Texture": "TileSheets/weapons",
    "SpriteIndex": 33,
    "Projectiles": null,
    "CustomFields": null
  },
  "34": {
    "Name": "Galaxy Slingshot",
    "DisplayName": "[LocalizedText Strings\\Weapons:GalaxySlingshot_Name]",
    "Description": "[LocalizedText Strings\\Weapons:GalaxySlingshot_Description]",
    "MinDamage": 1,
    "MaxDamage": 3,
    "Knockback": 1.0,
    "Speed": 308,
    "Precision": 0,
    "Defense": 0,
    "Type": 4,
    "MineBaseLevel": -1,
    "MineMinLevel": -1,
    "AreaOfEffect": 0,
    "CritChance": 0.02,
    "CritMultiplier": 3.0,
    "CanBeLostOnDeath": true,
    "Texture": "TileSheets/weapons",
    "SpriteIndex": 34,
    "Projectiles": null,
    "CustomFields": null
  },


vernal crest
autumn tide
#

ahh okay

#

can't help out then, but good thing cause you know C#!

vernal crest
#

I can't point you to anything useful unfortunately because I don't pay any attention to weapons or mods for them

tame moat
# autumn tide okayyy it is in Data/Weapons!!

I guess where I'm stuck at the moment is adding a new weapon that's not just a reskin? I looked at the "More Weapons" mod source code and it looks like he redefined the basic weapons png. Is there a better approach?

vernal crest
opaque field
#

"I know a guy who knows a guy kinda like that"

autumn tide
opaque field
#

Don't mind me lurking lol this actually kinda piques my interest because I'm slightly interested in maybe making a custom weapon for the Kent mod (and for my planned expansion)

autumn tide
opaque field
#

Crackling Charcoal's Mod Progress

tame moat
#

My luck display I added below the experience bars mod

lucid iron
#

ah i am way late to this kyuuchan_run

uncut viper
#

i did think that but regrettably i dont have CSS anywhere near ready SDVpufferpensive

uncut viper
#

how soon is too soon to ask for another showcase for a mod for an update to it. asking for a friend (the friend is me)

hallow prism
#

my feeling is that if i scroll a bit and don't see it, it's likely ok

uncut viper
#

well i am gonna post the update in #modded-stardew at the very least regardless so if any mod author out there thinks its not too soon to showcase a significant update to god rays then i wont complain—

hallow prism
#

just try to wait for next year for the next significant update!

uncut viper
#

tbh there probably won't be another significant update to it SDVpuffersquee

hallow prism
#

well you know how scope creep is

#

saying those words is like a character saying "now we should be safe" in an horror movie

uncut viper
#

idk what else one can even add to god rays

hard fern
#

Lens flare effect

autumn tide
#

Make em rainbow or prismatic

#

Oooh pride god rays would be fun-

brave fable
#

now make water tiles sparkle where the rays land 🙂‍↕️

autumn tide
#

Oh yeah that sounds stupidly hard

lucid iron
#

hmmm

#

what if there's like inverse clouds

#

that r patches of lights

uncut viper
#

i dont know what that means

#

or what you're picturing

brave fable
#

the sky, i think

lucid iron
#

like when u r beneath a canopy

#

and the wimdy

#

just to be clear i am not saying this is for god rays i am just throwing darts

uncut viper
#

you're making me doubt myself about whether or not i know what a cloud is, if i cant figure out what an inverse cloud is

#

this canopy thing made me more confused

hard fern
#

So a cloud but instead if covering the light it emits light and also it's a hole ?

brave fable
#

is the idea that in the Woods.tmx you get lit patches on the ground where the sun comes through on the preexisting rays

#

which are also preexisting

lucid iron
#

i dunno im not good at words today

#

the light on the ground

#

i guess what i actually want is a light source that moves like the cloud critter Bolb

brave fable
#

is dynamic lighting in the scope of this project SDVdemetriums

hard fern
#

The cloud critter?

lucid iron
#

it doesnt have dynamic in the title so maybe its safe

uncut oriole
lucid iron
#

does map screenshots work DokkanStare

uncut oriole
uncut viper
# lucid iron

oh ok i see what you mean now. tbh im not sure if theres a way to make that look good lol. the effect would be awful as soon as it went over a building bc you'd expect it to like, translate weird as some hits the ceiling and some hits the ground but itd just be flat

lucid iron
#

yea the problem of no real 3d geometry strikes again

tame moat
# opaque field Don't mind me lurking lol this actually kinda piques my interest because I'm sli...

I figured out the file format to get a custom weapon in case it helps you for that:

Mods/
├── MyCustomWeaponCP/ ← Content Patcher pack (data + sprite)
│ ├── manifest.json
│ ├── content.json
│ └── assets/myweapon.png
└── MyCustomWeaponMod/ ← C# mod (optional logic)
├── manifest.json
└── MyCustomWeaponMod.dll

I managed to get a basic new weapon with a custom skin running this way without messing with base weapons

lucid iron
#

as in do modded tilesheets need special compat to add them?

uncut oriole
#

Nope, it's all shader logic. Planning on adding asset logic for mod makers but this probably wont happen for a while.

#

Uses OpenGL ES because mobile.

#

But basically I have a shader that extract brights and I add a godrays layer on top of that

autumn tide
lucid iron
#

ah is that why the hospital is all glowy

uncut oriole
#

Yep. It's all customizable though. I wanted to make sure I can add as many parameters for different situtations. So you can adjust things like intensity for god rays. There's different blending options between layers + frames. Obviously it'd be more exact if I added the per asset shading. This is much more expensive on mobile though which is why this isnt a priority right now. Plus I'd have to go through the assets and create depth maps, etc.

lucid iron
#

i wonder if it'd be possible to make vanilla lighting logic match the shader lighting logic Bolb

#

like the stuff happening in Game1.DrawLighting

uncut oriole
lucid iron
#

someone had asked me about whether i could make light sources get blocked by trees n other "foreground" objects and i considered that out of scope

#

but it would be cool to fiddle with that in a shader mod DokkanStare

uncut oriole
uncut oriole
# uncut oriole

The godrays here create a pseudo shadow for assets. So it's also possible to do it less exact

lucid iron
#

it could be that you only do so for entities (like trees in the location.terrainfeatures list)

#

the detection for those is simpler compared to the map but idk if it's simplier in a way that matters for shaders SMCPufferjail

#

either way this is very cool i am look forward to it kyuuchan_fire

uncut oriole
#

At the end of the day its just a sprite. Filtering through them frame by frame is a lot of overhead for my target audience. When I get the chance to port over to PC (just the shader translation piece, everything else is forwards compatible), I'll take a look again at shaders for individual assets.

opaque field
#

Can I use spacecore to implement 'on item eaten' on a food item I've made to apply a C# buff that temporarily increases friendship points earned when talking to NPCs?

brave fable
#

you can apply the buff simply from edits to vanilla data assets, e.g. Curry Diablo = Data/Objects + Data/Buffs
from there you'd just check in your harmony patch to modify the friendship points whether the player currently has your buff

opaque field
#
    [HarmonyPatch(typeof(NPC), nameof(NPC.grantConversationFriendship))]
    public static class GrantFriendshipPatch
    {
        static void Prefix(ref int amount)
        {
            if (Game1.player.HasBuff("MagicEgg.FriendshipBoost"))
            {
                amount = (int)(amount * 1.5f); // 50% boost
                ModEntry.ModMonitor.Log($"[MagicPinkEgg] Friendship boost applied: {amount}", LogLevel.Trace);
            }
        }
    }
}``` something sort of like this?
lucid iron
#

Do u only want it to work for talking

#

Actually i forget if you only get friendship 2x a week or every day for talking

opaque field
#

uhhhhhhh, I actually don't know off the top of my head either, I think it's you get it every day

autumn tide
#

...i think it's everyday..

lucid iron
#

Either way it looks like it will work go try it

opaque field
#

Sweet! Okay time to test everything I've been working on in one long go

autumn tide
#

hellooo wtf did I do wrong?

hard fern
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.

hard fern
#

Put it in here instead

autumn tide
#

tyyy

hard fern
#

If you made an error it'll also tell you what it is

autumn tide
#

it might be a thing with the stardew modding schema

autumn tide
#

oh shit

#

yeah that's probably an issue LMAO

#

okay fixed that SDVpufferthumbsup

hard fern
autumn tide
#

perhaps not

#

just confused as to why VS code was upset

misty thicket
#

Hi, im new here... well, i come here to have a little help whit a mod im working on. Does anyone know how can i make a farmhouse map mod? Sorry if my english is not so god, it isnt my first lenguage. Im usimg "Tiled", i see on youtuve that is it the tool for making maps, but... the ting is that i always get the same error about where tilesets are located

autumn tide
#

sadly I cannot help with maps i suck at them-

misty thicket
#

:(( Aw, men i´ve been stuck on that problem for weeks. Dunnow if it for the 1.6 actualization or what

uncut viper
ocean sailBOT
#

When creating or editing maps in Tiled, one common error is tilesheet climbing, marked by red text containing "invalid tilesheet path '../../..'. This is caused by SMAPI not being able to find the tilesheets needed by the map file. To prevent this error, make sure that you have a copy of all necessary tilesheets in the folder containing your WIP tmx file. Copies of vanilla tilesheets can later be deleted, but must be present while working on your map.

If you get this error with a completed map, an easy way to fix it is to open your tmx file in VS Code or a similar text editor, find all of the places with <image source=, and remove the filepaths to so that only the tilesheet names remain. For example, if the code says <image source="Content (unpacked)/Maps/townInterior_2" width="512" height="64"/>, change it to just <image source="townInterior_2" width="512" height="64"/>.

opaque field
#

beat me to it Button :3

uncut viper
#

if so, those instructions also tell you how to fix it

misty thicket
#

Wait, ill show you the pic

misty thicket
#

Ok. i lost the file original, so im using this old save. I dont know what happen

urban patrol
# ocean sail

yep that's tilesheet climbing! here are the instructions on how to fix it

misty thicket
#

Omggg. Thanks, ill try

heavy pewter
#

Is there a way to disable the npc dialogue after purchasing a building or farm animals?

urban patrol
#

these are the CTs if you wanted to edit them to say something else

#

but if you mean disable adding the CT then idk

heavy pewter
#

robinConstructionMessage(), its this method that is being called, how do i disable this without harmony

uncut viper
#

without harmony, you don't. at best you can wait until the menu appears and then immediately close it

near island
#

Is there a good resource for writing spouse schedules? I can't for the life of me figure out what needs to be where for my custom spouse to hang out in his spouse room on certain days.

misty thicket
ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26200.0, with 3 C# mods and 1 content packs.

urban patrol
#

if you click "trace" on the site, your log says this: Fixed broken map replacement: Content Patcher loaded 'Maps/FarmHouse2' without a required tilesheet (id: untitled tile sheet, source: Maps\farmhouse_tiles).

#

i haven't seen that error before, but i would double check you didn't accidentally delete any tilesheets or tilesets

misty thicket
#

Oh... I see, thaks, i will check

urban patrol
#

who's the best player(s)to check against for the questline i want to make? (any, all, current, host):

  • upon [player] reaching 10 hearts with the 4 main NPCs, one of them gets set to invisible for 999 days. all(?) players get mail from another asking them to talk to her very urgently
  • event plays where it's explained that he was kidnapped to the dungeon etc etc, quest is given to go rescue him (should i broadcast this?)
  • what would make sense is that whoever rescues him first, that's how he gets set back to visible
  • if players didn't rescue him together, should the quest then fail for the rest? or should each person get the chance to do it? idk how that would work with setting him back to visible
    as always i'm torn between what would make sense narratively and code-wise, and what would be fun for all players
latent mauve
#

I think it's fine to have the rescue be a broadcast event so that all players are involved even if they didn't go to the quest location themselves (like how vanilla handles the community center unlocking and completion!)

#

That also makes the NPC returning to visible make more sense because they all witness the rescue

lucid mulch
#

in terms of multiplayer the only real way to have people work together is if it was a special order style of quest, or bundles I guess

stray hemlock
#

Yay, my pull request was merged.

lucid mulch
#

oh pathos did the harmony version bump on the develop branch of smapi

#

@ivory plume just an fyi, there are some incompatible harmony patches in the wild that wont run on the newer harmony version due to added validation added in https://github.com/pardeike/Harmony/commit/919f13880e1aa5703fe01bafec0160b7c8c6b33c which does break patterns where you replace the last ret instruction with something else to inherit its labels and insert instructions after it (and include a ret of your own) like https://github.com/Spiderbuttons/BETAS/blob/main/BETAS/Triggers/MonsterKilled.cs#L31-L58

#

Also I have been doing experiments with running smapi on .NET 9 (with and without the satori alternative GC) along with .NET 10 and the only compat issue I've observed is the harmony version bump.
https://github.com/SinZ163/SMAPI/tree/net10-experiment Mainly works by keeping the stardewmoddingapi.exe/dll in the internal folder and then changing a few places to ensure rather than using the internal folder as the alternative place to load dll's it is the parent (vanilla) folder instead, and a few tweaks in places so vanilla initializes correctly still looking at the right folders.

noble ermine
#

Is there any easy way to make my event play every Spring 1?

vernal crest
daring ruin
#

Hi everyone! I have recently been working on adding Steam downloading support to my Stardew Valley Server project! This should make it more approachable!
Right now its a pre-release, I am curious if fellow programmers/stardew enjoyers have feedback! https://github.com/DaanSelen/stardew-multiplayer/releases/tag/v1.2.0

GitHub

What's Changed

Bump actions/checkout from 4 to 5 in /.github/workflows by @dependabot[bot] in #12
Bump github/codeql-action from 3 to 4 in /.github/workflows by @dependabot[bot] in #14
Bump ac...

#

I've previously had feedback on Mods their licensing, so that should all be in order.

gentle rose
#

looks good perms wise! still not for me but hopefully you'll find your target audience

daring ruin
#

Most other versions of such a project are abandoned

gentle rose
#

I don't think posting once every few months is spam?

daring ruin
gentle rose
#

you pop in when you have a meaningful update so imo (I'm not a moderator so take this with a grain of salt though lmao) you're good to go

daring ruin
gentle rose
#

you should mention it in #modded-stardew , they actually play the game over there SDVpuffersquee

daring ruin
#

I'll do that, hopefully not triggering any mods with sending it multiple times

gentle rose
#

I don't think twice is going to get you banned tbh SDVkrobusgiggle

daring ruin
#

Haha just being a bit paranoid seeing the resistance I have gotten on my first attempts of sharing in this server.

noble ermine
vernal crest
proud wyvern
lucid mulch
#

I skipped 8 entirely

noble ermine
vernal crest
noble ermine
vernal crest
#

Oh okay. Yes, before 1.6 it had to be a number but now we can use letters and special characters as well.

noble ermine
#

That's cool, I've already changed it and I'm trying to figure out the trigger part...I hope it succeeds on the first try.

proud wyvern
# lucid mulch I skipped 8 entirely

oh well. i could use that info for my own project, which is currently .NET 8. i wonder if there's any benefit to switching to .NET 10 soon

vernal crest
opaque field
#

I'm trying to make a 'sweet talk' mod where if you eat a special egg it gives you a temp increase in friendship points. Data/Object and Data/Buff are done in content patcher, and then I have the harmony patch for if player has buff, then give boost. the buff nor the object show up when I patch export (and I did the 'includes' in the content.json. Folder structure is the C# Dll and manifest, and then within that is the CP folder which also has manifest, and then the jsons.)

noble ermine
#

Btw, is there a more convenient way for me to test if this thing is working properly?

#

I...really don't want to keep restarting my game anymore

vernal crest
#

And you can use debug ebi <eventId> if you need to run your event immediately without meeting preconditions

noble ermine
#

Then... can EventLookUp show whether the event was successfully marked?

#

I'd better back up the save file first...

vernal crest
#

You should be testing this on a test save with no other mods installed, ideally

vernal crest
noble ermine
lucid mulch
# proud wyvern oh well. i could use that info for my own project, which is currently .NET 8. i ...

specifically I haven't fully looked into why its faster either, and .net 9 -> .net10 was pretty much negligible in this metric.
Knowing that half of the time saving is in CP content pack initialization, theres a chance its just internals of newtonsoft or linq or whatever else thats now faster and could have been 7 8 or 9 that contributed.
or if it was the harmony change as I was doing the tests with my debugger mod which does harmony patch some cp internals that got to run better with the newer detour methods.

vernal crest
lucid mulch
proud wyvern
#

GC isn't a huge problem in my project

noble ermine
#

Maybe I misunderstood some part...

vernal crest
noble ermine
#

It worked at the first time

#

But when I change the time to the next year one day before the event and sleep

#

It didn't work

vernal crest
#

Try watching the event, sleeping one night (so it's then Winter 26), then put this into the console: debug gq PLAYER_HAS_RUN_TRIGGER_ACTION current <modid>_Christmas (you have to put your actual mod ID in there, not {{ModId}}). See if it says true or false - it should say true as long as you haven't added the MarkActionApplied line yet (if you have, just comment it out for now).

noble ermine
vernal crest
#

Okay, now run this one: debug gq PLAYER_HAS_SEEN_EVENT Current <modid>_Christmas

#

It should return false

noble ermine
#

Um...it's still true

vernal crest
#

Have you changed your event's id to add the prefix like I suggested?

noble ermine
#

Should I use debug to watch the event again then try it?

vernal crest
#

No, let's just check what's happening here before trying more actions

#

Can I see your updated json, please?

noble ermine
#

Yep, it looks like this nowhttps://smapi.io/json/content-patcher/7ae197b307c240eebc0dced936f353c3

vernal crest
#

Your MarkActionApplied field is on the wrong level. It's outside the Entries field, but it needs to be inside it.

woeful lintel
#

place them next to each other

vernal crest
noble ermine
#

Should I restart the game maybe?

vernal crest
#

That's okay, let's check something. Can you run patch export data/events/farmhouse and then go find the file it exports and upload that to the json website?

noble ermine
#

Yep, just a sec..

vernal crest
#

Stay in game for the moment, if what I think happened is correct then I'll get you to start a new save and try testing it all on that one

vernal crest
#

Thanks. Looks like I was wrong about what happened, so I'm not sure why your trigger action isn't applying. Before we try switching to a new save, can you try running debug gq PLAYER_HAS_SEEN_EVENT Current RRRREveryAfter_Christmas again and check if it's still true?

noble ermine
#

Yep, it's still true

#

And btw

#

I've change the part you said, the"MarkActionApplied": "false"is under entries now

vernal crest
#

Okay, can you run debug action MarkEventSeen Current RRRREveryAfter_Christmas false, and then run the debug gq PLAYER_HAS_SEEN_EVENT Current RRRREveryAfter_Christmas one a third time?

noble ermine
#

It's false now

vernal crest
#

Okay so we know the trigger action does work if done through the console

#

Hopefully the issue was just that things were updating at the wrong time before.

#

So let's try again. Have you done a patch reload since you put the MarkActionApplied field in the right place?

noble ermine
#

Let me check...

vernal crest
#

You can check most effectively by running patch export data/triggeractions and checking that the field is false for your entry

noble ermine
#

Oh that would be faster

vernal crest
#

That's fine. Trigger actions have both an Action and an Actions field, for some reason. The Action field can only hold one action, while Actions can hold multiple. I always just use Actions because it's more versatile.

#

But it looks like your MarkActionApplied field is true when it needs to be false, so you haven't patch reloaded since you fixed it. So do a patch reload and then do the patch export again and check it has changed to false.

noble ermine
#

It also shows "MarkActionApplied": true

#

Cool, iI'll try it now

#

Um...SMAPI said this...``[Content Patcher] Can't apply data patch "RRRR Every After > EditData Data/TriggerActions > entry #1" to Data/TriggerActions: failed converting String value to the expected type 'StardewValley.GameData.TriggerActionData': Error converting value "false" to type 'StardewValley.GameData.TriggerActionData'. Path ''..

vernal crest
#

Can you show me your json again, please?

noble ermine
#

sure, just a sec

vernal crest
#

Sorry this is taking so many tiny steps!

vernal crest
#

Ah, it's still not in the right place I'm afraid

#
{
      "Action": "EditData",
      "Target": "Data/TriggerActions",
      "Entries": {
        "{{ModId}}_Christmas": {
          "Id": "{{ModId}}_Christmas",
          "Trigger": "DayEnding",
          "Condition": "PLAYER_HAS_SEEN_EVENT Current {{ModId}}_Christmas",
          "MarkActionApplied": "false", // put it here instead
          "Actions": [
            "MarkEventSeen Current {{ModId}}_Christmas false"
          ]
        }
      }
    }
#

Try copying what I've done just there

noble ermine
#

Yep, I'm gonna reload the patch now

west thunder
#

I've a question.

#

What's up with a chunk of the monster sprites?

#

What the hell is a spiker?

#

Cats? Crows?

#

I know the shadow girl is unused.

#

Which is just Krobus with a bow.

lucid iron
#

Cats and crows unused

west thunder
#

Mhm, thought so.

lucid iron
#

Only top left of spiker used

opaque field
#

I was curious about those too when I went peeking for a temp enemy sprite to use in an event

noble ermine
vernal crest
noble ermine
#

I used debug action MarkEventSeen Current RRRREveryAfter_Christmas false, it's false now but it's not playing...

vernal crest
#

Should it be playing? You should still be on the same day as you have been the whole time

noble ermine
#

Oh...I'll go back one day and sleep to see

#

Nah still not

#

Please excuse me for a while I need to use the toilet...

vernal crest
#

So you're now on winter 25 and are married to the wizard, are inside the farmhouse and the event isn't playing?

noble ermine
vernal crest
#

If you're sure that it was showing as not seen before that, then the issue sounds like it's with your preconditions rather than the trigger action, since we've bypassed the trigger action entirely just now

noble ermine
vernal crest
#

At this point I think it might be worth trying with a new save

#

You can start a new save, leave the house, run debug hu 2, then debug marry wizard. That'll make you married to the wizard. Then you can just set the date to winter 24 and sleep.

noble ermine
#

Sure, I’ll try it now

noble ermine
#

Should I just sleep and change the time to next year winter 24?

near island
#

Okay, asking my question again at a more reasonable hour lol:
Is there a good resource for writing spouse schedules? I can't for the life of me figure out what needs to be where for my custom spouse to hang out in his spouse room on certain days.

vernal crest
lucid iron
#

The marriage schedule you can write is them going to town

near island
#

I was afraid so.

#

C# brute force it is

lucid iron
#

Not for patio or their position inside farmhouse

#

I think it would be nice to have something for that

near island
vernal crest
vernal crest
#

Okay, that's good. You can try switching to winter 24 y2 now and sleep to see if the event runs the next day again

noble ermine
#

And both of them are still false

vernal crest
#

Well, that's confusing

#

Can you run patch summary full RRRREveryAfter and then upload your log for me to look at, please?

lucid iron
noble ermine
ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 85 C# mods and 108 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

vernal crest
#

Thanks. It's not showing you as having seen the event before so it is definitely correctly removing it, but I don't know why it's not playing the next year.

#

Are you still on Winter 25, Y2 right now?

noble ermine
#

Yes

vernal crest
#

What happens if you leave the farmhouse and go back in?

noble ermine
#

Oh it plays

#

Should've think of it...

vernal crest
#

So on year one it plays when you wake up but in year two you have to leave and go back in for it to play?

near island
lucid iron
#

i think it'd be nice to abstract the places spouse be at to house/farm/go to town and let people control which of the 3 is happening that day

#

Usually gsq

#

Under the broad category there's particular places like farm at the patio, farm at the farmhouse

near island
#

yeah I was thinking: make SpouseRoom/Porch/SpousePatio valid alias for schedules

lucid iron
#

It'd be nice if spouse could switch between these points of interest in middle of day

#

And maybe add more points of interest like they went to fill the pet bowl DokkanStare

vernal crest
#

Scope creep alert!

lucid iron
#

Yes i shall stop here 😌

#

No problem if u just make some special stuff for ur special spouse either way

vernal crest
#

Chu offering generous helpings of scope creep as always :P

noble ermine
vernal crest
#

I am not sure what is causing that puffer_think

noble ermine
#

Well, at least it can be play

vernal crest
#

Someone else here might have an idea of why (cough chu help cough) but I do not and I have to get to bed. Sorry we couldn't get it working exactly as you planned, but at least the trigger action did work!

worldly wadi
#

Hey I need help on smth
I’m trying to mod doors but it simply DON’T WORK. Like, I tried everything and it’s everything correct, they appear on the game but I can’t open them. I can’t seem to find anyone else with the same problem so I came here. Can somebody help me? I feel like I’m going CRAZY AAAAAAAAAAAAAAAAAAAAA

vernal crest
vernal crest
#

There's a tutorial somewhere, let me find it

vernal crest
worldly wadi
#

What does it mean?

#

I don't understand, sorry ;u:

vernal crest
#

In your map, your object needs to have a Name field called "TileData"

#

Can you take a screenshot of the object, showing its properties?

#

In Tiled, I mean

worldly wadi
#

One sec

vernal crest
noble ermine
worldly wadi
#

The object you mean, is the tilesheet?

#

One sec

#

Or the obj layer?

worldly wadi
gentle rose
#

don't you always have to leave the farmhouse and come back to trigger farmhouse events

vernal crest
worldly wadi
#

oh oki oki one sec

vernal crest
#

Farmhouse events are almost always about romance so I've never learned their secrets

worldly wadi
#

Wait one sec

hard fern
worldly wadi
#

Fixing smth

#

One sec

hard fern
#

I don't know how yhe code works but maybe it's because normally when you sleep you're already in the farmhouse, so it won't trigger unless you go back in, but on the first day, you get warped there after the intro cutscene

worldly wadi
#

Yeah still doesn't work

hard fern
#

Stuff that's unavoidable

#

Bc of the fact that you wake up in the farmhouse and trigger the event

gentle rose
#

ah

worldly wadi
#

IT WORKED IT WORKED IT WORKED

worldly wadi
opaque field
#

C# concept - proximity emotes? likeeee, for example, if I have medium hearts with someone and standing close they do the little, like, blush emote (or make a new blush emote)

gentle rose
#

are you asking how to make that?

opaque field
#

no, that I'm kinda puzzling through myself - more like, seeing if this seems like a reasonable idea/feasible thing to do?

#

The idea just kinda popped into my head

gentle rose
#

anything is doable with c#

opaque field
#

Fair, I'm still very new at it, so these are also kind of 'lesson projects' XD

calm nebula
#

Look at how the game handles npcs saying hi to you and then dont do it that way

lucid iron
opaque field
#

BETAS my beloved - okay gonna peek at that cuz I think that's lowkey so cute

calm nebula
#

Nothing bad, but iirc it runs for every NPC, not just NPCs that have at least one farmer on the map

#

(Not a problem for emotes probably, I first noticed it because the text version would sometimes call the dialogue asset, prompting the entire asset edit process for smth that no player was looking at.)

autumn tide
#

helloooo got another one of those errors where it repeats the same thing into oblivion, uhh, can someone help me make sense of it?

gentle rose
#

would help if you gave us the error

ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on macOS Unix 15.5.0, with 85 C# mods and 246 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

autumn tide
#

LOL was still typing

#

I'm not if it's a me thing or an issues with FEM

gentle rose
#

are you trying to load an asset called Resources/Content/Open_GreenCheck?

autumn tide
#

uhhh

#

its for Button's FEM, here's a screenshot of the mod's files

#

!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.

autumn tide
gentle rose
vernal crest
#

You appear to be trying to use an opening texture you haven't loaded

autumn tide
#

OH SHIT

#

I'll fix that then LOL

#

i knew there was something i was forgetting

#

tysm!

#

okay trying again

#

....okay it happened again-

#

!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.

autumn tide
ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on macOS Unix 15.5.0, with 85 C# mods and 246 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

autumn tide
#

should I @ buttons?

shut edge
#

was there a way to make animals produce non-quality items?

#

no stars

autumn tide
shut edge
#

i guess it's a EAC thing hm

#

"The override item query to use to actually generate this produce. Most item query fields will work, aside from quality (which is determined by friendship, unless specified) and stack size"

#

this seems to say it can't do quality, dang

lucid iron
#

Maybe feature req for after the holidays

shut edge
#

IgnoreAnimalQuality bool If set to true, ignore the quality from animal friendship and just use the quality from the item query.

#

see that's weird

#

why would this even be there if the item query can't do quality to start with

#

i feel i must be misunderstanding something

#

my dogs make ores and you don't really want those making several stacks of quality levels etc

#
      "Action": "EditData",
      "Target": "selph.ExtraAnimalConfig/AnimalExtensionData",
      "TargetField": [
        "cryomancer.snesdogs_runawaydog",
        "AnimalProduceExtensionData"
      ],
      "Entries": {
        "(O)330": {
          "IgnoreAnimalQuality": true,
        },
        "(O)86": {
        "IgnoreAnimalQuality": true,```
#

looks like i thought i did it too

lucid iron
shut edge
#

perhaps

#

the wording in the docs is confusing my brain, maybe i shouldn't mod after work

autumn tide
#

helloooo, yk how after an i18n thing you can add token value things like | playernameDwarf={{playernameDwarf}} etc to allow token parsing? would it be possible to add multiple, like | playernameDwarf={{playernameDwarf}}, swear={{swear}}

lucid iron
#

Yeah you can (i think they r space separated)?

#

However this is the part where i tell you about the wonders of localizedtext/lh

autumn tide
#

ooh?

lucid iron
autumn tide
#

i have sooo many tokens i was gonna make a token containing all of this text but for all my tokens | playernameDwarf={{playernameDwarf}}, swear={{swear}} so i don't have to write them all-

autumn tide
lucid iron
#

If you have a frequently referenced bit of string u can do that

#

Then you don't have to pass in any args to i18n token

#

Cus localizedtext gets parsed by game itself

autumn tide
#

oh shitt okay

lucid iron
#

Oh yeah i wrote the example a little wrong in that

autumn tide
#

i got like a million tokens for use in dialog so that'd be perfect

lucid iron
#

You can't actually use {{ModId}} either

autumn tide
#

ohh

lucid iron
#

Gotta claude.krobo/text or whatever you call your asset

autumn tide
#

LOL, uhh, is it alr if I send one of my lines ans you show me how it would be formatted?

lucid iron
#

Sure but im on phone blobcatgooglyblep

autumn tide
#

oh, no worries then!

lucid iron
#

It involves 2 patches (Load and EditData) to setup your custom text asset

autumn tide
#

...okayy

lucid iron
#

Which r just string string dict like dialogue

#

But the keys are anything you want cus you own this asset

autumn tide
#

...I'm still a fairly new modder here SDVpetcatsad

#

okay so, instead of the token i can just put [LocalizedText filename/key], and then make a file with the keys?

lucid iron
#

Hi [LocalizedText claude.Krobo: playernameDwarf]

#

The form is like this

autumn tide
#

okay

lucid iron
#

And then the claude.Krobo asset (which you loaded) should have a entry (key) "playernameDwarf"

autumn tide
#

okay okay

lucid iron
#

It's mostly just alternative to those terrorfy i18n passthrough tokens i see people do sometimes bolbjed

autumn tide
#

playernameDwarf would have to remain a token here i think

ivory plume
lucid iron
#

Not necessarily, cus it could be that your EditData whcih adds the playernameDwarf entry is like

#

"playernameDwarf": "{{playernameDwarf}}"

autumn tide
#

..could i make a token thats just a huge fucking list of | playernameDwarf={{playernameDwarf}}s and then add that to the end of all i18n stuff..

autumn tide
#

that works!

lucid iron
#

This will work but it's not very maintainable

autumn tide
#

also, still not wholly familair with blank.json

autumn tide
lucid iron
#

That's just the initial data basically

autumn tide
#

criminal shit ngl-

#

okay gonna look up some blank.json stuff then

lucid iron
#

Every asset needs a Load to exist at all

autumn tide
#

mhm

#

or an include, right?

lucid iron
#

No

autumn tide
#

..oh.

lucid iron
#

It's a Load

autumn tide
#

one seccc

lucid iron
#

The Load is often implict because it's vanilla asset

#

Or done by another C# mod if they are some kinda framework

autumn tide
#

sooo include still works for code files right?

lucid iron
#

Include is a content patcher side concept and irrelevant to what I'm describing

autumn tide
#

gotchaaa okay okay

lucid iron
#

When u do Action Load, Target claude.krobo, FromFile blank.json (where blank.json is actual file in your mod)

#

You are saying that the default value of claude.krobo asset is empty object

autumn tide
#

..one second my brain is making dial-up noises

lucid iron
#

As opposed to default situation, which is the claude.krobo asset doesn't exist

#

You can imagine this in texture terms if it helps

#

Imagine if you had a completely transparent png

#

And you load that

autumn tide
#

okay

lucid iron
#

Then you do EditImage on it to actually add the visuals you want

autumn tide
#

ohhh okay i think i gotcha!

lucid iron
#

That's what's happening when ppl load blank.json then edit in dialogue more or less