#making-mods-general

1 messages · Page 271 of 1

ornate trellis
#

oh wait you said category then no

sour sleet
#

Ah so I can just put -17 then?

ornate trellis
#

in the objects json it give trilobite for exaple category 0

#

dunno if that also works with custom stuff

crude plank
#

Anchor is also 0

sour sleet
#

Ah ok, I will give it a go with 0

ornate trellis
#

i usually check the google sheets quickly and it has that spot empty hm

crude plank
#

there are google sheets?

sour sleet
#

Yes where are these sheets SDVpuffersquee

crude plank
#

i just looked in the unpacked game files

fierce vault
#

Hi again. I'd appreciate some more help. I was sent this sample for how to add warps:{ "Action": "EditMap", "Target": "Maps/Meadery_Trailer", "AddWarps": [ "12 10 Meadery 36 8" ] },
But I realized I don't understand what the numbers stand for, or why only part of the name is in the middle. I'd guess that 12 is X, 10 is Y, and that maybe the second set of numbers is for the location you are warped to? But why is only 'Meadery' in middle there? (None of this is my custom location, I'm just trying to learn how to apply the logic to mine.)

#

(Also, even though I was sent the location data wiki page to help with this, I could not find the information about warps on it for some reason.)

ornate trellis
#

Target = Map the warp is on
12 = x, 10 = y coords from said map
then comes map the warp...warps to
then the last two digits are the X and Y the warp will send you onto said new map

ornate locust
#

Yeah that'd go from Meadery_Trailer to Meadery, if I read that right. That's why they're different

fierce vault
#

Do you know why only 'Meadery' is separating them?

ornate locust
#

That's where it goes to

#

The map that the warp leads to

ornate trellis
#

correct

#

the other map is already in Target

ornate locust
#

The first coordinates are on "Meadery_Trailer", the last are on "Meadery"

ornate trellis
#

as I said

#

and as to why, idk man cuz CA made it that way i guess

fierce vault
#

I would have guessed that "Meadery_Trailer" was the full name of one location... But instead you are saying that it is the beginning and end locations put together?

ornate locust
#

No

#

Meadery_Trailer is one location

#

Meadery is another location

fierce vault
#

oh

#

Oh

#

I get it now

ornate trellis
#

yes

fierce vault
#

I was confused because they both had meadery in them

ornate locust
#

I figured, once you said that

ornate trellis
#

as I said, Target is the map you put the warp on. the one going into the "" is the destination

#

which means

#

you also need to make an entry the other way around each time

fierce vault
#

Thanks, I'll try and implement this now

ornate trellis
#

and if you have a broader way you can make several warp tiles next to each other

tidal stone
#

where's rain on the sheets i wanna recolor it for funsies (i downloaded a mod that didnt work and i want to see if the effect would look cool but they made the png too big 😔 )

uncut viper
#

rain is like a 1x10 pixel rectangle somewhre on cursors

tidal stone
#

07

#

ty

uncut viper
#

dont quote me on that exact size

fierce vault
#

Hi, just to be sure, since I am adding a warp to get to a new location, this is how to load in that new location, correct? { "Action": "load", "Target": "Maps/Midwaycave", "FromFile": "assets/maps/Midwaycave.tmx" },

uncut viper
#

thats how you load a map, but not a location

#

Maps =/= Locations

#

Locations have Maps. you add Locations by editing Data/Locations

fierce vault
#

Do I need a new location to have a new map?

uncut viper
#

is there not pixels on cursors used for the rain?

#

you dont need a Location to have a map. but a map isnt going to do anything by itself

#

you cant warp or walk to a Map.

#

again Maps are not Locations. Town is a Location, Forest is a location, WizardHouse is a Location. you can go to those places. their data in Data/Locations tells them what Maps to use for those locations

craggy cape
#

should i redraw the toast icons.. hm
i feel like thatd be fun to do

uncut viper
#

Maps/Midwaycave is not a Location

latent mauve
#

A map can be used as a patch on an existing map without a location defined in Data/Locations, but that's really about it

tidal stone
fierce vault
#

Ok, so I need to make a new location that contains the new map, to load it in

uncut viper
#

yes

fierce vault
#

Ok, thanks. I'll try to do that

craggy cape
#

sprite index's are basically the X coord right?
like, if a sprite was on 7,16, the sprite index would be 7?

uncut viper
#

no

craggy cape
#

oh

uncut viper
#

if a sprite is 16x16 pixels for example, then the first group of 16x16 pixels is index 0, the next group of 16x16 pixels is index 1, etc

craggy cape
#

ooh

#

so if its on 7,16 for example it would be the index of 8

hard fern
#

no

craggy cape
#

hm

ornate trellis
#

you start from 0 and count up each square

craggy cape
#

ah

hard fern
#

it also depends on how large your spritesheet is

craggy cape
#

i used the springobjects spritesheet ratio for reference

uncut viper
#

you have selected index 0

craggy cape
#

the icons might be too close but i'll fix that

uncut viper
#

that entire box is sprite index 0

#

because it is the first sprite

craggy cape
#

ah oke

uncut viper
#

not the first pixel

ornate trellis
#

etc

craggy cape
#

ooh okay okay

ornate trellis
#

using springobjects as a base size is kinda intense if you're not planning to make hundreds of objects tho

craggy cape
#

i didnt know what the standard spritesheet size would even be so T_T

hard fern
#

my 7 16 is all the way at like. index 24

craggy cape
#

im assuming just one row thogh

#

for a small amount of sprite/objects

hard fern
#

standard is.. however many sprites you have

uncut viper
#

it can be whatever size as long as the individual sprites have the right width

craggy cape
#

ooh

hard fern
#

there's not an industry standard when it comes to this kind of stuff

uncut viper
#

you could make the entire png one long row or you can make it one tall column

craggy cape
#

ok yea in this case then itll just be a single row LOL

hard fern
#

(Just like dont make it so big it breaks the game trying to process it ig)

craggy cape
#

since its 6 sprites

#

might have to use the springobjects ratio though if i decide to re-code korea blossoms though.. that has like 29 files..

ornate trellis
#

i used springobjects as a base for my objects and with all my shit i am only at row 5 lol

uncut viper
#

technically correct yes i believe 4096x4096 is the maximum but i cannot imagine you ever going that big

hard fern
#

SDVpufferflat row 7 for me

uncut viper
#

that would be about 65,000 sprites

#

(assuming 16x16 sprites)

ornate trellis
#

tho i have my gems etc on an extra sheet or else itd be more

craggy cape
#

this is just for crops alone

hard fern
#

not that bad

craggy cape
#

that many files for crops. with like 3 pngs average LOL

#

recoding for all of them to work would. take a while

#

though, only 3 fruit trees

uncut viper
#

it would but with that many and if you plan on adding a bunch more, file I/O performance becomes a concern

#

not much of a concern if theyre all loaded once and never changed, but more than 0

craggy cape
#

yeah i might just convert the trees with a few crops for now,

tiny zealot
craggy cape
#

the cherry blossom tree is so pretty

hard fern
#

i once took a look at an old JA mod that i was considering updating and there were like 100 files in there i just gave up

craggy cape
#

korea blossoms in total has.. 61 files

#

asset files

hard fern
#

imo the hardest part is just how tedious it all is

#

a lot of it is just copy pasting

#

like 80% of it is copy pasting

craggy cape
#

yea

brave fable
ornate trellis
#

man, i remember when i converted all my JA/MFM stuff

hard fern
#

send help btw

brave fable
#

snow may be another matter, though

uncut viper
craggy cape
#

o0r are those gloves/mittens

crude plank
lucid iron
#

mmm strawberry flavored scarf

ornate trellis
#

yum

brave fable
uncut viper
#

close enough

ornate trellis
#

i cant send help but I can send my thoughts in hopes you'll finish these

brave fable
#

a 1x128 pixel raindrop would be incredible and fearsome

hard fern
ornate trellis
#

i lowkey wanna see that now...

#

the rain

#

not chu eating a scarf

hard fern
#

lol

uncut viper
hard fern
#

im glad you clarified that

lucid iron
#

actual serious answer: if you make these some kind of colored item you can make less sprites

crude plank
uncut viper
#

best way to animate rain falling down

brave fable
ornate trellis
#

i have questions but i fear the answers so i jsut gonna sit back down

hard fern
#

it's true colored items would make my life easier but i take the hard way out and ive gotten this far already so why stop... SDVpuffersweats

#

i only have one more row of sprites to finish

lucid iron
#

stop so that the player's life is easier

brave fable
tidal stone
#

can you add an edibility value to an already existing in game thing like say wood, i asked before but i dont think anyone was able to answer at the time, that or im a terrible reader which is altogether possible

hard fern
#

yes

brave fable
#

id rather one item with 5 appearances than 5 items with 5 marginal differences

tidal stone
#

ok cool ThumbsUpCuteAnimeGirl

#

im gonna do soemthing so silly over the next while

fierce vault
#

Do I need a default arrive tile when the warps specify where you will end up anyway? { "Action": "Load", "Target": "Data/Locations", "FromFile": "assets/maps/MidwayCave.tmx", "DefaultArrivalTile": {"X": 3, "Y": 13} },

crude plank
#

What indible thing do you want to eat

uncut viper
brave fable
hard fern
#

anyways ive already made all these sprites

#

not like im going to un make them SDVpufferflat

#

i want it to all count for perfection

fierce vault
latent mauve
fierce vault
#

ok

uncut viper
latent mauve
#

You also won't use the tmx as a from file

brave fable
uncut viper
#

you in fact will not use a FromFile at all for an EditData action on Data/Locations. you had it right for loading the map before. you need a Load for your map and an editdata for Data/Locations

fierce vault
#

I did go through this page before, and I'm not sure where the example is? Am I missing something really obvious?

uncut viper
#

the example is in your unpacked content folder in Data/Locations

#

you want to add a new Entry to the Data/Locations dictionary

#

in the same way you might add something to Data/Objects

#

though instead of filling out data for an object its the data on this wiki page and like the examples in that file

brave fable
#

also very angery that the cool smoke puffs effect for smoked fish items is specifically attached to ColoredObject, specifically checks for ItemId = SmokedFish, and also ignores the object colour property entirely and draws two fish with some arbitrary colour

fierce vault
#

Oh, I think I did look through that, but what I found in the data locations json didn't look like something content patcher would load... Maybe I just didn't understand it very well then

uncut viper
#

i will be expecting the blueberry addsmokepuff framework soon

#

you arent loading anythingh

#

you are using EditData

#

you used a Load for the map and thats good. you are not using a Load for editing Data/Locations

fierce vault
#

Sorry, I'll try and reformat it

brave fable
#

I was almost going to make it check for a context tag but then it also still asks that you make a coloredobject and it has to be a preserve and it still has cooked fish colour and asdffghjkl

#

can't even reverse patch the temp sprites for simplicity/compatibility because it wants specific ldarg values. never a use case for reverse patch

uncut viper
#

you could reverse patch one of your own classes into another of your own classes just for fun

brave fable
#

how about I reverse patch one of my classes into one of yours huh

#

tough guy

uncut viper
#

id accept it, id like to finally see a reverse patch used too

gentle rose
#

mooooods, they're fighting kbf_run /j

lucid iron
#

||i used 2 of em||

tiny zealot
#

i'm the opposite of button. i never want to see a reverse patch. i never even want to know what one is. i wish to be a capybara in an open-air bath with an orange on my head

uncut viper
gentle rose
#

ooo are we doing crime

brave fable
#

i don't think i can leave this mortal plane until ive reverse patched something stupid

gentle rose
#

why didn't you lead with that

uncut viper
#

no im just sitting here

gentle rose
#

criminally?

brave fable
uncut viper
#

very law abidingly at the moment

#

i have no intentions at the moment

#

trying to avoid them actually

gentle rose
#

no intentions, just vibes

uncut viper
#

procrastinating my museums

rigid oriole
#

Reverse patching ur way to lichdom

gentle rose
#

I have once again forgotten what reverse patches do

brave fable
#

copy-paste from original method

uncut viper
#

its just like a reverse transpiler right

#

you make the other function transpile itself into your function

gentle rose
#

ohh, reflection but make it harmony

brave fable
#

granular reflection I suppose

rigid oriole
#

Maybe i should make a mod

gentle rose
#

hmm

so theoretically I could bully other mods by reverse patching some method so I have access to it, and then transpiling it away so nobody else does SDVpufferthinkblob

-# this is a joke I do not approve of inter-mod crime please crime responsibly

uncut viper
#

not the right channel for that

rigid oriole
patent lanceBOT
uncut viper
brave fable
#

im quite sure you get the original, it's probably half the point

gentle rose
#

reverse patches give you the method at the time of patching apparently

uncut viper
#

okay you can get the original

#

you can also get it at the time of grabbing it

#

with any trtanspilers applied that have been applied

#

you get to choose

gentle rose
#

oh right, there's two modes

#

sad

uncut viper
#

transpilers that come after your reverse patch will affect the original but not your snapshot, if you take the snapshot

calm nebula
#

the heck is this

gentle rose
#

new plan: c# framework with a bunch of preset data for other mods to use but to get the data they have to reverse patch the mod

gentle rose
#

oh wait, is it an event command we didn't know about?

fierce vault
#

Ok, does this look right? { "Action": "EditData", "Target": "Data/Locations", "Entries": { "DisplayName": "Midway Cave", "DefaultArrivalTile": {"X": 3, "Y": 13}, "{{ModId}}_MidwayCave": { "CreateOnLoad": { "MapPath": "Maps/{{ModId}}_MidwayCave" } } } }, I think this has everything covered to spawn in the new location...

gentle rose
#

is it fully implemented, atra?

uncut viper
#

no, you need an entry key

fierce vault
#

Oh

calm nebula
#

it's fully implemented

fierce vault
#

Well, only one thing missing then. Let me go and add that

gentle rose
#

what does it do? not too familiar with events and positions

uncut viper
#

your DisplayName and DefaultArrivalTile are formatted wrong bc of it

#

theyre not inside your entry

#

so you do actually have an entry key, i just missed it bc it was indented wrong and lower down than it should be

#

it must be formatted the same way as the stuff in Data/Locations

#

but inside your Entries block

tiny zealot
# calm nebula

imagine waitForSpecificPersonStationary
i don't remember fully, but either it didn't work in my exact case or i needed it to accept n actors so i rolled my own

craggy cape
#

okay i updated the content file to have the buffs, validator says theres no issues at all, so im bootin up to see if i got the sprite index correct atleast.
oh, i also created a sprite sheet 160x16 and plopped that into the assets folder, though im unsure if thats necessary SDVpetcatangy

#

EATING IT WAS A MISTGAKE OW MY EARS

#

anyways back to coding >_>

rigid musk
craggy cape
#

would it effect the animation too

#

id assume so actually

rigid musk
#

uhh you would be 'eating' an error item...? I think

#

so maybe

craggy cape
#

yea its still an error item lol

#

icon wise though it is

#

curiosity got the best of me 😔

rigid musk
#

is your image named 'eggtoast'

craggy cape
#

indeed

rigid musk
#

huh... it should work then with the file path you have pondering

#

wait oh i forgot

#

are you loading the image

#

(s)

craggy cape
#

the error specifically said this:
"Failed loading texture Mods/DDASI.Toast/eggtoast for item (O)DDASI.Toast_eggtoast: asset doesn't exist"

#

but also, the other toasts dont apper

#

appear*

#

i already coded all 6 of them into the file

rigid musk
#
        {
            "LogName": "AngelOfStars MrQi Friendship Assets",
            "Action": "Load",
            "Target": 
            "Mods/AngelOfStars.Mrqifriendable/QiObjects,
            Mods/AngelOfStars.Mrqifriendable/QiCrops,
            Mods/AngelOfStars.Mrqifriendable/QiLetterBG,
            Mods/AngelOfStars.Mrqifriendable/MrQiTextureFix,
            Mods/AngelOfStars.Mrqifriendable/QiWeapons,
            Mods/AngelOfStars.Mrqifriendable/QiFurniture,
            Mods/AngelOfStars.Mrqifriendable/QiCrow,
            Mods/AngelOfStars.Mrqifriendable/Blueberry_cat,
            Mods/AngelOfStars.Mrqifriendable/Blueberry_dog,
            Mods/AngelOfStars.Mrqifriendable/Iridium_cat,
            Mods/AngelOfStars.Mrqifriendable/Iridium_dog,
            Mods/AngelOfStars.Mrqifriendable/QiPetIcons",
            "FromFile":"assets/images/{{TargetWithoutPath}}.png"
        },```
#

something like this

craggy cape
#

ah, i didnt

rigid musk
#

you can just do {{ModId}} i dont remember why I typed all of it out lmao

craggy cape
#

so in this case it would be

#

"mods/{{ModId}}/eggtoast" ?

#

followed by the fromfile

#

either way i assume i put that snippet at the very bottom of the code ?

rigid musk
#

yes

craggy cape
#

ight

rigid musk
#

well

#

no but yes -

#

your from file would be wherever you have your images stored

craggy cape
#

yea ik :d would it be the fromfile:assets/toast_sheet/{{tagretwithoutpath}}.png

#

since the toast sheets have all the sprites while the sprites are seperate png files

#

or wait would it just be assets/{{targetwithoutpath}}.png

#

toast sheet is just an extra png file i put in there, not a folder

fierce vault
#

It gives me this errorInvalid value. Found 'load', but expected one of 'Load', 'EditImage', 'EditData', 'EditMap', 'Include'.
When I thought this is how it is supposed to look? { "Action": "load", "Target": "Maps/MidwayCave", "FromFile": "assets/maps/MidwayCave.tmx" },

craggy cape
#

it might be case sensitive

#

so load will have to be capital L

fierce vault
#

Oh

#

I totally missed that

craggy cape
#

lmaooo

fierce vault
#

Lol

rigid musk
#

unless this is just a snippit

#

OH wait

#

sorry i misread it

fierce vault
#

Just a snippet

#

I'm going to test it again

#

[Content Patcher] Patch error: Mr Npc > Load Maps/{{ModId}}_MidwayCave has a FromFile which matches non-existent file 'assets/maps/ParcySnippet.WSF_MidwayCave.tmx'. Why is this happening? The tmx is where I specified. Do I need to add the mod id to the tmx itself after all?

rigid musk
#

do you have your location loaded too

#

or well are you creating the location

fierce vault
#
{
            "Action": "EditData",
            "Target": "Data/Locations",
            "Entries": {
                "{{ModId}}_MidwayCave": {
                "DisplayName": "Midway Cave",                                             
                "DefaultArrivalTile": {"X": 3, "Y": 13},
                "CreateOnLoad": {
                "MapPath": "Maps/{{ModId}}_MidwayCave"
                    }                            
                }
            }
        },```
#

I think so

craggy cape
#

ughh the validator keeps saying additional text was found, no matter how many times i autofix it with the json editor online tool, and no matter how i format it, VScode says its expecting a certain character SDVpufferwaaah

#

tho the online editor is funky cus it ads the arrays

#

adds*

latent mauve
#

And if so, do you have any earlier errors in the log saying the tmx is invalid?

#

(dumb issues like invalid map property Warps or unloaded custom tilesheet PNGs can cause that)

fierce vault
#

it goes: assets>maps> then the tmx. (without the mod id on the file name) and what should be all the tilesets it needs

#

I did not bother to remove the tilesets this time, I can do that before release

uncut viper
#

an invalid FromFile error will always be because of a file not being found, regardless of whether the file is fine or not
if you are trying to load {{ModId}}_MyMap.tmx then the file must be named YourModIdSpelledOut_MyMap.tmx

uncut viper
#

you cannot name the file {{ModId}}_MyMap.tmx because tokens dont work in file names because they are a content patcher thing. Windows or Mac or what have you has no idea what {{ModId}} means besides the literal text

fierce vault
uncut viper
#

a file name does not need to be unique either, its just for your folder. you are perfectly fine to just name it MyMap.tmx and load it like that

#

as long as the Target you are loading to is unique

#

which currently, yours is not, so you should adjust that too

fierce vault
#

Ohh, so I don't need everthing to have the mod id before MidwayCave?

uncut viper
#

every target must be unique. using the mod id is the best way to do that.

#

but your own assets and actual files on your computer are only ever seen by your mod and your mod alone

#

their names do not matter

fierce vault
#

Ok

uncut viper
#

because their names do not affect what your Target is, outside of if you want to use TargetWithoutPath tokens and whatnot

uncut viper
fierce vault
#

You said my target is not unique though? I thought that it has a the mod id?

craggy cape
# rigid musk Wait what's going on

VScode yells at me for this, only goes away when i use JSON editor online, i click autorepair bc idk how else to fix it, tool adds the [ ] which the validator tells me is an invalid type, so i remove the [ ] from the first and last line, validator tells me additional text has been found. process repeats.

uncut viper
craggy cape
#

ah

fierce vault
#

ok

#

does the entry need the mod Id?

uncut viper
#

your Target must be unique because what if I also make my own mod, with my own map i call MidwayCave? if i Load it to Maps/MidwayCave, and you load it to Maps/MidwayCave, only one of us wins

#

(or more likely, we both lose bc we're using exclusive priority)

craggy cape
#

theres only ONE map for MidwayCave in this town

uncut viper
#

the same goes for things you add inside Entries blocks, generally speaking

#

so yes, your entry key for your Data/Locations edit should have the modid in it too

fierce vault
#

ok

uncut viper
#

because again, same thing, if I added a Location called "MidwayCave" we'd overwrite each other

fierce vault
#

alright

uncut viper
#

your EditData on Data/Locations at a glance is correct, though i dont remember what all fields are optional in location data off the top of my head

#

but structurally its correct

#

though proper indentation would go a long way in helping identify issues

craggy cape
fierce vault
#

Does 'add warps' use the mod id or just the name?

craggy cape
#

i did infact have the load snippet in the wrong area 😔

uncut viper
#

if something requires an internal location name, it requires it exactly. Content Patcher has no way of knowing whether you mean {{ModId}}_MidwayCave or just MidwayCave. you type out what you want to edit.

#

if you used the modid token in your id, you use it anywhere else that asks for a location id

fierce vault
#

ok

rigid musk
#

just so you know Dottie you can put all of your recipes and all of your objects together (by that i mean you only need one edit data on the cooking recipes in which you can put all recipes in there, and then an edit data on the objects and put all of the objects in there)

uncut viper
#

the same goes for anything else that isnt locations

rigid musk
#

like I did here

craggy cape
uncut viper
#

at the end of the day, every instance of {{ModId}} is just replaced with ParcySnipppet.WSF like you saw in the error log

#

it becomes a part of whatever you wrote it in

fierce vault
#

Ok, I'll test it again

uncut viper
#

this is why tokens like that only work inside a content patcher json. theyre tokens, something only Content Patcher even knows exist. the game never knows you use a token. tiled never knows what a token is. your OS has no idea what a token is

craggy cape
#

anyways if everything has been done correctly for real this time code wise, the 5 other items should appear in the item spawner menu. last time it was just the egg toast item, which didnt have its icon loaded properly xd

uncut viper
#

hence the warning about not using it in Tiled itself, because it wont work

rigid musk
craggy cape
#

man i should probably add comments to my code sometimes

#

would make formatting alot easier

rigid musk
#

by i have some comments i mean i have comments showing which sectdion is which lol

#

it helps me remember what im doing

craggy cape
#

ye

rigid musk
#

map making is going to send me to a grave i stg

craggy cape
#

ok why is my game loading so much faster . stop

#

well "loading" as in smapi loading all the content and such

rigid musk
#

it is speed

ornate locust
#

I love when good performance is suspicious

craggy cape
#

also unrelated but why does cloudy skies keep saying "invalidated our weather data" lmao

#

is it so it can load the custom weather for weather wonders maybe .ᐣ

#

sigh, still the same error and icon

#

hmm

#

wait is there a command to reset the content stuff? i heard of it before but i dont remember it

#

like while the game is open i mean

fierce vault
#

Well, no more smapi errors... but my warp didn't work. Did I make a mistake trying to apply the warp to the map patch instead of just the bus stop?{ "Action": "EditMap", "Target": "Maps/WSF_BusStopEdit.tmx", "AddWarps": [ "3 0 {{ModId}}_MidwayCave 8 13" ] },

uncut viper
#

Targets dont have file extensions

fierce vault
#

I better change that then.

uncut viper
#

if you want to add a warp to bus stop then you target Maps/BusStop

#

if you're trying to patch over busstop with a tmx then you put your tmx in the FromFile and set a ToArea and FromArea

#

but the target is still Maps/BusStop

fierce vault
#

I already patched the bus stop, and that works. I am now trying to add a warp to the patch

latent mauve
#

So, yes, you would want to add your warp to the BusStop

uncut viper
#

you dont. you add warps to the bus stop

fierce vault
#

Ok

latent mauve
#

BusStop is what your patch got pasted into, so BusStop is where your Warp map property needs to be added

fierce vault
#

So I'll try adjusting the warps to target the bus stop instead. Thanks

uncut viper
#

no in this case it is targeting a Map

latent mauve
#

I was going to explain a bit further but

#

If it was gonna be confusing (which I suspect due to immediate interjection) I'm just gonna not

fierce vault
latent mauve
#

Was trying to clarify that if a tmx isn't a new location and it's just a patch, you generally won't put a Warp in it, but would instead put it on the map associated with the location

#

But of course map and location get used interchangeably on the wiki too, so it's easily confused before full explanation happens

uncut viper
#

(since the concept of a Target was the initial source of confusion here and the use of the word targeting I didnt want it to be confused for AddWarps "Target"ing a location, i apologize for jumping on it quicklyt)

craggy cape
#

okay my game still gives the "asset doesnt exist" error so now i need to figure out what went wrong ..

#

its basically unable to locate mod/{{modID}/eggtoast for the egg toast item, (O){{modID}}_eggtoast 's asset. so something from this list is wrong, or the fromFile is wrong. idk which though..

#

i dont think adding a .png at the end would fix it .ᐣ which wouldve been my initial thought

vernal crest
#

No, file extensions never belong in the Target line

#

Can you show what your Texture line is for the object data?

craggy cape
#

"Texture": "Mods/{{ModId}}/eggtoast",

uncut viper
#

please send full jsons with the validator

fierce vault
#

The Warp works!! Kind of!

craggy cape
#

sorry i keep forgetting </3 its a habbit of screenshots

#

but yea the texture line is the same, just renamed to the corresponding items name.
like, bbtoast's texture line is mods/{{modid}}/bbtoast

fierce vault
#

Why is the the location partly cutoff?

vernal crest
craggy cape
#

yee

#

oug wait hold on

vernal crest
craggy cape
#

lemme move my mods out and stuff, unless the 480 other mods dont bother 😭

#

i should rlly use a manager ..

fierce vault
craggy cape
ocean sailBOT
#

Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Home, with 111 C# mods and 366 content packs.

fierce vault
vernal crest
craggy cape
#

maybe i SHOULD get stardrop lmao

rigid musk
#

i just put my stuff in different folders and put periods in front of it

#

like this lmao

craggy cape
#

iii forgot about that method

#

i kept moving all the folders themselves in and out of the mods folder 😭

vernal crest
rigid musk
#

i just have to rename them or move the folder out if i dont want that set of mods

vernal crest
craggy cape
#

yes, after im dojne renaming my folders LOL

rigid musk
#

i thought you got rid of the individual toast pngs

#

and were using the one where they're all on the same image

vernal crest
#

I just click on a different copy of StardewModdingAPI.exe to run versions of the game with different mod setups

rigid musk
#

I would have so many of them...

vernal crest
#

That makes sense

rigid musk
#

I alreayd have this many things for stardew in my hotbar i dont need more heh

vernal crest
#

I do actually do the period in front of folder thing for my Messy setup because the only mods I keep enabled for that one (other than testing tools) are the mod I'm currently checking.

uncut viper
#

the squad

rigid musk
#

(vanilla, 1.6.9, 1.6, 1.5)

craggy cape
uncut viper
#

your taskbar feels very judgmental. i feel like im being judged by them

vernal crest
rigid musk
#

The council judges your fate...

rigid musk
#

i dont remember how to do that, and i do like the pufferchicks xD

craggy cape
#

so i could get the sprite index :,D

vernal crest
#

These are my Mods folders but I do the same with the SMAPI shortcuts (ignore the old play mods in the middle)

uncut viper
#

sprite index is always 0 when you have single 16x16 images for each sprite

rigid musk
#

yeah

craggy cape
#

..ah

uncut viper
#

sprite index is only important when many things are on one sheet

#

if your entire png only has one thing on it, then it only has one sprite

vernal crest
#

I need to pause in my helping because I started doing this while trying to pay a bill and I keep not doing that so BRB!

uncut viper
#

so, the 0th sprite

craggy cape
#

okay let me fix that then 💀

#

still gonna do the tests with no other mods aside from the required ones tho

rigid musk
#

yeah the sprite indexes would be wrong unless you used the new image - but that doesnt explain why it cant find the file

#

since you are loading it and it still exists in your assets folder

uncut viper
#

(that is also what was giving me pause and why i didnt ask about the index earlier. by all accounts the asset should at least still exist)

craggy cape
#

yea thats why i think i messed up the filepath stuff for the load action

rigid musk
#

That's what I was thinking too, the index would end up being wrong for sure but it should still show up as an error item at least... and not say the asset isnt found

uncut viper
#

if it was a problem with the filepath, i would expect content patcher to complain about it instead

craggy cape
vernal crest
# rigid musk the frog kinda scares me

Yeah that's reasonable. It's definitely not my favourite but a frog makes most sense to me since I am a frog (my wife calls me her frogsband) and it's hard to get an icon that's clearly a frog but looks cute rather than...that thing xD

uncut viper
#

thats what happens with broken sprite indices

craggy cape
#

okay so it is a mod effecting the files but hello the textures LMFAO

rigid musk
#

yeah like button said its because all of your indexes are wrong

craggy cape
#

although i can eat the items fine without earblastingly loud audio and game crashing

rigid musk
#

if you're using the individual images it needs to be 0

craggy cape
#

i did change it to 0 though.. or i thought i did

fierce vault
craggy cape
#

maybe i put it in the wrong file nhold on

vernal crest
craggy cape
#

my dumbass has two toast mod folders, one in downloads and one in the mods folder

rigid musk
#

the only one that has an index that's zero in the json you sent is the strawberry one :L

craggy cape
#

the content i edited was from the downloads toast mod

rigid musk
rigid musk
craggy cape
#

there we go

lucid iron
#

why is ur menu skewed

craggy cape
#

no idea

fierce vault
craggy cape
#

it happens when i go from a small windowed tab to the fullscreen window tab

#

so prob just the game itself adjusting the sizes and locations of the imaghes

rigid musk
fierce vault
#

It is small, and a chunk of it is not there.

vernal crest
fierce vault
#

the bus stop edit is fine

#

my map was 14 by 14 I believe

vernal crest
#

Can you show a screenshot of what the map looks like in Tiled, please?

fierce vault
#

Yes

vernal crest
#

Your AddWarps edit patch is incorrect by the way. The Target has an extra "Maps/" in front. That shouldn't be affecting the map being cut off, but will mean you currently don't have any warps to the bus stop from it.

fierce vault
vernal crest
fierce vault
#

ok

vernal crest
#

Ah. So see that map property at the bottom left that says "ViewportClamp"? Is that there intentionally?

fierce vault
#

Oh... no it is not

#

I edited the map from the bustop to make this one

vernal crest
#

You're forcing the camera to sit way off to the side of the map. Delete that whole property for now.

#

You should remove all the map properties that you don't actively want, actually.

fierce vault
#

Ok, that makes sense

vernal crest
#

Which basically means from that list that I can see, you should only be keeping the Outdoors property.

fierce vault
#

Ok. I'll try that. Thanks Abagaianye.

ember gale
#

well that didnt work 😭

#

no idea what i did wrong

vernal crest
#

What were you trying to do?

ember gale
#

create a portrait for sebastian

calm nebula
#

(are you using portraiture)

rigid musk
#

You know I can solve so many things I don't know by myself now, I just wanna thank everyone here for helping me when I need it, I appreciate it a lot :3 I've learnedso much

ember gale
#

yeah

rigid musk
#

also yes they are

#

did you name the image properly

ember gale
#

yep

rigid musk
#

I think that needs to be in a folder

fierce vault
#

It worked! My only problem now is that I accidentally added the leave area warps where you enter the area. Do I add the next tiles over in their place, which are in the void to fix that?

ember gale
rigid musk
#

No you just need to put the portrait for sebastian in a folder named... whatever you want it to be

ember gale
#

alrighty

rigid musk
#

'KaiiSebastian' can work or whatever really

#

i shoulda sent a picture of this instead lmao

vernal crest
ember gale
#

ah i seeee

#

okay hold onn

fierce vault
ember gale
#

it works! thank youuu

rigid musk
#

Blushcat happy to help

#

flipping tiles in tiled makes them show up as flipped in game right?

#

just making sure before I go and do that and then it just so happens that it doesn't trasnfer over

rigid musk
#

cheer yippie

vernal crest
#

Not that any of them really look good in detail view, but they are at least generally easy to tell apart (and since starting to use them I really have found that they make it faster for me to find the folder/correct exe).

rigid musk
#

enlarge stardew frog in aesprite?

vernal crest
#

Lol "draw the rest of the frog"

rigid musk
#

noooo just size it up

#

like how the wiki has the 48x48 versions

vernal crest
#

Huh, that maintained its appearance perfectly. Wasn't expecting that.

rigid musk
latent mauve
#

Pixel spriting programs are really good at nearest neighbor resizing

#

😛

#

(I scale up all the time in Krita for my WIP images too)

vernal crest
#

It is nice and crisp in large icon view now

#

But still too small in detail view (which makes sense because it didn't change its proportions). Maybe I need to use the full froggy. That would amuse my wife lol

rigid musk
#

all of frog

vernal crest
#

Fat Frog Friday

#

I feel the need to turn my other icons into Stardew ones now too so they match style

fierce vault
rigid musk
#

i love that so much

vernal crest
#

I've found I'm less likely to make mistakes regarding which Stardew install/mod group I'm editing files in if they're all different.

fierce vault
#

Not all of them mind you, because I got more folders and then felt too tired to change the rest of them to fit the theme. I will someday though...

vernal crest
#

My Stardew installs have different themes (so my 1.6.8 install is chicken themed, my mod dev install is fish themed, my NMA install was cat themed but NMA ruined that by replacing them with default icon folders).

fierce vault
#

I have a chicken/cat theme in my current folder. And I was tempted by the thought of having everything on the desktop be cute stardew icons

vernal crest
#

I have no icons on my desktop

fierce vault
#

Oh, I know some people like the clean look on a desktop.

#

Mine is usually a mess honestly.

vernal crest
#

I almost literally never see my desktop so there didn't seem like much point having icons on it lol

fierce vault
#

I live on the desktop... it is how I reach most things

lucid iron
#

It's fine to skip prefix the constructor right

brave fable
#

𝒶𝒷𝓈𝑜𝓁𝓊𝓉𝑒𝓁𝓎

#

do you think it still falls through to the base/this ctor if you do

lucid iron
#

I dunno...

#

I'm not patching one of those tho it's just ctor by itself

calm nebula
#

(you can)

#

why are you, though?

#

c# ctor is more __init__ and less __new__

#

(in core at least)

uncut viper
#

(unless its a static constructor mostly)

#

(as in you can patch unless its one of those)

stoic night
#

I'm most likely missing something very obvious, but do we have an int id for the fish smoker? In big craftables I can only find FishSmoker. I want to put it into a farmhouse (farmhousefurniture map property in Tiled) but SMAPI says it needs to be an int. SDVpufferthinkblob

uncut viper
#

farmhousefurniture cannot support string ids yet

#

that is fixed in 1.6.16 which has no release date

stoic night
uncut viper
#

(which is to say no, there is no int id bc anything only ever has one ID, and in this case its a string. unfortunately, you're outta luckl here)

stoic night
#

Ok. Plan B: Can I send a fish smoker through mail?

uncut viper
#

you can send any item through mail yaya

#

the additem command you wanna use will be on the 1.6 migration page still i think

#

this combined with the normal mail data page will get you there

stoic night
#

Ok. Thanks. I guess Willy's first mail is going to include a present for my char. SDVpuffersmile

ember gale
#

alrighty new issue arose…the regular portrait works but the winter portrait does not SDVpufferwaaah

spring marlin
#

is it possible to add a different map if your using a mod(thinking of making a map mod and want the easiest compatibility with SDExpanded)

uncut viper
uncut viper
ember gale
#

imma be honest i have no idea what any of that means, im using portraiture for my portrait mod 😢

uncut viper
#

oh. unfortunately then that is out of my wheelhouse

ember gale
#

shucks

vernal crest
#

I don't know if Portraiture can handle winter portraits?

ember gale
#

how do i made compatability with both the reg and winter game portraits then?

vernal crest
#

First make sure you're not just doing something wrong like naming the file incorrectly. What's your winter portrait file called?

ember gale
#

Sebastian_Winter.png

vernal crest
#

Okay that's correct. My next suggestion is to look at other mods using Portraiture and see if any of them have winter portraits.

ember gale
#

alrighty

#

yeah found one, it is a bit different though? this one say xnb

vernal crest
#

Are you sure that's a Portraiture one?

ember gale
#

it was under the section of portraiture “mods requiring this file” so i assumed

vernal crest
#

So it is. Does it have instructions?

ember gale
#

i probably shouldve found a better one this is in chinese

vernal crest
#

It doesn't look like it, so it's probably not super helpful for understanding what to do

ember gale
#

shucks

#

one mod sent me to download portraitireplus

#

i guess its an addon for seasonal?

vernal crest
ember gale
#

ill try to use portraiture plus but its instructions look overwhelming honestly

vernal crest
#

It appears that you need to make it "Sebastian_winter.png" instead

ember gale
vernal crest
#

There's a comment on the 4th page of the Posts tab on Portraiture's mod page that explains how it works

ember gale
#

winter works now!! i just meed to figure out how i can see his beach portrait

vernal crest
#

Go have a look at the comment I mentioned. It explains that too.

ember gale
#

i changed it aswell, i mean more of a test check in game

#

^ i found the cbj cheat for it SDVpufferparty

dusty scarab
stoic night
dusty scarab
#

fair enough :D

spring marlin
#

is there a list of every SDExpanded Shop?

vernal crest
#

Maybe on their wiki?

uncut viper
#

"Mass edit by new user" on the wiki strikes again.... SDVpufferchickcry

#

i have to wonder what the point of that flagging even is when i can just cut half of my edit, save the first half, then do a second edit with the half pasted back in...

#

anyway i got bored and was procrastinating my mod again so the Quest Data page is lookin better now.

hallow prism
#

you can, but someone meaning to do troll edits may be discouraged and in non modding wiki it's more common/more important to have it fixed

#

but it's the way things are when modding and non modding are sharing a space, some of the limitations aren't mean for us

uncut viper
#

"Don't post substantial AI-generated content. Any content you post should either be your own work, or clearly attributed to the original author."

#

neither LLMs are welcome in this channel or server

#

AI generated mods (like it appears you're making based on that screenshot) are doubly against the rules here

spring marlin
#

thinking of making a mod that allows access to all shops in the game, please give me suggestions on my plans(different conditions for shops)(i also know its probably really OP)

#

by "respective trash can able to be accessed", it won't put the desert trash can if you have no (legitimate)means of getting to the desert

tidal stone
#

(i wanna check i request orange role through bouncer right)

stoic night
spring marlin
#

they spawn in their normal places, but not in my hub thing

stoic night
spring marlin
#

its just a hub to make access easier, so the shops are still in their normal places, but also in the hub thing once you furfil it's condition

stoic night
gentle rose
#

and as well as AI code not being allowed here, I'm going to make a wild guess based on what you showed and point out that neither are NSFW/R rated mods

fading walrus
#

Note that if you decide to make your mod with AI, it cannot be mentioned in the server at all. Additionally, we don't allow AI-generated content here. See #bulletin-board for the full policy.

spring marlin
unkempt zephyr
#

Anyone know why Visual Studio is throwing a "The imported project file "___" could not be loaded. There are multiple root elements. Line 2, position 2." error? Not sure what I did wrong

#

this is a txt file, the actual stardewvalley.targets is identical and named correctly in the correct location

lapis vapor
#

hi, i'm trying to code some dialogue, it's a custom question with a followup, and i've got the question working fine but the followup doesn't work. i was wondering if anyone could point out where i've gone wrong, please?

"spring_2": "@, I've been learning sign language after work hours.#$b#I want to communicate with you, but my skills still need work... #$q 1/2 aslquestion_followup#Would you help me practice?$l #$r 1 50 aslquestion_yes#I'd love to, Harvey. #$r 2 -50 aslquestion_no#No thanks.", "aslquestion_yes": "That's wonderful, thank you.$l", "aslquestion_no": "Oh, okay.$s", "aslquestion_followup": "$p 1#I'm excited to get to work.$l|I really thought...$s",

vernal crest
lapis vapor
vernal crest
#

Okay and how are you getting the question a second time? Skipping to the next year?

#

For testing the "aslquestion_followup": "$p 1#I'm excited to get to work.$l|I really thought...$s" line.

lapis vapor
#

oh! i understand now. i thought it would be directly after, like having an option to talk to them again in the same day. i completely misunderstood what the command did haha. that's my bad! i'm still learning.

vernal crest
#

I'm wondering if you have formed the impression that the fallback is for talking to them again on the same day, which it is not. It's for the next time that question gets triggered, which in your case...ah, would actually be never.

lapis vapor
#

yeah that's it ^^;

vernal crest
#

Whoops yup that is what you just said.

#

It makes sense why you'd get that interpretation, especially when looking at that example about going to the beach that's on the wiki.

vernal crest
lapis vapor
gentle rose
unkempt zephyr
unkempt zephyr
gentle rose
#

I must say, I've never seen anyone use a .targets file for stardew modding SDVpufferthinkblob

unkempt zephyr
#

it isn't standard for creating mods?

gentle rose
#

(not saying they aren't used, just that I haven't seen it)

#

I don't think so? most things go in the csproj

vernal crest
#

It's recommended practice by Pathos in the docs for ModBuildConfig

gentle rose
#

but I'm speaking about what I've seen, genuinely not saying that's how it works, I'm just thinking out loud

unkempt zephyr
brave fable
#

sure, i use a global stardewvalley.targets file in %userprofile% since my install folder is on a different drive to my steam install

vernal crest
#

I haven't done it yet because I am not confident enough about what I want to set any global properties thus far lol

brave fable
#

VS solutions from yet another different drive can't find the game directory without it

unkempt zephyr
#

I have 3 install locations, but only one for testing what I make (or break, rather)

gentle rose
vernal crest
#

I have four at the moment. Will condense back down to one once I've finished 1.6.8, finished testing NMA, and finished testing Stardrop.

unkempt zephyr
vernal crest
#

How could he do that, he's so lovely

unkempt zephyr
#

(joking, but he's so good it's crazy)

gentle rose
#

speaking of breaking things, I spot MO2 mentioned

#

from what we've seen it can be as bad as vortex

unkempt zephyr
#

I prefer it to Vortex, but I've had issues with SV modding

gentle rose
#

yup

#

my theory is that it's probably some kind of over-eager deduplication

#

and that's why they snack on files

#

have you tried stardrop?

unkempt zephyr
#

honestly as long as it leaves my base game files alone (unlike vortex) I'll deal with any crap it gives me

unkempt zephyr
#

is it an organizer?

gentle rose
#

it's a Stardew-specific mod manager!

#

replaces things like MO2 and vortex

unkempt zephyr
#

ooo is it better? (I know that's subjective and you're likely to say yes lol)

vernal crest
#

Although using mods without a manager is also incredibly easy with Stardew

unkempt zephyr
#

need that right click > open on Nexus tho!

vernal crest
#

I think Stardrop is the best one for Stardew, yes (I say as someone who manages their mods manually). It's very specific to our needs so it is least broken.

#

If I need to update I just chuck my log into the log parser and use its links

calm nebula
#

Update? What updates?

vernal crest
#

Oh that's a thing for people who play the game, Atra. You don't have to worry about it :P

unkempt zephyr
#

I feel like I'm the only person on earth who actively enjoys updating things and reading the patch notes lmao

gentle rose
#

atra enjoys knitting. and going outside (whatever that means)

unkempt zephyr
#

oh that's the thing you do in stardew valley

vernal crest
#

(Also my wife loves reading patch notes. She also buys tabletop game rule books just to read them.)

unkempt zephyr
#

also, ugh, same error even with your provided fix

vernal crest
#

Do you get the same error if you delete the targets file and just put the properties in the individual csproj?

unkempt zephyr
#

lemme try that

#

I haven't even built a mod yet. All i've done is clone the source of another's mod and I'm just trying to build and deploy it so I know the process for when I do actually do something. This is maddening

vernal crest
#

It might be easier if you follow the instructions in the getting started guide first.

unkempt zephyr
#

I did

#

I mean, I obviously muffed up somewhere, but yeah that's how I got to this point

vernal crest
#

But there's no cloning another mod's source as part of that?

#

Unless you just mean you copy and pasted the ModEntry.cs file contents from the wiki page

unkempt zephyr
#

No I just followed it through the VS install, then when it got to the part where you're to make your own mod I replaced that with just cloning one already made

vernal crest
#

Ah. Well, I meant following it through in full to having a mod running in game that logs what buttons you press (that's what the provided code does). I personally find it easiest to work with a situation that's already functioning and then edit that.

unkempt zephyr
#

So this is interesting - I tried directing the targets file to another instance of SV I have on another drive and I get the same error

#

I think I'll have to just restart and refollow the guide and hope whatever I did wrong gets undone

#

another error I have is one of my references, StardewModdingAPI can't be found, though it's correctly directed to where it's located

#

seems the issue is my VS install, somehow?

vernal crest
#

Can you share your csproj file?

unkempt zephyr
#

I'm not seeing one, but here's the repository I cloned

vernal crest
#

(By the way I am not very knowledgeable about all this but this is not a very active time of day so I'll offer what help I can in lieu of anyone more useful being around lol)

#

Well, there's one right there in the repo you just linked

#

How did you add the properties to your csproj file if you don't know where it is?

unkempt zephyr
unkempt zephyr
vernal crest
#

I was referring to this

#

Where I suggested you put the properties in your csproj and you said you would

unkempt zephyr
#

Oh I couldn't find it so I didn't do it lol

vernal crest
#

Okay this is very confusing. Can you show me a screenshot of the folder that your project is in?

unkempt zephyr
#

C:\Users\ __\source\repos\GuniismUnicycle is the directory

vernal crest
#

I am not asking about the path

#

I'm asking to see what is inside that folder

unkempt zephyr
#

I see the csproj file

vernal crest
#

Okay your csproj file is about halfway down

#

Lol sorry I looked at the screenshot before I read the message

#

Try opening that and putting the game path and mods path properties in there instead

unkempt zephyr
vernal crest
#

Can you show a screenshot of the error?

unkempt zephyr
#

the reference error is gone now, so there's progress

blissful panther
#

I think it might be the Sdk=... part?

<Project>
    <PropertyGroup>
        <!-- Note for people forking this repo: uncomment the line below and add your own game path if necessary. -->
        <!-- <GamePath>$(HOME)/.local/share/Steam/steamapps/common/Stardew Valley/</GamePath> -->

        <ModZipPath>$(SolutionDir)Release\Zip</ModZipPath>
    </PropertyGroup>
</Project>
vernal crest
#

It doesn't look like you deleted the stardew.targets file

calm nebula
#

No, the targets file is invalid xml

#

I forget if you have to fully wrap it or no

#

Hang on

#

Let me boot up

unkempt zephyr
#

did it and it built

#

built, deployed, started SMAPI, all good!

vernal crest
calm nebula
#
<Project>
    <PropertyGroup>
        <GamePath>D:\Mo2 Stardew Valley</GamePath>
    </PropertyGroup>
</Project>

this should work I thought

vernal crest
unkempt zephyr
calm nebula
#

(multiple roots means you have

<OneThing>Something</OneThing>
<SecondThing>Something</SecondThing>
unkempt zephyr
#

My VS install is on a different drive, would that matter? Maybe a perms issue?

calm nebula
#

ie, two top level root elements

unkempt zephyr
#

can you only have one?

vernal crest
#

No, I've got both

calm nebula
#

you can have both, you just need to wrap it in the <Project><ProjectGroup>.. stuff

blissful panther
vernal crest
blissful panther
unkempt zephyr
calm nebula
#

in unrelated: I'm super confused, lol, at this block

vernal crest
unkempt zephyr
vernal crest
unkempt zephyr
#

Deleting it and redoing it fixed it... somehow?

unkempt zephyr
#

regardless - thanks a ton for your help. the whole point of cloning a working mod was to attempt to avoid any dumb errors I might make

#

and that didn't go according to plan lmao

vernal crest
#

Not quite lol

unkempt zephyr
#

checking out stardrop now - are you one of the devs, or do you just use it?

#

shows missing requirements, update notifs, compatability issues - it looks sick

vernal crest
#

Nah, I have no experience in game/software dev lol

#

I have just been doing some ad-hoc user testing of NMA recently and decided to finally learn how to use Stardrop as a comparator (plus one of my friends told me that Stardrop actually can save configs when updating so I was trying to figure out how to get that part working).

unkempt zephyr
#

Oh really? that's huge

#

the saving configs part

#

does it notify you if, say, an update changes any options in the newer version's config file, rendering the older one unusable?

#

ie. a furniture mod's config let's you choose between two colorways for its item, then the mod updates and adds another item that the config will have a new field/option for

vernal crest
#

Not as far as I'm aware of. I'd be surprised if any mod manager did that.

unkempt zephyr
#

Yeah I guess without a sort of deep search or size comparison function it'd be up to the MA to tag it as different

#

one can dream lol

vernal crest
#

My approach is to assume the configs aren't changing between updates and then fix the issues when they come up lol

unkempt zephyr
#

man of culture

#

I choose the "I'm in my 30's with no kids so unlimited time" route and manually check after reading the patch notes lol

lucid iron
#

I just override same folder hasn't exploded yet

vernal crest
#

I have had issues from overriding so I avoid it

unkempt zephyr
#

same, and only with SV. never had issues in skyrim or any other beth game

#

actually no, I did have issues with cyberpunk doing that as well, come to think of it

lucid iron
#

Mysterious, whatever you gotta do i guess

#

There have been oops cases where the file structure changed substantially

#

But that's my own fault for not reading so

vernal crest
#

I do not read before I update, usually lol

unkempt zephyr
#

I've downloaded a surprising amount of incorrectly packaged mods for SV. worrying that while Mo2 will notify me of that, Vortex doesn't

vernal crest
#

No energy for that especially since I usually have a minimum of 30 mods to update at any one time

lucid iron
#

I could probably improve the dl script i have to do no overwrite and config json preserve LilyDerp

spring marlin
#

im trying to make a bundle mod, so i copied everything out of Bundles.es-ES.json and modified it but its not in the correct format for content pacther, is there a tool i can use to convert it or an older format i can use? (the file Bundles.es-ES.json is located in "Content (Unpacked)/Data")

lucid iron
#

No tools for this but it's quite easy

#

!startmodding

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.

lucid iron
#

Take a look at the content patcher tutorials

spring marlin
#

is there a bundle making tutorial?

vernal crest
#

Better to find an existing bundle mod and use the resources chu linked to in order to learn how to edit it for your own purposes than trying to edit vanilla data format.

vernal crest
unkempt zephyr
#

Reverse engineering is always easier

#

Just make sure the perms are open before uploading it, if that's an eventual aspiration of yours

spring marlin
vernal crest
spring marlin
#

im pretty sure i need
"Pantry/0": {2:"24 10 2 188 10 2 190 10 2 192 10 2"}
but i had
"Pantry/0": "Spring Crops/O 465 20/24 10 2 188 10 2 190 10 2 192 10 2/0///Cultivos de primavera"

vernal crest
#

That first bit is only if you want to change the third field along but not any other fields.

#

But you have to be using the correct Content Patcher fields either way.

spring marlin
#

the 4th thing seems to be how many you need, is there a way to just say all?

lucid iron
#

The bundle format is a string your edits also have to be a string

#

You can use text operations to change parts of it (probably a good idea to keep translations intact)

#

But you can't just turn it into a { } object and expect it to work

unkempt zephyr
#

Are CP mods more likely to cause lag, or C#? Or does it not matter and SV is just ultimately limited?

#

I'm aware larger expansions will do that, but what about a ton of smaller mods?

lucid iron
#

You can do a lot of Bad with either format lol

vernal crest
#

Just depends on what is happening in either one

unkempt zephyr
#

I'd assume "per tick" mods like automate in any number would wreak havock

lucid iron
#

But let's assume the optimal case, a skilled CP modder and a skilled C# modder

unkempt zephyr
#

but what about a bunch of furniture or clothing?

lucid iron
#

Sometimes the CP ways of doing a desired feature is barely possible and kind of cursed, because ultimately you are limited to editing data and you can only achieve dynamic behavior by editing data more (which has cost)

#

Whereas the same behavior could be very easy in C#

acoustic summit
#

If you wanted to do a lot with CP there is less control over the kinds of optimizations you can do. C# is more open, both in the havoc that you can cause* and optimizations.

unkempt zephyr
#

I assume this is why you see "hybrid" mods with elements from both

lucid iron
#

Oh the other hand if you have a bad C# modder you can cause much problem by doing more work than you need

lucid iron
#

Source i am the bad C# modder who did ALL_ITEM item queries just to find context tag stuff

lucid iron
#

You can do everything cp does in c# (after all cp is just a c# mod) it just gets annoying beyond a point

#

A lot of big expansions tend to have a content/art person as the driving force

acoustic summit
#

I personally find it annoying to load tonnes of textures into the content pipeline in C# when I don't have to, thats usually the reason I bundle cp and c#

lucid iron
#

And get c# help for specific features that cp couldn't do

vernal crest
#

I make a CP mod and then want to add a little feature as a treat that CP cannot do so I pester someone to teach me the C# for it

brave fable
#

yeah it's generally way, way more convenient to use CP even with an active C# project, it's just so easy, flexible, compatible, and quick to set up

#

use C# for the specifics, CP for the day-to-day

unkempt zephyr
lucid iron
#

Most of my mods are C# the whole way but that's either bc none of the things I'm doing can be edited by data, or because i am exposing more stuff to data for cp mods to use

#

Then i make the cp mods to use these in a separate page Sleepden

unkempt zephyr
#

So then really there's no clear answer as far as what you should look for, other than it depends and how did they do it

lucid iron
#

One day ill get around to eliminating the cp part from sprinkler attachments

gentle rose
#

worth noting that even though we talk as if they are, technically content patcher and c# aren't the only options, there are other content pack frameworks

lucid iron
#

Not if i can help it

#

Cp shall devour all

unkempt zephyr
#

which actually leads me to another question - Would that cause issues? too many mods using too many frameworks? Or since they're all different the engine can handle it so long as they aren't all firing at the same time?

lucid iron
#

But to be clear content patcher is a framework whose job is to parch content

#

You can totally make your own mod pontent catcher and also do that job if you want

#

Spacecore has this (sc content) just like how it has everything

unkempt zephyr
#

isn't spacecore also pathos?

vernal crest
#

Nope, Casey

gentle rose
#

nope, Casey!

unkempt zephyr
#

ah whoops

vernal crest
#

Jinx

plush sable
#

dude wrong channel, also kinda weird

lucid iron
#

What's happening now is less content patcher eat everything and more the game's content pipeline eat everything

unkempt zephyr
plush sable
vernal crest
#

Just report and move on, folks

gentle rose
plush sable
lucid iron
#

Other content pack frameworks do need to load their data somehow too, but they may opt to do it in a not editable via content pipeline way

#

This is also implementation detail™️

gentle rose
lucid iron
#

Tbh i thought AT did this kind of thing kyuuchan_run

#

Haven't looked tho could be wrong

#

Here's guide explaining how to do the "make custom asset for cp or similar to edit" flavor of framework

unkempt zephyr
#

cp really needs a different acronym, tho

#

like

#

I can't be alone here

gentle rose
#

it's a common topic, yeah

#

it is what it is

calm nebula
#

I don't know, cp is a pretty popular unix command

lucid iron
#

Yeah it's 2 letters

vernal crest
#

My wife always complains about CP

#

I just think there are too many things to shorten and too few letters available to care

lucid iron
#

Only 676 combos of those out there

rough lintel
#

content patcher is pretty goated though idk what ur wife is complaining abt /lh

unkempt zephyr
#

that's a hilarious joke in chinese, btw

rough lintel
#

just call it conpa if it bothers u ¯_(ツ)_/¯

unkempt zephyr
#

proud of myself lmao

gentle rose
#

chu, can you confirm or deny hilarity

lucid iron
#

This community does have too much acronym tho

rough lintel
#

chu speaks chinese? amazing …

brave fable
#

idkwym..

cedar turtle
#

Let's just not delve too deep into it.

vernal crest
#

Acronyms are an inevitable part of human life

lucid iron
#

Idk my brain failed to parse which tone it's supposed to be

rough lintel
calm nebula
#

Personally, I enjoy xargs

#

anyways

lucid iron
rough lintel
#

xargs sounds like a sick alien race

rough lintel
cedar turtle
rough lintel
#

seeing what i18ns come in v1.0 of a mod show if an author is bilingual. fun lore

gentle rose
lucid iron
#

It's a 50/50 on whether the author bothers tho

unkempt zephyr
lucid iron
#

Idk if I'd have a zh.json if i was a npc mod maker

rough lintel
lucid iron
#

And lumina is powerful for this

gentle rose
#

I'm never going to bother i18ning into my other language because there's no actual game translation for it SDVpuffersquee

lucid iron
#

My mods i18n tend to be 10 to 20 lines top

rough lintel
#

ya im not comfortable enough with korean to i18n all of my mod. maybe some small parts that i dont want to get messed up across translation, but bweh

gentle rose
#

I wonder how well rtl translation works out of the box with stardew, actually...

vernal crest
#

Lol got your own language direction wrong :P

lucid iron
#

Just draw em backwards ez

unkempt zephyr
#

I play multiplayer with my wife so I prefer Chinese as her english isn't as good as mine. SV is surprisingly good with Chinese translations even though I literally know zero people here who play it

lucid iron
#

If you patch dialoguebox messagebox u get half way there

unkempt zephyr
#

I mean that's pretty much all most people see that would matter

gentle rose
lucid iron
#

Hudmessage too i suppose

lucid iron
unkempt zephyr
#

apparently so! I live in mainland and have never met anyone who plays SV lmao

lucid iron
#

Just look at how fast cn translation go out on nexus

unkempt zephyr
#

yeah it's crazy. front page every day at least one or two translations

lucid iron
#

And unlike korean community they do tend to post mods on nexus too

gentle rose
#

thank you, Gemini, your lies are very helpful

unkempt zephyr
#

I've always wanted to learn hebrew

#

just randomly bust it out in a starbucks in brooklyn

#

lmao

gentle rose
#

it will probably be about as helpful there as your Chinese is 😅

rough lintel
#

a part of me is tempted to futz with machine code again to make ANOTHER drink a byproduct of making a drink….. oh my god… how much do i hate myself

unkempt zephyr
gentle rose
#

oh, then a LOT less useful SDVpuffersquee

rough lintel
#

lets try and bring this back to modding guys lol

gentle rose
#

but hey, if you already know two writing systems, may as well add a third lmao

#

problem with adding Hebrew to games like stardew though is that it's right to left

unkempt zephyr
#

Oh snap I never considered that! Can you change text alignment?

#

Arabic as well would need that for SV

rough lintel
#

same braincell metal lmao

unkempt zephyr
#

hahaha

gentle rose
#

no Arabic yet either, but there are more efforts to add it in than Hebrew

#

and changing text alignment would probably require some harmony patching, which is what chu and I were joking about earlier haha

unkempt zephyr
#

Arabic speaking world is a lot larger so that makes sense

#

hell, a lot of chinese use it for writing

#

the modding implications for changing text alignment seem pretty big

#

manga-style conversations with npcs, etc

gentle rose
#

yup, you basically have to flip the entire UI

unkempt zephyr
#

there's a new UI mod coming out soon, isn't there?

vernal crest
#

Is there?

unkempt zephyr
#

I can't find it now but I found a link to the github on this server like 2 days ago

gentle rose
#

Khloe's? it's just for the menu

vernal crest
#

Better Game Menu

gentle rose
#

maybe I'll work on a Map Event Markers update today

unkempt zephyr
#

I might be mistaken, maybe it's just the menu

gentle rose
#

and merge in khloe's pr finally

unkempt zephyr
gentle rose
#

uh I definitely do, somewhere, hold on

unkempt zephyr
#

I've pruned my 400+ mods list and tweaked configs and so on and so forth to the point my only major point of lag is in menus. hoping her mod helps with that

gentle rose
unkempt zephyr
gentle rose
#

on an unrelated note, do you guys know if the mod dump is just C# mods? I'm like 99.99% sure it is but wanted to make sure

vernal crest
#

Hmm I thought silicon used the mod dump to check for NPC festival positions

blissful panther
#

It's definitely content mods as well!

gentle rose
#

actually if it was only c# mods, how would pathos get the stats...

gentle rose
vernal crest
#

I'd also be surprised if we had 65GB of C# mods

gentle rose
#

93GB last I heard haha

rancid musk
vernal crest
gentle rose
#

I might do some investigation into NPCs

vernal crest
#

For event stuff?

gentle rose
#

but I don't know how safe of an assumption it is that all npcs are content patcher SDVpuffersquee

#

and finding them in c# mods will be much trickier ig

#

as always, I'm stuck between the "technically rigorous way" and "almost definitely good enough" way

lucid iron
#

All npcs are some kinda data

#

That's how we have schedule viewer

gentle rose
#

problem is, what if a c# mod only loads that data under certain conditions

vernal crest
#

If you're wanting to make sure you get every single NPC mod for the game then it might be dangerous to assume they're only made in CP, but the mod dump is not going to have Naver or BiliBili mods anyway will it? So it doesn't seem likely that you could be certain anyway.

gentle rose
#

ofc, but part of me won't be satisfied with any solution that can't find every NPC in the mod dump haha

vernal crest
#

Just ask Tia

#

They'll know lol

dapper fiber
#

sorry to Interrupt the conversation,Can anyone please help me? 😭
I successfully added a new recipe for the Big Chest, but I can't figure out how to make it appear in Robin's shop alongside the vanilla recipe.
When I use Content Patcher (CP), it doesn't work at all.
When I use Shop Tile Framework (STF), it completely replaces the vanilla recipe with my new one.
I've been struggling with this for two days, and now I feel sick just seeing Robin's face 😭😭. (just joke)
PLEASE, any modding experts, save me! 🙏
sorry for bad englishSDVpufferchickcry

gentle rose
#

most rigorous way is probably to decompile every c# mod and do a text search for the necessary fields for npcs ig? though I'm not even happy with that either SDVpuffersquee

rancid musk
#

You should just be able to check asset editors in C# mods. If someone is doing an NPC without editing the data assets, that kind of nonsense isn't something other people should probably care about.

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.

lucid iron
#

Post your CP json

dapper fiber
#

{
"VanillaShops": [
{
"ShopName": "Robinshop",
"AddStockAboveVanilla": "true",
"ReplaceInsteadOfAdd": "false",
"ItemStocks": [
{
"ItemType": "BigCraftables",
"ItemNames": ["Big Chest"],
"IsRecipe": true,
"StockPrice": 6000,
"When": ["!HasCraftingRecipe Big Chest"]
}
]
}
]
}