#making-mods-general

1 messages · Page 209 of 1

dusk mulch
#

The tile gradient on 0, 0 of Farm.tmx is F67280 #355C7D #99B898 #FFCE54 #6C5B7B

rigid musk
#

catpeek huh

dusk mulch
#

maybe

#

idk

vernal crest
#

I could add it to the discussion page for the wiki so it's recorded in case we get more cases of people accidentally adding newlines.

dusk mulch
#

I finished 1.0.2 of my mod so fast that if I post it to #mod-showcase / nexus I feel like I am being annoying by advertising my mod too much

rigid musk
#

god i cant wait to release my own mod...

vernal crest
#

I wouldn't advertise bug fix updates personally

rigid musk
#

i was going to do it sunday and then I said 'haha what if I did actually make qi marriable' and then i did/am

dusk mulch
gentle rose
#

the showcase is for announcements for shiny new stuff imo

vernal crest
#

Your versioning indicates a bugfix update

unique sigil
#

or if your existing mod is sufficiently overhauled/major content update

dusk mulch
vernal crest
#

2.X.X = major, breaking change version update
X.2.X = new features update
X.X.2 = bugfix update

uncut viper
#

major and minor version updates are specifically fine to post, but yeah, aba was just explaining why they advised against it

rigid musk
#

you know... i never knew like, officially what each number tick up meant i kinda just did it instinctively

uncut viper
#

the 3rd digit is most commonly used for very tiny things

dusk mulch
#

oohhhhh

uncut viper
dusk mulch
#

i was thinking it went like 1.0.0 - 1.0.9 - 2.0.0

uncut viper
#

it doesnt stop at 9

vernal crest
#

Nobody is going to kick you out of the modding community for doing differently or anything, it's just that there's a generally accepted convention that people use for consistency

rigid musk
#

na you could have 1.0.73 if you truly wanted

#

73 little bug fixes

vernal crest
#

(As Stardew itself shows because we're on game version 1.6.15)

dusk mulch
#

so this would be 1.1.1? my mod is on 1.0.1 currently and this adds new features

uncut viper
#

every time you increment a number in your version, the others to the right of it reset to 0

vernal crest
#

No the third number resets when you increase the second

dusk mulch
#

got it

uncut viper
#

1.2.5 -> 2.0.0 for example

dusk mulch
#

so 1.1.0

uncut viper
#

1.0.6 -> 1.1.0

dusk mulch
#

how am i only learning about this know, i have made like 6 mods

rigid musk
#

hey I technically am only OFFICIALLY learning about it now after making... 34? i think

uncut viper
#

i dont think most people actually know the specific semver convention in that website i linked

dusk mulch
#

(i dont update many, some of them are just little 1 time things)

vernal crest
#

I did actually include new content in my last mod update but it was so tiny I kept it as a bugfix version lol

rigid musk
#

and being in this community for several years wheeze

uncut viper
#

i think people just kinda know it from like, subconsciously paying attention to versions of things they use

#

not active knowledge

dusk mulch
#

huh, alright

rigid musk
#

thats exactly how i figured it out honestly

vernal crest
#

Yeah rather than specifically reading all the "start modding" docs on the wiki

rigid musk
#

I was just like 'yeah this is how other people do it so that's probably how it's done and what it means'

vernal crest
#

Whereas I obsessively scour them every time I do anything public in case I do anything wrong lol

uncut viper
#

the semver website is linked somewhere on the modding wiki pages but i couldnt tell you where and its not where i learned it either

dusk mulch
#

anyway i have bug testing to get to

#

bug testing is just "fuck around and find out"

devout otter
#

So if I like... make a major change that also cut my mod in half so it has less content, do I change the versioning to 2.0.0...?

vernal crest
#

Bug testing for me is "open game for other reason, coincidentally find something wrong with my mod, hope I record it to fix later"

#

You have to go into negatives Dolphin /j

uncut viper
#

(truthfully i dont always stick 100% to "does this break things?" and do also increment for significant reworks, but removing the content would make it breaking nevertheless SDVpuffersquee)

dusk mulch
#

does anyone know how to make this look less saturated?

rigid musk
#

is that not how the vanilla game looks?

dusk mulch
rigid musk
#

you could try using some different tilesheets and adding in grass

dusk mulch
#

i think i just used too dark of a tilesheet

rigid musk
#

also the paths you're using are the darker dirt instead of the yellow so

#

yeah

dusk mulch
#

ohhhhh

#

64 64 64 ambient lighting is the normal to use, right?

devout otter
vernal crest
#

If you're using vanilla tilesheets, that is going to be how vanilla looks. And yes you're using the darker dirt but if you switch to the yellow dirt it will look even more saturated.

dusk mulch
dusk mulch
vernal crest
#

AmbientLight is an indoor-only map property

devout otter
dusk mulch
vernal crest
#

So if you're using it, it will be getting ignored

dusk mulch
vernal crest
#

Your map looks pretty normal for vanilla to me

dusk mulch
#

the grass is going for a swim

rigid musk
#

kinda looks like it belongs there tbh

dusk mulch
dusk mulch
gentle rose
#

I doubt leaving it there is a great idea

#

best case scenario you’ll be getting bug reports about it for the rest of your life

rigid musk
#

Does anyone know how the 'bed' section of a schedule works? in vanilla the npcs usually come home from their 'fun' schedules a bit before they actually go into bed

dusk mulch
#

Yeah I will clean up quite a bit of stuff

rigid musk
#

but as far as i can tell by looking AT the schedules there isnt anything that's like... 'return to farmhouse'

gentle rose
#

that’s the case where you didn’t actually break anything by doing that

rigid musk
gentle rose
#

so yeah, best case

rigid musk
#

one tile look wrong? insert sixteen million reports here

gentle rose
#

two random mods aren’t compatible? bug report

rigid musk
#

how DARE you not be compatible with [insert mod from three years ago that was hidden on nexus for a while here]

#

tisk tisk you shoulda thought of that headshake

gentle rose
#

just told the person who’s most known for those kinds of bug reports off like an hour ago

rigid musk
#

vindication...

gentle rose
#

it was the second or third time they submitted one on one of my mods

dusk mulch
rigid musk
#

I dont think you can do that

gentle rose
#

you can’t block them until they comment

dusk mulch
gentle rose
#

and once they do, you’ll already know if you want to

rigid musk
#

I've tested my qi mod with like, 1k mods installed and I just know i just know

dusk mulch
#

wait a minute i may have gotten a comment from them

rigid musk
#

there's going to be a mod i missed and someone's going to sob about it in my damn comments

dusk mulch
#

what is their username?

gentle rose
#

please don’t spread any user’s name here in a negative light tbh

rigid musk
#

^

gentle rose
#

I’m not going to complain about specific names here

uncut viper
#

general griping about nexus comments is one thing but singling people out is another

dusk mulch
#

that was such bad timing for me to send that message

#

alright then i will leave it

#

i just realised that the corner of the fence near marnies bedroom flipped upside down makes for a pretty good park bench

#

dead chat

rigid musk
#

concern i mean im sure people are busy ... i was

#

I was trying to figure out how many dialogue lines I added to my mod

rigid musk
#

392...

#

all marriage/dating content :)

dusk mulch
#

whoah

rigid musk
#

almost doubled the amount of dialogue in the mod ... and im not even including his custom gift responses and stuff

dusk mulch
#

this looks alot better

rigid musk
#

the total number is 848 dialogue lines or just 808 without SVE content

dusk mulch
#

do your fingers hurt

rigid musk
#

(tbf at least like ... 200 of those are from Jaz because of their mod)

#

My soul hurts

dusk mulch
#

mine would too

#

found a bug!

#

i shouldnt be happy

rigid musk
#

It's nice though to find bugs, because it means you can squash em

#

Im very proud of my mod page its so detailed and nice...
I can't wait for people not to read it and ask me if my mod is compatible with SVE

mighty ginkgo
rigid musk
#

oh god how difficult are you gonna make it ...

devout otter
upbeat chasm
#

Hello, I'm new to modding and trying to make an content patcher NPC mod. I was able to get them to spawn in, but I cannot talk or give gifts to them. They should have the default "CanSocialize" flag of "true", so I'm not sure what to look for next. I haven't given them a schedule yet.

uncut viper
#

the NPC must acquire a schedule. and also gift tastes

mighty ginkgo
rigid musk
#

Have you given them gift tastes... and dialogue

uncut viper
#

NPCs generally will not work at all without several pieces of the puzzle present

dusk mulch
#

is your mod compatabile with SVE

rigid musk
#

It is actually... I coded alternate events and everything, i am exploding

#

But you didn't do it right, Person, you have to look at the mod page first /silly

upbeat chasm
#

I have given them dialogue, and they read as having the default gift tastes when I check them with look up anything. I could try adding those.
And my mod is not compatible with SVE of course.

rigid musk
#

PFF don't worry about the SVE thing I was talking about my mod

#

(and Person was referencing me)

rigid musk
#

sorry content.json

#

not content folder

