#making-mods-general

1 messages · Page 584 of 1

void aspen
#

What does your tiledata action property contain

toxic topaz
void aspen
#

Hm

#

Is there any errors or warns in console

bold dune
#

Hello, I recently downloaded a mod and wanted to add an extra recipe to it, but I don’t know how to do that :c could someone help me, please?

The recipe I’m currently using in the mod is this:

{
  "Name": "Advanced Charcoal Kiln",
  "TranslationKey": "item.advanced-charcoal-kiln",
  "Price": 0,
  "ProvidesLight": false,
  "ReserveExtraIndexCount": 5,
  "Recipe": {
    "ResultCount": 1,
    "Ingredients": [
      {
        "Object": 709,
        "Count": 8
      },
      {
        "Object": 335,
        "Count": 3
      }
    ],
    "SkillUnlockName": "Foraging",
    "SkillUnlockLevel": 8
  }
}

I would like to add a charcoal kiln as one of the ingredients in this recipe, I tried looking it up in the JsonAssets documentation, but I couldn’t understand anything :/

toxic topaz
#

nope, no errors

latent mauve
#

StringsFromMaps is what it is looking for, you need that s on the end

void aspen
#

Lily got it first

toxic topaz
void aspen
#

I was almost there

toxic topaz
#

ill try that again thanks

latent mauve
#

(foliage hurts)

lucid iron
#

slimed

void aspen
#

It's hard to troubleshoot on mobile I'm so eepy

void aspen
bold dune
latent mauve
#

It's gonna be the Junimo-style farmhouse eventually

lucid iron
#

well my best guess is add another entry to "Ingredients" list

toxic topaz
void aspen
#

What's translation key

#

Doesn't look like i18n

#

If that's the case

void aspen
#

Now add i18n 🔥

#

Joking

latent mauve
#

tbh, adding i18n to that now would be really easy

toxic topaz
#

thats something i might do after i actually finish everything in this mod lol

bold dune
void aspen
#

It would be better to do early tho

#

Just prepare a i18n folder and default.json in it

#

It's gonna help a lot and everything else is simple to do

toxic topaz
#

ill do that before i start working on dialogue

#

originally this was just going to be a character mod, but im doing a crap ton of content that links with the new character lol Gladge too many ideas

void aspen
#

Like that elite super cool something furnace

lucid iron
bold dune
bold dune
#

that would be a real downer

lucid iron
#

the thing is that in 1.6 you can definitely do this in vanilla

#

since its how the deluxe worm bin works

#

so u could try making ur own content patcher mod instead

torpid sparrow
#

are JA mods still being made?

void aspen
#

What's ja

torpid sparrow
#

json assets

void aspen
#

Oh

bold dune
# lucid iron so u could try making ur own content patcher mod instead

The thing is, someone already made a mod that acts as an 'update' for this one for 1.6, but it’s buggy and the last sign of activity from the developer was in 2024. I went looking for the original mod and found out it actually works fine in 1.6, but I wanted to change the recipe to be similar to the abandoned port (since I think it makes more sense)

lucid iron
#

well u can make it but non buggy perhaps Dokkan

worn turret
#

You know how we can make seasonal skins for things by making the game load a sprite sheet depending on what season it is? Can we do that but for year instead? Like, if it's year 1 or 2 load this sheet, but if it's year 3 or beyond load this one? (With Contant Patcher)

calm nebula
#

Yes

void aspen
#

When Year?

eager tree
#

"Year": "1, 2" I think

void aspen
#

I forgot how to do queries ugh

#

For 3+

eager tree
#

You can load one for year one and year two and then have a default one that is being applied when these two aren't

void aspen
#

Neat

bold dune
calm nebula
#

(Just do the reverse)

worn turret
strong kite
#

hm.. what do I use as the target for the EditData in dialogue.json for this new NPC?

calm nebula
#

"Year|contains=1,2": false

#

In particular if you can avoid a query don't use a query lol

void aspen
#

I always forget about contains

#

🏴‍☠️

eager tree
#

captains

worn turret
#

Awesome! Thanks so much! 🙂

eager tree
#

where is Claude with their list of typos when you need her

lucid iron
#

the big chest is a decent example where it uses a big craftable as ingredient

bold dune
#

That’s surprisingly convenient

toxic topaz
#

if this wall were blown open in some way, could it be reasonable to assume that in a map above this there could be a cliff similar to the perfection cliff overlooking a landscape with a enormous pyramid in the distance? PES_Think

void aspen
#

Can spacecore allow me to change coords of the horse head tile it uses to overlay

void aspen
#

That's something id really love cuz I hate how it works rn

long jungle
#

Hey guys, is it possible to change the description of professions with CP or is it hard-coded?

By description, I mean the details you see when picking a new profession after you sleep.

void aspen
#

Strings

worn turret
# calm nebula "Year|contains=1,2": false

And this is a dumb question, but if it was year 11, 12, 21, 22, etc it would display during those even though they contain a 1 and a 2, right? It understands that "1" and "2" are the entire year, not just a potential part of a larger numbered year?

void aspen
#

No

#

It uses a number value thingy

#

So 1 means one

#

As a whole

#

Integers ig

tiny zealot
#

CP's contains is set theory, not regex

#

so Year |contains=1 means "the Year token (a set of values) includes the specific value 1"

void aspen
#

there's a way to detect if year number is odd or even as well

#

I don't remember how to tho

scenic ferry
#

Is there a way to give the player a buff on waking up the day after an action? Like, interact with statue, buff next morning?
I want to theme the buff around Dreams, so sleep being a part of that cycle makes sense to me

#

I suspect not but worth asking

void aspen
#

Only halloween and ice festival use that

#

Iirc

tiny zealot
#

{{Query: {{Year}} % 2 = 1}} will be true on odd years and false on even ones

void aspen
#

Right the % thing

#

Query does wonders

strong kite
#

Where do I actually like.. connect the NPC's portraits and sprites to the game? What json am I supposed to put those in?

tiny zealot
void aspen
#

Everything usually goes in content

#

Manifest is something you touch twice usually

uncut viper
#

("Year": "{{Range: 1, 1000 |step=2}}" would also be a good, non-Query odd year detection.)

strong kite
#

hm... I do have them in content..

scenic ferry
void aspen
#

I forgot why exactly query isn't always safe for conditions

uncut viper
#

It's always safe. It's just not performant.

void aspen
#

Oh

lucid iron
#

it has less error checking

tiny zealot
#

query turns off multiple kinds of validation so it can be wacky if you fuck it up

lucid iron
#

sometimes might be silently doing not what you want

void aspen
#

So it has its own personality

#

How cute

uncut viper
#

(Depends on your definition of "safe" I guess)

lucid iron
#

just gotta be careful about using it basically

#

and usually if u dont need maffs i'd avoid it

tiny zealot
#

i do prefer the modulus query to button's range on principle, even though it's ridiculous to support years > 1000

strong kite
#

Right. the errors are telling me the game is looking for .xnb's of my NPC in the Stardew directory

calm nebula
uncut viper
#

You can go up to 10,000 if you want.

marsh reef
#

Chat my npc will not work at all, is there any mods someone knows of that adds a really really simple npc I can just Frankenstein stuff off of easily?

uncut viper
#

If you really want, you could make multiple queries each with their own 10,000 Range that continues from the last one, and check each of them.

#

Then you can support up to the integer limit of years.

#

And by multiple queries I mean multiple dynamic tokens

strong kite
#

I do not know why it's tryna do alla this

tiny zealot
#

most likely it means you either typoed your asset name when referencing it, or forgot to load it

marsh reef
tiny zealot
#

complaining about xnbs is just because that's the last fallback the game has to try to find the asset, and when that one fails it barfs and that's the message you see

strong kite
#

Ah

#

Loading it would be in the content file right?

#

oh wait a damned second

#

Well I just got the rare screen from clicking the ConcernedApe logo that I had 0 clue existed

#

