#making-mods-general
1 messages ยท Page 120 of 1
i went from portrait/sprite replacer to a full on custom framework-added npc expansion, so does that count as an npc being my second mod?
i went from sprite replacers to JA objects, then randomly made a map mod XD
and now i am in npc hell
hm i wonder if anyone would be interested in like
Ah, like most of my in dev mods
a sprinkler attachment framework
Everyone loves microframeworks
Speaking of distractions, here's my latest "this didn't need to be a google sheet, but here we are":
Who doesn't want more dependencies ๐
like it does some trigger action action on each dirt within range
the 10 weirdoes who installed my customfield framework 
Chu just make a central framework like the rest of us!
no that's sinful
i never even came up with a 2nd idea for "what should sprinkler attachments do" besides plant seeds anyways 
scare crows
scare crows-
<flashbacks to an in dev mod from eons ago>
but the scarecrow is already so much range
But, uh, if anyone needs a quick reference for what spriteindex furniture objects are mapped to, I got you, I guess? LOL
i thought about make it harvest but then i was like
one scarefrow for the WHOLE farm
what could this possibly be called 
the rest of the range doesnt matter to me
Spooky Sprinkler
no it'll just be a fake robo crow
Eh junimo huts already do that so
it has to be more aesthetically pleasing than the normal scarecrows for me to use it
i think a cheap harvest attachment is still good
well i guess im wrong person for that good day
for an early game thing
ooh, bounce pad so you can jump between sprinklers
i mean, iridium sprinklers already cover 4x4, so why do normal sprinklers exist
sprinkler attachments r later game than junimo huts
you could change that with a framework
no i dont wanna >:)
is there any reason i cant have a mod that sells it early game?
yeah, that's one of the reasons FF exists, a lot of people have trouble understanding vanilla spriteindex
its just a shop entry
a bold choice for a framework author to be so opinionated but good luck /lh
and honestly i regret giving krobus the sprinkler attachments
Is it possible to make trincket unlock erlier? Having it as a mastery thing
as a mod?
Yeah, I was so bothered by it that I actually wrote formulas to split up the Furniture delimited entries into individual fields and then had it pull the spriteIndex/key where applicable. xD
Yeah
So I can actually drop a furniture entry in and it'll break it apart for easy editing.
why do you need C# for that
is there action to increment stat
yea
oh ig u can make a book lol
or just any trigger action
for an interesting early game sprinker attachment, maybe one that allows re-activating them
Game1.player.stats.Set("trinketSlots", 1);
like that one mod but more balanced(tm)
a book wouldnt be what you want either bc a book will keep incrementing it and idk you probably dont wanna be able to get infinite trinket slots
whatever that may mean when the code checks that stat
nah i think vanilla only checks its above 0
I think it just checks it exists?
u dont get more slot if u have "trinketSlots"=2
i wonder why it didnt use a mail flag then
Does having the slot automaticly make trincket dropable?
no thats a separate thing
oh nvm it is controlled by trinket slot
silly 
if u dont want that i suppose u could edit data all trinkets to DropsNaturally=False until the player has the stat for mastery
but that wouldnt make much sense unless u r make ur own custom trinkets for early game usage
What are the limitation of custom trinkets? Don't see a lot of those floating around
i will forever call it trinket trinker
its a framework for creating custom trinkets
Yeah pls Consume me mod thank
generally speaking, it's because it needs C# for the actual mechanics (well, until trinker tinket came around)
Ok I need a Pikachu trinket
i think trinket tinker could use more abilities implemented
i have no ideas for you, so don't look at me
i used up my peanut-amount-of-electricity in me brain to write my own gameplan
But hm it's hard to integrate a very active element (a little guy that follows the player around) with sdv's more passive time management mechanics
make it a big guy then
i dont want to though i want someone else to
Isn't the frog one, a little guy following you around?
that is a very large companion was it avi
I'm vaguely concerned
WHY AM I GETTING SHOTS FIRED I MAKE (1) BIG NPC AND I'M THE BAD GUY-- /j
you just seem like you like stretching numerical limits
No some nexus person whose main output is arknights npc xnb replacer
But avi is reasonable educated guess I agree
3 little guys even
ok i apologize for unleashing that hd portrait person into here while i was at work, but my brain don't wanna think about my own published mod
So yes if u want to make custom trinkets with a companion n everything without doing the C# part, you can
these arknight portraits seem very well done actually if you can ignore the fact that they are xnb mods
Oh damn, one of the trinket can help with harvesting, thats cool
Yeah I'm psure they just can't read content patcher docs
the problems of having it all in english with no formal translation substitutions
But maybe they will go back n convert their xnb mod now that they r exposed to content patcher

