#making-mods-general
1 messages · Page 44 of 1
Maybe I should break that off my kitchen sink mod and just release that as a tiny mod
hm a hud customizer mod would be neat 
Call it "everything but the kitchen sink:
a fork off of nightshade?
get that i m m e r s i v e experiance
"colors only the hud"
does nightshade let you hide daytimemoneybox
i think it's just colordraw + toggle whether you want the hud to be included
nightshade does not let you toggle UI elements. the UI toggle is for whether to apply the color filter to the UI layer
full immersion, no hud, blueberry's sunsetting mod
and casey's crazy cat dream of stardew3d
doesn't seem so, but it looks like the author is updating it on the GitLab as of a couple days ago, so I guess you can clone it and build it yourself
Doesn't have the 1.6.9 quest fixes, sadly
Are we talking strict matching or loose matching? Serious question. Some feel that a path Foo/Bar/Baz is justified as having the namespace Foo.Bar.Baz, others will insist that the folders have to be Foo/Foo.Bar/Foo.Bar.Baz.
(Also referring to the situation where Foo, Bar and Baz are all assemblies/projects. I do the former, but I see a lot of the latter.)
Oh no, one of my transpilers broke
since 1.6.9 crushed my dreams i am now writing every single file necessary for an npc to 'exist' in a home for that template with the {{ModId}} standard (but i'm implementing ichor's use of dynamic token), since i kind of want my page to be the 'yeah i've played with content patcher i just want a plug and play'
how did 1.6.9 crush your dreams? what did i miss
oh
that's true, i have 3 folders now because i have the 1.6.9, 1.6.8 (my 'i wanna enjoy the game and not look at my own mods'), and then my debug folder 
for C# mods, you can change gamepath so that it build to correct place
my lazy ass just updates to the beta and revert back for 1.6.8 lol
I'm lucky my internet is fast enough to just use other people's hard drives as secondary storage
I just swap my Stardew Valley folder between the 1.6.9 install and 1.6.8 install and build whenever I have whichever one active that I'm modding for lol
im just not bothering to do any 1.6.9 modding until its like a week from release
(i'm not gonna worry about figuring out how to add in a damn table of contents to the .gg, i'mma just get all of them in and then figure it out later
)
updating for the update is a future me problem. sucks to be that guy!
Table of contents should automatically appear when you have enough headings, though you can force it to appear before then
__FORCETOC__
Had to figure out which of my gg pages I'd used that on
current atra happily knits a Halloween sock
oh it did not enjoy me swapping to source editing
I always do source, the other editor leaves a lot to be desired lol
that's fair
WYSI(n't always)WYG
I tested mine wiyh 1.6.9 enough to make sure it loaded if non updated framework components were removed. It did.
Also found an error with a duplicate light in my code
Have any of you guys switching between 1.6.8 and 1.6.9 run into weird issues with hot reload? I reverted back to 1.6.8 for some things and even after multiple clean solutions, rebuilds, etc., VS likes to complain every time I make a change and pause/resume that the assembly doesn't match (and specifically has a reference to 1.6.9 in there somewhere).
the s in Data/Characters 
I never got hot reload working
In any version, I eventually gave up and just do shit the caveman way
Oh, are you one of the VSCoders?
What about room temperature reload
It's too slow.
I'm on VS22, I don't know what the issue is
What's the acronym for the problem is me?
Strange. E&C worked for me right out of the gate, I didn't have any trouble until I messed with the game version.
I only know old memes but back in my day we called it PEBKAC.
(PEBKAC)
I've rarely had a problem with hot reload tbh, at any point
That's the one
Other than source fucking generators
Well, maybe GOG Galaxy has a funny way of handling the swap, although the game directory looks normal to me.
Since I've never got it to work, I have no idea what I'm missing, so I'm not in any major hurry to try to figure it out again
I feel like there's some cached assembly reference somewhere that VS just doesn't want to forget about. It debugs fine the first time, but freaks out on any attempt at E&C.
You're missing a lot, honestly... doing Stardew modding without hot reload sucks.
i get annoyed now whenever i realize i need to change a method signature bc it means i cant hot reload and have to relaunch once
Yeah, or whenever you change one single whitespace character in a generic class.
is hot reload a VS/Rider secret sauce? or is it some known incantation that i could theoretically do without having to change my dev environment
this is also why my dotnet template sets up empty onbuttonprpessed and ongamelaunched events for me so i dont forget and need to do that later too
Supposedly the C# toolkit for VSCode can do hot reload too.
i didnt need to do anything to make hot reload happen for me with Rider
No but it doesn't work on Linux until a later version of the runtime
My apologies
Microsoft considers you a second class citizen
Oh, Linux. Yeah, Linux is a second-class citizen for .NET.
interesting that y ou both chose the same words
it's a common refrain
no hard feelings. i don't have any nice considerations for microsoft, so it's only fair
For the most part, dev tools are the one thing that Microsoft has consistently remained competent at over the years.
(despite their half-hearted efforts when it comes to Linux, that is)
Would be sweet though, even .NET 7 would be nice. I keep bumping against the limitations of 6.
dotnet watch should work
From the command line
I used that for a while when my hot reloading wasn't working properly
Only problem is you can't use your IDE's debugger then
thanks casey! worth a try, anyhow
We can't update past .NET 6, because that would mean dropping support for players with older systems we still support.
Hi!
I was thinking of updating my mod, The Museum Pays, to have a scaling feature as a config option but I'm not sure how to go about this since the mail that is sent has config tokens based on the set reward amount; would I basically have to rewrite the code entirely making all letters separate?
"Reward Amount": {
"AllowValues": "1000, 5000, 10000",
"AllowBlank": false,
"Default": "1000",
"Description": "Changes the amount you will receive for every 10 donations."
}
},
"Changes": [
{
"Action": "EditData",
"Target": "Data/Mail",
"Entries":
{
"Museum_Reward_Mail_1": "{{i18n:Mail.MuseumReward.1}} %item money {{Reward Amount}} %%[#]{{i18n:MailName.MuseumReward.1}}",
"Museum_Reward_Mail_2": "{{i18n:Mail.MuseumReward.12}} %item money {{Reward Amount}} %%[#]{{i18n:MailName.MuseumReward.2}}",
"Museum_Reward_Mail_3": "{{i18n:Mail.MuseumReward.3}} %item money {{Reward Amount}} %%[#]{{i18n:MailName.MuseumReward.3}}",
"Museum_Reward_Mail_4": "{{i18n:Mail.MuseumReward.4}} %item money {{Reward Amount}} %%[#]{{i18n:MailName.MuseumReward.4}}",
"Museum_Reward_Mail_5": "{{i18n:Mail.MuseumReward.5}} %item money {{Reward Amount}} %%[#]{{i18n:MailName.MuseumReward.5}}",
"Museum_Reward_Mail_6": "{{i18n:Mail.MuseumReward.6}} %item money {{Reward Amount}} %%[#]{{i18n:MailName.MuseumReward.6}}",
"Museum_Reward_Mail_7": "{{i18n:Mail.MuseumReward.7}} %item money {{Reward Amount}} %%[#]{{i18n:MailName.MuseumReward.7}}",
"Museum_Reward_Mail_8": "{{i18n:Mail.MuseumReward.8}} %item money {{Reward Amount}} %%[#]{{i18n:MailName.MuseumReward.8}}",
"Museum_Reward_Mail_9": "{{i18n:Mail.MuseumReward.9}} %item money {{Reward Amount}} %%[#]{{i18n:MailName.MuseumReward.9}}"
}
},```
Basically how it's set up now.
you can probably use Query operations to multiply your reward amount by a configurable value
Query tokens i mean with math operations inside them
Would I have to separate the entries?
no, just replace your {{Reward Amount}} tokens with query tokens that have the reward amount token inside them
actually i might be confusing how query token math works
im not sure anymore
oh no it should be fine
{{Query: {{Reward Amount}} * {{ScalingConfig}}}}
obv you'd need to add the scalingconfig to your config schema
hello! good aftiiee! is there a mod that makes the bus operable even if pam isnt there? she walks slow...
that would be a question for #modded-stardew (but also Button's Extra Books has a book for that)
thank you! 
I must have a mod for that because I certainly don't have to wait for Pam but I don't have Button's Extra Books either
some days she also just lets you drive on your own in vanilla too
is it self serve
does self serve do the bus too? i thought that was just for s hops but ive never used it
oh nope not self serve, i just looked at it
i thought the same too. will give it a try rn
Err... you folks know warp totems exist, right? That's like minmax 101.
Sometimes I like to pay some money to go to the desert instead of cheating all the time haha
I've never actually crafted a warp totem, I don't think
You don't craft them, you trade for them.
I mean, you can craft them, but hardly anyone does. They're 3 OGs, a single skull dive gets you enough for like 20-30 of them.
If you just enjoy doing the bus thing then that's cool. But then modding the bus because Pam is too slow gets a bit silly...
Why?
Because why would you mod in a mechanic to make something easier when the game already gives you a way?
(and a much more convenient way at that)
Because this way it takes me zero effort instead of effort I don't want to spend?
Part of my kitchen sink mod just makes it so you can drive yourself, you still have to pay
What effort??
(pay for the gas, drive yourself)
i dont bother with totems because i dont feel like going to the trader
Pam gets the day off, I get to go to the desert whenever I want, win win
ok so the button's extra books are very convenient. im trying to figure out how i can mak the bus stay (so that i can return to the valley later on) after arriving at a custom map.
currently, the bus can get me to MapX but bus doesnt really show when i arrive at said map and doesnt stay (unlike at calico).
That's weird, Pam or you should be there
So the effort of actually... playing the game.
I just want to play different parts of the game that you do, focustense
i dont care about minmaxing my gameplay. i like taking the bus
I just hate having things in my inventory
I do arrive at the custom map but the bus isnt there.
so theres no way of returning to the valley
unlesss i use a warp
Are you using the Bus Locations mod?
yes
(oh, well that answers my about-to-ask "how did you even get the bus somewhere custom in the first place?" question
)
I'm pretty sure the bus doesn't stay when it takes me to Downtown Zuzu - I don't think that's something that Bus Locations does.
(nice work on PH foodies btw
)
God I hate this "unofficial" release of this mod
does DTZ just give you like a normal warp at the edge of the map to walk into to get back to stardew valley?
Dude doesn't even link back to the original and provides no fucking documentation on this page or a link to anything
hmm :< well, i guess selling a warp for free will do as compensation XD
aww thank you so much!
you can just add a normal map warp point
return home here sign xd
Doesn't even have to use minecarts, just has to be a spot you can interact with
true. you dont even need to make it look like a minecart
could just put the actual bus sprite there
Build your own bus, with blackjack
i mean my "minecart" is gonna be a boat
thats back to the desert at the casino we're talkin about a custom location here smh
Humm I don't know because I also use Walk to the Desert (Redux) so I can walk back to Pelican Town but it takes a while. Don't know what happens without it. There's a train station that takes you back to the railroad though.
(/j)
ooooohhh but what about the animation of 'driving' awayy
Nah, it's just fade to black
okehh amma go make it now xd pam doesnt want to work overtime 
if its not possible with just cp, i can do the warp point u guys mentioned earlier 
Is it just me or is it also missing any information about whether they had permission to release it? They don't say that they wrote their own version but Hootless's permissions say permission is needed for modification.
the minecart network bus thing is 100% possible
you just wont be able to make the bus move
Doesn't help that there's an unofficial fix of an unofficial fix for BL
Oh they absolutely don't have permission
But Nexus being what it is, unless the original author reports it, they'll basically do nothing about it
oh yeah wait! speaking of, theres like 2 (afaik) updates on the BL. the one in nexus and one from github.
Same guy
Leaving it on github would have been fine, technically, linked as an unofficial update on the forums
comradesean and LyzzCL?
Xytronix and comradesean are the same?
(LyzzCL is another person who did a controller fix, I think)
I thought comrade was a contributor on that git
yes its the one im currently using as dependency
The only bright side I can say is they're not earning DP from the mod so it's kind of whatever
THe xytronix one appears to me to be an update of the comradesean one which was an update to the original
The xytronix one links the comradesean one which is a fork of the original
Jesus
this game of telephone is kinda funny
Avi here is your calling
HUH
the original author is still active on nexus and has gotten comments about and from the unofficial update makers, so, they might just not care
Make a new, completely separate 1.6 compatible bus locations clone (clone in the sense of idea, not code)
i wonder if its ok for me to link the one from lyzz? hers have the one with controller support (which is what i play with the most).
oh god i don't know if i even wanna bother with that one
I'm not gonna lie, even looking at the original I had the thought "could I do this better?"
There's some concerning known issues in the first paragraph lol
yes, along with xytronix and others
but idk
Huh, so they are. Maybe comradesean and/or xytronix and/or LyzzCL do have permission that they have just not advertised.
i just saw it in the contirbutors tab
Of which repo?
Either way, without being the original author, Nexus is unlikely to do anything about it. That's a level of investigation I'm sure they aren't willing to foot the bill for
a fork from xytro
oh no minecarts has a custom field
It's different if the author reports it and says they aren't allowed
is it possible to add custom properties to a tile type in Tiled? I'm trying to add Type Wood to a tile of some planks, so it makes the wood sound when walking over them, but every time I try, the Add Property portion of Custom Properties is greyed out
I think you have to edit the tileset
yeah, the whole thing is kinda blur to me but I might as well message the original auth of BL if they're fine with it?
So basically Nexus permissions should just say "if the author stops updating, do what you want with all of it because unless the author complains it's free real estate"
Back Type <str type>
Sets the tile type for various game logic (e.g., step sounds or planting crops), where <type> is one of Dirt, Stone, Grass, or Wood.
why the whitespace, why are you like this
Basically, but I'm sure they don't want to just advertise that bad will freely
ah, that was it! I didn't know I could edit the tileset that way, I was trying to do it from the map itself. thank you!
i mean, thats true for copyright in all cases
if the author never notices or bothers, then you can do what you want
can, not should
As far as Nexus is concerned, it's more money for them either way
Why would they willingly put a damper on something earning them money
Good to know it's never worth reporting stuff for permissions violations then
To be fair, they do say they "might" not do anything about it
you cant file a DMCA claim on someone elses behalf elsewhere either, its not really different in nexus's case
So you know, it also can't hurt unless your finger is injured or something
has the orginal BL (feels wrong to acronym it this way but) author posted anything about updating their mod? or related?
I don't think so, kinda feels like they just Homer'd into the bushes
no, its just known that theyve logged into nexus recently

It is just the way of things, people only have so much time and energy to devote to something they do for free
im just gonna go ahead and messaged them just incase xddd
me, getting random inboxes because i turned off comments: 
That's wild lmao
welp, is it worth it now
Oh lol, I didn't even bother looking since they didn't link it and their permissions were so strict
they even merged in Xytronix's fix for 1.6
this is why it pays not to jump to worst conclusions!
Argh! I knew that comradesean had forked it but I was still like "hmm I wonder how comradesean even got access to their code when there's no source anywhere". I am an idiot 
(Would still be less confusing if their Nexus permissions didn't completely contradict their licence on the github haha)
from a quick search bc i thought the same, supposedly older nexus had much more restrictive default permissions
so, they probably just didnt realize
since their repo has been MIT for the last 5 years
Oh yeah, I could see that
Ah, interesting. Thanks for your excellent research, Button!
If they ever change the permissions, someone would have to mention it because I'm sure not about to go look at mine again
So is...LyzzCL's technically the best version then?
(either more restrictive permissions by default or just straight up none on the site, so when they added the permissions feature i guess nexus (rightly, id say) gave every mod restrictive ones)
from a code standpoint and assuming their bug fix actually works, then yeah, probably
Xytronix's has worked fine for me but I don't use controller
"Fixed controller and pause menu issues triggering dialogue action when they shouldn't and properly checking if its a passive festival day or pam is on hospital"
depends how important that last bit about checking festivals or hospital visits is to you then
Hmm
That rabbit hole aside, I don't see anything about BL adding a bus to return, so maybe that could be something to iterate on the idea with
u planning on making one? xd kekw
Probably not any time soon, but it is kind of interesting
if bluebs teaches me how to do those sweet animations, maybe
is Solid Foundations still required to add custom buildings, or is Content Patcher able to do that on its own now?
CP should be able to do that on its own
Oh yeah, I added buildings when I was screwing around with that robin position mod lol
dont forget to @me when u do be! xd
would you mind if I looked at your mod so I can see how it works?
You may not be able to make your own bus move, but if your location context is set to somewhere else you will get hte bus animation when moving from your map into the Bus Stop map - I use it for East Scarp.
You'll probably want to find someone who made a real building, I just made a copy of a silo for bare bones testing where robin stands
It's a pity the bus isn't part of the minecart network coding.
Probably too late to request it added in 1.6.9
does it show you or Pam in the driver seat when you do this (assuming Pam is capable of driving that day)?
I've never looked
and assuming you asked Pam to drive you to the custom place in the first place, since I think that'd be the case for nova's mod
i know if you go to the desert yourself in vanilla and come back its you in the driver seat but i dont recall if a flag is set or somethin when you leave via pam
https://stardewvalleywiki.com/Modding:Blueprint_data
Building data is on this page, you can also crack open Data/Buildings
thank you :D I went to look up some greenhouse mods, but they seem to either be 1.5-era mods (thus requiring Solid Foundation and therefore not what I'm looking for) or reusing the vanilla greenhouse map for their interiors and only coming in one size, so this should be an adventure to get started
I think we asked all the way back during alpha and pathos said out of scope
since in vanilla the bus isn't a network at all
as far as i know that is the only way to do that. that said i dont know infinitely far
If you want it to be recolorable you have to load it into Maps yourself, but there's no other way to include it without it being part of your mod/loaded by your mod
Yes, as far as I'm aware you do have to include a copy of it inside your mod (but to help with recolour compat you can at least Load it into the game).
If you load it into Maps, it'll be recolorable, but people will have to intentionally recolor your loaded tilesheet as well as whatever they are normally recoloring
i wonder if "Action": "Copy" is something thatd be either feasible or wanted (by pathos) in content patcher for stuff like that
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/action-load.md
Load is how you include various things in the contents of the game
(for copying from one asset name to another i mean)
Have you written any of the json to put your map itself into the game yet?
It can also be used to wholly overwrite content, but that should be avoided if possible
Okay, you know how you have a code block that's like this? It's like this but for tilesheets :)
{
"LogName": "Load my map",
"Action": "Load",
"Target": "Maps/{{ModID}}_mymap",
"FromFile": "assets/maps/mymap.tmx"
},
I can see it potentially getting complicated: if A copies B copies C copies A...
i was thinking it'd be like Load in that whatever your copying into wouldnt exist until you did it, so if A copied B but B hasnt created it yet, then that would just cause an error, which could then maybe be solved by setting priority? iunno
somethin would have to try and copy something else first that would fail if it was a circular loop like that
though that d oesnt solve the problem of A copying B copying C, which would be fine, but then a "When" condition on C later making it copy A... thats an infinite loop, i think. boo
Yeah, I also would like that haha. I hesitate to use vanilla tilesheets that aren't in Maps because of it.
i guess it would probably just be easier to make a like "tilesheet overrides" mod that lets maps grab tilesheets from other places but wheres the fun if you cant create an infinite loop that crashes your game
i could probably... figure out some kind of drawspritebatch that i could shove into the customfield of minecarts.................. but how much work would that be
i dont know what you mean
i've been staring at
the draw(SpriteBatch spriteBatch) in the locations.busstop
basically just taking the bus animation, and that one frame of the farmer being in front of the door to go into the bus, and then the drive off
I don't see where I've got a non-existant file
Screenshot of the file in the folder?
Pretty sure your FromFile is wrong
Also the texture of the building won't be a png, you should Load that png and use the loaded asset
(is the interiormapname supposed to be the file name of the tmx?)
also yeah your fromfile is wrong
You've said that your folder structure inside your mod folder is this "Mods/RiftstalkerSekun.BuildableGreenhouses/assets/MassiveGreenhouse"
and load the png instead of the tmx?
Separate issues
Focus on the tmx for now
Just know you'll have to fix the texture next
Which is clearly incorrect, because that folder right there just says "assets" instead of "Mods"
Remember, "FromFile" is the path for the physical file that is inside your mod folder.
FromFile is a path to the file you're trying to Load ending with the file you're loading and the type
...I read my own examples from previous mods wrong x.x
im still confused about what InteriorMapName is too, that does not seem to be a field at all in BuildingData?
it should be "FromFile" something like "data/buildings", not like what I did, which would be more suitable for Action: Load formatting
Yeah no, there's IndoorMap
which would also not be the file name of the tmx like that with the extension
the example I was looking at had that field in it, so I added it in thinking they were onto something that I wasn't seeing
i am curious about the example bc that field just straight up does not exist in the games code
It should be something like "FromFile": "assets/buildings/massivegreenhouse.tmx" assuming you have a folder in assets named buildings with the tmx inside it
Where's the example from?
? We are referring to your "Action": "Load" code block when we say the "FromFIle" is incorrect. And no, "FromFile" should not include things like "data/buildings" unless you have, for some reason, set your own mod folder up very strangely.
if their previous mod they mentioned has a data/ folder thats what they would do
https://www.nexusmods.com/stardewvalley/mods/21778?tab=files&file_id=95355 this is what I was using as an example because it's one of the few that was posted post-1.6
some people put their assets in a folder called data instead of assets
Well their screenshot shows they have assets
Yeah
my most recent one has assets, yes
So even if they have data in that, it would still be assets/data/buildings/massivegreenhouse.tmx
(i mightve been misinterpreting what aba said as an "in general" thing, my bad if that wasnt the intended case)
Sorry, no, I was meaning Sekundes' specific situation rather than trying to make a general statement.
this example you linked also doesnt have InteriorMapName
its not important though i was just curious where you got it from, but you should remove it
this is my file formatting so far, only MassiveGreenhouse has anything in it, the other folders are planned, but currently empty while I work on getting the massive greenhouse functional
So "FromFile": "assets/MassiveGreenhouse/massivegreenhouse.tmx"
peeling off everything else down to the assets/yaddayadda, yeah, seems to be the way to go
Yeah I also can't find any reference to InteriorMapName in the entire wiki either.
re: the Texture thing roku mentioned too, in general very very few things aside from Content Patcher Load actions will ever need you to use a file path, it will in most cases be an asset name (so, not necessarily matching your mod folder and not having the extension)
Yes and that will always be the case because you need to correctly tell CP where to actually find the files to use to Load into the game etc. Your "FromFile" always needs to be accurate for your own mod folder setup.
https://smapi.io/json/none/804221fa95a04b5499043247c8d9ed21 wrong mod I was looking off of, I found the example that has it
this mod also has a lot of C# stuff in it, though, so maybe they defined it in the .dll and I'm just bumbling around?
There's a few fields on here that aren't a thing
Is it just a content pack for a framework?
That's unhinged
i say presumably but theres nothing else that would do it for them, but i havent decompiled it, so idk
so like 99% yes
all .jsons aren't CP or JA compatible?
it is apparently itself a framework
Oh Stardew Realty really changes how the farm works, if my quick skim is correct
The format is important for how they're used as well as the manifest included
ah. good to know, then. I'll stop looking off that mod with the C# stuff
Which is why the wiki has so many specific fields on their pages
Deeefinitely not a good idea to look at Stardew Realty for anything unless you're specifically trying to make a content pack for it
Obviously the wiki isn't foolproof, it doesn't have literally everything yet, but chances are good if it's not on the wiki then it's most likely not part of CP
all jsons will share the same syntax and formatting requirements for things like braces, commas, quotes, etc. json is a standard format. but its the data inside the json that is specific to whatever is reading it
yeeeeeah. love the mod, but it's not helping me here with my current task
i would double check that whatever you have in your json now is stuff that actually exists in stuff that goes in Data/Buildings
I'm planning to
the other stuff in the json IS stuff that actually exists in Data/Buildings, so that's good, at least
PROGRESS!
https://smapi.io/log/019d3a6cfae649398eb15f60a8def5a5
oooooh the game did not like it when I tried to force it to build things. it stuttered like I was on the very bottom of Skull Cavern
Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on Microsoft Windows 10 Home, with 28 C# mods and 29 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
Looks like your json is funky again because the game is trying to load "Content\Maps/Mods/RiftstalkerSekun.BuildableGreenhouses/assets/MassiveGreenhouse/massivegreenhouse.tmx.xnb"
where in the bugger did a .xnb file come from??
it would be easier to diagnose if you posted your json with your log
Content Patcher turns your stuff into .xnb files because that's the format the game needs.
https://smapi.io/json/none/8a3a88aa14964bdc861c60e085c64a0d here's the building.json
you are still putting file names and extensions in your things that are not Load actions
the Texture and IndoorMap will be the same as the Target of your Load actions that load the png and tmx respectively
....Load is for Objects, isn't it? not buildings
no
Load is for assets
any asset
as said earlier, very very few things will ever need a file path/file extension like that outside of a content patcher Load action. this is not one of those things
then isn't the .png of the outside of the building an asset? or am I understanding it wrong?
Load is used to add a file (like a png) to the content pipeline (the packed Contents/xnb's) as an asset that the game can use
the png is a file on your computer
you use Load to add it to the game, at which point the game finds it when searching for whatever you wrote as your Target
the game does not look at the files in your mod folder outside of specific circumstances that do not apply here
Load is used for any png, json, tmx/tbin, or... theres one more im forgetting i think. wav/ogg maybe
it doesnt matter whether the file you are Loading is used for an Object or a Building or anything else
for example, you can Load your massivegreenhouse.png into an asset named MassiveGreenhouse (obviously you want more unique names).
SDV doesn't know massivegreenhouse.png exists, however, it will know MassiveGreenhouse exists if you loaded it. The asset's basically how you make files available to SDV
and in your building definition you set "Texture": "MassiveGreenhouse"
same with the map
to reduce a bit of confusion here, dont confuse your assets with an asset name
you have files in your mod folder that are called assets, yes, but you load them into asset names, which are just names you make up for the game to use
(I do plan on renaming them once I've got things working. I just want to get everything working properly before I get creative with the names)
(apparently not wav/ogg it was .xnb i was missing)
Yeah, the sound stuff is one of those cases that is annoyingly the opposite
yeah, Data/AudioChanges is something that requires filepaths but i fsr thought you could load one with Load too, but i couldnt think of any field that used them. turns out its cause there isnt one i guess lmao
(any field thatd use one the same way you'd use an asset name, anyway)
well, it puts the proper png for the greenhouse exterior now, though I think it's still trying to make a .tmx.xnb when I build the greenhouse because it's still stuttering like crazy and throwing SMAPI errors like crazy
did you fix it for IndoorMap too?
there should not be any file extensions anywhere in your buildings.json
only asset names
I did, yes
I linked the old one from my VS, it's done right in the actual file
I, uh, did the lazy thing of swapping into the main testing file first, then updating the files chilling in VS afterwards to save the VS version as a potential backup in case I messed things up worse
Did you read the errors to find out what it's doing?
are you 100% sure the right file is saved in your mods folder then?
yes, I am
https://smapi.io/log/b8deeb92117c457cb2f48369f8e2aa0d
I did, it's the same error as last time I posted my error log
Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on Microsoft Windows 10 Home, with 28 C# mods and 29 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
No it's not the same error. It's looking for a map called MassiveGreenhouse_Interior and not finding it.
ah, okay, IndoorMap is one of those ones that adds "Maps\" at the start when it loads it
so you need to make sure the tmx is actually loaded into Maps\MassiveGreenhouse_Interior
and then just write MassiveGreenhouse_Interior in IndoorMap still
just to make sure, is it "Maps\" or "Maps/"?
hi guys, I wonder if someone can pinpoint why this ambient sound is not playing in my custom location: {
"LogName": "Add Interior",
"Action": "EditData",
"Target": "Data/Locations",
"Entries": {
"bb.WorkshopInterior": {
"DisplayName": "{{i18n: birdb.WorkshopName}}",
"ExcludeFromNpcPathfinding": "true",
"CreateOnLoad": {
"MapPath": "Maps/bb.WorkshopInterior"
},
"Music": [],
"MusicDefault": "cracklingFire",
"MusicContext": "Default"
}
}
},
sounds good! I know sometimes slashes matter, which is why I wanted to double check
thankfully SMAPI (and possibly CP itself too, dunno) normalizes slashes and stuff for us
iirc it's Data/LocationContexts that handles music
LocationContexts is for differentiating between default, island, and desert locations
(or mod-added contexts)
"SeasonOverride": "Summer",
"DefaultMusic": "IslandMusic",
"DefaultMusicCondition": "PLAYER_HAS_MAIL Any Island_FirstParrot",
"DefaultMusicDelayOneScreen": false,
"Music": [],
"DayAmbience": "tropical_island_day_ambient",
"NightAmbience": "spring_night_ambient",
"PlayRandomAmbientSounds": false,```
╮( ̄▽ ̄"")╭
that sets values for location contexts as a whole, specific locations can have specific music too i.e. Hospital which has a MusicDefault of distantBanjo
this is from vanilla: "ExcludeFromNpcPathfinding": false,
"CreateOnLoad": {
"MapPath": "Maps\ElliottHouse",
"Type": null,
"AlwaysActive": false
},
"FormerLocationNames": [],
"CanPlantHere": null,
"CanHaveGreenRainSpawns": true,
"ArtifactSpots": [],
"FishAreas": {},
"Fish": [],
"Forage": [],
"MinDailyWeeds": 2,
"MaxDailyWeeds": 5,
"FirstDayWeedMultiplier": 15,
"MinDailyForageSpawn": 1,
"MaxDailyForageSpawn": 4,
"MaxSpawnedForageAtOnce": 6,
"ChanceForClay": 0.03,
"Music": [],
"MusicDefault": "communityCenter",
"MusicContext": "Default",
So here the music is set in Locations?
that said i dont know enough to immediately know why the music might not play. no errors in the log im assuming?
no errors
well, it builds and it doesn't make SMAPI cry in pain anymore, so that's good progress. now I just need to find out why it's not letting me in, which is probably related to the player door property somewhere
I have added other custom music to different maps but not this ambient crackling fire in particular. I have used for example babblingbrook on a map by editing Location data
just to be sure... you have your Ambient volume turned up, right? not the Music one?
Yes I have
hmm
I have tested both. It still plays the music from outside even when you get inside
But no fire sound at all on either track
i only have the musicdefault in my data/location, so could that just be the highest priority?
and because that's empty, it's not playing anything
nevermind it says it should default to MusicDefault
MusicDefault is also already what birdb has filled in anyway
honestly i don't know unless you copied from a vanilla and it had the music map property... but i don't think any of them have that anymore
you mean property in the map file itself?
yeah but that's the fallback to everything
is it hidden property? i think i would have seen it?
the map property gets checked after MusicDefault anyway
it's visible like the warps, i just checked something random and there isn't a music property--so that's not it
why is my mappath backwards slashes
does the music play birdb if you set it to music that isnt ambient?
the last part with having it load to Maps/ fixed it, you guys are geniuses. especially Button, thank you for holding my hand. I know it has to get old eventually
as long as people are willing to learn and actually trying, i enjoy helping, so it doesnt get old at all! please do not worry about that 
i do wonder if internally because it's an ambient that it doesn't work but then... why does elliott's house have an ambient 
yeah, i mostly just wanna see if its bc its ambient (but it shouldnt be) or some other cause preventing any sort of music change
is it an indoor location?
and do you have any other mods that might be affecting music whatsoever?
its indoor location. I dont think so since I have tested this with other locations (PIF)
is this a PIF location too?
no this is a custom building this time
i wonder should i mark this location as shed?
as in "IndoorMapType": "StardewValley.Shed",
oh a building
it shouldnt matter for music, but beyond that i dont know enough about buildings to know if you should do that or not, so iunno
ah okay. yeah im at lost too
can you just put the music inside the Music list instead of MusicDefault? since the music list is checked first
I can try. its just that vanilla indoor locations dont do that
data/buildings doesn't have music context
"Music": [
{
"Track": "cracklingFire",
}
]
the vanilla locations might not have it for legacy reasons
im targetting data/locations
just making sure, you just mean you're making a custom interior?
I have a building that has custom interior
but the music is located in data/locations in vanilla files
so thats why my music is there too
Data/Locations doesnt have locations for e.g. "Coop" though which is where a Coop building (for example) takes you, so i dont think its actually taking you to the location then?
if you debug warp to your location instead, does the music play?
yeah i'm just making sure you didn't make a data/buildings, cause that does have it's own separate instance of an "indoormap" that isn't correlated to a data/location
im not sure what you mean 😅 my building is working and the map inside is working. it's just the music that is the problem
are you adding anything to Data/Buildings? anything at all?
you have to create the building in data/buildings. otherwise you can't have a custom building
right. but that building will not take you t o your location bb.WorkshopInterior
in that case, in your tmx, make the map property Music
it will take you to a map that has the same map as whatever .tmx you set for your location, but its not that location
it is its own little map world place
and that also means you should not have anything in Data/Locations at all
and should do what Avi says which is add the music to the map itself
that was honestly what i was thinking of the entire time, "it's gotta be two instances of the map, isn't it"
(it says its deprecated and to use Data/Locations but again in this case you do not have a Data/Locations (or wont once you delete it that is) so you do need this)
i'm sorry im still confused why the building will not warp to location? is it impossible to have building warp into custom location?
its just how buildings work
they create their own little pocket dimension
which is different from a Location from Data/Locations
this is why going into two different coops doesnt take you to the same map
i'm back to fixing up the last bit of my mod!! im a bit confused of the HasFlag thing. i want to add a warp to the map once the flag is fulfilled (by any players), but this isn't doing anything. did i write it wrong?
other buildings in the world, like elliots house or the hospital, are not from Data/Buildings
Data/Buildings is just for the ones you can have robin/the wizard construct for you, that type of building
you can just do ccBoilerRoom
so why do for example https://www.nexusmods.com/stardewvalley/mods/28031 and https://www.nexusmods.com/stardewvalley/mods/24813 have custom locations?
...before I try to reinvent the wheel, is it possible to call on the game's existing exterior Greenhouse.png and have it use that as the default model for my modded buildable ones? that way, it should be compatible with people who use reskins for their buildings, AND I'll be certain that whatever happens, it'll match the vanilla style for everyone else who doesn't use reskins
would it apply to everyone in multiplayer though?
flags are... host implemented iirc?
I think I know this one! you want it to be PLAYER_HAS_MAIL Any ccBoilerRoom
that's a GSQ. you cant put one in a When field (i've tried this and has been corrected for it)
"{{HasFlag: anyPlayer}}": ccBoilerRoom"
oh i think i've tried that but it didnt work (?). lemme test again
aww... well, at least you know what it's not
truthfully, i dont know. i would think they shouldnt need it, but perhaps they thought they did?
remove the outer braces
i wonder why those for mentioned mods then have custom locations if they don't do anything to buildable buildings 🤔
ah no wonder that did not work haha
oh y'know, i just yeeted the cp docs
you CAN make a building use a Data/Locations entry, but
it will make every building of that type lead to that same location
and neither of those mods have that turned on anyway
so those mod makers didn't actually use the locations they created?
I think the explanation of target player is formatted for when the token is inside a value, not when it's being used as a key.
im like 75% sure that if they removed their Data/Locations entries the mods would still work
"HasFlag: anyPlayer": "ccBoilerRoom" is how you format it for When conditions
bc thats when tokens are used as keys
but it works the same, just take out the outer braces
should do unless ive gotten things completely wrong, but the quickest way to know for sure is to test it
Yes, I know. I was explaining to Avi that was why I thought her initial suggestion was not quite right even though she'd taken it from the CP docs. Sorry I wasn't clearer about that lol
oh i also misunderstood until just now what avi meant by yeeted lol that didnt help
i tested it so you got it right 👍 i was following those mod makers as example so i thought they had locations for a reason
yeah it just has this
i thought yeeted as in "didnt look at" and thus then you were explaining that the tokens dont work like whne formatted as a key
not yeeted as in "took it from the docs and yeeted it into here"
and brain is empty from thinking of monsters
Yeah. I had just been looking at that as well and going "hmm I think that's not going to work in a key, let me search for "when" to see how other tokens look"
very possible that they were just doing the same as you and learning from someone else who also did the same thing and didnt realize it was unneeded tbh. but at least you know now! and can add the music properly
(i just got an idea bc my cat hopped up on my lap, a cat runs away from you but you can pet it)
Like me when I didn't realise you only needed double backslashes for asset names if they were inside forward-slash delimited strings so I was just copying wherever I saw other people put them.
Nooo cats are running because they don't want touchy!
me, forgetting where any of those forward delimits are 
tbh i dont know where you'd find the reason for that on the wiki anyway since thats a json thing and not a modding thing
so i dont blame you
thanks for explaining it to me! it was a confusing concept 😄
maybe one day people will also realize you dont need to put a slash before quotes if you just wrap things in single quotes instead too
(at the expense of having to put slashes before single quotes instead ofc)
yknow, i should really read json syntax
(json syntax will tell you what i just said is wrong so be careful)
Are these single quotes produced differently to pressing the apostrophe button on the keyboard?
(thats because it is wrong for json syntax. luckily the json parser SMAPI uses does not use standard json syntax
)
nope
So not a good idea to wrap dialogue with single quotes then lol
yeah definitely not good for dialogue
but very helpful for GSQs and actions
where you need to quote things
i'd still have to do \"{{i18ntoken}}\" or would it take '{{i18ntoken}}' in regards to events
'ANY "WEATHER bla bla" "DAY bla bla"' instead of "ANY \"WEATHER bla bla\" \"DAY bla bla\""
oh yeah that'd help me parse my chaos tbh
I actually quite like the slashes
I find it easier to read
For the GSQ situation at least
you say that til you get a sufficiently long ANY chain where each of those GSQs has comma separation in them
i dont know what you do if you need to quote something inside a GSQ inside an ANY though
but tbf thats the same problem whether you use single or double quotes i think
This one is quite comfortable for me
"ANY \"LOCATION_NAME Here BathHouse_Pool\" \"LOCATION_NAME Here BathHouse_MensLocker\" \"LOCATION_NAME Here BathHouse_WomensLocker\" \"LOCATION_NAME Here Beach, WEATHER Here Sun Wind, SEASON Summer\" \"IS_EVENT festival_summer5, {{HasMod|contains=spacechase0.SurfingFestival}}\""
oh i have no idea if it'd break my gsq actually:
"ITEM_ID Target Lance, ITEM_STACK Target 1 10, ANY \"PLAYER_HAS_MAIL Current {{ModId}}_10HeartOKAY received\" \"PLAYER_HAS_MAIL Current {{ModId}}_10HeartPEOPLE received\" \"PLAYER_HAS_MAIL Current {{ModId}}_10HeartDOCTOR received\", PLAYER_HAS_SEEN_EVENT Current LERealization"
i find that appalling to my eyes /lh
that one looks like itd be just fine with single quotes
i'll keep that in mind for my endeavors of chaos
I easily lose my place in larger chunks of single-line code so having the slashes makes it easier for me to chunk it so I am less likely to get lost.
Same reason I was over the moon about multi-lining events
doesnt the same thing that allows multi-line events just allow multi-lining anything you want, then? so GSQs included
So is there a way to see why a patch isnt applying
patch summary in your console
The patch summary?
yes, doing a patch summary modid
ive done a patch summary and its not telling me the why just that its not
remember you can then share the log if you don't see what's wrong
ill share
usually it's something like a typo
fresh eyes are also good, for me it was because my dynamic token wasn't initialized 
Log Info: SMAPI 4.1.0-beta.2 with SDV 1.6.9 'beta' build 24271 on Microsoft Windows 11 Home, with 25 C# mods and 7 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
which mod is yours?
I have not written any GSQs hefty enough that it's been necessary in my own stuff but maybe I could have multi-line GSQs as well 
oh at the top i see it
Yee! im strugging getting buffs to apply
can you share the relevant json too?
asset not requested then
whats that mean?
that you did something wrong
thats not exactly a helpful response
Asset not requested just means that the game hasn't tried to access that asset yet, doesn't it?
which one?
yeah its not doin my buffs include i see it
Or rather that it hasn't requested it. It might have tried and not been able to, I suppose.
includes are never applied, what is in the include may be
Though they are not, in this case
its my data/buffs ones i dont know why though
airyn released a buff mod recently
Oh lol I wondered why there were four instances of "Buffs #1" etc. Four patch summaries.
you can compare to his and see if you spot a difference
are you equipping one of the rings that should give a buff? maybe a good medium step is trying to have a buff in a food and see if it works then
asset not requested usually means that either you have a typo (like, shedshop instead of seedshop) and so it can never request it because nothing in the game ask for it, or you haven't loaded the content yet
(like you didn't speak to a npc)
(it's really easier to give helpful responses with like, full context, but i know clown is often worried about having encountered a vanilla bug so my purpose is to narrow the scope)
I have equipped the ring, and its not a vanilla bug i ruled that out recently. the weirdest thing is it was working before i switched to the public beta
verify you aren't editing files of another version just in case
(i'm not sure which public beta is in question here)
the one posted in this server
The game the public beta that pathos posted
I verified the files and tried again and its still not applying my buffs
ok, so possibly something changed in the beta about buffs or rings or spacecore needs a new version, so i suggest returning to current version, see if it works
then if it works, but not on beta, test buffs on a food on the beta to see if it's a buff problem or a ring problem
and let us know of useful informations like "it works on main but not beta" at the start because it's important
So I did some more testing, and it looks like its a ring issue. when I put it as a object and I hold the object, like say cheese. The buff applies but when its a ring it does not apply
which framework do you use for the ring to add the debuff?
I was able to figure it out on my own! :D I needed to use SourceRect, which I can only assume means Source Rectangle for pinpointing locations on the vanilla sheets
SpaceCore (per the json shared earlier)
did he test other clothing items?
Ill do that right now
work with clothes and hats too
Rings are (O) right? like how a shirt is (S)
Yup looks like it
(R)
(Weren't rings (O) ?)
Is everything listed in Objects.json an (O)?
I think they are yeah, (R) doesnt seem to work either too
yep! its all objects
Well, that's where the ring data is
this is my ring data
or one of them theyre all set up the same so if i did it wrong i can fix it
Im wrong it is (O) 
Did you try doing your keys for the WearableData without the qualifier?
(I know nothing about this and am just throwing out ideas)
maybe casey just forgot rings 
i thought it was working on a previous version
If Casey forgot rings itd never work instead of just now?
It was in a version that me and casey were debugging, I asked if she had put it in the new version she gave me and she said she did
but maybe not, ill let her know I just hate bothering her so much ^^;
hey so, this worked! i can finally release the mod! :D
time to wrap this up (at last)
https://github.com/spacechase0/StardewValleyMods/commit/35dcc8e93d61b13ff07a668665fc6dd1484bb068 yeah her last commit is fixing rings apparently
that commit doesnt actually appear to be in her 1.6.9 beta branch
just the develop one
so the 1.6.9 beta version doesnt have the ring fix
Yeah it's still using rings.AddItem(ring); instead of rings.Enqueue(ring);
Nice spotting Button
so its not just me then
Looks like it, yeah
oh okay cool im not losing my mind then XD
Hello there, I've been looking through the cp github but can't find what I'm looking for 😅
Is there a way for a cp mod to detect when an item id exists ? I'm trying to make changes that would only apply if a specific item from another mod is enabled
it happened because you switched versions, so it depends if the 1.6.9 version of spacecore should already have all versions or is just meant as a quick fix
no
you can check for the mod itself, but not whether the item is enabled, unless its a C# config
(or can you check CP configs from another mod now?)
checking configs between mods is still not possible unless CP's been gettin some stealth updates i missed
(no, but some mods enable flags to allow checking when some items are enabled)
(however they usually do it by batch, not per item)
Ah dammit 😞 We can't check other mods configs last I heard
can you tell us which mod you want to check item for?
Growable forage and crops
we may have workaround (the precious friend of content pack authors)
I wanted to make it so users don't have to manually match the two mods configs
6480 use flags in cornucopia, you can see if it's the case here too
if it's not the case, you can see if it's doable for him to add those
Doesn't seem to be the case sadly
I see how context tags could help, but growable forage seeds objects are only loaded when enabled so I'm not sure it would change anything 😅 Like this :
{
"Action": "EditData",
"Target": "Data/Objects",
"When": {
"HasMod": "furyx639.CustomBush",
"Common Mushroom Planter": true
},
"Entries": {
"Cornucopia_CommonMushroomSeeds": {
"Name": "Cornucopia_CommonMushroomSeeds",
"Type": "Basic",
"Category": -74,
"SpriteIndex": 10,
"Displayname": "{{i18n:CommonMushroomSeeds_name}}",
"Description": "{{i18n:CommonMushroomSeeds_description}}",
"Texture": "Cornucopia.GrowableForage/objects",
"Price": 150,
},
}
}
I tried setting a condition like this : "When": {"HasValue: Cornucopia_CommonMushroomSeeds": "true"} but it didn't seem to have any effect
i don't think this is a thing
I thought that's what you meant by flags, I'm clearly confused here 😵💫
Yeah that was a desperate attempt 😅 I used HasValue in another patch and tried to use it here to no avail
some mods (like Cornucopia) send mail flags to the player corresponding to the config values set, so other mods can check if the player has certain mail flags (like with CP's HasFlag token) to check what their cornucopia settings are. not context tags
I'll check if that's the case, thank you ^^
There are indeed mail flags but not for all items.
It wouldn't be for individual items but for config options
But that got me wondering, if for example all the seeds items from growable forage had a context tag related to what shop sells them (ex: dwarf, pierre, ect), would a condition like "ITEM_CONTEXT_TAG Target dwarf" work ? As in disabled items wouldn't get selected ?
yes sorry not for all options
glad to announce that my newest farm mod is now live! a little flowery farm in the woods... with secrets! custom farm cave and farmhouse layout included. customizable experience as usual. i hope yall enjoy! 
Looks lovely!
Hello friends👋, I am new here. I would like to ask about how to make mods, whether it is related to items, locations, events, etc. I have just created my first mod that translates the game into Arabic and I liked the idea of helping people. Is there a channel or a practical guide (video) on how to do that?
in which file are the sky and cloud animations in the background of the main menu?
!startmodding There aren't a lot of step-by-step guides for an entire process around but there are plenty of reference materials, lots of mods on Nexus to look at for examples, and plenty of people here willing to help answer questions if you get stuck :)
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.
Is there a way to get the Leah bot to post your mod in the mod-showcase channel? Like are there conditions needed for it?
I am thinking of making a mod about the mountain cave. I want to redesign it, design the monsters, and add leaders to defeat them. I want to completely restructure it. This is a preliminary idea. I do not know if I need to learn programming. (I think Claude AI can help) What do you think, sir?
In general you need an orange name but also just ask here, it's pretty likely someone will do it for you
Clouds are Minigames/Clouds.png I believe and the sky is in LooseSprites/cursors.png. It's a very thin line to the right of the fishing minigame bar.
I think using AI is not a good idea, but your idea for a mod sounds interesting - you would need to learn C# to do parts of though, like if you wanted to add monsters with new behaviour.
is that it?
From what I read of a previous discussion about it, yes.
And where are the animations where the clouds move?
I would be very grateful if you could reply!
The animations are controlled by C#, I would imagine.
Thanks! I have been a long time viewer of the discord, but this is kind of my initial foray into publishing public content. I definitely would like to start tinkering a bit more on the mods side. In a review of the roles channel, I will go ahead and send the Bouncer Bot a DM.
Here is my first little mod.
https://www.nexusmods.com/stardewvalley/mods/28182
You have to be level 25 to be given the Mod Author role, so it's a bit too early for you to be DMing Bouncer about it.
So I need to go to work, can you ask the channel in general?
Yes I thought about adding puzzles, secret rooms and passages, adding new layers and some bosses at the end of each layer, and adding a monster guide. It's like stickers for each new type of monster that was defeated. I was also thinking about adding some lost NPCs in the cave. They are people working in Jojo. It would be better than just bringing minerals from there and some things here and there. So to do all of this I need to learn # C language?
But congrats on the mod! I don't actually know how to Publish posts but if I'm the only Cheeto around with atra leaving I could give it a go.
Yeah, I was reading the github link and just read that requirement after I made my post.
Yup, that's a lot of C# stuff there. Basic rule of thumb is that if you are changing the way the game works (for example, adding a monster guide where you get stickers for defeating a monster - a mechanic that doesn't already exist in the game) you will need to write a C# mod for that.
You would probably also be safer if you just made an entirely new area rather than trying to change the mines (I assume that's what you meant by the mountain cave?) because the mines have a lot of hardcoded behaviour and if you changed them it would break a lot of other mods (even assuming you could do so successfully).
Your idea does sound very fun, but also a very big mod idea! Even if you already knew C# it would be a lot of work. I don't want to discourage you - I think you should try it if you want to.
You gotta right click then apps > leah > publish
Yeah but how does the blurb thingy work?
Do I write that?
Does it publish their entire message?
Does it publish it as soon as I press "Publish" or does it give me a box to do stuff with?
You have to write message yes
Usually I repost to #modded-stardew and publish from there
Okay thank you for explaining! I didn't want to muck it up for anyone.
Now that Chue has told me how to do it, would you like me to showcase your mod? If so, would you like to write a description about it to be shown in the showcase channel?
Yeah! That sounds great!
Description:
A little mod that adds a new regular TV show. It's magic rewards those interested in Gossip.
Check the TV every day and let the magic of gossip reward you!
The magic of the Gossip gives the curious farmer a little item relevant to the gossip that they just saw. It may be mentioned directly in the gossip or a loved gift of one of those being discussed. Tune in Daily!
Awesome! Thank you! Thank you! I am updating my Nexus descriptions now, too! It's giving me a little bit of hype to expand it some more.
How can you get the Greenhouse GameLocation from the Farm instance?
Building greenhouse = Game1.getFarm().buildings.First(building => building is GreenhouseBuilding);
Super untested LINQ nonsense, but that ought to get it?
Oh, the location!
That, plus GameLocation interior = greenhouse.indoors.Value; then.
Or just combine everything into one line, of course. 
(For the first I’d use FirstOrDefault instead just in case you don’t have a ‘greenhouse’ before the cc bundle)
Actually, yeah, is that technically not a greenhouse building at that point?
Also relevant that not all farms even have the ruined greenhouse necessarily I don't believe. So definitely FirstOrDefault, yeah.
That's good too, since the location does definitely exist even prior to the greenhouse being accessible.
Until some modder goes "hey let's make the greenhouse upgradable"
Or multiple greenhouses
Or a greenhouse on RSV summit farm
Or or or
Hey, a Beatle!
back to labview with the piffle
Brute force iteration through every building in every location, pulling the indoor location out of everything that's a GreenhouseBuilding!
just iterate through all locations and check for the isGreenhouse map property 
like RSV's greenhouses are just normal maps too
no greenhouse building
Every tick
Also don't forget pif
RECURSION
pif?
Hi, I'm really struggling to understand how to create a custom object, I tried with json assets, cp and even just plain c# but I cant seem to get it 😦
I want to add a minigame functionality to the object later so I will be using c# if i could get the object right..
I would really appreciate any help
I made an object that when placed in the world can somewhat function but in in the inventory it's an error item
Do you want object like an inventory item?
And have it place in world like a big craftable
i want to create a custom anvil with a minigame to upgrade your tools yourself
I've tried big craftable but had more luck with furniture
You just have to edit Data/BigCraftables
This mod adds a placeable thing that opens a minigame
wow i searched so much for something like that 🥲
thanks you very much!
Thank you so much!
Mod called personal indoor farm. You buy a door, plop it into your farmhouse, then choose a room to associate with it. Then you can use the door to go to your own new little location.
Is this a good thread to field mod ideas in? I am making a crop mod that is fantasy inspired (but not drawing from any specific IP- I don’t want to make Good Berries from DND or Mandrakes from HP for example.)
Here are some of the crop names I was already thinking of:
Fantasy crops
-Cat o’ Nine Tails (paddy crop)
-Sugar plums (tree)
-Golden apple (tree)
-Pixie wings (flower)
-Crowning glory (flower)
-Dragon’s breath (flower)
-Moonflower (flower)
-Starflower (flower)
-Lemondrop (flower)
-Nymph tears (flower)
-Dandylion (flower)
-Wishing tinsel (flower)
-Magecap (mushroom)
-Gnomecap (mushroom)
-Faeberry (fruit)
-Wonder melon (fruit)
-Rainberry (fruit)
-Heartfruit (fruit)
-Beesberry (fruit)
-Bearsweet (fruit)
-Giant beans (trellis)
-Jellybeans (trellis)
-Bluecumber (trellis)
-Winter pea (trellis)
-Shimmer carrot (veggie)
-Elf shoes (tuber)
-Frost parsnip (veggie)
-Storm gourd (veggie)
-Pixiecorn (veggie)
-Rapunzel lettuce (veggie)
-Queensleaf (veggie)
-Cowradish (veggie)
-Firefly tomato (veggie)
-Towerstalk (veggie)
Witch’s Brew
-Eye of Newt (herb)
-Houndstongue (leafy vegetable)
-Bat wool (trellis moss?)
-Toe of frog (leafy green)
-Adder’s fork (herb)
-Blindworm’s Sting (thorny herb)
-Lizard’s leg
-Owlet wing (flower)
-Fenny snake
-Basilisk’s Tooth
-Witchbroom
-Spider daisy
-Itchweed
-Sevensnoot
-Sourwort
-Void pepper
-Swamp basil
-Wyrmwood
Also, does anyone know if you can IsLamp a crop or if that only works on furniture? I want some of them to glow in the dark
Sorry if I don’t respond right away if you add an idea, I am clocking back in to work
Mandrakes would be quite cool! I mean they're defintely not from Harry Potter originally.
You can’t isLamp a crop in CP afaik
C# can do anything but I don’t know offhand how annoying it would be
Probably not too annoying, but keep in mind I heard lights can be resource intensive
You CAN just manually check every time for your plant being grown a certain amount in the morning of each day and add a light at each instance, and keep tabs on whether to dispose when the plant is harvested
However idk what this will actually look like if you say, plant 500 of them
(I had a thing for a while where I wanted to add lights to things, and this is roughly my C# thoughts, though I’ve never sat down to implement this)
I do know Aedenthorn had a mod called Lights Mod (rip) that theoretically added light to any placed item (so not crops, they’re terrain features), but it might be an interesting mod to reference
Glowing crops would be pretty cool too...
Maybe if it add light sources only sometimes
Is there a reason to use faceDirection in events instead of move 0 0 <direction>?
A new release of MEEP is coming up that I can't put out there until 1.6.9 comes out, so there is time for experimentation with crop lights...
Can someone help me ?
The friendly people over in https://discord.com/channels/137344473976799233/1272025932932055121 will be able to help!
The game didn’t detec the mod that need it
Thanks
Other than move 0 0 <direction> not being a thing?
Crop lights themselves don't seem too bad; I also did consider doing it out of atracore at some point but lol that will never happen now!
Yeah, after making the portable torch for Clown, crop lights should be relatively simple!
It works though? Therefore it is a thing?
Ah, it was warp I was thinking about
move is bloody fragile
Prone to making npcs walk straight up off the map if you, say, didn't have them grid aligned beforehand
facedirection is a much simpler command (just changes the npc facing direction)
OK, I was just checking since I'm changing the facing direction of like 8 people and it's much shorter to use move since I can put multiple NPCs in the same command
Yeah, getting crop lights to work is easy. Maintaining performance with hundreds of crops on the field is another thing entirely.
That sounds like a problem for Stardew! /j
My back of envelope was to consider only doing visible crops and somehow hook into when the farmer moves tiles
Lights are that bad, though? I was definitely going to max it out at 10% of a given crop gaining a light source, but if they're that bad...
I mean that bit scales better but
Personally I was thinking more that it'd look bad on screen 
Like if u had 5x5 grid of torches
So what you're saying is I should map out crops on a map that have a light property, generate a big lightmap texture, and add a light with that texture in the correct location.
So maybe u could have 1 light which scales with no of connected crops
Which definitely could be done, but...
I feel like it’s easier and cuter to add fireflies
Just make the crops spawn critters with some probability
Are their lightsources somehow more performant?
Or those butterflies
Probably not but they can spawn less of them
In a way that looks natural
as someone who had used move 0 0 <direction> because events are the bane of my existence and I didnt know better....I prefer facedirection because the move one broke my event lol
Also Atra said critters aren’t saved in any way iirc

So they’re free to be full of crimes
(This is what I selectively interpreted, anyways)
Like I feel like having only 10% of crops glow is a little thematically confusing. Are only those 10% magic?
But 10% having little fireflies spawn will look much better visually!
Anyways, good luck DH!
Enjoy statewide!!
This is what I'm doing lol, waiting for labview to install shit
are there no non-terrible alternatives in the field?
I don't think I have enough pairs of shoes for two shoe racks
(Atra, make a not-terrible alternative!)
I have a lot of shoes
The problem is that mechanical/electrical engineers typically don’t build good code
We bought the hardware from NI
Labview is a non negotiable
good thing atra actually builds good code
Unless I want to design a board myself which I am neither capable of or have the time to
you can do it atra, go go go
Press X to doubt
Press X to doubt the doubt!
That reminds me I need to send two emails
I think it’s time to wrestle a Kallax
Have fun!!!!!
(Also I don't actually know the context of this.)
I have 3
Just that it is a meme
I’m sure it’s something about games I haven’t played somehow
Atra knowing a 2014 pop reference? Unpossible
anyway IIRC it's from a Call of Duty game, where your character is at a funeral. the seriousness of the scene and the video game prompt to press a button to mourn caused a ludonarrative dissonance vortex which metastasized into an enduring internet meme
...i think you're mistaking two different references
apparently it's from L.A. Noire
FUCK
That's what happens when you woke up just 10 mins ago because you stayed up to 5 AM last night
CoD was Press F to Pay Respects
Fuck it I'm keeping that post as a shrine to my stupidity
(also this is really off topic lol)
ah that's the F thing on reddit
TIL
i thought it was a "f***" but in sympathy
like "sorry that sucks"
Hello
I have a question
Are ridgeside village compatible with stardew valley expansed ?
That's a better question for #modded-stardew , this channel is for making mods
But yes!
Ok ok
im back with more questionable modding decisions, so im trying to get my character's schedule to work but theyre just not in the world. theres no error messages, he's just not there. here's my content.json and schedule.json https://smapi.io/json/none/f894edcf96f744b4aba00c848b9ba1af https://smapi.io/json/none/832e4907afd24b6d9eb33140674108bb
i have his sprites in the right folder and theyre in the right positions (i used abigail's sprite sheet and worked over top it) so im not sure whats wrong
just to confirm, this is after sleeping for a day?
You should be doing blank loads with edits for the schedule
I’d say your problem is mismatched names
You only seem to be doing that for a character named Evon which is no the character you're working on
I see that your NPC is ForestSpirit but your schedule and dialogue is for FroggyLittleBeasty.ForestSpirit
Also blank load and edit for dialogue rather than just loading the dialogue
You seem to be loading dialogue and marriage dialogue both on top of the same target
yeah when i did just ForestSpirit it gave me an error message
well that probably means the files are being loaded, you just have errors
as opposed to them not being loaded at all like currently because of mismatching names
your blank load above also needs to match
what does the blank load do?
pick one of Evon, ForestSpirit or FroggyLittleBeasty.ForestSpirit for your NPC name
name or mod id because the tutorial keeps using it interchangably and thats what messes me up
(presuming they're meant to be the same person)
yes it is
Whenever it asks for a display name you can put whatever you want
But for all other places you need to pick the thing
So you should decide if you want it to be Evon or ForestSpirit internally, where nobody will see
i changed it all to the same thing
Blank loads are necessary for initializing an asset
That’s an even better idea. I wanted flickering but I figured it would be easier to just have the light on. Any idea what the code would be for that?
There are some problems with loading some assets directly, I think something to do with the tokens?
So you load a blank and then you edit it in order to not have any problems
what does loading a blank mean
so i should be doing all of the schedule stuff in the blank?
Nope, you need to initialize it with a blank
No, you load the blank and leave it. Your blank file should only be two curly brackets
yeah thats what it is right now
But after that you would use this with the correct name
I recommend not putting your schedule data right in your content.json as it takes up a lot of space
They have it separated, I just screenclipped this from the validator
Ahhh okay mb mb
https://smapi.io/log/f7c2ca27f0974813a98254a727fc39bc i did that and now have this error
Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on Microsoft Windows 11 Home, with 2 C# mods and 1 content packs.
Send your content json again, because you had a lot of other issues and you didn't say you fixed those
Remove those
If there are still errors after that then you should send the log so we can see what it's complaining about
its no longer a huge wall of red so im getting somewhere https://smapi.io/log/2d9a14265d2b4b46b40ca6c60ae50198
Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on Microsoft Windows 11 Home, with 2 C# mods and 1 content packs.
im assuming the issue is that i altered a map and am not using the correct version of it when telling it where to spawn
If you put the updated map back into your folders then it should be loading that one
You also need to create a location
Just loading a map isn't enough to create a location
ahh ok
For now you could just have them spawn in town
And in fact, I think when their home is broken they should spawn in Town
Maybe check the main square
they didnt but yeah i think ill just spawn him in town just to see if it works
You’d have to poke around for the critter spawn code, but you can probably just do something similar to whatever makes fireflies at night with some bias on the spawn location to be near your crops
!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
If you haven’t already, take a look through the decompile
@teal bridge hello i am report bug in a fishing sea where having the overlay on deletes fish in fish ponds due to GameLocation,getFish calling FishPond.CatchFish, which removes fish immediately.
Can fix by adding !location.isTileBuildingFishable here https://github.com/focustense/StardewFishingSea/blob/master/FishinC/Predictions/CatchPreview.cs#L188
it does bother me a little that we r call isTileBuildingFishable twice though, since isTileFishable also calls it
Already got a thread in #1272025932932055121 for that, pushed the fix to GitHub and am posting the update to Nexus.
(That check is not my fix; instead I added a side-effect definition.)
fishing code sure is cursed
Just updated Nexus, should be good everywhere now. Kind of strange that the mod was posted a week ago and two people just ran into the same issue on exactly the same day and at exactly the same time.
Fishing code's a mess, yeah, but I knew this type of issue would come up and there's already a semi-elegant system in place for writing these quick fixes.
well it is the weekends when ppl r actually play game 
(That's why it took me all of 10 minutes to push the fix.)
Yeah I suppose so. Though it was posted early on a Sunday and no one saw it then, haha.
Huh, wasn't there always a cap on fish ponds?
the overlay is on and unexisting a fish every tick
Oh, I see, that was a repro video. I thought it was some historical oddity you were referring to.
guess who else did that? 
happened to me with Visible Fish too
Whoever made the Fishing UI Overlays?
Heh, the thing is I actually did realize there were side effects and planned for them (nut drops, fish caught stat, etc.). Just missed that particular side effect.
Inb4 1.7.0 adds even more side effects to getFish
friendship increase with Willy 
well i would hope it adds a probe argument too
It wouldn't surprise me; and it would surprise me even less if there are mods out there that add their own side effects, which was really the original basis.
But it's OK, they're all very easy to handle unless the game comes up with some huge, far-reaching side effect that can't be easily reverted in the game state.
Probe would be wonky because it uses Game1.random (in vanilla, that is). They'd have to rewrite the whole thing to make it probable.
AFS is the probe, lol
yea it is just that having probe mode in game is only way to have all mods respect such a thing 
It is the best way when it's a possibility, for sure. Just impossible to implement with current logic.
when i was test with debug setupfishpondfarm i noticed some of the fish overlay poping up near edge of screen
hey yall does anyone know why the rotation on this wouldn't be working?
"{{ModId}}_TrackCornerUp": "{{i18n:TrackCorner}}/rug/1 1/1 1/2/5/2/{{i18n:TrackCorner}}/0/Tilesheets\\{{ModId}}\\tracks/true",
like is the tilesheet in the wrong order?
is this a furniture
yea
like the order of the data is name/type/sprite size/footprint/# of rotations, but it only shows the first frame
i think you should actually make these flooring though
You wouldn't be able to walk on these if they're furniture
its a rug so its fine, but still 
Oh right, rugs ignore that
making it flooring would give you a lil speed boost too
ohhh i was also thinking i didn't want to make them a craftable
like its a companion for a building, so you build the building and could then use these "rugs" to add around it and make it look like it's on tracks
Can rugs go outside?
one of the other numbers it the data line is whether it can be placed inside/outside or both
you don't have to add crafting recipes if you dont want to 
Ah
Yeah you have to manually create crafting recipes, so that isn't really an issue
dunno what happens if you add it to catalogue though, might work?
it being in the catalogue was another issue i was having, coincidentally
but i wanted to at least get the rotation working first
i had them successfully show in the catalogue for a sec, and then messed it up somehow. but even then the rotation wasn't working right
it should be the first two tiles are one item, the second two tiles are one item, the next three tiles are one item with 4 rotations, and then the last one has no rotation. that code snippet is just for the first one though. it seems like i might have the tilesheet formatted incorrectly
I’m barely confident in json, C# might be too difficult to tackle yet. Maybe for an update later
var SCore = typeof(Mod).Assembly.GetType("StardewModdingAPI.Framework.SCore")!.GetProperty("Instance", BindingFlags.Static | BindingFlags.NonPublic)!.GetValue(null);
surely nothing at all can go wrong with what im messing around with right now
@ivory plume Bug in 1.6.8: A player can walk off the Summit map at the east end of the south. Specifically the map is missing the warp 18 30 Railroad 33 0
(I reported the Backwoods missing warp as well - I'm now reasonably certain these are the only cases in 1.6.8 as I've tested an early game save and an end game save)
@calm nebula: rewrite the harmony guide to use https://learn.microsoft.com/en-us/dotnet/api/system.reflection.runtimereflectionextensions.getmethodinfo?view=net-8.0 (48h ago)
Anhhh okay I'll do it when I get home
hm i never seen a 4 rotate rug
i've never attempted to rotate a vanilla rug tbh 
I turned my own rail tilesheet into a rug and at first I messed up and put the wrong thing in the furniture type
It was rotating perfectly but because it wasn't a rug I couldn't walk on it
Then I switched it to rug and now it won't rotate
I think it has to do with their diffrent sizes