#making-mods-general
1 messages · Page 436 of 1
(also frogs > sleep > phd)
Can i import a mod in the middle of a multiplayer game?
im making frog things and tanks!
like
I want to make an npc mod for my partner and I want to know if i can import it while playing a co op game with my friend
or will i have to restart?
who needs to fulfill basic bodily needs when you can sit in front of a screen for an entire hour writing nothing since you have no ideas but you still wanna mod
As long as everyone has the same mods with same config it's no different from adding mods in the middle of singleplayer
so I just gotta give my friend the mod too?
what a wonderful day to sit in front of computer and be stimulated
dont forget blasting music throught your headphones ✨
actually I just came back from a 10 day vacation with friends and today I just enjoyed the silence and the clicking of my mechanical keyboard. too much talking and noise these past few days
but under normal circumstances im totally with you!
aah i just discovered music after getting new headphones for the first time so-
also, what hair color does a cursed/jinxed/enchanted frog prince have in human form
rainbowwww
anyone know offhand if making an animal emit light is doable in a simple way?
also how human? cause you could make it like steam or something
mhmmm i was more thinking of someone trapped in frog form for aaages and being an old timey prince
aah okay
like 90s disney prince haircut
like reverse princess and the frog
i love that :)
..1830s hair 
(i'm def not obsessed with 1830s english fashion)
hello!
Hello, howdy
Imma punch code
is that possible?
Maybe I should write an angry letter
It's for C#
Have you tried looking at other mods that do it? I think there's at least one mod out there that allows for a spouse and a roommate.
I have T^T
can NPCs still do things like change directions and moving while they're shaking with shake?
I looked at Free Love, Poly, and the adoption ref
Pain
I swear Imma figure this dang code out

ah i see, EAC can do a glow
good luck!
i gotta clarify that the adoption code is not 2 spouse but 1 spouse 1 special Child entity
Ye
this has various implications like where they go in festivals (besides your spouse) whether they have a room (they dont)
Sorry I used 2 spouse a general statement
I do appreciate the ref tho
Its been waaaay helpful in learning
i think for now you could maybe leave the C# bits alone?
use free love or w/e and develop the content first
then decide if you want your dedicated C# bit or no
I made a content road map first before I learned what I needed from the game to achieve it
Sorry 
again, you did nothing wrong, certainly not toward me lol
I knoooow its a real problem lol
I might make more cutscenes
Those are always a delight
I'm jealous-
uhh any parts you find tedious that aren't coding-y? maybe we could help each other lol
I find testing events very tedious but figuring out the right commands can be fun
I have a question, Bigger Fridge by Entoarox is a dll injection mod, can I create a content patcher mod that increases the size of the fridges? or it is not doable?
that is not doabble
you could make new fridges that are bigger i think https://www.nexusmods.com/stardewvalley/mods/7431
I enjoy writing events but coming up with ideas for them csn be a challenge.
I feel that, I get an idea but then I have issue with figuring out how to get to that end point... if that makes sense
thats so real, i have so much fun with writing dialogue/choosing portraits/body language but the main idea can be so hard to come up with.. esp when dealing with an arc over multiple events
i enjoy designing and drawing then coding but gotta do it for it to work XD
I have a mod idea and was wondering how difficult it'd be to make—? Just a mod that let's you know how to trigger a heart event. Like— if you're at the right relationship with the character and it's the right time of day, a pop up would appear on screen subtly hinting to the event and where to trigger it. It's really just because I hate missing heart events which I keep managing to do. Is that possible? I'm trying to map out in my head how the code for something like that would work
this is the kind of mod that i think you could bang out a proof-of-concept pretty quickly and then spend weeks (or more) fixing all the rough spots
as far as procedure, every so often you would need to scan every location's event list and, for unseen events, check whether the preconditions are fulfilled. if a suitable event is available, draw your popup
unfortunately, all of those things are more complex than that summary makes them sound, including things like "defining 'every so often'"
fun times
why can i only get weird long and verbose and very impragmatic c# to work
and trying to use all the cool cp things results in smth like this 
it has some entertaining value at least
Sounds like I had a good idea then on how to map it out, but I wanted to be sure. Thank you for the reply!
i think i saw a mod description like this on the modding tutorials wiki :O
prob complex af as ichortower described but i'll check the wiki again !
good luck with it! there are a few other mods you can check out for inspiration and/or guidance, like Event Lookup, Map Event Markers, and probably more
also you can always ask questions on here if you need help with a particular thing
Thank you guys!
I'll be in there anyway just to study so hopefully I find it :3
it was event lookup ! but it hasn't been updated for 1.6 i think (?) there's other recommendations ichor suggested too
event lookup should function, but it does not support the new 1.6-style (verbose) event preconditions, so it doesn't support mods that use them
Then it probably wouldn't be a good idea to use that as reference then?
I'll search up Map Event Markers
@ivory plume May I please have another invite to the new github site? I was on vacation when it came through.
Sent!
thank you!
oh that is not my proudest code lmao
I can't remember what state map event markers is in but it's not a great one
Just so you're aware, this is going to require C#.
-# you did fix rescanning the event list every frame the menu is open, right? /lh
god that was
a thing that I did
I think I fixed it 
oh and it only has partial support for extended preconditions because it's a 1.5 mod in a trenchcoat
what. did I do
yeah use this mod with a heavy pinch of salt please, it's awful
well that's concerning /lh
Dude VS just loves importing shit it shouldn't
I'm in Rider
and there's an import for the namespace of one of my other mods
Rider may not be a y better
Sounds like fun. Eh, it's better I at least try to learn it sooner rather than later. Even if I'm not able to actually finish this, I'm hoping it'll be a learning experience. But thanks for the heads up
because I changed the namespace for the gmcm api to match my mod namespace (?) and then copy and pasted from that mod to this one
Tbh I just keep a copy of the gmcm api in AtraShared which you hate ofc
But you don't hate my new lacey socks so it's okay
how could I hate lacey socks
Well they are at best 1/10th done rn
They’re Lacey, how could iro hate them 😛
guys please help! i created an item with custom buff containing speed 3 and trigger action give player the item again. when i eat the item i get speed 6 and 2 of the item. Any ideas why?
Did you put the code in twice?
for ref
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.
nope. i keep checking to be sure
👋 hiya. I'm mostly going to be lurking for a while. Got a great mod idea and I'm starting at a place of roughly 0 knowledge. 
I am.... Intimated
Yet determined
If you are interested in being pointed towards resources, definitely ask in this channel!
Thanks! I will definitely have need for resources! I just want to lurk and get to know who's who and doing what and such. See the ins and outs I guess to prepare myself lol
But knowing me, I'll get itchy and want to start at like 3:00 a.m. 🤣🤣
https://smapi.io/json/content-patcher/b7a44c8bafbb4c92b8dd59acb3c2c2e3 sorry i have been using json checker so i wasnt sure what i was looking at on that one
I already did a Google search to make sure my mod idea doesn't already exist, is there anything else I should do to make sure I'm not stealing someone else's idea?
!twocakes
If you discover that someone has made or is making a mod with a similar concept to yours, don't stress! Our community promotes the idea of "two cakes", where two versions of the same idea can peacefully co-exist. Your mod will have your own unique stamp on it that makes it special.
Thanks! That's encouraging.
where is your trigger action? the reason you get two items is because when the buff applies you give the player another canteen, and if the trigger action also gives you a canteen you get two
the trigger action is in the "'ActionsOnApply" field for the custom buff at the bottom. there isnt any other trigger action mentions and the buff is only being applied in he custom item "buffs" field.
oh usually people use trigger actions to refer to a patch targeting Data/TriggerActions, my mistake
originally i did it that way but i changed it while following the moddingwiki example in an attempt to make a cleaner looking code
looking at this i guess having both ID and Buff ID may be triggering it twice? try removing Buff ID
Hello, I have a question about fashion sense, there is a way to modify the body sprite using fashion sense for adding specific frames for each action instead of reuse the frames?
I readed the wiki: https://github.com/Floogen/FashionSense/wiki/Creating-an-Body-Content-Pack
And https://stardewvalleywiki.com/Modding:Farmer_sprite
For example walking and running animation share frames and I want to use a specific animation with more frames for walking and another totally different one for running. Looking at the example json I can't figure out how to do it, they just list every frame for each side. Also I want to add to the sheet the mirrored sprites instead of flipping the default one
dont remove the ID. all it is is an identification. it doesnt do anything on its own besides differentiate it from other buffs in that same list
yeah i removed it and nothing changed. hovering over the item shows speed 3 but after eating the item the icon show speed 6. i dont understand!
jk removing the "Id" does nothing. removing the "BuffId" removes the buff completely.
yeah the ID itself is mandatory, but the Buff Id isn't. although i guess that's not your problem
(i did misread your msg i just realized nic, i thought you said to remove the ID and not Buff ID, but yeah the former is the one that doesnt do anything)
(apologies for misreading tho)
(it's okay! i had edited it, so it's understandable
)
plus i didn't know that it was solely for naming so i appreciated the clarification anways
its not solely for naming, but solely for identification, which is a subtle but important difference, as its the Id field that is looked for when you're trying to edit a specific object in a list with CP
i dont know what itd get auto filled with if anything if you left it blank
but itd make it difficult if not impossible to edit
man i have GOT to use more precise language lol
nah in your defense im tired and didnt word it clearly either
(for the record i dont know what the actual issue is with the buff, im not purposely ignoring it, i just dunno. id assume maybe a mod interaction but again, dunno)
yeah i'm stumped as well because it all looks okay
assuming no user error of like, accidentally eating it twice or something
thanks for considering it at least. i gotta check to make sure no other mod is doubling buffs and if other buffs are being doubled, etc. looks like a long night of trial and error
test it with only your mod and its dependencies first to make sure that it works as intended
(in general you should pretty much always test your mods alone first, to eliminate mod interaction issues)
stardrop mod manager has mod profiles you can set up to keep your play profile and your testing profile separate
seems like common sense but i didnt even consider testing it with everything else excluded
you're not the first and you won't be the last
do shirts and clothing have item IDs? :o
was wondering if it was possible to have them given to the player during dialogue but i can't find much on the wiki or on reddit
yes in the unpacked files data/shirts and data/pants you can see them
okay! thanks :D
so i know in CP you can use AddWarps to add warps at the edge of the map (like at 0, -1 for example). is there a way to do so with a map patch in tiled?
yep
So if you build the warp in your tiled map patch it should add it automatically if you do a replace
But I tend to do the addwarp with the same condition as the patch
i should rephrase with the use of pictures. can i do something like the second image instead of the first image
You'll have to try it and see. You'd need your source and target rect to be 1 tile longer than the actual map is
Or try using MapTiles and see if that will let you do it
i'll give it a try
If you’re trying to do it in tiled you may have issues. The patch may fail because you’re off of the map range.
Even with transparent tiles
Please report back if it's successful, I'm curious!
unfortunately (or fortunately?) i just discovered i have no need to, but i can try for science once i finish this
i have a lot of threads to keep track of at this very moment but don't let me forget
Can I do anything about this?
Mod crashed on entry and might not work correctly. Technical details:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
---> ArgumentException: Bad label content in ILGenerator.
at System.Reflection.Emit.ILGenerator.GetLabelPos(Label lbl)
at System.Reflection.Emit.ILGenerator.BakeByteArray()
at System.Reflection.Emit.DynamicResolver..ctor(DynamicILGenerator ilGenerator)
at System.Reflection.Emit.DynamicILGenerator.GetCallableMethod(RuntimeModule module, DynamicMethod dm)
at System.Reflection.Emit.DynamicMethod.GetMethodDescriptor()
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Span`1& arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at MonoMod.RuntimeDetour.Platforms.DetourRuntimeNETPlatform.GetMethodHandle(MethodBase method)
at MonoMod.RuntimeDetour.Platforms.DetourRuntimeILPlatform.GetIdentifiable(MethodBase method)
at MonoMod.RuntimeDetour.Platforms.DetourRuntimeILPlatform.Pin(MethodBase method)
at MonoMod.RuntimeDetour.DetourHelper.Pin[T](T method)
at HarmonyLib.MethodPatcher.CreateReplacement(Dictionary`2& finalInstructions)
at HarmonyLib.PatchFunctions.UpdateWrapper(MethodBase original, PatchInfo patchInfo)
at HarmonyLib.PatchProcessor.Patch()
I didn't remove/add any label in my transpiler, the only vague idea I have is that I'm replacing ldc.i4.1 with 3 instructions in
IL_0062: ret
IL_0063: ldc.i4.1
IL_0064: ret
so anything that points to IL_0064 is messed up by it moving?
@brittle pasture yo are you interested in myself or yourself making aquaponics have visual support for my fish factory
https://i.imgur.com/niqV9QC.png honestly it almost works as is but a small edit would prob make it look even better
porbably just removing the sticks would do it
Did you see the retexturing guide on the mod page?
guess i didn't, nice
thanks
i guess my question is more "should i do it on my end or would Selph prefer to do it on theirs"
i could make it a conditional replacement but i dunno if they want me including edited art in my mod etc
It's completely open perms
i would suggest your end
" You must get permission from me before you are allowed to use any of the assets in this file"
so i need to ask first yeah?
Can this happen if I replace an instruction that is the target of a branch?
I am not see what you are seeing there. The screenshot is what I'm seeing on the Aquaponics page.
hi, yes you’re free to do whatever you want on your end
back to the hades 2 mines i go
Do I have to copy the label?
that was the solution
I spent half an hour trying to debug why my custom dialogue wasn't working an turns out I just havent enabled the mod 😭
Hmm... there isn't a way to have scrolling event text in a text-only (no portrait) dialogue box, is there? I noticed that message displays all text immediately and that feels like it kinda disrupts the pace of a scene 
like at the start of a dialogue
Ooh... maybe? I haven't made active use of % yet so I'm unfamiliar with it
@versed wyvern You leveled up to Farmer. You're now a prettier shade of blue. Thanks for sticking around!

