#making-mods-general
1 messages · Page 287 of 1
It is pretty clearly the same crow
This is what’s showing for me ._.’
erm
Have you edited your Content (Unpacked) folder contents at any point?
No ._.
And have you unpacked the game since the last update?
And that's the file Crow.png from the Characters folder?
Yes
I have to day mine also looks like that lmao
that one is Characters/Monsters/Crow.png
Ah good spotting ichor
beat me to it
So what’s this?!
No wonder i remember it I've been in that folder forever
Characters/Crow.png
Just in characters most likely
Like I said
Yeah idk I don’t have it
Do I need to unpack again after verifying?
Yes
!unpack
Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!
Ty btw!
How do you make an NPC not be able to go to the movies?
use reject for all movies
{
"Tag": "*",
"Response": "reject",
for their moviesreactions
So "*" will get any tagged movie, and all movies are tagged?
Cc @vernal crest, I wasn't familiar with EditMap. All I know from modding I reverse engineered from other mods, so I had never come across EditMap, just Load. I'm used to making all edits in Tiled, which usually involve pretty hefty landscaping/terraforming to shift mountains/cliffs/water around.
My specific edits for Island_N were to make the southern entrance narrower (2 tiles instead of 3), make the bridge wider (2 tiles wide/high instead of 1), and move a couple trees/bushes from the paths layer out of the way for an in-game path.
Thanks to everyone that looked into it. I'll play around with EditMap to see how I can split the updates I want to make into separate things. I was surprised that I didn't see any tile action/properties to trigger the Island Trader interaction in Tiled.
Pam has only 1 kind of reaction for movies and that's to like everything.
{
"NPCName": "Pam",
"Reactions": [
{
"Tag": "*",
"Response": "like",
"Whitelist": [],
"SpecialResponses":
if you wanted to make an exception, you'd put that specific movie above the "everything" reaction.
Krobus does that, he dislikes everything except 1 movie
I am using this to do an animation with the object. however this only work with vanilla. how can I get the sprite of modded object?
textureName: "Maps\\springobjects",
sourceRect: Game1.getSourceRectForStandardTileSheet(Game1.objectSpriteSheet, obj.ParentSheetIndex, 16, 16),
animationInterval: 300f,
animationLength: 1,
numberOfLoops: 0,
position: objTile * 64,
flicker: false,
flipped: false
)```
That's an impressive amount of knowledge just from reverse engineering other mods! I'll give you some links to some documentation that might give you more options:
Content Patcher docs: https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide.md
Maps page of official wiki (go to the index to see all the modding pages available): https://stardewvalleywiki.com/Modding:Maps
Modding wiki (more tutorials focused but has lots of out of date info so needs close cross-referencing with official wiki): https://stardewmodding.wiki.gg/wiki/Special:AllPages
Spacecore does animations
Thanks!
Not sure if this is the best approarch, but when I was using TemporaryAnimatedSprite it only worked on XNB file so I had to harmony patch that function to check if image
Does anyone notice anything explaining why the apparance data does not work? 🙂
SMAPI validator: https://smapi.io/log/c8ad970ab05649f2b1416aae000e9a15
CODE: https://smapi.io/json/none/3099f5e1a0434c10904fd4765b47e941
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 22 C# mods and 53 content packs.
Suggested fixes: One or more mods are out of date, consider updating them, SMAPI is out of date, consider updating it
To clarify your point, do I not need to include the tilesheet files in the assets folder of my mod? I can't remember if I do this because I read it somewhere or if it's just the error Tiled will throw if you try to open a tmx file without the tilesheet file being in the same folder. I'm definitely not referencing the tilesheets in my actual content.json.
it looks like it’s giving you an error on line 290. i think you have an extra curly bracket there
To edit the map in Tiled you need the tilesheets in the map folder but to use the map in game the tilesheets should not be in your map folder. The map will use the game's ones if it can't find any in its folder and that is what you want if you want recolour compatibility or seasonal changes (the latter is not relevant for GI, I know). It's also important when publishing to try to avoid including any vanilla assets that you don't have to include.
Two basic ways to achieve this are:
- move the tilesheets out of your mod folder while testing in game, or
- have a "maps editing" folder outside your mod folder that you put the map into for editing and then move it back out and into your mod folder for testing
Generic Mod Config Menu doesn't allow setting multi-key-binding options, which are needed for players in split-screen mode. I'm considering a PR to fix that.
Here's a possible mockup of how it'd work:
- The option would be shown the same way as before:
Toggle search LeftShift + F1, LeftShoulder - If
no keys are bound orit's not aKeyBindList, clicking it would show the same UI as before:┌────────────────────────────────────────────────────────┐ │ Rebinding key: 'Toggle search' │ │ │ │ Press a key combination to rebind. │ └────────────────────────────────────────────────────────┘ [OK] [🚫] - If it's a
KeyBindList, you'd see a new UI:┌────────────────────────────────────────────────────────┐ │ Rebinding key: 'Toggle search' │ │ │ │ You can bind multiple key combinations for this field. │ │ │ │ Bindings: │ │ LeftShift + F1 [🚫] │ │ LeftShoulder [🚫] │ │ [add new binding] │ └────────────────────────────────────────────────────────┘ [OK]
Any thoughts on that design?
even if no keys are currently bound, i expect i would want the multiple-bindings version for a KeyBindList, and just have it start empty. in this configuration it looks like you'd have to open it once and do one binding, then open it again to get the option for a second
Sure, that makes sense; I removed that bit.
Got the inline provider working, need to clean it up a bit because its hacky, but progress is progress
If I postfix a method in NetWorldState to trigger a recalculation in my mod, does that happen for all world players with the mod? don't have a ton of experience w the netcode and can't set up a second instance rn
I cant get the apparances to work.
She loads, but in winter she still have her outdoors outfit indoors ;/
I think maybe you're loading everything to Portraits/Hazel and Characters/Hazel, but then the texture you set for appearances is Portraits/Hazel_S_winterindoors etc.?
Though I may have misunderstood something or got lost in there
@spiral lion You leveled up to Cowpoke. You can now speak in our voice channels and share images in all channels!
In fact, you seem to be trying to do both at the same time. You are loading the portraits first to Portraits/Hazel_S_winterindoors etc.,(conditionally), than you are loading them to Portraits/Hazel (conditionally), then you are using appearances to tell it to use Portraits/Hazel_S_winterindoors etc. (also conditionally)
I think (and I have only done VERY basic appearances), you need to start by removing all the portrait loads (copy paste them somewhere else) and start fresh like this:
Check if there's convenient net events to attach to first
Load each portrait asset as you have done under 'load short hair' and 'load long hair' - but REMOVE the conditions. This would load them to Portraits/Hazel_S_winterindoors etc. which is needed for appearances
I'm postfixing NetWorldState#MarkUnderConstruction
Like OnFieldChanged
Then, skip all the ones where you load to Portraits/Hazel or Characters/Hazel
ohhh i will try it!!
Then, set up the appearances WITH all the conditions you want them to apply
❤️
oh cool, I didn't know I could add events to netfields
learn something new every day
It looks like that just sets a NetStringDictionary called builders, only the calling player will get the change
So yeah find some event in there to hook
Then everyone should have it 
And, @spiral lion , if you haven't found it yet, refer to this: https://stardewmodding.wiki.gg/wiki/Tutorial:_Adding_Seasonal_Outfits_via_Appearances
If you want to add seasonal outfits for your NPC, there's two ways you can do this: the token way or the Appearances way. Appearances is a new code structure added in SDV 1.6, so if you're looking at an older NPC's code for reference, they'll most likely be using the token way. The main difference between the two is that the token way is simpler...
looks like I can hook Building#DaysUntilUpgrade then, since that's a NetInt
awesome, thanks so much
never would've thought of that
I don't mind adding a postfix here and there, but I like to confirm that I'm not insane from time to time lmao
something something too busy trying to see if I could vs asking if I should
Since the usecase is split screen players it might be nice to mark a binding as keyboard vs gamepad
@lucid iron while I have you, what's the difference between fieldChange and fieldChangeVisible? it says fieldChange doesn't trigger on interpolation... what uses interpolation and do I care?
Interpolation is used for smoothing movement (normally netfield only update every 3 tick)
Wouldn't you do that by just pressing keyboard vs controller buttons?
(Fun fact: technically you can have a combination which requires pressing both keyboard and controller buttons at the same time.)
Yeah i mean a visual thing to show you didn't mess it up 
Not enforcing only keyboard or only gamepad binding
(That's getting into a bit fancier UI than I'd really want to do with the raw Stardew Valley UI code though.)
Fair enough
To enable this mods super secret overpowered feature, please do this ddr song while typing at 80 words per minute
hi sorry to bother you i wanted to ask a few thing regarding modding, i'm fairly new to c# mod and before i start going into making this type of mod i would like to ask from more expenrieced people if it would be possible to create a mod that let you resize the windowless mode or is it impossible ?
i dont have much input on the implementation here itself but i wanted to ask if it'd make sure it didnt break my mod which does actually use GMCM to set a multi key binding option already
Resize the windowless mode 
In my WIP buildable map overrides mod, I looked at some netfield events, but whenever they change it always calls the same methods on GameLocation / Building, so I ended up just patching those methods instead.
Are you doing something custom, or just using the regular keybind option? If you're using the regular option, the only difference will be that the user can now set multiple keybinds (instead of overwriting the list with the single keybind).
I suspect it's easier to get some 3rd party software that hides the window bezel than trying to mess with window things from within game
The super secret overpowered feature? ||a good memory.||
yes because i'm playing on mac i have a notch and i can't use scale to fit and when playing fullscreen you're stuck to the game
Guess who gets to walk back one building because they forgot something again 😦
something custom in the option setter method, iirc i copy the current keybindlist and simply add to that instead of overwriting it, and then use that resulting list as the final setter
so that way they dont overwrite each other
i dont remember what i did for removing the keybinds tbh
You'd need to update that logic unfortunately. Otherwise if the player removes a keybind from the list, your logic would simply re-add it.
well heres hopin i dont miss whenever that update comes out then
(i was wrong anyway i dont copy the list i just directly set the 0th or 1st indices in the keybindlist as appropriate (since its limited to 2) but i imagine that doesnt change the need to update the logic)
What if I want to use a ddr gamepad, button
feel free, if monogame can detect it as a button
its only limited to 2 bc one is a keyboard bind and one is a gamepad bind
so whichever one your bongos show up to xna or w/e as is what itll be used for
What if you have four player splitscreen, button
well its rock paper scissors so theres not 4 people playing at once
And every player has their own layout
For a brief period i bound the tater toss button to left stick
also, its rock paper scissors, so why are you installing a mod instead of playing it irl
I bet we can generalize rock player scissors to four players if we nerdsnipe the mathspeople
But i was use keeb so that's the only thing i need gamepad for
Is it not just play more rounds
is this enough to count as a breaking api change. is gmcm finally gonna reach 2.0
It would only affect mods which used custom logic to implement multi-key-binding support with the single-key-binding UI. I'm not sure how many (other) mod authors would do that?
It's not really breaking api is it? Your mod won't crash
is it not a breaking change if im required to change my mod in order to maintain functionality
I dunno tbh 
i also dont know what would happen if my current logic ran, only pathos yet knows what the implementation will be in the end and iunno what my current code would do with it
so who knows. it might crash
Mentally i would say your situation is halfway between "using the api normally" and "sorry i harmony patched gmcm"
i think if CP decides to say "yknow what, no more i18n token. every i18n token is now "translation (:"" then that wouldnt crash mods but id sure call it a breaking change
im not really sure why my method is out there at all, to be honest. why give the option for a custom setter if im not supposed to do anything custom?
if (value.ToString().Equals("None"))
{
this.StartGame = value;
return;
}
KeybindList keybindList = this.StartGame;
if (IsGamepadButton(value.Keybinds[0]))
{
keybindList.Keybinds[1] = value.Keybinds[0];
}
else
{
keybindList.Keybinds[0] = value.Keybinds[0];
}
this.StartGame = keybindList;
this is all it is
The setter was meant to save the value, not change the semantics of what the config UI represents. I guess we could deprecate the old API instead, but that means players wouldn't be able to use multi-key bindings for the vast majority of mods which seems like a net negative.
but it does just save the value. it still displays correctly as a list of keybinds in the UI
im not saying your way wouldnt be better, itd be miles better, and id be happy to update to it, i was just saying it does break things
I thought the argument is, whether this counts as +1 major version semvar
Not whether you should do it for everyone
Although maybe if u r prepend the list it'll work out better for mods previously assuming there to be 1 value only
I don't think it would count as a 2.0.0. Virtually any change has the potential to break some custom logic somewhere, but that doesn't mean it's a 'breaking change' for normal uses of the API. But the versioning would be for kittycatcasey to decide anyway, not me.
my pov was just that this does seem like normal use of it to me, is all! but like i said, i still like your way better and im not like, disappointed or anything in having to change it. just gotta keep an eye out for it so i dont miss it when it happens
Wow your editor looks like macha latte
the color scheme is called "Hyrule" lol, at this point I can't change it or I can't read
I've been using it for like 10 years at this point, nothing looks right if I don't have it
Can I put conditions on my config options? Like, enable one config thing to open up further options... or is that a terrible idea, won't work the way I imagine, or would require opening and closing GMCM
no
You can only do that in c# (and it still kind of sucks there)
i would say doing that in C# would be a non-normal use of the api
lol, ok. The more I thought it out the less of a brilliant idea it sounded...
It succ because the proper api way is unregister/register whole menu again i think 

Anyways bezajel the ConfigSchema doesn't support tokens or conditions
good to know!
(it probably says that on the wiki anyhow, but at this stage of stayed-up-all-night the chaos prevails)
it does support tokens
Honestly it would be nice if it wasn't a nightmare, I was thinking about making the entire arena section of my mod toggleable for people who just didn't want that, it would be cool if, when they toggled the arena stuff on, they then got to toggle the additional arena configs. A dream, truly
or at the very least, it supports i18n tokens, bc i used to use them in my config before i realized what the correct way was
I didn't know they supported i18n tokens that's cool actually
(you shouldnt use tokens in them though just bc you can)
Wow it not just me!
(dont even use i18n tokens in them use the built in CP way of doing it)
I thought i18n has to go through the special name format
I only know of the actual way you're supposed to do it
Instead of {{ }}
Which is what I've used heehoo
actually, it mightve been fixed or changed at some point? since i just downloaded an old version of my mod and it doesnt appear to work anymore
but i couyld have sworn it did before, otherwise idk why i wouldve done it bc i woulda checked
i suppose its also possible i thought i saw it working but didnt have a token in the value i checked, and no one on nexus reported it for months at a time
Yeah the docs don't have the usual "you can use tokens in this field, case insensitive" disclaimer (but not the "cannot" counterpart either)
yeah im gonna assume i just saw smth incorrectly and havew never tried it since and have had vestigial incorrect info in my mind all this time
(Tokens have never worked in ConfigSchema.)
i blame the nexus users not reporting it to me
bc it was therefor like. 6 minor versions
Currently making gifs and images for my mod release! Did not think of how many assets I’d need cuz I’m a goober.
what does this error means : The mod build package found a game folder at /Applications/Stardew Valley.app/Contents/MacOS, but it doesn't contain the Stardew Valley file. If this folder is invalid, delete it and the package will autodetect another game install path.
The detected game folder doesn't seem to contain the game. Can you post a screenshot of that folder?
i hope this is what you mean sorry if this is not
I have made a modification to somebody else’s spriteswap mod’s content.json to include granularity that wasn’t there before- the mod originally didn’t appear in the generic mod config menu, making turning it on and off cumbersome, and I have modified the json so it does. But, i have been unable to contact the author of the mod so I can get permission to upload a version of his mod, so i can’t upload it. Would you think ti to be acceptable to just upload a single content.json file to nexus, asking people to copypaste into the original mod’s folder, or would that be stepping over the original author’s toes?
no, not acceptable if the permissions dont allow it
darn
Can you...
- click the
Stardew Valley.dllfile in the second screenshot; - press
⌘+ito show the info popup; - and post a screenshot of what it shows?
is the mod open source? You could always make a PR to the original mod
Pr?
It seems you have two different game folders. Is it possible you installed the game through both GOG and Steam?
The mod build package is looking at the first one, and you're looking at the second one:
/Applications/Stardew Valley.app/Contents/MacOS
~/Application Support/Steam/steamapps/common/Stardew Valley/Contents/MacOS
Pull Request, a contribution back to an open source project through git
while not impossible ofc its probably likely that as a content patcher mod they havent set up a github for it
worth checking for thoiugh
oh i did have a gog version but i prefer steam so i deleted the gog versions and kept the steam one i don't even know why it's still showing this
You could share the content.json through pastebin in the comments i feel
Though I don't really know how much change u have done
i dont think thats really much better than just distributing the content.json
maybe if you only put in the pastebin the stuff you specifically added and no more, like a patch file give or take, but then you'd be relying on other users in the comments to know how to apply it
It seems the old GOG folder is still there.
I'm not a macOS user, but I think you can do this to fully delete it:
- Through Spotlight, open the Terminal app.
- Run this command:
rm -rf "/Applications/Stardew Valley.app/Contents/MacOS"
Then rebuild the code, and this time it should work.
(be careful when typing the command, though
)
(Or if you want to be safer, manually navigate to that folder in the UI and delete it from there.)
(Maybe not the -f at first :shivers:)
if it's in /Applications it may require sudo
ohkayyy just asking in case is there no way i could just delete the gog path ^^' i only use the steam one 😅
(i know the command is safe when done right but the thought of recommending a sudo rm rf command to someone who may not fully realize what it is or what it can do when done wrong sounds terrifying to me)
I mean it's your computer, you can delete whatever you want lol.
just have to be aware of the consequences
yeah, I don't even think the macos version of sudo comes with the warning when you first use it
As a less scary solution, you can always find StardewValley.app, right click -> show package contents
that'll take you to the internals of the "app" and you can delete whatever you want through finder
I don't think this has a github. This really is just a set of folders for portraits and sprites with some json's
(It sounds like they already uninstalled the GOG version, but the folder still exists probably due to the Mods folder?)
reinstall the OS /s
okay i'll try this
I have not done much. The mod's sprite swaps can now be enabled and disabled through generic mod config. I have also added granularity so the characters and portraits who get new sprites/portraits can be picked on a per-character basis. Finally, when I used the mod I couldn't see some of the changes so I changed their priority to be later, which let me see them
hrm so looking at Game1.toggleFullscreen
graphics.ApplyChanges is called before graphics.PreferredBackBufferWidth even tho the docs say its supposed to be after
You think advising people what to change in the comments section of the mod is acceptable?
Thanks, I'll just do that then.
you basically have an unofficial update o sorts on your hand
okay i know what was causing this it was not even the gog thing it's because using steam i created a shortcut icon to add on the dock which caused this
tbh if i was you i'd just not share it since it seems like hassle 
I was worried for a sec that this was in response to my joke to reinstall your os lmao
Hello!
A have been trying to get my seasonal portraits/outfits for my mod to work for HOURS.
I dont know why it does not work. Any help would be lovely ❤️
JSON: https://smapi.io/json/none/180dfbdcccc3411fa641813116935a9e
SMAPI log: https://smapi.io/log/e852e8e91e81406684773e415087d3b6
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 22 C# mods and 53 content packs.
Suggested fixes: One or more mods are out of date, consider updating them, SMAPI is out of date, consider updating it
I've been working inside an i18n, and I'm feeling a little down knowing that some people will feed it right into something like chatgpt for personal use, when trying to translate it. It that just something I'll need to get over?
You need to use 'Condition' rather than 'Where' in the Appearances section
unfortunately yes
okey! i will try to change it 🙂
Use the guide here for format! : https://stardewmodding.wiki.gg/wiki/Tutorial:_Adding_Seasonal_Outfits_via_Appearances
If you want to add seasonal outfits for your NPC, there's two ways you can do this: the token way or the Appearances way. Appearances is a new code structure added in SDV 1.6, so if you're looking at an older NPC's code for reference, they'll most likely be using the token way. The main difference between the two is that the token way is simpler...
I've never shared something on the scale of what I'm making with this mod, so there are some things I will need to get used to after it is published.
I'd also recommend trying to start a little more simple, and adding complexity once you have the basics working... like start with just long hair, four seasons, make sure that works, before adding the other variations! It will really help, and be less to change each time as you learn how it works
yea it's scary
smart.. it takes foreever right now haha 😦
i think i got used to idea of posting thing i made publically after mod 3-5ish
At the very least, I would like to know that the people who may want to publicly translate my mod are relatively confident in English as their second language, and won't use generative ai's assistance for anything. It would probably be too unreasonable to ask for no google translate, so, I'd be fine with that as long as it it only a part of the process.
I'm afraid I may sound too demanding to some people when listing my preferences for how the translations should be done, but I don't think there is much I can do about that.
I read something on a mod page one, I think Juna's — it described how translation is a complex process that really benefits from actually talking to the mod author who originally created the mod
So maybe including something about that will help people to understand your perspectives
I think Google Translate has been using something close to AI for a long time
I was afraid of that... but how could I ask translators to not use it? I think that would be too much for large portion of them.
First pass at a Header for my mod :3
at the very least, there can be some comfort in knowing that a large part of the stardew community (especially this server) does endeavour to respect a mod authors wishes, even if what they ask is only socially enforceable
There's some edge cases where it will attempt to translate nonsense and get true output, which strikes me as a side effect of various sophisticated NLP algorithms such as LLMs
i use a mtl even though im fluent in chinese cus sometimes it's hard to map words one to one
but there is unfortunately nothing to be done about the people who dont care, and that is true of any community
its a matter of scale really, i use it for like 1 or 2 sentence as a hint
not just toss your whole i18n through mtl
There has long been the existence of efforts on Google's part (google books) to have the corpus necessary to do translations
is that for the Header or the thumbnail image? if its the header, make sure it looks right when you have to crop it to its wide aspect ratio, and if its for the thumbnail, make sure its still readable enough when scaled down to thumbnail size 
That would be better than just feeding the whole thing of course.
Header! I'm going to make a custom thumbnail version
have u looked at the scroll generator
Scroll generator?
if its the header then it's definitely gonna need to be super cropped as is
i always think i have accounted enough for the aspect ratio nexus wants for its headers and i always underestimate it
That's super helpful
eg
Header (top of page) = 1400x400
Oh, so that one has the exact ratio needed for nexus banners to show properly? That's good to know.
I was wondering about that
im not sure what you mean! i dont know the aspect ratio or the dimensions it expects exactly. it probably says but im a nexus user too so i dont read
i just take a screenshot and see how it crops and mostly just go "eh good enough"
Lol
i put more effort into the thumbnails, those are seen more
if its 1400x400 though thats good to know
The other thing is, even if you crop it well, the text will cover like a quarter of the image at least
I couldn't find a thumbnail space when working on the nexus page privately. Did I miss something?
also true. and the buttons on the right corners too
On my screen anyway, so don't put your own text under there.
its in your Media section, under "Your mod images"
the star icon lets you select which one is the thumbnail
I think it's just your first mod picture?
I'll check again and see if it is there now
you can reorder and change them as you wish. i believe first is default unless you specify otherwise
it wont call it thumbnail though itll say "primary image"
Oh a star. But strangely, a mod I worked on with someone else still shows an old (terrible, low res) image as the thumbnail even though it's not shown in the images tab
And since I'm not the one who uploaded it I can't go in and see if I can change it (waah I hate not having control lol)
The scroll maker is so cool!
Okay I'm gonna reorient it for the header dimensions nao
So I'm seeing all those fish as a fashion sense outfit now...
I'll put it in the wacky inspiration pile
I sometimes see people post nexus pictures which look very blurry. I wish more people realized that they need to scale up the pixel art images before posting. Not every art app has that as a feature when exporting though, so I get why it happens.
oh maybe move him to the top
Ohhhh I see what u mean
bottom has all the buttons and stuff
Donezo
What's ideal thumbnail size? Is it 1980 x 1080 and I just make it super easy to read when small?
so, quick question cuz I have a "I may be stupid" moment but for hidden profile emote how do i trigger it to know i did it right? i thought it was just clicking or something
(or maybe this is more a "cheeto who isnt playing the game enough" moment)
isnt that the thing where you click on them and they do something in the friendship menu?
damnit so i must be doing something wrong cuz im clicking and nothing happens
which im wondering cuz I copied from an example
what in the game sets the mail flag landslideDone? is it jojacorp sending the mail about the mines?
any large enough 16:9 image should be fine for the thumbnail
just have to imagine how it'll look in the front page and search lists when it's small
or zoom out to that size
I almost always use the lospec scaler even though my art programs can do it
ok, im outta ideas and jsut ignore it for now cuz im looking at the characters.json for the vanilla npcs and im doing it like that and nothing happens so either im unlucky or stupid. just gonna do individual gift tastes instead
Oh, I'll check that out.
When you have at least four hearts of friendship with a character, clicking their sprite in the gift log (accessed from the social tab by clicking their entry) will play a sound and show a special animation (different for each character) for a few seconds.
OH
I asked this in the modded channel, but no one has anwered yet, so I'd like to ask you guys over here. Do you all prefer a nexus thumbnail that has nicely done digital art for a npc, or one that showcases their Portraits and other assets of the mod in an aesthetic way?
Directly from the wiki 😉
no wonder it didnt work then lmao i deleted my old test save cuz it was borked so i dint have all the friendship anymore
both
i would prefer to see content that's actually in the mod
I generally make an aesthetic version with one or two portraits, but I also like the disital art ones as long as they show the actual assets inside
I do art for my main thumbnail combines with a screenshot of it and then also screenshots from the game showcasing what the mod is about
but im greedy and a perfectionist so idk
I prefer whichever is more eye catching in the thumbnail because that's not gonna be the best place to show off the pixel art anyway, that's for the mod description
It is a difficult one to balance, because if you are only advertising an npc, digital art can work really well in showcasing who they are
Yeah it depends on the type and scope of the mod
It is possible to combine both, but I would definitely need to put a lot of work into it before I would be satisfied with the design.
If it's a new NPC or a new portrait, I like to see that actual art. If it's like a recolour or furniture pack, probably something screenshotty, if it's a utility, something.... utile...
Makes sense. Sometimes the art covers just don't really match the pixel portraits at all. I think in those situations though, they usually had different artists.
I was thinking about those actually. The cover art doesn't really match the pixel art in my opinion. Not saying that is a bad way of doing it, but that is something I would personally want to have more cohesion on. Like I said, they were likely done by different artists, so I understand it.
sorry to interrupt--is this valid syntax?
"NOT HasFlag": "landslideDone"```
hmm okay follow on question, this is what i had before, was it not valid either?
"HasFlag": "landslideDone"```
okay so it was just the negation got it
@ivory plume https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/troubleshooting.md#export
patch export works for maps now right
docs say This currently works for image and data assets. rn
When do we get EditAudio?
what is a map if not xml data asset /j
when do i stop being a snarky fucker
what would edit audio do 
Thanks! I'll fix that soon.
Let you splice audio tracks ofc
I guess maybe let me edit the individual sounds inside a Cue
AudioOperations
scary
SpliceDelimited (the delimiter is a frequency in microhertz)
is fourier transform gonna be involved in this i never learned calc 2
Why ofc course!
i did and I don't know how to fourier transform either
well i guess only atra can make this PR 😌
I can pull out the Matlab for pythonistas i started working on ....seven years ago
it probably was in either calc 2 or 3 but I don't remember either
Tbh I recall Fourier from my signal processing course
i didn't have to take one of those 
Button, I took calc3 in high school lol
I took differential equations in high school
Last bit of formal math schooling I ever did
all in preparation for your fourier transform content patcher pr
Nah I'm not cool enough for that anymore
I'm also too lazy for that
I'll be on the back nine like a proper retiree
Mod uploaded y'all! Thanks to everyone for your help and feedback, y'all kick butt ❤️
do u want a showcase
Defo!
if there's an active junimo lulu could get the role and showcase it too
you can request the cheeto role then
if you dont want to be orang then ill do it for you
I would love to be orange, I DM'd the bouncer
i have finally caved and added BETAS as a dependency for my mod. i wanted to limit the number of dependencies but there are simply too many goodies in there i couldn't resist
limiting dependency is fallacy 
eventually u r just rolling your own version of desireable feature
TBF the idea of limited dependency is so you're not reliant on code that might no longer be receiving support
Like some of the pre-1.6 libraries
Also it means you understand (probably) what all of your code is doing since YOU wrote it
But libraries and APIs are lifesavers for things outside your wheelhouse
which fallacy is it
for CP mods tho it is choice between not doing a thing, doing things in really cursed way (if any cursed way exists), and properly using a framework feature to do what you want 
Oh fair, I was thinking C#
sunken cost i think? though hm im not really sure where i was goin with that
dw it was mostly a jokey question anyway i just wanted to see if one could figure out an actual defined fallacy that can apply
yea but i considered it seriously for at least 10s out of respect
theres a lot of them
Slippery Slope?
Hasty Generalization?
Either/Or?
slippery slope would be if you said "if you add BETAS as a dependency, soon enough you're gonna be dependent on 50 other mods, too"
Oh heck yea I'm orange now
orange!

Tbf I could totally see that argument being used here
you could! but it wasnt 
for me, i was trying to limit it because the audience i'm making this mod for isn't likely to have played with mods much before, and i didn't want to worsen their experience by being like "okay come play my thing BUT first go download these eight other things"
Ohhhhh I can see the reasoning
yea but the people who are first adopters of mod also tend to be the 1000 mod list ppl
i don't know how you expect to pick your audience here 
i fear them
oh i mean people in my fandom! i'm making a mod for a tv show we all like
so i've already hyped it to them
yea dw about it 
Anyways, please pip install this before installing this mod
i think the better approach is just
You'll also need to get in contact with me specifically
have a proper install guide
(anyway it might be circular reasoning. "i want to limit my dependencies because i want to have few dependencies.")
(there. i picked a fallacy for you chu)
(though that was ofc before nic provided an actual reason)
ty button 
"hey it says this file is a .exe?" "yeah don't worry about it"
something that would appease the graph theory gnome is some flag to mark a mod as dependency
elaborate
i.e. safe to uninstall if there are no dependents
So looking forward to my first comment being "Hey I found this incompatibility with this extremely esoteric mod"
isnt that just, any mod?
any mod without user facing features at least
Yeah, but a mod that has no side effects except
any mod that doesnt fuck wit hthe save serializer
perhaps safe is too strong a word but more like
i see pp with json assets in their log and 0 packs and i go why...
I worked so hard to make my mod compatible with like.. as much as humanly possible and apparently I missed like five mods ... it is inevitable
I see this all the time, I never understand... they also go out of their way to download the unofficial versions of SAAT and stuff 
my solution to this so far has been "don't try" /hj
pacman (the package manager on arch) remembers what packages are explicitly installed by user going "please get me firefox" vs installed as a dependency "ok i guess that means u need all these lib guys"
As does apt
if i had to guess, because its something i could see myself doing on accident, they HAD JA or SAAT mods initiallyt
thats the concept here i guess
Every normal package manager does that lol
and then they converted, and downloaded the new versions, but didnt delete the now unnecessary dependencies
yeah i last played modded SDV on my laptop a couple years ago and i'm pretty sure JA is still floating around on there
so for me i'd like to mark any of my mods that don't have user visible features as a dependency
I have JA with my big mod pack explicitly because there are mods that actually use it that I wanted
so for example mmap would be dependency=true as it does nothing without maps using it's features, livestock bazaar would be dependency=false cus it still provides a menu even with 0 custom animal shops installed
line aint that clear cus some frameworks like AT adds objects even without any packs so its just up to author to draw line ig
appeal to consequences fallacy, disregarded /j
im not sure if itd have too much value tbh personally
it would let smapi skip those mods automatically
i dont think it matters that much bc loads of people live with skipped mods section thats like 20 lines long
it would, but i think it would be very minor gains for a scenario that i dont expect happens all that often
Some weirdos srill try to use atracore (please don't)
my NPC mod uses atracore
the other approach is like
actually show dependency more on the log parser so ppl who care can look at it 
see how many mods in yer list is using spacecore and stuff
well for that i just look at nexus
yea and since button is fine with JS i vote button to do this PR
Oh no
(Super early semi-functional multi-key-binding support in Generic Mod Config Menu.)
what's this about js
is this for a dependency graph
my harmony patch I wrote for drawHoverItem a year ago still works now that I'm ready to use it 🙏
yea graph theory again
it's some weird thing indeed
it's some templating definitely
You know, when I first made my npc, I didn't know about the 32 pixel height limit, so I accidentally made it far taller than would work in game. I found that out after reading more online, and adjusted his height accordingly.
But as I've done even more reading, I've found out about spacecore, and how you actually CAN have custom heights with that. I'm kind of glad I didn't know that starting out because I don't want to think about all the extra problems I could run into for something that isn't that important in the grand scheme of things.
what an incredible day for me
The log parser page is almost entirely JavaScript using vue.js. The server-side rendering just builds the basic page template, injects a URL, and the JavaScript fetches the log data from the URL and builds the UI.
i had a feeling it was Vue but didnt look too closely. ive never used that either though so. im not the best for a PR anymore
on a semi related note, drawHoverItem is a terrifying method to deal with
(The actual log parsing happens server-side when you upload the file, which gets cached to Azure Blob Storage and fetched by the JavaScript.)
draw anything is Like that
but a dependency graph on the log parser wouldnt help me figure out how many people use BETAS anyway
Chue are you webdev flavored
nou
chu hates webdev
I'm also not webdev flavored
i done it b4 and didnt like it
webdev supreme
(Don't worry, I'm a web dev and don't like it either.)
pathos have you considered rewriting the entire smapi.io site in react or svelte instead just so that i can PR it /j
Oh god
I do unholy things with it at work lol
wrote a framework to run comms with all my ROS2 robots that I work with so I can write browser UI applications in react
When I was working to develop my Twitch Extension mod for Stardew, @rocky creek made me rewrite the ENTIRE front-end after we'd basically finished from JS to TS
It was so much work
TS makes my brain happy
i dont like TS but i also still agree that was for the best anyway
JS makes me want to eat a poisoned apple
my dislike is entirely irrational and wrong and i know this
The way you iterate over an enum in TS is actually wild btw
why not just
string body = "";
body += "<html>";
body += "<head>";
body += "<title>";
body += "SMAPI Log";
body += "</title>";
allows for great control of ifs, whiles, fors, etc
Just write the entire SMAPI codebase in Regex for the fun of it
yeah but how am i supposed to make that reactive without an entire framework
the tech isnt there
body += "<button onclick=\"doThings()\">i am a button</button>";
if only JS could manipulate the dom without react
so pathos what r your thoughts on displaying dependencies on log parser
beat me to it lol
(Vue.js is a reactive framework.)
i would hope so
ik the data is there but i don't know what it should look like on parser 
(take my prior sentences with heavy /s)
Sounds interesting if you want to submit a PR!
https://www.youtube.com/watch?v=aWfYxg-Ypm4 Have y'all seen the new video for Senior JS Developer interview btw?
Javascript programming language
Rust part soon on ?: https://www.patreon.com/ProgrammersAreAlsoHuman
JS Stack merch: https://www.redbubble.com/i/sticker/SATAN-stack-by-posix/160332098.EJUG5
Interview with a Javascript developer with Jack Borrough - aired on © The Javascript 2024.
more backend advise on https://www.youtube.com/watch?v=y8OnoxKo...
get to it, chu
oh that was a fake discord notification
i would just display it like frameworks and their contentpackfors
what does this error mean:
[Content Patcher] Ignored Bloom and Brew > Hazels's data > assets/Characters/HazelData.json > Hazel's LongHair: the FromFile field can't be used with an 'EditData' patch.
[Content Patcher] Ignored Bloom and Brew > Hazels's data > assets/Characters/HazelData.json > Hazel's ShortHair: the FromFile field can't be used with an 'EditData' patch.
I JUST GOT THAT TOO MESSED UP
ig just 1 level deep is enough
it means exactly what it says. you cant use FromFile in EditData patches
Is a reactive framework the opposite of an inert framework
dont need to know about FishDimensionMuseum -> CustomMuseumFramework -> Spacecore
i don't even have them turned on and it still gets me
but content packs r also already 1 level deep 
i feel stupid now
ahhaha thx
what do for things dependent on cornucopia
reactive frameworks emit radiation
be careful
ill have you know i removed the spacecore dependency ages ago thank you very much
Fun!
oh did you figure out how to swap out the custom location?
or did u just patch all the things u needed 
i just patched the things i needed 
I like explosions
and i store the donated items in a global inventory now
(That's why JavaScript frameworks change so often, the old ones slowly decay into radiation.)
what do they all decay into eventually
Writing that down
you can figure out when your framework is gonna be obsolete if you import halfLife.js
where do they hit stability
Papyrus Scripts
leftpad
either jquery or vanilla js, whichever makes the punchline better
through beta decay it all eventually just becomes this
Vanilla JS is truly demonic
Leftpad.js
Someone explain to me the benefit of why Null is an object
because "everything is an object"
what situation did you run into where that made things more difficult
except undefined
so adding this trigger action with spacecore + BETAS works in game:
"Id": "CCElevator",
"Trigger": "Manual",
"Actions": [
"spacechase0.SpaceCore_PlaySound crystal true",
"Spiderbuttons.BETAS_WarpFarmer handwrittenhello.dbda_DeadBoyAgency 6 18 0"
]
}```
but it seems to have messed up my NPC pathing. the TileData was previously `Warp handwrittenhello.dbda_DeadBoyAgency 6 18` but i changed it to what's pictured above.
i have an NPCWarp already added, which i thought they had been using:
"LogName":"Set NPCWarp for Elevator",
"Action":"EditMap",
"Target":"Maps/CommunityCenter",
"MapProperties":{
"NPCWarp": "50 18 {{ModId}}_DeadBoyAgency 6 18"
},```
here's the relevant jsons:
Map json: https://smapi.io/json/content-patcher/b25472a5e04947299dc2a0de4152fb83
TriggerActions json: https://smapi.io/json/content-patcher/beb8ad114a714c3d8e2dd6263943df50
I'm just offended it's a thing, it hasn't caused me too many issues
in js null has always been object, it's a bug lol. and they're never gonna fix it
can u have npc warp and warp on same tile 
I think pathos posted the xkcd earlier, someone is probably using it lmao
the NPC warp should be set to a tile just below the elevator (i.e., not the same tile the TileDatas are on)
It's just an example of why JS is terrifying. It's like the basis for 99% of the internet and it's held together with scotch tape and gluesticks
my thoughts are "it might be terrifying but if it never actually matters, does it actually matter that its terrifying"
are you sure it should be 50 18 and not 49 18?
hm since you are sticking your warp into the CC you shuld use the new AddNpcWarps instead
(50 18 might be correct but i thought it couldnt hurt to double check, i was just trying to match up my own map with yours)
it could be either i suppose? 49 18 is the left door, 50 18 is the right door
oh has that been released? i know people were talking about it
that would an Append, right?
prepend
you could do it with TextOperations before too if you fsr didnt want to require the absolute latest content patcher version
it was released in 2.6.0
sorry absolute latest content patcher minor* version
aka the one that people write in their formats most often 
is it my manifest that defines that? i don't even know what i have there, it's whatever was on the wiki when i started in february lol
for the record im not saying you shouldnt require the latest
just if you had reason not to, you can do it in prior versions
"Format": "2.6.0",
i see i see
its this field
oh the one in content.json yeah!
i have 2.5.0 in there
but i'm happy to make it 2.6.0
the recommendation is that, whenever you want to do any change to your mod, bump up the version
(and ofc update contentpatcher.dll itself)
but that would be my version in my manifest (currently 1.0.0.), right? the 2.6.0 is for CP's version?
no im specifically talking about Format
Got it
atra
oh so i determine what Format is set as
You should update your content pack to the latest format version whenever you update it, for best futureproofing.
oh okay wait i think i understand. you're just saying i should check to see if there's an update each time, not that i should increase the number each time
the idea is just that you always want to be working with the latest version of content patcher if you can
and the format line matches the version of content patcher you're using
(ideally)
and if cp goes to like, 2.99.0, it'll know about any migration things it needs to do on your 2.6.0 pack
if Content Patcher knows what version your mod was written for, as learned from your format line, it knows how to migrate appropriately
that's cool
https://www.nexusmods.com/stardewvalley/mods/26946?tab=bugs out of curiosity, how would i be able to patch this map tile in SVE
i believe it will even straight up prevent you from using a feature if your Format is too old
2033. Stardew 1.9 drops. CP 4.0 drops
even if your installed CP is newer
1.9 introduces monster data changes that finally let people do stuff trust
this is why for example older NPC mods that still have Format 1.51.0 or whatever can still work even though theyre using Data/NPCDispositions and such
Oh, are people talking about making changes to the smapi website? It was such a messy environment when I worked on the log parser updates. 😄
the raccoons have been moved to a data model. There are no more string string models in the game. Data/Triggeractions is Turing complete
content patcher sees the formatr and knows its old and knows what changes need to be done to get them up to par
which means they cant increase their format without also fixing their mod themselves, bc CP wont migrate them if their format is 2.6.1
makes sense!
khloe do u have thoughts about how2 display dependencies
Clearly do it like pip
e.g. show what mods in the log depends on spacecore
im also still not sure where the vue part of the site is at 
you know that fancy connected floaty particles background people overruse for their websites? it might literally be called particle.js. just do that but make each particle a mod and the lines are the dependencies 
Ahhh
you like graph theory, dont you? make a graph
we do, but why use that when you can use overused floaty particle library like all the cool kids
My thoughts about displaying dependencies is that you'd probably want to do something graph-y in a pop-up.
Probably pull in something like https://www.sigmajs.org/ and open dependencies in a modal when requested?
oh this is cool 
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Pro, with 15 C# mods and 1 content packs.
Suggested fixes: One or more mods are out of date, consider updating them, SMAPI is out of date, consider updating it
You're wanting to visualize a many to many relationship, so you pretty much need a graph to show it accurately. Can't just toss them in a tree or something.
i did actually just have a tree but with duplicate nodes
since lack of cycle is assured
ooo
Honestly though, at some point the site is getting complex enough that someone should set up a proper js environment. It's not great how it's being authored right now
What's wrong with but Vue
button doesn't know vue
Package manager + ts + vite or something to bundle
Yeah nothing is wrong with it I've just never worked with it
Seems like a perfectly fine framework to me
smapi or vue
you'd have to run it from vs i assume
i really dont know much about webdev nowdays but when i briefly did it thats how i was doing things
what does run it from vs mean 
it would be if smapi wasn't whatever it is
Does monogame do render caching or something? I don't know how to explain the drop off in my render time here
[18:38:11 DEBUG UI Info Suite 2] [Profiler (OnRenderedActiveMenu)]: Rolling average (400 entries) / 33871.45 us / 0.03 s
[18:38:13 DEBUG UI Info Suite 2] [Profiler (OnRenderedActiveMenu)]: Rolling average (400 entries) / 16947.00 us / 0.02 s
[18:38:15 DEBUG UI Info Suite 2] [Profiler (OnRenderedActiveMenu)]: Rolling average (400 entries) / 11305.46 us / 0.01 s
[18:38:16 DEBUG UI Info Suite 2] [Profiler (OnRenderedActiveMenu)]: Rolling average (400 entries) / 8484.95 us / 0.01 s
[18:38:18 DEBUG UI Info Suite 2] [Profiler (OnRenderedActiveMenu)]: Rolling average (400 entries) / 23.08 us / 0.00 s
[18:38:20 DEBUG UI Info Suite 2] [Profiler (OnRenderedActiveMenu)]: Rolling average (400 entries) / 23.08 us / 0.00 s
a
yep proper logs work too
i wonder how i can test outside of VS then, there's gotta be some way 
problem for tmr chu
are you doing anything in the draw methods
Hello! I am back again lol. I am getting a error and am not sure how to fix it in this json
https://smapi.io/json/none/47b0b98bfdd34ea19c587b44d84742d2
Should I put 2.6.0 or 2.6.1 as my Format?
stray ], in line 420
there's a bunch of other errors but that's the first one the validator points out
side note, but does your editor have matching brackets highlight and an autoformatter
makes it much easier to spot errors in the bracket madness of JSON code
whichever version matches the version of content patcher you're making your mod with
oh, also missing closing }, before line 436
Cool. 2.6.1 it is
I mean yeah... I'm drawing
but I'm not doing any caching yet, it's just getting the bundle information every loop and drawing it to the screen.
and you need a ] and a } to close out the first two opening brackets in the final two lines actually, no, it's more severe than this
your entry on line 466 seems to be completely malformed. seems like you accidentally deleted half of it?
Oh i see it does have the ""operation" after it
is the bundle info itself cached somehow 
yeah I cache it, but it happens both on game load and if I've left the game and come back to it. I'm not too concerned about it, just curious
So, I'm been learning content patcher, and I have a question: if the object machine has an "OutputMethod", do I have to make a seperate method and have the object pointed to that method, instead?
yes
(IIRC you asked yesterday for a seed maker that gives more output depending on the input's quality? does quantity modifiers not do what you want?)
From what I am seeing, no. I thought I saw it did once, but either I am not implementing them properly, or it's due to an underlying issue. I remember needing reflection because the seed maker discards the quality of the crop, so I think this method, which essentially does the same, is the issue.
downside of not looking at this thing for a year is I can't fucking remember how my transpiler works
and I didn't leave enough comments 😦
what do you mean, the opcodes are the comments! they tell you exactly what theyre doing 
you can do custom output methods of course, but just using machine data means you don't need C# and maximizes compat with game updates + any other mod that might patch the vanilla OutputSeedMaker (like that Fruit to Sapling mod)
yayyyyyy 
{
"Format": "2.6.0",
"Changes": [
{
"Action": "EditData",
"Target": "Data/Machines",
"Entries": {
"(BC)25": {
"OutputRules": [
{
"Id": "Default",
"Triggers": [
{
"Id": "ItemPlacedInMachine",
"Trigger": "ItemPlacedInMachine",
"RequiredTags": [ "!seedmaker_banned" ],
"RequiredCount": 1
}
],
"OutputItem": [
{
"OutputMethod": "StardewValley.Object, Stardew Valley: OutputSeedMaker",
"MinStack": 1,
"MaxStack": 3,
"StackModifiers": [
{
"Condition": "InputQuality == Silver",
"Modification": "Add",
"Amount": 1
},
{
"Condition": "InputQuality == Gold",
"Modification": "Add",
"Amount": 2
},
{
"Condition": "InputQuality == Iridium",
"Modification": "Add",
"Amount": 3
}
]
}
],
"MinutesUntilReady": 20
}
]
}
}
}
]
}
the full patch class with all its methods is like 500 lines I gotta comment now
woahhhh
sorry, I thought code will fold
that's definitely not what the Condition field should look like
wrap it in ```
ahh
check out https://stardewvalleywiki.com/Modding:Game_state_queries for what condition you should use
it still wont fold if wrapped, for longer jsons pls use the validator
specifically you want ITEM_QUALITY Input 1 1 for "Input item silver quality" for example
also, it is not recommended to remake the machine's entire field like that, since you risk breaking compat with other mods
(tbh in this context id call it more "guarantee breaking compat")
so just the stack modifiers will do?
it technically won't break mods that patch OutputSeedMaker directly, but ehh semantics lol
with the appropriate TargetField to drill into it
actually since my manure mod is already doing something similar I just modified it and posted the result: https://smapi.io/json/content-patcher/79211bd2f4b54c588d9929877b1592cb
that TargetField line is basically "find (BC)25 > Enter OutputRules > Find entry in OutputRules with the Id Default > Enter OutputItem > Find entry in OutputItem with Id Default > modify it"
this way you leave everything else the same
Ah!
I was just reading about it here: https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/action-editdata.md#target-field. Thank you.
Can someone point me in the direction of animating sprites?
Like what the triggers and such are for content patcher?
what sprites are you animating?
content patcher doesn't typically do animations (outside of what vanilla has already)
for an example of vanilla animations, there's some spring onion animations at the top of Cursors.png
but if there isn't an animation in vanilla, you'd need a framework beyond CP, like SpaceCore
yeah I asked since there's lots of contexts needed for "animating sprites"
if you want animated map tiles, that's straightforward in Tiled. animating machines when it's working, that's natively supported
#making-mods-general message bumping these in case anyone can help
For vanilla assets!
Like npcs walking animations and such?
I have my sprites made and ready, I’m just wondering how to implement the movements in game?
Your warps are wrong. My guess and I may be wrong. But can you use {{ModId}} in a warp. Because they look right. Try adding the actual map name.
https://stardewvalleywiki.com/Modding:Schedule_data#Schedule_points see the animations section
Thank you so much!
yes, i always get the {{ModID}} error in the json parser, but it's never an actual issue in game afaik. all my other warps work with my mod id in them
So if it is not the warps, what issue are you having? Or it is the warps but others have worked in the past with {{ModId}}
where would the icon for the festival flags on calendars be?
it's that my NPCs can no longer path from Town to DeadBoyAgency after changing the TileData from a Warp to the spacecore trigger action stuff, even though i have an NPC warp added (which i assumed they were using before, because i had added it after they were unable to use the normal warp for whatever reason)
also in case you didn't know, you don't need to manually animate them walking! by having them in the correct indexes (the first sixteen spaces) the game automatically knows how to do that
active festivals (the flag): LooseSprites/Billboard
passive festivals except for the trout derby/squidfest (the star): somewhere in cursors
fishing festivals (the anchor): cursors_1_6
Oh, the male gender thing. I am told that is a spacecore thing and it just means space core found an invalid path. Do the npcs actually not move? Because when I had ot in my game, I was told that it can be ignored most of the time as long as the npcs still move.
tysm 
yeah they get stuck unfortunately
instead of walking back home, they stay where they are and begin the animation they're supposed to perform upon arriving home
Then I can't help as I was never given an answer on how to fix it. Sorry.
that's okay, thank you for trying!
Thank you so much! I am flying by the seat of my pants here😂 Just got into all of this like a week ago, and although I understand simple replacers, this has been an overwhelming and enjoyable project so far.
My first real mod and I decide to go full send, any and all help is definitely appreciated
yeah haha it can be a lot at first! there are awesome tutorials out there, let me see if i can find them
!npc
Keep in mind that making NPCs is a complex process that requires learning many different aspects of Stardew modding.
Here are a few links that can help get you started on all that you need to know:
-
Tiakall has a great tutorial on making a custom NPC for 1.6.
-
NPCs no longer use dispositions, check the wiki page for the new NPC data.
-
Aviroen has put together a template that will allow you to easily create a romanceable NPC.
-
Feel free to jump into the https://discord.com/channels/137344473976799233/1277457201077813280 thread for more interactive feedback and help!
-
Fireredlily has a WIP NPC Builder Please do report any errors you get with it into the NPC thread!
nice first try
Gaaah which of these options just gives you the 'posts' tab:
A single comment topic and a discussions tab
Just a discussions tab
No comments ```
For what its worth, I do have a typescript parser for the logs that parses it in a streamed capacity and a slightly different data model it parses into. https://github.com/SinZ163/StardewWebsite/blob/main/src/logParser.ts
my log viewer on the other hand is kinda mid, as I was mainly interested in using that log data in the profiler analysis section
I freaking hate making nexus mod page. The number of times I click 'next' and it says I don't have permission, or I try to edit a page and it says 'this mod has not been published yet', warghhh
Bless you, kind Maam!
*im so sorry I should have looked
funnily enough i very much like being called sir lmao you're good
I didn't sleep enough to do any real thinking, but is the NPC warp on the same tile as the BETAS farmer warp? If it is, what if you move it one tile over?
so the betas warp actually doesn't seem to take "from" coordinates? it should be (and is) triggered by clicking on either of the elevator doors. the NPC warp should be one tile below it. i can send a screenshot of my map coordinates, just a sec
But your trigger action is on a tile.
oh it's not letting me, hang on gotta open it in PS i guess
yes
A pure frontend parser would be interesting, but I also think there's a lot of value in any tool being able to get a JSON parsed log from the server (like the Governor bot does now for its response).
that tile is one above where the NPC warp is set to
Try moving the NPC warp across one instead? Again, I am not coming to this with clear thinking, just "change the variables until it works, then narrow down what causes it".
can have the frontend upload it pre-parsed
though I admit theres already environments relying on the upload being raw, governor can auto upload logs, as do some nexus mods
i'll try it 👍 and i appreciate your time, even when tired
The advantage of the frontend parser is its fast, and can be used to read logs larger than the filesize limit on the app service
during development of my site I was working on logs in the 300-500mb size rather than the <~28mb that smapi web can accept
same spacecore error when it's set to 49 18 (and again they don't move)
Hmm. What if you make it a regular warp instead of an NPC warp?
I know that will mess with your intended trigger action being the only way for the farmer to get there but for now I am just focused on finding the issue rather than jumping straight to a fix for an error we don't understand, if that makes sense.
hmm it seems like the warp isn't even added. i don't warp there when walking on that tile, so presumably the npc warp wasn't being added either
"LogName":"Set NPCWarp for Elevator",
"Action":"EditMap",
"Target":"Maps/CommunityCenter",
"MapProperties":{
"AddWarps": "49 18 {{ModId}}_DeadBoyAgency 6 18"
},
},```
is it possible that i need to be adding a warp to every iteration of communitycenter map?
(refurb, ruins, joja)
Oh that one is because AddWarps is not a field inside MapProperties.
it's at the same level.
oh so just
"LogName":"Set NPCWarp for Elevator",
"Action":"EditMap",
"Target":"Maps/CommunityCenter",
"AddWarps": "49 18 {{ModId}}_DeadBoyAgency 6 18"
},
},```
?
Close. Needs square brackets (and it needs both lol)
{
"LogName":"Set NPCWarp for Elevator",
"Action":"EditMap",
"Target":"Maps/CommunityCenter",
"AddWarps": [
"49 18 {{ModId}}_DeadBoyAgency 6 18"
],
},
hi so i'm working on a mod to resize the borderless window but i don't know if i'm maybe missing something this is the result i get and this is the code
damn, it still didn't show up for some reason?? https://smapi.io/json/content-patcher/511c429b909949a590d3e4cbb8cdbf92
(you do need to do it for each version of the map)
ah okay
There is no Maps/CommunityCenter in my Content folder. Only CommunityCenter_Refurbished/Ruins/Joja.
so editmap targets a tmx?
yes. its not editing locations
which i guess makes sense it's kind of in the name
yeahhhh kind of having a head-against-wall moment here
You should be able to double check the map name with either Debug Mode or Lookup Anything
the Maps vs Locations confusion is common enough that you're in good company at least
yeah i could live to be 100 and still be confusing them lol
It's uncommon to do it in this direction though!
woohoo achievement unlocked
it worksssss thank you both so much
well, the addwarps works, but i assume the NPCWarps will as well
There's AddNPCWarps so you should just be able to add "NPC" in to the field name lol
yep, easy fix!
uh ohhhhh
so they path to the NPC warp just fine, so they must know where it is, but why does it not warp them
@urban patrol You leveled up to Farmer. You're now a prettier shade of blue. Thanks for sticking around!
omg i'm a real boy now
Did you make a new save after changing the EditMap targets?
i did not! i didn't know you had to 🙏
schedules can be fucky and the community center can be even fuckier so when working with both it definitely helps to pull out all the clean slate stops lol
I don't know if you do, but with schedule stuff it's always best to test on a new save or by sleeping in case the problem goes away by doing that. Not sure it's going to help here but it won't hurt.
at the very least, even if it doesnt help, you'll be able to confirm it didnt hurt
that did indeed fix it PHEW
i guess i never thought of map stuff falling under the umbrella of schedule stuff, but on second thought it's kind of like well of course it does lol
and with that, that might legitimately be the last bug to squash? i think... i can release my mod now??
would it be possible to add a book that gives +1 speed when you are in the secret forest with just frameworks?
yes (theres a vanilla buff for speed, right?)
yea
have a repeating trigger action check for the book's stat and fire on LocationChanged
put the AddBuff action in it and give the player a speed buff
ideally your own custom speed buff, so you can also remove it when they leave with another trigger action
i guess you can do it in the same trigger action with the If action
if in secret forest, addbuff, else removebuff
also i dont know if you were including Content Patcher as a framework or if you meant additional dependencies but that can all be done with just Content Patcher
Hey, anyone know here know what some of the most crowded festivals are, custom npc wise? Is there a festival you've observed that everyone just seems to want to add their own character to? I'm wondering specifically about spirit's eve...
i know there's this spreadsheet, although it doesn't have every NPC https://docs.google.com/spreadsheets/d/1q0j3BqE79_wDlTW43teNPEspudt29S0EmlKwL7PDUCo/edit?gid=1314484656#gid=1314484656
I'll look through there if I end up doing any festivals. Do you happen to play with a bunch of npcs?
i do not unfortunately. best of luck though
Thanks!
All festivals, most people add their NPCs to every festival. Can't think of too many that don't.
Yup I have overlaps galore when I play
I would guess that the spirits and winter festivals specifically would interest people who might not have their npc attend every festival.
@fierce vault You leveled up to Farmer. You're now a prettier shade of blue. Thanks for sticking around!
Oooo
I'm a different blue now. Honestly, this shade doesn't go as well with the sprout in my profile name though
Just rting in case, (do not hesitate to ping me if necessary 😊)
does tiled let you see what layer a tiledata is on?
He just chillin
any lyer to select seems to work, it just changes you to be selecting the layer that actually has it once you've clicked
the festival situation is grim, unfortunately, and spirit's eve is the worst of them all, in particular because of how SVE handles it.
collisions are effectively unavoidable and no grand community solution has emerged to solve it, so you just have to do your best and try to handle collision reports if you receive them
the edge cases... so many edge cases
can i have a sound loop during an event, as music also plays in the background? i want my character to be stirring something and for the waterSlosh sound to repeat until he's done stirring. so far i've only been able to get it to play once
Thanks, I just saw this. That is what I feared unfortunately. It just makes sense that everyone would want their character to at least be a part of the 'Halloween' celebration. I'm not sure if adding mine would be worth the hassle.
I checked out the custom npc festival spreadsheet by the way, and I'm not sure if it is just a problem on my end (using the PC), but it looked funkier and more misplaced the further I scrolled down. It was really broken in some areas.
i would say its still worth it to add your npc
have to remember too the spreadsheets and resources kinda give the "worst case" scenario of a user having everyone installed
theres many people who will only have a handful of NPCs extra
and if someone is in the worst case, then theyre used to the collisions anyway
You make a good point, I think. I wouldn't expect most people to have too many issues like you said, but I didn't also consider that the modded mayhem disaster scenario users would also probably be used to it and not think it's too big a deal.
There's also the path of config options for festival placements (using config tokens for the coordinates so players can control them), though I don't know if there are any snags to doing it. I've tested its function with Hiria in a vacuum but not in a real gameplay scenario.
very confusing moment for me where aba sent that msg as i was reading parcys but my brain didnt notice and i was wondering why parcy was suddenly talking about testing with hiria in a vacuum
personally i also just think festivals are a very fun thing to add stuff to an NPC for, so it would be a shame to skip out on that just to let other people do it for their npcs and not get in their way
config tokens for placement should be fine. i use dynamic tokens for mine (i have preferred locations, and backup spots if those are taken) and it's never caused problems except for having to become confused math lady when somebody reports a collision ("exactly what mods have to be installed for this to happen?")
if you happen to choose a spot someone else chose, thats not your problem. it aint theirs either. its just a fact of modding life
I think that if I maybe carved out a space a space for him (while accounting for SVE, RSV, etc... sigh...) I may have an even better chance of avoiding collisions.
accounting for the big 3 expansions is probably good enough for most people tbh
Maybe I will add him then. I think you have the right attitude about it. It would be a shame, especially since it would be so fun
Is the past tense of troubleshoot, troubleshot?
To see him there, I mean
the spirit's eve problem is just because with SVE there are four different festival maps and the order they are used is baffling /lh
troubled shot /j
RSV is actually easy
its troubleshote
All their ppl are in a new area
Oh wow, I didn't know that about SVE. I have yet to get to the fall, so maybe that's why
That's nice to know, at least
Anyways one day someone will solve the assignment problem trust
(Fully working multi-key-bindings support in Generic Mod Config Menu.
)
Very nice!
how do i make an item do the book open animation?
must be category -102 or -103
Like on use?
Yay i got a book item working! now how do i condition for if i have read the book?
PLAYER_STAT Current YourBookId 1
when a book is read it increments a stat value on the current player whose name is the books item id
(PR submitted for the GMCM multi-key-binding support.)
does that ui work with gamepads as well? 
Yep. GMCM already disables controller snapping for the config UI, so they work in free cursor mode.
Really cool PR btw, I know that's something people have been asking for frequently
I'll make sure to update my mods to support that once it's out ^^
It should work automatically! You just need to call the AddKeybindList API method like before, the API hasn't changed.
Here's a preview of Generic Mod Config Menu 1.15.0 (with kittycatcasey's permission).
Changes:
- Added support for setting multi-key-bindings (automatically enabled for all mods using the standard
KeybindList). - Fixed compatibility with the upcoming Content Patcher 2.7.0.
Let me know if you have any issues or feedback (or if it works fine for you!).
If you're going to cut a release of GMCM please include my PR for Better Game Menu compatibility.
(Not that it's needed for an unofficial build, but I know you have publish permissions for a lot of mods)
I won't be releasing a public GMCM update, I'm just beta-testing these changes for her. Casey will be looking at the PRs and preparing an update separately (possibly later this month before the Content Patcher update).
Khloe are you still interested in mods that need compat for BGM?
Of course. I want everything to be compatible.
I pinged you a while ago but i'm not sure you saw it, informant's shipping collection decorator is not appearing while BGM is installed
The rest of them are fine it's just the shipping one
I don't think it's the decorator itself that's the problem but how they check if something is needed for the collection page, but i could be wrong
just started making the texture for my book, what are these smaller skill book sprites for?(ones on the bottom)
unused
I should add that to the compatibility tracker. I did start looking at it but had to stop pretty much immediately because of other stufff stealing my modding time.
the tiny books are so cute...
would bea shame if someone... turned them into decor...
how do i add a rare drop to hardwood stumps and skull cavern rocks?
Placeable Mine Shaft is now updated to 1.6 @reef kiln
https://www.nexusmods.com/stardewvalley/mods/5440
Not sure if it's the best approach, but can harmony patch postfix resource clump break event to add that rare drop, and same approach for stonebreak or breakstone event to add that rare drop.
Thanks
I want to make a custom shop that can be opened furniture. For example, if there is a vending machine furniture, I want to place that furniture where I want it, and when I interact with it, I want the custom shop to open. How do I do that?
You can create a custom shop, I'm not 100% sure what you're asking in some of your question.
sry I don't know how to explain it
I think I should say that it is a furniture that also functions as a custom shop
All stores are somewhat a "furniture", they just are only open on the condition there is a NPC nearby - but you could create a custom shop without that condition, and that could be what you're looking for
However I don't know if it would be possible to move a custom shop in-game, I'm not verse in the art of making a custom shop
You can use the OpenShop tile action with a furniture via calcifer
6480, does cornucopia have kale?
Shops in this game aren't usually furniture tho
Well, except for the catalogs
Also, does stardew have okra?
Kale is my favorite veggie, you know 🙈
That's probably the feature I'm looking for, I didn't know calcifer had that feature, thanks really 
Mmm okra
I think SVE has kale?
(its vanilla)
Great to know thanks
Question, to have custom player sprite, how do we do that?
it's like a mod or directly drawing on game files?
as in the farmer?
yep
oh you're dragon modder
My username is that, I don't make dragons for mods
I was thinking of the dragon film mod ^^
i saw it on the list in #mod-showcase
but yeah I was thinking about something like this: #making-mods-art message
are you just wanting to make custom clothing or the actual body?
custom clothing
you can use content patcher to add in basic clothing but if you want something fancier then you'll have to look into using 'fashion sense'
ooh nice pretty cool
I wonder if it works with 1.6 and multiplayer, i'll look into it
thanks
lmk if there are other priority mod updates
aedenthorn!
Adding Events to my mod is so complicated. Is there any way to add events easily?
there are so many commands or values
not a priority, but 'skateboard' might be nice. Someone had updated it to 1.6 but that seems to have vanished now..
Someone plagiarized my mod and uploaded it on nexus, I reported it and it got taken down. Now it's up on github. Is there something I can do or do I just drop it? He's linking the github in his nexus profile
you don't need to learn every single one, just do things at a time and if you need to add something in, can add it in later.
I think I saw that, they gave up on it or smth
just move npcs/pause/speak etc
ok.. So is there a way to test these events?
yes
Try bringing things up to the Nexus discord
I'm sorry to hear that.
well any cheat mods help with debugging but just type debug ebi eventid in the smapi console
patch reload yourmod.id to reload your mod
@ivory plume errors are no longer red 😦
errors must be red
Is there a way to make an ItemDelivery quest for multiple people in 1 quest?
what is "$8" ? I can't search it in wiki
its the portrait
where is Abigail's 8th portrait?
First column, fifth row.
ha took me too long to go through my mess of file organization 🙂
also the documentation for it is here https://stardewvalleywiki.com/Modding:Dialogue
hello i made a code file tried to improve it by integrating GMGC but it changed something which make it not work i don't know why but by chance i did kept a copy of a version before it but i don't know which software you use for decompiling ?
ilspy or dnspy
also, you should look into using git in future so you can roll back changes instead of having to decompile your own mod
thank you ^^
If you add a dependency in your manifest file, does that mean you mod load after or before the dependency mod. For example, If I have a map mod that needs to load before SVE because their maps clash, can I do so by adding SVE as a dependency in my mod (as false)?
your mod is always loaded after dependencies listed in your manifest
setting a non-required dependency is how your force your mod to load after another mod
Loads are not dependent on mod order, though
Really? LOL learning all of this can be a little confusing even after reading up on it.
it's based on priority- default setting is that if two mods try to load the same map, both will fail. if SVE has a non-default priority, you can set your priority to be higher than theirs to make your map override it
um i'm on mac it seems i can't download those ?
Thanks! I'll try to figure this out. 😄
thnak you very much
Fixed!
is it possible to have these Action Letter "..." be functional without anything in the building layer? so that you can walk over them?
cool I will try that
The multi-key-binding support will be in Generic Mod Config Menu 1.15.0. If you want to add forward compatibility now, you could do something like this:
set: (config, value) =>
{
// GMCM didn't support multi-key-bindings before 1.15.0
if (this.Helper.ModRegistry.Get("spacechase0.GenericModConfigMenu").Manifest.Version.IsOlderThan("1.15.0-alpha"))
{
if (value.ToString().Equals("None"))
{
this.StartGame = value;
return;
}
KeybindList keybindList = this.StartGame;
if (IsGamepadButton(value.Keybinds[0]))
{
keybindList.Keybinds[1] = value.Keybinds[0];
}
else
{
keybindList.Keybinds[0] = value.Keybinds[0];
}
this.StartGame = keybindList;
}
else
this.StartGame = value;
})
Thank you, it worked <3
Any plans to add List support in GMCM?
public class MiningOreOrGem
{
public string Name { get; set; } // e.g. "Diamond"
public string Type { get; set; } // e.g. "Ore" or "Gem"
public string ObjectID { get; set; } // e.g. "(O)72"
public int AddAmount { get; set; } = 3; // How many extra to add
public double Multiplier { get; set; } = 1.0; // Bonus multiplier
public List<string> DropsFromObjectIDs { get; set; } = new(); // Object IDs this item can drop from
}
That'd be a question for kittycatcasey; I'm just contributing the multi-key-binding feature, not maintaining the mod in general. I suspect not though, it seems like a pretty rare edge case.
One option would be to have a comma-delimited text field which you just split:
get: config => string.Join(", ", config.DropsFromObjectIDs),
set: (config, value) => value.Split(',', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries).ToList()
Or use AddComplexOption to create your own UI for it (but that might be overkill).
I'll explore options you provided thanks
to lock an NPC behind quest completion, i would set a mail flag for has seen event and then a trigger action every day to set npc invisible if you haven’t seen that event, correct?
Do you need them to be present and invisible, instead of just using UnlockConditions in Data/Characters?
does someone has a check for if farmer is dating or engaged to a npc on hand?
oh! no, that’s much easier!
Condition or When statement, Lumina?
when