#making-mods-general
1 messages · Page 246 of 1
uhhhh see my mod translation implementations get worse and worse with every new project, let me see if i can find a normal one
BLESS YES PLEASE
your folder is named 18n 
felt... one time i typed an i18n value without the n
so for Gift Wrapper, the project layout is like so:
https://github.com/b-b-blueberry/GiftWrapper/tree/sdv-1-6/GiftWrapper
i reference the I18N TranslationHelper throughout the project from some static property here:
https://github.com/b-b-blueberry/GiftWrapper/blob/sdv-1-6/GiftWrapper/ModEntry.cs#L25
like so:
https://github.com/b-b-blueberry/GiftWrapper/blob/sdv-1-6/GiftWrapper/WrapItem.cs#L35
i'll never understand the tech lingo mashing that gives us urls like tree and blob
you don't need to make some internal static readonly getter property for the i18n helper, but it helps ☀️
thank you i can now understand this 😭
why is the documentation like this
it was throwing an error that I18n was not found,,,
is there any specific reason to haeve my flowers and herbs and trees on different tilesheets or can i have them all on one
absolutely have them all on one
the reason to have different is to make them easier to find i guess?
fair i guess for orginization
...init
did you press ctrl+. with the caret on the errored-out code at all? the intellisense problem solver should suggest importing a package
alternatively you can hover it and click the 💡❌ icon to bring up the same menu, but it doesn't like me much and vanishes
are you using rider or vs, blueberry?
it sounds exactly like how it works for me in rider so I'm curious if they just do it the same
VS, it's just something in common i suppose
neat, they literally use the same shortcut then
which checks out since ctrl+. is about as obtuse of a hotkey as jetbrains products like to use
shift+f6 or whatever to rename a symbol drives me insane
idek what they use for anything because there's three different hotkey configurations you choose from at the start and they change basically every hotkey
I'd just use my mouse (which I usually hate with a passion) but the right button only works roughly 5% of the time 
i think you need a new mouse haha
i hate replacing things that still mostly work but i've tried existing with flipping the mouse buttons for doing different tasks with a broken mouse and it's miserable
I think I need to use my fancy MX Master and not this wired thing that probably came free with something fifteen years ago
nothing makes you lose your mind faster than trying to use photoshop with a flaky left mouse button
why i happen to have a fancy MX Master 3S right here
flaky left button? that's barely even usable 
this one is an MX Master 1 haha, got it for free from my internship
the last mouse (logitech G703) would work perfectly except for the LMB occasionally pressing 5 times instead of 1 and releasing 5 times per second if you held it down
which fucks up everything lol
and the whole outer tactile coating seems to be dissolving now i've left it for a while which is scary
oh the rubber kind that melts over time? yuck, it's probably sticky now too
absolutely
the master 3s seems to have the same flavour of coating so i've got that to look forward to when i'm older and more decrepit
and maybe also dissolving
won't be able to tell if it's sticky if you are too, problem solved
i'll say it's very nice having the horizontal scrollwheel on the mxm3s for visual studio, great to be able to read long lines in small window panes without having to drag the scrollbar each time
WOW! I18N decided to un-throw the error and now I can follow the instructions in the documentation! ???
thank you @brave fable ;~; i now understand what all the code does
also the package was already imported see i started with that
it just. hadnt. caught up??? or something???
yeah VS does actually need to think about what to say. it's very anxious but also very focused on its job
especially when you first open it, takes a while for it to remember what it was doing
whelp, I have literally no idea where that mx master is
shift+scroll usually scrolls horizontally
it does, but shiftscroll in VS is unbelievably slow lol
wonder if there's an option for that
@gentle rose sorry to bother you but i dont understand about i18n support...
hmm i mean i read wiki page about i18n
which part don't you understand?
but as i understand i18n is supporting the dialogs used by content patcher
and I edit the dialogue I want with C#
no, i18n works for c# too
it isn't just dialogue, either - any message you show your user should be i18ned
is i dont understand how to add i18n into my code
https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Translation this page is about i18n in C# mods
im reading it currently
also, your C# and CP mods won't be able to read or use eachother's i18n files or text. if you want to share i18n text between both mods, you need to add them to a data asset
(I believe they only have a C# mod right now)
found the mx master
forgot how nice these proper mice are 
and somehow it still has charge after like three years in storage, legendary
i've recharged my mouse like 3 times total since black friday. i haven't recharged my keyboard. unbelievable
i mean keyboards usually last long but that's on AA
Something something challenge accepted
please atra i've already done the stupid way and been shamed for it
no need, I can literally send you the code if you want, I have it ready 
logitech mx mechanical to match the pair
I'm glad this is every C# modder's shameful past crime 
i'm not ashamed, i've just been shamed for it 
I DID IT!!!!! THE NEW AGE OF RANGED COMBAT IS UPON US!!!!
https://www.nexusmods.com/stardewvalley/mods/32298
yeah this is confusing as shit
- Add a folder named "i18n" to your project and put the file "default.json" in it and put the normal stuff into there
- Do this
https://github.com/Pathoschild/SMAPI-ModTranslationClassBuilder#readme
Just remember to give it time between installing the package and writing/copypasting code -_-
be honest. how much of your time using the mx master do you spend making the scroll wheel glide for fun
what is the content pack for?
I thiiink you probably just want it to be two separate mods? With just the regular mod order / asset access / api interaction?
That one is in the other's mod folder is just an organization quirk
for change the robin extra dialogue
the house upgrade accepted one
hmm but i saw other big mod have CP inside the main mod folder
no no this is for the update
organization quirk
if it has its own manifest it's a separate mod
my last release Robin didnt have the ExtraDialogue because i cant change the "three days"
yeah, if you actually need it because you're adding separate things, the two parts of the mod will each be in a separate folder inside the main mod folder
oh
i spend more time fighting to stop it from gliding than actually scrolling, i already use ctrl+home/end a lot and this is teaching me to use ctrl+g lol
i'll try it as a separate mod first to see if it work
admittedly it is convenient for stuff like scrolling through endless browser tabs and merge conflicts
like
- Farmhouse Upgrades
|-- Farmhouse Upgrades Code <-- your C# mod
| - manifest.json
| - ...
|-- [CP] Farmhouse Upgrades <-- the content pack
| - manifest.json
| - ...
oh yea this
Ahh i need to take a break
So messy
it's convenient for going wheeeeeee
it's also very very very inconvenient for zooming in/out in photoshop since one flick and your entire spritesheet is a blip in the distance
i'm glad the mxm3s comes with a ratchet mode even if it does go into slip n' slide supa speed still
even the 1 comes with ratchet mode, I think in the 1 you can disable glide entirely
ugh help me
everything work fine instead of this
Robin ExtraDialogue Robin_HouseUpgrade_Accepted
{
"Format": "2.5.0",
"Changes": [
{
"Action": "EditData",
"Target": "Data/ExtraDialogue",
"Entries": {
"Robin_HouseUpgrade_Accepted": "Thank you! I'll get started tomorrow. I should be finished in around {UpgradeDays} days."
}
}
]
}
okay
i dont recommend that
i18n is a big enough change it's in my experience better to start doing it correctly than scramble to refactor later
-horrific flashbacks to i18n-ifying my seasonal outfits mod-
hmm so the dialogue get back to default
I always work that way. Starting with i18n introduces an extra point of failure to deal with in troubleshooting.
oh i got the problem
But I only do it with one thing at a time.
So if I was in Rias's shoes for example I'd figure out this token issue and then put it into i18n immediately after that.
fair enough yeah
I do agree with not leaving i18n until right at the end of the entire mod. That seems daunting and inviting many new potential errors to be introduced.
I still don't understand much about i18n.
That means that UpgradeDays doesn't exist as a token in your mod. Did you get the spelling wrong?
after i read the document that Liliet sent i found a way to use i18n in my code
no is just something Liliet tell me to try
but what i dont understand about i18n is what i have to do with it and what it does
It just helps you to put all your translateable text into a document separate from your actual code (or json) so translators can translate your mod without releasing an entire copy of the mod and also without poking around in the code and breaking something.
people say i18n is used to translate my mod to another language or support it better
yes
Liliet told you to do this? #making-mods-general message was that before I arrived?
but I don't understand what I will have to create default.json file with
Because that token has nothing to do with i18n.
No, the things Liliet and I said above are CP's and I'm just trying to edit Robin's dialogue with CP.
you don't need to worry about it anymore because i'm still looking for a way to fix it
I'm not sure if your problem is that you're trying to translate to i18n or if your dialogue change isn't working, or both.
right now i think it's both. but the issue i'm more concerned about is that i'm trying to change the dialogue which isn't working
rather it works, but it fails for some reason
this is the picture i took when i changed the dialogue but it was broken'
with my message line has the CP code you asked
Okay well that's what I was talking about with the token. The game is saying you haven't defined the token before trying to use it. And you got that "days" line when your token incorrectly just had one set of curly braces around it.
Where are you defining that token before trying to use it? In the config of the CP mod?
It has to be defined in the CP mod to be able to use it in there. You can't read a token from your C# mod in your CP mod.
oh...
@cyan venture You leveled up to Cowpoke. You can now speak in our voice channels and share images in all channels!
but how
(Well, you can if you use Button's Cross-Mod Compatibility Tokens mod but not otherwise.)
i mean
i'll try this first
Or you could just do it all in C# instead of making a content pack just to change some dialogue.
I remember, I tried to merge CP and C# mods into one but got some error related to LocalizedContentManager
I tried but the code keeps crashing and I feel like I'm going crazy trying to fix it
You might be going down just as complex a path trying to create a config in your C# that you use in your CP mod, but I'll admit I don't know how to use tokens in C# yet so I couldn't offer advice about how to edit the dialogue with them in C# anyway.
Hi, do you know a guide to create a mod with a custom machine?
welp i gave up
cant make it work
I don't know of any step by step guides but if you already know how to make CP mods, this page should have what you need to make a custom machine https://stardewvalleywiki.com/Modding:Machines
Whoops my last message was meant to be a reply
Have you already written the code to actually change how many days Robin takes to build?
yes
well but just let it go
hmm what is this
I bet I could help you
(just had to go away for a bit sorry)
there's a mod that lets you just straight up access another mod's configs
it's okay, i'm the one in need so i can't ask for much
the problem is I don't remember what the mod is called
I get the feeling I already know why, but just in case: in CP, why does {{{{C}}.Alpha}} throw an error?
what do you mean
THAN KYOU
It's the mod I mentioned before. CMCT.
No reason why that should inherently cause an error so you'll need to provide more info.
{{C}} is variable; say it's "Machine". I want for {{{{C}}.Alpha}} to become {{Machine.Alpha}}, but CP doesn't like it.
hmm but my mod is 100% C# and this mod is for CP?
yes, that's fine
What's the error?
oh i understand
first you need to put your c# as a dependency in manifest for your cp mod
It's not php. You can't do that
so this mod let CP access token from C# mod right?
yeah
Yeah, I was afraid of that.
then you use
{{Spiderbuttons.CMCT/Config: [YourC#ModID], UpgradeDays}}
where you were putting {UpgradeDays}
(just replace the placeholder)
ok
you shouldn't need CMCT to access C#-mod-provided tokens in CP
then what?
I had an inkling of this thought in my brain but I had no idea at all how to make them available. Because they're not available by default, are they? Or is it only CP mod tokens that can't be accessed by other mods?
if the C# mod is using content patcher API's RegisterToken, then in CP you just access the token in its namespace
e.g.
var cpapi = this.Helper.ModRegistry.GetApi<IContentPatcherAPI>("Pathoschild.ContentPatcher");
cpapi.RegisterToken(this.ModManifest, "YourTokenName", () => {
return new[] {$"{your value here}"};
});```
then in CP you do
`"{{your.smapi.ModId/YourTokenName}}"`
this is the purpose of CP's token API: to expose tokens for CP packs to use.
but aba is right that tokens defined within a CP mod are local to that mod and can't be used by others without CMCT doing its thing to expose them
(also, note that technically you should be checking whether your GetApi call returns null, but my mod has a hard dependency on content patcher and content patcher is one mod that it is, in practice, safe to assume everyone has)
Hey, @tiny zealot, would it be possible to specify a higher base resolution for secret note images (e.g. 640px by 640px)? I don't think Secret Note Framework allows this at the moment, but is this something you might consider adding?
I am ashamed to say that I do not understand enough about C# modding yet to understand whether you need to register tokens with CP's API to use them within your own C# mod. Or whether you even need tokens if it's a C# mod or if you achieve the same functionality with something different.
it is a feature i have thought about, but currently it is not possible. if i do allow it, i likely won't go past 256x256, since the default size renders at 4x by default so going higher will cause bad pixels
or maybe i'll give you more canvas to work with, who knows we'll see /lh
Alright, thanks for your response. I was really jazzed to put artwork in there 😛 Will go back and re-evaluate now
if you're going C# to C# then you definitely don't need CP tokens (they're only for content patcher). if you're within the same mod, you can just access whatever you need, and if it's different mods you can use smapi messages to shuttle data between them (or reflection, if one is hostile)
"hostile" meaning not under your control, probably not a great word choice
Thank you for the info
I was just thinking within the same mod because Rias only started considering a CP mod because they couldn't get Robin's dialogue to change the way they wanted. So I thought I might as well try to learn how to do that to give me direction for my next set of C# lessons.
(You can use Game1.Multiplayer instead of the private Game1.multiplayer field.)
uhhh some how it worked but token days disappeared
oh okay tks
Sorry, forgot to reply earlier! If you're using...
- the basic token API: Content Patcher will handle all the details like that, you just need to return the token values when asked.
- the advanced token API: you'll need to cache values until the next context update if they may change (see caveats and concepts in the docs).
ahhhhhhhh, i should just let this dialogue disappear
Thank you so much
It seems that running a flavored item through a custom smoker strips the flavor? Anyone familiar with something like this?
@fathom rapids @gentle rose @tiny zealot @vernal crest i did it omg
uhm but the portrait is gone
but it's ok
i think we dont need that
https://smapi.io/json/content-patcher/68461659a99a40caa28704916e8e9f62
This is the operation I have atm, it is probably way wrong because I've been trying a plethora of things to allow the smoker to spit out the exact same flavored item + smoked effect/price increase
I dont know why I have so much trouble understanding the logic of how preserves work
Does anyone know of a mod that allows you to change the position of the stamina bar, toolbar, etc, but for mobile? (Android)
#modded-stardew but no
Oops, srry and thx
Is @tiny zealot still around?
yeah what's up?
How complicated is the code to randomly color flower heads
would you cakll it easyish to deal with with a first time delving into code?
Not seeing text on a combined secret note
Just the image
"Contents": "{{i18n:SecretNote_Joja.contents}}",
"Title": "{{i18n:SecretNote_Joja.title}}",
"Conditions": "PLAYER_HEARTS Current Demetrius 2",
"NoteImageTexture": "Mods/{{ModId}}/SecretNotesImages",
"NoteImageTextureIndex": 2
},```
"SecretNote_Joja.contents": "^On the back is scrawled \"HELL NO\".",
anyway to test multiplayer function without multiplayer? guys
Where can I find the default colors for the various categories?
[[Modding:Context_tags]]
I mean the RGBA codes 😅
You can just run the game twice.
It doesn't have the sort of DRM or whatever that'd stop that.
StardewValley.Object.GetCategoryColor(int category)
That looks like C#, but I just want the colors (RGB, HEX) so I can use them for image editing.
"selph.ExtraMachineConfig.ExtraPreserveId.1": "DROP_IN_PRESERVE",
should be
"selph.ExtraMachineConfig.ExtraPreserveId.1": "DROP_IN_PRESERVE_1"
Yeah, it is C#. The colors are hard-coded and not listed on a wiki anywhere to my knowledge.
Ah, okay.
I suppose I could add the colors to the categories section of the items page
Thanks Selph! Helpful as always :D
Hmm seems that is just coming out as Cider
Wait… did you release the mod?
how many flavors does your cider have
Just one
And that process works as it should I believe
I get FLAVOR Cider
Sorry I have pestered you so much with this, idk why I can't grasp it
aahhh I see
ok you wanna use INPUT_EXTRA_ID_1 instead, since this is the flavor of the primary input itself
which mod?
"selph.ExtraMachineConfig.ExtraPreserveId.1": "INPUT_EXTRA_ID_1", in ModData?
yes
YAHOOOO!!!
This one?
oh yeah I released it a while haha, firedlily's furniture machines make use of it
for the clothes recycler
Oh I’ve been wanting to release textile shredder finally 
MakeWeedses
That’s what I’m doing ^_^
So how would I be able to code it in now???
just as usual, it's a passive change
Selph would it be possible to preserve 3 separate flavor IDs in my smoking process? Asking if it's worth adding support for smoking my 'final' meads
something like category_clothing for context tags for example (I think that's the right context tag?)
Okay cause I have like hundreds of clothes already set up to yield the output
sure, increment the number for each flavor (DROP_IN_ID_2 and etc.)
Cool, thanks again!
hmm, that looks right at a glance. i'll take a look
I'm back with another bizarre bug which I don't know how to deal with
anyway fought water draw code last night and the draw code won
Whoa that looks awesome
I didnt know you could
Water
Is that meant to be an aquaponics system?
Hydroponic
Idk whag the word is it's all water
hydroponic is the term I believe lol
Oooo you're incorporating fish?
Today, subject bug is mentioning conflicts with PIF, a certain pack for it named Enchanted Garden and Vast Domain talent. When Vast Domain is enabled, erases all fish data for the Enchanted Garden and leaves only trash, okay, but why?
Nice to know that Water has Fish
I forgot what a fish was and was about to ask "what about ostriches"
(this happens a shocking amount)
ostfishes
what does Vast Domain do can you remind me (on phone waiting for food rn)
Make catching legendaries easier
Only by editing Data/Locations
The content pack doesn't make any changes there, and I don't know where PIF source is so I don't know how PIF works as well
it's here: https://gitlab.com/delixx/stardew-valley
and delixx is around as well, you can ping them
hmm, i'm not getting repro on this. can you send me a log when you have a chance?
smoked and aged, dang
need salt curing next
I might add filtering lol
Use wool/camel wool to make cheesecloth to filter your mead/cider, get byproducts and further extend price
rofl
Yay Selph. Thanks for making extra machine config
I’m really excited to get textile shredder into action
Wonder if there is a way to insert the preserve flavors into my description instead 
not yet, description is hardcoded and I havent gotten around to untangle it yet
the only item in game with dynamic description is smoked fish
Here, a larger tooltip. 🙂
HOLY CRAP LMAO

omfg if someone had my mod installed and had my poppyseed bagel next to this bagel id freaking laugh so hard
even if it isnt, by my decree it is
WITH NO BUFFS? /j
Imagine trying to craft this with modded items
the flavour on that thing must be insane
Show of hands for those who set up unit tests for their mods
god
sounds like an unenjoyable level of crunchy
errrmmm what does as usual mean ._.'
just make your machine rules with the clothing as input
oh wait so i dont actually need to add anything to the code as long as the user has ur mod installed?
yep
0 Largemouth Bass
0 Sugar
0 Purple Mushroom
493 Pumpkin
0 Melon
someone who's good at bagels help me budget this my family is dying
pick a plant, any plant
Rosemary
07
This what you need?
https://smapi.io/log/f4bb4d99d959490ebf9cfb0e320b420b
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on macOS Unix 15.3.1, with 9 C# mods and 2 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
Saffron
yay okay so my machine works but it's not using these frames to animate processing...
That little squiggle under "Ginsing" is telling you it's spelled "Ginseng".
Try setting both load and working effects to that
machines are funky where if the load effects don't fire so won't the working effects
whoops, load effects as in LoadEffects in the machine data
right above WorkingEffects
oh i must have forgot to add LoadEffects
ty! 
IIRC I couldnt get my animation to play with a load effect as well as a working effect
i put this and it couldnt work
You only want it to animate when working
yeah!
That’s funny. Iirc, I had to use both a working and a loading effect for it to work properly.
LoadEffects triggers only when you first place an item in it
So ideally you'd want it to just play a sound, maybe shake
What I did was just add a bubble sound in WorkingEffects so it does it every so often
and it doesnt shake like other machines cause it stats animation immediately
So I didnt even end up using LoadEffects
ohhh can i add a sound from other machine sounds in game????
think you also need WorkingEffectChance
You can even add your own
would 1 be 100%?
Yep
I did for my projectiles in my weapon pack
I have added the category colors to the wiki page Modding:Items.
Fantastic, thanks!
where would i be able to find game sounds?
You'd use the ID on the left
That is just a info dump though, if you want to hear them I imagine you have to extract the assets
thanks.. i dont think i can find it
"Sounds": [
{
"Id": "woodchipper",
"Delay": 0
}
],
is the default
Think I shot myself in the foot for naming conventions on my aged mead
you can play sounds in game with debug ps soundcuehere
tysm(:
I 'randomized' the outputs for the process to where You get PRESERVE_1, PRESERVE_2, PRESERVE_3 in a random order so it feels more authentic
This means now when I age them, it seems I cant properly translate that with one recipe
hmm. nothing sticks out, except that you are also editing the vanilla secret notes asset. i assume that's just to change a vanilla reference or something?
i assume the framework note shows up on your secret notes collection tab with the framework's default item icon?
Naming convention can only come out one way, as far as I can tell
I tried using %DISPAY_NAME and {0} neither worked how I wanted
No. If I'm editing the vanilla notes, that is by accident! But the framework note does show up with the special secret note icon
Might have to just truncate the outputs for the aged mead to always come out a single way
you can make multiple entries again, unless I misunderstood what you wanted
How would that work with the inputs all being the same item but with just a different naming convention
Gotcha
@tiny zealot I've got the latest Secret Notes Framework, I believe. Happy to do/test whatever helps
Try lowering the interval?
yeah yours looks up to date. can you either put together a minimal repro content pack and send it to me (DM is fine), or try removing a few extraneous mods and see if one of them is interfering?
Did you spawn a new one?
yeah and lowering interval to 100 didnt change cnaything either
Thats odd
the only other harmony mods you have are portraiture and custom tokens, but i can't imagine either of them patching the letterviewermenu
I can remove both of them and give it a try. If that doesn't work, how do I put together the content pack? Just .tar everything in my mods folder?
https://smapi.io/json/none/121187e427974f31b58eff39c2a47e13 feel bad sending screenshots
If it helps, I could share my machine code, too.
if it is animated then yes please! 
Yup, just give me a sec!
tysm!
ideally you cut out anything but the bare minimum to get repro, but your list is small enough that i'll take it as is
.tar or .zip?
zip is easiest
My only guess is the lack of information in your machine data? I copied an existing machine and only changed what I needed whereas you are only including what you need.. not sure if that matters but just a thought
What is there looks like it should work
I noticed you have frames 2 and 3, but your sprite sheet only has 3 frames (so it only goes to 2)
Here's mine. Sorry, took a moment to turn my laptop on and cut about 3k lines of producer rules, lol
https://smapi.io/json/none/5275ee9a9db14db4af058fb1be7b1a54
oooh someone told me 0 was the default frame o:
so it would be 1,2,3?
0 ideally is the static frame, iirc
0 is the leftmost and non-working one in your spritesheet, yup.
So you would place 0, then play 1,2,3
If you had 4 frames
So you would place 0 and play 1,2
It will then cycle frames 1-2 until its done
If you intended on them all to be animated, you have to add a static one to the leftmost index
So it would be STATIC/Your First/Second/Third
oh thanks !
No guarantee that's the way it's supposed to be done, but it's the only way I could get it to work back then. Let me know if you need more info!
my machine works just not the sound/animation part 
dont think i could change anything ;-;
Do me a favor and try to add load effects using the same animation data as the working effects.
ok!
(Again, no guarantee and no logical reason that'd work, but it's what worked for me for whatever reason, lol.)
We did notice a slight issue with not being able to have both working and loading effects from someone else, I think?
didnt work 
Dammit.
My machine doesnt have LoadEffects assigned at all
I'd recommend pulling apart my LaundryMachines code for an example but that's also using Furniture Machines rather than a BigCraftable, so behavior might be slightly different
Guys, is there like... a list of swear words that would fall under "Adult Content" on Nexus? Obviously f-bombs would go in that category, but what about stuff like "crap" and "damn"? Those are extremely mild to my ears, but maybe I need to make a profanity toggle for my mod to filter them out?
please!
I would assume anything that cant be said on broadcast TV or radio
ill look for anything, ill find it rn
I wouldn't really call either of them adult content if I'm honest. I think that's more reserved for, like, nudity?
I'd agree there
Nexus asks about swearing, and I'm just a little paranoid xD
https://smapi.io/json/content-patcher/930402fa267a41928bc8133949c1adf6
I would copy this format exactly, change only the info necessary for your machine/mod
Alex says damn good burger at one point
I think you are fine
I copied a stock machine and only edited what I wanted changed, and after discovering LoadEffects was preventing my WorkingEffects I removed that as well
Sweet. I'll just double-check for f-bombs and call it a day then
You're making me question whether my animation actually still works after all...
Im testing with mine rn so I know it works haha
Okay again, more testing with this JSON:
- Both working and loading effects like up here: Works ✅
- Only working and no loading effects: Works ✅
- Working effects and loading effects with the animation part removed: Doesn't work ❌
This is so weird.
I don't think you should. For what it's worth, I also don't think it's a problem on your end but the game being extremely weird.
I'm sorry, but I fear I'm at my wit's end. That copying into load effects was the only workaround that worked for me.
sending in case i missed anything
i might just upload it anyway just cause ive been waiting so long to anyway 
GUYS LMFAO
I THINK IK WHY IT AINT WORKING FML
wrong folder location
i accidentally edited the copied code 
I can't decide whether I should "
" or "
", lol.
Defenses Division has a character that makes a giant penis snowman at the winter festival. I think you will be fine with damn. Also swears a bunch to..... so agian think you will be fine.
OMG CRAP IT DIDNT WORK

yoba is playing me rn
call it beta and call it a day

https://smapi.io/json/none/2e50530255ea4ca7a6b24e234969d839 if anyone wants to try and pick ur brain apart to figure this out pls lmk 
whew xD
I personally (as a parent) think defense division should have the adult tag, but I doesn't. And I don't want to add the tag to someone else mod as I don't like confrontations.
Did you try what I suggested? Copying my machine code and just swapping your specific info?
I mean, nobody gonna confront you over tagging their mod, as most people don't even notice it
Don't even think there's a way to see who did it
As long as you're not using the tagging system to troll, tag away
Adding the adult tag though would hide the mod unless logged into nexus. I don't want to upset people, over a few swears and a penis joke.
The machine code is wonky as hell
Well, but not adding it means people get surprised by content they may not want?
I tried following the wiki, and following someone else's animated machine, neither worked out lol
tags really don't work unless people use them as intended (which is particularly annoying re: the translation tag)
And one person can't add it, it's like a voting thing, it has to be several
so basically you are gently suggesting the tag be added
yes, what you had were a bunch of optional fields 
Oh, and the modder has veto power, they can just flat remove it if they like. Honestly I'd love if people used the system as intended on my mods, I'm not fabulous at tagging. But I've only had people try to use it to troll.
I would take out Load effects, and change the animation to frames 1,2 if the file still only has 3 images
It may also be a cultural difference as the main language of the mod I not English. I will think about suggesting it.
not 0,1,2?
i tried without the load effects, still not working for mee
Is 0 static? In the end, it's just a regular sprite like any other. I use a repeating [0,1,2,3] for my animation without a problem.
I was under the assumption that was the case perhaps not like I said this machine code is seriously wonky
this is with 4 frames right?
The machine actually works right? It is just the animation that is not correct?
Yup! This is the spritesheet I use.
i copied pasted code for code on dora's mod and it still didnt work
Is there a size limit to style sheets?
that sounds like a very unhealthy question lol
😨 how many tiles are you making
Well my tiles have artifacts when I put like 20x20 together cause of recurring patterns, so I wanna make a unique 20x20 pattern for every tile I'll be using a lot
But I dont wanna have like 20 stylesheets
I don't... think that will be noticeable in game ? 20 tiles is a large area when you're actually walking around
I suppose I can make it smaller
But for the most part you can have pretty big tilesheets - think the furniture sheet itself
But you get this kinda stuff and it's driving me insane
tilesheet max is 4096x4096
I mean having a few variations for each tile isn't bad
Though I suppose I could overlap a partial transparent texture that's slightly enlarged
if you mean on how big a single sheet can be
The thing is I'm very bad at making tiles line up with eachother
Yess I did, thanks!
But so making a bunch of variations is just gonna ruin me
256 tiles
You can also rotate tiles for variation
This is going to sound silly as I don't think it is necessary. But have you tried adding the rules under the actual machine code with all the processing rules, rather then a separate entry for it. I am wondering if the 2nd "(BC){{ModId}}_TextileShredder": { is for some reason over ridding the first.
(256 tiles across not total)
my biggest pain is getting the cliff tiles to line up well enough that they look ok
hmm I'll try
I almost gave up too, it's worth sticking to it trust me
Like just a few different tiles can really break things up
tbh i think with that tileset mirroring might even be a little more obvious and stand out to me, but hard to gague without seeing it first ofc
Been meaning to ask, Tiled has a mirror option when you place tiles - does that translate in-game?
Sometimes
For tiles, yes
But if it has anything like sitting data, no
so don't mirror couches
Gotcha, good to know
A mirrored couch'll look fine until you sit on it, then it'll be messed up
So only mirror inaccessible couches got it 😂
You know.. mirrored tiles might be why I can't figure out some cliff stuff
I just kinda forgot you can mirror things..
Or use my mod that mirrors couches :V
it still amuses me that it's impossible to make a couch face most TVs in vanilla
Wait what do you mean
The TV faces us
The couch does too
There's a side couch but that also doesn't directly face
Okay okay I was like wait a second
You're right that is weird
I actually did use your tile set when I was making my saloon
I'll likely be using it when I get to making Honey's house 
Glad it's useful! I was really having a time of it making a living room
no but ill try that
they're 2 different things which is confusing me bc techinically, this isnt a craftable
u just buy the m achine
The machine would still count as a big Craftable though right? Even if you can't craft it directly
Like woodchippers
"LogName": "Textile Shredder Load",
"Target": "Mods/{{ModId}}/TextileShredder",
"Action": "Load",
"FromFile": "textileshredder.png"
},
{
"LogName": "Textile Shredder Machine Data",
"Action": "EditData",
"Target": "Data/BigCraftables",
"Entries": {
"{{ModId}}_TextileShredder": {
"Name": "{{ModId}}_TextileShredder",
"DisplayName": "{{i18n: textileshredder.name}}",
"Description": "{{i18n: textileshredder.desc}}",
"Price": 0,
"Fragility": 0,
"IsLamp": false,
"Texture": "Mods\\{{ModId}}\\TextileShredder"
}
}
},
{
"LogName": "Animation/Sound",
"Action": "EditData",
"Target": "Data/Machines",
"Entries": {
"{{ModId}}_TextileShredder": {
"WorkingEffects": [
{
"Sounds": [
{
"Id": "woodchipper",
"Delay": 0
}
],
"Frames": [
0,
1,
2
],
"Interval": 250
}
],
"WorkingEffectChance": 1
}
}
}```
where would i merge it?
i figured since i was copy and editing button's mod
my wha
the little library one from like a month ago
thats not mine!
oops i might be confusing with someone else
ive never touched a machine mod in my life. machines are scary
oh yes it was @brittle ledge
i wanna upload it anyway ill just call it a beta until i have more patience to fix it, i need to focus on irl stuff
I thought that was scratch
this is my first machine mod so ihave no idea how to
sorry not sure how else to explain it. not sure it will work but it would make only one
{
"LogName": "General Rule Setup",
"Action": "EditData",
"Target": "Data/Machines",
"Entries": {
"(BC){{ModId}}_TextileShredder": {
Enrty instead of 2 of them. not that I think it should matter. but maybe it does.
I am just wondering if the 2nd "(BC){{ModId}}_TextileShredder": { is overridding the first even though they have different data
can you post what you have right now at smapi.io/json
Data/Machines key must be the full qualified id
add (BC) to the beginning of the key
thank you im gonna try again now, guess i accidentally removed it when i copied pasted 
To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
Path ''..```
your OutputRules block is accidentally outside of the main "(BC){{ModId}}_TextileShredder" block
it's currently a top level block in Data/Machines
is ti possible to let a plant be harvestable halfway through its growth process and make it poisonous if harvested after the first stage?
like can i attach different harvest to different stages?
I ask because im tryin gto make a plant called Poke Weed that is very poisonous wants it reaches full maturity and grows berries
but if you pick it when its young it is able to be cooked three times making it edible
that would need C#
IT WORKS
Ah, 😔
can you mix C# with content patcher in asingle mod?
im not adverse to trying to learn code if its not overly complicated for my first try
OMG TYSM @reef kiln @brittle pasture 
you cannot, but what you can do is have a folder that contains a C# mod and a content patcher mod
Ah, am i allowed to upload it as one entry on nexus or would i need to make that a dependant seperate mod
So, what was the problem?
(also modifying crop harvest behavior would be quite complicated. I do not mean to discourage you however, if you want to dive into C# feel free to go ahead!)
Just happy I was right. Would have felt bad if I was wrong. 😀
Ah is it
then ill probably wait for my first try to be something else XD
in the meantime do you think it would be ok to make it where you just harvest the crop at the appropriate time and it grows no further?
i had 2 edit machine data blocks 
I might write a description for it like 'ordinarily if picked at its full grown state this weed is quite poisonous...thankfully this variety unique to the valley stays small and doesnt seem to produce the berries that cause the plant to be completely inedible' for the seed bag
or would that be too immersive takey outy
But you found the problem, so all’s well that ends well!
thanks to you lovely people! 
Congrats
thank you! and thank u guys for ur help! 
Its so satisfying to see it finally animate lol
I was in the same boat
My carbonator my girlfriend drew :D
what are the easiest C# mods to make i want to do one eventually just to start learning
https://stardewvalleywiki.com/Modding:Modder_Guide/Get_Started is a good page to start
including a sample mod that just prints something to the console when a button is pressed, which is probably the easiest category (do stuff in response to events)
When calling for a machine to be included in a recipe do I use the entry with our without (BC)
With, I assume?
as an ingredient? with
otherwise it would use the Object (ie. (O)) with that item ID
I'm guessing it would need C# but... companion planting mod? 👀 plants that are beneficial to each other and planted within 1-2 tiles of each other give a yield boost? (I'd say quality and speed growth too but, fertilizers) and then there are ones that shouldnt be planted together and have negative effects? (slow growth x%)
Lets content packs define hybrid crops, which have a chance of appearing between two fully-grown parent crops.
also SpaceCore's features where you can define extra harvests depending on nearby crops
at the very least it wouldnt need them to be(come) hybrids, just a benefits thing and a little more sleuthing for puzzling out planting, instead of the ol slap a bunch of this in the ground. I'll look at spacecore, but its probably out of my reach knowledge and time wise
it just involves editing SpaceCore's custom assets really
the same way you would edit Data/Crops
interesting
// in front of one line or /* in front of the first line and */ behind the last line you want to comment out.
thank you
most likely not. if you want to yeet it bazaar-style be my guest
my only goal is to have an NPC [speening in the wooden chamber](#making-mods-general message)
RotateLeah
I don't really have ideas here tho it is kind of nice to have big preview
Perhaps just a smol side grid to pick would be enough?
i have a buncha ideas for it but no time to do it does that count
one fo my submods is still doing the false updates thing...anyone familiar with that process and could take a look at mine?
"UpdateKeys": [ "Nexus:24869@fruitghostsAHM" ],
(heck if you're making that mod I might contribute my code. the core functionality is just a postfix to teleport the NPC, one to have them play the animation, and a prefix to have them say the dialogue instead of Robin)
(though I do need to transpile CarpenterMenu for the extra functionality of "Sheds that people other than Robin can build", but that'd likely be handled by your hypothetical menu replacement)
i've got @fruitghostsAHM in the desc for the optional file
Don't hold ur breath on me making anything rn 
is there something else i need to be doing?
(i also have way too much on my plate to think about actually making it right now)
your optional file's version number needs to be lower than the main file
it is
I need to yeet shop menu first
optional is just 1, main mod is 4.0.1
yeah just found your mod page, hmm
seems like i solved this for another mod by just....not having an update key in the submod lol
question about the movie theater - if I go joja route, then teleporting to the movie theater shows the joja version, but in an event "changeToTemporaryMap MovieTheater" always uses the regular version. Is there a way to use the joja version in changeToTemporaryMap?
Not sure if this particular question got answered, but yes, you can just use one mod page and package them together as your uploaded mod file ZIP. SVE does this, for example, to package their C#, CP, and FTM components together
(I would suggest actually setting your update key in each manifest to not be ??? Like SVE though and actually use the same update key for each component's manifest and increment the version number of each part to match when you make updates)
SVE's ??? Update key warning in logs drives me mad
or just omit the update key field entirely
That runs the risk of them not knowing they need to update though
it'll show up as not having an update key, but SMAPI won't yell at you, and it prevents stradrop from trying to reinstall the mod multiple times when updating
I am not at my computer but the Joja theater is a different map then the normal theater isn't it?
that would only happen if the main part of the mod was not installed though
Ok, so you are proposing only excluding the update key from the extra components. That clarification is important.
ah yeah sorry
I don't think so because like I said if I type "debug warp MovieTheater", I get the Joja version if I went Joja (and the response confirms "warping to MovieTheater at..." so it's not just a partial match
You can put nexus:???
maps and locations are different
This hids the message from user
same location does not mean same map
It's the same Location but a different map file
OK, how can I get the map name of the Joja theater?
I think it's just the mapname netfield
It just pulls the different tilesheet
sorry mapPath
The tbin is still the same IIRC
ahhh that's trickier then
MovieTheatreJoja_Tilesheet is the tilesheet PNG
yeah but there's no way to swap tilesheets for events
and events make fake location instead of using the real one (except the town, for some reason) so you can't ruse the game's display logic for maps in events
Couldn't you change the load for the tilesheet conditionally when in the event?
(which is why the beach bridge is always broken during the luau)
maybe? I'm not sure how you'd do the conditions for that
you could do a location update patch and include a local copy of the tilesheet, but I'm not sure how you'd determine if the player was in the event or not (without c#)
mail flag at the start before you change maps, remove it after the event ends? is that possible
might work? worth a try
when in doubt, mail flag it out
Scope creep is so real. I just wanted something to do with SVE's Jar of Honey now I have a shop, 2 NPCs, 3 machines, a bunch of custom objects, trash can data, and Im gonna now look into my NPCs sending letters to kick off progression
I think it's not a huge deal if I just leave it as the non-joja version considering it's a complex change. Thank you all for the ideas though.
(also worth noting, the bridge is not actually broken in Luau year 2, but alternating festival maps are irrelevant to this situation since those have separate tbins for y1 and y2 and the theatre does not)
not to mention 3 other mods Ive made in the meantime rofl
the creep chases us all
scope creep has killed so many of my mods
every time i do an update i add like 5 more lines of notes
I'm gonna have to mailflag a thing for the Flower Dance event anyway to figure out how to conditionally swap a NPC gender for the dance positioning
So I'll have to work that out eventually
i compartmentalize my stuff best i can
With the fuel input combinations and iterations that can be made, im potentially adding thousands of items to the game
the flower dance is Evil Magic
i'd prefer to have an "unfinished" mod released than work on it forever i suppose
almost as bad as weddings
Ghirahim is the Flower Queen, and I will not have him facing the wrong way.
I went through all that effort to give him the girl's poses. LOL
maybe it's just a display thing but it's not like, redlining the whole block i commented
Did you end your /*
yeah
I dunno then lel
Isn't the dance position based on the players gender not the NPCs. Like player boy they are on the bottom, player girl they are on top. The partner is just opposite right? Am I remembering wrong?
part of me wants to make a mod that turns weddings into a festival but the rest of me doesn't want to tangle with the end-of-day logic
comments are not valid json. try setting the language to json5 or yaml
are you using JSONC or JSON5
Still cackling that babies are technically pets
more concerned about when Ghirahim is not the player's partner
I mean thats not entirely wrong
make an opposite mod that makes weddings LESS of an event. you just sign some forms at lewis' house
that's kind of cool actually, and I don't think it would be hard
But everytime I've danced with Haley as a girl, Haley's still been up top
Do they dance if not the players partner. I though only vanilla characters danced. Does a mod let non vanilla dance? Because I need it if there is.
And since Haley is who Ghirahim replaces....
I'm making a replacer, not custom NPCs, Frog.
(it makes the most sense for my use-case this way)
also there's no difference from the games perspective between vanilla NPCs and custom NPCs so they can both dance equally*
*except for that one potential weird bug thing that might imply an unintentional difference somewhere
yaml has only confused me more, lol. i'll just presume it's working for the moment
i'll test it
I wonder if Haley is special? Or I am remembering wrong. Maybe the player is the one that moves and the partner is factor.
From what I recall of the event code, NPC girls are always up top and NPC boys are always on the bottom, so the NPCs don't actually move when asked, the farmer does.
(which makes sense, considering that the NPC sprite sheets only have one facing available)
Yup, Then I must be remembering wrong. For some reason I thought it was the other way around.
True the sprite sheets would not lie.
ape applying KISS (keep it simple, stupid)
hm
Honestly, I wonder if it might be easier to just replace Ghirahim with a clone that has the opposite gender during the FlowerDance event.
I appreciate the effort towards fitting the mammoth within icon size
do you mean like a temporary data/characters entry? they won't have the required friendship level to dance
lol, thanks
true, there's also the issue of the groups
the menu is livestock bazaar
also i don't think you need mail flags anyway, you can conditionally change the gender based on the current festival and the players current map
So back to trying to change it during the festival and location
those are CP tokens
if you meant the menu. most of those animals are my mods
Honestly, my biggest gripe is that it also changes the boyfriend/girlfriend signifier
I meant both really
hm
But that's probably unavoidable unless you can specifically set the change to happen during the dance event only
what happens if you make them temporarily undefined
the other ones in that screenshot are uhhh resource frogs? or something like that and ice cream cows
i don't remember
Actually, I can probably tweak their acceptance dialogue to change it right then and there... Hm...
Now do I focus on mail, and issuing players mail to lead then through progression or focus on utilizing my meads and ciders in cooking recipes to make specialty dishes and/or split the meads into single-serve beverages (Bottle->mug)
But that only resolves if they are actually asked to dance.
how would the dialogue change their gender
"while we are dancing, i'm your woman"
does it even matter then if they aren't asked to dance tho
Trigger Actions
lore around it lol
what would the trigger action do
Probably a mailflag, which just gets us back around to the convoluted mailflag solution, which could probably just be done at the start of the event instead.
the problem there though is then the update rate, you'd need time changed
BETAS does have a PatchUpdate action though that comes with a dependency ofc, and for something like this I wouldn't recommend it as it's not wholly required to make it work.
yeah
I think I'm just gonna have to cope with the tag being changed during the whole event
do people usually look in the social menu when at the flower dance anyway, maybe no one will notice
I mean, that happens with every other mod that does gender swaps
i rarely ever even go...
i don't look there, I usually know ahead of time if I have the hearts required
Most people I know do actually check because they forgot how many hearts they have
_>
But, if nobody else has figured out a solution there might not be one. LOL
if I forgor then I just ask em anyway and find out from their answer 
there's solutions ofc, just not CP ones as far as I can tell
it'd be dead easy in C#
solution: "you might see some weird stuff in menus during dance, ignore plz"
yeah
sometimes you just gotta do that tbh
I don't know C# and there aren't enough things that I want this mod to do to make it worth me learning
Thats a good question. Download one and see. I am curious now if they just lived with them dancing in the wrong spot.
write a transpilerrrrr I whisper in your ear
I meant the "showing up as girlfriend instead of boyfriend", Frog
Not that they're in the wrong spot.
Idk i think ghirahem would swap gender for a day just to fuck with you
bump
There are a lot of gender swap mods. One of them must have the solution. If not then it must not be possible.
look the only option now is to just write a whole new game
this wouldn't even require a transpiler i don't think depending on how clean or messy you were content with doing it
clearly the sensible thing to do
Honestly, yes, it's totally like Ghirahim to be like "I wanted to be the Flower Queen and apparently you have to be female for that, so for today, I am female! Gender is an amorphous construct that I, as a sword, can change at will."
hell yeah
Fi and Ghirahim are literally sword spirits, what is gender in that situation, really, other than the way they choose to manifest themselves.
Since Mipha's gonna be on the opposite end of that Flower Dance gender swap (Harvey), I can throw in a line about them trading places or something to not mess up the lineup. LOL
I'm amazed those are the only two that I had to do genderswap shenanigans with to make the replacements work, honestly.
Well if the farmer moves for the dance anyway, the line is not really sex specific anyway.
Would this be about right for the patch condition?"When": { "DayEvent":"flower dance", "LocationName":"Temp"}, "Update":"OnLocationChange"
I can't actually find the Location entry for the Flower Festival, so I'm guessing it's Temp.
changeToTemporaryMap Forest-FlowerFestival and that line from the event setup seems to confirm that possibly
updated a mod and nexus isn't updating the download page smdh
aha, complaining fixed it, as i hoped
Unless it's still just Forest, in which case I'll have to add the time range too, which is annoying.
(the event precondition is Forest/900 1400, so I'll just convert that into the When block if I must)
damn i was hoping an update would make this work properly but no, now it's just more confusing
that command does actually change the literal GameLocation you're in so it should be Temp
awesome
Howdy! I know it’s been ages since I talked here. I decided to take an extended break from stardew valley and modding as a whole as I was experiencing burnout.
But I’m feeling much better and I am ready to make my comeback.
Hope all is well.
glad to hear you're feeling better!
Yea. I just had to take a step back as I was experiencing burnout and I am feeling ready to return
@fathom rapids re: your bug report to trinket tinker on nexus, if you dont mind can i have your save file?
you can have a copy uwu im still using the original
Is there a way to see Trace lines in the console log while the game is running? I can see them when I upload the log to the log parser. https://smapi.io/log/6a91c0b7f4ff486f8e81f74b919c54c5?Levels=trace~debug~info~warn~error~alert~critical
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 17 C# mods and 0 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
If I don't want to make a new EditData, can I just close this and make a new entry?
install SMAPI for developers edition, or tweak the smapi internal config file which is... somewhere. the smapi-internal folder maybe
yes
In theory, it'd be making it so you can change the flooring on that tile (as well as all the other ones with the "Middle" ID), as long as your overall Map Property has that as a valid FloorID listed and your location is Decoratable
If your location's not decoratable, then it shouldn't do anything, yeah.
cool
If i were to start editing the ocean farm map and wanted to include freshwater fish on one side, would I need to edit the "Farm_Beach" section of the locations.json directly or could I add custom map properties? new to map editing so just curious lol
I would recommend the first approach
Notably, having different fish in different places is I believe best done through Locations.json
You can use the feature where you just copy the fish from another place into a specific sub area, or you can directly define the fish, iirc
Is there a way to make location specific dialogue to be 1 time so you can't just infinitely chat with them?
not that i know of
you can try using queries, but you'll have some limitation either way
Alright then, It is fine. Thank you!
is there a good way to make default dict in a custom asset
i basically want Field/TargetField to immediately work even if the key was never touched before
Do I need to set a Fish field for my location data for there to be fish? Or will it just use a default selection of fish if there is one
just init them yourself I think
that's what I did for the animal extension dict, populate it with a list of all Data/FarmAnimals entries
so you don't have an existing list? I don't think that's solved (see: blank events load)
that one is a whole asset tho hmm
with C# you could add an asset listener to Data/Monsters to add an entry to your own asset for each one found
that is what I suggested
the actual key isnt Data/Monsters tho, its Monster.Name
which is not strongly coupled for ✨ reasons
won't monster name match an entry in data/monsters
this might need a change to CP tbh
🫠
god i love monsters
nou
u two are right tho, having it fill in Data/Monsters is at least better than nothing
I'm glad I haven't touched monsters at all for anything.
I touched it only for a silly simple demo thing and it still nearly drove me insane.
mod authors: why can't you just be normal
monsters: batScreech
Is there a way to know how many slots a bundle can accept for items? Like the spring crops one allows 4, but the quality crop one allows only 3
i think you can add it no matter how
yep, in the raw legacy data it's set in index 4: https://stardewvalleywiki.com/Modding:Bundles
other than that, it does exist as a field in the standard bundle data model (not that it seems to be detailed on the wiki)
Hi! I'm updating my old mod from JA to CP and I can't get the textures to load in. I can't figure out what I'm doing wrong. I see other mods just using "Texture": "Mods/{{ModId}}/Objects", but that isn't working for me. Do I need to put in the whole path to the file? I tried that and it didn't work either
you must first load something to that Texture path
if you have a png named objects.png in your assets folder, you would do something like
{
"Format": "2.5.0",
"Changes": [
{
"Action": "Load",
"Target": "Mods/{{ModId}}/Objects",
"FromFile": "assets/objects.png"
},
]
}
then you can use "Texture": "Mods/{{ModId}}/Objects" in your object data
thank you, I'll do that!
Just to make sure I understand, there is a 4th index that modders could use in order to specify how many distinct items are needed to complete a bundle, but that info isn't used for vanilla (for neither regular or remixed) bundles like this Spring Crop data?
"Pantry/0": "Spring Crops/O 465 20/24 1 0 188 1 0 190 1 0 192 1 0/0///Spring Crops"
I should specify I am using C# to parse this data, and not planning on modifying it myself
i should mention there already exists a method for parsing raw legacy bundle data to a readable data model
yes, I am using pathos' lookup mod as a guide
though i don't have the codebase on hand atm
but I don't see anything related to that within their BundleModel record
if you follow the breadcrumbs from DataLoader.Bundles you should find it
preferably use the vanilla code as a reference here
will do, thanks
it's allowed to put major updates in mod showcase right?
try poking around Game1.netWorldState.Value.BundleData and look for references to the data model there
Yeah, major updates can go in mod showcase.
for sure, anything you think people would be interested in can be showcased, following the rules of course
Just don't get too spammy about it.
check out the pins in #mod-showcase if you're unsure ☀️
if you're also just checking for any inventory items that are required for any bundles, there's a base game method for checking that. it might be in GameMenu, there's the inventory bundle icon clickable that glows when hovering a bundle item. you could filter down all inventory items based on this, if that's all you need
(On a related note, GameMenu runs this code in its constructor.) ```cs
Game1.RequireLocation<CommunityCenter>("CommunityCenter").refreshBundlesIngredientsInfo();
hi, when i compiled my code it always contain other dll like this. Is it normal?
Yeah, I tried that before. Though it didn't work for some reason. Maybe the way I was using it was wrong? Here's the message to that if you're interested. #making-mods-general message I'm currently using the lookup mod as a guide as it seems to have everything I need with some tweaks needed here and there
That means your project isn't configured correctly.
Looking great, Nikki!
Where can I find the internal ID for the I Voted Sticker? I checked Objects, Fish (since you fish it out of the water), and the Stardew Vanilla IDs website without success.
For each of your external mod references, you need to set Private to false
That will stop the DLLs from being included.
is that from a mod? I don't remember anything called that in vanilla stardew valley
in VS setting or in my code?
... yes. It's in your .csproj file but you can also do it using the Properties panel and the Solution explorer.
Huh. Let me look at some mods. Thanks!
Whichever method you're more familiar with really.
(Doing it in Solution Explorer + Properties is just VS editing your csproj for you.)
Yup, I is from one of the ES mods. I think Rodney but not 100% sure.
using lookup anything in game is probably the best way to check
i dont think you should be referencing content patcher dll and gmcm dll like this
I don't have ES installed, but I do have SVE, which I'm guessing is the culprit.
i add CP and GMCM directly from add Project Ref
i think i voted is more fish?
haha
@uncut viper Hello, spider buttons. I need help with Arbitrary Tilesheet Access as my tilesheets are not pathing. I have it as content(unpacked) > Maps > Content > Mod sheets. here is my Log , thank you 
Log found, uploaded to: https://smapi.io/log/20ee4062ff194b6b8a45460ebb31ee4d
one of those 
looking for knowledge anyone may have about weird and potentially platform-divergent behavior in SpriteText.getStringBrokenIntoSectionsOfHeight.
i'm investigating some text not appearing on macOS and this TODO i left myself seems relevant:
// TODO find a better way than "+8" to get this value.
// using exactly the getHeight value doesn't work; probably
// exactly the size or oboe, so the split fails to get text
int linecap = SpriteText.getHeightOfString("Ag") + 8;
List<string> lines = SpriteText.getStringBrokenIntoSectionsOfHeight(
menu.mailMessage[0], menu.width - 64, linecap);```
i dont familiar with VS much
It is not ES that installs it. I am pretty sure it is one of ES addon. If I am wrong sorry.
text height my beloathed
Well, lookup anything doesn't give me a mod name, but I think that's true for more new fish. Thanks, everyone!
would that make the text not appear at all though? 
Just did a Google search. It is more new fish that adds it.
its not really a VS thing, SMAPI provide ways for you to access some stuff via api instead of hard dll reference
apparently i found that "the split fails to get text", so i imagine so
You'll want to select those mods you referenced, and then set Copy Local to No in the Properties window.
you can enable data mining fields, it should show the full internal item id
not every mod follows the ModId underscore style, but most of them should (hopefully) have their ID/author in there somewhere
in this case it has MNF in the ID
Also, can I ask why you have a hard reference to Generic Mod Config Menu? That seems unusual and unnecessary.
Very cool, thanks!
i read some tutorial in google
Not sure about the etiquette for contacting a mod author about permission to use one of their assets. Is that something I would just post in comments on Nexus?
so they said i need to add ref from this
who said this
Which tutorial?
general question about hard referencing DLLs, does it fail if the user organises their mod folder differently, or does smapi load all the dlls in a consistent way instead
uhm no
Setting up the path as Content/Mod sheets/Spring/hime_outdoorfurniture.png just makes Tiled set the path correctly for my mod to read it. But it does not actually take the file you're pointing it to. It still needs to be a valid asset name. You need the path after Content/ to match whatever hime has set as their Target for loading their tilesheet
theres a search path thingy i think
nexus has a permissions section, what does that say? you may not need to



