#making-mods-general

1 messages · Page 268 of 1

gentle rose
#

can you try using the original for one and the edited one for the other?

craggy cape
#

both as in , the one fellow made me, and the one from the dog mod

craggy cape
vernal crest
#

Actually, it is not the files

#

Man this would be so much easier if they were named by breed instead of these random names!

craggy cape
#

is it the sizing ? thats the only other issue i can think would happen, atleast for the sprite itself not showing

#

the lady sprites are cocker spaniels

#

thats all i know 😭

vernal crest
#

Okay I think it is that the maker of YADM appears to have intermittently put a typo in their own mod name for the textures

gentle rose
craggy cape
#

i did try with the vanilla replacement file but, it also didnt work LOL

#

so yea thats probably the case of the typo then

#

lemme check the content\

uncut viper
#

i dont see a typo, where is it? why wouldnt SMAPI/CP complain about a non-existent file/texture?

craggy cape
#

maybe its the lady and black not being seperated by a dash..? i doubt that though

#

"LogName": "lady-black", "Action": "EditData", "Target": "Data/Pets", "TargetField": ["Dog", "Breeds"], "Entries": { "Yetanotherdog.ladyblack":{ "Id": "Yetanotherdog.ladyblack", "Texture": "Mods\\Yeatanotherdog\\lady-black", "IconTexture": "Mods\\Yetanotherdog\\icons", "IconSourceRect": { "X": 0, "Y": 0, "Width": 16, "Height": 16 }, "BarkOverride": null, "VoicePitch": 1.0, "CanBeChosenAtStart": false }, } },

vernal crest
# gentle rose so replacing another dog works?

I haven't made it that far, I just opened the content.json and noticed that lady-black is calling a different texture than what it's loading. It's asking for this: "Texture": "Mods\\Yeatanotherdog\\lady-black" but has been loaded to this: Mods\\Yetanotherdog\\lady-black

uncut viper
#

oh, i was looking for a typo in "lady-black"

craggy cape
#

same pf

gentle rose
#

yeat

craggy cape
#

ya YEAT

gentle rose
vernal crest
#

Every other dog had the Yeat typo

uncut viper
#

wait, how does your corgi work? none of these have the right texture it seems?

#

oh

craggy cape
#

i feel like i should notify space captain about the typo.. if .. they even do updates on it

uncut viper
#

i see

#

every other dog does have the typo. but every other dog is loaded to the typo

vernal crest
#

Yes lol

uncut viper
#

Dottie, you literally chose the only dog that wouldnt work to replace

#

you're telling me Pet textures dont have null checks?

vernal crest
#

(Button wasn't actually asking you that question btw)

uncut viper
#

(yeah thats more just me exasperating out loud)

craggy cape
#

let me try to replace a different file then

#

see if the issue persists lmao

vernal crest
craggy cape
#

the typo does explain why the icon appeared fine though LOL

craggy cape
vernal crest
#

This whole time it was just a terrible coincidence for you Dottie lol

craggy cape
#

ok yk whats funny. that dogs name is lady

#

hence why i wanted to replace the lady-black sprites

craggy cape
#

i get stressed too easily rip

uncut viper
#

im confused why it only threw an error when it got to the draw code

#

and pretty far into the draw code at that

vernal crest
#

It was really unusual that it exploded like that. Normally that doesn't happen.

#

It broke my whole farmhouse

#

ANd then crashed the game, of course

craggy cape
#

ok im gonna put my mods back and replace a seperate dog file

#

actually, would the error occur again if i were to rename the file itself and the file within the content code ?

uncut viper
#

if you kept everything the way it was when it was crashing, but fixed the typos in content.json, it'd work fine

craggy cape
#

like, if i were to rename the sir barks alot file, then rename the code corresponding to the file.

vernal crest
#

This bug has been reported to the mod creator but they didn't know how to investigate it or fix it.

uncut viper
#

itd work as long as things were renamed properly, yeah. literally the only issue is the typo from the original mod

craggy cape
#

ight

vernal crest
#

I feel I must do a proper bug report and tell them how to fix it, but I am too exhausted right now.

cerulean rune
#

hey, can i make mod using python?

uncut viper
#

no*

*if you make a python modloader/framework sure but good luck

cerulean rune
vernal crest
# craggy cape i'll do it for ya

You'll need to give them specific instructions how to find and fix it, since they did not seem to be able to manage that by themselves/.

craggy cape
#

LMAO the "please work" code section

uncut viper
#

depends on the mod you want to make. most mods just use json for Content Patcher. otherwise, its C#

vernal crest
#

That sounds mean. I did not mean it cruelly but I am not up to rewording so: my intent was not to be mean about them.

uncut viper
vernal crest
#

Yeah I saw that. I am guessing that Pathos based his suggestion off the slightly convoluted discussion between the mod user and mod author and so didn't know what was actually going wrong? But I don't know.

uncut viper
#

shrugs. i was unable to actually find the conversation in here, so it mightve taken place over nexus DMs

craggy cape
#

"i found the issue with the bug related to the dog textures, there was a typo with "Yet" within the code on all the dogs.
instead of, for example "Texture": "Mods\Yetanotherdog\tallest-girl-in-town", the word "Yet" was spelt "Yeat", and so was the "Target" in the "// please work" group.

Although, lady-black was the only one without this typo, which caused only her textures to break and eventually leading to the game breaking."

#

that sound good?

uncut viper
#

i would mention that lady-black was the only one WITHOUT the typo, which is why it was only her that broke

craggy cape
#

oke doke

uncut viper
#

i feel like Pet.draw should probably have the same "if null draw an error instead" check that NPC.draw does lol

#

do farmanimals also crash you if you give them a null texture?

vernal crest
#

No clue but that should be easy to test just by setting a vanilla animal's texture to null, right?

uncut viper
#

it would be if it werent 5am

craggy cape
#

i didnt know if i shouldve commented it or made a bug report but either way i told space about the error. is he also in this server? ꒰ just curious abt that part ꒱

vernal crest
#

It's only 7pm here but it's 5am in my heart

craggy cape
vernal crest
#

No idea, I've never heard of him

#

I'll have a go at breaking a chicken

craggy cape
#

lmaooo

#

i would say good luck but that sounds kinda easy

#

either way good luck

vernal crest
#

Nexus seems to have decided that I have to choose between slow download and fast download every single time I download something now. Not pleased.

gentle rose
vernal crest
#

Mine used to remember that I always chose slow and would just download automatically

gentle rose
#

interesting, mine never did

vernal crest
#

I am such a dork, I downloaded a barn animal mod and then tested a chicken

craggy cape
#

chimkem

vernal crest
craggy cape
gentle rose
#

(seriously all of you that work on NPCs for ages end up making the coolest things)

dusk mulch
#

well let’s see if sleep fixes my brain like you said irocendar

vernal crest
#

No...I forgot that a CP replacer mod was just going to Load a new texture over the vanilla one instead of setting the Texture field itself to null.

dusk mulch
#

gn

craggy cape
#

ignoring the misplacement of the icons, thats bc i had it in a smaller window screen, BUT YIPPEEE

#

lady is real 🩷🩷🩷

uncut viper
#

lady black, brought back from the dead

gentle rose
#

did not say that, I said sleep is good for you, but good luck

dusk mulch
vernal crest
#

I was really hoping not to have to make my own mod for this

#

But I am too tired to try to find one that adds new breeds

rigid musk
#

Mod for what Aba?

uncut viper
#

what about qi chickens

rigid musk
#

I ended up vanishing for a while cause I spoke with one of my roommates -

uncut viper
#

speaking of

rigid musk
#

qi chickens

uncut viper
#

do you add qi chickens

rigid musk
#

I can add qi chickens

uncut viper
#

i still think you should add qi chickens
though the need was urgent

#

Aba is trying to crack a chicken open

rigid musk
#

Sprites were given to me by Void, all I need to do is write the stuff ..

#

To.. crack a chicken open?

#

Like a geode?

uncut viper
#

Aba wants to test if setting the texture of a farm animal to null will crash the game

#

so was looking for a mod that added farm animals to test it on

#

for quick n easy editing purposes

rigid musk
#

Oh well there are a fair few mods that add animals

#

I think mizu's turkeys is one right?

uncut viper
#

finding one on the spot when you dopnt know their names is tougher though

craggy cape
#

oh mizus quails adds a new animal

rigid musk
#

Ah yeah the quails

craggy cape
rigid musk
#

I don't have the capacity to make a mod that quickly right now heh

vernal crest
#

It's fine, I've made it already

craggy cape
#

coding wise i dont but texture wise i sure do

rigid musk
#

I may not be tipsy or anything but I did have a lot to drink, which means I'm dehydrated, and I also haven't slept in ... many hours

rigid musk
vernal crest
#

Drink water Lily 🚰

craggy cape
rigid musk
craggy cape
#

tempted to recolor those honeys to match the flower... but theres so manY

rigid musk
#

I also have to get up in... 3 ish hours so I want to sleep as long as possible

craggy cape
#

lily go to SLEEP

rigid musk
#

I will eventually ✨️✨️

craggy cape
#

fair enough

rigid musk
#

That would be a lot of honey to recolor but would it be worth it for you?

#

Especially if you added pretty simple bands it might be easy

craggy cape
vernal crest
#

Hmm chimken did not break

craggy cape
#

ok the mod i use for the honeys is actually aimons fancy artisan goods icons, which has compatibility with a few mods i have installed.

rigid musk
#

I reacted with the wrong thing but I don't know what I was going to react with in the first place

craggy cape
#

so if i can figure out how to make a compat with the rest of the mods i have that adds flowers/honey, it might save me alot of time xd

final sequoia
#

Thank you @brittle ledge and @brave fable . I was thinking of this issue this morning, and came to the conclusion that: so what. While I would love him to travel more through the town and things, his current (weird) pathing fits him. He presents like Maru/Demetrius, but thinks like Emily. So him taking a very direct route behind buildings, through grass, and everything like that actually kind of fits him. But this helped me figure out how to have him move in different directions for when I want him to. 🙂

craggy cape
#

or.. yea just recolor

rigid musk
#

And then I reacted to my own message.. yeahhh I'm gonna go sleep now heh

Good luck with your chicken testing Aba

vernal crest
#

Patch export says texture is null though. Maybe it needs to be a newly formed chicken?

craggy cape
#

in my case is was a "deleted" animal being replaced with a new animal, so yeah

uncut viper
#

pets are a different c# class, so maybe its just somethin about them or pets specifically. farmanimals i asked abt bc they were what i gave a quick glance and didnt immediately see a null check either

#

but theres a buncha places one could be i spose

rigid musk
#

Chicken pet test when/silly

craggy cape
#

ok im debating on how to do this recolor ..
a.) attempt to use code rather than manually recoloring all honeys
b.) manually recolor all honeys and replace their file in the mod they came from