upbeat chasm
#

I'm trying to copy what a mod referenced in the the https://stardewmodding.wiki.gg/wiki/Tutorial:_Making_a_Custom_NPC guide did, so my data is not all in the content.json.

Stardew Modding Wiki

So, you're interested in creating a new character for Stardew? Good news: with version 1.6, creating a character is easier and allows for more flexibility than ever. However, NPCs are one of the more complicated things to create for Stardew, as they have a LOT of moving parts. This guide aims to provide...

#

My content.json just runs this right now.

   "Changes": [
    {
        "LogName": "BlankLoads",
        "Action": "Load",
        "Target": "data/characters/{{ModId}}Lana",
        "FromFile": "data/blank.json"
    },
    {
        "Logname": "LanaIncludes",
        "Action": "Include",
        "FromFile": "data/Lana.json, data/Appearance.json, data/Dialogue.json"
    }
]
dusk mulch
#

yall should i make the racoon and squirrel shop keepers date-able

#

before you call me out on anything, YOU CAN DATE A SHADOW MONSTER

pale marten
#

it's a squirrel? I always thought that was a mouse O-o

pale marten
dusk mulch
upbeat chasm
#

Dialogue.json right now just contains dialogue copied from another npc mod since I'm just trying to get it working before I get too far into writing.

rigid musk
#

i think person is talking about their mod- yeah

pale marten
dusk mulch
#

warp?

pale marten
rigid musk
#

hm..

dusk mulch
#

ohhh

devout otter
pale marten
#

More datable NPCs is always better though

upbeat chasm
#

This is actually my second time trying to learn. First time everything was still in so much chaos over the update I gave up. Seems like things have calmed down a bit, but are still pretty messy.

rigid musk
#

I wouldnt say messy honestly

#

NPCs are just a lot

#

Got a lotta moving parts to look at

dusk mulch
#

i am not skilled enough to make the racoon and squirrel dateable but if someone wants to take my mod and try, go ahead

#

just give me credit

rigid musk
#

I will do it for 100 united states dollars /j

devout otter
#

What's the content of your dialogue.json, @upbeat chasm ?

upbeat chasm
gentle rose
#

@velvet narwhal

light jasper
#

Is there a way to get contentpatcher monster data at GameLaunched?

gentle rose
#

(hi avi pls help ty)

uncut viper
dusk mulch
rigid musk
#

🫴💵

dusk mulch
#

board games, commisions, what next?

light jasper
pale marten
uncut viper
rigid musk
naive wyvern
#

35 is pretty cheap

rigid musk
#

Im boutta pay someone to script my damn events for me because I am so done with writing and coding them

rigid musk
#

mostly joking but I h- WH

dusk mulch
uncut viper
#

Content Patcher has to set up its stuff, grab custom C# tokens, load mods, etc

#

it happens across 3 ticks

#

So it and its conditions and whatnot are all ready by the 4th

naive wyvern
#

either money up or skill up PufferThumbUp
people deserve to be compensated for their work

upbeat chasm
rigid musk
devout otter
hard fern
inner harbor
#

(posted in wrong channel, oops)

rigid musk
#

I dont know what that meant Lemur but honestly same

dusk mulch
#

brb i need water

rigid musk
pale marten
naive wyvern
# dusk mulch money up.

i can draw my art assets just fine, and my coding is halfway decent if thats what you meant by moneying up for me

hard fern
#

i triple this sentiment, i can't stand events

rigid musk
#

(i think person was saying THEY would money up)

upbeat chasm
# devout otter Have you done a `Load` on `Characters/Dialogue/{{ModID}}Lana`?

Yeah, that's in Lana.json

{
    "Changes": [
        {
            "Action": "EditData",
            "Target": "Data/Characters",
            "Entries": {
                "{{ModId}}Lana": {
                    // Basic
                    "DisplayName": "Lana",
                    "BirthSeason": "Fall",
                    "BirthDay": 23,
                    "HomeRegion": "Town",
                    "Language": "Default",
                    "Gender": "Female",
                    "Age": "Teen",
                    "Manner": "neutral",
                    "SocialAnxiety": "neutral",
                    "Optimism": "Positive",
                    // Love
                    "CanBeRomanced": false, //todo
                    "LoveInterest": "(you)",
                    // Social
                    "CanVisitIsland": false, //todo
                    "FriendsAndFamily": {
                        "Willy": "Uncle"
                    },
                    //Spawning
                    "Home": [
                        {
                            "Id": "Default",
                            "Location": "Beach",
                            "Tile": {
                                "X": 20,
                                "Y": 15
                            },
                            "Direction": "down"
                        }
                    ]
                    //Festivals
                    //todo
                }
            }
        }
    ]
}
rigid musk
#

Events look like massive bricks of pain and agony to me

pale marten
#

I made one event once it was horrible and painful and I troubleshot for about seventhousand hours and then gave up on writing events

dusk mulch
inner harbor
#

I love writing events though

devout otter
inner harbor
#

I can almost write them blindfolded now

rigid musk
dusk mulch
#

ok time to go bug test

naive wyvern
rigid musk
#

I can do them pretty fast now (surprisingly the last two events I had coded before going full in on making him marriable worked on the first go, i just had to adjust very slightly the timing of a few things)

light jasper
rigid musk
#

I just hate them, they're giant blocks of text that hurt to read and if I make any mistakes its hard to find them because it's all just one big thing instead of being able to be separated

upbeat chasm
#

You're right, I thought editdata would work since that's what Edelweiss did, and I loaded in a blank json, but you're saying that won't work? The NPC does spawn in game, so it is doing something.

dusk mulch
devout otter
rigid musk
#

the scripting of the events is way easier but after making over 18 events for ONE npc it can get a bit exhausting to think of more creative things to do... but those 18 events were BEFORE I made him marriable so now i have to do his other ones...

rigid musk
uncut viper
rigid musk
#

but once i put it down in the actual code its a pain to read

dusk mulch
#

bro its so annoying how 1 comma can make or break a mod

light jasper
#

at least I'm on the right track now, thanks 🙂

devout otter
# upbeat chasm You're right, I thought editdata would work since that's what Edelweiss did, and...

