#making-mods-general
1 messages · Page 386 of 1
Cursors.png is located in LooseSprites
Thanks :3
we all learn the depths of cursors one way or another
Hey so does anyone know why a move (not an advanced move, a normal move) would fire twice in a row even though it's just once in an event?
https://smapi.io/json/content-patcher/7f1de63d1d1a46ceb945b1505f0ee732
Second to the last event. There is a single command to make Bill walk and then look left. he walks, looks left for a split second, then walks again and looks left and then the event continues
It worked fine on a previous test, but the farmer walked twice as far as they should, which I seem to have fixed. I THOUGHT I just set the farmer to walk too far, so I lowered the number, but now I am worried it was doing the same thing
The farmer didn't face a different direction at the end, so it really could have just been running the farmer's movement twice
and I can't even hypothetically understand why
If you add a /faceDirection after the move to force a longer look left, does the movement duplication stop?
I can sure try it
Nope
He does a split second look left down by Shane and then continues on into the building and finally stops looking left
The farmer walking on the X axis worked fine too, it's the Y that seemed to mess up
Oh hey Shane also doubles his movement on the X axis in my other event, kill me
but not the Y axis!
WHY.
makes a bunch of random changes to where pauses happen well, KICKING IT REPEATEDLY hasn't fixed it
events cursed again
If I can't get "take one step" to work, how am I getting anything else to work
Are both events on the same map?
I wonder if you can replicate the behavior on a vanilla map, or if you are somehow getting collision-based weirdness
Yeah, the main town map
it is the vanilla town map
I put a new building in it, but it's... it's just the town
But not a vanilla building, you patched it
So it could still be collision from your patch maybe
What am I colliding with though? I'm just walking in a space that is also open ground in the vanilla map
No chance of any invis tiles on a building layer where they are walking?
That's something I can check at least
But it's been working for a while now and I ran over every inch of it to make sure I could walk over the path and such
If that's not it then I unfortunately have no other ideas
There's a chance the X axis one is too close to the building, but the other one sure isn't
I just remember that move commands behave VERY weirdly if you accidentally path a NPC into a wall with the move command
i’ve had NPCs walk farther than intended when only moving them one tile
I did. But since it's doubling the movement, I get this weird turn in the middle even if I just halve d it
The problem is, it's doing it on a one tile move AND a like... five tile move
cursèd indeed hmmm
god I've got five heart events to go after that, why is event making soul-crushing
Does it happen with advancedMove?
have you tried adding a pause after the move
There is a pause after the move
And I don't know, because I haven't used advanced moves before, but I guess making ALL OF THE MOVEMENT advanced moves is gonna be next on my list after looking at the code doesn't make me want to die
I saw a speak immediately after the move, not a pause, unless I read the wrong event
Well I've edited it like five times since then trying to figure out anything to help, sorry
But putting a pause there was one of the attempts
Haha, no worries
and it didn't work
Was just throwing anything I could htink of at the wall and seeing if it stuck
If anyone figures out what's broken in my stuff, ping me. I'll get to it tomorrow.
Hey, is there any simple way I can retrieve a player's vanilla save data specifically hair color if possible in a relatively simple way? I've looked through both Content and Data and I can't seem to find a way to access the save file using a c# mod
Game1.player.hairstyleColor.Value
guess I'm blind, is there any list or a wiki that has all of these values?
also thanks you!
have you decompiled the game code? you'll find all player properties in the Farmer class
Hi everyone ! I joined a group of french translators yesterday and we thought that a glossary of translation (for items/locations…) would be cool to have.
Do you know if something like this exist ?
I know that there’s the official and mods wiki for quick reference but having a unifying tool would be better, I think.
Something like this.
isn't that just what the vanilla and mod i18n files are for? and the bonus points are that they're always up to date
the wikis reference the official files for everything anyway
the one possible drawback is that mods and vanilla are in separate files but that's also kind of a good thing since different translators work on different mods and there may be multiple things with similar names in different mods that have been translated differently
trying to list everything would be to pretty much be the codebase anyway, but as blueberry said, having a decompiled codebase or using ILSpy and exploring is everything you would need.
In terms of "players vanilla save data", everything in the SaveGameInfo file will be on the farmer instance (Game1.player) and when viewing the property list, the xml attributes on the properties will say how it maps back to the xml file, though its pretty much 1:1 mapped with same names for most cases anyway
A centralized translation spreadsheet sounds cool in theory, but it'd be incredibly hard to keep it up to date and including everything. I don't think one exists right now
When ive done translation work i just keep any relevant i18ns open on the side to reference
Mmm yeah it would be hard 🤔
can u get money by making stardew mods?? like on mexus mods do they get money from it??
ohh ok thnx
nobody is making a living off of it
with the possible exception of flashshifter
but in general, its a hobby not a job
and trying to turn a hobby into a job is dangerous
who is literally like, top two most popular mod authors in sdv
Pathos also does to an extent, but Pathos also has some of the largest costs in the space and not 100% if he even breaks even
That’s the drawback for us. We try as a group to unify the translation. To give an exemple, I make the french translation for More Warp, which in its recent update, include Sunberry’s Warp. I don’t play this mod so I don’t know what are the locations mentionned. But Mazoout translated Sunberry so using the same references would be more accurate. Otherwise, maybe I will translate something different. (maybe she will call an inn "Inn A" and i will call the same location "Hotel A").
And we don’t want to open each mod and each file to verify what’s the name for THIS object or THIS location. Having a glossary would be much easier for us.
but some mods are inevitably going to be translated by other people. The correct solution in stardew is always to just check the actual files tbh. Most mods have a single translation file per language anyway
I mean that sounds like somethin that'd be useful within your translator group then but probably not applicable to the wider Stardew modding discord
with CP, is there way to track if player owned certain items? want to send letter after some items r owned (like deluxe scarecrow from the scarecrow society)
You can still make the glossary, no one can stop you from doing that, we're just saying why it doesn't already exist
Ok, I thought that asking would be better anyway. I see your points but I’ll try to make this glossary, at least for our group.
And maybe, in a second time, if it is working and some translators in other language are interested of it, will propose it.
it might kind of depend what kind of item?
I wonder how the deluxe scarecrow one is done
you've got repo access don't you. why wonder when you can receive knowledge
Thank you for your answers ;).
because github search is being mean to me and I don't want to get up to my computer 
ilspy is my best friend
don't look at me I'm on mobile
I don't think it's android compatible unfortunately
Amen
Farmer.dayUpdate()
if (Game1.random.NextDouble() < 0.905 && !this.hasOrWillReceiveMail("RarecrowSociety") && Utility.doesItemExistAnywhere("(BC)136") && Utility.doesItemExistAnywhere("(BC)137") && Utility.doesItemExistAnywhere("(BC)138") && Utility.doesItemExistAnywhere("(BC)139") && Utility.doesItemExistAnywhere("(BC)140") && Utility.doesItemExistAnywhere("(BC)126") && Utility.doesItemExistAnywhere("(BC)110") && Utility.doesItemExistAnywhere("(BC)113"))
{
this.mailbox.Add("RarecrowSociety");
}
anyway it just checks the whole world for- yeah
i just got back to my desk to check too
up until now i didnt know it wasnt a 100% chance
what an awfully inefficient check lol
why iterate over every item in the world once when we can do it 8 separate times for no reason
predates having good code primitives to check multiple things in the one trip
the fact the "is scarecow" logic is still "does the items name contain arecrow", but also has a optional context tag mode that isn't used for vanilla afaik
simlar for the function that gets the scarecrow radius, as i recall
but with deluxe instead of arecrow
I'll assume no CP equivalent then 👀
a trigger action might be able to emulate it
i suppose i could create flag when the item purchased?
well you asked a general case but gave scarecrow as an exmaple, was that the only one you actually cared about?
you dont purchase the deluxe rarecrow
dont purchase all the individual rarecrows either as a few are museum rewards
the museum rewards at least come with flags
however without something like BETAS you cant know if the player actually placed them
A trigger action with a PLAYER_HAS_ITEM trigger wouldn’t suffice, I assume?
then no there is no general way with CP alone
this would only work if the trigger fired when they had it in their inventory
if (Game1.random.NextDouble() < 0.905 && !this.hasOrWillReceiveMail("RarecrowSociety") && Utility.doesItemExistAnywhere("(BC)136") && Utility.doesItemExistAnywhere("(BC)137") && Utility.doesItemExistAnywhere("(BC)138") && Utility.doesItemExistAnywhere("(BC)139") && Utility.doesItemExistAnywhere("(BC)140") && Utility.doesItemExistAnywhere("(BC)126") && Utility.doesItemExistAnywhere("(BC)110") && Utility.doesItemExistAnywhere("(BC)113"))
{
this.mailbox.Add("RarecrowSociety");
}
Well that's a fun way to add it. 
if i buy a rarecrow, then immediately put it into my junimo chest, you wont detect that
Then you've discovered a game bug!
what
This is from the decompile.
im talkin to doragoun
Ah, I missed the initial context. Yeah, sorry.
To be fair, I did say it would most likely not suffice. 
it was a good assumption!
I guess if you wanted to get complicated (and the items you need have to be bought from shops), you could set mail flags upon purchase and then run a trigger action once you’ve got all necessary mail flags, but…
As items in context here is all custom items added by mod I think i can get away with flag because everything obtained through shop
assuming no other mod gives you access to rarecrows
then yes you can detect when they have purchased an item
if you control all the levers then its simple
was tryna avoid that 😅
Understandable. 
thats basically most of the use case for ActionsOnPurchase
remember to only send and check mail on the host
is mailflag shared by all players?
if i buy one scarecrow and my partner buys a different scarecrow then neither of us will end up with all the flags
they are absoutely not
thatd be disastrous
but you can just AddMail to the host
oh
and always check the host with either the GSQs or the CP token
noice
then it doesnt matter
i would now like to introduce my new mod idea
Sorry i've just had time to see this:
So I make a new EditMap command targeting the vanilla map?
Oh wonderful, regardless I think decompiling and going through it will deepen my understanding so I’ll do it. Thank you so much!
excuse me ms @brave fable may I pm you about one of your mods?
I tried to add a mapproperties edit to the vanilla map behind my mod in hopes it'll stop the vanilla lights from coming through in areas that no longer have lampposts, but it's done nothing
I also keep getting this error whenever I load the Town map
nope ☀️ here's fine though hahah
Ok! So I posted some time ago about compatibility with Love of Cooking and Ultra Organized chests. My husband said he might able to help with that if you allow him. Then if it's okay we can send to you. I'm sorry if it's not allowed
ooh, code submissions are always welcome, especially for compatibility
keep me posted if you need any info about the codebase, it's pretty messy hahah
he actually already did it (shy)
I will send it open so you can check it
he's not a C# coder but it seems it worked from what I could tell
He said your code is amazing lol
that's a relief, it's agonising imagining people trying to understand it all hahah
It's saying the NightTiles map property value includes AlwaysFront 17 86 908 AlwaysFront 21 64 908, but the AlwaysFront layer doesn't have any tile index at 17,86 or 21,64, so it can't do that.
C# is very very unknown to him
but he understood enough for the compat
mr @tawny ore comment back then helped him a lot as well!
ah, an actual professional programmer lol
if you guys are not professional I don't know who is
everyone's codes here are amazing
he will send it open to me as soon as he finishes his work meeting, I only got the closed code in my computer
Thank you so much!
it's a day job
and a night job, a hobby, a pastime, ..
XDD
no worries! i'll let you know if it needs any cleanup before it's merged
I'm always impressed at what you guys do cause I never worked with code before
but maybe I will one day slowly learn, It's very foreign to me so far
the trick is to move to australia. once you're that foreign the code's almost legible
I'm pretty sure its because its the vanilla map properties coming through my map edit, but now there's no lamppost on that tile there it's spitting out this error.
But I don't know how to stop/remove the vanilla map properties
I'm brazilian so when I read code I need to process 2 languages
then I read tutorials and I need to process what tutorials are saying haha
It's described in the MapProperties info here:
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/action-editmap.md#edit-map-properties
You can include something like "NightTiles": null to remove a property entirely, or just edit it to match your map replacement
Thanks! I'll try that!
professional coders design solutions. i just find them 
Is there no way to override rainy weather triggering NightTiles from day start? I made cool daytime rain windows and realized way too'd late they'd go unused
I wish that was the case, as none of my work colleagues seemingly can understand it either
And does Snow also force NightTiles?
tbh they don't fully understand their own code either
feel like at times I'm the only one that knows how debug an application
it's wonderful to imagine your coworkers huddled around a monitor trying to debug my cooking
struggling, presumably
But it's such a cute mod, if I didn't know I'd think it's base game
Huddled around a stovetop trying to debug cooking
No it needs more salt
I've been trying to read several mods and base game mods to slowly learn
I can read your code perfectly fine bluebs and I'm very dumb so
hahah that's high praise both of you
I wouldn't do cooking in game without it
Of course ultra organized chests also blew my mind when I saw it
my OCD for organization is very happy now I can use both together
always happy to hear people like my creations :') still charging up the strength to update them
You have so many I can only imagine
speaking of cooking, imagine a cooking mama style minigame everytime you wanted to cook in-game
I can't code so I've been working on spritesheet compats for recolors to help a bit
Do you like cooking irl?
i like eating irl
What is your favorite?
eating
Blues has pretty menus
ya, the animations are also amazing
do i dare touch the (island) farmhouse
What are you touching
unfortunately most of my code is from the first year or two of learning c#, but desert bus is minty fresh
but it was also cobbled together in about a week so also very much crusty
I like to pretend I live in a world where nobody else will ever read or run my code
other people who run my code may not be fans of this approach though
Honestly, even the UI code in Love of Cooking isn't bad to read at all, and that's a feat.
I assume people will read and understand my code perfectly and therefor don't need no comments
the git page is extremely wobbly after years of mixing tabs and spaces
hey, they get variable names and they should be grateful
never mind you're mortal after all
I just looked at Smart Building's UI code in the longest time, and I... emergency readability update time. 
The biggest problem is WHY DO I HAVE SO MANY THINGS COMMENTED OUT INSTEAD OF JUST DELETED?
What if u need it again!
probably the biggest improvement in the history of loc was moving all of the page and inventory logic out of the main menu class. jesus that was a long file
hi are you every one of my coworkers
Git history apparently didn't exist to old me.
God i fixed that asap
Can't stand it
That might be an actual brain issue with me
fixed that to spaces, right?
I also re-indent my coworker's code
Yesterday i yeeted a extra layer of PerScreen<ConditionalWeakTable<Thing, Dictionary<...>>> and my draw improved 1ms
Why did i do that...
but what if the code is too broken to commit yet??
Well, the VS autofix fixes to spaces
I haven't done that for a long time, now! I got better! 
I do that regularly but delete them before committing so I can pretend I don't
Well yeah, that I do still, but they don't survive to commits anymore.
Multiple working drafts of a change and all.
I still do that regularly because svn sucks
imo Gift Wrapper is my best UI code. for some unholy reason i decided to put the entire mod into a json file
https://github.com/b-b-blueberry/GiftWrapper/blob/master/GiftWrapper/assets/data.json
Reinventing html/css
I think my favorite mod code was the era where everything i did was IDisposable
You'll see.
There was a lot of IDisposablr
my home is a workshop for new, incredible wheels i've invented. some of them even turn
my workflow for this tiled extension is awful and I won't even try to pretend it isn't. I've yet to set up a git repo and am doing the file_old file_old(1) file_new file_final form of version control
Atra's renewable recycling phase
Over shit the GC wouldn't have saved me from b/c of events being hard references
Actually i do wonder about the threshold where instead of record i should actually make a proper pool n all
internal abstract class AbstractScreenshotter : IDisposable
at this point it's only a blueberry mod if it's got a new Pool implementation
maybe a couple just to be safe
internal abstract class AbstractFriendshipMonitor : IDisposable
Why have a custom pool?
boat cutscene has one, desert bus has one, like two other things
passing decor, mostly
Looking forward to blueberry's swim mod
Pool for what?
[was this not enough for you](#making-mods-general message)
I'm so confused
Hi ms @brave fable , he sent me this link, is this the right way to send the modifications? https://github.com/b-b-blueberry/CooksAssistant/pull/23
pool^2
the little bushes and cacti and stuff that pass by when you drive
https://www.youtube.com/watch?v=QeRcycSK390
https://github.com/b-b-blueberry/DesertBus
aka. Pam and Penny's Smoke and Mirrors, Journey of the Prairie King: A New Hope, Speed 3, Drive to the Desert, How I Learned to Stop Worrying and Love the Bus, etc.
that hud is so cute haha
very neat! i'll give it a test sometime in the week, getting late at night here hahah
thanks so much for the submission!
No thank you!
Ahhh? So a list?
what is a pool if not a list with extra steps
😌
....a man-made body of water?
im confused. maybe i should go to bed instead of trying to keep up with programmers at a higher level than me
Dw atra is just bullying blueb again/lh
It may be a bit complicated, but you could probably use CP's EditMap -> MapProperties to add those windows to NightTiles on days with rain or storm weather:
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/action-editmap.md#edit-map-properties
But directly speaking, no, there doesn't seem to be any control over how NightTiles works. And no, they should actually care about time on snow days.
idk about that personally, but maybe 
seems like it could but would be similar to just patching the property* (at a glance)
Is there any way to replace an asset during runtime other than editing the data and invalidating the cache?
No safe way but this sounds like an xy problem
I want to change an NPC base on the player's look, for example eye color
Absolutely use the asset edit system
yeah, but it needs to happen during runtime in case the player starts a new save or changes hair color
That's fine
Assets get invalidated and reedited often in a modded game
Are you in C#
yes
editing the data is how you replace the asset, invalidating the cache is how you do it during runtime
you're doing fine
Yeah, the system is kinda complex and very easy to screw up if you try to yolo it
(Yolo - directly editing the image asset outside of AssetRequested)
Perfect!
If u need like prismatic eyes or smth then maybe consider patching npc draw
I really want to thank y'all I'm new to modding as a whole and everyone here are just so awesome!
❤️
Is that Harmony?
yea patching in C# context usually means harmony here
I'll look into it, tysm!
(again, that's an if based on whether you need something continuously changing, rather than just refreshing once in a while)
yea prismatic meaning the cycling rainbow gamer rgb color
probably not what I will do in this specific case but it's still super interesting to look into
if u just need it to be blue just like farmer then u dont need it
i do this then look back and scroll through the equivalent of at least 2 whole word document pages
Oh, adding properties via CP is something I didn't think of. I was about to load an entire alternate version of the map just to account for snow days and snow nights
"but you could probably use CP's EditMap -> MapProperties to add those windows to NightTiles on days with rain or storm weather"
This would require OnTimeChanged, right?
no you add the NightTiles for the day, and then let normal night tiles logic happen
Ah, I see. Thank you
Glad to know I can get rid of the EditMap patches
This will preserve animations as long as the weather-conditional tiles I'm targeting in my CP patch are the ones I have animated in Tiled, right?
I'm not sure how NightTiles (or most things) interact with tile animations, personally 
all that NightTiles seems to do is change the tile index. i wouldn't assume it would change a StaticTile to an AnimatedTile
is it possible to do an android patch for a custom NPC mod to make it work on android?
depends on what's not working
I think its the files? the comment i got on my mod said that they were having trouble with the files
maybe installing mods is different on android? idk
it's not different and tbh this sounds like user error
just direct them to the android smapi discord 
!androidsmapi
We are not able to provide support if you run into trouble or compatibility issues with Android SMAPI; please use the discord linked on the Android SMAPI github.
IMPORTANT: This is a highly experimental build and may be prone to glitches, bugs, or incompatibilities. Please see the wiki instructions for more information regarding installing the unofficial Android port of SMAPI for Stardew Valley 1.6.
Do not harass mod authors to make Android specific compatibility patches.
something that might have happened is the file names, android is unix which cares about casing in paths
Unix caring about casing has both been my bane and my boon, great for somethings, terrible when transfering to windows
Hi everyone, I need to know which json has the Grandpa event at third year
errr check Farm
if not farm maybe farmhouse i cant really remember if it plays when you wake up or step out
Now I've got a new problem: I've tried to do a EditMap command to put in new lights and day/nighttiles into my custom map but it's not working
it’s in Data/Events/FarmHouse
rats almost got it
if it helps, wem, i believe the game adds the event to every existing locations
(probably using farmhouse as the source of it, still)
How do I impliment DayTiles, NightTiles and Light properties for a custom map using Content Patcher (EditMap)?
you need to target Maps/Town
Oh, I thought I could apply it to the custom map I had
Also I have an action telling it to Null all light map properties in the vanilla Maps/Town so it's discounting the new properties, so it cancels it out
you can just do overwrite with new props in one step
remember that when you edit something its changes being applied to asset directly
@latent mauve my mod has the context tags now so you can use them. When i used 'true' for the thing before it, the portraits were gone from the catalogue so i left it empty as you said.
Is that something like "Actions": "Overwrite"?
no it's no different than you putting in null
simply put in your new values
now for greater compat, you can consider doing 2 edits with different priorities
one is a Low prio edit that takes out the vanilla map prop
and then a High prio edit that appends your new values
Finally! Thank you so much that works perfectly
thanks!
hi guys! if am making an event where an NPC comes to the players doorstep, what do I put the camera tile thing to? 0, 0?
Yeah that should work. When I was making one I think every coordinate I set started at the front steps anyway
The farm cave and adoption events are probably in the game files, you could just unpack them and see what they're doing
!unpack
Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!
@grizzled rain I see you've got a Sprites in Detail requirement - is that working in Android SMAPI? That might be the issue
no thats the other mod, this comment was on the Ryza npc mod
Does anyone know what this error means? I put it through the json parser and they said there were no issues
sorry that i wasnt specific on which mod of mine it was btw
No worries, I missed it looking at your profile on mobile. I don't see anything in there that would cause issues except possibly whatever you're doing with spacecore (but I do see that's optional)
thanks for taking a look, i apreciate it
!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.
not sure whats going on with it, then
Something is wrong with the content.json, seems it can't convert the "Target": "Maps/Forest" to the format it wants, is this your mod? if so paste the link to the smapi json parser, it may be just a formatting issue
json parser fyi mostly just checks to see if its a valid json, it cant see whether youre using the right format for the right thing (i dont have the techincal words to explain, but basically it can give no errors even if there are in fact things wrong with the json)
adding the content patcher schema to your editor if it supports schemas (VSCode does for sure) can help find issues too
If you have somehow left out the quotes around the Target, that would cause that error, but I would expect the validator to catch that if you have the schema selected
the smapi json parser does actually have some validation specifically for content patcher and manifest formats using the schemas! you just have to pick the right one in the parser
ye thats why i said mostly 
It can give you a definite no, but not a definite yes.
are there any formats it doesn't support at all yet? maybe I'll write some schemas. I'm in a schema kind of mood
That reminds me, do we have a handy link to the event code validator somewhere? I feel like I remember something existing.
The only ones it supports rn is Content Patcher, I18n, and Manifest (That I can find)
theres an event code validator?
can you figure out how to write the internal schemas
I think there was a plug-in or a script or something but I may be misremembering
E.g. fit the format of Data/Characters under cp Entries
so like specifically if it's patching Data/Characters?
Yea but that's just example
yeah that's possible, there's already a basic version of that going on for warps
I'd love one specifically for furniture, I mess that up so much because its a slash delim string
that's the whole reason I messed with the schemas in the first place 
I would like to be able to extend the cp schema to cover my silly custom assets in general
But we should begin with the vanilla assets
but the problem is that once there's a token in a field that supports tokens, you can't validate any further because it could contain anything
event code validator is being built into 1.6.16, if memory serves, so it's not an external tool afaik
Could RegEx be used to essentially skip over anything within double curly brackets?

I mean i guess this is what sinz debugger is for then
I forgor if it validated fields actually didn't check yet
I mean yeah, that's what a schema does
But yeah it's okay if u dont statically check all the way down the values
the entire reason I was messing with them before was to make it so if you put a token in a warps patch it disables the warps format checking
Just telling ppl that hey this field doesn't exist is pretty good
oh that's definitely doable
But while I can badger u into things do u know what broke FromFile
but since I don't do much content patcher I would need to be told what to add 
hmm. vscode doesn't give the correct errors, try putting it in the online validator
Appeared on 7/28
It's valid online afaik
But u can check, this thing happens on any Load with a FromFile
that's around the time my update was pushed but I didn't touch anything close to FromFile...
I blame you anyways 
hold on it wasn't even accepted
github was misleading me
Must be brought to justice etc
definitely not me then 
(why did github even show me my fork's history when I'm looking at the original repo...)
Which schema is this issue occuring for?
Content Patcher
I'm not getting it at all weirdly, on VSCode too
You need to actually use $schema
ive been getting it on VSCode
I am, "$schema": "https://smapi.io/schemas/content-patcher.json", unless this isn't the correct one
What if it's actually vsc nonsense
does it happen with this schema too, chu?
https://raw.githubusercontent.com/Pathoschild/SMAPI/26a66cc20abf81e57028b7390a20a1471f192fc4/src/SMAPI.Web/wwwroot/schemas/content-patcher.json
that's my current guess, yeah
I shall try in like 10min
i still get it
I'm thinking one of the many extensions I have installed stops it from happenening, the only schema issue I come across is the lack of a "Format" field in include files
No error here when using your schema iro, defo think I have an extension stopping it
it's caused by the part that prevents directory climbing
I was on VSCode version 1.101.2, just updated to 1.102.3 and I'm getting the same issue now
Is there a game state query to check if the player has visited a location? (i figured it out
)
Hi DH! Long time no see
Okay, never mind. I cleared the cache, and it still doesn't complain on this one.
I feel like we keep being here at the wrong times! 
figured it out, idk why it just started recently but there was a badly escaped backslash 
how dare...
Nvm figured it out
AdvancedMove fixed my problem from last night btw
(I think I figured it out at least)
What I don't get though is why Rider is happy with it...
rider is no thoughts head empty
my guess is that the way that bacslash was handled used to be "not ideal but we know what you mean" and now vscode is checking it more strictly?
because the issue is with the part of the regex that's supposed to say
[/\\] (so character group of / or \ )
but the json also has it as [/\\], which means that the actual regex becomes [/\] after json escaping
but if that is the case, that's strange because it would mean being unable to escape the ] character so you could put it in a character group?
I remember when I was going to be making a schema for the JSON checker for VAF...
anyway my fix was just making it the correct [/\\\\]
Four of them lol
it should mean FromMapFile is also broken, and possibly a few others we haven't spotted yet (plus I found a mistake in Target)
idek what FromMapFile is tbh
oh it's CustomLocations
@blissful panther can you check what happens in rider if you make a localtoken with ] in the name? I don't have it installed rn
(specifically a closing square bracket)
oh ig there's some kind of smart checking that prevents the regex parser from getting confused between [\]] and [\] because the online validator is fine with it, but vscode must have done something to break it 
Yup, it hates this at least.
can you try it with only the closing, not the opening?
cool, then it's just vscode being stupid (typical)
right, I'll fix that and the target and throw it in the same PR as the previous update 
Thank you to everyone who've helped me over the past few weeks fixing my custom map, I'm basically finished!
Only problem I have now is that I accidentally deleted the blacksmith garbage can tile detail thing and now I can't get it to work
I made a new object tile and put "Action: Garbage Blacksmith" in the custom properties but it doesn't do anything when I interact with it
can some of you try this schema in various editors and let me know if it works as expected?
https://github.com/irocendar/SMAPI/raw/refs/heads/cp-schema-fix/src/SMAPI.Web/wwwroot/schemas/content-patcher.json
Sure
that's what the schema is checking
it's not allowed
VSCode 1.101.2 works with it as expected, no errors besides the ususal missing "Format" field in include files
didn't you update to 1.102.3?
I did, but downgraded so I dont have to deal with yellow lines everywhere
I'll have to wait for someone to try it with a version that was broken in the first place then
ty though
Nice. and FromFile isn't erroring?
Looks good!
excellent
I also fixed Target while I was at it (it had two problems, one was that it was assuming there was only one target, and the other that [cC][oO][nN][tT][eE][nN][tT] made me sad)
Nice fix, means I can update VSCode now, woop!
Hello! I'm new to modding and I was trying to bring the mod Seasonal Outfits - 6.0 Code Fixes to SVE. Is there any way to quickly test the beach sprites? I don't have a save with SVE and ginger island unlocked
You can use CJB Cheats to cheat the prequisits for the island and the money required for the golden walnut parrot
Without a savefile with them I don't think theres a quicker way
thanks! i'll give it a try
Can someone help me with translating an Enum value. For GMCM?
chat i’m afraid
i wanna start making mods… but the cheeto curse scares me 😞
but i can’t turn back now either. it’s too late. the voices have gotten to me.
what kind of mods are you planning to make?
i have literally 8 ideas that i’ve written down in detail. they’re mostly ui utilities that will analyze data and present it to the user
I am always up for more info on my screen, what kind of data will be analyzed?
do you know any c#? if not, it's always a good time to start learning so you can make these mods
i’m still working on the specifics. but given that i have a background in mathematics, data seems like a perfect niche for me to work in
It's possible to escape the cheeto curse
not yet but i’m planning on it! i do know a few languages including c++ so hopefully c# won’t be too big of a jump from there
.q 6521
So I guess my hot tip is to get married to someone who likes playing stardew
- @tender bloom (Jump)
oh. lmfao. yes.
thats so real
(I managed to escape the cheeto curse but at what cost.)
Remind me in 7 hours to fix this shit even though it doesnt matter anymore https://github.com/atravita-mods/StardewMods/blob/b26af1691335facebe60e551c098635c95513d14/AtraShared/Integrations/GMCMHelper.cs#L347
ehhhhhhhh ok (#6804644) (7h | <t:1754357492>)
That was nonsense when you wrote it atra, you should feel bad atra
the cheeto curse is not playing. remind me when the last time you played sdv was? 
It's not docs and I don't have my stardew github on my phone
oh i mixed the two channels
Oh i just abandoned all my mods 
I was looking up what I did for enums in gmcm and loke
What you did was nonsense, atra
You should feel bad, atra
What the hell
me when i look at my projects from when i first started programming lmao
one of my first projects was a program that converts any image into a cross stitch embroidery pattern, written in python
like a much worse version of that
Hi! i'm new to making events, and my event is not loading; SMAPI says it is not found. does this look written right?
{
"Changes": [
{
"Action": "EditData",
"Target": "Data/Events",
"When": {
"HasVisitedLocation": "OMEGAlinc.CSExpanded_CentralStationUndergroundShops",
"Hearts:Wizard": "2"
},
"Entries": {
"{{ModId}}_WizardUndergroundShops/t 0900 1800/": "WizardSong/64 15/farmer 64 15 2 Wizard 65 16 0/pause 325/speak Wizard "Greetings, @.$6#$b#Say.. have you been to those shops? The underground ones in Central Station?"/end"
}
}
]
}
you need to add a specific location to your target, like Data/Events/MyLocation
yeah
ok ty
two more things: id recommend doing the full form prerequisite commands instead of the shortform ones (Time instead of t), and hearts with a villager can be made a precondition instead of having it as part of the When condition. the visited location thing may have one as well but youd have to check the wiki for that
ok.
HasVisitesLocation seems invalid
i mean, the event works right now
it's possible it doesn't fail without checking that properly
there is a Game State Query for that if you want something more clean/stable/sure
for what?
im not sure what seems invalid about it
i got it working, I just needed to change the target from Data/Events to Data/Events/Farm
yeah I know, I'm saying IDK why atra said the token seemed invalid
oh
Is it new?
It didn't used to exist
ok I fixed it now
{
"Changes": [
{
"Action": "EditData",
"Target": "Data/Events/Farm",
"Entries": {
"{{ModId}}_WizardUndergroundShops/Friendship Wizard 500/GameStateQuery PLAYER_VISITED_LOCATION Current OMEGAlinc.CSExpanded_CentralStationUndergroundShops/Time 0900 1800/": "WizardSong/64 15/farmer 64 15 2 Wizard 65 16 0/pause 325/speak Wizard "Greetings, @.$6#$b#Say.. have you been to those shops? The underground ones in Central Station?"/end"
}
}
]
}
nice
CP 2.2.0, June 2024
Lol I'm old and out of touch
sure grandparent lets get you to bed
Happy birthday, Button!
what is the purple grass??? idk what half this grass is. is there a "this grass is for this" guide of some sort bc im dumb
hey all, is there any alternative for questframework? I made a mod some years ago with questframework and I'd like to update it for 1.6, I've been searching this discord and internet but can't find anything
no. you use vanilla data for quests now
There’s seasonal grass + mines grass
I believe the purple grass is dangerous mines lava level
is there any more info on this? any kinda guide, tutorial or documentation on how to make quests with this method?
as with most (all?) things, the wiki is the first place to look for documentation
https://stardewvalleywiki.com/Modding:Quest_data
you will be using Content Patcher
i see, are there any existing mods that I can look at to see examples of how they do this?
probably. look for any 1.6 mods that add quests
VMV has a few quests (as well as many many other things)
VMV being this? https://www.nexusmods.com/stardewvalley/mods/9600
yes
alright I'll look at that, thank you!
Can I get some feedback on a couple of ideas? I'm working on house upgrades for vanilla NPCs. 3 of the maps I've made are meant to replace vanilla locations with bigger versions (Leah's house, Elliott's house, and Sebastian's room) but obviously that makes compatibility with other mods difficult. If they set events or schedules there the coordinates would be different and yeah.
I could also just patch a small staircase and an upstairs to all of them to make a separate location with the additional rooms, and not touch the base maps.
Is that a good compromise or do you think players would roll their eyes at another upstairs because currently that's what I've done for Shane and Haley (added an upstairs apartment), and Alex and Sam (did an "attic conversion")
Hello! I'm new to this discord and trying to get a setup going on my Mac, and getting the "“ILSpy” is damaged and can’t be opened. You should move it to the Trash." warning when I try to download Avalonia ILspy.
Does anyone know if there is a known fix for this or an alternative program that works better for Mac users?
AvaloniaILSpy is...comparatively ancient at this point.
At work I had some success using the vscode ilspy plugin
You'll have far better luck with the ILSpy extension for VSCode: https://marketplace.visualstudio.com/items?itemName=icsharpcode.ilspy-vscode
(Admittedly in windows)
Just use ilspycmd
Awesome, thank you! I was just trying to follow the steps on the wiki. I usually use webstorm but I'll see if I can get that going on vscode for Mac.
As long as u can dotnet install nuget it should work
Hmm ok looking at that now
Report back!
Chue can you update the wiki
If you want to make SMAPI mods with C#, one important resource is decompiling the game to read the game code. Here's how to do it: https://stardewvalleywiki.com/Modding:Modder_Guide/Get_Started#How_do_I_decompile_the_game_code.3F
Yep it's there second section
Oh wow, you did! I had no idea. Yeah, that's going to be the best way.
Ok sweet I was afraid of that for some reason but going to try it now
(this is massively offtopic but I have to ask, Chu how on earth do you remember your username?)
chu, square root of e. All lowercase
Ahh, Euler's number, it's just clicked, didn't realise that's what the e was refering too
why do you need to remember your username though
you log in with email and pings auto complete 
(and that's not chu's username? it's chu2.718281828459045235360287471 haha)
I think the only thing I log into with my email is nexus, the rest of the stuff I log into can use either username or email, and my user is so much easier to type
Tbh thr long chain of random numbers is how I knoe chue is chinese
you should start using a password manager then, because if you're typing things manually that means you're memorising passwords which means you're almost definitely reusing them/reusing a pattern/not using long enough passwords
My password manager is my brain, I (thankfully) have more passwords stored in this fleshy deteriorating thing than I do accounts, well accounts that have important info tied to them
then like I said, they probably aren't long enough 😅 I will continue telling people to get a proper password manager until everyone starts using one lmao
uh oh did I need to do something to make them available for sale...
did you add them to a shop?
Oh it's furniture
they might be available in the furniture catalogue?
They should be in there yes
I fixed the fromfile thing btw, it was VSCode being annoying about regex syntax
ig their latest update no longer accepts unescaped backslashes in certain contexts
I guess it's entirely fine that the JSON schema format can be interpreted to work in slightly different ways. /j
technically it's the regex regular syntax that can be interpreted in multiple different ways /lh
yeah I neglected to mention that if you want them to be for sale in Robin's/Marnie's/etc. you need to edit Data/Shops
they will show up in the furniture catalogue though without further changes
oh no okay ty! maybe I will add that as an update
I rate that scam 3.2/10. Not very convincing
You can make custom catalog if u want
Wasn't even a link either! Poor taste imo
also does anyone know where the png for the hatmouse is?
I think it's bouncer that deletes them which is why it's always so quick, but there's always a chance it's DH lurking or something 

I find this unbelievably funny
(loosesprites/cursors but specifically the bottom right)
it should be a map file I think
This one was Bouncer, but every time one gets through like this, we get a new channel ID to block with AutoMod. 
wait yo is there a picnic at some point??
heart event iirc
AND A BABA YAGA MOMENT??
Spirits eve possibly?
You haven't been into the maze? It's in there!
man I need to play this game more
AHA I FOUND IT ITS IN THE SPRING OUTDOORS TILE SHEET TY FOR THE MAPS DIRECTION
Maybe I'm just a greenhorn and don't understand the mechanics of it, or maybe it's not possible, but how do you add animated fire to an event? Can't seem to turn on a campfire in an event. Discord and online searching hasn't showed me anything I understand. (Trying to put a fire on top of the firepit on the beach).
this is gonna be the cutest when I am done EHEHEHEHE 
What mod is this
its not its part of the festivals png I think
It was pretty good ngl
wasn't very compatible with sve so it sucks
I hear it was one of the first mods released
Hello, how do i change the name of an existing item
Localization? Grandpa's tools does it
should be somewhere in Strings you can edit. Strings/Objects maybe. I'm not at my desk to check
EditData targetting Strings/Objects if they use it (vanilla objects do)
Would I just ignore the other stuff going on here and draw directly over the house?
What's the goal here
replacing energy tonic with Fahrenheit
Yeah lol whats the goal
its a stupid mod
oh
celsius = energy drink, im putting in fahrenheit
you'll need to split your edit image patches to avoid overwriting the parts that's not the hat mouse's house
@calm nebula Ok sweet! It took me a few tries to get the game paths all right, and I had to run the two separately so that it didn't crash halfway through, but it worked! Thanks for the help.
Make a new png with the house, then used edit image with the ToArea property to modify the outdoors tilesheet
it's exactly the same
It's not at all, it's really easy, there's an example on the content patcher docs I think
was in strings ty for the help :3
though if your pixels have 100% coverage of the vanilla pixels maybe you can get away with an overlay edit
100% meaning no transparency either or else the original will show through under it
What if I did it a lil something like this
Oh so no chimney smoke?
Unless it’s fully opaque
Okay and still make it about the same size as the og?
Actually ig u need 3 rectangles 

What tile is that missing corner at
you cannot go outside the rectangular bounds of the original house
but if the smoke is within that rectangle and would be overlaid on top of empty space on the original, it's fine
this only applies if you do overlay like Selph said
if what Selph said doesn't apply to you then it doesn't matter, the transparency thing
The clinic and general store also do this too
if it fits it sits
ft top half of shane coop
Small update on my attemp to decompile the game code: seems like it worked for a lot, but some files like StardewValley/Game1 are coming up empty. Is that expected?
lmao ok thats good to know. getting a big stack overflow error that i was hoping i could just ignore, but i guess not....hmmmm
can u post the actual error
it automatically made itself an attachment - let me know if a screenshot is better\
did you try -lv CSharp10_0
im guessing you omitted the gamepath that was supposed to be in -r 
Is changing the players walk speed based on the tile on the back layer able to be done using content patcher? Or is that a C# thing
i wanna say either spacecore or dynamic map tiles has this feature
Oh good to know, I'll look into that, thank you!
DMT provides a solution to 2 other ideas I had, brilliant! Thank you
@ivory plume hi! I updated the content patcher schema PR to include a fix for a mistake I found in the Target field as well as fix an issue with the latest version of VSCode not liking some of the syntax the regex was using. Let me know if anything needs changing (also for the target field, I had it separate different paths using \b but I'm not sure if you would prefer them to be explicitly separated using ( *, *) instead)
had to add those brackets so discord wouldn't eat that leading space 
Thanks for the PR! You just missed the SMAPI update cycle unfortunately, but I'll take a look soonish.
Nice colors, pathos!
no worries! it's not exactly urgent anyway
oh pathos has fancy colours now
yep, penny has a picnic with the kids
Using only Content Patcher am I able to add a condition that uses the actual date on the users computer? Thinking along the lines of an april fools thing so a certain thing occurs on the first of april
no
Bit of a headscratcher going on right now. Someone gave me a custom sprite for the Portrait Ticket for Darkroom Portrait Shop, and I've been trying to see how it looks in game. I was using my Saloon Breakfast code for Fresh Orange Juice and comparing the files, so I know they're both 16x16, I did a similar load, similar patch, etc... but I can't get the image to load. I keep getting this:
Log: https://smapi.io/log/475386361fb5468d8f67e823687aebdb
Json: https://smapi.io/json/none/8beff0a2b29743ae9cbbeb5a7995609e
Anyone know what I'm doing wrong? I know I have a lot of mods out of date and if you guys think it is the problem I can work on that
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Pro, with 96 C# mods and 175 content packs.
Suggested fixes: One or more mods are out of date, consider updating them, SMAPI is out of date, consider updating it
Thats a shame, I'll see if something like SpaceCore or other library mods can do it and add it as a hidden option that isn't listed
they cant
"SpriteIndex": 69,
does this look right
.... ah. Since my prior code was referencing a vanilla asset, that's probably it
one sec
Is that just not possible at all in the scope of mods then? I thought maybe with C# it might've been, ahh well, bang goes that idea
Thank you, that was it. I'll have to make a note about redoing that code for any vanilla to modded assets in the future
It's fully possible to do, I think....Dr birds might have
it is very possible, they just dont do it for content packs
Then I'll have something to look forward to when i get to learning C#
I feel the tradition is to just release the april fools mode on april fools
depends on the modding community i would say
no reason you cant do it early
Minecraft mods for example love to do so
Certainly nothing stopping u from releasing silly mode on any day of the year yes
Having the date be updating frequently enough to be always correct isn't a thing CP supports easily.
Eh, a close enough is good enough tbh
assuming vanilla time speed itd be like 20 minutes off at most anyway and thats only if the player plays past midnight
with CP is it possible to make something like free cactus from desert festival?
yea it is
(I literally heard of this from the lovely r/bogleheads)
"FreeCactus": "Cactus/randomized_plant/1 1/1 1/1/350/2/[LocalizedText Strings\\Furniture:Cactus]/0/TileSheets\\FreeCactuses/true",
the randomized_plant is the important bit but i remember the tilesheet being rather hardcoded
so u won't be able to make bigger free cacti for instance
When is my wife Leah gonna give me randomized statues
but u can totally make a whole new random cacti item with different sprites of same shape
Ah, as long the assets fit, it should work right?
as the tilesheet hardcoded, probably need all the combination?
yea
ItsBenter I'm not going to make the mod I'm just going to try to convince someone else to
I don't make mods anymore
awww...
basically just take TileSheets\\FreeCactuses, draw over it following the bounds, load tx and add new furni, and u good
very interesting, some labubu plushie perhaps?
I'll prolly should test how it's like when sells through shop
which combination and so on....
Oh dear
the cacti man just give it through dialogue and the dialogue string doesn's seem to have any command attached
it gets randomized on creation psure
I'm atempting to use Dynamic Map Tiles Extended to make the players walk speed faster on certain tiles but I got this error:
[Content Patcher] Can't apply data patch "(CP) Paved Valley > Include SpeedTesting.json > SpeedTesting > entry #1" to DMT/Tiles: failed converting entry to the expected type 'DMT.Data.DynamicTile': Cannot deserialize the current JSON object (e.g. {"name":"value"}) into type 'System.Collections.Generic.List`1[DMT.Data.DynamicTileProperty]' because the type requires a JSON array (e.g. [1,2,3]) to deserialize correctly.
To fix this error either change the JSON to a JSON array (e.g. [1,2,3]) or change the deserialized type so that it is a normal .NET type (e.g. not a primitive type like integer, not a collection type like an array or List<T>) that can be deserialized from a JSON object. JsonObjectAttribute can also be added to the type to force it to deserialize from a JSON object.
Path 'Actions.LogName'..
I don't think I have the wrong array type, the brackets match the examples on the nexus page for the mod, heres the json file, could someone have a look for me to see if I've missed something please: https://smapi.io/json/content-patcher/cb426149acdb4381af8d81af1dbf453b
question that has probably already been asked a million times already: how do NPC rain schedules interact with location contexts? does it always obey the Default location context or do they obey the context that the NPC is currently in?
its always possible that the example is wrong
in fact further down on the bottom of the page is an example with the correct brackets
I believe it's the weather of their home location
looking at the code, it checks the NPCs current location when they load their schedule
the exception is GreenRain, which will always be loaded first as it only checks Game1.IsgreenRain and year 1
Ahhh there is, good spotting, for the next time an error like this occurs, what part of the error actually gives it away that brackets after the {{ModId}}.<Name> are incorrect?
that works for me thank you
Ahh okay, are we both looking at the example furthest down the nexus page? bc both the brackets after "Actions" and the ones after "{{ModId}}.DMTAnimations" are different to the ones in the earlier example
(but to answer, its the type requires a JSON array (e.g. [1,2,3]) to deserialize correctly.)
thats because DMT/Animations is a string to list dictionary
Ohhh gotcha okay
youre using DMT/Tiles
and the Actions field within whatever type is used for DMT/Tiles is a list of objects
would anyone be willing to convert this to at or cp? reading over how to use the converter it seems extremely complicated or i'd do it myself
https://www.nexusmods.com/stardewvalley/mods/4580?tab=description
I see now, got myself confused then, Unfortunatly it still doesn't work how I want but at least theres no error anymore
hm i wonder if lumi ever added these to another mod
lumi appears to have posted exactly that in the comments of this mod
the cp conversion of their other mods doesn't have it
it isn't in it, not sure why it was linked
well, no one here is permitted to redistribute it, so the answer is no, we cant do it
"including: beech set, spring set, flower set, and flower pride banner set"
well i dunno have you grabbed the pngs to look yet
if they are truly not there then at least 26505 should serve as decent example for how to make CP pack 
more on that here https://stardewvalleywiki.com/Modding:Furniture
i've seen ppl convert mods like this and put it in the posts of the original mod all the time. the cp version says in the description someone else converted it
what's 26505? also would making a new pack or using a converter be easier for someone whose never done the coding side of modding for stardew?
26505 as in this mod
ohhh
i am speaking for myself that i don't wish to convert and repost the work of an author who was literally talking here yesterday
you can do whatever for personal use ofc
as for difficulty i think furniture mod pretty straight forward 
oh ok gotcha ty!
this text means i cant put a local token in place of these coordinates right? 
"DefaultArrivalTile": { "X": 15, "Y": 11 },
you can do it actually
:o
would it be okay to dm them and ask about it?
what part should i replace
im confused why you want to do it tho
are you making a bunch of very similar locations?
it's a point so it'd have to be like
"DefaultArrivalTile": {
"X": "{{L@datX}}",
"Y": "{{L@datY}}"
},
u can also just not care too much about it tho, since warps in and out is what usuall controls where u arrive at
defaultarrivaltile is really handy for when you are testing a lot and debug warp bleh becomes very fast entrance
I'm not 100% sure what places are still strict in only accepting booleans or numbers, but it would be certain token inputs/keys rather than anything on a data model
(where bleh is some substring of your location id that uniquely pulls it from the location list)
i was very sad when i can't local token EditImage FromArea ToArea
pathos knew if i could i would query maff it all 
it doesnt matter what other people have done, people in here follow the permissions laid out on the nexus page. like chu said, the author is active here, and itd be disrespectful to go against their wishes just because other people have already done so
@calm nebula: fix this shit even though it doesnt matter anymore https://github.com/atravita-mods/StardewMods/blob/b26af1691335facebe60e551c098635c95513d14/AtraShared/Integrations/GMCMHelper.cs#L347 (7h ago)
I'm getting gasoline at Costco botto
shoulda thought of that 7 hours ago clearly
I can't get this to work, I've decreased it to only change the spring_town tilesheet in any location and changed it to play a sound instead but that also isn't working, puzzled is far from describing how I feel, What are some things that could be wrong that I haven't thought about? especially given the log isnt giving me any errors: https://smapi.io/json/content-patcher/ab3aeb1af438450c8ab82f6279f8e288
I'm assuming it's not even starting to be applied as the "LogName" : "SpeedTesting" doesn't even show in the log
this looks like an included file, so i would start by making sure it's being Included. if you have any Whens on the include, they might not be satisfied for reasons patch summary may reveal
(i cannot offer advice on the DMT format)
It is an included file, with no conditions
{
"Action": "Include",
"FromFile": "SpeedTesting.json"
},
I'll give patch summary a test to see if it reveals anything useful
it looks like things are being changed according to patch summary DMT/Tiles | changed entries, I'm using Tiled to get the tile Indexes, does Tiled offset them or are they also true to the game
Also used DebugMode with the tile setting enabled and the same Indexes are listed so I doubt that's the issue
the furniture converter should work fine, just needs python and youre good 2 go
i even think pillow maybe made guis or sth, i dont mess w guis
it looks really complicated.
would that be easier than trying to add it to the existing cp conversion of the other furniture by that creator?
nvm I found the tutorial with pictures and i think I got it. testing rn
It depends on how you feel about learning furniture format vs learning how to install python
I assume furniture formatting is new to you, but if not then maybe it’s doable. Also depends on how many items the set has, some of Lumi’s packs are way bigger than others
I’m biased because I made the converter, but I feel like it’s sort of a learn to fish/give a fish kind of tradeoff except both options involve learning
yeah I think the converter was a lot easier, but ive used python scripts for modding in other games so I vaguely knew what I was doing once I got going
can it be used to convert dga to cp or only cf?
Only CF
DGA has too much flexibility
It doesn’t come in a consistent format
I thought about this for a bit but didn’t come up with any good strategies
🤔 hm so. i think ive encountered a problem. ive made some items that are supposed to come in different colors, but since they're a crafted item, i can't use the flavored item stuff on it since it doesn't go into a machine...
so i would end up having to make all the variations myslef
(i forgot to sent the rest of my question)
would there be a way to like, make crafted items also flavored? or is that not possible

thats great bc i think i'd actually die if i had to make every ring band + gemstone color + gemstone cut
With Content Patcher map patching: The x, y coords in the From Area, this specifies where the patch is to be placed on the original map? what does the height and width do here?
With ToArea, the x, y coords say where the patch comes from in the new map? The height and width of the From and To, do they need to match?
(I am reading the documents, I am just struggling to understand the meaning).
FromArea refers to things from the source map (the custom map/your FromFile) and ToArea refers to things on the map you are patching that TO (the Target)
the width/height is the size of the patch in tiles
Hold on, wife having asma attack, brb
Am back! She's ok now. Ok, so this explains why my patches have struggled of late!
So, height and width should match then, or it's all rather bogus. Out of curiousity, why is the field in both, if they need to match? Or do I misunderstand it?
you can have a single from map that contains multiple things you want to copy from and put them in different locations on target maps
width/height need to match but the x,y don't
Thx so much!!!
Hello! I'm trying to add a touch action to the exterior of a building (specifically have an obelisk teleport when walking through it as I've turned it into a portal) and I'm a little stuck on how to properly edit the tile properties. This is what I've got >.> I was hoping someone would be able to help
{
"Id": "{{ModId}}_EarthWarp",
"Name": "TouchAction",
"Value": "MagicWarp Mountain 31 20",
"Layer": "Back",
"TileArea": {
"X": 1,
"Y": 1
}```
Hmmmm...are you editing a vanilla map or a custom map? I think if I was doing it I would do an edit map action.
"Target": "Maps/Mountain",
"MapTiles": [
{
"Position": { "X": 1, "Y": 1 }, // where you walk to initiate warp
"Layer": "Back",
"SetProperties": {
"Action": "TouchAction MagicWarp <string area warping to> <destination x> <destination y>"
}
},```
"Target": "Data/Buildings",
"Fields": {
"Earth Obelisk":{
"CollisionMap": "OOO\nXOX",
"DefaultAction": null,
"TileProperties": [
{
"Id": "{{ModId}}_EarthWarp",
"Name": "TouchAction",
"Value": "MagicWarp Mountain 31 20",
"Layer": "Back",
"TileArea": {
"X": 1,
"Y": 1
}
Editing a building
Ah, I missed the part about it being a building edit!
Instead of it being a clickable action I want to be able to walk through it 🤣
If it was a building on a map I would say you could first make the tiles passable by the player by targeting and editing the map tile that its on, and then adding the touch action, but if its a building that you've added to the game like the ones Robin builds I'm unfortunately not sure.
Yeah, I managed to get the farm obelisk on ginger island sorted because that is a map. And I was hoping it would work similarly as you can add tile properties to buildings
Ah I see! I have less experience with editing buildings, so I don't know where to start with that. I think you could make parts of the building passable (I've seen some mods that add things do that) but not sure how to attach the warp to that
I did manage to get that working. I'll just keep scrolling through nexus in the hopes that someone did something similar with a custom building ;~;
try setting width and height as well
of the tile area
1 and 1
@golden basin mmap has some simple critter spawn features
You can indeed make critters that move like vanilla ones but with special texture
Hey, is there any other guide on data storing besides the normal wiki?
Wdym storing
Saving data into a ModData or a json file
I want to store a value that indicates a state a map should be in, and have a switch case change the map after the value has been changed.
Let’s say day 5 has been reached I want the map to be edited slightly, and I want it saved across different play sessions on the same save file
Ah usually ppl (including game) use mail flags for that
Everything is mail flags in disguise....
Content patcher's EditMap+When encourage this use
also why is the wiki info insufficient
Oh, I never even thought of that. I will look into it
But if you are in C# i guess u just gotta do it yourself 
Yeah but doesn’t Editmap only work when the assets are loaded into the pipeline?
Yep
everything you're editing should be in the pipeline
But since it's content patcher i was talking there's presumably a Load
Or they just target vanilla map
Yeah but it’s say it’s a single play session
If I want the map to change several time, would I need to invalidate the cache?
you should already be applying your edits via the pipeline and invalidating the cache as necessary
Yea and in cp land invalidation happens if the context changed in relevant way
if you do not do that, then any other mod editing the map and invalidating the cache will erase your edits
You are just doing the same kind of operation but manually really 
I think having to edit a map is also my threshold to just
Have a cp component to mod lol
Oh an important question, let’s say that I’ve set the mail flag, how would I do it for new players that join from Multiplayer or does it load with the world?
Set the flag on the host
Is it possible to add an EditMap patch to a spouse room kind of like Seb's frog tank? I know spouse rooms only change once when the game loads or something
Yup, I made a mod that edits Seb's frog tank to give you a frog trinket. It involves two EditMap patches to Maps/FarmHouse2_marriage to change Seb's spouse room. The trick is to edit the farmhouse map after the spouse room map is applied to it.
Good to know, thank you.
Me: Finally finished my town and forest map redesign mods, and all the countless extra issues it caused, time to actually sit down and play the game...
Me 5 mins into new game: ...hmm, the path near the bus stop could look nicer... 👀
Is it possible to add a simple custom mail with a specific friendship level of a certain character?
Yep trigger action
Damn alright, I'll see to it, thank you 
@outer glacier again:(
Are you here to make a mod
Okay, that was a whole thing. Mods, am I right?
DH I think meep animals should support skins
To use as bootleg appearance
Everything should support astheticd
Oh. Oh, no.
They... do. I apparently completely neglected that in the documentation.
Oops.
Just to get ahead of possible issues: If I were to make a basic EditMap action to load a basic redesign over the vanilla BusStop.tmx, will that cause any issues in terms of character paths, events or animations?
I'm not planning on additional NPCs or cutscenes
If you don't change any of the collisions or resize the map, shouldn't be any issues.
What are collisions?
Adding, moving, or removing tiles on the Buildings layer
Like if you just changed the Back layer so instead of grass, road etc it was sand as far as the eye could see - no problems. If you put a bunch of fences in new places, most likely problems.
I'm adding some benches on the Buildings layer, but I'm not changing the location of the main path or bus
Or moving fences
If you don't care about compatibility with other mods you're probably fine as long as you avoid the centre of the map.
Wow such speeb my wish granted in under 5min
However, lots of people want to edit the bus stop so there's lots of possibilities for mod incompat.
sqeeb
I'll go update the thing i did for void then
sdeeb
We should add a bus terminal
And have it sell expensive wood
We can call it the Middle Station
Do... Bus terminals normally sell expensive wood

I only have mods for tilesets and quality of life, so hopefully it should be fine
Is this a personal mod then?
Yeah
Oh then yeah your need to worry about mod incompat goes way down
If you wanted to be completely sure you wouldn't mess with vanilla events you could use debug ebi <event id> to run all the events in the bus stop and check where everyone goes.
Right now I've got my Town, Forest and Bus Stop mods all in different mod folders, but at some point I might figure out how to lump them all together
Why are you making a new mod for each change?
Because I'm brand new to modding and I'm scared of breaking something 😅
That is a novel approach lol
you can just make a backup of what you've got and take the dive 
Its the mindset of... if I don't touch it, the sticky tape holding it together will hold
Usually if u have several content.json
You can turn em all into includes for 1 content patcher pack
notice how every content.json file has a "Changes": [] list? you can just add all of your {...} entries to the same list
or, if you prefer, use Include actions to keep the files separate
Yup I second making a backup of your Mods folder and then just jumping in and breaking stuff
That's what I thought, but yeah I'll backup the separate versions just in case
git makes it extremely easy to try new things. commit your changes so far, you've now got a backup, go wild and rip it apart
(don't rip the backup apart)
Says the person who writes rntire mods in Mod.Entry
Not even ModEntry. Mod.Entry
i'm legally required to add that last bit
What does Mod.Entry mean...
where can i find the desert festival foods?
for i18n key, there's no need to have the mod id there, right? It's within one mod only?
Objects_2 in tileshhets i believe
I think they only exist in dialogue
i mean the sprites
Cant check rn since im at work but its in the folder where furniture is fosho
thank you !
Can anyone recommend a scalable way to detect if an StardewValley.Object is a machine?
Is there like a context tag or other flag for machines?
or checking if it is in a global machine dictionary
hmm does this work?
@object.GetMachineData() is not null
Yeah whether they have machine data is what makes em machine
I'm attempting to place a tile on the Back20 layer using Content Patcher "MapTiles" Property but I'm unsure what the "SetTilesheet" Should reference, I've tried the location that the tilesheet is loaded to, and variations of the tilesheet itself in my files. Heres the snippet I've got and the console is onlu complaining that it can't find the Tilesheet:
{
"Position": { "X": 18, "Y": 14 },
"Layer": "Back20",
"SetTilesheet": "Maps/Assets/zzz_AtlasV_StoneWShadow",
"SetIndex": "19"
},
Set tilesheet needs the name given to the tilesheet
E.g. untitled tile sheet
It has to already exist in the map
the voices are getting worse. i have more mod ideas than ever before. help.
the curse draws nearer every day.
Looking at the .tmx the tilesheet is called "zzz_AtlasV_StoneWShadow" and it exists in the map, Ive tried prefixing that with Maps/ and Maps/Assets/ and having it un prefixed
Do not prefix it with anything
Thats what I originally thought and what I tried first, I've moved any tilesheet replacements to after this snippet and it still doesn't want to recognise it
heres the error exactly
[Content Patcher] Can't apply map patch "(CP) Paved Valley > Include Maps/BusStop/BusStop.json > EditMap Maps/BusStop #3" to Maps/BusStop: MapTiles > entry 5 couldn't be applied: SetTilesheet specifies a 'zzz_AtlasV_StoneWShadow' tilesheet which doesn't exist.



)

