#making-mods-general

1 messages · Page 436 of 1

lucid mulch
#

Only debug commands that will misbehave will be ones that tell you where other NPCs are

verbal narwhal
#

(also frogs > sleep > phd)

wheat sundial
#

Can i import a mod in the middle of a multiplayer game?

verbal narwhal
#

im making frog things and tanks!

wheat sundial
#

like

wheat sundial
#

or will i have to restart?

autumn tide
#

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

lucid mulch
#

As long as everyone has the same mods with same config it's no different from adding mods in the middle of singleplayer

wheat sundial
verbal narwhal
autumn tide
verbal narwhal
#

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!

autumn tide
#

aah i just discovered music after getting new headphones for the first time so-

verbal narwhal
#

also, what hair color does a cursed/jinxed/enchanted frog prince have in human form

autumn tide
#

rainbowwww

shut edge
#

anyone know offhand if making an animal emit light is doable in a simple way?

autumn tide
verbal narwhal
# autumn tide rainbowwww

mhmmm i was more thinking of someone trapped in frog form for aaages and being an old timey prince

autumn tide
#

aah okay

verbal narwhal
#

like 90s disney prince haircut

autumn tide
#

like reverse princess and the frog

#

i love that :)

#

..1830s hair SDVpufferpleading

#

(i'm def not obsessed with 1830s english fashion)

little field
#

Hi

autumn tide
#

hello!

little field
#

Hello, howdy

#

Imma punch code

#

is that possible?

#

Maybe I should write an angry letter

autumn tide
#

hmm

#

print out your code and burn the paper

little field
#

Now to find a printer HSusKitty

#

I did find out about debugging mode and I love it so

autumn tide
#

wait i havent?\

#

what is it?

vernal crest
#

It's for C#

autumn tide
#

oh

little field
#

I cannot get the 2 spouse thing to work

vernal crest
#

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.

little field
#

I have T^T

autumn tide
#

can NPCs still do things like change directions and moving while they're shaking with shake?

little field
#

I looked at Free Love, Poly, and the adoption ref

Pain

#

I swear Imma figure this dang code out

shut edge
#

ah i see, EAC can do a glow

lucid iron
little field
#

Ye

lucid iron
#

this has various implications like where they go in festivals (besides your spouse) whether they have a room (they dont)

little field
#

Sorry I used 2 spouse a general statement

#

I do appreciate the ref tho

#

Its been waaaay helpful in learning

lucid iron
#

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

little field
#

I made a content road map first before I learned what I needed from the game to achieve it

#

Sorry GirlShy

lucid iron
#

is not something i need apology for

#

im just saying to consider your priorities yknow

little field
#

Right, I'll stop for now

#

Apologies again Gummy_Ghostie

#

I cant stop saying sorry

#

Send help

lucid iron
#

again, you did nothing wrong, certainly not toward me lol

little field
#

I knoooow its a real problem lol

#

I might make more cutscenes

#

Those are always a delight

autumn tide
#

events suck omg

little field
#

Wot

#

Theyre so fun to make

autumn tide
#

huh?

#

they're fun to write but omggg the cocding 💔

#

coding

little field
#

Yeah! That's the fun bit, well for me

#

I become hacker

autumn tide
#

I'm jealous-

#

uhh any parts you find tedious that aren't coding-y? maybe we could help each other lol

little field
#

If you want help with events-

#

:D

autumn tide
#

YES

#

omgggg can I pm you with my mod doc?

little field
#

Okay!

#

Now this I can do lol

vernal crest
#

I find testing events very tedious but figuring out the right commands can be fun

lime maple
#

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?

calm nebula
#

that is not doabble

lucid iron
inner harbor
#

I enjoy writing events but coming up with ideas for them csn be a challenge.

little field
#

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

ashen thunder
#

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

slow basin
#

i enjoy designing and drawing then coding but gotta do it for it to work XD

balmy python
#

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

tiny zealot
#

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

verbal narwhal
#

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 sadyeehaw

#

it has some entertaining value at least

balmy python
tough narwhal
#

prob complex af as ichortower described but i'll check the wiki again !

tiny zealot
#

also you can always ask questions on here if you need help with a particular thing

balmy python
#

Thank you guys!

balmy python
tough narwhal
#

it was event lookup ! but it hasn't been updated for 1.6 i think (?) there's other recommendations ichor suggested too

tiny zealot
#

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

balmy python
#

Then it probably wouldn't be a good idea to use that as reference then?

#

I'll search up Map Event Markers

inner harbor
#

@ivory plume May I please have another invite to the new github site? I was on vacation when it came through.

inner harbor
#

thank you!

gentle rose
#

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

vernal crest
tiny zealot
gentle rose
#

god that was

a thing that I did

#

I think I fixed it pffft

#

oh and it only has partial support for extended preconditions because it's a 1.5 mod in a trenchcoat

#

what. did I do

uncut viper
#

your best

#

at the time

gentle rose
#

yeah use this mod with a heavy pinch of salt please, it's awful

gentle rose
calm nebula
#

Dude VS just loves importing shit it shouldn't

gentle rose
#

I'm in Rider

calm nebula
#

I kept on having to kick out monogame types

#

Oh

#

Uh

gentle rose
#

and there's an import for the namespace of one of my other mods

calm nebula
#

Rider may not be a y better

balmy python
gentle rose
#

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

calm nebula
#

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

gentle rose
#

how could I hate lacey socks

calm nebula
#

Well they are at best 1/10th done rn

tender bloom
#

They’re Lacey, how could iro hate them 😛

quick sand
#

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?

oblique meadow
#

Did you put the code in twice?

quick sand
tender bloom
#

Send links to the parsed json

#

!json

ocean sailBOT
#

JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.

If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.

When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.

quick sand
wheat kelp
#

👋 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. SDVpuffersweats

#

I am.... Intimated

#

Yet determined

tender bloom
#

If you are interested in being pointed towards resources, definitely ask in this channel!

wheat kelp
#

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

quick sand
wheat kelp
#

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?

oblique meadow
#

!twocakes

ocean sailBOT
#

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.

oblique meadow
#

As long as it’s not a copy and paste you’re good

#

Makes it yours

wheat kelp
#

Thanks! That's encouraging.

urban patrol
quick sand
urban patrol
#

oh usually people use trigger actions to refer to a patch targeting Data/TriggerActions, my mistake

quick sand
urban patrol
#

looking at this i guess having both ID and Buff ID may be triggering it twice? try removing Buff ID

marble needle
#

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

GitHub

Stardew Valley framework which allows for bigger accessories, hairstyles and other appearances. Includes animation support and more. - Floogen/FashionSense

Stardew Valley Wiki

← Modding:Index

uncut viper
quick sand
#

jk removing the "Id" does nothing. removing the "BuffId" removes the buff completely.

urban patrol
#

yeah the ID itself is mandatory, but the Buff Id isn't. although i guess that's not your problem

uncut viper
#

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

urban patrol
#

(it's okay! i had edited it, so it's understandable SDVpufferheart )

#

plus i didn't know that it was solely for naming so i appreciated the clarification anways

uncut viper
#

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

urban patrol
#

man i have GOT to use more precise language lol

uncut viper
#

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)