utterly straightforward, as simple as using TokenParser.Parse(name) from the DisplayName property getter. but you probably want to ask the actual mod author instead 
if it's added to spacecore, would that automatically pass to loc's menu as well, because elizabeth offered to pr it yesterday LOL
yes, i use the displayname property* to get the displayname (i don't know what else i'd do lol)
okay awesome
feel free to post the pr to spacecore, though no guarantees on if and when it'll be merged
i can talk to casey after wrt prs
Ok, so after at least a day of trying to figure out how to patch multiple original methods with the same patch method, I found out it's just possible to pass MethodBase __originalMethod as an argument...
I think I started with the idea of making a Transpiler before finding out how to patch inline methods
Weird code question: Is the Island's weather still determined if the player hasn't unlocked it yet (e.g. would {{Weather: island}} be a non-null value if someone hasn't unlocked Ginger Island)?
the island would still exist
just guessing here since you can use cjb cheats to teleport there at any time without setting off the GI unlocked flags
That's what I figured but wanted to make sure. Someone got the Island date while it was raining on Ginger Island so trying to patch that weirdness out XD
every entry in Data/LocationContexts has its weather state updated daily, so the token should be accurate
and iirc it returns "Sun" even for contexts that don't exist, so it should never be null/blank if it's ready
oof. I was trying to check if 'Make Marlon Real' broke anything with my mods events but it requires 'Make Gil Real' which nexus has flagged as adult??
I can't get into the nexus adult stuff cuz of the UK safety laws and their terrible scanner which doesn't recognise my ID
and everytime I try and use the face scanner it tells me to take my glasses off but then has me move my head far enough back that I can't read the instructions without putting my glasses back on, which makes it switch the instructions back. Its killing me man.
biggest joke there is is the nsfw tag is on there because of swearing...
if you cannot get the face scanner to work to get access maybe try contacting nexus directly?
ah, I'll prob just get someone to help me with the scanning thing irl sometime. Its frustrating to not be able to test something but its not the end of the world.
hmm. I'm setting up stuff with translations and I've finished the default.json. I tried out making an es.json file with some debug text and loading the game in spanish to see if it showed up but it isn't loading. the files are definitely going into the i18n folder, is there some step I'm missing here? do I need to do anything else asides from just having an es file?
you dont need to do anything else, maybe send a screenshot of your files or something
You relaunched the game or used reload_i8n?
by "not loading" can you explain
just relaunched the game
well its still using the default.json text rather than the es.json text
I'll try reloading i8n see if that helps
huh it still doesn't seem to be using es.json even after I reload_i8n. IDK how I've managed to screw up some of the simplest stuff SMAPI has
how new are you as a modder
Like should i be asking if this json file is secretly a txt file
Lmaoo
uhh how about you just zip and send the mod folder here or in dms and i can look real quick?
post build or pre-build?
Oh it's a C# mod, I am not familiar with how i18n works with those
I wouldnt be able to help then
fair enough!
I think I have a pretty damn good guess on what's causing it but I don't wanna accept the possibility that it might be the cause
have you read the translations page as well? https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Translation
yeah I scoured that thing
damn
I'd recommend posting a method where you're using the translation helper, or a github/etc link if you're syncing to one
(personally I just use it in GMCM, so not super familiar, but the wiki page there's generally accurate)
So sorry to barge in :X a quick general question. I followed the NPC tutorial and when it says to create a "manifest" or "dialogue" json file etc. is it okay for me to call them "manifest-character" or "Dialogue-character"? Or is the game specifically looking for "dialogue" etc.?
the manifest needs to be a manifest.json in the main folder of your mod, specifically
dialogue files are generally loaded through CP into "targets" and their file names shouldn't matter much
hi so you can name the dialogue file whatever you want, when you "Load" the "blank" file to the game it will be a specific name, but the file in your mod folder can be anything
as esca says manifest and content files are special and need those specific names
You can also put any file in a subfolder, other than those two files
So if you have multiple characters you can do a folder per character
okay, so manifest and content need to be top level and can't be renamed. The rest is fine?
oh nooooooooo I've discovered whats gone wrong and its gonna be an absolute nightmare to fix
Yes, that was my plan, but it feels like sometimes the files swap or maybe I'm delulu and just forget what I shoved where. But I'll just remember to keep the manifest and content as just manifest and content
Thank you very much for you help, I appreciate it! I'll no longer distract now ❤️
you're always welcome to barge
I wrote a lot of the code for stuff like items myself, instead of being smart and using content patcher, and if I'm not mistaken it's the load order messing things up.
like I'm patching in the names of the items myself before SMAPI actually recognises which language it's using. Stuff like item display names are being added before the language has been moved to spanish. Stuff like generic mod config menu options seem to work because they're on OnGameLaunched which is post language setup
well well well if it isn't the consequences of my own actions
ah
btw, @junior tiger, make sure you have extensions visible in you file explorer, that will save you some headaches
I'm confused, does that mean there's a chinese knockoff of DDFC that's throwing errors? 
or is there a translation framework that translates mod names? I don't get it
from what I can tell, yeah, it looks like someone modified it and uploaded to a CN mod rehosting site 
I'd probably ignore that unless they download the real version & post a log properly
(iirc it's a common one that copies everything on nexus & has weak takedown/report stuff)
I've seen a bunch of log messages from FF translated in chinese in the posts on the FF page, I'm assuming that there's a mod translating everyting in the log
my first guess was that they ran it through something, but in this case there did seem to be a DDFC edit with that specific name translation
basically a forum post linking the reupload
No this is probably from the practice of going into manifest and renaming the mod to Chinese
So that it's Chinese on gmcm
Mod name localization when pls great and mighty pufferchick
(oh right, I keep forgetting there's no i18n for that) (as of whenever I checked)
There's guides for doing this on cn sites so it's not an isolated thing
same for console commands, it could be done at launch but that's about it
time to scope creep Casey 
(what site is it in this case? i doesn't seem to be the one i've looked into before)
iirc she was working on a bunch of 2.0 stuff for that, so it probably exists, just requires her to want to mod SDV again 
but yeah, a lot of i18n stuff can be worked around if you're willing to check language at launch instead
Now it's entirely likely that this is done by assholes selling mod packs 
been meaning to do i18n text for stuff like framework commands
-# in a non vr way, that is
Always have, but thank you for the tip none the less 🫡
For mod name in particular i think it should be elevated to smapi tbh
It benefits many mods beyond just gmcm
ah, yeah, the manifest name would be weird even in C#
The specific error they supplied makes absolutely no sense without an edit, so I'm assuming it's a reupload like Esca said
thanks for the detective work
Well they didn't give u full log
A stupider scenario is that this log message went through 2 mtl 
they never do...
Either way no log no fix
they also never answer when I ask for more info
DDFC对话显示框架续 failed loading content asset 'aedenthorn.DialogueDisplayFramework/dictionary' from the game content.
the stupidest would be if they translated my dictionary key so it breaks with non-translated mods
I've got a decently high log rate after pinning a post about it to every single mod, these days
but yeah, "log plz" -> never reply again is still common too
Isn't the only thing in the log translated the mod name?
That would fit with manifest.json edit
I'm guessing they used a normal DDFC-dependent mod, but installed the bootleg DDFC with the same mod key
so the non-translated DDFC-dependent mod is still looking for the old untranslated dictionary key
I mean that'd be really dumb but it's the only way I can make sense of it
mine are fully translated
Tbh I don't really want to harp on this more but isn't the asset name still 'aedenthorn.DialogueDisplayFramework/dictionary'
oh it's reuploaded on two sites
The reason of my confusion is that these pirate sites are very unlikely to have changed C# mod 
That's too much effort for them
er- right... the DDFC-dependent mod tell CP to use that dict key not DDFC... no clue then 🤷
weird, I only found one
DDFC is? feel free to DM me the links pls
So I'm looking into approaches to fixing my translation related issue - and I was considering just invalidating some caches if the game switches locale so it reloads the data with the associated translation, but this feels weirdly dangerous
I'm not familiar with doing stuff like invalidating caches - should I look for another way around this problem or am I just worrying too much
again i am not familiar with c# but would you want to consider using the vanilla Strings files? because you can add stuff to the Strings data models through the asset pipeline and then just put the LocalizedText field in your object data
I think
I am just guessing here from what I know about the data files itself, not about anything i know about how C# modders make items
but this would imitate the vanilla objects more
well, usually C# modders just use content patcher and stuff, but I had to be quirky about it and set up my own way and I dont think that approach will work with my method unfortunately
you are using the asset pipeline for your items yes?
if you're just clearing the cache once when the player switches locale, I don't see any harm in taking that approach if all else fails
modifying the assets dictionaries manually with new item data and that works fine for everything but translations
hm
Yeah hopefully. I don't know how invalidating caches interacts with other peoples mods though. Id rather not accidentally flush away everyone elses items or something
I think I'll just have to test that though 🤷 sometimes it be like that
is there any way to make the game reload a spouseroom into the farmhouse after a certain trigger?
currently it seems to only look for that after marriage events or reload save
nah, cache is in essence meant to be temporary and expected to be cleared "randomly"
if you encounter a mod that breaks from having its cache cleared, they were doing something really sketchy in the first place 😅
dodging the asset event system and just editing the cache is the same kind of behavior, though 
So you see how vanilla items use [LocalizedText?]
though I may be misreading the logic there
I'm using OnAssetRequested to edit the dictionaries so it still should work fine with the pipeline, I'm just not sure thats how it should be done at all. So far its worked fine with other mods invalidating caches.
ah, nevermind then, I thought you might've just been editing the game's cached dictionary instances or some such
(e.g. Game1.objectData exists, but shouldn't be directly edited)
AssetRequested happens when something's not cached & any code tries to read it from Game1.content or similar, so invalidating it when you need that to change is fine
CP packs essentially invalidate things whenever the data needs to change, e.g. on day start
hmm ok I'll have a read through this. it looks like it might be what I'm looking for
is this where I showcase my mod lol
You'll have to get someone with the mod authors tag to help ya with that. Its some bot command that they can use to push it to #mod-showcase
So by caches do you mean like your mod's own objects or do you mean the content pipeline
private void OnLocaleChanged(object? sender, LocaleChangedEventArgs e)
{
ModAssets.ApplyMassTranslations();
this.Helper.GameContent.InvalidateCache("Data/Objects");
this.Helper.GameContent.InvalidateCache("Data/Machines");
this.Helper.GameContent.InvalidateCache("Data/BigCraftables");
this.Helper.GameContent.InvalidateCache("Data/Buffs");
this.Helper.GameContent.InvalidateCache("Data/Events");
this.Helper.GameContent.InvalidateCache("Data/Mail");
this.Helper.GameContent.InvalidateCache("Data/Weapons");
}
this is what I'm looking at so far
It seems. bad to do that.
okay there's no need to do this
Game yeets the content manager on locale change anyways
huh ok lemme try removing those invalidations see if it does that anyway then
It is recommended to use the Strings system instead of invalidating the Data/Objects and such
You can see how vanilla does it with object names 
No need to use Strings/Objects with
Fine to make ur own strings asset like Tofu.Magic/Strings
As long as it's a string string dictionary u good
Monthly mod stats time!
Mod compatibility
79.1% of SMAPI (C#) mods are compatible or have a workaround, up from 78.5% last month.
Unique mods by type
September was another productive month, with 422 more mods.
A new framework mod has also entered the fray: Furniture Framework has reached the 100 content packs needed to be tracked separately in these stats starting next month. Congrats to its author @woeful lintel! 
The breakdown of new mods by type is:
- +313 Content Patcher;
- +48 SMAPI;
- +32 Alternative Textures;
- +16 Fashion Sense;
- +4 Farm Type Manager;
- +2 XNB;
- 0 Better Artisan Good Icons;
- 0 Dynamic Game Assets;
- 0 Shop Tile Framework;
- 0 TMXL;
- -1 Custom Furniture;
- -1 Custom Music;
- -1 Json Assets;
- -1 Mail Framework Mod;
- -3 Producer Framework Mod;
- and +14 for frameworks with <100 content packs.
Content Patcher packs
We have 12,303 Content Patcher packs.
The 1.3 format version mentioned in old unofficial guides has finally dropped out of the top five, replaced by the recent 2.7.
The top five Format versions are now...
- 2.0 (3,640 ↗ 3,696), 2.3 (829 ↗ 855), 2.4 (620 ↗ 639), and 2.7 (450 ↗ 486) for Stardew Valley 1.6;
- and 1.19 (561 ↗ 567) for Stardew Valley 1.4.
Open source
- We have 3,637 tracked C# mods, of which
- 2,287 mods (63%) have a source code repo, with
- 1,210 (53%) in a multi-mod repo and 1,077 (47%) in a single-mod repo.
Web costs
And finally, web hosting costs for the SMAPI.io site, update-check server, and API held steady around US$245/month. (The graph is always a bit behind due to billing cycles.)
See also
- Stats for ← August 2025 • October 2025 →
- Full mod dump (73 GiB)
- Download all open-source mod repos
- Dynamic view of mod dependencies
And that's it for this month!
niceee, congrats on 100 content packs leroy!
why is 2.0 format CP packs on the rise, is it cus un-updated CP tutorials or
Content Patcher 2.0 has automatic migrations so older content packs still work. For example, an old content pack which edits Data/objectInformation still works even though that asset no longer exists (it was replaced by Data/Objects with a completely different format). When that happens, it shows a warning in the SMAPI console that the content pack is outdated and not guaranteed to work. So a lot of the uptick may be mod authors updating old content packs to the minimum format version to remove the warning for their mods.
ah, that makes a lot of sense!
Hello guys who knows how to create modifications! I have an idea for a small mod, the essence of which will be that the numbers in the buttons on the elevator in mine will be painted in a color corresponding to the theme of the floor. For example: Lava caves are red, ice caves are blue, and so on!
Huh I'm surprised how few C# mods there are. Are some of the other categories also including C# mods?
That could be pretty neat yeah!
I would try seeing if the mine levels have unique LocationNames https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/tokens.md#LocationName
You can install the "Debug Mode" mod to quickly check
Nope haha they are sooooo many CP packs
there’s an upcoming GSQ for mine levels in 1.6.16, right?
C# mods are only in the "SMAPI (C#)" group. For example, Json Assets counts as one under "SMAPI (C#)", and content packs which use it appear under "Json Assets".
(There's a lot of C# mods, it's just that there's even more Content Patcher packs.)
What about mods that are made up of a C# mod and a content patcher mod? Are they counted as both?
Or rather does that count for 1 in each category?
The stats are based on the individual mods; so if a download includes a C# mod and a Content Patcher mod, each will count as one towards its own category.
^
Well fair enough! Still a wild amount though
Do you manually track if mods are broken or is there some automatic thing for it?
difficulty and deepest level checks, yeah
https://stardewvalleywiki.com/Modding:Migrate_to_Stardew_Valley_1.6.16#Game_state_query_changes
oh and a "what level this location is" one
SMAPI itself detects when C# stuff is broken or packs can't load at all, but the data is manually* maintained at this repo and displayed at smapi.io/mods
https://github.com/Pathoschild/SmapiCompatibilityList#readme
(it used to just be on this wiki page, but the wiki update logic isn't geared for that & it started killing the site
)
https://stardewvalleywiki.com/Modding:Mod_compatibility
broken in C# meaning it was touching renamed fields/methods/etc that a game version changed & SMAPI's rewriters can't auto-fix it
(I spend a day each month updating the compatibility list: adding new mods, running malware analysis, updating info when it changes, retesting updates for mods marked broken, etc.)
are you asking someone to make it or how to do it yourself?
I just shared an idea that came to my mind, I myself am completely zero in developing mods 🙂
itd prob need C# unfortunately, there's only 1 button texture used for all floors
Christ that sounds like a task and a half
Oh ok, that makes sense!
(what's the malware analysis?)
(Running mods with process monitoring to detect any unexpected file access, network calls, process launches, registry changes, etc.)
You ever had any hits with that? I can't imagine there's too many people making scam stardew mods
There was a malware mod uploaded a few months ago. It was coincidentally caught quickly by the community, but it led to some security changes like that (along with others like SMAPI's new malware blacklist which is synced live from the server).
Also oh no now my mod that claims to be a recreation of Minecraft in stardew but actually just searches your computer for a Minecraft executable and runs it is gonna be ruined
(This month it also caught a mod enabling the Harmony debug log, but the author had already released a patch for it.)
Damn that's wild that people would do that. I know stardew modding is pretty big but I didn't expect it to be big enough to attract malicious peeps
!modideas you might like to put it on the mod ideas GitHub page, maybe someone will pick it up!
If you have a mod idea that you aren't planning to make yourself, you can put it in the mod ideas github: https://github.com/StardewModders/mod-ideas
However, this does not mean anyone is guaranteed to work on your idea—modders who are looking for ideas sometimes go through and work on what they find interesting off this list. If you want to pay someone to make your mod idea, there are a few people who do commissions (mostly art, sometimes code); you can ask around, search usernames for the word comms, or see !commissions.
it's semi-common even with games smaller than stardew, the effort to upload a fake mod is relatively low
though Nexus does automatically ship everything to VirusTotal these days, which trims some things
(virustotal didn't catch either of the malicious mods)
yeah, it's not at all thorough, but I assume they manage to vet some things with it 
Better than being too thorough and getting false positives though
I mean, it still does that LOL
Windows defender kept trying to convince me my own mod was malware
it definitely gets weird false positives sometimes
Oh then I got lucky with not getting screwed by nexus mods then
It's not so bad, you can just contact moderation to get it fixed
but every so often, it happens
That's good, but with how customer support is nowadays I get a sense of dread even thinking about contacting them
From what I understand it's more of a "send an email, get a reply later that it's fixed" situation
Sometimes you can even fix it by changing your archive compression and re-uploading
Well that's good to know incase that ever does happen
it's a little harder when defender or equivalents keep people from running the mod, but it's relatively rare and they can technically get around it
iirc one of my framework builds was blocked on Mac or something despite barely any changes 
but yeah, easy enough to work around
Good good
Aw damnit. I just pushed an update to my mod and immediately after got a bug report and a compatibility issue from a previous version. If I'd only waited a little bit before pushing the update
sometimes i think users specifically wait until an update goes out to trigger their bug report behaviour /j
Hah maybe
it make sense cus ppl dont go to page until update
post-update clarity is worse, where YOU find a bad problem immediately after updating.
because why did my dumb brain wait until right then to create this situation
Any resources on maintaining consistent SMAPI interfaces with different zoom levels?
Specifically trying to get my iMinigames to keep the same aspect ratio no matter what the player's zoom level is
there's some advice here about adjusting for zoom and UI scale that might help
https://www.stardewvalleywiki.com/Modding:Modder_Guide/Game_Fundamentals
Thanks, I missed the Effects on SMAPI Mods section before.
Ugh and here I thought I was almost done 
Does anyone know where to find a tutorial for creating a quest?? owo
have you looked at the wiki page? [[Modding:Quest data]]
Oh thank you!! I was just struggling to find it so much appreciated :3
Before I get started with my mod, are there common oversights to keep in mind when adding accessories/hair via FashionSense?
funny mod idea
hornet npc mod
lmao
Or alternatively
Replace bats with Aspids or smth
You tryna traumatise people?
God I hate primal aspids...
where can i get a reference for a spacecore OnItemEaten trigger?
do you mean you want an example of how to use it in a content pack?
Hornet npc that just dashes at you and shouts. Alternatively, hornet npc thats friends with Emily bc she loves sewing
yes
it looks like spacecore docs don't have one, but you would just put spacechase0.SpaceCore_OnItemEaten as the trigger and the condition would be a GSQ for the item. everything else would just be a trigger action as normal
i just don't get where i should place item id
https://stardewvalleywiki.com/Modding:Game_state_queries#For_items_only if it's just one item, check out ITEM_ID
yes lmao
does anyone know if there's a mail flag or GSQ for robin's shortcuts?
the mail flag communityUpgradeShortcuts
thank you!
almost forgot, also make sure to check on the Host player
implementing exciting new options for malicious CP packs
"ExampleEntry": {
"ActionType": "DespawnFurniture",
"Condition": null,
"Settings": {
"Location": "Farmhouse",
"TileCondition": "EXACT 8 8",
"ItemMatchData": {"Id": "(F)2048"}, //default bed
}
}```
lol
anyone know why those little corners of floor under the ponds are happening?
doesn't happen on the default flooring
I would normally say the corners are part of the structure, but... they don't with the tiles, that's odd
is this some weird edge case because fish ponds are generally not in a place you can decor the floor?
it does look like it's showing default flooring or some such, but idk what interaction would cause it
even weirder, the other room does it, but to the default floor it had normally
so??? lol
well at least you can stick some path over it
try a well
seems fine
hm maybe not, lemme try a darker carpet
ok yes good call
am i somehow the first to try and slap outdoor buildings onto deco floors...
That seems really odd
grab my fish factory mod if you wanna try it on your end
I can't think of any reason for that to be happening since walls and floors are just tiles?
yeah it's weird
those areas are zoned with tiledata
maaaybe it's somehow the default floor numbers
hm
I'm gonna take another look at the floor code
changing the floor ID to not have a default number seems to have set them back to the default wood
reloaded save and now it's the map tile at least i guess?
that's so weird
oh hey
i moved them at robin's and now it's fine?
so i guess it's an update thing hmm
sleeping and reloading does not fix it but moving the building does, it is a mystery
very weird
i can make a note on the mod page i suppose
maybe mention it in the 1.6.16 thread too
I have no idea how that's happening but it's worth noting
i just don't think it normally would happen in the game so it was overlooked i guess
why it happens tho no idea
yeah all the wall and floor code I can find just reads raw tiles from the map data
so what is the order of operations that causes the issue?
i'll add that to the thread, sec
make the PIF room, order a building there, change floor
and PIF is?
personal indoor farm
PIF is a framework for new rooms in your farmhouse.It's especially useful on tiny farms and in multiplayer, as time stops in that room on days when the player didn't play.Access to your pe
so onto my next idea,anyone know what's the play for large storage now that better chests is unlisted?
https://www.nexusmods.com/stardewvalley/mods/30323 apparently this i guess?
that seems...maybe excessive
guess i'll just make it as large chests
is there a better way to make the chest freezers on my joja storage room into usable fridges than my current plan of using expanded storage to make invisible uncraftable custom fridges and place them there manually
FTM can spawn one-off placed BCs with a flag that prevents players picking them up (short of using mods), if that helps, but something more specific might exist
shit what's gonna happen to these when the room upgrades tho...
anything in the fridges would prob get lost
or there would just be invisible fridges...somewhere in the room
either pivot the map changes so those tiles are the same, or use move commands? I forget whether any are vanilla, but PIF might have some, and I think a couple others do
(iirc either button or chu made something for that)
(not seeing it in BETAS, and it's possible I confused it for the vanilla map thing)
PIF has a thing for initial items that can spawn them in i think
but moving...eh
hmm
i suppose i could make these into proper movable chests and just let the player move them
not sure if that's more work than it's worth or not
Chu has a thing that moves furniture on upgrade, I assume MMAP
i'm surprised that there really don't seem to be any compatible chest expansion mods currently
ah, yeah, here's what I was thinking of
no idea if it applies to whatever PIF does, though
https://github.com/Mushymato/MiscMapActionsProperties/blob/main/docs/actions.md#farmhouse-upgrade-relocation-solution
smapi.io lists it as compatible, but comments since the last update mention it needs updating
usually modders are all over the chest expanding amirite?
thanks esca
that's a direction to look into at least
that also seems like it has other features i might want, and other PIF mods are also using it for things, so cool there's some user overlap
locationName: This is the (optional) location name. It defaults to the player's farmhouse and only need to be provided if you want to use this action on a different location. There are 2 special values:
this seems like it would do it
think i'll save this for later tho, thanks yall
honestly, vanilla big chest kinda solves most of the problem
and mods make managing the contents of multiple chests trivial
what could be a possible reason for a map not loading, but no errors in log?
you sure it's the ID you think it is?
Map or location?
And how are you discovering it hasn't loaded?
i did a patch summary and for the map load it said loaded [X] conditions [X] applied [ ]. i can't debug warp there
Is this the mountain pass?
Can you share the log too please?
sure. it's very messy i'm warning you now. if you want me to restart the game so you get a clean log lmk
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.22631.0, with 29 C# mods and 15 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
Did you add any of this after starting the game session?
anything relating to the mountain pass? no
but i did a ton of work on night tiles etc
patch reload wont magically make the game rerun the location logic to create mountainpass
Try exiting the save and hopping back in
just exit to main menu and create/load a save would run it
oh my god it's that i was in an old save to test the roof. creating a new save worked
Easy fix, woo
but that brings up another question, which is: are people going to have issues with their current saves if i release this?
I don't think it's likely that the problem that was it was an old save, because loading the save should've run the location code. I think it's more likely that when you loaded the save you had that patch or include commented out or otherwise not included in some way and then you enabled it and patch reloaded, but that didn't re-run the location code so it still didn't create the location.
But you can test that theory by trying to load that older save again and see what happens.
i didn't change it, but i think i probably changed the config in preparation to work on it later
which would make sense if location creation only runs on load
Yeah if that include only gets included based on a config setting and that setting wasn't chosen when you loaded the save that would also do it
should i tell people not to change configs mid-session, or should i put the patch that creates the location outside of the gated included file, so that everyone has that location even if it's not used?
Probably best to put the map and location outside the include and then just put the warps and things into the include, because people aren't going to read your warning and you'll get pointless bug reports about it lol
smart lol
agree strongly with "don't allow a config setting to break your mod"
i also agree strongly with this and would consider it a bug regardless of what was written in the mod description personally
unless you wanted to bump the major version number, where the expectation is that things dont necessarily need to be backwards compatible
you know how poohcore lets you make character of a bigger size then 32x16?
wait actually
nvm i hada question but i think it should be fine
im sure bigger npcs r still marriable
.>
i got a request to make my spoider person marriable lmao
hey! do other commands still run while a character shakes during an event?
Trying to find an example pack to model my own AT mod off, essentially I'd like to make a config menu that allows players to choose which retextures are avalialble in the AT menu. Anyone know of something similar I could work from?
currently i have the four seperate styles as just different mods, but it would be much better to make it one mod with gmmc support
I don't see support for GCMC being listed anywhere, but isn't the point of AT that the user can choose in the AT menu already
I think you'd just merge your 4 AT mods
It has content patcher integration which should allow use of GMMC
This is my current idea for how it might work, would something like this even be possible?
"Format": "2.0.0",
"ConfigSchema": {
"Chest Style": {
"AllowValues": "Style 1, Style 2, Style 3, Style 4",
"Default": "Style 1"
},
"Big Chest Style": {
"AllowValues": "Style 1, Style 2, Style 3, Style 4",
"Default": "Style 1"
},
"Stone Chest Style": {
"AllowValues": "Style 1, Style 2, Style 3, Style 4",
"Default": "Style 1"
},
"Big Stone Chest Style": {
"AllowValues": "Style 1, Style 2, Style 3, Style 4",
"Default": "Style 1"
},
"Junimo Chest Style": {
"AllowValues": "Style 1, Style 2, Style 3, Style 4",
"Default": "Style 1"
}
},
"Changes": [
{
"Action": "EditImage",
"Target": "{{PeacefulEnd.AlternativeTextures/Textures:7eventy7.StockedSorted.Chest_0}}",
"FromFile": "Textures/Style2/texture_0.png",
"When": {
"Chest Style": "Style 2"
}
},
{
"Action": "EditImage",
"Target": "{{PeacefulEnd.AlternativeTextures/Textures:7eventy7.StockedSorted.Chest_1}}",
"FromFile": "Textures/Style2/texture_1.png",
"When": {
"Chest Style": "Style 2"
}
}
]
}```
Then repeat the changes for texture_0.png thru texture_47.png for each of the five chest types
not sure if my target is setup correctly
oh yeah I just saw that section; seems like that'd do what you want
can you make larger than normal characters mariable when using poohcore and how would that effecct events such as flower dance, if anytone know
poohcore shouldn't interfere with a character's marriability
idk about the flower dance, you can always test 
true
ok ty ty
ive just had someone ask if my character i wanna make using it is marrriable X3 and i thought id ask
I believe all poohcore does for bigger NPCs is is unf*ck the pathfinding/collision if an NPC is specified to be beeg
aaah
everything else (including actually drawing the big NPC itself) is pure vanilla
One question i cant exactly figure out, but the content patcher and at packs should be seperate right? Should they be two folders in the base /mods directory or organized together?
So either
-> /Mods/Stocked and Sorted/(CP) Stocked and Sorted
->/Mods/Stocked and Sorted/(AT) Stocked and Sorted
or
-> /Mods/(CP) Stocked and Sorted
->/Mods/(AT) Stocked and Sorted
Awesome!
one folder can be easier fore mod users to keep track of
interesting code observation: after lewis announces the result of the grange competition, when setting the other competitors' dialogue the game keeps track of the player's relative placement against all of them, even though the only thing that matters is that whether pierre or the farmer won (and even then only for pierre's dialogue)
(Event.interpretGrangeResults)
The only issue with bigger NPCs is their pathfinding is very wonky, which Poohcore helps with, but it's still got some quirks - not sure your NPC would be able to leave the farmhouse, for example. But it doesn't interfere with marriageability.
aah i see
Marriage schedules for NPCs is kind of cursed anyway, so if you're interested, just test what schedules you'd like to do and see if they actually work
but like dialogue won't be affected.
pulling my hair out after i messed something up xd
What does this mean?
at System.IO.Enumeration.FileSystemEnumerator`1.CreateDirectoryHandle(String path, Boolean ignoreNotFound)
at System.IO.Enumeration.FileSystemEnumerator`1.Init()
at System.IO.Enumeration.FileSystemEnumerator`1..ctor(String directory, Boolean isNormalized, EnumerationOptions options)
at System.IO.Enumeration.FileSystemEnumerable`1..ctor(String directory, FindTransform transform, EnumerationOptions options, Boolean isNormalized)
at System.IO.Enumeration.FileSystemEnumerableFactory.DirectoryInfos(String directory, String expression, EnumerationOptions options, Boolean isNormalized)
at System.IO.DirectoryInfo.InternalEnumerateInfos(String path, String searchPattern, SearchTarget searchTarget, EnumerationOptions options)
at System.IO.DirectoryInfo.GetDirectories(String searchPattern, EnumerationOptions enumerationOptions)
at System.IO.DirectoryInfo.GetDirectories(String searchPattern, SearchOption searchOption)
at AlternativeTextures.AlternativeTextures.LoadContentPacks() in C:\Users\Floogen\Documents\GitHub Repos\AlternativeTextures\AlternativeTextures\AlternativeTextures.cs:line 1012```
Is it looking for a /Textures folder inside of the content patcher mod?
The CP version only needs an asset folder, or at least it was just working with that setup
the py script is just to make this list
what's the manifest of the CP mod like
the ContentPackFor field for the CP mod is wrong
seems you accidentally broke it while using the script?
Ohhh it should be my id?
it should be the ID of content patcher, since it's a content pack for content patcher
also you should probably make the CP mod depend on your AT pack instead of AT directly
maybe both?
well the mod it's depending on is depending on AT so it's a bit redundant
The AT docs for CP integration say the dependency needs to be on AT
So it might work by doing a dependency on your AT pack but if it doesn't, switch it back to AT
it did not lol
(Or add AT too, since it does make sense having a dependency on your own pack)
ye just read logs and saw that
alright everything works now :p
i had to make a py script to write this lol
I think it's time you consider our lord and savior local tokens
I'm confused, could this make the code more concise?
you have many blocks that do the same thing but with minor differences between them. with local tokens you can define a json file with "variables", and then include it multiple times albeit with different variables set
I'd say it can shrink your content.json by at least 75%
obviously since you already have a script to do the codegen it isn't terribly useful at this point, just something to consider for the future
(and since CP still can't do for loops there's still some minor duplication)
debating on if i should release my void coffee as a standalone mod, or make a few more items and then release it
i mean, if you want it standalone, like you think it's fine on its own, release it
but if you want to add more stuff, then go ahead.
But do be aware that if you start developing a pattern of releasing single item mods you risk getting in trouble for DP farming
Can someone who uses the mod to test cutscenes check if the "remove flash effects" setting makes Emily's dance cutscene more epilepsy-friendly?
how do i make a food item deduct health and or energy .. do i just use a negative number for edibility?
like if i wanted to deduct 25 energy from consuming this food item i put -25? or
oh im silly i didnt realize theres a value for edibility anyway
is there anywhere that has the sprite sheet numbers for the dance sequence at flower dance written down, i wanna put these images together to make sure it looks right before i start on something else but idk how to input them XD
the sprites are different depending on if your npc is male or female
🙂↕️
yea i just need to figure out the order the game inputs them so ican copy it and make sure my images look ok in coimparison
because my character look a lil different
negative up to -300 (inedible)
but it only detracts energy, for health you need to use spacecore
ahh oke, might just stick to the deducted energy for now
now im just gonna figure out how to make this coffee a loved item for kent but neutral for everyone else LOL
yeh its more inline with vanilla items anyways
add it to neutral for umiversal likes and then add it again to kents love
That is the order that the game uses, so I'm guessing that you just need to make sure your sprite indexes are the same (meaning make sure your dance sprites are on frames 40-43 (and maybe 44-47, I'm not sure how they work exactly)
i guess it takes like. what normally would be the index, and.. shifts it over for however large your npc is? (im just guessing)
what does delimiter mean in this context ?? do i leave it blank or should i put kent and a dialogue for him?? 😭
keep one space thete
it just means "delimiter to put between this new word and everything else in the list*
which is a space for gift tastes
oooh
for kents love you need to do something else, right now you made everyone love it
you know how gift tastes are like
/94 100 category_fish/, the blank space is the thing
ah
mm void coffee ☕️ LMAO anyways
I would absolutely consume void coffeet bh
it probably tastes disgusting just how i like it
so would it be kinda like
"kent":"heyy, thats the strong stuff!"/basemwnt.voidcoffee//," ?
using the format from the wiki ]
err I havent done unique gift response before so not sure
if wiki says so then prpbably
you can use lookup anything to double check their gift tastes.ingame to make sure you didnt break anything
oh ok then just add to his normal loves then
ine sec
Unique gift responses are a dialogue thing, not set in NPC gift tastes. They're the "AcceptGift_<id>" key.
Do they automatically add to the gift taste data too? thats what im not sure on
or do you need to edit both
I'd strongly expect you need both because the dialogue doesn't impact friendship points
ok so it will be like this then?
"Operation": "Append",
"Target": ["Fields", "Kent", 1],
"Value": "basemwnt.voidcoffee",
"Delimiter": " "
}```
also i have yet to decide how much voids you need to make the coffee so i just set it to 99 void essences 
Yeah that looks right to me
idk maybe thatll change when i decide to add more stuff in future updates
(Also Dottie did you leave the server and come back? I thought I saw you were gone the other day)
ah i lost my main account if thats what you mean
Ahh that sucks, sorry to hear that
yea :,3 2fa fucked me over LOL
but the mods helped me get my levels back n such so thats good
I also see you have "is / it" in your pronouns field. I usually refer to you as it but I'm unsure how to use "is" as a pronoun for someone. Could you please give me an example so I can make sure I use that correctly?
Oh! Okay haha. Glad I'm not just being obtuse lol
anyways im fine with feminine terms too incase you struggle with the its pronouns xdd
im aware not many languages in general have neutral pronouns for humans, let alone non-human pronouns 😭
Nope, I have no issue with it and its! If those are preferred over feminine, that's what I will keep using.

(Sorry to derail the actual mod talk haha)
LOL its fine ))
i meant more like how many times each sprite is used in which order
sorry i wasnt clear
i got it though i found a video and just counted everything :3
littol dance
phew doing that really helped me find what i did wrong and wanted to change tho :3
Ah, that would just be a case of looking at the vanilla sprite sheets normally but I'm glad you figured it out :)
centaur spider
go centaur spider go 🗣️🗣️🗣️
i can dm u her full proper art if youd like a better look shes based off a jumping spider :3
maybe i should straight up make a centaur... i always loved drawing horses (lie)
its so fun
I can't adapt the word "centaur" to a spider one because centaur has an unknown etymology 😭
i may have slight arachnophobia but jumping spiders r the exception
thats why i chos those!!!
theyre the only non spooky one
i have another spider character but he's based off ascary spider so i cant draw him 😭
I like lots of spiders but jumping spiders are especially cute
spidertaur... well maybe taur is the same as in taurus? no clue.
maybe shes a taurus zodiac too
people normally use taur anyways
The only suggested etymology that I found was either "bull-slayer" or "piercing bull" yet there are no actual bulls involved anywhere 
And they are wrong /j
ykw ima include an i18n compat so people can translate my stuff :d
-# tbh i did alot of translations anyway so im used to having the i18n file in the folder
if only i remembered enough spanish to make it useful
It is a good practice to always have i18n (or other translation-enabling approaches) for any mod that has player-visible text 
i may use google translate for my personal translated mods but im holding back on using it for my own mods LOL
wuh oh, smapi is giving me red about the npcgifttastes json
uh o
oh it was bc i used the unique id and not the item id
oops
i had it as basemwnt.voidcoffee LOL
ah i forgot about the buffs too, but oh well i just need this to work
i should not code when i feel sleepy bc trying to understand how to add buffs to items is confusing me more than it should LMAO
okay smapi STILL gives me red no matter what i do for the npc gift tastes
it says its not a valid json
idk about you but this seems like a json to me 
( changed kent to harvey so i can test if it works )
-# i havent met kent yet in my saves lmao
also even if i changed the secondary value to match the first value ꒰ since i noticed that oops ꒱ it still gives red
the 1 might need to be a "1"
ah i see
you're missing a [
you're missing... a bit actually
Nope, that is not valid. Your brackets are wrong
the main issue is the second clause is not where it should go
so should it be above the universal neutrals? or am i misunderstanding
by the way you spelled neutral wrong
-# ah
ahh oke oke
You should end up with the curly brackets before and after your second text operation being purple like the first ones are
Yeah, but hit Shift+Alt+f on your keyboard so it fixes the indentation
I never use it on my own files because it messes with my carefully linespaced commenting but I use it all the time when I open other people's files lol
and is the harvey/meant-to-be-kent fine where it is or should i move it back above the neutral section?
Don't think it will matter
ah oke
This isn't one of the situations where your edit order will matter, because the game itself is what causes individual gift tastes to take precedence over universal ones.
oooohhh
also how do i add buffs? i wanna add +2 speed that lasts for essentially the whole in game day but im getting abit tangled up with all these words lmao
the wiki isnt helping me much about the entire like, format for adding buffs,, just what words to use
-# its 5am for me rn im drinking coffee
Look up a vanilla object that adds buffs and copy that in, make sure it works in game, and then adjust it to be what you need
And if you're trying to understand what a particular field means, you can ask here for someone to expand on the wiki explanation
Man
Im either gonna make a whole seperate file as an additional file or make a gmcm menu for a config to change my npcs gender (they can switch between both) but i dont wanna do all that lmao
Do all that in a “make more sprites for it wat
Everything else would prob b easier
most of their dialogue im gonna try to keep pretty genderly neutral so it would just be a need of switching the sprites/portrait around prob 🤔
only non gendery pronouns to refer toself
(although they use any pronouns to be exact)
this bodes not well
nvm she workin i just dn how to to if possible at all to get the picture centered lol
LOL IT STILL SAYS GUMMI
(im using gummis already filled out files to test my sprites)
I was trying to figure out what that was just from the glitched image. My only guess was someone flying around in the clouds Tornadus/Thundurus/Landorus style
When making a map for the sole purpose of an event cutscene, does it still matter what is on what layer? I know with the farmer the collision is usually turned off in events.
Actually collision is determined by. Something. At the start of an event. If you don't do it then you get stuck in walls. please look at the wiki for event commands 🥺
But i would still make the layers properly if i were you
Oh yes I know the command to use for the farmer
Yes, draw layers still matter and I think collision does still matter
Oh even with the collision command at the event start to turn it off?
However I have not actually tried to send NPCs into trees or whathaveyou so I can't be sure on that
Like i guess if it's something off to the side nobody is going near then making a bush entirely on buildings won't have any repercussions
(i mean, i do that to player proof my maps so nobody can walk off the map)
I'd guess collision are still based of layers, no? So in theory as long as there isn't anything on the building layer, it should be ok...?
I suppose you could use the ignoreCollisions command on everyone in your event, but that wouldn't stop draw layers from still mattering
It's very easy to change on the fly as well so if you want to check you can just try it as-is
Not me forgetting trial and error is a thing 
Sorry it's early and my brain isn't awake yet
My event-making is 90% trial and error lol
It's early and my brain hasn't gone to sleep
I wonder how weights work
well you're meant to lift them up and down. they don't do much
Have you seen scientific weightlifting YouTube
surprisingly not 
fixed the issue with why my spoider wasnt moving lmao now to test to see how flower festival works with her 🤔
Anyone good at math? I cannot figure out how to properly scale my viewport with the ui scale.
int screenH = (int)(Game1.uiViewport.Height / uiScale);```
ok
so
i found out what happens if someone bigger tries to dance at the festival
their invisible very sad
wait
i think i might have the code in wrong i just chcked smapi
when did this happen
hmm
it says it cant find an npc with mines name odd but i talked tot hem just before the dance =_=
ok im not finding an example on poohcore so maybe it just doesnt work
because im p sure my characters in there lol XD
how would I add steam to my map using the misc map properties mod again?
Aren't there like methods in Utility for this
//StardewValley.Utility
public static float ModifyCoordinateFromUIScale(float coordinate)
return coordinate * Game1.options.uiScale / Game1.options.zoomLevel;
public static Vector2 ModifyCoordinatesFromUIScale(Vector2 coordinates)
return coordinates * Game1.options.uiScale / Game1.options.zoomLevel;
public static float ModifyCoordinateForUIScale(float coordinate)
return coordinate / Game1.options.uiScale * Game1.options.zoomLevel;
public static Vector2 ModifyCoordinatesForUIScale(Vector2 coordinates)
return coordinates / Game1.options.uiScale * Game1.options.zoomLevel;
(disclaimer that I just trial-and-errored my way around this when it was implemented in the game* & don't know math)
bless thank you
i have an error log but idk which jsons youll need to go with it
https://smapi.io/log/cae8b33d217a48429463a38c18155a47
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 7 C# mods and 3 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
im gonna grab festivals because i think thats important and content though if you need another let me know
im using poohcore for a larger character for context
uhhhh so I'm trying to cheat my event to trigger, how would i input my info into this console command
NVM i got it! ..hopefully lol
okayyyyyy how can one tell the game to reprocess your file???
yup!
In c# it's something else but that's content patcher's way yeah
i have hours of debugging ahead of me-
Side note autocorrect tried to make that content pitcher for some reason, then correctly autocorrected to patcher when writing this sentence
Someone make my phone make sense
okay it didn't work as intended but i have to share how it looked here it was the funniest thing ever
You may need to make sure that you are using the year variants on the Set-Up_additionalCharacters and MainEvent_additionalCharacters fields
BOINGGGG
Not sure that's the full issue but it will cause issues if any other festival edits try to add NPCs with those fields appended with a _1 (odd years) or _2 (even years) to them and yours do not
Also do not use _3 unless you want to break everyone else's festival spawns
Festival of Ice also follows a different field name in vanilla, it has a hyphen instead: Main-Event_additionalCharacters
It's the only weird one that does that, but you do have to match it
Conveniently, the event command is textAboveHead <actor> \"<text>\"
oh? what should I put for actor then?
Hmm
lemme run it again?
Yeah, try it again and make sure you have escaped your quotes for the speech as shown
How are you running it? Through debug ebi?
yup
I've noticed sometimes that if I do not run it from the location the event expects to start in, NPCs might be missing
okay, restarted the day and krobus is back, but still no dialog
[game] Event 'HeadInTheClouds.Krob_N_Dwarf_Helm_Event' has command 'textAboveHead farmer You ready?' which couldn't be parsed: no NPC found with name 'farmer'. [game] Event 'HeadInTheClouds.Krob_N_Dwarf_Helm_Event' has command 'action Spiderbuttons.BETAS_TextAboveHead Krobus I believe so- 600 0 true 56160C' which couldn't be parsed: optional index 3 (int #Duration) has value 'believe', which can't be parsed as an integer.
and i did do the escaped text??
And you included the farmer in the initial character placement command?
yup
here it is:
continue/55 7/farmer 53 7 0 Krobus 54 7 0 Marlon -100 -100 2 Dwarf -100 -100 2 /pause 3000 /textAboveHead farmer \"You ready?\" /pause 1500 /action Spiderbuttons.BETAS_TextAboveHead Krobus \" I believe so- \" 600 0 true 56160C /pause 500 /playSound stairsdown /stopMusic /pause 250 /speed Krobus 7/move Krobus 9 1 2
I haven't finished the whole event btw, just the first segments
I am honestly not sure why the farmer error is occurring
Krobus error might be because of the extra spaces after the opening quote and before the closing quote in the speech
I honestly do not know if there is any difference to how the BETAS actions work in events
oh, i used the BETAS one cause it allowes for the text box to shake, and also the custom duration
I'll run it again with the spaces removed?
Yep, the error with that one is that it thinks the duration is your speech
Ah-ha, apparently textabovehead only works for NPCs
OH
It was mentioned in here about a month ago, I just did a search
that explains the farmer's text issue
i'll change the krobus one to generic for now
hmm is there a way i could have the text above head thing work for the farmer?
Typically the farmers "talking" is all done through dialogue questions and their thoughts are messages without a dialogue box.
In vanilla
hmm okay
and i don't feel like messing around with C#, i can just use an empty question for now
So you could do a question like "Should I say something?" or "what should I say?" Or leave the question empty
If you're set on the appearance of text above head, you can make an asset and use a temporary animated sprite/temp actor to fake it
not that much haha, I might do that later though!
personally i only allow the farmer to "say" words that the player chooses from question options (and the saying is implied by the choosing, so they don't appear in any other form)
I was hoping maybe the BETAs version would allow the farmer to work as an actor for TextOverHead but it doesn't mention that in documentation. Might have been too complex/out of scope
(The usual hack is to put an invisible npc there btw)
Oh that's clever af
I'm gonna try to make a C# again. I keep getting errors trying to use Custom Spouse Rooms 
Unless this is the universe telling me to stop making my mod lol
Literally my biggest setback
oh god, good luck
take 5, nothing happened 💔
TAKE 6 IT WORKEEDDDD YAY (still gotta fix stuff but hey!)
Is it normal to have this much trouble with moving rooms around? I try looking online for help but everyone seems to be getting it on their first try... I'm really struggling to make pre-existing mods work and to make my own C#
i have no idea what normal is (in this or any other situation) but my understanding is that the farmhouse is fucky and everything that touches it gets corrupted by its malign influence
that's just how it works
i mean grandpa is haunting it

you just gotta hack into 'the mainframe'
What does moving rooms around mean
Oh! Apologies!
Like if you have 2 housemates you can move where their rooms are located
Ah the thing custom spouse rooms does
I apologize for the ping from a stranger but if you haven't already tried it yet, action Spiderbuttons.BETAS_TextAboveHead Krobus \\\" I believe so- \\\" 600 0 true 56160C should escape it so it stops fighting back (I use it in a few events so I had the same issue oop)
It's true that farmhouse is just haunted
Oh I didn't ping at all even better
But at least this is a solved problem and custom spouse rooms is open source
@autumn tide
no worries!!
aa tyyy!!
Exactly, but I kept getting an error with custom spouse room T^T
I think Ive been trying to get the room thing to work for like over a week now
Imma go eat a sandwich and try again after
✨self-care ✨
YESD
I DID