In the Edelweiss template, Aviroen does it at the bottom of content.json: { //blank loads so that i can target edit "LogName": "BlankLoads", "Action": "Load", "Priority": "Low", "Target": "Characters/Dialogue/EdelweissSeung, Characters/Dialogue/MarriageDialogueEdelweissSeung, Characters/schedules/EdelweissSeung, Strings/Schedules/EdelweissSeung, data/Events/{{ModId}}_ArtificialBeach, data/Events/{{ModId}}_EdelweissHouse, data/Events/{{ModId}}_EdelweissAttic, data/Events/{{ModId}}_EdelweissBasement", "FromFile": "data/Blank.json" },

#

The NPC spawns due to the proper Data/Characters entry, it's just doesn't display dialogue because you technically don't have a Characters/Dialogue/{{ModId}}Lana yet.

upbeat chasm
devout otter
#

Yeah, you can. They'd basically function as empty boxes you can then fill with EditData.

dusk mulch
#

alright i think its time for me to release 1.1.0 of my mod :D

upbeat chasm
#

Got it, I'll try that then. One last question, what does the priority low line do? I didn't copy it since it didn't seem necessary. Like, no other mod should be trying to blank load the same NPC I am since I'm using {{ModId}}, and that's the only situation I could see it being useful.

devout otter
#

Also for internal use, there could be a case where you have three separate mods that uses the same location, and each needs to do a Load of that location in case your user doesn't have the other two.

upbeat chasm
devout otter
#

Naw, data for NPC Giftaste is in Data/NPCGiftTastes, which is vanilla game's and don't have to be loaded.

upbeat chasm
#

Not sure what's causing it then. Can NPCs not accept gifts on the first day you talk to them? I don't think that's the case.

hard fern
#

hm no they can

#

(when im testing stuff i talk to my npc and then bombard them with gifts to see if their dialogue works..)

dusk mulch
#

i feel like i shouldn't have made Farmers Market, now I have 2 mods to take care of and release constant updates and satisfy the people who like the mod

hard fern
#

i feel like that's just part of the territory though

hard fern
#

and responsibility on you as a mod maker; to maintain your mod

hard fern
#

of course you dont have to do anything you dont want to, but

#

the most important is to make sure everything works

dusk mulch
#

1.1.0 of More Secret Notes is coming out soon i just realised

#

how do i forget im realising my own mod

rigid musk
#

I have used an entire pen making my Mr.Qi mod
I have never, in my life, used a pen so much it ran out of ink

dusk mulch
#

:O IM ON THE TRENDING PAGE OF NEXUS!

rancid temple
#

I can't even keep from losing a pen that long

velvet narwhal
# upbeat chasm Got it, I'll try that then. One last question, what does the priority low line d...

so i have no action points to backtrack but effectively, for NPCs, the only things that are essential to blankloading (to make space) in the content pipeline
is:

  • Characters/Dialogue/{{NPCNAME}}
  • Characters/Dialogue/MarriageDialogue{{NPCNAME}}
  • Characters/schedules/{{NPCNAME}}
  • Strings/Schedules/{{NPCNAME}} << THIS ONE IS NOT NECESSARY. unless you wish to do things like having dialogue in the schedule, but to be honest it's kind of a moot point

i can look myself if everything is in order if you upload the jsons
but honestly because NPC data is so separated, it'd take me awhile because again, no action points (spoons, mental capacity, whathaveyou)

rigid musk
hard fern
#

i misplace all my pens so i never write anything down

rigid musk
#

so i usually just rotate and they never run out, but ive just been using this one and its ... very much dying

#

whEEZE

#

ive had to write so much for this mod to keep track of what i need to do and organize stuff that i have a notebook and a pen on my desk constantly

#

I also write notes for my campaigns for dnd so i use them for that

#

i keep them in a goblet on my desk (yes a literal goblet, i got it from a ren faire)

devout otter
upbeat chasm
rigid musk
#

you can either do that with schedule dialogue or with locational dialogue

velvet narwhal
rigid musk
#

^

velvet narwhal
#

personally, i don't use it, i only included it because it's there

upbeat chasm
velvet narwhal
#

NPCs are unfortunately a "you need every single cog to make the car work"

rigid musk
#

ive used the schedule dialogue ... once? i think

#

yeah once for his desert festival dialogue lmao

velvet narwhal
#

desert festival my beloathed

rigid musk
#

but i couldnt launch it until i had his marriage stuff actually finished

inner harbor
#

you don't need to load strings/schedules/NPCName. I never do it anymore

#

just Characters/schedules/, Characters/Dialogue, and the two sprites

hard fern
#

who needs schedule dialogue anyways,... SDVpuffersweats i dont

rigid musk
#

I simply refuse

#

it was already a pain to figure out the damn desert festival one

velvet narwhal
#

why bother with all of that when i get BETAS to do my repeatable dialogue tbh (button's extra trigger actions)

inner harbor
#

pretty sure I don't always do schedules to get them running either, but I may have laoded a blank one first

rigid musk
#

The fact that I now know how to make an NPC is very dangerous because now I could just... make more

#

I don't know if I will (events will send me to my grave) but... I can and that is not a good thing

velvet narwhal
#

npcs go from an hour of organizing all of my nonsense to 10 minutes of filling out like, 15 lines of adlibs

upbeat chasm
#

Well adding an entry to gift tastes fixed it. All the things I've tried to make work are now working, so I can get back to following the guide normally.

This would probably be easier to start from a template, but I feel like I wouldn't understand stuff if I did it that way.

velvet narwhal
rigid musk
#

People who just dive into making NPCs scare me

#

I spent two years learning other things before even looking at NPCs

velvet narwhal
#

can't be me, i went straight into the deep end

dusk mulch
upbeat chasm
#

There are probably easier things to start with, but I don't want to make those things, I want to make an NPC. I guess there is support content I want to add for her, but why make that before the NPC?

dusk mulch
#

now i just have to think, what mod should i make next?

velvet narwhal
#

smaller things like finding the nuances of how you can break an NPC like setting their home invalid (makes them ~Disappear~) is a good reason to start from screwing with vanilla npcs

devout otter
dusk mulch
rigid musk
#

i love breaking my entire mod by accidentally making qi spawn in the void... its so fun /j

rigid musk
#

It's his home it's fine

#

I don't want to talk about how I did that, it was a whole thing

velvet narwhal
dusk mulch
#

mr qi yearns for the void

rigid musk
#

His warp room never even worked

#

I ended up not really needing it to be fair but when I DID try to use it so he would go to the DAMN NUT ROOM it never worked

#

the game said 'no no, too many steps, goodbye'

#

god i hate the nut room

velvet narwhal
#

nut room never ceases to make me not laugh

rigid musk
#

I have seen it too many times

#

QiNutRoom will haunt my nightmares

velvet narwhal
#

nut room's haunted

vernal crest
rigid musk
#

what
Nut room's haunted/ref

dusk mulch
rigid musk
#

I thought spaces broke them

velvet narwhal
#

yes, aba is the big propietor of newline event scripts, and i get bonked for my chaos KEK

rigid musk
#

I am going to have a conniption

vernal crest
velvet narwhal
#

i think the guide i sent you actually uses aba's newlines frequently, lily

upbeat chasm
#

Are there any simple beginner workflow stuff I should know to make learning, testing, and writing faster and easier? Right now I'm working in VS code, and then copying it into my mods folder when I want to test.

devout otter
rigid musk
#

you mean it DOESNT have to look like this?

#

you mean it can be organized llike my scripts

velvet narwhal
#

CAVEATS: does not work on schedules and some other niche cases

#

because schedules are cached

vernal crest
#

GitHub hates it but I'm on mobile so that's what I use as example

rigid musk
vernal crest
#

It's not normally all red and screaming lol

dusk mulch
velvet narwhal
#

i always put the / at the start of the newline, interesting SDVpufferthinkblob

upbeat chasm
vernal crest
devout otter
dusk mulch
#

im going to make a mod that makes everyone speak in brainrot terms

vernal crest
#

I briefly depart while my wife info dumps at me about guns (she is an engineering nut not a gun nut!)

velvet narwhal
#

say hi to your wife for me and give her smooches from you

uncut viper
#

there's no need to disparage people's ideas

rigid musk
#

you could make up your own ideas or somethin

#

or take a break

#

breaks are good

hard fern
#

i thought there were some neat ideas. maybe a little too niche for my taste but someone might pick them up at some point

#

😅 i already have my hands full

dusk mulch
#

i am entitled to an opinion, right?

fathom hound
#

And you can also keep it to yourself if it can hurt others feelings SDVpufferheart

rigid musk
#

yeah you can have your opinion b- exactly that

uncut viper
#

you're not entitled to insult others

dusk mulch
#

well now i feel bad

rigid musk
#

As my teachers used to say 'if you have nothing nice to say, say nothing at all' and what not

hard fern
#

i feel like we all got told that as kids at some point

rigid musk
#

B) I got told it multiple times before it stuck tbf

#

I was a rotten little child

dusk mulch
#

Is dialogue stored in strings or data?

rigid musk
#

Now I have the 'philosophy' of , if you have something nice to say say it (and also the 'dont say mean things') so im better... but i was NOT great

rancid temple
#

I was told that, but also "you can do whatever you want as long as you're willing to face the repercussions" I was a lot more willing to face the social repercussions when I was a child

rigid musk
dusk mulch
velvet narwhal
#

back on the topic of modding, lily, might i interest you in localtokens aSDVpufferbrows once you're done with the qi mod

light jasper
#

hey @uncut viper am I doing something wrong here?
I was expecting to see SVE's monsters loaded.

{
            "Action": "Load", "Priority": "Low",
            "Target": "Characters/Monsters/Poltergeist",
            "FromFile": "assets/CharacterFiles/OverworldSprites/Monsters/Poltergeist.png"
        },
rigid musk
dusk mulch
uncut viper
light jasper
#

get all the monster names loaded by other mods

velvet narwhal
rancid temple
#

SVE is just using FTM isn't it?

rigid musk
dreamy pagoda
#

hi i'm trying to access the beach event so i can see harvey's beach outfit, as well as the festival. the modding website included event commands, but i can't use them on my command console. in fact i have very limited commands

#

so i was wondering if i needed to update my command console or if i am trying to access the events the wrong way

uncut viper
#

I'm not sure what a picture of a content patcher load action is supposed to indicate about how you are attempting to get all the monsters

#

but that Load is loading an image anyway

rancid temple
dreamy pagoda
#

i'm very new to sdv so i don't know the quickest way to the beach event as well

rancid temple
#

Console Commands is bundled with SMAPI, so it's always latest version if you're on latest SMAPI

light jasper
velvet narwhal
#

(i go back to obscurity as my action points have run dry squeeyrnal )

rigid musk
#

i must finish scripting my events... i must

uncut viper
light jasper
#

the picture is my debug viewer looking at Data/Monsters after 6 ticks have passed since GameLaunch

uncut viper
#

no, the first picture

#

oh

light jasper
#

oh I just copied it from SVE's patches

uncut viper
#

I'm on mobile and it looked like a picture lmao

light jasper
#

to show what I was looking for

uncut viper
#

that's SVE loading a texture to an asset, it's not loading any monster data

dreamy pagoda
rigid musk
#

to see the beach event you would do debug ebi [eventid]

rancid temple
#

Do you still have Console Commands installed? It's a mod in your Mods folder so if you're using something like Stardrop you need to include it in your launched mods

#

But if you moved mods out to create a minimal mod pack you also need to make sure you keep Console Commands and Save Backup

rigid musk
#

or you could warp the npc to you with debug warpcharactertome Harvey for the beach

#

(this will not work if you dont have console commands like roku was mentioning)

light jasper
dreamy pagoda
#

so i need Stardrop?

rigid musk
#

no

hard fern
#

no?

rancid temple
#

No, I just know a lot of people like to use things like that without knowing how

dreamy pagoda
#

okay

rigid musk
#

yeah thats fine

dreamy pagoda
#

it is pretty new lol

rigid musk
#

you have it you just need to put in the commands into the console, smapi doesnt list everything you can do with the debug commands

#

(which is what the wiki is for)

rancid temple
#

Some of the commands when you type help show up but I'm not sure what the criteria is for showing them

rigid musk
rigid musk
dreamy pagoda
#

okay i did try to use the one on the website on my game but it didn't work, i'll try again

rigid musk
#

(which i think should update his character sprite)

dreamy pagoda
#

maybe i did it wrong?

rigid musk
#

what did the smapi console say

dusk mulch
#

every time i try to make a dialogue mod i realise how much dialogue there is and give up

uncut viper
#

(one of these days I'll actually look at FTM. i still don't really know any of it's features let alone it's code)

dusk mulch
#

i know what mod to make!

#

a sewer expansion!

light jasper
#

@royal stump sorry for the ping, is there any way to get monster spawn data, sprites, etc from the FTM api? it seems like only foraging is available to get

rigid musk
#

oh it just... didnt bring him to you huh

#

did you tab back over to the game?

#

itll say there was no output for ... most if not all of them

dreamy pagoda
#

sadly it's not the only one

dreamy pagoda
rigid musk
#

you would still need the debug command in front of the action

#

debug action

#

i think

dreamy pagoda
#

ooo okok

#

wait the money and emily command worked

#

wtf

#

wait so the warp command teleports harvey to you, not you to harvey? literally just took one step and turns out he was there 💀

rigid musk
#

you could try
debug warpcharacterto Harvey Beach 38 6

#

oh

vernal crest
#

Yes the warpcharactertome warps them to you

rigid musk
#

Yeah no thats the warp character to me command

#

lmao

dreamy pagoda
#

omg and if you look at the other photos he was there all along 😭

vernal crest
#

Use debug wtc Harvey to go to him

rigid musk
#

i couldnt tell i didnt have the image big enough

dreamy pagoda
#

ooooo thank you i'll try that rn

rigid musk
#

i have a hard time seeing things from far away

vernal crest
#

You can also use debug wctm Harvey instead of typing out the entire warpcharactertome bit

rigid musk
#

ah yeah you can use the small ones

#

i just copy pasted the big ones lmao

dreamy pagoda
#

yeah i guess it doesn't help his hair blends with the house lol

#

sure i will keep that in mind

vernal crest
#

I type them a lot so I use the short versions lol

vernal crest
dreamy pagoda
#

will he be in his beach clothes at the beach? i can't tell if my mod is playing up or if i did the command wrong, but his sprite is normal and his portrait is beach

vernal crest
#

No

#

Did you go to Ginger Island or just the beach?

rigid musk
#

does he only have his beach sprite at GI

#

Idk why im asking that the answer is yes

dusk mulch
#

oh crap i just realized, with my mod i need to make more npc's... (its just copy and pasting npcs but change the names and schedules but still)

rigid musk
#

otherwise theyd change into their beach outfits every time they walked through the beach...

dreamy pagoda
vernal crest
#

Yeah he won't change for the beach

rigid musk
#

youd have to send him to GI i think, although id ont even know if he just changes when hes there or not since they go through the changign room right

#

changing*

vernal crest
#

Their "beach" outfit actually only works on GI

dreamy pagoda
#

can you please help me to teleport him and myself to the gl?

vernal crest
#

And yeah it's part of their (hardcoded) schedule to change outfit

#

If you're trying to test a sprite you made for him, I recommend actually just setting that as his normal outfit instead

#

Unless you need to test it specifically in his normal beach-outfit-wearing conditions.

#

Because if you do want to test his outfit on GI all you can do is wait until he goes to the island normally

dreamy pagoda
#

yeah i need to specifically test his beach sprites lol and damnnnn

vernal crest
#

No I didn't say testing his beach sprite

#

I said testing the conditions in which he wears his sprite

#

If you just need to see him wearing his sprite, you can do that without GI

#

Unless what you want to check is that you successfully changed his beach sprite? In which case you'd just put patch export Characters/Harvey_Beach into your SMAPI console and then go check the patch export folder.

ornate locust
#

If you just want to see how it looks ingame, replace the normal sprite with the beach one and have a look.

vernal crest
#

If you just want to check his animation works properly you can just Target his normal, everyday sprite

dreamy pagoda
#

how do i check the patch export folder?

#

so i did the command and is there another command i have to do?

vernal crest
#

Go to your Stardew Valley folder

dreamy pagoda
#

wait i see the folder

vernal crest
#

The patch export folder is inside there

dreamy pagoda
#

what do i do now?

vernal crest
#

Open up the file and see if it's what it should be

rigid musk
#

huh i didnt know you could export stuff...

#

interesting 👀

vernal crest
#

It's incredibly useful for checking if you've changed the asset you want to change

dreamy pagoda
#

yes it is there

vernal crest
#

Then you have successfully targeted the right asset with your changes

dreamy pagoda
#

so the only way i can record his beach outfit is by manually changing the names of the beach and normal attire?

vernal crest
#

Do you mean record like video?

dreamy pagoda
#

yeah i want to make a preview video

vernal crest
#

Then yeah, unless you want to wait for him to visit GI as I mentioned before

#

Just swap them for the video, warp him to the beach or GI (if you want it to feel thematically correct lol), then swap them back

dreamy pagoda
#

okay thank you

vernal crest
#

(BTW you asked how to get yourself and him to GI - just debug warp island and then debug wctm Harvey)

#

You can warp specifically to the different parts of the island but just doing "island" sends you to island south I'm pretty sure

dreamy pagoda
#

what is interesting is how they won't let you see his sprite on the normal beach but you can see his beach portrait

vernal crest
#

His portrait changes on the beach?

#

I do not remember that happening and I don't think it's supposed to

devout otter
#

Are you using Portraiture, by any chance?

dreamy pagoda
#

yea i saw it happen and yes i am

devout otter
vernal crest
#

Nope, vanilla does not change portraits to beach ones normally when on the beach

dreamy pagoda
#

i'll show u

vernal crest
#

I believe you

#

It's just Portraiture is the one doing that, from what Dolphin is saying

#

And since Portraiture doesn't do sprites it makes sense that the sprites don't also change

dreamy pagoda
#

yeah i'll do what dolphin said

#

but for now i'm gonna keep it for the video lol

vernal crest
#

I'm glad you knew that Dolphin because I did not lol

dreamy pagoda
#

thanks again for your help, i think i have it sorted now

pale marten
#

Why can i only have three digits in my version number that seems odd

rigid musk
#

i mean you can have more technically

#

if its like

#

3.0.345 or something

#

just not more periods

pale marten
#

alr

#

Weird

vernal crest
#

Why would you want more?

rigid musk
#

that is a good question...

pale marten
#

I was like "Mod didn't load because of what"

rigid musk
#

the 0.0.0 is the standard convention B)

