#making-mods-general
1 messages ยท Page 435 of 1
kinda need a minute to get it to run to test it ๐
lol fair
i'm just in that mood to be "done" with it for now i guess. would it be easier to test if i just went ahead and published it as a mod?
Tried fixing my code and broke the whole thing 
I mean changing the floors does work
all I changed was I made sure the floor actually used tiles from the walls_and_floors tilesheet
strangely the little column bits dont want to change but it generally works
oh they dont have the "TileData" name
I'll just assume the same fix would work for the walls
probably. hmm
i guess i'll try a couple more things, thank you
i guess all the wallpapers have that little edge and shadow and thus slightly less overall height eh
what you could do for the walls is put tiles from the walls and floors tilesheet there so people can place decorable furniture
but then add another layer in front of it where the wallpaper you actually want drawn is
hmm
like Buildings1 or Back1
these tiles are trouble a far as actually decorating them goes
that fake wall might work
you have a very unique wall and it'd be great to keep it
I think you were right about this! I just happened to try paths towards the exits I suppose. I'll look into bypassing it.
there is the tricky option of just using vanilla floors and walls and having the query patch the graphics...
what in tarnation
so uhhhh the pizza layer there is back
the skeleton layer...does not exist? and my actual building1 layer that should be there is not
skeleton layer accepts wallpaper
so i guess it must be the tile data
but then why isn't it three tall
Make sure that your floor ID tiledata is on the Back layer under the bottom-most wallpaper tile.
https://i.imgur.com/s0l3OCS.png yeah ok it's def the tile data
like that right?
do the floor and wall IDs need to be linked in some way?
i guess that would make sense
this is mainly just so that when you replace the wall you don't end up with black space behind it.
(you'll also want an actual floor tile on the Back tile layer there)
hmm ok
A lot of the wallpapers don't actually take up the entire tile on the bottom, and instead have a mostly transparent set of 3-4 pixel rows that are 'shadow'
easiest fix is to also put the floor tile under that bottom wall on the Back layer, so that the floor still meets up
trouble there is the tile i was using for the border has a shadow baked into it
well, in vanilla, they get around this issue with those wooden panels on the bottom half of the wallpaper.
and just stick those on the Building layer instead, LOL
right
yeah for some reason it's like ignoring my building layer boarder for the walls
maybe it needs a proper reload
A lot of the wallpapers also use a bottom trim/baseboard, soooo, you're gonna end up getting doubled up trims unless you make it a fairly tall one.
that makes sense
should be able to art around most of this if it would just behave the way i expect it to haha
closer
double border doesn't look too bad? maybe doesn't make much sense tho
simplified a bit
yeah that might be the way to go
i could get very particular with where i'm imagining light sources but that seems like madness
Is it possible to make a collapse-able message to post some dialogue for feedback? I don't want to make a big wall of text.
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.
Guess I'll try the text. I'm working on the greetings for the mod I mentioned earlier: #making-mods-general message
I'm just wondering if it's sounding okay. I've got a template that I'm just trying to move words around for each character (so it doesn't take me forever). I want the greetings to not feel too repetitive (except the hearts 0-3 entries since it's intended they don't know the player that well yet, so a bit of repetition is okay).
Basically the greetings are: 0-3 Hearts, 4-7 Hearts, 8-10 Hearts, Dating, + random weather lines for those, then Married + random weather lines, and morning-of-festival lines (those aren't all done yet for abigail).
Oh cool, that txt worked okay.
Well, it worked on my PC. Mobile has to download. Boo
how2 speed up json edits
just make a button for stuff you gotta paste a lot
(if you have access to a deck or similar anyway)
Can anyone help me out with a mod being stuck in a loop?
!json is this for an event? can you please show us your code
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.
and also describe which options loop and what happens when they do
That looks like an event from RR
oh if this is not your mod then head to #1272025932932055121
damn it
ah, well then
mystery solved
seems the bottom row of a wall is expected to be on the buildings layer
which ok makes sense but also damn
screee I literally took the texture json from my other AT farm animal mod. it must have something to do with it being a custom animal? idk
cant I just mod it correctly on the first try ever
can anyone?
uh, i would hope so on somethign as simple as AT ;__;
I consider CP way easier than AT
like, why work in one at mod, changing animals, but not in another with same format
๐ซ
does it literally want to be called _BabyDonkey instead of BabyDonkey in the json
i stg this whole things internal info is a mess
guess ill just keep going up the dang ladder of info >:(
nope its none of those :)))))))))))))))
I have a dumb question... what is a bool 
boolean
which i think in most contexts is gonna be true or false? someone fact check me there
I see the true/false flag; Does it like... make something update game code or...?
I tried looking it up but I need it broken down Barney style 
what are you trying to do with it
Nothing atm since I'm trying to learn what it is before I use it... I think its mostly used for flags? or adding things?

