#making-mods-general

1 messages · Page 600 of 1

gray bear
#

you can put the load in the same file as the dispos if you want

orchid glade
#

Did you add texturename?

ornate drift
#

wait wait wait

orchid glade
#

Just so I know what we're working with

ornate drift
#

okay so his PORTRAITS work but

gray bear
#

he is here

orchid glade
#

me too, manny

ornate drift
#

his sprites dont

ornate drift
#

wanted to see what it would do

gray bear
#

what did you put sprite code as?

orchid glade
#

Try that then

ornate drift
ornate drift
gray bear
#

like in the apprearence section, what's written in sprites?

ornate drift
#

like from an existing mod

gray bear
#

and this is 100% what's that loaded as?

orchid glade
#

Not off the top of my head. Try:
"TextureName":"{{ModId}}/Manny_Spring"

gray bear
#

i don't see a loaded spring sprite in your code

ornate drift
ornate drift
gray bear
#

than have it as Characters/{{ModId}}_SpeedyManny for spring

#

pls hold as i rmrbr what target without path does

orchid glade
#

from the target

gray bear
#

ah alright then

ornate drift
#

my brain is melting

gray bear
#

thonk should be right. can you share the code again?

ornate drift
#

one sec lemme try texturename

gray bear
#

TextureName seem to be for setting a default

orchid glade
# ornate drift one sec lemme try texturename

You're trying lots of things so I think it's getting a bit messed up. But you need to make sure when you change things that everything still matches up. Whether you use {{ModId}}_SpeedyManny or {{ModId}}/Manny_Spring, you need to make sure you:

  1. load the asset
  2. use that asset name in your Data/Characters patches
gray bear
#

you can do both of these in the same file if it helps you with matching names ^

orchid glade
#

The last code you sent through, you were not loading Manny_Spring, so you couldn't use that in Appearances or as the texture name

gray bear
#

there isn't actually a need to make disposition a separate file, it just helps with organization

ornate drift
#

the portrait i sent earlier is Summer
the Summer sprites arent loading

orchid glade
#

Yeah the loads can go in the dispo file if you want

#

can you share the code again?

orchid glade
#

And the dispos file?

gray bear
#

i think TextureName is actually throwing it off here

ornate drift
#

so no

gray bear
#

oh

orchid glade
#

And there are no typos in the .png file name?

gray bear
#

it's Sprite and not Sprites

orchid glade
#

Good spotting

ornate drift
#

fuck 😭

gray bear
#

the good news is that after that it should just work as intented

orchid glade
#

Also, the TextureName is not under Appearance, it's at the same level as Appearance

ornate drift
#

tho i should probably add the _spring back into the content later

orchid glade
#

So you just put it once

ornate drift
#

i see