Remind me in 14 days to add trade item ids to the gsq check
whew ok i'm pretty booked up at that time but...I'll squeeze it in for you. (#6383489) (14d | <t:1733809596>)
Also, remind me in 14 days to actually try learning a katseye dance
don't you have like a cell phone or something atravita? it can do the same gosh darn thing and then I can be lazy. but okay, I'm on it. (#6383490) (14d | <t:1733809616>)
.....
That was a joke I didn't realize it didn't have to be at the start if the line
You're going to have to report back in two weeks and tell us if you've learned one
Something about debut's leg kick is just so perfect
With CP only, is it possible to add custom minerals to the drop pools of the vanilla nodes? The spiral rock that drops gems especifically
unfortunately no. you can add your custom rocks with Item Extensions, but the vanilla nodes are hard coded
I see, thanks
Spacecore does something with custom ore nodes of somekind, it's like a newer function, lemme go look...
So, there are the spawnables which will allow you to define literally anything as an ore node and what to release.
(SpaceCore is the greatest mod of all time, and solves all problems).
they wanted to add a drop to an existing vanilla node, which SC/IE doesn't solve
I see! Sorry, I misunderstood!
Is there a way to force the seed of a save file to be the same every time it's generated?
Iirc vanilla lets you put in seeds, no?
It does. I didn't notice the text box, thanks
hey friends, what is the proper way to have a RandomItemId pull from any objects with (S) or (P) as the type? (Shirts and pants)
Because the way I have it is clearly wrong, since it's throwing a lovely repeating error in my log.InvalidCastException: Unable to cast object of type 'StardewValley.Objects.Clothing' to type 'StardewValley.Object'. at StardewValley.Object.OutputMachine(MachineData machine, MachineOutputRule outputRule, Item inputItem, Farmer who, GameLocation location, Boolean probe, Boolean heldObjectOnly) in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\Objects\Object.cs:line 2430
(trying out my machine idea for a laundry machine that randomly outputs a clothing item)
Well, drat.
Good to know that I probably didn't do it wrong, though, it's just... not allowed without another mod that makes it accept clothing. xD
Would this also allow for a secret note to be the output, by chance?
My brain cannot parse those docs right now, I'll look at it again later
Ooh, so I can fix the geode crusher with this
Ah, I love that the example is exactly what I want lmao
Though missing the stat increase for opening mystery boxes
(the example also should be limiting the input to mystery boxes only)
(because the vanilla rules rely on the function to do the filtering)
I tried to code it but it's getting late so I should sleep soon. If it fails, can I poke you for help tomorrow, Selph?
sure!
Well, it's suddenly not letting the machine run at all, so I've clearly messed something up. If anyone has a chance to look at it, I'd appreciate it: https://smapi.io/json/content-patcher/f53c777647da4427a35a470a8d43e7b2
Won't make any changes until tomorrow afternoon at the earliest.
You're missing RANDOM_ITEMS before the item types in the clothes item query (ie. RANDOM_ITEMS (S) )
(Side note but also add "Color": "White" to the holder output rules. It's to make the output ready bubble draw the clothing item instead of the holder item, which looks like the weeds icon)
If I want random to be either shirts or pants, do I need to do RANDOM_ITEMS (S) (P) in that format?
For the Ocean Farm, which spawn the supply crates, those are hard coded, right?
๐ my definitely "not" just borrowed from the secret woods map
What's the game state query for unlocking the casino ?
It IS but you're doing great so far!
When I made the berry woods map, making the outside leaves was a nightmare
Tiled has a feature to make that a little easier
Oh?
I was thinking I was just a perfectionist but if there's a way to make things easier...
Terrain sets?
I had a map that was using it but might have lost it at this point during the upgrade to 1.6.9
Well, okay Discord
I definitely lost that map I had, I'll have to make another one at some point
Thank you for the blessed information
Albeit, I definitely spent like 2 hours trying to figure this out lmao
https://doc.mapeditor.org/en/stable/manual/terrain/
Also this page has some more detailed info
I also didn't get into the probability or any of that you can use to lean more towards specific tiles showing up, kind of just made it and repainted if I didn't like how a specific area looked
Technically no? It depends on your goal.
- To enable those on a different farm type, you need to add the map property
SpawnBeachFarmForage T, then add the tile propertyBeachSpawn Tthe Back layer where the objects should appear. You could also spawn the items yourself with other means, they're all basic object types (IDs 922-924 are the floating boxes, notably). - To disable those spawns on the normal beach farm type, you'd need to remove
BeachSpawntile properties from every tile, it looks like. The map property is ignored/hard-coded to always be on there, but it only targets those tiles.
(and per the game's usual forage logic, more spawn tiles = more chance it'll spawn more stuff; it just randomly picks a tile, asks "is this BeachSpawn?", and has a 90% chance to keep trying either way
)
Thanks so much luv!!! This is super helpfu!
I did the same :D
@brittle pasture Seems like the Geode Crusher will accept any item and if it's not a geode will give the placeholder item, using your example from github
I was confused earlier about what would make it only accept Mystery Boxes for this method, as there's nothing I can see limiting it, but only just tested it
Would it not be better to create an entry that sits above Default specifically for Mystery Boxes? That way anything else would just fallback to default and it would handle the denial of non-geode items
I still cant find it (im probably missing it, i do that a lot) so if someone knows I'd appreciate it :]
Something like that probably doesn't have a specific GSQ, maybe a mail flag or world state
There's definitely a flag associated with completing the quest to get rid of the bouncer
HasClubCard
Yeah, it'll be true as soon as you interact with the lumber pile for Qi's quest, so technically before you've actually entered the casino
Could check if the player has actually visited the casino location and has the flag
If it matters
No for what I wanted that's perfect
Sometimes I question myself deeply
Thank you very much
Really gotta find time to finish that mail flag page
Oh lmao, I didn't realize the geode crusher already had the stat increase stuff for mystery boxes, guess that wasn't rolled back when the other stuff was
@brittle pasture https://smapi.io/json/none/e135ae27cd97475f832b82717be8888b
This is what I came up with, seems to work, haven't had time to drop 999 boxes in Automate to be 100% sure though
I guess Golden Coconut also needs to be added to this, since you can get a hat from it
yeah the example isnt perfect per my comments earlier lol
Oh, I misunderstood, I thought you meant it did that somehow lmao
english hard
It's the only language I know, and I agree lmao
Hm, Golden Helmet flag doesn't get set when Automate collects it from the Geode Crusher
Collecting it manually does work, so definitely just an Automate issue
does it work when it enters the player inventory
after automate put it in a chest
I smell an imposter
or someone (I won't say who) lost access to their 2FA authenticator for discord including their own server
The disappearing Mike NPC mystery continues, time to do further tests >->
Can you hot-reload CP stuff like you can with FS?
Yes, you type patch reload yourmodid in the smapi window
Thank you!
There I caved in and made an abigail hair recolor mod for my first CP mod ๐ญ
HAHAHA
It works!
What's next on the menu?
I guess expand this YAAHR to give her different look when you're married to her
to play around with different tokens
Abigail Hair Recolor mods are like the River Flows in You of pianist's first song or smoke on the water for a guitarist's
is that chestnut hair? her natural hair color?
should so change Caroline's winter line where she hints about it
My mod just got a chinese translation. This will be awesome for the business
Is it possible to make an AT pack for custom furniture that has been added with CP?
should be able to
Why would you do that instead of just making more furniture
Slight variation of single
I was thinking that it could be a nice addition for PIF doors if people want to use the same design for different doors
I am making more of them anyway
So I'm new to modding and looking at some triggers documentation. I'm finding most of what I need but a couple of things were going to be based on whether a bundle had completed i.e. if the movie theatre or quarry bridge was present. Is there a simple way of detecting this in 1.6 or is the bundle code cursed, as some online posts suggest?
the bundle code is cursed. That said, I am sure SMAPI has a neat way to detect if they are present
are you going for your first C# or CP mod?
CP, I'm steering clear of C#.
is there like a website in order to get mods (iโm new to sdv pc)
Nexus
Look at 'HasFlag' here:
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/tokens.md#player
These are some Flags that you may think is usefull to use there:
https://stardewvalleywiki.com/Modding:Mail_data#List
Goodness me, exactly what I needed! Thank you!
for instance "HasFlag":"{{ccCraftsRoom}}" and "HasFlag":"{{ccMovieTheater}}" are the conditions you will need
Hmm, I suspect I'll have to do some debugging on how that interacts with the phone call trigger conditions but it certainly moves me past my current block and into the testing phase.
Appreciated! Ideally I'll upload the mod sometime this week with the first batch of phone calls.
@lucid iron looking at https://mushymato.github.io/TrinketTinker/guide/3.0-Direction.html and the direction tables for DRUL and DRU don't seem to agree with the images. (the index values seem to be swapped for Left and Up in both tables)
hey? could you dm me the code you made for wildflour's mods? i lost my copy of it ;-;
@fervent horizon not sure if you can via content patcher, but item queries might be able to do it https://stardewvalleywiki.com/Modding:Item_queries
clarifying: you would still use content patcher, but instead of directly adding e.g. carrot juice you may be able to put in an item query instead which would return carrot juice
oh there you go, FLAVORED_ITEM is the second one listed
Yep, I think the flavored item query is what I was looking for
Thank you, that helps a lot
If this has been brought up before I wasn't able to find it -- I noticed that above a certain player speed that daggers will stop auto-swinging when holding C. Is there any way to limit the maximum number of swings/sec the game will attempt to avoid that?
Just to add to this, for multiplayer, you will need to make sure the HasFlag is specific to Host or Any player rather than the default, because farmhands don't get assigned Community Center flags.
@mellow knot hey what was that mod you asked about last night, I wanted to test the displayname for the wildtree
Oh it's unreleased at the moment.
BUT if you test with Lumisterias Visit Mt Vapius I believe it happens with her wild trees as well right @hallow prism ?
I believe I see it happen with her birch and amber trees iirc
Also I remembered something this morning - this same unreleased mod has a random chance for a different fruit to spawn on a fruit tree than it's default and I recall a lot of error / unable to parse fruit tree drop text in smapi - I'm away from my PC at the moment but is that something in the next patch as well?
yeah I believe they don't have displayNames so I had to hardcode them, which makes sense, no one attaches displayName to wild trees.
For the fruit tree, could you send the GSQ that it uses for its drops?
I can dm you the json when I'm back at my PC !
And lmk if there's anything I could add that could make it easier for you as well 
That would be great! I'm still trying to fine tune the code that I'm using to parse crop GSQs since they're so customizable, there's a lot of stuff I miss.
I kind of threw it together for Custom Bush / Cornucopia so any extra mods that make use of it help me improve it
Hey hi guys, wanted to ask a quick question, I looked around on the modding wiki, in modded-tech-support, in modded-farmers, and also tried searching around, but I am also new to the server (and modding in general).
So basically, when making a farm map mod in Tiled using a base game map, why is the farmhouse not visible? Can I not change its starting location?
(Sorry if I'm asking this in the wrong place)
the farmhouse isn't visible because you can change the starting location (and move it at Robin's). it's controlled by map/tile properties, although i forget which ones exactly
Oh, metal! Thanks. I was worried I had done something wrong.
Ah yep my mistek, will fix ty 
(also, i have to go, but later on i would like to brainstorm with you about whether my trinket idea is doable with trinker thinker)
You could make a template version of each furniture type you want and then add AT as a dependency with all the variations of it
oops wrong reply
see above^^
Would cut down on having to make several new items that look slightly different if they all generally just share the same furniture "type"
I do want to make a lot of items that look slightly different because of how PIF works that you bind one door item to a room. But then I would make all the same textures also for AT so that you can choose the same appearance for all your doors while having different rooms. Or at least that's the idea.
Yeah that makes the most sense to me
just sent via dm (figured id let you know here in case you dont have non friend dms turned on )
oh I don't, thanks
does anyone know if I can add more than one context tag to an item?
you can add as many context tags as you want
all items generally have multiple already
are you creating a new item or adding tags to an existing item?
new item, furniture to be specific
for furniture context tags they're space separated
ok great, thanks!
(thank you selph bc i actually had no idea how it worked for furniture off the top of my head)
(me neither I actually just read the wiki)
@calm nebula: look at asset prop and additional farms (12d ago)
for some reason them just being a space separated list at the end of an already long slash delimited string feels wrong to me but i guess thats just the price you pay for not having a data model
Congratulations. I tried to install smapi, but it says that the null object is not like that
what to do
!mh this is the wrong chat
For help with modding issues, please ask in #1272025932932055121! When asking for assistance there, sharing an error log will help others identify your issue (see https://smapi.io/log for instructions).
SMAPI isn't updated for Android and does not work past version 1.5.6.39. We don't know if/when it'll be updated or who will update it. It is not possible to legally downgrade to 1.5.6.39, so do not ask how to do this.
Please see Installing SMAPI on Android for more info.
Be advised we most likely won't be able to help you with android modding issues.
I'm a little more confused by the "congratulations" portion of that
probably weird machine translation
...did my message post twice
Yes
I kind of wish log parser would show dependencies somehow 
Or rather, if smapi could emit some logs about dependencies of mod for log parser
time for you to make a pr
But do u think it would be useful
i think more information is generally better than less information, so long as that information is displayed nicely
iirc i tried to guilt trip casey into showing mods that are dependent on spacecore 
I was mainly considering how u can't see "all mods that use emc" the same way u can see "all mods that use pfm" on a log
(at least the API, not the cp)
the one disadvantage of custom assets
But given how dependency works dupes r gonna be a thing
not like there's much stopping SMAPI from logging dependencies when it loads the mods, it already needs their manifests
there shouldn't be any dupes within a single mod though
But what is a serious dependent
And what is a load order
And what is an optional and what is a required
Mac users, can you run smapi rn
i don't think you need to care about that when you can just log the dependencies from the manifest
And what is your version
whats a specific situation this would be useful in?
@velvet narwhal: go into more detail about forks on the events tutorial (59h ago)
your explanations here really helped things click for me as a greenhorn-- thank you!
if someone asks for help with their mod that relies on another mod it'd show when they post their log, which could be useful for further debugging
can show whether they made it required or not, which someone might want to point out if they're doing wrong (e.g. "you actually need a hard dependency here")
If a framework mod is raising error with no obvious cause, knowing what cp mods are using that framework narrows stuff down
You actually have that already
Just search for the mods editing that frameworks CP asset
Then the framework mod needs to be better at logging
i think if the answer is just "a mod should do things better" then why do you need anything in the log at all. just make mods that work instead of throw errors 
but also, how would a framework that uses CustomFields know what mod it was that added to custom fields
how would BETAS know who used a custom trigger action? it just tells the game how to handle it, it doesn't manage who requests it
Don't you get the ID of the trigger action?
someone gives their trigger action the id "DoMailTrigger". what do I do now?
Search every mod that adds a trigger to data/triggeractions, or ask thr user to do a search
the only mod that reliably knows who added to the trigger actions asset is Content Patcher, assuming it was done with a CP mod on the first place
No, it's all loggrd
i mean, this is exactly why chu suggested putting dependency info in the log
So and so edited
i meant in regards to your "a mod should be better at logging" comment
if you have dependency info available, you don't need to search every mod that adds to triggeractions. You only need to search the ones that depend on BETAS
i think its a good point. I wish modders looking for help were clearer about their info in the first place though
If this is important to you, the info is available via mod Registry
the point is not for it to be important to me but to whoever is helping someone figure out why they're getting errors in their SMAPI console
If it's an user, vscode/sublime/git search works pretty well
Those "so and so edited asset name" logs don't need to be there either then. Why bother, when you can just look at the source code or jsons of the mods in your folder?
asking user to do file search is coin flip tbh
does anyone know if the debug symbols are available for Stardew? I'm trying to debug some interactions but can't get VS to break on base game code.
You need to build from decompile
You'd have to get access to the repo, which means reaching mod author role
Did 1.6.14 get pushed up on the repo even?
Tbh often with data assets you have to get the user to export the data asset then inspect it to find the likely issue
Like, the cases I've seen were baby modder did something hilariously weird tbh
You could otherwise postfix in some logs to specific methods
i dont think that would show which mod added what to that data asset either anyway?
i dont think chu or i were ever trying to say that knowing this stuff is literally not possible without that dependency info logging though
its a convenience thing
something that may make debugging an issue a little easier if you want it, and has no impact if you dont
So the case I was thinking of was someone misbracketing badly enough to screw up all fish data
Causing the game to fail in a null ref
I've been working on a custom item that is meant to apply a light to the character the same way a glow ring would. I'm not sure if this is the best way to be doing it, but I've been able to get the light to appear and stick to the character, but when I warp to a new location, the light that was on the player in that location remains at the warp point. So when the player returns, the light is still there until they leave an return a second time. I was using the removeLightSource fuction to handle this and I think it was working for 1.5, but since the update, I can't get it to work again. The ID for the lights have switched from an int to a string and I can't wrap my head around why it wouldn't be removing the light source.
What reference is needed for ObjectData? Can't find it, though I think its in SMAPI
StardewValley.GameData.Object or smth like that
Ah, thanks!
It's a different dll
GameData has to be decompiled separately
Though VS and ILSpy can jump into them without them being decompiled
Just kind of a pain in the ass to get it to happen sometimes
Are you using the smapi warped event?
not sure if this is relevant, but lighting changed in 1.6.9, this might help? https://stardewvalleywiki.com/Modding:Migrate_to_Stardew_Valley_1.6.9#Light_source_revamp
Hmm. It's a good thing that I'm doing this tooling stuff for SmapiCompatibilityList.
That docker image Pathos found is using a very outdated version of Ajv and not actually validating things properly.
is it possible to suppress warnings about unmoved entries in CP? bottom of page:
https://smapi.io/log/81cd094b295c4e3cb1cd42f182688cdb
Can't move record "Love of Cooking (CP) > Include assets/shop-data.json > EditData Data/Shops #2" > MoveEntries > "blueberry.LoveOfCooking_chocolate" AfterID "(O)245": no entry with ID '(O)245' exists.
like ideally i'd move the chocolate to be below sugar (i think 245 is sugar), but i'm not so attached to it as to need a warning if a player has modded the shop list
Log Info: SMAPI 4.1.7 with SDV 1.6.14 build 24317 on Microsoft Windows 11 Pro, with 48 C# mods and 68 content packs.
I want to say yes. helper.Events.Player.Warped += OnWarp; This is what I came up with based on other examples in the modding section of the wiki.
With the power of harmony patching CP it certainly is 
Yeah that's the warped event
allow me to rephrase: 'does CP allow me to ...'
So the main change is that light sources have a string id instead of a int id but the remove stuff is same as before
This was helpful, thank you. If I use currentLightSources instead of currentLocation, I do seem to be able to remove the light correctly, though it is a bit more verbose since I have to remove and add it every update. With currentLocation, there was a repositionLightSource function that handled that for me I think which isn't available in currentLightSources. But hey, it seems to be working now.
Utility.removeLightSource(lightId)
Utility.repositionLightSource(lightId, c.Position + GetOffset());
These should do what u want 
Utility has so much lol
I think there's some implications about multiplayer though
there always are 
I'll give this a shot as well. I'm not too worried about multiplayer right now. I don't anticipate it ever being used with multiplayer
Yeah you have to remove from the previous locations lights iirc
AskPathos TM ๐
Anyone know what flags an object to be created as a colored object?
I am sure Aviroen has a neat way to do this if needed
in which context? item queries support a Color field now which creates a ColoredObject instead of just Object
outside of queries, it depends
if in C# just initialize a ColoredObject item
I guess I was trying to understand the new ColorOverlayFromNextIndex field and how it could be utilized.
(and if I could piggyback on that logic if possible)
that field controls whether the entire sprite gets tinted (false) or if it uses an overlay in the next index (true, like pickles and wine)
look at the draw code
I understand what it does. It's only used for Colored Objects.
Hence, why I'm trying to understand what triggers the object to be a colored object vs a regular object.
Can a CP mod flag something to be a ColoredObject?
in which context?
colored objects are created in specific parts of the game
- item queries with a color field
- crops with color variations
- machines output with copy color (can also mix with 1)
- mine stones, though you won't run into this often
Boom. Updated tooling for SmapiCompatibilityList. https://github.com/Pathoschild/SmapiCompatibilityList/pull/8
we have modding tools, and tool for the modding list, now
Hmm. Okay. I guess I need to process how an example item would be created to understand. Let's say I want and egg to be a colored object (just a part of it, so I would use the ColorOverlayFromNextIndex). That would be defined in the item query of the respective animal, correct?
Fair. It was a theoretical.
(with EAC it doesn't have to be; live your colored eggs dream)
What does Easy Anti Cheat have to do with colored eggs /s
as another example, shops are one other place that supports colored stuff, since they use item queries
Khloe you're a wonderful person 
the kernel level malware code modifies SDV code to insert colored eggs in real time
How does that prevent you from cheating? Wouldn't giving you free colored eggs without you earning them count as cheating? 
You think you're dating Penny, but Penny doesn't see it that way /s
"HasSeenEvent: any |contains= {{ModId}}.8heartevent": true
}
}```
im just gonna pop in-
is this the right way to stick in a check for if any player has seen a specific event?
or am i missing something
(ignore that curly brace at the end )
I'm thinking from the perspective of prismatic framework. Say I have an item I only want to apply the prismatic effect to one part of. ColorOverlayFromNextIndex theoretically provides this exact functionality. But I have no idea how to hook into the ColoredObject code. I can't visualize how I can get stardew to create an object as a ColoredObject if some ModData flag is set.
"HasSeenEvent: anyPlayer" :"MyFancyEvent"
It's probably too restrictive though. I can't see it easily applying to other object types, such as big craftables so...
if you're in there then may as well patch Object.draw
I already have. Guess I need to add a whole extra logic branch. It's just going to get very messy.
prismatic framework doesn't care about ColoredObject anyway, since it applies to every sprite
ohh i was missing the Player part
to answer your question of "getting stardew to create an object as a ColoredObject if some ModData flag is set.", ModData is a field in item queries, and so is Color
so you already can
now, to get the overlay to change color, that's probably a couple transpilers on ColoredObject's draw functions
That's the "easy" part.
I thought you already patched item.draw
Object.draw, yes. But that doesn't natively allow a layered object.
Oh I see, then yeah what selph said 
The created item should have whatever ModData given in item query
if you really want to override every Object creation to return a ColoredObject even in places that don't support item queries (e.g. animals), I guess you can patch ItemRegistry.Create
Well you can just make ur own custom item query
won't catch code that calls new Object directly, but those are few and far between hopefully
To do whatever u want
Oh. That's an idea. I wonder how spectacularly I'll end up breaking something.
if you do it right, likely none
(ColoredObject is a subclass of Object, so it should not break functions that are expecting the latter)
Thanks for the ideas. Any example of an item query with Color?
it's a new feature introduced in 1.6.9 for mods specifically, so I don't think any exists in the base game
machines have CopyColor, but that's a little different
Ahhh. That explains why I wasn't seeing it on the item query page.
I'll skim thorugh the 1.6.9 change log again.
Is wiki alive
it seems to be fine now
We gotta deal with the 1.6 migration page first 
Do when conditions not work for shop items?
(heck there's unmigrated stuff on 1.5)
they do if set properly
A NOP user is getting this SMAPI error:
This mod failed in the GameLoop.UpdateTicking event. Technical details:
NullReferenceException: Object reference not set to an instance of an object.
at NightOwlPlus.ModEntry.OnUpdateTicking(Object sender, UpdateTickingEventArgs e) in C:\Users\user\source\repos\NightOwlPlus\ModEntry.cs:line 432
at StardewModdingAPI.Framework.Events.ManagedEvent`1.Raise(TEventArgs args) in /home/pathoschild/git/SMAPI/src/SMAPI/Framework/Events/ManagedEvent.cs:line 101
My ModEntry.cs:line 432 reads:
private void OnUpdateTicking(object sender, UpdateTickingEventArgs e)
{
if (!Context.IsWorldReady)
return;
if (Game1.currentLocation is null)
return;
432--->if (Game1.timeOfDay < 600 && Game1.currentSong.Name.Contains(Game1.currentSeason) && !Game1.currentSong.Name.Contains("ambient"))
{
\\\Nighttime music treatment
}
}
This condition was taken from DNT and I didn't even considered it could return null, neither it returned null from all my tests so far.
Considering the possibility to improve it to a null treatment in case a mod is causing to have no music, even so NOP has an option to disable this function (to the case another mod runs music late night)
check the minifridge in carpenter on Data/Shop
it has a condition to only be sold in case player has house upgrade
it's not a when condition?
Game1.currentSong can be null
Any idea if this is set properly { "Id": "Cherry", "ItemId": "(O)638", "Price": 75, "AvailableStock": 5, "AvailableStockLimit": "Player", "When": { "Season": "spring", "Year": "2" } }
You're checking if currentLocation is null and then never using that and using currentSong instead.
I think it is "condition" explicitly
no it's not
yeah that is a different thing
yeah, base game uses conditions
the base game conditions are GSQ and different
they are per item, when CP is per patch
if currentLocation is null, there is not a currentSong going on. that was the DNT logic
you can use them here, but it's another format
Right now the item shows up, but the season doesn't matter
when is a content patcher thing, and should be on the same level as Entries
right now you're nesting it inside the item query
if you're doing things inside the query use the vanilla conditions, like "Condition": "SEASON Spring, YEAR 2"
editting it to check if Game1.currentSong is null before the others may work so?
Use the game state queries when you can
maybe this is true back in 1.5 idk, but I'm looking at 1.6 code and currentSong can be null even when the world is initialized
ok, that works for vanilla stuff, what if it is a custom condition, like has flag
"Condition": "Season spring, year 2"
if (Game1.timeOfDay < 600 && Game1.currentSong != null && Game1.currentSong.Name.Contains(Game1.currentSeason) && !Game1.currentSong.Name.Contains("ambient"))
mail flags? that's supported also
the wiki list all the default GSQ
And as a general rule if it is nullble some asshole will make it null
I am not sure if this is a valid condition in C#. C and Python breaks because they test all conditions doesn't matter if it's an and one before was false before the breakable one
uhh I'm pretty sure C, C# and Python all short circuits?
Maybe I am just old
Yeah, everything short circuits pretty much.
heck is there a language that doesn't
In fact I struggle to think of one that doesn't.
probably Pascal or Cobol
I remember I struggled when I first learned Python 10 years ago because of this
I learned Pascal in Computer Science in High School
I would make something like if (a != 0 and b/a > 1) and it would break because zero division
how do they even work if they short circuit? /j
you're probably misremembering tbh
I guess u can write a dum compiler that never short circuits
that may be the case
(sorry ignore that deleted msg I was replying to something else)
hello fellow old coder
the issue is, unless I force it to be null, I don't know how to test if my patch works lol
By applying common sense?
Since it's using Game1.currentSong.Name you might want to do Game1.currentSong?.Name != null rather than Game1.currentSong != null
Just to be extra safe, though I don't think currentSong would ever have a null name unless people are doing weird things.
However, this is a modding community. Someone somewhere is bound to be doing weird things.
I am thinking about
if (Game1.timeOfDay < 600 && (Game1.currentSong?.Name.Contains(Game1.currentSeason) ?? false) && (!Game1.currentSong?.Name.Contains("ambient") ?? false))
imagine getting to learn programming in high school 
... why though? ๐ค
Not only does ?? false look ugly, you're doing double the null checking work
It's not going to suddenly start being null in the middle of your if statement
that's why I sent my first suggestion
rereading it, I liked this though
Not related to the current ask but I had wondered about better way to write if (data?. CustomFields?.TryGet(key, out Val) ?? false)
The lang server is upset about bool? without the ??
It's very 
Valley girl code, my beloved
I really wish C# would accept a null bool? as false in an if statement.
Make it an optional thing I have to enable in my project file.
But let me be lazy
atra you have no idea the number of times I have typed if (thing) or if (!thing) and then sit there staring at VS for a second like "why are you mad at me this makes sense"
Truly javascript is a curse
js and python definitely spoiled me a bit with truthy/falsy
Undefined
flashback to atra's serialization rabbit hole the other day where the concept of undefined in C# would have made sense
if it's null, it is not true nor it's false. So yeah, I second it makes sense
As soon as you need to keep track of null as a possible value and not a lack of a value, then undefined makes sense. And that happens more than never.
Shut up
Make me
Shut up
I don't mind it's exist so much as it's comparison nonsense 
But hm can u like
I tried writing a python for loop on c# wayyyy too often
There is no XML in Ba Smapi Se.
Hmmm
I like it
Literally wrote for i in....fuck, what is Range in c#???? before realizing lol
I had a thought while driving to work this morning
What if....xml could handle unexpected subclasses with grace and elegance
It's no harder than harmony patching il emit code
truthy/falsy is a curse. only minutes ago i try to bool = bool && !number and expect it to work
swinelike language casting the result to a number
Then I reminded myself I am very retired
How do I use custom companions to put a cow on my tiled map?
Have you looked at the wiki for it? I believe it's pretty straightforward.
What if you use MEEP instead
iirc you patch them in with CP
then they'll ask how to do it with MEEP?
I havent ive been looking for the wiki can you link me to it? ๐ญ
Iโve been looking at its GitHub
What's funny is that at the IL level IL doesn't care
Null and false are the same
Null is a social construct
I also write a i64 into a u64 and IL seems to not care
Like, I looked it up, it's ldind_i8 for both an u64 and i64
Sorry
That's actually where it is, you're in the right spot ๐ https://github.com/Floogen/CustomCompanions/wiki
This is meep & docs for it's animal spawn feature
https://www.nexusmods.com/stardewvalley/mods/14493
https://github.com/AlanDavison/StardewValleyMods/blob/master/MappingExtensionsAndExtraProperties/docs/non-map-properties.md#spawning-farm-animals
Tbh i don't really know the nuances of MEEP vs CC
Both frameworks r updated so either is fine 
i believe they have some overlap but also some specific features
I need some clarification on this, because it's still generating what looks like weeds despite me adding the color to the holder output rules
I also need help getting it to generate just ONE of the potential items rather than all 3.
can you post your new json?
Sure, gimme a moment.
The machine also doesn't wobble, but I'm not sure if I need to set a temporary sprite to make it do that
It seems to only generate the output on the sleep cycle, won't work for any other trigger I've tried
to get it to yield only one item instead of three, only have one entry in extra output ids, and in said entry do "RandomItemId": ["RANDOM_ITEMS (S)", "RANDOM_ITEMS (P)", "SECRET_NOTE_OR_ITEM (O)428"]
ok
looking into the other issues, gimme me a moment
hmm I notice you're using a furniture item as a machine, in which case I think OutputCollected doesn't work?
same with the wobbling
only day update will work, which tbh is kinda unintended
Interesting. I can make a second sprite for the animation I suppose if wobble is invalid for furniture items
can you even do that with furniture? I don't think so, but don't quote me on that
I'm wondering if the TemporarySprite will get around that, since it tries to move it to the next index on the sprite sheet for animation
DayUpdate is fine, I guess, just not sure how finicky it will be if I then try to limit it to only outputting on certain days
(once a day for random clothing item is nice but maybe a little OP)
Okay, it gave me a grass skirt with the "weed" icon that time, which is kind of funny and appropriate.
I'm investigating why the colored field is not working
It's not the worst, but definitely weird looking xD
Ahh, it's ObjectColor not Color
the migration page has a typo
yep lol
(also wow my test example gave me a prismatic shirt on the second try. might be op lol)
That's amazing
(I got prismatic shorts on my second try, game is biased)
V cute
ah yes Weeds Washing Machine
I wonder if I should change the holder item's default icon to something other than weed
too many ppl here confused it with the actual weed item
not sure it spitting out on top of the washing machine and in front of the dryer is any more useful, but I suppose I could use the single washer rather than the stack for this.
Unless there's an offset somewhere I'm missing
i'd absolutely avoid using the second-most iconic error item as a default lol
I think furniture items have an offset for placed object?
current result:
Which is perfect for the shorter machine, just not the 3 tall one
ah, is that what it uses?
(it's weeds by default because it is not set, and I dont wanna draw a custom icon for something that will not be visible in normal gameplay)
I don't think there is an offset without using Calcifer for furniture unless that's changed
(honestly, I'd love to see the default just be the ! emote)
it'd be cute if you could use the (. .. ...) overhead bubble emote
I'd keep the default if it was the ! emote
because then it's like a surprise until you pick it up
(all intriguing ideas, I'll look into then in a couple months maybe)
ill be leaving a strongly worded nexus comment if its not done in 2 hours
i fully intend to leave a comment, bug report, and github issue so you know it's important
oh unrelated, are there any custom weather mods for sdv1.6 yet?
Cloudy Skies
location-specific in particular would be interesting
unless you mean mods using it
in which case. probably check the requirements tab of cloudy skies
there appears to be 3 weather mods
That's base game now lol
Deck data/locationcontects
flashback to "why is mount vapius snowing in summer" bug reports
that's funny, Weather Wonders uses my little pixel flag icons from love of cooking 
i demand dp
yeah, shorter one works fine. xD
washing machine ๐ ?
I love this
Yeah, this is another of my "Let's make this random idea mod instead of working on the big Zelda mod" distractions xD
But, shorter one seems to work as far as granting a random clothing item or cloth or secret note each morning.
Why a secret note?
Wanted to know if I could
the washing machine fairies drop them every night obviously
owo does that mean I get to collect many Lewis undies?
Canonically, it makes sense that you'd find stuff like the shopping list notes in someone's pocket. xD
My original thought was to change the output options when you're married so spousal clothing can pop up randomly
Which I may still do later.
(I like the idea of you being married to your spouse and just taking their clothes that they left in the wash to add to your collection. It's the equivalent of taking your SO's hoodie and I think that's adorable.)
who put these emojis here 
Figure out how to make the game steal a dresser item and drop it on the floor and we can have reciprocal clothes snatching.
But I am not a C# person, so this is beyond me
Could maybe pair this with a mod so that they wear YOUR clothes randomly
Question: Is it possible to make a conversation topic based on the laundry machine being placed, or should I just do it as an ActionOnPurchase thing for the furniture item and hope the farmer has already placed it?
oh btw is it possible to turn off nexus mail. like, block people from mailing me entirely
Question: latest CP format version is 2.4.0? right?
Should be
I am getting confused with my own files @-@
Yep
thanky
"$schema": "https://smapi.io/schemas/content-patcher.json", at the top of a content json will complain if you aren't on the latest Format
Assuming you're using VSC anyways
does npp recognize $schema
Not sure, N++ validation is bad in general
It's like having a temu version of the validator site built into your N++
not in vanilla, maybe Button's BETAS have something
My pc is a bit potat so vsc sometimes makes it act up, so n++ is my way to go generally
uh... is it still not possible to trigger custom sounds in event.json files?
That sounds incredibly potato, I wouldn't be surprised about VS22 but VSC is so light lol
it is very potat, I am slowly working to get a new one though
ultra potat
playSound should work
so it doesn't turn into a campfire whilst opening SMAPI
Just pulls from the sound bank, which you are adding to/overriding when you make a custom sound
There's also playMusic
I don't think I know what I'm doing
after making sure it loads in properly (as it was kicking some errors back on initial game load), every time I start the event I get:
[game] Error playing sound. ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index') at Microsoft.Xna.Framework.Audio.Cue.Play() in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\MonoGame.Desktop\MonoGame.Framework\Audio\Xact\Cue.cs:line 297 at StardewValley.Audio.SoundsHelper.PlayLocal(String cueName, GameLocation location, Nullable1 position, Nullable1 pitch, SoundContext context, ICue& cue) in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\Audio\SoundsHelper.cs:line 108
I use playSound cuz it's meant to just be a sound effect
does the game ever shorten numbers
!json can you share your event?
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.
like changing 1000000 to 1mil
I had to manually shorten some floats so probably not
I didn't actually want 20 decimal places
no
my current solution is just drawing smaller font when its above 6 digits
it fit int max so whatever 
If it was a big enough issue, I would just set up some manual conversions, be a pain in the butt though
- translations
yea locales
you better do 100 ไธ
i would have only done it if game did have a thing
Probably another reason the game doesn't do it lmao
beside event also post ur additionalsound
RETIRED
FREE. RETIRED. NO LONGER COMMITTED. STILL PROBABLY INSANE
thinking about the disgaea games, which eventually start showing damage in okus
oh no
apologies, I got auto-timed out when I tried to hyperlink it 
Ah yeah, can't do obscured links
Can you also share where you're adding this sound?
the filepath? 
Like where in your mod you're patching it into Data/AudioChanges
I put that into the content.json file
yea show us that
sure
I don't really do events, so aside from syntax I can't tell you if there's other issues with this event script lol
I'm unsure about the \r\n, I know you can do multilined events but I didn't think you needed to actually newline it
Ah, I'm overhauling a mod
I've only added a few lines to the event files
Remove that /* */ comment in the content, it's breaking the validator lol
gdi miihau
Oh when I edit it I can see the whole thing, neat
Weird that it's a multiline comment when I edit it's several single line comments
I... couldn't tell you why
I yote it
Hm, interesting choice, the entry key is shb1 but the Id is shb, not entirely sure which one it actually uses in that case
if the audio thing is a list i think the Id in the model wins
AudioChanges is... special
!log
Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.
Please share your SMAPI log file. To do so:
- Open this page: smapi.io/log.
- Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
- After uploading, it will show a green box with a URL to share. Post that URL here.
Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didnโt occur in your last session, please load the game to the point where the issue occurs, then upload the log.
Log Info: SMAPI 4.1.7 with SDV 1.6.14 build 24317 on Microsoft Windows 11 Home, with 87 C# mods and 152 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
I'm wondering if the \r\n's are causing issues, because I don't think they actually do anything
I think they're just getting added to the name of the sound ID it's looking for
hey @lucid iron is now a good time to talk about trinkets?
Hm, though there is a slash after the name in the previous json
yeah, this is where my greenhorn is showing again-- is that the slash?
yea sure what are your requirements
Oh, maybe just the validator getting messed up by the multiline then
ichor wants a big friend
thank you
Lmao, didn't even think to check capitalization there
its not the capitalization actually, its missing a letter
Oh
Yeah, I am unsure if any fields are case sensitive, but they definitely require proper plurals
and I definitely did not set the paths up right at all
I know some values are case sensitive, which is why I usually just stick to matching exact case
Log Info: SMAPI 4.1.7 with SDV 1.6.14 build 24317 on Microsoft Windows 11 Home, with 86 C# mods and 152 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
well, is there a shb.wav in your assets folder
yes
Do you have file extensions on?
I think I turned them on when I was doing skyrim shit, lemme double check and re-launch
and you're positive its not shb1.wav instead? same with shbb?
(and also double check file extension yes yes)
once more, with feeling
loaded with no errors, I'll go run the event

we have a heartbeat
literally
Lol
thanks again for the help 
Hey i can't get the fish pond color changes to work
did farm mods get broken in the latest patch?
the last patch was like 2 weeks ago wasnt it
i dont think anything with farms changed in it
Great, now I get to figure out what broke with my mod...with no log from the person who made the report...
check for updates on other mods
did you ask for a log?
I did, no reply for them yet
well don't worry about it
heh, I will...because that's what I do...
unless you're trying to make your own mod like that, this is the incorrect channel to be in
can I have some help getting fish pond colors to work in cp?
(whoops didnt see where I was)
you can do editdata and targetfield on the fish pond entries of the fish you want to edit
using the new WaterColor field
yea i can't get the formatting to work
"Precedence": 0,
"WaterColor": [
{
"Id": "Default",
"Color": "red",
"MinPopulation": 1,
"MinUnlockedPopulationGate": 2,
}
],
"SpawnTime": 5,```
is my code
!json pls post the full 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.
sorry
line 1590~ should be where the code is
oh wait seems like i have 2 of them
yeah about to mention that
what's the current/max fish count in the pond that's not working
huh that looks fine to me
long shot but try updating Format to latest version
always use latest when possible, fish pond color in particular is 1.6.9 only
quick question.. does debug cmenu in the smapi window open the main load menu where you create your character? I can't remember what the command it.
I looked it up bcause i was curious. It's listed here .https://stardewvalleywiki.com/Modding:Console_commands
It opens up the character customisation which can change your save file ๐๏ธ๐ ๐๏ธ
Are you talking about debug customize? That will have some side effects
It isn't there. I know theres a command to open the start menu. where you choose your name, farm, appearance... I just can't find it . I even did a search for it but I couldn't find it. Someone sent it to me.
no that wasn't it.
maybe it is a command added by a mod?
I pressed ok before I realized that I only got part of my name typed in. I guess i will restart.
there's also the WizardShrine action?
I have a brand new save, I'm not there yet.. and i don't want everyone calling me SAD
debug customize asnd debug cmenu are the same thing
yeap. that would be... sad
it is? cmenu doesn't work.
how hard is it to add one or two lines of dialogue to a character without overwriting anything? Thinking of giving Kent lines where he pokes fun at the farmer for using a sword when he most likely used an M4. Just, what are you doing kind of line.
LOL
It should 
Really easy, as long as you're adding new dialogue keys that don't match the existing ones then they won't overwrite anything.
coolio thanks.
it works to me:
hey i have a quick question i havent touched stardew modding in over 4 years by now, and i just wanted to ask has the process adding and editing maps changed since then?
I get this: [SMAPI] Unknown command 'debug'; type 'help' for a list of available commands. I type debug cmenu
you dont have console commands installed
it comes bundled with smapi so you mustve either removed it or are using a different mod folder
why people keep deleting stuff they shouldn't? 
Oh. LOL
If you use Content Patcher, there are some really cool new features now.
i mean i wouldnt say deleting console commands is somrthing you "shouldnt" do
you SHOULDN'T if you don't know what you are doing
most people who play modded likely do not ever need it
I started fresh. But I just removed all mods and started over. so if it was there, I removed it.
oh word? how so
its just a mod. theres no harm in deleting it if you dont plan on using console commands
it was there, absolutely
just reinstall SMAPI and it will change nothing beyond adding them
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/action-editmap.md this covers most of the EditMap actions, including visuals for the patch modes.
ooooo sweet thankss
Ok.
We can also use bonus layers now (Back, Back1, Back 2, etc.) to do more drawlayer shenanigans
๐ซก tysm i will now do great things with this info
ExtraMapLayers used to be required for that but has been consumed.
by consumed they mean 'assimilated into the base game functionalities'
^
You mean CA didn't eat the mod?
I hope not
I have issues separating what got folded into SMAPI/CP and what got folded into Stardew Valley itself, so consumed it is.
I'd be flattered if any of my mods got folded into base game, tbh
I can cook if CA need a cooker
(consume my new child beds mod and give us more child beds in base game, I dare you)
Eat my new rng mod I dare you
I have mixed feelings with mods being assimilated by the game. like credits concern and this kind of thing
maybe trauma with Bethesda? even so I was not a modder when they did such a thing
it's sort of the same thing, at least for CP. we say CP eats a mod when it does the thing the mod used to do, but what that really means is that the thing is now controlled by a complex enough data model, and CP doesn't actually have new powers; there are just more things that count as "content"
Mods getting absorbed never copies the code, if that's what you're worried about
not really worried with copying, but with visibility
Also CA doesn't really look at mods either
i mean i dont think its ever a mod actually being added at all either
just Ca adding things and with so many mods, theres probably one thats similar
Usually "absorbed" functionality is like QoL type stuff that's natural to come up with as you play the game
gotcha
To be fair, I'd be more concerned with my mods being consumed if/when I did more original assets for them. The ones where I'm just minorly tweaking CA's assets or adding TileData properties? Meh.
Tbh if you want visibility/downloads I would do almost anything else lol
Yeah, that is a big difference. And I'm pretty sure CA wouldn't do that for actual content mods
(Especially since he doesn't really look at mods)
i wouldnt expect any game developer to ever actually take a mod and add it to the game, original assets or otherwise, without some form of legal contact there between you and them. not just implement a similar idea but like actually add a mod
so your original assets are not in danger
Yeah
CA's always been really good with the modding community, I don't foresee any issues at all with SDV modding at least.
I thought CA accomplished that by writing a metaphorical blank check to Pathos for all things mod-related.
I am just going to start over. LOL ugh debug cmenu said : debug cmenu
[Console Commands] Sent debug command to the game, but there was no output.
that is normal
what do you need this for, anyway
Extremely normal
Thatโs what half the commands do in the console
I typed Sad and nothing else.
is this related to a mod you are making?
then youre in the wrong channel
always glad to help. and yes, that is the smapi answer, but, as you can see in my pictures, the cmenu gets opened in-game
I see now. Thankyou!
Alright, so if I go ahead and make the washing machine mod happen, what would be the most appropriate way to give people access to it?
Add it to an existing catalog, put it in a shop (but which one?) or have it gifted by an NPC?
definitely Robin
she gets minifridges and televisions to sell. washing machine would suit very well
robin can do anything huh
Alright then.
I suppose the next consideration is "do I remove the clothes you normally can't get through non-special means or just let them be a chance occurence anyway"?
Like Lewis's shorts, the clothes you get from the Traders, etc.
I'm a little worried about how to isolate those items individually
Definitely easier to not worry about it and just let it pick from everything
you could append a context tag onto them and then allow/ban the context tag?
that would also let mod authors exclude stuff on their end
there is that 
There isn't even a context tag field for the shirts and pants, unless it's somewhere else other than Data/Shirts and Data/Pants
So it'd have to be a custom field or something and I can't do C#
... ๐ญ i just realize ive been misspelling gunther's name the whole time because i mixed it up with another character's name...
For gifting, do trinkets have a specific item type (category) or would I have to list them all individually w/content patcher
you can isolate individual items by IDs, it's not much but it's something
(re: the shirts/pants filtering thing)
trinkets are category -101, it looks like
Thank you very much I must have missed it or somethin :]
it doesn't seem to be on the wiki yet, but the code seems to use it
O: well that makes me feel better (i wasnt just missing it this time)
for gift tastes - if you are doing a 1.6 item is it MysticSyrup or Mystic_Syrup
!itemids
or unpack the files alternatively
no no i meant the formatting of it not the id itself
you write the ID itself
depends on the item i think
use what's exactly in the unpacked files, so MysticSyrup
Thank you :]
Hey Selph, is it possible to display two items side by side if I have it outputting two things, or does it only show one?
(I found the washer/dryer combo sprite)
And if that's not possible, any ideas for what I should make the dryer do? >_>
right now only one unfortunately
Fair enough!
It only showing one item is another point in favor of the exclamation point placeholder icon though ๐
You joke, but I very briefly considered tossing a dyeable clothing item and a dye object in there to try to output a color clothing item
And then my brain broke
(okay, recovered my wiki acct again, I think the Modding:Items categories are up to date now
)
(not possible without C# unfortunately)
couldnt you create a duplicate piece of clothing for every shade (lets say 16 shades per clothing) from not faded to super faded, then have the machine take one as input and output the one with the next shade up
rinse and repeat for every colour
its only like... what, 256 to the power of something combinations?
My sanity demands that you stop that train of thought right now. LOL
oh my thought trains have no breaks, theyre always running i just dont speak them out loud sometimes
it only looks like i have separate coherent thoughts bc of the gaps in verbalizing them but rest assured each of my dumb ideas has some connection to the last
the more immediate blocker is that machine input/output rules are not supported for furniture
in other words, you're the one that needs to write the C#
cuz that sounds like an extra machine config thing to me 
Yeah, I can convert them to BC if I have to
Was trying to keep them consistent with the existing HxW catalogs, which is the only reason they are furniture
Bored and wanted to make a Stardew mod so I randomized 4 random items to give me a theme. Got:
Ginger Ale, Orange, Qi Gem, Petrified Slime
My idea was a type of potion brewing or drink smithing mod with Ginger Ale being a pseudo base and other ingredients like oranges have offensive buffs like speed but then non-edible ingredients like petrified slime give defensive buffs like immunity to certain debuffs or just increased defense.
sounds like the volcano forge but for bartenders, which sounds cool and fun to me
also like the ||desert festival food vendor||
i forgor about that
Yeah I've been doing game dev with Unity for years now C# was the first language I learned
though I'm checking rn if Better Crafting's enhanced crafting would allow doing all that without C#
hmm probably not
Question: Is there a way to get a not-white variant of the dyeable clothes with my setup for the laundry machine mod? >_>
so far they're all white when they pop up and I don't know if that's because of the required setting for the placeholder object
on the upside, Robin sells them now, so, progress!
Hi I was wondering if someone could help me out on my first mod? I'm trying to replace the entire Springobjects tilesheet and I've been following the wiki but I'm not quite sure what to put for the FromArea and ToArea section. Would I have to do it by each individual item or can i just replace the entire png at once?
if fromarea and toarea is not specified it will be a total replacement
would i just leave that section blank then?
yeah just dont add them
thank you so much!
that is, dont include the words "FromArea" or "ToArea" at all. dont just like, leave a weird blank space after them
omit the lines entirely
glad you said that cause I was going to do it the wrong way lol
Also, use EditImage instead of Load if you want to avoid mod compatibility issues down the line.











