#making-mods-general

1 messages · Page 421 of 1

clever turret
#

If I'm able to wrap my head around C# for my phone troubles, maybe I'll try and figure out a harvest things like moss setup

stable grotto
#

does that even work in vanilla? the box drawn seems too small for some of the localizations

drowsy pewter
lucid mulch
#

I personally wouldn't bother for the forseeable future while timelines are so undefined.
you dont want to make your mod dependent on it , and then just not release it for 2 years potentially

stark spindle
lucid mulch
#

for context the 1.6 modding alpha was open for a bit over 2 years prior to its eventual release

#

and while past doesn't always predict the future, its the best baseline for setting expectations

hard fern
#

im so excited for non string furniture

lucid mulch
#

I'm tempted to work on a backport mod, but am nervous of doing it, and then it changing again and thus maintaining an out of data view of the backported functionality

#

backporting the event stuff would be interesting

stark spindle
#

Yeah I really like all the event stuff. looks way nicer. The event test stuff also looks super useful.

hard fern
#

ooh yeah these look nice too

#

SDVpuffersweats on the one hand yeah i know it could be quite a while until 1.7 but on the other hand i dread releasing a mod and then having to fix all the stuff for it

lucid mulch
#

some of the event validator stuff I want to incorporate into my debugger mod as I should be able to get that hooked up so it can run and show its results inside vscode

ornate locust
#

unfortunately it comes in like two years and I ended up doing my 5 quickquestion event in the mean time

lucid mulch
#

tbh I might be fine with my debugger mod just tying itself to the hips of 1.7 early as I have no real plans of releasing it any time soon anyway

#

and as I want to work on CP migrations / smapi rewriters anyway, having mod authors delibrately running on 1.7 to use the debugger also tests the CP migration tools

hard fern
#

SDVpuffersweats how about i just take 2 years to finish my expansion... tbh, it'll probably take me somewhere around that time anyways. i don't see an issue with writing it for 1.7 off the bat, time-wise, anways.

ornate locust
#

Expansions aren't super fast things to make

lucid mulch
#

though I want to get some of the profiler updates out prior to condemming Debugger to being unreleasable

#

and I need to find at least 1 other performance optimization to put into SpeedySolutions so I have an excuse to ship an update with the correct default config value

drowsy pewter
hard fern
#

tbh, i don't really want to release it for players anways...

drowsy pewter
#

well, up to you

hard fern
#

😔 so then i shouldnt do it

#

and stick to 1.6

brave fable
#

imo it's best to stick to 1.6 if only because 1.7 doesn't even have the vaguest hint of a release date

#

live in the moment

hard fern
#

yeah, you're right. it would be a pain for me to even test if i made it for 1.7

brave fable
#

i'd do whatever you like without even thinking about the next update, and when 1.7.15 is out and all the dust's settled you can start looking at migrating whatever isn't already handled by CP

stark spindle
#

There doesnt seem to be any real breaking changes yet

lucid mulch
#

the main breaking changes are moving all the dialogue around, every events rewritten and a bunch of assets have completely changed data structure

brave fable
#

but all in all i'd say the #1 reason to develop for 1.6 is because absolutely everybody else is (save for the one person who just turned up using 1.5.6 SDVdemetriums ), so all the frameworks are made for 1.6, and all the documentation is written for 1.6

#

unfortunately i just found a blog with the most incredible and adorable hakama so my evening is ruined

hard fern
#

does this mean you're in pants hell

#

again

brave fable
#

never left 😌

hard fern
#

(does pants hell have different circles? what circle are you in now)

ornate locust
#

yeah, two, the legs

brave fable
#

colour-coordinated non-conforming culturally significant pants circle

ornate locust
#

Three if you count the waist

hard fern
#

those are a lot of Cs

brave fable
hard fern
#

wait those are so cute

#

UGHHH

brave fable
#

you see the problem here SDVdemetriumsSDVdemetriumsSDVdemetriumsSDVdemetriumsSDVdemetriums

hard fern
#

I DO

brave fable
#

now how the fuck do i draw them

#

the classic blunder is trying to make menswear and them immediately the world of womens fashion buries it like a mudslide, never to be seen again

vernal crest
#

I've already gone back to rewrite several parts of my mods after learning better ways to do things so if I have to rewrite stuff for 1.7 it won't be different

stark spindle
#

Yeah I do get a kick out of refactoring stuff to work better or do it the "proper" way. I always feel like I'm doing things a bit of a hacky way the first time.

brave fable
#

hm somehow i hoped pants might be drawn above shirts so i could have a matching belt at chest height. turns out pants are drawn so low your eyes go over them

dusky sail
#

Solution is a shirt item that contains the top of the pants and the belt maybe

#

Like the vanilla overalls shirts

brave fable
#

sadly means i need a gorillion shirts haha

dusky sail
#

Is this a real number

brave fable
#

naturally.

hard fern
#

gorilla x 1 million

#

idk what the numerical value of one gorilla is but it sure is a lot

brave fable
#

actually there might be nothing stopping me from just making the kimono equivalent of a crop-top

dusky sail
#

Now ur cookin with fire

brave fable
#

naturally 😌

fading walrus
brave fable
#

you can't do this to me...

fading walrus
#

Get design-creeped

brave fable
#

emily's pink cowboy pants. my final offer. please

#

i have a family

fading walrus
#

This was a fun rabbithole to go down for scope creeping ngl
India has a massive fusion fashion scene and I love seeing how other countries do it

#

Maybe...

#

Just maybe...

#

I shall give clothes a crack.

brave fable
#

you MAY want to start with something simpler than patterned flowing pants lol

fading walrus
#

Tops

#

And if I have to do lower wear, I'll do skirts first

#

Pants will happen once I ascend to a higher plane of consciousness

hard fern
#

ive been scrolling through that website with the cute hakama

#

SDVpufferwaaah why can't clothes be real

brave fable
#

one day i hope someone makes clothes real so people dont have to see my butt. one day

fading walrus
#

Would look so good with high waisted jeans

brave fable
#

ah yes. the arms draw above the pants.

fading walrus
#

Oops

dusky sail
#

Cut off the farmer's arms

#

Problem solved

echo orbit
#

how do I go about adding a custom catalouge/shop

vernal crest
#

Do you want a catalogue or a shop?

#

They work the same way in one aspect but totally differently in others, so they don't use the same instructions

echo orbit
#

give us an example for both

#

because I need an implementation for a shop that sells a new furniture catalouge

verbal narwhal
ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.19045.0, with 28 C# mods and 6 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

vernal crest
# echo orbit give us an example for both

Furniture catalogue will need Calcifer, Furniture Framework, MiscMapActionsProperties, or Spacecore and the instructions vary depending on which one you use, so you can check their documentation.

echo orbit
#

also where would I put the contribution to the portrait gen

vernal crest
vernal crest
vernal crest
echo orbit
#

and how do I end up making a sprite sheet

vernal crest
fading walrus
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!

echo orbit
fading walrus
echo orbit
fading walrus
#

That's honestly the easiest way to keep the body style consistent with vanilla and saves you a bit of work

echo orbit
#

looking at the three currently designed portraits (ily pathoschild you make my life easy)

#

i daresay she looks hella like abby

vernal crest
#

