#making-mods-general

1 messages · Page 351 of 1

uncut viper
#

i think I learned hardly any (if any?) networking stuff that wasn't very high level

#

as a self learner you could also obv avoid it entirely as long as you're not making anything that uses some sort of public api

vernal crest
#

My computery degree that I started and then abandoned in favour of web design (terrible decision) had so much networking in it. So much!

uncut viper
#

it'd help with Stardew mods for sure though I think

vernal crest
#

The comp sci or networking?

uncut viper
#

comp sci

vernal crest
#

Oh whew I thought you were saying Stardew modding involves networking

calm nebula
#

I was about to say

uncut viper
#

it could if you wanted it to

vernal crest
#

I think we have established that I don't xD

#

I'm not sure where I could fit cs into my schedule though

wind basalt
#

Hello!!! Can i like add a sword and make it have effects (like for example: Crusader: +50% damage vs Mummies, Ghosts, Skeletons, and Void Spirits. Instantly kills Mummies) Only using Content Patcher or will I need to make a C# mod?

vernal crest
#

Ha that makes me sound so busy

vernal crest
wind basalt
#

aw

#

anywhere i can start from?

#

(complete beginner, only made a cp mod before that's all)

lucid iron
harsh bobcat
#

is 1.6.16 gonna be a thing?

lucid iron
#

Enchants get datafied

blissful panther
#

(Don't forget the absolutely zero known ETA for 1.6.16, though!)

lucid iron
#

The number is tentative but yeah it will exist one day

vernal crest
#

Will the enchantments stuff work for things like insta-killing mummies? I just looked at it and I thought it only adds effects like you can get from buffs

wind basalt
lucid iron
#

It would make it easier for me to make a framework

round dock
#

Chu may I poke you back again at room 404

lucid iron
#

Assuming convincing pathos to not lock down the class type works out

#

Just ping me claire AquaThumbsup

#

Anyways Rockette i would look at advance melee framework for now

#

You can do some enchants via that i believe

harsh bobcat
vernal crest
#

Yeah Pathos has said that 1.6.16 may be years away

lucid iron
#

!officialbug

ocean sailBOT
lucid iron
#

You can just report whenever on there

#

Pinging pathos also ok if you think it's a small change

harsh bobcat
#

when I was reporting bugs on earlier 1.6 versions I just dm'd them [with full code analysis and suggested code changes] to blade tbh

#

(he offered I could do that)

blissful panther
#

Pathos is pretty open on contact methods, yeah.

vernal crest
#

Who is blade

round timber
#

he is a youtuber/streamer

#

likes to poke in stardew’s code

vernal crest
#

Why would DMing him about bugs do anything?

lucid iron
#

Does blade work on sdv?

#

I'm sure they are knowledgeable I'm just confused

round timber
#

no he doesnt afaik

harsh bobcat
round timber
#

i guess he passed it along?

lucid iron
#

Well pathos right here so

#

Just poke or drop in official forum SDVpufferthumbsup

blissful panther
#

Might have been the beta server back before it was killed?

round timber
#

prob

harsh bobcat
#

(and I don't know pathos so I didn't feel like doing that)

round timber
#

pathos is chill blobnod

lucid iron
#

Okay well I'll ping on your behalf >:(

#

What are the bugs anyways im curious

vernal crest
#

Ahhh it's cold

blissful panther
#

(Can I just switch hemispheres every 6 months to constantly stay in the cold? That can't be too expensive, right? /j)

lucid iron
#

DecidedlyAlbatross

vernal crest
#

We can do a house swap DH

hard fern
#

im cold too 😔

crimson kettle
#

hello, what should i put in sound for custom animals so it won't show these error?

harsh bobcat
# lucid iron What are the bugs anyways im curious

for example, when you shake a tree and it creates a qi bean that Debris object's InitializeItem call doesn't actually convert the (O)890 string name into an Item of object 890 but instead leaves it as a string name. Then, _RecursiveRemoveThisNormalItemLocation only deletes Debris who have an Item of object 890, but since that tree qi bean Debris just has the string name but no Item attached it doesn't get removed

vernal crest
#

I've got my heated blanket now

harsh bobcat
#

one of the 2 methods I know to have qi beans after the quest

vernal crest
ocean sailBOT
#

JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.

If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.

When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.

finite ginkgo
round dock
#

Also I just realized, having dots in Dynamic Token names yields The token name should be alphanumeric with no special characters.

harsh bobcat
#

(the other method I know is an all purpose _PerformRemoveNormalItemFromWorldOvernight dodger that only works on multiplayer, and it allows you to keep calico eggs or ectoplasm or prismatic jelly etc)

lucid iron
crimson kettle
harsh bobcat
lucid iron
#

It would be nice to clean up the legacy item equal checks yeah

#

So do the beans stay even after sleep

harsh bobcat
#

why does Debris.InitializeItem not initialize the Item object when the type of the item is object anyway

harsh bobcat
lucid iron
#

Fascinating

harsh bobcat
#

and so yeah the idea is that those tree qi beans survive after the quest ends

harsh bobcat
#

(and it's only possible to have an item there in multiplayer)

harsh bobcat
#

why do things with type object not get Debris.item initialized in a function call for InitializeItem

#

there has to be some reason for it but I can't imagine why, since like if you drop an item then it will have this.item as the Item that thing you dropped was

lucid iron
#

In many cases it probably is just forgor LilyDerp

#

I remember debris having a code path where the item is created on collect tho, rather than on debris spawn

harsh bobcat
#

but I feel like it doesn't explain why you would not initialize the Item anyway

#

the multiplayer tent kit bug also hasn't been fixed [dm'd my bug report to pathos I guess]

#

(where if you leave a tent kit in multiplayer you stay in it)

crimson kettle
sleek aurora
#

I need to create a machine that will consume 2 types of fuel. The second type of fuel should be used only with certain objects. Is it possible to do this on CP without using PFM?

urban patrol
#

totally fair SDVpuffersquee this feels very much like a “doctor it hurts when i move my arm like this!” “then don’t move your arm like that” problem haha. i just wanted to make sure you were aware!

lucid iron
#

You can look at cornucopia's flavored mayo for examples

gaunt orbit
sleek aurora
#

I understood, thanks. I just use EMC, but I am not yet familiar with all the possibilities.

wind basalt
#

Can i like add the sword with CP then add the enchants with C#

lucid iron
#

Yeah you can

#

But you might as well do it all in C# actually

#

Have you tried following the basic C# mod guide?

wind basalt
#

it's very

#

vague

#

VERY

#

i mean sure yes i have logs of when i move

#

what now?

#

and youtube has like 0 tutorials, therefore i'm gonna have to be bothering you guys ehre

lucid iron
#

Logging your button presses you mean?

#

The purpose of the sample mod is more to get you to setup dev environment needed to build a sdv mod

#

Anyways after that point in C# you need to decide if literally only some weapons can have it, or if you want to let all weapons have it

#

To let all weapons have it you will need to put your enchant type into save serializer via spacecore and patch that one method in forge

wind basalt
#

so would you personally recommend that i make the sword using CP and use enchants?

lucid iron
#

Lastly you have to patch all the take damage code for your target monster types, to apply a multiplier based on having the effect

lucid iron
#

The ginger island forge

wind basalt
#

oh aight

lucid iron
#

Where you get enchantment

wind basalt
lucid iron
#

You asked to do it in C#

#

I never used advanced melee framework i only know it exists

#

You will have to refer to that mod's doc

#

I believe all of this gets quite a bit easier if enchants get datafied, but anyone's guess when that happens

wind basalt
#

yeah understood

wind basalt
#

i will only need the weapon name I added

#

right?

lucid iron
#

Look CP is just a C# mod that adds data

#

You can do data edits in C# directly

wind basalt
#

i don't think i'm advanced enough for that though

lucid iron
#

You want to check things via qualified item id generally

wind basalt
#

wouldn't it be easier to do it with CP?

#

i'm sorry if i'm like somewhat contradicting u

#

i'm just asking

lucid iron
#

No it's literally the same Dokkan

#

But lots of people do it mixed

tawny ore
#

Adding game data in C# is much easier than coding enchants

wind basalt
#

I'm doing both wdym

tawny ore
#

So if you're skilled enough to do the latter, then you would also be skilled enough to do the former

wind basalt
#

ok this is getting confusing

lucid iron
#

What im trying to express is not "you have to do it my way" but "there's no real difference"

wind basalt
#

And do you happen to have an example of C# added swords?

#

most mods use CP so it's hard to get an example

#

and when will there be modding youtubers?

lucid iron
#

This is the framework btw

#

And info on how to interact with data in c#

#

Like i think it's fine if you just add your sword in CP first

#

And just write down the id of sword for usage in C# part

#

But yeah this isn't a particularly easy flavor of mod to make kyuuchan_run

wind basalt
#

Alright so i'm less confused now

#

so with C# i will only need this framework

lucid iron
#

No

wind basalt
#

CP+C#?

#

😭

lucid iron
#

I feel like you aren't following me but honestly not your fault I'm talking about 2 things at once

wind basalt
tawny ore
#

If you use Advanced Melee Framework, you can probably just download the example pack and modify/customize it. That might be the easiest starting point.

wind basalt
#

ohhhh

lucid iron
#
  1. You can use CP to add a sword no problem, since CP is just a C# mod you can also do what CP does in your own mod up to you
  2. There exists a framework, advanced melee framework, that allows a degree of custom enchantments without C#. I believe this is a contentpackfor framework but i honestly don't know
  3. To add your own custom enchantments without any frameworks, you need to do the steps i described earlier: add new enchant class, serialize it to save, patch it into forge or otherwise give them to weapons somehow, implement the actual effects by checking existence of enchantment
#

I hope this clears it all up

wind basalt
#
  • Crusader: +50% damage vs Mummies, Ghosts, Skeletons, and Void Spirits. Instantly kills Mummies.
  • Vampiric: Heals 9% of damage dealt on kill.
lucid iron
#

No clue, please read the docs

#

I honestly don't recommend doing 3 as your first c# mod if you don't have prior programming language experience

#

And again im not trying to be mean here i literally know nothing about advanced melee framework beyond "it exists"

wind basalt
#

you're already doing me a huge favor by kind of removing these clouds blurring my vision

#

and thanks again

#

i'm gonna take a gamble and continue with AMF, it seems like It can do what I need

karmic gust
#

Where are the sprites for the tools located? I'm trying to find the fishing rods

#

Ignore me, I found them. Idk how I missed the file called tools

twilit quest
#

crashes in late with Starbucks Hi folks. I wondered if anyone knows: is it possible to make a When condition in Content Patcher that checks a MapProperty ?

flat sluice
twilit quest
# flat sluice Not sure if it exists, but out of curiosity, why do you want/need something like...

I want to change fruit trees to certain custom spring textures specifically inside greenhouses. I can do it in the farm greenhouse by using When: "LocationName": "Greenhouse", but I'd like it to work in modded greenhouse locations as well, such as Ridgeside's greenhouse. I'd like to check the MapProperty "IsGreenhouse" to do so, but I don't think MapProperties can be checked in this way, so I don't know if it's possible.

#

(I did try it, but it didn't work - but I might have the wrong syntax)

flat sluice
flat sluice
ocean sailBOT
#

JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.

If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.

When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.

twilit quest
#

Thank you!

flat sluice
twilit quest
#

I already scrapped that version; I'll see if I can dig it up. I did run it through the JSON checker; that's how I knew it wasn't valid

flat sluice
flat sluice
twilit quest
uncut viper
#

the json checker wouldn't tell you if a when condition was invalid because it's not a real condition, only if your syntax was messed up

tiny zealot
twilit quest
#

Instead of LocationName: Greenhouse, I want to do something like Has MapProperty IsGreenhouse

uncut viper
#

that said, there is no token for whether or not a map has the greenhouse property, so you can't do it from CP without hard coding location names

#

you can't

flat sluice
twilit quest
#

Darn

twilit quest
tiny zealot
#

a mod could provide a token for this, i imagine, in which case you'd need it as a dependency

uncut viper
#

putting in the location names for the greenhouses for the major expansions is easy enough at least

flat sluice
#

Well, sadly looks like it won't be 100% accurately possible in CP. Using C#, probably, but still I don't know how you would check for that.

twilit quest
#

I was hoping for a more one-size-fits-all solution, but this will work for now

uncut viper
#

it would be very easy in C#

twilit quest
#

If I could code in C#, I would just update the mod I'd commissioned to show all spring tree textures in the greenhouse XD;

flat sluice
#

But Button is right, adding main greenhouses would be the simpliest CP possibility

twilit quest
#

Thank you all for your help, @flat sluice , @uncut viper , and @tiny zealot

twilit quest
#

It will save me from bashing my head against the wall of something that's not possible

uncut viper
#

you could try using a query token to check whether the location names has "Greenhouse" in it which may help

lucid iron
#

I can toss it in some framework 4 u Dokkan

uncut viper
#

but ofc that only works if the internal id of those greenhouses uses the word

twilit quest
#

I really want to learn C#. I've gotten pretty decent with Content Patcher and Tiled and it feels like the natural next step. It's that initial hurdle of figuring out the structure and syntax that's got me mired ^_^;

uncut viper
#

could always combine it with the hard coded location names as well

twilit quest
flat sluice
lucid iron
#

That said if i do it

#

It's gonna be a custom field on Data/FruitTrees

#

Do you intend on doing tree for every kind of vanilla fruit tree?

#

I also think this is not a particularly bad feature to achieve so if you want to make this as baby's first C# mod we can help you

karmic gust
#

I had to make some custom tiles for this map, and I need to fix the lighting but I think it's coming together!

#

and no door issues this time!

lucid iron
#

Elliot bigger on inside shack DokkanStare

twilit quest
#

I have two separate ideas.

  1. I commissioned a mod pre-1.6 that caused ALL trees (including modded) to show their spring textures when in the greenhouse. This was a great mod and worked well, except for it didn't work with Alternative Textures (AT would still show summer textures). The mod maker never released it, and hasn't had time to update it post 1.6, so it no longer works. If I could code C#, I would want to learn to code one from the ground up that did this.

  2. Currently I'm working on a much simpler mod that simply replaces the textures of six of the vanilla fruit trees with custom spring textures when in the greenhouse. This is obviously a MUCH more limited mod and was mostly made for my own gratification. This is the one I was asking about.

karmic gust
#

Indeed! Not too big tho because I don't think he'd ever upgrade that much

#

Also, does the loveseat in the bottom right room go or is it too big for the space? I'm undecided

lucid iron
twilit quest
lucid iron
#

If you use this in conjunction with SeasonOverride you can achieve the same effect as 1

#

Idk about AT ofc

twilit quest
#

Oh neat, I must have missed that one.

flat sluice
lucid iron
#

MMAP also has a limited version of this (need a map property to enable)

#

I turn it off if u have this more general mod installed

twilit quest
#

I'm planning on using MMAP for another mod; it's time I start delving into that and see what's possible with it

lucid iron
#

Regarding 2 though i actually thought u just have a completely new greenhouse texture

#

Like they become purple when in greenhouse or something

uncut viper
#

if something isnt possible with MMAP but it seems like itd oughta be just ping chu and theyll add it probably

lucid iron
#

NoU (it's true)

twilit quest
# lucid iron Like they become purple when in greenhouse or something

It is, they have flowers on them. It's a re-work of this mod (I've been working with Hisame and she liked the idea https://www.nexusmods.com/stardewvalley/mods/18800 )

Nexus Mods :: Stardew Valley

A mod that changes the vanilla textures of fruit, oak, and maple trees to a blooming version in spring while still maintaining the vanilla base so should fit in with the vanilla aesthetic. Upda

#

I made the new CP and AT versions of these, and I wanted them to show in the greenhouse, too

lucid iron
#

Ah but it's not entirely different from the 4 seasonals right

#

You simply wish to get something other than summer in greenhouse?

twilit quest
lucid iron
urban patrol
lucid iron
#

And it doesn't require any targeted edits cus it's not framework just tweak

twilit quest
#

Thank you! I missed that; I'll check it out

#

I really appreciate the recommendation!

urban patrol
#

got the hovertext to work, except now it's displaying the path instead of the text

tender bloom
#

have you patch exported the path?

#

to check that the string is there?

urban patrol
#

let me do that

#

patch export Strings/StringsFromCSFiles right?

#

hm yeah it's not being applied

uncut viper
#

seems like you didnt put the LocalizedText part in your tokenizable string

#

[LocalizedText Strings\StringsFromCSFiles.handwrittenhello.dbda_Map.001]

urban patrol
#

just one backslash, or two?

#

i copy pasted it from vanilla worldmap.json

uncut viper
#

two, one to escape the other

urban patrol
#

hmm no dice even with localizedtext

"Text": "\n [LocalizedText Strings\\StringsFromCSFiles:{{ModId}}_Map.001]\n [LocalizedText Strings\\StringsFromCSFiles:{{ModId}}_Map.002]\n ",

#

can it not be {{ModID}} or something?

light jasper
#

is ShopMenu#ShopId the same as the object key in Data/Shops?

uncut viper
#

are you sure you're allowed to use linebreaks there?

lucid iron
#

So just make sure to nullcheck tryget and all

urban patrol
light jasper
urban patrol
#

or at least i thought it was. i swear i copy pasted the line breaks from somewhere

lucid iron
#

I believe bookseller is ordinary shop yeah

light jasper
#

bet, thanks 🙂
I'd test but I'm not actually in a state to be able to launch the game lmao too many compile errors

urban patrol
#
            "Id": "Saloon",
            "Text": "\n                  [LocalizedText Strings\\StringsFromCSFiles:MapPage.cs.11083]\n                  [LocalizedText Strings\\StringsFromCSFiles:MapPage.cs.11084]\n                ",```
light jasper
#

so thanks for answering the dumb question lol

urban patrol
#

however it must be my patch to StringsFromCSFiles, because i can't find my text anywhere in the export

uncut viper
#

never included it, i imagine

urban patrol
#

man i'm about to feel real dumb

#

yep no include

uncut viper
#

if it helps you feel less dumb, most people dont even think to check the export

#

(not that id say theyre dumb either)

urban patrol
#

don't worry, i get what you mean haha

#

but i've gotta go make lunch so i'll drop that here and be back later

bold kindle
#

Hi, I’m working on a custom NPC and looking for advice on how to build their overall storyline.

#

I’ve noticed that a lot of custom NPCs are written with strong ties to the vanilla cast, which is really cool! But for my own project, I’m trying to avoid adding lore or backstory to the original characters, worry that inserting my own headcanon into them might feel intrusive or unwelcome to some players, so I’m aiming to keep my NPCs story more self-contained. Has anyone else felt this way?

blissful panther
#

You can definitely do that! The problem, if you want to call it that, is that it can make it feel like your NPC isn't really... there, if that makes sense?

#

If nobody acknowledges their existence, it can feel... odd.

calm nebula
#

(Just speaking personally, I often skip past npcs if they are like, super close to vanilla characters for the reason you say.)

#

Ie, vanilla npc's long lost daughter or smth

#

I think it's fine whatever you do

blissful panther
#

Yeah, a long lost child might be a little big of a change. SDVkrobusgiggle

urban patrol
#

i have definitely felt that way—i used haley being a mean girl for one of my events and it felt nerve wracking, even if i do think she would say that

#

i think you can strike a balance between completely disconnected and intrusive—maybe think of things they would bond/clash over? rather than relying on “this is so and so’s sister” for the connection

#

if your character likes to cook, they could get recipes from gus for example

lucid iron
#

If u want u can do a CT for certain vanilla characters to go "oh hey you hear about X"?

bold kindle
#

I'm planning a custom NPC who survives a shipwreck and ends up living near or with Willy.

lucid iron
#

Relatively non intrusive but bit better than not doing it at all

bold kindle
#

That means I’ll need to explore Willy's character more — maybe even invent some things like his parents or personal backstory. but honestly, that part really stresses me out.

urban patrol
#

what you can also do is say “screw the haters” and write what you want for willy—and if anyone has a problem with it, then they don’t have to download your mod

calm nebula
#

Yeah, that's fine

bold kindle
calm nebula
#

In a real way modding is fanfiction, you know?

bold kindle
gentle rose
#

(but ideally not in a writing structure way, because fanfiction and interactive mediums have big differences SDVpuffersquee)

urban patrol
#

going from writing fanfiction to writing heart events for my characters was a huge change to adjust to

blissful panther
#

Smart Building is my Haunted Chocolatier fanfiction. /j

gentle rose
#

(it is the same, however, in that you should make it primarily for you, whether it's because you want to play it or you enjoy making it)

gentle rose
bold kindle
gentle rose
urban patrol
#

although i just finished my heart events for my recent character yesterday haha

lucid iron
#

You can add one with a trigger action i believe, pls check wiki on that

#

Jorts and jean is a mod that has intro CT for the cats

calm nebula
#

I clearly meant content mods

pine elbow
#

hi

#

yall

blissful panther
# calm nebula Smh

(Actually sort of true, though! It all came about because of the store building mechanic from HC!)

gentle rose
#

in a way, c# mods are content mods for smapi

#

if you really really get technical with it SDVpuffersquee

uncut viper
#

not all C# mods add content though

urban patrol
#

welcome to my fanfiction, “how to add new trigger action actions”

gentle rose
#

technically, not all content mods do either SDVpuffersquee

uncut viper
#

thank you for calling them trigger action actions

bold kindle
#

I really love Jorts and Jean! They blend in so well with the vanilla cast. I can’t even imagine how much effort it took to create all that. Thanks so much for the advice ,i should probably go learn more about what CT can actually let me do with new dialogue.SDVpufferthumbsup

lucid iron
#

Idk if "hey now u can make haley say hi aggressively and in pink" is fanfiction

uncut viper
#

tractions is also acceptable but i dont think the people are ready for it yet

#

thats why i mostly only use that for my docs

lucid iron
#

Traction
Tilection
Touction

lucid iron
#

I think the stars are aligning finally

uncut viper
#

you joke but i actually named the touch and tile action section of my docs "mactions"

#

for map actions

calm nebula
#

Thanks I hate it

uncut viper
#

i may also be partial to maptions

lucid iron
#

I think i just call those Action

urban patrol
#

touction is so cute

lucid iron
#

And then foot note btw also a trigger

#

I gotta reorganize my docs tbh it's messy

uncut viper
#

(tbf, a large part of the reasojn for shortening them in the first place is to have an easier to type/shorter url, because i think docs/betas/mapactions is uglier than docs/betas/mactions)

urban patrol
#

i do think trigger action should be the overarching thing, comprised of trigger, condition, action rather than having to say trigger action action lol

uncut viper
#

i do consider it the overarching thing which is why i say trigger action action

#

Data/TriggerActions holds Trigger Actions and the Action component of a Trigger Action is the Trigger Action action

lucid iron
#

I agree with you in that the game definitely layed it out like this

uncut viper
#

but since an Action can be used in dialogue, mail, map actions, etc. i think it would be subjectively incorrect to call them just trigger actions

lucid iron
#

But i disagree with saying action twice in a row and that is base game's fault

uncut viper
#

help me be the change i want to see in the modding world (tractions)

#

then you can say traction actions which is fun

thorny tiger
#

this new term really needs some way to gain traction

#

ill see myself out

uncut viper
#

its a good point though we dont want people confusing it with just the word traction. i propose we change the dictionary to redefine the original word

calm nebula
#

Pathos can we have action action actions

thorny tiger
#

{
"Format": "2.7.0",
"Changes": [
{
"Action": "EditData",
"Target": "Data/Dictionary",
"Entries": {
"Traction": {
"Description": "A shorthand for \"Trigger Action Action\"."
}
}
}
]
}

urban patrol
#

perfect no notes

#

every mod must now include a token {{Traction}} to be used instead

calm nebula
#

Type type

twin wadi
#

anyone know if there's a resource with all the major expansion festival positions? if not id be happy to make one cuz i have some time today. festival position is a pain so i thought itd be nice to have something like that

round timber
#

there have been attempts in the past but im not sure if theres one currently thats up to date

twin wadi
#

hmm ok well im up for some tedious mindless stuff while listening to a podcast lmao so ill just be doing that ig SDVkrobusgiggle

shell palm
#

Hello stardew mod chat

ornate locust
#

There's a spreadsheet somewhere but it's not updated

#

https://stardewmodding.wiki.gg/wiki/Custom_NPC_Tiles here we go. I find it breaks down towards the bottom of the page, stuff stops lining up right.

Stardew Modding Wiki

Welcome to the landing page of the Custom NPC Tiles spreadsheetǃ Please look around and make sure to thoroughly read the rules and instructions of usage. If you have any remaining questions, be sure to ping me on discord at
If you don't know where you've landed, this a page for a public resource with aims to index and map all custom NPC's posi...

#

it MOSTLY worked when I was figuring out where to place my guy. I'm not 100% sure if the discrepancies I found were me counting wrong or what in some cases

#

because numbers are my enemy

#

Pretty sure spreadsheets can be copied, so if you wanted, you could copy that and try to line up the formatting right and update it. Probably better than starting from scratch

urban patrol
#

omg if someone updated the custom NPC tiles spreadsheet i would give them my firstborn

#

especially with year 1/year 2

ivory plume
#

(Stardew Valley 1.6.16 pre-alpha)

#

Stardew Valley 1.6.16 pre-alpha is now available!

This is a very early preview for ongoing changes in the game's pre-alpha development branch. This phase is meant for mod authors who want to provide feedback and suggestions early in the process, when larger changes are still in scope.

Anyone is welcome to join (including non-authors). However, you should know:

  • This is a pre-alpha branch, which means frequent updates directly from the game's development branch. This version may be less stable, change without warning, break SMAPI or mods at any time, or corrupt saves. Don't play a save you care about in the pre-alpha.
  • There's no estimated release date (even "1.6.16" is just a placeholder version). The actual release could be years away for all we know. Don't plan mod releases around 1.6.16.
  • Please don't reshare this info online (e.g. Reddit or Twitter). We'd prefer to avoid any media attention, since there's no release date or guarantees this early in the process. Feel free to share it on Discord or in DMs to anyone who might be interested though.

See...

round timber
#

omg its time

urban patrol
#

exciting!!

#

is there something weird with jojamart in schedules that i don't know about? my character's spring schedule is fine, but she gets stuck after leaving the roof on sunday

            
"Sun": "0610 {{ModId}}_Roof 18 66 1 jenny_smoke/0900 JojaMart 9 16 3/1200 Mountain 49 29 1 jenny_smoke/1600 Town 19 73 2/2100 {{ModId}}_TongueAndTail 16 12 1 jenny_sleep",```
uncut viper
#

JojaMart is one of the locations that gets replaced if JojaMart is not actually accessible, so it may require a possible Replacement to exist? unsure

urban patrol
#

hmm i'll try adding that then. or just have her go to pierre's instead lol

calm nebula
#

Not required

#

Would go to default or spring schedule otherwise

urban patrol
#

okay weird changing it to SeedShop still has her stuck

#

i'm at a complete loss this is a new save and i slept and everything

visual dirge
#

it's more forgivable (and sometimes even desirable) in structures and data models but its pretty cursed in the context of e.g. local variables

gritty bobcat
#

anyone know where I can find someone to possibly commission for a mod?

visual dirge
#

there's a page on the stardew modding wiki

#

!commisions

#

no?

#

aw i didnt remember the command 😢

hard fern
#

!comms

ocean sailBOT
visual dirge
#

ty 😁

gritty bobcat
#

Thanks!

hard fern
visual dirge
#

its ok i may be stupid 💔

karmic gust
#

I've seen people recently get hit with sketchy DMs after asking about commissions so be cautious

#

Not from the people on that list

#

From DM-ers I mean lol

hard fern
#

When in doubt just ask them to show their work. If it looks off/not consistent then don't trust it

lucid iron
#

i wish i can do like {{ Thing_{{Token}} }}: true to check for say Thing_A when Token=A

visual dirge
#

ive gotten a million dms in the past few years like "omg do u wanna commission art from me" i assume its all just ai generated lol

lucid iron
#

ik u just do a dynamic token but still SDVpufferpensive

hard fern
#

(i got one of those dms before, i wasn't planning on commissioning them in the first place but entertained the convo anyways... all the scam dm attempts i get are all from this server too ...)

visual dirge
lusty dust
#

looking into trying to make a compatibility mod between two other mods that i like but i've hit a roadblock:

  1. i do not understand stardew valley's source code
  2. i don't know how to contact the mod author to ask for permission
hard fern
lusty dust
#

i've been playing a lot of The Love of Cooking by bblueberry recently and the beta test for the new update to Stardew Valley Archipelago Randomizer is coming up so I was inspired to work on randomizer compatibility for TLoC

visual dirge
lusty dust
#

i mean they're on this discord they just don't accept messages from non-friends and it would be weird to send a friend request without at least typing in here a little bit first

visual dirge
#

does their profile say not to ping them?

lusty dust
#

uh. hm. i should check.

#

i don't think so, actually

visual dirge
#

give it a try then

#

if that doesn't work, you can also try leaving a comment on the mod's nexus (or opening an issue on github) to ask about it

lucid iron
#

but i know @glossy cargo wants ppl to tell em about archipelago

visual dirge
#

although that's not always a guarantee that the mod authors will be happy with you adding compatibility 😅 ik sunberry village is mit-licensed but says on their nexus that they'll be upset if you do various things with the mod

lucid iron
#

hm that just means the content and c# r licensed differently right

glossy cargo
#

Yeah awfulworld is in both Archipelago discords, I'm aware of the initiative

visual dirge
#

the license is for the whole repo (with all the content and assets in it) so i'm not sure!

glossy cargo
#

it's the LoC mod author they're interested in

lucid iron
#

yea just ask blueberry then Dokkan

visual dirge
lucid iron
lucid mulch
#

No license is all rights reserved (ie not open source)

lucid iron
#

yea thats why i said source available

visual dirge
#

like aesprite and unreal engine 💖 💔

fierce vault
#

Hi guys. I'm wondering if someone could point me in the right direction of what mods/wiki pages to look at or give me some info on how to properly try out an idea I had. I'm finally working on some of the code for my mod again, and what I want to give a try should be pretty simple.

I want to make a config, and then pull separate dialogue responses when that option is switched on, including altering dialogue in the same events if possible (as in, I don't need to remake the event, just change a bit of dialogue where I want to)

lucid iron
#

historically though nexus favor site perms when report

visual dirge
#

yea ofc

lucid mulch
#

Also modding in general is a big grey area legally that no one wants to set actual precedence on, due to being probably derived products of the various games

calm nebula
#

I think that works in events

visual dirge
#

my nexus site perms are "this program is licensed under..." to remove any ambiguity 💖

fierce vault
#

Ok, thanks

lucid mulch
#

Open source licenses have survived actual court cases and have precedence behind them, even the more spicy copyleft stuff

fierce vault
calm nebula
#

Show your event code and describe the issue

#

Here

fierce vault
#

Is that to me?

visual dirge
fierce vault
#

Would that be in localized text?

#

I'll check it out

lucid mulch
#

Localised text is a vanilla feature to pull text from a strings asset rather than being baked into the event

lucid iron
fierce vault
#

Oh, so that's not what I'm currently looking for right now then

lucid mulch
#

But once it's in a seperate asset it's now very easy to do conditional patches to change the value based on config

lucid iron
#

but idk i think ppl should just put whatever license that feels right emotionally

#

if that license is list of things they dont wanna see ppl do so be it

brittle ledge
visual dirge
lucid mulch
#

Its a fairly typical human behaviour of making their precious and not wanting anyone else ruining it

visual dirge
#

yea

opal oriole
#

Hello! In Stardew Valley event scripting, can I put a quick question inside another quick question in an event?

tender bloom
lucid mulch
#

Technically yes but you will have a bad time if you want more than one command in it due to how the formatting isn't recursively safe

tender bloom
#

People tend to write restrictive permissions out of fear of what others might do

brittle ledge
#

Or make them more restrictive after getting bit

tender bloom
#

And a few people do some real shitty things that end up reinforcing these fears

calm nebula
brittle ledge
#

yeah, and typically a published author is not going to even be aware of someone writing a fanfic about their canon characters, let alone be harmed by it, but someone in the same community grabbing other people's characters is pretty noticeable

calm nebula
#

(Plus I was under the impression the sunberry restrictions were mostly about not whitewashing their npcs.)

#

Which. Tbh. Perfectly fair.

fierce vault
#

Sorry to come with this again, but where can I read about localized text and how to ulitize that in the wiki? The modding index didn't give me what I think I'm supposed to be looking for

calm nebula
#

There are plenty of grey zones in modding. For example, if you straight up copy game code from the decompile, you probably can't license that

tender bloom
brittle ledge
#

Parcy, I don't use localizedtext, just i18n, but Museum Collection Explained has an example of what you're looking for - it swaps out a couple of lines in an event based on the config.

fierce vault
#

Oh, ok. Thanks

fierce vault
#

Oh, thank you!

#

I'll look at both

lucid iron
#

parcy i think the /speak command takes direct translation keys

#

translation keys = Strings\\StringsFromCSFiles:Dialogue.cs.699

#

if u had a Strings\\StringsFromCSFiles asset with key Dialogue.cs.699

lucid mulch
#

(though would be more like Strings\\{{ModId}}:MyEvent_text1)
and do a blank load on Strings/MyMod.Id and EditData's on it to add the MyEvent_text1 entry

fierce vault
#

Oh? I'm really not familiar with strings yet, but currently I'm essentially trying to just replace one i18n key with another if the right condition is met, ie. the config is on. I did something similar with Dolphin's help, but instead of checking for a config, it would do a check on the farmer's name and pull different dialogue.

lucid iron
#

what is the condition

#

a cp token?

fierce vault
#

There is no condition, except what I guess would be checking whether the config is on. I have not put it together yet

lucid iron
#

that's a cp token then

#

so basically lets say we got a config token named ParcySetting with AllowValues: 1, 2

lucid iron
#

(none of this is syntax valid but u get the idea right

fierce vault
#

Ok

tropic basin
#

How would I attach a trigger to do something when the player plants something? I’m hoping there’s some way to do it with a more sophisticated event like one of the Events.World.<…>Changed hooks, or maybe Events.Player.InventoryChanged. I’m hoping I don’t have to go with, like, a hyper-specific if-statement in OnButtonPressed.

lucid iron
#

and also have a When: {ParcySetting: 2} to put in the other possibility

#

now if you were doing it the i18n way, then you'd want to make 2 i18n keys like
MyEvent_text1
MyEvent_text2
and then in speak u can fetch it like
{{i18n: MyEvent_text{{ParcySetting}}}}

#

u can ofc also just make 2 translation keys and do Strings\\{{ModId}}:MyEvent_text{{ParcySetting}}

#

lots of ways Dokkan

fierce vault
#

Thank you, Chu, your help is much appreciated. I'll try and see if I can put something together now

tropic basin
#

what I would do in that case is have one of the allowed values be an empty string

#

so in the default case MyEvent_text{{ParcySetting}} just resolves to MyEvent_text

fierce vault
#

Oh, yes, I think I remember something like that with what dolphin helped me out with

tropic basin
#

you can use a conditional token to convert a simple choice to something like that

lucid iron
#

yea also valid, i just find it confusing personally

tropic basin
#

it’s a little bit of overhead in the middle but it makes things simpler on both ends

lucid iron
#

oh the confusing is more

#

i forgor that this key has alternatives if i dont put number

lyric lotus
#

how would i go about editing a Content Patcher .josn for adding a flooring/wallpaper?

lucid iron
#

ah theres some extra loads here

#

just look at the Data/AdditionalWallpaperFlooring

lyric lotus
#

awesome! thank you so much~

tropic basin
#

I guess all I need to know is: When you plant seeds, does that trigger ObjectListChanged? I guess I can just test that myself.

calm nebula
#

And the next one you'll think of it does not change either

#

(Terrain list changed)

#

Tbh I would do harmony

#

What do you need it for?

tropic basin
#

it doesn’t really matter, I’m pretty sure TerrainListChanged triggers on tilling dirt so I can pivot to that instead

#

and worst comes to worst I’m pretty sure I could figure out how to do it with OnButtonPressed

calm nebula
#

That it does, but people may till for other reasons

lucid iron
#

i think the most accurate way is have a watcher for hoe dirt and then watch the crop field

calm nebula
#

Yeah

#

Or patch hoedirt.plant lol

tropic basin
#

lining it up specifically with planting seeds isn’t important, that was just my first idea

lucid iron
#

multiplayer's fug'd probably

tropic basin
#

oh this mod will never work with multiplayer, though I like to pretend

lucid iron
#

if u patch hoedirt.plant it might

calm nebula
#

It Depends TM

#

But yeah

tropic basin
#

trust me that is the least of the conflicts

calm nebula
#

Got ut

#

I'm noe going to assume you're writing your mod in GO

#

You will not be able to convince me otherwjse

lucid iron
#

is it gonna run on docker

twin wadi
#

progress so far... i did egg festival and flower dance. its hard to test everything though haha. i also added some path details on the map so npcs dont walk through each other

#

its hard to test like unlockable npcs though, ill have to dig through code for that cuz i dont have them unlocked on my test save

karmic gust
#

Is that for the festival position master list?

normal rain
#

I'm feeling like this isn't right, is this right? I'm trying to check if the player is done with cc/joja to know if post-cc things are available to them in-game

Boolean isCommunityCenterComplete = Game1.player.hasCompletedCommunityCenter() || Game1.player.mailReceived.Contains("jojaCompleted");

lucid iron
#

Is Boolean java

normal rain
#

C#

calm nebula
#

(Yeah that is the full name, most people use bool)

full bear
#

how would I make SMAPI mods work on Android?

#

it's a simple mod with some harmony patches

lucid iron
#

Realistically you gotta learn C# and harmony but which mod is it

#

And did u already check the android server

torpid sparrow
#

Hello, maps are giving me a headache once again what else is new SDVpuffersquee the tiles 11, 17 and 11, 18 through to 15, 18 cannot be walked through even though my tiled file has no building tiles affecting that area. Is there something else that could be blocking the way?

lucid iron
#

It could have Passable F

#

Best thing is to get lookup anything turn on tile lookup and inspect the tile

calm nebula
#

Or invisible tiles, or the back tile is blocking you, etc

lucid iron
#

Yeah nothing to do until you check

torpid sparrow
#

ok ill try that!

full bear
#

someone just left a post on my mod noting it wasn't compatible with android

lucid iron
#

if you don't have a phone then give up

#

!smapiandroid

ocean sailBOT
#
Android SMAPI

We are not able to provide support if you run into trouble or compatibility issues with Android SMAPI; please use the discord linked on the Android SMAPI github.

IMPORTANT: This is a highly experimental build and may be prone to glitches, bugs, or incompatibilities. Please see the wiki instructions for more information regarding installing the unofficial Android port of SMAPI for Stardew Valley 1.6.

Do not harass mod authors to make Android specific compatibility patches.

lucid iron
#

feel free to go ask for tips tho no harm

full bear
lucid iron
#

some kinds of mod, particularly stuff that deals with menu, are almost always borked on phone

full bear
lucid iron
#

my stance is that if u give me a log and i can divine a workaround then ill try but otherwise i prioritize pc experiance

full bear
full bear
calm nebula
#

Ask them for a log tbh

full bear
#

but it's low priority for me

lucid iron
#

ah i rmbr that, yea iirc the menu looks very different on phone

#

if u were hardcoding any positions its probably hidden

calm nebula
#

Ah okay

#

Menus are basically well

#

A redo entirely for android

lucid iron
#

but without any log im just wild guessing here

full bear
#

I don't hardcode positions but rather hook into whether or not to display the cc button

#

so it's probably using alternate functions

lucid iron
#

yea very possible

full bear
#

thanks!

#

I'll check the android server and see if I can snag a dll somewhere

lucid iron
#

u need the google play version of game, and then u can install smapi from that github

full bear
#

yeah will do

calm nebula
#

Any transpiler is also gonna be Fun

full bear
#

F u n

#

it doesn't transpile luckily

#

just prefix postfix for one or two functions

#

my mod hates bigger backpacks though because I guess prefix postfix screws with them

tiny zealot
#

transpilers can also be lowercase fun

gentle vessel
#

Hello. I have a new mod that I am adding some things to - Triple Shot Joja Cola. I want to make it not count towards perfection but it already does not seem to appear on my character's cooking collection - do I still need to use Perfection Exclusions or is it doing it on it's own somehow?

lucid iron
#

is it a crafted item

gentle vessel
#

it is a cooked item

lucid iron
#

weird i was fairly sure u need mod to do this 3sSmolMiku

#

could be that the type is incorrect

calm nebula
#

(It probably doesn't have type cooking)

gentle vessel
#

how do I add type cooking?

#

it says type basic right now

#

so I just change that to cooking?

lucid iron
#

if you dont want it to count as perfection i'd keep it as basic

gentle vessel
#

ok that's easy enough. thanks!

calm nebula
#

It will still count

#

It just doesn't show on the collections menu

gentle vessel
#

oh ok. I'll change it to cooking then, and add Perfection Exclusions

#

I changed it but it's still not showing on the collections menu. Was I right to just changed "Basic" to "Cooking"?

calm nebula
#

I meant the number category

#

There is a number for cooking

gentle vessel
#

Is there a webpage with the numbers I can look at?

half tangle
gentle vessel
#

thank yoU!

#

now it shows up yay

round timber
#

hi i know zero things about licenses and stuff but im setting up a repo for my NPC mod. so. what license is the one typically used/recommended for NPCs?

uncut viper
uncut viper
gentle vessel
uncut viper
#

perfection exclusions likely will not remove it from the collections page if i had to guess

#

the collections page and perfection calculation are separate

#

Perfection: All recipes must be cooked
Collections Page: All cooking items are shown

#

Cooking items that arent needed for perfection are still cooking items so they will still show in the collections page (i presume with the exclusions mod still)'

gentle vessel
#

oh. Do I just assume it's workngi then? or is there a way to test it?

round timber
uncut viper
#

i dont know of a good way to test perfection exclusions

gentle vessel
vernal crest
#

You could use that mod that shows your progress towards perfection? It might list everything that's required for perfection

calm nebula
uncut viper
#

a license is just a list of rules that were created by lawyers, but you can make up your own rules and thus your own license

uncut viper
#

since you are the owner of the content you get to decide what people are allowed to do by default, and if its not something you've explicitly given permission for, they cannot assume they have it

vernal crest
#

If I knew I would've said the name lol. Let me see if I can find it.

gentle vessel
#

found it 🙂

vernal crest
#

It's not Lumisteria's Progress Toward Perfection or Perfection Tweaker if either of those is what you found

#

In fact it doesn't even seem to have perfection in the name SDVpufferthinkblob

gentle vessel
#

it's called stardew progress

#

loading it now

vernal crest
#

Ah ha, yes, that's it. It's horrifically laggy apparently but useful for checking specifics.

round timber
gentle vessel
#

ok that made it clear - it still counts towards perfection

lucid iron
#

if u want u can say i license everything except whats under i18n and portraits, but updates r kind of strange if u can only distribute half of the mod

uncut viper
#

when it comes to modding, the intricacies of a license are basically never gonna be tested, and what you write yourself will be enough in, essentially, all cases

lucid iron
#

you can just trust urself to release it all openly when ur no longer interested in maint

#

and keep it all rights reserved meanwhile

calm nebula
lucid iron
#

this doesn't conflict with just putting the stuff up on gh cus u gonna do that when u r release on nexus too

calm nebula
#

Another option, vinilla, is to grant permission to someone you trust

gentle vessel
uncut viper
#

(the main benefits of a license instead of always just making up your own rules is that licenses are standardized and so everyone knows what they can and cannot do (protecting both you and them) and also like i said written by lawyers, so you're not gonna accidentally leave in a legal loophole for someone to exploit)

#

(which is why it really is likely not going to matter whne it comes to SDV modding)

#

(the loophole stuff i mean)

round timber
#

yah that makes sense

calm nebula
#

The way I think of it, licenses are a grant of permissions more or less

gentle vessel
#

I need it to be excluded because I want the recipe to only be sold at Jojamart - and if the player goes community centre route, they will lose access to jojamart.
Would it be simpler to just have it sold at the saloon instead? I Just don't know why GUs would be selling a Jojamart recipe... though he does have the vending machine...

#

I don't know yet how to add it to be sold at a shop yet either - does anyone have a resource I can use to learn that?

calm nebula
#

Stupid ideas: Shane mails it to you if you finish the CC

uncut viper
#

"look what i stole before they shut down lmao" - shane

karmic gust
#

Is it stupid if it works?

gentle vessel
uncut viper
#

do not use AI for stardew mods

#

not only will it get it wrong, but its banned in this server

calm nebula
#

He could swipe me a monster sometimes

gentle vessel
#

oh I'm sorry

#

I didn't know it's banned - sorry

#

How can I learn how to add it to a shop please?

uncut viper
#

you'll want to do an EditData action on Data/Shops, using TargetField to add directly to the Items field

#
"Action": "EditData",
"Target": "Data/Shops",
"TargetField": [ "JojaMart", "Items" ],
"Entries": {
  ... your item goes here
}

something like this i believe

gentle vessel
#

thank you

vernal crest
#

You've got VSCode now, right?

#

Press Alt+Shift+F and it will fix your indentation and make it easier for you to spot syntax errors

twin wadi
#

on line 60?

vernal crest
#

No, sugar

#

The problem here is that you have entered a dictionary key with no value

twin wadi
vernal crest
#

AKA you can't just write

"Entries": {
  "{{ModId}}_TripleShotJojaCola"
}

That's not valid

twin wadi
#

sorry SDVpuffercactus

vernal crest
#

If you mean the indenting is wrong, it is only for readability. It doesn't affect function.

twin wadi
#

i know, it was just confused by the indenting

vernal crest
#

Okay fair enough, I wasn't sure which way you were meaning it ^_^

#

@gentle vessel don't change any curly brackets

#

You just need to add more things to make your entry a valid one

#

It needs to be

#
"Entries": {
  "{{ModId}}_TripleShotJojaCola": {
    "Id": "{{ModId}}_TripleShotJojaCola",
    "ItemId": "(O){{ModId}}_TripleShotJojaCola"
}

Plus any other fields in the Items field in the shop that you might want to use.

gentle vessel
#

so to add the price, I need to find the shop's unique string ID?

lyric lotus
#

hi, how do i make layers for FS to color a separate part on a hat?

vernal crest
gentle vessel
#

from the modding:shops page you gave me

vernal crest
#

You're already doing that

#

That's what the patch was that Button gave you

gentle vessel
#

oh ok, so I just type: "Price": 3000 ?

vernal crest
#

Yup

gentle vessel
#

ok, I think I finally understand thank you

vernal crest
#

That is...uh...because your patch is for JojaMart

gentle vessel
#

HAHAHA sorry!

#

i'll go look there instead oh gosh

#

it's not showing up at jojamart either.

vernal crest
#

Okay, can you copy patch export Data/Shops into your SMAPI console and then upload the file it exports to smapi.io/json?

gentle vessel
#

Smapi says the field Jojamart does not match an existing target. I will get that file for you too in a sec

#

I think it's meant to say Joja

#

i'll try that

vernal crest
#

Ah yes, it is. Sorry, I just assumed it was JojaMart without checking

gentle vessel
#

it worked! It's for sale there. IT says 3875 gold instead of 3000g but I'll take it lol

#

thank you again.
I feel kinda bad uploading this to nexus because you all did most of the work. It was a big learning curve for me - I'm going to do some serious studying before I tackle another mod.

#

oh i just realised another potential problem - is it selling the item, or the recipe? And I need the recipe not to be default anymore

vernal crest
#

That's selling the item

#

Try having a look on the shops page of the wiki to see if you can work out how to make it sell the recipe instead ^_^

gentle vessel
#

is it somthing to do with the item Id?

vernal crest
gentle vessel
#

thank you

#

ok I tried but I did something wrong. Can you help me understand what this means from that page:
"The game will unlock the recipe with the ID equal to the item query's ObjectInternalName field, or the target item's internal Name (which defaults to its ID) if not set."
I just added "IsRecipe": true

normal rain
#

anyone know offhand how I can check if the player has the qi extended family quest active?

vernal crest
gentle vessel
vernal crest
#

Can you explain what is or isn't happening then?

#

(Also that's not a log, that's your json. The log is the stuff in the SMAPI window.)

lucid iron
gentle vessel
ocean sailBOT
#

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

gentle vessel
#

oh dear content patcher is out of date. I'll update that now

vernal crest
gentle vessel
#

oh i'll load a save - just go into a save, then out again and do the log again?

vernal crest
#

You don't have to get out

#

You can just hop in the save, alt-tab, and then go get the log. It updates in real time.

tropic basin
#

How does the friendship-dependent random mail work? If I have a custom NPC is it enough to add a mail item with their internal name as the key to Data/mail or do I need to do something else to make it trigger?

gentle vessel
ocean sailBOT
#

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

vernal crest
gentle vessel
#

the triple shot joja cola recipe is not showing up in jojamart at all now

vernal crest
#

Oh that might be because you already have it. Did you test on a new save?

gentle vessel
#

no i didn't - but I think I need to change this line (default) to something else to make it not starter recipe:
"167 3/10 10/{{ModId}}_TripleShotJojaCola/default/"
What should I change default to? and then i'll start a new save

vernal crest
#

Yes, you are right that needs changing. It looks like you can just change it to none

#

(Good troubleshooting!)

gentle vessel
#

thank you

#

ok I think it's done now. The recipe shows up for sale in a new save.

#

I am exhausted. Thank you so much Abagaianye and 4th grade physics - I will credit your help when I upload it to nexus because I couldn't have done this without your help.

vernal crest
#

Just be aware that this hasn't fixed the post-CC problem yet!

#

Because Jojamart will disappear then and if people haven't bought it by then it will be unavailable to them.

gentle vessel
#

I thought we determined that it doesn't count towards perfection, so it should be ok if they can't access it?

vernal crest
#

Atra (currently 4th grade physics) said don't trust what the Stardew Progress mod said about that. I don't know why but I trust them.

gentle vessel
#

oh ok

#

should I just put it in the saloon then?

vernal crest
#

Oh Atra said it in the other direction SDVpufferthinkblob

#

You can conditionally put it in the saloon if you want!

twin wadi
#

for my festival positions resource, im thinking making a folder with tmx files you can open in tiled to view everything and determine the tile position and such, with character icons to show which tiles are occupied. but the thing im concerned abt is that it might get really difficult to update. the spreadsheet seemed great for letting everyone contribute, but im not familiar with spreadsheets and idk how it works or why it broke

vernal crest
#

If you feel up to learning a new thing. If you don't, you can a) check using Perfection Tweaker if it will count towards perfection (I just thought of a way to do that) or b) just make it always sold in the saloon.

vernal crest
twin wadi
#

smc?

gentle vessel
#

I am quite tired and still feeling quite out of my depth, so I think I will just make it always sold in the saloon.
I've lost that page with the shop codes...

vernal crest
gentle vessel
#

nevermind i found it

vernal crest
# twin wadi smc?

Stardew Modmaker Community. We are a little server focused on making mods. You're welcome to join us if you'd like!

twin wadi
#

also is it worth making this if others are working on this? well this is mostly for personal use, but it is a bit time consuming

uncut viper
#

(is the thing people in smc are making also a spreadsheet?)

lucid iron
#

no pillow is making a website

vernal crest
#

Well that's why I wanted to give you a heads up because it might feel like wasted work on your part, especially since I think they're trying to make it much more automated rather than manual entry. I think the idea is that it scrapes mods to grab their festival positions?

You join by...I DM you an invite because I have yet to find any server with a public invite.

lucid iron
gentle vessel
#

ok it's not sold in the saloon, and for 3000g instead of the 3875g at jojamart. thank you

#

*now sold

lucid iron
#

if you want to do Thing u should do Thing Dokkan

twin wadi
vernal crest
twin wadi
vernal crest
#

I can't post it in here because I will be sent to gay baby jail

round timber
gentle vessel
#

should I put my mod under crafting or miscelanious in nexus?

vernal crest
#

Is there not an items category?

#

Yes there is, I recommend putting it there

gentle vessel
#

ok thanks

versed wyvern
#

Is there any possible way to make it so a farmhand in multiplayer can perform an action that affects the host's stats? The IncrementStat trigger action only applies to the current player, for instance

lucid iron
#

You can send a mail to everyone with a trigger action based on stat?

royal stump
#

yeah, you'd want to use multiplayer messaging or some other network feature to trigger it, since stats are mostly local (with weird exceptions)

lucid iron
#

I think u can also use betas to broadcast trigger a incrementstat on the host?

#

Forgor how exactly that worked

gentle vessel
#

my mod is now published. is it ok if I post a link here?

versed wyvern
#

Oh? I am using betas for this already so if it's doable with that that'd be handy, but otherwise I just might be able to finangle something with mail flags WoahThink

gentle vessel
uncut viper
#

BETAS does not have anything for that, its trigger broadcasting is entirely for internal use only atm

lucid iron
gentle vessel
#

darnit the wrong image is in front.

lucid iron
fierce vault
#

Oh, by the way, for anyone who was here earlier, here’s an update about the question I had asked: I was able to implement it in the game with some help in cleaning up my code, and the base of the idea works as intended SDVpufferparty

nimble crater
#

HELP

#

please

#

im confused

gaunt orbit
#

!mh

ocean sailBOT
#

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

crude plank
#

If a NPC has festival positions set up for y1 but not y2 are the y1 positions being used for even years as well or are they just not there?

nimble crater
#

what?

#

I am here

vernal crest
nimble crater
#

why am I here xD

#

Sorry lol

#

thats mb

gaunt orbit
nimble crater
#

it doesnt exist

#

I cant click it

gaunt orbit
nimble crater
#

Its one thing I need help with

gaunt orbit
round timber
#

that is not something wren can do anything about

#

you should have access

vernal crest
#

It's in the Help & Feedback section in the channels list, so you can try getting there that way.

nimble crater
#

It says I do, but it doesnt bring me anywhere when I click it

#

can I just put it here rq, then I can delete it, its the simplist thing

vernal crest
#

Nope

round timber
#

no, because this isnt the channel for it

gaunt orbit
#

No, please, that's not what this channel is for

nimble crater
#

bruh

#

I CANT CLICK THE BUTTON THOUGH

#

caps srry

crude plank
#

Then find the channel in the channels list yourself

vernal crest
#

Quit discord and open it again, it might fix it

nimble crater
#

I did like three times 😭

vernal crest
#

Are you clicking on the channel in the channels list?

nimble crater
#

im so sorry, Im just frustrated

#

It doesnt exist there

gaunt orbit
#

What if I make a thread for you and ping you into it

vernal crest
#

That sounds like a good idea Wren

nimble crater
crude plank
#

Thank you

gaunt orbit
nimble crater
#

yes

versed wyvern
#

Are trigger actions expensive performance-wise? I'm a little worried stacking up too many DayStarted checks might start affecting load times snuffFear_s

gaunt orbit
#

Not that expensive.

#

It depends on the action but generally it is only slightly slower than c#. (the slowdown being the overhead of the text parsing, which is still pretty fast.)

#

The most expensive thing for day start is pretty much always going to be cp asset reloading bc that's big and complicated and sets a lot of things in motion

lucid mulch
#

the GSQ would be the performance bottleneck over the action itself
as the GSQ has to run every time (until it has ran once without the flag to keep running)

gaunt orbit
#

Ah yeah I forgot there's gsqs on triggers

#

Those aren't super cheap unless you make them null (unconditional)

lucid mulch
#

but I haven't seen much evidence of trigger actions being a bottleneck (yet), though I also don't fully track them either in profiler particularly with all the custom trigger sources people add

#

though even then, unless its something that is actually going to run every frame/tick its not the biggest deal

#

its already "normal" for daystarted to be sluggish, so the extra few ms doesn't hurt

vernal crest
#

Sure!

#

DM sent ^_^

gaunt orbit
#

Yeah I usually just take a short break when new day hits

versed wyvern
#

Okay, thanks for the insight, folks noted

lucid mulch
finite willow
#

anyone had any luck setting up some sort of http server using a mod?

gaunt orbit
#

You could use kestrel

#

Be warned that nexus does not line networking shenanigans and you may not be able to upload there

finite willow
#

I don't mind

#

it's for personal usage

gaunt orbit
#

Also if you're hosting a server from a mod you will likely need to use upnp to punch holes in the firewall

#

Oh in that case you can just manually forward ports instead of using upnp

finite willow
#

thats interesting, but there shouldnt be any issue with local machine to local machine connections right?

#

lol

gaunt orbit
#

Correct, no holepunching required for lan-only or localhost connections

finite willow
#

fair enough, thx

gaunt orbit
#

You may find this project useful as a reference, though it's written on net 8 and stardew is net 6

thorny tiger
#

is it possible to make a fish only appear in green rain and is that horribly rude

#

looks like probably no i cannot

lucid mulch
#

green rain is a weather type that the GSQ condition can check for

#

the vanilla legend fish should have it set

ornate locust
#

Pretty sure Eli and Dylan have green rain only fishies

stark shore
#

Can anyone help me with my npc mod? I've got one npc working perfectly but when I added a second one NPC 1 vanished and NPC 2 looks like NPC1 but with the new name.

I have both NPC's in the content.json, I've just tried giving them both their own json file and writing:

{
  "Action": "Include",
  "FromFile": "assets/NPC.json"
},

into the content.json but this spits out an error

ocean sailBOT
#

Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.

Please share your SMAPI log file. To do so:

  1. Open this page: smapi.io/log.
  2. Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
  3. After uploading, it will show a green box with a URL to share. Post that URL here.

Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didn’t occur in your last session, please load the game to the point where the issue occurs, then upload the log.

flat sluice
#

!json

ocean sailBOT
#

JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.

If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.

When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.

vernal crest
#

But yes please share json and logs when asking for help because it makes it much easier and faster for us to spot the problem and we don't have to guess.

stark shore
#

Yeah I'm not too sure. Yeah sorry I think I might have figured it out but if not I'll post it 🙂

#

Okay so I had an extra { where I didn't need it and I left the format bit at the top. I have 2 identical jsons now, one for each NPC. It's no longer crashing but for whatever reason one of them isn't spawning in now though. I'll see about getting the logs

#

Which json should I post? Content or the specific NPC that isn't spawning?

#

I just slept the night and it's working now 🙂

vernal crest
red egret
#

If i wanted to make an expansion, is it easy to make a new path from a main map?

vernal crest
#

Easy to make, yes. Less easy to find somewhere free! Central Station is a good choice for expansions since they are usually new towns etc.

red egret
#

Ikr! But i love the idea of a path a lot more so i'll try to find something ^_^

#

Atm i have Leif (hidden), Enya and without noclip i can't get to Leif's house

vernal crest
#

Paths are easier than trying to plonk a new building somewhere at least.

red egret
#

And Sevinae, Lunna and Taro result in that i can't get to Umuwi

vernal crest
#

Umuwi?

crude plank
crude plank
vernal crest
#

Ah, thanks. I haven't played Lunna yet.

#

I think I almost clash with Lunna but not quite.

#

But then I do clash with the Ornithologist's Guild so I need to figure out compat for that

crude plank
#

yeah the forest is running out of real estateSDVkrobusgiggle

vernal crest
#

Well yeah it's my mod that's clashing so I will change it

red egret
#

Is it public?

vernal crest
#

Nope, nowhere near finished lol. I am slow in the extreme.

red egret
#

That's okay 🙂 i will also be super slow

vernal crest
#

(And also keep picking up other projects >_> <_<)

red egret
#

I keep picking up new mods to add xD and rl hobbies too

ocean sailBOT
#

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

red egret
#

It's exciting to think i can contribute to this big world!

vernal crest
#

Tia said they took three years to make Wren so I tell myself I am on track xD

red egret
#

But first i thought of only small mods like furniture

vernal crest
#

Everybody loves furniture mods though

red egret
#

I've been combing Nexus category by category and making notes what's missing so i have a lot of plans 🙂

red egret
vernal crest
#

No, I mean new furniture is always welcome ^_^

thorny tiger
#

i wish more furniture mods added furniture instead of replacing furniture

vernal crest
#

I have converted all my AT furniture mods to CP for personal use because I also prefer separate furniture

gentle rose
#

I think part of it is that it used to be much more difficult to add new stuff?

#

so older mods didn't do it and newer mods may be following their example/tutorials made from that time

red egret
#

Aha, i was wondering. Afaik mobile users can't use AT

vernal crest
#

Nope, don't think so

#

Are you a mobile user?

red egret
#

No but a friend is

#

I love AT, with Happy home designer, so comfy. Only the textures sometimes change back, in inventory, so idk what is what xD

#

And AT may be easier or the system? Idk

#

It took me a while to find my way through it all

#

But i saw some mods add their own catalogues and they are decorative pieces themselves which is an amazing idea, i would like to do that

lucid iron
#

Yeah it's pretty straightforward just need one of calcifer/spacecore/mmap

vernal crest
#

(Or make your furniture with Furniture Framework)

lucid iron
#

AT has some performance problems especially when you have a lot of packs

#

So i also personally rec doing not that if u can

red egret
#

Furniture Framework sounds good, is it new?

crude plank
#

it is new..ly updated for 1.6SMCPufferSquee

lucid iron
#

Not that new i think it came out around time of 1.6 right

vernal crest
#

New as of 1.6 but over a year old

lucid iron
#

Personally i think u should just make furniture in vanilla system until you actually need fancy features

vernal crest
#

I wish furniture had skins

lucid iron
#

Skins r cool agree DokkanStare

red egret
red egret
lucid iron
#

Well you know you can just add new furniture with only content patcher right

red egret
#

As a replacement, right?

lucid iron
#

Lots of mods are just that, hxw series for example

vernal crest
#

Because I don't want to have to click on a chair to find that one of its alternate textures is a toilet but I don't want 5 different identical except for their cushion colour chairs in my catalogue

lucid iron
#

No u can add new

#

While the format still sucks (for now...) the ids are strings

#

You do {{ModId}}_Chair and it goes

vernal crest
# red egret AT is like skins

No, people use it to make totally different types of furniture (like the aforementioned toilet/chair combo) - which used to be the only way to have new furniture without overwriting the old (if I understand correctly) but it's not anymore yet still people are still doing that and I never know where to find the toilets!

red egret
#

So HxW makes it like that, hmm. I'll look at those files

lucid iron
#

!unpack

ocean sailBOT
#

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

vernal crest
#

I don't think there's anything you have to replace vanilla with anymore.

lucid iron
#

Remember that you can always ref vanilla

red egret
lucid iron
#

What you do need an extra framework for is catalogues, something to open a shop from a furniture when you interact with

#

But since u r in cp u can make these optional dependencies Dokkan

#

FF is not a cp based framework and you need to follow it's content pack format but it has advanced features like multiple things placed on a table and multiple seating spots

red egret
#

So those furnitures would show in the main catalogue as new items?

lucid iron
red egret
lucid iron
#

Yeah so i recommend u start smol and do just vanilla format for now SDVpufferthumbsup

red egret
# lucid iron !unpack

Aah i see, i extracted xnb files from vanilla in an online parser, just out of curiosity, and dled the images from there

lucid iron
#

You should use stardewxnbhack

#

It's better at unpacking stardew stuff

red egret
#

How?

#

I mean how is it better?

lucid iron
#

It can handle complex nested formats

#

And use the right enum name

#

Also just faster

red egret
#

Alright, thanks

vernal crest
#

We have seen people get confused after unpacking with other things and they unpacked in a way that was less useful (like unpacking maps to .tbin instead of .tmx or unpacking enumerables as their integers instead of names).

red egret
#

One day i will understand you (maybe) xD

vernal crest
#

If you keep making mods you are sure to

brisk wedge
#

!pixelart

ocean sailBOT
#

Where to Start With SDV-Style Pixel Art
If you've never done pixel art before, don't stress! It's easy to pick up the basics - the key is to start small, ask for feedback, and incorporate that into your work.

To start, you'll want an art program. See a list of recommended programs in the !software command.

Here's some good beginner tutorials!
http://pixeljoint.com/forum/forum_posts.asp?TID=11299&PID=139322
https://medium.com/pixel-grimoire/how-to-start-making-pixel-art-2d1e31a5ceab

To start off, try opening an existing portrait and changing the outfit. Start small: edit a shirt pattern, change a jacket collar, or remove a scarf and draw the clothes underneath. Ask for feedback too! The best way to improve is learning how to identify what's wrong and why, so then you can work out how to fix it.

Here's more good tips from the artist of "Celeste":
General pixel art 1: https://www.patreon.com/posts/pixel-art-1-6971422
General pixel art 2: https://www.patreon.com/posts/pixel-art-part-2-11225146
Outlines: https://www.patreon.com/posts/outlines-14106192
Shading: https://www.patreon.com/posts/shading-13869731
Portraits: https://www.patreon.com/posts/portraits-8693396

SDV has a few quirks to remember too:

  • Colour limits: Limit the number of shades you use - stick to six including the outline.
  • Hue shifts: Rather than making shadows and highlights lighter or darker versions of the base tone, SDV shifts the hue too. Eg. a base orange will have yellow highlights and red shadows. This goes for skintones too!
  • Light source: SDV uses a top-right & slightly forward light source - check the vanilla art for reference.
    Most importantly, don't hesitate to ask questions and get advice from people. Have fun!
brisk wedge
#

Hmm what's the bot command for pixel art tools?

lucid iron
#

!software

ocean sailBOT
lucid iron
brisk wedge
#

Ah thank you

woeful lintel
red egret
#

Thank you!

red egret
woeful lintel
#

how the game computes the size of rotated benches/dressers/other is broken, so for example if you try to make a bench that is longer that the vanilla ones, it will "break" (the collisions will be wrong).

#

also the data format is a slash delimited string (for now), so it's not ideal

red egret
#

So if i want to make something a different size than the original, it will be a problem?

woeful lintel
#

it might, depend on what you make. I'd recommend just doing stuff as you want, and if you find something confusing, I can help work around it.

red egret
#

Alrighty

#

Atm i'm still on my quest to browse all furniture so i don't make what already exists 50x

#

And for my own decor

woeful lintel
#

!twocakes

ocean sailBOT
#

If you discover that someone has made or is making a mod with a similar concept to yours, don't stress! Our community promotes the idea of "two cakes", where two versions of the same idea can peacefully co-exist. Your mod will have your own unique stamp on it that makes it special.

red egret
#

😄 okay nice

lucid iron
#

Yeah the vanilla furniture stuff is a lot of magic numbers and behavior

#

Usually if u want something that's the same dimensions as a existing vanilla furniture it works alright

#

If you ever go "ah what if i want to make it taller but still rotate it" then doom upon thee

red egret
#

In theory, i can make it smaller and transparent too

#

A lot of the furniture isn't rotatable

lucid iron
#

Smaller is sorta ok if u dont mind slightly illogical bounding boxes

red egret
#

Right

lucid iron
#

And yeah if there's no rotation then u can do whatever and it mostly works

red egret
#

I can make 2 versions, a rotated one already, as a separate piece

lucid iron
#

yep people do that too SDVpufferthumbsup

#

There r some fun things u can do with rotations tho

#

Like make a painting that has 2 variations without any mod just rotation

#

But ultimately you should worry about the art first

#

After that people can help u do whatever needed to get it into game