vernal crest
#

I have created an error item chicken!

craggy cape
#

yippee!

uncut viper
vernal crest
#

Behold Snutso, my beautiful error chicken

uncut viper
#

i love Snutso

vernal crest
#

Huh and when I grew Walbert the chick, whom I bought before I nulled the baby texture too, she grew into Walbert the chick-who-is-actually-an-adult.

uncut viper
#

i wonder where it fixes itself

#

or catches itself, rather

vernal crest
#

I was wondering the other day when the error chicken got used.

craggy cape
#

hm. i realized there is bases for the roe and pickles, but no base for honey

uncut viper
#

(also i am very appreciative of you testing and satisfying my curiosity SDVpufferheart )

vernal crest
#

You're welcome! Also wow I really did make a mod in three minutes huh

uncut viper
#

time to put it on nexus

vernal crest
#

It'd probably get more downloads than my other two mods combined xD

uncut viper
#

i think if you named it "This mod breaks your chickens." a bunch of people would download it out of pure curiosity

vernal crest
#

It's called "Break A Chicken" lol

uncut viper
#

Chick Breaker mod but its just a reskin of Brick Breaker where the ball is a chick orb

#

and the bricks are like. joja crates or smth

vernal crest
#

That is a pretty gigantic scope creep from a mod that just removes the textures from the chickens xD

uncut viper
#

the bigger the scope creep the more real of a modder you are SDVpufferthumbsup

vernal crest
#

Actually I gave the adult chickens the Texture "Harblegarble" and the babies "Boo" because I'm lovely like that

uncut viper
#

new mod name, Chick Harblegarbler

vernal crest
uncut viper
#

im not THAT creepy

craggy cape
#

trying my hardest to word a question but failing so bad

uncut viper
#

new chicken scope creep mod name: Peepers Creepers

vernal crest
#

There are no chickens, it just replaces all the music in the game with the song Jeepers Creepers

uncut viper
#

you get me

#

can the music be made with chicken peep sounds though

#

chicken peep remix

vernal crest
#

Yes

uncut viper
#

thank you. ill be waiting for it on your mod page soon

vernal crest
#

I will gift you half my DP for being my esteemed associate

uncut viper
#

which half

vernal crest
#

The lesser half

#

You're not that esteemed

craggy cape
#

how do i create like a "base" texture, like the picklebagi icon thats greyed out ? how can i make it so that texture will change colors depending what flower created the honey?

like, if i have a pink flower, no honey texture, how can i make the base honey texture become pink to match the flower?

uncut viper
#

you drive a hard bargain but i accept

#

is that picklebagi using perhaps EBAGI

craggy cape
#

yes but i wanna use a specific honey texture

#

and make a base out of it for compat with the flowers that the fancy EBAGI doesnt cover

uncut viper
#

i believe EBAGI can let you do that but im not sure as ive never used it, only looked at the docs once months ago

craggy cape
uncut viper
#

i think its in the Articles?

#

i know (aka think) EBAGI is only on github but it should follow the same rules as normal BAGI

craggy cape
# craggy cape

thats the honey texture i wanna use and be compat with the flowers fancy EBAGI textures doesnt cover

uncut viper
#

if EBAGI is also on nexus then ignore that and pretend i didnt say it

craggy cape
#

hmm, oke

uncut viper
#

but yeah id check the Articles tab on the BAGI nexus page

#

all i can do from here is wish you luck though bc im going to bed SDVpufferchicknight

craggy cape
#

fair LOL

mighty ginkgo
craggy cape
#

well, really all i want to do is change the colors for the honeys of flowers EBAGI/Fancy EBAGI doesnt specifically support

#

like, the hydrangea flowers i have are the default honey color w/ the Fancy EBAGI icons, if i have a pink hydrangea, id want the honey to be pink

craggy cape
# craggy cape hmm

this shows the modded flower honeys that arent recolored bc theyre not supported by Fancy EBAGI and such

#

the ones that are supported with that retexture are colored differently

mighty ginkgo
#

can you link the mod that does the coloring of the supported flowers? just so i can see what it does

craggy cape
#
Nexus Mods :: Stardew Valley

Additional pack for Aimon111's EBAGI Fancy Artisan Goods Icons Pack. Updates Cornucopia's mushroom and artisan good sprites to be fancier.

Nexus Mods :: Stardew Valley

Additional pack for Aimon111's EBAGI Fancy Artisan Goods Icons Pack. Updates Cornucopia's flower pack to have fancier varied honey.

#

cornucorpia flowers/crops

#

but the description does state this:
"Supported mods:
Starder Valley Expanded
Ridgeside Village (only jelly and wine)
Ancient Crops
The Love of Cooking 
Winter Crops
Lucky Clover 
Sweet Gem Fruit
Octopetalas
Korea Blossom
Quaint Living - Flower Garden"

mighty ginkgo
#

yeah, i guess that framework doesn't support generic rules to do the coloring so each flower needs to be accounted for individually. or at least that's the way the second linked mod does it. personally i'd try to make a vanilla machine rule that produces the colored honeys based on the flower data (Extra Machine Config might be necessary), but that probably means including the honey image in the mod, which might be a problem if you mean to release the mod. but i don't know, maybe there are better ways to do it

craggy cape
#

nah im not gonna release the mod lol , its strictly for personal use

hallow prism
#

what is the best way to see why someone can't make a machine recipe when they claim they got the mail unlocking it? i asked a patch summary modid but it doesn't show modid related mail flags as i expected

#

i wonder what is best between LA and a patch summary full

craggy cape
#

oh hi lumi

hallow prism
#

hi

craggy cape
#

okay wow thats kinda simple, basically i just need to insert CopyColor into the OutputItem

mighty ginkgo
#

might be more complex than that, but try it at least

craggy cape
#

long as i can get the color copied to the output i think id be fine

#

i have created a base honey texture, i think

#

its greyscale version of the texture i wish to change the color of per flower

vernal crest
# hallow prism what is the best way to see why someone can't make a *machine* recipe when they ...

Can they use LA's F1 feature on the machine, scroll down to the recipes, and then send you a screenshot? That way you will at least be able to see if the recipe is unlocked. (I think - that's what the recipe being greyed out means, I'm pretty sure.)

Oh, I see the issue with the mail flags (I went creeping on your mod page lol). A patch summary full should show the whole list. Could you ask for both?

hallow prism
#

yeah i am just annoyed of asking twice

#

so this time i want to do it right but also not overwhelm user

vernal crest
#

Yeah that's understandable.

gentle rose
#

I think there are console commands that list mail flags?

#

huh, there are not. Weird.

#

add that to the list of things to add if I ever make a Debug Toolbox mod

vernal crest
#

Patch summary does list all the mail flags, you just need full

#

I should specify: all the mail flags the player currently has

calm nebula
#

Generally patch parse {{HasFlag|contains=myMailId}}

gentle rose
#

how strict is the parsing? could it be broken by someone doing something indirectly, like using local tokens?

hallow prism
#

i usually use the patch parse or the GSQ one for personal use but it's extra steps for someone not familiar, i guess i could try however

