#making-mods-general

1 messages · Page 48 of 1

gaunt orbit
#

Json Just Works™️

calm nebula
#

Here is one out of atracore with special hash

#

I thought this one was a tuple but apparently I changed it to record struct too

#

But it is written to global save

royal nimbus
#

this code ended up not working to make traveling merchant have a portrait. im just gonna scrap it since it's not rly relevant i guess.

if i remove it, the stuff i had that works with sve should still work so thats all i rly need i guess.

calm nebula
#

Pathos I have questions.

#

3.0.0?????

#

Who is on 3.0.0

#

WHO

brittle pasture
#

someone correct me if that's not the case

royal nimbus
next plaza
#

@lucid iron You were working on a trinket framework right? Is that released?

#

Someone was wondering about making trinkets on ES so I was going to put them to your mod if it was released

lucid iron
#

when i paused work on this i was unsure about how to make smooth transition between motion states

sweet meadow
#

is there a comand i can put into the debugger to export a list of the animals i can get from marnie?

brittle pasture
#

Then check the created file in a folder named patch export in your SDV directory

sweet meadow
#

yep 🙂 thanks. just couldnt figure out which patch command to use> 🙂 thanks. trying to plan out my farm's coops/barns/hutches woo!

rotund elm
#

//Fish Data
"{{ModId}}_LunarSalmon": "Lunar Salmon/100/dart/18/34/2400 2600/spring summer fall winter/both/688 .3 689 .3 690 .3/5/.001/.005/10/false",
//Location Data
"{{ModId}}_LunarSalmon": {
"ItemId": "{{ModId}}_LunarSalmon",
"FishAreaId": "River",
"Condition": "LOCATION_SEASON Here spring summer fall, WEATHER Here sunny"
},

Anyone see why this fish wouldn't be spawning?

#

I don't notice any inconsistencies from my other fish and the only difference with this one is the weather condition?

brittle pasture
#

change sunny -> sun

rotund elm
#

And do i do that for rain to?

#

rainy -> rain

brittle pasture
rotund elm
#

Thanks Selph

rotund elm
#

So I went to unpack the games content folder and stardew xnb hack is throwing an exception at me