(Pathos is amazing but as far as I know he doesn't draw lol)

drowsy pewter
#

If he could draw we should all be afraid

vernal crest
#

He could just be the entire Stardew modding community on his own

hard fern
brave fable
#

thank god he can't draw. don't you dare wish the water out of his well of time and knowledge

vernal crest
#

(Although all the marriage candidates except Abby would be sorely neglected SDVpufferpensive )

echo orbit
#

what emotions do most characters have in common uhhhhhhh SDVpuffersweats

#

oh no

drowsy pewter
#

Immersive Abigail, Romanceable Abigail Redux, Abigail Expanded, Sweeter than Amethyst

echo orbit
#

my brain fate_sob

vernal crest
#

Realistic Rock-eater Abigail

echo orbit
#

I need another monster but it's 8:20

fading walrus
#

SWEETER THAN AMETHYST

#

Crunchier than Amethyst, surely

echo orbit
#

yall should I make wildcorn a thing? or just use the regular corn crop for the overgrown cornfields

vernal crest
#

You should perhaps try to get a working map in game before worrying too much about making custom assets for it

echo orbit
#

hm

#

true

vernal crest
#

It can suck to do a lot of work and then realise you can't implement it

echo orbit
#

nevermind I just forgot to read on

brave fable
#

i see. we don't actually get to use the top 16x23 pixels on the pants sheet. ok.

#

maybe with a matching invisible shirt

#

ok yeah invisible shirt is good. unfortunately the pants still suck (and the arms clip)

drowsy pewter
#

Better Pants Framework

#

Okay, finally home. What was I planning to work on

echo orbit
drowsy pewter
#

What?

echo orbit
#

as in, craft this item to make a machine

drowsy pewter
#

Okay. I'm sorry but I have my own things to work on actually

brave fable
#

if you want user opinions it's often better to ask in #modded-stardew , we're just the technical side

vernal crest
#

Yep, not a massive amount of actual playing happening in this channel lol

hard fern
#

I had a brain fart and really thought the topic was Long (length) crafting trees. Long trees. Just crafted in ur inventory

vernal crest
#

Looong loooong trees

drowsy pewter
#

I was also thinking trees

#

I do appreciate long trees

#

now thats a long one

vernal crest
#

Oh butt I'm going to need two includes after all

timid meteor
#

Erm, can someone please help me figure out how ConfigSchema works? It shows up in the menu config tab but its blank. I'm trying to add options that let players turn different accessories like hats and shades on or off. Tw: I don't know what I'm doing SDVpufferpensive https://smapi.io/json/none/a3024074ae384fb5a4ba9adbf9a8339a

drowsy pewter
#

Where did you get this format from?

#

have you read the Content Patcher documentation at all?

vernal crest
#

Hey it's Lily's mod

timid meteor
timid meteor
#

Oki thankyuu

drowsy pewter
#

I dont know where you got your format from, but if its chatgpt or anything similar, please dont

vernal crest
#

But yeah Type is not a thing.

timid meteor
#

Alright that's noted, sorry y'all had to read that abomination lmaoSDVpuffersalute

verbal narwhal
#

does polyamory sweet have a tag that can be used in CP packs to see if any of the spouses or roommates are one specific one?

verbal narwhal
#

if any spouse or roommate is: Sebastian

hard fern
#

Oh, can you not just Spouse: Sebastian

verbal narwhal
#

mhm I was told that would result in false positives or positive falses (?)

timid meteor
hard fern
#

Oh, i guess. There's no way to guarantee the player has his spouse room

verbal narwhal
#

and the thing is with c# I can handle the checking for poly safety
but if I want dynamicness that can adapt to different mods I should rather rely on CP
(or expand this 1000 lines of cool mess I made)

hard fern
#

Re: polysweet cp tags, honestly im not sure if it does all that

#

Maybe best to just look in it? 🤔

verbal narwhal
#

I took a look into their readme

#

it's empty

hard fern
#

Like totally blank? Rip

verbal narwhal
#

yes lmao

hard fern
#

Idk how easy ot hard it would be to poke around inside the contents of the mod itself to look for anything

verbal narwhal
#

but maybe I can fumble something together that checks my c# part with like many conditions

#

I guess I will do that when I have the mental capacity (it is so many files)

dusky sail
#

Would a has spouse contains sebastian true work

#

Like. Is that an available condition

drowsy pewter
hard fern
#

It should work as a condition? Methinks

verbal narwhal
#

well the vanillacode asks for this syntax:

#

this.HasNpcSpouseOrRoommate() || this.lastSpouseRoom != this.owner?.spouse)

hard fern
#

Hm

dusky sail
#

Maybe look at custom spouse rooms/polysweet rooms and poke around to see how they figure out which spouse rooms to spawn if youre going c#

vernal crest
#

Or maybe just...prioritise compat with a different polyam mod...-cough-

dusky sail
#

This is true there's three of them but i feel like. maybe theyre similar enough that the same "does this person have sebastian amongst their spouses?" Question would work for all of them

#

Completely unfounded belief

brave fable
#

not sure which one to lose, from lemon, orange, apricot, and yuzu. one of them has to go. this is ridiculous

dusky sail
#

Why does one have to go 🥺 why cant we keep all of them

brave fable
#

do i look like i want to make another pant

vernal crest
#

Yes

dusky sail
#

Wouldnt it just be recoloring the same pant?

sleek flint
brave fable
#

unfortunately these idiot things had patterned designs on them before i redrew them

lucid iron
#

Delet orange cus it looks like son goku

brave fable
#

bad designs, but still

#

good point

sleek flint
hard fern
#

Orange seconded

#

I don't know what a dragon ball is though

brave fable
#

sorry venus ur kimono is bad and goes in the shredder

hard fern
#

Mmm pants

#

Why are pants

brave fable
#

we just don't know.

calm nebula
#

Does it work?

#

Extending the pants

#

Do high waisted pants work?

fading walrus
#

pants are the devil

#

hi atra!

calm nebula
#

Pants are the devil

brave fable
#

they do work, but you need a shirt that's transparent up to that point, since shirts are drawn above pants

#

there's not many

calm nebula
#

I have to go put some on to go to work

#

Ah

#

Okay

#

Crop tops

fading walrus
#

crop top tiem, ye

brave fable
#

there's a few in this mod but god knows why anyone would wear them

fading walrus
#

because cute, surely

brave fable
#

technically pants are drawn above shirts when you've passed out so i guess you can just die in high waisted pants

fading walrus
verbal narwhal
#

I was just asked if I could make it work

verbal narwhal
# calm nebula {{Relationship:Npc}}: Married

mhm but that would return true if the farmhand was married to sebastian as well

but I think maybe the problem was after all not at all caused by my mod (I thought I have looked at every possible check) but maybe just on (CP) Lively Frog Tank dead

hard fern
#

maybe use game state query?

#

to specify player

past knot
#

I have a bit of an.. interesting question..Im working on a mod currently. It had a former name that the maps were under, but that internal name had changed and the maps coding did too. Ive tried removing the former name versions. And it seemed to break all maps entirely. Is there a reason and fix for that?

calm nebula
#

Current player is the default

past knot
#

Ive already redone the code with the newer versions internal name

past knot
#

Lemme grab it!

vernal crest
#

!log You can paste it in the linked website and then share the link with us

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.

verbal narwhal
# calm nebula No. It wouldn't

so would the editmap patch happen then if the current player would be visiting the house of another player that is married to sebastian?

verbal narwhal
#

mhmm my mod was doing fine all the time
it was just a non-optimal frogtank hider that i was trying to have working while also adding compat with my mod

karmic gust
#

I'm having a problem adding an NPC warp from the bus stop to a custom location and I'm not sure why. Pierre does successfully leave his apartment in the morning and makes it to town, but he makes it as far as the bus stop in the evening and then doesn't use the NPC warp back to his house. Spacecore is showing the "could not find route" scheduler message. I also tried changing the location of the warp just in case SVE added one in the same spot but no dice

here's the json (with the map patch on line 153): https://smapi.io/json/none/73c86f84eb5f49f7ac756d1b82123d91

and the log: https://smapi.io/log/b6223d17bbf844e1b29b7e9dba6316a1

ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Unix 6.16.4.107, with 16 C# mods and 4 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

obtuse wigeon
#

Nexus I stg why are you adament on breaking! SDVpufferwaaah

vernal crest
#

Does it work if you move the warp to a different tile?

karmic gust
#

okay, I just retested without SVE and the map patch is working without it

#

no, it didn't but I only moved it a tile back

vernal crest
#

Also this is not connected but I recommend that you start using the {{ModId}} token

karmic gust
#

for the location, you mean?

vernal crest
#

Try moving it to a significantly different place

karmic gust
#

okay!

vernal crest
karmic gust
#

Oh, okay! I thought that was only recommended for custom NPCs. I'll go ahead and do that

vernal crest
vernal crest
karmic gust
#

Okay I'll make those changes, and check the patch export. Thank you for the help!

obtuse wigeon
#

Ahhh if SVE does change the bus stop warps, they will use the touch action warp, if you've replaced the tile with a new one, the property will be removed

#

I had a similar issue with making pavements, SVE warps just stopped working until I put my tile on Back2 instead of Back

karmic gust
#

Hmm, yeah I'll have to see. I have to head out in a second so I'm gonna check it out when I return. I thought the addNPCwarp function only added to, not replaced any existing ones (unless it was on the same tile) but there may be another one there

vernal crest
obtuse wigeon
#

Ohh okay sorry, I just woke up so I think I've misunderstood

vernal crest
#

SVE is breaking kspace's mod not the other way around

vernal crest
karmic gust
#

Sorry, another question so I can clarify. When I load the maps I would set the target as {{ModId}}_PierreApartment (or whichever map name) and I could keep my file names the same, correct?

#

The same way as I did with the character sprites?

royal stump
lucid iron
karmic gust
agile flame
#

if an item couldn't locate the given sprite will it show as error image?

vernal crest
ornate trellis
#

anyone know where Fashion sense get this part of their UI? i guess its one of the ones on cursor but I cannot figure out how its drqawn or which it is because it somehow makes my UI recolor for it look weird

