#making-mods-general

1 messages · Page 423 of 1

brave fable
#

more of a /SDVdemetriums kind of feeling

oblique meadow
#

Because chaos is more fun

urban patrol
#

i don't even try for chaos, chaos just happens to me

oblique meadow
#

If I plan for chaos when I design my farms, those weird interactions aren’t bugs. They’re features. And you’re welcome

lucid iron
#

oh nic

#

i seen ppl us a big schedule anim offset (spacecore) to do that

vernal crest
#

Why spacecore?

urban patrol
#

see i actually tried that believe it or not, but it prevented being able to talk to the NPC because they were too far away

lucid iron
#

in that case the anim is also kinda big Dokkan

#

hm i guess if its not an offset but genuinely a very big schedule anim then u can talk to em

lucid iron
#

cus they r internally on the ground

urban patrol
#

oh that might work yeah

#

very very tall NPC secretly

#

let me try invisibly buildings tile and reverse my passable back layer, and if that doesn't work i'll do big animation

uncut viper
#

sentences designed by the utterly deranged

urban patrol
#

ok it needs an offset BUT it works!

#

you can't walk up there but you can talk to him

obtuse wigeon
#

That is not what I was expecting, however it is what I need, that is amazing and that is the diserving place for a feline

urban patrol
#

any idea why he would have no shadow here? this is the schedule entry:
"spring": "0800 {{ModId}}_Cannery 14 6 2 catking_cat_catnapSideways \"Strings\\Schedules\\CatKing:CatSleep.000\"/1100 {{ModId}}_Cannery 12 19 2 catking_cat_bathe/1200 {{ModId}}_Cannery 12 19 2 catking_human_throne/1400 {{ModId}}_Docks 38 10 2 catking_human_sunbathe/1830 {{ModId}}_Docks 22 10 2 catking_human_smoke/2300 bed",

#

his next animation is a laying_down one, but i didn't think that would be affecting him while walking there

obtuse wigeon
#

If I want to remove part of an image using "EditImage", do I use a blank png with the "PatchMode": "Replace" key value?

brave fable
#

i suppose that would work, Overlay would have no effect using a blank image. you would need it to be the same size as your target area, of course

obtuse wigeon
#

I wonder why it isn't working then, When I patch export, the image still shows the shirt as being there

{
    "Action": "EditImage",
    "Target": "Characters/Farmer/shirts",
    "FromFile": "Assets/BaseTop.png",
    "ToArea": {"X": 8, "Y": 416, "Width": 8, "Height": 32},
    "PatchMode": "Replace"
},
#

Oh wow I forgot to save the file, it does actually work I just forgot the most basic principle

drowsy pewter
#

do u know you can create a new invisible shirt?

brave fable
#

maybe he's making one dyeable SDViconghost

obtuse wigeon
#

This is to make fashion sense sleevless tops not show the vanilla white sleeves below, it's fully for personal use and this is much easier (yet more janky) than making a new top

brittle pasture
tired matrix
#

following everything i could find about this mod but still

#

ignore the last two errors

urban patrol
#

check that your file path is correct. it probably needs to be assets/Xavier_Summer.png depending on your file structure and how you've named it

tired matrix
#

its bc i have one sprite for each season

brave fable
#

you should proofread your file, there's a number of mistakes

urban patrol
#

also your tokens can't be found it seems like

urban patrol
tired matrix
#

it's the mods token but shouldnt they work when i have stay with you mod?

brave fable
#

in your second Changes entry you have Target: Mods/{{ModId}}/XavierTrinklet, and you're attempting to load one asset from four files with no conditions

urban patrol
#

i don't think you can use another mods' dynamic token

brave fable
#

i also don't understand why in your first entry you have a key {{Modid}}_{{Modid}}_XavierTrinket (which also doesn't match the Id inside that entry)

tired matrix
#

so i would have to make a folder for the person to inset inside the other mod's folder?

tired matrix
urban patrol
#

if you're just trying to load your own portraits, then no

brave fable
#

portraiture is a bad example, it's very irregular

urban patrol
#

you do however have to make sure you have the correct filepath

tired matrix
#

im trying to make my character be usable through the other mod

#

so he follows the player

brave fable
#

also in your third Changes entry targeting mushymato.TrinketTinker/Tinker, you're constantly referring to an NPC named Xavier which doesn't exist, since your NPC is named {{ModId}}_Xavier (and you do the same later on in every PLAYER_NPC_RELATIONSHIP check)

tired matrix
#

the other mod offers a custom npc feature but needs to be in the other mod's folder, i wanted to make it work using my mod

ocean sailBOT
#

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

tired matrix
#

the items are modid

brave fable
#

is that so

tired matrix
#

i made everything modid except the npc actually

brave fable
#

oh this is someone's existing npc named Xavier isn't it

tired matrix
#

its my npc

brave fable
#

ah. is it already released?

tired matrix
#

not yet

#

i need to figure this out and the heart events first SDVpufferwaaah

brave fable
#

definitely rename them to {{ModId}}_Xavier before release to avoid compatibility issues

tired matrix
#

he's a famous character so the girls asked if i could make him follow you with the other mod

brave fable
#

good habits and best practices start early 😌

tired matrix
#

just wanted to make him work by just putting the mod inside the mods folder

#

idk what to do w the tokens or if its even possible to do what im trying to do

brave fable
#

otherwise you can define the tokens yourself with the values you want in your main content.json file, per the CP docs

tired matrix
#

thank you ❤️

urban patrol
#

i can send the animations json as well but i don't know if that's related

brave fable
#

are catking_human_sunbathe and catking_human_smoke oversized spacecore animations?

urban patrol
#

nope, neither

#

the sunbathe one is laying_down, but smoke isn't

brave fable
#

do they appear correctly in other schedule points, i.e. times and places?

urban patrol
#

those animations?

brave fable
#

yep

urban patrol
#

yeah, i think the only time the shadow is gone is those two times

#

that i've found at least. i've tested monday-next tuesday

#

except wednesday was rainy

#

i'm on wednesday right now and i can confirm i see the shadow at 1400

oblique meadow
#

Dang. Nic saw the shadow. Six more weeks of winter

urban patrol
#

honestly this isn't even a huge bug except for that it baffles me. i've made 5 other NPCs before and never seen this lol

brave fable
#

i'm starting to believe that a lot of these are just 'classic nic issue'

urban patrol
#

🙃

brave fable
#

those wonderful edge cases noone else would ever find SDVdemetriums

urban patrol
#

changing my name to 'i break things'

#

would pathos like to know about it? honestly i don't care much about it, players can deal, but i just find it odd

brave fable
#

i'd try and coax a nerd into looking at it first

urban patrol
#

sounds good

#

getting my sniper rifle at the ready

latent mauve
#

Well, laying_down animations definitely turn off the shadow when active but I don't know why it would take effect earlier than that part of the schedule.

urban patrol
#

yeah, and it doesn't even do it every single time that animation is used in that same location lol

drowsy pewter
#

sorry for the shit image but is this area in cindersap utilized by anyones mod (ie for an npc or something?)

hallow prism
#

try pinging tia

#

she will list you the 5 different npcs with areas here 😄

obtuse wigeon
#

I know right behind the pink tree the SVE frontier far, and grandpas farm opens it for a shortcut

hallow prism
#