urban patrol
#

yeah i'm stumped as well because it all looks okay

#

assuming no user error of like, accidentally eating it twice or something

quick sand
#

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

urban patrol
#

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

quick sand
urban patrol
#

you're not the first and you won't be the last

tough narwhal
#

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

quick sand
tough narwhal
#

okay! thanks :D

urban patrol
#

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?

oblique meadow
#

Yes

#

So basically add a warp when the map changes?

urban patrol
#

yep

oblique meadow
#

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

urban patrol
#

i should rephrase with the use of pictures. can i do something like the second image instead of the first image

vernal crest
#

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

urban patrol
#

i'll give it a try

oblique meadow
#

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

vernal crest
urban patrol
#

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

woeful lintel
#

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?

shut edge
#

@brittle pasture yo are you interested in myself or yourself making aquaponics have visual support for my fish factory

#

porbably just removing the sticks would do it

vernal crest
shut edge
#

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

vernal crest
#

It's completely open perms

drowsy pewter
#

i would suggest your end

shut edge
#

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

vernal crest
woeful lintel
vernal crest
brittle pasture
#

back to the hades 2 mines i go

woeful lintel
shut edge
#

thanks Selph

woeful lintel
digital oracle
#

I spent half an hour trying to debug why my custom dialogue wasn't working an turns out I just havent enabled the mod 😭

versed wyvern
#

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 think4

hard fern
#

uhh you can use like %?

#

can you not?

#

i dunno if that works in event tho...

hard fern
versed wyvern
#

Ooh... maybe? I haven't made active use of % yet so I'm unfamiliar with it

ocean sailBOT
#

@versed wyvern You leveled up to Farmer. You're now a prettier shade of blue. Thanks for sticking around!

versed wyvern
brave fable
#

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 SDVdemetriums

drowsy pewter
#