I... think????
it's used in many different cases but yes it just means the variable must be either true or false
ok, I found an at mod that changes another of the same authors custom animals. if this doesnt work Im gonna explode
thank GOD
hi guys!! i wanted to ask if anyone here knows how i can make my pet have max friendship with me by changing game files safely or by using a mod
CJB cheat menu can do that i think
so somehow this https://i.imgur.com/3S7TVRy.png
looks like this https://i.imgur.com/Pi7g7lB.png
looks correct in tiled, but in game ther's an extra line or it's offset or something
...ok now there's not
welp lol
I have a question. So there's a schedule for rainy days. Does this count for snowy days?
No
excellent, thank you
Iโm currently waiting at the airport so excuse my poor sketch but if I wanted a furniture (figure 1) to be just a statue no interactions but you can interact (if you happen to have an item/ object, โtreasure/archeology category like pearlโ to be the only possible once in a life time interaction with it, and if you place it the furniture/statue gains new interactions (being a teleportation totem) and having a new sprote (figure 2) - what would be the best approach for this, talking its category and maybe what kind of framework or which directions to look on how to do something like this?
Ohh great! Thank you! I cannot look up the Game code currently but this idea has really manifested and brewed real hard in my head so I wanted to ask
ugh, the shop icon isn't changing :/ oh
anyone got a guide to making Gender Neutral Mod Tokens work? There's no documentation on the mod page and I am confused as hell...
Are you looking at this? https://github.com/aeremyns/GNMTokensMod
yes, thanks
thanks
nevermind I dont understand whats happening anymore
aba since youre here
somehow... i get my changes even though the asset is {{ModID}}_donkey_baby, and I have it as {{ModID}_babydonkey anyway not gonna question that. however the shop icon, even though I have it the same as the loaded sprite in the original its not replacing ๐ญ
original
"LogName": "Load shopIcon for Donkey",
"Action": "Load",
"Target": "Animals/{{ModId}}_shop_donkey_icon",
"FromFile": "assets/animal_shop_donkey.png"
},```
mine
```{
"Action": "EditImage",
"Target": "birdb.CP.Donkey/shop_donkey_icon",
"FromFile": "assets/animal_shop_donkey.png",
},```
patch summ
--------
Local tokens:
token name | value
----------- | -----
ModId | [X] birdb.CP.Donkey
Spritestyle | [X] aesthetic
Patches:
loaded | conditions | applied | priority | name + details
------- | ---------- | ------- | --------- | --------------
[X] | [X] | [X] | Exclusive | Load shopIcon for Donkey (Load Animals/{{ModId}}_shop_donkey_icon => Animals/birdb.CP.Donkey_shop_donkey_icon)
Current changes:
asset name | changes
---------------------------------------- | -------
Animals/birdb.CP.Donkey_shop_donkey_icon | replaced asset```
That is not the same as the original
?????????
Original: Animals/birdb.CP.Donkey_shop_donkey_icon
Yours: birdb.CP.Donkey/shop_donkey_icon
ok but
I dont have the donkey sprites like that
and they load
as they also load animals/id/donkey and donkey_baby
I even have the baby donkey in mine as babydonkey instead of donkey_baby and it still loads
"LogName": "Load adultSprite for donkey",
"Action": "Load",
"Target": "Animals/{{ModId}}_donkey",
"FromFile": "assets/donkey.png"
},
{
"LogName": "Load babySprite for donkey",
"Action": "Load",
"Target": "Animals/{{ModId}}_donkey_baby",
"FromFile": "assets/babydonkey.png"
},```
```{
"Action": "EditImage",
"Target": "birdb.CP.Donkey/donkey",
"FromFile": "assets/Donkey/{{Color}}.png",
},
{
"Action": "EditImage",
"Target": "birdb.CP.Donkey/babydonkey",
"FromFile": "assets/Baby Donkey/baby_{{Color}}.png",
},```
no and thats whats bugging me? why does it work for these two but not the icon
It doesn't work for those two
That adult one is the one that you were saying last night does not work
So you've got another EditImage patch somewhere with the correct target and that's the one that is working
I'm about to punt cp into the stratosphere
i tested it today and it worked
and now, putting the cp on after testing at
and it doesnt work
why do I mod
It didn't work before, I'm sorry
Something else happened, but you did not have the correct target so it was not possible that it worked
i literally pinged you about it working ๐
but anyway
I will
continue to test
to fix it
thank you fopr your patience
Yeah but that was after you changed it to what I told you to do, right?
Not while you were using the one that you asked for help with because it wasn't working
the time has come to once again add in items
i also decided not to break my mod up into parts gonna do comics cards and cds all in one
(i dont have that many cds or comics)
Ooh that sounds cool
๐
ik it shouldnt matter how many people enjoy it as long as i do but i really like seeing people download and enjoy my mods lol
Me too! I make my stuff for me but gosh does it feel nice when people enjoy my stuff!
real
thats why i hope my mod is able to catch ppls fancy for those who like collecting stuff like i do lol
Thats my biggest fear about making a mod
I want people to enjoy it too
I making a Morgan mod :D
...no clue what that's referencing but good luck! (it might just be me lol, i have weird media consumption habits)
Lol Morgan is an NPC from expanded
OH okay gotcha!
What about you?
I wanna try expanded but my brain's like an endangered animal at a conservation center that can't have too many new things introduced to their enclosure at the same time without getting overwhelmed-
making a dwarf and krobus expansion! it was just a krobus expansion at first but the relationship arc was too interesting lol
the second-best thing in modding is when you look, satisfied, upon your creation and enjoy it.
the best thing is when someone likes your mod and takes time out of their day to tell you that
that's why you always endorse your downloads!
is anyone familiar with buttons museum framework im a bit confused about something
uhh you could @ them?
yippee
I made the example museum on her mod page ^_^
(in the future, i recommend starting with your question instead of gating for experts /pos)
Not something you have to apologise for, ichor is just saying it because it will make it easier for you to get answers

(Sorry to keep speaking for you lately ichor lol)
did u read button's docs
(no problem! i was formulating what to say but you did it faster and more succinctly
)
thats where im getting the information i just get confused by words sometimes and wanted to know if anyone could clarify for me the Id field, it says to make it the same as the key used and the id as the location i want to use as my museum, does that mean that it all needs to be the same id or that i need to write the id with the other id in like a list? because i thought they would like do "you aghve already used this id" warning message in content json so i wanted to ask
It needs to be the same ID. It won't tell you that there is any issue with it being a duplicate ID because you're not using it in the same place. You're using it once in Data/Locations and the second time in Spiderbuttons.CMF/Museums. The one in Spiderbuttons.CMF/Museums has to be the same as the one in Data/Locations because that's how Button knows what location the museum is actually in.
Have you downloaded the example museum in the optional files? It might be helpful for you to be able to see it in action rather than trying to write your own from scratch.
oh i didnt realize there was an example museum, ill dl it
is there a way to make a custom tv channel?
i think there's a framework for it
Hi all, I'm new to modding! I have taken a couple of coding classes in college and now am looking to do this for fun
Welcome! Are you looking to get started with C# mods or CP/other framework mods?
If you're not sure, you can say what sorts of things you'd like to make and we can tell you which you'd need.
I'm getting started with C# mods. Currently watching refresher videos since I haven't coded in 3 years lol
Right now I'm just trying to get familiar with C#. I used java in college which I think is similar
!startmodding We have a set of wiki pages for getting started with C# modding, including a step by step guide for setting up your environment and getting your first basic mod in game
Making mods can be broadly divided into two categories:
- Content packs are formatted text files, and don't need any programming knowledge. They can add/edit NPCs, maps, new items, shops, and more. To get started, see the list of framework mods, the wiki tutorial for Content Patcher, and there might be relevant guides on the tutorial wiki.
- C# mods use programming code to change fundamental game mechanics. See getting started with C# modding.
Usually itโs easier to start with making content packs, since you don't need to learn programming.
Great! I was able to set all that up last night. I'm trying to get familiar with SMAPI's API right now
Do you code in C# as well?
Barely haha. I am slowly learning it in between my other mod projects.
I know enough to read some parts of the decompile but that's mostly it at the moment
Ah no problem at all hahaha! Coding ain't that easy. I always consult with chatGPT whenever I get stuck or curious about something. I recommend it since it does help with the research legwork
Gotcha
Oh no, no thank you
I am ethically opposed to gen AI
Plus you will find that ChatGPT is worse than useless for Stardew modding because it has too little source material so it spits out literal nonsense
(it and any mods created with it are also banned from this discord)
I would never trust anything that a chatbot told me
(any mods with significant AI content in them I should say, which includes code)
That I understand
Where can I read about this? just so I know the guidelines on the server
the server rules in the server guide
The server rules link to the full policy, which is what I've linked to directly just there
my experience with chatbots is like. soley creepypasta related XD
the typical "computer's haunted" stuff, yknow
Gotcha, just read the whole thing. I agree with it. I only use it for navigation instead of creation
Would y'all say working on CP/frameworks already gives a lot of possibility or flexibility in terms of modding or would learning C# be more useful in the longrun?
This is honestly my first time modding anything other than tinkering around with Minecraft datapacks when I was 17 lol
There are many things possible without you personally touching C#
literally over half of all tracked Stardew mods are CP mods
im making a card collection mod with a museum for example ๐
(ty button)
if you dont just use cp theres also mods like buttons museum framework that do the hard stuff and simplify it
so like if you want custom plants ot anything
it still uses CP
you're using CP to use my framework I mean
just don't want them to think it's a C# framework
i mean like in addition to if you wanna do more stuff
Wait Button are you the person who made the extra books mod?
yeah, Button of Button's Extra Books
It's actually you wow lmao I feel like I'm talking to a celebrity
She is pretty great
i am always surprised (happily though) whenever someone says something like that
How'd you get into modding, if I may ask?
Just wait until you find out about BETAS (Button's Extra Trigger Action Stuff)
button you shouldn't be that surprised. you have single mods (see extra books) with more downloads than my entire portfolio
you may not ask (lighthearted, I have stuff I need to finish tonight and was just about to afk again since I'm on a deadline, but TL;DR: I wanted to make a custom NPC of my OC. she is still not finished)
Good luck with your deadline Mrs Button!
Alright lmao goodluck with that!
ooh npc cool have fun!
Alright I'm gonna do my reading to get on your modding levels. Nice meeting everyone ๐
-sigh- I guess it is time to do more map work
yay mapwork
extra books alone is double my portfolios unique downloads
i'll do your map work if you do my sprites lol
Unless you can figure out what I want without me having to explain it or try to draw a sketch, no deal lol. The biggest issue for me with mapmaking is that I know what I want but I won't know what that looks like until it's done.
I'm not that bothered by the actual tile placing
oh interesting! i sort of build it as i go, and refine it over time
i love hearing different people's processes
Do you have any sort of image in your head that you work towards?
i do a really weird lookin sketch and literally do the "draw a circle. then draw the rest of the owl" meme
What I'm working from is "I want dioramas...of some kind...in a space somehow"
like a museum...? diorama of what
hmm vaguely? but more of a vibe than anything else
I have a question about DSV as someone who's very new to modding and coding in general. I asked in the past if as someone who has very very little coding experience, can mod portraits. I was relieved to have been told that it's possible. However, I do worry that my goal might not be that simple?
I want to make a portraits mod that's compatible with DSV, meaning that my portraits would come up as selectable variants in the drop down in the mod's menu and get the dialogue and all that'd come with it. Is that too ambitious? How would I even begin to start something like that?
Yes like a museum it is for my museum mod xD Dioramas of little animal spaces.
my mapping process is remarkably similar to my pixel art process. i flail helplessly against the void and go through the five stages of grief wondering "how i will ever finish the thing" and "has anything ever looked this bad before" and so on until eventually it crosses an event horizon and looks okay and then i can begin the real process of honing it into a finished item
like "okay this person's house should be small and warm, but full of creepy witch stuff" and then also taking into consideration wanting an event with enough room for x y z
you'd probably have better luck asking in the actual dsv server? ๐ค
they have a server right
ohh thats so cute lol
I am in the Discord but it's kinda dead. But I'll throw out a message!
You won't be able to have your portraits come up as selectable variants in the mod's drop down unless Airyn agrees to work specifically with you on compatibility with your portrait pack. Which is not necessarily impossible, but Airyn is understandably cautious about agreeing to work with people on things like this as it's a lot of extra work for him and would require you to be very on top of updates as well as ensuring you respect DSV's vision and don't use any DSV assets without permission.
i don't know exactly how DSV works except that it has a ton of configuration options and a bespoke C# component to handle it, so your best bet may be to ask if you can contribute to the project
If you can provide an example of your work and a thorough explanation of what you intend to do (i.e., what your mod would change about DSV) I think you're more likely to get a hearing from Airyn about it.
Thanks! I originally wanted them to be more 3D (i.e., have the actual coop building in the map) but it was going to make the museum gigantic and that's not even including space for modded animals.
Hmmmmm. I don't think that'd be possible considering where I'm at in coding rn. But thank you guys for the advice!
You might want to start just with a personal mod that edits DSV without touching DSV's config options so you can get a feel for what you'd be doing and then you'd have something to take to Airyn with a further request about whether your changes could be part of DSV's config.
I think understand. So, just try making a portraits mod inspired by DSV to get a feel, and then bring it to Airyn as something to show?
Something like that. It'd probably be easier to give advice if I knew whether you were trying to do something like existing DSV but in a different style (like Nyapu style but still the same outfits and ethnicity/disability depictions) or if you were just adding more outfits to their existing portraits or if you're trying to add new ethnicity variants or whathaveyou.
Oh! Yeah I can give more detail. It's pretty much the same. I'm not adding anything new, just changing the art style like Nyapu's mod
Then you'd very definitely need permission since you'd be using DSV's outfits and details and Airyn considers them part of DSV's property. And yeah, draw at least one in the style so you have something to show Airyn and then see how you go from there.
(Unless it's some sort of NSFW style because you won't get permission for that)
fish factory is up, at last, enjoy
Don't suppose anyone had some feedback for this post? #making-mods-general message
Just looking for dialogue opinions.
Well the thing is, I wanted to commission the art since I'm not that good at pixel art. Just so I can have portraits to try and code. But I wanted to try to do the coding myself. I guess that wouldn't bode well?
I'm coming to realize that this is a lot more complicated than I thought it'd be
It might be better just to start with an unrelated portrait mod and get a feel for the coding, before investing more in a bunch of seasonal outfits and stuff? --as well as before jumping into the complicatedness that is cross-mod compat
hello, im trying to make a search bar where a dropdown would pop up underneath as you start typing to try and match up your search with stored results. I already have the logic down to match the prefixes, but how would I go about creating a drop down menu? Does anyone know any mods that do something similar to this and can link me to that mod?
It's more that I don't know if you can. You can't just add things into another mod's config settings and DSV's json is really complex. However, DSV does have a page about adding compat so you can use DSV's tokens to read the DSV settings and then do stuff with that, so I recommend doing what 6480 suggests and start by trying to make your own portrait mod that is completely unrelated to DSV and then if you want to continue, experiment with using the tokens.
If you want your portrait options to be actually available in the DSV settings, you'd have to hand control over to Airyn I think so I don't know if you'd get the opportunity to do much at all (if he even said yes).
I recommend using the json validator in future instead of uploading a file, but your idea is pretty cool and I think your dialogue is pretty good. One thing I would suggest is adding a configurable nickname option, if possible, for the NPCs to use sometimes after 3 hearts.
What does the json validator do?
Lets you give us a link so nobody has to download anything. https://smapi.io/json
validates json? 8U
I hear people also use it to check their json /j
Oooo fancy. I didn't have to download on PC but mobile, yeah that's a download
I've never used it for that though lol
it also will format it a bit prettier for you
(Or, as is usually the case with my files, worse)
Not worried about format just yet but ty! It was just for dialogue opinions
it's a good page to bookmark for sure
anyone else made a little stardew bookmarks folder?
(thank you! tbh im more proud of having good and nicely laid out documentation (imo anyway) than i am proud of half my modsโ)
Who's bookmarking? Real men memorise it /j
i have an SDV bookmarks folder but i havent used it for anything in so long that the most recently added link to it is still lemurkat's NPC creation post on wordpress from 2020
I never use bookmarks but I have just discovered pinning tabs so I have a couple pinned on top of the...171 tabs I have open
or make another spreadsheet
ive long since given up on any bookmarks organization
i largely have as well, i just wanted these on hand easily
I honestly wouldn't mind having over control. I just want the portraits as an option. But thank you for the help!
I didn't see this! But I'll do that. Thank you for the advice
If you want them as an option just for yourself, you don't have to do anything with Airyn because you can just target DSV's assets without needing to use DSV's config
(when aba says handing over control, it comes with the caveat that it's very very very unlikely for airyn to want to do it, since maintaining DSV is already a lot of work--hence why there used to be a lot of minor options contributed by artists in the past that are no longer maintained, just because adding in all the options was a lot of work for minimal player interest)
I think you can start with asking for permission to make a separate portrait pack using dsv's character designs, and then just take the mod one step at a time
If you figure out how to integrate the coding in the future, that's great! But you can also just start with very simple asset replacements
K testing the smapi json stuff for my abigail dialogue for: #making-mods-general message
Fancy!
Much nicer than a txt file.
That was idea. This was just going to be a personal mod for myself. I wasnt going to post it or anything. I really just wanted an art style I had in mind. The only reason why I thought about config was because I'm worried I won't get the dialogue that comes with it
Oooh that makes a lot more sense. I wouldn't want to add more work for them. Thank you for explaining the reality of it. I'll start with asking for permission before anything and taking your advice
As long as you keep DSV installed, your mod won't prevent any of DSV's dialogue or other changes from happening. You'd just replace the image files it uses with ones of your own.
And since it's personal, you don't need to ask permission Edit: as 6480 pointed out below, you will need to ask permission even though it's a personal mod because you'd be paying someone else to copy DSV's designs
Just don't go around sharing it in any way (including pictures). If you do want to share it in any way, better to ask permission.
Normally I'd say no need to ask permission, although in this case if you plan to commission someone, I think it might be a good idea to ask anyways, because I think paying someone else to draw a third party's designs could get sticky depending on who is involved
Yeah okay good point, I will edit my message to reflect that
That's very true. It might end up on their portfolio and I wouldn't want to get anyone in trouble
Yeah just to make sure its all above board!
Thank you guys so much for the help!
im like a bookmark organizing fiend
Whoa
woah?
Whoa.
Struggling with making mods;-;
Idk how to even code๐๐
Anyone have experience in customizing NPCs I'm trying to make a marry kent mod for my friend that really REALLY likes kent for some reason
๐ sorry i only have experience in making new npcs
but i think what you would have to do is
- make him actually marrigable in his character data
- add in the necessary sprites (wedding, flower dance, i guess a kiss sprite?)
and 3. all of the marriage stuff.
which is a lot
Yeahhh
Ngl kinda want to steal that already marrigable Kent mod that hasn't been updated in centuries
i mean you can do an update for personal use, i guess?
๐now gotta figure out how to update it without smapi getting mad but anyways totally will use that mod as reference
ehh youd probably also want to fix kent and jodi's dialogue so they won't be dialogue married anymore
Im currently indulging in my nightly reading here:
https://stardewvalleywiki.com/Modding:Modder_Guide/APIs
THat's not quite what they are after since it's C#
!startmodding You want content patcher things
Making mods can be broadly divided into two categories:
- Content packs are formatted text files, and don't need any programming knowledge. They can add/edit NPCs, maps, new items, shops, and more. To get started, see the list of framework mods, the wiki tutorial for Content Patcher, and there might be relevant guides on the tutorial wiki.
- C# mods use programming code to change fundamental game mechanics. See getting started with C# modding.
Usually itโs easier to start with making content packs, since you don't need to learn programming.
don't feel overwhelmed! coding is for more advanced things, just start with content patcher first, which is pretty easy. you'll need to learn how to write stuff in json
Okay thank youuu!
there's a kent mod that's recent enough to work i think
In this video we will cover everything you need to know about JSON in only 10 minutes. We will cover what JSON is, why JSON is important, what JSON is used for, the syntax of JSON, and multiple examples of JSON. JSON is the most popular data representation format, and is one of the most important, and easiest concepts you can learn in programmin...
can't recall the name
The mod from my previous message is current, so you may want to have your friend try that if you're not keen on the idea of making your own (but if you are, two cakes)
Whether it works well I can't say. There do seem to be a log of unaddressed bug reports.
maybe i am just misremembering actually
was thinking of looking for love but thats' for like willy and linus and such
A question about CP modding:
- If all I want is retexturing characters and portraits, is there a meaningful difference between
loadandeditImage? - I don't plan to use multiple mods on the same character asset. In other words, I'm simply trying to replace the whole portrait and then I'm done.
Omg my pc just crashed 0-0
I've been at it since 10am and I think my pc is protesting
If they're vanilla NPCs, Load makes the most sense because it's more performant than EditImage and you don't have to worry about exclusive Load patches. If they're custom NPCs, you will usually have to do EditImage because most of the time the mod maker will have used an exclusive Load (which is the default) so there's no way for you to do another Load.
Why dont you have to worry about exclusive load for editing a vanilla file? 
Because vanilla didn't use a Content Patcher patch to load the content in the first place so your Load won't fight with anything
what if a different mod has another load for that image? it's still the same issue right? I just want to make sure I understand
This is specifically in the scenario that ShrimpManiac specified where there is no intention to have another mod that also edits the asset
Didn't think about custom NPCs. Since I'm only concerned with vanila npcs, i suppose load is what I need atm.
Thanks for the clraification 
Oh if it's for a personal mod then that's chill
I was just thinking because players accidentally install overlapping mods all the time lol
Yes if there is another mod also editing vanilla you run into the risk that they also decided to Load their custom stuff. However, people rarely use more than one portrait mod at once (on purpose) and if they have accidentally installed two portrait mods getting an error that there was an exclusive load is actually more useful than the silent weirdness that multiple EditImage patches are going to give anyway, so it's still helpful to Load for a non-personal mod anyway imo
i guess thats true
Best to upload your code to github or something and share that so people can see what you are actually doing. I definitely can't help because I have not touched Harmony.
Ah okay, apologies
And conversely, I have started the practice of loading everything in my mods with Low priority so that if some future scenario arrives where it'd be useful for someone else to Load something over one of my assets they can do so without frustration lol
i think that negates the supposed benefit of a warning LOL
No need to apologise, just letting you know so that you are more likely to get help. It's easiest to help someone when all the information needed to help is up front.
Oh you mean for custom assets yeah
Yeah and if people accidentally download both "Hiria - Custom NPC" and "Nyapu-Style Portraits for Hiria" and then are confused why their Hiria portraits are Nyapu...that's on them lol
Has Pathos's Stardew repository been moved? Or have I been removed from it?
He moved it, yeah, you should've received an email inviting you to it again but it will have expired by now so you'll have to ping him to get added again
Ah yeh, I did see something but we were on holiday stuff so I ignored it ๐
(I also thought it was linked to the Patreon, which I had just signe dup to)
Don't worry, I missed it too
Oh, we were in the airport
current troubleshooting thing, figuring out why my museum menu wont open, at least theres no errors showing XD
So what's the difference between a SMAPI mod and a content pack? How do I know if what I want to make is gonna be a SMAPI mod?
These days, pretty much every mod goes through SMAPI
By content pack, do you mean through content patcher?
SMAPI mod mean a mod made only with C# (and maybe frameworks), so you basically need to go into the code to call game functions to make your mod. You can literally do anything you want to, without restriction
Content pack is a mod made with Content Patcher. Today you can do most things with CP, without needing any C# at all (modify portraits, add NPC, make a new map, add objects, recipes, etc.)
You can make content packs without content patcher. But youโll likely need SOME framework(s) if youโre not coding your own C#
DId you remember the TileData name?
So if I decide to make a mod through C# does that interfere with anything that framework mods do like content patcher?
CP mods are able to add, edit, or replace data assets, with a few exceptions when something is hardcoded. C# mods are able to interact with this "hardcoded" content and change or introduce new game mechanics.
lemme doublecheck i have it in right
C# mods can basically do anything, but CP mods have the benefit of having most of the methods and sanitization needed for data asset editing already built into the framework, so it's not uncommon to have a mod contain both C# and CP components depending on the complexity of what the mod is trying to do
Sometimes, primarily if you're using Harmony. I don't know enough about it to be able to speak with any confidence though. But if you decide you're going to make a mod that completely rewrites the game's draw function or something you're likely to step on toes.
i do in fact have the correct tiledata, darn, i was kinda hoping it was caopitlization again
im gonna go over my content json again
Makes a lot of sense. I appreciate it
Currently not trying to overwrite anything. I think my first step would be to study some framework mods to see how they interact with the game itself
Are you intending to make a framework mod?
I'm not dead-set on that, but I do want to see if I can change the loot table for the garbage bins
Just to start
Do you have this in your TileData? Action Spiderbuttons.CMF_MuseumMenu
yup
And it's on the Buildings object layer and you have a tile on the Buildings tile layer too?
i should but ill double check just in case
i do
have those tiles
hmm maybe it is in my content file
Oh shoot I did not see that in the modding index lol thank you!
Depending on if what you want to change is mentioned in the data model for garbage cans, that may not require a framework.
Capitalisation
is there a way to detect that someone has changed their config mid-save and then run a trigger action based on that?
i'd like to clear terrain if the building moves
it works now but i accidentally have the museum listed as completed lmaoo
Use the config token as the condition to patch in the trigger action
It's not likely to actually run very often so it's probably fine, though I think if someone is changing an entire building's location mid-save they are probably also okay with some terrain weirdness for the rest of the day.
yeah, true
testing museum again ๐งโโ๏ธ
i totally didnt make any physical progress with my mod but i did do some brainstorming and stuff to get a better grip of my npcs so... i guess it counts?? ๐ค
y does it keep saying museum is completed =_=
also i think that counts
btrainstorming is an essential step after all
Have you put anything into the DonationRequirements list?
i'm going insane, why am i getting a "FromFile doesn't exist" error?
{
"Action": "EditMap",
"Target": "Maps/Mountain",
"When": {
"HasMod": "LemurKat.EastScarpe.CP",
},
"FromFile": "MontyHouseExterior_ES.tmx",
"FromArea": { "X": 0, "Y": 0, "Width": 6, "Height": 2 },
"ToArea": { "X": 80, "Y": 39, "Width": 6, "Height": 2 }
},```
your fromfile has no path
it's just the map name
No file path
but it says .tmx...
but that's not the path
OH
where is your file located
jesus yeah
It's in the assets/maps folder
assets/ etc
so yeah you need that in the fromfile
yes, but it might be wrong but i think i followed how its done in the example sans removing a few things
i removed the additional item so i could test with just one
one sec
You still have a capitalisation error for your museum entry
You have {{ModID}}_Cardshopinterior2 instead of {{ModID}}_CardshopInterior2
man i wish things werent case sensitive
It's best to copy and paste things rather than rewrite them
ill have to keep that in mind ๐โโ๏ธ
I don't think that will solve the issue of being told the museum is complete, but you never know. Might as well test it after fixing it.
just did, i think im missing something else hmm
Are you sure it's the museum complete message, not the museum empty message?
it says 'the museum has been completed'
Do you have any item pedestals on the map?
Are they within the Bounds?
im gonna recheck
it should be within bounds
wait does the tiledata for the menu need to be within the bounds
No, just the item pedestals
ah ok
hm
maybe i put the wrong thing on the tiledata
Spiderbuttons.CMF ItemPedestal
which i think i right
Yes that looks right, are they on the Buildings object layer on top of a tile on the Buildings tile layer?
yes
Try putting a specific item ID into your DonationRequirements instead of the duplicate category of all furniture that you've got now
ok
I assume you didn't want the player to be able to donate any furniture to the museum anyway?
ooh
*furniture of any kind, I mean
i probably mixed them up if it meant any furniture
Yes, you put in two possible donation requirements but both of them just meant "any piece of furniture"
I think you want just one list of donation requirements
And either give all your cards and cds and stuff a custom context tag and then put that context tag into the donation requirement list or list every single qualified item ID
Can you show what you put in the json instead of the category?
{
"Id": "{{ModID}}_Card1",
"ItemIds": [
"(O){{ModId}}_Card1"
],
"MatchType": "Any"
},
{
"Id": "{{ModID}}_Card2",
"ItemIds": [
"(O){{ModId}}_Card2"
],
"MatchType": "Any"
}
]```
Get rid of that second list, you don't really need it. You don't need one list per item.
ah ok
I am stuck about what is wrong though. I think I can figure it out if you want to zip up your mod file and send it to me but I can't tell just from reading the json.
idm doing that i trust u lmao
You can DM it to me if you'd rather not share it publicly
Good morning 
Good evening!
Good evening!!!
(^-^)
I did end up fixing that SMAPI error before bed last night. I think I'm getting close to cracking the code 
Couldnt think of a better phrase
Heyyy guess who's bacK 
I keep trying to spawn my custom NPC into a custom location but for some reason he keeps spawning in Town?? Idk why cause the custom map works ๐ฐ
Schedule: https://smapi.io/json/none/cfa9718f68624604b7f50aefd74f150e
Disposition: https://smapi.io/json/none/c00ae943f9b54146ab3f49990e0789c8
He is determined to stand by this bench instead
Is there a mod that fixes the vanilla scrollbars? It's pissing me off a little more every time I have to interact with it.
I could be making this up in my mind, but I thought I saw somewhere that NPC schedules might not apply until the following day update? Maybe that is whats happening.

https://stardewvalleywiki.com/Modding:NPC_data
In this I see at the very bottom: When an NPC is added to an existing save, they generally don't follow their schedule correctly until you've slept once in-game (which triggers their first day update).
OHHHHH
Per the wiki:
- When an NPC is added to an existing save, they generally don't follow their schedule correctly until you've slept once in-game (which triggers their first day update).
- Using a time of 600 (when the day starts) for an event may not work. Try using 610 if you want an event early in the morning and the NPC doesn't move if you use 600.
time to make a new testing save
When an NPC is added to an existing save, they generally don't follow their schedule correctly until you've slept once in-game (which triggers their first day update).
Oop
You are also using 600 schedules
Ohhh Okie I'll also change it to 610! :o
Tyy!!! ^^
If the NPC still doesn't work on a new save, then try setting their home to a vanilla location that isn't the town square temporarily and check your console log for errors
(if something is actually up with the location, it should spit out an error when they try to use the schedule there)
Ah, he's just not appearing anymore at all
Hmm any recommendations for where I should set the home?
i usually set mine near the clinic by the tree personally
when im testing
on the other side of where lewis usually stands :3
Anything in the log?
Nothing :<
And just to check, is the map accessible by walking?
Yeah, it's set where you warp by walking near the pentagram on the wizards floor and then warp again around the bottom of the grass :o
Would you mind sharing the JSON where you defined the location data?
What name could be given to the last tab of the Furniture Catalogue? The icon shows lamps and plants, but it also includes fireplaces and bookshelves. "other" or "misc" is a bit misleading because it does not include some types that are not included in the other tabs (beds and torches) for some reason.
Lamps and plants are considered "decor" by the base game, I believe?
not sure what you mean by "considered decor" since it's the name of one of the furniture types, which is specifically separate from lamps. It is one of the 6 types in this tab though
You have made the mistake of using the wrong ID for your location. Again 
"Silver Tree" is not your location's ID. It is its Display Name. As in the name that is displayed to players. You cannot use it in the code to refer to your location. You must use "Blue.Jestar_Silver.Tree".
Congrats
Tyyy guys!! :3
Hooray! Now please never let me see you use "Silver Tree" again lest I have a heart attack :P
HDKJmdhsjh VALID RESPONSE 
btw @latent mauve are you still interested by i18n support and storage with custom rules in FF? I have the first one working and I'm working on the second one.
I meant that I think that may be considered a "catchall" name in this case? Since the game doesn't split the fireplace and bookshelves apart, and I would probably still consider a bookshelf as a decor item
let's call it decor then, thanks for the suggestion!
I gave up on the personal mod edit I was intending to convert the furniture pieces to FF from CP because I couldn't get the seats to cooperate, and the group I was playing with that should have benefitted from the custom storage has ended their run, so mods for that have been put on the back burner for the moment
I'd still be interested in making the custom storage furniture at some point but it's not a huge priority
ok, noted!
And also i18n support is just always nice to have. >_>
Weapons case/armory rack will be nice down the road but I haven't been playing as much and have been focused on the Zelda NPC Overhaul
One day I will finish the i18n and be able to resume testing xD
(converting the modified events to i18n is sapping my strength slowly)
can the converter tool page not do those?
It can but there are a LOT
Even using it, it's taken days and I am not even half done
Alright chat, what am I doing wrong??? ๐ญ
Keep in mind, I have to modify every single event that uses a name in it for my mod D:
(the event refactor cannot come soon enough)
I am going to hazard a guess that "Shadow Milk Cookie" is not the internal name/ID of your NPC
You need to use Blue.Jestar_ShadowMilkCookie for the NPC name
Are you in the right location?
My guess is no blank load
Oooohhhh
This is the same principle as with your location. Your code never refers to your NPC's display name. Only player-visible text (like dialogue) can use the display name. The code always uses the ID. Always.
But yes, if you don't have a blank load somewhere for the Data/Events/Blue.Jestar_Silver.Tree target, the game also won't be able to find it to EditData for it
A h 
It's an easy fix! Just create a file named blank.json which only has {} in it, and load blank.json to that Target
Load takes priority over EditData, so I don't think it cares in this instance
But it is good practice to put Loads higher in the file
OMG IT WORKED!! THANK YOU!! :D
Is it possible to use an inline function as a Harmony transpiler? as in:
Func<IEnumerable<CodeInstruction>,IEnumerable<CodeInstruction>> transpiler = (instructions) => {
// Replacing instructions...
return instructions;
};
harmony.Patch(original:method_info, transpiler:new(transpiler.GetMethodInfo()));
I can't see why it would be illegal, but I get this error:
Mod crashed on entry and might not work correctly. Technical details:
System.Reflection.TargetException: Non-static method requires a target.
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at HarmonyLib.CodeTranspiler.<>c__DisplayClass12_0.<GetResult>b__0(MethodInfo transpiler)
at System.Collections.Generic.List`1.ForEach(Action`1 action)
at HarmonyLib.CodeTranspiler.GetResult(ILGenerator generator, MethodBase method)
at HarmonyLib.MethodBodyReader.FinalizeILCodes(Emitter emitter, List`1 transpilers, List`1 endLabels, Boolean& hasReturnCode)
at HarmonyLib.MethodPatcher.CreateReplacement(Dictionary`2& finalInstructions)
at HarmonyLib.PatchFunctions.UpdateWrapper(MethodBase original, PatchInfo patchInfo)
at HarmonyLib.PatchProcessor.Patch()
I'm not 100% sure this is the issue, but it very well could be.
Harmony patches have to be static
Is your method static?
I canโt really tell from the stack trace but it really looks to me like something isnโt static
Yes but this is a specific harmony issue, the docs and tutorials probably wonโt help with this issue
I feel like this isnโt the usual โaaah not staticโ harmony error but itโs been a while so Iโm not sure
can I make an inline function static?
If itโs not the usual then i think youโre right itโs how youโre calling the method
Hmmmmmm I have no idea ngl
Iโve never made an inline method
How do you declare the method?
exactly like this
I think it's called a Delegate when made this way?
don't know exactly how this works
Oh sorry I sent that as you sent your last message, bad timing
I wasnt trying to start anything apologies
Ive deleted it all apologies again
I don't think so, no tbh
Since I need to patch a series of method with the same instructions but there's an incrementing index, it would require me to write the same transpiler 5 times with only a single index changing, which kinda sucks
hmm
hmmm, maybe the transpiler method can wheck which method it is transpiling and figure out the index from this?
6480 why are you a Garfield Cat
actually apparently this error is the result of an NRE in your lambda?
really good visual
can we see the full lambda maybe
Func<Furniture, int, bool> is_in_tab = (furniture, tab_idx) => {
if (!FPack.TryGetType(furniture, out FType? f_type)) return false;
return (int)f_type.FurnitureCatalogueTab == tab_idx;
};
Func<IEnumerable<CodeInstruction>,IEnumerable<CodeInstruction>> transpiler = (instructions) => {
List<CodeInstruction> to_replace = new()
{
new(OpCodes.Ret),
new(OpCodes.Ldc_I4_0),
new(OpCodes.Ret)
};
List<CodeInstruction> to_write = new()
{
new(OpCodes.Ret),
new(OpCodes.Ldloc_0),
new(OpCodes.Ldc_I4, tab_idx),
new(OpCodes.Call, is_in_tab.GetMethodInfo()),
new(OpCodes.Ret)
};
return Transpiler.ReplaceInstructions(instructions, to_replace, to_write);
};
here it is
I included another lambda I'm using inside it (yeah, overcomplicating it)
I know for sure it never runs because adding a log as the first line of it doesn't log anything
uh is that how you're supposed to call lambdas in IL
I'm not sure why is_in_tab needs to be a lambda anyway
oof, context tag cooking recipes cannot access LocalizedText for ingredient names. My idea of allowing every ingredient to be interchangeable is kinda dead in the water, unless i wanna reduplicate like a billion item names into the mod i18n for no reason
I thought as mod authors we're supposed to put our best mods in our name
have you considered animating Garfield
just tried to make a proper IsInTab method and getting its info with AccessTools.Method(typeof(CatalogueTabPatcher), "IsInTab"), but the same error happens
@brave fable How straightforward would this be to address? I've been really dreaming about the context-tag-everything feature, but I dont want to ask for it if it's more work, especially since the issue exists in spacecore itself
It's technically animated since it's a cat retexture, hence why I hate doing any animal sprites
what happens if you try to transpile with a instructions => instructions lambda?
oh I'm with you, portraits sound much more fun--
good call, and nope, still the same error, I'll try doing the workaround I thought of earlier
This social menu will be the bane of my existence 
After 3 days I finally figured out the hearts but that title is the last hurdle
after my midnight snack break
instead of adding it to their name, I recommend patching the relationship status label! it's a very simple patch tbh
omg how!?
you're using harmony, right?
I am
just find where in the code it does the relationship status label handling and patch that tbh
I can look for how I did it in a sec
Ive been hunting in the code and can't find it, my brain is fizzy
Also I thought that's what I was doing the whole time... pain
it looks to me like you're adding it to the end of their name right now, are you not?
Yes, I thought editing the display portion would like help with the title... I was having issues with the drawNPCSlot
I also am still confused by how it all works 
woah I actually wrote good comments for this, let me just send you the relevant parts then haha