#

cuz this is how it looks for me

vernal crest
#

Try replacing cursors with a file of the same size that's just entirely bright green to confirm it's coming from there and then if it is make each quarter a different colour to find out which quarter of the sheet has it and so on, getting smaller and smaller until you find it.

ornate trellis
#

🤔

vernal crest
#

Think as in you don't know what I mean?

ornate trellis
#

holy balls

#

i found it by sheer coincidence

#

oh but to answer your question, that emote was more of a "guess this means a lot of time digging" questioning self kinda way but i guess i had pure luck just now as i was staring at all the frame-ish elements

obtuse wigeon
#

I'm interested to know where it was, I'm putting a bit of a compilation together of the asset paths and location of things for recolour, so it would be quite useful to add to the compilation

brittle pasture
#

from reading the source code the side bar is created by stacking copies of this section on top of each other (phone photo warning)

obtuse wigeon
#

Good to know! thank you

calm nebula
#

How are tortillas

dusky sail
#

yes

obtuse wigeon
#

To that I raise you, Why are tortillas

brittle pasture
obtuse wigeon
#

Oh wow I just saw tortierre

calm nebula
obtuse wigeon
#

Breakfast burritos are the shit, like I cannot think of anything better

brittle pasture
#

my obsession with skong has spared me from making a tortilla mod and i’m not sure if i’m relieved or disappointed

lucid iron
#

Hornet tortilla outfit

#

Consider

obtuse wigeon
#

I keep on seeing skong spoilers on tiktok, it looks SO GOOD

oblique meadow
#

Ive been playing. Its definitely harder but SO good

tiny zealot
#

i am not playing it yet, please keep skong info and spoilers out of mmg for the terminally online like me thank you

obtuse wigeon
#

Spoilers 100% should not be stated in here agreed

worldly wadi
#

Heyyy I'm struggling to add forage on my map. Can someone help me? I have the items and the map ready, how can I place them?

brittle pasture
#

look into location data

sleek flint
#

Can someone tell me where is the tmx file for the top mine floor? Not in the mines, but the one you enter before descending with the ladder or the elevator.

gray bear
#

mine.tmx

karmic gust
worldly wadi
brittle pasture
#

content.json

worldly wadi
#

Ok tysmmmmm

fair hull
#

Hi guys.

Did anybody can help me? I try to do a mod that change the sprite of the seeds from other mods, but it doesn't work(4 days i try anything, didn't find a solution). I don't have any error in json (https://smapi.io/json/none/a194168699554dd4bb974e497a768b36), but it doesn't change a thing.

I suppose the code to change the sprite (lines 1097 to 1116, the last bit) is wrong, but why?

I mean, the UniqueID for Atelier Goods is "Wildflour.AtelierGoods", so the path should be " Mods/Wildflour.AtelierGoods/Assets/Objects "(the name for the file with all the sprites is "Objects")...

Did anybody know what i did wrong, and could explain it a little? Because i did the sprite for a lots of mods, and i want to code them all ^^'

hallow prism
#

it's not how it works

severe spruce
#

Is it just me or is there an absurd amount of tortilla-related mods releasing recently

hallow prism
#

it is a good idea to come asking for help!

#

the mod will load the files in a path mentioned in the mod itself

drowsy pewter
hallow prism
#

you need to use that specific path to change assets

drowsy pewter
#

The actual full name of the path is completely unrelated to where the files are in the mod folders

hallow prism
#

the path of the mod folder doesn't matter, what matters is the in game path (the way it's loaded in content pipeline)

fair hull
#

So, i need to check the original mod code to find the right path?

drowsy pewter
#

Yes

fathom rapids
ornate trellis
#

man, wish i remembered how i can check in a mods code if i can target their asset for retex needs

drowsy pewter
#

Essentially the author decides the name of the texture/"path". If flour wanted, she could make her items have the texture of Wildflour.AtelierGoods_AllOfMyObjects or even Mods/Flour_items or anything. So its best to check the object data files--you can also use lookup anything with debug fields on on the items ingame

obtuse wigeon
severe spruce
lucid iron
ornate trellis
#

oof

#

i swear there was a way to jsut browse the code for it or something

fathom rapids
obtuse wigeon
ornate trellis
#

i do have the source but I know jackshit bout C#. guess i jsut gonna do the drag and drop option until i see someone maybe target it(if its possible)

obtuse wigeon
#

What mod is it? I could have a look for you as I'll probably need to add it for mine anyway

ornate trellis
#

well, im adding a few so id have to look at msot if the source is available but rn its quality smash

obtuse wigeon
#

I think I found quality smash? lemmie have a gander through my list

ornate trellis
#

i did find the asset mentioned but idk what any of the code means

lucid iron
#

Iirc quality smash is replace only

ornate trellis
#

it would be great if in ge4neral for any UI retexture maker we could have a list or something for compat stuff like this

ornate trellis
#

so it goes onto the list with fashion sense

fair hull
obtuse wigeon
ornate trellis
#

yeah and the whole guessing if its replace only or not...would save a lot of time if there was a list

obtuse wigeon
#

I'm unfamiliar with replace only, overlay doesn't work on some things? that's quite annoying

ornate trellis
#

replace only is basically drag n drop to replace the png inside the mod

#

big downside is you gotta do it every time all those mods update

lucid iron
#

The reason is that sometimes people didn't load their ui textures to content

obtuse wigeon
#

Ohhh gotcha

lucid iron
#

It's impossible to editimage in that case

ornate trellis
#

so it wouldve been great if we could just target..

obtuse wigeon
#

I assumed they all were added to content

ornate trellis
#

as simple as drag n drop sounds its a big hassle when you got, like, 20+ mods to do it for

zenith sapphire
#

Guys but if i want to make a new custom map in stardew, using Tiled, do I have to unpack the XNB files with a program, or can I just get those PNGs and the file exported from the internet? I didn’t want to use another program on my PC, maybe there is something else?

obtuse wigeon
#

Also why is fashion sense in the drag and drop catagory? Unless theres an odd sub menu I havent found, fashion sense works automatically

ornate trellis
#

what do you mean

gray bear
#

u can intergrate it with code iirc

ornate trellis
obtuse wigeon
ornate trellis
#

see? now we are back to it would be great to have a list or wiki page for this whole thing

obtuse wigeon
#

in fact it does it automatically

ornate trellis
#

what do you mean automatically

#

where do you put the reccolored assets

obtuse wigeon
#

It takes the UI elements from cursors or other vanilla Assets

ornate trellis
#

im talking about the FS specific icons

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!

obtuse wigeon
#

Ohhh okay gotcha, sorry I missunderstood, I thought you meant the other stuff not the icons, my mistake

ornate trellis
#

yeah i always jsut mean the mods specific custom stuff, not what they use from vanilla

gray bear
#

oh wait yeah e_stares they don't load those

#

honestly as long as the drag-in part isn't named wrong shrug could maybe see if u can ask PE about it shrug

obtuse wigeon
#

It would be good if Stardrop could handle drop in replacements, given it already reads the manifest files

gray bear
#

actually since it's a c# mod i don't think it can load things that can be edited by CP

ornate trellis
#

nah i make it so the folder structure stays so you can drag n drop and replace

obtuse wigeon
uncut viper
#

Content Patcher itself is a C# mod that loads things that can be edited by CP

ornate trellis
#

what does swim mod even have UI wise? scarlett suggested it for a compat edit but i stared at it for a minute and was like huh

obtuse wigeon
#

Oxygen bar, that's like it I think

ornate trellis
#

ohh

gray bear
fathom rapids
#

why not?

uncut viper
#

were the vanilla files added by content patcher?

fathom rapids
#

Anything Content Patcher can do, another C# mod can do too

#

the question is proper load order / false dependencies

uncut viper
#

it edits assets and any mod can touch any asset in the pipeline

gray bear
uncut viper
#

if you feel like smashing SMAPI's door open with a sledgehammer you can even edit internal assets if you really wanted

#

not if FS doesn't put them in the pipeline

karmic gust
#

Does hitting publish ever get easier? I feel like I've tested everything a bunch, I've reread every event like a gazillion times, everything seems to be in order and yet it's so nerve wracking haha

uncut viper
#

C# basically has it's own equivalent of the InternalAssetKey token

gray bear
ornate trellis
#

whats, like, the pro in not loading it into the pipeline and making it hard for retexturesob

#

just curious

calm nebula
#

It's more work and if you didnt know about it

lucid iron
#

Minor perf stuff but usually just not knowing that you can

uncut viper
#

wouldn't need to worry about invalidation or anything either

ornate trellis
#

ahhh

fathom rapids
hallow prism
#

i know with FTM i can check cp conditions. If i wanted to check if a certain token returned a specific value, is it doable with it?