gentle rose
#

I get what you mean about wanting to have a single command available that you can ask people to run

vernal crest
#

What would be covered in such a command that doesn't already exist in patch summary? SDVpufferthinkblob

gentle rose
#

it would actually cover less, theoretically, which is the goal in my opinion. It's a single command you can ask people to run which has easy to parse, non-scary output

hallow prism
#

yeah my issue with patch summary full is that depending of number of mods can be pretty heavy

#

so my attempt was a compromise (i didn't think of the patch parse or the GSQ one at the time)

vernal crest
#

You can just do patch summary "Lumisteria.MtVapius" full though

#

So it'll be the same as what you got but with no truncating

#

Or if you only care about the global tokens and not even about your own mod's patches, you can just put a nonsense mod ID in instead and it will display the global tokens and then not showing anything for the content patches.

gentle rose
#

I always like to have both general and specific options available to suit my needs, if possible. Like some users are terrified of console output they don't understand, in which case, patch summaries (even for individual mods) can end up scaring them

vernal crest
#

If they're so scared that they can't even avert their eyes to put the file into the log parser and then send you the link...well that's probably a point at which I'd be saying "good luck, you're on your own!"

calm nebula
#

The issue with patch summary is that she needs the result of a gsq

#

Good morning!

vernal crest
#

But she's checking for a mail flag

#

And you don't need the result of a GSQ to see that

gentle rose
#

is there an issue with having a command of its own that maybe we aren't noticing, aba?

spice inlet
#

if you find that easier to write

gentle rose
#

ub?

#

I don't see ub in the console commands documentation?

vernal crest
#

Unlockable Bundles

spice inlet
#

yeah there's a whole bunch of them commands for unlockable bundles SMCPufferChickSweatSip

gentle rose
#

oh, is unlockable bundles involved? I thought we were looking at a VMV thing

#

ig I don't remember if that's a VMV dependency or not, but if it isn't, then you can't really ask a user to use it since they may not have UB haha

spice inlet
#

it is

gentle rose
#

ah, fair enough

vernal crest
# gentle rose is there an issue with having a command of its own that maybe we aren't noticing...

No, I'm just unsure why patch summary is being deemed as insufficient for purpose in this situation. I am curious how you'd specify which things would be worth putting into your hypothetical command, though. Would you have lots of different ones depending on which thing the mod author needed to look at? Or one command with a bunch of arguments? Or is your idea to just have one command that only lists a few things - in which case, what would you consider to be worth adding that would make the command useful enough for many purposes without scaring users? (These are all genuine questions but mostly idle curiosity, so no pressure to answer them SDVpufferheart )

gentle rose
#

honestly, it's the last one. It's a "nice to have" - I wouldn't ever install a mod just to add that, but since I was already thinking of making a debug toolkit mod regardless, it's a "no harm done by throwing it in there" kind of scenario to me. Not fulfilling a strict need but if it becomes useful to people then it's there

hallow prism
#

it's not insufficient in itself, it is insufficient in the way i did it because, likely, the patch summary mod.id has no idea which mods adds which letter (which i didn't realise when asking for it)

#

it's just that one version was insufficient and one version is too sufficient 😄

gentle rose
#

The goal of a debugtk mod would be to have a lot of small parts that don't do anything on their own but you can trigger to do various useful things. No harm having it installed because it does nothing unless you ask it to, so you can just have it be a harmless part of a debug loadout

spice inlet
#

you could probably do a pr for smapis console commands

#

if it's something generally useful

gentle rose
#

if/when I make it, a large part would probably be a set of console commands of the style debugtk <subcommand> [...options] or dtk <subcommand> [...options]

gentle rose
wise oar
#

