#making-mods-general
1 messages · Page 48 of 1
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
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.
You're loading Portraits/Suki multiple times. I think that just makes CP ignore all of them?
someone correct me if that's not the case
ah perhaps. i deleted the code tho. i just decided im going to move on to something else.
@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
its not released but i can make them an alpha build to try if they r interested
sample content pack https://github.com/Mushymato/TrinketTinker/tree/main/[CP] Trinket Tinker Examples
when i paused work on this i was unsure about how to make smooth transition between motion states
is there a comand i can put into the debugger to export a list of the animals i can get from marnie?
patch export Data/FarmAnimals
Then check the created file in a folder named patch export in your SDV directory
yep 🙂 thanks. just couldnt figure out which patch command to use> 🙂 thanks. trying to plan out my farm's coops/barns/hutches woo!
//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?
change sunny -> sun
yes
see https://www.stardewvalleywiki.com/Modding:Game_state_queries#World for reference
Thanks Selph
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'.
did you use stardewxnbhack 1.1.0
I used the beta you're right let me fix that X(
should we make a bot command for it at this point
tbh i dont understand how people are managing this
maybe if we can make that a blingee
Revive <blink> just for this
perfecto
hold on i didnt get the gif version
Too hard to read, I'd just ignore that even more
the lower one in particular I definitely can't read
is there a spot that shows what the data options are?
tiled is a nightmare to use. it alone makes me want to give up on trying to edit room textures .-.
if you're only doing textures you don't need to even use tiled
this is gonna be my worst nightmare lmao. all those clothes i need to make x_x and that's just pants. lol
thats amazing to kno ;o;
just turn that black and white ez
pants are a special kind of hell
you might want to use fashion sense instead of dealing with vanilla
I recommend shirts
lmfao yeah
shirts are cute and small
im gonna start with hats xD
pants not even once
I wrote a horrible giant python script to try to tackle pants
x'D
I think it needs some more fixes but I've been too busy
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
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 🙂
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#
you could make it repairable by a map patch sorta
There might be like, a spacecore feature I'm forgetting or something
if its not a farm building
https://www.nexusmods.com/stardewvalley/mods/17265 this one should let you make repairable things like bridges
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.
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
You can go the SVE route
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
Of just making map patches and having a special order attached
I liked that in general
would this work if it went on the new map I was adding
https://stardewvalleywiki.com/Modding:Blueprint_data this is the docs about buildings — you can make level 1 not show up as buildable but level 2 show up a robin's, it looks like
maybe? i'm not super familiar with the features
https://stardewvalleywiki.com/Modding:Maps#Building_construction these are the map properties to reference about allowing buildings somewhere
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
Is there a mod where u can Mary Kent?
Oki ty
Why is everyone so obsessed with marrying Kent lately
It used to be people really wanting robin or caroline
maybe its just taken this long for a lot of people starting at 1.6 to get to year 2
Hmmm
Robin and Caroline have been the go-to for too long, need that new blood
What is the usual rate of play for people
Personally, i want to date the cart lady
Not marry her though
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 
steam achievements rate can probably help. though those are added only relatively recently
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
Mr. CA please let me date the cart lady
so iunno why kent is so popular
when is atra gonna release their cart lady romance mod
the same reason Shane is so popular
i dont know why shane is so popular either
Never
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
just have it overflow and wave around l;ike the end of day profit screen
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)
(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—)
Robin is married
The "I can fix him" trope is very popular, for some reason
also no one can surpass Thirteen in my heart
Yeah but it's to Pierre, so
Caroline may not be happily married
We dont acknowledge Pierre's existence in this house
I don't remember any events with Demetrius involving a secret he's hiding from his wife, after all
My personal headcanon is that those are girly magazines or weed tbh
I was thinking money, because it's Pierre
From my experience with (admittedly not that many) fandom there are two character archetypes that suck people in like black holes - sad men, and badass women
I'm more favorable to Pierre than most. I sorta see him as fiscally insecure more than anything else
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
Yeah
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.
(Thirteen?)
Damn it; I had another Thirteen in mind that I was hoping you were referring to 😔
I wanna marry Robin! Might make a mod of this; she and Demetrius remain friends, she still goes to work in the carpenter shop… prolly could use the SpaceCore to make ignore marriage schedule…. (I luv Space Core!!!)))
I feel like I'm playing Clue. Is your Thirteen an android?
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
what kind of mod do you want to make
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
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:
-
Tiakall has a great tutorial on making a custom NPC for 1.6:
https://stardewmodding.wiki.gg/wiki/Tutorial:_Making_a_Custom_NPC -
Custom NPCs received many improvements with 1.6.
https://stardewvalleywiki.com/Modding:NPC_data -
Aviroen has put together a template that will allow you to easily create a romanceable NPC:
https://stardewmodding.wiki.gg/wiki/Npc_template -
Feel free to jump into the https://discord.com/channels/137344473976799233/1277457201077813280 thread for more interactive feedback and help!
If it's NSFW, don't discuss that aspect here, but otherwise, feel free to check in on the NPC thread ^
the 1st and 3rd links are practical guides to the mechanics
for artsy stuff you can ask in #making-mods-art
No it's not NSFW, I'm not interested in anything like that
Figured I would mention just in case as that's really the most likely case to cause any issues here.
Even of it isn't NSFW, I'm afraid it might still cause a potential issue
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 🙂
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
its up to you to set boundaries
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
i got no strong opinions about what other people make creatively 
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.
but if you want detailed help we will ask you to post your content json and logs eventually
Let's be frank. There are way too many furries in this channel for anyone to be mean to them
Very true
Now, if you're porting some anime character...I kid I kid
we have a wide variety here 
i'd be surprised if atra knew any currently popular anime characters
Even if atra did, they'd still ask you who that is
Don't recall
I know exactly who atra means if that helps anyone feel better xD
It's debatable whether or not you can consider Avatar anime too lol
Technically it's a cartoon
banned
But it is animated, so I'm willing to let it pass
I thought I did
The other anime I know about is... ||paparika||
Technically, the French word for cartoon or animation is anime, so if it aired in French it could count there >_>
I noticed the virtual currency I added wasn't causing it to appear, not sure if I did something wrong there
Hmm, how did you obtain it?
Done both through C# and by giving it to me in CJB