I guess I didn't do it right? Tiredkip Maybe it's just getting a little too late in the day. Def not the best idea to do the most complicated thing I've never done in stardew modding thus far while I'm already tired

strong kite
#

I could also really use that ty

#

just to get my bearings

stoic chasm
ocean sailBOT
#

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

urban patrol
#

oops sent too soon

#
  1. to use tilesheets outside of the maps folder, you have to use the relative path. open up your tmx in a text editor like notepad++, find "furniture.png", and edit it to be "../TileSheets/furniture.png"
urban patrol
#

before we had to either use button's ATA mod or load it ourselves (bad)

strong kite
#

Okay well that wasn't right but this is progress

tiny zealot
strong kite
#

Ah. Tbh I had no idea what the Format thing actually was HehSweatCloseup

urban patrol
#

you can find the most recent format on the CP docs always

#

2.8.0 is the last version compatible with android, though

tiny zealot
#

it actually affects how CP parses your json

strong kite
#

Good to know.. maybe that'll magically be what's causing this particular issue? that's major cope but I'm tired lmao

lucid iron
urban patrol
#

TRUE i forgor that's a thing

tiny zealot
#

if your format is old, you can't use new features introduced in later versions, and CP applies automatic migrations to convert your data from older formats into what it expects now

urban patrol
strong kite
#

Oh.. okay yeah I can see the problem

tiny zealot
#

updating your format won't fix multiple exclusive loads, that's true

strong kite
#

I did the thing that Portrait Mod did with having every portrait be its own PNG so I different EditData actions for each portrait.
I'm assuming it has to be individual to use the upscaled portraits function?

urban patrol
#

loads are special in that they're exclusive by default. you can editdata the same thing 63821736 times but can only load once

strong kite
#

Is that why all the loads are in Content usually?

urban patrol
#

no, where you decide to put patches is entirely up to you

#

is this for an npc?

strong kite
#

Yes

#

Okay, for testing purposes I've loaded only the Default Portrait and got no errors

tiny zealot
#

is each of these pngs one 64x64 portrait? i'm a bit confused about the structure

urban patrol
#

are these all different expressions? you can and should put them on one sheet

empty owl
#

didnt work 💔

strong kite
lucid iron
strong kite
empty owl
urban patrol
#

unfortunately i'm not experienced with upscaled portraits or PMD :(

#

usually people use Portraiture for that

strong kite
#

Here's what was sent for reference

lucid iron
tiny zealot
#

the only thing i can really tell you is that 80x80 is likely to look pretty bad when stretched to 256x256 (the screen size of the portrait box)

lucid iron
#

wait it's only 80x80?

#

id just crop that down to 64x64 and not use spacecore here

#

you really wanna be at multiples otherwise ur pixels r angy

toxic topaz
urban patrol
#

welcome to stardew we have the power of squares

empty owl
strong kite
#

Well- okay, again, the portraits are 40x40 which is too small for 64x64, and I was told it was impossible to make it smaller, so I thought I could make it bigger to a size I could easily upscale 40x40 to, being 80x80. Cuz then it still looks the same and now fits.

I made all of these choices without actually knowing how the game works ftr

modest dagger
lucid iron
urban patrol
#

if the portraits are 40 x 40, maybe just make them 64 x 64? not by upscaling, but by cropping it bigger

bold dune
# lucid iron hm im honestly not sure if json assets supports this

I did it!!! I just kept trying a bit longer and ended up figuring it out by trial and error:

{
  "Name": "Advanced Charcoal Kiln",
  "TranslationKey": "item.advanced-charcoal-kiln",
  "Price": 0,
  "ProvidesLight": false,
  "ReserveExtraIndexCount": 5,
  "Recipe": {
    "ResultCount": 1,
    "Ingredients": [
      {
        "Object": "(BC)114",
        "Count": 1
      },
      {
        "Object": 709,
        "Count": 8
      },
      {
        "Object": 335,
        "Count": 3
      }
    ],
    "SkillUnlockName": "Foraging",
    "SkillUnlockLevel": 8
  }
}

In the end, it was actually pretty easy

urban patrol
#

not judging you for your choices btw just wanting to know what your wants vs needs are

strong kite
urban patrol
#

i'm impressed you got any level of detail at 40 x 40 haha good job

strong kite
tiny zealot
#

i believe that was the native size in the game they were ripped from

strong kite
lucid iron
empty owl
#

oh wait

#

...

#

🤦

#

it ISNT THE RIGHT ID

#

BRUH

marsh reef
eager tree
strong kite
marsh reef
#

I see

#

they're like, really inconveniently sized my bro

strong kite
lucid iron
#

hm i guess if u dont mind that his portraits have a border around them it'd be fine

#

they r already not really sdv style whatever

strong kite
#

They are still significantly better than trying to draw this sort of thing myself HehSweatCloseup

marsh reef
strong kite
marsh reef
#

🤔 ive never heard of it

strong kite
#

It's a paid software that you can get on Steam

marsh reef
strong kite
#

I got it cuz I got REALLY into making sprites for Pokemon Infinite Fusions

marsh reef
marsh reef
toxic topaz
#

how do you make it nighttime in an event?

strong kite
#

If you can't afford it, you can also try Libresprite on GitHub. It's a fork of Aseprite and it's free, though you might have to compile it yourself. Not sure how any of this works https://libresprite.github.io/#!/

marsh reef
#

oo i see i see

marsh reef
toxic topaz
#

i see

tiny zealot
#

aseprite you do have to compile yourself if you want to not pay for it. libresprite i believe you can simply download/install

urban patrol
toxic topaz
urban patrol
#

you need a framework for night events

#

i misunderstood

tiny zealot
#

oh that's C# land (or More Nightly Events)

strong kite
sleek flint
#

hey @urban patrol How is your dungeon mod update going? SDVpufferowo

#

Is it done? I wanna play it.

urban patrol
urban patrol
marsh reef
#

mine are very very similar to eachother bc im lazy 🤩

strong kite
sleek flint
marsh reef
toxic topaz
urban patrol
strong kite
marsh reef
#

🤣 also we're both crossing over a nintendo character

strong kite
#

I guess I just have the luxury of way better artists than me already doing the work and so I just get to pick my favs LUL

marsh reef
strong kite
marsh reef
#

😎 okay so anti my thought process, real real

#

for mine it was already a 64x64 from the wiki but smoothed so i had to sharpen the whole thing (the wiki picture btw)

strong kite
#

If there were 32x32 portraits I would 100% be doin that

#

Also Sterling yooo

#

Always gotta appreciate Animal Crossing rep

marsh reef
marsh reef
strong kite
#

In all fairness I did have to take a good few moments to remember his name, but I didn't need to look it up!

marsh reef
strong kite
#

I feel that LUL

marsh reef
#

But yea I’m making a farm, farmhouse and AT for that, npcs that will live in their respective houses on the farm, andddd I think that’s it

strong kite
#

Oooo sounds pretty cool!

#

Honestly this blushing portrait alone has me considering making Darkrai romanceable even though I know that's a terrible idea that will just lead to even more work I need to do

marsh reef
#

Spent like 2 days setting up an effect over the grass to make it look like wind is blowing over it 😭

stoic chasm
ocean sailBOT
#

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

strong kite
#

just now really considering that this is a mod about being able to grow pokemon berries. GOD I have lost the plot 😭

marsh reef
#

HAH

acoustic summit
strong kite
#

I don't want to give him a schedule around the farmhouse 😭

#

or it- Its gender is undefined

marsh reef
marsh reef
#

:)

#

just dont lowkey

#

make bro just exist ominously in a corner

strong kite
#

I've got the portraits made now. And now.. I need to delete all the code that tries upscaling it Waaa

#

do I even need portraits.json actually..?

urban patrol
#

z.luan extras or whatever

stoic chasm
#

Ohh okay

#

How do I fix that? Hm...

urban patrol
#

did that mod have instructions for how to use it for mod authors?

stoic chasm
#