Hello everyone, could anyone help me create a voice chat for stardew valley? I'm trying to do it, but it doesn't work for me (I mean it kind off works, but you can't hear anyone during the game).

gentle rose
#

like, on discord?

vernal crest
gentle rose
#

that hobbithouse mod really pulled its weight in SMAPI and content patcher related stuff SDVpuffersquee

#

(iirc pathos said it's the house in the smapi banner)

craggy cape
#

ok maybe i should just manually recolor since im extremely confused on how to even organize the codes LMFAO

spice inlet
#

mhm, I think I'll just add an ub printflags command that prints all registered (mail) flags and sorts them alphabetically.

gentle rose
#

yeah, that was my plan! I'm guessing it would be super useful as part of ub given what ub does probably interacts with mail flags a lot

#

(I love when mods add their own debug commands btw! I always appreciate it as a mod user and tech support person)

tough crater
#

I don't know how, but I lost the webpage that has information on how to i18n config options

#

If anyone's confused, this is my i18n for my config options, but I want to reference the page again

#

For whatever reason, I can't find the documentation 😭

wise oar
#

@spice inlet do you speak spanish?

spice inlet
#

I do not

wise oar
#

Ah XD

spice inlet
#

Pina Colada is a cocktails name 😄

wise oar
spice inlet
#

taking after atra with the goofy names

calm nebula
spice inlet
#

<3

tough crater
gentle rose
orchid glade
#

Can you safely use [ ] in strings? (eg. Strings/Notes), or would I need to escape them of something?

#

*or

gentle rose
#

really good question, pretty sure they need to be escaped because of tokenisable strings

#

also special characters in strings in stardew can be weird regardless since some of them are replaced with symbols (= is ⭐ for example)

#

honestly I'd be very careful about how I escape them just in case they get parsed twice somewhere and end up unescaped SDVpuffersquee I don't trust how the game parses things

craggy cape
#

debating if i should sleep and do this project later or push thru

#

or just actually play stardew

pine elbow
brittle granite
#

So I have tried to add another crop to my crop mod and I can spawn it normally through cheats and grow it, but when I go to summer pierre dosn't seem to sell it.

#

would anyone know where my issue lies?

orchid glade
hallow prism
brittle granite
#

I did

#

here is the code

#

"Changes": [
{
"Action": "EditData",
"Target": "Data/Shops",
"TargetField": [ "SeedShop", "Items" ],
"Entries": {

        "Rogue.Rogues_Crops_CarnationSeeds": {
            "Id": "Rogue.Rogues_Crops_CarnationSeeds",
            "ItemId": "Rogue.Rogues_Crops_CarnationSeeds",
            "Condition": "SEASON spring summer",
            "IgnoreShopPriceModifiers": true,
            "Price": 45,
 
              
            
        "Rogue.Rogues_Crops_AcanthusSeeds": {
                  "Id": "Rogue.Rogues_Crops_AcanthusSeeds",
                  "ItemId": "Rogue.Rogues_Crops_AcanthusSeeds",
                  "Condition": "SEASON summer",
                  "IgnoreShopPriceModifiers": true,
                  "Price": 50,
              },
          },


              }
        }
    ]
}
hallow prism
#

which one is the one not working?

brittle granite
#

Acanthus

brave fable
pine elbow
#

are you missing closing brackets?

brave fable
#

please remember to try the json parser first, if only to share the file more easily

brittle granite
#

oh man my bad

#

oh wait actually I do have that

#

I just didint paste it

#

let me use that code checker though

#

I appreciate the double check though!

vernal crest
#

(Are you writing this in a text editor like VS Code? You can get syntax highlighting and error checking if you do.)

brittle granite
#

I am, but it checks like almost every coma as an error so ive been not trusting it

brave fable
#

if it sees a whole bunch of errors in your json formatting, that's a problem with your json formatting, not with the text editor SDVdemetriums

brittle granite
#

ah so I need to encase every single one with that

#

just like this for an example

#

warnings I guess not errors

vernal crest
#

You should change it to be JSONC, not JSON

brittle granite
#

ah okay

vernal crest
#

Then it will be happier about things that are actually acceptable in Stardew and you can pay more attention to the errors

#

You can also press Alt-Shift-F to format your code so it's all nicely indented and stuff.

brave fable
#

like so:

brittle granite
#

you read my mind blueberry, thank you guys

brave fable
#

note: jsonc is json with comments, but also generally looser syntax iirc, so it won't flag trailing commas as errors (probably)

orchid glade
#

still flags trailling commas btw

brave fable
#

well in any case, SMAPI's json parser doesn't care about trailing commas or comments, so you're safe to ignore those specifically in your json files

#

* i am not responsible for injury or misadventure caused by ignoring json errors

brittle granite
#

ok cool, thank you!

#

lol

orchid glade
#

I am like, 20 lines away from the end of my translation O.o

vernal crest
#

I thought it changed from flagging trailing commas as errors to warnings

lucid comet
#

stupid c# question: i'm getting the exact "Feature xx is not available" error that is mentioned in the note on the getting started wiki page (https://stardewvalleywiki.com/Modding:Modder_Guide/Get_Started right above "add your manifest"), added the snippet to my .csproj aaaand it's still complaining. what am i missing? o.o

Stardew Valley Wiki

Creating SMAPI mods

vernal crest
#

Yeah it does

orchid glade
#

All i know is it squiggly underlined it

calm nebula
vernal crest
lucid comet
orchid glade
vernal crest
#

Haha true

brittle granite
#

Lets Go!!!! That worked, thank you for pointing out my error

vernal crest
#

Mwa ha ha ha! I just edited my VSC so trailing commas are accepted by json and jsonc

brittle granite
#

spill the beans

#

😂

orchid glade
brittle granite
#

lol

#

why is that?

orchid glade
#

They are soo invasive and hard to get rid of

brittle granite
#

ah that makes sense XD

orchid glade
#

I mean they are pretty, but also the flower stalks are annoyingly spiky

brave fable
#

convolvulus the bane of my life. if i ever see someone add their favourite ❤️ cute morning glory plants!! ❤️ mod i am going to explode

brittle granite
#

when I was looking through pictures they looked really spiky, I like the deep purple though

ocean sailBOT
#

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

brittle granite
#

I made a spreadsheet with like 460 flowers I would like to eventually add

vernal crest
# brittle granite spill the beans

Go to file: "%appdata%\Roaming\VSCodium\User\settings.json" (or "%appdata%\Roaming\VSCode\User\settings.json" if you're using VS Code probably - poke around in AppData/Roaming if that doesn't work). Then replace

"json.schemas": [
    ]

with

"json.schemas": [{
        "fileMatch": ["*.json", "*.jsonc"],
        "schema": {
            "allowTrailingCommas": true
        }
    }
    ]
#

I take no responsibility for any explosions, melting, rains of frogs, or other disasters that may arise from taking my advice.

orchid glade
orchid glade
vernal crest
#

The likelihood of explosions is very small!

#

I am glad I found that. Now if only I could think of a way to stop it complaining about my multi-lining.

orchid glade
vernal crest
#

I just manually switch to JSONL when I'm working on my events file at the moment. It's a bit annoying but better than nothing.

calm nebula
#

Iirc from what pathos has said you can totally include a .jsonl

brittle granite
#

I just did that, and it says I now have zero errors which is great, thank you Abagainye!

calm nebula
#

So you can just make your event jsons jsonl

vernal crest
#

Ooh thanks Atra I'm going to try that.

orchid glade
#

If you're using JSONL or JSONC in vscode, does it still save as .json or is it a different file extension?

brave fable
#

if you're using a jsonl or jsonc file association for .json files, then yes, it'll save as json but treat it in the editor as if it were jsonc/l

#

but if SMAPI will happily load jsonc/jsonl itself then you can do either

orchid glade
#

cool

vernal crest
#

SMAPI says no jsonl or jsonc :(

calm nebula
#

Awww

#

Okay, this is easy enough

#

@ivory plume if you're amenable, being able to have different levels of ide-angry-at- you may be useful

#

Any chance of .jsonc/.jsonl?

crude plank
#

"This is easy enough" just ask Pathos to allow itSMCKekLmaoDog

calm nebula
#

Exactly!

#

(It's a two line code change but I'm asking Pathos if he agrees with the idea first mostly because I'm about 80% out the door on the way to work)

crude plank
#

I got it, hope you have a good day at work

calm nebula
#

Wooot allergy season has begun....

lucid comet
#

not sure if this belongs here or over on the art side but .... well, the background is no longer red, the new buttons are there and nothing broke SDVpufferfish

#

i did not expect to get this far SDVpufferblob

primal cove
#

If anyone wants an idea for a mod I have one, a mod where you can get a farm expansion to build a farmers market, once you have unlocked the extra plot of land robin will offer little stands and maybe some other things that you can only place on your extra plot and then you can set prices for all the crops or whatever you put in your stand or you could set trades so like 1 pumpkin for 1 energy tonic or something and once you have a spouse you can ask them to help out with the farmers market and the market and all the buildings in it would be pretty customizable. I don't need any credit if anyone wants to make it and Idk if anyone has already made this but yeah

#

Also any villagers can come and buy stuff from you

calm nebula
#

!modideas

ocean sailBOT
#

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

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

lucid iron
tough crater
#

I forget, where does SMAPI look for tilesheet files (from CP mods)? It's data/tilesheets or just tilesheets, right?

#

I remember it being mentioned that maps and tilesheets should be separated

lucid iron
#

Once you load the tilesheet it no longer matters

tough crater
#

RIGHT, we manually load them in 😅

lucid iron
#

If you don't load the the tilesheet then it'll try to find em relative to the tmx

tough crater
#

So it's better practice to load tilesheets manually, got it.

I'd be targeting Tilesheets from the game, right?

lucid iron
#

No, target something like Maps/modid/yoursheet

vernal crest
#

You can put them in whatever asset name you want. Usual practice is to put them in Maps.

#

"In"

tiny zealot
#

aba casting the ward to keep Button away, i see /lh

vernal crest
#

My map tilesheet targets are "Maps/{{ModID}}_National_Park" and so on

tough crater
#

Aren't tilesheets located elsewhere in the official game files tho?

#

Or is it different for CP mods

#

Wait, you meant you could put them literally anywhere

vernal crest
#

Map tilesheets are in Maps in the game content folder

lucid iron
#

What tilesheet are you trying to use?

tough crater
#

My own

vernal crest
#

Hm

lucid iron
#

Yeah just Load it to right place then

#

This part is same for CP and C#

vernal crest
#

Tilesheets need to have an asset name beginning with Maps/ or the game can't find them for use in the maps (is that the right way to say it chu)

lucid iron
#

Yea that is a req atm

#

[[modding:maps]]

tough crater
#

So all tilesheets need to get loaded into Maps/?

lucid iron
#

Yeah

#

You may need to adjust your map if you already made it

tough crater
#

Oh, did the vanilla or SVE maps change recently?

lucid iron
#

No that's not what i mean

vernal crest
lucid comet
#

.... i found the colorful stripes for calico spin

#

this is fine. not like i wanted to just flip some colors or something

lucid iron
#

You need to make sure the image source in the map tileset matches your load target

wise oar
#

Hello everyone!

#

i need help with my mod

#

i'm making a proximity voice chat into the game

#

but, it seems to work, but the other players don't hear anything.

wise oar
vernal crest
#

You asked in here before and Iro asked if it was on discord but you never replied

wise oar
#

And in fact, I forgot to ask here XD

#

But did you mean if the mod code was on discord or what?

vernal crest
#

I am not Iro, so I don't know lol

#

I assume they meant are you trying to do it through discord?

analog notch
#

hiii, anyone knows about adding new tv channels?

tribal ore
#

Translation question for you Nexus vets: I like how the translation shows up automatically when someone publishes a translation mod, but is there a way to make this section show translations that are contained within the mod itself?

tribal ore
#

But I suspect that adding a whole new one would require more than just adding the json and trying to patch it in

devout otter
#

This adds a new TV channel and seems completely in content patcher so you can take a look if you want.

wise oar
vernal crest
#

Ah I see. Well, you're probably an hour or so too early for the C# modders to start hanging out in here yet but they should be along soon.

pine elbow
# wise oar Well, we'll have to wait.

Do you have code somewhere to have a look at? I don't really know the stardew api that well yet but i know my way around c#. Maybe i can help as another set of eyes?

wise oar
pine elbow
#

Also does anyone know if there is a sprite sheet out there for the Governor that has him walking around?

pine elbow
lucid iron
#

The governor never walks

#

I don't think he has walking sprites

lucid comet
wise oar
pine elbow
#

there isn't but i was hoping maybe some else had made one up for a mod or something

lucid comet
#

the top row iirc

wise oar
#

@pine elbow The only thing is that right now I don't have it documented XD

ivory plume
ivory plume
calm nebula
#

The specific use case I was thinking of was using jsonl for event jsons only for the multiline strings!

tawny ore
lucid iron
#

We have a mod for that

tawny ore
#

I think it's funny that "yaml is a superset of json" is a thing because shouldn't that mean valid json is also valid yaml, or am I misunderstanding the meaning of the word superset?

gentle rose
#

no, that's what it should imply imo

gentle rose
#

using the mathematical definition

#

(as in, I agree with you, superset implies all json is valid yaml)

#

I guess a more accurate term for what I assume it's supposed to mean is that "yaml's feature set is a superset of json's feature set?"

tawny ore
#

Copilot has some thoughts about that, not sure I agree

gentle rose
#

copilot once tried to gaslight me into believing in a made up grammatical rule

tawny ore
#

Yeah, Copilot is probably the worse LLM, but it's the one that's most readily available to me thanks to W11

gentle rose
#

oh wait, no, it was chatgpt KEK but I hate them all equally

#

I also don't get why microsoft chose to make a new copilot AI when their github AI has been called that for so long tbh

tawny ore
#

And why they didn't just stick with Cortana

gentle rose
gentle rose
hard fern
#

I guess so

#

but then why did they make copilot so bad

gentle rose
#

huh. @tawny ore I was wrong - JSON syntax is, literally, valid YAML. In fact, copilot seems to be wrong in the other direction - JSON within YAML does not need to be indented according to YAML rules

tawny ore
#

wtf

gentle rose
#

I'm so with you

#

but it's been a strict superset of json since 2009 apparently

#

and already contained most json syntax before they ever even heard about json???

tawny ore
#

Mind is blown

gray bear
#

yaml just sounds wrong

gentle rose
#

I refused to believe either the online parsers or wikipedia and went to the actual official YAML spec, and yup, strict superset. My mind is blown too.

#

also this spec is way more advanced/detailed than I thought, huh

tawny ore
#

So then what does that make toml

#

Toml is like what yaml could be if it didn't care about json

gentle rose
#

toml is like if ini files had a formal spec SDVpuffersquee from what I can tell

#

it doesn't seem to use - so I don't think it's a subset of yaml SDVpufferthinkblob

tawny ore
#

toml claims to prioritize human readibility, but toml/yaml/json all are written for human readibility

#

Toml has more strict data structures than yaml

gentle rose
#

ig by reducing symbol-based syntax? so it is more "naturally" readable? though once you get used to code, having those symbols actually makes things way more readable imo

blissful panther
#

My brain likes help with reading things sometimes, damn it. SDVkrobusgiggle

tawny ore
#

I mean, machines DGAF about the readability of serialized data structures. sqlite or other binary formats are what I'd consider to be the non-human readible alternative.

gentle rose
#

yeah, I guess they mean that other human-readable languages haven't prioritised humans enough (in favour of being able to explicitly describe more complex concepts)

tiny zealot
#

human-readable data format scorecard (#programmers-off-topic, anyone?)

  • json: okay
  • toml: sure
  • yaml: -100 points for starting with "yet another"
  • xml: jail! jail for mother for 1000 years!
gentle rose
#

C and python are both technically human-readable but you need a lot less programming knowledge to be able to read python than C (as long as the person writing the code isn't too far gone into the Zen of Python, in which case it's a lost cause)

tiny zealot
#

if the author has drunk the python sauce, then abandon all hope and cast your computer into the ocean

faint ingot
#

Is there a way to give my custom tree a 'friendly' name for mods like UI info suite / Lookup Anything? I don't see a name field in Data/WildTrees

brittle pasture
#

there is indeed no name field
that means UI Info Suite has to hardcode all the names

lucid iron
#

FNAF should be a fish mod

brittle pasture
#

apparently the next version of UIIS2 may add something for modders to supply the display name on their side

faint ingot
#

OK good to know

lucid iron
#

FNAF Not A Fish

gray bear
#

wouldn't that be naf

lucid iron
#

FNAF's Not A Fish

#

There

hard fern
#

What does f in fnaf

#

Or is it just fnaf again

gray bear
#

freddy

#

no,,, it's five

hard fern
#

Freddy...

gray bear
faint ingot
#

I think they turned out suitably creepy with no leaves on in winter although they're a bit washed out against the snow on the ground

gray bear
#

i,,, cannot focus on that image

#

hurt

faint ingot
#

there's also a fog effect

lucid iron
#

Yeah uh i probably made the color too white in my example

tribal ore
# rigid musk I think just tags

Won't tagging a mod with "Translation Files" mean that it gets set as a translation mod though? I know that a lot of users auto-filter Nexus to exclude those from results

faint ingot
#

it's not the final version though I'll tweak it some

gray bear
#

the trees look fine the snow just flashbangs me

rigid musk
tribal ore
#

Alright. Looks like I'll have to experiment and see. I would love for the included translations to just... show up nicely with their icons

vivid basin
#

Does anybody know if there is a mod that recolors default farm buildings to common palettes?

#

I'm using Starblue, but the buildings stay in default palette, unless I install building mod with recolor support like Elle's

lucid comet
#

this channel if for mod creation (and all the challenges that come with that) SDVpuffersquee

vivid basin
#

I'll head there in a sec, but I also have a question, because I've tried to recolor the missing sprites myself and I was wondering if there is some easy way to that

gentle rose
gray bear
#

feesh u say?

vivid basin
hard fern
#

I hope the fish dont get a little quirky at night

calm nebula
#

Anyways: mod idea: cat uses cat tree

tiny zealot
lucid iron
#

Lina has a specialized recolor tool

#

But it's more for bulk usage once you have the palettes

vivid basin
fast shore
#

Alright, I've tried to add an extra upgrade to the axe, but it doesn't fully work.
Everything, except for the UpgradeFrom seems to work. The name and description are correct, the sprite (which is just the steel axe as a placeholder) is correct and the ConventionalUpgradeFrom seems to work too.
Can someone please explain why the UpgradeFrom doesn't work? I don't have any errors.
code: https://sourceb.in/lSzS1IDLdH

blissful panther
calm nebula
#

I believe if you have conventional upgrade from set you can't use upgrade from

fast shore
#

oooh

#

that might be possible

#

yeah

#

that seems very logical, sometimes it's just those small things that I can't sniff out on my own

calm nebula
#

Another thing is that you really should be using the asset requested events

#

Instead of editing tool data directly

rancid musk
#

Well this is silly. From Game1.stats.checkForCraftingAchievements() cs foreach (string s in recipes.Keys) { if (!(s == "Wedding Ring") && Game1.player.craftingRecipes.TryGetValue(s, out var timesCrafted)) { numberOfItemsCrafted += timesCrafted; if (Game1.player.craftingRecipes[s] > 0) { numberOfRecipesMade++; } } }

#

Let's just perform an extra dictionary lookup when we literally just got the value.

fast shore
#

but it seems to work now

#

the only problem is that the item id (0)896 seems to be wrong

#

it says Error item

rancid musk
#

If you're not using asset events, then it doesn't actually work it just accidentially worked in a very specific set of circumstances.

#

As soon as someone does something to cause an asset to reload, if you're not using asset events then your stuff is just broken.

tiny zealot
#

it looks to me like you'll get another copy each morning, too, running in DayStarted with no guards

calm nebula
#

(The smapi docs are really not that long)

#

(There aren't actually that many events)

calm nebula
#

It's short for "object"

faint ingot
#

can you define CP dynamic tokens inside an include file?

lucid iron
#

No

fast shore
fast shore
craggy cape
#

trying to replace the butterfly hut texture, im just confused on how to code it though since the sprite on the 16x16 grid is bigger than what im familiar with 😭

brittle pasture
#

instead of replacing a 16x16 texture, replace 48x32 or whatevs the size is

craggy cape
#

ight

#

ugh i cant find the correct grid placement

valid folio
#

Hi, how is everyone? I don't quite understand this error, does anyone here get it? I'm the one who did the translation, but I don't understand what the problem is.

#

If I delete everything and put the original code back, I don't get that error.

craggy cape
#

48x32 grid looks like this SDVpufferwaaah

lucid iron
#

It's 32x48 then

#

In editimage you can give exactly from area and to area

craggy cape
#

even if the grid in tiled looks like this?

brittle pasture
#

perhaps it's time you think outside the grid

lucid iron
#

Why are you in tiled

craggy cape
#

so i can get the exact area numbers to replace the furniture...

lucid iron
#

Is this supposed to go on a map think

#

Anyways the to area stuff let u put x y width height

#

There's no tile grid constraint

craggy cape
#

i used tiled to get the numbers, thats how i did it with the goldfish retexture

#

those were 16x16 sprites tho

lucid iron
#

Please use something like gimp

craggy cape
#

man i remember downloading gimp and my computer not letting it install lmfao, that was years ago though. im downloading it again rn

#

smth to do with the storage iirc for it not being able to install

ornate trellis
#

the furniture fit inot the 16x16 grid, that wouldve been much easier for you to find the right x y

stark spindle
#

Hey all, I made a new sprite sheet for a preexisting character and I want to used it for 1 scene in an event. Can I just add to that character or is it the equivalent of making a new character?

acoustic summit
#

If its a sprite sheet I'd add the sprite sheet and then add it as a temporary actor in the event. If you need them to talk you can still spawn the real character out of frame and have them talk. You mentioned its only for 1 scene in the event, so if you need the basic one back you can just use warp to switch the character and the temp actor when needed.

That's how I'd do it anyhow 🙂

uncut viper
hallow prism
#

note that this will not be compatible with mods changing the character appearance

#

they can add compat later if they are interested

#

but this may be worth mentioning

tidal stone
#

if i erase something off the tilesheet will it just be deleted or will it be ignored by whatever im recoloring so i can replace it with something else 🤔 iuf not ill suffer through all the patches 😔 i was just curious

valid folio
candid stratus
#

So I've been looking into data-storage. I have "levels" that you can play. They're 1-day levels so it will never have to be saved. Is it best to just initialise a data class and initialise/store it in the modentry or do y'all reckon that's bad

#

I could also just make a static class I suppose

gentle rose
#

if you never need to actually save them, then I don't see why it's terrible ig?

candid stratus
#

I don't think it'll ever be terrible cause it's barely any data anyway, but maybe you guys have a usual way of doing this

rigid oriole
#

Do you need it to persist between saves?

candid stratus
#

nop

rigid oriole
#

Can store it in player moddata

uncut viper
#

if its just temporary and not serialized anyway i usually dont really care and just do whats easiest
if i do need to store something for next time/next play session i chuck that info in mod data and read it on initialization

candid stratus
#

All levels are within 1 day and have to be reset every time it's started so it's all not persistent anyway

uncut viper
#

but if everything in the level can be created on the fly then id treat it the same way i treat custom menus

candid stratus
#

The only thing I have to save is whether it's completed, which I'll just store in the savedata

uncut viper
#

which is just a class that gets initialized

valid folio
uncut viper
#

you should only be translating things in the i18n files

raven mirage
#

Hello. I'm trying to do a farm map, with CP i did fish areas with fishes that work just fine, but dump question - there is an extra cave on this farm (new location) with a little pond, is there a way to do it as a fish area too? I've tried to add the location name at "TargetField" - didn`t work, i did it wrong or it simply impossible to do?

cedar turtle
#

Is there any specific version I should add when doing a CP/AT mod?

#

As "MinimumVersion" I mean

calm nebula
#

No

#

In general you can ignore that as a content pack

uncut viper
#

not unless your mod specifically requires a feature only available in the latest versions, b ut usually you dont need to bother

#

assuming you mean the dependencies

calm nebula
#

I go the other way on that on c# mods btw

#

Where i fill in the version of smapi and the game i compile against

cedar turtle
#

I see, I see.

uncut viper
#

different from MinimumVersion though, MinimumVersion is just for the dependencies

cedar turtle
#

So I can just remove that line entirely? Or leave it empty?

uncut viper
#

you can probably remove it, the only significant change i can remember in CP recently is localtokens

#

if you're gonna use localtokens you should specify imo

#

idk anything about AT though

cedar turtle
#

not really no.

#

Just scarecrow textures

uncut viper
#

yeah you can just ignore it then

#

unless you're worried about people using like, Content Patcher v1.1.0 or smth

rancid musk
#

Meanwhile in messing around with Better Crafting...

lucid iron
#

You shop menu it...

rancid musk
#

This is a custom crafting station with a new DisplayAsShop value set to true

rigid musk
uncut viper
#

well unless you're using new features or bug fixes, an older version will either work fine, or Content Patcher itself wont even load bc its incompatible wiht 1.6/1.6.9+

#

so they wouldnt be coming to you either way

rigid musk
#

It generally makes it easier for me to be able to use newer features if I need/want to without worrying about someone having an 'older' version if I decide to heh

lucid iron
#

For content patcher specifically the Format field serves this purpose already

uncut viper
#

and if you're updating the format bc you need smth in the latest version, then you can always add the minimumversion when that happens

rigid musk
#

tbh_blinking I swear I learn something new every time I'm in this channel

#

Now that I think about it I think that is the number I change I can't remember if I have a 'minimum version' for CP or not pondering

uncut viper
#

i think to a point it is probably technically better to not specify a minimumversion if you dont actually need it, bc there are some situations where the latest version might actually be incompatible with another users system

#

so you'd then be locking them out of your mod for no good reason

#

i went to go see if it mightve happened before, and CP 2.4.1 "fixed the previous update being broken on Linux/macOS"
so if you'd set the minimum version to 2.4.0, but you really didnt need it and could get away with anything 2.0.0+, then Linux/macOS users would be SOL for your mod

#

(2.4.1 came out very very shortly after 2.4.0 anyway, but the point remains)

cedar turtle
#

I think you ony really need minimumAPI?
Or is even that optional

uncut viper
#

you dont need it

grim urchin
#

Hi! a little nervous as I am brand new to making a mod and I am not quite sure where to start as all of the video guides are outdated for 1.6 and I want to make a small village with a few NPCs in it and the stardew wiki is a bit confusing and I am not sure if I should be using C# or just content patcher. I am sorry in advance and thank you for any help pepesob

uncut viper
#

im pretty sure the only actual required things in a manifest.json are UniqueID and Name

#

and EntryDLL/ContentPackFor

#

i remember testing at one point how little i could get away with and the answer was surprisingly little

cedar turtle
#

I see. I see. Jolteon_Notes

grim urchin
#

I understand what a manifest.json is and what goes into that file but I am not sure what an entry DLL is and what goes into that

calm nebula
#

Start with cp

cedar turtle
#

I have no idea what that is either

#

(which is why I stick to retextures for now)

gaunt orbit
#

EntryDll is only for c# mods. If you don't want to use c#, don't put it in. Only do ContentPackFor, and set it to the id of the framework your content pack is for

#

Whether or not you'll need c#, and what framework(s) you end up using will be determined by what kind of mod you're trying to make

grim urchin
#

I have a few NPC ideas and I want to make a small map for them to live in

gaunt orbit
#

In the case of a small expansion, you should be able to do everything with just Content Patcher

grim urchin
#

I already have a friend that is going to do the art for the portraits for me but it would be an entirely seperate map because I don't want it to have compat issues with other major expansion mods

#

I don't mind learning how to use C#, I just wanted to know which direction I should be focusing my research on

fast shore
#

Alright, I'm currently working on a mod that adds a fishing rod with multiple bait slots and I've been looking at the code and think that the only possibility to fully achieve this is by actually slightly editing the code of the game. Is this a moment that I should start using Harmonize? Are there any better or safer alternatives out there?
Maybe I'm completely wrong on thinking that I should edit the game's code, pls correct me if I'm wrong at anytime 🙂

#

Harmony* not Harmonize

gaunt orbit
#

C# also works but content patcher will be easier and more future-proof

grim urchin
#

Alright

#

Thank you

gaunt orbit
#

You may also find this useful
[[Modding:Index]]

grim urchin
#

I'm sorry if any of these questions seem really noobish, I have alot of ideas in my brain and wanted to take a crack at the process but I was like confused where do I start?

gaunt orbit
#

No worries! That's what the channel is for

valid folio
fast shore
#

maybe it will be fun 🙂

#

but figuring out how to use Harmony might be a bit of a pain

grim urchin
#

Okay so I make the manifest.json, the assets folder, i'm assuming a characters folder that includes all the sprite art and portrait art and their dialogue?

gaunt orbit
#

It's pretty straightforward until you get into transpilers, though from the sound of it, you will need transpilers

gaunt orbit
grim urchin
#

Alright, and when would things like tilesheets come into play? I notice some mods use things like lumisteria tile sheets and things like that

gaunt orbit
#

Content patcher has its own docs, which are linked on the mod page. I recommend having a look through those

grim urchin
#

Alright, sorry emoji_39 I know this is alot of questions

gaunt orbit
#

If you want to add your own custom tilesheet(s), you'll need to do Load patches to provide them to the game

grim urchin
#

Okay kleenotes thank you

gaunt orbit
#

The way people usually do map editing is to have a separate "workspace" folder where they edit the maps, and then copy the map files into their mod folder

#

Mostly because it lets you have access to tilesheets while editing, but makes sure you don't distribute other people's art with your mod

grim urchin
#

So would I be able to use something like Tiled to make the map? I saw that the modder for DTZ used that in their video but that video was a few years old so I wasn't sure if 1.6 would bomb it to the ground or not

gaunt orbit
#

Yes, use Tiled

fast shore
#

oooh, I understand it now, I didn't know the word transpile (not a native English speaker). You didn't mean the in-game location, but changing every piece of code that 'touches' bait.
Yeah, I guess that that's the path I've taken

gaunt orbit
#

!unpack if you haven't already

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!

fast shore
#

Are there more big mod sites apart from Nexus? Cause I'm shocked at the low quantity of unique mods

gaunt orbit
fast shore
#

(maybe I just suck at searching for them tho)

gaunt orbit
#

Moddrop to an extent, though it's not as popular as it used to be

grim urchin
#

doesn't github have some stuff too?

gaunt orbit
#

Github has a lot of stuff but it's not really a distribution platform

grim urchin
#

Ah okay okay

gaunt orbit
#

Github mainly hosts code, and sometimes people will also upload releases alongside that, but mostly as a mirror to nexus since github is not browsable

grim urchin
#

Ah okay that makes sense

fast shore
grim urchin
gaunt orbit
# grim urchin Would you mind clarifying what you mean by this

Tiled needs pngs so you can see what a map looks like while you're making it. Those pngs also need to be on the same folder as the map file.

You don't want to include tilesheets from the base game or other mods when you upload your mod, though. It can break recolors, bloat file sizes, and may count as art theft / mod piracy depending on the author's permissions or license.

So, to have the pngs while editing the maps, but NOT in your mod zip, the easiest way is to just have separate folders and copy just the map files.

candid stratus
#

So I've made an animation in Tiled but I have to make sure that the animation actually starts when you get there. Is there any way of doing this or did I waste my time

#

Is it based on system time?

gaunt orbit
#

Animations in maps run all the time in infinite loops. There's no way to control them. What you want are Temporary Animated Sprites, which can be created in events with event commands, or added as machine effects, but otherwise require c#

brittle ledge
grim urchin
grim urchin
#

Hey tiakall! fancy seeing you here!

fast shore
#

I've looked at things like more tools, but there are none

#

maybe cuz the game doesn't need them

#

that'd defo explain it

tender bloom
#

Nope its cause its super annoying

#

Well, there are some mods

#

Such as Dwarvish Mattock

gaunt orbit
tender bloom
#

I’m not sure it still works

#

Shovel mod (broken p sure, maybe updated)

gaunt orbit
#

Custom tools in 1.5 was basically not a thing

tender bloom
#

Shovel!

#

But it took the brilliance and tenacity of Atra to get that one done 😛

fast shore
gaunt orbit
#

AT as well

tender bloom
#

Ah yes, that one was moddata on a milk pail right?

gaunt orbit
# fast shore Ooooh

A lot of custom content that is possible now was either very difficult or literally impossible in 1.5, so it's taking time for people to really start digging into everything that's available now

calm nebula
#

(Custom tools were perfectly possible on 1.5.6)

fast shore
#

I'm relatively new to the game, only played a little bit before 1.6, let alone modding

grim urchin
#

I believe it was tiakall that told me it was VERY hard to break stuff in 1.6 and very easy to mod 1.6

calm nebula
#

(Shhhhhh)

tender bloom
#

Farmer animations when using a tool are a HUGE pain

#

Farmer animations are cursed

fast shore
#

I'm very scared of everything that has to do with art

brittle pasture
calm nebula
#

Farmer animations with a tool are still cursed btw

gaunt orbit
#

For example, there are currently no mods that add a new builder (like robin or rasmodious) but it would only require a small amount of c# to do so

grim urchin
#

I have been playing stardew for YEARS and learned maybe 3 years ago you could mod it

calm nebula
#

But it doesn't matter if you don't do custom animations

brittle pasture
calm nebula
#

Anyways

#

The other question is more....what can you do that is interesting with a new tool

fast shore
#

yeah, the only reason that I was interested in it was to look at the code 😂

#

but turns out all of those things use Harmony

gaunt orbit
#

You can use spacecore now

#

Just do a subclass and add it to tool data

grim urchin
#

So how do you know if your mod would need something like spacecore or mod plugins or things of that nature

brittle pasture
#

if you need a feature from one of them

fast shore
#

You can't edit existing tools with spacecore right? Only add new things

calm nebula
#

(I've made jokes about aluminum tools, or breakable tools, etc)

gaunt orbit
#

Depends on what you're editing

calm nebula
#

Again, getting the stupid shovel into the game was the easy part

#

Getting shovel behavior to feel right was the hard part

gaunt orbit
#

If it's in tool data, you can edit it with cp. Changing mechanics needs harmony

gaunt orbit
fast shore
#

and when would spacecore be useful?

tender bloom
#

Breakable glasses

brittle pasture
# fast shore and when would spacecore be useful?

Not anything directly related to custom tools (1.6 supports that now), but if you're using a custom class for your tool SpaceCore allows you to serialize that class to the save safely via its serializer features

#

if you can do your tool functions purely via harmony patches to the generic tool classes (instead of a subclass) SC isn't necessary

fast shore
#

so it's mostly for classes that extend native SV classes?

brittle pasture
#

yes

fast shore
#

and for entirely new classes?

brittle pasture
#

that too
but if you want a custom tool you'd need to subclass GenericTool

fast shore
#

I understand, I'm just trying to get the grasp of things in general

calm nebula
#

(The important part is that you need to handle serialization if your class can possibly hit the serializer)

#

(Spacecore will handle it for you)

#

If your class will not hit the serializer (ex menus, critters) you can avoid it

fast shore
#

How would you add a new class to the game?

uncut viper
#

theres also the option of the snorlax method where if you can you can subclass/make a new class of something and just replace it with something ordinary right before saving, and then replace it again with your modded tool when the save loads

fast shore
#

no CP, Harmony or spacecore

brittle pasture
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.

fast shore
#

or isn't that possible?

uncut viper
#

well thats just C# then

fast shore
#

but how would it be applied to the game?

#

oooh

calm nebula
#

(This is one reason why I say unity experience does not translate)

fast shore
#

you can access like every property in the game files

uncut viper
#

you dont add a random class "to" anything

#

you just make a class

#

its in your mod

#

do whatever you want

fast shore
#

I'm just very new to modding

candid stratus
lucid iron
#

I have some example spaget for that

#

This is creating a tas

ivory plume
# fast shore How would you add a new class to the game?

It depends what you mean by that:

  • Your entire mod (including all classes you define) get loaded into the game's assembly context, so they can interact directly with the game. So if you just want to run code in-game, you don't need to do anything special.
  • However adding custom class instances to the world (e.g. a custom item subclass) is tricky, because the save serializer only allows whitelisted types. There's ways to do it (e.g. using SpaceCore), but usually it's better to run code in-game without adding custom types to the actual world.
lucid iron
#

And this framework feature was the thing i attempted to convince u into using the other day kyuuchan_run

candid stratus
#

yeah I figured I'd just try the easy option first

#

clearly without thinking about the timing aspect of it..

lucid iron
#

What is the exact kind of timing you wanted here?

#

Atm i only made "start when player enters the location"

candid stratus
#

Well you're reading notes in an underground tunnel system you're trapped in about someone in the same shoes that was slowly going insane, and as soon as you're done reading the notes, the room starts shaking tv-static wise becoming stronger as the kid from the notes shows up through the floor

lucid iron
#

A trigger action then i can do that

#

Will give u a test build in a few hrs Dokkan

#

But another option is to make event script

#

Spacecore has an option to launch a event with trigger action, then you can do the event flavor of temporary animated sprite

grim urchin
#

Okay I dunno what I am doing wrong, I unzipped the xnbhack thing into my stardew valley folder and it keeps giving me an "Oops!" message

candid stratus
#

you dont have to put in too much effort for me, I'm just not making a lot of progress as I only have like 1-2 hours a day to work on this and it can be a bit much

lucid iron
#

Well i made the general "put tas on map" feature already, having it accessible via a trigger is logical next step

#

I wonder if this is a dynamic map tiles feature too 3sSmolMiku

#

Trigger actions r a new 1.6 thing tho perhaps not

calm nebula
#

So when can I talk one of you guys into taking over Shovel SDVkrobusgiggle

#

(You're free to but honestly ||the mod isn't that good anyways||)

lucid iron
#

My personal rule is i never touch farmer renderer ever bye

hallow prism
#

(well it's a concept some players still want so this is subjective)

uncut viper
#

i think chu just meant they dont want to have to deal with the mess that is farmer renderer SDVpuffersquee

#

bc it is a mess

hallow prism
#

i meant about atra spoiler

#

to clarify

uncut viper
#

ahh

#

ill be honest, i still dont know what shovel even did

#

i just hear atra mention it from time to time

hallow prism
#

but indeed i should use discord reply feature more

#

you could obtain giant crops to move them around and i believe some other similar stuff

calm nebula
#

The point of the mod was to turn a bunch of things (giant crops, resource clumps, etc) into decorative items

sour sleet
#

If I wish to have a special requests board in my custom town, can I do that with CP?

calm nebula
#

Try emp

hallow prism
#

yes

#

(in case you don't know what EMP stands for)

sour sleet
#

Ooo I will look into that, thanks

grim urchin
#

PROGRESS, I have unpacked the content

vivid cove
#

Any audio folk floating around? 😄

rancid musk
#

This is live now, in Better Crafting version 2.18.0. Want to make a custom shop in a slightly different way than the vanilla shop system? Make a custom crafting station, and flag it to display as a shop. It's the same Better Crafting menu under the surface, with the same recipe and data recipe support, mod integrations, support for drawing items from remote chests, and other such features. But now it looks like a shop. When in shop mode, it also prevents the "times crafted" values from incrementing and crafting related quests from updating (though those are both configurable).

lucid iron
#

Shard thingy DokkanStare

#

So can you spawn this with tile action then

hard fern
#

SDVpuffersweats i got randomly in the mood to make custom music for my mod so i cranked out a half finished piece of sheet music and now im going to (??) imagine dialogue in my head. Modding is complicated

rancid musk
#

Yeah, a trigger or tile action can open the menu to your custom crafting station, and it'll just happen to look more like a shop and behave a little differently.

vivid cove
#

I read that as "Imagine Dragons", now im expecting a dan reynolds cameo

rough lintel
#

hm. is it possible to make... a letter event where the player can respond to the letter as if theyre replying to a quickquestion?

lucid iron
#

not with normal things but it might be mail framework mod feature?

#

if that has a on letter close trigger NotteThink

calm nebula
#

I thought mfm had a player response feature

little anvil
#

Hey! If I’m to add new mail in the game, can I just add new mail with the code, or do I have to edit the actual mail file in the game and add it to my own file ? I’m so sorry if my wording is confusing but idk how to explain it. Is it also possible to add new mail letters with Content Patcher ?

lucid iron
#

yea new in 1.18.0 looks like

#

"ReplyConfig": { // If you want the player to send a reply after reading the letter. It will show the reply options that will add one or more "ReceivedMail" based on the player answer. Any additional logic related to the reply needs to be implemented based on the ReceivedMail added.

lucid iron
little anvil
#

I can just make my file with just the new entries

#

Or is that not it

lucid iron
#

are you in content patcher or C#?

little anvil
#

For this

lucid iron
#

you do an editdata targeting Data/mail to add your mail

#

and then you need to send the mail with a trigger action or similar

little anvil
#

Cuz my words are not wording today

lucid iron
#

i feel like understood what you meant think

#

you want to

  1. add a custom mail
  2. send it to the player at some point
#

both of these things can be done by content patcher yep

little anvil
#

I was asking another question relating to that lol

lucid iron
#

do not Load over Data/mail, thats very bad

lucid iron
#

you dont have to ping me when im still here

little anvil
#

I’m sorry SDVpufferwaaah

#

But ya ya, tysm for helping me

#

I appreciate it

little anvil
ivory plume
#

(I'm experimenting with a new setSkipGoTo event command to jump to a specific point in the event script when the player clicks 'skip'. It's meant to perform cleanup before the event ends, but technically you can jump to any point in the event script.

edit: see not-broken-by-Discord version.)

lucid iron
#

your gif really shrunk in the wash bolbphase

ivory plume
#

Discord is... not great at GIF optimizing.

lucid iron
#

hm it is borked in browser for me too, mysterious

gentle rose
#

idk, I like the vibe, I think you should implement it exactly like this

ivory plume
lucid iron
#

how did u painting the ground is this a new feature

ivory plume
#

(I hacked the game code to disable placement restrictions.)

reef kiln
#

Or you can do the Pathos way

lucid iron
#

menancing event DokkanStare

#

although, i wonder if this feature could help with proper event replay

green patrol
#

question about setting gift tastes for pre-existing nps:

So I see on the wiki (https://stardewmodding.wiki.gg/wiki/Context_Tags), that context tags can be used to set gift tastes. Is this possible with using content patcher?

This is my current file for gifttastes: https://smapi.io/json/none/beef54dcec6048aaa2eb9e9882a0f3f2. I have like, 150+ items with the tag "sodamaker_item" in my objects file and Jas loves them all so uh...yeah am trying to see if it's possible to not have to list all of them individually

gentle rose
#

I'd imagine it could also help as a kind of "skip to the point" feature, where instead of skipping an entire event you can skip to the question/the important part

brittle pasture
calm nebula
#

Clearly there needs to be a goto label <gsq>

green patrol
#

but I would just list it like I would an item ids?

calm nebula
#

And goto_end_if_skipped

gentle rose
#

there's a non-gsq goto coming in 1.6.16

calm nebula
#

You jump only if the gsq is true

#

Pls

gentle rose
#

ohhh, I see I see

calm nebula
#

I want a beq

ivory plume
#

(goto [<label> [condition]]+ already exists in the next version!)

lucid iron
#

now we can make for loops

rough lintel
gentle rose
#

-# pssst fixed discord-friendly gif btw

lucid iron
#

with increment stat

reef kiln
#

Is this so you can skip events and still get the items, friendship, ect

brittle pasture
#

I think that's already possible with an existing command

#

this is for selectively skipping parts

reef kiln
#

What command? I always use the button and I don't get the rewards.

gentle rose
# lucid iron now we can make for loops

we can have the player feed in two finite but arbitrarily long tapes of symbols over an alphabet and move the pointer, rewrite the symbol on tape and change the current state according to a state diagram...

-# yes I still want to make an event-based universal turing machine

calm nebula
#

Event promises SDVkrobusgiggle

brittle pasture
gentle rose
#

as in, it's an event command authors can write in, not a console command users can use

brittle pasture
#

yeah it's up to the author to add them
in vanilla it's used a couple times, like to ensure you still get the garden pot recipe even if you slam the door on granny Evelyn's face (metaphorically) (actually, correction: this is hardcoded, the event command just allows you to not hardcode it in your modded events)

calm nebula
#

(Set skip action: -
friendship Evelyn 1000)

rough lintel
#

anyone know the sound for when you pick up the phone off the top of your head

calm nebula
#

"Who the fuck dares call me."

rough lintel
#

ok yes but also

lucid iron
#

moshimoshi

vivid cove
#

how did the phone get on top of my head

lucid iron
#

openBox maybe?

rough lintel
#

its that sound when you press a switch or something

#

oh oh maybe it is openbox

#

ill note that

vivid cove
#

listen ive got a passion for game audio and also spreadsheets, if there is ever call for an audio asset list with use cases and so on I'd be happy to take a crack at it 😄

calm nebula
#

There is a spreadsheet linked from the wiki

vivid cove
#

I can't say I'm surprised hahaha

calm nebula
#

Speaking of audio are you interested in making the stardew audio engine thread safe?

odd ginkgo
#

weird question, you know that giant turtle that blocks the path on Ginger Island? where does it love in the tilesheets? I've been trying to find its sprite

#

it's not with the other island stuff, or on cursors

lucid iron
#

cursors2

odd ginkgo
#

cursors2!! dang haha i was so close

lucid iron
#

now with 20% more turtle

odd ginkgo
#

ty

lucid iron
#

incidentally whotf is this

lucid iron
lucid iron
#

resource ofc good too

#

but i think someone's updated the wiki list for 1.6

hard fern
calm nebula
#

You said you had a passion for game audio!

vivid cove
#

this is true! why not haha

rigid oriole
reef kiln
dusk mulch
#

ive gotten this far in making my mod but i am losing motivation to continue because of how confusing the IMinigame is

sour sleet
#

Ok, so I've made my custom special orders board and I can interact with it. Only issue is, it displays this:

hard fern
#

Did tou le temps me

#

W... Ignore the french

#

I messed up

#

*did you mess up the i18n

#

Like not putting the key in properly

sour sleet
#

I don't think so? I will double check

#

I've changed a few names (shortened them) and it no longer says no translation. But how do I fix this?

brittle pasture
#

you need to load a string to Strings/SpecialOrderStrings
something like "{{ModId}}_OrderName" : "{{i18n:Something}}"

#

then you put [{{ModId}}_OrderName] as the name

#

wait

sour sleet
#

I've used EditData to Strings/SpecialOrderStrings and added it. I don't know what I missed

brittle pasture
#

i18n should just work

#

dont use square brackets

sour sleet
#

Oh it says on the wiki to use brackets

calm nebula
#

I think you use square brackets

sour sleet
#

I'm using square ones rn

brittle pasture
#

you use square brackets if you want to load from Strings/SpecialOrderStrings

#

if you don't it just uses the string as is

#

tldr pls post your json

sour sleet
#

I'm editing 3 json files. Special orders, special order strings, and the i18n

#

Which ones do you need?

brittle pasture
#

special order

#

ideally all 3

sour sleet
#

OK, do you mind if I dm them to you?

brittle pasture
sour sleet
#

I always use smapi.io, it's just I'd like it to remain private as it's for my expansion lol. No worries if not though, i can just put it here

brittle pasture
#

then if it makes you more comfortable dm is ok

cedar turtle
#

hm.. I want to give the rarecrows in CP config options. How do I address them? Just Rarecrow # because that's how they're called in game and this is basically for player understanding, as CP "knows" which is targeted due to coordinates?

uncut viper
#

what do you want the configs to do/change?

cedar turtle
#

different variants

#

Basically:
Here is n different textures for them, pick one, have fun

uncut viper
#

then for the displayname of the config option, you can put whatever you want/think would describe what the config is for best, as their actual usage will not be shown to the player

#

but you wont be able to show a visible preview

reef kiln
#

I dont remember, You can just download a CP pack that replaces them and see how they did it? That is how I checked.

uncut viper
#

when you make a config option you're basically making a custom token that you would then use in your Load actions to pick which .png to load, so the name of the config itself can be whatever

#

i think you might need to use the config i18n stuff to show an actual displayname though now that i think about it

#

but the idea is the same

cedar turtle
#

gotcha. So theoretically I could just name the config option for the alien rarecrow Hans and the game wouldn't throw a hissy fit.
Just that no user actually knows which Hans is lol

uncut viper
#

yeah, then you'd use {{Hans}} somewhere in your content.json and it'd be transformed into whatever the config value is

sour sleet
#

I'm testing a special order and it all works great up until dropping off the items at the "dropbox". It has a question mark above it so it is stated correctly, I'm just wondering if there's an extra step I need to take to get it to function

uncut viper
#

So if you had a config value called Hans and it had different AllowedValues, say Variant1 through Variant5, then somewhere in your content.json, it mighjt look like this:

"Action": "Load",
"Target": "Your Target idk",
"FromFile": "assets/Hans_{{Hans}}.png"