#making-mods-general
1 messages ยท Page 194 of 1
I see. Thank you both!
Whether you prefer copyleft licenses like GNU-GPL or permissive licenses like MIT is really a matter of personal opinion
Well, I am asking like the 4 here, so let's see
(I do MIT because when in doubt I default to being relatively permissive)
Depends on what your goals are. GPL licenses are viral, which can promote open-source by forcing others to make their code open-source too. However it does that by reducing the availability of the code, which is a bit counter to the idea of open source. MIT is closer to the opposite end of the license spectrum: you can do pretty much anything you want with the code, as long as you meet the minimal requirements.
Personally, I use MIT on everthing that I am giving away. It's like putting an image into public domain. It's out of my control, and it removes as many obstacles as possible for the people who might find it useful
(there's also a question of whether viral/copyleft licenses are even enforceable in court because there's actually very limited precedent set on them, but that's a topic for another day)
the GPL is designed to promote "free software", which is a different but related concept to "open source"
If I want to retain any sort of control over how it gets shared, I would use GPL
I have always just thrown MIT on stuff, just because I knew it was very flexible. I was just curious
When you ask a question about open-source licensing:
Some people object to MIT licenses because it also allows corporate entities to use your work for profit and without credit. Which sounds bad, sure, but if it also allows little developers to access what you are working on to make their own dreams come true
I just like to poke at stuff for fun, if it interests me I will write a bunch of code and just give it to the original author
part of the reason i currently use MIT is that it more or less fits on a business card and does not contain pages upon pages of dense, impenetrable legal jargon (all of which serves valuable purposes in the proper circumstances, notwithstanding the aforementioned courts problem)
ngl I'd rather corporations use open source libraries and projects than a house of cards of proprietary software that may have never been tested properly, as annoying as it is when they don't contribute back to the project in some way
As a developer who uses other people's open sourced artwork and stuff, I won't touch GPL code or assets. I don't want to be forced to license my own stuff that way. So, extending that logic, I decided that MIT is the friendliest way that I can release my own stuff to give back
I use MIT only because I don't understand how majority of licensing works ๐

ok so i'm around a bit more. Basically per machine you can have stuff like "emerald+Ornate Necklace" give ornate emerald necklace and "Amethyst + Ornate Necklace = Ornate Amethyst Necklace", if the gemstone is the input and the necklace the fuel, but this mean that you can't have another fuel like the elwish jewelry OR you can have the jewelries be the input and the stone the fuel but then you can't have different gemstones.
if you want different fuels then you need the extra machine config mod, as it can deal with fuel per recipe rather than per machine.
Also, my suggestion would be to have not a recipe per gemstone, but a recipe per jewelry, and have the gemstones be basically modifiers, as flavoured item. So you have a generic "ornate gemstone necklace" and the input being gemstone, the fuel necklace, and the result is modified in price and name based on the inputed gemstone.
See, so much good conversation, and no fighting, yet...
(Taking notes for later, don't mind me)
I like MIT because it lets you open source without having to think about it too much if you don't want to haha
I do have to ask - how does gpl reduce the availability of the code
VMV do that for the earrings, it's one item internally, but i have several options for gemstones (including a catch nearly all generic one with lower priority for modded gemstones)
I just want to let people see my code and point out my wrongs or use it as example (if its readable, lol)
True! GPL also has a bunch of sub licenses with varying permissions. It can be really hard to parse sometimes
Not deal with all the legal blabber ๐
Because it forces anyone who includes that code to also license their own project that way
Which is a burden that a lot of developers don't want
That doesn't reduce availability though?
It makes it available just not maybe something people want to use
Also the GNU project in general just feels like opening a can of worms sometimes 
Like this I get
Not just not want to use. It makes it impossible to use for some things
But that doesn't mean it's less available
the more you look at GNU and Stallman the more it makes you want to crawl under a blanket and hide on some days...
Let's say I make a game. I'm looking for a json parsing library (or something). I can't use any GPL version if I want to sell my game later on
It's a conversation that I just want to know one point on XD
Oh, I couldn't say my opinion of Stallman in this discord.
someone asked if permissive licenses are better than viral licenses or vice-versa and it pulled all the software nerds in 
Oh. Okay. So for Stardew mods GPL would be okay because generally people aren't okay with their stuff being in a paid game
Yes
Like overall I get it but in the microcosm of sdv modding it's mostly irrelevant difference wise except forcing later stuff to be open source
GPL with stardew is actually tricky because nobody seems to check - a lot of people, for example, have been updating aedenthorn mods but not open sourcing them, which isn't allowed
(aedenthorn used GPL for all of their mods afaik)
yeah I did an aedenthorn update and they used gpl
Ye. Not gonna lie, the loss of closed source mods has made me a very big proponent of the idea of GPL on some mods
But I see the value of MIT on other mods too
they did say all of their mods could be updated by anyone when they left, but whether that's opening the license or not is really not clear-cut
You can download, update and use GPL code for your own personal use (AFAIK). But you can't publish your changes without slapping GPL onto it
not necessarily gpl, but a gpl-compatible license
I used to use MIT for everything (since I agree w atra re: RMS), but I now use a much wonkier one entirely because of Curseforge
could you elaborate? /gen
Curseforge monetarily incentivized people to take open-sourced mods for themselves and post them on Curseforge
Curseforge is land of stolen mods
ugh
Ouch
Basically, if I didn't want to put my mod on Curseforge, someone else could do that instead and Curseforge would say "it's MIT, what do you expect?"
MIT But Don't Be An Ass
Yeah, sadly that doesn't exist
(my new license proposal)
And isn't legally enforceable or definable tbh
that's the exact license I want ๐ญ
much like atra, I can't elaborate on RMS, but explained the rest ^^
firelily is right you do have another tilesheet climbing issue
you can look at my repos to see what I settled on
have any open source cases been won/lost yet
I remember following some of the gimp lawsuits when they were happening but I lost interest eventually
Bascially, Mozilla + a rider banning commercialization
I doubt it, but is there a license for "GPL, but you can't upload it to xyz"?
classical mathperson what's ur modding name lol
on github it's elizabethcd
on nexus it's violetlizabet
my nexus mods all link back to github if they're C#
maybe I should have fewer names 
the problem with writing your own license is that no one else will understand what it means, in both a legal and practical sense
so they will do one of two things: 'aaaa no touchy too scary' and 'this means I can do whatever, right??'
and resolving that will be messy
(you but with names)
-# this is going to end up being massive, isn't it
I feel if I wrote a license and somehow it ended up in court (not that it would for my sdv mods but this is a hypothetical), it would not hold up
unfortunately I feel like a lot of people don't check the license at all
yes, also true
but occasionally places like nexus and curseforge use it to arbitrate
I think a lot of ppl assume that "it's source-available, that means I can use it. I can access it after all!!"
curseforge is unpleasant but not wholly unregulated (unlike the websites based in sketchy places whose sole purpose is mod theft)
license : "can't upload this on curseforge"
curseforge : "i see nothing"
It's probably far more likely that they don't think at all.
but also yeah, it's worth remembering that none of the licenses have spent much time in courts, even the established ones! it's still early days of proving the legal precendent of open source somehow
I have seen multiple mods on nexus with a line on the mod page saying "these assets were accessible on the internet so I assume they're public use" so yeah, I'm with focustense on this
Licenses are good to establish expectations. They reduce friction among people who respect them. Thieves and assholes will steal code regardless of license
(aka the generative AI defense ๐)
As will AI bros
lmao same wavelength
I freaking hate copilot. I hate what MS has done with GitHub
And yes it is sucking in GPL code and spitting it back out verbatim without licenses
my friend let copilot auto-complete a comment the other day because it was suggesting "so bad at this" to follow "I am" and then it went on a rant about potatoes
(if anyone who believes that is reading this, that is not true legally, ethically, or through basic common sense)
I no longer use GitHub for anything
I would love to not use Microsoft for anything anymore
I think microsoft weren't as bad as some people were expecting them to be and I'm glad they did things like allow unlimited private repos, but I do understand the issues people have with github, especially with the AI features
I don't think Microsoft gives any guarantee that "private" repos aren't used for AI training, do they?
That's my major issue with them atm
probably not, but I meant that before they bought github free accounts had a restriction on the number of private repos they could make
When SteamOS comes out, I hope that I will be able to nuke my remaining Windows machine. I only keep it around for games anymore
haiii! does anyone have any info on creating pet mods??
i've made one. what is your goal?
Can you be more specific
I guess I'm in the minority but I'm really just not concerned about LLMs indexing GPL and other not-totally-open-licensed repos because as far as I'm concerned, LLMs are just glorified search engines anyway.
to add a rat pet to the game
If you really believe in the "gen" part of "gen AI" then it seems scary, but if you believe it's just marketing nonsense that will die in a year or two, and that machines are at least decades away from being able to write useful code, then it's just an improvement in search tech.
the mod is a gift for my partner, he wants a rat that'll follow him around and sleep on the bed and whatnot
I'm mostly with you on the practical aspect, but I still believe it's an incredibly unethical thing to do
for your consideration: https://www.nexusmods.com/stardewvalley/mods/25215
(two cakes to follow in 3... 2...)
but you can check out that mod as an example of what you want to accomplish
the idea is you use Content Patcher to target the data asset that keeps the different kinds of pet
and also unfortunately, regardless of whether or not gen AI is ready to be used in this way, people still are using it in this way
add data for your new type and voila, new pet. (then of course you draw the art and so on)
rats! 
omgg ty this is awesome! my partner was under the impression a rat mod didn't already exist lol
newest ChatGPT paid models are getting better at basic code, and can store changes to memory including updating apis and such. You still have to know what the code is, and be able to verify it is acurate, but much less errors than past models
Emphasis on "basic". As in, it can barely manage to spit out the same boilerplate that you'd get from a junior intern.
Anything beyond boilerplate and it reverts to being nearly useless.
I think one of the larger servers I was in before had sth like: No Pings, Ping On Reply, Ping If Urgent. I've also seen some people add "No Ping" in parentheses after their name
(turned the ping off of this reply. i may default to no @ for SDV unless the name says to ping
)
(backsearch to yesterday for some of the... interesting mod code the LLMs brought us recently)
yeah, I was watching
Heh yeah, I think I saw that.
The improvement from 2022 vs. 2025, free vs. paid, is incremental, not game-changing. Like getting the deluxe model dishwasher.
do you happen to remember any keywords I should search for? I think I missed it lmao
I am pro AI when it is used as a tool in your tool chest, and not as the base of your knowledge
๐ I wish we had that here too, I'd pick "ping if urgent" or "ping if I'm not there" or something
So am I. I think LLMs have proven really good at one thing, and that is being the next generation of search technology. They are amazing at compressing huge amounts of data into tiny models that fit on a single machine, and serving up fuzzy queries.
The bio thing explains it pretty well. ("Ping If Inactive" or "Ping Policy In Bio" or "No Pings*" could maybe work as part of the nickname but if just giving a quick explanation when someone pings by default doesn't bother you then you're probably fine. Like what you did with me
ultimately I think it's a question of ethics rather than results in this case. I agree that practically speaking, the original works aren't being recreated individually and also gen AI is mediocre. But if a license said not to use something, it shouldn't have been used, and we can't allow companies like openAI to make that acceptable.
around here #making-mods-general message is the one i caught live
They are also great at taking a snippet of code that you need to iterate over a bunch of data and doing it for you
They just don't "think", and people who think they do are going to be disappointed. And all the ethical concerns seem to take on faith that the LLMs think - that they are really "creating" "derivative works" as opposed to just serving up search results.
GitHub and Google index GPLed code but we don't say that's unethical.
yeah, they don't think at all
yeah it's usually not a common enough occurrence for me that i feel like i need it in my name ๐
although I do talk to ChatGPT like it is another person, so...
That is probably more a comment on me than the AI
oh, I make no assumption that they "think" dw, I'm really only concerned with whether it's right for a company like that to collect the data and use it (for any purpose tbh, not just AI, AI just happened to be what they did with it)
and tbh the thing about indexing code is that ultimately you're linking back to it, not just using it for your own models etc
Yeah, I say stuff like please, and that looks great. I also use Let's a lot, Like Let's do this, or let's try that
Look, we all were raised to have a healthy respect for potential future AI overlords, saying please and thank you is the expectation xD 
i'm the absolute opposite kedi, when the ai uprising happens i will be one of the first victims
I'll put it a different way: I think 95% of ethics concerns could be resolved by the LLM simply providing two additional pieces of data with its results: (1) where the data came from and (b) what its usage rights are. And a lot of LLM products have started doing that.
Just don't pretend it's "original" work, admit it's a glorified search engine, and the ethics are the same as any other search engine.
In my AI ethics course the first class discussion was on making arguments about whether AI could ever possess genuine thought and understanding, a really interesting discussion tbh
For the GSQ IS_JOJA_MART_COMPLETE do I add a true/false at the end or do I just leave it as it is?
I have noticed a clickable sources pop up at the bottom of results lately
I do agree but I don't trust them to be accurate because LLMs have proven to be relatively opaque in that sense, and for example the source links in the google AI thing never seem to be relevant to the nonsense it's saying (I've also asked chatGPT how it knows certain things and got complete nonsense as an answer, which is to be expected, because ultimately that question is just another LLM lookup)
Yup - once the product leads stopped making excuses about sources being irrecoverably lost and started actually telling their engineers to figure out a solution, it turned out not to be all that difficult.
I also try to explain the thing like I'm explaining to someone who knows nothing, because even LLMs practically can't "know" what is <insert request> 
The more you give, the better result you get
That makes sense. So with Extra Machine Config could you have:
Elvish Jewelry + Amethyst = Amethyst Bracelet
Ornate Necklace + Amethyst = Ornate Amethyst Necklace
Elvish Jewelry + Ornate Necklace + Amethyst = Ornate Amethyst Bracelet?
Alternatively to go the route of a single jewelry machine and not use the extra machine config mod, could you put the Amethyst Bracelet back into the machine for a second round and have that turn into the Ornate Amethyst Bracelet?
but yeah I agree that overall AI just isn't advanced enough right now to be as scared about AI as most people are and that the language around the "theft" of IP seems to lead people to think it's being done in a much more direct way than it is
as is
Yeah, you should see some of the insanely long prompts people have figured out for ChatGPT. They put more effort into writing the prompt than they would have put into just making the code/essay/art themselves.
I've seen some people hide their signatures on art so that "AI can't steal it" or "they can prove it was stolen by AI" which is just a blatant misunderstanding of how it works
These are so cute omg
Here is CHatGPT's response to you -
Yeah, some of those prompts are like mini-novels! It's wild how detailed people get, but I guess it makes senseโif you can craft the perfect prompt, you can get exactly what you want with way less effort in the long run. Still, at some point, itโs almost like theyโre doing half the work anyway!
I think you're talking about watermarking, but that predates AI by quite a lot. If anything, they just haven't quite gotten up to speed on the difference between regular plagiarism and GenAI-mediated plagiarism.
Is Lumi gone now? (Is this a case where it would be okay to ping
)
I'm talking about specifically watermarking with the intent of stopping AI (believe it or not that's a thing people actually explicitly talk about ๐ญ)
They were adding watermarks while outright saying this will stop AI from stealing their art. Several different occasions. I assume it started as a very serious misunderstanding of the practice of "poisoning" art for certain generative AI algorithms to be unable to use for training using various noise techniques.
I don't think that's that useful either, but at least it probably actually works lol
You could do what you asked, it would just be another recipe for the machine
(also I just saw that you're okay with pings, so consider this me ping replying for the previous message)
that might be the simplest way to go about it then 
Has anyone written or heard of someone working on an Arcade Game framework. It would be cool to be able to have a framework to add a new arcade game to stardew
I think it would be hard to framework tbh? the hard part isn't just adding them in, it's developing each game
Oooh that would be cute! Right now theres just Prairie King and Junimo Kart right?
and pong via a mod
I think the framework would just be an easy way to add the access to the minigame and the big craftable object, and the person using the framework would provide the code for the minigame, and artwork for the craftable
didn't somebody make an arcade machine that loads arbitrary game boy roms
somebody definitely made one that loads DOOM
There's a picross one too!
drip a pico-8 game png file into the asset folder and you get a new game machine
here's doom https://www.nexusmods.com/stardewvalley/mods/29878 (no sound, apparently)
when will someone finally port stardew to stardew
but does it work in multipla-- [is shot]
Is that doom game SVE compatible
do i work in multiplayer? (probably not)
Is multiplayer sve compatible
is singeplayer sve compatible? if not i'm not downloading it
idk but I really need doom to play doom yk?
i can't find the game boy one. did i mandela myself
perhaps
nice
I had a funny mod idea, but don't know if i'll ever get around to making it. So if anyone want to feel free lol.. Anyway. Ever notice how Linus spends a lot of time by the bush that is next to his tent? What if shaking it had a chance to give you a basic fertilizer? And as you gained more hearts with him it could drop higher quality ones?
!modideas
If you have a mod idea that you aren't planning to make yourself, you can put it in the mod ideas github: https://github.com/StardewModders/mod-ideas
However, this does not mean anyone is guaranteed to work on your ideaโmodders who are looking for ideas sometimes go through and work on what they find interesting off this list. If you want to pay someone to make your mod idea, there are a few people who do commissions (mostly art, sometimes code); you can ask around, search usernames for the word comms, or see !commissions.
๐ฎ
ok i fixed this now.. the game still doesnt load the interior https://smapi.io/log/b0ecd28171fb45dcbb290c2c382625f1 is it because of content.json?
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home Single Language, with 11 C# mods and 8 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
Your map doesn't have a buildings layer
map doesn't have required layer 'Buildings'. what does that mean? i have 2 building layers for furnitures
jeez
Is it called "Buildings"
On a map, there's front, buildings, and back
And Buildings2
yeah exactly
It has to be Buildings (plural)
Can you screenshot your layers?
Can you - yeah
Not that we don't believe you, but the log isn't saying that for no reason
So there might be something you're missing
And that's the assets/AtsushiForestHomeIn.tmx file, yes?

yeah
im trying again now
OKAY ITS FIXED
That seems like it'd be pretty easy to do if you can do trigger actions on a bush shake.

buuuut now i cant walk in the house
It would need to be some sort of locked door warp or a.. i think touch warp?
Yeah, I know I could, but I'm currently doing a portrait mod, so my brain is wired for playing SDV and art atm lol.
U need warp on the door yes
no i mean i have, im in the house just i cant walk around
and i cant leave the house tho
(also for the record, human waste is actually very bad for fertilizer, mostly because of sanitation issues)
You can't walk around, did you accidentally make the floor all building
Hey @ivory plume when you're around, I was just reminded of the fact that SMAPI considers GitHub prerelease versions to be regular updates, or at least it did when I last tried to use it a month or two ago. Is there a way for us to suppress prereleases from the update notifications, or if not, do you think it's something that could be added to SMAPI? (Possibly controlled by a manifest flag, if you're worried about back compat?)
Instead of on back
its all back
Also yeah if you can't walk around it's likely because you have stuff on the buildings layer
as a properties? i just have warp
No invis tiles on buildings either?
The issue is likely that you have stuff on the wrong layer (which is preventing you from moving) which would block you from accessing the warp as well
Ideally you'd use a semantic prerelease version; see beta versions in the update check docs for how that works.
once again, the modding channels have made it relevant to say do not let any mammal eat its own waste or remains 
๐ญ
Unless they are freeze dried and you are on Mars
Of course
my character looks like that so front
What is this, manure-mods-general?
Briefly
If you toggle off your back layer is there still something on that tile
Also are you sure you're not spawning on the same tile as the wall there
oh it is.. i thought if i spawn it 1 tile away it would be weird
lemme fix it then ๐ฆ
are item sprite files supposed to be 48x48 or 24x24?
16x16
whoops thanks. can i ask why the wiki has them at 48x48?
you should be looking at unpacked files for that kind of info and not the wiki pictures
okay, ty
Is it possible to have an NPCs door only open at a higher than 4 heart level without C#
With some clever use of BETAS maybe?
you can just use ConditionalDoor
once again I am reminded I know nothing about the content pack side of things
Yeah i did it with the locked door warp
You just set the number higher B)
Qi's door opens at 4 hearts and his office at .. 9 i think
oh yeah, LockedDoor better if you want open and close times
Just for future reference, standard practice when you are entering a map from below is to put your arrival tile (where you land when you warp into the map) one tile above your departure tile (where you walk to leave the map). The base game does this too!
learned this the hard way (infinite loop)
huh. but the items are working, but not here
and i dont have any errors in the log
,
{
"Action": "EditData",
"Target": "Data/CraftingRecipes",
"Entries": {
"BeadedFox": "OrangeBead 40 382 2 80 2/Home/BeadedFox/true/none/"
}
}
i think you need to have a 1 with the output
for how many it gives you
also your issue may primarily be with the object data as well
wdym?
"BeadedFox": "OrangeBead 40 382 2 80 2/Home/BeadedFox 1/true/none/" like this - though im not actually sure if its needed that's just how my recipes are formatted lol
can you show the object data for the item?
yup
{
"Changes": [
{
"Action": "EditData",
"Target": "Data/Objects",
"Entries": {
"BeadedFox": {
"Name": "BeadedFox",
"Displayname": "Beaded fox figurine",
"Description": "A cute fox figurine that was made of beads. Can be sold",
"Type": "Objects",
"Category": -2,
"Price": 1000,
"Texture": "Mods/VanLamar.TestMod/BeadedFox",
"SpriteIndex": 0
}
}
}
]
}
The texture and the item itself work, I see them in the game but not here
where did you get "Type": "Objects" from?
uhhhh idr. Probably its just dummy
I was literally going to the wiki to check that lol
types are not something you can make up, it needs to be one of the vanilla types
you likely want Minerals
yeah
i didnt remember an 'objects' type so i was wondering if that had something to do with something
while i dont know for sure if thats 100% the cause, better to reduce variables anyway
^
i see kay ill try
also your recipe data is counting this as a big craftable which i dont think you actually want ?
No, this is exactly what I need, for a craft in Big Craftable worlBeanch?
what's everyone's favorite vaugely ominous soundbank id?
honkytonky
also instead of 'none' it should be 'null' and without the last / I think
for a craft in... what?
Big Craftable is just like... an auto petter
or a furnace
working machines (mostly)
like a furnace
I like one of the 1.4 ones ... i think its number 9?
I used CCS to make a menu for a custom workbench
no
Then the item is not a big craftable
hm
no its 13
its also just something you put in Data/Objects and not Data/BigCraftables so thats another good indicator that its not a BigCraftable
^
Also big craftables are 16x32 (or one by two tiles) ... which is why I think they're called big craftables now that I think about it
Craftables XL
Craft2bles
if you just shorten that to Bigger I Guess we can call then BIGs
telephone_ringingInEar because it reminds me of whenever I have to make a phone call
Truly the most ominous task of all
Actually, if you want to know what the worst sound is SinWave
If you want some real abuse, debug play that
bruh i did the things you said, like all of that and didnt help, hm
thx tho
ah
nevermind i found the issiue
i did it like that, and it worked
"BeadedFox": "OrangeBead 40 382 2 80 2/Field/BeadedFox/false/default/",
i just remembered the was i did it last time
can someone help me with coding seasonal outfits??
i tried to do it so many times but it dont works ๐ญ
!json
JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.
If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.
When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.
thanks
Toss your code in there and I can take a look
i have many regrets
actually the worst command i've ever typed
I remember those from peace's handy headphonea
I remember because it was one of the ones that meant I had to reset the game XD
i fixed the warp thing but now when i walk around the home the game crashes
!log
Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.
Please share your SMAPI log file. To do so:
- Open this page: smapi.io/log.
- Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
- After uploading, it will show a green box with a URL to share. Post that URL here.
Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didnโt occur in your last session, please load the game to the point where the issue occurs, then upload the log.
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home Single Language, with 11 C# mods and 8 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
Your lights are misconfigured
It gives an error about light field missing value 20, then starts screaming in pain about light code
lol
haven't we all screamed in pain about light code at some point or another tbf
I have made exactly one building and yes
I have made a light mod, 0/10 would not recommend
the only time ive messed with lights i solved my issue by doing currentLightSources = new()
just do that 
So I am getting this message now.
[game] Can't get audio ID 'fox' because it doesn't exist.
Did I add this wrong
{
"Action": "EditData",
"Target": "Data/AudioChanges",
"Entries": {
"Fox": {
"ID": "Fox",
"Category": "Sound",
"FilePaths": [ "{{AbsoluteFilePath: assets/Fox.wav}}" ],
"StreamedVorbis": false,
"Looped": false
}
}
}
The code looks... relatively fine.
Give a log with you loaded in game where you get that error
(also please add a uniqueid to your ids)
You mean {{ModId}}?
yes
Gotcha
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24354 on Microsoft Windows 11 Home, with 227 C# mods and 303 content packs.
fox does not exist but Fox does
Huh, case sensitivity
really that is it. let me try it. I will also add my mod id
whats your mod called actually?
I was honestly going to ask that until you gave the response
So I figured that you knew what it was XD
my response was just goin off the code and the error being mismatched cases
KMF.PetsDogs I am adding breeds to the dog list
alright, then yeah try the case thing
just wanted to make sure it was shown in the list of mods editing Data/AudioChanges (and it is)
it being a dictionary itd make sense to me that its case sensitive but im not 100% sure where content patcher might apply some leniency
it worked. thanks
Would doing this be plausible as a start to adding an event to the MovieTheater? Is there a way to do it that will tolerate if another mod did the same thing? { "Action": "Load", "Target": "Data/Events/MovieTheater", "FromFile": "assets/blank.json" },
shouldn't you be doing an editdata rather than a load of a blank json?
it doesn't exist by default though, right? Can I do an editdata without a load?
oh, I see what you mean
it should be fine as long as you don't set the priority to be exclusive I think?
OK I'll give it a try and see if people notice any conflicts then. Thanks.
I considered copying the tmx to a mod-prefixed one but I think the game changes the decor in there from time to time
Load Priority is Exclusive by default, pretty sure
(yeah, I should have specified that, sorry)
OK, so I can manually set the priority to low then I guess
As long as you and anyone else is loading a blank json there, shouldn't be any problem
for the new "Color" attribute on the item spawn fields, does that take like an RGB object or like one of the context codes?
One last thing. is there a way to override the panting nose the dog make? Not just the bark sound? if not i will live with it but just wondering.
Which in particular, I'm unsure what I'm looking for lol
that one
the color overlay from next index works fine (and I've used it with input items to change color) but under the Item spawn fields it also indicates you can simply specify a color at spawn time
should be rgb
so probably similar to light colors on a map then?
I'll give that a try and see how it goes
hmmmm
I guess itll tell you if the field is the wrong format
so testing it should give clues
yeah, I'll try this format, it's what works with light sources at least: "30 5 45 255"
danke!
i didnt look again after 1.6.9 but when i looked at the context tag color code it was specifically only for context tags and each one was manually defining a color, so thats why i guessed rgb instead. But it could also be a monogame color name maybe?
worst case I can decompile the game again and probably look at the code for the item spawning I imagine
I probably need to anyway so I can pick my maze mod back up
@uncut viper how does SPU add the "power"?
Which field I specify the power to be enabled when you read the book?
the Color field seems to use Utility.StringToColor so it should work with hex code (starting with a #), RGBA, or a color name
SPU isnt used for adding new powers, you edit Data/Powers for that and all that does is add an icon to the menu
Oh, ok, got it
So before 1.6, there was a player critChanceModifier and knockbackModifier that I could access to temporarily chance that stat regardless of the weapon being used. Now that doesn't seem to work. Does anyone know how one might go about adjusting that stat?
OK I'm in need of some guidance. Trying to use content patcher to test deleting the crane man from the Movie Theater. I am emulating some c# code from a mod that removes him when you attack him. This is the piece of mod code that I assume works: Game1.currentLocation.removeTile(2, 8, "Front"); Game1.currentLocation.removeTile(2, 9, "Buildings"); Game1.currentLocation.removeTileProperty(2, 9, "Buildings", "Action"); and this is my code which does not (tried fiddling with the update rate to no avail) ``` {
"Action": "EditMap",
"Target": "Maps/MovieTheater",
"MapTiles": [
{
"Position": { "X": 2, "Y": 8 },
"Layer": "Front",
"Remove":true,
},
{
"Position": { "X": 2, "Y": 9 },
"Layer": "Buildings",
"Remove":true,
},
],
},```
Question, would it be possible to add a cooking recipe that uses a custom menu/animation without having to use C#? Like is it possible with just making content packs and working with frameworks?
either i don't get what you mean, or it would definitively require C#
Better Crafting has the menu, animation is doomed though
i have no idea what a "custom menu" or animation would be for recipes
Specifically u can make custom crafting stations, alchemistry has one
I really wish there was a mod that let you use custom tile sizing so I could add a small clip of lewis and marnie that randomly plays ever so often on the atm screen of my new mod.....
Like, I wanna make a sushi mod XD have a custom crafting station for sushi making.. XD
Yeah that's possible, as long as u don't also want the farmer to roll up a sushi
Low key would want the animation to happen in the menu like a sushi mat rolling
oh so not so much a custom menu but rather a sort of filter
Doomed without C# then
Fffffffff My last C# mod was cruddy XD I lowkey don't wanna delve into that >_<
There's a framework (stardewui) for making menus now but it's a C# facing framework, not a content patcher thing

I mean...y'all remember when I made this...right? #making-mods-general message
I lost the code for it sadface
I mean, Stardew UI is not that far from HTML/CSS. You don't need a lot of code to run alongside it.
like it worked at the end!
That's what git is for
Except it was a test mod and I don't really care too much about it cuz I never posted it.
Anyways the bigger concern i have with such a mod is how logic is tied up with the crafting menu
Real men use svn
The council of clickCraftingRecipe transpilers need a word with your custom menu
Does nexus have a way for mods to show up on multiple people's profiles if it was say a joint project? Or is it only the uploader.
Clearly we just need one crafting UI mod to standardize all the other crafting transpilers. We could call it something like... Better Crafting.
So yeah i would just use Better Crafting
Yes and no
You can add other people to a mod page. They can then edit the mod
But it isn't public or visible
so like....I just need the page from the getting started command to figure out what kind of project I need to make in VS...right?
The only type of project a C# sdv mod can be is a class library targeting net 6
I know you can set the Created By to a "Team name" or something, but uploaded is the uploader. and you can list team members in the description, we did that for Stardew Aquarium.
I wonder about that actually. Could you make an .exe and just rename it to .dll and have it work? I mean obviously it wouldn't run the Main() but SMAPI might not care that it isn't "really" a class library.
Hello ๐ I'm making a mod to remplace some musics in stardew, could someone tell me if i can modify the forge song "Mystery of the Caldera" in the volcano ? And same question for jojamart ambience ^^
Love that it's labeled as (out of support)
bumping / still stumped... anyone able to help?
.NET 6 is out of support, LTS ended in November 2024.
Whether or not Stardew will ever update to .NET 8 is another question... it's not like MonoGame has been incredibly well supported for the past few years either.
Anyway, be happy it's not like Source Generators where we had to target .NET 2 for the longest time.
Really what?
...why?
mod manifest builder my beloved
cuz I always forget to add my manifest. So it makes me laugh because the other day I was legit wishing for a progam that would do it for me XD
and low and behold there's one for C# mods
i probably just read outdated tutorials on that one 
You mean for source generators? Yeah they can target .NET 8 now, but that's very recent.
There's even an optimized attribute filter that only works with .NET 8 targets.
oh neat 
I find a lot of things funn btw forcustense
Yep, you can replace audio tracks through Content Patcher. See Modding:Audio on the wiki, Debug Mode to see audio track IDs in-game, and feel free to ask if anything is unclear.
Anways...time to remember how to do the thing with the stuff and the moding in C#
Finished the Headache inducing part of the cavern (Matching Multiple levels of entrances on the surface, the waterfalls that go underground and where they come back out in 1/1). Made it work.
how did u deal with the cave entrance thing?
Thanks a lot ! I'm cheking it ๐
I love that you use the small bridges together to make the beeg horizontal bridges XD
Matching Multiple levels of entrances on the surface
That's a lot of attention to detail, I thought most SDV players just take it as given that the Valley's geography is topographically impossible.
each of the little lights is a cave entrance 
To be Fair, yeah a lot of the Topography is not realistic, but i still wanted to see if I could.
ah did u just leave farm cave alone then 
Here is the Surface if you wanted to match.
Yeah Farm cave is left alone at the moment, and I have another cave that wont be directly connected to the Cavern. (Both are the Northernmost Caves) 
Sorry that first map was a lil old, here is the newer one.
Crane Man, why can't I delete youuu!? : (
Content Patcher edits the map asset when it's loaded, but the crane man is added dynamically through C# when you enter the location. Removing him through Content Patcher will be difficult. In theory you could force Content Patcher to reload the map after you enter the location (e.g. using OnTimeChange with a token that changes after you enter the location), but that will have the side-effect of removing every other dynamic change to the map too (e.g. all the other random NPCs).
I actually did try OnTimeChange and it still seemed to do nothing.... hmmmm...
oh like you can't just edit it you reload it somehow?
what is the purpose of deleting crane man here?
OnTimeChange only affects when the patch checks for updates. If none of its values changed, it won't be reapplied since it would produce the same result as before. So you'd need to combine it with a token that changes after you enter the location too.
But like I said, you don't really want to do that. That will result in every NPC (and other dynamic changes) being removed from the map, since you'll reset the map after the dynamic changes are applied.
Basically you'd need a C# mod to do it properly.
My hope was to reveal Crane Man as a certain NPC in disguise, and then when that NPC is in jail the crane man disappears from the movie theater
OK I will think about whether this is important enough for me to do in C#, thank you
hmm, i was about to suggest just a sprite change then, but dialogues may still be about crane man
Just Harmony patch to block it from being added.
Yar, the simplest hacky way is to just content-patch Crane Man's sprite to someone else, and then content-patch his dialogue, also.
the buildings lair and tiledata would still be there though
I kind of get the feeling that the purpose of this is to be able to always play the crane game.
That's not really the purpose, it is mainly a story purpose as a reveal, but the ability to play the crane game is a nice side effect
But if it's not, then yeah, just changing it to something else would work just as well.
Yar, then the tiledata would refer to the new dialogue.
There is a crane guy begone mod iirc
Kind of like how I will let the player arrest Pam for drunk driving, which serves a story purpose, but also has the benefit that the player can drive the bus to the desert earlier in the day
yeah that's what I was trying to replicate in content patcher because i'm bad at c# modding
what event should I hook into in order to remove the crane man at the right time in c#? The only current hook i'm using in c# right now is OnDayStart which obviously won't work
it's really old, but this mod might be a reference? https://www.nexusmods.com/stardewvalley/mods/4704
ah, I see atra and I had the same brain for a minute, no wonder I felt smart
That mod is open-source, so you could either update it instead of creating a new one or else look at how it works.
Yes, thank you guys, I did see that mod as open source and that's the code I'm looking at reusing now that I see it pretty much has to be done in c#
What the hell in crane dude changed since 1.5.6 lolz
my question is (since I'm bad at this) what event do I hook into to run it at the right time (after entering the theater for example)
If it's from 2019 it'd actually be 1.4, yeah?
Oh maybe weapons changed
The brain cell is exhausted and sipping a tea at work
I want to delete him right away after he is loaded, if possible
I'm supposed to be reviewing a document and I really can't put two thoughts together anymore
Might bail and go home
Oh, sorry, those are probably my brain cells giving you the first half
PlayerWarped probably
No! You have good brain cells! Mine are overworked
Thank you I will look into that. Is there a good reference/wiki for c# modding?
!startmodding
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.
!decompile
If you want to make SMAPI mods with C#, one important resource is decompiling the game to read the game code. Here's how to do it: https://stardewvalleywiki.com/Modding:Modder_Guide/Get_Started#How_do_I_decompile_the_game_code.3F
hm what would a revised harmony command be like 
Thank you
why my doors are transparent ??
Missing map property?
Oh we have a tutorial for that!
This is a mildly advanced guide for modders that assumes familiarity with Tiled, Content Patcher, and map modding fundamentals such as the difference between Map Properties and Tile Properties.
Interior doors, such as the one in Figure 1, are interactive map elements with hardcoded behaviour (see InteriorDoor.cs). There are three types in the b...
noo i dont think so
omg thnk uuu
I made a map once! our farm does not fit in flat euclidean space that's for sure 
wait I think I still have that file 
I made this a while back but iirc this should be roughly accurate in terms of tile size being the same and paths roughly lining up 
i thought the bus stop is bigger than that
source? pretty sure they still need to be netstandard2.0 or they won't work in VS
I always thought there was space between the maps we are not shown. Because path change type and the rivers don't match up from map to map.
โฆit grew in 1.6, didnโt it
I forgot, this is from 1.5 haha
OK I'm confused by this because this happens in my mod where there are ghost doors... but I'm not using custom door images just the built in ones
Most of what I know about doors is that they're cursed and also the clinic doors are hilarious
i think if u sleep in a place with doors
the doors get flustered and become ghost doors until you leave and come back
yeah... that's a problem for my mod because if you sleep in that room the ghost doors trap you in that room and there's no way to leave, you can only go to sleep and see if you get ghost doors again the next day
Actually I did make a mistake, it's .NET 7, not .NET 8 where they added the ForAttributeWithMetadataName extension, making it still unusable in the Stardew context specifically. The documentation is awful as always so it's hard to point to an "official" link that's not just some guy's blog. Try it yourself, unless they backported the attribute to netstandard2.
I always assumed that the warps on the base game map had some extra distance of travel that it skipped over as kind of a "Nonvital area thing"
Also seeing that picture makes me thing about stardew as an omnimap, with no overworld warps
, but thats pretty much impossible atm with size limitations and a number of other reasons.
It'd break event triggers, for a start ๐
it just wouldnโt connect unless you add those extra gaps between maps etc in (and even then likely not). But yeah, even if it did, I canโt imagine it would run very well haha. Every single animation, farm animal, machine, etc all being active at all timesโฆ
(Iro, didn't you just say you were going to bed ๐)

just make a farm map thats stardew-valley-but-topographically sensible 
I have to say this again for those who do specifically event coding: you are all wizards to me this is so ... eeeugh
I can say without a shadow of a doubt that it is my least favorite type of thing I've learned to mod so far - if only for the fact that it is incredibly tedious
Hey, I'd like to let you know about this brand new guide. I think it's the first of its kind besides the official wiki page
This is an introduction to programming in C# - The language Stardew Valley is written in, and in which its code mods are made.
It contains the basics of C#, and some examples specific to Stardew Valley that you can copy paste and learn from.
C# is one of the easiest programming languages to learn, and...
rabbits. i have nothing more to say
Would be cool if it could get added to one of the server commands.
Game1.player.addItemByMenuIfNecessary(new Object("699", 1)); //699 is Tiger Fish
I take issue with this it should be ItemRegistry.Create
it's also not a requirement to use SMAPI Developer Edition, all that does is enable more logs
VSCommunity is also not required
Hey, map maker question: I know the game lets you rotate tiles, but can we use the flip feature too, or no?
as long as u be using tmx yea sure
Okay cool. I remember a day when rotating was sketchy, and best practice was not to do it, so it makes me twitchy to manipulate a tile still ๐
Oh, .tbin files ๐ฅฒ
Those were some days.
yep
i released Secret Note Framework 1.1.2, which fixes this issue (and adds a French translation). thanks! 
Here's the second preview build of Central Station!
Recap: Central Station lets you travel to mod locations in a more immersive way using boat, bus, and train networks. It has a central station hub where you can switch lines, visit the food court and gift shop, access pop-up shops from other mods, and more. See info for players and for mod authors.
Changes since the last build:
- Added the real Central Station map (thanks to Kisaa!).
This is an early draft preview with placeholder assets. The final version will be added before 1.0.0 is released. - Added interactive bookshelves. Other mods can add their own messages.
- Added map flavor text.
- Fixed unable to reach Central Station in early game.
Not included yet: random NPCs and mod pop-up shops.
Feel free to try it out and report bugs, feedback, or suggestions here! This is the best time to try adding your mods to Central Station and see if there's anything you don't like, before it's released and the format becomes much harder to change.
a gorgeous map 
i can't sit on the benches. i demand a refund /j
(That's in upcoming builds! This is the first rough draft of the map which just has the basic structure.)
(Just for fun, here's the rough sketch I sent to Kisaa which she turned into that.)
flipboard my beloved
i adore a flipboard
XD
i appreciate the attention to detail with adding a clock(?) at the ticket counter
... are they functional?
Prooobably not in 1.0.0.
the code already exists for the gold clock surely you just gotta copy paste it in
Pathos, are you a 12h or a 24h
(oh yeah not the gold clock i meant the community clock)
do you have a 24 hr analogue clock atra?
I thought it was functional
i didnt think it followed the time but it does change its face. i could be wrong about the time thing though
Ahhh
i havent had one in a while
The gold clock has the time yes
the gold clock is functional, i'm fairly sure, but i'm also somewhat sure that it is cursed
does it recycle the hands from the CC? it's something like that
(ISO standard date/time formats for life.)
the draw code doesnt seem to check the time or anything
That seems to be a common theme with some things 
just checks if the clock is active
its just a spinny texture right
this guy gets it
parsing SpriteBatch.draw calls my beloathed
gold clock draw code absolutely checks the time
i propose we use decimal time, but only if the language is french
i don't know why i even had to check this
i have corrected myself
it's a clock
not all clocks are right 86400 times a day
does the actual wall clock furniture work?
see, there you go then. thats why you had to check 
I was off washing dishes so I assume we have come to an agreement
The best time keeping system is seconds since the big bang
Time is a subjective illusion, so it's not worth tracking it. That's why the clocks in Central Station are frozen.
Time is a subjective illusion, but work yelling at us to submit our time cards is not, unfortunately
are you sure you're not making a DMV mod instead
Yes, it is definitely that and definitely not because they couldn't find anyone in town who knows how to repair it and/or are too cheap to get them repaired.
i like pathos' explanation better :3c
Alright, this is not necessarily for anything I actually think is going to work out and it might be better to wait until next month when I can learn more... but I still have a quick C# question
I'm looking at a mod (that isn't mine, mind) and it has a lot of "ref" errors when I try to build
Got to love AI. Google AI just told me this.
Stardew Valley, an "animal deluxe product" refers to a rare, high-quality item that a farm animal can occasionally produce when housed in a deluxe barn, typically with a significantly higher selling price compared to their regular product, like a pig producing a "truffle oil" instead of just a truffle, or a rabbit producing a "rabbit's foot" in addition to wool.
I'm assuming this is more of a common thing as I swear I've seen it in other mods, so: what is it, exactly?
good news! next month is nearly here (hi airyn, how are things in february?) /lh
Hot ๐
Yeah I know XD Technically I work from home monday and it would be a training thing if we don't have any other work too
can i have an example of the ref error in question
So..."CriticalChanceMultiplier": is not a thing on food buffs
there are many errors that can have the word ref in it
or any other type of buff
truffle ju-- (i am dragged offstage by a large cane)
I assume it's more of a setup stupidity by me
ref is a thing that goes before a method argument
Anyway trying to find the math on how the game determines if the animal produces its deluxe product. Anyone have a link?
can u find where the error's at in code
But on the OTHER hand I managed to add StardewModdingAPI and the newton json thing and the monogame references into Visual Studio
It's uh
Everywhere
what r u doing with monogame references
is it in a decompile?
Yes, button
Animals fulfill several roles on the farm. Some are wildlife, which cannot be interacted with. A pet (cat, dog, or turtle) can be earned which the player can form a friendship with. A horse can be purchased to ride. And "farm animals" can be purchased which serve as a source of various kinds of produce, providing resources and profit.
yeah i think thats bc the decompile didnt/cant load the assembly thats referenced in that code
so it has no real clue what the variable even is
hm wait
if it is a decompile, maybe it's that one ??? bit in netdictionary that decompiles wrong
i believe i recall getting that when using dnSpy sometimes for editing classes
search for Produce
(Friendship + (Mood ร Mood Modifier)) / 1200
the one khloe had to manually fix
Honestly that's a good start to help me find things
double clicking on one of the errors might bring you to the line its talking about to confirm chus theory but eithr way im fairly confident its just entirely decompile error
thank you for the info guys
I read the whole page already. Did I miss it? I see nothing on how much friendship get you x chance of a deluxe product.
for the most part i wouldn't worry about the decompile having errors
It calls them Large items
it is not like u would want to compile that for a mod
Or Rabbit Feet / Duck Feather
And if in theory I wanted to - for personal use - decompile a mod to compile it back into a mod, only fixing a couple code errors?
would that in any way be feasible or a fool's errand, I guess, is where I'm going with this
you have the level needed to get access to the decompile repo
that can range from simple enough to "why are there so many errors to fix"
the one khloe fixes up
this is for a mod not the vanilla game
depending on the size of the mod i would honestly prefer to just rewrite it using the decompile as reference, if i wanted to recreate it exactly
sometimes it's not even the "optimal" thing to do: the mod was probably written for pre 1.6 and it could be that there's better ways to do the implementation
that too
e.g. my small ponds mod vs the previous impl with a separate building
Eh. Way I see it is I get practice either way - 1.5.6 or 1.6
it could be a little overwhelming if u had to deal with ??? from a old mod in addition to just learning C#
ehh... maybe. if its 1.5.6 and broken in 1.6, then you're not really getting practice making a stardew mod bc it, wont work in 1.6
and if it doesnt work at all bc the codebase for 1.6 changed enough that the original code doesnt work and is more than just "not the recommended way" then you dont even get much C# practice bc you cant test it
Thanks. That helps. So my next question is do custom animals use the egg/milk calculation? Is it possible to get them to use the duck feather formula. I want the deluxe product to be rare, not common like the large eggs.
Yes
Let me get you an example
Alright, I see what you're saying to an extent (I also feel a little called out as while I did some extra googling I came across the comment "not sure why you'd ILSpy code and then expect to recompile the code as is" and I feel called out
) The general result though is that decompiled code is inferior to Github Repos and so unlike my prior adventures in C# fuckery I'd need to do a lot more BS in order to mess with a decompiled mod
tosses current stuff on backlog for later
yeah recompiling decompiles is generally a last resort. not bc its like, super duper miserable but bc its just a pain for more than just readin
@reef kiln if you use: "DeluxeProduceCareDivisor": , higher than 1200 it will work as Rabbits and Ducks
Can anyone can help me out with changing which portrait from a png is shown during a dialogue? I already know how to find the code and what to change, but the game is defaulting to the original portrait regardless of which number I change it to. I tried changing the entire png to different portraits and everything worked, but the game still defaulted to the original portrait of that png, even though I changed it to 5 (or any other corresponding portrait number).
Here is the line of code:
"Well, not a single ghost or anything strange...$6#$b#Maybe we should try again on Spirit's Eve.\
Perfect. Thanks so much ๐
That's because 1200 is guaranteed to produce the deluxe item at 5 hearts + good mood (above 200)
quick question is it the info for adding a new chest on CP docs or modding wiki
i see, i should've made a "Coming Soonโข" sign and put it on the benches 
(this is totally not because I was avoiding doing custom chair tiles like my life depended on it)
understandable
the docs is that you cant
that is the correct way to specify a portrait (end the line with $6 or whatever other portrait you want).
two possibilities come to mind:
- portrait indexes are base
0, so for$6, make sure you have 7 portraits, since $6 is the seventh one, and - make sure you are reloading your data correctly after making an edit (edit the actual mod's file and not just the one in your work directory, if you use one, and reload the game or issue a
patch reload your_mod_idand/orreload_i18nto make content patcher reread your files)
(not without Expanded Storage)
(also woo looks like I missed the fun while touching grass)
So is the rabbit foot deluxeproducecaredivisor is 5000? Am I reading that wiki page correctly? Make it the 40% chance with max mood and friendship? I can set it between those # get the % I want?
what fun
the central station alpha
Yes
Would like to add: chu is correct that you can rotate tiles as long as you use .tmx format... HOWEVER tile rotation isnt properly saved with changing seasons (I don't know if this is a known issue, in stardew v. 1.6.15, or a tiled issue). Your map will appear broken after season is no longer spring.
Are you serious??? That's AWFUL.
Hi, I am trying to get some data related to crop profits and seeds. This is the pseudo code. In parentheses is what I'm missing in order to fulfill the pseudo code. This is all through C#
//see how much of this crop gives at base value (I'm trying to get this information through Game1.cropdata. I tried using both the qualified and unqualified id as a key in the dictionary, but they both did not give a `CropData` object. For example, I tried finding a parsnip by using both of these ids with no luck: ."(O)24" and "24" I'm unsure if this is even the object to give me what I want here)
//find the seed of this crop (as of right now, I am writing out by hand what seed will give me which crop. So by hand I currently have a parsnip seed will give me a parsnip. I assume there is a way to do this dynamically with the game's code, but I have not figured that out yet.)
//see if the seed of the crop cancan be bought from a store, excluding the traveling market (pretty self explanatory, but unsure how to get all of the stores that have a certain item)
I know this is a lot, and I'm not trying to make it so people make the mod for me, but I'm pretty new to modding this game, and it's been rather difficult finding the necessary data/variables needed in order to make what I want. If I was more familiar with the game and other mids, I would use other mods as a reference to figure out what I want.
Yes, there was a bug report on my older maps (which I rotated tiles for) breaking. I thought it was an unrelated issue, until someone showed me a draft map that has weird tiles in winter but looked normal in spring (and in Tiled), and it turned out they used rotated tiles too. So... don't.
Thank you. The numbers are correct and the portrait doesn't change regardless of changing the number. I edit the json file, save, close the program, start the game, test, exit and close game. Rinse and repeat.
How do I do the patch reload?
I am completely new to editing mods and figured I would try something that would be easy. Of course it wouldn't work lol
cropData is keyed by the seed's item id, not the harvest
parsnip is 472
this should not be the case
Well, RIP this pretty area. I have SO MANY rotated and flipped tiles here to try to make grass and dirt boundaries look less shitty with our limited tile variations ๐ฅฒ I genuinely would not be able to find and fix them all at this point.
like, what
well,, it happened
Actually - You'd calculate: (1000 + (255 *1,5))/5000
1000: (Max Friendship points: 5 Hearts)
255: (Best Mood - eat outisde, heater during winter)
1,5: (Mood Modifier - If Mood is more than 200, it will be multiplied by 1.5 - a negativa value if it's below 100 and 0 if 100 to 200)
5000 - the divisor
Which would result in 27,65% - if you add daily lucky (12,5) - you get the near 40% chance
so instead of finding the seed id by the harvest, it's the other way around
Tile rotation is implemented by SMAPI, so I'd be interested in a repro content pack if it's an issue.
(I also recommend unpacking the game to see what cropData is actually like instead of just guessing)
This was the bug report:
The circled tiles are rotated tiles, when I reopened the .tmx in tiled to check.
which map is that and does it happen without a recolor
That was ages ago, and the mod has been retired, so I need to re-test the files again. not on my laptop right now so,, later!
Daily Luck...... I think I will just ignore that when figuring out how rare I want my product. I can't count on daily luck. Plus I can assume it will all was out in the end as it can go in both directions.
If you use a number higher than 5000 you'd get a percentage lower than that - remember, that is when you have maximum luck - average luck is 0,05 - or 5%
OK
@vernal crest do you know of any other affected mods off the top of your head?
Yeah, Daily luck averages in 5%, so you can have that in mind when choosing, you can use duck and rabbit as starting point, if you want rarer, use a higher divisor, otherwise use a lower
Perhaps you should load this map in game as is and check it without recolors to try and reproduce what I experienced?
@frozen elm was saying her maps were having the same issue. I don't think I've come across any others.
are tile flips also reset on season changed, or just rotations?
fair, I did do that, and really didn't find any variable names that resembled to what I'm doing, but I was unsure of where else to look. Crop didn't seem to have it. Item and ISalable do have sellToStorePrice and salePrice both seem to be promising, but I'm not fully sure. Plus from what I'm looking at the header of both of the Crop and Item classes, neither of them seem to be a child of the other.
yep, my map has both examples.
do you know of a specific mod?
I use rotated and flipped tiles heavily in my map and the last time I edited it was 1.6.8 and it was fine changing seasons. I could check it now and see if that's different in 1.6.15.
Crop is an instance of a crop in the world
Item is what's in your inventory
i had to backtrack through a git-diff, but i can rebuild a repro if necessary, the tiles are only wonky in winter
I would like to say, I know that sometime in the pre 1.4 days (when I was learning map modding), rotations and flips were a no-no explicitely, and I assume this was the reason why. Perhaps what Pathos mentioned, the rotations/flips being handled by SMAPI, came after the issue with Kisaa's map? Or perhaps that happened on a version of SMAPI before it was implemented? I hope? (Because I do not have the mental energy to go do that amount of testing on this map today, I have only enough spoons to sit here and place pretty tiles and hope the dopamine gods bless me tomorrow).
No, I think she just said "her maps" without specifying, unfortunately. But if she's around hopefully she can narrow it down. Or I'll see if I can find a comment on one of her mod pages.
Also I'd get the sell price from object data, not either of those places (they need an item to be created and can be affected by professions and mods)
My map was made post-1.6 pre-1.6.8, and the report only came after 1.6.15.
I would SO appreciate it if you could check for sure on season changes! I haven't done any content patcher work for this map, and the thought of getting it all typed up and functionally inserted in game is not something I can manage rn.
If what aba said is true, that tracks.
I'd need a working repro content pack unfortunately, so I can (a) test the issue and (b) see what SMAPI / TMXTile / the game are doing under the hood when it happens.
Sure! Gimme like, uh... 15 minutes lmao
Can you make sure they have smapi updated to latest?
(There's no hurry, the next SMAPI update won't be for a while.)
I wish there was a mod that automatically replants crops when you harvest them. That would be so helpful.
When this rotating tile issue all gets figured out for sure as either "it works we're fine!" or "DO NOT ROTATE" can someone please @ me? 
I try to read back, but this is a v busy channel
Can I make sure Sharogg or her users have SMAPI updated? No, I probably can't do either of those things. I just remember her mentioning it in passing a while back that she'd had users submit a bug report (or comment) on her mod page about it.
so that one we actually know
they need to update smapi to latest
I was thinking of making a mod that made all crop muli harvest. For that very reason. But then I thought it would be to cheaty.
the way the map render override was implemented changed in stardew 1.6.9, they need to have smapi updated
Avi's map should be the latest known case I've seen
sorry, I meant more, in the future in support, this is a known issue if they're using smapi 4.1.8 or less on stardew 1.6.9+
You should make a mod that detects the correct seed for the corresponding crop/flower and replants it after harvest. I don't think you understand how long the modding community has been waiting for a mod like that ever since "Replanter" became outdated & broken. And if you think that's too cheaty, people can just choose to not install it. It's not like you'd be forcing them to use it.
Oh okay haha yup that makes sense. I haven't seen any issues about it in support since then, but I will re-open and edit that one to add a comment that SMAPI needs to be updated if anyone has the issue in future.
thank youuu!!!!
See? Even Froststar agrees.
I second this so hard. If anyone knows how, this mod is a HUGE qol thing that many people would want!
LOL
I do in fact
I'm surprised it hasn't been done yet tbh
Here you go 
with the power of ~Templates~ i cut down my initial timer 
tilerot ๐ //snortlaugh
rot for rotation u.u
That is way harder and beyond my abilities. It would need c#. I am not that far into modding yet.
Thank you for the info about it
I have to admit I wasn't super invested in investigating it at the time (yay fatigue) so I didn't do the basic due diligence I should've there, like making the user update everything. Whoops.
Any chance you could a SMAPI bug report with those files? That way I can take a look once I'm done with Central Station and the other mod updates.
Okay I shall go test my map now too - after making sure SMAPI is definitely up to date lol
In that case, if anyone good at modding is reading this, please make this mod a reality. I will literally pay you to make it. That is how badly I want it.
!commissions
If you're looking for people who do mod commissions (either art or code), here's a wiki page with a non-comprehensive list of people who do them: https://stardewmodding.wiki.gg/wiki/Stardew_Mod_Commissions
!modideas
If you have a mod idea that you aren't planning to make yourself, you can put it in the mod ideas github: https://github.com/StardewModders/mod-ideas
However, this does not mean anyone is guaranteed to work on your ideaโmodders who are looking for ideas sometimes go through and work on what they find interesting off this list. If you want to pay someone to make your mod idea, there are a few people who do commissions (mostly art, sometimes code); you can ask around, search usernames for the word comms, or see !commissions.
put your money where ur mouth is <3
Someday I'm going to have to learn C# out of spite just so I can do things like this that I desperately want but are out of my reach as a person who doesn't know how to code anything more advanced than pseudocode json files ๐ฅฒ
Trying to do a
patch reload your_mod_id
Is the your_mod_id the UniqueID in the manifest.json?
Were I not the brokest of broke, I would absolutely do so. Xero, a challenge has been issued! ๐
What's the challenge?
(fwiw, this is easy enough to be baby's first C# project)
(Beware when Atra says something is easy!)
!anyonecancook
Thank you. I appreciate the help. Hopefully that solves the issue.
no worries! It's not your job. We should put it in #1272348274153619477
If it's so easy then make the mod. ๐
the hard part about C# mod is not really the part where u make the C# mod
but the part where u have to deal with people with 1000 mods coming to you about incompat
pay me my going rate of $100/hr and I might consider it
Yeah no I'm not rich.
That's pretty rude and if you meant it as a joke I recommend adding tone indicators
Sorry I didn't mean it like that
As someone already getting grey hairs from making solely content packs and the "compatibility issues" i get, I think I'll just stay in my lane 
I am, however, deadly serious that's the rate I will charge for if you want the last remaining bits of my non-work time lo;
I have a ton of c# mods and they don't seem to conflict. Is it really a big issue? Am I just luck that none have conflicts
tone indicators are so helpful, and I wish more people used them all the time tbh
well kisaa u picked the worst genre of content packs to do compat for, maps.
if youre not rich, and you really want something, then clearly the solution is to learn how to make it yourself ๐ซฐ
Noooooooo whatever shall i do 
(checks out from my farmhouse mod, i pretend i do not see)
Isn't that just Better Junimos?
it's more that when this happens, the answer is either super obvious (well of course this mod which touch same area is conflict with my mod) or completely mind boggling without asking the user to do 50/50 (impossible)
See my earlier comment about learning it out of spite one of these days, when I have the spoons for it ๐ Chronic illness/disability is the worst ๐ But yeah tha'ts literally what motivated me to learn to mod in the first place lmao, I wanted a custom greenhouse.
I was actualling thinking that, I know Better Junimos does technically have a replanting capability to some degree, but I'm not sure it's as surefire and fast as 'replant upon harvest if you have the seeds in your inventory'
no yeah, physical ailments aside, when theres a will theres a way
I believe in u ๐ take it easy and take it slow, everyone starts somewhere after all
I remember the Replanter mod having no trouble with mod compatibility.
I do the 50/50 all the time. Anytime I see red smapi and don't know what caused it. Though now it is easier as I only have to 50/50 the mods I last added.
Better Junimos isn't great if you want a certain crop planted in a specific area. Plus they can't go inside greenhouses.
yea im glad u r the type to do the debugging yourself 
au contraire, they do in fact go in greenhouses now! I just downloaded it two days ago for that exact reason ๐
All set for you added in my zip there as well but i am not all that great at doing git bug reports 
here is my replanting stuffs mod it works by sprinklers https://www.nexusmods.com/stardewvalley/mods/25326
No but I remember it working no matter how many crop mods i had
Thanks!
Avi, I'm pretty sure you might just be falling into the simple trap of winter tiles
I have that mod.
Either my tile rotations are fine or I was wrong and I have none lol
i dont think you understand what my original comment is about then, i was talking from mod author perspective on things
Oh that's actually really clutch, chu. It's not the solution I envisioned to the problem, but I might actually like that better than an insta replant from inventory ๐ค
I do have some beautiful winter tile awkwardness though
Im trying to get my npc house to load in and I cant seen to get it to work I have the tilted files done and script complete. I put it through the SNAPI checker and it seemed fine. Any ideas as to what im doing wrong
Holy crap, it actually plants for u???
!log
Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.
Please share your SMAPI log file. To do so:
- Open this page: smapi.io/log.
- Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
- After uploading, it will show a green box with a URL to share. Post that URL here.
Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didnโt occur in your last session, please load the game to the point where the issue occurs, then upload the log.
Please provide the following: a link to your log, a link to your json, and an explanation of what "not working" actually means.
!json use this to post your JSON!
JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.
If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.
When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.
if it is simply Winter Tilesโข๏ธ then i've already moved away from it
kisaa was just asking because ig i live rent free in her head of my crimes 
I make my maps in winter because of how bad winter tiles are for transitions compared to the other seasons
Too bad the glare from the white causes headaches
Yup, and I even works with the line sprinklers mod. I love my line sprinklers.
Okay I found a rotated tile in the map and it's working just fine in game
one day I'll get bored enough to tweak the vanilla winter tiles (the path ones) so they line up right.
Well, it's a flipped tile but that's probably same diff right
So the sprinkler's range can be changed to affect tiles in any shape you want??? Even a rectangle?
i thought that one's semi broken (can't extend range) and the author never accepted my PR
that's with better sprinklers
which should work yes
https://smapi.io/log/ff0aab672c2f42869f8d575f4efda7ed This is the log
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 3 C# mods and 1 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
https://smapi.io/json/none/7475780c38a34615bac4a9e4a0c62a0e This is the json
I'M INSTALLING THIS RIGHT FREAKING NOW!
The log needs to be from actually inside a save to be useful just FYI. And you still haven't mentioned what your actual problem is, but CustomLocations is the old way of doing locations. Is it the inside of the house or the outside that's not working?
The issue is the house just isnt loading or anything
No errors im unsure if its really reading the json
So its the interior and exterior
Wait, I just realized something that could be a problem. My greenhouse has fields of different shapes & sizes. This would only work if I were able to change the range of each individual sprinkler...
You can change the range of each type. That will give you 3 shapes at least.
i think this convo is better suited for #modded-stardew at this point if its mostly about how to best use chu's mod
Oh well, I'll just need to place several sprinklers for the longer areas.
True
say aside from wear more rings, is there any other mod that let you equip more than 1 trinket
probably spacecore
I have one that adds shields that give you armor points.
I didn't know wear more rings let you equip more trinkets
thats not a trinket though
Can you load a save, go to the forest, copy patch summary full into the SMAPI window (and then hit enter) and then share the log with us?
yea I can try and do that
So... I am very amused rn and had to share. This feels like accidental polyamory, except in reverse - because I legit designed the map with room for four spouse areas back here (there's a mod for that). And when I was like "Okay but what are non polyam players gonna do with that space? I discovered that this fits PERFECTLY and it's just so satisfying chef's kiss
@vernal crest sorry just say ur name says to ping u when replying
Issue is def its not reading it
and Idk why
Yup happy to be pinged! Please provide the log properly though. As in, share a link to the whole log instead of a screenshot.
https://smapi.io/log/6b56a63cfa4c49f1bb31c6ee7e3fb80d @vernal crest
Oops, couldn't parse that file. Make sure you share a valid SMAPI log.
Was the json that you shared before inside your content.json file? Because none of those bits about EditData or Loads or anything were in the bit that you shared.
Please always share the whole log. It's not helpful to just get bits and pieces, especially when it's actually less work for you to just upload the entire log :)
i'm updating a mod and want to do some optional mod support, will i need a separate editdata per file AND mod or can i combine them somehow?
Okay, you've formatted it like it's a content.json file, which won't work if it's actually an Include file. Can you please share your content.json so I can check your Include code block?
like do i need mod1 object and tree or can i do like mod1 mod2 mod3 object, etc
i guess it doesn't matter much since it's just in code but yknow
Tried the
patch reload your_mod_id
and it didn't help. Will advise if I figure it out.
Okay so the reason CP isn't seeing your map json is because you haven't referred to it at all in your content.json so CP doesn't know it exists.
Ohhhh
When you say it didn't help, do you mean it didn't reload your mod? (I have not backread so I have no context for what you're trying to do, sorry)
You need to use an Include code patch if you want your maps file to be separate https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/action-include.md
{
"Format": "2.5.0",
"Changes": [
{
"Action": "Include",
"FromFile": "assets/John NPC.json, assets/Jane NPC.json"
},
]
}
I was trying to edit portrait numbers during an event dialogue and regardless of what number I changed it to, the portrait never changed.
Are you sure you were editing the right file? Is Content Patcher definitely reading that file? And did you get patch reload working?
Yes, I was editing the correct file and event. I Even switched out the entire png (renaming it accordingly) and that worked to change the portrait, but it would still only show the one portrait, not any of the other numbers I switched it to.
The patch reload went through without issue, but nothing changed.
!json
JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.
If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.
When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.
can you show what you're doing for your patch?
sometimes i get that and need to reload the game for changes to happen
it could also be that
animal / barn stuff does that a lot
if you're loading it into an i18n you also have to reload specifically that
Each time I edit, I save, close the file, start game, test, exit and close game, re-edit, rinse and repeat. I never have one open while the other is running.
I mean its fine to keep the files open
patch reload works well for like json edits
but graphics it seems troublesome in my experience
if its not working after you've reloaded can you send the json for the patches you're making with the link I sent
otherwise there's not much we can do to help troubleshoot
Nope I do graphics and map changes all the time with patch reload
GOT IT!!!
I noticed a slight difference in the actual dialogue of the event taking place and the content.json file I was editing (an A was used during the dialogue instead of an O). So I went through every folder and content.json file and finally found the event duplicated in another folder, with the A instead of the O. Changed the portrait number in that file and IT WORKED!!!
I can't believe I didn't notice it sooner.
sometimes it's fine! just seems inconsistant for me
I am willing to bet there is actually a consistent explanation that one of the C# modders would be able to tell us but without that knowledge it is hard to know, I agree
ah yeah, aren't you the one making the like.. pac man fence things - i remember all those issues xD
probably
that and the barn thing you were doing with the... raptors? i think
lol yeah, and every time i do new barns, and animals..
animals i usually even have to buy new ones to see changes happen
maybe some other mod i run is doing something with cache i dunno
I wonder if animals have the same issue as items where you have to spawn a new instance because the data gets cached once the item is created
that is probably what is happening yeah
often have to rebuild barns too
i wonder if someone out there has a test save with like 20 iterations of mod updates all living together...
one thing that happens to me every time i test a translation with my mods is i load up the game and switch to the language i'm testing. when i load into the save, the stuff from the mod is not translated and appears in english. i panic for 3.2 seconds until i remember the thing i have forgotten: i have to exit to title to reload all the content, then load the save again and it's fine, phew
i will never remember this in advance. i will forget every time /lh
patch reload still is very useful i just wouldn't like, count on it being perfect
Does anyone else watch vanilla youtube let's play videos and listen to there ideas for what needs to be changed. Most ideas are already mods but still fun to see what people want.
if patch reload doesnt work the answer is always "caching"
things that are cached will be consistently cached and vice versa
I used custom locations in my script and it is outdated and wont load because of it does anyone know how I can fix my script
This is the script
[[modding:Location data]]
That should be the wiki page you'd want for an example if you did want to move to the new method
to be clear it is outdated but it DOES still work. if its not loading, the issue is elsewhere
but you should still use Data/Locations regardless for a new mod
:,)yea it wasnt loading
right, im just saying its not bc its an outdated method
your customlocation name doesnt start with "Custom_" or a uniqueid, so its probably bc of that
oh ok
Is there something special you have to do to register events with Event Lookup?
do I do that infromnt of all of my files in the script
I can't actually see why they wouldn't be showing up... unless it's unhappy with me using the new format for event preconditions
event lookup does not support the new precondition format, sorry
That makes so much sense
I switched to the new format just because the wiki was saying to use said new format since the other ones are technically.. i cant spell the word im looking for - depricated? something like that
(I know they still work but its technically better to use the others I suppose)
(i wrote that piece of the wiki
)
Evil
to be fair, the only one it says you shouldn't use is SendMail/x
getting rid of my precious event lookup .... now I have to rely on hopes and prayers /silly
and by hopes and prayers i mean i am not testing to see if the preconditions work im just going to let the beta testers do that
event run good = good enough for me
about the new format, i tried to gently encourage by preferring that form and referring to the old short names as aliases (which they are, truthfully)
Honestly the longer form names are helpful when you're trying to figure out errors
there's no technical harm in using the short aliases, but they are less capable (some preconditions aren't possible using them) and more difficult to understand
looking at the other ones and trying to figure out what the heck its referencing is a pain
unless you memorize all that
Id prefer to keep my stuff up to date rather than using older methods anyways
although I hate that, in my program, certain strings/lines of code show up as blue, but because of how long it is it becomes white
and a disturbing number of them are negative conditions, which becomes a bug factory among all the positive ones
I liked that they were blue titles :( it was neat
Better to just switch to the newer way of doing locations than trying to get CustomLocations to work, I think.
example of that (ignore the broken warp command i forgot half way through doing this that you weren't supposed to include directional stuff... but this is what i mean)
lonk code
Hey folks, here's a draft of the replacement Harmony command. Any thoughts before I submit it?
Harmony is a framework for patching .NET code, allowing you to take any portion of the game's logic and insert or substitute your own. This gives you more flexibility and control than SMAPI helpers and events, at the cost of being typically more complex and difficult to use safely and correctly, and more likely to break with a future update of the game and/or SMAPI.
If you are trying to do something that isn't possible with SMAPI's public APIs, then Harmony is usually the solution. There is no documentation for Stardew Valley's internal logic, so before attempting anything with Harmony, you will want to decompile the game, find out where the logic you're concerned with is happening, and decide on what kind of patch is required. Postfixes (recommended) run after the target and tend to be the most reliable; prefixes run before; and transpilers can make any arbitrary changes in any location but must be written using CIL, AKA MSIL, the Intermediate Language that C# compiles to.
For more information, refer to the following:
- Intro/setup: Modder Guide - Harmony (Official Wiki)
- Types and examples of patches: Tutorial: Harmony Patching (Modding Wiki)
i worry that its too lengthy and some of the stuff could just be on the pages its linking to instead
esp since governor command embeds are like half the width of a normal message
inclined to agree
i like the first paragraph and the guide links but the middle paragraph is too technical
on my current monitor at a rough guess it'd push i think every other message in chat up out of view
I know why people might use comic sans but also this was a jumpscare
/lh
but hm, maybe it'd be good to introduce Prefix/Postfix/Transpiler in a quick bullet point form?
tbh i would just say keep the first paragraph and the last three lines
I have heard that uncountable time here lmao
- Postfix: Run code after the method
- Prefix: Run code before the method, can skip original method
- Transpiler: Change code within the method
"types and examples of patches: link" mostly covers the middle paragraph, yeah
maybe 
i dont think you even really need that if you ask me
the pages linked already would cover it
I think that the summaries aren't that necessary here because you have to go look at the links anyway
I tried a few different fonts but none of them worked for me cause I really struggle with seeing the difference between I i and l with basic fonts, as well as O and 0
the startmodding command doesnt explain bulleted point forms of CP patch types, for instance
yea true
comic sans just happened to be the one that worked really well with those 
I am going to screenshot the message for my own use though because it is well-written and useful for someone like me who doesn't know what Harmony is.
๐ญ I am typing slow rn, sorry if I repeat anyone's points
i guess we should link this too https://harmony.pardeike.net/articles/patching.html
repeating points is how to reach consensus
Hm, I'll try to edit. The main thing is, I really don't want that Modder Guide page to be the first thing people read after the short intro paragraph, because, and I'm saying this as gently as possible, the Modder Guide page is 90% unnecessarily repetitive warnings and 10% really useful information on "how to actually set up Harmony in a mod" which is the important thing.
it's got better since the time i learned harmony 
without that you have just one of each viewpoint and no discussion


