#making-mods-general
1 messages · Page 32 of 1
Sounds fair to me. And hopefully next time I forget about all this and go to ask you about it again I'll remember we had this conversation and will search for it instead of bugging you again like it's groundhog day lol
Lmao, that's fine, I don't mind complaining about it :P
Though it affecting you does make me actually want to do something about it, a lot easier to ignore when it's people I don't interact with ever again lol
(Definitely would love an excuse to abandon gutting my fish pond mod)
You have my blessing to abandon your fish pond mod for my sake 
i'mma be honest, i don't use the fishponds
I love fish pond colors
I have one fish pond. I don't know what fish pond colours are though
Thank you - yes the one that worked was after I added the suffixes, but it still throws that error on startup that it cannot load the tilesheet - is that coming from something else? (that's how it looks now for each edit data - same error and behaviour if I use the suffixed for both IDs or just one of them)
{ "Action": "EditData", "Target": "Data/AdditionalWallpaperFlooring", "When": { "TeasWoodLatticeWallpapers_Cotton": true }, "Entries": { "{{ModId}}": { "ID": "{{ModId}}_cotton", "Texture": "Mods/[CP] Tea's Wood Lattice Wallpapers/WoodLatticeWallpapers_Cotton", "IsFlooring": false, "Count": 149 } } },
Normally only a few fish recolor the water
I made a mod that lets you:
On its own: use their dye colors to recolor the water
Or, using content packs (ew): set custom colors for what each fish could dye it
by changing key i meant like this
Someone made a request that I use the method an older mod that used to do the same thing was doing with context tags instead and I'm actually kind of interested in that
"{{ModId}}_blossom": {
"ID": "{{ModId}}_blossom",
incidentally ID should prob be Id? not sure if newtonsoft.json cares
So
Um
I did not know that fish could recolour a pond
you never had lava eel 
newtonsoft does not care for case sensitivity
Ooh
but ig the key in editdata superceeds whatever you put in Id
Am I free of the curse?
Yes - did that as well - exactly same error and still works the same if both have the same suffix, or just one of them, which is what I found odd, the format for the entry also specifies the ID in caps but I'll try the other way as well
I should probably actually read through this page more lol, I've only been doing an occasional search for when I was trying to see if something specific was solved
You could edit one texture if you wanted
are you trying to load a filepath as the texture instead of an asset name?
Well, technically it now does exactly what I want - and well too! But its weird that it's throwing a red error for the mod on load 
Did you leave that other content.json in there?
The one that was the two Entries that were just {{ModId}}
Nope, purged it completely to a separate draft file (so it's not commented out, fully removed) so the full content file is: https://smapi.io/json/content-patcher/eef7fb4eeb7d4d3683e33e40b032a138
Fully restarted the game and all that?
I don't think so..? It loads and works 100% as I want but just throws those load errors when the game starts - yep, full restart now with every test
hm im unsure how you'd go about banning particular wallpaper from HHD's catalogue
The setup with suffixes works perfectly - ticking the option in GMCM makes it immediately available in the catalogue and applies fine to walls, unticking takes it immediately out, swapping works fine now too
So no idea where the error is coming from 
your Load action still confuses me regardless
My one fish pond has blobfish lol
you have a folder called Mods inside your assets folder?
The target without a path? Learned that from Cornucopia actually, found it by searching this channel
no, i understand that token, your paths confuse me
and choosing to use those targets
Definitely a lot of special characters and spaces for a Target but it should be fine in most locations
The FromFile is just assets/{{TargetWithoutPath}}.png so it should just be the part after Mods/ that it slaps in there
That token does not help the confusion between Targets being just an asset and not a path file lmao
usually ppl use mod id there as well, e.g.
{
"Action": "Load",
"Target": "Mods/{{ModId}}/WoodLatticeWallpapers_Cotton",
"FromFile": "assets/{{TargetWithoutPath}}.png"
}
so thatd still be a [CP] Tea's ... folder inside the asssets folder thats already inside the mod folder called Tea's Wood Lattice Wallpapers?
Shouldn't be a folder, just a png named all that
Ah, yeah no idea, I copied that from the wiki in the end because I couldn't get the usual way provide the paths to work - I have no idea why. I checked few other mods that add wallpapers too because I was confused, looked like they did the same
oh no, tyheres a slash there
i didnt see the second slash
Oh there is
target without path makes it assets/WoodLatticeWallpapers_Cotton.png
I didn't either lmao
Lol you two were seriously confusing me
i would still do it with chu's example instead either way
oh, congrats on your mod release rokugin!
My suggestion is "make your Targets and names way simpler"
special characters in asset names always make me wary even if it is fine 99% of the time
I will rewrite it like this and test in a sec
Why do people even bother with having "Mods/" in their target when they use {{ModID}}? Just convention?
It already has a bug report :'D with no log, a new record in how quickly that happened for me
i think it was just confusing me bc the token is TargetWithoutPath but the asset name itself was making me think you were trying to use it as a path in order to get the asset to define the asset. that was being used as a path. i dont know
its too early for me to be thinking
habit
i got a spanish translation within 48 hours of my mod with well over 2k lines of dialogue so i'm... confused
Hey did you get the Spanish ai "translator" too Avi?
for me it makes it easier to see at a glance that im defining an asset name and not just using the ModId token for like an item ID or key or something
That makes sense Button
maybe? i haven't bothered to download it but maybe i should check it if they used ai and report them? 
also helps to know if u are load tilesheet (into Maps/) or regular ol texture
Ooh no they're a different user
i don't know enough spanish to correlate if it's correct or not
My Sialia mod got a Spanish translation already and it clearly doesn't need one (it's not popular and it's not going to be) so it's just someone trawling for DP.
The wiki also uses the Mods/ in examples a lot
But I don't think yours could be anything but AI so quickly. That would be so much work for a real translation.
this guy 
I'm still a newbie so I do use the wiki examples a lot (I feel like I'm learning some maybe not the best habits there tho!)
how do i-- report it
Eh, it's kind of "do whatever works and you can understand"
how can u know if dp is enabled for a mod
It says it in the permissions dropdown
Obviously there are conventions that will make your life easier and that of the people who are trying to help, but as long as you're not just doing wrong things, it's fine technically
nevermind i found it
I JUST
If it's yours, it'll say near the top if you're opted in, if it's someone elses, they have to enable showing that
yea fair nuff 
it won't let me report for ai generated content 
Too smol, needs to be at least 20% bigger
gotta make it h1 sized and bright yellow
because AI itself isn't the issue, it's stuff based on yours that is
it's not as if i'm stingy with my translators, my chinese translator gets 5% of my dp
Hmm there was an option for AI when I reported I thought.
not that im saying nexus shouldnt honour it, but do they honour permissions stuff like that if it isnt explicitly in the "Permissions" section? are they reasonable like that
ive never had to report anythin on nexus so idk if theyre more on the "yeah an actual human will look at this and apply reasonable judgment" side or the "a bot will scan your report and make a decision no you cannot appeal" side
oh this is also my permissions
ig i can just do stolen content? and put reason being like, 'didn't ask for permission' ?
2k lines of dialogue is a lot of freaking work
Ok rewrote/shortened/simplified - https://smapi.io/json/content-patcher/6f065c0a6ec647768560894ea07c70e1 - still works 100% as I want it to, and still throws a red error when the game loads 
That's what I did Avi. But SoraGodFallen was opted in to DP so we might get different outcomes idk
I'm glad my mod already got a Spanish translation (from a real person who asked permission early on, I granted the permission, then I released several updates before they ended up releasing their translation so it only got finished and released recently
)
Actually, good point - let me start a whole new save and all that ( I'll delete the one that had some of those wallpapers added)
my chinese translator is great and i have been trying to get them to be on github so they can see my i18n live
github is banned in china
I guess that would assume they're based in China though
nevermind
i could always ask, but they're swamped with uni so i haven't bothered them recently
I'm considering making a github available for my mod's i18n but I feel like its translators have gone MIA for long enough that it wouldn't matter
there's some mirrors they can use
Yep, it was me, I was causing my own error - deleting the old test save that had some of the wallpapers on it and restarting with a new save has taken out tha load error - THANK YOU!!
and ofc 🪜
I think gitlab is still in China
Hey y'all do y'all know by chance where to find the sprites for the food? 
And thank you @calm nebula @uncut viper @rancid temple too of course ❤️
sprinobjects?
!springobjects
Yeah
Most vanilla object sprites are in the Maps/springobjects asset. See a table of springobject sprites by index.
Some newer object sprites are in TileSheets\Objects_2. You can check the entry in Data/Objects to see where its sprite is stored; SpriteIndex is the position, and Texture is the asset name (defaulting to Maps/springobjects).
Maps ducking spring ducking objects
I wonder how many sprites of summerobjects Mr. CA drew
Maps! Thank you omg 
I wonder if summer objects even had new sprites or if it was just a color filter of spring objects
I was this close to say "oh shoot do I have to count this" then saw the link lmao thank you everyone 
I definitely didn't know about the table before 
Straight into bookmarks, this one
That command reminded me of the itemid command, turns out it does already have an itemids alias, so hurrah
oh, is there a new AT version?
No, unfortunately not
Just had to rebuild it for 1.6.9 because it was throwing an error
Not sure why that fixed it though
did 1.6.9 drop or is this just in prep?
Just beta
ah good, whew
Originally rebuilt just to see if I could debug the issue but then it stopped happening lmao
I figured I'd have to rewrite one of my AT patches
there's one particular transpiler for AT that I had to update for 1.6 so I would not be surprised if I have to tweak it for 1.6.9 as well
A patch to DrawInMenuPrefix, I haven't actually tested in game if it throws anything more than a warning
Morning all! Anybody know what you'd use to set the condition for an event of having any of a category of item in your inventory? for example I have a furniture collection where everything is labeled with the category "collection_stolenitems" and their names start with "{{ModId}}_(F)" - can I use these, maybe with dynamic tokens?
I'm trying to avoid having to write out the entire list of item Ids
i dont think there is a vanilla way to do that, theres no precondition or GSQ (for a mail flag) you can use
(also, why do you have (F) in their names?)
just to label them as furniture items since they're being sold in the store
alongside other items with similar names
their qualified item IDs are going to be (F){{ModId}}_(F) then
Only people with something like Lookup Anything would see it in game also
I'm only worried about keeping the items straight for myself, i'm selling personal character items of different categories in a shop
like (F)Sebastian, (T)Sebastian, etc.
i only brought it up bc it has the potential to confuse you or others looking at your mod (like for compat. or something) but if you can keep it straight then it doesnt much matter
as long as you know that having that (F) in there does not qualify the item ID
Just don't be surprised when someone else brings it up again lol
this is part of a very large personal complex mod we're not expecting many people to want lol
passion project, nothing more
the reason that other shop entries have (F) or (O) in them isnt just for descriptive purposes but technical ones
I just meant if you end up needing to ask someone else about something related to the items, most of the people who help in here will probably have the same question lol
okay what would you recommend doing instead
I'm big on just plain naming my garbage lol
just removing the (F) and naming things differently
yeah I got that you want me to do it differently lol
SebastionTool SebastionFurniture etc
like dont have a regular item called Sebastian and a furniture item called Sebastian but yeah, what roku said
You don't have to, I'm just saying you will run into questions about it
I don't actually care one way or another, it was a curiosity that has been sated
that's fine, but does anyone have a suggestion for my problem?
i did answer that
I think that was answered, there's not really a way with CP
There's a mod called Event Preconditions Expanded, which proves you could roll a way with C#
But they don't have a solution for this particular problem
(You can trivially add gsq or event preconditions)
(with C# that is)
game state query
ah
yeah
and no way to set it as "any id like this but {{fill in the blank}}?
nada, not in this context
like it would work if I could say here's my item root {{characternames}}
if it's items in a shop, there's an actionsonpurchase that you could add a flag to each and every one of them
that is only possible in certain contexts (like shop entries) and not in this case, which is where you'd use a GSQ to set a mail flag
you can add a mail flag for the shop item on purchase yeah but it wouldnt be accurate to check if it was in their inventory at the time
I just need it to be on purchase
that would be fine too
I just need some way of saying the player bought a stolen item
if you just wanna know they ever purchased it then yeah, ActionsOnPurchase in the shop entry
ok thank you
you'd use the AddMail action listed here to set a mail flag
and then you can use that mail flag as your event precondition
that should do the trick, thank you
the funniest problem i had: was trying to debug addmail and i forgot to actually activate my own mod in stardrop 
i needa google sync for jsons, if it's possible to do a file-by-file basis i'll be a happy clam
This fucking guy didn't even turn the address to your mod into a link on his page, annoying
my shaky chihuahua syndrome is over, but i'm glad ya'll are here cause otherwise i would've been fuming for far longer
Didn't translate any of your config options
I WORKED HARD ON THAT
Same!! Nothing like hating on stardew modding together chatting it out to resolve the jitters
I TRY TO KEEP THEM AS UP TO DATE AS POSSIBLE JUST FOR MY ZH TRANSLATOR --shoves a frito in my mouth
I think I'm riling you up again 
nah i'm fine
Also, I don't even know if this translation file provided would work
It has an error
if i get bug reports though i'mma hit em with a copy paste, "i am not responsible for other translations that aren't included in my mod, i appropriately settle out dp to my actual human translators"
Line 129, missed a comma
yeah i know
there's also a line somewhere that has a $action
so if that got machine translated it'll throw an error
i'm a nuisance, i have no rhyme or reason
is now a bad time to be a proponent of removing stuff like $action from your i18n /lh
i only have one of them, so y'know, to catch these machine translators, i'mma keep it in 
Well no results on the search so I bet it did lmao
Oh ok, I was about to say no results on yours either lmao
hold on gotta make a quick patch to add it in--
Granted, any token or expression would kill a careless machine translation I imagine
Also the tokens in here, you're wild and crazy /lh
assuming they're using the stardew tool for it, they probably didn't ruin any of my i18n tokens
oh my commented tokens?
yeah that's how i keep track of my nonsense
Hm, nah, I saw a {{e11}}
7 matches for {{e
The translation has a bunch of duplicate marriage gift entries
#{{e44}}
Like so many
oh jesus christ
wait did they try to copy my .jsons
my actual gifting dialogue is from line 710 to 808
but my giftinfo has like, 40 commented out items
Also, anyone know what a leer.txt is for?
Oh right, lmao, I wasn't thinking of the Spanish word
i dunno spanish but its got similar uh. whats the word. cognates? in languages i half know, so
leer would be empty in german
I only took a bit of Spanish, but I live in Arizona, which borders Mexico, so it's kind of all over the place
y'know i should've remembered about libro but is in fact 'read' in spanish
That said, no amount of understanding is really needed to see this shit was not done by hand lol
The only concession I could give is maybe if he's doing it entirely in notepad
(libro over here means book
)
i hate that i can't just not show translations on my mod page
Yeah kind of unfortunate that it's just a one way street in that regard
y'know
I don't want to give them more downloads but also I kind of want to see if their other translations are as fucked up lmao
i liked it cozy, where i didn't have to worry about my hard work getting yoinked, even though i get faceplanted by all of the yandere mods
they're not opted into dp at least
alright
i am absolved
washes hands
now you've got me editing my default.json because i realized there's a lot of $4b$ everywhere

Just drown outside translations in updates
I should be asleep!!!!!
SLEEP
My body is betraying me!!
i'mma leave an entire block of comment code in my default.json now saying "if this was machine translated OOOGABOOGABOOGA"
Just do what I do: drink a bunch of caffeine expecting it to keep you awake and then be surprised when you fall asleep at the computer
I have managed to sleep at night and be awake during the day for like... one entire week. I don't want it to end 
the adhd problem, caffeine makes me eepy
I miss when I could just stay awake for a full 24 hours so if I cooked my sleep schedule I would just wait and try again the next day
Now my body's like "You been up for what like 4 hours? Don't you think it's time to call it quits already"
I miss 36/12s
Haven't even gotten to the 36 yet lmao
i haven't done a 36 since i was like, 14
(What, are you expecting me to have work life balance?)
Just take your knitting to work and brandish the needles at people when they try to ask you for things
I have work life balance. Zero work, zero life 
Huh, I was looking at the New Today tab and there's another person who released 8 Spanish translations today
oh that's the one chu/e linked
I have a way of pointedly knitting when I think a meeting should have been an email
just preemptively blocks that sora person
At least they actually turned the link to the original mod into a link lmao
Yeah but they're the dp farmer
Oh, hm
Whom I reported for translating my mod without permission
mine is less spiteful but i have a feeling they're trying to get up to that point
I would lead with that being the problem :P I don't know how DP farming would work now
Different Discord communities between the two as well
Harlock links to a discord with 6 people
same, they're trying to configure pathos' paycheck from nexus /j
Sora is a Discord with over 60
even with 6 people, good luck translating my 2k lines of dialogue that has dialogue code in it
my chinese translator took 2 months and that was when i was sub 1k lines
I didn't even realize that was for your mod because the picture they used is wildly unrelated lmao
it's cause the sora guy uses ai generated pictures iirc
LMFAO, I just made it bigger and yeah, oof
We think the blue haired anime girl is meant to be Sialia
Like I know Nexus has been doing some image shenanigans but uh this doesn't look like that
on one hand, congrats to us, aba, we're popular enough for ripoffs, on the other, i'm still covered in salt
Lol I think in my case they must have just seen what was new because there's no way my mod is going to be capable of gaining any of the traction that yours is (and that's fine! It's a niche mod that I made for myself anyway).
hi! can I ask some questions? I’m trying to make my first mod and it is not going well. I’m new to modding and coding in general so I’m sorry if the question is very basic/obvious
This is the place for it, ask away
I used to use visual studio for mac but it is not supported anymore so I’ve switched to VS code. I followed the instructions on the wiki (and tried to adapt them as best I could to VS code). the issue is I’m not sure how to make a main entry point for the mod. i actually got it to build at one point (though it didnt work in sdv) but I can’t remember how and now it won’t even build. i think it’s because the code uses a internal sealed class. i’ve looked it up and it seems you need something like this: public static void Main(String[] args) but i’m not sure where to put it.
here’s what I’ve got so far (including the error message in the terminal):
You can just remove sealed from your ModEntry class
And remove OutputType from your project settings
(The internal sealed won't affect SMAPI. The error is because your project file is set up to create an executable instead of a library DLL.)
i imagine its probably bc doesnt have the mod builder package to do things properly without VS? since the sealed is fine
oh wow a pathos message
thanks. how do I change that?
Honestly, I have no clue what sealed does lol
(i know nothing about building stuff in VSC)
sealed means that no class can derive from it
sealed just means it cant be inherited i think
let's go to #programmers-off-topic
Remove <OutputType>Exe</OutputType>
that did it! thank you so much!!
hiiii I'm here again. My question is how can I use the menu in game in my mod (dialogue box, okbuttons, title etc.). I find "getSourceRectForStandardTileSheet" in Game1, and its second para “tileposition” seems that play a role to choose which texture used but why? And if it is "ID" indeed, where can I get the IDs of texture? Thanks!!
What kind of menu are you trying to make?
I put an Okbutton by "testokbutton = Game1.getSourceRectForStandardTileSheet(Game1.mouseCursors, 46);" successfully but I dont know how it works
thats just giving you a Rectangle which tells you where on the texture tilesheet that button texture is, but that wont have any functionality on its own
just a page called by pressing keys, i want to put some buttons on it
it technically doesnt even know thats a button texture, you can use it for anything
There's a nice shared project you can use for this stuff
https://github.com/focustense/StardewUI
You can add it as a submodule to your repo
yeah that is it . but I did put an okbutton but i dontknow how it works T T
thx i will read it
what you probably did is just place the texture of the button on the screen somewhere, but you need to do the "detect when that part of the screen is clicked" yourself, id probably recommend looking at existing menus to see how they do it
Back to original question about "IDs of texture" there's concept of sprite index for items but ultimately it translates to a rectangle (x y width height)
I usually find coords by looking at the image in gimp
and for things on cursors i wouldnt rely 100% on that exact getSourceRectForStandardTileSheet function cause cursors is definitely not a standard tilesheet where everything is 64x64 lol
(that is, "46" only worked there bc if you assume everything on cursors.png is 64x64 pixels, then its the 46th index, but its not always going to work nicely like that)
i m trying understand sorry for your waiting :C
ohh wait you mean Game1.mouseCursors is a "big" png and include many 64x64 pixels texture, and what i did is cut "46"th out
it is a big PNG that includes many textures, but not all of them are 64x64
If you unpack your game files, you can look at cursors.png
!unpack
Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!
A example of a texture that does follow a specific sprite size for sprite index is Maps/springobjects
however, that function you used takes 4 parameters, the last 2 are width and height. if you dont include them (which you did not) then it defaults to 64x64, which works out so that the 46th texture with that assumption is the OK button
you just cant always assume that its 64x64
It's made up of 16x16 textures
Cursors doesn't follow anything like that
, best to just use the rect
oh god i just think mousecursors is MOUSE POINTER
abandon all reasonable assumptions like that when working with SDV
Be prepared to say "...but why though" a lot
cursors.png (which is what Game1.mouseCursors is) is a big mess of everything
it was probably intended to just be mouse cursors at the start but grew over time to hold a bunch of other things
"oh no, this sprite is too oddly shaped, well i use cursors a lot so i guess i'll throw it into there" --my thought process
Really, all I need to do is stop DTZ from running this prefix, because it's not needed in the first place
It's just hardcoding in a check that's already done
I dunno if I can do that though, maybe patch their prefix with my own prefix that stops their prefix from running
You can
I've patched another mod's postfix to change its results before
you need to provide the full namespace/type name, and pray they don't change it next update
why not transpile DTZ's entry function to stop the patch in the first place
Lmao, I lovehate that this is actually the solution
(this is very flashing id probably delete it)
yeah i realized after being mesmerized for far longer than i realized
i dont even remember what the locked door thing with DTZ was tbh
It's just checking if it's a festival day again
Like in the exact same line that it already checked that
oh yeah
vague memories returning to me
It's a full copy of the original method so it never returns true to the original
Why 
Which is why my transpiler never gets a turn
(The real answer is because a lot of people aren't comfortable with transpilers)
DTZ is supposed to be wip right, ought to be possible to get that changed
If I had to guess, it's probably a remnant of an old solution to something that doesn't need to be there anymore
Along with their not loaded to content pipeline tilesheet I hope
i dont think the solution in this case even required a transpiler iirc
yeah dtz is old and wip for a long while
I still need to request repo access, I dunno if it always checked for custom festival days
its been a while but wasnt there also just another function that the festival check called along the way that coulda been postfixed instead
Hm, I'm not sure, I only see the one actual addition to this method
The rest of the diff is flagging __instance vs this
Oh there is another change near the bottom
Trying to get a character by name and setting a bool that defaults to true as true
if the bool can possibly be set to false beforehand by the rest of the function then that makes sense to me
are you sure that isn't a decompile thing
I'm not sure, but in the decompile of the base game it doesn't set anything
It's entirely possible though, different dll's decompiling and all that
either way, "probably wouldn't" is just a synonym for "possibly could" so it gets a pass from me personally
Yeah, ultimately this doesn't matter, just the only other change I'm really seeing that differs
Hey guys! Im not sure if this is the right channel. But does the love for cooking mod work with the newest version of smapi and stardew?
#modded-stardew is the right one
this is not the right channel for that and I do not have the answer so all I can do is redirect
i found it
I need to playthrough these expansions if just so I know what the desired behavior is when I'm nuking them with patches lmao
when creating new map files to mod already existing rooms, what kind of json code do we need?
also its even more difficult doing this stuff with tiled for example because the layout is different on there than it is ingame. im guessing it was because of the update
Did you unpack the new files?
You have to unpack every time there's an update if you want the latest files
Then I'm not sure what you mean
this
the rooms are different. when i open its file in tiled the layout is different
if you open a vanilla map in Tiled it will look as it does in game. if it doesnt, then what you have opened is not a vanilla map
if you're opening a modded map to edit it but the modded map looks different in game, then that also just means the mod isnt actually using it
my point is that when you open Tiled the layout is not different, you just might be editing the wrong thing. what you see in Tiled is what you get in game
it is annoying/tricky to use sometimes though you are very correct there
The layers was the major thing to trip me up
Aside from that, I actually like Tiled
i learned that naming it Buildings2 (electricboogaloo) does absolutely nothing
i see
It should make it render above Buildings
its also possible that the layout is different because you have two (or more) different mods all editing the same map you are editing
The 2 layers just change the render order
yeah layers is def one thing im having trouble with
You still have to use TileData on the normal layers, and not the ones with a 2 on them
ugh. its just so much for me to try and get a hang of <_>
its a lot! just gotta take it one step at a time
i also edited it yesterday but it didnt show up in game. im sure cuz i didnt add anything json wise
Hello all! whats the difference between the CP and RGB and all that for mods in my folders
Definitely a mod issue, this is what her room looks like for me
yeah one step at a time cuz ima slow learner
isolation modding is the best way to figure out what you're doing, unless you absolutely need something like SVE
CP is short for Content Patcher
yeah thats how it looks for me too aside from a few texture changes cuz of my mod wip
CP is the prefix for "Content Patcher", mods will put [CP] in their name to say "this is a mod for content patcher"
ik
RGB stands for Red, Green, Blue and is used to define a colour
dont know where you're seeing RGB
For instance, I used Buildings2 to add a sink to my custom bathroom because the first Building layer is part of the wallpaper and I didn't want to break the decoratable aspect of the walls
so should I always put the CP in my folder
you can name your mod whatever you want, people just add [CP] out of convention
mine doesnt have that in the name because there's more than just image edits. my mod title is just the name
CP does more than just image edits
also good to kno
Are you using anything other than CP?
oh
CP does a lot, everything related to the content pipeline
ok so i have love of cooking and when i tried to launch i got 2 errors, that my ridgeside village was installed wrong (ill figure that out later) and that im missing love of cooking CP
this is also still the wrong channel
oh oops
This channel is for creating mods
yeah at first when i tried using tiled, i thought "2" would work as an impassable, learned that the hard way so now i'm just a layer fiend
I like the visual effect you can get from some good layering
And also how badly you can fuck it all up from some bad layering lmfao
The ability to have a 2nd back layer has saved me so much headache.
my custom maps are a little crazy
Except now I tend to go in and make edits to all the tilesheets with rugs to make the rug flooring transparent
So that I can change the flooring under them xD
okay so this looks simple but the 'x' and 'y' stuff seems iffy. idk how to get the right numbers for what im wanting to edit
Okay, for EditMap the x and y are your tile coordinates
If you hover over a tile in Tiled, it will show the coordinates on the bottom status bar
ah okay thanks.
I'm reluctant to mention it, because I don't want to manifest it and have another compat issue, but the real thing this festival patch needs to account for is location context so that doors in the valley aren't locked for a festival in the city
is it a passive festival?
The answer to that is going to take a bit to find lol
This is a Contentpatcher question:
Is it possible to use EditImage in my own patch and override a file from another patch?
yes
if the other patch is from another mod, you just need to make sure your mod loads after theirs, with either a dependency or patch priority or both
Just to be sure, you're patching the thing they patched and not the image they're using to do their patch
if the patch you're overriding is also your own patch you just need to put it earlier in the file
(like if you wanna override it with a When condition for example)
Can i patch files which are added by eg. SDV Expanded? Like a portrait?
if they are using a Load action to load the images then yes you can
It is in fact not a passive festival
Just find what asset name they're using and patch that
if they are using internalassetkeys then no you cannot, but i dont think they are (idk off the top of my head for sure tho)
Well, you can't patch the internal asset key, but you could load your texture and then patch the thing the key is being used on
Is it possible in content patcher to lock a building behind a condition like a quest to where it doesn't show up in robins shop prior? Or would I just want to have the quest give some unique item or something that is used to build it?
buildings can have requirements set like that
Perfect still learning to navigate the wiki/docs properly
This one is kind of tricky because it used to be called blueprints but now it's buildings but the wiki is still blueprints
I'm not sure that can actually be changed without making a new page and moving everything
You can set up a redirect
move stuff to Buildings and just have Blueprints point there
I should probably do it now that my account is no longer in new account jail
This feels like I'm risking angering Margot :P
(though if you do that remember to preserve the attributions)
yeah just realized that too (look at the page history lol)
Eh maybe just do it the other way around
not wanting to risk fucking up not attributing the original authors is why i have not tried moving anything from the 1.6 migration page lol
blueprint data is old, and lots of ppl worked on it
This proj is sooo good. (a late reply XP)
The author (focustense) is active here if u have questions

Alright @vernal crest the game will probably tell you eventually, but I just pushed out an update for Custom Locks Updated with a compat patch for DTZ
If you are still awake lol
i wish preserve_sheet_index_ and id_ context tags didnt turn all id to lower case
well most mods have cased ids
i thought my mod broke vendace caviar from vmv but no it was just casing
Oh, didn't think context tags would have any kind of effect on it
Can I make like forage-able minerals with CP?
I think this is more of a FTM thing?
Like I can make normal nodes, I’m just wondering if i can make forage minerals with it
Oooo maybe
Ill look into that
I completely forgot about FTM :kek:
I mean, you can make objects and I think locations have forage data? That you add stuff to
But you don't have a ton of control over the spawns of stuff that way, just kinda chucks them into the random list
so the tag is actually supposed to be this, and it seems correct on latest nexus dl of vmv
preserve_sheet_index_lumisteria.mtvapius_whitevendace
but for some reason my mod folder had this
preserve_sheet_index_Lumisteria.MtVapius_WhiteVendace
bc it was just a difference of case i didnt notice at first 
Ah
still if this tag didnt have to do all lower i could have looked up the item directly, instead of going through item query
I am an evangelist for .tmx now, this rotate/flip function is huge.
It should not matter
hey so i successfully edited a room in tiled and i partly got the code right with no errors but its not showing up in game. prob cuz i didnt add this portion but idk how to get the right x and y numbers from tiled. also this is how the room looks if anyone's curious. im pretty happy with it :3
Context tags are supposed to be case insensitive
(is there an issue for me to fix in all this? i just joined discussion)
(soi haven't see history of it)
no its right on the download
its prob nexus shenanigans resulting in my local version being wrong
oh
like not updating a file properly because change were minor or whatever?
kinda like "nexus ate my manifest" deal?
yea maybe
ok!
r u sure about this, i was getting generic roe until i changed context tag to all lower case 
i remember one user not getting the proper product (and obtaining aged roe instead), maybe this was why... some weirdness like that (they never gave any extra info so i don't know)
my other issue (for my own mod) atm is that item query resolver cant actually find preserve_sheet_index_* (including vanilla sturgeon roe)
i think its cus this gets populated in Object not Item
Are you using FLAVORED_ITEM?
nope but i prob should give up and use it 
outside of it you cannot make flavored items with item queries alone
not even with filtering
yea prob for the best 
my stupid reason for not using that was bc i only really needed the color for drawing roe
since i am not using the game's draw in menu function
oh but, wouldnt it hit the same issue?
FLAVORED_ITEM would need a case sensitive id, that preserved_item_index cannot give
huh, weird
Ah I understand what you're trying to do now. In that case you can try ALL_ITEMS, take that part of the preserve id and filter by id_o_itemid
preserved_item_index_itemid to id_o_itemid basically
yea thats prob the only way 
then pass to FLAVORED_ITEM
were case-insensitive context tags reverted at some time?
i wish for Object._PopulateContextTags to unexist
( @ivory plume context tags. Supposed to be case sensitive or nah?)
I think they were always case-sensitive?
Even if we made the hash set case-insensitive, the game parses individual tags manually in a lot of places.

(sorry)
since it's been a while, do I still need to re-list/replace all warps when I'm adding my farm-specific warps?
ItemContextTagManager also appears to be case sensitive
Oh, I see. ItemContextTagManager base tags are case-insensitive, but specific-item-instance tags are still case-sensitive.
oh, interesting
I'll look into making context tags fully case-insensitive in the next 1.6.9 beta patch.
thank you!
For warps to the farm specifically, consider using one of the specific map properties like ForestEntry on the farm, instead of directly editing the Warp property on the other maps.
Thanks for the perspective. Similarly, I started off wanting to make it just a "MonoGame framework" and have no dependencies whatsoever on SV or SMAPI, but considering it's for UI, it was becoming too much of a hassle to try to build things with zero assumptions about game assets like sprites or dimensions or sounds, or a totally abstract input system that somehow makes all of Stardew's weird quirks go away, or even pushing it onto the user to figure out how to integrate with SV's bizarre menu system. So I gave up on the "Pure MonoGame" thing. Even now I'm struggling a bit trying to figure out how best to incorporate localized strings into common widgets.
NuGet would definitely be inconvenient too due to the version conflicts. Maybe once I get out of churn-mode and into maintenance-mode, that'll make more sense, but as soon as a package dependency is introduced then I have to be even more careful about any breaking changes.
oh thank Yoba, that's so much easier. I can just slap that in the map content.json?
You can put it directly in the .tmx map file, or edit it into the map via EditMap in content.json (whichever you prefer).
tysm! This saves me a lot of time.
Welcome!
It's now also possible to make farm maps that add new farm types instead of replacing existing ones, if that's something you'd be interested in
I was thinking about that but then I would need some custom farm tile art, right?
And then people who are downloading a custom map mod would typically not be using the defaults, unless that's a dealbreaker for a lot of people.
What do you mean?
like if I'm downloading my map, and it replaces forest, I don't really care because I'm not going to be playing any of the default maps like riverland, standard, etc.
so the benefit would be to get a custom map tile on the map select screen, and a custom art on the map in game?
Oh I meant about the farm time art question
Ah yeah you would need an icon for the farm selection screen
I'll play around with it, if I can get something neat/unique enough to bother I'll try it.
well, you could just reuse one of the existing icons
Ah, I need more pixel art practice anyway. I'll give it a shot.
recoloring vanilla art is a good start 😄
hm so i can do FLAVORED_ITEM Roe * but not FLAVORED_ITEM 812 *?
i think this question is possibly misguided but what is the quickest way to figure out which "number" Maps/springobjects or Tilesheets/crops something is (i.e. the number that shows up in a patchsummary not the coordinates)?
Side question, hot springs just work for regenning stamina, I assume because you're only ever in water when you're in the bathhouse, so I assume it's "player is in water, regen stam". Would it take a c# mod to adjust that behavior?
lookup anything datamine mode shows the parent sheet index
depends on how you want to adjust it
Nerf it in a specific location (farm cave).
I know the vague c# code in my head to do it but I have so little general knowledge of modding the game that it might not be the best route.
Hi all! Is there a way to tell Content.json to include every .json in one folder without typing every name?
you can do it in a single Include, but you do have to type every name
darn
ok
thanks
I have so many files (one per character) that I wanted an easy way to make sure I got them all
Hey everyone! I'm trying to list all the context tags of all the items. Is there a good way to do that?
- debug listtags is not helpful because it requires that you are holding the item in the game. It would take forever to give my character each item and have them hold it.
- It seems based on some reading that there are hardcoded tags and generated tags. I want both. So I'm worried that creating a custom mod will not get both.
i'm not sure how you can achieve that, can i ask why you want achieve that in case it helps figuring a solution?
The "better chests" mod for example uses context tags to sort items into chests. of course i want to sort my items in a specific way. Its hard deciding on a sorting design if you don't know what items have what tags. using debug listtags on the item I'm holding never really helps me. I set a chest to accept a certain tag and then another item i don't want to get sorted... well... it gets sorted. Its always in a way that i wasn't expecting. If i could see all the tags on a spreadsheet then i could come up with a sorting design i like.
It would also help me learn more about the tags and modding in general i guess. Maybe I should just make one of the beginner mods and start the modding journey and one day I'll have my own answer?
obviously this doesn't have any tags added by mods, but decent start
the functionality you want can be done via C#
oh u can also patch export Data/Objects
that should give you the static tags, but not these auto ones ofc
so it potentially misses context tags added by C# mod
Yeah. I was thinking this would be more complicated because of the auto tags.
I guess i need to run a script while the game is running so that it catches the auto tags.
The auto tags are added at runtime right?
they get added when an object is created
Interesting
the wiki documented the ones done by vanilla
You can literally just make the game instantiate every item and check the tags
Bimd that to a keybind
haha. thats what i was just thinking now...
And dump to csv
yea not too hard to do 
I bet you no more than 30 lines of code
i'd make it console commands
hmm okay. sounds good. I'll start there.
!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
Oooh. I was wondering what people were using to decompile and read the base code
Thank you!
Sanity check (i just counted by hand a few times): is pineapple #49 in Tilesheets/crops? 
One more thing that is helpful is Lookup Anything with debug fields on
That will give you every context tags, generated or not
Data/Crops indicates 43
Did a quick count and that seems correct
The giant crops don't count each one, you just count the spots where a crop would be if it was not the giant crops
🤦♀️ thank you, I was counting by column not row
Heyy I'm really new to the modding (I'm trying to make custom map). I've researched as much I could, but I can't figure out one thing. I'd really like to have a specific tilesheet but don't know how to re-use it.
I want fall beach tilesheet but when i open beach map it's that spring one. (following steps from Re-using vanilla tilesets on the wiki)
My issue is I don't have animated tiles when I export, I guess, tiles itself and missing custom properties while i want animated and tiles with custom properties from that fall version
👀

That's a "six to eight weeks" answer to cynical old me.
Oh yeah, given how long it's taken I still don't expect it any time soon
Oh, yep, checking the feedback post it says 2025
i'm just glad it's happening at all
also means i gotta look into creating reference assemblies for Cobalt Core
i'm just glad it's happening at all
6-8w does leave open some room for interpretation on that...
For shirts when they're in the player's inventory, does the game use the first sprite for it on the shirt sprite page?
I can't find them listed in Objects, so as far as I can tell they're only directly referenced in Shirts.json, and as far as sprites are concerned I can only see shirts in the shirts sprite sheet
yes
if you want the animations, you'd have to open a vanilla map, export the tilesheet as tsx and it should keep properties. You would have to duplicate the vanilla tilesheet that you want to use, name it something different like z_RyuFallTileVanilla, load that into data/maps, and use that. However you will not get seasonal tilesheets and it will conflict with mods that change vanilla tilesheet colors and it will be offputting. (The custom tilesheet will not change)
(i'm so glad tsx export is standard practice now
)
i say should with a grain of salt because i honestly just let tiled screw me up and take the tilesheet from a vanilla map if i've started from scratch
highlights tiles, copy, pastes into new map job done
see last i did that i ended up with invalid tile gid errors and duplicate sheets
i don't blame tiled for that tho. my beloved
a completely blank new map? i think i've only had that when i tried to ref a specific seasonal tilesheet
ah yeah that makes sense
my nap ruined my reading comprehension
wow, i thought loc's cookbook animation was over the top. meanwhile ape's Book_Animation:
1024x32
just enough frames
That's what happens when you don't have a choreographer and can only play from beginning to end. At least, that's what I assume happened here.
(i forget, but if i'm editing gifttastes and the item doesn't exist, it just ignores it until it exists, right? i kinda wanted to avoid 'when' conditions for optional mods)
might've just spent 5 mins losing my mind trying to find the summer boatjourneymap spritesheet in LooseSprites after seeing the winter sheet in there
how does this happen
Are the two winters the same?
They seem to be the same. So I'll go with "forgot it was there".
loosesprites asset isn't even used! it's just another iq test
@next plaza: look into marriage schedules with your 0 schedule fix (24h ago)
@ivory plume hi, care to make sure this spritesheet is actually used? it's a duplicate in the wrong folder and nothing in the game code or data assets seems to use it
i'm not sure if removing assets is on the table at all given things like maps/townindoors are still in the game, but it's worth asking since it seems like an oversight
Remind me in 24 hours to look into marriage shcedules with my 0 schedule fix
Oh okay, kittycatcasey (#6242241) (24h | <t:1726444187>)
I'm busyyyyyyy
you made uber sad
Omg thank you for clearing that up!
Is there any specific reason tho why I can't get seasonal tilesheets? Or It's because all tiles in game change seasons by default?
game changes by default 
if it's prefixed with season it changes
Oh. Good to know!
Thank you!
Hi hi, im working on making an NPC, but she's not showing up in the game when I try to test run it. She shows up in the introduction quest, and the social tab, but isn't walking around in the game. I dont get any error messages from smapi either. Heres my dispo and content json. Any help would be greatly apprieciated!
Gift tastes
i was wondering what was missing, but essentially it needs the gift tastes to exist
!npc
Keep in mind that making NPCs is a complex process that requires learning many different aspects of Stardew modding.
Here are a few links that can help get you started on all that you need to know:
-
Tiakall has a great tutorial on making a custom NPC for 1.6:
https://stardewmodding.wiki.gg/wiki/Tutorial:_Making_a_Custom_NPC -
Custom NPCs received many improvements with 1.6. For changes made, see the migration guide:
https://stardewvalleywiki.com/Modding:Migrate_to_Stardew_Valley_1.6#Custom_NPCs -
Some information on the NPC wiki page is still relevant:
https://stardewvalleywiki.com/Modding:NPC_data
Just make sure you're checking the migration page and tutorial first as this page still has outdated information on it as well. -
Aviroen has put together a template that will allow you to easily create a romanceable NPC:
https://stardewmodding.wiki.gg/wiki/Npc_template
i think ichor/tia went through a whole spiel about antisocial npcs that didn't have a gifttaste, and therefore they wouldn't function properly
Anyone else found that Game1.lastCursorMotionWasMouse does not always seem to be entirely accurate, and might happen to know what causes it to be temporarily inaccurate?
yes, i remember having issues with it in sdv1.5 for love of cooking. if i want to check if the player is actively using a gamepad, i check Game1.options.gamepadControls
Doesn't that just tell you whether gamepad is enabled, not actively in use?
there's also Game1.options.mouseControls, but this is just set to !Game1.options.gamepadControls
I usually see them used in combination.
it's updated on every input, so moving the mouse, keyboard, or gamepad at all will flip the flags
you can find the code at CheckGamepadMode
Huh, you're right, it flips from true to false and seems to be actually correct, at least on the frame I'm breakpointing. I wonder why that other flag even exists.
took me a bit of playing around to find the right way to check gamepad mode haha
Yes, I looked at that implementation but none of the underlying conditions were true. (Also there are many other places in the game where it seems to get set, some based on other conditions)
Of course that doesn't mean the conditions weren't true when it was checked, just that there's no easy way to trace what happened because of all the action at a distance...
Now that I look, Game1.options.gamepadControls is used far more often in the game code than Game1.lastCursorMotionWasMouse (143 times vs 24 times)
safe to say mouseControls/gamepadControls is the way to go 
Yes, I think you're right, just finished changing a few dozen references.
vs with the wise and ominous popups
For some reason it loves to pop that one up as soon as I switch away from the VS window.
LooseSprites/winter_boatJourneyMap and Maps/TownIndoors removed in the upcoming Stardew Valley 1.6.9. Thanks for reporting it!
oh wow, townindoors is actually gone
now do GreenHouseInterior
and WoodBuildings (and WizardHouseTiles (and skillTitles))
we will hide CA's dark past
curious how many mods rely on them
hopefully none, these spritesheets are terrible lol
aren't they awkwardly sized as well?
good point, we should remove LooseSprites/Cursors too
.NET's GC is amazingly efficient sometimes. I mistakenly used a WeakReference for a transitive dependency and it was gone on the very next frame.
@ivory plume at least in 1.6.8, if a toddler is wearing certain hats and jumps, the hat jumps and the toddler stays on the ground, i think due to the new_height calculation inside Child.cs:public override void draw(SpriteBatch b, float alpha = 1f). the effect can be seen here #modded-stardew message, although this is from a mod i am working on to let you toss older children.
is this intended behavior? (as far as i know, toddlers never jump in the unmodified game)
I don't think kids jump (in vanilla)? So handling that is likely just not implemented.
you can yeet babies
Does Jas's jump-rope count or is that not really a "jump"?
that's just a spritesheet animation i think
ok, thanks. i'll figure something out
Behold, a drop-down list that actually works the way a drop-down list is supposed to work. The cursor focus system took a whole day to figure out.
I know, you say, "who cares, the users are never going to notice". They notice, even if they can't articulate what they notice. They're accustomed to suffering in silence.
Done for those, and a few other unused assets. Thanks!
qi shop?
right yea
maybe joja. dunno what the joja shops look like or if theyre normal
item hover tooltip borders game menu borders 
the thin one is for item chest menus
and the rest is sliced up borders
oh and the gradient is the bg
got it . and what r these seems like part of whole border
https://smapi.io/log/87f4532c064a4d6f9aa0369b7c19db4d
More map related stuff, I get the error "Tiny River Farm loaded map 'assets/FarmCave.tmx' with invalid tilesheet path '.mine'. The tilesheet couldn't be loaded."
This is after doing the fix for this error: https://stardewvalleywiki.com/Modding:Maps#.22Tilesheet_paths_must_be_a_relative_path_without_directory_climbing_.28...2F.29.22
And this is what the folder looks like:
Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on Microsoft Windows 10 Home, with 11 C# mods and 1 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
show json
the content.json?
ya
!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.
are you using something in the mine folder?
Oh I do need to make spring_outdoors a tsx for the animation but it's failing on mine first
"HasMod": "FlashShifter.StardewValleyExpandedCP" btw
the tilesheet, I remember reading something that the Mine folder is different for pathing.
if u want the :false form you have to use "HasMod |contains=FlashShifter.StardewValleyExpandedCP": false
"HasMod |contains=FlashShifter.StardewValleyExpandedCP": for the suffering way
yeah it's literally Mine/Mapname
I think the hasmod will be going away actually, going to use the fancy new warp methods that pathos gave.
same concept as TownInterior, no file extention
or is it mines, either way
it reads it properly if it's inside of the maps folder
no i think u do have to copy it
ah no its Maps/Mines/mine.png
so u can put Mines/mine instead of .mine i think?
<image source="Mines/volcano_caldera" width="144" height="320"/>
hey ok, that changed the error.
and remove ur .mine file
now that is cus u didnt name ur tilesheets with z_*
but if u just do additional farm it's not problem
since it whole new map 
When I switch between fullscreen mode and window mode, the entries in the journal are offset.what happened
Fwiw menus breaking on resize is nothing new for this game
I had a list at some point
!officialbug
If you've checked that it's not a mod bug:
- Report gameplay bugs to the Stardew Valley developers here: https://forums.stardewvalley.net/forums/12/ (do a quick search first so you don't report something they're already looking into).
- Report typos or translation errors here: https://forums.stardewvalley.net/forums/32/
Alternatively, you can emailsupport@stardewvalley.net
oh governor is a robot.
a couple of menus are fixed in 1.6.9:
Fixed issues when resizing the game window:
- advanced game options layout being messed up;
- collections page losing its selected tab and page;
- social page losing its scroll position.
Why is my egg electric
its not grounded
Well ideally you reflow it based
(electric means fuel)
On the width of the screen
yea i do decide how many col based on that
So lefauxmatt over ther with his football field shaped screen sees nine columns
maybe a plus-icon instead of a lightning bolt 
Too late
though a single row could theoretically be very wide, if some modded machine add a ton of outputs
I'm already electrocuting am egg
microwaved eggs explode 
Oh no
new jas event with marnie's microwave incoming
Ten kilovolts babbbbyyyyy
only raw eggs do that right, or have I been risking me life with boiled
when people come to making-mods with questions, we always encourage them to try it and find out 
Every time I get a hint and then slowly figure it out, another wrinkle forms on my smooth, holey brain.
don't remind me of how many times i forget this one fact when i make ramen for myself--
i will make that jas event don't tempt me
say is there a microwave custom machine yet
microwave risking his life
joja™️ microwave that cooks joja™️ meals which u can only buy from jojamart
my next mod project after marlon expanded: more vanilla kid events:
"Jas commits a crime" ™️
"Vincent calls the cops"
Coin use
it's so strange seeing the original version of the gif after a bazillion fandom animation
ah the all-new Jojero™ juice press for use with joja fruit-themed press sachets.
- requires house upgrade 4 for internet access & joja membership card
god where's that videoplayer mod for a tier 4 house upgrade, it plays youtube videos on your tv
Buy it with 50,000 g, then use it once 1,000 g
You can make the UI look a lot less busy by just adding whitespace - more comfortable margins, padding, etc. I'm not sure what the "+" does either?
If that scrolls down very far, then I'd consider having one longer scrolling UI and focusing on making individual entries easier to find/identify, vs. trying to show as many possible. For the example you showed, perhaps have an "all tab" for everything but also separate tabs for the input categories (fruits, vegetables, animal products, other artisan goods, etc.).
Just some thoughts, though. Design can be a pretty personal choice.
the (+) goes to a new menu to disable certain input items
i do have to add more margin yea
Do you need all those pluses? If it's a global list of items you can disable, then one button in a header row ought to be enough (to bring up that separate screen, tab, etc., where you can choose those items from a different list). If it's supposed to enable/disable that particular row then I thought that's what the checkbox was for.
hmm
i did think it'd be easier to find valid inputs to machine if i did it per row (aka per output rule)
but yea 1 button would make more sense to avg person i think 
yea i gues i'll do tabs for this 
i saw a ITabable but that just implements controls right, doesnt draw anything
Right, that just gives you the ability to intercept controller presses for trigger/shoulder buttons.
Some UIs also repurpose those buttons as a way to do large steps down a scrolling list (like scroll down an entire page).
Doesn't even necessarily have to be fully-fledged tabs though. Could just have a row of buttons at the top that act as filters?
nah it would have to be tabs, since they would be editing different data
rn this interface with the checks changes what MachineDataUtility.CanApplyOutput returns for a given output rule
i use shoulder buttons to go between important buttons/regions with a lot of clickables inbetween, the world is your tabable oyster
but also please add padding haha
the items interface would prevent specific item from being placed regardless of rule matching status
Oh, one other thing you can do to make it a lot less busy is to hide the digits for single-item ingredients, which most of them are. That's also what vanilla generally does for stacks everywhere.
It not only helps cut the visual noise but also makes stacked requirements stand out a lot more (which they should).
yea 
i have smol issue with wax barrel having 1 global beeswax and 1 more emc beeswax
did not write the rule building funcs for purpose of resolving identical stacks in the end 
(it does?)
does anyone spot what i could’ve done wrong here? i’m working on implementing my seasonal Leo arts (i only put in the four seasons and one example festival so far), but Leo is blank void at the moment unfortunately >_<
https://smapi.io/json/content-patcher/a1f477857db9491d8b1de919b5f498c4
Did you load the files elsewhere? This file has a Format field at the top so it doesn't look like an Include file (not a correct one, anyway)
( hi silicon :D ) and sorry, but what do u mean by "load files elsewhere"?
Ohh lemme pull up your existing mod to use as an example
okey!!
Ah, so in there you're doing an EditImage action, so you haven't loaded any files in the past ehehe
So before you make a new asset (and not editing an existing one), you need to Load it so the game can use it https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/action-load.md
It's very unintuitive
but you get the hang of it fast
ooh okey gotcha, thank u!!!! :3
it's quite intuitive
if you want an asset, you load it
It's easy to learn
but not something that occurs via intuition
Okay that's just getting down to semantics
so for EMC fuels i keyed the checkboxes like this
would it be more intuitive to draw an icon instead of checkbox 
How couldi go about making a mod that replaces all instances of a characters name?
hm i feel like there used to be mod that let you do this with vanilla npc, but i can't find it
in addition to Data/Characters changes, you need to edit all dialog that mentions the npc by name
for easier mod compatibility, it will be better to do this in C#
i'll be honest i figured it'd be a lot easier than it is to render a copy of the farmer facing left at half scale
my best efforts have him take off his shirt and also his arms (??)
it's best if you ignore the bread
If you can only enable/disable certain rules in pairs (apparently quality related), is there much use in showing both?
As far as icon vs. checkbox, I think they're both fine - checkbox is more often used in the game as a "tick" - as in something having already been done like animal petted, gift given, etc. - but in GMCM it's used for on/off and everyone's going to be familiar with that too.
If it's focusable (for controllers) and has a tooltip then users will find it.
I guess the idea is that one is like a "master config" of "can this be put in machine" wheras the other one tied to it is "will it also preserve quality", but I'd personally put a second tick for the "quality" config next to the existing one (with a little star or something)
oh my god it's the flip arg on new FarmerSprite.AnimationFrame. it takes off his shirt. still no arms though?
his hat also doesn't seem to flip with flip
Oh, can the gold ones be enabled/disabled separately? If so, yeah, I agree it'd be more intuitive as an extension to the base rule vs. a separate rule.
Why doesn't the game actually do anything with the custom offset values the wiki tells me I can do for chairtiles 
Either an extra control for row (resulting in half as many rows) or a multimodal toggle that cycles through quality.
I guess that's not what's shown in the video but it would make sense to me that way ahaha
(I sure am glad I've never had to deal with FarmerSprite and never will)
why does farmerrenderer.draw() take a Rectangle param (to set the source rectangle) and also an AnimationFrame param (to set the source rectangle) and also a CurrentFrame param (to set the source rectangle)
and then also a facing direction number (to set the source rectangle)
It is because I did not read the wiki properly so I missed that it needs to start with custom. Hooray!
It wants to be really sure you give it the source rectangle.
Yahoo! (I happened to find someone who had the same issue in the past by searching ehehe)
(was about to mention it but you were faster)
It's actually bc emc implemented fuel in a per output way while this ui is per input. I do think showing 2 checkbox is a bit silly but I don't have any good idea for indicating 2 rows as related 
Beyond the position ig
Searching Discord was a smart idea. I looked through the decompiled code to find it lol
Straw poll. Positioning a HUD with controller, can be positioned relative to any of these er... quadrants? Nineants? Areas of the screen. Preferred controls?
- L1/R1 (shoulders) to move up/down grid cells, L2/R2 (triggers) to move left/right grid cells, and D-pad/left-stick for small movements within that cell; or
- D-pad up/down to move up/down grid cells, D-pad left/right to move left/right grid cells, and left-stick only for fine tuning.
I like the apparent obviousness of having directional pad correspond to large directional movements, but it's also harder to use a stick for precise alignment than it is to use a pad. OTOH, while using shoulder/trigger buttons for grid snap would free up the d-pad, they're really not terribly intuitive and would probably require a lot more work on the button prompts.
oooh i love the coordinates for farmersprite are x and position
i'd have LB/RB cycle forward/backward through each cell in numpad order
but i do also make bad decisions often
What about using modifier keys
Haha... hm, my image above probably makes it look like a clearly-visible logical grid although in practice it's more like "corners of the screen" (including the center as a "corner").
Users might not get that it would "wrap around" by repeatedly hitting RB.
Idk hold Y to move 32px at a time with dpad
Modifiers aren't helpful here, this isn't just about getting an absolute position, it's also about the alignment. There's a logical difference between all 9 of those squares.
I do not like the idea of using the stick for fine tuning. (But I hate controllers so my opinion may be worthless lol)
In that case the choosing the align should be different option than fine tuning 
Right - thus different controls for each. Trying to decide on specific control scheme.
(I may have worded it in a confusing way, but the two bullet points above were supposed to be the two distinct choices for control schemes)
Yeah but i think they can both be D Pad if it's just 2 different options to set
i hat e e verything
Stick for fine movements would probably be fine if there was a modifier to reduce how much the object moves with the stick
For sure, it would definitely be interpreting the "analog" stick as just single-pixel repeated movements similar to d-pad, as opposed to the extremely imprecise cursor-style movement.
They'd be basically equivalent. Still, it's much easier to just tap a d-pad button than it is to quickly move the stick in and out of the deadzone.
And then I think having the d-pad move sections is probably more intuitive
I was thinking about modifier and d-pad for precise movement instead of section movement, but then I was imagining accidentally hitting that and yeeting my shit
Even the other way around seems like it could get kind of annoying
why does it look fine if i use the overload that doesnt use scale
it's not fair
i just want a small left-facing farmer man
Are you drawing sprites with a destination rect?
I really don't want to look at farmer sprite code, but SpriteBatch is really unintuitive when you combine scale, origin and destination rect.
destination rect can't be combined with either of those
but this is a sdv problem, not a spritebatch problem
And by "unintuitive" I mean "it was so confusing to me that I just said fuck it and switched to manually computing scale and using single-point draw instead"
maybe it's fine if his shirt is off while he's facing left. maybe it makes sense he'd take it off
I'm guessing it's a transform order issue, regardless. Scaling being applied before translation while you're expecting it to work the other way.
(or vice versa... something like that)
he might be going to the beach....
Just wait until you try rotation.
Honestly it looks like he's sitting on an imaginary toilet while wearing a trash can for some reason.
Seriously though, AnimatedSprite does use a transform origin which means the relationship between scale and position could be something other than what you expect. And we haven't even gotten to rotation...
hello I am working on adding lava logic to my custom map but when I load the mod it doesn't look for the map properly...
It could also very well explain why flip is behaving differently from how you expect, if parts of the sprite are flipping around a different origin point.
Mod crashed on entry and might not work correctly. Technical details:
Microsoft.Xna.Framework.Content.ContentLoadException: The content file was not found.
---> FileNotFoundException: Could not find file '/run/media/arony/f5082bc7-56fd-4cd6-8907-d636bcad9740/steamssd2023/SteamLibrary/steamapps/common/Stardew Valley/Content/CapeKeyMaze.xnb'.
File name: '/run/media/arony/f5082bc7-56fd-4cd6-8907-d636bcad9740/steamssd2023/SteamLibrary/steamapps/common/Stardew Valley/Content/CapeKeyMaze.xnb'
at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)
how do I get my mod to look in maps in the content folder?
That's not an actual map in the vanilla content folder, so why are you trying to load from there?
Are you using GameContentHelper or Game1.content when you want ModContentHelper?
Neither content patcher nor SMAPI puts actual files into the content folder, it loads them as logical asset names.
hmm
You have to load them from your mod data, then they are available as asset names.
The pipeline is a separate idea from physical files, part of the reason it's kind of hard to make people understand that Target isn't a path lol
If the game is reading from the content folder it means no mod resolved the loading of the asset at all
I found an offhand comment on the Harmony docs mentioning that Mono doesn't respect NoInlining annotations. Anyone know if this is still true, and if so, whether it means inlining behavior could be different for copies of the game running on Windows vs. Linux?
Mono should only be relevant for Linux compatibility branch, otherwise it's using the regular .NET 6 runtime
Linux compatibility branch...?
The compatibility branch on steam/other that still is still .net framework (and XNA for windows)
I am confused. Is the compatibility branch Microsoft .NET or Mono? Is it some ancient version of the game no one uses anymore or is it an actual parallel branch pushed with all game updates?
(Is it actually more compatible with... something? Somehow?)
I see. So it's for uber potato PCs built from old AMC Gremlins. Can probably ignore those, then, thanks.
i give up. fuck it
ET go home
Ok dumb question. The content.json for a custom farm has the handy arguments for warping into the farm from other maps. Do I still need warp arguments in the tile data of the map itself for leaving the farm?
Farm map warps are done via map properties, not tile data. You will need to add/edit some warps out of the farm in some way unless you copied from a vanilla map and all the warps are already there in the correct places.
makes sense ty
You can manage the warps in the map itself or via the json, btw
how so with json? I have this:
(there's no feasible way for me to set a configuration against having a custom farmhouse, right? except for just setting a bunch of uniqueIDs as a throwable error but i don't necessaryily want to do that)
And then I have like, "farmhouseentry".
Add the "AddWarps" field into your "EditMap" action for the farm, like so (obviously with different Target etc).
{
"LogName": "Edit National Park entry into Forest",
"Action": "EditMap",
"Target": "Maps/Forest",
"AddWarps": [
"-1 48 {{ModID}}_NationalPark 59 31",
"-1 49 {{ModID}}_NationalPark 59 31"
],
},
ah that was what I was doing before, but I thought you had to do full overrides in that case.
Shouldn't think so since the only way you could check it is by checking for mods.
What do you mean by "full overrides"?
i've found a perpetual bug for one of my farmhouse events, where for some strange reason it nullifies and locks the player in place if they have a custom farmhouse obviously because the npcs can't move
like, all possible warps that supercede the other map's warps, including farm <-> other. Not just inserting one for farm -> other.
I am probably operating on imperfect information.
Ah right. Well, what you've got already covers the warps from other maps into your farm (I assume - I've never seen them before because I've never done a farm map lol) and then the AddWarps will cover the warps from the farm out to the other maps.
I will give it a shot tomorrow. The last time I did farm map was 2022 and it's Just Worked since, so revisiting it today has been a lot of head scratching of if I did it the way it was supposed to be back then or if I just had accidentally cobbled it together.
I like doing the warp changes inside a json over the map properties so that will be nice.
Sucky.
Yeah it is good being able to do stuff like that with the json. You could do all your object properties and stuff that way too I guess but so far I have not bothered.
hi @ivory plume, i'm sorry in advance
FarmerRenderer.drawHairAndAccesories doesn't behave well for any scale != 1f and it gets worse if FarmerSprite.flip == true
today's use case is rendering a fake player at a smaller scale, but it's making me extremely sad. screenshot shows results with scale set to 0.5/1.0/2.0 and flip set to false/true, original farmer in the middle. test mod included if you like, i think it's just a matter of fixing a few draw calls which use Game1.pixelZoom instead of Game1.pixelZoom * scale, but i have no idea about the flip behaviour since the method doesn't seem aware of it any further than facingDirection
i'm sure there's a lot of red tape around farmer draw methods, but it'd be nice to see it fixed if it's worthwhile.
SDV 1.6.9.24258
can i has help with this bug
https://smapi.io/log/2153ab6b5bac4aceac61835ecccdbfc3
i literally cannot replicate it
my event code:
https://smapi.io/json/content-patcher/29c1f42c7ead4c2db98484ea691d4900
it works just fine for me, i've done both branches with no problems so i have no idea what's conflicting with me
i've preemptively debugged this with SVE's grandpa's farm and that's why i was able to remove the viewports because it worked without the wonky viewport and when condition
Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on Microsoft Windows 10 Home, with 74 C# mods and 160 content packs.
the red error about not being able to switch? who is having it?
a user gave me this log, i've debugged this in isolation and i can run it just fine
by debug i mean i didn't bother to do debug ebi <event id> i let it run it's course
I was not still awake and I forgot about this until just now but ty! I will let you know how it goes for me next time I play.
you can suggest :
- they verify they have Data\Events\Custom_HighlandsOutpost
- they reinstall fresh
- they try again