if it's added to spacecore, would that automatically pass to loc's menu as well, because elizabeth offered to pr it yesterday LOL

brave fable
#

yes, i use the displayname property* to get the displayname (i don't know what else i'd do lol)

drowsy pewter
#

okay awesome

brave fable
#

feel free to post the pr to spacecore, though no guarantees on if and when it'll be merged

drowsy pewter
#

i can talk to casey after wrt prs

woeful lintel
#

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

wanton pebble
#

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

drowsy pewter
#

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

wanton pebble
#

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

royal stump
#

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

fast plaza
#

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.

ornate trellis
#

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?

fast plaza
#

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?

drowsy pewter
#

you dont need to do anything else, maybe send a screenshot of your files or something

tender bloom
#

You relaunched the game or used reload_i8n?

drowsy pewter
#

by "not loading" can you explain

fast plaza
#

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

drowsy pewter
#

how new are you as a modder

#

Like should i be asking if this json file is secretly a txt file

fast plaza
#

nahhh it isn't dont worry haha

#

wait let me just double check

#

ok thank god it isn't

drowsy pewter
#

Lmaoo

#

uhh how about you just zip and send the mod folder here or in dms and i can look real quick?

fast plaza
#

post build or pre-build?

drowsy pewter
#

Oh it's a C# mod, I am not familiar with how i18n works with those

#

I wouldnt be able to help then

fast plaza
#

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

drowsy pewter
fast plaza
#

yeah I scoured that thing

drowsy pewter
#

damn

royal stump
#

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)

junior tiger
#

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

royal stump
#

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

drowsy pewter
#

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

junior tiger
#

okay, so manifest and content need to be top level and can't be renamed. The rest is fine?

drowsy pewter
#

yeh

#

The game itself doesnt see the files in your mod folder

fast plaza
#

oh nooooooooo I've discovered whats gone wrong and its gonna be an absolute nightmare to fix

junior tiger
#

Thank you very much for you help, I appreciate it! I'll no longer distract now ❤️

drowsy pewter
#

you're always welcome to barge

fast plaza
#

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

drowsy pewter
#

ah

woeful lintel
#

btw, @junior tiger, make sure you have extensions visible in you file explorer, that will save you some headaches

dusk terrace
#

I'm confused, does that mean there's a chinese knockoff of DDFC that's throwing errors? SDVpetcatsad

#

or is there a translation framework that translates mod names? I don't get it

royal stump
#

from what I can tell, yeah, it looks like someone modified it and uploaded to a CN mod rehosting site SDVpuffersquint
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)

woeful lintel
#

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

royal stump
#

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

lucid iron
#

So that it's Chinese on gmcm

#

Mod name localization when pls great and mighty pufferchick

royal stump
#

