#making-mods-general

1 messages · Page 264 of 1

modest dagger
#

yoo

wet wadi
#

Hi, what if there is a yellow error stating that the modded npc couldn't get marriage dialogue but there's one in the marriage dialogue json file.

gray bear
#

HE IS HERE

#

ty Kristian ❤️

fathom hound
#

FORGGOOO

#

guys IM SO EXCIUTED ASLDKFJLADSKJF

hot gale
#

Oh woops I just saw your @ preference sorry 😭

gray bear
#

ty! i stole and edited the companion frog

#

iz alr, happens pat_froggy

fathom hound
#

uploaded my mod but nexus doesnt let me opt in SDVpufferwaaah

tribal ore
#

Is there anyway to make questComplete dialogue repeat if the quest is done again at a later date?

#
   "questComplete_{{ModId}}_Quest_Linus3": "{{i18n:Linus.questComplete_Quest_Linus3}}",
#

This kinda thing

#

I have a quest that triggers every winter

#

The line shows up the first time just fine, but subsequent winters don't have this dialogue

deep cypress
fathom hound
fathom hound
#

the reward thing

#

nexus DP

deep cypress
#

It takes like sometimes an hour or more for the #$@% thing to let u opt in, drives me nuts!

fathom hound
#

ugh lame!

#

im so close to another $10 and that would help me SO much this week

odd ginkgo
#

So if someone was making a giant desert tortoise as a barn animal, would it be completely unethical to have the tortoise drop scute flakes that can be turned into tortoiseshell items

proven spindle
odd ginkgo
#

Alt idea is to be able to pickle and age the eggs

fathom hound
#

aged eggs omg :x

deep cypress
#

A question.... How does one read savedata? Like this...
<item><key><string>married_Abigail</string></key><value><int>298</int></value></item>
This doesn't look like it is mod data, just in the regular save game data. (I saw the Helper.ReadSaveGame thing, but that it is scoped to my mod's data only).

hallow prism
lucid iron
#

Need more context to know

hallow prism
#

and yes, nexus delay on enabling the DP is annoying, i wish you could set that BEFORE publishing

#

but well, nexus..

fathom hound
#

Hope fixed soon

fathom hound
#

I need any of it

proven spindle
#

Is there a way to look for either tag in a context tag gsq? ITEM_CONTEXT_TAG Target tag1 tag2 looks for items with both tags, but I'm looking for a way to look for items with either of those tags in them

deep cypress
lucid iron
#

You should not be parsing save games directly

brittle ledge
proven spindle
deep cypress
#

I do not know where that came from, I'm really bad at reading json, I am guessing I should look in Game1 for married_ something to find where?

lucid iron
#

Do u have access to this save file

deep cypress
#

Yes, it's mine, luckly!! ❤️ Basically, if somehow I could read that as it is from the savefile, that would allow me to easily give Kantrip the token which is desired!

hallow prism
fading walrus
#

Like so

hot gale
#

awww

lucid iron
#

Format the xml with vsc or similar to read it easier

fading walrus
urban patrol
odd ginkgo
#

alright, lfg! Thanks everyone, here I go to actually make the dang json haha

uncut viper
#

questComplete_<quest> is a conversation topic that is auto generated

lucid iron
#

can u make new version of shears with CP

uncut viper
#

tho

lucid iron
#

new harvest tool i mean

uncut viper
#

hm i should double check if it removes it from the list

#

okay i think if you remove the conversation topic before it ends naturally and gets shoved into previouslyActiveDialogueEvents, it might work

#

keyword being might tho

#

the CT wont be auto generated if its been seen in the past but i think it only gets counted as "seen in the past" if you let its timer tick down automatically, but there may be another check somewhere specific for NPC dialogue checks

#

(auto generated CTs get set to last 4 days)

#

you may also need to remove the mail flag for <npcname>_<CT>

#

so remove Linus_questComplete_[questId] for example

brittle pasture
uncut viper
#

EditImage the shears texture when you're in the tortoisehouse

lucid iron
#

my tortoises shall be free roaming

uncut viper
#

can you set the movement speed of an animal

lucid iron
#

idk depends on how selph did darkwings

#

is that a EAC feature selph?

#

birb go zoom

brittle pasture
lucid iron
#

fast

deep cypress
#

In VSCode, how do you make it so it actually parses the save file?

brittle pasture
#

use another text editor that handles large lines correctly

lucid iron
#

install more ram

brittle pasture
#

I think you need hex editors

lucid iron
#

no its just a big xml

#

i force it to format

#

ctrl shift p -> format document -> wait like 30s

#

regarding your thing though, i feel like it is modData

#

e.g. something like this

#

if i wanted to access this info, i would see about getting Bush and then use its modData dict

deep cypress
#

YES!!! It works!!! Like luring a mermaid with a hamburger!!! Ok then.... Here is the question: Do the memory_oneday, _memory_oneyear, etc ActiveDialogueEvents ever get removed from the savefile?

rigid oriole
lucid iron
#

js templates...

rigid oriole
#

shhhhhh .net tempaltes

lucid iron
#

this is terrifying barley what are you doin

rigid oriole
#

rendering html

lucid iron
#

nou

#

anyways the answer is yes in general you can use other nuget

rigid oriole
#

ok the issue is not necessariyl that i use it in my .csproj but that I actually reference it in my files

lucid iron
#

the narrow case is that perhaps what you are doing and what sdv/monogame dont like each other

gaunt orbit
rigid oriole
#

elaborate?

uncut viper
#

gotta ship the dll with your mod

rigid oriole
#

does that sticky the MIT license of the nuget package onto my mod then? I wanna make sure i abide by that

uncut viper
#
<PropertyGroup>
        <BundleExtraAssemblies>ThirdParty</BundleExtraAssemblies>
</PropertyGroup>
#

you can do this too, from the modbuildconfig docs

#

it doesnt

lucid iron
#

what do you expect html to do in a sdv mod tho

rigid oriole
#

i'm generating mod lists as cute little html pages via console command

#

i'd like to use templating for it

uncut viper
#

i mean if i had to guess thats kind of the point of them wanting the package

gaunt orbit
#

Oh nice

lucid iron
#

ah console output ok DokkanStare

#

maybe u can just write to file directly too

rigid oriole
#

if anything this package reference is making it less cursed so i don't reinvent the wheel

lucid iron
#

so i just go2 the mod folder and open in browser

rigid oriole
#

that's the plan ya

gaunt orbit
rigid oriole
#

i'll give it a look

#

i haven't actually touched templaters for a while so i'm not super tied to any particular one

#

i just recongizned handlebars from my web dev days

gaunt orbit
#

Yeah handlebars has been around for a while

#

I remember using it back in the day

lucid iron
#

or does that have special compilation reqs

rigid oriole
#

thanks yall!

lucid iron
#

@balmy venture [[Modding:Maps]]

gaunt orbit
lucid iron
#

seems worse than just a nuget then DokkanStare

#

hm this page doesnt detail the wall and floor id stuff

balmy venture
lucid iron
#

i don't have a full guide, but my recommended starting point is the Shed's interior tmx

#

yea weird why does modding:maps never mention the props u need for this blobcatgooglyblep

latent mauve
#

Wall and Floor IDs information never got transitioned from the 1.5.5 migration notes on the wiki

#

I remember having to dig to find it

balmy venture
#

I'm glad it's not me being super dumb

lucid iron
#

that sure is ancient

#

ill copy it over then

balmy venture
#

I found starter wallpaper and flooring but I wanted the property to allow changing to ingame flooring and wallpapers

lucid iron
#

so the issue with wall/floor is that

gaunt orbit
#

Maybe we should have a page dedicated to the farmhouse.

Not just for the wall and floor stuff, but also renovations, warp fuckery, and moving the spouse room and stuff

lucid iron
#

you also need Decoratable location

balmy venture
#

still very new to tiled, I'm digging and learning where to look

lucid iron
#

it's hard to make the Cellar that cus cellar has its own class

balmy venture
#

I'm reading the link trying to understand thank you

#

my goal is to change the barns and coops to be decorable XD

lucid iron
#

That one might be ok

gaunt orbit
#

I think the incubator might break

lucid iron
#

The incubator is indoor items now right

#

Generic to Buildings

uncut viper
#

how do you set their location type to decoratable

balmy venture
#

you guys think it's not possible then?

lucid iron
#

i think it should be fine?

#

sheds are also just building interior