pale marten
rigid musk
#

Button posted a link to explain it earlier ...

rigid musk
#

I hope I remembered to not ping them..

vernal crest
#

You did, you can tell because there's no @ symbol in front of her name in your reply

rigid musk
#

OH

#

I forgot about that

#

I finally finished scripting my events (and decided to cut two of them because i really dont have the patience for it)

now I just have to code em

vernal crest
#

I can't decide if I want to subject myself to watching videos about C# SDVpufferpain or just flail around in the code some more.

dawn pewter
vernal crest
#

What happened when you tried to use the converter?

#

I don't actually see a link to a converter from xnb to FS anyway, where is that?

dawn pewter
#

i dont think theres a direct fs converter

#

i was trying to use the stardewzem

#

and then the two online converters i saw here

vernal crest
#

I have no idea what that is

dawn pewter
#

just to see if i could get it out of xnb

vernal crest
#

Oh I just googled it. That seems dangerous

#

Uhh I can direct you to an xnb unpacker let me find it

dawn pewter
#

ah this bc in the org mod comment it said u have to merge xnb files

vernal crest
dawn pewter
vernal crest
#

Merging xnb files sounds like it's saying you have to add it to your game's xnb files and that's bad

rigid musk
#

Yeah that's what that means

vernal crest
#

So we will find another way, which is to unpack the xnb or convert it to CP and then convert it to FS/make an FS pack with it

rigid musk
#

I'd stay far far away using those as is

vernal crest
#

Okay that converter is not what we are after

dawn pewter
#

it made a mod but im unsure how id convert it to fs

vernal crest
dawn pewter
#

but i mustve did it wrong bc i tried to put the zip file in my mod page and it said no manifest

vernal crest
#

Yeah it just unpacks the xnb, it doesn't make a usable mod

#

You will need to make the Fashion Sense pack yourself

#

In fact, I'm not sure we will even need to unpack the xnb

#

There is a converter for turning hairstyle png files into Fashion Sense packs but it looks like it might be more work than just writing the pack

dawn pewter
#

ok let me look >_<

vernal crest
#