orchid glade
#
 "Appearance": [...```
#

I'm still not 100% sure that will work, but it's an educated guess.

ornate drift
#

you guys are awesome SDVpufferheart

#

wait his sprites are on the map though

orchid glade
#

Did you add the _Spring back in?

ornate drift
#

this is Winter

#

hes also in social

gray bear
#

he

orchid glade
#

Ahh, hmm

gray bear
#

i, have no idea. does that menu use special sprites or something

ornate drift
#

Dont think so, other NPCs have it just fine

orchid glade
#

There is the hidden gift log emote, but if you don't have them set they are meant to just be walking

gray bear
#

do you have the same amount of sprites as other npcs?

ornate drift
#

i dont think all npcs have the same amount

orchid glade
#

But that is Haley's Spring sprite

ornate drift
orchid glade
#

Add Spring and see if they show

ornate drift
#

OHHH WAIT

#

the game uses spring as a default

#

for all NPCs

#

thats why

orchid glade
gray bear
#

yeah, you even told it to do that with TextureName

#

that's the purpose of that according to wiki

#

he's just hiding he's completely corporeal

orchid glade
#

It's weird though that the friendship menu there is showing the winter ones. I just dont know when it uses the Appearance given that the TextureName description says that Appearances are ignored

strong kite
#

The urge to get more meta with my recipe descriptions because I lowkey am running out of ideas is getting stronger and stronger rawbea2LUL

ornate drift
strong kite
#

I think I'll have added over 100 new recipes to my mod since the last time I worked on it (2 years ago) so maybe it's not surprising

#

Especially when I have to come up with descriptions for foods involving some of the least interesting berries in Pokemon heehee

ornate drift
#

hes still invisible

#

...but his portraits and sprites work in Spring

#

this game bro 💔

#

hes still invisible in social

orchid glade
#

Share your full code again so we can see what you've got now?

orchid glade
#

Ok try that

#

I'm invested

ornate drift
#

wait what about all the other seasons?

orchid glade
#

You only need one

#

TextureName is telling it what the default texture is

ornate drift
#

ah ok

orchid glade
#

I really hope it works though 'cause if not I'm out of ideas SDVitemblobfish

ornate drift
#

YES

#

thank you so much

#

just to check the last one, how can i force an NPC to go to ginger?

orchid glade
#

For testing purposes?

torpid sparrow
#

Have you considered that manny is shy

ornate drift
#

yeah to see if their beach works

ornate drift
#

kinda

orchid glade
#

Ok I have a mod to help with that

ornate drift
#

(...even though his bakery is a bit farther from the town)

#

honestly i wasnt expecting to make a mod this big

#

but hell if IM ever giving up SDVpuffercool

torpid sparrow
#

I’ve never seen Tilly on ginger island

#

I just assume it works SDVpuffersmirk

orchid glade
#

Use this to exlude all the vanilla NPCs from GI, which should make the game choose him (as long as you don't have also other mods on the test save). Credit - Aba gave me the code I just made it a little mod

ornate drift
#

so it forces the base NPCs not to go?

orchid glade
#

Yeah

ornate drift
#

neat

#

i should REALLY update mods more often 😭

#

im too busy tinkering with my bear

#

bro hes not going 💔

#

i have CanVisitIsland as true

torpid sparrow
#

I need to update all my mods too

ornate drift
#

okay so hes at the beach

#

but its using his summer portrait and sprites

#

weird...

#

"freshment" is a made up word do not question it SDVpuffermad

orchid glade
#

Spellcheck: hair not hear

ornate drift
#

oh oops

#

its supposed to be using this

#

since IsIslandAttire is set to true

orchid glade
#

Yeah I’m not sure about beach. I think there’s something funny about it. All I can suggest is trying loading it to Portraits/{{ModId}}_SpeedyManny_Beach or Portraits/{{ModId}}/Manny_Spring_Beach

fresh knoll
#

Having a hard time finding guides on editing existing items

orchid glade
#

Logic being I think I read somewhere that beach portraits had to be called InternalName_Beach

orchid glade
barren tapir
#

Last night I was having a hard time getting mail to send properly via C#. I'm either doing something very dumb bc I was practically falling asleep while coding, or I'm misunderstanding how a certain thing works and will need help from yall 😅.

We'll see which one it is after work!

For context, I decided for the first thing to transition from CP to C# would be the mail.

orchid glade
ornate drift
#

...isnt he supposed to go inside the booth to change clothes?

#

cause hes still in his summer outfit even after the internal npc name change

#

also @torpid sparrow

#

idk what happened with tilly but she just straightup went through a wall

strong kite
#

Can you make a recipe require a gold or iridium quality crop as an ingredient?

orchid glade
lunar yew
#

Does anyone know how to purchase items through dialogue, or if it is possible, in content patcher?

orchid glade
strong kite
#

Like buying the statue of fortune?

lunar yew
#

Yes, I mean like purchasing items

orchid glade
#

Oh, Um, well I don’t know if there’s a way to open a shop menu but I guess you could use a combination of questions and giving an item

#

Maybe someone else knows

lunar yew
#

I mean purchasing something** without** opening a shop menu.

orchid glade
#

Is it a fixed item, does the farmer have a choice?

lunar yew
#

Fixed Item

torpid sparrow
fresh knoll
ornate drift
#

its a cliff

torpid sparrow
#

well yes its hiking time

ornate drift
#

o ok

torpid sparrow
#

did u update her

#

i mean idk if it would fix things but

#

i cant do anything about it on an old version

#

and if u dont want to update her then it doesnt matter until someone else reports it SMCKekLmaoDog

orchid glade
# lunar yew Fixed Item

Okay look in dialogue modding page. You can set an action to remove money (using add money but a negative amount) then there’s also an action to give the player an item

ornate drift
#

💔

rich seal
#

https://smapi.io/log/cb6c0e02e2934a108c660a638679b3c2 Can someone turn this word soup into an explanation? It only started happening when I removed a few redundant items from my mod (Assorted Crazy Things), but nothing in the log seems to point to my mod despite that being the only variable that has changed.

ocean sailBOT
#

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

verbal glacier
#

well it's an error related to UI Info Suite 2 alt, not your mod

rich seal
#

That's the confusing part. I didn't have this error at all when testing earlier, and I had UI Info Suite 2 alt since last week. It only started spitting this error a few minutes ago after I removed an item from my mod, which is why I'm confused. If it's nothing on my end, then that's good, but it's certainly enough to have spooked me into thinking I broke something lol

verbal glacier
#

might be a good idea to provide your log and see if dazuki (maker of UII2alt) knows what's up

torpid sparrow
#

why do i have to edit my mod version separately from uploading a new file

#

grrrrrrrrrrrrrrrrrrrr

verbal glacier
#

cause reasons

whole raptor
faint ingot
#

there's a checkbox that the file you updated is the current one, but you also have to indicate on the main page the version#'

nova gale
ornate drift
#

cuase I've been trying

#

fro the past 3 hours

#

to get it to work

#

and it just does NOT

devout otter
#

Like, artistically?

ornate drift
#

i called u tilly by accident 💔

ornate drift
#

i have all the sprites done

#

they just won't show up ingame no matter what i do

devout otter
#

Where do you want it to show up?

ornate drift
#

GI

#

u can scroll up for the code

#

I've posted it a few times

ornate drift
devout otter
#

Hmm. Beach attire asset format can't be anything else but Portraits/<InternalName>_Beach.

ornate drift
#

Yeah, so Portraits/{{ModId}}_SpeedyManny_Beach

#

i tried putting it in a separate patch than the rest of the outfits

#

but it doesn't do anything

devout otter
#

Try lowering its Precedence.

ornate drift
#

what does that do?

devout otter
#

Make the outfit has precedence.

#

The lower the precedence value, the more it's prioritized over others.

ornate drift
#

Another thing is that he also doesn't go inside the changing booth at all

#

Idk if all NPCs do that or not

tiny zealot
#

they can (mine does)

ornate drift
#

do they just automatically do it or

tiny zealot
#

if you set it up right, yes. it's part of the schedule they get foisted on them when they are picked to visit the island

ornate drift
#

oh so it's part of a schedule

tiny zealot
#

yeah when NPCs are chosen for the island, the game cooks up a new schedule for them on the spot and overrides the one they were going to use

ornate drift
#

huh....does it happen everytime or

devout otter
#

Ah, is he now visiting the Island using your own schedule?

ornate drift
#

no the island schedule is overwriting his

#

aaaaand hes still in his summer outfit

tiny zealot
# ornate drift .

you have used Portraits/{{ModId}}/Manny_Beach (ditto for Characters/) instead of Portraits/{{ModId}}_Manny_Beach

#

presuming manny's internal name is {{ModId}}_Manny

ornate drift
#

its _SpeedyManny

#

and i already fixed it

#

nothing changed

tiny zealot
#

ok then you must use Portraits/{{ModId}}_SpeedyManny_Beach to get automatic changing

strong kite
#

maan why doesn't Sebastian have a portrait that looks even remotely surprised 😭

tiny zealot
#

and now you will need to make sure your precedence is lower than his default/seasonal outfits

ornate drift
#

so -1?

tiny zealot
#

any number lower than what his summer outfit uses

ornate drift
#

all the outfits use 0

tiny zealot
#

then anything less than 0

ornate drift
#

ok lemme try that

#

wonder what i should plan next after outfits Thinkles

#

nope, still the same

#

its supposed to use these

tiny zealot
#

hmm. did you also fix your loads for those textures to use the correct asset names?

ornate drift
#

yeah?

torpid sparrow
#

why does appearances hate u

ornate drift
#

cause it sucks SDVpufferchickcry

clever monolith
#

Hi guys. Does anybody know if there's a mod out there that adds pagination to the special orders board?
I'm adding this feature to my quest framework mod but I need to know if there will be conflicts on release.

torpid sparrow
#

what is pagination

verbal glacier
#

Turning/giving something pages

clever monolith
#

So currently the special orders board only lets you see 2 special orders (checked and refreshed every 7 days).
My framework will add navigation buttons which would make it so there can be more than just 2 special orders posted in the board.

torpid sparrow
#

ohh interesting

clever monolith
#

It's just a harmony patch but I don't want to break existing mods with it

clever monolith
#

If anybody knows any, please ping me. I'd appreciate the help!

brittle pasture
#

the closest thing I know of is Better Special Orders which allows rerolling quests

strong kite
#

just now considering adding Pokemon held items as trinkets and- NOPE- Saving that for another mod or a future update- NOT suffering more scope creep LUL

ornate drift
#

this is JUST like the one situation with that one door back when i wass making my bakery

#

AUUUUGHGGHGH

sullen rain
#

Guys is Marnie's shop being closed on Tuesdays hardcoded into the game?

#

I'm trying to make it so Shay can fill in for her on Mondays and Tuesdays but I keep getting the closed dialogue

golden spire
#

doesn't it just require her to be standing by the counter?

#

can warp her to you on Tuesday

debug wctm Marnie

sullen rain
#

No I'm trying to make a custom NPC run the shop on Tuesdays

#

Usually the shop is closed

golden spire
#

would have to edit Data/Shops I assume

sullen rain
#

Yeah Ihave

#

{
"LogName": "Shay Animal Shop Edits",
"Action": "EditData",
"Target": "data/shops",
"TargetField": ["AnimalShop", "Owners"],
"Entries": {
"Shay": {
"Portrait": "assets/images/portraits/Shay.png",
"Dialogues": [
{
"Id": "Monday",
"Condition": "DAY_OF_WEEK Monday",
"Dialogue": "Hi @! I'm filling in for Aunt Marnie today!",
"RandomDialogue": null
},
{
"Id": "Tuesday",
"Condition": "DAY_OF_WEEK Tuesday",
"Dialogue": "Hi @! I'm filling in for Aunt Marnie today!",
"RandomDialogue": null
}
],
"RandomizeDialogueOnOpen": true,
"ClosedMessage": null,
"Id": "Shay",
"Name": "Shay"
},
"When": {
"HasMod|Contains=silver.Shay": "True"
}
},

#

It's not working tho

golden spire
#

can you add her as the co-owner so she's always the owner aswell

#

not sure if it requires sleeping a day to apply.. never edited it myself

sullen rain
#

I'm trying that now again to see if maybe that fixes it

#

Yeah no nothing

#

She's standing at the counter but the shop menu doesn't open

golden spire
#

patch export the file to see how it's looking?

sullen rain
#

It looks like it's applied?

devout otter
#

Okay, so, Marnie's shop tile doesn't directly open her shop when interacted.

gaunt orbit
#

working on a thing

devout otter
#

But rather give you that dialogue of whether you want to open the supply shop or the pet shop or buy a barn animal.

#

And that dialogue is indeed only working when Marnie is there.

#

What you can do is to edit the shop tile itself to directly open the animal shop on Monday and Tuesday.

sullen rain
#

Okay so I'd have to make a map patch?

devout otter
#

Yep.

#

Oh, you don't need to have an actual map. Just edit the tile property via Content Patcher.

sullen rain
#

Oh okay

#

So How would I do that? I know it would be {
"LogName": "Edit Marnie's Shop",
"Action": "EditMap",
"Target": "Maps/AnimalShop",

#

But what after that

#

Just OpenShop?

gray bear
#

are you adding a shop?

sullen rain
#

I'm trying to open the animal shop on Mondays and Tuesdays with a custom npc running the store

#

Dolphin said I'd have to add a map patch to directly open the shop cuz Marnie's option branches are hardcoded to her

#

The tile coordinates are 12 15

gray bear
#

i think you'd just need to maybe add a tile? unsure tho

devout otter
#

Something like this { "Action": "EditMap", "Target": "Maps/AnimalShop", "MapTiles": [ { "Position": {"X": 12,"Y": 15}, "Layer": "Buildings", "SetProperties": { "Action": "OpenShop AnimalShop Down" } }, { "Position": {"X": 13,"Y": 15}, "Layer": "Buildings", "SetProperties": { "Action": "OpenShop AnimalShop Down" } } ], "When": {"DayOfWeek": "Monday, Tuesday",} },

sullen rain
#

I'll try that

#

Thanks so much Dolphin

brittle pasture
#

this will obviously only open the supplies shop and not the other stuff (animal purchase and pet shop)

sullen rain
#

Hm. Didn't work anyway

#

Altho I suspect that has to do with my part of the code, not Dolphin's

#

The owners part

golden spire
gaunt orbit
#

that's so cute!

golden spire
#

Usually my goal... short-funny/wholesome

uncut aspen
#

Does any1 know if it's possible to make an event produce a barn animal? Like hatching a chicken egg, but as part of an actual event.

gaunt orbit
#

BETAS might have a trigger action for it? not sure

brittle pasture
#

I recall chu was debating something like that for Livestock Bazaar

#

yeah it has a trigger action now, you can look into it

uncut aspen
#

is there a bigger list of trigger action's than the wiki trigger actions?

brittle pasture
#

only issue is that there's no check for free space in building

#

well mods can add whatever they want

#

I think there was an effort to document all mod-added GSQs/triggers/etc but I don't know where that went

stoic blade
gaunt orbit
#

hmmm interacting with non-grid furniture is weird, I think because interaction checks are tile-snapped and use Contains instead of Intersects which doesn't work properly with non-aligned bounding boxes

brittle pasture
#

yeah i recall precise furniture just lie shift the draw

gaunt orbit
#

I should be able to fix it with a transpiler. everything else is working

ornate drift
#

im just gonna ignore the beach outfit for now

#

since its not working

#

what should i plan on doing next?

gaunt orbit
#

also i'm gonna disable the precise furniture patches in favor of mine since I'm not using skipping prefixes and it should in theory be more compatible with other mods

torpid sparrow
dusky vigil
#

C# question from someone not on this server who's helping me out:

Is there any way to use the PurchaseAnimalsMenu object without it moving you to Marnie's shop? Or is there any way to do the barn assignment interface without the purchase menu?

ornate drift
#

festival placements

torpid sparrow
#

festival placements would be good to get it over with

#

it doesn't have new ones in the past 6 months? i think or 8 months

#

but otherwise its perf

ornate drift
#

is there like a guide on the maps and placements, like a template or example

torpid sparrow
#

[[Festival_data]]

#

rats

#

what da freak did i not type it right

#

[[Modding:Festival_data]]

torpid sparrow
#

curses

#

hmm i guess there's no example thre

torpid sparrow
#

@ornate drift you can look at tilly as always :p

ornate drift
#

yippee

#

tilly and manny meetup will happen one day

torpid sparrow
#

i dont do anything special with festivals

ornate drift
torpid sparrow
#

i dont do animations, so if you want to do that SHRUG

#

i know keahi from rsv has animations

proven spindle
#

None of mine are in there SDVpufferchickcry

torpid sparrow
#

pull request?

#

not that i know how to PR

torpid sparrow
brittle pasture
torpid sparrow
#

but like not without pillow approval ofc

ornate drift
#

oh god the raw data for festivals is scary

brittle pasture
#

instead of trying to detangle that one part from the animal purchase menu

torpid sparrow
brittle pasture
iron ridge
gaunt orbit
proven spindle
#

Thanks!

torpid sparrow
#

once u figure it out u should tell me :3

dusky vigil
#

Thank you three! SDVpufferheart I'll relay to them and hopefully we can make something that goes heh

ornate drift
#

ok so for itd be something like EditData and then the target is like Data/Festivals/spring13

proven spindle
torpid sparrow
#

(which is editdata its just not as simple as like just adding an entry)

ornate drift
torpid sparrow
#

it allows you to edit text

#

so like in the raw files, you see that everyone is set up in one line

#

you can use textop to add manny in there

#

without having to overwrite the whole thing

round dock
ornate drift
#

okok :3

dusky vigil
#

@drowsy pewter also deserves a world of credit. <3 I wouldn't release anything without them kicking my butt haha

torpid sparrow
# ornate drift ohhhh

in general its pretty straightforward, you could just copy paste my code and change the positions and npc name

ornate drift
#

i can try that!

round dock
#

You and 6480 have tripled my hours with Stardew SDVpuffersquee i absolutely fell in love with the multiple artisan goods and all of the produce I could make

ornate drift
#

thank you very much for letting me borrow

torpid sparrow
#

it's the same code all around mostly SDVpuffersquee

round dock
#

-# too bad I don't play anymore but alas, Cornucopia my beloved

torpid sparrow
#

ive been playing cornucopia and the recipes too

#

i havent made much of anything yet but boy do i love hoarding crops

lucid iron
ornate drift
torpid sparrow
ornate drift
#

what are the entries, setup, and mainevent about?

torpid sparrow
#

u do the set-up, where they are when you arrive, and then main event, which is the cutscene

ornate drift
#

ohhhh :o

lucid iron
#

As for animal repositioning the main catch is just you gotta make sure to do an update tick after you move the animal

torpid sparrow
#

ex. egg hunt set-up is when u arrive, egg hunt main event is during the actual hunt

dusky vigil
#

Functionally, I'm trying to trigger an npc giving you an animal during an event that you're intended to get only one of. (unless you sell it, which then you can get another/replace it.) So it's less that we're trying to code a new shop and more that we're trying to find a way to let players tell the game which barn this animal should go in

torpid sparrow
#

entries is just finding which entry to edit

lucid iron
#

That was a bug i ran into and it ended up duplicating some chicken

torpid sparrow
#

so we're looking to edit the set-up entry

ornate drift
#

wait how am i supposed to put placements for a cutscene

lucid iron
torpid sparrow
#

MainEvent_AdditionalCharacters

ornate drift
#

oh
right
mb!

torpid sparrow
#

Pillow's tool shows both

lucid iron
#

I actually just find first valid building to put the animal in

torpid sparrow
#

all setups, all main events, and SVE

brittle pasture
#

you can also just add a regular animal shop entry but with a "does not have one yet" condition

ornate drift
#

looks like ill have to also do an include on this json

torpid sparrow
#

yeah that'll probably be the most organized fashion

brittle pasture
#

though wait I think that condition isn't vanilla

torpid sparrow
#

at the bottom i added all the dialogue for festivals

brittle pasture
#

but if you're already in C# can you can just add a GSQ SDVpufferrad

ornate drift
torpid sparrow
#

thats fine as long as u have a new patch targetting the correct thing

#

any set up is fine im just letting you know in case u were looking for that

ornate drift
#

oki tysm :3

torpid sparrow
#

blob

lucid iron
#

mushymato.LivestockBazaar_HAVE_HOUSING 7thAxis.HnH_BarnOwl.Brown

#

This GSQ will check if you actually have any space on the farm for a given farm animal

gaunt orbit
#

I... don't understand

lucid iron
#

So in the example it controls whether the trigger action which afds a wild owl actually happens

gaunt orbit
#

the il is completely different from the decompile

ornate drift
torpid sparrow
ornate drift
#

that would be a pain

dusky vigil
#

I may come back with questions heh

ornate drift
#

i also keep forgetting the 4 directions for some reason

torpid sparrow
#

or it just uses mainevent

lucid iron
ornate drift
#

theres also the fishing event

torpid sparrow
#

for the hunt and ice fishing

ornate drift
#

and grange

torpid sparrow
#

and then also the thing

#

the winning cutscene

torpid sparrow
ornate drift
#

ah

torpid sparrow
#

he just judges and tells u u win

ornate drift
#

1 is left, 2 is front, 3 is right, and 4 is back?

#

i forgot

ornate trellis
#

0 1 2 3

gaunt orbit
#

waaait a second is this FF shenanigans

ornate drift
#

json really loves zero

torpid sparrow
#

yur

#

0123

ornate trellis
#
3          1
      2```
torpid sparrow
#

0 is up, 1 is right, 2 is down, 3 is right

ornate trellis
#

damnit discord

ornate drift
#

thanks!!!

ornate trellis
#

close enough

torpid sparrow
#

. 0
3 1
2

#

man

#

there

ornate trellis
#

it works with the code option lol

gaunt orbit
#

oh boy this is going to be fun to fix

ornate drift
#

what does delimiter do

gaunt orbit
#

orrrr I could just get FF to change the logic and not run my transpiler when its installed

torpid sparrow
#

so if set-up for npcs is like abi 1 1 1/nick 1 1 1/selph 1 1 1

#

then you want manny to be added with / around it

brittle pasture
#

inb4 that mod patches your patch that's patching their patch that patches your mod to no longer patch

gaunt orbit
brittle pasture
#

ah that makes more sense lol

ornate drift
#

he didnt spawn 💔

torpid sparrow
torpid sparrow
ornate drift
#

yeah at the end of my content

torpid sparrow
#

any errors

ornate drift
#

this game hates me so much

#

first it was the bakery door

#

then the beach outfit

#

now this 💔

torpid sparrow
#

hhhrrrmmm

torpid sparrow
ornate drift
#

.....oh

#

fuck

torpid sparrow
#

cjb year 1 and then dial day back by 1

#

sleep and go to festival

ornate drift
#

hooray

torpid sparrow
#

hooray

#

now u get to do this many more times!

#

7 in fact!

ornate drift
#

💔

low shell
#

🥀

ornate drift
#

penny must be terrified rn

torpid sparrow
#

penny cannot see

ornate drift
#

oh yeah i just noticed hes GIANT compared to all the other NPCs

#

to be fair hes a bear

#

so

torpid sparrow
#

he is a bear yeah

gaunt orbit
#

man this mod really is harmony patches georg

ornate drift
#

im guessing i also have to write y2 dialogue...

gaunt orbit
#

good thing im the one doing all the compat work

ornate trellis
#

you also have to do year 2 coords

#

festivals is still easier to do than doing events, fight me

torpid sparrow
#

its true its just tedious

#

boring

uncut aspen
#

With the repeatable events mod, is there a way to turn off the event repeating after seeing a certain event? For example, If i want the wizard to sell the player something in an event. But I want the player to be able to repeat the event if they didn't buy it the first time. But I want a second event to trigger after they bought the item stopping you from getting the first event anymore.

calm nebula
#

You can do repeatable events with trigger actions now

gaunt orbit
#

am I crazy or should this match?

brittle pasture
#

actually that might be the same thing under the hood

gaunt orbit
#

I mean I can try and see if it works

#

nope

#

maaaybe it's that thing with reflecting netfields again where the fucked up inheritance tree screws with things

#

yep that was it

#

I needed to do typeof(NetFieldBase<Rectangle, NetRectangle>) instead of typeof(NetRectangle) even though NetRectangle is that

#

that's bitten me before and I always forget about it

brittle pasture
#

hmm i could swear ilspy would show the former in the decomp

gaunt orbit
#

it does, but I'm lazy, and since doing it the lazy way doesn't throw an exception I forget that it doesn't work for matches

#

like the thing is NetRectangle.Value doesn't return null, it just returns the "wrong" propertyinfo for some reason

sullen rain
#

Yay! 🙂

golden spire
#

woo

brittle pasture
# sullen rain Yay! 🙂

nice!
you should think of how to deal with the catalogue as well
I think if the catalogue is read you can restore the original tile action but change marnie's away text to something lore appropriate

sullen rain
#

I'd definitely like to

#

I'll look into the code and see what I can come up with

ornate drift
#

are y1 and y2 dialogue for festivals different?

brittle pasture
#

reading the book sets a stat, you can then set a mailflag based on that stat with a trigger action, and then (un)patch based on that flag
it won't be immediate since CP at best updates every time/location change but it's probably good enough

brittle pasture
ornate drift
#

okay, how do i make it into year 2

brittle pasture
#

modded NPCs made after 1.6 usually set those as well

#

add another entry with _y2 at the end

ornate locust
#

It can help to look at a 1.6 NPC and see how they do stuff

brittle pasture
#

look at the unpack for an example

ornate drift
brittle pasture
#

sorry, another entry in the Entries block

ornate drift
#

ah so "{{ModId}}_SpeedyManny_y2":

tough osprey
#

alo I'm trying to figure out how temp animated sprites work. I have this line written.
temporaryAnimatedSprite TileSheets\\Craftables 128 96 32 32 500 1 9999 51 27 false false 2 0 1 0 0 0
I'm trying to show the table from the craftables tile sheet, the food is on a different layer. This is how it's showing up on the event

brittle pasture
tough osprey
#

yeeep I just noticed that 🤦 I can math I swear lol, testing it out now

#

yippe it works! thank yew SDVpufferheart

ornate drift
#

i wonder

#

what mod has the most amount of portraits ever?

#

like variants and whatnot

torpid sparrow
#

i cant remember

tough osprey
#

oh also another question when trying to use textAboveHead the {{PlayerName}} token doesn't seem to work in the event, any ideas? The dialogue is in an i18n

brittle pasture
#

tokens indeed do not work in i18n
you need to pass a variable into it

tough osprey
#

ahhh i see oki that makes sense

#

also side note I love being ESL bc I realized most of my issues last night were because for ALL MY MAIL FLAGS I spelled "recieved" instead of "received" SDVIridiumKek

brittle pasture
#

something something i before e except for the 100000 exceptions in the english language

gaunt orbit
#

English is my first language and I still frequently get that particular spelling wrong

torpid sparrow
#

i before e except after c

#

thank you charlie brown

#

i say that to myself all the time

calm nebula
#

(Spellchecker)

ornate drift
#

flower dance placement is so overwhelming

#

like wtf 💔

#

WHY ARE THERE PEOPLE IN THE WATER

hoary tartan
#

Sunberry adds a new area over there its land

ornate drift
#

ah

#

ok :3

calm nebula
#

Swimming

brittle pasture
ornate drift
#

woops

uncut viper
#

~~just add a festival nudge dependency and dont worry about it ~~

ornate drift
#

how are you even supposed to go through here

#

😭

#

you cant even REACH the clown

brittle pasture
#

you can push through NPCs

#

but yeah now you see the pelican town real estate situation

ornate drift
#

theres a main event for the spirits eve...?

verbal glacier
#

no

ornate drift
#

how come its listed on the website

#

im guessing its unused

verbal glacier
#

no idea why, it's not in Data/Festivals/fall27 so

iron ridge
#

I have no idea

#

I just did what the data gave me

verbal glacier
#

ah if you don't either then lol

ornate drift
#

finally im done with placements

#

😭

#

im so tired

verbal glacier
#

-# now animate manny SDVkrobusnaughty

ornate drift
#

technically i think that would be easier

#

BUUUUUT ill probably do it down the road

#

:3

golden spire
#

so lonely 😛

verbal glacier
#

:3

#

some expansion down the line will have to go over there

ornate drift
#

website

#

thingy

golden spire
#

but she is

#

she's by herself.. out of bounds

ornate drift
#

no i mean Manny

golden spire
#

ah

ornate drift
#

getting him to appear on the website when hes released

golden spire
#

guess you have to ask pillow

#

but after they are relaesed

#

wouldn't want it full of unreleased npcs

verbal glacier
#

read a bit up and down from there for context

torpid sparrow
#

yyeah pull request

ornate drift
#

HALEY WHY

#

actually on second thought i dont think i should be standing beside a red flag

verbal glacier
#

there are no flags? /j

ornate drift
verbal glacier
#

oh hi clint

ornate drift
#

....sigh...

verbal glacier
#

t pose parrot

torpid sparrow
ornate drift
#

@torpid sparrow tilly and manny have one thing in common

torpid sparrow
#

but he bear

#

does he not eat fishies

ornate drift
#

fishes are in his hate list

#

he HEAVILY dislikes fish

torpid sparrow
#

omg

#

rebel bear

verbal glacier
#

but why :(

ornate drift
#

manny is like 80% related to my irl self

#

i hate fish

#

yup ok theres another bug

torpid sparrow
#

i love some fish but like dont be gifting me fish

hard fern
#

if u gift me a fish i'll immediately put you on the fish watchlist

#

and ill eat the fish ofc.

faint ingot
#

If you think you have trouble conflicting with vanilla NPCs during festivals, just wait until people tell you all the mod NPCs that you have conflicts with

ornate drift
#

npc festival nudge the GOAT

torpid sparrow
#

real

ornate drift
#

oml its always clint

#

i swear

#

this guy

#

he moves from the left side to the right

sullen rain
#

Quick question

#

Anyone know if there's already a Catcher in the Rye easter egg somewhere in the game this line would clash with?

torpid sparrow
fierce vault
#

Oh, can I ask which remade town interior that is?

hard fern
#

clint is inevitable.

sullen rain
#

Earthy Interiors

fierce vault
#

thanks

verbal glacier
#

does earthy interiors also adjust the fireplace area?

dire kestrel
#

pelican town municipal is adding the extinguisher

sullen rain
#

Municipal adds the extinguisher

#

I think the rest is SVE

#

Ah yeah here it is in tiled

verbal glacier
#

guess i'm just not used to seeing it in earthy's style (never used it)

ivory plume
#

Monthly mod stats time!

Mod compatibility

84.1% of SMAPI (C#) mods are compatible or have a workaround, up from 83.5% last month.

Unique mods by type

We have 439 more mods this month, which includes...

  • +233 Content Patcher;
  • +134 SMAPI (C#);
  • +40 Alternative Textures;
  • +19 Fashion Sense;
  • +10 Farm Type Manager;
  • +5 Mail Framework Mod;
  • +2 Furniture Framework;
  • +1 XNB;
  • 0 Better Artisan Good Icons;
  • 0 TMXL;
  • -1 Dynamic Game Assets;
  • -1 Producer Framework Mod;
  • -3 Shop Tile Framework;
  • -4 Json Assets;
  • -15 Custom Furniture;
  • and +19 for frameworks with <100 content packs.

Fashion Sense surpassed 1000 content packs this month. That reclassifies it as a 'core framework' on the wiki, alongside Content Patcher + Alternative Textures + Json Assets. Congrats to its author @polar escarp!

Content Patcher packs

We have 14,370 Content Patcher packs.

The top five Format versions remain...

  • 2.0 (4094 ↗ 4131), 2.3 (907 ↗ 927), 2.4 (590 ↗ 591), and 2.8 (1068 ↗ 1130) for Stardew Valley 1.6;
  • and 1.19 (572 ↘ 570) for Stardew Valley 1.4.

Open source

  • We have 4,521 tracked C# mods, of which
  • 2,530 mods (56%) have a source code repo, with
  • 1,336 (53%) in a multi-mod repo and 1,194 (47%) in a single-mod repo.

AI continues its steady erosion of open source this month. Over the past twelve months, the percentage of C# mods which are open-source has continuously dropped from 65% in May 2025 to 56% in May 2026; it's the first sustained drop in Stardew Valley modding history, and the largest by far.

Web costs

And finally, web hosting costs for the SMAPI.io site, update-check server, and API rose a bit to US$222/month. (The graph is always a bit behind due to billing cycles.)

See also

And that's it for this month! Feel free to ask if you have any questions.

lucid iron
#

what if u put CLAUDE.md to tell the AI to pls open source things would that work blobcatgooglyblep

ivory plume
#

Just need to put it in the root folder of the Internet.

fierce vault
#

I wonder who’s keeping the entirety of the internet in a folder on their desktop

#

My bad, maybe it would be in documents

summer spoke
#

Can someone please explain viewport for me? Like how I make it exactly where I need it to be?

torpid sparrow
hard fern
#

+1 XNB

torpid sparrow
#

assuming u mean events

summer spoke
#

So, if I want to make an event in a specific spot, I just put the coordinates in and it'll be zoomed out enough to catch it in its entirety?

torpid sparrow
#

the viewport command alone does not control any zoom

#

i don't know if there's a zoom command

summer spoke
#

That's actually good news to me. One less thing to worry about, thank you

torpid sparrow
#

so you can set where you want the viewport to be right when the event starts

#

if you want to move the viewport to somewhere else, there's different ways to do so

summer spoke
#

I'll keep that in mind if that happens, thank you for your help

#

What's the code to force an event again?

verbal glacier
#

debug ebi EventId

calm nebula
#

debug ebi

summer spoke
#

thank you

#

it keeps saying "nice try"

#

wait dinner's here. sorry

hoary tartan
#

You have to do it in the smapi consle right?

torpid sparrow
#

Yes

#

Smapi console not the in game one

barren tapir
#

Lets say you have a config option with the following values: A, B, and C, and they have the i18n translations First, Second, and Third. How would you define a GMCM menu in C# that displays the translated values, but stores the actual values?

For example, selecting First from the dropdown would save A in the config file.

brittle pasture
#

that's AddTextOption, with allowedValues and formatAllowedValues set

#

the documentation on them is hopefully self explanatory

gaunt orbit
#

for select options I woul recommend using an enum

#

it just makes everything easier and less messy

barren tapir
#

Huh, that's what I'm doing, but it's saving the translated values instead of A, B, C.

I'll look into it more tomorrow (maybe try deleting the config file as well).

I'm using a custom enum-like class. It consist of constant string values and a utility function to translate them

gaunt orbit
#

nah you can just use an enum

#

I'll write up an example

royal stump
gaunt orbit
#
api.AddTextOption(
  mod, 
  () => MyOption.ToString(), 
  v => MyOption = Enum.Parse<MyEnum>(v), 
  () => i18n.Get(...),
  () => i18n.Get(...),
  Enum.GetNames<MyEnum>(), 
  v => i18n.Get($"config.enumName.{v}")
);
barren tapir
#

Thanks! I'll look into these more tomorrow!

polar escarp
brittle pasture
#

just uploaded an EMC version with the feature SDVpufferwoke

#

in retrospect I can probably generalize that to generic smoke color but ehh wanna push it out for C&C

#

(and to any modders interested, it also has the prismatic item feature, so go nuts with your color changing wine/fish roe/jelly/etc.)

proven spindle
#

At long last the prophecy can come true

nova gale
#

Unicorn milk?

rich seal
#

That's not an udder on that unicorn

#

||not until I go reskin cows into unicorns, thanks for that idea||

nova gale
#

does anyone know, when adding cooking recipes via a triggeraction using the "MarkCookingRecipeKnown" can the recipe id have a space in it? (and if so, do I need to quote it or escape it or anything?)

#

turns out up until now I've opted to use recipe id's that have unscores instead of spaces 😛

#
"MarkCookingRecipeKnown Current Sunshine Stew true",

is the one i'm adding atm

torpid sparrow
#

uhh

#

i doubt it

#

thinks

#

hmmm

royal stump
#

as far as I can tell, that should work but requires escaped quotes, as in Current \"Sunshine Stew\" true

torpid sparrow
#

yeah

royal stump
#

the key is a single space-separated arg

nova gale
#

perfect

#

yeah, thats what I assumed is it was a position based argument

#

ok, but escaped quotes, not escaped space (y)

#

danke

tough osprey
#

aaa question when adding a conversation topic to an NPC when you're married to them, would it go in in the NPC.json or MarriageDialogueNPC? Does it matter?

royal stump
#

my vague impression from the code is that the game won't look for CT dialogue entries in the marriage assets (or any keys not in the wiki dialogue page's list), but I can't find anyone explicitly documenting that

coarse pine
#

Hi! I've never modded stardew before. What's the difficulty of creating custom farm types/maps for example?

fossil osprey
#

Farm maps are not the easiest thing to do (there are a lot of things to take into account, and the layers system can be quite hard to understand), but we have a lot of tutorials, and you can look at any custom farm map to see how they're done :)

ornate drift
#

Maybe i should start considering events 🤔

#

If i can finish events, i can finally polish everything then maybe release the mod

orchid glade
#

Hello! Does anyone know if Qi's Prismatic Grange quest uses the color context tags, or if the items accepted for each color are hard coded? I'm changing some color tags to match a Joja recolour, and want to know whether Qi's quest will recognise the color change.

royal stump
#

it's apparently not identical to dye pot logic, but does use context tags; look for the "QiChallenge12" entry in Data/SpecialOrders for the different objectives' tags

orchid glade
#

Thankyou!

ornate drift
#

Does specific day dialogue override generic dialogue?

fossil osprey
#

It should

orchid glade
#

I'm stuck - I'm trying to change some vanilla object sprites by editing the Texture and SpriteIndex in Data/Objects. My textures are loading into the game - I can patch export them, and they are showing in the machine output speech bubble thing. But when I try to view the items in the toolbar/inventory/chest, or hold it above my head, it's either invisible or a black box. What am I missing?

content.json (load textures + include includes.json): https://smapi.io/json/content-patcher/f8add026ef624fc7bc21e1d9bc55fbe1

includes.json (include edit_data.json + define local tokens): https://smapi.io/json/none/1d7a29853ac844b38841d97c8e495319

edit_data.json (edits Data/Objects using the local tokens from the include): https://smapi.io/json/none/9d15f751ad544afca5e027a71c413753

gray bear
#

what's the file itself look like?

orchid glade
gray bear
#

i see. try having it so the SpriteIndex isn't in quotes (" ")

#

otherwise, it all looks fine

orchid glade
#

Fraid that's not it. I started off with it not in quotes.

gray bear
#

does the log say anything

orchid glade
#

I changed it to be in quotes because I thought that might be why it wasn't working. (Because when I used the {{SpriteIndex}} token I had to put that in quotes).

#

Log doesn't say anything

gray bear
#

thonk i need to uh, go right now but i'll take a look when im back. sorry i can't help more

ocean sailBOT
#

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

orchid glade
#

In the meantime I'm going to ... turn it off and on again.... just in case lol

proven spindle
#

Does it work when you un-localtoken it

orchid glade
#

Ooh I'll try that

#

(Although, patch export of Data/Objects looked fine)

#

I changed the editdata to just patch the Duck Mayo individually, and the result is the same. It shows edited sprite in the machine output bubble, but when I collect it's invisible.

      "Action":"EditData",
      "Target":"Data/Objects",
      "Fields":{
         "307":{
            "Texture":"Mods/{{ModID}}/JojaAnimalProducts",
            "SpriteIndex":"13"
         }
      }
     },```
#

It seems strange that those two functions would draw from a different texture source. Something very strange is happening.

#

I feel a bit like my game is imploding recently to be honest. Things that should work, not working.

proven spindle
#

Could try it in a fresh save (+verify game files if using steam)

#

You could also give TargetFields a try, I'd think it would work without since the field isn't a list but maybe it thinks you're replacing the entry rn

orchid glade
#

I verified game files.. about a week ago for another problem that remains unresolved. I'll try on a new save, I just used this one because I knew I had all the items.

#

It definitely doesn't think I'm, replacing the whole entry. This is what the patch export of Data/Objects looked like.

proven spindle
#

Any chance your sprite sheet is mis-sized? If it's off by a pixel cp might be frenzying

orchid glade
#

Ohhh this is a thing.... it worked on a new save. I think I know what's going on.

#

So all the items I looked at were old items generated the night before or earlier.

#

So the machine output preview took the new image, but the old items like actual items from the machine and stuff in the autograbber didn't.

#

I guess I should test if new items collected or from machines would work.

#

But, if this is how it behaves when I retexture with an editdata instead of an editimage, it's no good for anyone with an existing save. So, I guess I should just to an edit image.

gray bear
#

new items/save is always good idea. glad it works!

orchid glade
#

Now I just have to rewrite it so it will work on an existing save. So much for trying out a new method!

gray bear
#

i think a patch reload <ModID> would help

void aspen
#

patch reload is a life saver

orchid glade
#

That didn't seem to work on all the items in storage.

#

I've found that if my machines or animals produce a new item, it has the correct texture. But if I add that to a pile of invisible eggs/mayo it turns invisible. But it I add the invisible eggs to the good eggs, they turn visible.

gray bear
#

a way to make them work as you want is editing springobjects instead of loading a new tilesheet

orchid glade
#

Yeah I know, I just wanted to do it without all the ToArea jazz, and to try something new. I'm v. familiar with EditImage 🙂

gray bear
#

fair. i think the source texture for items you already have can't be changed though

orchid glade
#

Oh I wonder if my other edit data patches will work on the old items... changing color tags and descriptions.

gray bear
#

maybe there's a command for it? hmm

#

display stuff doesn't work the same as textures so should be fine iirc

orchid glade
#

Yeah the source texture must be sort of saved to the object when it's created.... but not saved enough that the old texture showed up.

gray bear
#

the game registers you changed it but can't use the new one bc the old one is like bound or something. very annoying

orchid glade
#

Now to replace 1 token with 4 tokens per item...

      "ToY":"",
      "FromX":"",
      "FromY":"",```
[edit - this didn't work btw because it produces an invalid x that wasn't restricted to integers]
gray bear
frosty gate
#

Hi, how do I use a delegate in an API method? Basically I want to clean this monstrosity by using a delegate: https://github.com/khanshoaib3/stardew-access-local/blob/45f37433eb6a31097ba7fc3d77ac4a3a847263f3/stardew-access/API.cs#L293-L300

(posting this again as I didn't get any response last time 🙃 )

GitHub

An accessibility mod for Stardew Valley with screen reader and keyboard only support! - khanshoaib3/stardew-access-local

lucid iron
frosty gate
#

Am I?

#

Wait, is Func a delegate techincally?

lucid iron
#

Yeah

#

You can define a dedicated delegate type yes but I don't see much point since that is really just alias for Func

calm nebula
#

Less long type signature

#

Could also use q custom class

frosty gate
frosty gate
calm nebula
#

yeah

#

hopefully

#

(I'm sure of the classes, the delegate is...hopefully)

frosty gate
#

Interesting.

frosty gate
strong kite
#

Realizing I could theoretically use the "RemoveBuff" trigger action to have certain berries cure certain debuffs... I think I'll give that a try

calm nebula
#

I meant more that

void TestFunc(Func<IMyClassInput, IMyClassOutput>) is probably working but I'm not 100% sure

#

using a...crap, what's the C# word for it, record class is fine

frosty gate
#

I get confused with the different terminologies as well. But yeah, I was kinda thinking the same, I'll test it out.

lucid iron
#

I think pintail is fine with this?

strong kite
#

Implementing these debuffs def feels kinda weird cuz I feel like they'd be inflicted by enemies but I don't think I should necessarily be touching that LUL
But that leaves the only place they're inflicted being from food. I guess i can use them to balance more powerful food buffs. Poisoned and especially Burned will be fun and easy to implement how they work in the games, same with Paralysis as I've already kinda got that. I've got an idea for Sleep, but Frozen is... I'm not entirely sure what to do with Frozen cuz it would basically be Sleep.

Is there a way to have a buff make the player unable to move? Cuz I know even a speed debuff of -250 still lets them move

severe cairn
#

Could be frozen in terms of moving is difficult if you can't figure it out

strong kite
#

Well that's for sure, my other thought was making it kind of like a mix of Poison and Sleep where it's both a damage over time AND slower movement. Pokemon Legends Arceus renamed it "Frostbite" and it was basically the special equivalent to Burn, but seeing as Stardew doesn't have a Special Attack stat.. heehee

#

Awww wait this woulda been such a good time to use Spacecore's StaminaRegen with a negative value, but that doesn't seem to work and my issue report has been up for like 3 weeks now pichusad

lusty halo
#

Uh, it seems I've finally, properly understood how Dynamic Tokens work. This "SeasonalMapRecolors" here controls 11 (eleven) different combos, and I use it on just two "paragraphs", or however they care called. Shaves off a large bunch of lines. It only took, what, 5 years to get it?😂

coarse pine
#

I'm on Tiled right now, trying to work out custom maps. How do I edit warps and stuff? Like if I want an exit to spit you out somewhere different

severe cairn
void aspen
#

tho be sure to use a vanilla map since it may have a lot of built in things

#

without which game won't work propertly when it uses your map

strong kite
severe cairn
#

Meow

#

Oh damn lowered defense too

nova gale
#

is there a good way to force special orders onto the board for testing?

strong kite
#

Yeaa in Pokemon, Frozen can be pretty debilitating. It's a chance to just fail your attack each turn, so I had to get a little rough with it.
Frozen's probably one of the more likely buffs I can BS my way into getting from a food, though LUL

#

Sleep is also pretty interesting. It's the only debuff with upsides

#

The other three comparatively are far simpler. Paralysis is -4 speed (which is genuinely awful LUL), Burned is -1 HP every 4 seconds as well as (meant to be) a 50% reduction to the damage you deal. And then Poisoned is -1 HP every 2 seconds, as well as -2 Immunity just cuz I thought it made sense

verbal glacier
barren tapir
hard fern
#

Guts

barren tapir
#

Poison Heal

nova gale
strong kite
nova gale
#

(mostly just want to make sure they look ok with wording and such)

barren tapir
strong kite
#

wait this is in the vanilla game? heehee

gray bear
#

yeah added in 1.6

strong kite
#

Well guess I'll account for it

devout otter
#

Just to be sure: Lewis walking up to each grange display to judge them during SDV Fair is hardcoded, right?

barren tapir
# gaunt orbit ```cs api.AddTextOption( mod, () => MyOption.ToString(), v => MyOption =...

I'm currently getting an error with this approach. I currently have the following (Yes, I know the code could be better - I'm eventually going to create a function to do this for me similar to how I did for boolean options).

The error in question is

An error occurred in the base update loop: ArgumentException: Requested value 'Witch's Hut' was not found.
  at System.Enum.TryParseByName(RuntimeType enumType, ReadOnlySpan`1 value, Boolean ignoreCase, Boolean throwOnFailure, UInt64& result)

This occurs when pressing "Save & Close". Witch's Hut is the i18n translation for ShopLocationOption.Witch

#

Wait, I may be an idiot

#

I forgot that you can just do enum X {A, B, C} in C#

gray bear
barren tapir
#

Okay, doing that seems to have fixed it maybe?

gray bear
brittle pasture
#

do you expect them to be first or last

#

the code sorts by ascending order

gray bear
#

i want them to be not at the bottom really

barren tapir
#

UGGGHHHH that feeling when you press the wrong save while trying to test/debug something

gray bear
#

i can't seem to make them move at all

brittle pasture
#

peeked at the code and I might be wrong but it seems like Order only applies for default warps

#

aka nothing you can do SDVpufferlurk

gray bear
#

i see, thank you

brittle pasture
#

could be a feature/clarification request for pathos

gray bear
#

pathos is okay with pings right?

#

@ivory plume hey! hope you're doing well!
i've recently been playing around with adding warps to CJB Cheats using CP, and i've noticed changing the "Order" code for newly added pings doesn't actually do anything, as they're always sorted at the bottom. I was wondering if there are maybe plans to add that? otherwise, the docs don't mention only default warps can be ordered.
ty

ivory plume
gray bear
#

Sure. Is dm'ing you it okay?

ivory plume
#

Yep.

fierce vault
#

Took me a little while to figure that out…

gaunt orbit
#

That is the way you're supposed to use enums in C#, if you do some other thing it'll break the inbuilt stuff probably

urban patrol
#

how complicated a mod would it be to make it so that animals eat grass more spread out instead of demolishing the area immediately in front of the door? keep in mind that i’ve tried and failed to make a C# mod like four or five times now

ivory plume
gaunt orbit
urban patrol
#

skip prefix involves harmony right?

gaunt orbit
#

Yeah but it's very basic harmony

urban patrol
#

hmmm okay i shall tentatively consider trying it

barren tapir
ivory plume
#

There's no difference; if you omit the numbers, they're just assigned automatically (starting from zero).

void aspen
#

what place theoretically could have the string map for those?

barren tapir
#

Ughh why'd I choose to convert my CP mod to C#?!?!

nova gale
#

good question

brittle pasture
#

good point; you should immediately drop everything and convert back

solemn marten
#

Heya all! I am normally just a channel stalker while I am figuring out how to mod up stuff on my own but recently kind of hit a roadblock looking for information.

I am trying to tinker around with clothing and it seems that unlike other items (hats and shirts) that the specification the sprite sheet layout of pants is not super intuitive to figure out just from looking at the farmer pants sprite sheet and there is no mention of layout on the wiki from what I saw as to how to go about making custom pants. Would anyone be able to give me a hand finding more information on that? Any direction would be super appreciated! 🙏

barren tapir
#

What I think I may do is create an addon for Dark Offerings written entirely in C# that adds the books instead of translating the current mod to C# and adding books (Though that does raise the question of how I'm gonna manage map changes caused by books, but that's an issue for future me)

uncut viper
#

you're using C# just to add books?

barren tapir
#

No. Well, kinda

uncut viper
#

(in C# though you can make the map change instantly though, that part is actually much easier in C# as long as you can watch for the change)

barren tapir
#

Would it be possible to define a C# mod that modifies a shop added by a Content Patcher mod?

lucid iron
#

Sure it's also just content edits

#

Use a later priority if u need

uncut viper
#

Content Patcher is just a C# mod after all. Everything it does, it does in C#

#

the CP mods themselves just tell CP what to do in C#

#

so instead of 100 different C# mods editing Data/Shops, you have just Content Patcher asking 99 other mods "what should i do with Data/Shops y'all"

barren tapir
#

Yeah, I think I'm gonna make a separate mod to add books to the shop. It does annoy me that they will appear in separate power tabs. It's not ideal, but it'll be easier to make a solely C# mod from scratch than converting a fairly large (for me at least) CP mod to C#

uncut viper
#

im a little confused still why you need an entirely separate mod just to add books or add them to shops since that can be done very easily in both C# and CP, but regarding tabs, you can override which powers tab something goes in when using Special Power Utilities

barren tapir
ornate drift
#

Evening

#

It's time to work on events

#

Where should i start? Sippy

severe cairn
#

whatever motivates you the most cus ur gonna need it

ornate drift
#

Is it time consuming?

hard fern
ornate trellis
#

events are annoying and borderline self-torture when you're starting but that might just be me

ornate drift
#

I'll try my best skaifoNODDERS

#

is there a guide?

severe cairn
#

events are evil and cruel and mean

#

lost my damn mind

#

so yeah you need all the motivation you can get SDVIridiumKek

uncut viper
severe cairn
#

I use the one button linked and the first duckbase linked at the same time, and also the trigger actions and GSQ pages in the sdv wiki while making my events

ornate drift
#

Events needing 4 guides is kinda concerning

uncut viper
#

(tbf the event data, trigger action, and gsq pages arent guides, just documentation)

ornate drift
#

I'm in for hell aren't i

verbal glacier
severe cairn
fossil osprey
#

Imo it's not "hard", just so impossibly precise and sensitive than anything will make it not work

uncut viper
fossil osprey
#

it is kinda hard to understand at first, because there are a lot of parts, but not hard to actually do

severe cairn
#

yes yes but I only use it for if I have event script issues 🙂‍↕️ it helps a few times

uncut viper
#

im saying be careful using it for even that, because the issues in that chart may also be out of date, especially their solutions

severe cairn
#

(I wasnt in the discord at the time but its probably best to ask here lol)

uncut viper
#

im not saying they are, but they could be

ornate drift
#

There's so many commands

#

But so much customization possible!! XevYay

severe cairn
#

good luck soldier

ornate drift
#

thanks

#

i kinda wanna have my NPC mostly be related to events

#

events are one of my favourite things in the game because each one is unique in its own way

#

if i was a pro, id have more than like 15 events

verbal glacier
#

you can get there, i believe in you SDVpufferheart

royal stump
# solemn marten Heya all! I am normally just a channel stalker while I am figuring out how to mo...

I'm not sure if anyone has written up a formal tutorial on it, but fireredlily made a template here that shows the poses that use each pants sprite:
#making-mods-art message
More generally, each set of sprites for a single Pants item is 192x688 in its texture image (which is assumed to be 10 sets wide before going down a row). It's split into left and right halves by gender, except for the inventory icon at the bottom left corner.

ornate drift
#

think the first event i should try setting up is the one where an NPC visits the farmer on their doorstep and greets them

#

most NPCs do that

#

event IDs dont have brackets?

#

huh

barren tapir
#

OH NO. I JUST REALIZED THAT IM GONNA NEED TO LEARN HOW TO DO EVENTS FOR THE NEXT BIG MONEY SINKS MOD

#

I'd insert the darth Vader meme, but can't

solemn marten
ornate drift
#

okay, i looked at the guide for a bit

#

....how do i make it choose a map?

#

ohhh its in the target

#

nvm

#

!

serene magnet
#

How do you make interactable items? I'm trying to make an item that when clicked will prompt a multiple choice question. A different scene will play based on the player's choice. All the mcq info I've been able to find is on npc dialouge.

uncut viper
#

You can't without extra dependencies

#

Spacecore can make an item usable, but I think you'll probably need MMAP (I think) for the multiple choice question as a trigger action

#

(since spacecore just let's you use an item to run a trigger action)

ornate drift
#

Okay, i think i got everything

void aspen
#

why not {{ }}

ornate drift
#

oh i thought it had double

#

weird

void aspen
#

are you using vsc

#

im not sure with ui of the image above since its light theme

ornate drift
#

notepad++

void aspen
#

but generally it autofills these things so you don't mess with those on accident

ornate drift
#

time to test it out

strong kite
#

I think I may cap myself at either 400 objects in my mod or 400 object sprites, just to hopefully limit how much bigger this mod gets HehSweatCloseup
I'm currently up to 389 in the sprite index, or about 390 but 17.17948718% (I refuse to use the number) of them are just sprites for a config option that lets people go back to the original placeholder images for the seed sprites in my mod

uncut viper
#

VSC won't turn {ModId} into {{ModId}} for you

void aspen
#

oh it doesn't care about { at all

#

Only fills the ModId string up

#

ugh

ornate drift
void aspen
#

how generous of sdv gods to not explode your pc on a stray coma

ornate drift
#

indeed

#

now i gotta move onto way more complex ones

#

is this how you add a condition

#

like i need the farmer to have 3 hearts with both Manny and Vincent

#

i have a very cute event idea with them xd

hard fern
ocean pagoda
#

I'm making a full Bulgarian translation mod so people can enjoy the game in Bulgarian. I've already done a few of the PNGs myself, but drawing really isn't my thing and some are still left. If anyone wants to help, or knows someone who might, feel free to DM me.

autumn tide
ornate drift
#

uhhh okay so, i want Manny and Vincent to walk to a specific tile at the same time

strong kite
#

advancedMove is your friend

ornate drift
#

does the game make it so that one character reaches that destination THEN the other character moves or do they automatically move together unless i add a pause?

#

oh

strong kite
rich seal
#

Having some fun with custom animals, but I ran into a small hiccup. I want an animal to produce an item, but not let the item gain quality. I can't tell if this is doable on the wiki. Can I do this? If so, how?

strong kite
#

I've personally found move in general to act kind of weirdly. If you only plan to have them make one straight movement then it works well, but otherwise advancedMove while a little more complicated to get right is WAY more powerful

ornate drift
#

so like move {{ModId}}_SpeedyManny 90 23 2 continue?

#

or is it move {{ModId}}_SpeedyManny 90 23 2/continue

verbal glacier
#

well it would be move {{ModId}}_SpeedyManny x y direction continue, but you don't move your actor to the coordinates in one go, you must specify multiple move commands. The advancedMove section talks more about how to move the actor along the axes.

strong kite
#

Oh yeah it isn't move to a tile, it's move in coordinate directions (so, math Despair )

verbal glacier
strong kite
#

Viewing the map in Tiled is also INCREDIBLY handy

ornate drift
#

oh this is AWFUL

#

😭

#

i have tiled at hand yes

#

thank god

strong kite
#

My advice is be prepared for a lot of trial and error and for it to not be a quick process

#

I've spent half a day creating TWO events 😭

ornate drift
#

well the first event went pretty well

#

i guess its not really advanced anyway

verbal glacier
#

an event is an event

ornate drift
#

oh yeah i want Manny to sound like he just got out of a house

#

how do i add sound effects?

verbal glacier
#

playSound

#

and if you want to add new sounds Data/AudioChanges

ornate drift
#

is there a list of the games sounds

#

or is it in unpacked

verbal glacier
#

go to playSound there's a link

#

audio has its own way of unpacking

#

there might also be some online source with the audio but idk

ornate drift
#

mmmmm maybe ill stick to move until i eventually hit a roadblock

strong kite
#

ngl adding butter for my mod has been a godsend in terms of making cooking recipes

ornate drift
verbal glacier
#

to just move

ornate drift
#

i see

verbal glacier
#

To move along multiple axes, you must specify multiple move commands. By default the event pauses while a move command is occurring, but if [continue] (default false) is set to true the movement is asynchronous and will run simultaneously with other event commands.

strong kite
#

There are a few others it applies to

#

like faceDirection iirc

verbal glacier
#

yeah i read his question wrong

strong kite
#

and emote

ornate drift
#

just gonna quickly test it out

#

weird...my event didnt occur at all

uncut viper
ornate drift
#

thanks!