I cannot remember-

marsh reef
urban patrol
stoic chasm
#

I think so

urban patrol
#

can you show me how you added the luan extra furniture 2 tilesheet to your map

stoic chasm
#

How do I do that?

urban patrol
#

screenshots or just a typed summary will do

stoic chasm
#

Oh oki

brave fable
strong kite
#

YOOO THERE HE IS!!!!
half of him- BUT THERE HE ISSSS

empty owl
strong kite
empty owl
stoic chasm
strong kite
# empty owl barebones?

He's not like a fully scheduled NPC or anything, just gonna stand in one place with a bit of dialogue and can be given gifts and will probably send recipes in the mail

empty owl
#

wait just noticed concernedape is in the server-

empty owl
marsh reef
urban patrol
#

yeah, when using tilesheetinator, you have to use its capabilities to add tilesheets, so that it knows how to navigate basically

empty owl
urban patrol
#

there should be instructions on the TSI page

strong kite
strong kite
brave fable
#

it'd be cool for his events to only happen while you sleep

#

doable btw SDVdemetriums

empty owl
strong kite
brave fable
#

you can absolutely make wide/large npcs, they just have pathing issues

marsh reef
#

oh blueberry idk if you saw but i finished the effect i was asking you if i should try the other day

strong kite
brave fable
#

oh it's no work at all, just add the events to Data/Events/FarmHouse and use a Time 600 610 precondition so it happens before you wake up

strong kite
#

This was basically just a test to make sure his sprite CAN actually show up in game. Tomorrow I'm gonna figure out how to actually make it function how it's supposed to

stoic chasm
strong kite
acoustic summit
#

Imagine darkrai invading and watching you have a nightmare where they reject you SDVpufferwaaah

urban patrol
#

you can also try opening your map in N++ and looking at the image source there

strong kite
#

I'm gonna use this event I'm currently setting up still, but having another event before you wake up sounds great!

brave fable
#

in my dreams/nightmares mod i didn't use a time precondition at all so technically if you slept in a tent or on the island you could probably have a nightmare when you walk in the door

#

should fix that sometime

strong kite
#

Probably wont be anything impressive but I def want to like.. get these made and then add onto them

stoic chasm
urban patrol
brave fable
#

suppose you'd also have to add the event to every location to account for tents and other houses. hmmm

strong kite
#

Remembering that NONE of this is actually working towards my goal for making this mod ready to update 😭
Not gonna deter me tho this is incredibly cool

urban patrol
#

if you have other questions i mean

stoic chasm
#

Aww, thank you! If I do I will

strong kite
#

my browser and notepad++ are such a mess 😭

bold dune
#

Does anyone know how to add an alternative recipe to a recipe using JsonAssets?

acoustic summit
strong kite
warm relic
#

hello! how do i make a character walk towards one direction while looking at another in an event?

devout otter
#

There's no straight-forward, single-command way to do it. However, you could still have the same effect by using some animation and offset shenanigans.

royal rover
#

I am having the hardest time figuring out where the code is that activates when you interact with the ladder or elevator on the very top layer of the mine shaft. I know it's not MineShaft.checkAction, and I know the Game1.player.currentLocation is set to a Mine object, but there's no check action in that object.

devout otter
# warm relic could you do an example?

/animate Abigail false true 210 5 6 7 4/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/stopAnimation Abigail/warp Abigail 20 6/ This is Abigail facing right, walking backwards one tile to the left.

brittle pasture
devout otter
#

The warp at the end is to the tile she ends on.

brittle pasture
#

you can search for references to that string in the code

#

alternatively references to the MineElevatorMenu class

royal rover
brittle pasture
#

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

brittle pasture
#

then look at Maps/Mines.tmx in your map editor of choice

#

and by that I mean mostly Tiled

#

(but any text editor is fine too lol)

royal rover
#

ty 🙂

warm relic
brittle pasture
#

[[Modding:Recipe_data]] and this is how recipe data is formatted in game/CP

marsh reef
#

ceighlph

bold dune
#

Do you know how I can add an alternative crafting recipe for the same item?

brittle pasture
#

doesn't seem like that's supported in JA

#

object data only has one recipe object

#

it is possible if you grab the item IDs and is willing to make a quick CP content pack

#

unfortunate that this is not as quick as we hope lol

bold dune
#

bruh :c

#

ok, ty

stoic chasm
faint ingot
#

Suppose I have a token in CP like {{Random: A,B,C,D}} and the result is 'B', is there now a way for me to select from the remaining members (equivalent to {{Random: A,C,D}})?

stoic chasm
ocean sailBOT
#

Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26100.0), with 22 C# mods and 8 content packs.

marsh reef
#

guys help

#

nvm

marsh reef
stoic chasm
#

hm- I see- Thank youu

marsh reef
#

there's another thing but im not smart enough to know if thats caused by issue 2

stoic chasm
#

Sorry, I have trouble reading the logs. That's alright

brittle pasture
faint ingot
#

that's not ideal

brittle pasture
#

in that case, it's a bit of manual work, but you can define another dynamic token that's {{Random: A,C,D}} when the first token is B, {{Random: B,C,D}} when the first token is A, and so on

#

that's one block for each possible values

#

maybe some token wizards can chime in with a better solution

gentle rose
#

can't you do a synced random

#

there's an example for using synced random to get different results in the content patcher docs iirc

#

but I could be misremembering

brittle pasture
#

that's what my "is it fine if the second value is deterministic" question was about

#

if the answer was yes I'd suggest that yeah

gentle rose
#

yeah I was remembering it being non deterministic but then I realised that can't be right

#

I'm sure there's a very cursed string operation you could do

marsh reef
#