(oh right, I keep forgetting there's no i18n for that) (as of whenever I checked)

lucid iron
#

There's guides for doing this on cn sites so it's not an isolated thing

royal stump
#

same for console commands, it could be done at launch but that's about it

gentle rose
#

time to scope creep Casey SDVpuffersquee

iron ridge
royal stump
#

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 SDVkrobusgiggle

#

but yeah, a lot of i18n stuff can be worked around if you're willing to check language at launch instead

lucid iron
#

Now it's entirely likely that this is done by assholes selling mod packs medlook

royal stump
#

been meaning to do i18n text for stuff like framework commands

junior tiger
lucid iron
#

It benefits many mods beyond just gmcm

royal stump
#

ah, yeah, the manifest name would be weird even in C#

dusk terrace
#

The specific error they supplied makes absolutely no sense without an edit, so I'm assuming it's a reupload like Esca said SDVpuffersalute thanks for the detective work

lucid iron
#

Well they didn't give u full log

#

A stupider scenario is that this log message went through 2 mtl kyuuchan_run

woeful lintel
lucid iron
#

Either way no log no fix

woeful lintel
#

they also never answer when I ask for more info

dusk terrace
#

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

royal stump
#

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

lucid iron
#

That would fit with manifest.json edit

dusk terrace
#

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

woeful lintel
lucid iron
#

Tbh I don't really want to harp on this more but isn't the asset name still 'aedenthorn.DialogueDisplayFramework/dictionary'

iron ridge
#

oh it's reuploaded on two sites

lucid iron
#

The reason of my confusion is that these pirate sites are very unlikely to have changed C# mod blobcatgooglyblep

#

That's too much effort for them

dusk terrace
gentle rose
dusk terrace
fast plaza
#

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

drowsy pewter
#

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

fast plaza
#

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

drowsy pewter
#

you are using the asset pipeline for your items yes?

dusk terrace
#

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

fast plaza
drowsy pewter
#

hm

fast plaza
#

I think I'll just have to test that though 🤷 sometimes it be like that

verbal narwhal
#

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

dusk terrace
#

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 😅

fast plaza
#

fair hah

#

well thats good to know then, thanks!

royal stump
#

dodging the asset event system and just editing the cache is the same kind of behavior, though SDVpufferlurk

calm nebula
royal stump
#

though I may be misreading the logic there

calm nebula
#

And fill out a matching asset in Strings?

#

Do that

fast plaza
#

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.

royal stump
#

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

fast plaza
violet valley
#

is this where I showcase my mod lol

fast plaza
#

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

lucid iron
fast plaza
#
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.

lucid iron
#

okay there's no need to do this

#

Game yeets the content manager on locale change anyways

fast plaza
#

huh ok lemme try removing those invalidations see if it does that anyway then

lucid iron
#

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 SDVpufferthumbsup

fast plaza
#

well look at that it works without invalidating it

#

neat

lucid iron
#

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

fast plaza
#

huh ok! I'll have to look into that then!

#

ty!

ivory plume
#

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

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

And that's it for this month!

gentle rose
#

niceee, congrats on 100 content packs leroy!

tender agate
#

why is 2.0 format CP packs on the rise, is it cus un-updated CP tutorials or

ivory plume
#

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.

tender agate
#

ah, that makes a lot of sense!

scenic fossil
#

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!

fast plaza
#

Huh I'm surprised how few C# mods there are. Are some of the other categories also including C# mods?

tender bloom
#

You can install the "Debug Mode" mod to quickly check

tender bloom
urban patrol
#

there’s an upcoming GSQ for mine levels in 1.6.16, right?

ivory plume
#

(There's a lot of C# mods, it's just that there's even more Content Patcher packs.)

fast plaza
#

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?

ivory plume
#

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.

fast plaza
#

Neat neat

#

Jesus what happened in December 2019 to make costs spike that much??

royal stump
#

^

fast plaza
#

Well fair enough! Still a wild amount though

#

Do you manually track if mods are broken or is there some automatic thing for it?

royal stump
#

oh and a "what level this location is" one

royal stump
#

broken in C# meaning it was touching renamed fields/methods/etc that a game version changed & SMAPI's rewriters can't auto-fix it

ivory plume
#

(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.)

gentle rose
scenic fossil
lucid iron
#

itd prob need C# unfortunately, there's only 1 button texture used for all floors

fast plaza
ivory plume
fast plaza
#

You ever had any hits with that? I can't imagine there's too many people making scam stardew mods

ivory plume
#

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

fast plaza
#

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

ivory plume
#

(This month it also caught a mod enabling the Harmony debug log, but the author had already released a patch for it.)

fast plaza
#

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

fading walrus
ocean sailBOT
#

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.

royal stump
iron ridge
#

(virustotal didn't catch either of the malicious mods)

royal stump
#

yeah, it's not at all thorough, but I assume they manage to vet some things with it SDVpufferdizzy

fast plaza
#

Better than being too thorough and getting false positives though

ornate locust
#

I mean, it still does that LOL

fast plaza
#

Windows defender kept trying to convince me my own mod was malware

ornate locust
#

it definitely gets weird false positives sometimes

fast plaza
#

Oh then I got lucky with not getting screwed by nexus mods then

ornate locust
#

It's not so bad, you can just contact moderation to get it fixed

#

but every so often, it happens

fast plaza
#

That's good, but with how customer support is nowadays I get a sense of dread even thinking about contacting them

ornate locust
#

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

fast plaza
#

Well that's good to know incase that ever does happen

royal stump
#

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 SDVpuffermlem

#

but yeah, easy enough to work around

fast plaza
#

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

uncut viper
#

sometimes i think users specifically wait until an update goes out to trigger their bug report behaviour /j

fast plaza
#

Hah maybe

lucid iron
#

it make sense cus ppl dont go to page until update

ornate locust
#

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

late gull
#

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

royal stump
late gull
#

Thanks, I missed the Effects on SMAPI Mods section before.

#

Ugh and here I thought I was almost done SDVpufferwaaah

unique tusk
#

Does anyone know where to find a tutorial for creating a quest?? owo

urban patrol
#

have you looked at the wiki page? [[Modding:Quest data]]

unique tusk
#

Oh thank you!! I was just struggling to find it so much appreciated :3

torn sierra
#

Before I get started with my mod, are there common oversights to keep in mind when adding accessories/hair via FashionSense?

wheat sundial
#

funny mod idea

#

hornet npc mod

#

lmao

#

Or alternatively

#

Replace bats with Aspids or smth

fast plaza
#

God I hate primal aspids...

upbeat python
#

where can i get a reference for a spacecore OnItemEaten trigger?

urban patrol
#

do you mean you want an example of how to use it in a content pack?

rigid oriole
urban patrol
#

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

upbeat python
#

i just don't get where i should place item id

urban patrol
urban patrol
#

does anyone know if there's a mail flag or GSQ for robin's shortcuts?

brittle pasture
#

the mail flag communityUpgradeShortcuts

urban patrol
#

thank you!

brittle pasture
#

almost forgot, also make sure to check on the Host player

royal stump
#

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
    }
}```
shut edge
#

lol

shut edge
#

anyone know why those little corners of floor under the ponds are happening?

#

doesn't happen on the default flooring

ornate locust
#

I would normally say the corners are part of the structure, but... they don't with the tiles, that's odd

shut edge
#

is this some weird edge case because fish ponds are generally not in a place you can decor the floor?

royal stump
#

it does look like it's showing default flooring or some such, but idk what interaction would cause it

shut edge
#

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

lucid mulch
#

try a well

shut edge
#

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

gaunt orbit
#

That seems really odd

shut edge
#

grab my fish factory mod if you wanna try it on your end

gaunt orbit
#

I can't think of any reason for that to be happening since walls and floors are just tiles?

shut edge
#

yeah it's weird

#

those areas are zoned with tiledata

#

maaaybe it's somehow the default floor numbers

#

hm

gaunt orbit
#

I'm gonna take another look at the floor code

shut edge
#

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

gaunt orbit
#

very weird

shut edge
#

i can make a note on the mod page i suppose

gaunt orbit
#

maybe mention it in the 1.6.16 thread too

#

I have no idea how that's happening but it's worth noting

shut edge
#

i just don't think it normally would happen in the game so it was overlooked i guess

#

why it happens tho no idea

gaunt orbit
#

yeah all the wall and floor code I can find just reads raw tiles from the map data

lucid mulch
#

so what is the order of operations that causes the issue?

shut edge
#

i'll add that to the thread, sec

#

make the PIF room, order a building there, change floor

lucid mulch
#

and PIF is?

shut edge
#

personal indoor farm

#

so onto my next idea,anyone know what's the play for large storage now that better chests is unlisted?

#

that seems...maybe excessive

#

guess i'll just make it as large chests

shut edge
#

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

royal stump
#

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

shut edge
#

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

royal stump
#

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)

shut edge
#

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

uncut viper
#

Chu has a thing that moves furniture on upgrade, I assume MMAP

brave fable
#

i'm surprised that there really don't seem to be any compatible chest expansion mods currently

shut edge
#

yeah it's a bit odd

#

expanded storage is kind of it

royal stump
brave fable
#

smapi.io lists it as compatible, but comments since the last update mention it needs updating

shut edge
#

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

lucid mulch
urban patrol
#

what could be a possible reason for a map not loading, but no errors in log?

late gull
#

you sure it's the ID you think it is?

vernal crest
#

And how are you discovering it hasn't loaded?

urban patrol
vernal crest
#

Is this the mountain pass?

urban patrol
#

yep

#

another case of "this was working a few days ago, what did i change"

vernal crest
#

Can you share the log too please?

urban patrol
#

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

vernal crest
#

Nope

#

I used to work in the tech support mines, I can deal with messy lol

urban patrol
ocean sailBOT
#

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

vernal crest
#

Did you add any of this after starting the game session?

urban patrol
#

anything relating to the mountain pass? no

#

but i did a ton of work on night tiles etc

lucid mulch
#

patch reload wont magically make the game rerun the location logic to create mountainpass

vernal crest
#

Try exiting the save and hopping back in

lucid mulch
#

just exit to main menu and create/load a save would run it

urban patrol
#

oh my god it's that i was in an old save to test the roof. creating a new save worked

vernal crest
#

Easy fix, woo

urban patrol
#

but that brings up another question, which is: are people going to have issues with their current saves if i release this?

vernal crest
#

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.

urban patrol
#

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

vernal crest
#

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

urban patrol
#

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?

vernal crest
#

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

urban patrol
#

smart lol

tiny zealot
#

agree strongly with "don't allow a config setting to break your mod"

uncut viper
#

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

slow basin
#

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

autumn tide
#

hey! do other commands still run while a character shakes during an event?

elder kite
#

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

brittle pasture
#

I think you'd just merge your 4 AT mods

elder kite
#

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

brittle pasture
#

oh yeah I just saw that section; seems like that'd do what you want

slow basin
#

can you make larger than normal characters mariable when using poohcore and how would that effecct events such as flower dance, if anytone know

brittle pasture
#

poohcore shouldn't interfere with a character's marriability

#

idk about the flower dance, you can always test SDVpufferlurk

slow basin
#

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

brittle pasture
#

I believe all poohcore does for bigger NPCs is is unf*ck the pathfinding/collision if an NPC is specified to be beeg

slow basin
#

aaah

brittle pasture
#

everything else (including actually drawing the big NPC itself) is pure vanilla

elder kite
#

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

drowsy pewter
#

can be either

#

both will work

elder kite
#

Awesome!

drowsy pewter
#

one folder can be easier fore mod users to keep track of

elder kite
#

Here goes something!

#

holyyyyyy

#

it workkkks

#

so happy that was as easy as it was

brittle pasture
#

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)

brittle ledge
# slow basin im sure bigger npcs r still marriable

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.

slow basin
#

aah i see

brittle ledge
#

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 kyuuchan_nod2 but like dialogue won't be affected.

elder kite
#

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

brittle pasture
#

what's the manifest of the CP mod like

elder kite
#

top is CP

brittle pasture
#

the ContentPackFor field for the CP mod is wrong

#

seems you accidentally broke it while using the script?

elder kite
#

Ohhh it should be my id?

brittle pasture
#

it should be the ID of content patcher, since it's a content pack for content patcher

elder kite
#

I see what I did

#

Alright cheers lmao

brittle pasture
#

also you should probably make the CP mod depend on your AT pack instead of AT directly

elder kite
#

maybe both?

brittle pasture
#

well the mod it's depending on is depending on AT so it's a bit redundant

vernal crest
#

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

elder kite
#

it did not lol

vernal crest
#

(Or add AT too, since it does make sense having a dependency on your own pack)

brittle pasture
#

did you also remove the min version line

#

CP only goes to 2.8.0 currently

elder kite
#

ye just read logs and saw that

#

alright everything works now :p

brittle pasture
#

I think it's time you consider our lord and savior local tokens

elder kite
#

I'm confused, could this make the code more concise?

brittle pasture
#

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)

rough briar
#

debating on if i should release my void coffee as a standalone mod, or make a few more items and then release it

hard fern
#

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.

vernal crest
#

But do be aware that if you start developing a pattern of releasing single item mods you risk getting in trouble for DP farming

spice anchor
#

Can someone who uses the mod to test cutscenes check if the "remove flash effects" setting makes Emily's dance cutscene more epilepsy-friendly?

rough briar
#

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

slow basin
#

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

hard fern
#

the sprites are different depending on if your npc is male or female

slow basin
#

🙂‍↕️

#

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

drowsy pewter
rough briar
#

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

drowsy pewter
#

yeh its more inline with vanilla items anyways

#

add it to neutral for umiversal likes and then add it again to kents love

vernal crest
hard fern
#

i guess it takes like. what normally would be the index, and.. shifts it over for however large your npc is? (im just guessing)

rough briar
#

what does delimiter mean in this context ?? do i leave it blank or should i put kent and a dialogue for him?? 😭

drowsy pewter
#

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

rough briar
#

oooh

drowsy pewter
#

for kents love you need to do something else, right now you made everyone love it

hard fern
#

you know how gift tastes are like
/94 100 category_fish/, the blank space is the thing

rough briar
#

ah

rough briar
drowsy pewter
#

I would absolutely consume void coffeet bh

#

it probably tastes disgusting just how i like it

rough briar
#

so would it be kinda like
"kent":"heyy, thats the strong stuff!"/basemwnt.voidcoffee//," ?

#

using the format from the wiki ]

drowsy pewter
#

err I havent done unique gift response before so not sure

#

if wiki says so then prpbably

rough briar
#

fair

#

hm, so how would i make him just say his default loved gift line zzzzapuppy

drowsy pewter
#

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

rough briar
#

alr alr

#

i'll mess with unique gift lines some other day LOL

vernal crest
#

Unique gift responses are a dialogue thing, not set in NPC gift tastes. They're the "AcceptGift_<id>" key.

drowsy pewter
#

Do they automatically add to the gift taste data too? thats what im not sure on

#

or do you need to edit both

vernal crest
#

I'd strongly expect you need both because the dialogue doesn't impact friendship points

rough briar
#

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 SDVpuffersquee

vernal crest
#

Yeah that looks right to me

rough briar
#

idk maybe thatll change when i decide to add more stuff in future updates

vernal crest
#

(Also Dottie did you leave the server and come back? I thought I saw you were gone the other day)

rough briar
#

ah i lost my main account if thats what you mean

vernal crest
#

Ahh that sucks, sorry to hear that

rough briar
#

yea :,3 2fa fucked me over LOL

#

but the mods helped me get my levels back n such so thats good

vernal crest
#

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?

rough briar
#

OH thats meant to be its

#

so its/it not is/it

vernal crest
#

Oh! Okay haha. Glad I'm not just being obtuse lol

rough briar
#

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 😭

vernal crest
#

Nope, I have no issue with it and its! If those are preferred over feminine, that's what I will keep using.

rough briar
vernal crest
#

(Sorry to derail the actual mod talk haha)

rough briar
#

LOL its fine ))

slow basin
#

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

rough briar
#

i keep thinking theyre a centaur but i think theyre more so a spider?

#

very cute tho

vernal crest
slow basin
#

centaur spider

rough briar
slow basin
#

i can dm u her full proper art if youd like a better look shes based off a jumping spider :3

hard fern
#

maybe i should straight up make a centaur... i always loved drawing horses (lie)

slow basin
#

its so fun

vernal crest
#

I can't adapt the word "centaur" to a spider one because centaur has an unknown etymology 😭

rough briar
#

i may have slight arachnophobia but jumping spiders r the exception

slow basin
#

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 😭

vernal crest
#

I like lots of spiders but jumping spiders are especially cute

hard fern
#

spidertaur... well maybe taur is the same as in taurus? no clue.

rough briar
#

maybe shes a taurus zodiac too

drowsy pewter
#

people normally use taur anyways

vernal crest
#

The only suggested etymology that I found was either "bull-slayer" or "piercing bull" yet there are no actual bulls involved anywhere SDVpufferpensive

vernal crest
rough briar
#

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 🫩

vernal crest
#

It is a good practice to always have i18n (or other translation-enabling approaches) for any mod that has player-visible text meow_noddies

rough briar
#

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

hard fern
#

uh o

rough briar
#

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

drowsy pewter
#

tbh i would make both identical

#

so you dont have two ids to mix up

rough briar
#

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

rough briar
#

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 THINK_huh

#

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

proud wyvern
#

the 1 might need to be a "1"

#

ah i see

#

you're missing a [

#

you're missing... a bit actually

vernal crest
#

Nope, that is not valid. Your brackets are wrong

rough briar
#

of course 💔

#

usual me

#

LMAO

drowsy pewter
#

the main issue is the second clause is not where it should go

rough briar
#

so should it be above the universal neutrals? or am i misunderstanding

drowsy pewter
#

by the way you spelled neutral wrong

rough briar
#

-# ah

vernal crest
rough briar
#

ahh oke oke

vernal crest
#

You should end up with the curly brackets before and after your second text operation being purple like the first ones are

rough briar
#

like that?

vernal crest
#

Yeah, but hit Shift+Alt+f on your keyboard so it fixes the indentation

rough briar
#

oo i didnt know about that

#

funky

vernal crest
#

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

rough briar
#

and is the harvey/meant-to-be-kent fine where it is or should i move it back above the neutral section?

vernal crest
#

Don't think it will matter

rough briar
#

ah oke

vernal crest
#

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.

rough briar
#

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

vernal crest
#

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

rough briar
#

alr alr

#

also no red this time YIPPEE

slow basin
#

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

slow basin
#

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)

slow basin
#

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)

fast plaza
#

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

little field
#

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.

hard fern
little field
#

Oh yes I know the command to use for the farmer

vernal crest
#

Yes, draw layers still matter and I think collision does still matter

little field
#

Oh even with the collision command at the event start to turn it off?

vernal crest
#

However I have not actually tried to send NPCs into trees or whathaveyou so I can't be sure on that

hard fern
#

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)

fossil osprey
#

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

vernal crest
#

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

little field
#

Not me forgetting trial and error is a thing GirlShy

#

Sorry it's early and my brain isn't awake yet

vernal crest
#

My event-making is 90% trial and error lol

hard fern
#

It's early and my brain hasn't gone to sleep

vernal crest
#

I wonder how weights work

brave fable
#

well you're meant to lift them up and down. they don't do much

calm nebula
brave fable
#

surprisingly not SDVdemetriums

slow basin
#

fixed the issue with why my spoider wasnt moving lmao now to test to see how flower festival works with her 🤔

late gull
#

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);```
slow basin
#

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

golden basin
#

how would I add steam to my map using the misc map properties mod again?

calm nebula
royal stump
#
//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)

golden basin
#

bless thank you

autumn tide
#

aaaa gonna try my event in-game for the first time!!!

#

debugging here we come-

slow basin
ocean sailBOT
#

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

slow basin
#

im gonna grab festivals because i think thats important and content though if you need another let me know

autumn tide
#

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

wanton pebble
#

Depends on how you patched in the file

#

Content Patcher or C#?

autumn tide
#

CP

#

update just asked someone, they said it's patch reload (mod name)

wanton pebble
#

That's correct

#

Mod name needs to be replaced with you mod's manifest ID

autumn tide
#

yup!

wanton pebble
#

In c# it's something else but that's content patcher's way yeah

autumn tide
#

i have hours of debugging ahead of me-

wanton pebble
#

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

autumn tide
#

okay it didn't work as intended but i have to share how it looked here it was the funniest thing ever

latent mauve
slow basin
#

aaah ok

autumn tide
latent mauve
#

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

slow basin
#

Oof gotcha

#

oik ill try that then 😄

latent mauve
#

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

autumn tide
#

how can i do overhead text for the farmer?

#

drung an event!

#

during

latent mauve
autumn tide
#

oh? what should I put for actor then?

latent mauve
#

It's almost exactly how you would think it is written

#

farmer

autumn tide
#

'farmer' didn't work lol

#

oh?

#

one sec

latent mauve
#

Hmm

autumn tide
#

lemme run it again?

latent mauve
#

Yeah, try it again and make sure you have escaped your quotes for the speech as shown

autumn tide
#

ran it again and now krobus is nowhere to be found-

#

debugging-

latent mauve
#

How are you running it? Through debug ebi?

autumn tide
#

yup

latent mauve
#

I've noticed sometimes that if I do not run it from the location the event expects to start in, NPCs might be missing

autumn tide
#

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

latent mauve
#

And you included the farmer in the initial character placement command?

autumn tide
#

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

latent mauve
#

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

autumn tide
#

oh, okay!

#

could it be the formatting? i do have it with the lines like that

latent mauve
#

I honestly do not know if there is any difference to how the BETAS actions work in events

autumn tide
#

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?

latent mauve
#

Yep, the error with that one is that it thinks the duration is your speech

autumn tide
#

that makes sense

#

still no dialog?

#

hmm

latent mauve
#

Ah-ha, apparently textabovehead only works for NPCs

autumn tide
#

OH

latent mauve
#

It was mentioned in here about a month ago, I just did a search

autumn tide
#

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?

latent mauve
#

Typically the farmers "talking" is all done through dialogue questions and their thoughts are messages without a dialogue box.

#

In vanilla

autumn tide
#

hmm okay

#

and i don't feel like messing around with C#, i can just use an empty question for now

latent mauve
#

So you could do a question like "Should I say something?" or "what should I say?" Or leave the question empty

tame burrow
#

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

autumn tide
tiny zealot
#

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)

