#making-mods-general

1 messages · Page 368 of 1

urban patrol
#

it's still showing as false. is there something with quests/mail/etc where i need to test it on a new save?

uncut viper
#

given how many flags you have and who knows what trigger actions have or have not been applied, its best to test on a new save

urban patrol
#

will do

#

still showing as false. let me get every relevant patch into smapi.io

#

desired order of events is:

  1. an event plays, which sends mail the next day giving the three ingredient quests
  2. player completes three quests, one of which gives the next quest CuringNiko
  3. when all three quests are complete, mail flag SeanceIngredientsComplete is set
  4. event precondition is host has mail SeanceIngredientsComplete ("{{ModId}}_Seance2/HostMail {{ModId}}_SeanceIngredientsComplete/Time 2000 2600")
#

everything triggers correctly so far up to the quest CuringNiko being given

uncut viper
#

what is setting the flags SeanceIngredients1 through 3? have you confirmed you have those flags?

urban patrol
#

it should be the reaction dialogue inside the quests, let me get that for you

#

god damn it

#

no mod id

vernal crest
#

Those flags don't have your mod id.

urban patrol
#

🤦

vernal crest
#

I recommend not putting the action inside i18n.

#

Just put them directly in the quest field

uncut viper
#

(unrelated as well, but in your mail.json on line 14, is your mail key meant to use the i18n token there or was that a copy paste mistake?)

#

it seems like the title and the key got swapped

urban patrol
#

oops it certainly isn't

#

luckily it's only used for a minor cosmetic map change

#

actually i can delete it, that's just supposed to be a mail flag

#

just to check: like this, correct?
"{{ModId}}_SeanceIngredients1": "ItemDelivery/{{i18n:{{ModId}}_SeanceIngredients1.title}}/{{i18n:{{ModId}}_SeanceIngredients1.text}}/{{i18n:{{ModId}}_SeanceIngredients1.objective}}/EdwinPayne (O)769 10/-1/0/0/false/{{i18n:{{ModId}}_SeanceIngredients1.reaction}}#$action AddMail Host SeanceIngredients1 received",

uncut viper
#

should work fine as long as you've made sure theres no stray # at the end of your i18n already

vernal crest
#

Yes but add your mod id!!!!

uncut viper
#

but add your modid

urban patrol
#

you guys are saving my life here

vernal crest
#

(Also just checking but you're aware that i18n keys don't need your mod id right?)

urban patrol
#

nomori fixed it

uncut viper
#

yeah adding the modid to it was the quicker fix

#

at the time

vernal crest
#

Ah okay I did briefly read that conversation but since I can never use the converter I didn't really take it in lol

uncut viper
#

it was a choice between "change {{ModId}} in the i18n to the uniqueid (simple find and replace)" and "remove modid from every location it shouldnt be in all of the jsons everywhere but make sure to keep the ones that SHOULD be there"

urban patrol
uncut viper
#

not after if they dont have an action following it but im not sure ifi td break it if they did

#

best to leave it off just in case

#

i think

vernal crest
#

Yes I agree

urban patrol
#

ok cool

vernal crest
#

# is a command separator so there's no reason to need one after the final command

#

Halp

uncut viper
#

so loud.... /lh

urban patrol
#

this has been a test of your PSA system

#

GSQ now returning true! thank you for the help

#

one final question and then i'll stop annoying you all: do TAS frames need to all be on one row of a spritesheet? i'm trying to make one whose frames look like:
x x
x
but the last frame is just a bar of color as if pixels got stretched

brave fable
#

no, they'll loop around. what's your code?

#

hey this all sounds very familiar

uncut viper
#

a stretched bar of color does mean it was expecting more texture in whatever direction it was going

urban patrol
#

temporaryAnimatedSprite Characters\\CharlesRowlandBlackJacket 0 256 32 32 250 3 999 46 88 false false 5 0.0 1 0 0 0 ping_pong

uncut viper
#

but it may be a symptom of something else

brave fable
#

is that a baguette

urban patrol
#

lmao it's supposed to be a cricket bat but i also unavoidably see a baguette whenever i look at it

uncut viper
#

unfortunately I've got no idea how tas commands are formatted so

brave fable
#

i forget if the pingpong is important, let me see

uncut viper
#

fwiw I did actually specifically see a cricket bat first

brave fable
#

it has a special mention around the frame looping code

uncut viper
#

is like the only kind of wooden square bat I know

brave fable
#

can you show a screenshot the last frame issue in practice?

urban patrol
#

looks to me like the end of the bat

#

i might just take ping pong out tbh, i think it might look odd

uncut viper
#

are you supposed to include the bottom frame in your rectangle?

brave fable
#

the source area is the initial frame size, so it'll iterate to the next 32-across, and then should wrap-around to 0-across 32-down

urban patrol
uncut viper
#

I meant cuz your rectangle only includes the first frame, and I didn't know if that was correct or not

urban patrol
#

oh sorry, i misunderstood

brave fable
#

for those reading along at home, we're in temporaryanimatedsprite.update looking at sourcerect.y += sourcerect.height

urban patrol
#

yes the rectangle is 32 by 32

uncut viper
#

i leave this in blueberry's hands then

brave fable
#

oh no

uncut viper
#

you're the resident expert right now

#

as there are no other residents

#

and I'm on mobile getting ready for sleep

urban patrol
#

congrats on the promotion

uncut viper
#

so I can't follow along in the decompile

brave fable
#

we hope to have the decompile available as an audiobook sometime soon. maybe even before bed

uncut viper
#

if it could be read to me that would be lovely

#

ideally IL by IL

brave fable
#

again if this works without pingpong and looks better without pingpong then we're just removing pingpong

urban patrol
#

removing ping pong did in fact get rid of the brown bar! sorry, didn't realize you were waiting on me

#

obv idk how it looks with ping pong but it's acceptable without, so no need to stress more over it

patent lanceBOT
fallow tartan
#

Friends, do any of you know if there are any expert mod developers in China?

tall raft
#

Odd question. Does anyone know if its possible to make it to where a player can't date or remarry an NPC if they've already broken up with or divorced them? It wouldn't make sense for my NPC to give the player a chance to break his heart yet again.

dusky sail
#

Not being able to remarry is kind of already accounted for in vanilla? Idk about dating but. You can only remarry a character if you erase their memory of ever having met you

#

I do say kind of though bc idk if that exactly fits what you wanna do

lucid iron
#

This is english language sdv server

fallow tartan
#

I think I've asked on many platforms in China, but it feels much more professional here.

spice inlet
fallow tartan
#

🥲

lucid iron
#

It's more useful here to ask what u want Sleepden

#

Like if u have specific desire ppl will either tell you how or just write the c# needed

#

Even tho i am fluent in chinese all my docs r on github kyuuchan_run

#

The thought of translating all that fills me with dread

fallow tartan
#

你会中文!

#

🥹

lucid iron
#

Yes, but again this is a english language server

fallow tartan
#

Can you help me

#

ahh,So what I want to implement is a function: "automatically click the first save file on the cooperation page". Are there any developers familiar with this function? I will pay $20-40 as a reward if someone can help me right now.

#

🥹

lucid iron
#

Hm i thought skip intro has that function NotteThink

fallow tartan
#

yeah!

brave fable
#

SkipIntro will take you to the coop menu, but it won't load the game

#

likewise AutoLoadGame will load the game, but it won't use the coop menu, so you have to start the coop session inside

fallow tartan
#

But that mod can only redirect to the hostcoop page. It's just one final step away from actually launching (i.e., hosting the server) — clicking the save file button. I hope to be able to automatically click the first save file.

#

yesyes

lucid iron
#

Ah lol i guess we gotta PR that in

fallow tartan
#

I've been working on this over the past few days, and I even reached out to the author for help, but it all didn't work out.

#

🥹

fallow tartan
#

😳

lucid iron
#

I think the main problem is just how should the config work

fallow tartan
#

Hi so,are you chinese?

lucid iron
#

Im doing a tourism rn though maybe ask me in a week

fallow tartan
#

🥹

lucid iron
fallow tartan
fossil osprey
#

duck!

fallow tartan
brave fable
#

ah, this must be c#

#

i've heard a lot about duck typing

brave fable
# fallow tartan Hello blueberry!What ideas do you have?

the nexus page for AutoLoadGame mentions you can in fact startup as a multiplayer (coop) session:
https://www.nexusmods.com/stardewvalley/mods/2509