Unhandled exception: System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types.
Could not load type 'StardewModdingAPI.IManifestPrivateAssembly' from assembly 'SMAPI.Toolkit.CoreInterfaces, Version=4.0.8.0, Culture=neutral, PublicKeyToken=null'.
   at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
   at System.Reflection.Assembly.GetTypes()
   at StardewValley.LocalMultiplayer.GetStaticFieldsAndDefaults() in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\LocalMultiplayer.cs:line 121
   at StardewValley.LocalMultiplayer.Initialize() in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\LocalMultiplayer.cs:line 92
   at StardewValley.GameRunner..ctor() in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\LocalMultiplayer.cs:line 440
   at StardewXnbHack.Program.CreateTemporaryGameInstance(PlatformContext platform, String contentPath) in /home/pathoschild/git/StardewXnbHack/StardewXnbHack/Program.cs:line 327
   at StardewXnbHack.Program.Run(String[] args, GameRunner game, String gamePath, Func`3 getLogger, Boolean showPressAnyKeyToExit) in /home/pathoschild/git/StardewXnbHack/StardewXnbHack/Program.cs:line 149
System.TypeLoadException: Could not load type 'StardewModdingAPI.IManifestPrivateAssembly' from assembly 'SMAPI.Toolkit.CoreInterfaces, Version=4.0.8.0, Culture=neutral, PublicKeyToken=null'.
lucid iron
#

did you use stardewxnbhack 1.1.0

rotund elm
#

I used the beta you're right let me fix that X(

brittle pasture
#

should we make a bot command for it at this point

lucid iron
#

tbh i dont understand how people are managing this

#

maybe if we can make that a blingee

brittle pasture
#

Revive <blink> just for this

lucid iron
brittle pasture
#

perfecto

lucid iron
#

hold on i didnt get the gif version

next plaza
#

Too hard to read, I'd just ignore that even more

tender bloom
#

the lower one in particular I definitely can't read

sweet meadow
lucid iron
#

the export includes all the possible optoins even if they are default value

royal nimbus
#

tiled is a nightmare to use. it alone makes me want to give up on trying to edit room textures .-.

iron ridge
#

if you're only doing textures you don't need to even use tiled

royal nimbus
#

this is gonna be my worst nightmare lmao. all those clothes i need to make x_x and that's just pants. lol

royal nimbus
lucid iron
#

just turn that black and white ez

royal nimbus
#

xD

#

i need to draw new clothes and such

#

there's so so so sooooo many

tender bloom
#

pants are a special kind of hell

lucid iron
#

you might want to use fashion sense instead of dealing with vanilla

tender bloom
#

I recommend shirts

royal nimbus
#

lmfao yeah

tender bloom
#

shirts are cute and small

royal nimbus
#

im gonna start with hats xD

tender bloom
#

accessories with FS are also fun

#

hats: also great

lucid iron
#

pants not even once

tender bloom
#

I wrote a horrible giant python script to try to tackle pants

royal nimbus
#

x'D

tender bloom
#

I think it needs some more fixes but I've been too busy

royal nimbus
#

as for the map stuff. well i heard that yeah tiled might not be needed which would be amazing cuz its so confusing. i just need to figure out how to get custom textures per room. that's gonna have to be for another day tho. i need to be off for now x__x

#

in the evening i work on graphics. so im gonna finish my last two sprite sheets and then work on hats/accessories if i have time

#

oh. the shirts file looks far less menacing than the pants lol.

#

i also think shirts will be fun to work with :3

rotund elm
#

Would anyone be able to recommend a good mod as an reference for adding new locations in the game? I am also adding a house to repair so if you could recommend a mod to reference for adding a repairable building to Robin's that would be much appreciated 🙂

tender bloom
#

Adding a new location is fairly straightforward — I don't offhand know of a mod that only does that, but Visit Mt. Vapius definitely adds several locations and should be using the latest 1.6 formatting for that

#

For adding a repairable building to Robin's I expect you'd have a bit more trouble finding an easy reference but you can probably make it "repairable" by making it upgradeable

#

Unless you want the building to be already there, like the farmhouse?

#

There's potentially different workarounds you can do to avoid C#, or it should also be pretty straightforward in C#

lucid iron
#

you could make it repairable by a map patch sorta

tender bloom
#

There might be like, a spacecore feature I'm forgetting or something

lucid iron
#

if its not a farm building

tender bloom
#

From the SpaceCore docs:

Farm Types - Stored in spacechase0.SpaceCore/FarmExtensionData:
This lets you place buildings (with or without animals) and fences on the farm at creation. Example here.

rotund elm
#

Ok I'll try just getting the maps to work for now. the building itself should be shown while its ruined so I'll see if I can find an example of another mod

calm nebula
#

You can go the SVE route

tender bloom
#

So you could make a new building type that goes like:
Level 1: broken version
Level 2: fixed version
Level 3: upgraded version
And use SpaceCore to put a broken one on the farm

calm nebula
#

Of just making map patches and having a special order attached

#

I liked that in general

rotund elm
tender bloom
tender bloom
half tangle
#

Since I published this in the middle of the night US time and have since fixed a few bugs, I thought I'd share this again so more map makers see it. (No need to showcase.) It's a mod for map makers to find where a player can get out of bounds - it makes a graph of the world's travel methods and performs various flood fills in each relevant location to test the current or any map. https://www.nexusmods.com/stardewvalley/mods/28257

Nexus Mods :: Stardew Valley

This is a tool for map makers to determine if a player can go out of bounds on their maps. Curious players are also welcome.

half mural
#

Is there a mod where u can Mary Kent?

uncut viper
#

they would know better than anyone

half mural
#

Oki ty

calm nebula
#

Why is everyone so obsessed with marrying Kent lately

#

It used to be people really wanting robin or caroline

uncut viper
#

maybe its just taken this long for a lot of people starting at 1.6 to get to year 2

calm nebula
#

Hmmm

rancid temple
#

Robin and Caroline have been the go-to for too long, need that new blood

calm nebula
#

What is the usual rate of play for people

#

Personally, i want to date the cart lady

#

Not marry her though

rancid temple
#

My usual rate of play is burn through most of year one in like a month and then get burnt out and stop playing

#

This time was, burn through most of year one and then start making mods and stop playing SDVkrobusgiggle

brittle pasture
#

steam achievements rate can probably help. though those are added only relatively recently

uncut viper
#

apparently it took my partner and i 4 days to get to year 2 after 1.6 came out judging by my ginger island achievement but we did kinda no-life it for a bit after 1.6

calm nebula
#

Mr. CA please let me date the cart lady

uncut viper
#

so iunno why kent is so popular

#

when is atra gonna release their cart lady romance mod

brittle pasture
#

the same reason Shane is so popular

uncut viper
#

i dont know why shane is so popular either

rancid temple
#

Eugh, now I see why Casey didn't make the virtual currencies show the special currency counter, it only works up to the first 999 then it's broken lol

uncut viper
#

just have it overflow and wave around l;ike the end of day profit screen

brittle pasture
#

the same reason Astarion is so popular
(if you don't know who that is I'll just keep quoting fictional, broken "I can fix him" men)

calm nebula
#

No idea who that is

#

Is it why people ship HousexWilson

uncut viper
#

(i know who that is b ut i dont know why hes so popular either. maybe im just too much of a lesbian to understand. this is why im one of the people who wants robin and caroline—)

calm nebula
#

Robin is married

rancid temple
#

The "I can fix him" trope is very popular, for some reason

calm nebula
#

also no one can surpass Thirteen in my heart

uncut viper
#

love that you said that about robin but not caroline

#

who is also married

rancid temple
#

Yeah but it's to Pierre, so

calm nebula
#

Caroline may not be happily married

brittle pasture
#

We dont acknowledge Pierre's existence in this house

rancid temple
#

I don't remember any events with Demetrius involving a secret he's hiding from his wife, after all

calm nebula
#

My personal headcanon is that those are girly magazines or weed tbh

rancid temple
#

I was thinking money, because it's Pierre

brittle pasture
calm nebula
#

I'm more favorable to Pierre than most. I sorta see him as fiscally insecure more than anything else

latent mauve
#

I feel like if Demetrius keeps bringing Robin tomatoes when she wants fresh fruit that marriage won't be happy for much longer.

#

Also this is reminding me that on the back burner I have those dialogue lines for a "more family oriented/likeable Pierre" sitting around somewhere

calm nebula
#

Yeah

latent mauve
#

I haven't forgotten about my idea to make Pierre's secret stash a surprise anniversary gift for his wife to make it less sketchy and more sweet.

finite ginkgo
calm nebula
finite ginkgo
#

Damn it; I had another Thirteen in mind that I was hoping you were referring to 😔

deep cypress
dusty scarab
ocean shard
#

Hey there, I'm brand new to this server and while I do have an interest in making my own mods, I have absolutely zero experience on how it works

lucid iron
#

what kind of mod do you want to make

ocean shard
#

An own custom character of mine, but I'm hesitant to talk about the details. The last server I talked about it to didn't go so well, and while I didn't break any rules, I left anyway cause I was too afraid

lucid iron
#

ah the npc dragon AnnelieStare

#

!npc

ocean sailBOT
#
Creating a Custom NPC

Keep in mind that making NPCs is a complex process that requires learning many different aspects of Stardew modding.
Here are a few links that can help get you started on all that you need to know:

  1. Tiakall has a great tutorial on making a custom NPC for 1.6:
    https://stardewmodding.wiki.gg/wiki/Tutorial:_Making_a_Custom_NPC

  2. Custom NPCs received many improvements with 1.6.
    https://stardewvalleywiki.com/Modding:NPC_data

  3. Aviroen has put together a template that will allow you to easily create a romanceable NPC:
    https://stardewmodding.wiki.gg/wiki/Npc_template

  4. Feel free to jump into the https://discord.com/channels/137344473976799233/1277457201077813280 thread for more interactive feedback and help!

latent mauve
#

If it's NSFW, don't discuss that aspect here, but otherwise, feel free to check in on the NPC thread ^

lucid iron
#

the 1st and 3rd links are practical guides to the mechanics

ocean shard
#

No it's not NSFW, I'm not interested in anything like that

latent mauve
#

Figured I would mention just in case as that's really the most likely case to cause any issues here.

ocean shard
#

Even of it isn't NSFW, I'm afraid it might still cause a potential issue

latent mauve
#

Fair enough

#

If you are uncomfortable sharing the art or character names and just want help with the code, folks are generally happy to answer more generalized questions without needing more details 🙂

ocean shard
#

Are you sure? Sorry if I'm being so paranoid, I've made the mistake of getting too comfortable with talking about my own creations that it's caused others to become uncomfortable with me

lucid iron
#

its up to you to set boundaries

rancid temple
#

I'm actually going to counter by saying, it's easier to help when more details are shared, answering general questions is my least favorite thing to do lol

lucid iron
#

i got no strong opinions about what other people make creatively sleep

latent mauve
#

We're a pretty friendly bunch, but do what makes you comfortable! I'm not trying to push, just trying to ease your mind a little in case you need to ask questions.

lucid iron
#

but if you want detailed help we will ask you to post your content json and logs eventually

calm nebula
#

Let's be frank. There are way too many furries in this channel for anyone to be mean to them

latent mauve
#

Very true

calm nebula
#

Now, if you're porting some anime character...I kid I kid

latent mauve
#

we have a wide variety here SDVkrobusgiggle

lucid iron
#

i'd be surprised if atra knew any currently popular anime characters

calm nebula
#

Uhhhhhhhh

#

What's her face from the fire kingdom

#

His face

rancid temple
#

Even if atra did, they'd still ask you who that is

calm nebula
#

Don't recall

latent mauve
#

I know exactly who atra means if that helps anyone feel better xD

rancid temple
#

It's debatable whether or not you can consider Avatar anime too lol

#

Technically it's a cartoon

lucid iron
#

banned

rancid temple
#

But it is animated, so I'm willing to let it pass

calm nebula
#

The other anime I know about is... ||paparika||

latent mauve
#

Technically, the French word for cartoon or animation is anime, so if it aired in French it could count there >_>

rancid temple
next plaza
#

Hmm, how did you obtain it?

rancid temple
#

Done both through C# and by giving it to me in CJB

next plaza
#

Hmm

#

Oh, maybe I didn't make it show the menu

#

Looking at the code

old edge
#

Hello

#

Everyone

rancid temple
old edge
#

Having trouble registering a serializer type for custom map. I have the correct methods implemented but still getting Error it's not

ocean shard
old edge
#

Says I'm missing XML include or soap include? But I have it

tender bloom
calm nebula
#

Oh my fucking god

#

Did you not watch that anime

#

That's the One Anime I was forced to watch at you know where

tender bloom
#

i escaped!

#

dunno what that is

#

i have watched anime to be clear

#

just apparently not the same ones as you

#

I'm not sure what a fire kingdom is

calm nebula
#

A mindfuck of an anime I do not understand

tender bloom
#

hahah

rancid temple
#

I have never even heard of this anime before now lmao

gaunt orbit
#

And have you registered it with spacecore

old edge
#

I believe so the map logic works but when save i get a red wall of text

gaunt orbit
#

The game will always load your custom type but if it's not registered properly with spacecore, it will die when saving

brittle ledge
#

as a stardew person, the only animes you need to know are My Hero Academia, One Piece, and Jujutsu Kaisen. The reasons are Toshinori, Zoro and Gojo, respectively. SDVpuffersquee

tender bloom
#

children superheroes, they're on a boat i think, and ???

next plaza
#

Brb making an anime mod just so tiakall has to watch a new one

old edge
tender bloom
#

if you post github link it's easier to take a look

#

sadly ive never registered anything with spacecore though

gaunt orbit
tender bloom
#

i did look at Giant Crop Ring's code once though

brittle ledge
old edge
#

Yeah I'm reviewing that code

gaunt orbit
#

Basically on your custom type you use XmlSerializerType and give it a value starting with Mod_, then call the registration method on the spacecore API

#

Or maybe it's Mods_ with an s? Spacecore will tell you if it's titled wrong

old edge
#

Yeah I followed that but I guess it's wrong or something

#

My implementation

#

Do I put it in modentry or my customlava.cs?

gaunt orbit
#

Put the attribute on your gamelocation subclass, and the api call anywhere

lucid iron
#

hm i dont have a GameLocation example, but i did do it for enchantments

rancid temple
#

I really need to start learning UI stuff, ugh

lucid iron
#

this is the class def

[XmlType($"Mods_mushymato_{nameof(PalaeontologistEnchantment)}")]
public class PalaeontologistEnchantment : ScytheEnchantment
{
#

and then during game launched

ISpaceCoreApi? spacecoreApi = Helper.ModRegistry.GetApi<ISpaceCoreApi>("spacechase0.SpaceCore");
spacecoreApi!.RegisterSerializerType(typeof(PalaeontologistEnchantment));
rotund elm
#

So can I overlay a small tmx file over the beach map instead of making a whole new map to replace?

rancid temple
#

Yep

lucid iron
#

does this feel normal quality enough

rancid temple
#

They look like the quality stars, is there something wrong with them?

lucid iron
#

that is what i wanna know Bolb

#

there's not really a "normal quality" icon since it is absense of something

rancid temple
#

Oh, like does the empty star make it apparent that something is normal quality? I would say it can work, be a bit weird to see maybe the first time when the norm is just a lack of a star means normal

lucid iron
#

tbh im not really sure about use case of banning normal quality from machine

#

but completion

rancid temple
#

I would actually prefer if the star system worked like that anyways, where every quality has a star, and normal is just like really plain or something

calm nebula
#

plz do gold fishies first

lucid iron
#

i guess so Bolb

lucid iron
calm nebula
#

well that's not what I meant

rancid temple
#

Yeah lmao, something about that RPG scale really does it for me

lucid iron
#

thats why you waited until you became purple before getting the cheeto

rancid temple
#

:P if only I had considered that, I just like this orange more than the purple's lmao

lucid iron
#

does (O)73 become wallet immediately

#

or are u able to hold it

gaunt orbit
#

There's a few methods on Object that determine inventory handling iirc

#

No wait it's on Farmer

#

OnItemRecieve

#

O73 does appear in GetItemReceiveBehavior and OnItemRecieved, so it is not possible to ever obtain one as an item, however it can exist as an item outside the farmer inventory

#

Lost books, gold walnuts, qi gems, as well as (O)GoldCoin and (O)102 (unused?)

#

GoldCoin turns into money and 102 is some kind of healing pickup

uncut viper
#

(the player_has_item GSQ also has special accounting for golden walnuts too despite them not going in the inventory. qi gems too)

next plaza
#

Those drop during the no eating skull cavern special order I think

#

Maybe

gaunt orbit
#

Wait no 102 is lost book, 930 is healing

tender bloom
#

the hearts fromthe slimes, right?

gaunt orbit
#

I can't find any references to it in the monster drop logic but it's possible it's just somewhere I haven't looked yet

tender bloom
#

there's probably something tied to active special order, so if you find the special order name searching on that might help?

gaunt orbit
#

I don't know how to search the entire decompile at once so I'll leave that to someone with more curiosity

#

Oh wait I found it

#

It's in the constructor for BigSlime

#

And you're correct, it's used for the skull cavern foodless run

calm nebula
#

ugh, how do I even connect my phone to my laptop anymore

#

I apparently don't own a single data USB->usbc

#

the phone came with usbc->usbc which does not help here since my laptop is too old for usbc ports

lucid iron
#

email yourself like the olden days

rotund elm
#

when loaded no errors map looks like vanilla should'

rotund elm
uncut viper
calm nebula
rancid temple
#

Assuming laptop also doesn't have bluetooth?

brisk wedge
rotund elm
calm nebula
rancid temple
calm nebula
#

I'm trying to move a save from laptop to android

uncut viper
rotund elm
#

0,0 is the top right of the bridge.tmx and the 91,5 is the beach map top left of the area where I want to replace

brisk wedge
rancid temple
#

You have your FromArea set as 91, 5 with a 13x10 size, and your ToArea as 0, 0, with the 13x10 size, which means you're taking a rectangle of size 13x10 from your tmx and placing it at 0, 0 on the beach map

uncut viper
#

you have your ToArea and FromArea backwards, then

glass bramble
#

HELLLLLP!!!

I usually play Stardew Valley very vanilla !
I actually didn’t even add a mod. I just went into my saved files for this one game to change my money. (On Mac) I was like oh I’ll try this out. I never do this.)

This game I was super in depth and and now whenever I try to open this current safe immediately crashes !! I’m guessing I messed something up, but I don’t know what and I really want to save back and unfortunately I don’t have Time Machine on my computer. It’s a brand new computer so I haven’t set that up! Can someone help?

uncut viper
#

FromArea: the piece from your BeachBridge.tmx you want to copy
ToArea: the location on the original map you want to paste it on top of

rotund elm
#

"FromArea": {
"X": 0,
"Y": 0,
"Width": 13,
"Height": 10
},
"ToArea": {
"X": 91,
"Y": 5,
"Width": 13,
"Height": 10
}

uncut viper
#

make sure you've patch reloaded it and probably swapped locations and back again. i dont know how permanent map edits are. also double check you actually have the config option turned on

#

also wait you're targeting the .tmx

#

remove the .tmx from your targets

rancid temple
uncut viper
#

keep it in your FromFile though

glass bramble
rancid temple
#

Did you use a mod to do it?

#

If you did that would probably be #1272025932932055121 but it sounded like you just edited your save file

calm nebula
#

tbh this is a case where I bloody hope you have backups

#

because, frankly, you're not going to be able to fix that

rancid temple
#

Sounds like they didn't

#

Save file editing is pretty destructive isn't it?

rotund elm
calm nebula
#

yeah, probably screwed. Don't edit a 2mb xml file without backups, lol

uncut viper
uncut viper
#

"Target": "Maps/Beach"

rotund elm
#

Could someone point me to the section of the wiki where it tells you how to make maps connect to each other? I can't seem to find it

rancid temple
#

Like warps?

rotund elm
#

if thats what it's called when you walk into a new area like from town to the beach

#

XD?

rancid temple
#

Every transition from one map to another is a warp

#

But there's like 3 or 4 different ways to do them

#

Generally depends on what kind of warp you're trying to do

#

If you just want a warp like going from Town to Beach you can use the Warp Map Property

rotund elm
#

That should be it thank you!

rancid temple
#

I just realized, this description is kind of misleading lol. Doors are definitely a separate idea from the Warp Map Property

rotund elm
#

for the warp map property

rancid temple
#

Every tile you want to cause a warp when walked onto

rotund elm
#

Appreciate you!

rancid temple
#

Vanilla functionality is usually to place the warp just off the map edge

#

So you walk off screen to warp to the next map

rotund elm
lucid iron
#

nexus upload is taking 3000 yrs

tiny zealot
#

every time i try to call String.Join i reverse the parameters. why can't i learn

lucid iron
#

just switch to python

tiny zealot
#

no

uncut viper
#

just replace every string.join call with a for loop with manual concatenation

lucid iron
#

its only 184kb

old edge
#

I just reload the page when that happens

calm nebula
#

what's the name of that one site that has all the farms on it

#

like, the farmshare website

#

for reasons I cannot explain I need a valid 1.5.6 save

#

it's not stardew planner, it's...

deep cypress
#

Perfection checker?

uncut viper
#

are you thinking of upload dot farm whose latest news says they dont support 1.5 yet but theyre working on it

calm nebula
#

yes

#

upload.farm

#

thank you

lucid iron
#

i thought button had typo but wow it really is no support for 1.5 yet

old edge
#

Oh yeah I was looking at that upload.farm site awhile ago.

#

I wanted to create my own farm and upload.

velvet narwhal
#

"new beach map" i'm

old edge
#

Hello I had a lot of help from some people here with my lava logic mod wouldn't have been able to get this far without help. Do people mind if I credit them?

lucid iron
#

can people legally reject credit blobcatgooglyblep

velvet narwhal
#

yes, actually

#

but i don't think anyone will really reject crediting for helping, handwaves human psyche likes being recognized handwaves

tiny zealot
#

blech i keep finding more things i have to patch for my current shitpost mod. sometimes i wish i could just let myself half-ass it

velvet narwhal
#

if it weren't for the fact that i'd have to draw my own goose sprites, i would've released the untitled stardew goose already

tender bloom
#

I think there’s a couple goose mods out there, you could ask around and see if anyone wants to collab

velvet narwhal
#

tis true, but the allure of adding fireflies to my map(s) were more pressing

#

button has derailed my train of thought because i opened nexus to check on something and instead i get a ping

uncut viper
#

why am i involved with a ping

velvet narwhal
#

it tells me whenever you release a mod cause i told it to SDVkrobusgiggle

uncut viper
#

it hasnt even told me its been released yet

#

i was waiting for it to appear on the mods page before i was gonna ask for someone to showcase it lmao

tiny zealot
#

it's on new this week, which in my experience always updates before new today

lucid iron
#

button releasing more weapons of mass mod destruction

uncut viper
#

totally

lucid iron
#

i see it now, do u want da showcase

uncut viper
#

well i guess if its already there then- yes please

velvet narwhal
#

oh it just now refreshed

uncut viper
#

https://www.nexusmods.com/stardewvalley/mods/28284
"Another one for you Content Patcher mod authors! If you've ever wanted to use another mods config, translations, or dynamic tokens in your mod, this one will let you do that!"
im not good at taglines so thatll have to do. it can just go in here, modded-farmers doesnt need to know about its existence unless someone else tells them to need it

lucid iron
#

New modding tool from @uncut viper!

"Another one for you Content Patcher mod authors! If you've ever wanted to use another mods config, translations, or dynamic tokens in your mod, this mod will let you do that!"

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

Nexus Mods :: Stardew Valley

Grab config values, translations, and dynamic tokens from other mods with special Content Patcher tokens.

uncut viper
#

thank you SDVpufferheart

lucid iron
#

i changed the second "one" to mod sorry

uncut viper
#

yeah thats fine

#

i couldnt even tell you did it even after i re-read it the first time after you said that so. bothers me none

velvet narwhal
#

gotta obligatorily

tiny zealot
#

aw button, thanks for the mention/link in your description! SDVpufferheart very kind of you

uncut viper
#

Lacey is not only adorable in all regards anyway but was also so helpful for helping me test the mod so i had to

#

Lacey always deserves love

wise berry
#

Wowie

uncut viper
#

SDVpuffereyes i didnt realize Machine Control Panel was released now too

#

i will be making very use of this

slender badger
#

Holy shit, this is a game-changer SBVShookEyes

uncut viper
#

always token responsibly

velvet narwhal
#

nope that's why i made that image for you

lucid iron
#

Say is there advantage to using cmct for C#

uncut viper
#

you dont have to do a bunch of reflection bullshit to get someone elses config

lucid iron
#

Over the ol register your own tokens for the cp component

uncut viper
#

but you'd need to use CP's conditions API as a dependency

#

oh you mean for like a mod that has both a CP and a C# component?

lucid iron
#

Yeah

uncut viper
#

well. i did do a buncha testing but if you do it with the "register your own token" way you can at least guarantee it'll work right

#

and other people will be able to use your config tokens without CMCT

lucid iron
#

I do feel more comfortable with doing asset stuff in C# directly now, but my first mod was a c# + cp mod

uncut viper
#

if you ask me it still makes sense to do a cp + c# mod sometimes

lucid iron
#

It was kinda pein to have to do the gmcm portion in c#

devout otter
#

Other mod's config and tokens. 🥹

uncut viper
#

you lost me there bc i actually find the content patcher config to be more of a pain to use lol

lucid iron
#

Yeah well I also came around now kyuuchan_run

velvet narwhal
#

i don't know who's addicted to events, but date night redux can definitely be utilized

uncut viper
#

overall tho chu i'd say that if you like, dont mind doing it, id still absolutely recommend registering your own tokens for your C# portion of your config, personally

lucid iron
#

Naruhodo

uncut viper
#

definitely would be less expensive an operation to grab those tokens too than CMCT, id think

#

i dont reflect from scratch every time the token updates but i do still gotta do a little reflection each time

lucid iron
#

What if u like

#

Get literally every mod to agree to expose a GibCMCT method in their api

#

It'll be great trust

uncut viper
#

what about the content patcher mods that dont have APIs though

lucid iron
#

Content patcher is a mod

#

It knows all the tokens doesn't it

slender badger
#

It's also gonna be great for anyone that wants compat with Canon-Friendly's individual toggles in the new beta

uncut viper
#

content patcher knows all the tokens, but its SMAPI that handles the config

whole raptor
lucid iron
#

Yeah this mod let you sneaks into the other mod's house and steal their tokens

velvet narwhal
#

SDVpufferthinkblob i imagine you can do the hasmod when

lucid iron
#

Other mod doesn't have to do anything

whole raptor
lucid iron
#

hm isnt that more of a content patcher issue

#

where its not eval in correct order

uncut viper
#

SMAPI isnt the one complaining about that, thats a CP limitation

#

SMAPI has no concept of tokens whatsoever

whole raptor
#

Well yeah, but you know what I mean 😅

uncut viper
#

its very important to be precise in this context!

#

since the mod works with both CP packs, normal content packs, and regular C# mods

velvet narwhal
#

this thing really did take over you, huh

uncut viper
#

that said the desc does say that if you're using CMCT to grab anything from another mod, you do still need to add that other mod as a dependency. it can be a false dependency, but it needs to be there

#

i say "needs" but like, i didnt run into any issues without it, but i havent tried to prevent any based on load order, so

#

realistically you should be adding false dependencies in those situations regardless, bc it is an optional dependency anyway

velvet narwhal
#

yeah i imagine since i want to steal their jewelry, they gotta have it there first

uncut viper
#

if you try to grab a config from a mod, but that other mod is not installed, the token will be invalid and the patch will not apply

#

which is probably to your benefit

#

kind of like a pseudo when condition

whole raptor
#

Nice, false dependency is all I need, I do have 41 false dependencies in one of my mods after all...

uncut viper
# velvet narwhal this thing really did take over you, huh

it was like saturday at 5am when i saw someone ask about grabbing configs from another mod, so i decided that id go to bed and start on it when i woke up. and now here i am. so as far as temporary obsessions go, at least it was over quickly

velvet narwhal
#

jokes on you, you've now created chaos for the code-only content authors

uncut viper
lucid iron
#

isnt code-only like

tiny zealot
lucid iron
#

everyone who doesnt art

velvet narwhal
#

.quote 6240

patent lanceBOT
#
#6240

@velvet narwhal #making-mods-art message Honestly I think you do actually have a special talent for ~~derailing ~~giving inspiration and motivation cause last time I ended up releasing a whole mod for 1000+ wallpapers after you asked one innocent question! :bongo_cat_heart: :VMVLmaoDog:

uncut viper
velvet narwhal
#

tater toss

lucid iron
#

tater toss now with ostrich support

velvet narwhal
uncut viper
#

what an incredible mod name

tiny zealot
velvet narwhal
#

is there still no mp compat

#

or is that what you're working on, tossing your friends

uncut viper
#

i missed this bc i have the mod showcase muted whoops

#

i will download

tiny zealot
#

it should work in multiplayer, although not perfectly (jump status does not sync well). but you can't throw other farmers (yet?)

uncut viper
#

please let me yeet my partner into the volcano caldera

velvet narwhal
#

gotta help ichor figure out the bespoke then

#

since you're the mp fiend

uncut viper
#

i have done one (1) multiplayer focused thing and it was hell on earth

tiny zealot
#

next up is probably pets, and maybe NPC spouses. no promises about other farmers

velvet narwhal
#

"hey babe there's a secret next to the edge of the volcano--LONG LIVE THE KING"

uncut viper
#

you could probably do it with the smapi message broadcasting events

tiny zealot
#

but right now i'm making a shitpost and it is excruciating, so somebody had better laugh at it when i'm done

uncut viper
#

hit a button, send a msg to tell the other client that the player.CanMove is false. then send another to yeet em

#

maybe my next temporary obsession will be that npc festival placement thing. maybe. probably not but maybe

velvet narwhal
#

oh the scoocher?

uncut viper
#

BETAS is in a good state right now so i think its fine to take a bit of a rest without specific requests

#

also last time i tried to add something to BETAS i broke all items everywhere oops

tiny zealot
#

the festival placement ranked-choice system. i'm willing to collab on it

uncut viper
#

honestly the biggest reason i havent started actually brainstorming about it yet is bc i just dont understand the festival system at all yet

tiny zealot
#

hoping you have ideas for working around some of the thorny corner cases

uncut viper
#

its an area of the code ive never looked at, so i wouldnt know where to begin

#

not even edge cases but corner cases..... cant we just ignore them? /j

lucid iron
#

we should be able to throw trees

velvet narwhal
#

oh nope my c++ logic will not work here, i was honestly thinking about checking end of array

lucid iron
#

its like the next tier from tree hugging

uncut viper
#

i did see in theee.... mod conglomerate thread i think? someone (it mightve been you ichor?) mentioned an algorithm for it, were you thinking of the gale-shapley or hungarian ones

tiny zealot
uncut viper
#

i thought we determined you, as a farmer, were a cryptid

velvet narwhal
#

we all collab to make everything throwable

uncut viper
#

i read that on a mod showcase post somewhere

#

so it must be true

lucid iron
#

ichor should do as much or as little work as desired

#

unrelated to us throwing out dum ideas PecoSmile

tiny zealot
uncut viper
velvet narwhal
#

#1288404321142046731 is just me and silicon banging pots and pans like children and not understanding harmony

tiny zealot
#

thread sounds good

lucid iron
#

whats this conglomerate about

uncut viper
#

i know Of the Hungarian algorithm which i think would work for this, I think the Gale-Shapley one would too and ive implemented that before for a class but it might not be the exact right usecase, that said i dont know how to implement either of them anymore bc i forgor

#

theyre both somewhere in a textbook i have lying around

indigo yoke
calm nebula
#

(sorry)

velvet narwhal
#

ooh shovel

indigo yoke
velvet narwhal
lucid iron
#

oh atra if i am port combined rings do i make fork or make new repo?

tiny zealot
#

Festival Placement Manager

calm nebula
vernal crest
#

We did in fact already have a festival placement thread but oh well lol

uncut viper
#

this isnt quite for festival placement collaboration

tiny zealot
#

that's about the spreadsheet and other concerns, right? whereas this one is specifically for a putative mod

uncut viper
#

but for collaborating on a mod that fixes NPCs that mightve never looked at the spreadsheet

#

and placed their NPCs without care for compatibility

devout otter
#

Before 1.6, it's not possible to edit shop portraits via Content Patcher. During 1.6 beta, it's made possible but not for all vendors. Then Pathos grachiously made it possible for all after I asked.

vernal crest
#

Ah I see. So you were still the driving force behind it becoming possible!

vernal crest
unreal spoke
finite meadow
#

Hello! does anyone know if we can still use the property FarmFishLocationOverride which was easily configurable in tiled in 1.6? tried everything but after first fish caught (sunfish, everytime) no more fish are in farm waters, only crab pots still work

velvet narwhal
finite meadow
#

yes it's an additional farm 😦

velvet narwhal
#

in your data/location edit you can put the fish list in:

for specific fish:

  {
    "Id": "Pufferfish",
    "ItemID": "(O)128",
    "Chance": 0.05,
    "Condition": "LOCATION_Season Here Fall Spring Summer Winter"
  }
],```

for the "area fish":
```"Fish": [
  {
    "FishAreaId": "Mountain/River/Ocean/Lake(?)", //i don't remember the locations for it you can also set to null to have all
  }
],```
finite meadow
#

So if I just want beach fish, can I just use the fish tag? regardless of the others?

velvet narwhal
#

if you put the fishareaid it'll only pull the ocean fish, yeah

finite meadow
#

trying now !

velvet narwhal
#

ah you might need the fishareas too, i have specific fish so i don't use it much

#
  {
    "Position": { null } //set to null to have anywhere, it's usually an x/y of width height
  }
],```
finite meadow
#

I was about to ask about the position thing

velvet narwhal
#

op, scratch that, data/locations is showing individual fish data

#
  "Chance": 1.0,
  "Condition": null,
  "Id": "(O)167|(O)168|(O)169|(O)170|(O)171|(O)172",
  "ItemId": null,
  "RandomItemId": [
    "(O)167",
    "(O)168",
    "(O)169",
    "(O)170",
    "(O)171",
    "(O)172"
  ],
}```
you can put this in the fish list, just add in any more fish that you want by separating them with the `|` and then put them into the randomitemid
finite meadow
#