#
"IndoorMap": "Shed",
"IndoorMapType": "StardewValley.Shed",
uncut viper
#

Sheds are already subclassed from DecoratableLocation

#

(SlimeHutch too, apparently)

lucid iron
#

yea StardewValley.AnimalHouse right

#

doomed then Dokkan

#

maybe i just gotta

#

make all locations behave like decoratable

gaunt orbit
lucid iron
#

a lot of things check it actually

balmy venture
#

gosh here I was hoping I could do it using tiled maybe 🤣

lucid iron
#

like buying animal

gaunt orbit
#

I can take another look but I remember some jank with the incubator technically being a machine

lucid iron
#

it is indeed machine bolbsunglasses

#

so yes mini short answer you can't

balmy venture
#

😭

#

that's really sad

hot gale
#

How come some vanilla portraits are completely front facing and some are angled to the side?

gaunt orbit
#

Welcome back Map Utilities, died 1.4, born 1.6 /jk

#

At least I think that was the one that let you do custom decoratable locations

lucid iron
#

wren when your map util mod become exist we'll have like 5 of these things

gaunt orbit
#

It exists I just need to make a test map and I'm dragging my feet on that

lucid iron
#

i thought your beeg farm is the test map

#

it was looking rly good Woahelle

gaunt orbit
#

That uses some but not all of the features and also has some c# nonsense specific to it

lucid iron
#

is the C# nonsense too specific for framework u think

gaunt orbit
#

Yeah

#

It's custom mechanics specific to the farm map

lucid iron
#

hmm how do i find who to attribute

gaunt orbit
#

Attribute for what?

balmy venture
#

I'm confused but sounds cool 😵‍💫

lucid iron
#

i was gonna copy the bit about wallid and floorid into modding:maps

gaunt orbit
#

Aaaah

lucid iron
#

but i should attribute who wrote the 1.5.5 page

gaunt orbit
#

The edit history should say who wrote the page

lucid iron
#

i wish i can git blame on the wiki

gaunt orbit
#

Using version control for a wiki backend actually sounds genius

lucid iron
#

isnt it already some kinda vsc going on

#

just not git

gentle rose
lucid iron
#

i did it by binary search

#

it is pathos as expected

#

i got bonked sadness

#

ok it worked in 2 edits Dokkan

balmy venture
#

well I guess I'm back to my sadness making custom paths 🥹

odd ginkgo
lucid iron
#

You can do it yourself if you use extra animal configs

#

Turt go 1x speed

odd ginkgo
#

Slow turt

#

Good stuff

fathom hound
#

I’m about to just like delete and re upload. This is nuts

acoustic summit
#

It can take quite a while yeah

#

A few hours isn't too out of the ordinary I would say

fathom hound
#

God really ? Someone answered me and told me it’s supposed to only be like 15 min not 3 hours

#

Wow

#

Well thanks SDVpufferwaaah

acoustic summit
#

Integrated wildlife took like 4 hrs for me to opt in I believe haha

dusty scarab
#

am I misunderstanding how fish pond produce works? I was wanting to always get 1-2 roe when there is at least one fish in the pond, then a change to get an extra roe if there were 9 fish, and a chance to get an extra roe on top of that if there were 10 fish, for a total chance of 1-4 roe daily if there were 10 fish in a pond. but it's not going above 2

hallow prism
#

it's not adding, it's replacing

#

well, rather, it picks one

dusty scarab
#

ah, okay. that would explain it. so if I want a chance for 4 if 10 fish are present, it needs to be min 4, max 4, and the other two lower options are ignored if the 10 fish option is chosen?

hallow prism
#

yes

#

unless of course there's a mod that picks several at once but you can't account for every modded case 😄

dusty scarab
#

awesome, thank you. I'm glad it's a simple misunderstanding to fix.
and ha hah, I can definitely not account for every modded case XD those people are on their own, they can deal with sturgeons who lay fish eggs like chickens

elfin grove
#

Is it possible to make a schedule inside the farmhouse? Or in the partner's room. (using content patcher)

hard fern
#

since well, you put furniture in the farmhouse

elfin grove
#

I would like to put a schedule for my NPC in her own space, but I haven't been able to do it after a few attempts.

hard fern
#

oh, right. marriage schedule?

elfin grove
#

yes

tribal ore
#

Let's say I have two files under the same mod on nexus. Will nexus tell people they need to update the mod if I update one of the files but not the other? Trying to think of a clean way to add mod support for PolySweetLove. I think having two versions of the mod is the right choice, since I get into a lot of if/else hell otherwise

#

Maybe there's some manifest magic that I don't know yet

hard fern
#

yes in fact there is

lucid iron
#

just use hasmod kantrip

#

but for players it's less confusing to just have 1 mod file

crude plank
tribal ore
# lucid iron just use hasmod kantrip

Mostly I was trying to avoid making PolySweet a requirement for people who don't want it. So I thought that having it bundled completely separately would be better

gentle rose
#

you can use hasmod without it being a dependency

tribal ore
#

I know that there are portrait packs and whatnot that have multiple versions under the same mod

hard fern
#

if you use hasmod you can keep the compatibility part in the main mod but only have it activate if they have polysweet

crude plank
#

And the mod appears as having an update every time one of those is updated

hard fern
#

i thought you could also have like... subkeys though

tribal ore
crude plank
#

Yeah

#

It is lol

tribal ore
#

Subkeys would be neat. But I'll probably end up using hasmod after all. Was just trying to keep things tidy, but am probably just overcomplicating it

elfin grove
crude plank
#

Hasmod is the way to go i believe

lucid iron
#

you dont have to list polysweet as a dep

hard fern
lucid iron
#
{
  "UniqueID": "Pathoschild.LookupAnything",
  "MinimumVersion": "1.49.0",
  "IsRequired": false
},
elfin grove
tribal ore
dusty scarab
#

I don't think my patch is patching properly. to bugtest and make sure things were working, I made the chance values for the population 10 and population 9 options 100% and gave them a unique number (so I could be sure it was that particular option when it procced) and had the population 1 option be Purple Mushroom, something radically different to seperate it from the vanilla roe option.

all I'm getting is the vanilla roe amount. not the population 10 or 9 roe amounts, or the purple mushrooms. included is my FishPond.json and the patch summary information. I know I'm doing something wrong, but I still can't figure out what

lucid iron
#

are you trying to modify "Id": "Sturgeon",

dusty scarab
#

yes, I was using its object ID number because I wasn't sure if the text string "Sturgeon" would be acceptable

lucid iron
#

you should be using TargetField to edit the vanilla sturgeon entry

#

not add another one

#

["Sturgeon", "ProducedItems", "(O)812"]

dusty scarab
#

oooooh, okay. thank you!

marble nova
#

Is it possible to have an NPC that is not the player's spouse enter the farmhouse? For example, a spouse's parent/sibling/friend?

lucid iron
#

its very hard

#

you can have events take place in farmhouse, but it wont be compatible with farmhouse changing mods

marble nova
#

interesting

#

but I couldn't have it be a part of an NPC's schedule? Like one day a month my spouse's sister will come "babysit"?

ivory plume
#

(New feature for {{i18n}} tokens in the upcoming Content Patcher 2.6.0: translation fallback keys.)

golden spire
lucid iron
marble nova
#

devastating

lucid iron
#

and u probably dont want to make them kick down ppl's things lol

brisk wedge
#

Why does (double)codes[i].operand == 0.02 return true but codes[i].operand == 0.02 as object return false? The type of codes[i].operand is System.Double

lucid iron
#

(codes[i].operand == 0.02) is false right

#

and then u tried to cast it to object?

#

what is the goal here

brisk wedge
#

oh does the as object happen after the ==?

lucid iron
#

u could try codes[i].operand == (0.02 as object) maybe

#

but honestly i think casting to double makes more sense

#

from a readability pov

marble nova
#

Can the babies leave the farmhouse? 🤔

lucid iron
#

no

#

the lesson here is farmhouse succ

marble nova
#

lol

crude plank
#

If you throw them far enough /j

golden spire
#

they can leave if you turn them into doves

#

😉

lucid iron
#

no...

#