latent mauve
#

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

calm nebula
#

(The usual hack is to put an invisible npc there btw)

tame burrow
#

Oh that's clever af

little field
#

I'm gonna try to make a C# again. I keep getting errors trying to use Custom Spouse Rooms Sylv_Done

#

Unless this is the universe telling me to stop making my mod lol
Literally my biggest setback

autumn tide
#

take 5, nothing happened 💔

#

TAKE 6 IT WORKEEDDDD YAY (still gotta fix stuff but hey!)

little field
#

Aye

#

Hacker over here

autumn tide
#

tyy SDVpuffersmug

#

im gonna hack into 'the mainframe'

little field
#

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#

tiny zealot
#

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

autumn tide
#

i mean grandpa is haunting it

little field
autumn tide
#

you just gotta hack into 'the mainframe'

lucid iron
#

What does moving rooms around mean

little field
#

Oh! Apologies!

#

Like if you have 2 housemates you can move where their rooms are located

lucid iron
#

Ah the thing custom spouse rooms does

reef palm
#

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)

lucid iron
#

It's true that farmhouse is just haunted

reef palm
#

Oh I didn't ping at all even better

lucid iron
#

But at least this is a solved problem and custom spouse rooms is open source

autumn tide
#

no worries!!

little field
#

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

autumn tide
little field
#

OMG WAIT

#

I THINK I GOT IT TO WORK

autumn tide
#

YESD

little field
#

I DID