Isn't Stardew on .NET 6 now?

finite ginkgo
#

Yes

rigid musk
#

Y'all ever listen to music while coding and it gets a little too funky fresh (/pos) so you get distracted

#

This is why I don't listen to music while doing anything I get too into the music

vernal crest
#

I will update the references to .NET 5 on the test and troubleshoot page then

winter dust
#

But if I get tunnel vision it just makes me work harder.

gentle rose
vernal crest
#

Grar I can't change the external link to .NET 6 because I'm not trusted enough on the wiki yet!!!

gentle rose
#

bc it messes with my brain

gentle rose
vernal crest
#

What, how would you be allowed to already when I can't?

gentle rose
#

I've been editing the wiki a little before 1.6 even came out SDVpuffersquee

#

my account on there is over a year older than my public mods lmao

pale marten
#

Every time I use Farm Type Manager my brain instantly goes

gentle rose
#

I'm pretty sure I got the permissions to make large edits etc at the time, unless the page is protected or they changed them including for people who already had them

blissful panther
#

If it doesn't let you, I'll have a stab at it myself! Though I have definitely also failed at adding a link myself, so... SDVkrobusgiggle

gentle rose
#

to be fair, there's a very good reason for it pffft I read through the recent changes logs and they get SO much spam

vernal crest
#

Argh I am not allowed to edit it just because it has an external link that I am not touching at all.

#

So you will have to make all the changes

calm nebula
#

Yeah, it's picky

vernal crest
#

I just got three additions to my abuse log from that SDVpuffersob

blissful panther
#

(optional) Download and install your preferred IDE, if you plan to compile the code on Linux. For the latest standalone Rider version (not free):

That should technically also be changed now, I guess.

pale marten
ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 4 C# mods and 2 content packs.

pale marten
#

what did I do

gentle rose
#

oh I did one section lol, mobile is stupid, I'll do the rest now

blissful panther
#

The JSON validator is usually a pretty way if you don't have tons of JSON files to share.

vernal crest
#

Thanks. You don't have many more contributions than I do so hopefully I will get permission soon.

gentle rose
vernal crest
#

I also like that it tells me to inform an admin of what I was trying to do with my forbidden change but not how to actually contact one. Or even where to find out who the admins are lol Maybe that's part of the test - I can't get permissions until I can figure that stuff out for myself /j

gentle rose
vernal crest
rigid musk
#

Other times my ADHD says 'you shall not vibe' and I have to sit in silence while doing my work

blissful panther
dawn pewter
vernal crest
pale marten
blissful panther
lusty elm
#

are your items being added properly?

blissful panther
#

^ That would be the next thing to check, good thinking!

pale marten
#

My items definitely do load

#

All eight of em

dawn pewter
blissful panther
#

Is it possible FTM wants the (O)Item_ID form, maybe?

vernal crest
pale marten
blissful panther
#

Definitely not that then, yeah.

lusty elm
#

I'd try using the complex item definition versions instead

#

"SpringItemIndex": [
{
"category": "Object",
"name": "Shrublord.ForageAddon_Wild_Garlic"
}
]

#

^ something like that

#

see if that works

pale marten
#

okey let's see

lusty elm
#

FTM also Technically works off the Item Name (Display Name) or ID. rooThink so you could try swapping to the display name as another option.

#

reading the error message It looks like FTM failed at retrieving the list of forage types once it tried to grab them to place them.

pale marten
#

and that means

lusty elm
#

it essentially means the error was when it went to grab your items to place them, so its likely there is a formatting thing for FTM thats making it not read it right, or something. I'd try display names? for all i know FTM doesn't like . or _ in names 🤷‍♂️ I dont really use FTM to add new item types, mostly just to add stuff to my maps.

solar sierra
#

Hello ~
I have a question which might sounds a bit silly for all of you modder veterans, but...I noticed there isn't much CF content on Nexus compared to CP or AT. Is there a reason why ?🤔

lusty elm
#

the more i think about it, the more i think it might be the _ as some types of coding related setups dont consider it a valid symbol as part of a name, cuz its often reserved for coding related things? it depends, and my knowledge of code is just enough to get me in trouble and sometimes out of it.

pale marten
lusty elm
#

I could be off the mark completely, but i'm just trying to mention everything that crosses my mind incase its one of them rooC

pale marten
#

I only used the underscore because other people do the same thing

#

and it works with their mods but not mine?

#

horrible

#

also not realistic imho

#

but I'll see

blissful panther
#

I don't imagine the underscores would be the problem, but... at this point, no harm in trying everything that comes to mind until Esca/someone who knows FTM inside and out comes around!

pale marten
#

Exactly my thought

lusty elm
#

could also be something as silly as a typo, but i'm assuming you've already checked that.

pale marten
#

Shouldn't be a typo since I usually let vscode just autocomplete anything i type but oh well

#

anyway

#

in the most recent error log ftm stopped working even earlier than in the original thing

ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 4 C# mods and 2 content packs.

pale marten
#

Trying to fix it but just broke it even more SDVpuffersob

vernal crest
lusty elm
vernal crest
pale marten
#

i'll try looking whether it works if i just add one singular area and work from there on out

vernal crest
blissful panther
#

Try reducing it down to one forage spawn type for now, see if the problem still occurs then? If it doesn't, add in one of the ones you removed, and keep going until it dies again.

rigid musk
#

(which is why there are so many AT/CP packs out there)

lusty elm
#

When you the content file or have it open as you test, is it trying to modify itself to correct itself? I notice that mine tries to re-add removed fields and will auto-correct names and stuff often if i tell it okay, if it tries, id say let it do it? (Still just spitballing anything i can think of)

solar sierra
#

Oooh Furniture Framework ? Noted, thank you for the answer SDVpufferheart

pale marten
#

oh

#

i think at some point i removed something crucial

#

anyway it works now

blissful panther
#

What was it? SDVpufferlurk

pale marten
#

so in my desperate attempt to clean up stuff i probably messed with arcane workings beyond my understanding

#

🤷

solar sierra
#

I have another silly question...do I place my mod's file in the Mods file or in the Furniture Framework file...? 👀💦

lusty elm
#

Probably, I tend to leave the empty fields in there, cuz back when i first started using it like 2-3 years ago, it would just re-add them itself, so i just kinda assumed it wasn't worth fiddling with the empty fields.

#

Generally your mod is in its own folder in the Mods folder.

#

I've never used FF, but i assume it wouldn't break that format.

solar sierra
#

Got it, thank you !

pale marten
#

mmm, bliss

vernal crest
# solar sierra Got it, thank you !

Also make sure you're only actually using FF because you want to use its advanced features! CP can do a bunch of ordinary features for furniture and is probably easier to work with if you're not actually taking advantage of what FF adds.

solar sierra
#

I see...But CP is only replacing already existing furniture, right ? Not adding new ones that I make from scratch ?

vernal crest
#

Nope you can add new furniture

solar sierra
#

Oooh 👌

vernal crest
#

1.6 really changed the game for modding. CP can do pretty much anything almost all the old frameworks did. So now we have new frameworks with even more exciting stuff instead.

solar sierra
#

I feel like I'm 🤏 to understand how it works, but there is this little "tingling" in my brain which blocks the part where I actually understand how to mod with CP (though I think I've read pretty much all the tutos and docs that I could possibly find on the internet, brain just doesn't want to process the info lol). Gotta try harder ! 😂

vernal crest
#

Have you tried looking through a mod that adds new furniture with CP? I find that pulling apart someone else's mod while having the wiki and CP docs open is really helpful for letting me understand. And if I get stuck just looking at it, I literally copy the entire mod folder and then start renaming stuff, making little tweaks and checking (you can use patch reload to see changes without having to close and reopen the game!) until I start seeing what each bit does.

solar sierra
#

I've tried, but I think all the mods I found where replaced texture, it's why I assumed I couldn't add new ones 🤔
Ah thank you for the links !

vernal crest
#

Hmm let me see if I can find you a mod to look through then.

vernal crest
#

I'm confident that a mod by Dora has good practices for you to copy which is part of why I picked it.

solar sierra
#

Thank you ! Going to take a look right now ~

hallow prism
#

!vmv adds furniture with CP

ocean sailBOT
#