my bby :(

marble nova
#

So no field trips and no visits from auntie, devastating

golden spire
#

only reason I ever had them was for achievments... then never again

brisk wedge
#

codes[i].operand == (0.02 as object) also returns false

marble nova
#

isolated babies forever

lucid iron
#

sad ig thats just how it goes

marble nova
#

sad bubble children

crude plank
elfin grove
rigid oriole
#

(WIP) Thoughts on this page format? It's the output of a command I'm working on to export your mod lists as a formatted HTML page for shareability (or just to look at for fun if you want lol)

#

(pop it open in a browser)

lucid iron
#

its nice DokkanStare

#

i would like a grid layout though

#

for the 1k mods ppl

rigid oriole
#

Oh like more compact with multiple columns?

lucid iron
#

yea

#

well, u can perhaps make simple layout that

#

just title + whatever desc is in the manifest + attempt at nexus/github link

rigid oriole
#

I think if u have more than a hundred mods u prob don't want the images right

lucid iron
#

instead of the ul u have rn

#

the other thing i, graph theory fan, desires is a dependency tree

rigid oriole
#

If u have a thousand mods you can't actually send enough nexus requests to generate the list with images bc nexus in its wonderful wisdom doesn't have a bulk get endpoint

#

1k dep tree 🥹

lucid iron
#

i think you can just break into SMAPI internals for that

#

it will have one somewhere after all

rigid oriole
#

Surely it must to determine load order

#

I think i need to do a check on the remaining hourly/daily requests and tell them they won't get images or anything if they don't have enough api calls

#

I spit out what they have remaining but I need to not bother trying if they won't have enough

lucid iron
#

honestly i dont think i care that much about having nexus thumbnails

rigid oriole
#

They do take up space

lucid iron
#

are u going to broadcast the pelcan to uh

rigid oriole
#

What is this lol

lucid iron
#

something that would be useful is little labels for what framework they use tho

rigid oriole
#

The pelcan?

lucid iron
#

CP/FTM/FS/AT or nothing (i.e. C# mod)

#

this u can also find out without api so

rigid oriole
#

Yes that one is in manifest

lucid iron
#

pelcan Mouth perfec t size for put baby in to n\ap! inside very Soft and Comfort baby sleep soundly put baby in Pelican Mouth.

rigid oriole
#

I also wanna group stuff with the same update key

#

Nobody wants like 3 entries for one mod

lucid iron
#

yea but sometimes ppl just dont put update key on the sub components LilyDerp

rigid oriole
#

Vibrant pastoral redrawn has Nexus:??? As its update key I've learned

lucid iron
#

i did this one in snek manually

#

so its not that hard even if u dont break into smapi internals

deep cypress
#

I hate my mod name, but it's the best I can think of, any thoughts?
Clothes Give Buffs - Hats Shirts Shoes - plus More Clothes

golden spire
#

"Buff Clothing" and the preview picture is Lewis with a 6 pack and purple beach shorts

deep cypress
#

That's hilarious! And Pam with ripling abs!

rancid musk
#

Or you could just use codes[i].LoadsConstant(0.2) if you're checking for a constant number. (I don't know when else you'd be checking for an operand that's a double mind you.)

lucid comet
dusty scarab
# dusty scarab I don't think my patch is patching properly. to bugtest and make sure things wer...

when I added in the "TargetField": [ "Sturgeon", "ProducedItems", "(O)812" ], line, the first error started popping up. when I removed the offending line, the second error started popping up, and when I removed those, it began to send red text telling me that all of my [, {, ] and } characters seperating out my various Populations were making my json invalid.

while it doesn't scream at me anymore when loading, and it DOES change the roe into purple mushrooms for population 1, despite having 10 fish in the pond, it will not give me anything for population 10. I know this is because the only Population data that's getting replaced in the table is the last one in the list, but trying to seperate them back out with curly brackets results in me getting told my json is invalid.
replying to myself to make my original .json, with the proper curly bracket placement, easy to find

sour sleet
#

Are there any downsides to using a large number of tilesets for a map?

lucid iron
#

i realised i had to use #0 instead of (O)812 because of dupe ids

#

if you look at Data/FishPondData u can see how the target field is drilling down

#

bc there r dupe Id i had to use #0 for the index

#

if u want to edit the second output it'd be #1 and so on

#

and i am only change what i need to here (MinStack, MaxStack)

dusty scarab
#

is #0 referring to that entry's place in an array list? sorry, stupid question, I know, I just want to make sure I'm understanding it properly

lucid iron
#

yes (these are lists not arrays)

dusty scarab
#

lists, sorry

#

and, just to double check, is that MinStack 4/MaxStack 4 specifically for if there are 10 sturgeons in the pond, or any number of sturgeons in the pond?

lucid iron
#

I'm targeting the first entry in that list

#

It happens to also have RequiredPopulation 10

dusty scarab
#

ah, okay. so if I wanted to target the second entry, which is RequiredPopulation 1 (if I'm remembering right), then it should look like

        "Sturgeon",
        "ProducedItems",
        "#1"
      ],
      "Entries": {
        "MinStack": 2,
        "MaxStack": 3
      }```
right?
lucid iron
#

This would target the second entry yes

#

I would double check unpack

#

Now this is like, fine if you want to keep the vanilla progression of fish counts

#

If you want to completely replace ProducedItems, you have to target just Sturgeon and put in your own list

#

You may do this with Fields if you want, see EditData docs on that one

dusty scarab
#

I think I am wanting to completely replace ProducedItems with my own list, as I wanted to have a different amount of roe for if you had 1-8 fish in the pond, 9 fish in the pond, or 10 fish in the pond, along with a 100% chance to select that fish amount's items. so as long as you had, say, 9 fish in the pond, you'd always get 2-3 roe, and 10 fish would always get you 3-4 roe (I have it at a flat 4 for now just to test to make sure things are patching like they should, once they're working I'll change to final numbers)

#

Fields would be the better way to do this than Entries?

lucid iron
#

Fields is basically target fields but only 1 level deep

#

You definitely don't want to override the whole Sturgeon entry

dusty scarab
#

I definitely do not

#

reading the editdata doc some more, I see what you mean now by drilling down

lucid mulch
#

iirc Fields can be used with TargetField as well.
TargetFields all about changing what scope ContentPatcher is looking at

uncut viper
#

(Fields can be used with it yes)

lucid iron
#

yea but the point is more, u r already at only 1 down

#

it is use Fields at top level instead of "TargetField": [ "Sturgeon" ]

dusty scarab
#

I don't think it liked me changing TargetField into Fields

uncut viper
#

well thats just a json syntax error

#

do you need both fields and targetfields

#

what does your json look like now

dusty scarab
#

it looks like this

uncut viper
#

Fields would be in place of Entries

#

(or alongside, if you wanted to do both, but no reason to)

dusty scarab
#

so I still need TargetField, but change Entries into Fields instead, and my error was that I changed the wrong thing?

uncut viper
#

you just want to erase the existing ProducedItems list entirely and replace it with your own right

#

am i understanding ur earlier message right

dusty scarab
#

yes

uncut viper
#

then you will need both TargetField and Fields

#

but dont drill into ProducedItems

#

but bc FishPondData is a list of objects you still need TargetField to get to Sturgeon in the first place

dusty scarab
#

"TargetField": [ "Sturgeon" ], so that I am only drilling into the Sturgeon entry itself, correct?

uncut viper
#

correct

#

i think then that using Fields instead of Entries but otherwise keeping what you have will work

dusty scarab
#

it is still not liking something somewhere with Fields

uncut viper
#

what is your current json

dusty scarab
#

the 422 is just to make sure that it's changing to the patched output and not using the default output, I will be changing it once I know everything is working like it should be

uncut viper
#

admittedly im less sure the proper way to do this when the top level itself is just a list of objects

dusty scarab
#

yeah, I thought this would be similar to something like editing Pierre's shop list, but it seems like it's anything but. none of the lessons I learned doing that seem to be working out here

uncut viper
#

it might actually just be Entries in this case

dusty scarab
#

yeah, it stopped screaming at me when I put it back to Entries

#

and I'm getting the proper amount of roe out of a 10-fish pond

uncut viper
#

Fields is usually the way to go bc usually people just dont drill down more than they need to but ig its just a bit different with top level object lists, which few assets are

#

i guess in this case its like using Entries to edit context tags

lucid mulch
#

Fields requires two layers of keyvalues

uncut viper
#

yeah

frail canyon
#

Hey all! I am a seasoned android developer but new to modding. I have a mod idea to assist with syncing save files across android and PC. The first thing would be to allow for a new save file location due to android's permissions being too restrictive with regard to the default save file location. The mod would allow you specify a file location to look for stardew valley saves. Any idea if that is even possible or how to get started on that?

uncut viper
#

you could do this anywhere else too but theres just no other reason to drill down that extra one layer unnecessarily

lucid mulch
#

that array could be replaced with object with keys "#0", "#1", "#2", "#3" and I think that works?

#

and if theres a 5th and 6th produceditem they would be preserved

uncut viper
#

they want to replace the entire list though

lucid mulch
#

then dont targetfield and have the Sturgeon key wrapping produceditems

uncut viper
#

Sturgeon isnt a key

#

its an Id

lucid mulch
#

then TargetFields already not valid

dusty scarab
#

it's working as intended now, though. thank you, Button, Chu, everyone else

uncut viper
#

it is valid, TargetField can do that

ivory plume
uncut viper
#

Data/FishPondData is a list of fishponddata objects that have Id values, so you need TargetField to select the Sturgeon one

lucid iron
#

[SMAPI] SMAPI 4.2.0 with Stardew Valley 1.6.15 build 24356 on Unix 6.13.7.1

uncut viper
#

TargetField specifically uses a dictionary key if its a dictionary or a "list key" (which is what "Sturgeon" is here), or a field name, or a list value, or finally a list index

lucid iron
#

looks good

#

say pathos do you know about the glibc problem on certain linux distros

#
[game] Galaxy SignInSteam failed with an exception:
TypeInitializationException: The type initializer for 'Galaxy.Api.GalaxyInstance' threw an exception.
 ---> TypeInitializationException: The type initializer for 'CustomExceptionHelper' threw an exception.
 ---> DllNotFoundException: Unable to load shared library 'GalaxyCSharpGlue' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libGalaxyCSharpGlue: cannot open shared object file: No such file or directory
#

im not even sure why im getting this when im on steam

ivory plume
#

Nope. I assume that's not new in 4.2.0?

lucid iron
#

no its to do with the game

#

during some arch updoot glibc went up and broke this blobcatgooglyblep

ivory plume
#

No idea unfortunately, sorry. (And thanks for testing!)

lucid iron
#

its a good thing i dont play multiplayer blobcatgooglyblep

lucid mulch
uncut viper
#

i didnt know it worked like that without a targetfield to go along with it, but if thats the case then thats very good to know then
so Sekundes if you feel like changing it you can do the way SinZ mentioned too then

dusty scarab
#

it works now, I have a feeling that if I touch it again, all the magic blue smoke will escape and it will never work again XD

lucid iron
#

sinz is massive number of TAS able to cause perf problems

uncut viper
#

how many TASes are you trying to make chu

calm nebula
#

Anything can cause perf issues if you try hard enough

lucid iron
#

im giving ppl the potential to make a lot of them

uncut viper
#

sounds like the people who wanna make a lot should be asking

dusty scarab
#

TAS as in tool-assisted speedrun, or something else?

uncut viper
#

TemporaryAnimatedSprite

lucid iron
#

the thing i dont rly get rn is this pool mechanism

lucid mulch
#

the way ContentPatcher works internally for EditData is that it has an 'Editor' view.
Entries does editor.SetEntry(key, yourValue)
Fields (targetting an array or object) does editor.GetEntry(key) and then mutates that reference directly using newtonsoft's Serializer.Value.Populate method

What TargetField does is start with that parent editor, and for each key in TargetField, creates a new editor targetting parentEditor.GetEntry(key)

(this is still somewhat over simplified, as there is a factory to make the editor, and theres different types of editors based on being dictionary vs list vs model vs delimitedString )

calm nebula
#

You can see similar in string builder pooling

uncut viper
#

what threw me was just the saying targetfields is not valid after i said its not a key but an id, but i think i was just taking "key" more syntactically literally than you meant it

lucid mulch
#

Content patchers definition of key is the more abstract notion, and at this point I have much more hours inside the CP codebase than actually using it

#

fun fact, EditData Entries is internally called Records

uncut viper
#

i actually think i do too but the difference is thats mostly bc i dont really ever make CP mods and also it doesnt mean i understand it still SDVpuffersquee

tiny zealot
#

@calm nebula 🤝

lucid iron
#

how do i skem SVE into using my less intensive fog

uncut viper
#

PR to smapi that will inject harmony patches into SVE

brittle ledge
#

could you not do a PR to SVE directly? Who's managing the C# part right now?

uncut viper
#

i didnt think SVE was really receiving updates anymore though? with the work on castle village instead if anything

brittle ledge
#

I mean, you could ask Flash directly, but since SVE has seen a lot of folks no longer able to use it, I think he'd probably appreciate a performance boost SDVpufferthinkblob

marble nova
#

how do I make this part look at my mod folder instead of the normal folder?


"TextureName": null,
                    "Appearance": [
                        {
                            "Id": "Winter",
                            "Condition": null,
                            "Season": "Winter",
                            "Indoors": true,
                            "Outdoors": true,
                            "Portrait": "Portraits/Abigail",
                            "Sprite": "Characters/Abigail",
                            "IsIslandAttire": false,
                            "Precedence": -100,
                            "Weight": 1
                        }
lucid iron
#

yea but honestly the code is very easy

#

i dont know why it was never considered

#

easy as in, it'd be actually simpler to hardcode the one case Dokkan

marble nova
#

vibing in the sky

rigid oriole
#

an attempt at 2-column slightly more compact grid view

lucid iron
#

oo i like it

#

basically what i imagine

rigid oriole
# lucid iron

i've been watching your progress on this for a while now, what are ya gonna call it?

brittle pasture
lucid iron
#

its part of MMAP

#

this is a framework feature for maps

#

ill use it myself eventually, maybe

rigid oriole
lucid iron
#

*basically what i imagined

rigid oriole
#

ok neat

#

thank u for your feedback earlier btw SDVpufferheart

#

i should find some limited free document store hosting and let ppl make shareable links. i feel the scope creep coming on

uncut viper
urban patrol
#

does anyone know how to put arrow signs in dialogue boxes? i'm trying to do TileData Action Dialogue for a directional sign and i wanted to have two entries pointing right and down

rigid oriole
#

Idk how to decide what the main mod is of the multiple ones ngl

lucid iron
#

i dont know if its really worth doing

#

u could just sort it by unique id and get like, half way there?

rocky robin
#

Heyy, Im currently working on a mod and I was wondering if there is any way of "restarting" the mods when I update them.
Lets say I compile the mod and I open stardew and I get a console error, I go and fix it and compile it again but until now I have been hard reseting the game (so shutting it down and opening it again) and that has been very time consuming, is there any other way I can do it??

uncut viper
#

!hotreload

#

or not

calm nebula
#

!reload

ocean sailBOT
#
How do I reload my changes while I'm still in game?
  • Content Patcher pack: enter patch reload <your_mod_id> in the SMAPI console window. This will reload and reapply all your patches (but won't recalculate the ConfigSchema or DynamicToken sections if you use them).
  • Translation files: enter reload_i18n in the SMAPI console window. If it's for a Content Patcher pack, also run patch reload afterwards.
  • C#: see the Visual Studio hot reload or Rider hot reload feature.
calm nebula
#

Close. But no cigarettes

uncut viper
#

room temp reload

rocky robin
#

Thank youu!!

marble nova
brittle pasture
#

actually, do you just want to replace Portraits/Abigail with your own PNG?

#

my instructions assumed you're adding a new entry entirely

marble nova
#

nope - it's only on Abigail bc I yoinked the like, character profile thing from Abigail and have been updating the info to my boy, but it adds him as a new guy not replacing abigail

#

but I can't get it to add his winter outfit

brittle pasture
#

Load your texture into Portraits/YourCharacterName_Winter (example name) and use that in a new Appearances entry

brittle pasture
urban patrol
#

...that's probably what i meant to use lol thanks

#

would i just type > for a right arrow?

brittle pasture
#

> becomes right arrow, @ becomes left arrow, ` becomes up arrow

#

there is no down arrow (unless you use SVE, which goes "Fine, I'll do it myself" and patches the font to replace a character with a down arrow)

urban patrol
#

that's wild lol

#

i'll move the sign and make it a left arrow

#

thank you!

hot oasis
#

hey! Im making a mod and currently using Content patcher..trying to figure out how to trigger an event when the player goes to sleep!

brittle pasture
#

you want DayEnding

#

what events do you want to trigger

uncut viper
#

a nightly event may need More Nightly Events

brittle pasture
#

oh did you mean a heart event

hot oasis
#

sorry i should specify better, i meant cutscene!!

brittle pasture
#

yep I kinda figured lmao. as button said you might need that framework mod to add your own

hot oasis
#

got it! will look into it! thanks folks!

quaint idol
#

How simple is making mods for sdv and how simple is it to learn c# to do it

calm nebula
#

Simple is in the eye of the beholder

tiny zealot
#

!startmodding it's pretty simple, although as you might expect, certain things are quite difficult.
for starters, you don't need to learn C# for a great many types of mod

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.

calm nebula
#

My understanding is that stardew mods are easier to make than most other games

#

As for c#: it's a very nice language

fathom hound
dusk mulch
#

Jeez I am trying to do the spawn randomization for this and it is killing me, I am asking for help in the monogame discord but their advice isnt helping much.

tiny zealot
# fathom hound

the event key is "65/m 25000/t 600 1200/H", so:
between 6 am and noon, host player only, 25000+ total earnings. plays when entering Farm

#

i believe if you earn money and cross the threshold before noon, then go to your farm, he will show up immediately

sage geyser
#

Hello! I joined rn because im having trouble making my first ever mod, im just changing the portrait sprites fo shane for now

#

Is there a specific channel to post like the SMAPI error?

tidal stone
#

where would one find the list of x and y spots for items in springobjects im trying to repalce the meteor

#

i knwot heres a lsit i just cant locate it >.< srry

#

*list

quaint idol
#

Also I'm already learning two programming languages how hard can a third be

brittle pasture
#

I'd open up the image in an editor and see what the x y coords for the meteor is

tidal stone
#

OH i think i found it?

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

tidal stone
#

hmm the meteor appears to have 2 xs and ys would i need to load those squares all seperately?

brittle pasture
#

!json and what you are working on as well

ocean sailBOT
#

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

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

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

brittle pasture
#

EditImage can edit whatever sizes and locations you want, not just in 16x16 chunks at a time

sage geyser
#

The SMAPI seems to have a problem with the code i put in my json file, lemme post

tiny zealot
sage geyser
tidal stone
#

oh ok let me see if i typed this in correctly then o7 ty ty

brittle pasture
#

pls use the json link above

#

you're missing a { to match the first }

#

and a command between } and { in the line below

#

every object in JSON must be enclosed between matching brackets

#

and you need commas to separate them, as well as separate entires inside a bracket

deep cypress
sage geyser
#

So srry, is there a way u can like draw on the screenshot where the {}’s are?

#

Im not a coder i just copied something from online 🥲

brittle pasture
#

if you upload the file to the json validator I linked above it can point out the mistakes by line

#

and I can also help correct the file with actual line numbers

sage geyser
#

Ahh okay

sage geyser
#

It wrote that theres an issue with line 4 but im unsure how to solve it

brittle pasture
#

post the link here

sage geyser
#

Hold on, ill need to transfer some files around

marble nova
#

you should just be missing an opening curly bracket on line 4, I think?

#

and on line 12 you're missing a comma

brittle pasture
#

you just need to post the link to the smapi.io/json site that you're viewing the errors in your browser

sage geyser
#

Apologies, discord is not on my laptop im typin from my phone oopsie

marble nova
#
{
  "Format": "2.5.0",
  "Changes": [
    {
    "Action......
#

you're missing the curly bracket before Action

brittle pasture
#

thanks, that's clearer
like icarus said, missing { between line 3 and 4
and missing comma between the two brackets on line 12

marble nova
#

haha

sage geyser
#

Ohhh!!!

#

Thank youse so much yall 🙏🙏i see now

urban patrol
#

that validator is super useful for pointing out syntax errors, although sometimes you have to look a line above where it says the error is

#

(since it's usually something like unexpected character on the next line)

sage geyser
#

Thank youse so much yall for helpin me out on this, this why im an artist not a coder lol

marble nova
#

I'm also learning the code part rn, and I've had sprites done for weeks already haha

#

is there a way to put spouse dialogue on your anniversary?

urban patrol
#

you gotta start somewhere!

tidal stone
#

(i just got the mod i converted to work ty ty for the help SDVpufferheart )

marble nova
#

Cool! Is it like the iridium meteor thing? Or a new thing?

tidal stone
#

its a regular meteorite replacement :3

#

it would be cool to make it cycle between the colors randomly

marble nova
#

that would look so cool!!!

tidal stone
#

i might look into it further when im less sick but it would be a personal thing since its for personal use
i dont think im allowed tor edistribute peoples converted mods uwu_nod

#

but i can link you to the original

vernal crest
marble nova
#

unfortunate

#

ALSO is there a way for dialogue to distinguish between rainy days and days with thunder?

vernal crest
tidal stone
#

OOh yee let me grab the og mod for people who are curious

brittle pasture
lucid iron
brittle pasture
#

wheres the goose

hot gale
lucid iron
#

right here but hes too small to see

vernal crest
marble nova
#

Can Schedule check that too?

tidal stone
#

would it be possible to make different colored meteorites fall depending on season 🤔

#

without C#

vernal crest
lucid iron
#

you can patch the meteor sprite

#

but it just means the meteor looks different every season

#

do u want that?

tidal stone
#

yea i think it would be a fun little dynamic thing

uncut viper
#

might be strange if my decorative meteor i didnt mine changed colours suddenly

#

but maybe its junimagic

tidal stone
#

oh your fair and real button XD

lucid iron
#

it just got snowed on or something

tidal stone
#

LOL

#

mybe ill make my own multicolored meteor i had an idea for one thats like a large crystal structure protruding from the ground

#

like this

lucid iron
#

i guess u can spawn that with some combo of item extensions and more night events?

tidal stone
#

for now ill use the naver one

#

but i might work on that in the bg

lucid iron
#

im not sure if people would rather have like

lucid iron
# lucid iron

a general purpose bg like this one that they only need 1 map prop to setup

calm nebula
#

I love the background

lucid iron
#

or awful 10 arg string prop

#

which is what i actually have rn

#

and doesnt even support time of day things yet

uncut viper
#

have you considered a custom asset model

lucid iron
#

i did but its not quite that complicated yet

#

it also isnt as terrible as vanilla tree prop for what its worth

#

ill sleep on it

#

the main point of contention is that theres also this chunked mode that im supporting

#

they cost me 5 different args that most ppl wont even use LilyDerp

uncut viper
#

its 10 args

#

thats complicated enough

lucid iron
#

but they r flat

uncut viper
#

anything more than like 4 args max in something is more complicated than id like unless necessary

#

especially if i want to think about making any of them conditional

#

but only some and noit others

lucid iron
#

ig it depends whether you consider Rectangle 1 or 4

#

cus that is part of the problem with draw related stuff

uncut viper
#

4

lucid iron
#

the main reason why i'd want to keep this as map prop(s) is so that i dont have to do extra stuff to map things

#

perhaps i just separate the chunk related stuff to another map prop (there are 4 of these rn)

lean verge
#

if i wanted to recolor one of the dogs ingame how would i go about that SDVpufferdizzy

lucid iron
#

i would add a new dog Breed instead

#

either way start by reading about content patcher

lean verge
lucid iron
lean verge
#

didn’t even know the wiki had modding stuff, soo much to read now SDVpufferwow

lucid iron
#

hmmmm

#

if i do custom data model i'd be able to justify GSQ easier

#

✨ scope creep

urban patrol
#

the error i get in SMAPI when starting the game is that the location couldn't be created

uncut viper
#

!log please post the exact error log

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.

urban patrol
ocean sailBOT
#

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

marble nova
#

Is its name missing the mod id somewhere else? It seems like the json thing is saying the name doesn't match?

#

line 18?

#

or is it a format thing?

urban patrol
#

i think you're right it's probably line 18

uncut viper
#

have you double checked your map/tile properties?

urban patrol
#

also i changed line 18 and it still doesn't work, so i guess that wasn't the issue

uncut viper
#

something on the Buildings layer, id suspect. its failing in GameLocation.updateDoors()

#

an empty Action, maybe?

urban patrol
#

i added this TileData Action Message to the signpost:

@ Lighthouse```
#

does it not like new line characters or something maybe

uncut viper
#

newlines wouldnt be handled i dont think, no

orchid glade
uncut viper
#

but can you send a screenshot of your TileData anyway? its not the kind of error id expect

#

is that the only TileData you have on the Buildings layer?

urban patrol
#

i have a LockedDoorWarp (although it's not new i added it weeks ago and have been able to use it) and i have a Dialogue

uncut viper
#

and your message one is definitely named TileData? if so i guess try it without the newline

urban patrol
ocean sailBOT
#

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

uncut viper
#

well you've renamed the location to have the modid in the location key itself now (which you should be doing from the start, though i notice none of your others do)

#

so that warning is actually for a no longer existing location and not the one you just reloaded

#

so yeah it seems fine

urban patrol
#

okay thank you

#

i'm slowly adding my mod id to things

uncut viper
#

the sooner you change things to use it the better

tidal stone
#

I have a quick q about mod permissions

#

like if your making a mod and wanna color it to match a recolor or retexture should you ask permission from the mod author of that recolor/retexture or is that only if your using assets?

#

specifically i wanna make my mod be pairable with wildflours whismical resources by recoloring my rock base of my crystal meteorite to be similar to the rocks in it so that it doesnt look out of place

old edge
#

Hello, how can I make the screen shake in an event using content patcher?

spice inlet
spring marlin
#

just got an idea for a mod, something that adds more mini obelisks, im thinking color them with gemstones and each colored set could be placed down and used as different mini obelisks

faint ingot
#

I just tried using spacecore to spawn monsters on a custom map for the first time and it worked the first time - I am gobsmacked.

dusk mulch
#

Well I guess while I am waiting for help I can work on the score/rectangles...

dusty scarab
#

well, it doesn't seem to be barren, so I know one thing that's gotta be planted there

vernal crest
#

Curious, the screenshot didn't capture the tinting. I will try again.

#

There are 56 crops in that image

brittle granite
#

Anyone know the best guide to beginner creating my own crop mod? It may be a bit ambitious but I don’t really know where to start in 1.6

#

*begin

vernal crest
#

Drat I missed out on the seed stage for the short ones >_<

vernal crest
# brittle granite Anyone know the best guide to beginner creating my own crop mod? It may be a bit...

I don't think crops are too ambitious. You want this page for making the initial content pack, then the crop data page for making the crop part (the bit actually in the ground) - there's an example at the bottom you can copy and edit, and the objects page for the fields you need for the seeds and the produce from the crop. There's an example of doing that here (ignore the gift tastes for now). If your produce is not also the seed like in the example, you will want two entries in Data/Objects: one for the seed and one for the produce.

brittle granite
#

You’re the best, thank you so much! @vernal crest

dusty scarab
vernal crest
#

Yes, Sekundes's suggestion to download other mods that do crops and look at them is a good one. People usually suggest Cornucopia and that is very good and comprehensive but make sure you can single out just one instance of a crop rather than trying to look at all of them.

brittle granite
#

I see, thank you. I will definitely try that. I have some c# knowledge but with content patcher it seems a lot easier. Do you suggest just looking at the actual files themselves or is there a specific place on the mod page? I actually looked earlier at that exact mod but only saw stuff using json assets.

dusty scarab
brittle granite
#

That’s awesome! I really like your sprites btw!

dusty scarab
#

you can use it to look off of how I did it, and see if it makes sense to you

dusty scarab
brittle granite
#

I really appreciate it!

dusty scarab
#

if you have any questions, feel free to ask

brittle granite
#

I appreciate it, im gonna look at it right now

#

Thanks again both of you!

dusty scarab
#

you are most welcome

vernal crest
brittle granite
#

I see now, and I looked through your files Sekundes and I do understand it, but I do see that I should focus on just one to start out XD. @vernal crest I think I was looking at the part where they ported everything from PPJA and that's where I got confused. That rigidity seems really nice actually, less daunting for sure.

#

@dusty scarab I looked through your files and it looks a lot simpler than I originally thought. I think im going to work on the sprites firt then begin the actual implimentation part, but overall thank you both!

vernal crest
#

Third time lucky, bla bla bla crop monstrosity.

dusty scarab
brittle granite
#

Thank you, yes it is!

vernal crest
brittle granite
#

also another quick question, is it easy to add things to machines? and be able to turn the new crops into artisan goods?

#

@vernal crest Ah I see, that makes alot more sense now that I think about it

dusty scarab
vernal crest
#

Easy is relative to your own ability to grasp the concepts and your patience/determination, but yes and yes.

brittle granite
#

I see, and that makes sense too XD

dusty scarab
#

though, if you wanted a custom machine output, look at my machines.json under Data, as that is where I put the custom Bottles of Dried Herbs that the dehydrator turns my herbs/spices into

#

also something to note on that topic, is that the game populates a list of what things can turn into when put into machines, and once it finds a match, that's it, that's what it picks. so if you're adding, say, custom items to the dehydrator when that item can naturally go into a dehydrator, you'll need to make sure you reorder the list so the item you WANT to be made is at the top of the list, so the game finds it first.

I went through a lot of Handful of Dehydrated Peppercorns before figuring that out

brittle granite
#

Ah okay I see, so for example if five peppercorn are put in it outputs one dried peppercorn item

dusty scarab
#

yes! you can also control the maximum and minimum quality crops can be harvested at. for example, herbs/spices like peppercorns are locked at normal quality, no matter what. I did that as a quality-of-life thing, since they're intended as dehydrator produce and making sure you have 5 of the same quality to get the dehydrator working was always a pain

brittle granite
#

That makes sense, so you would want your custom recipe above the vanilla one in the order of operations. And I see, okay awesome! it makes alot more sense now looking at it. Is there a good way to keep everything organized when doing this kinda stuff? Did you set up a google doc or something 😅

#

And it seems like copy pasting is gonna be the big thing here like most coding.

dusty scarab
#

no, but I do use Visual Studio Code, which is easier for keeping track of things and keeping multiple tabs open than doing it something like vanilla Notepad

brittle granite
#

Thats what I use too, I assume it would be easier for me to follow if I actually set up the project first.

#

Ill use the file that @vernal crest sent earlier to start.

dusty scarab
#

ah, fair enough. I did all of my organization by mentally working through one season at a time and keeping my tabs open to make sure I was getting everything done, working from the leftmost tab over to the right, for each crop. I think organization ends up being what works best for you, honestly. it's different for everyone

vernal crest
#

Wha? I sent something?

brittle granite
#

Valid, that makes total sense!

#

and yea those files above for me to get started XD

vernal crest
#

Oh the links to the wiki pages lol

brittle granite
#

those hyperlinks 😂

dusty scarab
#

ah, late to the party because I went scrolling to find them, lol

vernal crest
#

For project management some people use paper and pen to-do lists, some use things like Trello or MilaNote, some use Google Docs or Sheets, just write their to-do lists inside their json files. It's all very personal. Just make sure you do not write one single thing that's meant to go in your json content itself inside Google Docs or Microsoft Word lest you introduce characters the game can't interpret.

brittle granite
#

one more thing, thanks again for the help both of you! the days in phase, is that referencing how many days to update the sprites of the growth cycle? I see, I will have to try that. I have a little notepad, and I think it will help me atleast get a start to the whole thing.

dusty scarab
#

you could always make your own personal discord server and keep your to-do lists there, organized by channel, with notes and everything

dusty scarab
brittle granite
vernal crest
brittle granite
#

okay I see, so this crop takes 4 days to grow and takes 3 days to reproduce again?

vernal crest
#

No, it takes 11 days.

dusty scarab
vernal crest
#

The first item in the list is the seed phase, which will pick one of the first two sprites in the texture to plant and then ignore the other one when it goes to pick the sprite to use for the next phase.

brittle granite
#

oh I see that makes much more sense 😂

dusty scarab
#

after phase 4 when harvested, it reverts to the 6th sprite in the zucchini_crop.png until 3 days have passed, at which point it reverts back to its harvest sprite

brittle granite
#

I think my confusion lies in the four being in the fourth phase spot

vernal crest
#

Reverts to the 6th sprite? You don't have it using the 6th sprite in its growth though.

#

Initial growth, I should say.

dusty scarab
#

for regrowth crops, it picks the final sprite in the line to use as the regrowth phase. I put mine on the 6th place in the png

brittle granite
#

so if it was three days in phase four shouldn't it also be a 3?

dusty scarab
#

because the individual size of the tiles for sprites is 32x128, which gives 6 possible growth tiles, plus 2 for seeds, and it picks the last growth tile as the regrowth phase sprite

vernal crest
#

The game will always pick the 8th sprite along for its regrow sprite and the 7th for its harvest-after-regrow sprite (this is counting the two seed sprites individually - if they're counted as one, then it's 7th and 6th respectively).

dusty scarab
#

yes. sorry, I wasn't counting the seed sprites and was only counting the growth sprites

brittle granite
#

So like this one for an example does not regrow and takes 5 days to grow? Sorry i might still be confused.

dusty scarab
vernal crest
#

Do you mind Sekundes if I draw on your zucchini crop image to show Rogue the placement of the crop sprites and what they correspond to in the json? (Totally fine if you don't want me to)

brittle granite
#

yall are actually the best

#

I really appreciate both of you!

dusty scarab
#

hey, if I can make learning easier, I'm all here for it. this place has helped me so much, it's nice to be able to help others in turn. we all lift together!

brittle granite
#

so like for you peppercorn crop does it take 3 days to regrow? @dusty scarab

vernal crest
#

Okay pardon my very messy writing lol The blue numbers correspond to the DaysInPhase to show you which sprite will be shown at each step in the initial growth. The purple numbers are showing one way of counting the sprites to show what sprite corresponds with each part of the entire cycle - because only one seed sprite is chosen, they're grouped together and then the next sprite chosen is number 2 instead of the other seed sprite. The H stands for "harvest in first growth" and H+ is "harvest upon regrowing", while the R is the regrow sprite.

dusty scarab
brittle granite
#

sorry im trying to wrap my tiny brain around this 💀

vernal crest
#

Most of the vanilla sprites don't look quite like this because the regrowable ones are usually 5 steps in DaysInPhase, not 4, so there isn't a doubleup of the harvest sprite. Looks like broccoli is the exception to that though.

dusty scarab
#

it's all good :D it's a lot to take in

vernal crest
#

Sorry I am adding a lot of extra burden to you by focusing on the sprite stuff when you're just trying to follow the actual growth itself, so just ignore anything I've said about the sprites!

#

I'm just very obsessed with it because I've literally just been working on finding out the rules for them the past day and a half.

brittle granite
#

So this crop is 11 days total does that include the regrow days after initial harvest?

#

you are all good lol, im just trying to follow the cycle but struggling to do so

vernal crest
#

No, the zucchini is 11 days for only its initial growth.

#

DaysInPhase doesn't affect regrowth in any way.

brittle granite
#

I see okay the diagram is coorelatin how many days to each cycle of that growth sprite

dusty scarab
# brittle granite So this crop is 11 days total does that include the regrow days after initial ha...

it does not. it spends 1 day as a seed, then 3 days as a stage 2 growth (2 in the image), 3 additional days as a stage 3 growth (3 in the image) and finally 4 days as a stage 4 growth (4 in the image).
after 4 days in stage 4 have passed, it becomes its Harvest sprite and is harvestable and spends 3 days as the regrowth sprite (R in the image) and then goes to the sprite labeled H+ when it regrows a new crop of zucchinis

vernal crest
#

The blue numbers are, yes. The purple ones have no relation to number of days for growth at all.

#

(By the way Sekundes, it's good to see you again! Welcome back ^_^)

dusty scarab
#

(I'm remembered! :D it's nice to be back!)

brittle granite
#

Ah okay I see, so as you guys mentioned above the game just grabs the last two sprites for regrowth? so in the tilesheet the last two will always be the harvest and regrowth sprites. And it just cycles H+ after the initial growing untill the allowed seasons change.

#

sorry spitesheet not tilesheet

vernal crest
#

No, not the last two

dusty scarab
#

yes. however, if you have a 5-stage regrowth crop, like most of the vanilla ones are, then you'll use the one in the position labeled H+ as both the first harvest AND the re-harvest sprite

vernal crest
#

Specifically only number 8 for regrowth and number 7 for re-harvest. (If you are counting the seeds as two separate sprites.)

dusty scarab
#

Abagainye is explaining it better, lol

vernal crest
#

I will show you an extreme example of this. This crop has only one DaysInPhase step, so it shows the seeds (for however many days are specified in that one step) and then BAM! harvest. Then it jumps all the way to the one at the far right for its regrowth and once it is finished regrowing, goes to H+ for its harvest, never again using sprite H.

brittle granite
#

okay I see lol, again sorry for being confused. The loop makes sense, but until I actually do it myself my brain gets confused with the numbers.

#

so for that crop are you able to harvest it everyday?

dusty scarab
brittle granite
#

or well without seeing the code I guess I wouldn't know

vernal crest
#

Ah ha you're getting it

#

This can only show you how many visual stages are possible for the crop, not how long they will take in each one.

brittle granite
#

but it starts as a seed then jumps to that second sprite and whenever it hits that second sprite and is harvested it will regrow displaying only the H+ sprite.

vernal crest
#

(I did this as part of a test to work out if you could have crops with fewer or more growth stages than vanilla crops. Every single stage was set to 1 day to make testing easier.)

#

The regrow part will be the R sprite not the H+ sprite, but otherwise correct.

brittle granite
#

So then it will just bounce between the regrow sprite -> Harvest+ then a forever cycle untill the season ends?

vernal crest
#

Yup that's right ^_^

brittle granite
#

okay I see, thank you guys again.

#

makes alot more sense now

#

also were you able to do that?

#

what did your testing find?

#

I think of hops in vanilla stardew dosn't that regrow every day?

dusty scarab
#

that would have a RegrowDays of 1

#

"RegrowDays": 1,

brittle granite
#

but if a crop only has a growing day of the seed and then one day is it still able to be reharvestable? or would it need atleast one growth stage?

vernal crest
#

My findings were that with non-tinted non-regrowable crops you can basically go crazy. Give them as few or as many phases/steps as you like. Regrowable non-tinted can only have fewer than vanilla, not longer. And do not mess with the number of phases/steps for tinted crops AT ALL.

#

This is the shortest you can have:

"DaysInPhase": [ // Harvest day after planting
    1
],
brittle granite
#

I see

vernal crest
#

If you combine that with RegrowDays of 1, you get a crop that can be harvested every day from the day after planting until it dies.

#

Like Sekundes said, kudzu lol

brittle granite
#

that also only takes one day to grow?

vernal crest
#

What thing are you referring to when you say "that also"?

brittle granite
#

so like if a crop only takes one day to grow can it also be harvested everyday following that initial one day. Like kudzu in your example? If that took one day?

dusty scarab
#

it can, as long as its RegrowthDays is set to 1

dusk mulch
#

BRO can C# please just make it so when you do a decimal it automatically makes it a floater im going to cry

brittle granite
#

Okay I see, thank you!

#

lol gotta love the floaters

vernal crest
dusty scarab
#

a 'day' in Stardew Valley can be more accurately phrased as a night. one night needs to pass before one day is recorded as having passed. so if you start the regrowth day before night falls and you sleep, it counts that as the day needed to be spent in the regrowth stage before it's harvestable again

vernal crest
#

You could have a crop that takes 4,000 days for its initial growth and then can be harvested every single day after that. Or you could swap them around and have it take 1 day for initial growth and not regrow for 4,000 days.

brittle granite
#

ah okay I see

static garden
#

hello everyone!
I'm new here so I don't know if I can ask for help 👀

dusty scarab
#

also yes, DaysInPhase and RegrowDays are completely divorced from each other. they can be completely seperate numbers and everything will still be okay

vernal crest
static garden
#

thank you! ❤️

#

so um I'm trying to create npc mod
and I was following tutorial and everything was fine
like I have nps - dialogs are okay, gifts are okay but fors some reason he ignores the schedule

dusty scarab
brittle granite
#

That makes sense, Thanks again for the help tonight, I am going to start tomorrow and see what I can come up with, but yall have a good rest of your night and DankaShu Goodluck with finding answers. You have the best of the best helping you 😂 .

vernal crest
vernal crest
dusty scarab
brittle granite
#

Thank you so much! I greatly appreciate you both! Ill pop pack in soon I'm sure 😂.

static garden
dusk mulch
#

Isn't there a seperate JSON for rain schedules?

static garden
#

the content looks like this

static garden
vernal crest
static garden
vernal crest
vernal crest
static garden
#

those was like draft from coping tutor template

static garden
vernal crest
#

Hmm. Maybe make sure that the one with the rain schedule isn't the one that's being used, then. Is the one with the spring schedule the one called schedule.json inside the assets/data folder?

static garden
vernal crest
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.

ocean sailBOT
#

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

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.

vernal crest
#

Oh, I think I have found the problem!

static garden
#

it's like disposition file?

#

oooo

vernal crest
#

Yes, it is.

#

NPCs aren't allowed in the Backwoods map.

static garden
#

ahaha

#

how can I allow him to all maps

vernal crest
#

You can't, sadly.

static garden
#

sorry it is really my first mod and I mostly copy without understanding half

#

so I just need to move him to town or mountains?

vernal crest
#

The reason they're not allowed there is because it creates what is called "circular pathing" where the game gets confused about how to make NPCs get from one map to another because there's more than one path between the maps.

static garden
#

aaa I see now

vernal crest
#

Yes, try moving him to one of the others (but not the secret woods, that's also forbidden haha)

static garden
#

so its pathing problem

static garden
#

okay this was the second option

#

😂

vernal crest
#

Haha I'm glad I warned you then xD

static garden
#

so in any npc area

static garden
vernal crest
#

Yes, somewhere like Town or Mountain or Forest should be safe.

dusty scarab
#

TIL: this game hates people frolicking in the various woods

vernal crest
static garden
vernal crest
#

You're able to put NPCs into any map during events, so if it was planned as an event it's still okay!

#

They don't use their pathfinding during events because you control their movement 100%

dusty scarab
static garden
dusty scarab
#

(...I don't care what kinds of mods people forget to label properly on Nexus mods, this game is wholesome, darn it!)

vernal crest
#

I like to think of it like a young adult book. Adult themes, less graphic depictions.

static garden
#

I can assure you I'm just creating completely ordinary husbando npc mod 🫡
no strange stuff

dusty scarab
vernal crest
#

You're not alone in that thinking, definitely. I just prefer the "more mature" stories (like Shane's) and get mods that add more of those lol

dusty scarab
#

and all I want is the NSFW mods to be properly labeled so my innocent eyes don't get a drive-by flinching when scrolling new postings on nexus XD

#

filters do nothing without proper labeling!

vernal crest
#

I agree about the tagging. I want NSFW mods to be tagged correctly and also translations. I hate having to wade through all the translations to find the actual content mods but I can't risk blocking the translation tag because people put that tag on the OG mods too.

dusty scarab
orchid glade
#

I filter by english language, it doesn't get all the translations but it gets many

#

maybe it misses mods in english that aren't marked that way though, who knows

vernal crest
#

That's my worry. I know that there are mods with the translation tag but no language (which is confusing) or only tagged with the languages they have translations for rather than the language they're in by default.

orchid glade
#

hmmm

#

gotta catch em all, right?

dusty scarab
#

as long as we don't let Nintendo's lawyers find out. those Cease and Desist letters mean business

orchid glade
vernal crest
#

Oh poop the tags search is an OR, not an AND. I was getting more results with each tag I added, not fewer!

orchid glade
#

Oh dang, can you write in AND search terms? (sorry I forget what that's called)

vernal crest
#

Doesn't look like it

ocean sailBOT
#

@vernal crest You leveled up to Cropmaster. That's level 500! The deepening purple represents your mad descent into the server.

vernal crest
#

Yeeeeeeeeeessssss

dusty scarab
#

nice!

orchid glade
#

I don't see no deepening purple though, cheeto!

dusty scarab
#

the dusting of orange covers the purple. proof: it's how the Dutch did carrots dirty :<

calm nebula
#

Congratulations!

vernal crest
#

Thank you thank you -bows-

#

Okay the language support for English, which is different to the tag English, appears to include things that are not included in the tag.

#

Although there are 3 mods with "junimo" in their description that are tagged English but not in the English language support.

static garden
#

may I also ask about map coordinates? U_U
in Tiles the coordinate axes are like this. are they the same in the game? with y axes starting from top?

vernal crest
#

Data Layers does not provide support for English apparently

vernal crest
orchid glade
vernal crest
#

Sigh, the English tag and the English language support are not OR so I can't use them both to get mods with either thing present.

#

So back to no filtering we go!

dusty scarab
#

it was worth a try

dusk mulch
#

Who was making the legend of zelda in SDV mod?

#

Was it fireredilly?

brave fable
#

hell, i only found out last year there's a MathF library you can use instead of Math to avoid doubles. fancy that

calm nebula
#

Does double not automatically implicit to float

#

it's been a while

brave fable
#

it can't be passed as a float param without casting, if that's what you mean

calm nebula
#

No implicit cast coolio

#

Makes sense

#

Often widening is implicit and narrowing is explicit

#

I would make a "just like my hips" joke here

brave fable
#

can't tell if you eat a lot or party hard

calm nebula
#

....okay I'll remove the joke

gentle rose
#

does C# assume decimals are doubles then?

calm nebula
#

Decimal is a completely different class

#

But yeah

#

2.0 is (usually?) A double

gentle rose
#

by decimal I meant a primitive with a decimal point, yeah

#

also atra you weren't here but the 1.6 version of atracore couldn't compile in vs22 either for me SDVpufferwaaah so it's not a rider thing

mortal goblet
#

Could someone tell me what the “1 2” means in Recipe data?

tiny zealot
brave fable
#

(does the page actually explain what l 2 means?)

tiny zealot
#

it doesn't, actually! i don't know what that specific condition means either

mortal goblet
gray bear
#

i know it's meant to trigger when a player finds copper

#

dunno what exactly l 2 means

tiny zealot
#

Let the code decide, routine 2 /lh

brave fable
#

i suppose it just extends to none or any other value

gray bear
#

any other value my favorite kind

#

wonder if it's event related

brave fable
#

given Complete Breakfast has the condition l 26, i'd assume l stood for level at one point, and was meant to be based on your combined total skill level

#

but nowadays it has no effect, and the recipe won't be unlocked under any normal conditions

tiny zealot
#

that sounds right to me. vestigial condition that does nothing

#

see also

Recipes that are unlocked during vanilla game events are hard-coded to be unlocked when those events are skipped.

gray bear
#

so is it a C# kinda thing?

#

ah yep sounds correct

brave fable
#

well yes and no, the recipe is given to you via event commands, mail, or friendship with npcs

gray bear
#

you get the furnace after an event where Clint somehow finds out you got copper ore

brave fable
#

or, occasionally, bought from a store

gray bear
#

there it go

brave fable
#

in short l does absolutely nothing and may as well be left out

gray bear
#

i mean if it does nothing shouldn't the player just have the furance recipe? or is that hardcoded

brave fable
#

default gives the player the furnace recipe. it's on the wiki page ☀️

gray bear
#

so l is just a value that isn't default and isn't the other 2

brave fable
#

yep! personally i feel like the wiki should have a footnote about l to explicitly say it falls under 'none or other'

#

but it's technically correct as-is

mortal goblet
#

so if i use "l 2" in my recipe, will it unlock with furnace?

brave fable
#

nope, it'll never unlock unless you specifically give it to the player some other way

mortal goblet
#

SDVemoteheart i got it

brave fable
#

(send by mail, add by dialogue, add by event, sell in shops, etc)

vernal crest
#

Is it normal behaviour for animals in a custom building to all bunch up together like they're spawning on the same tile every morning?

lucid iron
#

Yeah if ur map has too many things

vernal crest
#

What if there's a relatively open space but they just huddle in one corner of it?

lucid iron
#

I dunno, you aren't using that one thing from mmap right

#

mushymato.MMAP_AnimalSpot

vernal crest
#

No, I went hunting for that time you helped nuupon and saw you used MMAP to fix it.

lucid iron
#

The thing with nuupon's mod is that the vision is animal pens

#

And desire to have animals go in those pens

vernal crest
#

Yeah

#

I just wanted the animals in this building to spread out more lol

lucid iron
#

If it's a wide open space then i dont think u would normally need it bolbthinking

vernal crest
#

But I am not very invested in finding out what's happening lol

lucid iron
#

Unless mmap is causing issues when no mushymato.MMAP_AnimalSpot is set? I'm pretty sure i just let vanilla logic run tho

vernal crest
#

No, I don't have MMAP installed lol

lucid iron
#

then it can't be my fault

vernal crest
#

No it's definitely not lol

lucid iron
#

Ig the other thing to check is NPC barriers

#

Did the custom map have those

vernal crest
#

I'll have a look

#

I need to fix the map strings anyway I guess

#

Welp I cannot find the map

#

Hmm no that is not excessive either

#

Oh well, thank you for helping anyway SDVpufferheart

frail canyon
#

Would it be possible to write a mod that sets a new save location for the game to save to and load from? I'd like to redirect save files to a new location on android where permissions aren't an issue so that I can sync saves between android and windows.

fathom hound
#

Nearly 24 hours and I still can’t opt in my mod

#

Actually pissed lolSDVpufferwaaah

blissful panther
#

Is this delay new? I've never encountered it before!