Having trouble registering a serializer type for custom map. I have the correct methods implemented but still getting Error it's not
Nope :p
Thanks. I'll try my best but my track record is horrible, I might say something wrong even if I don't realize it
Says I'm missing XML include or soap include? But I have it
i think we finally found something atra knows more than i do
Oh my fucking god
Did you not watch that anime
That's the One Anime I was forced to watch at you know where
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
A mindfuck of an anime I do not understand
hahah
I have never even heard of this anime before now lmao
Did you use XmlSerializerType?
And have you registered it with spacecore
I believe so the map logic works but when save i get a red wall of text
The game will always load your custom type but if it's not registered properly with spacecore, it will die when saving
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. 
children superheroes, they're on a boat i think, and ???
Brb making an anime mod just so tiakall has to watch a new one
Can I send you my code when I get home?
if you post github link it's easier to take a look
sadly ive never registered anything with spacecore though
Sure! Though Elizabeth is right that a github link is easier if that's an option
i did look at Giant Crop Ring's code once though
yes, it's about pirates, and uhhh some guy ate a cursed finger and it gave him magical powers
Yeah I'm reviewing that code
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
Yeah I followed that but I guess it's wrong or something
My implementation
Do I put it in modentry or my customlava.cs?
Put the attribute on your gamelocation subclass, and the api call anywhere
hm i dont have a GameLocation example, but i did do it for enchantments
I really need to start learning UI stuff, ugh
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));
So can I overlay a small tmx file over the beach map instead of making a whole new map to replace?
Yep
Depending on what you're trying to replace you might have to change the PatchMode
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/action-editmap.md#overlay-a-map
does this feel normal quality enough
They look like the quality stars, is there something wrong with them?
that is what i wanna know 
there's not really a "normal quality" icon since it is absense of something
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
tbh im not really sure about use case of banning normal quality from machine
but completion
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
fish smoker
plz do gold fishies first
i guess so 
do you enjoy the mmorpg scale of grey green blue purple orange
well that's not what I meant
Yeah lmao, something about that RPG scale really does it for me
thats why you waited until you became purple before getting the cheeto
:P if only I had considered that, I just like this orange more than the purple's lmao
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
(the player_has_item GSQ also has special accounting for golden walnuts too despite them not going in the inventory. qi gems too)
Wait no 102 is lost book, 930 is healing
the hearts fromthe slimes, right?
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
there's probably something tied to active special order, so if you find the special order name searching on that might help?
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
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
email yourself like the olden days
https://smapi.io/json/content-patcher/90db43a00e724f3c9e09444c919c26f0
Anyone know why my birdge isnt appearing on the beach map? I'm adding a bridge to the tidepools east side.
when loaded no errors map looks like vanilla should'
I still do this... XD
your ToArea coordinates seem to be placing it at the very top left corner of the beach map. is it being placed there by mistake?
I cannot do this. Android14 is a little 92378498327692874
Assuming laptop also doesn't have bluetooth?
Hi I'm trying to follow https://stardewvalleywiki.com/Modding:Console_commands to use console commands but it's only showing that I have three commands available:
SMAPI:
harmony_summary
help
reload_i18n
Yes so that was the top left of the area I wanted to replace that I got from tiled
I need to use usbc to get around the stupidity that's android 14
Did you uninstall the console commands mod?
I'm trying to move a save from laptop to android
the area you wanted to replace? or the area from your BeachBridge.tmx? because the top left of the beach map is not where the tidepools are
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
Oh yes, I thought the debug commands were included automatically by SMAPI, I will reinstall it
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
you have your ToArea and FromArea backwards, then
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?
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
So I swapped it and still dont see it
"FromArea": {
"X": 0,
"Y": 0,
"Width": 13,
"Height": 10
},
"ToArea": {
"X": 91,
"Y": 5,
"Width": 13,
"Height": 10
}
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
Not sure what section this would go in, maybe #vanilla-tech-support ?
keep it in your FromFile though
Thx so much!
I figured it since I was changing the game money it would be in here
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
tbh this is a case where I bloody hope you have backups
because, frankly, you're not going to be able to fix that
So remove the whole "Target" line and add it to the "FromFile" Line then load the game? or just remove the "Target" line. Sorry I am horrible with instructions XD
yeah, probably screwed. Don't edit a 2mb xml file without backups, lol
no. just remove the .tmx from your targets. like the literal characters ".tmx" remove them. just Maps/Beach
OHH thank you so much!! XDD
"Target": "Maps/Beach"
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
Like warps?
if thats what it's called when you walk into a new area like from town to the beach
XD?
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
https://stardewvalleywiki.com/Modding:Maps#Warps_.26_map_positions
It's at the bottom of this section
That should be it thank you!
I just realized, this description is kind of misleading lol. Doors are definitely a separate idea from the Warp Map Property
Ok I will have to do a door eventually so good to know! So will I need to add a warp for each tile of the map?
for the warp map property
Every tile you want to cause a warp when walked onto
Appreciate you!
Vanilla functionality is usually to place the warp just off the map edge
So you walk off screen to warp to the next map
That's also really helpful XD thank you so much!!!
nexus upload is taking 3000 yrs
every time i try to call String.Join i reverse the parameters. why can't i learn
no
just replace every string.join call with a for loop with manual concatenation
I just reload the page when that happens
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...
Perfection checker?
are you thinking of upload dot farm whose latest news says they dont support 1.5 yet but theyre working on it
i thought button had typo but wow it really is no support for 1.5 yet
Oh yeah I was looking at that upload.farm site awhile ago.
I wanted to create my own farm and upload.
"new beach map" i'm
Get adapter
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?
can people legally reject credit 
yes, actually
but i don't think anyone will really reject crediting for helping, handwaves human psyche likes being recognized handwaves
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
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
I think there’s a couple goose mods out there, you could ask around and see if anyone wants to collab
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
why am i involved with a ping
it tells me whenever you release a mod cause i told it to 
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
it's on new this week, which in my experience always updates before new today
button releasing more weapons of mass mod destruction
yeah that makes total sense
totally
i see it now, do u want da showcase
well i guess if its already there then- yes please
oh it just now refreshed
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
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!"
thank you 
i changed the second "one" to mod sorry
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
aw button, thanks for the mention/link in your description!
very kind of you
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
Wowie
i didnt realize Machine Control Panel was released now too
i will be making very use of this
Holy shit, this is a game-changer 
always token responsibly
Say is there advantage to using cmct for C#
you dont have to do a bunch of reflection bullshit to get someone elses config
Over the ol register your own tokens for the cp component
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?
Yeah
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
I do feel more comfortable with doing asset stuff in C# directly now, but my first mod was a c# + cp mod
if you ask me it still makes sense to do a cp + c# mod sometimes
It was kinda pein to have to do the gmcm portion in c#
Other mod's config and tokens. 🥹
you lost me there bc i actually find the content patcher config to be more of a pain to use lol
Yeah well I also came around now 
i don't know who's addicted to events, but date night redux can definitely be utilized
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
Naruhodo
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
What if u like
Get literally every mod to agree to expose a GibCMCT method in their api
It'll be great trust
what about the content patcher mods that dont have APIs though
It's also gonna be great for anyone that wants compat with Canon-Friendly's individual toggles in the new beta
content patcher knows all the tokens, but its SMAPI that handles the config
Ooh it looks amazing 
If it plays nicely with using configs from mods that are optional and not necessarily installed it'd make it so much easier to dumb proof the mod 
Yeah this mod let you sneaks into the other mod's house and steal their tokens
i imagine you can do the hasmod when
Other mod doesn't have to do anything
Yeah, but I remember in some older versions of DSV (now it's perfect) smapi complained if I used it's tokens without it being installed and behind hasmod
SMAPI isnt the one complaining about that, thats a CP limitation
SMAPI has no concept of tokens whatsoever
Well yeah, but you know what I mean 😅
its very important to be precise in this context!
since the mod works with both CP packs, normal content packs, and regular C# mods
this thing really did take over you, huh
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
yeah i imagine since i want to steal their jewelry, they gotta have it there first
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
Nice, false dependency is all I need, I do have 41 false dependencies in one of my mods after all...
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
jokes on you, you've now created chaos for the code-only content authors
#making-mods-general message
my bad it was 7am. sorry for lying
isnt code-only like
i feel this. i was goaded into making chickens throwable and i turned that around in pretty good time for me, the world's slowest modder
.quote 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:
- @worn coral (Jump)
im sure our other mods are very happy to see this happen while they sit on the backburners
also hold up. whats this about throwable chickens—
tater toss
tater toss now with ostrich support
what an incredible mod name

is there still no mp compat
or is that what you're working on, tossing your friends
it should work in multiplayer, although not perfectly (jump status does not sync well). but you can't throw other farmers (yet?)
please let me yeet my partner into the volcano caldera
i have done one (1) multiplayer focused thing and it was hell on earth
next up is probably pets, and maybe NPC spouses. no promises about other farmers
"hey babe there's a secret next to the edge of the volcano--LONG LIVE THE KING"
you could probably do it with the smapi message broadcasting events
but right now i'm making a shitpost and it is excruciating, so somebody had better laugh at it when i'm done
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
oh the scoocher?
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
the festival placement ranked-choice system. i'm willing to collab on it
honestly the biggest reason i havent started actually brainstorming about it yet is bc i just dont understand the festival system at all yet
hoping you have ideas for working around some of the thorny corner cases
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
we should be able to throw trees
oh nope my c++ logic will not work here, i was honestly thinking about checking end of array
its like the next tier from tree hugging
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
please everyone, i am but one man
i thought we determined you, as a farmer, were a cryptid
we all collab to make everything throwable
ichor should do as much or as little work as desired
unrelated to us throwing out dum ideas 
i mentioned there being an algorithm but i don't really know anything about it
(also, if we did actually want this to be a thing... maybe a thread for it?)
#1288404321142046731 is just me and silicon banging pots and pans like children and not understanding harmony
thread sounds good
whats this conglomerate about
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
I miss the shovel mod 😦
(sorry)
ooh shovel

silicon and i screaming about code progress on our rabid expansion mod ideas tbh
oh atra if i am port combined rings do i make fork or make new repo?
Festival Placement Manager
you can do whatever you want!
We did in fact already have a festival placement thread but oh well lol
this isnt quite for festival placement collaboration
that's about the spreadsheet and other concerns, right? whereas this one is specifically for a putative mod
but for collaborating on a mod that fixes NPCs that mightve never looked at the spreadsheet
and placed their NPCs without care for compatibility
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.
Ah I see. So you were still the driving force behind it becoming possible!
It had the potential to become many things. Like silicon deciding to make a new/extended map. But then he posted about that other threads anyway so I'm sure he won't mind that there's another thread lol
I‘m way late, but this is absolutely incredible.
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
should still be applicable
https://stardewvalleywiki.com/Modding:Farm_data though, since the example json uses the Data/Locations edit, if it's an additional farm you could probably add in the fish data https://stardewvalleywiki.com/Modding:Location_data
yes it's an additional farm 😦
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
}
],```
So if I just want beach fish, can I just use the fish tag? regardless of the others?
if you put the fishareaid it'll only pull the ocean fish, yeah
trying now !
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
}
],```
I was about to ask about the position thing
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
i tried the first one you suggested with null , smapi didn't throw any error
I'll create new farm and test
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
didnt work lol
only sunfish with fishareaid?
/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:
{
"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 
"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
trying 
I don't suppose there's an item query that returns the input's ID for machines, right?
can't get command to work 
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.
i don't actually deal with additionalfarms that often, but since it's using the data/locations it should effectively be the same
https://github.com/Aviroen/Custom-NPC-Edelweiss/blob/master/data/Locations.json
ah sorry, line 23 should be ChuChu.TinyBeachFarm/TinyBeachFarm
there's an extraneous } in there
(isn't the location name of the farm always just Farm regardless of farm type)
https://stardewvalleywiki.com/Modding:Farm_data#Example uses the data/additionalfarms and a data/location
Hm, weird, 
it's also a lot of me throwing conjecture because the model in the unpack is, uh, unhelpful 
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
tyvm for the help, agian, trying right now 
so I delete the
nvm 1 sec
idk what I'm doing wrong
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
that is ok, relearning stuff is hard
made it work, but still 1 sunfish+trash
are all of your entry names the same
https://smapi.io/json/none/0d479e7fd58f41a79f14a9ed14367c37
My eyes start to fail but I think yes
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 
position is if you have multiple pools of water iirc
but if it isn't specified then it takes the whole map
I also tried; deleted the position tag and still didn't work
one sec, i'll throw it into vs22 using ender's prefix
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..
do you want this updated to 1.6.8?
cause i have to change the format to reflect that
Oh, yeah I'm on the latest version so I suppose
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
s'all good! 1.6 was considered a "maybe" as a modpocalypse 
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


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

https://smapi.io/json/content-patcher/a2725bcb049b487ab17c26886595d651 i yoinked the beach data 
trying 🫠
and the attempt #38 is......................!
I swear Im starting to hate sunfish now
neither :((
Maybe use visible fish for quicker test
visible fish is on. There's no fish cuz there's just trash 🫠
slowly dying 🫠
!patchexport
A patch export makes a copy of specific stuff in your content folder so you can see what changes have been applied.
- Load up a save (with Content Patcher installed)
- Type
patch export <FILEPATHOFTHING>in the SMAPI console and hit return - Look in your
patch exportfolder in the game folder for the relevant json file or image - 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.
I'm also pretty puzzled about it but you could try adding the "Precedence" field with a high precedence to see if that helps?
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
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
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
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.
using i18n
unless you meant that this is your i18n, then, that kind of makes it strange for translators if you ever get any
I haven't really tried using i18n since i dont rlly think anyone would translate my mod 
load times generally don't matter much in terms of strings anyway, iirc atra said that map loading is the most taxing
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!)
the entire sprite is offset, and it doesnt seem to be to do with the sprite sheet and where the sprites are on that or anything, the whole sort of rectangle which the sprite appears in is floating up and to the left 
(thanks, i wouldnt want to cut anyone off or anything haha)
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}}}}}}",```
this definitely looks a lot tidier than what i have currently have
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?
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.
(but as an fyi, those indoor_day_# are already randomized through the game logic)
i shall try to
i assumed it's limited to 5 options (from 0 to 4)
randomization key lets you go to however many you want
yeah it gets very repetitive
"{{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
i'm not sure if i fully understand but i'll probably get back to this when i start with i18n
https://github.com/Aviroen/Custom-NPC-Edelweiss/blob/46c09260c5f35c7120ef8422404a5f5c44a88639/data/MarriageDialogue.json#L17C4-L17C4 randomization key
https://github.com/Aviroen/Custom-NPC-Edelweiss/blob/46c09260c5f35c7120ef8422404a5f5c44a88639/i18n/default.json#L1557
what it looks like in the i18n folder/default.json
ok here is the content.json of the original dustynpc mod: https://smapi.io/json/content-patcher/66fdc3c9f40b4115826335b49b7dfe24
and heres the content.json for the SiD sprite stuff
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
ty for the example! I'll definitely look through it 
(i think you forgot the actual link for the SiD one)
(also here's where he is displacement-wise for context)
SiD doesn't seem to actually have one,
oh i think that's a SID problem
uhhhhhhhhh is it data/characters
you might have to change the mugshot reference
i meant the content.json for your mod!
all dogs go to heaven plays bass boosted in the back of my mind
forgot to paste the link lols
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
Seems like this issue goes way back
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
i may be wrong but i thought the mugshot reference was fine? its showing a reasonable piece of dog, its just his overworld stuff
i don't know how i'd be 100% certain of that,
and it looks the same in game as him in the social menu
what does your Dusty.png look like? the one you made, not from the original mod
i actually just went and checked again, and now he's fine? he was completely displaced earlier
here
He needs to be lower
mugshot is for calendar, so that isn't it
previously he was showing up the exact same as him in the social menu
Dog
i was trying to find the old conversation about it lmao
Floating like Blaine
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
well each "sprite" will then be 64x128
so then you'd have to do a (64x4) width
4 for each vanilla "frame"
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
same, tbh
are you actually going to make use of the higher resolution sprites SiD allows you?
oh that previous conversation may be good for me to look through, scrolling back from that this person looks to be having some of the same issue
currently i just wanted to be able to make a wider sprite so i dont think so
if you're making it wider than 16px that is still a higher resolution, so yeah SiD is still needed then i spose
yeah
unless dusty doesn't move, then you can just use the standard data/character to make the 'size' bigger 
dusty gets to follow alex around the valley : )
oh pathfinding will hate anything wider than 16width then
i'm pretty sure with SiD the 'hitbox' isnt affected
content patcher wouldnt let you extend the spritesheet to the right anyway
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
i wish you the best of luck cuz iunno how to solve it and i need to sleep. godspeed 
hi sorry u dropped ur glasses in the lake
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.
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
The games XML serializer has specific lists of types it supports. Before saving any non supported types need to be removed.
Ideally no custom types are used in favor of modData property, ModData model and CustomFields property:
https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Data
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
@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
@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!
In 1.6.9 you can use AllowFridge
wait, i thought it's not out yet? if it isn't, it would be a long wait 
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
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
@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 😄 )
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
i think ppl should stop using json assets, maybe 
....what are people still using JA for
old not updated mods i guess

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
yea please yeet PFM too no shade against digus but i dont wanna make support for that
i use EMC for that personally, i find it more convenient since it's optional and CP side
that was PFM. i don't use JA for anything
Which version of PIF are you playing on? Does it work on the HxW bakery for you?
You might have to update
(i kinda understand, but also am grateful for the things those frameworks allowed that weren't possible at all at the point)
oh damn yeah let me check. i havent updated some of my mods in a while and i thought it's already a feature in the version i have haha. silly me
i was push a hotfix to my mod because some machines have null Id in their output and trigger models 
unsure how that could happen
still using it to make new item mods: https://www.nexusmods.com/stardewvalley/mods/28259
(non-english, so please be lenient)
I think people are still using frameworks because they learned it and understand it
The screenshot there looks like mandarin
yeah non english can easily be explained by more examples/doc in their main langage 🙂
And there aren’t many guides that are translated
and documentation on the new stuff is not as readily available in other languages
what if i translate content patcher docs to chinese
I really don’t begrudge anyone the continued use of frameworks, as long as they still work
but hm im not sure how to spread it
You’ll also need to do a bunch of wiki pages
not on any chinese social media 
Since CP doesn’t explain the new formats
yea gotta get that onto zh.stardewvalleywiki.com
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
a wip looks like https://zh.stardewvalleywiki.com/模组:目录
Personal anecdote, but I have a surprising number of Chinese EMC users even though I don't translate my docs
Someone else might have translated them if they liked the mod enough
they even use features that only exists in documentation (as in no other mods use them yet)
yeah
programmers tend to learn english against their will
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
this server is sorta opaque to the general public too, since discord isnt indexed by google
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!)
I miss forums
I know theyre still around but thats not where the ppl are
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
(oh hey chue I saw the machine mod is out. congrats! also how dare you use the same hotkey as my toggle items mod)
I'm surprised not many other mods use Q, it's soooo convenient
I know, that was 200% a joke 😆
Q is my put weapon away button in most games
Q is drop for me usually lol
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
since this is kind of thing you set once and forget 
but having some default setup reminds them the setting exists
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
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 
I mean, it seems right at least lmao
food? nah, violence
I'd be needing a butcher mod, personally
that's Animal Husbandry
I would expect a goose to ignore food in order to attack, yes.
just let goose zero in on farmer position no path finding required goose is unstoppable
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)
does the game let you have 3 babies?
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
a patch summary may be helpful
i suggest also providing here the log and json
!patchsummary
Can you do these steps to provide more info?
- Load your save and view the content that should be patched.
- Type
patch summarydirectly into the SMAPI window and press enter. - Upload your SMAPI log to https://smapi.io/log (see instructions on that page).
- Post the log link here.
!json
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.
try to replace a vanilla first
if it works try the modded ones again
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.
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
Ohhhh thanks. Here you are. https://smapi.io/json/content-patcher/0a484c7e85114b01b785c43e6fdbb6af
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
It will take a little bit to load because I have too many mods. 😅
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.
You're welcome. It's a distraction from trying to learn colour theory lol
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
If you look in [CP] PC Content/Data/Technical/Loadables.json you can find the targets being used for the portrait loads
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.
Good idea. More work initially but then pretty much none afterwards.
Looks like it just kills the embed
hmm ok, thanks
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)
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)?
Does anyone know of any mobile IDEs for creating mods? 🥲
I suspected. 🥲 Ah well, no pastel potion I guess. Thanks for the info! 
obligatory "why tho"
I suppose you can do pixel arts on mobile
many does it
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?
and then copy it to PC to make the mod
You need to find the log file, there should be instructions on the site
Did you make your mod dependent on Passerby Cemetery?
Ah thanks Chu/e. Yes, I made it dependent on PC.
Okay, finally got the log to work. https://smapi.io/log/55f2acf97de54d5cbd02b179b5a21050 My mod is Nyapu Passerby Cemetery.
Are you testing one NPC in particular or several?
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
I am testing several. Would there be an issues if I don't have a valid Update Key?
Nah
that only matters when you publish
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"
}
Well here is my manifest https://smapi.io/json/manifest/333624b84e9b47e4800af22ae582b777
@vernal crest Ah okay, darn. Well just means more code.
You can just leave UpdateKeys blank
Think manifest is fine otherwise
None of the patches are applied, but I often find summary is wrong about that
I think portraits only apply when you talk to the NPC. Not sure though.
Or maybe it's that whenever I'm doing the summary it's not applied but when I export then it applies them
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?
I think it uses the last one listed
could easily be this. if nothing has requested the asset, then it hasn't been loaded yet, so your edits weren't applied. but when you export it, that code loads it
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
Smapi but it should be in for here
Could share a screenshot of your working directory
Make sure target is correct
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?
The lack of errors means your FromFiles are probably fine though, at least it's finding something for all but one of them
Shouldn't be, because your dependency should ensure that yours load after Clown's.
The file ending feels like appearances
Though this is one of the problematic ones that is editing multiple images onto one base asset
Make sure the target is right
Oh yup
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}}"
},
All these appearances are internal asset keys, ew
That's suddenly a bunch more work. I wonder why he did that.
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
So I am guessing the "internal asset key" is the issue.
Or that someone else at some point did that and Clown copied it without knowing what it was for
I am so happy about this, I was contemplating just using monster code for pathfinding tbh
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
I would actually like something that compiles the file into .dll, I'm not finding anything that helps
Otherwise your only option is to manually replace every image in the original mod
⠀
@rancid temple So replacing the portraits physically is going to be the easier option then? Because that was what I was doing before.
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
@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?
Big mods like this, I wouldn't be surprised if the answer was no though
I only see fellow in here on bugfix binges and blue moons
No you can do it all in CP, it's just also a pain in the ass
@rancid temple LOL
I've just asked him about it so hopefully he can give some insight on it at least (if he feels like it).
basically instead of updating one image asset you just update every spot that uses said internal asset with your own
Oui
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.
sinz recommends using internalassetkey whenever possible, so maybe he heard that advice
Do you know why SinZ recommends that?
{
"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
performance, if memory serves, and the rarity of other mods editing one's assets
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?
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.
@rancid temple Thanks. I'll mess around with the code and try to figure it out.
#making-mods-general message for sinz's opinions on it
You'll need to check each NPC's data, listed as Dispositions.json in their files
I apperciate everyones help on this btw.
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
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
So am I right in thinking Nightmaresky could just skip Loading anything by editing the appearance data to point to their own internalassetkey instead?
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
Inb4
👁️👁️
Making {{internalassetkey:othermod/their/path.png}}
What's goin on
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
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.
I could change it I just need to be taught how to do so
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
i can't think of places of use cases where you wouldn't want an outside source to edit assets tbh?
maybe that's just because i'm like "yeah my color theory is garbage and sometimes people just want a specific artstyle"
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.
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
yeah i'm not all too interested in gatekeeping personal edits, make the Jwizard of your jreams
When it comes to the scale of an expansion mod, I can understand the appeal of the InternalAssetKey for cutting down on load time
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
Yeah, generally speaking I don't expect expansions to load quickly
As long as it doesn't crash, I don't care lol
So if Clown wanted to keep using InternalAssetKey, could he yeet most of those Load code blocks in Loadables.json?
I can yes
I think those are for the initial set up of the characters
but i want to switch for users who want to make portrait mods
Because the game itself pulls from those portraits and sprites before the appearance system kicks in
so I need to load every character asset and use it in appearance?
Ah. See this is why I said to come talk to the experts lol
(He means if he stops using InternalAssetKey)
Yeah, so if you have FC.Boxy_spring.png, _fall.png, etc you would need a Target for each one
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
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
I have 19 npcs is there a way to load the assets on a single entry
You could make use of the season token in the Load, I think.
does the old way still work???
I'm not familiar with the old way
old way is for initializing them in general, appearances just give them seasonals/other outfits iirc 
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",
},
my characters have winter outfits
but my character dont have every season
that entry would make it need every season
Ah if they only have two seasons that wouldn't work, no
Is it just some of your characters that don't have all the seasons?
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?
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
If they even understand what it is or how it works in the first place, which is unlikely, I suspect.
So as to avoid wiping your whole character from existence
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
Your Target's should be named such that their difference is apparent, I don't believe it would require any renaming
my festival stuff is all name the same just seperated by folders
oh that's fine
but i have to load each asset? if its all the same names how will that work
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
how would i set that up
Yeah the initial load you're doing for the base sprite and portrait can remain the way it is
It would be your Target you load the texture to
is there a mod i can look at i need examples to learn
Hm, do Targets accept spaces?
for portrait change calls in events, it hates it
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
{
"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
i honestly can't wrap my brain around the festival-as-same-name right now cause i just woke up
i mean yall are welcomed to mess with my code im fine with the help if it helps others
"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
Sorry that I have disappeared. It is 5am and I would only make horrible mistakes if I tried to help.
yeah so yes id need to rename my festival assets
this is trunicated to have appearances alongside it
you can have the when condition on your portrait loads for festivals
I'm uncertain if the Target allows spaces and apostraphes so I removed them, but if I could test right now I would check
they'll just look that way for the entire day rather than only at the festival
i think i haver a problem with that tho
i can pull up your mod and check through since you don't mind
i dont mind it at all
I need more examples of people using StardewUI, chu/e is too advanced for me to learn from lol
man, vs22 does not like your fancy comment blocks 😂
Hm, I wonder if I've already stifled that, mine doesn't complain about comment blocks