#

its a random token so i'm not sure if it is doable

ornate trellis
latent mauve
#

Honestly, there might be times when a mod author intentionally doesn't load it into the content pipeline because they don't want it to be changed by anyone else, but that's fairly rare. It's usually just not knowing that they can/should.

brittle pasture
fathom rapids
#

mhm

#

oh a good example of a mod that DOES do that i think is tractor

#

both the garage and the tractor are CP-able and AT-able

latent mauve
#

(using {{InternalAssetKey}} tokens creates the same effect in CP mods where the content becomes unable to be targeted by other patches)

gentle rose
#

the trick to making a UI that's compatible with other things is not to do either option and just use vanilla UI bits and bobs instead /lh

karmic gust
#

Okay it's done!

latent mauve
#

Which is why Loading a texture is preferable to using InternalAssetKey

karmic gust
#

https://www.nexusmods.com/stardewvalley/mods/37296

Fates entwine when long-time rivals Pierre and Morris meet after a late night argument.

Across the Aisle adds 14 rival heart events for these two quarreling clerks. This mod follows Pierre as he navigates co-parenting of an adult child, co-ownership of a business, and, of course, love after divorce.

Nexus Mods :: Stardew Valley

Fates entwine when long-time rivals Pierre and Morris meet after a late night argument. Across the Aisle adds 14 rival heart events for these two quarreling clerks. This mod follows Pierre

fair hull
karmic gust
#

Yes please! I'd really appreciate it SDVpufferheart

brittle pasture
obtuse wigeon
ornate trellis
#

wait a goddamn minute

#

i was looking at erinthes because it was said to have the same update from flyingtntn but the asset folder looks different...

obtuse wigeon
#

I think erinthe merged flyingtnt's code to the Swim github page, but didn't update the swim nexus page as flyingtnt also has a nexus page for swim mod continued

ornate trellis
#

well, whatev the reason, i now have the needed asset xD

obtuse wigeon
#

Thank you GitHub copilot for spitting out a nexus ID for a mod that isn't published, now please stay uninstalled I beg

gray bear
#

vscode: do u wanna use copilot?
me: no

gentle rose
#

I mean for me it does, that just always means I forgot something SDVpuffersquee “publishing isn’t so bad! —oh”

round dock
#

Funnily enough, even publishing an update still gives me the jitters

uncut viper
#

the only part that hasnt gotten easier for me is making the mod page itself which i still loathe with every fiber of my being

#

"release mod? no mod page!! only release!!"

round dock
gentle rose
#

one day I will blackmail a content modder into making my mod pages for me 😌 probably claire

devout otter
#

At one point I got into the headspace of "there's no way I don't have bugs, so I'd always have to upload a hotfix anyway" and after that releasing a mod gets easier.

round dock
modest dagger
#

would bribes or flattery work claire

gentle rose
round dock
ornate trellis
tiny zealot
lucid iron
#

I like releasing on gh cus i just upload no thinking required

tiny zealot
#

don't have to wait for the flaky virus tool, CDN is faster, readme is probably already written and uses markdown, etc.

royal stump
hallow prism
#

thanks! this would include the synced key for the random?

#

i will do some tests and see if it works for my use cases!

royal stump
#

as far as I know, those should work the same, yeah
FTM passes the whole thing to CP for it to handle directly

uncut viper
latent mauve
#

I have very little motivation to make a pretty mod page for myself but I could be convinced to write something up for other people xD

oblique meadow
#

Someday i'll put effort into my mod page(s)

wise quartz
#

hey I wanted to ask if anyone knows where in the code does Stardew Valley expanded register GMCM entries?

#

or if anyone knows who I can ask about this :p

arctic jungle
#

Hey everyone! I was having in issue and got some help about a week ago and we couldn't get the issue fixed, I was hoping that someone who is on now might be able to help.
The Issue: Broken opening scene when walking onto a custom farm from the bus station

royal stump
obtuse wigeon
ornate trellis
#

hmmm, musve a typo or something then

arctic jungle
wise quartz
latent mauve
wise quartz
#

for example 'HarderBuildingConstruction' is able to use the translated version and show the correct localized one instead of the default english one

uncut viper
#

the content patcher docs describe what you need to put in your i18n for the config schema

wise quartz
#

what makes me more confused is that they don't do this with all of their entries 😭

uncut viper
#

i forget if its in the translation docs or the config docs

royal stump
arctic jungle
latent mauve
warped raven
#

Hello, a quick question about Content Patcher. Am I correct to think that it's not possible to patch an image with EditImage with an image already loaded by a Load instruction (using the content key instead of the image path) ?

obtuse wigeon
warped raven
#

Ok, thanks !

arctic jungle
latent mauve
#

If so, you will want to move that if possible (80 17, one tile to the right should be sufficient, but without knowing how your custom farm is laid out, I don't know if that's ideal or not for your case.)

arctic jungle
latent mauve
#

what is located on your map at 79 17?

#

I'm on a short work break, so I can't really jump in a call rn

arctic jungle
latent mauve
#

Your other option would be to edit the event so that the warp is different, but that's not a great solution for cross-compatibility in case anyone else edits the intro event.

#

Interesting that the screencap you showed earlier shows you at the edge of your map even when that's nowhere near the warp tile, does the game do something in the background to change those coords, I wonder?

arctic jungle
#

Here is a better photo I have set the green is the cords you provided blue is the cords I have set

latent mauve
#

(also just for a quick check, there are no invisible tiles on the edge of your map on the Building Layer near your blue circle?)

arctic jungle
#

and no I have all of the cord properties set for all of the entry points and let me check real quick on the layers

latent mauve
#

Robin warps in one tile to the left of the player, so it would be something to do with that exact spot where the player comes in.

arctic jungle
#

Ok I just confirmed that there are no invisible tiles in those spots only in the back layer, and the tile data I have set in those 8 spots are npc barriers and no spawns

latent mauve
#

I really doubt that weed on the original event's warp tile matters at all, since the game appears to be automatically placing you at the right edge of the map instead, but it wouldn't hurt to remove it just to check, I guess.

soft lance
arctic jungle
obtuse wigeon
#

I didn't reliase it did until now, It's just an A and a V overlayed, (it also looks like the symbol for an alembic from archaic alchemy)

latent mauve
fair hull
#

.... I'm a little bit curious about something. (Maybe because i'm bad at codding right now? lol).

I had designed a lots of seeds bags, but i was, just like... Could i just change the original sprites sheets and adding my own design inside?

A little like nyapu did, with the portrait. He(she?) did a mod for the vanilla game, and after that, just some "folders" for the mods.

Can i do that with item? (i mean... i know i can. But is it a good idea?)
It would be like, 100 time more simple for me T^T

arctic jungle
latent mauve
mild furnace
#

Just got debugging purposes, can you delete the warps on 80?

#

Sorry, I mean rather this

#

Just delete one row of warp

arctic jungle
mild furnace
#

Yes

arctic jungle
#

I can totally do that give me a moment to test

#

nope my character does still warp in at the same spot during the cutscene but does warp 1 tile to the right when out of the cutscene now

latent mauve
#

In case it's the 2 tiles over thing: could you try making sure there are 2 walkable tiles to the right of your BusStopEntry coords?

#

I'm opening up the standard farm to check a thing, LOL

arctic jungle
#

Should I remove the tiledata as well just for testing purposes?

latent mauve
#

it shouldn't matter

#

okay, so both the standard and meadowlands map have a warp set for the bus stop that is one tile off-screen

#

and the BusStopEntry field is the exact tile on the right at the visible edge of the screen

arctic jungle
#

oh ok so 120 17 then?

latent mauve
#

On Meadowlands map:

Warp: 100 22 BusStop 11 23```
#

and 99 22 is an actual tile and 100 22 is one to the right of that, off the map limit

#

So instead of the extra 2 tiles to the right on your map, go back to your original map size without the bonus tiles, and then set your warps accordingly

#

In case it matters, the only NPCBarrier tile is on the left-most column of them, like so:

#

But all of those are NoSpawn All tiles

arctic jungle
#

So the bus stop warp should always be 1 tile off the map, not the last tile visible on the map?

oblique meadow
#

For consistency with vanilla maps, always do zone warps 1 off the map

latent mauve
#

Seems like that's the best way to avoid problems, yes

#

(we should probably note that on a page or tutorial somewhere if it isn't already)

oblique meadow
#

because otherwise you may find inadvertant issue with things like zoning in on a horse. Or tractor. etc

latent mauve
#

I didn't see anything on the Modding:Maps page immediately, but I could also have just missed it

arctic jungle
#

Yup that totally did the trick facepalm1 , does that also apply to the forest, backwoods, and cave?

latent mauve
#

Since it's never come up before, I would hazard a guess that the Farm's hardcoding/changing of the coords is why you ran into an issue and it isn't likely to repeat elsewhere

latent mauve
#

The other maps tend to respect the exact coordinates provided, which should already be spaced to avoid issues, afaik?

#

When it's possible, it won't hurt to do it that way

#

Sometimes the map design doesn't lend to it

oblique meadow
#

even if your warp is on the left edge of the map you can do -1

#

but there are exceptions to every rule

arctic jungle
#

Cool! Thanks everyone! I really appreciate the help!

mighty quest
#

The wiki says that any [prismatic jelly] not handed to the Wizard will disappear once the order is complete or expired. I can't find where this is handled in the code, if anyone has any ideas..

hallow prism
#

the special order has the :
"ItemToRemoveOnEnd": "876",

#

so while i can't help with code itself you may be able to find where the special order code is doing that

#

when it's called or whatever

brave fable
#

i still have to redraw the hair. this world is a prison

lucid iron
#

Blueberry can I turn into a sailor senshi yet

brave fable
#

how high are your expectations

lucid iron
#

I expect 2 stock clips of the henshin and my one super effective attack

brave fable
#

you can wear their pants

lucid iron
#

Powerful statement

vernal crest
lucid iron
#

(to add here nyapu did it cus she doesn't know how to use CP and the docs are all in english)

gentle rose
#

(and I believe is working with someone on/already has worked with someone on making a content patcher version since then?)

vernal crest
#

Yeah Dolphin has been helping her get as much into CP as possible

urban patrol
#

how does the game determine proximity to land for fishing? is it tiles on the buildings layer, or is it specific to sand/dirt, etc?

trim rover
#

how do i go about learning to make a sdv mod, there is another mod which im using but to use it is such a nuicance because i have to constantly make small adjustments to the config file, open the game, then close it again. repeat like 100 times

#

i want to make a mod which can allow you to actually adjust the parts of the config with visuals in-game

#

instead of having to constantly restart it

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.

trim rover
#

thanks

hard fern
obtuse wigeon
#

!GMCM

ocean sailBOT
#

Generic Mod Config Menu (or GMCM https://www.nexusmods.com/stardewvalley/mods/5098) adds the option to edit some, but not all, mod configs from either the title screen or the options page in a save. It also has a special screen to edit keybinds for all mods with GMCM integration.

The presence of the gear it adds to the title screen is not a method for checking whether mods are installed, only whether GMCM is installed.

trim rover
hard fern
#

Eh, if it's C# mod then it might not have it

obtuse wigeon
#

Ahh they haven't defined a config schema then

trim rover
#

worst part is the mod doesnt have any real alternatives that i can use

obtuse wigeon
#

(or like forsy said)

latent mauve
#

It's worth noting that some mods can't or shouldn't have their config settings changed mid game, so it's possible depending on what change you are trying to implement, that trying to change it midgame will break things.

tender bloom
#

You’d need to:

  • download the source code
  • add GMCM support to the C# (not too hard, you might be able to use wrens code gen thing? But also not trivial)
  • recompile mod
vernal crest
urban patrol
#

ooh i didn't even know that existed

#

is it on nexus or

urban patrol
#

thanks google.
google: but is it compatible with--

obtuse wigeon
#

Just want to check before I look at mods incase I've got it wrong, helper.Events.Content.AssetRequested this is used to load assets into the game via the content pipeline right? (So they can be modified by a content pack)

tired matrix
#

Guys any guide of how to make a custom npc compatible with the they stay with you mod?

urban patrol
obtuse wigeon
#

That's what I was going off, just wanted to make sure I understood it before delving the depths of the deep C(#)

#

Thank you!

urban patrol
# tired matrix Anyone?

looking inside the files for they stay with you, there appears to be a file called CustomYourNPC.json. i would look into how that works

obtuse wigeon
#

b.Draw isn't loading via content pipeline is it? it's just directly drawing onto the map I'm thinking

Context:

public static void drawBiggerBackpack(SpriteBatch b) {
    b.Draw(bigBackpack, Game1.GlobalToLocal(new Vector2 (456f, 1088f)), new Rectangle(0, 0, 12, 14), Color.White, 0.0f, Vector2.Zero, Game1.pixelZoom, SpriteEffects.None, (float)(19.25 * Game1.tileSize / 10000.0));
}
royal stump
#

draw itself is just the literal "draw onto the screen" process, but the variable bigBackpack is the texture it's using there, which may or may not have been loaded through the pipeline

#

if you see something like bigBackpack = Game1.content.Load(...) earlier/elsewhere, it used the pipeline

obtuse wigeon
#

Ahh okay, I don't think it is, This is the bigBackpack definition bigBackpack = Helper.ModContent.Load<Texture2D>("backpack.png");, but unlike JunimoNote.png there is no onAssetRequest or path at which the png is loaded to

royal stump
#

ah, yeah, I think ModContent loads directly from mod folders without making them targetable to other mods
(though I'm not 100% sure, I've never ended up using it)

tired matrix
brittle pasture
urban patrol
#

i have no idea, sorry

brittle pasture
#

you want to look into TT’s documentation

#

and that mod’s template obviously

obtuse wigeon
lucid iron
#

iirc they stay with you have a gmcm option to just let you enter whatever custom npc id

#

but u can make your own if u want

obtuse wigeon
#

If a texture is loaded via content pipline into a private readonly variable (private readonly Texture2D _textBoxTexture;) does that mean it can't be changed by a content pack? or is the readonly N/A when loaded by the game?

brittle pasture
#

what matters is where that Texture2D comes from

#

if it's from Game1.content.Load<Texture2D>("AssetNameHere") then you can totally use that asset name

obtuse wigeon
#

Okay perfect thank you!

uncut viper
# urban patrol yeah, this is the example the wiki has. although i believe it's usually preferre...

its not preferred or easier for any technical reason, its completely fine to do anything and everything in the content pipeline from within your own C# mod. people just often say its easier to do it in CP instead because usually they will end up wanting to take advantage of tokens and When conditions and whatnot, and you might as well use CP instead of reinventing the wheel. but if you don't care about any of the CP specific features, there's no difference if you just do it in your C#

urban patrol
#

i see, good to know SDVpufferthumbsup

lucid iron
#

imo editing images and map suck enough in C# that i prefer not to do it blobcatgooglyblep

lucid mulch
#

only benefit of doing it inside CP is you have the safety blanket of CP protecting you from future game updates with its migrations

lucid iron
#

as for editing data it depends on how much

#

when you have enough stuff u need to put in content it is just quicker to do it in cp cus it's all boilerplate

lucid mulch
#

regarding editing images its arguably just as much work, CP isn't editing the image either its just calling the SMAPI methods for editor.ExtendImage() and editor.PatchImage

uncut viper
lucid iron
lucid mulch
#

If pathos leaves stardew we have bigger problems then just CP migrations not being made

lucid iron
#

i think if pathos was somehow not around someone would pick up cp maint i volunteer sinz

lucid mulch
#

I would be doing PRs for the runtime migrations regardless

#

while my exact implementation didn't end up shipping for 1.6, my short novel on the learnings on my attempts were used for pathos's variant

uncut viper
#

also some breaking changes might not even get migration rewriters

brittle pasture
#

CP's biggest convenience (for me) is editing custom assets without needing DLL references or a godly mountain of reflection

obtuse wigeon
#

imo CP's biggest convienience for me is entirely just JSON, it takes so much less effort to read

obtuse wigeon
#

I'm suprised it took me this long to realise who spacechase0 on nexus is.... It's only just clicked because of the github profile pic

drowsy pewter
#

yeah she changed her username a long time ago but since all the mods and stuff are under the old username it never changed

tiny zealot
#

i don't think it's that surprising. casey doesn't use that name anymore

obtuse wigeon
#

Ahh that makes a lot more sense, thankfully I was able to change mine before I had anything major on it, it's such a pain to update it when theres stuff relying on it

gaunt orbit
obtuse wigeon
#

True that's a good point, but CP doesn't need any extra C# stuff from me relating to parsing JSON

gaunt orbit
#

I frequently just dump data entries in a json file and then autoprefix them into the dictionary

obtuse wigeon
#

If I made it myself it 100% would thats for sure, but pathos is fantastic and made CP so I we wouldn't have to

gaunt orbit
lucid iron
#

weirdly enough if i have to edit something in C# i rather do it in the code where i have intellisence stuff in case i forgor field

gaunt orbit
#

I would use a separate cp component only if the content edits are significant and/or make good use of tokens

obtuse wigeon
#

Thats's why I use the the schema, not exactly intellisence but close enough for my purposes

gaunt orbit
#

Editing maps with c# though... fuck that

#

Been there, hated that

obtuse wigeon
#

Pffft, seeing how these C# mods I'm looking through do it, I agree MASSIVELY

tiny zealot
#

i have one C# map patch. it's a bit gnarly but it lets me selectively change particular tiles in an area, which was helpful for doing compatibility without having to make several different tmx files

obtuse wigeon
#

I'm so tempted to start PRing some mods just so they load assets through content and not directly from files, it's only a few thankfully

gaunt orbit
#

The two cardinal sins of c# modding are skipping the content pipeline and not having gmcm support

obtuse wigeon
#

I'm glad Happy Home Designer has both

gaunt orbit
#

Thanks

latent mauve
#

Question for those of you who use i18n regularly: do you use {{ModId}} in your i18n keys?

lucid mulch
#

Profiler violates the second, and Speedy Solutions partially violates the first

tiny zealot
latent mauve
#

awesome, I thought they were but I couldn't remember

uncut viper
#

also you cant use the token in the key anyway

latent mauve
#

I remembered vaguely there being an issue with tokens in i18n

#

but couldn't remember what the issue was exactly

uncut viper
#

you can use tokens in the value, just not the key/name of the i18n

gaunt orbit
#

Also what does speedy solutions do that involves loading from mod files directly?

lucid mulch
#

Its config, its variable tuning for how aggressive the logs should go, I deliberately dont have GMCM because I don't want to deal with those variables changing mid-run

#

and speedy solutions has its own cache for Data/AudioChanges so it can do diffs on the asset and ignores Invalidation

gaunt orbit
#

Well, that's not really what I meant

lucid mulch
#

and Shared Spaces also heavily uses GetInternalAssetName for any texture it needed

gaunt orbit
#

Okay that is genuinely evil

lucid mulch
#

if you want to replace the texture go edit the asset and point the texture to something else

lucid iron
gaunt orbit
lucid iron
#

for some of my menu mods i been thinking of moving the config out of gmcm

uncut viper
#

i personally think people should recycle their configs

#

need a bool config? reflect into another mod that has one and use that

lucid iron
#

sorry my configs go straight into the landfill

uncut viper
#

saddest short stories

lucid mulch
#

I feel like I could cause a lot of explosions if I did that to SMAPI's config for paranoid mode or its harmony disabling mode

twilit quest
#

What controls where a letter shows up in the letter collections menu? They seem to be chronological, but for some reason, one of the letters is showing up "early" - instead of the most recent letter, it's showing up in the first row between older letters.

obtuse wigeon
#

I'm a bit confused, is there multiple ways of loading assets via the content pipeline? i.e. snippet from SmartBuilding

 if (e.NameWithoutLocale.IsEquivalentTo("Mods/SmartBuilding/ToolButtons"))
    e.LoadFromModFile<Texture2D>("assets/Buttons.png", AssetLoadPriority.Low);

This seems like it would do the same as .content.Load<Texture2D> right?

uncut viper
#

well you cant just Load something from nowhere. if you want to call Game1.content.Load() on an asset, it needs to exist

#

putting that in the AssetRequested event is basically the same as a Content Patcher Load action to supply the base file

lucid mulch
#
    public void LoadFromModFile<TAsset>(string relativePath, AssetLoadPriority priority)
        where TAsset : notnull
    {
        IModMetadata mod = this.GetMod();
        this.LoadOperations.Add(
            new AssetLoadOperation(
                Mod: mod,
                OnBehalfOf: null,
                Priority: priority,
                GetData: _ => mod.Mod!.Helper.ModContent.Load<TAsset>(relativePath)
            )
        );
    }
obtuse wigeon
#

Ahh okay, I've just been seeing layed out differently. but that's because it's split up and not together like that, gotcha, I understand now

uncut viper
#

you wont see it like that snippet SinZ sent, thats just the SMAPI internals

lucid mulch
#

tl;dr

e.LoadFromModFile<Texture2D>("assets/Buttons.png", AssetLoadPriority.Low);

is syntatic sugar for

e.LoadFrom(() => Helper.ModContent.Load<Texture2D>("assets/Buttons.png"), AssetLoadPriority.Low);
obtuse wigeon
crimson kettle
#

can anyone tell me what did i do wrong, why do the texture appear very weird

obtuse wigeon
tired matrix
#

guys is it possible to make my npc change outfits when entering a place like the mines? Can i add a dynamic token for this?

lucid iron
#

There's a built-in system for doing that called Variants

#

For changes that happen dynamically you would use AltVariants

#

With a condition to check being in the mines

vital lotus
#

Can CP mod make new page or only show certain config when other mods r present with GMCM? Basically conditional config

vernal crest
#

Nope

#

It's one of the things the content modders yearn for

#

(Along with the foreach and the asset forwarding)

tired matrix
vital lotus
#

I suppose I could make different mod folder just for the compatch

vital lotus
#

Oh thought it's modded farmer 💀

urban patrol
#

what layer do NPC shadows draw on? is it behind buildings?

drowsy pewter
#

@light jasper I want to apologize for completely missing your PR to add custom tree names to cornucopia from months ago. I have no idea how I missed it, maybe I saw it and forgot or maybe didnt get notified as im not the owner of the git repo

brave fable
tired matrix
brave fable
hard fern
#

omg

#

theyre so cute

brave fable
#

colour picking these is actually way too addictive. but also anything to avoid drawing the next ~228 pants frames

fading walrus
#

They look so goooood

brave fable
#

thankuuuuu this is going to take absolutely forever

#

maybe even longer

fading walrus
#

Blueb stronk MCBongoStrong
You got this!

brave fable
#

it's hard enough to make legs and pleats look good when they're standing still

#

i learned very quickly that those nice pleats on the front can't actually be done in Pants because i only have about 8 pixels wide to work with

#

i kind of scuffed it for an npc a while ago (a year? more? wtf) but it doesn't work for players from the size and scale differences etc

hallow prism
#

it is also not the same number of frame

#

npcs are less hell

brave fable
#

honestly i'd rather make a dozen pairs of pants than one npc

#

and at this point i probably have lol

round dock
#

Oh blueberry these look so good

#

(QUUIIIIIIIIILLLLLL)

magic zodiac
#

Hi random question cause Idk where else to ask, does anyone know if Aimon111 is still active as a modder? I need their permission to add a fix for their mod to make it compatible with cabins (I fixed it for me but obviously im not gonna share it with others)

round dock
#

If it’s just for personal use and not for distribution, i think it’s generally ok thonkid

round dock
drowsy pewter
#

you can still ping or dm them tho

fading walrus
#

What 6480 said catnod1

magic zodiac
#

Ok ty!

magic zodiac
#

So i figured it out

round dock
magic zodiac
hallow prism
hard fern
#

i'd rather make. one npc than one pants

brave fable
#

go on then. prove it 😌

hallow prism
#

i don't even know how many i have exactly on VMV now

hard fern
brave fable
#

cold wind. light rain. open window. dusk at spring. dire straits album. 180 more pants frames to go. and we've got nothing but time 😌

#

tonight i will draw the pants kissing frame with hakama in 12 flavours.

vernal crest
#

Braver than any US marine

brave fable
#

oh, just their alchemy live set. it's really unbeatable

fading walrus
#

Good choice happyfrog

cold marsh
#

I'm making my own large eggs mod and I'm running into an issue where changing the sprite for the vanilla void egg causes existing void egg items in the world to have their sprites blanked out. Is there a way to work around this?

{
    "Action": "EditData",
    "Target": "Data/Objects",
    "When": { "HasFlag |contains=EggUpgradesEnabled": true },
    "Fields": {
    "305": {
    "SpriteIndex": 6,
    "Texture": "Mods/Sunsketchx/Eggitems",
}
}
},```
#