Visit Mount Vapius (https://www.nexusmods.com/stardewvalley/mods/9600) is an expansion mod that adds a new region in the mountains. Accessible by train, you'll enter the hamlet of Glimsap, with its tight-knit group of villagers, that holds a market twice a week. You'll get to explore new places, fight monsters, get new crops and forage, trade local coins for exclusive goods, and complete tasks to unlock special items, including machines, buildings, and animals.

solar sierra
#

💖

hallow prism
#

this one too

#

(both my mods)

#

second is probably easier to look at

solar sierra
#

Goinf to dowload it, thank you !

#

Also I don't think there is a guide for all the numbers there is in the code ? Or maybe I didn't search enough, but it's been one of the things that I don't understand (even though people were kind enough to explain it to me before)

vernal crest
#

What numbers are you referring to?

solar sierra
#

Those ones after the /couch (as well as the 0) before Mods 🤔

vernal crest
#

Oh, that's all in the furniture wiki page!

solar sierra
#

Alright it's just me not seeing it then. Brb looking at it again !😂

vernal crest
#

For example, the first /2 2/ in your screenshot (the one after couch) is explained here

vernal crest
# solar sierra Alright it's just me not seeing it then. Brb looking at it again !😂

Index refers to which number field it is and fields are separated by forward slashes. So if you count the fields in that entry you see there, their indexes are as follows:
"{{ModId}}_TrashCake/ = 0
couch/ = 1
2 2/ = 2
2 2/ = 3
1/ = 4
500/ = 5
2/ = 6
{{i18n:TrashCake}}/ = 7
0/ = 8
Mods\\Dora.CatCakes\\Cat_Cakes/ = 9
false/ = 10
cat_cake", = 11

Once you know that, you can find the correct index for a field in the table on the wiki page and then see its explanation.

mellow karma
#

Do i use custom companion to add a cat to a custom npc home?

brittle pasture
#

you can just make the cat a (non social) NPC

calm nebula
turbid forge
#

Hello, few days ago i asked how could i create a new item with a special behaviour, someone send me this link https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Content
I read the content but i cant manage to create an item without content patcher, i want if this is possible to avoid content patcher but i dont know the classes and method enough to do it myself
Also to attach a special behaviour to this items, they recommend me to detect when the items is held by the player and listen for input, is it good ?

Stardew Valley Wiki

Creating SMAPI mods

#

Sorry if my english is bad btw, i'm french

hallow prism
#

yes, what you can do with CP you can do without, but i don't know how

brittle pasture
#

look at the "Edit a game asset" example

#

You'd add a new entry to the dictionary

turbid forge
#

Yep, when the onAssetRequested is being called ? When an instance of the object is created ?

finite ginkgo
#

Are you asking this because you think you need to manually trigger it or out of curiosity?

Because assetRequested in an event, it's called automatically everytime an asset is, as the name says, requested

brittle pasture
#

in OnAssetRequested, yes
look at the code, you can see Data/Objects being read into a dictionary named data
that dictionary contains all object data in the game, it is what you edit

turbid forge
#

I ask because i dont understand when i create the object, how it is added to the game, but if i understand correctly what Selph is saying, by adding a new entry to the dictionnary, all of the logic is already being created ?

#

I just need to create my custom logic ?

lucid iron
#

To actually obtain the object, spawn it through normal means

#

Your custom logic would come from somewhere else

#

E.g. ButtonsChanged event checking that 1 you are holding the item 2 you pressed a specific key

#

You cannot give the object itself code, vanilla simply aint fancy enough for that Dokkan

turbid forge
#

What i understand is that i cannot create directly an object by instantiation (like Object myObject = new Object()) i can just add the new entry to the dictionary, then subscribe to the event in the ModEntry

brittle pasture
#

imagine you own a restaurant, editing the asset is equivalent to adding a new dish to the menu

actually cooking that dish, or creating the object with new Object, is separate, but you need your dish in the menu first or the chef doesn't know what to cook (or in this case give you an error item)

#

(also you dont want to use new Object directly, but let's worry about that later)

valid folio
#

Hi, everyone! How are you?

Sorry to bother you with a question: I want to create a map where I can place a shop. My idea is to expand the map and the shop over time, but for now, I want to start by learning how to make a small map accessible through Pathoschild's Central Station.

How do you recommend I start? Is there any link that covers this topic? What modding tools do I need? Tilesheets?

I've already made the shop stall (a recolor with some additions from the base game) and the portrait of the NPC who will run it.

turbid forge
#

If it does not bother you, can you explain why i should avoid new Object ?

brittle pasture
#

it's only because ItemRegistry.Create is more convenient and the preferred method

#

which does call new Object if needed

valid folio
lucid iron
#

I recommend you make the map and the location first

turbid forge
lucid iron
#

Then you can look at hooking up to central station

brittle pasture
#

what do you mean call all instance and assets

vernal crest
# valid folio Hi, everyone! How are you? Sorry to bother you with a question: I want to cre...

We have some map tutorials on the modding wiki but I think all of them are outdated in one way or another. If you're willing to crossreference the information from them with the information about maps on the official wiki you might be okay - but the official wiki page actually has instructions for the map-making part on it anyway. I don't think we have any tutorials explaining that maps are added into the game via editing Data/Locations, but there is an official wiki page on them (that chu just linked).

brittle pasture
#

it makes a new instance of the object in game

hallow prism
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!

hallow prism
#

!tiled

ocean sailBOT
#

If you want to make mods that add or edit maps:

  1. Use Tiled to edit .tmx or .tbin files.

  2. Refer to the Maps wiki page for details on how maps work in Stardew Valley.

  3. Content Patcher allows you to create custom locations through editing Data/Locations

  4. Vanilla Maps can be edited via Content Patcher as well: EditMap

hallow prism
#

then cross reference mods to see how stuff is done

turbid forge
hallow prism
#

you'll need a map property for when the player interact with the machine to return to Central station

brittle pasture
#

Yea, it does that automatically
as long as you added your new item to Data/Objects

hallow prism
#

i suggest using a vanilla map as a base

lucid iron
#

-# pendantry texture isn't associated with an instance of a object

brittle pasture
#

(yeah I don't wanna go into a ten paragraph explaination)
Data/Objects contains the data definition for your item (its name, description, what texture should it use, its sell price, etc.)

hallow prism
#

you may need custom tilesheets, they are pretty easy to add, just remember you need to preface them with z in tiled in some case. In case of custom maps custom order should be fine.

brittle pasture
#

then when you call new Object later the game uses that data to build the instance for you

hallow prism
#

note that if you want them to be seasonal you'll need the name to be spring_whatever summer_whatever fall_whatever and winter_whatever

valid folio
hallow prism
#

good 🙂

valid folio
hallow prism
#

(i prefer no ping on reply if i'm around)

turbid forge
valid folio
valid folio
hallow prism
#

yes this one is probably a good example as the concept is similar and not too large

hallow prism
#

when you reply there is a feature to disable the ping

timber plover
#

im so confused smapi tell me my replacement image is to big for the farmer base file ...but it is not i only want to replace the flute part my replacemnt is the exact hight and with as the 3 frames ..means per frame i used 16x32 so my image is 48x32 since its 3 frames....the farmer base with is 288 in total
error log :https://smapi.io/log/133040329c384762b2433446b1568ba5

ocean sailBOT
#

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

valid folio
timber plover
#

also im sry i have a light headache so mybe im just dump and forgot something

hallow prism
#

you want to click on the blue thing on the right, which say the same thing but in english ("on", i believe) to put it on "off"

vernal crest
hallow prism
#

thanks ichor

#

(i don't mind occasional pings, and i dont have issue with reply in itself, it's just frequent pings that are distracting for me)

valid folio
timber plover
#

yeah i did ...

hallow prism
blissful panther
#

(It doesn't stay off as you just discovered, by the way!)

#

Which is incredibly annoying, but it's the way it is!

vernal crest
#

Yeah, unfortunately you have to turn it off every time, Hayato

hallow prism
#

yeah discord doesn't make stuff easy

timber plover
vernal crest
valid folio
timber plover
#

i wrote 244 instead of 224 😄

valid folio
#

Please be patient with me until I get used to deactivating it.

vernal crest
unique sigil
# valid folio Hi, everyone! How are you? Sorry to bother you with a question: I want to cre...

Hi! If you want to make maps accessible via central station, I recommend learning these in order:

  1. How to make a map
  2. How to create a custom location
  3. How to learn shop data (because you are making a custom shop with an NPC vendor)

as for integrating your mod into central station, i recommend looking at the [CP] Central Station content pack contained in Central Station's mod folder. That in itself is a sample content pack for a Central Station-accessible location (the location data should be in the assets/location.json file in there).

unique sigil
solar sierra
#

It's me again and my silly nooby questions...xD
I thiiiink I finally understand what I am doing, but I'm not sure about if I should keep the whole "Data" part if I already have the section just above it ?🤔

valid folio
#

I see I have a lot to learn. With my visual difficulties, I'll get tired of reading so much, but with patience and taking it slow, I'll learn, haha.

vernal crest
solar sierra
#

Alright, thank you ! 🫶
Did I wrote all of that properly though...?👀💦

blissful panther
#

I would also caution against Mods/DreamiesValentineDay as the target in case you want to add more things later! Something like Mods/DreamiesValentineDay/FurnitureSet might be better.

valid folio
vernal crest
unique sigil
vernal crest
solar sierra
#

Noted, thank you !

unique sigil
#

seconded on that, cant make a custom location without the map for it existing first

vernal crest
#

Make a very basic map (start by making a copy of a vanilla map and then change a few tiles) and then go to locations to get it in your game.

unique sigil
#

id suggest learning how to use tiled first too. the maps page already has a couple steps on what your Tiled settings should be before starting mapmaking

vernal crest
#

Do NOT go wild on your mapmaking until after you can get it into the game! There are many mistakes you can make with making a map and the more you've done before you test it for the first time, the harder it is to find the problems.

unique sigil
# valid folio Ok, I'm a bit confused about where to start reading because there are so many th...

I'd say my steps would be something like

  1. read maps wiki page + learn tiled
  2. try making tiny edits to a vanilla map and load them in game, see if they work
  3. experiment more with your map design
  4. read location data wiki page and learn to make your own custom location data
  5. learn central station's docs on how to make your location accessible by central station's features
  6. add features to your new location, like shop data and maybe more map details
vernal crest
#

Huh, it never occurred to me to edit a vanilla location instead of making a new one. I made a new location before editing my first vanilla one lol

unique sigil
#

(i find it rather amusing that step 5 is actually the easiest part, custom locations can be hard SDVkrobusgiggle)

vernal crest
#

I think custom locations are actually really straightforward it's just that we have zero documentation that tells people they're actually meant to do that to get their map into a game. That's where I got lost when I started modding.

unique sigil
#

you're braver than i was, i only started messing with custom locations (not farms) like, 4 farm maps in

vernal crest
#

Like I got my little map all ready and then was like "but where do I put it???"

blissful panther
#

Huh, what is the current best documentation we have on that? Shouldn't be too difficult of an addition...

unique sigil
vernal crest
#

The problem I face with doing something about it DH is that we have about...6? tutorials on the modding wiki on making maps and they're all outdated. So I always wonder whether it'd be better to edit one of those (with permission) or try to make yet another tutorial.

But there probably could actually stand to be some paragraph or another actually on the maps page of the official wiki to point to the locations page and say "do this stuff to actually put your map in game".

unique sigil
#

You can add or edit locations by editing the Data/Locations asset.

there is this in the location data page itself, but yeah i do remember theres no such references to it in the maps page

#

iirc i had to dig into another mod's files to fully grasp everything i needed to load custom locations in game

valid folio
# unique sigil I'd say my steps would be something like 1. read maps wiki page + learn tiled 2...

Ooooh, thanks for suggesting the priority order! I feel like I'm learning a new language with this coding stuff, haha.

I also appreciate the willingness to help me. That's something I've always admired about communities outside of Latin America; they're much more supportive. It can be a bit tricky sometimes due to the language barrier, but little by little, progress is made. Anyway, I can't take too much time, I think I have about a year to finish it (health issues), maybe two.

How would editing an existing map work?

unique sigil
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!

unique sigil
#

My way of editing maps is to copy and paste an existing map to use it as a template and editing it directly in the unpacked Maps folder.

if you have made/used any custom tilesheets (of your own making or from other tilesheet mods), you also copy them into the unpacked maps folder and load them in tiled using the New Tilesheet button on the tilesheet viewer

vernal crest
#

(Typo in your message Kisaa: you refer to a .tsx file in your second line instead of .tmx)

unique sigil
blissful panther
unique sigil
#

on a related note: i think some tidbits on the "Migrating to 1.6.x" guides on maps should be merged into the main Maps wiki page. it took me way too much time to realize that AllowBeds and the overhaul (?) to Stumps map property is a thing, because those are scattered on the migration guide instead of on the main maps page.

valid folio
unique sigil
ocean sailBOT
#

If you want to make mods that add or edit maps:

  1. Use Tiled to edit .tmx or .tbin files.

  2. Refer to the Maps wiki page for details on how maps work in Stardew Valley.

  3. Content Patcher allows you to create custom locations through editing Data/Locations

  4. Vanilla Maps can be edited via Content Patcher as well: EditMap

blissful panther
#

You could freehand edit map files in Notepad++, but that would be a special kind of challenge. SDVkrobusgiggle

unique sigil
#

,,, now you're giving me ideas

vernal crest
#

Map-making tutorial updating

#

Okay I am going to edit the Maps page to add a section about using Data/Locations to put the map in the game. It will be rudimentary at this point but I want to do it while the momentum is there. I think I'll put it in "Getting started".

#

(I say this in case @blissful panther is currently doing the same thing since I have no idea how the wiki handles two people trying to edit the same page at the same time.)

valid folio
blissful panther
blissful panther
#

It just requires your system be set to a dark theme.

vernal crest
#

You can choose the colour actually

#

It only adjusts to operating system using the "Native" theme (which is default on Mac)

valid folio
unique sigil
#

i have been editing in light mode this entire time. my system is on dark mode. my poor eyes

blissful panther
blissful panther
#

You can do this, but please don't. /j SDVkrobusgiggle

unique sigil
#

i think ive passingly read that you can change the tiled UI color; i just didnt know you can set it to auto-match your system UI

blissful panther
#

Yeah, this is it set to native on Windows. It looks a little different other than the colour, too.

unique sigil
#

let's hope i remember to do this next time instead of forgetting to like the amount of times i told myself i'd install data layers only to,, not do that SDVkrobusgiggle

vernal crest
solar sierra
#

I have yet another question (hopefully it will be the last for at least a while...). In the example code, is anything after the 0 and \ mandatory ? Or is it optional and I don't really have to write it in my code ?🤔

vernal crest
next quarry
valid folio
vernal crest
#

But if you don't include the texture field it will use the vanilla TileSheets/furniture spritesheet instead of yours, so it will not use any of your images.

solar sierra
#

Got it, thank you !

valid folio
blissful panther
solar sierra
#

Mh...so that means that I keep the "Mods" (which should match the "texture" section on the wiki, since it's right after the index) after the 0 and remove anything after? I feel dummy...;-;

vernal crest
valid folio
vernal crest
# solar sierra Mh...so that means that I keep the "Mods" (which should match the "texture" sect...

You want to keep the entire texture field, not just the word "Mods" - but make sure you change it so it matches your Target rather than CatCakes. As for the other two fields afterwards, it depends on whether you want to stop your furniture being randomly available for sale or not (if you do, you need to keep that field and name it true, otherwise you can delete it) and whether you want context tags (which at this point you probably don't, so you can delete the last field).

valid folio
vernal crest
#

I don't even have Tiled on this computer so I'm just going off the Tiled documentation rather than seeing for myself.

vernal crest
teal bridge
#

I see a font size dropdown next to the font name dropdown.

valid folio
vernal crest
solar sierra
vernal crest
solar sierra
teal bridge
#

Here's a fun question: if I specify a dependency with a MinimumVersion that is also optional (IsRequired: false), what actually happens if the user has an older version of the dependency?

valid folio
teal bridge
#

Does SMAPI nope out of that, or will it cruise along with the incompatible version?

valid folio
#

Thanks everyone, I'm going to start studying haha!

desert crane
#

I'm trying to change the price of ores from the blacksmith, but I think I'm missing something

#

What's missing from here?

tawny ore
#

Price and ItemId are at the same level, but the patch you have is treating it like the Price belongs to "(O)378"

tawny ore
#

Yeah that looks like it should work

#

Oh wait, no, you had the CopperOre_YearOne right the first time

#

Oh I just realized you need Entries too

teal bridge
desert crane
ivory umbra
#

can't figure out what i'm doing wrong, but i can't get machine animation working

                    var workingEffect = new MachineEffects
                    {
                        Interval = 100,
                        Frames = new List<int>() { 1, 2, 3, 4, 5 },
                        ShakeDuration = 400,
                        Sounds = new List<MachineSoundData>() { bubblesSound },
                    };
                    myMachine.WorkingEffects = new List<MachineEffects>() { workingEffect };

the sound and shake work but it just stays on the first frame of the animation

vernal crest
#

Am I changing the meaning of the maps page on the wiki if I add a new section about how to get maps into the game? SDVpufferfear I don't know whether "changing the meaning" means "this page now contradicts what it said before" or just "there is information present that wasn't before".

brittle pasture
#

hmm that seems right to me
I recal you need to set both load effects and working effects for it to work properly?

ivory umbra
#

yeah the load effect is working

                    var defaultMachineEffect = new MachineEffects
                    {
                        Id = "Default",
                        Condition = null,
                        Interval = -1,
                        Frames = null,
                        ShakeDuration = -1,
                        TemporarySprites = null,
                        Sounds = new List<MachineSoundData>() { coinSound }
                    };

                    myMachine.LoadEffects = new List<MachineEffects>() { defaultMachineEffect };
brittle pasture
#

did you set workingeffectchance as well

ivory umbra
#

yes, WorkingEffectChance = 1,

tribal ore
#

I would like to remove a single object from the Saloon. Is there a way to do that with Content Patcher that doesn't require me creating a custom Saloon map with the object deleted?

#

This is an object that blocks pathfinding (decorative plant)

warm imp
brittle pasture
#

try making it a clone of the working effects

tawny ore
desert crane
tawny ore
#

I think the ID needs to be part of TargetField still

desert crane
warm imp
vernal crest
#

@blissful panther https://stardewvalleywiki.com/Modding:Maps#Getting_your_map_in_game Plunge taken, maps page edited! Can you please add links to the CP docs for me, since I am not allowed? Feel free to also edit as you think best, of course. If nobody knowledgeable ends up adding the info about how to add maps in SMAPI I will learn how to do it myself, though it may take some time xD

tawny ore
desert crane
#

Should be fixed now

vernal crest
brittle pasture
#

nice
I wonder if those eccentricities should be documented somewhere, but machine anims is like the one machine-related thing I'm rather clueless about

ivory umbra
#

yeah i feel like that should be mentioned on the wiki

rotund horizon
#

Hi! Quick (and probably dumb) question: in the Content (unpacked) folder, which file contains the kitchen furniture? I keep finding everything except what I’m looking for

latent mauve
#

Farmhousetiles, I think

rotund horizon
#

Thanks! I’ve spent an embarrassingly long time searching for it

zealous arrow
#

the language for stardew modding is C# right?

brittle pasture
#

yes, but you dont always need to write C# code to make mods

#

!startmodding

ocean sailBOT
#

Making mods can be broadly divided into two categories:

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

brittle pasture
#

pure content mods just use json

zealous arrow
#

ok thanks

misty grove
#

Just wanted to pop up here to thank @wise needle cause seeds n' saplings is great

crude plank
#

sorry for ping, i found it but i had to choose colors, it was still white on native even if my OS is in dark mode

teal bridge
#

Hey folks, finally declared a beta and finished the changelog: https://github.com/focustense/StardewControllers/releases/tag/v1.0.0-beta

Ignore everything in the readme, I'll rewrite/delete that when I redo the Nexus page, meantime I've moved all the docs over to mkdocs: https://focustense.github.io/StardewControllers/

I'll post in #modded-stardew when final goes out, this is just for anyone who's been helping to test and/or interested in the prelease - @brittle pasture, @acoustic summit etc.

agile terrace
#

Ok. I'm struggling a little. I wanna do an override option for my mod so people can either leave it on the default "false" and let the mod pick which number of portraits... Or let them pick out 7, 9, 12, or 32 so that if the mod they're using has the option to chose... they can chose.
Unfortunately, with how my mod is set up I wanna essentially do
Has mod{whichever mods would trigger that portrait set} OR Override=# of portraits in that mod
So for instance...

      {
         "Name": "Type",
         "Value": "Magnus",
         "When":
         {
            "HasMod": "FlashShifter.StardewValleyExpandedCP",
            "HasMod|contains= Jellonip.RRRR": "false"
         }
      },

Is for SVE. I'd like to aslo have a way to tell it OR "Override" = "7"
But if I add another line it'll mean "And" instead of "or"

#

Do I just need to add "Override" = "False" and then have another entry where it's JUST "when": { "Override"="7"}?

#

You know, Maybe I just do it that second way and make new entries for when the token says something other than false.

royal stump
# pale marten https://smapi.io/json/none/857837c1f79444aca44078a71707d84d

(cc @blissful panther, thanks for letting me know SDVpufferheart)
I don't get quite the same error when I run your pack, but setting "Areas": null, in your unused sections does cause errors. You should set those to an empty list instead, e.g. "Areas": [],, or just set those entire sections to null, like this:

  "Large_Object_Spawn_Settings": null,
  "Ore_Spawn_Settings": null,
  "Monster_Spawn_Settings": null,```
royal stump
light jasper
# royal stump FTM's API is by request, so it only does that one thing currently. I could try t...

I got annoyed that my frog kept eating monsters I wanted to loot so I’m making a mod to filter what he can eat 😂
I got everything working last night for stuff added through content patcher but the custom spawns that SVE adds through FTM don’t show up bc they’re just things like reskinned pepper Rex or serpent. If it bothers me enough I might make an FTM PR but it’s probably not a huge deal, the mod does what I want, and the frog isn’t eating my iridium crabs anymore

royal stump
#

SDVpufferthumbsup The skins wouldn't be the worst to read through an API, if it comes up, aside from associating the names with the name/class you're using. They're just string asset targets, e.g. SVE's pack looks like this:

{
"MonsterName": "Serpent",
"Settings": {
  "HP": 245,
  "SpawnWeight": 1,
  "Damage": 40,
  "Sprite": "Characters/Monsters/BadlandsSerpent"
}```
#

(which just overwrite the built-in Sprite field in the final spawns iirc, if you check live ones)

rancid temple
gray bear
ivory umbra
flat sluice
#

Hi,
I'd like to ask - when testing festival positions (Flower Dance, for now, might also be in other ones) and dialogues for my NPC, I found out that when I talk to my NPC, it shows ordinary dialogue instead of the specified festival one. I'm triggering the festival by changing the day from 1 to 13 and warping to the town, both using CJB Cheats. I know that I already tested festival dialogues by this method and it worked, so I quite don't know what to do.
Could anyone help me, please?

festival dispositions (for Flower Dance + Dance of the Moonlight Jellies): https://smapi.io/json/content-patcher/48497f87b26144538ca428c7a50cc357

log file: https://smapi.io/log/8beeae450be34c58baa58403012d8260

ocean sailBOT
#

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

warm imp
lucid iron
#

I did get another report about issue with HarvestShakeable where the companion won't stop shaking stuff, that one I'll look into later today

ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 7 C# mods and 2 content packs.

ivory plume
# rancid temple Added endlessly cycling dialogue messages action (like Central Stations bookshel...

In case you're interested, Central Station 1.1.0 encapsulated that logic into a new LiveMessageQueue class to simplify the rest of the code. (It also has built-in split-screen support and avoids the previous recursion.)

Example usage:

private readonly LiveMessageQueue Messages = new LiveMessageQueue(loop: true, shuffle: true, GetDialogues);

...

if (this.Messages.TryGetNext(out string? message, out bool hasMoreMessage))
   // show dialogue
rancid temple
ivory plume
#

(You can check how ContentManager.TouristDialogues is implemented, it's probably similar to how your action works in dynamically creating a queue based on the received arguments.)

teal bridge
#

Apropos of nothing, Pathos, I've been using async texture loading lately to shave off almost all the time spent on those asset loads in the main thread. While I can't really get a detailed breakdown on exactly which parts of the entire operation take how long, it seems that the creation of a Texture2D object and SetData aren't really the biggest bottleneck, it's mostly concentrated on the decode and conversion which does not need to be on the main thread.

#

I ended up using an almost identical strategy to the way SMAPI builds the raw texture data, just using async I/O to read the bytes and doing the Skia decoding/conversion on a worker thread. Works fine, and the last-minute Texture2D stuff is not that expensive by comparison.

#

Just figured I'd mention it because the subject's come up in the past with the general feeling that it's impractical or can't be done, but as long as you can do it as a preload (obviously won't work if the UI thread is waiting on the texture) then it can be done and works pretty well.

brittle ledge
lucid iron
brittle ledge
#

Also if you're doing town and the 13th, isn't that Egg Festival, not Flower Dance?

rare orbit
#

so tryin to do an unofficial update for personal use.... but everything seems ok except line 4 which idk how to fix.

latent mauve
#

(it goes inside the ConfigSchema for that config option, right after the "AllowValues" line)

rare orbit
#

oh k i'll try that

#

so i put that where exactly??

#

fff i keep messin up ;-;

#

if i may ask how should it look??

latent mauve
#
      "AllowValues": "red, blue, purple",
      "Default": "red"
    }
  },```
#

Of course, if you want the default to be something different, you'd put that instead of red

rare orbit
#

coolio!

#

thank you!

ornate trellis
#

hm, where would i need to look again to see all the formatting i can do for stringsfrommaps dialogue boxes...

#

i am notoriously bad in finding modding info on the wiki lol

latent mauve
#

To be fair, I don't think the wiki specifically outlines any format/tokenizable or not difference between normal dialogue data and strings found in a specific file

ornate trellis
#

hm

#

how do i make my dialogue be in a new line...thonking

latent mauve
#

# makes it so you click to continue, I think. (I checked the vanilla strings in StringsFromMaps)

lucid iron
ornate trellis
#

yeah i only know # too sadly, guess i gonna try and look at vanilla strings to try and figure out

latent mauve
#

The SeedShop letter uses ^ to go to a new line, if that helps?

ornate trellis
#

hmm ill try that

ornate trellis
#

hate when i mess up how i write strings and have to redo 99 of em

#

nice, ^ worked

latent mauve
tribal ore
#

I'm making good progress on the i18n stuff, but was wondering if there was a converter I can use for letters and secret notes (rather than dialogue). The one here doesn't seem to have a specific section for that, so I wasn't sure if it would get converted if I used the dialogue tab: https://nom0ri.github.io/sdv-i18nifier-app/

latent mauve
#

Actually... Pathos might know, since they posted the original comment on the wiki editing page, but would {{github|Pathoschild/StardewMods/blob/stable/ContentPatcher/docs/author-guide/action-load.md}} get around the external link issue on the wiki?

#

per this comment:

brittle ledge
reef kiln
#

How hard would it be to add a book to the Little Free Library mod? I have one book that I can't trade and want to fix it. Does anyone know?