Configs

  • LastFileLoaded: The save name that will be loaded. (This is automatically set whenever you load or save a game. You don't need to set this yourself)

  • LoadIntoMultiplayer: Load the save as a multiplayer session. (Default False)

  • ForgetLastFileOnTitle: Only reload the save if the game was quit from ingame, not from the title (Default True)

#

have you tried it already, or does this not work for you?

fallow tartan
#

😭

brave fable
#

it's working for me using SMAPI 4.3.1, loads into multiplayer and everything

#

if you're still running into issues, you could share a log file here via https://log.smapi.io and we could give it a look?

fallow tartan
#

i'll try

#

wow!!!

#

Wow, it actually works! This mod couldn't be used on SMAPI 4.2.1 before, but now it can. Thank you everyone!

lucid iron
#

That's so strange but yey

fallow tartan
vernal crest
brave fable
#

no problem! glad it worked out SDVpufferthumbsup hasn't been updated since 2019 but it just keeps on workin' hahah

finite willow
#

what exactly is a map layer?

brave fable
#

xTile.Layers.Layer

#

in brief, it's a 2D array of tiles, like a mosaic. Tiled lets you make and save any number of layers to your map, and Stardew will fetch specific layers by name when drawing tiles, reading properties, etc

lucid iron
#

Are u dealing with it in c# or in tiled

brave fable
#

booo. Game1.stats.AverageBedTime is just the last time you went to bed

#

oh wait no it's got a custom setter that averages it out. very cool

#

unboo

finite willow
lucid iron
#

You dont wanna just do RequireLayer and then whatever?

finite willow
#

I just intend to read the data on the tiles

#

but it has multiple layers apparently

#

so hm, I assume higher layers are just aesthetic?

#

e.g the player doesnt collide with those

brave fable
#

i think you're gonna want to start reading up on the wiki if these concepts are new to you hahah

#

[[Maps]]

finite willow
#

oh

#

thx 😅

lucid iron
#

Yeah the example i linked does that

lucid iron
#

Instead of directly accessing layer

finite willow
#

why

lucid iron
#

This is cus you can have tile properties from building

finite willow
#

it seems to be working fine w/o that

lucid iron
#

If u go read that method it should illustrate why kyuuchan_run

#

Whether you care is separate question ofc

finite willow
#

what does it do?

lucid iron
#

Checks map buildings and furnitures for a particular tile property

#

!decompile

ocean sailBOT
finite willow
#

I suppose those properties determine If I can walk through it?

lucid iron
#

I highly recommend decompiling if you are going to interact with game cus otherwise all u got is ppl like me naming random methods

lucid iron
#

There's a dedicated method for passable iirc

finite willow
#

tbh I just base it on the github repo

lucid iron
#

Istilepassable or something

finite willow
#

oh

lucid iron
#

It's also somewhere in GameLocation

finite willow
#

yeah I'm using the game location object

lucid iron
#

How do you have access to the github repo yggy

finite willow
#

It is quite heavy

finite willow
#

well not the executable ofc.

#

however it works for me

lucid iron
#

That's not the one pathos maintains then

finite willow
#

oh

#

you mean smapi?

gentle rose
#

if it's the one I'm thinking of, it's very out of date

lucid iron
#

Just decompile it yourself it's easy and you get the up to date stuff

finite willow
gentle rose
#

(anyway, nobody has permission to be publicly posting stardew source code like that, so the best thing to do is decompile it yourself)

finite willow
#

right so I just install this tool, and let it do all the work

#

aight

#

I'll do it if I need to dive more into the game 😅

#

I just wanna use python for this :(

#

thanks for the feedback

lucid iron
#

So the repo i refer to is the one pathos allows mod authors that have lv50 on this server access to

finite willow
#

is there such thing 😭 .

#

sounds crazy

gentle rose
#

it's very helpful!

finite willow
#

what does it do

#

I want it now 🤣 .

gentle rose
#

the repo? it's just a very good decompile

finite willow
#

well

#

oh

#

so I guess it comes with good docs.

#

and useful var names

brave fable
#

no ❤️

finite willow
#

is that it?

gentle rose
#

all the decompiles have the original var names

finite willow
#

so what's so special about this repo lol

gentle rose
#

and it doesn't come with docs

this one is compilable, has comments on some things and has history for all the various versions

finite willow
#

hm

#

not sure how valuable it is to be able to compile the game, but sounds interesting.

#

the gate keeping though, is wild.

#

guess it has something to do with piracy so fair enough

#

will I get the mod author role if I publish any mod? regardless of how popular it gets?

gentle rose
#

I'm not sure what's so wild about the screws requirements, especially when you can decompile it yourself and get everything you need that way

#

yeah

finite willow
#

oh

gentle rose
#

as long as you don't use any AI and it's SFW

finite willow
#

no ai¿

gentle rose
#

nope, server wide ban

finite willow
#

damn

vernal crest
#

Which is not a bad thing because gen AI sucks...

finite willow
#

so will I get banned if I admit to use ai 😂 .

gentle rose
#

no but you won't be allowed to advertise your mod

#

or to get mod author

finite willow
#

right

vernal crest
#

No, you just can't advertise or share any part of a mod made with substantive AI. Here's the full policy: #bulletin-board message

finite willow
#

guess I'll keep it to myself then, thx for the warning.

vernal crest
#

Also as a community we really frown upon gen AI - if it's for code then it's just silly because it will be wrong. If it's for creative assets, it's stealing others' work and since we make creative work for a hobby we are not too keen on people stealing it.

finite willow
#

good point 👀

#

I mean, github has been taken over for ai generative purposes..

lucid iron
#

Tbh if u ever wanna ask ai anything just ask nerds here it's faster

gentle rose
#

it's irrelevant what github is doing though, what's relevant is that it just is banned here for these reasons

finite willow
#

yeah. Good reasons indeed

brave fable
#

the issue with asking chatgpt for code advice is it's wrong, expensive, and takes time. if you ask us it's free and quick, and usually still wrong

finite willow
#

kinda overkill but I guess it is fair

finite willow
lucid iron
#

I think it's pretty hard to find out if someone generated and then fixed up code but

gentle rose
halcyon nest
#

content packs aren’t too difficult and there’s like. Two wikis dedicated to them

vernal crest
#

Research....purposes....from a generative AI...

lucid iron
#

I think the fact that i said "fixed up" as a given should give you some hints lol

finite willow
vernal crest
#

About a niche program in a small modding community...

finite willow
#

oh yeah

lucid iron
#

It's not good at niche stuff

finite willow
#

am tryna do an ai to playthrough the game

gentle rose
#

let's just say we've proven we can tell pretty accurately when an error is caused by generative ai nonsense lmao

brave fable
#

ai needn't necessarily be generative. think waterbot, but with more of the self-optimising side of learning models @ aba

finite willow
#

idk what's a good measureable goal though.

gentle rose
finite willow
#

maybe you guys can provide some input

finite willow
lucid iron
#

I thought someone made one of these

gentle rose
#

I don't even mind that as a goal if you don't use genai, I'm just confused SDVpuffersquee

#

measurable goal implies you're aiming to use reinforcement learning?

finite willow
vernal crest
brave fable
#

oh, specifically chatgpt, i missed that. you right

finite willow
#

in the end It's all chatgpts wrappers..

gentle rose
#

I'm not sure that would work for a game with goals as varied as stardew tbh SDVpufferthinkblob making progress in stardew isn't really linear

finite willow
#

making money is different though..

#

because u have to sell stuff

lucid iron
#

Well i cant find it anymore 3sSmolMiku

gentle rose
finite willow
#

maybe reaching an achievement?,

gentle rose
#

they don't have a single measurable thing that applies at small enough intervals

#

reinforcement learning doesn't work if you need to do a massive set of complex actions for any reinforcement to happen

finite willow
gentle rose
#

but chess HAS measurable metrics in between each step. Stardew doesn't really

finite willow
#

well yeah

gentle rose
#

in chess, it's (single action) (new metric). in Stardew, you take a step to the left vs a step to the right, what changes?

finite willow
#

is there any worth doing achievement?

gentle rose
#

but the algorithm has to pick one

#

no, they'd be way too far apart again. I think pure reinforcement learning won't work here

lucid iron
#

Imo maximize profit is less hassle than cc

gentle rose
#

true but still won't work for reinforcement learning

finite willow
#

and just map whatever works. idk

lucid iron
#

Yeah idk how the model can find out about the Keg Empire

gentle rose
#

"which one works best" IS the question at the heart of machine learning

finite willow
#

essentially reward on collection of good resources

brave fable
#

ChuGPT, please post the emoji of a cat ramming its head into a wall

gentle rose
#

how does that tell your ai if you're going to walk left or right? or to get out of bed?

finite willow
#

give it a batch of actions perhaps?

gentle rose
#

manually? for the entire game?

finite willow
#

let it mess around and see what works best

gentle rose
#

how does it decide what works best 😭

finite willow
lucid iron
#

Scaling back from the lofty goal tho pls go decompile the game kyuuchan_run

brave fable
#

hmmm think i need to revise the prompt, very different result SDVpufferpensive

gentle rose
#

leaving the farmhouse in day 1 and walking like ten steps into the farm is roughly 30 actions

finite willow
lucid iron
#

You will need to hook up to so many things to first make a scriptable farmer bot

finite willow
#

alr did

finite willow
#

js had to patch the game using harmony

#

to give it inputs

#

over python

lucid iron
#

Yeah and then u gotta write the anya path finding algo to let player bot move around

finite willow
#

anyways I'm ok working in python.

gentle rose
finite willow
#

not really sure tbh

#

I'm much of a novice in ai tbh

#

I'll ask my peers too

gentle rose
#

a neural net navigating stardew using keyboard and mouse as its output layer would be a fun way to make it walk around but probably not a good way to actually complete the game lmao

finite willow
#

but yeah I guess I'll stick to money and gathering resourcces

finite willow
#

would be fun at first then it lacks capabilities for complex stuff

#

I was thinking on some transformer variant RWVK-7 which is pretty much a transformer with a LSTM built in(lstm help remember previous steps)

gentle rose
#

btw a lot of us here have CS degrees etc or a lot of practical professional development experience so we do know what we're talking about here if you want to ask specific questions (I have a degree in maths and CS for example)

finite willow
#

nicee

#

I mean I'm up if anyone wanna join in this SDVpufferthumbsup

#

I got a team of 3 ppl, they're cracked in ai

#

certainly I suck at c# lol

lucid iron
#

No i don't know anything only random ass game knowledge bc i had to touch it for previous mod

finite willow
#

anyways I'll go back to work

finite willow
#

bet u know everything about the game

lucid iron
#

Unfortunately

halcyon nest
#

Idk man I think that’s kinda cool

gentle rose
#

chugpt > chatgpt

finite willow
#

Stardew Valley General Intelligence STGI!

#

lol

cursive pike
#

Hello im New I make my First Mod but I wanted that when I Walk on Grass it should Sound Like Grass or Stone Like Stone I used als Type: Grass Why it doesnt work?

royal stump
eternal glade
#

does the warp tile property work by standing on it or interacting with it?

calm nebula
#

Standing

#

There are others for interaction

#

Hi iro!

gentle rose
eternal glade
gentle rose
finite willow
toxic fulcrum
#

Can I post a link to a devlog video on my event editor here, or should I just put it to #creative ?

It's about using the editor GUI with sprite picker and map preview, etc. to make it easier to use temporaryAnimatedSprite command in modded events

gentle rose
toxic fulcrum
gentle rose
#

I think this channel works then? I’m not a moderator though

fading walrus
#

No longer a moderator but this seems like the exact sort of thing that should be shown off here

#

If it's a tool to help people make mods, it should be shown off here as a resource catnod1

toxic fulcrum
fading walrus
#

Oh wait, is it monetized?

toxic fulcrum
finite willow
fading walrus
#

Yeah you're good
The rules on videos on youtube are pinned in #creative btw

toxic fulcrum
fading walrus
#

I was there for the drafting so I'm reasonably familiar with them SMCKekLmaoDog

gentle rose
#

“don’t talk to me about the laws, I was there when they were written”

fading walrus
torpid sparrow
#

The gavel in the profile really sells it

#

The GIANT gavel

fading walrus
#

The original gavel in my old pfp was a graduation present from Airyn SMCKekLmaoDog
I kept it in when I comm'd Vin for a new pfp that wasn't picrew

gentle rose
# finite willow well we got transformers doing video prediction, also rwkv is as good as any tra...

if you want to try to write a brand new use case that will require considerable compute cost because it’s “as good” as something else in some general sense (algorithms typically have specific strengths and weaknesses, “good enough to do xyz” is like saying a drill is “good enough to saw through wood”), you’re welcome to. But I think rather than throwing existing models at it you should take a deeper look specifically at what was used for video game automation in the past.

finite willow
#

anyways, wouldn't you like to contribute for this?

#

I got a small team going.

gentle rose
#

not really ngl, AI isn’t my main interest rn

finite willow
#

fair enough

vernal crest
eternal glade
#

does IsGreenhouse T² make the tiles tillable?

brisk summit
spice inlet
wanton rivet
#

What does this mean guys?

brittle pasture
#

you can set it to whatevs, as long as it's unique within the list

wanton rivet
#

I have a problem, the NPC I created doesn't want to move into the house I created, I've changed the location but it's still on the previous map, how do I fix it?

brittle pasture
#

!json post what you have

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.

brittle pasture
#

(it seems like you're using the deprecated CustomLocations functionality. we recommend using the native method of adding locations via Data/Locations instead)

toxic fulcrum
brittle pasture
wanton rivet
#

Schedule my custom npc? I haven't edited it yet

brittle pasture
#

is it blank then?

#

if you have lookup anything you can search your NPC and it should show where they are

wanton rivet
#

i use Abigail schedule

vernal crest
wanton rivet
#

Zero

#

I haven't slept since he moved

#

Thank, I just need to sleep in the game for the npc to move

vernal crest
#

Yup schedule and home changes don't take effect until the next day

brave fable
#

new and improved test version SDVdemetriums use debug ebi 1 to try it out
now with 🆕 & 🆒 dark mode when playing at night, beautiful logo, excellent zoom handling, etc

gaunt orbit
#

...huh, that's interesting. I thought those were terrainfeatures and not objects. TIL.

I'll have to blacklist those. I should probably also add a resource node check for the pickup code now that I think of it. Until then, have fun picking up rocks

brave fable
#

sure hope pathos doesn't see i've spent my weekend ruining stardew valley instead of doing something productive SDVitembass

brave fable
#

you know walk to the desert? it's like that

#

but with a bus

halcyon ivy
#

Ohh okay so there’s different stops and all that ?

brave fable
#

there's one stop SDVdemetriums

gaunt orbit
#

Have you heard of the desert bus game

#

It's that

brave fable
#

it's about 380 miles away SDVdemetriums

obtuse wigeon
wanton rivet
#

Can someone tell me what expressions are in this photo? Like number 6 is an angry expression.

tribal ore
#

(Not sure if it was relevant to you, but I figured it might save you some time if that was the reason you were asking)

wanton rivet
#

Thank you, that was very helpful.

eternal glade
#

I cannot find the tile property for a interaction warp, ive already tried Warp and TouchAction Warp, am i putting it in wrong or being blind

hallow prism
#

what kind of interaction?

gaunt orbit
#

The property name is Action and the value is the action you want to perform, like Warp. It must be on the Buildings layer

urban patrol
#

@toxic fulcrum that TAS interface looks awesome!! i can’t wait for you to implement modded assets and release this tool for general use ❤️

latent mauve
eternal glade
#

Sick, i think i got it

#

Im having trouble getting the diggable tiles to work

eternal glade
#

is this right? "name": "Action Warp", "value": "24 64 Greenhouse"

#

also tried "name": "Action", "value": "Warp 24 64 Greenhouse"

royal stump
#

and diggable should look something like this on the Back layer

urban scaffold
#

Hi hi, question... Learning how to use i18n with Dialogue. What's the difference between (using the mod I am learning from for examples) {{i18n:Pool.1}} and {{i18n:Pool{{Result}}.1}} ? It seems to appear after a Question fork, but the other {{i18n:Beach}} and so on don't have the {{Result}} inserted between the numbers, does it influence or could it be influenced by anything or could I just ignore the Result part? (I don't find anything about it on the i18n json file or content json... They also have a version of the same event where they only use {{i18n:Pool.1}} and I am very confused. YueYabai

fresh prairie
#

It seems that some text use a different font as it is totally unchanged. For example all items and most menus etc.
In the fonts folder there is sth called SmallFont and sth called SpriteFont.

ornate locust
#

It can be difficult to PURELY learn from example when people use various different concepts all at once

royal stump
#

{{Result}} isn't a built-in CP or game feature, so yeah, it should exist as a dynamic token or some such inside one of the mod's files. It'd resolve before the outer token does, so you'd end up with something like {{i18n:Pool1.1}} or {{i18n:Pool2.1}}, or whatever Result turns into, so it'd fetch a different line from the i18n.

#

You don't need to worry about using it if you don't need that for whatever you're doing, at any rate

ornate locust
#

Also an i18n can be basically anything you want it to be, it's not super rigid. People just often do the .1, .2, .3 etc thing for organization

urban scaffold
#

Ah... Hm. May I DM any of you to show you maybe then the context helps, I dunno, I am a bit scared of this still YueSweats

unreal robin
#

hello! i ask again, does anyone have contact with gwen? i have not been able to contact him ;-;

urban patrol
gentle rose
#

if it's SFW, just send it here using the json validator

#

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

urban scaffold
#

Thank you! I am saving everything I am given and looking at it but then I see something new and I am sadly the kind of learning with applied examples YueCry

cursive pike
#

Someone see what the Problem is that my Grass dont Sound Like Grass ?

urban scaffold
#

I am basically using the guide for Date Night Rebux mod to add or override their generic dates and there is a guide but that part confused me from their files.

acoustic trench
#

Hi ! I hope I don't post this in the wrong place, but I need some help and advice on how to load a custom spouse room in a mod I'm making. What happens is the spouse room shows as Abigail's room and not as the custom room I created.

There's the part of the code I probably got wrong, but as I don't have an error message in the SMAPI console, I don't know what to change. This is my first mod too so the action keys are somewhat still confusing to me !

|| {
"Action": "EditData",
"Target": "Data/SpouseRooms",
"Entries": {
"GuntherSilvian": "Custom_altariah_[CP]DateableGuntherSVE_GuntherSpouseRoom/0",
"Gunther": "Custom_altariah_[CP]DateableGuntherSVE_GuntherSpouseRoom/0",
}
},

  {
  "Action": "Load",
  "Target": "Maps/Custom_altariah_[CP]DateableGuntherSVE_GuntherSpouseRoom",
  "FromFile": "assets/GuntherSpouseRoom.tmx"
  },

||

And my assets folder contains the .tmx file as well as the .png tilesheets I used and other .tmx files that got generated as I used the .pngs in Tiled

Sorry for the long post and for interrupting, and thanks in advance for your help 🙂

#

lol I wanted to use spoiler to minimize the post but I'm such a boomer

ornate locust
#

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

ornate locust
#

The validator here is what you want

#

And then you can link the result here so we can see it in just one link SDVpufferheart

round dock
#

Would there be any way to replicate the grandpa eval scene (y3) in an event? thonkid I'm trying to make a mod with Grandpa speaking to you in mind. Thank you!

uncut viper
#

Data/SpouseRooms is not a thing after 1.6

#

same with Data/SpousePatios

#

also, what is OverworldSprites meant to be for?

royal stump
uncut viper
#

BETAS has a GSQ for grandpa score, though its not CP only with that ofc

round dock
#

What I'm generally trying to do is get the floaty scene with grandpa in the middle, and where grandpa speaks to you after certain milestones.

#

Though, I'm..... not sure how to do that thonkid

acoustic trench
# uncut viper also, what is `OverworldSprites` meant to be for?

That's where character's sprites are stored in Stardew Valley Expanded files. I thought editing this would apply the sprite I created instead. Tbh this part of my file is such a mess I'm a bit self-aware now XD I don't even think the OverworldSprites part was the one that ended up working

royal stump
#

I imagine copying the first chunk of the event would set up the scene similarly, but tbh I've never even seen the evaluation, so I'm not sure SDVkrobusgiggle

uncut viper
#

Characters/NPCName is where the sprites are, though you've loaded those too anyway, so those should work, but the OverworldSprites ones wont do anything

round dock
cursive pike
#

Someone Can help with my Sound Problem ?

uncut viper
#

for spouse rooms in particular, you'll want to look at the Social features section

#

CharacterData is where you set the spouse room and spouse patio information in 1.6+

#

also, Gunther's internal name is just Gunther, not GuntherSilvian

#

so what you're doing currently is adding an entirely separate NPC called GuntherSilvian but with the same display name of Gunther

ornate locust
#

unless you're doing SVE

#

In which case they change it

uncut viper
#

they change the internal name?

#

if so ignore me

#

but if thats the case then you dont need to load portraits or sprites to Characters/Gunther if its not used ig

ornate locust
#

welcome to my compatibility headache

acoustic trench
#

No but in SVE, GuntherSilvian entirely replaces Gunther, so all changes are applied at SVE's Gunther,so in that case GuntherSilvian

crude plank
#

SVE Gunther who is a real NPC is named that internally

ornate locust
#

Yeah it's more accurate to say that SVE Gunther is a different guy and they disable the original one

uncut viper
#

vanilla gunther is also a real NPC

crude plank
#

You know what i mean

uncut viper
#

i did not, actually

ornate locust
#

You do have to change to the new one in SVE because the other one's disabled and just won't show up

crude plank
#

He's not just an entry in Data/Characters that does nothing lol

#

He moves and is social

uncut viper
#

there are two things that are true:

  1. i didnt know what you meant
  2. i was confusing Gunther with Gus, which is why (1)
#

so, my bad

crude plank
#

That makes sense lol

ornate locust
#

ah, the case of the Wrong G

royal stump
uncut viper
#

also i was looking at a Gus mod earlier so he was on the mind

crude plank
#

Confirmed, Button made her own museum framework because she hates Gunther

uncut viper
#

i hate him and his hardcoded item pedestals

ornate locust
#

look, I CONSISTENTLY forget Sam's name for some reason, I got no room to talk

#

Every so often, the name "sam" flies out of my head, I do not know why

royal stump
#

( SDVpufferlurk I just mistook gunther with both marlon and gil before finally checking the wiki)

uncut viper
#

Gil is who I thought Scarlett was equating Gunther to when I thought Gunther was Gus

crude plank
#

I somehow feel like that's understandable

uncut viper
#

far too many Gs

ornate locust
#

MANY G

royal stump
#

G-uys who are too far away from the farm to see when I'm testing monsters or w/e

#

(though I've seen the first mine cutscene like 500 times, I should remember marlon)

brittle pasture
#

we all get our bearded men who are basically animated map tiles mixed up from time to gime

acoustic trench
#

Now I don't feel as bad mistaking Shane for Sebastian and vice versa lol. Idk why I think Sebastian has a Shane face so I just randomly call him Shane as well

uncut viper
#

ive skipped the first mine cutscene like 500 times so i shouldnt remember marlon SDVpufferthumbsup

ornate locust
#

I always go through Sebastian, Shane... s... s... s... I know it's not Alex, s...

uncut viper
#

genuinely forgot Alex existed at all til just now

patent lanceBOT
calm nebula
#

How the fuck do i remember this game better than you fools

brittle pasture
#

I cant believe you quoted me before I have the chance to fix the typo

royal stump
#

I've been Not Playing Stardew for like 7 years okay

calm nebula
#

Why are we here, esca

#

Both of us could be getting mocktails on the beach

royal stump
#

we could, or we could do important stuff like fight with default interface implementations

#

(I've decided I don't like those today & just made extensions)

#

(also I will play this again) (eventually) (probably after trying mistria)

#

SDViconghost next month is actually the 7 year anniversary of edits to my last real save

halcyon ivy
calm nebula
#

Speak for yourself. I'm learning katseye dances.

twin wadi
royal stump
#

but yeah, been playing low-commitment stuff lately, not counting my Blue Prince spree

halcyon ivy
halcyon ivy
brittle pasture
#

wow, mistria has separate coop animal feed...

#

you can see I only care about the most important of info

eternal glade
#

Theyre on the right layers, i dont understand

round dock
#

-# i might get around on mistria tho

ornate locust
#

look in my ears and you will see swiss cheese

royal stump
# eternal glade This did not work 😦 and neither is the warp

Other random suggestions:

  • Make sure there's actually a tile on the Buildings layer for the warp. There has to actually be a tile on that layer, not just TileData, but an invisible tile works too.
  • Check whether your edits are actually being applied in-game. Lookup Anything can show tile properties in-game, for example, but it requires a few steps to set up:

Install Lookup Anything, load the game, quit, open Mods/Lookup Anything/config.json, edit "ShowDataMiningFields": true, load the game again, point your mouse cursor at the tile, and press F1. A huge list of info will appear, and it includes tile properties somewhere.

brittle pasture
placid gale
#

Want to make my first mod. Kmn right

eternal glade
placid gale
#

Anywa7 I dont think content patcher would work to add a new fish which is my goal - is that right?

brittle pasture
#

you can add new fish with CP

#

you can do many things with CP really

urban patrol
#
Stardew Modding Wiki

Adding a new fish to the game has never been easier than in 1.6; nowadays, fish are a simple set of patches via Content Patcher. There are four required steps: you need to load sprite images, define the fish (as an item, and as a fish) and add it to locations. Optionally, you can add aquarium sprites and data, and fish pond data. I'll be using ...

round dock
placid gale
round dock
#

You can do a lot of magic with Content Patcher, actually lol

placid gale
#

Thanks everyone. Sick day at work today so I might look at this instead

urban scaffold
acoustic trench
uncut viper
#

glad to hear it!!

tranquil olive
#

hi there, i'm pretty new to modmaking (just doing personal edits right now..) I was wondering if there's a way to add audio cues (?)/sound effects from vanilla to tiles by just using Tiled and/or Content Patcher (that aren't just the grass/normal footsteps), or do you have to have C# knowledge?

I tried adding a string of "Action (Name) and playSound slosh (Value) to Tiled and "SetProperties" in the content.json so far, and then a TouchAction version of that...any info/assistance would be helpful 🙏SDVcharkrobus

calm nebula
#

I would say something about that being fatal for my desire to play a game but

#

Anything that requires money rn is a hell no

#

(Context: I'm in house buying territory and stashing funds for that.)

obtuse wigeon
#

Hi, I have a mod installed that does it's thing on the condition "PLAYER_HAS_MAIL Current WizardReward2", I have no idea what mail that is and I can't find a list of valid mail to figure out how to get it, does anyone know or have a link for a list of mail?

pine elbow
#

can someone give me a link to the testing tutorial

calm nebula
#

Check data/specialorders

obtuse wigeon
floral stratus
#

Wait? Did someone graduate 8th Grade and I missed it? Congratulations!!

obtuse wigeon
brittle pasture
# calm nebula I hear it isn't very moddable

yeah I'm very unlikely to mod it lol, there's only space for one hyperfixation in this head
(last time I kinda seriously modded a game was Stellaris, and I stopped because I didn't like where the game was heading + I was dealing with a 1.6 style modpocalypse every 3 months)

obtuse wigeon
pine elbow
#

is their a wiki tutorial for testing mods

fading walrus
#

To test a mod, load it into the game and see if it does what you want it to

#

And check the console for errors

#

That's about all there is to it

obtuse wigeon
pine elbow
#

what if its an event mod how do i skip to the event say a romance event

fading walrus
#

My personal testing loadout is cjb cheats and then whatever I want to test

obtuse wigeon
#

Cjb cheats has the ability to modify relationships, time, warp to different locations, etc, both that and cjb item spawner are essential for mod testing imo

round timber
#

debug ebi [event id] in the console

gaunt orbit
#

It's very simple c# though

royal stump
#

I'm getting very carried away in answering that, but it's possible via spacecore SDVpufferdizzy

royal stump
# tranquil olive hi there, i'm pretty new to modmaking (just doing personal edits right now..) I ...

If you want to play different footstep sound effects for certain tiles, that's not really supported, as far as I know. You can save over each sound effect, but only once per game session, so it's not really dynamic.

If you just want a sound to play once each time a player moves onto a tile (in addition to any footstep sounds), you can, but I think it requires a mod like SpaceCore. Action playSound only works when someone right-clicks a tile, and the game doesn't have a built-in TouchAction playSound.

It's a bit complicated to set up. You'd want to create a trigger action entry in Data/TriggerActions with an entry like this:

"Action": "EditData",
"Target": "Data/TriggerActions",
"Entries": {
    "{{ModId}}_PlayTileSound": {
        "Id": "{{ModId}}_PlayTileSound",
        "Trigger": "Manual",
        "Action": "spacechase0.SpaceCore_PlaySound wateringCan true",
        "MarkActionApplied": false
    }
}```
...and then in your map, use the Back layer property `spacechase0.SpaceCore_TriggerAction` with the value `Your.ModIDHere_PlayTileSound`. You'd also need to require SpaceCore in your mod's `manifest.json` file.
gaunt orbit
#

emu has a custom footstep thing
I really need to actually release it

uncut viper
#

make sure to set MarkActionApplied false if you do that

royal stump
#

just remembered to edit that in, yeah SDVpufferheart

uncut viper
#

and there is the edit at the same time making me look a fool SDVpufferpensive

royal stump
#

I also made a note to self like 5 months ago to add footstep stuff to EMP, but I'll be glad if any of us get to it

uncut viper
#

(BETAS is also getting a PlaySound action in its next update too so you'd be able to skip the trigger action middleman if you used it)

tranquil olive
#

Ah okay, this is helpful, thank you SDVemoteheart
I may attempt to learn some more C# (I did the tutorial for the button press, but I still don't really understand what I did- ^^')

For now, I may try the SpaceCore way o: I want some nice sounds when the player walks hopefully

Also uh, what's EMU and BETAS? (I'm not sure about all of the abbreviations oops-)

gaunt orbit
#

I have a FarmerSprite transpiler that was originally just for splashy water steps but I expanded it to allow any custom TAS and sound effect to play for steps on a given tile

#

EMU is my map toolkit mod, BETAS is button's kitchen sink c# utility mod

uncut viper
#

BETAS is my collection of trigger action related things

brittle pasture
#

the age old SDV tradition of 3 map mods implementing the same thing

tranquil olive
#

Ah okay, thank you, will jot that down SDVpuffersalute

uncut viper
#

given that its meant for content packs i dont think id call it a C# utility mod! i also think "kitchen sink" is a bit unfair SDVpuffersquee

gentle rose
uncut viper
#

acceptable if its the animal crossing npc

royal stump
#

just spawn him passed out on the beach & antisocial SDVpufferowo

gaunt orbit
uncut viper
#

the BETAS version is just an action in general

#

whether its touch or tile or trigger or dialogue or wherever else an action may be used

finite willow
#

I'm not seeing it anywhere

#

is it someting I should worry abotu

gaunt orbit
#

it's not a property it's a method on GameLocation. you wouldn't see it unless you're looking at c#

harsh radish
#

Hello! In dialogue modding, is there a Content Patcher key format that combines season, day of the month, and year? I couldn’t find anything about it on the wiki.

finite willow
gaunt orbit
#

there are a couple of ways tiles change passability but the main ones are

  • present on building layer
  • passable property on building or back
gentle rose
gaunt orbit
#

oh god

#

why

finite willow
#

.net 6 is kinda weird

#

dont like it

karmic gust
finite willow
#

anyways, I shouldn't worry about buildings with this property right?

#

they don't seem common

gaunt orbit
#

buildings can use it technically but most people will probably just use the built-in collision mask feature instead

#

assuming you mean placeable buildings

#

I will just note that writing a mod in python means that nobody else will be able to patch it with harmony, since it's external code

finite willow
#

It's not a big deal

gaunt orbit
#

I just figured I'd warn ya

finite willow
#

I'm just exposing a http proxy with all the reflection api methods and stuff, and I js serialize the binaries using msgpack base 64 to give that as a callback

brittle pasture
#

I'm out of the loop wouldnt you still need to make something in C# to interface with the game anyway

finite willow
#

yeah

brittle pasture
#

also C# being a worse language to work in than Python is quite the hot take but I digress /s

finite willow
#

I need python libraries that's why.

harsh radish
#

Sorry, the question I asked before was completely off.

brittle pasture
#

what's stopping you from just {{season}}_{{dayofweek}}_{{heartlevel}} (not the exact token names)

uncut viper
#

they want the year

gentle rose
#

are you asking for dialogue keys that trigger on a specific year?

uncut viper
#

as far as i know the only year differentiation you get in vanilla is "1st year" or "every year after that"

#

(also for future reference just to reduce confusion, this isnt a Content Patcher thing, this is a vanilla game thing, these arent content patcher keys!)

brittle pasture
#

ah I might have misunderstood the question

harsh radish
#

I meant that the dialogue varies between in, game years, to support more diverse lines.

uncut viper
#

it only varies between year 1 and year Every Other Year

brittle pasture
#

you'd use When conditions

gentle rose
#

I understood it exactly the same as you initially selph haha, I just recognised the format they sent because I was looking at it recently

uncut viper
#

if you want to emulate it you'd need When conditions like selph suggests

#

and just swap out the dialogue year by year

#

but reuse the same keys

harsh radish
#

Thanks a lot!

lucid comet
#

quick question to doublecheck if i understand (and math) correctly: max friendship points for marriageable charas is 250 x 14 = 3500? SDVpufferdizzy

uncut viper
#

it is actually 3749

#

one point less than 15 hearts worth

lucid comet
#

tyvm, that explains things!

craggy goblet
#

Okay, so I just went on Nexus to see if there's any mod with which we could sell stuff in our inventory instantly. The only one I found was "Quick Sell", though that doesn't work on Mobile, so idk if it's useful.
My idea now is, if anybody would be up for it, creating a mod that does exactly that: allowing the player to sell things directly from their inventory (preferably the menu) via an extra button. (Like the save button for example)

#

perhaps it's also just too complicated or something; I'm an absolute noob at coding/modding so excuse my poor existence 🥲😔

brittle pasture
#

!modideas you can post a new issue here

ocean sailBOT
#

If you have a mod idea that you aren't planning to make yourself, you can put it in the mod ideas github: https://github.com/StardewModders/mod-ideas

However, this does not mean anyone is guaranteed to work on your idea—modders who are looking for ideas sometimes go through and work on what they find interesting off this list. If you want to pay someone to make your mod idea, there are a few people who do commissions (mostly art, sometimes code); you can ask around, search usernames for the word comms, or see !commissions.

torpid sparrow
#

does anyone know where the parrot stand is

#

like the png or the tilesheet or whatever

urban patrol
#

try cursors

torpid sparrow
#

another nightmare of a sheet

ornate trellis
#

if you mean this one its in towninterior

torpid sparrow
#

oh my gosh thank you

ornate trellis
#

bottom right

royal stump
#

also these on Maps/island_tilesheet_1 SDVpufferdizzy

torpid sparrow
#

very cool stuff in cursors though

#

hmmm which one to use

spice inlet
#

reused some sunberry spawns to check how well ftm would work with pif SDVpufferthinkblob
working good so far

#

@royal stump what do you think about allowing special syntax for the MapName property in FTM?
Eg. a MapName that starts with PIF: will be treated differently in GetAllLocationsFromName

cold marsh
#

Is it possible to change the LocationContext data for the wizard's tower so an unique event plays if the farmer hits 2am there?

#

I've looked through several mods and all I can find is examples on how to overwrite all of LocationContext (so weather and such) for vanilla locations, or adding the relevant data for custom locations only

cold marsh
#

...Actually, the passing out event is for hitting 0 HP and for oversleeping you can only get a letter at most, right?

#

I guess that answers my question

hallow prism
#

you can have an edit so you receive no letters on meeting condition

#

(or at least set a custom letter)

floral stratus
#

Dear Farmer.
I'm afraid you lost consciousness at my house last night. Very unfortunate for you, but most fortunate for me. I assure you I shall return your kidney as soon as the elementals deem it time.
-Rasmodius

gentle rose
#

did they at least leave us one?

strong harbor
#

you have to learn the dialysis spell

old edge
#

is it possible these events are repeating every day? ```json
{
"Action": "EditData",
"Target": "Data/Events/Farm",
"Entries": {
"14635124/f Annetta 750/x AnnettaCooking true": "null"
},

},



     {
  "Action": "EditData",
  "Target": "Data/Events/Farm",
  "Entries": {
    "246351241/f Annetta 1250/x AnnettaCooking true": "null"
  },
 
},
royal stump
# spice inlet <@125370989780533248> what do you think about allowing special syntax for the `M...

Do PIF's location names have a prefix that could be matched? And do they exist in Game1.locations and Game1.getLocationFromName?
I'd prefer to do something like a foreach with name.StartsWith, rather than add mod-specific handling (despite the old TMXL stuff there). A lot of FTM's code also doesn't use GetAllLocationsFromName, e.g. the pre-save cleanups, and I'm not sure how long refactoring that would take.

hallow prism
#

it is also better, when possible, to use string ids for event

spice inlet
#

PIFs location names always follow a pattern: $"DLX.PIF_MINE_{pid}_{farmerId}_{doorId} with pid being the room model id. We'd want to get all locations that start with the constant + pid for a ftm config. And yes they're available in Game1.locations and Game1.getLocationFromName

royal stump
#

Looking around a bit, I guess PID's keys probably aren't specific enough to target room types from a prefix alone (e.g. PID_RoomTypeName_ + etc), so it may need to check with an API or just rely on a Harmony patch. SDVpufferthinkblob And as long as getLocationFromName works on them, everything else should hold up.

#

Would spawning things in every room that begins with "DLX.PIF_MINE_{pid} be enough then? I'm not quite clear on the data model

spice inlet
#

yes

stray trellis
#

Hi! I was directed here to ask about fake dependencies in a mod to make sure NPCs clip on top of it instead of under

#

Like shopkeepers and places ppl generally stand

hallow prism
#

on top of it? it what? the mod?

stray trellis
#

Bathroom HxW, but there are others

#

Something of a long term project

hallow prism
#

ok well i'm pretty sure this has nothing to do with dependancy and anything to do with layering

stray trellis
hallow prism
#

in other term it's not order of loading the mods, it's order of the different layers, which you will not solve this way

stray trellis
#

Ohhhhhh

finite willow
#

what's a tile index?

hallow prism
#

i have no idea who said that, where, and why

stray trellis
#

Modded Farmers

hallow prism
#

ok then maybe it has a reason to be suggested but i'm pretty sure this will not be a solution to the layering issue

stray trellis
#

"You can set up false dependencies in the manifest.json of the mod you want to load last. More of a ⁠making-mods-general topic though."

#

Grandma Mae

lusty sail
#

I may have misunderstood

stray trellis
#

Ohhhh, I sometimes fail to elaborate properly and this is my first time doing this

royal stump
#

(sorry about/disregard any typing confusion, just noticed a key is stuck SDViconghost)

hallow prism
#

anyway i should go to bed but i'm not sure you can solve that with furniture themselves, as furniture has some specific layering

#

however making map patch is bound to be a bit tedious so...

stray trellis
#

Ok, thank you! I got a couple of other bathroom mods, but saving for furniture catalogue and getting ahead of that in case.

lusty sail
#

May I ask why you want to put toilets everywhere?

halcyon ivy
lusty sail
#

Like just for funny or is there some mechanical benefit I’m missing?

#

I don’t get it xD

halcyon ivy
#

it’s so funny how u asked lol

#

But I don’t understand too what would people do with toilets everywhere in the valley

urban patrol
#

putrid ghost sheet appears to be missing the normal sprites--how are they animated? i'm trying to make a TAS of one

rigid oriole
#

I mean they just kinda float like the normal ghost, right?

#

they don't really walk

urban patrol
#

the carbon ghost and normal ghost have all their sprites, which i guess is why i was confused

#

they hover up and down

rigid oriole
#

i shall peruse the decompile

urban patrol
#

thank you! i couldn't find where it assigns their spritesheets in the unpacked data, yeah

brave fable
#

ingame it most likely uses math.sin/cos to give the floaty appearance, your bet with a TAS is yPeriodic

#

though I'm not sure how you'd format that in an event command off the top of my head

urban patrol
#

i think at that point i might just create my own spritesheet with four frames lmao i'm more art-oriented than math

calm nebula
#

Why can't you just spawn a ghostie

#

Isn't there a monster variant of the spawn character

urban patrol
#

i was looking at how to spawn monsters with spacecore but it's a trigger action, not an event command

brave fable
#

baby's rock golem spawn is a hardcoded exception iirc

#

abby's

rigid oriole
#

it animates with A Bunch of Math ™

urban patrol
#

classic lol thank you for looking

rigid oriole
#

Idk why it doesn't use more frames

#

maybe bc it's smoother to use A Bunch Of Math

urban patrol
#

would this work?

calm nebula
#

No isn't there an event command that spawns a monster

urban patrol
#

uhh let me go check, if i missed one i'll feel real stupid

calm nebula
#

Although iirc it has issues with green slimws too so maybe no

urban patrol
#

there's no spawn, but there's this, if that's what you meant

calm nebula
#

Yes that

#

Let's see

#

Check MEEP?

urban patrol
#

it looks like MEEP just has an event command for slimes

calm nebula
#

@blissful panther plz?

urban patrol
#

let me see how the temp actor looks and go from there

#

there must have been a reason i didn't do this last time but it's been so long i don't remember, so therefore no reason!

obtuse wigeon
#

Can Content Patcher add completely custom machines instead of replacing one? I can't find any info saying it can, but I also can't find any info saying it can't so I'm hopeful

calm nebula
#

[[Modding:Machines]]

brittle pasture
#

check out Cornucopia Artisan Machines for an example mod that adds plenty of new machines

obtuse wigeon
#

That's where I looked, along with the github repo and missed the quite obvious "how to add/edit machines", sorry

obtuse wigeon
eternal glade
#

is this right?

lucid iron
#

Don't add the 2

eternal glade
#

i tried that too : (

lucid iron
#

Is it on Back layer

eternal glade
#

the diggable is

#

the warp is on building

lucid iron
#

Did you name it TileData

#

And make sure it's grid aligned

#

for the warp my bigger question is why are you warp into greenhouse like this

uncut viper
#

(tho you COULD add the 2...)

eternal glade
#

its a warp across the greenhouse

#

i have a almost identical one on the other side

calm nebula
#

Do you have a tile on the buildings layer there

eternal glade
#

Yes

eternal glade
#

I got diggable tiles working now i think

royal stump
#

@spice inlet I ended up using prefixes after all (for safety's sake with typos), just a general prefix: or suffix: at the start. "MapName": "prefix:DLX.PIF_MINE_" should spawn a full set at every PIF location, etc. Try it out if you want, and/or let me know if you have any issues with it.

#

(all else aside, "MapName": "prefix:" is a fun test)

twilit quest
#

Hey @lucid iron. Could I ask a favor? 🙏 (Please?)

eternal glade
#

Is there a way to make to tiledata tiles gridsnap?

lucid iron
#

You can ask anyways for next

lucid iron
eternal glade
#

i think i got the line up pretty close but the bottom row of dirt tiles wont till, and i checked theyre the same as the ones right above that do

opal tendon
#

does anyone know if there are any good tutorials on how to like make a farmhouse or scarecrow mod

dire kestrel
opal tendon
lucid iron
#

For farmhouse you just do editimage on Buildings/house yep

#

!unpack

ocean sailBOT
#

Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!

dense nest
#

Hi, I'm new to modding, I'd like to make a mod to expand dialogues. When I saw other mods of this style, I noticed that it has several characters that I don't know, and I went to check the wiki in the dialogues section and I see that the page is down.

royal stump
twilit quest
# lucid iron I may have wares yes tho im doing tourism this week

I understand! No rush.
I was hoping you might add another MMAP. You know how your mushymato.MMAP_FarmHouseFurnitureRemove and mushymato.MMAP_FarmHouseFurnitureAdd let modders erase or replace the starting furniture defined by the Farm map for the FarmHouse map? I was wondering if you would be willing to add a FarmHouse WallIDs and FarmHouse FloorIDs that would do something similar. I know it's possible to define the default Wall and Floor IDs in the FarmHouse map itself, but I'm getting some frustrating bugs with disappearing wallpaper, and the doubly-defined Wall and Floor IDs make it very hard to test. Plus defining it in the FarmHouse map properties doesn't always work. The Bedroom, for example, always takes on the Farm map Wall ID, not the FarmHouse map Wall ID

eternal glade
opal tendon
twilit quest
twilit quest
dense nest
lucid iron
#

FarmHouseFlooring/FarmHouseWallpaper do set the initial floor and wallpaper yes

twilit quest
obtuse wigeon
#

this may be out of the scope of Content Patcher but is there a way for a recipe to take an item and output another item in a quantity that changes depending on the "Edibility" field? i.e. and apple with an edibility of 15.2 outputs 3 stone (stone is just a placeholder, will be different)

lucid iron
#

Yeah it seems reasonable to make a trigger action to do stuff

#

I shall look into it

twilit quest
#

Thank you!!! You are The Best, @lucid iron

#

Enjoy your tourism first, though

#

This can wait until whenever it is convenient for you, of course! @lucid iron

torpid sparrow
#

Hello, how do I make a cooking recipe use any egg, as opposed to a specific egg like large white

torpid sparrow
#

do i just put the context tag instead of the specific object id

brittle pasture
torpid sparrow
#

ouar!

#

oh wait i see the category

#

bye

brittle pasture
#

(context tags don't work sadly)

torpid sparrow
#

thank u :3

gaunt orbit
#

huh apparently I already have an IsDebrisOrForage check, it's just that apparently worm spots are objects but don't count as debris

opal tendon
# ocean sail

what do you do outside of this like for the image part

obtuse wigeon
#

Don't they count as Arch? or have i read the wiki wrong

gaunt orbit
#

I'm just surprised I have to write in an exception for it, since otherwise IsDebrisOrForage catches all resource nodes and spawned forage items

obtuse wigeon
#

artifact spots seem to be a bit of an edgecase, I've noticed they've been neglected in a few mods i've come across previously

royal stump
#

IsForage is basically a category check + forage_item tag, and artifact/seed spots are category 0 without the tag, ig
(and the debris checks all care about category -999)

#

also type asdf, which does nothing in particular

opal tendon
royal stump
gaunt orbit
#

you can use conditions and tokens with content patcher to do seasonal edits of single images

opal tendon
#

okay ty!

royal stump
obtuse wigeon
#

I can't figure out why this custom machine isn't loading into the game, it's using a machine from Cornucopia Artisan Machines as a base so don't mind the texture names, a lot of it will change, https://smapi.io/json/content-patcher/4c20566fe67c4c199c540cc91f80d76a
(If it was shorter I'd paste it in here directly)
There's no errors in the smapi log so I think I've just missed a vital load function or something but I cannot figure it out

brittle pasture
#

you also need a Data/BigCraftables entry

#

you'd add NutrientSlopMachine to Data/BigCraftables, and (BC)NutrientSlopMachine to Data/Machines

obtuse wigeon
#

Ahhh gotcha thank you, I thought it looked too empty

tranquil olive
# royal stump If you want to play different footstep sound effects for certain tiles, that's n...

hi again SDVpufferlurk I think I added the TriggerAction entry and the SpaceCore dependency, as well as the Back layer property (the pink one, right?) to the map in Tiled...I don't think I have an error when I load it in the game (although the validator doesn't like it...I think I wrote line 20 how it is on the wiki page: https://smapi.io/json/content-patcher/8cd1770f35854ea4b1cc0cd09ada8e39)

when I try to test and walk on it though, I can no longer walk on the squares, even though I have a Passable T property on them (the Building layer property)...should I be handling this a different way? SDVpufferthinkblob

obtuse wigeon
royal stump
brittle pasture
royal stump
#

the map tiles being impassable shouldn't have anything to do with the spacecore property itself, but I'm not as familiar with how passable/etc interact, unfortunately (or Tiled in general, compared to other folks here)

tranquil olive
#

ohhh okay, I'll see if I can fix up the code then o:

Thank you so much for assisting SDVpuffersalute 🙏

brittle pasture
obtuse wigeon
brittle pasture
#

by all possible cases I meant stuff like stack modifiers where "if input edibility is larger than 5 add one more stack"

uncut viper
#

do you plan on generating a recipe for every single edibility -299 through Infinity

brittle pasture
#

yeah that's my plan SDVpufferlurk

obtuse wigeon
uncut viper
#

i mean like there isnt an upper limit on edibility. what are you generating with python here

obtuse wigeon
uncut viper
#

what about modded items, or mods that change the edibility of vanilla items

#

tbc "im not concerned about those" is a valid answer

brittle pasture
#

the item with the highest edibility in vanilla is magic rock candy at 200, anything higher is fake/doesn't matter (half /s)
if we're bucketing edibility stack count increases every 2.5 edibility that's only 80 entries in StackModifiers

#

“only”

obtuse wigeon
obtuse wigeon
uncut viper
#

well that only works if you have the mod installed when you generate the recipes

brittle pasture
#

no, machine rules do support "if item satisfies this condition set/increase/change stack count"

#

the issue is that you have to write out every condition

#

because you can't do "take edibility, do calculations on it and set stack count as that number" without C#

obtuse wigeon
lucid iron
#

It's easy if u r in c# tho Dokkan

#

And "write out every condition" is easier now that u can template it

#

I'd personally just do steps of 100 edibility

brittle pasture
#

so your machine rule can have "edibility is 5, set stack to 1. edibility is 10, set stack to 2. edibility is 15, set stack to 3, etc." repeat until 200

lucid iron
#

And cap at 3

obtuse wigeon
lucid iron
#

Well frameworks is just other people's c#

obtuse wigeon
obtuse wigeon
lucid iron
#

My ideal for installing mods is for them to use common tested c# instead of one off niche c# that may be in conflict tbh

brittle pasture
#

it's basically a list of entries where "if this condition satisfies, do this modification to the stack count of the output"

#

(to answer your question, no, item input is still based on ID/tag)

#

[[Modding:Game_state_queries]] are said conditions

obtuse wigeon
lucid iron
#

It does depend on what exactly you are doing

#

For machine outputs there is a OutputMethod thing you can specify

#

And essentially take control of how the machine logic works

#

This has very low chances of conflict

obtuse wigeon
brittle pasture
lucid iron
#

However if you were gonna have to harmony patch anything then you need to think about other people patching same thing

obtuse wigeon
# brittle pasture yep

That's fantastic news, the only edge case I'd have to think about is if a mod adds a new catagory (If that's possible)

lucid iron
#

It is but only visually

torpid sparrow
#

"Wem.Tilly": "$action AddMail Current Wem.Tilly_EggMail{{i18n:Wem.Tilly_spring13}}", This is returning

Failed to parse $action token for Data\Festivals\spring13:Wem.Tilly: optional index 3 (MailType mailType) has value 'is', which can't be parsed as an enum of type 'StardewValley.Network.NetEvents.MailType'.

Does anyone know what this means/can figure out why the addmail isn't working

#

oh mayb ei have to add the type

#

as tomorrow

#

since there's something after

obtuse wigeon
#

How do i prevent non edible items from being added to the machine if I specify catagories that can be added? i.e. if a catagory is usually only edible items but a mod adds a none edible item to it

brittle pasture
torpid sparrow
#

oh wait i have to separate it

brittle pasture
torpid sparrow
#

how do i separate in this case? where do the # go

#

is it #$action.......EggMail#{{i18n}}

brittle pasture
#

wait is this part of a mail's body

torpid sparrow
#

uhh no its part of dialogue

#

festivals dialogue

brittle pasture
#

that makes more sense
yeah split it, the game thought your i18n was part of the command

torpid sparrow
#

How do I split it properly?

obtuse wigeon
torpid sparrow
#

first time using a command that isnt $b or $e lol

brittle pasture
brittle pasture
uncut viper
#

all commands are separated with #

urban patrol
#

i guess i'll draw a spritesheet myself, unless anyone has any wisdom on how to spawn them with spacecore during an event

obtuse wigeon
#

Looking at the "ITEM_EDIBILITY <target> [min] [max]" trigger condition for machines, if I supply a [min] do I also have to supply a [max] too or can I leave it blank for the default unlimited value?

uncut viper
#

anything that is wrapped in [] is optional

obtuse wigeon
#

perfect, thank you

uncut viper
#

if it was [min max] then they would be a package deal, but since they are separate you only need one

obtuse wigeon
#

would a valid condition be "ITEM_EDIBILITY Input 2", where it would accept the input if the edibility is 2 or more? just want to make sure I'm reading the <target> field correctly

uncut viper
#

seems right to me

obtuse wigeon
#

perfect thank you!

urban patrol
#

is there a way to animate the farmer swinging or holding a weapon in an event? i tried showing their sword block frame but their hands are empty

obtuse wigeon
#

Struggling with the "RequiredTags" field, getting this error:

Error converting value "category_artisan_goods" to type 'System.Collections.Generic.List`1[System.String]'

Tried category_artisan_goods, "category_artisan_goods", "-26", and -26, What's the correct way to write the category?

brittle pasture
#

RequiredTags is a list, so you need []

#

["category_artisan_goods"]

obtuse wigeon
#

Ahhh gotcha, Thank you

#

Is there a way to list the RequiredTags as an OR list rather than AND? given it allows NOT (!) operators, I'm hoping it allows OR (||) operators too

brittle pasture
#

add another entry to the Triggers list

#

@obtuse wigeon forgot to ping reply

floral stratus
#

Hi, I'm making an add-on for 6480's Yet Another (Balanced) Quality Goods Mod. Having trouble with a part.

This is my code, based on 6480's code

    "Changes": [
        {
            "Action": "EditData",
            "Target": "Data/Machines",
            "TargetField": [
                "(BC)17",
                "OutputRules",
                "birdb.CP.Alpaca_AlpacaYarn",
                "OutputItem",
                "birdb.CP.Alpaca_AlpacaYarn"
            ],
            "Entries": {
                "CopyQuality": true,
                "PriceModifiers": [
                    {
                        "Id": "DraconicArcher.qualitygoods",
                        "Modification": "Multiply",
                        "Amount": "{{Profit Scaling}}"
                    }
                ]
            }
        }
    ]
}```

And this is the code from the mod I'm trying to adjust:

```{
            "Action": "EditData",
            "Target": "Data/Machines",
            "TargetField": [ "(BC)17", "OutputRules" ],
            "Entries": {
                "{{ModId}}_AlpacaYarn": {
                    "Id": "{{ModId}}_AlpacaYarn",
                    "Triggers": 
                        [
                            {
                                "RequiredItemId": "(O){{ModId}}_AlpacaWool"
                            }
                        ],
                    "OutputItem":
                        [
                            {
                                "ItemId": "(O){{ModId}}_AlpacaYarn"
                            }
                        ],
                    "MinutesUntilReady": 720
                }
            }
        },```
Everything else I've done works, but those didn't have {{ModId}} as part of the code
obtuse wigeon
floral stratus
#

Sorry, Atlas. Wasn't trying to interrupt

brittle pasture
floral stratus
#

Oh. I guess I missed that. Thank you.

obtuse wigeon
gaunt orbit
obtuse wigeon
#

How do I make a custom category context tag for a custom item? do I just add "Category": "category_atlasv_<ItemCategoryName>" in the "Entries": section?

gaunt orbit
#

you can add arbitrary context tags if that's what you're asking, but that won't change the category of the object

#

you can't do custom categories, but you can do a custom category label for a specific item using spacecore

brittle pasture
#

you'd edit its entry in Data/Objects to add that tag, but yes what wren said

gaunt orbit
#

I get the feeling this might be an x/y problem

obtuse wigeon
#

wait, I can just add the item name

#

brain block moment, never mind

gaunt orbit
#

there's an automatic context tag for item id, but I recommend making a custom tag and adding it to the item instead, so other people can also easily blacklist their own items if they want

obtuse wigeon
#

How do I add a custom tag to an item? I'm not seeing it on Modding:Items on the wiki

obtuse wigeon
#

Ahhh it was in objects not items, Thank you once again

keen cobalt
#

I found out that you were able to mod switch using the Linux Ubuntu method and I was wondering after modding a little bit on PC, why does the switch method recommend 1.5.4 version and not 1.6 for modding, and do any of the current 1.6+ mods work for 1.5.4 or do I have to find mods that work for 1.5.4 only?

brittle pasture
#

what are you talking about exactly?

#

what's mod switch

tiny zealot
#

modding on the nintendo switch, i believe

brittle pasture
#

ahh

calm nebula
#

1.5.4 is a completely different framework tbh

tiny zealot
calm nebula
#

My understanding is that xna works on arm and monogame does not

obtuse wigeon
#

isn't android modding only supported on 1.5.4 for the same reason? ARM processors working differently

brittle pasture
#

ah it's the installing arm linux on switch thing

keen cobalt
#

I don't really know how this stuff all works, but if you're running stardew off of a Linux isn't it different than running it off switch natively?

calm nebula
#

Well yes

obtuse wigeon
keen cobalt
#

hmm, okay, I guess I'll just stick to PC if I wanna mod then

calm nebula
obtuse wigeon
#

meaning certain features used in SMAPI itself aren't available I believe

obtuse wigeon
brittle pasture
#

well box64 is a thing apparently

#

tbh I'd just get a steam deck

obtuse wigeon
#

That's an intresting prospect, I'll have to give it a look

obtuse wigeon
calm nebula
#

Tbh I've always wondered if you could just build stardew's dependencies for ARM

fading steeple
#

Hi guys I have a question

calm nebula
#

I don't have an ARM machine though so

hard fern
ocean sailBOT
#

Ask your question or describe your issue here, and someone will help if they can!

fading steeple
#

So I am trying to download mods on my Mac but it's not working and I've literally tried everything

half tangle
#

!mh

ocean sailBOT
#

For help with modding issues, please ask in #1272025932932055121! When asking for assistance there, sharing an error log will help others identify your issue (see https://smapi.io/log for instructions).

fading steeple
#

!mh

ocean sailBOT
#

For help with modding issues, please ask in #1272025932932055121! When asking for assistance there, sharing an error log will help others identify your issue (see https://smapi.io/log for instructions).

half tangle
#

click on the link to the channel in that message

obtuse wigeon
brittle pasture
#

that's definitely wrong

#

you don't add two RequiredTags into one trigger, you add two entries into Triggers (it's a list)

#

wait no

#

I explained that wrong

#

ok fixed

obtuse wigeon
#

this?:

"Triggers": [
    {
        "RequiredTags": ["category_artisan_goods", "atlasv_slop_machine_exclude"],
        "Condition": "ITEM_EDIBILITY Input 2"
    }

isn't "RequiredTags" and AND list not an OR list?

#

so it would only trigger if an item has both tags, and not an item that has ether or

brittle pasture
#

no, you add another {} block inside Triggers

obtuse wigeon
#

OHH understood

brittle pasture
#

the rule will activate if either of the triggers activates

obtuse wigeon
#
"Triggers": [
    {
        "RequiredTags": ["atlasv_slop_machine_exclude"],
        "Condition": "ITEM_EDIBILITY Input 2"
    }
    {
        "RequiredTags": ["category_artisan_goods"],
        "Condition": "ITEM_EDIBILITY Input 2"
    }
]

This then I guess

brittle pasture
#

yep

obtuse wigeon
#

perfect thank you

calm nebula
#

That's not gonna work for exclusions I think?

obtuse wigeon
#

If an item has both "category_artisan_goods" and "atlasv_slop_machine_exclude" tags, do they have to be in a certain order if I want to use "!atlasv_slop_machine_exclude"?

obtuse wigeon
brittle pasture
#

ah yeah I wasnt quite paying attention to what the tags mean

obtuse wigeon
#

I figured out the word to describe it, is there a peticular order of operations for excluding an item with 2 tags

brittle pasture
#

so you would add "!atlas _slop_machine_exclude" to every trigger rule so it'd be "whatever the first tag is + not contains that tag"

#

I'm assuming you want to have multiple triggers, one for fruit, one for veggies, ect.

obtuse wigeon
#

Ohh okay

uncut viper
#

(in case anyone cares/was waiting for it, BETAS 2.15.0 is now out with 10 new triggers, 12 new GSQs, 16 new tractions, and 2 new tokenizable strings SDVpufferparty)

calm nebula
#

I was waiting for that so I can sleep 💞

tranquil olive
#

Oh- Does it have the PlaySound action thing now? SDVpufferaww

uncut viper
#

it does!

tranquil olive
#

aaaa yay SDVpufferheart I will try to include that tomorrow then (I couldn't figure out the spacecore way oops- SDVkrobussad )

urban patrol
#
        #$r Q_Navyresponse1 0 Q_Navy_reaction1#Uh, what?
        #$r Q_Navyresponse2 10 Q_Navy_reaction2#Yes, actually... [give a detailed lecture about 20th century naval battles]",
    "crystal_dialogue.Q_Navyreaction1": "Yeah, not surprising. Like, when am I ever gonna need to know this stuff?$6#$b#Thanks, though.",
    "crystal_dialogue.Q_Navyreaction2": "Wow, I can't believe you just knew all that. You're a lifesaver!$h",
    "crystal_dialogue.Q_Navy_fallback": "Thanks again for your help with this assignment.$h",```
how do i correctly format this?
obtuse wigeon
#

Am I right in thinking that the categories "Object.booksCategory" and "Object.skillBooksCategory" aren't able to added to "Triggers" for content packs as they don't have an assigned context tag?
(https://stardewvalleywiki.com/Modding:Items#Categories for the list of catagories)

uncut viper
#

you could use the item_type_asdf tag i guess

#

and then check if they are the book category in the condition or somethin maybe. idk what that trigger stuff actually does but they will have that context tag given to them

#

at least, the vanilla ones will

obtuse wigeon
#

Just trying to cover all edge cases, say if a C# mod adds something to the "Object.booksCategory" and my machine accepts it cause theres no way to prevent it

uncut viper
#

the vanilla ones are also given book_item though so if you give up caring about modded books potentially not doing that then you can use that

obtuse wigeon
#

it's entirely for modded book items, as no vanilla ones has an edibility value

lucid mulch
#

You cannot prevent a C# mod from messing with your machine full stop

obtuse wigeon
#

(Yes I know it's silly for a book to have an edibility but I'm making a mod that makes nutrient slop, silly ideas are inevitable)

obtuse wigeon
uncut viper
#

theres also no guaranteeing that even the things that do have category tags wouldnt have them removed from a specific instance of that item

obtuse wigeon
#

no way of covering every circumstance, as much I want to, I'm not omnipotent, it'll stay as an edgecase for now until someone encounters it

uncut viper
#

id be willing to bet that book_item and item_type_asdf would cover most if not all cases, modded or otherwise

obtuse wigeon
#

gotcha, thank you

vernal crest
urban patrol
ocean sailBOT
#

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

obtuse wigeon
#

There's gotta be a better way to add recipes for every edible item, Stardew Valley Expanded (one of if not the most downloaded expansion) has edible items with an edibility value of 999, to cover everything it's gunna be 18500 trigger checks, down scaling is 100% needed

lucid iron
#

You can local token it tho

vernal crest
lucid iron
#

The way to do it is, add the overall machine rule once