(joke, i don't know how many there are, but i believe there may be a couple at least)

drowsy pewter
#

@brittle ledge drop the npc lore pls

obtuse wigeon
#

and Wildflours nooks and crannies adds a warp in the top left corner

drowsy pewter
#

i see

#

I can work around shortcuts. just brainstorming

ornate locust
#

Alchemistry has something in the area IIRC

#

And there's Ranger Taro

obtuse wigeon
#

Alchemistry is further west towards secret woods entry

#

pretty much right behind wizard tower

brave fable
#

imo it's a fool's errand trying to find free spaces in the world for map patches. if someone doesn't have one now, you will, and someone else after

ornate locust
#

I remember a bunch of mods at once stepping on each other's toes in the area, some of them may have moved around since I last looked

drowsy pewter
obtuse wigeon
#

I know sve plonks jaz a tile to the west of the pink tree

#

(either it's SVE or vanilla I can't rememeber)

drowsy pewter
#

vanilla

ornate locust
#

There's one more too but I'm totally blanking on it

#

probably wake up and remember it at like 4 AM

hallow prism
#

free spaces on world map are worth trying imo but yeah it's good to have backup plans

#

so there's no harm in asking in case you can make whatever you have in mind work

ornate locust
#

Oh wait

#

Lunna

#

Lunna's thing is up there somewhere too, it may be to the west though

hallow prism
#

i thought both lunna and alchemestry were closer of the secret wood

#

but tia will know

obtuse wigeon
#

Lunna's is below the wizard tower I think

hallow prism
#

(and maybe have a screenshot 😄 )

obtuse wigeon
#

If I had the game open I'd ss but it takes a good 10 mins just to load to the main menu

drowsy pewter
#

Uh yeah if ur not sure on the location better not to list it

#

or ill have too many mods to look into

obtuse wigeon
#

I've just re found SinZ's debugger that shows NPC paths, I'll start up the game and check, along with a patch export which will show only some things I have located there, I'll let you know what I find

dusky sail
#

Enya the caitsith has a single tile warp in the upper left but its next to the fence not on it

brave fable
#

the futility of compatibility SDVdemetriums refuse to compromise, embrace your creativity

ornate locust
#

or embrace the tetris

obtuse wigeon
#

I prefer embracing the chaos, may it consume you

dusky sail
#

If i ever add a new area im just gonna use central station this map overlap stuff feels like a pain

drowsy pewter
obtuse wigeon
#

That's what I've been doing, even for testing lcoations, it's just so much easier

dusky sail
#

I dont care if it doesnt make sense to take a bus there </3

drowsy pewter
#

not fair of me to accidentally delete someones home without knowing

ornate locust
#

thank you, Discord gifs for exactly what I wanted

lucid mulch
ornate locust
#

that'd be amazing

obtuse wigeon
#

That may not actually be too hard? as it's mostly JSON and XML parsing with a bit of C# added maps tossed in

lucid mulch
#

the annoying part becomes conditional patches and deduplicating translation mods

obtuse wigeon
#

Deduplicating wouldn't matter too much if you're just getting the tiles occupied

lucid mulch
#

also for certain maps you might need to run a multiverse for stuff like SVE town vs regular town, and detect which universe the patch was intended for

ornate locust
#

Thinking of the patch situation on my own stuff, that can get... complicated

obtuse wigeon
#

Ahh good point, I didn't think about multiple major town maps

ornate locust
#

Yeah, SVE specific and non

lucid mulch
#

if it wasnt for the fact I have a bunch of other projects I might actually work on it

#

as I think I could solve it automatically for detecting Loads as an automated point creating another universe and HasMod checks to know which universe to route it into

obtuse wigeon
#

I'm now debaiting whether I can fit it into the amount of projects I have, thankfully, I'm not getting bug reports on my mods anymore so That frees up some time

dusky sail
#

It would definitely be a really useful tool

humble timber
#

katrie7Ded how did i randomly draw like 2.5 portraits, half of a general map for my expansion, and 18 item sprites today lmao

dusky sail
#

Zoomies

humble timber
#

i now understand how people make giant item mods: they just. blink and suddenly there's 20 items

lucid mulch
#

my main project currently is a rebuild of the Profiler website so stuff like this in the old site where you are jumping in and out, now becomes

dusky sail
obtuse wigeon
#

I think I can make a basic shows what tiles are free vs which aren't, but making it so that you can select specific conditions may not be feasable for a little while, Hosting it may be an issue on my side however, Not much chance of affording that rn

obtuse wigeon
ornate locust
#

need to find a way to induce mod zoomies

lucid iron
dusky sail
lucid iron
#

For peak performance

obtuse wigeon
ornate locust
#

Doesn't work for me

brave fable
#

i hate to be the one to tell you caffeine is not a sedative

#

you may have wasted some coffee

ornate locust
#

it just gives me "I want to do something and I cannot make myself choose a thing to do" zoomies

#

well that too

urban patrol
#

if you ingest enough caffeine to stop your heart, does it count as a sedative then

lucid mulch
# lucid iron Can i have dark mode and gamer rgb

dark mode may be on the table but I'm not a designer so picking a palette is #effort.

For the flame graph I think I just need to replace white with <undefined colour> and its 95% there and then need to figure out what the tooltip should be, but I still have to replace the stock tooltip anyway

dusky sail
lucid mulch
#

stopped heart is less "sedative" and more "died"

obtuse wigeon
vernal crest
lucid mulch
#

I'm probably going to just cheat and colour pick off chrom(ium) devtools instead as it has a dark mode flame graph already

obtuse wigeon
#

can C# find map edit that are yet to be applied? wondering if a better option is a mod like the Shareable mod list then upload a files with map edit info

urban patrol
lucid mulch
obtuse wigeon
#

Great answer, parsing it shall be

lucid mulch
#

My debugger mod arguably can, and patch summary very much does

#

But my debugger mod also partially cheats by also replacing the data structures cp uses when json deserializing

#

Though any c# map edit (not cp) is effectively unknowable statically

brave fable
#

manually parsing content files sounds abysmal, you're better off reflecting CP's cache (if it exists) and behaviours (if they're usable)

gentle rose
obtuse wigeon
#

I suppose a thread that anyone can jump in on isn't the worst idea to have reguarding this, especially if it is to come to fruition

lucid mulch
#

And runs into problems with hasmod guarded includes not evaluating if it's false

gentle rose
#

tbh I would find parsing them myself to be easier but incomplete, because as always, what about c#

lucid mulch
#

If I was building it I would be doing external parsing for all of cp and then have a secondary data ingestion source of running select c# mods and exporting the map state

gentle rose
#

(it's a trick question, btw, the correct answer is "if someone is doing this via c# that's their problem")

lucid mulch
#

So you can do as much as possible that just runs off the pathos mod dump without thinking

obtuse wigeon
#

C# is the outlier in this case, JSON can be parsed to a standard that I'd deem acceptable at least, C# would require either manual searching or mod makers adding the info if their mod adds map edits and so would always be lacking

lucid mulch
#

Also a c# parser could just use cp as a library and have it parse it anyway

gentle rose
#

one of the things I would love to do eventually but that is absolutely mad and likely impossible, is a build of the game/a mod that iterates on every possible set of conditions that would yield a different result, and finds what the state of maps and NPCs is

lucid mulch
#

But I would probably do an external one anyway so you can do superpositions on conditionals, cp trying to make things immutable and precompute stuff gets in the way for this

gentle rose
#

(within reason and evaluation for date and time based conditions ofc)

obtuse wigeon
#

load order would also be a factor to be aware of, one mod may remove tiles on the building layer after another has added them

#

with reguards to the things discussed, would this be a feasable thing to achieve in the time frame of like 4 months, from nothing to something of value to the community?

gentle rose
#

it depends™

obtuse wigeon
#

That's the answer I expected, but hoped not to recieve

lucid mulch
#

depending on how much of that 4 months is spent doing it, skill level and knowledge of the data structures

gentle rose
#

and the approach

#

and the speed of the author

lucid mulch
#

I think if I actually focused I could have something in a weekend, but I've worked with the mod dump prior and work in the CP internals a lot

gentle rose
#

most people here could write a working version of my portrait framework in a weekend tbh

lucid mulch
#

with many things, a lot of time goes into asking the right question, answering the question relatively speaking is easy

obtuse wigeon
#

Well theres only one way to get a definitive answer, I'll give it a shot making a prototype and see how much I can achieve in like 48 hours, depending on the result I'll consider the implications further

lucid mulch
#

for an initial prototype I would simplify the problem and ignore the multiverse and conditions, get something at all, and only once that is working consider the multiverse

obtuse wigeon
#

That's what I was going to do, only work on a couple of mods first, figure a decent way to parse them, then figure a way to display the result

tired matrix
#

the tokens dont work. if you guys were begginers how would you do it?

lucid mulch
#

define tokens dont work

tired matrix
#

trying to make my custom npc be a companion in they stay with you mod

uncut viper
#

did you alter your json after you were told that you cannot just write someone elses token in your mod and have it work

tired matrix
#

yeah but its not working, i tried the mod too

#

what would be the simplest way to do this?

uncut viper
#

then you need to post a new json uploaded to the smapi validator for people to look at, as well as a new error log

tired matrix
#

its not the tokens i think, the character just isnt appearing at all

brave fable
#

(is there still a height limit to spritesheets?)

obtuse wigeon
#

(Not that I'm aware of)

tired matrix
#

i entered the custom npc file in the original mod and set everything up for my npc but doesnt appear even if its in the official mod folder

gentle rose
brave fable
#

(i'm up to 3440 pixels tall in the pants sheet)

obtuse wigeon
#

(The biggest height I've seen a tilesheet is 4096 I think)

dusky sail
#

Thats so many pants....

gentle rose
uncut viper
#

the game defines 4096 as the safest maximum size

#

it doesnt use that definition but it has it

#

and i figure probably for good reason

gentle rose
#

maybe a monogame limitation?

uncut viper
#

something to do with GPUs

urban patrol
#

pantspocalypse

uncut viper
#

and texture memory or w/e idk ask atra

dusky sail
#

CA would never want to put you through more pants than 4096 pixels would allow

brave fable
#

(each pants is 192x688 so it doesn't take very many pants to reach 4k ultra hd)

lucid mulch
brave fable
#

(i suppose i can just expand the width from 1920 to 3840 and have double the pants (or just save the collections of coloured pants to their own files (probably better)))

obtuse wigeon
#

Can a shortcut to SMAPI be anywhere as long as it points to the mod folder starting from the Stardew root folder?

brave fable
#

well the shortcut won't be pointing to the mod folder, it'll be pointing to the smapi executable in the game folder

#

unless you mean a specific mod folder override which would

gentle rose
obtuse wigeon
#

Ye sorry, pointing to the SMAPI exe with the --mods-path arg reletive to stardew root

brave fable
#

sure, shortcuts can go anywhere. except maybe the recycle bin

gentle rose
#

they can go in the recycle bin I think

hard fern
#

Pants... Why do pants

gentle rose
#

just might not be advisable SDVpuffersquee

urban patrol
#

are there minimum dimensions for a portrait sheet for an NPC or can i have just one portrait

brave fable
#

dwarf has one, wizard has two. go mild

urban patrol
#

sick

#

does that change if i'm using the appearances system? like do the number of portraits have to match?

ornate locust
#

I think you can go mild no matter what

urban patrol
#

ornate locust
#

"go mild" is my new favorite

hard fern
urban patrol
#

yeah the second set probably won't even have any dialogue (it's a character who turns into a crow at night)

#

very cinderella fairy tale

hard fern
#

i misread that as crow LOL

brave fable
#

i don't believe they need to have the same number of portraits per file, checking out vanilla both leah and jodi are missing some frames in their Beach portraits.

hard fern
#

*cow

#

i misspelled my own misreading

ornate locust
#

Yeah not all the portrait sets have the same ones.

urban patrol
#

mild here we come

ornate locust
#

as long as the birb doesn't have dialog that uses different expressions, go un-nuts

hard fern
#

ive been staring at a blank canvas on aseprite

#

😭

#

what am i doing

urban patrol
#

a vital step of the artistic process

hard fern
#

im basically just like.

#

copy pasting

#

ugh i kinda dread it though

#

bc i have to adjust so many colors

urban patrol
#

maybe put on some music or call a friend to chat or something while doing it

hard fern
#

SDVpufferwaaah i am friendless (not exactly true but they're all in different timezones lol)

drowsy pewter
#

felt thay

hard fern
#

im watching someone cook all the stardew villager's favorite foods

ornate locust
#

I like to podcast when I zone out and do art

#

something that'll be long and won't end before I do

obtuse wigeon
#

My friends are in the same timezone, I'm the one that isn't I'm 12 hours out of sync to the actual UK time

ornate locust
#

it's like having friends but they can't hear you and are time zone independent :V

obtuse wigeon
#

I quite enjoy piano music in the background, it's not silent, but it's quiet enough to not distract me

hard fern
#

🤔 hmm now, i wonder. does anyone know if there's a vanilla machine suitable enough for the making of perfume.

urban patrol
#

yeah classical or instrumental is my go to

ornate locust
#

Alternatively a movie I have seen five thousand times, those aren't distracting. I always know what I missed if I zoned out

urban patrol
ornate locust
#

Perfume is oil and alcohol

urban patrol
#

isn't perfume just alcohol + scent + oil

obtuse wigeon
#

perfumes are primarily alcohol, so I'd say cask or keg

urban patrol
#

yeah

hard fern
ornate locust
#

Also you have to let it sit a long time and age

#

because it smells differently as time passes

#

The oil can basically just be an essential oil

hard fern
#

funny enough i have vanilla scented hand sanitizer that became kinda liquidy and got a lot darker in color and stronger in smell

obtuse wigeon
#

I believe vanilla degrades with exposure to the sun too, leading to the darkening

hard fern
#

cask could work but it also kinda scares me

ornate locust
#

though the ageing may depend on type. I dunno, I have several articles here, this one looked simple enough that maybe it could be Stardew translated

hard fern
#

bc afaik you need a separate mod to do Things With It

ornate locust
#

huh looks like you can use "Sweet Almond Oil" as a "carrier oil" along with a scent oil to make a perfume oil.

#

lotta math in this

hard fern
#

if only nuts were real in stardew

ornate locust
#

Hey we have hazelnuts

#

that's an singular nut

#

Anyway, seems like a really simple way to go would be like... oil + smell thing = keg?

hard fern
#

hmm yeah

ornate locust
#

I'd say close enough, you got the oil, the smell, and the alcohol implication

hard fern
#

i know the whole point of an oil maker is to Make Oil but i'm probably going to make the recipe for the essential oil require oil to be put back into the oil maker along with the scent of choice bc the oil is a binder

#

🤔

#

or like. glue. whatever

#

cuz like how r u gonna get oil out of a melon

ornate locust
#

Yeah it's the "carrier oil." It's like rice

#

rice carries the flavor, it carries the smell

hard fern
#

hm and i need like. a totally plain normal alcohol.

#

i can make harvey sell it

ornate locust
#

Harvey: pam, no

obtuse wigeon
#

It does also have medical uses in wound cleaning and disinfecting, although that's usually isopropyl, but just labeling it alcohol works

#

it's not like stardew to be IRL accurate anyway

ornate locust
#

funny fact: Everclear's apparently pretty good for it

#

you just need some pure-ass alcohol with no color that doesn't have added smell

#

(still gonna smell like alcohol, but that goes away mostly in maceration and the rest evaporates)

unique tusk
#

I think I need some help, I'm following this tutorial: https://stardewvalleywiki.com/Modding:Location_data#How_do_I_get_to_a_custom_location_in-game.3F and just trying to get the coding to work by adding in a customized version of the caldera that you can warp to by the community centre but whenever I walk up to the warp, it fades black like I'm changing locations but then I'm just still standing by the community centre??? concern
https://smapi.io/json/content-patcher/0b49de0a35ab47dfb26cfc7152c5a434

Stardew Valley Wiki

← Modding:Index

hard fern
#

uh, is there anything in your log?

vernal crest
#

Also, you can test if the problem is with your map/location creation or with the warp by using debug warp Test_Fake.Caldera to warp straight there without using the Town warp.

unique tusk
vernal crest
#

!log

ocean sailBOT
#

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

Please share your SMAPI log file. To do so:

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

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

vernal crest
#

It's the same website as the json validator, just a different page

unique tusk
ocean sailBOT
#

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

vernal crest
unique tusk
#

Oooohhh

ocean sailBOT
#

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

hard fern
#

looks like something wrong with ur location

ornate locust
#

Maybe this is a silly question

vernal crest
#

Odd, according to that log you don't have a Load patch for the map. Did you save the file after adding it?

ornate locust
#

but is it a problem that the tmx load is before the location creation bit?

hard fern
#

your map patch has the wrong path

#

"Target": "Maps/Test_Fake.Caldera", is what you loaded it to

#

"MapPath": "Test_Fake.Caldera" but this is your map path

vernal crest
#

Oh yeah it does need the Maps/ prefix

ornate locust
#

this is a general question for how this stuff works btw, I recall some parts of it load "in order" in regards to overwriting and I was wondering if extended to that

unique tusk
#

Oh! Am I supposed to load it to Town? :o

hard fern
#

no

#

use whatever Target you load your map to

vernal crest
#

No, It just needs to be "MapPath": "Maps/Test_Fake.Caldera"

unique tusk
#

Like this?

vernal crest
unique tusk
#

YIPEE THAT WORKED yipee

vernal crest
# unique tusk Like this?

Unrelated to that, but you should probably put your mod ID in the name of your map and location now in case you forget later.

ornate locust
#

the more you know 💫

drowsy pewter
livid palm
#

hi all, i am new to stardew but familair with other cosy farming sims.
how can we adjusst mods here like if i play on steam or what ever?

round dock
hard fern
lucid mulch
brave fable
#

they won't appear in artemis' shop, just cjb item spawner

#

each of them comes as a shirt+pants pair in about a dozen colours each, though they don't mix-and-match well

#

nothing else new to look at, let me know if there's any weird-looking frames, wrong data entries, mismatched names, etc 🌻

shut edge
#

nice

fading walrus
patent lanceBOT
#

@solemn roost: 5th anniversary of the #pokemon channel (365d ago)

solemn roost
#

remind me the 6th anniversary of the #pokemon channel in a year

#

hmmm i need to phrase it differently

#

remind me the 6th anniversary of the #pokemon channel in 365 days

patent lanceBOT
#

hopefully you don't mind if I end up a few hours off on that one, been a long day and I may doze off. (#6859556) (365d | <t:1789134024>)

solemn roost
#

alrighty, keep on modding everyone! you make every stardew player a little happier every day 🙂

brave fable
#

hi zar 😌 bye zar

verbal narwhal
#

the modentry.cs file is just for standardisation, right?
I can put parts of modentry.cs under the same namespace as sibling e.g. frogspawns.cs or tankhandling.cs, right? Sweating
this mf is so long - working! but long

tame anchor
#

Excuse me, I'd like to create a custom special task board in my mod. Could anyone tell me if there's any way to achieve this?🥺

brave fable
#

you can make your project however you like, with any namespaces you like, and as many files as you like. it's only required that your project contains some class that extends Mod class and implements the Entry method

verbal narwhal
#

thanks!!

brave fable
#

alternatively you can just lump absolutely everything into one file, even one class. if you're quite mad

verbal narwhal
#

hello this is me right now

brave fable
#

i mean.. if it works

verbal narwhal
#

if anyone wants to give their opinion on some of my writing, I would be very happy as well. Because the sentence in my language (or only in my head in my language) sounded really nice, but reading it in English sounds very very sober and idk purely objective on the first half and weirdly personal on the second!

verbal narwhal
#

thanks!!

brave fable
#

i wouldn't say it's really that important to structure your mods unless it's getting unmaintainable or derstandable, since most mods are just made by one person and aren't ever reused or extended

#

but ideally you want to write and structure them such that people can pick them up, read them, understand them, and submit changes if need be

#

it's unlikely that people will submit improvements or fixes to a simple mod. it's only going to get less likely if they can't figure out how the mod works

verbal narwhal
#

I mean this isnt meant to get picked up, I think this might cause a brain damage to some when they see the overall structure haha :D

#

but if I decide to make this usable for others, I will definitely either restructure it or make a framework from it

brave fable
#

it's not necessarily about others using your mod's features, but rather contributing to the codebase. but again, it's already unlikely as it is

lucid iron
#

I think it's more about me being able to figure out where i implemented X feature

brave fable
#

well yes, you do also need to be able to read your own project lol

verbal narwhal
#

I mean I am also tempted to use resharper and cleanup code more but that would need prior good setting up

tiny zealot
#

+1 organizing your source files is for you first, future you second, and potential others third

#

you don't need to "clean up" code unless it's difficult to maintain. "cleaner" code doesn't necessarily have better runtime characteristics

ivory plume
#

I like incremental refactoring: instead of one big rewrite (which often doesn't work out very well), just make your code a little bit cleaner or better structured each time you work on it.

agile flame
#

do you even sleep?

ivory plume
#

Sometimes!

agile flame
#

i genuinly have been asking my friends this question for the past 2 weeks

#

you are just so productive 😭

#

i wish i was like that

ivory plume
#

Mostly I just focus on one priority at a time and cycle through them. For example: I worked on updates for my mods at the start of the month, now I'm working on the other mods I maintain, then I'll work on Stardew Valley for a bit, then I'll probably work on the next SMAPI update, then back to my mods to restart the process. So I'm always working on something, but I don't try to work on everything at once.

torpid sparrow
#

Do you do this full-time Pathos?

#

Making/maintaining mods, I mean

#

It gets confusing with stardew mods and moderator mods both being mod mod mod mod

ivory plume
#

Kind of. I have a full-time day job, then a lot of my free time goes towards modding + Stardew Valley.

torpid sparrow
#

That's what I'd like to work toward. Still in school though

gentle rose
#

I mean, pathos is also a server mod SDVpuffersquee

gray bear
#

ain't nothing he can't do

round dock
#

When was the last time you actually played the game, Pathos? SDVpuffersquee

gentle rose
agile flame
#

we should give bro a break

ivory plume
agile flame
#

seriously when was the last time you ever touched grass

gray bear
#

that's, kinda mean man

ivory plume
#

(Not much grass in the middle of the city, but I do touch pavement regularly too! It's important to have a balance, so you're not spending all your time on one hobby.)

vernal crest
#

I'm pretty sure Pathos stole all my energy and that's why I have a fatigue disorder and he has the achievement power of multiple people /j

gentle rose
#

the fae but for energy

fading walrus
ivory plume
#

(I'm mostly just a workaholic; I feel very dissatisfied if I haven't done at least one productive thing each day.)

round dock
#

(don't forget to hydrate a lot, Pathos!)

vernal crest
#

Being productive is a form of fun prove me wrong

fading walrus
#

Also
Make sure you're not shrimping

#

I say, actively unshrimping

gentle rose
#

being a hypocrite is also a form of fun

round dock
brave fable
#

speaking of work-work balance, so very nearly done with mod updates. just as soon as i finish the fun part, being the funny pictures for the new features

true coyote
round dock
#

Blueberry can i just say as a long time Sailor Moon fan, i absolutely adore this

brave fable
#

and then once the work's done, i can get back to work 😌

gentle rose
#

gonna make my website spami.oi

fading walrus
#

Spamioioio

vernal crest
#

I'm going to pretend my farmer is Majima

true coyote
#

oh blueberry, quick question, and definitely not something you would have to do if you didnt want to -- but would it ever be possible to make your raised garden beds able to be placed on the grandpa's shed map of SVE? totally get if thats something you dont want to pursue!

gentle rose
lucid iron
brave fable
#

i've been blissfully able to ignore wide sleeves since sdv doesn't let you make larger ones, and now i have to draw them here they're kicking my cheeks

lucid iron
#

And then see the pretty mod page art

round dock
#

not yet a chick

gray bear
#

so many clothing can be so cursed

#

sleeves, pants

brave fable
true coyote
#

interesting! yeah I went to decorate in front of the building and was disappointed with the "you cant place that here" notif lol take your time on it obv not a huge rush or anything

#

also thank you for all your lovely mods! <3

calm nebula
ivory plume
gray bear
#

(you have a snake? that's so cool)

brave fable
# gray bear so many clothing can be so cursed

sleeves are perfectly simple and uncursed, you just need to fill in a select three pixels on the spritesheet to match the expected indices in the ApplySleeveColor method, which the decompile apparently says can be calculated with 128 + shirtIndex * 8 / 128 * 32 * shirtTexture.Bounds.Width + shirtIndex * 8 % 128 + shirtTexture.Width * 4 and the two pixels above it. which roughly corresponds to the armpits

gray bear
#

too much math

brave fable
#

but since you can't change anything about the sleeves other than influencing the colour in this way it's not worth thinking about

brittle ledge
#

Remind me in 6 hours to look at that (and maybe actually play? The game?)

patent lanceBOT
#

hahahaha idk why but the fact that you expect me to do anything is funny. we'll see what happens (#6859682) (6h | <t:1757627363>)

gray bear
#

tia gaming?!

scarlet knoll
#

I return yet again with another very specific code query. SDVpufferchickmorning So, to summarize, I have an asset that I need to disable when another specific mod is installed. Not sure how to input that.

The longer version for more context: I'm making my dirt recolor compatible with MixedBag's Tilesheets, which has been WAY more complicated than I expected, but I'm here now and I've come too far to turn back. So! Since my recolor overlays, I'm having an odd issue in winter where the dirt I recolored for vanilla tiles gets layered with the recolor for MixedBag since they're both active at once, and they don't exactly line up. It looks weird. So I separated out the tiles that MixedBag changes into their own png asset, and I need that to disable when MixedBag's Tilesheets is installed. That way there's not two tiles overlaying each other and looking weird. First text that came to mind is "HasMod": "MixedBag.Tilesheets"=false" but I don't think that's right. Would it be more like "Weather |contains=Snow": false? But with HasMod? I have no idea what I'm doing here. Can you tell? lol

lucid iron
#

"HasMod |contains=othermodid": false is correct

scarlet knoll
#

Yay! Thank you! =^.^= I feel like I'm starting to learn stuff finally. lol I had the right idea!

lucid iron
#

But this is like, enable a thing Only when other mod not installed

#

You don't want to edit mixedbag tilesheets?

scarlet knoll
brittle ledge
ivory plume
gray bear
#

i believe in u

torpid sparrow
#

woah

#

thats a snake if ive ever seen one

gray bear
torpid sparrow
#

the first picture is so cute

gray bear
ivory plume
#

(She likes to squish into tiny places and then peek out slightly to watch.)

torpid sparrow
#

i support

#

how long is she?

gray bear
#

a lot of snakes do this and it's so hecking cuteee just peaking,,, baby

brittle ledge
ivory plume
torpid sparrow
#

she is so pretty SDVpuffersquee

calm nebula
dusty halo
#

Help me please

gray bear
#

whats up?

dusty halo
#

I've watched so many videos I've been trying all day but I just can't do it my smapi 4.3.2

#

And another mod

lucid iron
#

!mh

#

Ah bot ded

oblique meadow
#

Not that people are unwilling to help. It's just formatted and set up for more of a tech support system. One person asking the right question here and support will get buried

#

So yeah. Post in tech and you'll get help

dusty halo
#

I hope so

oblique meadow
#

I've seen some of the people in these channels work miracles. You're in good hands 😉

fading walrus
hallow prism
verbal narwhal
#

Im so happy im finally getting the hang of things! I got so many cool things to work! schmoovin

calm nebula
#

1.7 suggestion: pet snakes

#

(Jkjkkkjkjk)

deep plume
soft lance
#

give me chocolate. someone, i need chocolate, i love chocolate

verbal narwhal
#

just before i jump into things head first, is there a working mod that creates functional terrariums or similar enclosures that work as functional pets?

crude plank
#

@woven token Hi, Magic Stardew is yours correct?

rough briar
#

how does one make animal variants appear without adding them to marnies animal menu? like how chickens are random colors

#

i successfully created a coop animal, i want to have its variants but for now its just blue loll

gray bear
#

skins i'd imagine

woeful iron
#

Does nexus have an endpoint I can hit to grab the latest version of a mod programatically the way Vertex does?

woeful iron
#

Oh wowee

lucid iron
#

This is using v1 api idk if u can download files with v2 api yet

iron ridge
#

cant download things with v2 no

lucid iron
#

Rip ok

iron ridge
#

unless that thing is a collection

#

(you can only download the collection mod list/bundled mods, not the mods in it with v2)

woeful iron
#

Is v1 still supported? Have they stated end of life?

iron ridge
#

yes, no

lucid iron
#

They will have to open equiv api if they want their own app to keep working LilyDerp

#

What do you hope to achieve

tiny zealot
woeful iron
#

Thanks again folks!

rough briar
#

aghh im so confused on how to format this correctly

oblique meadow
#

?

gray bear
#

what do u have so far

rough briar
#

im trying to add skin variants, but im just confused on how

gray bear
#

ah, that isn't how you do skins

#

wiki doesn't have an example so lemme, give u one of mine

rough briar
#

alr thank you 😭

gray bear
rough briar
#

oohhh

gray bear
#

you can also have texture instead of babytexture and have both but this is the gist

hard fern
#

I think about like. Fish pond.... And how i only know how to make building skins lol.

#

Ugh i have 0 motivation to keep working on my mod rn... I hate buildingsss

gray bear
#

they're pretty similar

hard fern
#

Bea how to building

gray bear
#

just need more info

hard fern
#

Can i make building poof into existence

gray bear
#

like custom building or ?

#

yeah

hard fern
#

😔 i just hate drawing

gray bear
#

that's a different problem

#

the code isn't all too bad

#

but art hard

rough briar
#

the skins still arent showing up, atleast on the bazaar menu augjh

gray bear
#

bazzar doesn't show baby textures only adult

#

should still work if u buy a few?

rough briar
#

nope

lucid iron
#

I thought farm animal skins needed to have the adult texture at least

#

While baby is optional

#

There's probably a big blob of yellow warnings in your log from livestock bazaar checking this stuff

rough briar
#

well i JUST rebooted the game again rip

#

but no yellow

gray bear
#

nah those are valid

#

it just needs a single texture field

lucid iron
#

I think it's still just banned by LB for gui reasons then yggy

rough briar
#

i got rid of the babytexture then, lets see if that works :,3

rough briar
gray bear
#

so with LB you can never get different babies? well if they're connected to the adult texture yes

#

If u don't have skins for adult texture everyone will be blue

rough briar
#

fuck opened the wrong save LMAO

lucid iron
#

It's not really a case I thought about

lucid iron
#

The reason is that the gui needs the adult texture to display icons

gray bear
#

no babie icons

lucid iron
#

So yeah i think it's currently just impossible for lb design reasons Dokkan

#

I can change it but i want to get more info about the intentions

rough briar
#

okay, i only have the adult texture , theyre still blue

lucid iron
#

LB only lets u change them on purchase

gray bear
#

you'd need to rebuy em

rough briar
#

i did.. those are new ones

lucid iron
#

You can use AT to change post purchase

gray bear
#

did u pick the blue one? lb should let u select the one u want

lucid iron
#

You also gotta select them, if it worked then there should be arrows

rough briar
lucid iron
#

If it no work then send json

gray bear
#

are those correct texture names

rough briar
#

yes

gray bear
#

like are u loading them

lucid iron
#

Are u sure u didn't get any yellow

verbal narwhal
lucid iron
#

Nah it's more a bug catching system

#

The critters are unrelated to pets

#

What do you want to do?

verbal narwhal
#

mhm ok! but thanks!

lucid iron
#

Ok ur skins is in the wrong place

verbal narwhal
#

ah I think I already have a basic outline of how I will tackle it!

lucid iron
verbal narwhal
#

making invisible pet bowls that are refilled when the frog tank is interacted with and that count as pets and disabling the petbehavior as well as their schedules
and maybe then I can get the item drops scale with friendship

#

heck yeah I might even make a NPC/pet amalgam with frog heart events

verbal narwhal
lucid iron
#

Im confused by why you want to disable a completely different system because frogs are there

verbal narwhal
#

oh no

#

I dont want to disable the system

lucid iron
#

You want the froges to roam the farm as Pet entities then?

gray bear
#

how does it not produce any errors when skins is outside the entire action

verbal narwhal
#

not to roam, but to count the interactions towards friendship progress

rough briar
gray bear
#

smapi weird sometimes

rough briar
#

only yellow i got was from a different mod lmaoo

verbal narwhal
#

I could achieve quite a lot by subclassing/inheriting(?) camisfrogs as subclass from sebfrogs,
I think I might be able to do smth similar with pet bowls

lucid iron
#

Well you can have multiple pets i suppose, but it seems kind of wacky to bother doing that if you could just track a simple friendship value

#

Oh my do not subclass TAS you will die

#

There's so much mp sync nonsense on that

verbal narwhal
#

tas?

lucid iron
#

Temporary animated sprite, the parent class of SebsFrogs

verbal narwhal
#

oh why should I die?

lucid iron
#

In general subclassing is something you should do very carefully in sdv modding

verbal narwhal
#

I already did that

lucid iron
#

Any new class you make is something you have to check for whether it'll go into the save, and whether it's going to sync in multiplayer

#

In the case of TAS most of the fields are modifieable to begin with, you can just grab the SebsFrogs instance and change it

#

From what I understand though the desire isn't really for the froges to become a full Pet entity right

#

Only that you want to have Friendship

rough briar
#

my galactykesd NOO

#

oh waiy

lucid iron
#

Each player has a friendship dictionary and u can put arbitrary friendship entries in

rough briar
#

i forgot a closing bracket hold on

lucid iron
#

Then u can visually display that in various menus by harmony patching those

verbal narwhal
lucid iron
#

I'm just warning against making a subclass in general

verbal narwhal
rough briar
#

okay now LB is giving me yellow lmao

lucid iron
#

If you tested everything and it works and no one's saves exploded bc they accidentally uninstalled ur mod then cool

#

But y'know it's better to not deal with it

gray bear
rough briar
#

kinda works ig

lucid iron
#

Did u load the skin textures

rough briar
#

oops, not the rest

verbal narwhal
#

but honestly i am a bit scared

#

because it is messy and probably redundant at quite some points but I know what does what and when to call what

#

:D

lucid iron
#

Well i am just giving advice as person who has been through some of this nonsense Sleepden

verbal narwhal
lucid iron
#

And my intention is just to tell you that "you can have friendship numbers that are safely without a real entity"

#

Save explode is like, if you have a class that is not a vanilla class make it into the save file

#

The save will no longer be playable if people ever uninstall mod

verbal narwhal
#

Oh yes, I will look into that! I think I can patch the „counts towards friendship with pets“ in another way, if I want that

#

Thanks for the warning!

lucid iron
#

I feel that for now you should keep SebsFrogs as they are simply for visual

#

You already control the point of interaction via tile action yes?

#

So from there you can track flags and such however you want

verbal narwhal
#

Yes!

#

Should I make it an entire independent class then?

lucid iron
#

Some stuff in vanilla is mail flags and stats

#

There's no need to make a class.

#

If it's just for code organization reasons sure make a static class

#

Or a singleton class

#

But it's not any sort of functional requirements

#

You may do everything in the tile action callback

verbal narwhal
#

Mhm ok

keen geode
#

Guys where do I find the crop sprites? SDVpufferwaaah Like the hand held ones-

rough briar
keen geode
hidden locust
#

Hi guys, I'm trying to add powdered and sweet condensed milk to the game, but I have no idea of what machine to use, should I make a new one? SDVpufferthinkblob

brittle pasture
hidden locust
#

or maybe there is a framework with a machine for this

brittle pasture
#

make sure they match

brittle pasture
#

I’d be careful adding processing rules for vanilla products to vanilla machines because of the possibility of overlap, but in this case I think you’re fiiiiine

hidden locust
rough briar
#

there is this but i think its because i didnt load the blue version

#

but ecven when i view it, lb doesnt give me yellow

rigid musk
rough briar
#

hmm,,

#

idk where that missing texture comes from, bc its not the blue one either

#

theres 5 colors,
blue
pink
orange
yellow
green

#

so why is there a 6th one trying to appear 😭

#

( 5 colors for the adults, black is for the babies )

rigid musk
#

are you doing 0-4 for whatever you're loading or

#

since the indexes or stuff starts at 0

rough briar
#

ahh,, how do i index them then..

rigid musk
#

like

#

where are they located on the sprite sheet

rough briar
#

oh

rigid musk
#

sorry im really tired so i might not be clear with what im saying lol

rigid musk
#

maybe its because you didnt include the blue one in your skins section

#

maybe

rough briar
#

even when i did , its still shows a missing texture with no yellow ibn the logs

rigid musk
#

but it shows the other five you actually have?

rough briar
#

yea

#

it shows the blue, pink, orange, yellow, and green

#

blue is the first one, the missing texture is the last

#

oh. even when i add the blue skin it just rids the entire animal

#

huh.

brittle pasture
rough briar
#

okay hold on i fucked up something ugh

#

okay i give up for now

#

i fucked up somehow, i dont know how, but im too tired and stressed to fix it

rough briar
brittle pasture
#

that code looks correct, uh make sure you saved?

hallow prism
#

(which hopefully i solved in term of compat with VMV but i'm not entirely sure)

#

(also sadly using VMV as a whole dependancy just for condensed milk is likely a bit too much but i have a candy maker)

whole raptor
#

i18nifier - SDV i18n web converter

#

Not sure if it'll come in handy, but if anyone has problems or questions with the i18nifier or see someone not knowing what's wrong, you can point people in that direction in the future.

obtuse wigeon
#

Tbin are binary format right? meaning no easy way to parse them without tiled or a custom built library (for an external language like javascript or python)

lucid iron
#

@iron ridge tbin js pls

lucid iron
obtuse wigeon
#

Making a thing like Pillow's festival map, but for edits to other maps, currently in prototyping stage to see if it's an actually viable thing or not, step 1 of 3 is done but it was also the easiest part
(RE: #making-mods-general message) Also Pillow if you see this and are able to find the tbin js thing, please @me theres a good chance I'll miss it otherwise, thank you!

gentle rose
#

would be more viable in c# via xtile

#

plus that’s what the game uses so you know it parses similarly

lucid iron
#

You can probably make a cp fork that does funky things to the editmap action

#

Maybe force add a colored border or something

#

That's how me, bery lazy person, would go about it

obtuse wigeon
#

That is true hoever C# isn't something I know to be able to do that, so rn I'm just making a python script to parse the mods and maps for the info needed and outputting it a json file, then have something else like js parse the generated json file to show on a webpage

#

this is just to see if it's viable, actual implimentation will be a lot better

lucid iron
#

But yeah u should ask pillow about this cus i think there is a tbin reading library for js

obtuse wigeon
#

It would help bc I'm only able to get .tmx data at the moment, thank you for letting me know Pillow might know more

#

time to also read up on map layers again so I don't mistake what a layer does

gentle rose
#

btw, tiled has a headless js script mode

#

could probably just use that

obtuse wigeon
#

I didn't know about that, I shall cetainly look into it, seems like I'll be rewriting this in js rather than python

keen geode
#

I have no clue why it says this SDVpuffersob

#

WAIT

#

NVM HOLD THE HORSES

calm nebula
#

Holding horses, got it

keen geode
#

okay so I have no clue how to save it as Json file, it just doesn't let me SDVpufferwaaah

stable grotto
#

@scarlet knoll would you share those findings on vpr, mixedbag and sve in combination with your dirt mod?
I've never encountered issues with dirt replacement (directly integrated into mixedbag's code)

true coyote
#

And it will save as json

craggy goblet
#

Exactly that, renaming does the job ✨✨

keen geode
#

notepad ye

true coyote
#

Weird, mine does, you are changing the drop down to all files?

obtuse wigeon
#

(theres a command here for hidden file types if anyone remembers it, that may help)

true coyote
#

Otherwise I think it doesnt let you

obtuse wigeon
#

!fileextensions

ocean sailBOT
#
Hidden File Extensions

Windows and Mac hide most file extensions by default. If you are creating or updating mods, it's helpful to show file extensions so that you can be sure all mod files are named correctly.

To show file extensions on your computer:

On Windows 10, open File Explorer, click on the View tab, then check the File Name Extensions box.

On Windows 11, open File Explorer and click on View > Show > File Name Extensions.

On Mac, open Finder, and in the menu bar, click on Finder > Settings (or Preferences) > Advanced, then check the Show all filename extensions box.

obtuse wigeon
#

try these, your OS may have file extensions hidden

uncut viper
#

i would also just save yourself the future trouble and just download Notepad++ or Visual Studio Code right now

obtuse wigeon
#

both Notpad++ and Visual Studio Code have better integration for JSON files, making it a lot easier

scarlet knoll
stable grotto
#

interesting, you should be able to ignore vpr in the load order entirely since it has a set early priority
the only one needing attention should have been mixedbag ... honestly not sure if I baked a priority into that one but I believe it to be just a general dependency based load order

#

if mixedbag loaded after your mod that would cause a layering issue

#

the vanilla tiles replaced in mixedbag aren't present in vpr at all

scarlet knoll
#

Not sure why that sent as a reply again, but okay. Lol

stable grotto
#

very strange (the loop part not the reply 😆)

#

could it be mods with vpr dependencies messing with yours?

scarlet knoll
keen geode
#

I DID IT GUYS THANK YOU SDVpufferheart

keen geode
patent lanceBOT
stable grotto
#

I'll suggest a minimal test setup, containing only the mods you need for your problem solving

#

if there's no issues in that it must be something not on your radar

scarlet knoll
junior tiger
#

Hey, I really really need some help. I have followed the official Guide on how to make NPCs. I have all the sprites and JSON files, but it won't work. My character just stands in the middle of townsquare and doesn't move and can't be spoken too. This tells me that the sprites work, but nothing else really. The SMAPI also doesn't throw out any errors at all, so I don't even know how to trouble shoot. Can I request someone to help me please? I have never done mods before. 😭 If it's apropriate my DMs are open too

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
#

It sounds like they don't have a schedule loaded

junior tiger
latent mauve
junior tiger
latent mauve
#

The dialogue and schedule JSON files do not exist natively for custom NPCs, so you have to 'create' them first by loading something to those targets. Posting your JSON will help us make sure that was done correctly. 🙂

junior tiger
latent mauve
#

The smapi.io/json link above will let you put your JSON file in there and give you a shareable link, yes

junior tiger
lucid iron
#

Please send us the content json

latent mauve
#

Yep, let's see your content.json

#

Manifest is clear, and if the manifest was the issue, you'd know, because SMAPI would give you an error loading the mod in the first place.

junior tiger
#

Says no errors

latent mauve
#

Okay, can you pop your dispos.json in there as well and send us that link?

#

First thing to check is if your NPC's internal ID matches for your dialogue and schedule targets.

#

(You'll have separate links for each JSON file you send, that's normal)

junior tiger
latent mauve
#

Yep, the Format field missing is fine if the JSON is being added with Action:Include

#

Only your content.json should ever have the Format field in it

junior tiger
latent mauve
#

For your blank.json, just to be sure, you have a JSON file with just a { } in it?

junior tiger
#

Yup 🫡 just as god intended

latent mauve
#

Excellent

junior tiger
#

Does there need to be a space between the brackets?

latent mauve
#

Nope, it's fine without a space between, just easier to see the characters that way in Discord.

junior tiger
#

Hmm that's fair then. I'm not sure what else to look for anymore 🙁

latent mauve
#

Well, I'm double checking that the targets are all correct first, after that we may need to look at the dialogue and schedule files

junior tiger
#

Oh, of course. I'm sorry, I didn't mean to rush you. Take your time, of course

lucid iron
#

Is this from the npc maker

#

Or more generally which template did you use

latent mauve
#

Is this from Tiakall's tutorial, PandaKitty?

#

Or a different one?

junior tiger
# lucid iron Is this from the npc maker

https://stardewmodding.wiki.gg/wiki/Tutorial:_Making_a_Custom_NPC#Manifest I used this one and many of the sublinks that come with it

Stardew Modding Wiki

So, you're interested in creating a new character for Stardew? Good news: with version 1.6, creating a character is easier and allows for more flexibility than ever. However, NPCs are one of the more complicated things to create for Stardew, as they have a LOT of moving parts. This guide aims to provide...

latent mauve
#

I know some of the tutorials still use dispos.json for the name in the tutorials even though it's using the 1.6 Data/Characters format.

lucid iron
#

I think we need to check your loads and edits yeah

junior tiger
latent mauve
#

It is Tiakall's, you're good

lucid iron
#

Whether they are targeting {{ModId}}.Taq

latent mauve
#

Chu was mainly checking that you were using a tutorial for 1.6, I think

#

and you are!

junior tiger
lucid iron
#

(side note it should be {{ModId}}_Taq instead)

#

That wouldn't stop npc fron loading tho so we deal with that later

latent mauve
#

yep, it's not the current issue

junior tiger
latent mauve
#

Using the . won't necessarily break it, but SMAPI can get fussy and throw errors if it thinks there's an extra . somewhere that isn't the end of a file extension.

lucid iron
#

Also _ is what lookup anything checks for

latent mauve
#

That too

junior tiger
#

To be fair, I only changed it to the . recently. I tried it before with the _ and had the same issues, sadly 🙁

latent mauve
#

Yep, we need to see the schedules and dialogue JSONs

junior tiger
#

Got it, one moment please. Thanks already for your time though

latent mauve
#

"Target":"[NPC]Taq/dialogue"

#

That's incorrect

uncut viper
junior tiger
latent mauve
junior tiger
latent mauve
#

That still doesn't look right.

lucid iron
#

Characters/Dialogue/<npc internal id>

latent mauve
#

"Target": "Characters/Dialogue/{{ModId}}.Taq" is the expected target for a dialogue file

junior tiger
latent mauve
#

It's also where you loaded your blank.json to, which was correct.

junior tiger
latent mauve
#

Characters/Dialogue/snowy, Characters/Dialogue/stormy, and Characters/Dialogue/cloudy are also not valid targets

#

rainy is a special case, because vanilla has it already.

junior tiger
latent mauve
#

For other weather conditions, you would typically use the weather as a key or when statement in the normal dialogue file.

#

Changing messages based on weather is a little trickier, if it's not rain.

junior tiger
latent mauve
#

Yep, I would not worry about those lines for now.

junior tiger
latent mauve
#

Yeah, the base game files have a rainy.json but none of the other weather states. 🙂

#

Okay, are you starting up a new save to check these changes?

#

If not, you will likely need to sleep a day in game.

junior tiger
latent mauve
#

If you're restarting the game but not starting a new save, then you'll need to sleep to tell the NPC to get its new schedule path.

junior tiger
latent mauve
#

Schedules get chosen at night.

junior tiger
latent mauve
#

Yep, the main reason to sleep after making any changes that may impact an NPC's schedule at all (including if you were to change map warps or add/remove locations in game) is that schedule pathfinding is set the night before, so you won't see any changes until one or two sleeps.

junior tiger
#

The SMAPI now says content not found :/ I had that fixed before 😭

latent mauve
#

The main issue with your schedule files are the FarmHouse placeholder_x_coord entries

#

you never swapped your placeholders for real values. 😛

junior tiger
latent mauve
#

What's the full error with content not found?

#

And yes, you can comment out all of the entries that aren't "spring" in your schedule

junior tiger
#

Should I screenshot them or copy paste?

latent mauve
#

!log

ocean sailBOT
#

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

Please share your SMAPI log file. To do so:

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

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

latent mauve
#

Just like the JSON validator, there's a spot where you can upload your log files as well.

junior tiger
ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.19045.0, with 4 C# mods and 1 content packs.

latent mauve
#

okay, so:

File name: 'A:\SteamLibrary\steamapps\common\Stardew Valley\Content\Portraits\Pandakitty.MaleTaq.Taq.xnb'```
this means that your Portrait isn't loaded to the correct target (`Portraits/{{ModId}}.Taq`), assuming your Mod's UniqueID in the manifest is `Pandakitty.MaleTaq`
junior tiger
#

So how do I fix it? The error message confuses me a little 😅

latent mauve
#

I do see where you're loading the Portrait in your content.json, so two things to check: 1) is your FromFile correct? 2) Is it loading in the right order?

#

Is this where the portraits are located in your mod folder? assets/images/Sprite-Sheet-Taq.png

junior tiger
#

I renamed the portraits to Taq-portraits though, just in case the "sprites" in the name caused confusion for the content loader

brittle ledge
latent mauve
#

LOL we spoke of you but did not ping, you did that all on your own, Tia. 😛

brittle ledge
#

You should ping me though, I have ADHD SBVLmaoDog

latent mauve
#

Nah, it was only about helping PandaKitty, who followed your tutorial for NPCs

#

Hardly worth a ping

lucid iron
#

did u have a missed {{ModId}}.blah somewhere

junior tiger
latent mauve
#

That was not anything against you PandaKitty, chu and I know how to troubleshoot NPCs, we promise xD

lucid iron
latent mauve
junior tiger
latent mauve
#

Just want to confirm the filename

junior tiger
latent mauve
#

Specifically we need assets/images

#

wherever your Portrait PNG lives

junior tiger
latent mauve
#

okay, so make sure you changed this block when you renamed the Taq-Portraits.png:

      "LogName": "Base Portraits",
      "Action": "Load",
      "Target": "Portraits/{{ModId}}.Taq",
      "FromFile": "assets/images/Taq-Portraits.png"
    },```
latent mauve
#

FromFile has to match exactly what it's called in the file system.

#

Yep.

junior tiger
#

Done did

latent mauve
#

I corrected the FromFile in that block for you, since it was still using the old one in the version you uploaded earlier.

#

And you've restarted since making that change?

#

If not, go ahead and do that now.

junior tiger
#

Huston we have a problem

#

Still standing in the middle of the town, but now even the sprite is gone 😭

latent mauve
#

ok, time to check your sprite FromFile as well.

junior tiger
latent mauve
#

also, since you have an error sprite, did you get an error in the console too?

junior tiger
latent mauve
#

FromFile seems fine for that one, so it might be the Target again somehow.

#
      "LogName": "Base Portraits",
      "Action": "Load",
      "Target": "Characters/{{ModId}}.Taq",
      "FromFile": "assets/images/Taqsprites.png"
    },``` is this still your block for the sprite?
junior tiger
ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.19045.0, with 4 C# mods and 1 content packs.

latent mauve
#

LogName said Portraits but that shouldn't matter, the Target is still Characters/

#

LogName is descriptive anyway, it can be just about anything and not matter as far as what the code actually does.

junior tiger
#

Yeah it's here and shows the right sprites too

latent mauve
#

hmmm

#

I don't know why you'd have an error sprite in that case. Is it still doing it?

junior tiger
#

Oh should I restart again? I can try

#

Yeah, still there sadly :/ I mean, nothing has changed really

latent mauve
#

and no red in console?

junior tiger
#

Nope

latent mauve
#

I see that it loaded the Portrait in the trace, but I do not see it loading the Character sprite

uncut viper
#

i may have missed it when trying to backread just now, but have you adjusted your Data/Characters edit? the last json i could find with that has the dot in the NPC internal name

latent mauve
#

Yeah, we weren't changing the internal name yet, wanted to try to fix the error first.

uncut viper
#

well, the sprite/portrait targets dont match the NPC name now

latent mauve
#

good call on that

#

Since the target has the _

junior tiger
latent mauve
#

okay, so they are changed

#

In Portraits it still has a .

uncut viper
#

it might be good to just re-upload all your current jsons for an easy to see up to date look at them all

junior tiger
latent mauve
#

Content Patcher loaded asset 'Portraits/Pandakitty.MaleTaq.Taq' (for the 'Custom NPC Taq' content pack). was from your latest log with no errors.

junior tiger
latent mauve
#

Just resend your JSONs since you changed them ❤️

uncut viper
#

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

junior tiger
#
#

The files are folders, for better understanding of the file structures

uncut viper
#

your Data/Characters internal name does indeed still have the . instead of the _ that your portraits and sprites are now using

#

(in your dispos.json)

latent mauve
#

(in dispos)

#

Button just beat me to it xD

#
  "Changes": [
    {
      "Action": "EditData",
      "Target": "Data/Characters",
      "Entries": {```
        RIGHT HERE: ```"{{ModId}}.Taq": {
          "DisplayName": "Taq",```
#

Gotta change {{ModId}}.Taq to {{ModId}}_Taq

uncut viper
#

(also if you make this change dont worry if SMAPI throws a warning about deleting a non-existent NPC, thatll be the "old" Taq)

junior tiger
junior tiger
#

Was there anything else I should fix, or should I try it again? I'm still worried that the sprite appeared in the middle of the town again and couldn't be spoken to. That means the dialogue and schedule are still twisted :/

latent mauve
#

Your Dialogue.json still has the . instead of _ as well

junior tiger
#

Found it 😭 my honor, it slips between my fingers

latent mauve
#

And your schedule couldn't attach because it used the _ but your internal NPC name wasn't yet

#

so the internal NPC name should fix that, hopefully

junior tiger
#

Alright, I will give it another shot!

iron ridge
lucid iron
#

@obtuse wigeon

junior tiger
#

Well, the sprite is there. Still no talking or schedule though :/

iron ridge
#

@obtuse wigeon as requested

lucid iron
#

remember to debug sleep

obtuse wigeon
#

Oh perfect thank you!!

latent mauve
iron ridge
#

It's frontend btw

junior tiger
latent mauve
#

LOL

#

❤️

iron ridge
#

If you're running it on a not browser, you're far better off:

  • using headless tiled
  • using toastermapcli
  • using c#/xtile
  • using caseys c++ tbin library which was the precursor to tiled implementation (worst option here)
obtuse wigeon
# iron ridge It's frontend btw

Perfect, that's currently what I'm basing this for as backend isn't possible if I do it (well it is possible but dynamic sites cost)

junior tiger
brittle ledge
latent mauve
junior tiger
iron ridge
#

While I'd appreciate maybe examples of breaking tbins what i would really appreciate is PRs fixing the crashes

obtuse wigeon
#

I shall be crashing it repeatedly reguardless XD

iron ridge
#

I fear what you plan to do, good luck

obtuse wigeon
#

I fear it too, thank you, I shall need it

latent mauve
junior tiger
#

Okay, so I figured something out! You're right, he does move at 8. Problem is though, I set his homespawn to the bus stop, so it's weird he spawns in the town center. The problem of the dialogue remains though :/ can't talk to him

latent mauve
#

Dialogue not working might have something to do with the second one you say keeps happening, if you're not using the correct dialogue JSON file

#

OR the gift-tastes

#

Which we have not yet investigated

lucid iron
#

if he spawned in town that means the character's Home entry is wrong

junior tiger
junior tiger
iron ridge
# obtuse wigeon I fear it too, thank you, I shall need it

Just to clarify, by it crashing browsers I mean it goes into an infinite loop and the browser may prompt to end the script but if it's not it'll just freeze/crash it

Also I've no idea how you'd import it, I think there's a compiled js file in the repo on github pages if you're using vanilla js, if with a framework you can probably import the main .ts file as a submodule

lucid iron
#

by home entry i mean their Character data

latent mauve
#

doublechecking the BusStop map to make sure that 22, 10 is valid

uncut viper
#

oh, your Home entry appears to be inside your SpousePatio

latent mauve
#

oh, good catch

junior tiger
uncut viper
#

just forgot a }, to close your SpousePatio data

latent mauve
#

if you hover the { on line 30, you'll see that the closing brace is way after the Home entry

#

(on the validator website)

junior tiger
#

Okay, so close it before "Home"?

uncut viper
#

yes, and dont forget the comma

latent mauve
#

So you want to take away the } on line 50 and close it before Home instead, yep

junior tiger
#

So this is what I have now

uncut viper
#

bit difficult to tell without seeing the whole file and the slightly off indentation but that seems fine? best way to check is to try it and see if something yells at you in red