I'm not sure why the sprite for existing ones gets blanked out, I'd expect it to keep the old sprite at the very least

drowsy pewter
#

dont change the texture just use editimage to patch the original image

#

the reason it gets blanked out is because the texture path changes but the spriteindex is not changed in existing objects

#

so it is still the old spriteindex of the void egg on your new custom texture

#

to change vanilla sprites EditImage is the best approach unless you really need a different method for a very specific reason

#

You can even EditImage using your current custom texture as the source image

cold marsh
#

I didn't think of that at all. That works, thanks

drowsy pewter
#

np

twilit quest
#

Why would a received mail appear "out of order" in the mail collection menu? Does it have to do with when the house is upgraded?

tiny zealot
#

what order are you expecting?

twilit quest
#

For most of the letters, if I check the menu right after receiving them, they are the last letter.

tiny zealot
#

if i'm in the right place, this is how the game adds them to the collections page:

Dictionary<string, string> mail = DataLoader.Mail(Game1.content);
foreach (string s in Game1.player.mailReceived)
{
    if (mail.TryGetValue(s, out var rawText))
    {
        // add to List to prepare for draw```
so it seems to be in the order the HashSet gives them up for iterating
twilit quest
#

I understood some of that. How does HashSet work?

tiny zealot
#

it's sort of like a hash table (constant time access), but it can't contain duplicate values (it's a set), so the items you add also serve as the keys

#

or maybe they just are the keys and the values aren't useful, i'm not clear on the specifics because it's part of System.Collections(.Generic)

twilit quest
#

The behavior in game seems to be typically that a letter will appear as the most recent one after your read it. So the values of the keys probably shouldn't matter?

tiny zealot
#

the short answer is the sort order is not your fault, but also it's not really in your control

twilit quest
tiny zealot
#

unless you patch the collections page code to change how it iterates

twilit quest
#

nods Definitely beyond the scope of this mod

tiny zealot
#

or maybe there's some deep magic incantation to change the HashSet sort order when using foreach but that is likely to cause unrelated problems so i would not advise looking for that

twilit quest
#

Yeah, I'll be sticking with what I've got and putting a note on the mod page. It's a little bit unfortunate, since I'm including hints in the letters that people may want to reference later, and it will be hard to find a letter if it's not 'in order'. But I think I've encountered this occasionally even in vanilla, so it's definitely beyond my control right now.

warped raven
#

"Key features of HashSet: It does not maintain any order of elements, meaning you cannot predict in which order elements will be returned." It DOES sound like a challenge though

tiny zealot
#

oh yeah, finding a particular letter in that menu is a nightmare

twilit quest
#

I'll put that on my list of things to look into after I learn C# ^_^;

calm nebula
#

For Reasons TM the net hash set and dictionaries do not guarantee order BUT

tiny zealot
#

"here, 72 identical icons and you only have hover tooltips! good luck!"

calm nebula
#

Inserting happens at the end

#

Erinthe made a mod that has letter backgrounds and stuff

#

And deleting an entry makes the order fun

calm nebula
twilit quest
#

Sounds like a very challenging challenge indeed

calm nebula
#

This might be a good talk aboit it

#

I say "might" because I haven't watched it, but python dictionaries preserve insertion order

#

Tbf a spacecore guidebook (see example from s&s)

#

May work better

lucid iron
#

You can also use BETAS to show the letter now

#

Which means u can have letters attached to some real item

twilit quest
#

This is for Broken Farmhouse, which is pretty much finished (I discovered the out-of-order letter thing in some final testing) so I think I'll leave it as-is and give folks other resources on the mod page. But I appreciate the idea, @lucid iron - that might be interesting for a future mod

lucid mulch
warped raven
#

looks like in practice the order of the hashset is assured to be the insertion order, until something is removed from it. A simple hack would be to call HashSet.TrimExcess() before adding a new letter, as that clear the freeList in the HashSet. Should (famous last word) be simple to patch it in with Harmony if anyone really want to do it.

#

that completely remove any benefits from using a HashSet, but it's not like adding a letter every 10 minutes is really performance critical

tiny zealot
#

the game checks against the contents of that set very often, so it having the benefits of a hashset is a fairly critical performance upgrade from pre-1.6 days

lucid iron
#

Isn't the actual problem just UI side (want to sort the letters in collections page)

warped raven
#

Ha, yes, I’m talking specifically of the write perf that that patch would totally destroy

#

Took the nuclear approach

#

Is the time of reception stored with the mail somehow ?

lucid iron
#

Hm i guess not DokkanStare

#

~~ A second hashset ~~

rough briar
#

so im tryna fix the kitchen error smapi gives:

System.ArgumentException: Can't apply image patch because the source image is smaller than the source area. (Parameter 'source')
   at StardewModdingAPI.Framework.Content.AssetDataForImage.PatchImage(IRawTextureData source, Nullable`1 sourceArea, Nullable`1 targetArea, PatchMode patchMode) in E:\source\_Stardew\SMAPI\src\SMAPI\Framework\Content\AssetDataForImage.cs:line 42
   at ContentPatcher.Framework.Patches.EditImagePatch.Edit[T](IAssetData asset) in E:\source\_Stardew\Mods.Pathoschild\ContentPatcher\Framework\Patches\EditImagePatch.cs:line 166
   at ContentPatcher.Framework.PatchManager.ApplyEdits[T](ICollection`1 patches, IAssetData asset) in E:\source\_Stardew\Mods.Pathoschild\ContentPatcher\Framework\PatchManager.cs:line 632
[09:46:34 TRACE SMAPI] Content Patcher edited Maps/farmhouse_tiles (for the 'Rilakkuma Kitchen' content pack).```
looked at the code, and this is what it says
https://smapi.io/json/content-patcher/673adfe969094149a39a6695853f5a35
#

wow thats huge

#

can i collapse that paragraph somehow..

lucid iron
#

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

rigid musk
#

you can paste- yeah

lucid iron
#

Post it as link

rigid musk
#

chu is speed

rough briar
#

ah

#

okok lemme edit the msg then rq

gray bear
#

log says issue is with the 4th one

lucid iron
#

How big is the source image?

oblique meadow
rough briar
#

192 x 320

iron ridge
#
"Y": 304,
"Width": 48,
"Height": 48

you can't read outside of the image

#

it's trying to get an image from 304 - 368, which is higher than the height of 320

rough briar
#

oohh

gray bear
#

is the og mod like that

rough briar
#

yea

gray bear
#

is it, hmm.

#

what's the point in having "Target": "farmhouse_tiles, Maps/farmhouse_tiles",?

rough briar
#

i think it is atleast, i dont remember messing w the code itself or images SDVpufferwaaah

gray bear
#

yeah i downloaded to check

rough briar
#

anyways it is an older mod so im not surprised its having some hiccups

gray bear
#

won't a single patch on overlay just solve these problems

rough briar
#

hasnt been updated since 2022 but works perfectly fine, aside from that patch LOLL

#

hmm maybe

gray bear
#

oh won't cause kinda different

#

would need 2

latent mauve
#

A lot of older mods that edited (and extended) farmhouse_tiles broke in the 1.6 update, when some unused files were removed.

gray bear
#

oh

#

farmhouse_tiles is now 192 x 352

rough briar
#

ahhh

near island
#

Would anyone mind testing a "friendly hutch slimes" mod for me? I've only got 1 save with a slime hutch to test with. One or two slimes will still occasionally lunge at you, but they can't do any damage and they go back to minding their own business after.

oblique meadow
#

I already reached out to the mod author to see if they would allow me to update the mod

#

They havent modded since 2023

#

(nor logged in)

rough briar
#

its an adorable mod tho thats for sure

gray bear
#

actually should be fine

near island
#

Or if anyone can share some unmodded saves with a slime hutch I'd appreciate it!

gray bear
#

although, their image doesn't have anything there so like

#

why

gray bear
#

i mean unless im missing something their patch would never have worked and if it would've it'd just delete those tiles

#

maybe this code is from another kitchen mod that did edit those

rough briar
#

-# also unrelated but the fridge animation sprites are in craftables, right? because i need to make the sprites match the mod since it doesnt have those

gray bear
#

ye

rough briar
#

alr thank u

rigid musk
oblique meadow
#

Tiled plugins are just Javascript right?

#

nothing fancy beyond that?

iron ridge
#

pretty much

oblique meadow
#

Oh man. I know what im doing today

iron ridge
#

but it's not standard-following

#

as in, no console, no Math (iirc?)

oblique meadow
#

I can poke around the nuances. I just want to automate my Daytiles, nighttiles, and light

#

Because remembering the exact format everytime is tedious

rough briar
#

hmmmm i wonder if this would work..
i added the open sprites BUT i also changed the 48s in the 4th patch to be 16

#

oh my god it worked YAAY

#

no more red errors + new fridge

agile flame
vernal crest
# near island Would anyone mind testing a "friendly hutch slimes" mod for me? I've only got 1 ...

It's going to be pretty quick to set up saves for a slime hutch. debug build "Slime Hutch" will build one to the right of where the farmer is standing, then you can use CJB Item Spawner to get yourself some slime eggs and put them in the incubators. Then debug dayupdate 4 to make it act like have days have passed and hopefully that will hatch them - but if that doesn't work you can just do debug sleep four times in a row.

near island
#

I only had a modded save to work with. Lily sent me hers which was super nice. I'll try this too just to be thorough!

vernal crest
#

If for some reason you can't debug build the slime hutch you can debug ws robin to warp both yourself and robin to her shop and access her build menu that way, and just cheat the money.

#

I make new saves for almost everything that I test so I know a lot of quick ways to get stuff done lol

near island
#

Idk why I didn't think of debug commands. Thank you again!

soft lance
#

Give me it, now.

#

I double dog dare you

#

triple dog

#

Its so adorable

scarlet knoll
#

Is there a way to see in game which tilesheet a specific tile is being pulled from? I'm having a really hard time locating a couple.

oblique meadow
#

On a map? Or in what context?

karmic gust
#

I'm away from my PC right now but I believe there's a config setting in Lookup Anything that let's you see all of a tile's information, including the tilesheet

vernal crest
#

Yeah if it's a map it's easy as

karmic gust
#

In game I should specify

scarlet knoll
vernal crest
#

Then Lookup Anything with tile lookups turned on is what you want

scarlet knoll
#

I didnt know it had that feature, thank you!

vernal crest
#

It's an incredibly invaluable mod for any kind of modmaking work

agile flame
#

just heard about the mod yesterday and now everybody talks about it. and they say i'm mot the center of the universe

tiny zealot
soft lance
#

and the meme makes no sense

agile flame
#

let me have my moment

worldly wadi
#

Ik this is wrong D: but I tried everything and the forage still won't appear. I used BETAS to create a specific token for my spring forage. Sorry for the dumb question, is my first time coding something big like this.

#

Can some1 help me?

#

Like, Idk what to do, genuinely.

#

I tried everything

gentle rose
#

where did you get this syntax from?

tender bloom
#

forage is governed by a location's entry in Locations data iirc, this is just Loading the tmx file

worldly wadi
#

Idk I'm confused I don't even know what I'm doing anymore

tender bloom
#

and then the forage stuff is random extra stuff that can't do anything because it's just stuffed in there

gentle rose
fair hull
vernal crest
worldly wadi
# gentle rose okay, where did you look that said to add forage in though? just so we have a fr...

I tried to add the forage stuff looking at the wiki, adding it directly on the map load thingy. Then it didn't work, so I tried to do it separately by doing action editmap and then it still didn't work. I also have the codes for the items itselves and it worked, I just can't put them on the map.
The point is, I searched everywhere and I wasn't able to find specifically where to put. I might have read something wrong bc all the wikis are in English and it's not my first language (Also I'm diagnosed with certain thingies that influence my line of thinking and understanding.).

vernal crest
tender bloom
#

Look for Data/Locations in your unpacked Content folder

#

That is what you need to be editing, using an EditData patch

worldly wadi
worldly wadi
#

Thank youuuuuuu

vernal crest
worldly wadi
#

Like this for now?

worldly wadi
vernal crest
#

Maybe show a bit more of it, since two lines is a bit hard to be certain it's the right one

worldly wadi
#

I'm rewriting it

#

Again

#

For the 20th time AAAAAAAAAAAAAAAAAAAAAAAAAAAAASDVpufferwaaah

vernal crest
#

No, you can't have a FromFile field in an EditData patch

worldly wadi
#

I'll change it

oblique meadow
vernal crest
#

Do you have a backup from before you started trying to add the forage?

agile flame
worldly wadi
vernal crest
tender bloom
#

!json this website is a nice way to send jsons

worldly wadi
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.

worldly wadi
#

So yea

#

Adding like, on the map

#

I mean

vernal crest
latent mauve
# worldly wadi

Just to make it super clear, loading your TMX with your FromFile and editing the data in Data/Locations are two separate patches and you have to do both for what you are trying to do

vernal crest
#

Yes, you do not add forage by touching anything to do with the map at all, despite how strange that seems

oblique meadow
#

That always weirded me out too

worldly wadi
#

Do you guys think that leaving the forage for later is a good idea?

#

Since I'm stuck there?

oblique meadow
#

Couldn't FTM add forage around town too?

#

TECHNICALLY speaking

#

Since you can specify maps

vernal crest
vernal crest
worldly wadi
vernal crest
#

I often find that even doing stuff that isn't modding or even sleeping helps me when I'm stuck because my brain keeps working on it in the background and it can give me new ideas or understanding.

worldly wadi
#

I'll take a break on that, tysmmmmm

agile flame
#

if i use the pathos nuget package in vs do i need to edit the cproj?

tiny zealot
#

you need to have the package reference in the csproj, yes.
you can do it by hand, or (more likely) VS does it for you when you do something in the menus about it

wraith bay
#

"AllowValues": "0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14", is converted to a slider in GMCM which would normally be great but is there a way to force it back to a dropdown?

tender bloom
#

If this is via CP I think there isn’t much flexibility

#

GMCM does everything automated when it reads configs from CP

wraith bay
#

Fair enough. I can work around it, would have just simplified things.

brittle pasture
#

well "zero, one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen" is always an option

#

/lh obv

wraith bay
#

yeah, i'm going to have to rename stuff. i was just avoiding it to keep moving assets between cp and at implementation simple.

#

they're already named with texture_ i can just add that to the variables 🤦‍♀️ i need more coffee

tiny zealot
wraith bay
#

I switched the fromfile from texture_{{style}} to {{style}} and changed the values to preappend texture_ and that worked a charm. the values all get translated by the i18n now (which is why i care at all). before you had to look at a picture and reference the numbers, so this should make it a lot more user friendly!

shut edge
#

is there a tool to semi automate converting a mod to support i18n?

fathom rapids
#

i would love it if there was

urban patrol
shut edge
#

nice

#

yeah that might work, rad

urban patrol
#

oh wait it automatically did! that’s awesome

#

i don’t think it used to

shut edge
#

hell yeah

fathom rapids
#

came too late for my seasonal farmer looks mod T_T (or at least i learned too late)

shut edge
#

seems like it doens't like my item data tho, orz

#

still, helpful

uncut viper
#

if its doing something unexpected or broken with something you put in it, Nomori may be interested in knowing
(make sure you're using the right i18n category tho)

shut edge
#

i imagine i'm putting it in there wrong somehow tbh

#

or too much at once

uncut viper
#

the amount at once doesnt matter

tiny zealot
#

i'd still ask nomori

#

if you did it wrong, they'll know best how to do it right

#

and if you did it right and there's a bug, they'll want to fix it

shut edge
#

that makes sense

uncut viper
#

it may not be a mod per se but its still a tool an author made and bug reports are often appreciated!

shut edge
#

anyone know if they are cool with a highlight?

uncut viper
#

a ping?

shut edge
#

yea

#

or maybe i should PM

uncut viper
#

ive pinged Nomori before and their dn doesnt say anythin about it, and they were around as of like, 30min ago, so you're probably fine

shut edge
#

@whole raptor if you've got a moment i maybe am having an issue with your site (or user error)

uncut viper
#

i would just say what the error is in your message, though

shut edge
#

it's just coming up as Incorrect format

urban patrol
#

does that still happen if you do it one item at a time?

#

(also btw, it’s recommended that name and the key of the entry match)

shut edge
#

yep

#

yeah i prob need to change that

#

havne't worked on this mod in quite awhile

uncut viper
#

(they should absolutely 100% match)

#

does it work if you change Displayname in your json to DisplayName with a capital N

shut edge
#

nah, same thing

uncut viper
#

ive got nothin then

shut edge
urban patrol
#

i wonder if it doesn’t like the order

whole raptor
#

Can you post the string you're trying to convert? I'll try and see what's wrong

urban patrol
#

oh nomori’s here yay

shut edge
#

here's the whole file

#

if that's ok

#

thanks for your time

#

(anyone else feel free to review for problems too etc)

#

the mail stuff worked fine as dialog, thankfully

#

the object data is what is hasslin me

gray bear
#

it works if u rearnage it

shut edge
#

welp

#

thought i tried that lol

whole raptor
#

Oh, yeah... I guess the check is done in a dumb way

shut edge
#

well if that's all it is that's easy enough. mildly tedious but i'll live.

gray bear
#

i guess displayname and description need to be like that

whole raptor
#

I can fix it in like... 10 minutes, so you won't have to switch anything

shut edge
#

nah i think the way you have it is the standard practice i just somehow reversed them

#

oh, rad, thank you

whole raptor
#

Or maybe not that quick, I thought it was just the check that's done in order for those 2, but the conversion itself is the same SDVpuffersquint

gray bear
#

inchresting

shut edge
#

no rush, i'll try it again later tonight or somethin

whole raptor
#

There are a looot of extremely dumb implementation in this converter, I'm sometimes surprised how it works as well as it does 😅

shut edge
#

you could probably make it order the fields correctly if you cared to i suppose

#

but effort prob

uncut viper
#

thats the problem with "make it work then make it better"
sometimes we like to conveniently """forget""" the make it better part SDVpuffersquee
(i am very guilty of this all around my docs/tutorials too)