benefits of this having been written for someone else ig
I documented it properly
Omg thank you
have you looked at transpilers yet?
I can also use it to learn where I had the hiccup for next time
I know nothing about the internals of SpaceCore but I feel like this should be doable and I want this for you too
I have not... what are those? 0-0
surprising opinion from the context-tag-everything person
so theyโre a way to edit the actual code of a method, basically
New quote added by atravita as #6652 (https://discordapp.com/channels/137344473976799233/156109690059751424/1421514910843797555)
Ok I think public override string DispayName => data.OverrideText ?? in VAECraftingRecipe.cs line 50 is your culprit
what I did was I put a transpiler on ProfileMenu._SetCharacter
data.OverrideText needs to get wrapped in the function that looks at localized text
lemme see if I can yoink that
my local copy of spacecore is like,,,, a year out of date so actually getting you a compiled copy is probably not a today thing but if it's literally a 1-line edit maybe I PR casey??
(and another one on SocialPage.drawNPCSlot)
new HarmonyMethod(typeof(NPCPatches), "ProfileMenu._SetCharacter"));
Like... that?
Wow my code is so disorganzied
something like
public override string DispayName => StardewValley.TokenizableStrings.TokenParser.LocalizedText(data.OverrideText) ?? ItemRegistry.GetDataOrErrorItem(data.Value).DisplayName; for that line instead tho i'd want to type that in an IDE to get the nice clues
kind of, but you need to look into transpilers because they work very differently to prefixes and postfixes
anyways this is enough info that if blueb is inspired and can compile spacecore easily it should be an easy fix, I thiiiiiiiiink
I am so sorry if this code is butchered
like I said, please look up transpilers, this part is correct but the actual transpiler method will work very differently
If no one gets around to it, 6480, please ping me in a couple days and Iโll see if I can get you a compiled copy to test
Hello! I wanted to ask how to obtain the role of Mod Author. Have a nice day!
you need to be level 25 in the server and have a (sfw, non-AI-generated) mod published
(but also, why not just set Farmer.friendshipData for morgan to have RoommateMarriage = true? I havenโt looked too deeply but are there side effects to that?)
Thank you for responding!
Is the goal here to have morgan be a housemate
at the same time as a potential spouse, I think
Like adopt them cus u married wizard
without using a poly mod
I implemented this actually, way to adopt an npc as a Child
is it in hmk?
Yeah
This example is for Jas
I gotta rename the trigger actions and it's still very beta tho
If you want to do something bespoke this is still pretty viable
Essentially just need to add a Child entity to act as Morgan in the farmhouse
And make the real Morgan invisible while it's a "farmhouse day" for them rather than a "tower day"
@little field
Yes!
Sorry Im at work and multi tasking apologies
I wanted it so you could adopt them
Yep
You can use my framework or yoink the spaget as desired up to you
Is open sauce
just fyi, in some languages โHousemateโ is gendered
Er what are you trying to do
Me?
Yeah
I'm bout to compile a mod
I'm guessing that's solution explorer then, it just means your project depends on these dll
Yeah
And since it's sdv mod, depends on base game is given
Already put all dll file there
Making mods can be broadly divided into two categories:
- Content packs are formatted text files, and don't need any programming knowledge. They can add/edit NPCs, maps, new items, shops, and more. To get started, see the list of framework mods, the wiki tutorial for Content Patcher, and there might be relevant guides on the tutorial wiki.
- C# mods use programming code to change fundamental game mechanics. See getting started with C# modding.
Usually itโs easier to start with making content packs, since you don't need to learn programming.
There's a button press example mod in the C# tutorial page that's helpful to go through
Kk, thanks. Lemme check it one more time
Is it possible to create mod without the game installed?
not really?
I do have the game on different pc
But not on the one i use to code
I think that's the problem when I'm bout to compile it
Nah I dont think that'd be possible cuz im pretty sure SMAPI requires stardew to be installed to allow building
yeah I can't imagine you'll be able to compile it like that
and like. why would you want to. If you can't access it on your pc for coding youre gonna need to port the code across literally every time you want to test
Ah I see, that's why
Thanks
Thats not necessarily the reason your code can't compile but for sure having the game installed will help. I've been developing my mod for like 8 months now and I think my stardew playtime has gone up atleast 100 hours just through testing alone. Developing blind sounds like hell
Oh right I came here to ask a question too
I'm working on doing some setting up of i18n files for translation and stuff and I've got it working but I'm unsure how much load these operations take. For example, Is it a terrible idea to use the translation API in a draw call?
It'd make sense to me to cache it beforehand but I'm not sure how the backend of the translation API works so it could be like. not even a big deal to do it inside the draw call
Well if it's a menu i would definitely just put it on a field and not call it each draw
It's a dict lookup I believe
The reason why i say menu specifically is cus usually u dispose that when not active, so there's no risk of caching wrong language text when user changes lang
hmm well if its just a dict lookup it doesn't sound too bad. The difference between a dict lookup and creating a string probably is negligible
God I'm not even thinking about the worries to do with cacheing language text so far
that seems like a nightmare to work with
Well again if u new Menu and then not keep that around
Caching ia no issue 
There is a smapi event for locale change too
in HMK does an NPC have to be marked Child for you to be able to adopt them? i want to do something similar if/when i ever make that Old Farmer mod, but i would want to include all ages
Naw no requirement
oh nice! i can just require HMK dependency then i think
Assuming you mean the Age field at least
yep
Is not like it's official release so plenty of time for me to fix stuff too
i havenโt even started work on it besides brainstorming let alone how long itโll take me to actually make it lol
i gotta get more practice with C# for sure
I decided to start the coding from scratch. I think having old code on new code and then forgetting which was which maybe, possibly might've been throwing me off also I did fine the correct path in the decompiled for those display stats 
Ty for all the help yall
good luck!!!
so- I might be going a tiny bit insane, I've read through the categories on the items wiki page (https://stardewvalleywiki.com/Modding:Items#Categories) like 10 times and I can't seem to find the category for artifacts? uhh is this like a game-related thing where the category thing is different or am I missing it? I wanna find the artifact category ID for gift taste purposes
Like this maybe?
Type The item's general type, like Arch (artifact) or Minerals. The vanilla types are: Basic, Arch (artifact), Litter (e.g. debris), Minerals, Quest, Crafting, Fish, Cooking, Seeds, Ring, interactive, and some placeholder values like asdf.
Caution: adding custom items with the Arch type is inadvisable as it often leads to artifact spots becoming broken and not giving any items
hmm that might work! idk if it would function as an ID tho, since litter (which is listed there) has its own numerical ID in the items page
you can hold an artifact and do debug listtags
If you look at Penny's gift tastes, there is a specific callout for arch / artifacts there
So you could probably just use however that got formatted
hmm okay! I'll check that out! tysm :)
it's ancient_item!!1
hmm how could I add that to the wiki?
Well, that would be a context tag
oh?
So it wouldn't go on the categories page, and I think the official wiki only has a small set of example tags, but the modding wiki has a more comprehensive list if memory serves?
i levy a little bit of caution on editing the wiki to add info you just discovered
the wiki is pretty well up to date
Ah, nvm, modding wiki mostly lists the food related context tags on the page I was thinking of
ancient item is on the raw dump of context tags on the wiki already
Also ancient_item is on the official page: https://stardewvalleywiki.com/Modding:Context_tags
Yep, that
I'm not sure if ancient_item covers all artifacts, maybe try looking at object data for a few different artifacts as well
will do!
On a side note, if you do decide to add food items, please, help those of us who yearn for unified context tags and use the list from the modding wiki for extras tags where appropriate xD
yeah thereโs also prehistoric item for instance
prehistoric, as opposed to ancient, which is an entirely different time period
ah of course, which matters very much in this context
can't miscategorize historical eras in a farming sim
The page you're thinking of lists primarily made-up tags for item modding purposes; the ones in the dump on the context tag page are vanilla
Also as opposed to modern
Anyways
There is a context tag
Yep, that is what I observed upon looking it up again
Is like category_arch
It's also autogenerated
Penny liking arch items is actually just straight up hardcoded btw
huh, okay
Can these two actions be combined?
{
"Action": "EditImage",
"PatchMode": "Overlay",
"Target": "townInterior",
"FromFile": "Assets/Maps/townInterior.png",
"Priority": "Late",
"When": {
"= Enable Mod": "true"
}
},
{
"Action": "EditImage",
"PatchMode": "Overlay",
"Target": "Maps/townInterior",
"FromFile": "Assets/Maps/townInterior.png",
"Priority": "Late",
"When": {
"= Enable Mod": "true"
}
},```
The only difference is the target
does the first patch even apply?
It should? I believe SVE adds files in that dir
This is my first time mapping though, I could be very wrong
oh iโd have to check how SVE adds its assets
i thought you wanted to target vanilla two different ways
also whatโs with your When condition?
i couldn't find a town interior tilesheet in SVE. can you please point me to what file you're trying to replace?

I'm building this pack off the backbone of a superoudated mod, so its possible things have changed since then, im gonna test loading the mod without the edits to the base "Assets" folder
are you trying to update an old mod, or create your own using an old mod as a model?
the latter
Its working for the record, havent found any issues
If CP tries to overwrite a file that doesnt exsist, nothing happens I suppose
well it doesn't exactly target files, it targets assets that are in the content pipeline (i think i phrased that correctly?), so it would be applying the patch but just to something that doesn't get used
and i would strongly strongly recommend using a mod that's been updated for 1.6 as your model. if you give us an idea of what you're trying to do we may be able to suggest good candidates for you to look at
(this is why you don't target townInterior.png)
It wouldn't be applying the patch at all if the asset isn't used
ah thank you for the correction
the content pipeline is still a mystery to me sometimes
Patches are only applied when a mod requests an asset, then SMAPI gives every mod a chance to edit it
When all edits are done, SMAPI gives the final asset to the mod/game
i see i see
If no one asks for a target then no point in editing it, not in the least because it might not exist
that makes sense yeah lol
Ye seems fine with it removed
Fair enough
But its already cleaned up and up-to-date now
sneak peak :p
(im just blacking out to find the egdes)
my fave is a combo out of ss and some art
๐โโ๏ธ
hey! is there a way to italicize text in letters?
No
gotcha
will the %item quest <quest ID> true %% letter command thing still work for non-item quests?
Yes
nice! thanks :)
where's marlon's dialog?
Uhhh
in events?
Or in like.. random text above head stuff?
He doesn't talk
uhhhhhhhhh
oh crap
forgot how crappy bg marlon was haha
was trying to find his dialog to use as a reference for his tone, but ig it's largely nonexistent sooo
lmao

That means you get to invent your own personality for him!
Yeah he's only got one event, shop dialog and festivals.
And the mines is basically "here's a scrappy sword, go kill monsters to prove yourself" he doesn't really seem to be the dashing hero we like to cast him as.
I love him and all that cos of fanfic Marlon but it does amuse me that everyone is like "he'd treat Marnie better than Lewis" (even though I've gone that path myself).
marnie's a girlboss she doesn't need either of them 
hypothetically is it possible to make custom cutscene things?
like the ones with the spring onions or green tea
is the person who made the custom tc channel mod in the server?
uhhh no i have no clue what I'm doing
you can make a large gif image in a map
I can't even code LMAO just mimcking other people and using the wiki
oh!
I'll try that then!
yeah just make a map and treat it like a tv screen for your player. you can put a still pic or a gif
okayy
And only forward facing sprites. I used him for an event in my mod and now I can't unsee the fact that we only ever see him from one angle
oh god really?
Using stuff other people have made and using documentation is like the definition of coding.
Gunther has backwards facing sprites but in the wrong spot on the sprite sheet
fair enough, I just don't know any coding languages really lol
My event was Gunther and Marlon which was probably the worst two characters to pick for my second event ever
so I got to make a conditional event patch for people using mods that give him a walk cycle and people NOT using one for an event just to have him hang out, facing back
Oh nooooooo I didn't even consider that
it's the domino meme where the tiny domino is "hey I can have him in the town crowd facing the right way, he has a sprite for it" and the big domino is "MORE DYNAMIC TOKENS"
i'm go grateful it's only one line-
Aw man I gotta test if my event is broken cuz of that tomorrow
..just made marlon teleport in mine bc of that
Rip
...hopefully no one will notice-
and then there's three diferent things Gunther oculd be named depending on what mod you're using to make Gunther real
LMAO what if i add the wizard teleport animation and act like him teleporting in canon
if he doesn't have walking sprites he is canonically able to teleport
There's TWO things Marlon could be named based on if you are using SVE or not, he has a different internal name for that
He does associate with Lance in sve lore that has the targetable warp sceptre
so yes I also regret using Gunther and Marlon for anything LOL it's really done some stuff to my dynamic tokens
..what if he's the wizards illigitimate child
Because just putting Gunther or Marlon in a scene isn't gonna work if you have SVE, you need to use the new name or it's nothing where they were standing
Damnit really? Aw that sucks so baddd
same with Morris after he leaves
Ok well thanks for telling me that cuz that completely slipped my radar. Mod compatibility stuff is so hard
who I also had an event with, MORE DYNAMIC TOKENS
ugh i wanna try SVE but my neurodivergent ass [and brain too LMAO] is basically like an endangered animal at a conservation center that can't have too many new things introduced to their enclosure at the same time without getting overwhelmed so I can't download it till i study it-
And Morris Redeemed also has its internal name
damn 
I went vanilla, vanilla+sve, vanilla+sve+rsv+es+whatever else
stardew super-duper expanded
https://smapi.io/json/none/3308a4824b1c4ab5af0295d3f4b8a5cc
Here's how I did it and made it pretty easy. Instead of using any of them in an event by name, I use one of these dynamic tokens. And for the event, I use the event dynamic token to show the right frame for vanilla/his position and use the normal walk cycle for anything else
The Morrises only change after a certain event, so there's conditions for that
and luckily I hadn't needed to MOVE Marlon much for my events, so I didn't have to do the GuntherEvent treatment to him
that sounds so tedious omg
Feel free to yoink those tokens, though obviously the event one is only gonna work in my event so maybe not that one
...he's just gonna teleport :)
I mean to use the correct internal name so he'll actually show up with SVE LOL
I remember first playing my event and being like "why won't he show up" and SVE gave me two reasons, his internal name being different and also the floor being on the damn always front layer in the adventurer's guild for SOME REASOn where he normally stands
so once I got him working, he was also hiding under the floor
Heh I am the opposite. I just stuff a whole bunch of mods into my game without even really reading the mod pages (note to users: do NOT do this, or at least never ask for help from anyone for a mod if you haven't thoroughly read all the documentation) and then I just find out what I've got when I'm playing. I like the surprises.
but tokens are great, love tokens. Once you get them in the right shape, they make some compatibility stuff waaay easier
I'm jealous omg
I can only watch one new piece of media every other week-
mhmmmm I currently have my smapi mod have its own configmenu and gmcm config thingie.
but now I am refactoring things, trying to use/rely/benefit more from CP and realize having two config menus for basically the same mod (but technically split into two) is kinda dumb and annoying.
if I want to put all the config into the content pack, can/should I keep my gmcm stuff and just read the modconfig from the (cp)versionโข ? or does that mean i can leave out the whole gmcm mentioning and api in my c# wholly?
I don't do it with watching or reading lol. I just rewatch and reread stuff I already know the vast majority of the time. But with video games my brain is always demanding "new new new new"
me with the sims CC omg- i had 100gb of JUST cas and bb stuff-
HAD I'm less insane now dw
I think Sims CC just multiplies like rabbits
I thiiiiiink you can expose your C# config to your CP mod with tokens but you can't access your CP config from your C# mod....but I am not confident on this so hopefully if I am wrong me saying it will draw the C# people out of the woodwork to correct me lol
oh yeah
(you cant*
*you're not given the tools to do so, but you can reflect into your own mod if you really need to)
-sees Button typing- yesss it worked
you can't NOT download every piece a creator has
HOLD UP
one sec
i havent played for a few months
same
i actually was really invested and did some small mods for sims until they hit me with "lets break everything)
q.q
dammit i lost the 'irresponsibly large amount of cc' contest ๐
i did so much merging with S4S so it would run-
if you need a C# component anyway, i personally recommend just doing the config in the C#
and exposing them as tokens like Aba says
other people may recommend the opposite
Which is what most of the major mods do
but i dont listen to the other people
as a benefit, other mods that are not your mod will be able to access your config, if need be
Do you guys think it's inappropriate to go to #1139016532966506576 to look for people to do multiplayer testing for a mod beta?
personally, yes
ok thank you! so I will just provide some placeholder asset options and let my cp pack replace/editimage it
The opposite feels like the worst of both worlds, get limited gmcm API but also not get the good C# access to the condig
thanks!
i could help out!
For multiplayer testing I just do it myself and run multiple instances
don't know why I didn't think of that, thank you 
Can join via IP and either use localhost or 127.0.0.1 or just leave it blank
If using stardrop or other mod managers that mess with filesystem on startup, only launch new instances when the others are idling ingame or on main menu
and you need to press unlock smapi/stardrop (one of those) before you can start a new one for stardrop (at least for me)
uhh how can you switch to a different map area during an event? i want to go from the mountiains to the mines back to the mountains again
you could always chain three events together
part 1 in the mountains, part 2 in the mines, part 3 in the mountains, have the end of one trigger the beginning of the next
huh, okay! thanks :)
would I use endSimultaneousCommand for that?
NVM
there is also the changeLocation event command
got confused ik it's not that
changeLocation or changeToTemporaryMap
or changeToTemporaryMap
oh, thanks!
hmm i don't feel like setting up all my stuff yet so I'll just temporarily shove my event into another mod to test it
shoot, the debug commands don't work properly during multiplayer, do they 
hmm would I have to like reload in my characters after changeLocation?
Nope
i could never get those to work, but cjb cheat mods are your friend!
alr, sooo just warp them in right after then unfade?
never... in my whole four weeks of sdv modding 
If you do a find in files search for changeLocation in the vanilla events folder it will give you examples of how to use it
omg this describes everything I'm doing rn-
what are you working on? what kind of mod? something something event-related would be my very deductive and seasoned guess be 
ouhhh
very neurotypical interest
spending a very normal and healthy amount of time on it
wbu?
omg same!!!
i totally never couldnt sleep because silly frogs kept spawning and I was laying in my bed thinking about how to control it and decided sleep isnt worth it, frogs are priority
hey question



does a lil victory dance