i tried the first one you suggested with null , smapi didn't throw any error

#

I'll create new farm and test

velvet narwhal
#

no smapi error just means it's a valid command, but i think you'll still only get sunfish without the actual fish added data, never tested fishareaid though

finite meadow
#

didnt work lol

velvet narwhal
#

only sunfish with fishareaid?

finite meadow
#

/Fish/ { "Action": "EditData", "Target": "Data/Locations", "Entries": { "Farm_{{ModId}}/TinyBeachFarm": { "DisplayName": "{{i18n:ui.farm.name}}", "CanPlantHere": true, "CanHaveGreenRainSpawns": true, "FishAreas": { "TinyBeachFarm_Ocean": { "Position": {null}, "CrabPotFishTypes": [ "ocean" ], "CrabPotJunkChance": 0.1 },

#

im a noob in this btw c:

velvet narwhal
#
{
  "Chance": 1.0,
  "Condition": null,
  "Id": "(O)167|(O)168|(O)169|(O)170|(O)171|(O)172",
  "ItemId": null,
  "RandomItemId": [
    "(O)167",
    "(O)168",
    "(O)169",
    "(O)170",
    "(O)171",
    "(O)172"
  ]
}
],``` probably best bet then, you can get rid of the fishareas too
#

s'alright! there's honestly a lot of fields in data/locations that i personally haven't tested out SDVkrobusgiggle

finite meadow
#

still struggling lol

velvet narwhal
#
            "Action": "EditData",
            "Target": "Data/Locations",
            "Entries": {
                "{{ModId}}_TinyBeachFarm": {
                    "DisplayName": "{{i18n:ui.farm.name}}",
                    "CanPlantHere": true,
                    "CanHaveGreenRainSpawns": true,
                    "Fish": [
                        {
                            "Id": "(O)167|(O)168|(O)169|(O)170|(O)171|(O)172",
                            "ItemID": "null",
                            "Chance": 1.0,
                            "Condition": null
                            "RandomItemId": [ "(O)167","(O)168","(O)169","(O)170","(O)171","(O)172" ]
                        }
                    ]
                }
            }
        }```
#

why is there so much whitespace

#

you get the jist

finite meadow
#

trying SDVpufferdizzy

formal crown
#

SDVpufferthinkblob I don't suppose there's an item query that returns the input's ID for machines, right?

finite meadow
#

can't get command to work SDVpufferdizzy

velvet narwhal
#

can you upload your json?

#

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

velvet narwhal
velvet narwhal
#

ah sorry, line 23 should be ChuChu.TinyBeachFarm/TinyBeachFarm

#

there's an extraneous } in there

finite ginkgo
#

(isn't the location name of the farm always just Farm regardless of farm type)

velvet narwhal
finite ginkgo
#

Hm, weird, Shrug

velvet narwhal
#

it's also a lot of me throwing conjecture because the model in the unpack is, uh, unhelpful SDVkrobusgiggle

finite ginkgo
#

A custom farm type can use an entry identified by Farm_<Unique_ID> to change the location data of the farm when it is used.

Ah,

Prefix the key with Farm_

#

So

Farm_ChuChu.TinyBeachFarm/TinyBeachFarm would be the correct way

finite meadow
#

tyvm for the help, agian, trying right now SDVpufferdizzy

#

so I delete the

#

nvm 1 sec

#

idk what I'm doing wrong SDVpufferdizzy I used to just to do basic modding (basic manifest/content files for map farms, the rest was in tiled) but it kinda changed in 1.6, that fish tag changed, in 1.5 it still works. So, sorry for giving so much trouble, but this is the first time I'm trying a more ''complex'' file

hallow prism
#

that is ok, relearning stuff is hard

finite meadow
velvet narwhal
#

SDVpufferthink are all of your entry names the same

finite meadow
#

Moved it all the way to the bottom

#

cuz the one you posted was good but I was still getting sunfish, was reading the wiki and got through all these tags to be more specific except for the ''position'' thing I just put null there, since I don't want a specific area but is just not working SDVpufferdizzy

velvet narwhal
#

position is if you have multiple pools of water iirc

#

but if it isn't specified then it takes the whole map

finite meadow
#

I also tried; deleted the position tag and still didn't work

velvet narwhal
#

one sec, i'll throw it into vs22 using ender's prefix

finite meadow
#

ty for helping me. I am new with this. In 1.5 I updated the prev. version of this map with just tiled mostly, I am having an amazing time understanding this now..

velvet narwhal
#

do you want this updated to 1.6.8?

#

cause i have to change the format to reflect that

finite meadow
#

Oh, yeah I'm on the latest version so I suppose

finite meadow
#

My friend was the one typing the code, I was more about editing sprites, building maps, basic stuff. So you can see my notes are kinda.. messy, but I try hard, since he left long ago hehe 😄

#

I still use his name ChuChu for respect, but I should change it in a future

#

I like it regardless

velvet narwhal
#

s'all good! 1.6 was considered a "maybe" as a modpocalypse SDVkrobusgiggle

finite meadow
#

trying now

#

yeah he left before 1.6

#

yep, same outcome as your first command that somehow I managed to put right, even visible fish wont display any, and I catch trash after first uhh sunfish

velvet narwhal
#

welp i'm at a loss, it looks exactly the same as the example with the exception of the displayname, but that doesn't matter because that's just a string

finite meadow
#

i see theres a tag named

#

''FishAreas''

velvet narwhal
#

yeah, it's optional though, i don't have that in my own custom location

#

is the unpack lying to me, can i not format it like that

#

nope the 1-6-9 unpack has it too

finite meadow
velvet narwhal
finite meadow
#

trying 🫠

#

and the attempt #38 is......................!

#

I swear Im starting to hate sunfish now

#

neither :((

velvet narwhal
hallow prism
#

Maybe use visible fish for quicker test

finite meadow
#

visible fish is on. There's no fish cuz there's just trash 🫠

hallow prism
#

Oh

#

Oops 😄

#

I can try looking when at home

finite meadow
#

slowly dying 🫠

hallow prism
#

Did you patch export the data ?

#

(Not at home soon)

finite meadow
#

not sure what that is, I'm a newbie here !

#

well at least.. typing these jsons

wise berry
ocean sailBOT
#

A patch export makes a copy of specific stuff in your content folder so you can see what changes have been applied.

  1. Load up a save (with Content Patcher installed)
  2. Type patch export <FILEPATHOFTHING> in the SMAPI console and hit return
  3. Look in your patch export folder in the game folder for the relevant json file or image
  4. If it's a json file, you can share it via smapi.io/json. If it's an image you should just be able to look at it.
wise berry
#

I'm also pretty puzzled about it but you could try adding the "Precedence" field with a high precedence to see if that helps?

finite meadow
#

I'll try tomorrow, I really need to sleep. All I've tried ends up with the same outcome: as soon you fish your first time, you get sunfish, then only trash. Reload the map, and visible fish will display no fish at all in water, 100% trash rate. Not sure what's causing it

wise berry
#

Alright, have a good sleep!

#

I do wonder if it's not keen on the ID being identical to the "Default" entry

#

Haven't done enough locations to know if that matters though

candid pilot
#

over the past few days i've been playing around with modding and i'm attempting to make a content patcher thing based from a pre-existing mod (endwyr's dustynpc) but with some edits, for personal use - and after a long time of trying and retrying things i finally got bleakcodex's sprites in detail to work (i have no prior stardew modding experience so everything is an experiment lmao) to make a dusty sprite that wasn't squished, but i am having one probelm that i'm struggling to find any solution for or really anything about it

muted sable
#

I'm trying to randomize every marriage dialogue key. Is using random tokens for each entry okay or is there a better way to do it? I'm kind of worried abt the loading time.

velvet narwhal
#

using i18n

#

unless you meant that this is your i18n, then, that kind of makes it strange for translators if you ever get any

muted sable
#

I haven't really tried using i18n since i dont rlly think anyone would translate my mod SDVpufferflat

velvet narwhal
#

load times generally don't matter much in terms of strings anyway, iirc atra said that map loading is the most taxing

uncut viper
#

people translate small mods all the time, but also you can use it for things other than just literal translation- like randomization!

#

(also moog feel free to keep describing your issue, dont worry about interrupting!)

candid pilot
candid pilot
velvet narwhal
#

but yes, ex you can cause utter chaos in your i18n with randomization tokens:

"Rainy_Day_1": "{{i18n:Rainy_Day_{{Random:{{Range:0,4}}}}}}",
"Rainy_Day_2": "{{i18n:Rainy_Day_{{Random:{{Range:0,4}}}}}}",
"Rainy_Day_3": "{{i18n:Rainy_Day_{{Random:{{Range:0,4}}}}}}",
"Rainy_Day_4": "{{i18n:Rainy_Day_{{Random:{{Range:0,4}}}}}}",```
muted sable
uncut viper
# candid pilot (thanks, i wouldnt want to cut anyone off or anything haha)

multiple convos happen in here all the time, its normal! that said, it is also about 6am EST, so not many people may be around right now, and less that know about how Sprites in Detail works (like me, for instance. iunno how it works. i can give it a lookover right now to see but i cant make any promises!)

#

!json in the meantime moog can you post your content.json in this uploader and send the link here?

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.

velvet narwhal
#

(but as an fyi, those indoor_day_# are already randomized through the game logic)

muted sable
velvet narwhal
#

randomization key lets you go to however many you want

muted sable
#

yeah it gets very repetitive

velvet narwhal
#

"{{i18n:Rainy_Day_{{Random:{{Range:0,99}}}}}}", if you were so inclined

#

just in your i18n folder/default.json you would have those distinct keys of ending in whatever number and wherever you placed it

muted sable
candid pilot
#

i actually hadnt put any of this stuff through a json validator or anything before this so this is the first i'm seeing of the occasional error it points out, i wonder if thatd have anything to do with stuff

muted sable
uncut viper
candid pilot
#

(also here's where he is displacement-wise for context)

candid pilot
velvet narwhal
#

oh i think that's a SID problem

#

uhhhhhhhhh is it data/characters

#

you might have to change the mugshot reference

uncut viper
#

i meant the content.json for your mod!

candid pilot
#

one moment

velvet narwhal
#

all dogs go to heaven plays bass boosted in the back of my mind

uncut viper
#

well re: the errors at the top, thats just bc it expects the content patcher format, but they dont matter here since Sprites in Detail uses its own format so dont worry about those, though you cant use Action or Priority fields for a Sprites in Detail content pack

old edge
#

Seems like this issue goes way back

uncut viper
#

are you 100% sure the spritesheet is made correctly for SiD? if it is, have you checked that it looks right in game? it might just be on that screen there in the social menu, which means it might just be that mugshot thing avi mentioned

candid pilot
candid pilot
#

and it looks the same in game as him in the social menu

uncut viper
#

what does your Dusty.png look like? the one you made, not from the original mod

candid pilot
velvet narwhal
old edge
#

He needs to be lower

velvet narwhal
#

mugshot is for calendar, so that isn't it

candid pilot
old edge
#

Dog

velvet narwhal
#

i was trying to find the old conversation about it lmao

old edge
#

Floating like Blaine

candid pilot
# old edge He needs to be lower

yeah, thats something i'll fix in the sprite sheet by shifting him down - it was hard to work out the correct place for him when he was flying haha

velvet narwhal
#

well each "sprite" will then be 64x128
so then you'd have to do a (64x4) width
4 for each vanilla "frame"

uncut viper
#

the sprites need to be aligned to the bottom center of their slots in the spritesheet, apparently

#

idk the documenation for SiD isnt the best so i barely understand what you need to do or why lol

velvet narwhal
#

same, tbh

uncut viper
#

are you actually going to make use of the higher resolution sprites SiD allows you?

candid pilot
candid pilot
uncut viper
#

if you're making it wider than 16px that is still a higher resolution, so yeah SiD is still needed then i spose

candid pilot
#

yeah

velvet narwhal
#

unless dusty doesn't move, then you can just use the standard data/character to make the 'size' bigger SDVpufferthink

candid pilot
velvet narwhal
#

oh pathfinding will hate anything wider than 16width then

candid pilot
#

i'm pretty sure with SiD the 'hitbox' isnt affected

uncut viper
#

content patcher wouldnt let you extend the spritesheet to the right anyway

candid pilot
#

so currently he seems to be appearing fine in the game but he's just flying in the social menu

#

i'm going to read through the older convo about this because i think that person's problem was solved

uncut viper
#

i wish you the best of luck cuz iunno how to solve it and i need to sleep. godspeed SDVpufferheart

candid pilot
#

go sleep, and thank you for all the helps

#

: )

brave fable
old edge
#
InvalidOperationException: There was an error generating the XML document.
 ---> InvalidOperationException: The type customcode.customlavalogic was not expected. Use the XmlInclude or SoapInclude attribute to specify types that are not known statically.

After some extensive research I found this...That's an error when the game tries to write the save file. Mods need to remove any custom data types from the world before it saves, but it looks like the game isn't removing a type it added for some reason. I don't recommend using Save Anywhere, which can cause issues like that since it changes the save/load process.

#

I can confirm after removing saveanywhere mod my custom map type is registered to spacecore and the game saves now. The culprit save anywhere.SDVpuffergrimacing

rancid temple
#

That's unfortunate, I knew Save Anywhere could cause problems but not that problem lol

#

Also lol, Save Anywhere's page has just become essentially a redirect to QuickSave

spice inlet
#

The games XML serializer has specific lists of types it supports. Before saving any non supported types need to be removed.

royal nimbus
#

finished the last of the character sheets i needed to do so yay. that much closer to finishing my mod :3

#

love this emote lol

#

gonna work on map art today and trying to get it to work

mortal stag
#

@wanton pebble would you be able to go through that winter star compatibility thing on voice chat? I've been super busy and not able to wrap my mind around the difference but maybe we could take it out in a few minutes together

unique sigil
#

@spice inlet helloo, pardon the ping. i want to ask about the DLX.PIF_EnableFridgePlacement map property; i can't seem to be able to make it work in my PIF rooms, it always gives an "unsuitable location" notif in-game when i try to place a mini fridge.

i've placed it in the tiled map properties, as instructed in the documentation. is there like a prerequisite condition i missed? do players have to finish the quest that first gives them the minifridge to unlock this function? thanks in advance!

calm nebula
#

In 1.6.9 you can use AllowFridge

unique sigil
tender bloom
#

It has a predicted release date afaik same time as mobile?

#

Nov 4th according to CA Twitter

#

Ok I found the tweet and I guess it doesn’t say 1.6.9

#

But I believe it’s likely

#

It’s true that it’s not out yet

rancid temple
#

The latest mod stats Pathos posted says Nov 4th

#

It does link to that tweet

#

You can also make a beta build for your mod, if you have the game on Steam there's instructions in the pins for joining the beta

#

A few C# mods you depend on might be wonky, so I dunno if I exactly suggest it right now

hallow prism
#

@tiny zealot thanks for fixing the revealtaste parsing, i just used that in latest VMV build (and quite honestly forgot to ask if it was me formatting it wrong or a bug 😄 )

tiny zealot
#

oh, of course! i was embarrassed to find it when i was testing my current shitpost mod 😅

#

it was working when generating the hover text for the notes, but actually opening them was not

lucid iron
#

i think ppl should stop using json assets, maybe LilyDerp

humble timber
#

....what are people still using JA for

lucid iron
#

old not updated mods i guess

humble timber
mortal stag
#

it is necessary for some production methods. i had to use it for one of my mods

#

something about using a different fuel source on the same machine

#

is not possible without it still

hallow prism
#

i am surprised, that doesn't sound like JA

#

that sound like PFM

lucid iron
#

yea please yeet PFM too no shade against digus but i dont wanna make support for that

mortal stag
#

sorry

#

you're right

hallow prism
#

i use EMC for that personally, i find it more convenient since it's optional and CP side

mortal stag
#

that was PFM. i don't use JA for anything

spice inlet
#

You might have to update

hallow prism
unique sigil
lucid iron
#

i was push a hotfix to my mod because some machines have null Id in their output and trigger models bolbthinking

#

unsure how that could happen

tiny zealot
tender bloom
#

I think people are still using frameworks because they learned it and understand it

#

The screenshot there looks like mandarin

hallow prism
#

yeah non english can easily be explained by more examples/doc in their main langage 🙂

tender bloom
#

And there aren’t many guides that are translated

tiny zealot
#

and documentation on the new stuff is not as readily available in other languages

lucid iron
#

what if i translate content patcher docs to chinese

tender bloom
#

I really don’t begrudge anyone the continued use of frameworks, as long as they still work

lucid iron
#

but hm im not sure how to spread it

tender bloom
lucid iron
#

not on any chinese social media kyuuchan_run

tender bloom
#

Since CP doesn’t explain the new formats

lucid iron
tender bloom
#

I’m not actually sure whether the Chinese Stardew community uses the wiki

#

I’ve got the impression that most modding pages aren’t translated into anything

lucid iron
#
Stardew Valley Wiki

模组是改变星露谷物语的文件包。模组可以添加功能(例如在地图上显示 NPC)、改变游戏机制(例如让栅栏腐烂得更慢)、进行外观更改(例如让你的房子看起来像霍比特人的家)等等。

brittle pasture
#

Personal anecdote, but I have a surprising number of Chinese EMC users even though I don't translate my docs

tender bloom
#

Someone else might have translated them if they liked the mod enough

brittle pasture
#

they even use features that only exists in documentation (as in no other mods use them yet)

#

yeah

lucid iron
#

programmers tend to learn english against their will

tender bloom
#

My understanding is that Chinese social media is pretty opaque to us but contains lots of tips for Stardew modding

#

I’ve seen new Chinese mods adopting furniture framework, for example

lucid iron
#

this server is sorta opaque to the general public too, since discord isnt indexed by google

tender bloom
#

True true

#

I think we do tend to store stuff on the wiki/modding wiki/github docs though

#

Like we used use the quotes system a lot, but most stuff either got moved to commands or if it was long into the wiki

#

(I remember the days before we could make commands!)

brittle pasture
#

I miss forums
I know theyre still around but thats not where the ppl are

tender bloom
#

I’ve looked at them a couple times but something about them just didn’t click for me

#

I know some people here are on the forums too

brittle pasture
#

(oh hey chue I saw the machine mod is out. congrats! also how dare you use the same hotkey as my toggle items mod)

lucid iron
#

u can unbind it actually

#

there's a button in gmcm to open the menu with

brittle pasture
#

I'm surprised not many other mods use Q, it's soooo convenient

#

I know, that was 200% a joke 😆

lucid iron
#

Q is my put weapon away button in most games

rancid temple
#

Q is drop for me usually lol

lucid iron
#

tbh i feel like most people should actually just

#

unbind the button

brittle pasture
#

I think the conflict is completely fine as long as the user is not holding butter/olive oil/basil in their hand while setting machine rules

lucid iron
#

since this is kind of thing you set once and forget blobcatgooglyblep

#

but having some default setup reminds them the setting exists

vernal crest
#

I just had a terrible situation yesterday where my tilde key was the DebugMode toggle key, the Ladder Locater "force shafts on" key and the Fast Forward "go 7x" key. And I accidentally hit tilde all the time.

#

Turns out my computer can't handle 7x speed

brittle pasture
#

anyway I was working on the attack goose feature last night, and unfortunately reusing the "baby ducks follow mama duck" feature isn't responsive enough for the intended effect
so I'm just going to set their pathfind controller to attack a nearby farmer immediately. That does mean the animal will ignore eating grass if they spot a farmer in their vicinity, but that's fine right SDVpufferclueless

rancid temple
#

I mean, it seems right at least lmao

brittle pasture
#

food? nah, violence

rancid temple
#

I'd be needing a butcher mod, personally

brittle pasture
#

that's Animal Husbandry

vernal crest
#

I would expect a goose to ignore food in order to attack, yes.

lucid iron
#

just let goose zero in on farmer position no path finding required goose is unstoppable

clever sinew
#

If LittleNPCs adds two content patcher tokens and The Farmer’s Children fleshes them out, can I in theory frankenstein another content patcher token for a third child from polyamorysweet? Or would that not even work (i’m sure it would be a lot of effort, but)

lucid iron
#

does the game let you have 3 babies?

calm nebula
#

I mean, yes and no.

#

Vanilla no but many mods do

ruby rapids
#

Urg... I am trying my first attempt at making a CP mod... It's not going well. I can't figure out why it won't replace the portraits.

#

I am trying to replace Passerby Cemetery portraits with the ones I made. I am not getting any errors once I load.

#

pulls out hair while staring at the code

hallow prism
#

a patch summary may be helpful

#

i suggest also providing here the log and json

#

!patchsummary

ocean sailBOT
#

Can you do these steps to provide more info?

  1. Load your save and view the content that should be patched.
  2. Type patch summary directly into the SMAPI window and press enter.
  3. Upload your SMAPI log to https://smapi.io/log (see instructions on that page).
  4. Post the log link here.
hallow prism
#

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

final arch
#

if it works try the modded ones again

ruby rapids
#

There are no errors with the Json file. I double checked with the smapi.io/ json. I am loading my file to get the patch summary.

rancid temple
#

If you share the link at the top of the validator site we can also see the code to see if there's any obvious issues

ruby rapids
vernal crest
#

It doesn't have to have errors to not work - the validator is just checking if your syntax is correct, not whether it is targetting the correct files etc

ruby rapids
#

It will take a little bit to load because I have too many mods. 😅

vernal crest
#

Okay unless Clown has really changed approach between AND and PC, you should be targeting just "Portraits/FC.Boxy" not "Assets/Npcs/Portraits/FC.Boxy" and so on.

ruby rapids
#

Ahhh... I see. Let me try that.

#

(Btw, thanks for helping me with this.)

vernal crest
#

You're welcome. It's a distraction from trying to learn colour theory lol

tiny zealot
#

hey does anybody know how to do a spoiler embed? my new mod's nexus thumbnail is technically a 1.6 spoiler (extremely minor) but i'd like to post it in modded-farmers

rancid temple
#

If you look in [CP] PC Content/Data/Technical/Loadables.json you can find the targets being used for the portrait loads

ruby rapids
#

I am creating Nyapu style retextures for PC and instead of replacing the images every time he uploads I wanted to create a CP to save me time and hassle.

rancid temple
#

Dunno if spoilering the link will spoiler the embed

vernal crest
rancid temple
#

Looks like it just kills the embed

tiny zealot
#

hmm ok, thanks

calm nebula
#

Yeah just kill the embed

#

And add a picture yourself

#

As a spoilerrd picture

tiny zealot
#

atra with the smarts. thanks!

#

(i'm pretty sure the showcase won't spoiler it, but that's fine if memory serves. i only want to follow the rules about modded-farmers)

lusty halo
#

Anybody knows if the fumes for the wizard_furniture cauldron are hardcoded, or can they be recolored with Content Patcher (and if yes, where are they located)?

calm nebula
#

Hardcoded

#

Very hardcoded

drowsy hemlock
#

Does anyone know of any mobile IDEs for creating mods? 🥲

lusty halo
#

I suspected. 🥲 Ah well, no pastel potion I guess. Thanks for the info! SDVpufferheart

brittle pasture
#

I suppose you can do pixel arts on mobile

#

many does it

ruby rapids
#

Urg... The CP thing is still not working. Even after I changed everything to "Portraits/FC.Boxy" not "Assets/Npcs/Portraits/FC.Boxy".... It didn't work. Sigh... I am trying to figure out how to use the patch summary. Once I type patch summary it print out a TON of text in smapi. When I tired to copy and paste that into smapi.io/log it told me not to copy and paste what is printed by the console... what am I doing wrong here?

brittle pasture
#

and then copy it to PC to make the mod

lucid iron
rancid temple
ruby rapids
#

Ah thanks Chu/e. Yes, I made it dependent on PC.

rancid temple
#

Are you testing one NPC in particular or several?

ocean sailBOT
#

Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on Microsoft Windows 10 Home, with 87 C# mods and 297 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

ruby rapids
#

I am testing several. Would there be an issues if I don't have a valid Update Key?

rancid temple
#

Nah

tiny zealot
#

that only matters when you publish

vernal crest
#

All of your ones with doubles aren't going to work, by the way. Like this one. You can't specify multiple files in FromFile.

    {
      "Action": "EditImage",
      "Target": "Assets/Npcs/Portraits/FC.John",
      "FromFile": "Portraits/FC.John/FC.John_Spring.png, Portraits/FC.John/egg festival.png"
    }
ruby rapids
#

@vernal crest Ah okay, darn. Well just means more code.

rancid temple
#

You can just leave UpdateKeys blank

ruby rapids
#

@rancid temple Okay, wasn't sure what to do with that one.

#

Thanks

rancid temple
#

Think manifest is fine otherwise

#

None of the patches are applied, but I often find summary is wrong about that

vernal crest
#

I think portraits only apply when you talk to the NPC. Not sure though.

rancid temple
#

Or maybe it's that whenever I'm doing the summary it's not applied but when I export then it applies them

vernal crest
#

Do EditImage errors happen if the FromFile is incorrect? I'm guessing not since it didn't complain about the doubles? Or is it just that it ignores the second one?

rancid temple
#

I think it uses the last one listed

tiny zealot
#

although during the 1.6 alpha i had a similar issue where patches wouldn't apply even after loading, but export still saw them. that was due to missing asset propagation in (SMAPI or CP, i forget which), which was later added

calm nebula
#

Smapi but it should be in for here

rancid temple
#

Could share a screenshot of your working directory

calm nebula
#

Make sure target is correct

ruby rapids
#

Sorry, since I am a bit of a newbie on this coding scene I only understood half of what you all are talking about. There are no errors and only the stock portraits load. Are you saying that it's the order in which the files are loading?

rancid temple
#

The lack of errors means your FromFiles are probably fine though, at least it's finding something for all but one of them

vernal crest
calm nebula
#

The file ending feels like appearances

rancid temple
#

Though this is one of the problematic ones that is editing multiple images onto one base asset

calm nebula
#

Make sure the target is right

rancid temple
#

Oh yup

vernal crest
#

I don't know how internal asset key works.

{
"ID": "spring",
"Condition": "SEASON Spring",
"Portrait": "{{InternalAssetKey: Assets/Npcs/Portraits/FC.Alan/FC.Alan_spring.png}}",
"Sprite": "{{InternalAssetKey: Assets/Npcs/Characters/FC.Alan/FC.Alan_spring.png}}"
},
rancid temple
#

All these appearances are internal asset keys, ew

calm nebula
#

Yeah

#

Not going to get edits there

#

Gotta edit the data for it

vernal crest
#

That's suddenly a bunch more work. I wonder why he did that.

rancid temple
#

What was even the point of loading the portraits/sprites if they weren't going to use them lmao

#

The only reason I can think of readily is to keep people from easily being able to change them

ruby rapids
#

So I am guessing the "internal asset key" is the issue.

vernal crest
#

Or that someone else at some point did that and Clown copied it without knowing what it was for

velvet narwhal
rancid temple
#

If you want to make it as easy as swapping the images in your own mod, you have to make edits to every NPC to change the Portrait and Sprites for all the Apearances to use regular Targets

drowsy hemlock
rancid temple
#

Otherwise your only option is to manually replace every image in the original mod

brittle pasture
ruby rapids
#

@rancid temple So replacing the portraits physically is going to be the easier option then? Because that was what I was doing before.

rancid temple
#

I mean, as long as you aren't doing it super often anyways

#

If it's something you have to do frequently, setting up your mod to fix the issue would be better long term

#

You could also try nicely asking the author to fix it lol

ruby rapids
#

@rancid temple 😅 He updates like... every week. So it's been a pain... How do I go about making edits to every NPC to change the Portraits the Apearances to use regular Targets? Do I need to do come C# for that?

rancid temple
#

Big mods like this, I wouldn't be surprised if the answer was no though

velvet narwhal
#

SDVpufferthink I only see fellow in here on bugfix binges and blue moons

rancid temple
#

No you can do it all in CP, it's just also a pain in the ass

ruby rapids
#

@rancid temple LOL

vernal crest
#

I've just asked him about it so hopefully he can give some insight on it at least (if he feels like it).

brittle pasture
#

basically instead of updating one image asset you just update every spot that uses said internal asset with your own

calm nebula
#

Oui

ruby rapids
#

Looks like I picked on heck of a first CP mod to work on. Well it's nothing like a hard project to teach me the ropes.

tiny zealot
vernal crest
#

Do you know why SinZ recommends that?

rancid temple
#
{
  "Action": "EditData",
  "Target": "Data/Characters",
  "TargetField": [
    "FC.Boxy",
    "Appearance",
    "Fellowclown.PC.Boxy_spring"
  ],
  "Entries": {
    "Portrait": "",
    "Sprite": ""
  }
}
#

So the only issue with doing it like this is that not all the seasons have been loaded, so you'd probably be best off just using your own Target instead of switching these to theirs

tiny zealot
rancid temple
#

I don't know what else isn't loaded either, the load json is a mess

#

Instead of one big load up top it would only need to load whenever you talk to the NPC I guess

#

But does it cache it?

vernal crest
#

Hmm. With SinZ's mods that makes sense but as soon as you make a mod with objects, NPCs, maps, etc you're potentially going to have plenty of people editing your assets.

ruby rapids
#

@rancid temple Thanks. I'll mess around with the code and try to figure it out.

tiny zealot
rancid temple
#

You'll need to check each NPC's data, listed as Dispositions.json in their files

ruby rapids
#

I apperciate everyones help on this btw.

rancid temple
#

To see which things are set to internal asset keys and need to be switched to regular targets

#

Aside from making replacing textures a pain, my only real issue with internal asset key is that it using the path to the file seems like it'll confuse people who don't understand the difference between file paths and asset names

velvet narwhal
rancid temple
#

One extra step per internal asset key usage lol

#

Which often equates to an entire patch block for a TargetField specifically changing one or two fields

vernal crest
#

So am I right in thinking Nightmaresky could just skip Loading anything by editing the appearance data to point to their own internalassetkey instead?

rancid temple
#

Yeah, they could do that, continue the chaos

#

At least, I think so, it's a CP token so it should get evaluated from the mod that adds it

calm nebula
#

Inb4

golden basin
#

👁️👁️

calm nebula
#

Making {{internalassetkey:othermod/their/path.png}}

golden basin
#

What's goin on

rancid temple
#

Someone trying to replace your Passerby Cemetery portraits with some Nyapu-style ones but using internal asset key in the appearances is making it more difficult

vernal crest
#

Nothing you have to action, Clown, I was just curious about your use of InternalAssetKey because it's unusual and we spent a while trying to figure out why Nightmaresky's edits of the portraits weren't working before Atra said to check Appearances.

golden basin
#

I could change it I just need to be taught how to do so

rancid temple
#

In order to change it you would have to Load all your portraits and sprites and then use the Targets you establish for them in the Appearance field instead of the InternalAssetKey tokens

velvet narwhal
#

i can't think of places of use cases where you wouldn't want an outside source to edit assets tbh? SDVpufferthinkblob maybe that's just because i'm like "yeah my color theory is garbage and sometimes people just want a specific artstyle"

vernal crest
#

I also want it to be as easy as possible for other people to edit my mod assets - especially since a lot of the more art-focused mod-makers are less comfortable with the json side of things.

rancid temple
#

I think it's entirely up to the author if that's what they want to do

#

Obviously there's no way you can stop people from being able to change your mod, just make it more difficult

velvet narwhal
#

yeah i'm not all too interested in gatekeeping personal edits, make the Jwizard of your jreams

rancid temple
#

When it comes to the scale of an expansion mod, I can understand the appeal of the InternalAssetKey for cutting down on load time

velvet narwhal
#

i did contemplate it when reading through that conversation, but then the lingering thought above it was: "but what if someone likes daisyniko tilesheets?"

#

"my art style is never 100% vanilla compliant, and i never plan on being so because the dithering will kill me" so y'know, overhead warning that my expansion will just Not Be Load Friendly If You Have More Than One ™️ it's already not load friendly

rancid temple
#

Yeah, generally speaking I don't expect expansions to load quickly

#

As long as it doesn't crash, I don't care lol

vernal crest
#

So if Clown wanted to keep using InternalAssetKey, could he yeet most of those Load code blocks in Loadables.json?

golden basin
#

I can yes

rancid temple
#

I think those are for the initial set up of the characters

golden basin
#

but i want to switch for users who want to make portrait mods

rancid temple
#

Because the game itself pulls from those portraits and sprites before the appearance system kicks in

golden basin
#

so I need to load every character asset and use it in appearance?

vernal crest
#

Ah. See this is why I said to come talk to the experts lol

#

(He means if he stops using InternalAssetKey)

golden basin
#

thank you ❤️

#

im not too good with words honestly

rancid temple
#

Yeah, so if you have FC.Boxy_spring.png, _fall.png, etc you would need a Target for each one

vernal crest
#

No you're fine it's just the others aren't in your thread so they haven't seen anything we've just said to each other haha

velvet narwhal
#

i assume there's already the load action yeah?

                    "Id": "{{ModId}}.EdelweissSeungLSpring",
                    "Condition": "SEASON spring",
                    "Sprite": "Characters/EdelweissSeungL_Spring",
                    "Portrait": "Portraits/EdelweissSeungL_Spring",
                    "Precedence": -100
                },```
you'd just be pointing to the thing you'd loaded in appearances
golden basin
#

I have 19 npcs is there a way to load the assets on a single entry

vernal crest
#

You could make use of the season token in the Load, I think.

golden basin
#

does the old way still work???

rancid temple
#

I'm not familiar with the old way

velvet narwhal
#

old way is for initializing them in general, appearances just give them seasonals/other outfits iirc SDVpufferthinkblob

vernal crest
#

Like this?

 {
"LogName": "Base Portraits and Characters seasonal",
"Action": "Load",
"Target": "Portraits/FC.Jinx_{{season}},Characters/FC.Jinx_{{season}},pretend the rest of the NPCs are here",
"FromFile": "Assets/Npcs/{{TargetPathOnly}}/{{TargetWithoutPath}}/{{TargetWithoutPath}}_{{season}}.png", 
 },
golden basin
#

my characters have winter outfits

#

but my character dont have every season

#

that entry would make it need every season

vernal crest
#

Ah if they only have two seasons that wouldn't work, no

velvet narwhal
#

unless you made a dynamic token

#

like "TwoSeasons"

rancid temple
#

Is it just some of your characters that don't have all the seasons?

golden basin
#

3 npcs have seasonals the rest do not

#

I really dont think this method yall are suggesting is intuitive though?

#

its not really that much more work to target the appearance data is it?

rancid temple
#

For you, it's a lot more work to make the switch now that you've already got your InternalAssetKey's set up, for sure

#

But for others, every InternalAssetKey that they have to contend with means roughly one patch block to target just that to change it

vernal crest
#

If they even understand what it is or how it works in the first place, which is unlikely, I suspect.

rancid temple
#

So as to avoid wiping your whole character from existence

golden basin
#

I am willing to change it i just am struggling to understand i guess, I need to load every since character asset yes?

#

So I need to rename a bunch of things too

rancid temple
#

Your Target's should be named such that their difference is apparent, I don't believe it would require any renaming

golden basin
#

my festival stuff is all name the same just seperated by folders

velvet narwhal
#

oh that's fine

golden basin
#

but i have to load each asset? if its all the same names how will that work

finite ginkgo
#

You don't have to strictly follow the Portraits/x (or characters/x) and stuff format for the appearance data texture assets; you could do like Portraits/FlowerDance/x

golden basin
#

how would i set that up

rancid temple
#

Yeah the initial load you're doing for the base sprite and portrait can remain the way it is

finite ginkgo
golden basin
#

is there a mod i can look at i need examples to learn

rancid temple
#

Hm, do Targets accept spaces?

velvet narwhal
#

for portrait change calls in events, it hates it

golden basin
#

okay so I dont actually need to use the appearance entry in my dispo i can load my stuff the old way and it work

rancid temple
#
{
  "Action": "Load",
  "Target": "Portraits/FC.Alan/FC.Alan_spring, Portraits/FC.Alan/FC.Alan_winter, Portraits/FC.Alan/Festivals/flowerdance, Portraits/FC.Alan/Festivals/spiritseve",
  "FromFile": "Assets/Npcs/{{Target}}.png"
}

Trying to come up with this without testing is uh, potentially a problem lol

velvet narwhal
#

i honestly can't wrap my brain around the festival-as-same-name right now cause i just woke up

golden basin
#

i mean yall are welcomed to mess with my code im fine with the help if it helps others

velvet narwhal
#
  "LogName": "Load Lance's Outfits",
  "Action": "Load",
  "When": {
    "Portraits": "Aviroen Style, GoodnightLou (Nyapu), SVE, Vanilla Compliant"
  },
  "Priority": "Low",
  "Target": "Portraits/Lance_Spring, Portraits/Lance_Summer, Portraits/Lance_Fall, Portraits/Lance_Winter, Portraits/Lance_Winter_Outdoor, Portraits/Lance_Winter_Indoor, Portraits/Lance_Flower, Portraits/Lance_Spirit, Portraits/Lance_Beach, Portraits/Lance_Wedding, Portraits/Lance_Xmas, Characters/Lance_Spring, Characters/Lance_Summer, Characters/Lance_Fall, Characters/Lance_Winter, Characters/Lance_Winter_Outdoor, Characters/Lance_Winter_Indoor, Characters/Lance_Luau, Characters/Lance_Flower, Characters/Lance_Spirit, Characters/Lance_Beach, Characters/Lance_Xmas",
  "FromFile": "assets/{{TargetPathOnly}}/Lance/{{Portraits}}/{{TargetWithoutPath}}.png"
},```
i have 4 different art styles and it pulls from configs this way with the folders named appropriately
vernal crest
#

Sorry that I have disappeared. It is 5am and I would only make horrible mistakes if I tried to help.

golden basin
#

yeah so yes id need to rename my festival assets

velvet narwhal
#

this is trunicated to have appearances alongside it

#

you can have the when condition on your portrait loads for festivals

rancid temple
#

I'm uncertain if the Target allows spaces and apostraphes so I removed them, but if I could test right now I would check

velvet narwhal
#

they'll just look that way for the entire day rather than only at the festival

golden basin
#

i think i haver a problem with that tho

velvet narwhal
#

i can pull up your mod and check through since you don't mind

golden basin
#

i dont mind it at all

rancid temple
#

I need more examples of people using StardewUI, chu/e is too advanced for me to learn from lol

velvet narwhal
#

man, vs22 does not like your fancy comment blocks 😂

rancid temple
#

Hm, I wonder if I've already stifled that, mine doesn't complain about comment blocks