why cant i talk to him :( I dont see any errors

#

gifting dialogue works though :3

faint ingot
#

alternatively I'm assuming there's a way to pass variables C# to be CP tokens. maybe there's a guide on this somewhere... for some reason I have been slow on the uptake on the c# modding side even though I have a bit of c# experience

faint ingot
#

Okay didn't know you could put when conditions on tokens. Good to know

#

Thanks

worn turret
#

I think I need some syntax help. I'm trying to make a different sprite sheet show up for Marnie in the first three years than in year four and after, but it keeps just defaulting to the year 4+ sprite sheet, even on a year 1-3 file.

I've tried many iterations as well. I've done "Year", "WhenYear", I've tried with and without that little line separating "Year" and "contains", I've tried with and without parentheses around "false", I've tried adding the same condition to the code for her normal sheet but changing it to "true", etc. No matter what I do it displays the year 4+ sheet. Any help is much appreciated.

marsh reef
worn turret
#

Actually, no. I didn't try doing it for just one year by itself. I can try that.

#

Do you think I need parentheses around "false"?

marsh reef
#

No I don’t think so

worn turret
#

Ok, I'll try it for just year one. Please hold.

marsh reef
#

Some things don’t work right with checking for a list of things, might need to just put 1-3 on their own 🙂‍↕️ 🤔

#

Though I think at that point you don’t need contains you just need to check the year

#

Wait what

#

🤔 shouldn’t it end up being ”When”: “Year | Contains=1,2,3” or som variation?

#

Bc year contains isn’t a like, thingy

fossil osprey
marsh reef
#

🙂‍↕️

#

Yea

fossil osprey
#

example

worn turret
#

Ok, let me try that.

marsh reef
fossil osprey
#

and you can add a list of comma-separated values for multiple years

marsh reef
#

I think they had the wrong true false 🤔

#

Oh, no wait they’re

#

I see

worn turret
#

That's what I want, isn't it? If I want it to kick in on year 4 and forever after it should be false?

fossil osprey
#

yeah

#

I mean, you can try, but that should be it ^^

marsh reef
#

🙂‍↕️🙂‍↕️ I was thinking you had it the other way around

worn turret
#

Ok, does this look like it's formatted correctly?

#

Ok, gonna boot it up. 🤞

#

Nope, it's still loading the year 4+ sheet. 🙁

marsh reef
#

Anything in the log at all? 🤔

worn turret
#

I'll look.

#

Nope. No errors.

#

I have one other mod that acts on the Marnie characer sheet, but that's definitely not the one it's defaulting to, but just in case it's conflicting somehow I'll take it out and try one more time.

marsh reef
#

Chat are we sure you hit save

worn turret
#

I’ll double check once I exit out.

marsh reef
#

Okok

worn turret
#

I actually might not have…😳

#

One sec.

marsh reef
#

HAHAHAH

worn turret
#

I genuinely appreciate the super basic checks like that. I get nervous when I break my game and overlook really obvious things like that.

#

So thanks for the callout. ❤️

marsh reef
#

😂 ofc bro

#

I forgot to save my thing literally 3x today

worn turret
#

We’re all pros here. 😂

#

Oh my gosh I think that fixed it. 🤣

#

Yeah one is good. Now, since I only have year 1 specified let’s switch to year 2 and see if it switches as it should.

marsh reef
#

Yesyes add ,2 and see if year two is fine

sly path
#

I’ve been keeping an eye on it, and it looks really interesting. I hope everything works out smoothly.

worn turret
#

Yessssssss……

#

I’m gonna set it for the full list now and see if we can go 3 years with version one and then switch.

worn turret
#

Did a little too much time skipping and locked my game. Starting over….

marsh reef
#

😂 😭 broo how

worn turret
#

Tried to warp back to my house from a festival. It didn’t like that. 😂

marsh reef
#

Oh, whats the mod are you working on btw? 🤔

marsh reef
worn turret
marsh reef
#

Ahhh I see

worn turret
#

So, it’s just a personal use thing.

#

Yeah.

marsh reef
#

🙂‍↕️

worn turret
#

Ok, year one is good. Going to year 2.

marsh reef
#

Ive made like 3 small personal use ones then lost the plot so hard on my custom farm im adding npcs and custom farmhouses and what not so im gonna post it once its done and i figure what mod creators i gotta put in the description bc I Frankensteined some of their work

worn turret
#

The scope creep is so real. 🤣 That’s amazing you’re adding entire NPCs and everything! I hope it all turns out exactly like you want!

#

Year 2 is good. Moving to year 3.

marsh reef
#

🙂‍↕️ once I figure out the schedule for the npc I’ll be able to just copy paste and do all the artwork for their houses and themselves and I’m almost done after that

worn turret
#

That’s awesome! So close!

#

What kind of an NPC is it (if you don’t mind my asking)?

sly path
#

wow

#

interestingSDVpufferheart

marsh reef
marsh reef
sly path
#

umm..?

marsh reef
worn turret
#

Ok, year 3 is good! Moving to year 4! 🤞

sly path
#

acnl is one of my favorite games too. But there are so many villagers—are you really planning to add all of them? I’m still getting used to how this server works, so I’m trying not to overstep. If I ever come across as rude, please feel free to let me know.

worn turret
marsh reef
marsh reef
#

I actually say “Yesyes” bc freaking tom

worn turret
#

Year 4 is good! Thanks so much for the help @fossil osprey and @marsh reef 😁

sly path
marsh reef
#

🙂‍↕️🙂‍↕️

#

Alr I’m gonna head to bed guys, gn yall take care!

worn turret
#

Sleep well! 🙂

fierce vault
#

Great villager

sly path
worn turret
#

Does anyone know if buyable clothes mods are a thing anymore? I know back in the days before FF that's how the clothing mods worked generally (the clothes were actual items), but after FF that doesn't seem to be a thing so much anymore. I like to actually find/buy my clothes in the store. Is there a currently accepted way to do this, or is it pretty much all just FF now?

fierce vault
#

Sandy sells stuff in vanilla doesn’t she?

worn turret
#

I'd have to check, but probably?

faint ingot
#

I sell a couple of clothing items in mine

fierce vault
#

So content patcher should be able to do it too

brave fable
#

yes, you can simply add new clothing just as the base game does, without FS, using CP

brave fable
#

you can also register some CP clothing with FS to appear as both an item and an entry in the FS menu, but this only includes shirts for the moment

fierce vault
#

You can even add clothes that can only be obtained in certain conditions. I did this with my snowman’s hat

worn turret
#

The art on that hat is really good. Beautiful shading. ❤️

sly path
brave fable
#

FS has the advantage of letting you create clothing of virtually any sprite size as well as layering multiple additional slots, but it has its disadvantages as well

fierce vault
#

Oh, thank you!

#

I think there are definitely mods still making non FS clothes, there just aren’t as many standalone ones

sly path
worn turret
brave fable
worn turret
#

Oh wow! You made Sailor Styles? I love Sailor Moon! You did a great job on all of those! So many little tiny things.

fierce vault
brave fable
#

haha thank you! it's definitely living proof that you can make clothing with CP and still get downloads, even if half the comments are 'fs where'

#

and one day they will have a fs version, when peaceful's ready with the update

worn turret
#

It feels too easy to just scroll through and pick anything I want on minute one of the game. I like to actually find the actual item in-game.

fierce vault
#

I do like the idea of special clothing items too

brave fable
#

oh yeah i like collecting clothes and building a wardrobe, much more engaging than just whipping up an outfit imo lol

fossil osprey
worn turret
#

I've never actually seen this mod before: https://www.nexusmods.com/stardewvalley/mods/10378
Is it actually a full new minigame? The description was hilarious. 😂 There's 360 miles to the Calico Desert, we've got a full tank of gas, half a pack of parsnip seeds, it's hot out, and Pam's driving.

Nexus Mods :: Stardew Valley

There's 360 miles to the Calico Desert, we've got a full tank of gas, half a pack of parsnip seeds, it's hot out, and Pam's driving.

worn turret
fierce vault
#

Strongly recommend VS code

#

It’s great

brave fable
#

i mean it's a minigame in the sense that it's playable in SDV and it's not SDV itself, but you really are driving 360 miles at about 50mph with a bus that veers slightly to the right SDVdemetriums

sly path
fierce vault
#

oh, it wont!

worn turret
fierce vault
#

My snowman has a unique internal name

#

So other characters can be named jack as well

brave fable
#

there's config options, you can make it replace JOTPK, replace the bus transition to the desert, or abigail's JOTPK event only

#

but it is specifically designed to be miserable and pointless

sly path
brave fable
#

you get an arcade machine after you drive 1,000 miles and it lets you drive about 250mph

worn turret
fierce vault
#

I hope you like it then!

brave fable
#

yep! you can just enable and disable it as you like, it takes about 8 hours to finish the drive so it's a long haul lmfao

worn turret
# fierce vault Strongly recommend VS code

Do you happen to have a safe link to download it? I'm kind of a nervous person in general, so you'll have to forgive me. Notepad++ is all I've ever known. Is this one majorly different?

worn turret
dire kestrel
#

there was some sort of stardew plugin for vsc, wasn't there

fierce vault
#

It’s a product from microsoft I think, so you can download it from the official source

#

I’ve never used notepad ++, so I can’t say how different they are

dire kestrel
#

i can't seem to find the mmg dev thread. maybe i'm blind

fierce vault
#

Shouldn’t be that huge a leap though

worn turret
#

I'd love to hear about the nice features.

fierce vault
#

There’s better plugins, and probably other things too, but like I said, I haven’t used the alternative. I think Abagaianye likes alternating between both, but I believe VS code is generally recommended over notepad ++

That said, you don’t have to change right away just because many people like it. Notepad ++ works

worn turret
#

Regardless of what happens, I appreciate the suggestion.

#

I have one other general question. Is there a way to know what sprite sheet is dictating the sprites in any given scene? For instance, there are junimos on the title screen if you click the leaves. Those are controlled by the TitleButtons sheet in the Minigames folder, and there is also a Junimo sheet in the Characters folder, and those coorespond with the Juniomos in the Community Center at the very least. And I also ran across some Junimos on the cursors sheet, but I'm not sure where those populate (maybe when the rocks are cleared and panning is unlocked?). Anyway, even if I change all the aforementioned junimos visually, I still see vanilla junimos wandering around in the secret woods. Can someone teach me how to figure out where they are coming from?

#

Is there any kind of a listing anywhere for this kind of information, or is this all just people remembering stuff?

brave fable
#

the game pauses during minigames 🙂‍↕️

worn turret
#

I think I'll really feel like I've accomplished something when I finally get there. 🤣

latent mauve
#

Because I saw talk of FS / CP clothing earlier as I was catching up: This is your reminder that pants are cursed. Have fun! ❤️

worn turret
latent mauve
#

I have a template posted somewhere in the depths of this chat probably for pants specifically because it was near impossible to draw them without some kind of reference for where the arms go xD

#

(CP template, not FS)

worn turret
latent mauve
#

Specifically where the shadows are, yeah.

worn turret
latent mauve
worn turret
#

That makes sense actually since it's an art thing. 🙂

latent mauve
#

Someone converted it to PSD and Asesprite as well, but that'll be a different search if needed

worn turret
sly path
#

krita!

#

this is free drawing tool

sly path
worn turret
sly path
#

hmm png or pdn..?

dire kestrel
#

current pdn needs plugins to open kra and psd iirc

sly path
dire kestrel
#

i cannot confirm that an aseprite one exists

royal stump
# worn turret Is there any kind of a listing anywhere for this kind of information, or is this...

In general, there's no simple way to know what assets are being used on a given screen (even on the C# end). There's kind of an overview here about how SDV gets its assets: https://www.stardewvalleywiki.com/Modding:Modder_Guide/APIs/Content

Most individual in-game entities have a text field like "texture" attached to them, and when they need to be drawn, SDV asks the content system for an image with that texture ID. Sometimes it's not clear or consistent where those are, e.g. a junimo could be a bespoke animated sprite in some event, a not-quite-NPC attached to junimo huts, or a temporary NPC, etc, and not share the same images or folders.

All that said, a few things are used consistently, like the Characters and Portraits folders for NPC stuff. Vanilla .json assets that control game mechanics are in Data, a lot of text is in Strings, etc. But other sprites aren't consistent, and the running half- joke is that if you can't find a sprite, it's in the LooseSprites/Cursors sheet. SDVkrobusgiggle

sly path
#

It might also be worth double-checking which mods you have installed.

worn turret
# royal stump In general, there's no simple way to know what assets are being used on a given ...

I appreciate the thorough explanation. I know someone posted a guide on unpacking the entire game at once (like xnbcli but it just make an entire unpacked folder for you with everything in it). I'm thinking that might be the way to go. I can just click through all of the images looking for whatever it is until I find it on one of those. Do you have that link handy by any chance? Someone posted it before but I was so overwhelmed at the time I couldn't really deal with it right then.

royal stump
worn turret
#

Thanks very much. I'll give it a try. 🙂

worn turret
#

Is the .exe in the program files x86 place or something? Because this location just has a bunch of folders with the game files and stuff, but no executable (that I know of, unless it's hidden in a subfolder)

royal stump
#

that should be the correct place, but I'm not sure offhand; if you're using Windows Explorer without file extensions on, for example, it might just say "Stardew Valley" instead of "Stardew Valley.exe"

#

it should also be wherever SMAPI installed itself, afaik, though I haven't used it outside windows myself

worn turret
#

Ok, I'll check there. Thank you for the picture. Visuals help so much. ❤️

#

I found it. Thank you. ❤️

#

And, all done!

#

Oh wow, it didn't even include all the json files and stuff. Just the .pngs. This is really nice.

latent mauve
worn turret
#

(Because something will be on cursors, but then it turns out the one that matters is on springobjects)

dire kestrel
royal stump
#

I forgot that one gets tricky, probably due to documenting the whole thing by "whether this can be picked up" a few times SDVpufferdizzy

dire kestrel
latent mauve
#

Ah, you said asesprite in the message, so I thought you were looking for the asesprite version, my apologies

dire kestrel
#

nw at all

worn turret
#

What controls what "underwear" your character wears? My character always wear red boxer shorts and some kind of a black shirt (that is admittedly probably to do with me tampering with stuff) but I don't know why the boxers. Does everyone wear those when they have nothing on in the pants slot?

latent mauve
#

Usually the underwear color is determined by your pants color

worn turret
#

Weird, because I always slide the slider to black...

#

Can it be changed or are you locked in once you choose at the beginning of the game?

latent mauve
#

If you have messed with stuff that changes the base farmer sprite, or otherwise have a mod that changes it, the normal dyeable underwear might have been replaced

#

The underwear's appearance is set on the farmer_base files IIRC

worn turret
#

I don't have any mods that mess with the underwear to my knowledge. I do have the Anime Eyes mod that changes the farmer base though. I can look on there and see if the red boxers are there.

#

All I see in terms of clothes is the swimsuit.

latent mauve
worn turret
#

And that's white.

worn turret
latent mauve
#

Yeah, I might be getting confused with the swimsuit

worn turret
#

No worries. There are so many sprites.

strong kite
#

Alright It's a new day, time to get this NPC actually working. How do I get the full 32x32 sprite to show up? I don't need this NPC walking around so pathing isn't an issue, I just need both halves of the sprite to show up beside eachother

verbal glacier
#

In Data/Characters, you can do"Size": {"X": 32, "Y": 32 }

strong kite
#

TY!

verbal glacier
#

no problem SDVpufferheart (and if you ever want them to walk around ForceOneTileWide is coming in 1.6.16)

strong kite
#

Oooo exciting!

#

If they walk around it'll probably be in a very small area
Although I was also hoping to have them moving around in scripted events

#

I guess I kind of assumed events wouldn't be an issue since the pathing would be scripted but I don't actually know how it works

verbal glacier
#

I'm not certain how they'll behave without any pathing correction, i believe something like poohcore iirc also has something for larger sprites

strong kite
#

Ooo this is exciting!

ornate trellis
#

I mean, you can use temp sprites maybe if its for events? Im not on my computer rn but id check that section out on the events page

hard fern
#

Darkrai

strong kite
#

I should also probably set up an incredibly basic map for the character. Like my plan is a completely black void that is accessed through a teleport in the Wizard Tower (that would be unlocked via event)

#

Could I theoretically just use the data for a different map and change some of the code to change the name while also recoloring it?

#

hm... Darkrai is still cut in half during the event scene..

verbal glacier
verbal glacier
strong kite
#

Awesome!

#

Glad to see my laziness is justified

verbal glacier
iron ridge
#

Server is back alive but the specific page it was calling is still dead thankfully

hard fern
strong kite
#

Do the commands have to be done after character initialization in the event? Or can I have this temporary actor in there from the beginning?

toxic topaz
#

do you guys think its reasonable for there to by a gigantic pyramid in the desert as somewhat of a counterpart to skull cavern?

#

with like a sandstorm transition area from the normal desert toward it?

rain inlet
#

certainly

nova gale
#

do I think it's reasonable for a world with a wizard and witch in cannon to have a pyramid in it? yeah sure

rain inlet
#

smh pyramids aren't canon, this is breaking my immersion /j

verbal glacier
#

I mean the pyramid decal is right there

hard fern
#

Youd have to extend the desert quite a but but there's real pyramids in real deserts already lol

rain inlet
#

worst case you could add a transition somewhere

#

i think it'd certainly be something i'd be interested in

#

just gotta account for the sve changes lol

hard fern
#

Oh god

#

Long desert XD

toxic topaz
#

yea im planning on having a "cliff" area accessed from above the galaxy sword shrine, and that overlooks the pyramid similar to the perfection cliff

rain inlet
#

desert the loong way

toxic topaz
rain inlet
#

it's quite different

toxic topaz
#

omg PES_Hands idk how i can account for that

nova gale
#

just don't imo

verbal glacier
brave fable
#

make your mod first, handle compatibility later SDVpufferthumbsup

rain inlet
#

my guess would be having a screen transition entrance that changes location based on if sve is installed

toxic topaz
#

true...

nova gale
#

we really need to take the Rimworld/Combat Extended stance on giant game breaking mods

brave fable
#

as someone smarter than me said, working out compatibility when you haven't started the mod is putting the cart before the horse

toxic topaz
#

i guess i could put a staircase leading up to there and have the transition there? idk. ill think about it when my mod is done

nova gale
#

"Is this CE compatabile? Dunno, go ask them, they're the ones who gutted the game"

toxic topaz
#

i also gotta make a soundtrack for the sandstorm area aPES_Think and make sandsharks

nova gale
#

naturally

#

also: youa sked if a pyramid is reasonable then jumped to sandsharks? 😛

strong kite
#

I just realized, I'm gonna have to make all of the dialogue in the i18n file aren't I? LUL

toxic topaz
rain inlet
#

i mean, look at it this way, pyramids are an extremely stable shape, it's completely reasonable for a society to have independently come up with pyramids

nova gale
#

we had like 5 civilizations do it

toxic topaz
#

true, triangles are the strongest shape

rain inlet
#

it's far from a stretch to say that this civilisation that we know almost nothing about could've come up with pyramids

verbal glacier
rain inlet
#

oh true

verbal glacier
#

stardew has pyramids

toxic topaz
#

oh yea, pyramids are real

rain inlet
#

i forgor about that one

#

even tho i fished up like 7 in a row that one time

strong kite
#

I just realized for this tempActor thing to work I'm gonna have to properly format my asset files arent i?

#

Nope LUL

#

Yayyyyy!

nova gale
toxic topaz
strong kite
#

I do kinda wish these events were easier to read in the files. Then again I guess I can just manually linebreak them for the purposes of reading through it

nova gale
#

I thought in 1.6 you could line-break them now for readability?

strong kite
#

So I get one single long line take it or leave it LUL

nova gale
#

oh gotcha

strong kite
#

Is there an easy way to view these events in game? Like a debug tool or command that instantly plays the event, just so I can better get a frame of reference for what everything does

nova gale
#

not that I've ever seen, although because many of them are time, heart and location based you can debug yourself to the right day/year and heart level to see many of them

#

that won't work for every event though

strong kite
#

True..

#

Few things: One, looks like I'm making another bug report related to SpaceCore's Health Regeneration stat 😭

#

Two, This is kind of concerning, the first time I eat "Borage Raviolis" from a mod (quite possibly Cornucopia More Foods) that I get through the mail, it gives me one of the custom debuffs from my mod when it absolutely shouldn't be

lucid iron
strong kite
strong kite
lucid iron
#

Why not read post 1.6 events then

strong kite
nova gale
#

does your buff share a name with their buff?

lucid iron
#

It does for certain changes in event commands

#

In general if you are going to reference vanilla for anything use the latest unpack

strong kite
torpid sparrow
#

Oh I should unpack again

lucid iron
#

As for viewing events quickly you can do debug ebi <event>

strong kite
#

Same here, I never even considered that I'd have an outdated unpack of the game

#

I- do not remember how to do that HehSweatCloseup

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!

fallow musk
#

ive heard there is a nexus to curseforge mod upload feature, does anyone where the feature is on curseforge?

nova gale
strong kite
nova gale
#

(the {{ModId}}_ prefix on everything your mod adds is suggested for a reason, there are lots of mods out there, and nobody is all that original in their naming)

#

not saying that's the cause, it's just the first thing I would check given the symtoms you're seeing

strong kite
#

Well it's fixed now so.. honestly I'm just extremely curious now LUL

nova gale
#

you've got the mod, crack open their json and see

#

unless they added allt heir recipes via c# for some reason /shrug

brave fable
#

add {{ModId}}_ to the start of all of your ID fields. this is not a suggestion. this is a threat

strong kite
#

Yes, however, I'm not 100% sure which mod it is (though I've got a very good idea) and if it's the mod I'm thinking it is there is a TON of stuff in it and idk where to start looking

hard fern
#

If you don't do it at least 5 mod authors in here will get you

strong kite
brave fable
#

there is no reason to use anything but ModId 🙂‍↕️

#

except for console commands where apparently we don't care enough

strong kite
#

I first made this mod 2 years ago now I'm just kinda following what past me started 😭

#

Alright guess I'll go through every single file, find PBB_ and replace it with {{ModId}}_

nova gale
#

if you're using vs code or something similar you can find/replace at a folder level

#

(y)

strong kite
#

Oh that's an incredibly good point

torpid sparrow
#

Typing out my mod id in console makes me grr

strong kite
#

Alright, done and dusted

#

And here's hoping that didn't end up breaking anything. Just in case I should probably load the game

#

it will definitely break pre-existing saves though wont it 😭

nova gale
#

yes

#

unless you go edit the save as well

#

that won't work for your users if you've released

strong kite
#

Well rip to the 4k people who downloaded the mod already

nova gale
#

but it'll work for you

#

I'd suggest a major version update (1.0 -> 2.0) when you release it if you change your prefixes for sure

strong kite
#

Oh yea I was already planning to use 2.0

#

Cuz this is adding SSOOOO much

nova gale
#

and obviously let them know not to update mid-game

lucid iron
#

Buff id don't need migration cus they don't get saved

#

And you can migrate item ids

nova gale
#

oh you can?

strong kite
#

that would be fantastic if so

lucid iron
#

Yeah content patcher migrate id trigger action

nova gale
#

oh, neat, well there ya be

strong kite
#

Wait so how do I implement that?

nova gale
#

looks like a command with item id pairs

#

so check your version control, should give you old/new id's on each side that way to make the pairs easily

#

obviously anything newly added doesn't require to be in there since your users don't have those items, just the ones in the currently released version

strong kite
#

OH RIGHT- I was in the process of unpacking the game again OMEGALUL

#

I'll do the unpacking after I get this figured out

#

Is there like.. a fast way to do this or am I gonna have to put in all of the items one by one?

nova gale
#

you could copy/paste the old ones into a spreadsheet column, new ones in the next column over, then use concat down the row to build the big long string you need for CP

#

probably only faster because you wouldn't mess up quotes and such as easily that way though

strong kite
#

this sounds so painful Waaa

ornate trellis
tender bloom
#

Ah someone beat me to mentioning

whole prism
brave fable
#

incidentally using the wrapped Game1.sounds.PlayLocal() does give you an out ICue cue param to use, which is given as _ when using localSound()

#

it's also surprisingly hard to test the sound of jingling bells ingame when there's orthodox church bells ringing at midnight outside the window

#

very rare debug issues

calm nebula
#

Christmas mod

#

Starting early i see

brave fable
#

easter actually, just a little late apparently

calm nebula
#

You're early for next year

strong kite
#

This is especially annoying cuz my mouse is kind of broken and has a bit of trouble holding down the mouse button so clicking and dragging to select and delete things is.. inconsistent 😭

brave fable
#

ah i had to deal with that on my last mouse. logitech g703. drove me nuts

nova gale
#

you should be able to double click on a word to highlight the whole thing for copy/pasting unless you have hypens in your names

#

underscores will be treated as part of the word typically though

calm nebula
#

It sounds like a nice copy and replace will do it

brave fable
#

i don't think it can be fixed unless you're able to clean or replace the contacts under the mouse button

nova gale
#

they are getting the names of their items extracted so they can do a migrateitems trigger in CP

strong kite
#

I was SUPPOSED to get a new mouse yesterday but Amazon didn't even TRY shipping it even though it was supposed to be delivered yesterday

brave fable
#

oh yeah i don't even bother with amazon. awful company. better off just going out and buying the mouse you want

strong kite
nova gale
#

hmm, the gap between the easiest foods to make in my mod and the 3rd easiest food to make in terms of energy recovery is...vast

#

might need to rebalance that

hard fern
#

My old mouse was also cursed

strong kite
#

Anyhoo, yeah to get the list of IDs I pasted the objects file into a spreadsheet and am deleting everything that isn't the item Ids, then I'll format it better from there

hard fern
#

Had the same problem you're having

nova gale
#

although I guess the other one is made with real food items I could eat raw, vs the easiest one which is made from garbage monster parts, so nm, it's probably fine

strong kite
nova gale
#

vs code can regex search/copy I think (if not I'm confident notepad++ can do it). Typically I'm reluctant to suggest regex to folks though since it's not exactly simple

#

it's easy, but it's not simple 😛

strong kite
#

wait a minute I think i'm picking up what you're putting down

#

damnit does it only work for file types?

nova gale
#

no, when you search in vs code, the search bar has a little .* button

buoyant moon
strong kite
nova gale
#

in notepad++ you can enable something called mark for your search, which basically marks all the found items, which you can then copy all the marked items, I don't have the commands at hand (and frankly it might be faster to just copy, but if you find value in learning the skill generally even if it takes a bit longer then doing this particular job by hand, then it's worth knowing how to do)

iron ridge
#

theres a regex option in notepad++ find and replace

nova gale
#

yeah, I know notepad++ has the regex option, I just can't find what the button looks like, I don't have it installed atm

strong kite
#

I've found the options, I just need it to also select the things AFTER the prefix too

#

which the internet is failing me on how to do

nova gale
#

yeah, that's where the regex comes in

#

so you want to search everything from {{ModId}}_ to the following "

strong kite
#

You say that like it's as simple as toggling an option

nova gale
#

I do believe I specifically said I don't normally suggest regex because it isn't simple 😛

strong kite
#

but I'm not grasping from your message how to actually do that 😭 (I can be incredibly dense at times)

whole raptor
#

Regex is fun SDVpufferpain /(?:(?:\/|\\\\|\r?\n|\s)speak|question|message|end dialogue|splitSpeak|textAboveHead|\(break\)speak)[^"]*"([^"]+)\\|(?:quickQuestion\s+|#)([^#()]+)/

*He lied as easily as he breathed*

nova gale
#

so, regex has patterns for things like "any character", so you have a pattern here: strings that start with {{ModId}}_ and then end with a "

#

between those 2 parts, can be any number of characters, underscores, hyphens, periods, etc

#

usually the "just pick up anything" in regex is denoted with .* (although some regex implements have slight alterations, I don't know Notepad++'s specifically

#

so then you end up with something like "{{ModId}}_".*" as the search (dunno if { or } are special, if so they would need \ before them as well

strong kite
#

I think I got it Tiredkip

nova gale
strong kite
#

I have a list of all of the IDs. Granted, all of the IDs are listed twice each but I have them without all the other fluff

barren tapir
#

@brittle pasture I see what you mean by crab pots being a hard coded nightmare. I'm grasping at straws trying to fix something (I'll probably post details about the problem after I take care of some IRL stuff

stoic chasm
#

Helloo people. I have a quick question (hopefully-) Does the message tile property work on Front layers?

calm nebula
#

No

stoic chasm
#

Damn, ok. Thank youu

brave fable
#

what're you trying to do? if you're placing a message on the upper part of a wall, for example, the player won't even be able to reach that tile, and it'd be better placed on the lower buildings tile

stoic chasm
#

It might be easier to send an image to explain- Can I send a photo of the map I'm working on here?

strong kite
#

Alright so I have a spreadsheet with all the objects file IDs, one column with the old prefix and one with the new

stoic chasm
#

This is kinda what I'm trying to do. I wanna have the flags looking like they're hanging from that beam-looking thingy. And I wanted to have some flags over the stairs too

nova gale
#

it's a function command in excel or google sheets (whatever you're using) it's short for concatenate which basically means "mash 2 strings together"

brave fable
#

so where does the message tile property come in SDVpufferthinkblob

nova gale
#

so you can do =CONCAT(A1," ",A2) to make a new string that contains the value in spreadsheet cell A1 and A2 with a space between them

#

then, in the next cell down you can do =CONCAT(B3," ",B1," ",B2)

stoic chasm
#

Sorry forgot to say that

nova gale
#

after that you copy the formula down and it will just say "take the string above me, and mash the values from this row on the end"

brave fable
#

the player can only interact with adjacent tiles, so you can't inspect things on the ceiling

stoic chasm
#

Ooooh okay

brave fable
#

you'll have to place some (possibly invisible) buildings tiles at a reasonable spot below them

hard fern
#

Maybe make a plaque

stoic chasm
#

I'm really sorry, but what is a plaque-?

nova gale
#

like a sign

hard fern
#

Ah, you know museums?

#

They have little signs under the exhibition

nova gale
#

but usually metal, and engraved instead of printed

stoic chasm
#

Haha, I've never been to a real museum-

hard fern
#

O..

stoic chasm
#

That's cool though

hard fern
#

But yeah, basically those little signs are there to tell you about the piece

stoic chasm
#

Right, okay. I might try make a plaque thingy then! Back to my art program I go-

#

Thank you all for the assistance! I really appreciate it SDVpufferheart

toxic topaz
#

does anyone know why in my event, my junimo might be walking like this? i have it animated to only use 4 specific frames for all walking. yet it keeps doing this

nova gale
#

I assume you messed up your facing in the move action?

toxic topaz
#

no i have it set to down like it should be afaik

strong kite
#

This is the way my IDs have ended up btw

nova gale
#

what spreadsheet program are you using?

strong kite
#

Google Sheets

nova gale
#

excel can take more then 2

#

kk, one sec

#

let me check google sheets

#

this just means you have to do it in slightly more cells

#

one sec

#

oh, google sheets has a "Concatenate" that takes more then 2

strong kite
#

I'm also wondering what the end goal of this is?
Does this basically put them all into one line? that all goes in front of one "Pathoschild.ContentPatcher_MigrateIds Items" field?

nova gale
#

yup

#

well, after one, yes

strong kite
#

Alright ye that's what I meant

nova gale
#

so C1 has: =CONCATENATE(A1," ",B1)

#

(my examplea bove had them rotated the wrong way)

#

C2 then has: =CONCATENATE(C1," ",A2," ",B2)

#

after that it's just this, but with the numbers increasing

#

so C3 would have =CONCATENATE(C2," ",A3," ",B3)

#

etc

#

to say "thing above me, plus stuff on current line"

#

and what you end up with is the big long string you need

#

(you may need to add some quotes in there and such as needed)

strong kite
#

Alright, so It's still a bunch of copy/pasting and tweaking the numbers each time?

nova gale
#

once you make the formula in C2 you can just click the little round thing in the corner of the cell and drag down

#

and that will automatically copy the formula and adjust the numbers relatively

strong kite
#

ohhhh that's nice

#

Thank you!

nova gale
#

like that

#

(which I did while typing that advise to you, for a sense of how long it takes 😛

#

does the CP command require quotes around the item id's?

strong kite
#

I think it only requires quotes if the thing you're referencing has spaces in it

nova gale
#

ah, hopefully not in your case (spaces in IDs are a sin against god and nature)

strong kite
#

although the line as a whole in the example uses single quotes to contain the string

nova gale
#

yeah, that's easy enough to add by hand after

strong kite
strong kite
#

maybe I should've listened to it

#

oh my- AAUAGHGH

#

THEY NEED TO BE QUALIFIED 😭

nova gale
#

I assume they are different types?

#

or are they 90% objects with a few other things

#

(if they're mostly objects this is a fairly easy problem to handle by just adding the qualifiers in your concat and moving on)

strong kite
#

Well this string right here is just everything in the Object file, only from the Objecy file

nova gale
#

oh, then yeah just add the (O) to the concats

strong kite
#

At this point I'm gonna forget what I was doin before all this 😭

nova gale
#

but think of all the new mass data manipulation and searching skills you've gained

strong kite
#

I suppose that's true to an extent

#

Yippee it worked!

strong kite
#

Now how many other things do I need to do this for? Judging by the available types in MigrateIds, seems like CookingRecipes and that's it?

#

cuz I didnt have buildings, craftingrecipes, events, farmanimals, mail, or songs

#

Alright and so I think I'm done with that! The recipes were infinitely quicker (who'd have guessed, It was a shorter list and I now knew what I needed to do LUL)

#

Now... is there a way to do this for crops or giant crops? If not, I'm not too worried about it but i guess it might be nice?

#

I ask knowing full well I dont want to spend more time on migration Quagless

nova gale
#

no idea, I didnt' know you could migrate them until this conversation, check that CP page I linked and see maybe? ¯_(ツ)_/¯

toxic topaz
#

i have no clue why my junimo doesnt have an animation the first time... but the second time he does

barren tapir
#

Is this not how you do harmony prefix postfix pairs?

I'm getting a NullReferenceException: Object reference not set to an instance of an object. before the methods even run.

#

Both methods are patching CrabPot.DayUpdate

calm nebula
#

Add the [HarmonyPrefix] and [HarmonyPostfix] attributes

#

(Most people actually use magic naming iirc)

strong kite
#

Alright good thing I unpacked the game again, was def missing a few things

calm nebula
#

Nah, what i showed was the less common method

nova gale
#

sigh I should make a community bundle set for my mod, some of these are really tough to complete in a mining focused game 😛

small kindle
#

Hey y'all so I need some help because idk if its just not possible or I am missing the forest for the trees. So I am making a mod for shops and I want users to be able to mix and match various portrait mods with GMCM. My mod appears in GMCM when first loading into game however in the drop down for shops the only option that appears is "Vanilla" its not until i load into game that GMCM populates the drop downs with the options. I am using a registery system to look in /packs to populate but I seem to not be able to get it to do it at the title screen. Can I use like gmcm.Register() to rebuild it at the title screen after CP and everything loads? Worried that could affect other mods

strong kite
#

Where can I find a list of variables like @ having text use the farmer's name? More specifically right now I'm looking for using the FARM's name, but a list of all variables like that would be excellent

torpid sparrow
#

[[Modding:Dialogue]]

strong kite
#

Ah shoot I shoulda figured that mario_facepalm

faint ingot
#

I am trying to get started with CP extensibility and am getting an assembly reference error on the IContentPatcherAPI.cs file. Any ideas?

lucid iron
#

Or this look in /packs thing

marsh reef
#

🤔 how do I structure the schedule json portion if I want an npc to have a certain schedule every Monday Tuesday etc individually by day but the same every week?

small kindle
#

Yeah so I kinda used a mod Scaleup Unofficial as a guide but basically I am using CP Token called {{Dakota.ShopPortraitOverhaul/Packs}} so that way other people can use that token to let my mod, its meant to be like a framework, can find any mods wanted to add portraits and auto populate them in a drop down.

lucid iron
torpid sparrow
lucid iron
#

But anyways the problem you encounter is indeed solved by Unregister and Register GMCM
You can use AssetInvalidated to detect when you need to do this

torpid sparrow
#

If you have one entry for mon and it’ll be the same Mon every week

marsh reef
torpid sparrow
#

What’s wrong with the tutorial

#

It just breaks down the keys

marsh reef
torpid sparrow
#

If you want something for Mon, you put Mon. If you want a different schedule for a more specific day, you can make it more specific

#

spring_8 for example would only be for Mon 8 of Spring

marsh reef
lucid iron
#

The other approach would be making ur own menu I suppose

torpid sparrow
verbal glacier
#

!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.

torpid sparrow
#

You need a default and/or spring schedule key I think

#

But I’ve functioned without it before bc all my other keys worked

marsh reef
torpid sparrow
#

“Mon”: “900 Town 58 94 1/1800 bed”,

small kindle
marsh reef
lucid iron
torpid sparrow
#

The wiki page says that somewhere I can’t remember where

lucid iron
#

I don't really know your usecase is yet so i dunno what is best for you

torpid sparrow
#

But I’m really just throwing pasta at the wall bc idk any of ur specifics

verbal glacier
small kindle
#

Oh thats fair lol. Basically its a framework to remove/change the vanilla interface to load a full sized portrait. So it shifts the shop menu over, removes the vanilla portrait window and greeting, and loads a portrait like off in the left corner

severe cairn
#

How slow do npcs move? Is it even slower than farmer walk or faster or the same? Would check myself but am eepy sleepy

marsh reef
torpid sparrow
#

Yeah that’s just not enough info

small kindle
#

Idk if I can post pictures so or I would

verbal glacier
torpid sparrow
#

If there’s an error that be helpful otherwise I’d say try sleeping a day

buoyant moon
#

Is there any standard around how to treat multi-part dialogues as far as i18n goes? e.g. for:
"You look like you've been doing a lot of hard work.#$b#Why don't you take the rest of the day off?"
Does it make much of a difference if the whole string is one i18n token or two with #$b# in the middle since that doesn't change between languages?

torpid sparrow
#

Or sleeping until the next Monday or whatever

severe cairn
#

Ya I know I meant that if the farmer walks (no run) how is their speed compared to an npc haha

toxic topaz
marsh reef
#

OH, nvm i do have a thing of the error, how would i call on a modded map in the schedule?

torpid sparrow
#

Whatever the internal name is

marsh reef
torpid sparrow
#

If there’s an error about that then there’s a typo or something

marsh reef
torpid sparrow
#

I don’t know what ur location is

#

Theoretically yes but I don’t know it

barren tapir
# lucid iron You need ref for __state

Im trying to follow this tutorial (specifically the Prefix-postfix pairs section). I believe that ref cannot be used in conjunction with out, and when I change the prefix method signature to CrabPot __instance, ref bool __state, I still get the same error

torpid sparrow
#

That’s best practice but the name could really be anything

verbal glacier
marsh reef
buoyant moon
torpid sparrow
#

There could be something wrong with ur location

torpid sparrow
#

And not necessarily with the schedule

torpid sparrow
#

Maybe the game can’t find the location bc it’s set up wrong

#

Idk

#

Pasta, wall

void aspen
#

game has around 1000 png files

#

interesting

torpid sparrow
#

Things to keep in mind though

marsh reef
verbal glacier
marsh reef
lucid iron
torpid sparrow
#

Well I just don’t want to present it like I know exactly what’s wrong

buoyant moon
barren tapir
# lucid iron Your NRE could be part of your own prefix or something you did that borked anoth...

It gets stuck in infinite loop, but here is the error message (censored to remove my name)

[12:52:58 ERROR game] An error occurred in the base update loop: System.Exception: Error on new day: 
---------------
NullReferenceException: Object reference not set to an instance of an object.
   at Money_Sinks.CropQuality.CrabPot_DayUpdate_prefix(CrabPot __instance, Nullable`1& __state) in C:\Users\_____\source\repos\Money Sinks\Money Sinks\CropQuality.cs:line 139
   at StardewValley.Objects.CrabPot.DayUpdate_PatchedBy<Nullnnow.MS-OfferringsCode>(CrabPot this)
   at StardewValley.GameLocation.DayUpdate(Int32 dayOfMonth)
   at StardewValley.Farm.DayUpdate(Int32 dayOfMonth)
   at StardewValley.Game1._newDayAfterFade()+MoveNext()
   at StardewValley.Game1.<>c.<newDayAfterFade>b__782_2()
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.<>c.<.cctor>b__272_0(Object obj)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
---------------
strong kite
#

So, setting up emotes in an event, how do I specify [continue] cuz the intuitive ways don't seem to work and the wiki just says what happens if you specify continue

lucid iron
buoyant moon
#

IIRC by default it's false and you don't need to add anything if you want it to block

brittle pasture
#

as well as every API function you're not using

barren tapir
round dock
lucid iron
#

You have to inspect everything you are using and make sure you aren't accidentally dereferencing a null

strong kite
lucid iron
#

I don't think __instance can be null but fields on it can be