#making-mods-general
1 messages · Page 52 of 1
Add a comma after the last null
no, keep it to spring
what you're doing is telling CP "find the existing entries with the id spring1, spring2, spring3, and remove them"
Ohhh okay. Do I need to do that with Summer and Fall 123 as well then?
and then find the entries with the id winter1, winter2 and winter3, and change them to that
yes, repeat with summer and fall
looks good to me 
hmm try deleting the Condition: null lines nvm I didnt see the quotes
remove the quotes around the nulls after each of the Conditions
its being parsed as a GSQ string and "null" isnt a GSQ
rather than turning them into nulled out/deleted conditions
my most important mod to date, now published
https://www.nexusmods.com/stardewvalley/mods/28352
very groundbreaking
@wanton pebble: poke Gaphodil about BetterJukebox issue (6mo ago)
i love seeing months old maru reminders pop up. like mini time capsules
lmao
ichor 🤝 button
solving stardew's most pressing problems
(honestly i put way more effort into that mod than it really deserved tbh)
the serious description is kinda making me giggle
figured this should be a thing
wait, is atra modding?
atra is debugging
oh, that's a smart idea. leave it to atra to have smart ideas tbh
is there any quick solution I can add to cornucopia [more crops] to disable them from the shipping list? Or would it be a somewhat lengthy process? My shipping list for perfection is getting... long lol
just use perfection tweaker tbh
you can do a thing with items being disabled selectively
tweaker is definitely the quickest solution
but if you wanted to actually edit cornucopia itself it'd be a lengthy process. so i dont recmmend it
betcha you could do it with a regex
the downside is that the command output still shows up in the log, which I don't like
hmmm
I bless wildflour now for adding in the toggle for their mods 🙏
honeslty thinking about it if every item has at least one field in common you could just do a find & replace to add in the exclude from shipping collection line
and just include the common field in the replace
i was assuming they were originally talking about a CP mod of their own to edit Cornucopia with EditData though which was a bad assumption
nah I took a peek at wildflour's gourmand mod or forager or something content.json and noped out of the work haha
I love sourcegen
If perfection tweaker has a prefix on items options that should be easy
I’m assuming cornucopia items all have similar prefixes internally
(actually i wasnt gonna bother originally but i decided i think itd be funny would anyone be willin to showcase this for me)
i can. just let me know what you want it to say
"The level up screen was originally supposed to have some stars in it that shine when you hover over them. This mod finally implements them. This is very important."
cool, on it
thank you ichor 
You can't invent a new area for crabpot fish without C# can you?
I looked at the code, and there doesn't seem to be anything blocking you from adding a new location type in Data/Fish beside ocean and freshwater
okay I'll experiment!
oh yeah Mt Vapius adds a new zone, so it's totally possible!
just checked its code myself
(I really need to catch that ||mossy crayfish|| one of these days)
ah nice thank you! Mt Vapius really did pioneer a LOT
so how do I define the Location Type?
like if I've already done a separate location for something in the Data/Locations, can I just use the same name?
basically in the Data/Fish entry you define the crab pot fish as belong to a new zone instead of either freshwater or ocean (named funzone for example)
then in the Data/Locations you define a fish area as usual, and set CrabPotFishTypes to a list of zones you want the pots to catch, for example ["freshwater", "funzone"] to catch both vanilla freshwater crab pot fish and the new fish in the funzone
atraperf 
(vanilla alone is actually pretty light on the memory, huh.)
whats the units here
bytes
@spice inlet Hi! I got a bug report about AutoGate not detecting gate changes when reloading with QuickSave.
AutoGate should automatically reset its cache when SMAPI's ObjectListChanged or Warped events are raised though. Does QuickSave somehow warp the player or change location objects without triggering SMAPI's events?
loading into the world doesn't raise ObjectListChanged or Warped. I suspect you would see the same behavior if you slept in a tent on the Farm, exited, then reloaded
Does QuickSave raise SaveLoaded though? If so, it'll be an easy fix. (I'd normally just try it, but QuickSave doesn't work in 1.6.9 yet.)
no idea, sorry!
never have I found dotnet documentation MORE confusing than the PerformanceCounter class 😦
- Okay, it's Windows-Only TM. What happens if I try it on Linux? Death?
- There are "predefined counters." I have not found a list of these predefined counters, or their types. I apparently need their types too.
probably just return dummy values on Linux. Though death™ is also a valid option
i don't know of one
the gif (because it's at 12 hz) is actually fairly pleasant.
the actual code, running at 60hz, is seizure-inducing bad
the EasyWayOut TM is to just...do teh 12hz thing, take a little average
surely the easiest way out is to render on three lines so the numbers are always last
chinese
my favorite .net thing is when I go to look up how to do something (or better yet, a library) and the answer is "use win32.dll" or "just use this helpful winforms feature!"
my favorite thing is someone (casey) told me the hot reload incantation (dotnet watch) and the hot reload part simply Does Not Work™️ on linux
D:
how do I call you 😦
automatically killing and restarting the game when i rebuild is nice, but i would really prefer the hot reload part
however, as with most situations where linux gets the short straw, not using windows is ample compensation
also, given that both render time and update time are good, why are you no at 60hz
Microsoft's vision is clearly for us to do dev in a Windows VM
ichor maybe you could try valleyunit
what is that
its integration tests for stardew
ah here's the nuget package https://www.nuget.org/packages/Linkoid.Stardew.ValleyUnit.Sdk/0.1.0-alpha
Want to make another mod this time being a new type of train that will pass through the valley using content patcher. Anyone know a good starting point?
i think that's an item extensions feature?
hrm it seems like it's only drops, doesnt let you make new types of car from what i can tell
you would need c# for that for sure
well, actually, depending on what you want to do with it, maybe not
you can retexture the existing trains ofc
could potentially use tokens to do daily conditional retextures, and item extensions to change the drops
if you want to mess with schedule, though, or add it to the existing trains instead of "sometimes replacing" them, you would need c#
say you can change the warp of farm cave right
you can control both ends of the warp from the farm map
FarmCaveEntry cave -> farm
Warp farm -> cave
then if i am make just the farm cave i'd have to do a EditMap on farm 
yeah, changing the entrance position of the farm cave is tricky business
most custom ones work around it instead
oh i cant just do MapProperty?
you can, but how do you know which maps to edit?
YES!
I finally fixed the bug in Datable Jodi that was bugging me 😭
For whatever reason, addBigProp sucks lmao
I replaced it with addTemporaryActor in her 6 heart event from that mod
all of them 
you would have to hardcode every single farm map, including custom ones
if you are willing to use a small amount of c# you could just move the player after warp
For whatever reason the snowman in that event just never showed up for me, and instead a big ol 🚫 shows up
I fixed it though ✊
i was thinking i'd make game read map props of cave instead
but first ill go with not changing warp
in future you might be interested in the temporaryAnimatedSprite command
I'll keep that in mind, yeah
Thankfully the thing I needed was just a simple Snowman, doesn't need to move
why not both? write a c# tidbit to read the target tile from a map property and push the player over
just hook the warp event, check for the presence of the property, and change the player's tile position
well ill feel more motivated to make that once i draw a cave 
say i know i have to have the original tilesheets
but could i replace the texture?
change Mines/mine to like Mines/mine_lava_dark.png
you can but personally i never do because i have to keep options open (not using my custom farm cave, compat with other farm cave mods)
well i'd just C# that part if it comes to it
hm i wish i could paint first and then decide what tiles go on what layer second
... Smapi just threw me that as yellow and I'm like ????
[game] Ignored unknown location 'Karma.Immy.CP_JackEventMap' in save data.
... nevermind, I just did a rubber ducky to myself I think
Ok, so here's the latest build of my mod, along with the Example Furniture Pack I use for testing. You can use the Furniture called "Table Test" to trigger the crash.
You'll probably need to see what FF does when the crash happens, so here are links to the relevant code snippets:
- https://github.com/Leroymilo/FurnitureFramework/blob/main/FurnitureFramework/ModEntry.cs#L243 (where the event handler for the click is)
- https://github.com/Leroymilo/FurnitureFramework/blob/main/FurnitureFramework/Type/FurnitureType.cs#L340 (the core method handling placing an Object in the slot)
- https://github.com/Leroymilo/FurnitureFramework/blob/main/FurnitureFramework/Type/Properties/Slots.cs#L97 (the details of the Slot class, but I didn't change much from last version so I don't think it's the cause)
(pinging @lucid iron because they asked for it too)
Thank you! I'll look into this tomorrow
thanks!
thanks, it seems to work fine
i'll remember to ping you again when it breaks in another 2 minutes
Last I tested QuickSave loads its savefile normally and all SMAPI events, including SaveLoaded, are raised.
Afterwards states that weren't persisted in the savefile will be applied, including the Farmer Position and in special cases like the mines the location as well. Finally QuickSave will raise its LoadedEvent:
https://gitlab.com/delixx/stardew-valley/quicksave/-/blob/main/QuickSave/API/IQuickSaveAPI.cs
is there a way to make or edit the x value of how players sit with CP? it looks like im to fall off anytime
offset, yes
quick check, if i want a thing to be enabled whatever the config is, i can do "config |contains=OPTIONA, OPTIONB" : true
?
(i never remember the formating on contains)
Seems so, though the docs show true or false wrapped in quotes
Might be one of those cases where it doesn't matter either way
thanks, i'll see and test
hey people who are probably more experienced than me, how would i go about making a reskin for the horses?
ik i need to make the new sprites (i can do that fine) i just don't know anything about the actual "putting it in the game" part
!CP
Content Patcher (https://www.nexusmods.com/stardewvalley/mods/1915) is a mod which loads content packs to change the game's images and data without replacing XNB files. If you want to make mods using Content Patcher, start at https://stardewvalleywiki.com/Modding:Content_Patcher.
You can use either Content Patcher or Alternative Textures
Horse is different from a regular farm animal, not sure it has skins in the same way, but I know with AT you can change the appearance whenever you want
k thanks
How does smapi.io/mods get updated?
there is a wiki list somewhere
I didn't change the unique id when I ported atra's mod so stardrop thinks it's still broken
pathos test stuff and note what is broken but people can edit that too and add note/redirect to alternative and such
The list is updated every few days (you can help update it!). It doesn't include XNB mods (see using XNB mods on the wiki instead) or compatible content packs.
this has the link you need to update
@desert vapor I decided to revert to 1.6.8 to continue developing my update, but the crash still happens...
I'll try to find what I changed to cause the crash, but it's very surprising since it's a part of the mod based on SMAPI event handling, and I get no error log...
Ok, so for some reason:
- I had a
held_item is StardewValley.Object objcondition, which is completely unnecessary - Placing an Item is what causes the crash, even though they should be filtered by this condition
Wait isn't that kind of check pretty common?
Hold on, are stuff like metal bars and coffee StardewValley.Item or StardewValley.Object?
Things that are Item but still in your inventory include shirts hats pants
Flooring wallpaper?
Furniture?
confused.jpeg
Trying to figure out if there's an easy way to see what inherits Object
You can iterate all the classes in Stardew Valley.dll
That's the Objects namespace not the Object class
Lol, much less confusing 
I wonder why nothing stopped mr ape from naming Object like that 
I want to change the name of a hat but I want to do it in all languages, so how can I do it? I've only been able to change it in English.
You need to give i18n key or use the game's localized strings
(i don't think right clicking in vs and finding all refs was a good idea on the object class)
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/translations.md
You provide the English default and either get others to provide the other languages or I guess do it yourself if you know it
what are Items then?
Ehhh, that's a tough one lol
Still trying to figure out if there's a way to fetch all that without having to make a script do it for me
it's telling me resharper 
But not Object's
Yeah, I know that, but I'm trying to figure out why placing "Items" in furniture slots crashes the game. From my tests, any Furniture is fine, but not "Items"
Does it only happen in your custom slot furniture
Is there something on Object that is needed to place it that's not in Item?
I don't seem to make it work. I want to change Paper Hat's name and description. I tried this:
{
"Action": "EditData",
"Target": "Data/hats",
"Entries": {
"PaperHat": "{{i18n: PaperHat}}"
}
},```
But it deletes the hat from the game.
nope, I just changed everything to Item instead of StardewValley.Object, and everything is on Item
Iirc vanilla furniture just put the placed thing in heldObject which is an Object
Yeah, you're replacing the entire entry with not enough info
yeah, but I put a Chest in heldObject, and stuff in the chest.Items
Data/Hats is a string asset, you need to do stuff to insert the name
it worked for 3 months, but I changed something while updating the mod and I can't figure out what is causing the crash
You either need to use TargetField to pick the specific index of the name or rewrite the entire entry
Can't imagine how that'd explode then, EMC has the same deal for extra outputs
Which actually, does TargetField work on these delimited strings?
Might need to use a TextOperation...
Also, it's very annoying that the crash freezes my computer for a few seconds and fucks-up the console (can't type anymore, I have to kill and reopen)
like it's filling the RAM before crashing
That's intense
I'm just confused about how to do that in this case...
Can't wait to explod my own computer with this mod 
i honestly can't remember how to add a new 'entry' to these delimited string things
This probably doesn't workjson { "Action": "EditData", "Target": "Data/hats", "TargetField": [ "PaperHat" ], "Entries": { "PaperHat": "{{i18n: PaperHat}}" } },
maybe atra has it for sciencehouse
Is it considered as a new entry? I'm changing an already existing key
Yeah, Paper Hat exists
Also this was the first thing I tried (which did not work 😬), I thought I was being smart
I think, what scares me the most is that Farmer.ActiveItem is supposed to be never null (according to VSCode and the return type), while it very well can be null.
actually i don't know if my data/monster would be useful here
I might just have to create a test on hats really quick because I don't know if TargetField will work and the docs don't have an example of the index number thing
i was going to suggest my data/monster edit but, uh, i'm not confident in my removedelimiter skills lmao
guys, anyone knows how can I reproduce the owl shadow that happens during nights?
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/text-operations.md it's definitely a textoperation though
Game doesn't have much nullable 
Often just have to check regardless of what the type says
i let atra yell at me if i throw a random questionmark where i'm not supposed to 
oh paper hat isn't even an index, okay, so that's just field: paperhat, the index is supposed to be 5, but then you'd have to do a replace...delimiter...?
Yeah seems like Fields isn't gonna work
I did this by looking from an example herejson { "Action": "EditData", "Target": "Data/hats", "TextOperations": [ { "Operation": "ReplaceDelimited", "Target": ["Entries", "PaperHat"], "Search": "Paper Hat/It's made out of special paper that won't disintegrate in the rain./false/true//Paper Hat/114", "Value": "Paper Hat/People say pineapple skin is a very strong material./false/true//Pineapple Hat/114", "Delimiter": " " } ] }Not sure if this would work though, or if it works for languages
"Action": "EditData",
"Target": "Data/Hats",
"TextOperations": [
{
"Operation": "ReplaceDelimited",
"Target": [ "Fields", "PaperHat", "5" ], //field 5 cause that's where the name is
"Search": "Paper Hat",
"Value": "{{i18n:PaperHat}}", //space delimited
"Delimiter": " "
},
]
}```
maybe?
Okay, let me try
It might just be easier to make a new Hat, why are you replacing a hat?
oh the one i linked earlier has a layout
well, you just have to replace the "PaperHat" key with your own custom key
this one
I'd also have to change some tailoring stuff too if I want to make a new one because I want my hat to be tailored with pineapple (which is used for a shirt in vanilla game). Currently I was just replacing an achievement hat since I thought it would be easier.
string delimiteds are one of the most painful
backpedaling, item blows up the game? 
Now I'm even more confused looking at this
Huh, when I try to use ReplaceDelimited it says that's not an operation lol
"Operation": "ReplaceDelimited", 
I don't know if it's Item, it's anything like coffee, metal bars, geodes and stuff like that, but I don't know if it's Item or Object. The only thing I know is that it's completely fine with Furniture
vanilla habits i don't think regular objects can be placed down anyway, item.cs has this though
and chasing that down in object.cs
Hey okay, that was dumb, Fields would have worked but I was trying to edit Data/hat instead of Data/hats
This wasn't even necessary anymore
Ah well
{
"Action": "EditData",
"Target": "Data/hats",
"Fields": {
"PaperHat": {
"5": "Payper Hat"
}
}
}
oh you're right, uber is gonna scream at me soon to work on karaoke framework 
WTH, now Furniture disapear when I pick it up from a slot...
How can I apply this on other languages?
Replace Payper Hat with your i18n token
Is there a SMAPI beta version going on? I am not seeing anything on github, but users report issues with it and our mod
Yeah it's Steam only
steam/gog*
Oh is it on there now?
a private beta?
It's a private open beta
thissun
It's a quiet beta, to avoid users flooding into it and causing issues while it's still being finished lol
smapi does have a beta download but uh, yknow, reading comprehension
Yeah it's also tucked away
we should really put the blingee lightup on it
Bottom of the additional files section lol
(couldn't find it by myself, but shush)
The pin says the beta is Steam only
yeah if i didn't remember pathos said something about GOG it would've been lost in the sea
focustense had issue with that, dunno if they bought it on Steam to alleviate that or not lol
I'm not using this anywhere (and neither is the vanilla Furniture as far as I can tell), but Imma switch back to Object only, it should fix my new disapearing Furniture issue
GOG has beta stuff too, I think it's that putting it on GOG is an afterthought
thx, seems to work for steam too
Sometimes I forget GOG is a real platform that sells games
there's other platforms? i nuked origin ages ago
Too many still
could you please send me a link? I checked github releases, nothing there about beta https://github.com/Pathoschild/SMAPI/releases
But you know, maybe with ubisoft's recent troubles they'll give up on their crap
SMAPI beta is only on Nexus as far as I know
Though I haven't checked curse, I know Pathos uses that as a mirror lol
Oh yeah, it is on there
I appreciate GoG's simplicity, and the fact that if the service ever dies or the company goes bankrupt I will still have my games.
Yeah, I dunno why it still hasn't stuck in my mind
well, the selection is not as good as a lot of other platforms because major publishers love drm
you can find indie stuff there pretty reliably though
Huh, seems like getting a game listed on GoG is actually kind of difficult
any idea what might trigger such an error "[game] WARNING: Mismatched UI Mode Push/Pop counts. Correcting.
[game] An error occurred in the base update loop: InvalidProgramException: Common Language Runtime detected an invalid program"?
There was an issue with CurseForge for a while because they had the beta SMAPI as the default download. We had a lot of users in support with the wrong SMAPI version because of it.
And I always wanted to say "CurseForge is bad, this problem will be fixed if you just stop using CurseForge" but I didn't.
ui stuff can be a lot of stuff, what are you tring to do?
oh yeah iirc spacecore beta was pushed as the current version or something
The hat is deleted from the game now, do you want me to show you my files?
!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.
Yeah, I meant that
I sent the command because you've just been posting it into chat and I don't like dealing with having to scroll back up to read through code
So I am trying to process a menu click
I would
As in, if it gets too far back I just won't lol
(i now leave for awhile, it's orange cat screaming hour)
Isn't that every couple of minutes?
Oh okay, I misunderstood it
The validator site is great, it checks your syntax and you can share the link so others can see your code
when i got this kind on error on content packs it was usually because the game couldn't display something wrong and close the menu to prevent a crash
i can't help with C# stuff however
the CLR thing sounds like either harmony or rewriter shenanigans
I didn't want to risk getting in trouble for badmouthing curse in my "official" capacity as a support volunteer. Fortunately the rush is over now so my dilemma is gone again.
Nexus has its own issues too, kind of a lose-lose scenario
So I just updated the Nuget package for SMAPI and recompiled it (C# mod), seems to work now
The beauty of SMAPI fixing things automatically for you
There isn't anything wrong with JSON, I suppose it's just the code
content.json: https://smapi.io/json/content-patcher/e61a4ac8e2a04e9eb86581efc2f30b8d
i18n/default.json: https://smapi.io/json/i18n/1312f5591635425e8817b601bf6ce817
Yeah but Nexus does actually discourage stealing
moddrop is also an option, though I havent used it in some time
my goto would be github releases if Nexus wasn't the most popular option
You changed index 2 which is a true or false into a description, you want index 1 to be your description
yeah
As with most things programming, the index is base 0, starts at 0
github is my favorite but the visiblity is terrible
Oh yeah, I was being careful with that, I think I didn't see a / and thought it just starts at 1
Let me try again
I bet that would nuke the SMAPI site traffic costs though, without some other site to take up compiling a list of mods
maybe one day thunderstore will add stardew support
I have no idea what the moderation is like there but the site itself is nice to use
https://stardewvalleywiki.com/Modding:Items#Data_format_7
You can also check here to see what each index is
I'm actually going crazy, I have no idea why but I can't pick-up Furniture from a Furniture slot: it disapears
(did you try reinstalling the game or whatever? you look cursed)
And the worst part is that who.addItemToInventoryBool(obj) does return true...
Since the beginning of my issues, I downgraded from 1.6.9-beta to 1.6.8, I don't know if it would fix stuff to reinstall
maybe something went wrong in "updating" the files version properly
!reset is not too intensive in time and dl
Please reset your game files. This will fix any broken game files, but won't affect your save files or mods.
If you use XNB mods, see using XNB mods for more info about why they're deprecated, and a list of Content Patcher alternatives.
Oh I bet I know why
It's hard to explain but furniture specifically has its own fucked up placement handling
I struggled with that myself
good old verify integrity
Oh yeah, I know that
STOP LYING TO ME
nope, verifying integrity didn't fix the issues...
On my way to copy paste my code from last month
isn't there a site to compare two versions of stuff?
Thank you for helping @rancid temple, I figured out some other problems that caused some bugs. Are you fine with me putting your name in a "thanks" section in my mod since I wasted your time a little bit? 😁
No problem, I'm fine either way. I wouldn't worry about wasting anyone's time, if they didn't want to help they wouldn't be here answering people
I'm at a point where I have "the Stardew Valley modding community" in my Thanks section
Alright then, thanks again.
button gets special thanks from me for every c# atrocity i commit
I'm going to thank the community in general and then specific people so people can see what clique I'm in 
I've thanked the SDV Modding Community too (Avi's mentioned in all of mine, granted they're only two) 
Feature request: special hate section (perfect for all those translators pumping out AI trash)
i just have a translation button on my damn modpage now that's empty and it bothers me
what do i need to do for water overlay 
Translate it to British English
Credits section and somewhere near the end, there's a *Spite * section hidden in spoilers /hj 
Me too and I keep getting surprised it's there and think there's a new translation but there never is.
(can I add a special special section for the ones where I catch a random stray or) /lh 
wdym water 
Same section, but just put the stray
It does not seem to. It just has number input. Seems even with that all the new items are still showing up in the shipped items tab 
Ah heck sorry for the ping
It's been forever, not used to not pinging
i marked this water trough thing as Water T
and it does work like water
except for not drawing the overlay 
is it cus i did it in the tileset rather than through TileData
tbh my actual water in game is just the back layer
with the shoreline on the building layer
you can double up on the back layer to put your water?
no, that has no effect
likely it's because either the tiles are on the wrong layer or because it's indoors
I think indoorWater T should do the trick indoors also
the super-clear water looks pretty cool 
no worries, I don't mind pings
I'm still stumped by why Farmer.addItemToInventoryBool isn't working correctly
it returns true, yet nothing is added to my inventory
I'm using the exact same snippet that the vanilla Furniture has...
it looks alright until i put crab pots in there
though i wonder if i could just ban that since what r u potting???
Hmm, I think after looking through perfection tweaker description, it doesn't necessarily exclude specific items, it just reduces the quantity needed to get perfection
Thanks! The upcoming AutoGate 1.3.4 should be fully compatible with QuickSave then.
Yeah, that's what I concluded after taking a quick peek. I see 6480 has some contributor like comments stickied on more crops so I'm gonna ask their input if they're indeed involved with it
Cause I think my shipped items tab is like 6 or so pages long now lol but I haven't had a chance to disable wildflour's stuff yet
ah so indoorWater T doesnt trigger overlay but Outdoors T does 
just make your location mineshaft, ez crab pot ban
my bad, I thought I remembered getting it to work in an indoor location at some point. But then abandoned it because I couldn't figure out how to make the water overlay not change with seasons which slightly annoyed me
well i think nonparelli was right anyways, super clear water it is 
outdoors also has effect of adding butterflies which isnt very in theme here
Patch them into flies when you're in that location
The slowest, saddest flies lmao
I hate getting screenshots for new mods
Get gifs instead 
I don't think that's allowed anymore is it?
Oh gif format is allowed but it won't animate lol
would apngs work. most likely not but still
Doesn't seem to be on the accepted list
they're just pngs but with an extension
i was able to get an animated gif
though they definitely server side process their images (sometimes eating half the pixels in the process)
it works in the descriptions only right, not the header
yea its not the thumbnail
works fine in desc and images despite what it says
oh good, I can demonstrate the ||goose attack|| feature
i downloaded some kinda questionable thing to make my gifs
I've tried a few programs but they've been trash
Straight out of the 90's
OBS is the only non-trash screen recorder on Linux
Can you make gifs with OBS?
no, but a couple ffmpeg commands will do it
i been using kooha
Ok, I'm fed up with my bugs, Imma go to sleep*
*procrastinate for an hour, go to bed, fail to fall asleep for another 2 hours
is letting ppl build in the cave a good idea
i mean with selph's angry animals you could create a fighting--
realistically i'd only make the slime hutch buildable there
i dont think i can restrict the type of building allowed, not without C# anyways
oh good, I was about to bonk you for violating the first rule of fight club
...ah fuck, I just violated the first rule of fight club
well its gotta be made outdoors to build at all 
it also checks global build conditions
can't have it limit to a certain building
but u know i dont think this is like, a serious balance problem to let ppl do what they want
modding weee

let people raise their vampire chickens
we all know it's just kegs
nou
i still fight demons to use button's BETAS feature to make just 1 keg finished every 3-5 days from spouse happiness
cant u do that already
make their spouse dialog randomly give u a keg
*already = vanilla
no it makes the machine ready of just 1 keg
you can choose any amount of machines but i just want to be spiteful
i need to make the grass purpley
I forgor, did you make this outdoors or indoors
since IIRC farm animals will only eat outdoor grass. you can plant grass inside their barns/coops (not sure if vanilla or mod) but they'll never touch that stuff
i marked it TreatAsOutdoors T
ooh that's a thing
maybe I should get into maps
i contemplate having an additionalfarm to my expansion 
A time honored expansion tradition
maps r fun way to feel like you drew something without drawing many things 
that said im really only making this cus im out of space for muh fruit trees..
i was just gonna do it to showcase my different color tilesheet
and i always thought the volcano dungeon had cool tiles
seriously the East Scarp farm is gathering dust because I have no idea what I'm putting there between the big Grandpa's Farm, the island, the Summit Farm and the VMV farm
the problem with expansion farms is that they r all too far
is that more popular now, a small farm?
i did really enjoy helping bugfix those cozy small farms
if it takes more than 2 screens to get there then my spongy brain is not remembering them
yeah that seems to be the trend
and I might just use one for my next save
aviro better make a totem just to go to farm
oh ofc
that's why i wait for bluebs to yell at casey for the spacecore betas 
i don't think i'm gonna make a farmable land in my expansion
i mean unless you complete the full questline story spoilers
hello and sorry to interrupt gang
what item is this?
bigcraftable?
I thought so too but Im looking through https://stardewvalleywiki.com/Crafting and couldnt find it 😭
this looks like that thing u can buy at the night market but colored
bigcraftables arent always craftable
or was it always colored i forget
Ohhhh
Okay okay is there a page on the wiki I can look at that has their names? Im trying to do the code now 🙏
thank u hhh
are you rose-golding it 
!itemids
I did !
omg thats such a helpful link thank you selph
and thank you everyone I will now rosegold some more things 🙏
Also this page should have a comprehensive list of vanilla 'big craftables that aren't actually craftable and/or machines but are basically used as furniture items"
https://stardewvalleywiki.com/Furniture#Special_Items
that's hilarious
oh right i was gonna dig for that thing the person said about the owl shadow but i have no idea what they were talking about
this is a really good page aaaa
Very helpful
i was thinking about separating some of the stuff (like the plants are a different mod maybe? as well as the statues)
Pathos, what is NPC.DirectionIndex?
I think it's the Owl critter?
was there a mod that let you change farm cave type

besides going through demetrius event again
GameLocation.addOwl
yeah, one of aedenthorn's if I recall
wait no, that's for custom farm cave types beyond mushroom and bats
there's this: https://www.nexusmods.com/stardewvalley/mods/14000
my color theory and my color blindness strikes again
also my laziness, do i really want to reanimate the beach tiles
The internal comments say:
The index into the current set of directions that this character is trying to move in (to reach a new destination).
I removed in the next 1.6.9 patch since it's unused.
Thank you!
can you force music to change on entering a location
with location context maybe?
If you want a specific piece of music to play, you can just use the music field https://stardewvalleywiki.com/Modding:Location_data#Music
hm i did set that, but it continues the normal theme. i wonder if it's cus this is marked outdoors
Just set it in all the locations
MusicDefault, in the map properties, an entry in the Music field
did Placeable get deprecated?
hello, i'm new to this. I want to make a mod that replaces the baby sprites and use different ones when it's a girl or a boy. I know how to replace the images but not how to word the when gender=x statement. Any help?
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/tokens.md#ChildNames
Looks like you can do a When for the ChildGenders
So I think
"When": {
"ChildGenders |valueAt=<birth order starting from 0>": "<genderHere>" //Male or Female
}
does anyone know where i can find the sprites for the petals falling effect in spring?
These ones?
LooseSprites/Cursors if so, otherwise a screenshot might help
I'm wondering if there's any way to specify a draw offset to furniture textures similar to how you can with buildings? So that you can draw the texture to the left of where the furniture would start and the collision box would be (I'm not sure I'm explaining what I mean very well)
furniture framework would allow that would it not
Super stupid question but what can you program mods in?
!startmodding
Making mods can be broadly divided into two categories:
- Content packs are formatted text files, and don't need any programming knowledge. They can add/edit NPCs, maps, new items, shops, and more. To get started, see the list of framework mods, the wiki tutorial for Content Patcher, and there might be relevant guides on the tutorial wiki.
- C# mods use programming code to change fundamental game mechanics. See getting started with C# modding.
Usually it’s easier to start with making content packs, since you don't need to learn programming.
thank you!!
I've played around with it and while you can have custom collision, it doesn't quite work the way I would like. I want to have the furniture 1 tile wide for placement reasons, but slightly wider on both sides for aesthetic reasons and when I do the custom collision in FF the point of placement is still the upper left tile which is mostly empty, so it's a bit weird for placement reasons. I have no idea if it's even possible to change that though
iirc just in the mod description there was something about offset?
so it's probably in the documentation somewhere
(i havent personally messed w furniture framework yet,, i need to learn)
I've been through the documentation pretty diligently but maybe I missed it. There is offset in context of animation and variants.
if you can't figure it out from the docs you can ask the author
there definitely isn't a way in vanilla, vanilla furniture is weirdly constrained in some ways and collision is very much one of them
the thing is, in vanilla I can reduce the collision area, but only on the right side because collision always starts on the bottom left tile. But then I would need to make it not centered which I cannot deal with haha
Yeah, that's the vanilla wonkiness
honestly in your shoes I would just make collision 2 tiles and let the player deal with it, or edit the image to be wider/narrower to fit the available limits
but the FF author is around in this channel sometimes, worth an ask
there used to be aedenthorn's mod that let users make these kinds of tweaks, but I think it doesn't work anymore
oh oof yeah checked the description for ff nvm i completely misremembered 
actually, smapi compat list claims aedenthorn's mod still works
so you could also recommend users tweak things with that—also not a perfect solution though
There is precise furniture which I think is the new version of that. It does kind of solve that problem on the user end so I guess it's not as big a deal. Just me trying to be too perfectionist maybe
https://www.nexusmods.com/stardewvalley/mods/28368
Hot off the "avoiding working on something else" presses
👀
will it allow me to reach corner kegs with fruits using controller
thats all i ever needed
Oh controller huh, uhhh, does controller have cursor control beyond just around you?
I don't normally play with controller so it wasn't something I tested but I can try mine and see
It's very difficult, though not impossible, to reach corner machines with controller for some reason
Okay, tested it and I can put things in machines at range with controller
I need a bit to set up a test bed for kegs
That would be funny
I was trying to find a stock photo to edit of someone throwing a basketball from super far away and was gonna replace the hoop with a furnace, the ball with ore and coal, and the players head with a farmer
and let you avoid the other thing longer 
But finding stock photos is actually kind of a huge pain in the ass
To which my answer to that was apparently the bigger pain in the ass of learning how to make ffmpeg work on windows
Hm, if you're standing too close the jank of the original controller issue seems to come back
But if you stand farther away it works as intended
I feel like I can probably solve this issue, but I'm really tired. I'll take a look at it again after a nap
Thank you
Anyone know why trying to unpack files is not working
are you using the 1.6.9 beta?
stardewxnbhack 1.1.0 for sdv 1.6.8
Ah ok
Thank you
Don't know why I didn't see the big bold letters. I should go to sleep before I mess something up lol
Oh sweet I managed to get my custom animal working and buyable but instead of a baby it comes as a full fledged adult.
Hmm
you set that to 0
Ah! Thank you!
I haven't made a custom anima with content patcher before. Frankly that it has gone so smoothly so far is being taken as a win
this was a good idea, until....
Giant baby
Bottom of that pillar is part of the attic renovation and on the buildings2 later. the crib is buildings layer
ugh...
Yeah the crib kind of just mscules it’s way in iirc
I did not notice the pillar inside the crib and was wondering what the bad thing was lol
i could make the stairs one tile wide but then it'd look weird since the floor in front of it is two tiles
Does the pillar need to be on Buildings2? I don't know if it's yours or a vanilla thing.
Yes, it needs to be on buildings2
this is a custom farmhouse im working on. renovations are getting moved and adjusted to look better
hmm i have an idea that may work...
should i make a mod that let maps use hoeDirtDark without being mountain/mines/volcano dungeon
yay, fixed!
I just made the bottom part of the pillar onto the crib renovation, back1 layer. of course that means it doesnt have a floor behind it but no one's really gonna notice. it's a thing that exists in vanilla anyway
what about a mod that does not only this but let's you do hoeDirtHexColour
(my actual answer is yes though it might be a tough sell if that's the only thing the mod does)
well its more like do i make a transpiler just for this, which i will toss into the other pile of random map things
then yeah why not
but i think what i actually need is a mod that let you edit textures with other targets generically
that was what the next thing I was work shopping in my mind was too but feel free to yoink it, feels like I see more n more situations recently where people could use it
u should do it so i dont have to 
the thing im not sure about is behavior when the source target gets invalidated, i guess u just have to listen for it too
That was the most pain in the butt thing I've had to do for modding Stardew. Don't think I like editting maps
And it didn't even work.
All I did was erase fences
Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on Microsoft Windows 11 Pro, with 183 C# mods and 458 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
Any idea what I could of done wrong?
I erased the fences on the map and that was it. I made sure nothing else was erased.
Directory climbing. There's a command for it but I don't remember it.
It means you opened the map without the tilesheets in the same folder as the map and then pointed the map to it.
Which you are not supposed to do.
Easy fix!
So I have to bring them all to the same folder and resave it
Easier: open the .tmx file in a text editor.
Find the "source=../../Gaming/Steam/steamapps/common/Stardew Valley/Content (unpacked)/Maps/paths.png" line. Change to just "paths".
Repeat with any other sources.
So get rid of all png
No, get rid of the folder path
This is what the paths line should look like afterwards, as an example <image source="paths" width="64" height="256" />
I don't think it matters if you keep the ".png" or not, but vanilla maps don't include them.
Yup!
Thank you
You're welcome. Having to learn how to fix tilesheet directory climbing is basically an initiation for map-making lol
Don't think I want to touch this again after I get it working lol
At least while I haven't been to bed in a while
The moment of truth
Failed loading texture Mods/Mae.FarmAnimals/Manure for item (O)Mae.FarmAnimals_Manure: asset doesn't exist.
Can anyone tell me way? I have been looking at this so long I am crossed eyed and annoyed
I would call it bullshit but seems a bit on the nose
You're loading to a different place than you're referencing.
Sorry for a wall of text.
I'm currently trying to figure out why a feature of a mod that recently got mostly fixed for 1.6 isn't working and I THINK I found the culprit? Basically in the ToolBelt mod, it has a feature to draw a backdrop behind items. But toggling the config fails to do anything in the current version. I was advised to come here since this is more of a coding related issue than a typical smapi errors thing. (In fact, smapi doesnt even acknowledge the config change, as those red ticks in the third image are when I changed the config and reused it the mod!)
So I did some decompiling and digging comparing the old and new code and using what baby brain knowledge of programming I have, I was able to find one conflicting thing that stuck out. While I know that the old and new code are drawing different...uhh commands? Arguments? I'm bad at the words... I more was wondering if the absence of the @ in the new code is the problem, as I know that the @ is used to say "Hey grab from the folder I'm also in!"
base.texture = this.helper.get_Content().Load<Texture2D>(@"assets\unselected.png", 1); <-- dead mod, but backdrop feature worked.
Texture2D textured = this.helper.get_ModContent().Load<Texture2D>("assets/unselected.png"); New mod that mostly works, but not backdrop.
This may not be the culprit at all and I could be in the wrong neck of the woods, but I gave myself hope and that was a mistake :v
"Texture": "Mods/Mae.FarmAnimals/Manure" - where you're referencing
"Target": "ManureIcon", - where you're loading. Your Target should be the same as what you have for the Texture field.
...was attempting to share a screen grab of the actual code side by side but discord kept telling me no.
Thanks! I kept thinking it was something with the floders
Or, if your manureicon is meant to be something else - you're not loading your texture anywhere and that's your problem instead.
No more fences! Thank you so much for the help
ooh pretty
Love the new Frontier map, just hate having fences built into the map.
Several of your Targets are too generic, by the way. You shouldn't have a Target without your mod ID in it (unless it's vanilla or another mod's asset, of course).
Remember to back up your copy of the map somewhere so that it doesn't get overwritten when you update sve
(it's !tilesheetclimbing)
Why?
Tilesheet climbing is the boss you gotta beat at the end of the modding tutorial dungeon 
Because if anyone else wants to make a mod with an asset called "ManureIcon" and they also decide not to use mod IDs or some other way of making their targets unique, your mods are going to conflict.
Yep! Though Frontier Farm is it's own mod
Uniqueness is the core of compatibility. We all need to avoid stepping on each other's ties toes before we can dance
(I did a bunch of personal edits to RSV and then accidentally updated over them once lol)
I am just imagining someone wearing a tie being dragged face-first around a dance floor now lol
lol
aggressive cha cha slide IS THIS COMPATIBLE WITH SVE?
(with very very generic stuff there is also the risk of a game update itself having the same name)
Also a good point, Lumi
Yep! If you edit a map named GoblinZone and then 1.7 adds a GoblinZone, everyone involved will have a bad time
I can build right behind the farmhouse wtf

Buildingception
oh there's normally a fenced in area back there isn't there?
I can put more and more. Think it's from building placement mod I got
Oh lol
I erased all the fences but just saw I forgot one dangit
Ok building all these buildings threw out a big error for better crafting lol
weirldy enough it was for Love of Cooking
So regarding the toolbelt mod, with the following lines... Does the second line need the @ symbol to properly reference the same folder? Or is this another dead end regarding it failing to draw things probably lol
base.texture = this.helper.get_Content().Load<Texture2D>(@"assets\unselected.png", 1); <-- dead mod, but backdrop feature worked.
Texture2D textured = this.helper.get_ModContent().Load<Texture2D>("assets/unselected.png"); New mod that mostly works, but not backdrop.
Good night, thanks again
I decided to just make the staircase one tile wide. having it two tiles wide plus the beam was causing too many issues...
is that a decompile?
first checks the Content folder in the game, second searches the mod's content folder (just so youre aware?)
dont think you need the @ in the second, it just stop the \ from being an escape char in the first I think? 🤔
So the mod broke in 1.6 and got fixed MOSTLY. But one feature does not work.
I give up
This crap is too much
https://tenor.com/view/boring-bored-tired-not-in-the-mood-monkey-gif-16493448 Sorry could not resist
Which is to draw a backdrop behind tools when they are pulled up.
I suppose I don't know enough to fix it or address it probably.
I Was hoping that was the right area
If it's open source you could try making the change and testing it
Dumb question, and I appreciate y'alls patience with me.
Will this work?
"Action": "EditData",
"Target": "spacechase0.SpaceCore/ObjectExtensionData",
"TargetField": "CategoryTextOverride",
"Entries": {
"410": "Berries", "234": "Berries", "282": "Berries", "296": "Berries", "400": "Berries"
},
I feel like no based on what I've seen but I'm losing it a little bit.
ffmpeg Just Works 🥳 i use it all the time. just add its install folder to your %PATH% environment variable and use it anywhere
"Action": "EditData",
"Target": "spacechase0.SpaceCore/ObjectExtensionData",
"Fields": {
"410": {
"CategoryTextOverride ": "Berries",}
might work
That's what I'm trying to avoid. :(
also am I reading your post wrong or are you using ffmpeg for image editing lol
wdym?
This is going to sound dumb but how do you make the code style embeddy posts
!embedcode
You can embed code in Discord using a series of three ` :
```
Your code can go here
Even if not a haiku
Just an example
```
For syntax highlighting, add the language code on the same line as the first
``` (with no space, like ```json).
The usual codes are cs (C#) and json.
(wb blueberry :D)
if it were dumb, we wouldn't have a command for it 😌
Blueberryyyyy! 🫐
(now slightly more blue than before 🌅)
Seeing your name reminded me that I have to find out what mod is conflicting with yours to give the wrong cooking skill icon
I want to see if there's an easier way to target fields to edit rather than copy/pasting the field name I'm editing. Tell Content Patcher "this is the field I'm trying to edit, here's a list of IDs and the value to set the field at", rather than "edit these objects, now edit this field in the object".
or
{
"LogName": "Custom Categories",
"Action": "EditData",
"Target": "spacechase0.SpaceCore/ObjectExtensionData",
"Entries": {
"{{ModId}}_BlackChanterelle": {
"CategoryTextOverride": "{{i18n:MtVapiusMushroom}}",
"CategoryColorOverride": {
"R": 120,
"G": 56,
"B": 0,
"A": 255
},
},
"{{ModId}}_Porchini": {
"CategoryTextOverride": "{{i18n:MtVapiusMushroom}}",
"CategoryColorOverride": {
"R": 120,
"G": 56,
"B": 0,
"A": 255
},
},
"{{ModId}}_WoodgoatMushroom": {
"CategoryTextOverride": "{{i18n:MtVapiusMushroom}}",
"CategoryColorOverride": {
"R": 120,
"G": 56,
"B": 0,
"A": 255
},
},
"{{ModId}}_Basil": {
"CategoryTextOverride": "{{i18n:MtVapiusHerb}}",
"CategoryColorOverride": {
"R": 129,
"G": 125,
"B": 4,
"A": 255
},
}
}
},```
(possibly because this means one edit per item?)
there isnt
👍
(you can have mutliple entries in the same "Fields" entry)
what's the wrong icon look like? knife and fork is spacecore cooking skill, I think the yacs skill has a plate?
mines a weird yellow pot
oh then good 😄
Just wanted to make sure there wasn't an easier way before adding like 50 lines to this JSON file.
alternatively the spacecore skills page doesn't make it entirely clear there's a scrolling list of skills, so maybe you just have 2 cooking skills installed and mine is hidden further down
Thank you! :)
hi folks
im going through the wiki and finding a bunch of information on custom NPCs giving gifts through events and was wondering is there a way to do this through dialogue? ex: NPC has dialogue / full break/ gives item/ dialogue? is this possible 
I am not sure what you mean by the full break, but NPCs can easily give gifts in dialogue by adding the item id in square brackets in the dialogue line as shown in the dialogue commands section of the dialogue wiki page https://stardewvalleywiki.com/Modding:Dialogue#Dialogue_commands
thank you great one 
Uh tbh it looks like a portion of a larger sprite, I think something else is using the same spot on the tile sheet by mistake? I don't have spacecores skill or yacs, just the one that comes with loc
teh @ sign is irrelevant.
the issue is actually at the front of the line
red - assigns texture to field, which draws it later.
blue. Assigns texture to local, which...does jack of all but waste a lot of cpu time, because the method immediately ends.
Ok good! I mean, in the sense that I was right it was that line. I'm not at home anymore lol but
tbh this is not the approach I would have taken at all (asset loads can be quite expensive, relatively, and I reckon you can get something to work in Maps/MenuTiles)
I thought maybe the difference at the start was connected to needing different arguments or commands because of 1.6 changes or something, cuz again I'm not actually very familiar with programming. Also that sometimes there's more than one way to do things
nah, in this case, a local is a local, a field is a field
a lot of this is just basic bitch C# stuff, nothing stardewy about it.
The glaring difference there was like so big I was like "that seems like a very intentional change, so maybe that was necessary for the fix"
(speaking of basic bitch, I'm gonna make a coffee.)
is that so
what version of loc are you using?
The most recent alpha I believe
oh, i think I know. are you using the loc menu recolour mod?
Yup!
it won't have been updated hahah
Ah, ok ill dig in there
the spritesheet is completely different for loc 2.0
That makes sense! I'll deal with it in the meantime tbh, obviously not affecting my gameplay or anything. The new coding updates are still a bit beyond me at the moment as I haven't had enough time to peek in other content files lol
honestly im just surprised that's the most glaring issue you've seen with two completely different spritesheets lol
Skill finger guns
I tried to make change before I left home, but I kept getting an error when I'd go to build .-. I don't know if the person who updated it for 1.6 locked it died or someone or if I'm just that dumb with c# there's so many like... Frameworks and things blanking on the word
Hey. I've been trying to make my own mod where i can replace one of the cats with a custom cat that looks like my irl cat, but I've been struggling with it. Here's the error log link if anyone's able to help.
https://smapi.io/log/263e062645f346208e0d2431468d0c59
Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on Microsoft Windows 11 Home, with 17 C# mods and 3 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
so your other issue is that you're going off a compile
which has rendered, like
the entire code kind of nightmarish
There are no mods mentioning cats in that log.
like I look at it and go .... why are there pointers there. why
do you need a pointer.
hey. https://github.com/atravita-mods/StardewMods/blob/alpha/ContentMods/[CP] Bella/content.json is a fully functioning mod adding one dog to the game
I pulled it up in uhhh Rider?
oh sorry my cat's name is jazzy so i named the mod as [CP] Jazzy Animation
you're missing the manifest.json
Then you may be missing a manifest.json because SMAPI is saying it's empty.
i do have one but it still gives me that error
!json Then something is wrong with your manifest or it's in the wrong place. Can you share a link to it, please?
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.
It may be a manifest.json.txt
!fileextensions
Windows and Mac hide most file extensions by default. If you are creating or updating mods, it's helpful to show file extensions so that you can be sure all mod files are named correctly.
To show file extensions on your computer:
On Windows 10, open File Explorer, click on the View tab, then check the File Name Extensions box.
On Windows 11, open File Explorer and click on View > Show > File Name Extensions.
On Mac, open Finder, and in the menu bar, click on Finder > Settings (or Preferences) > Advanced, then check the Show all filename extensions box.
it's a manifest.json.txt, you got it in one
I literally started coding today so my experience is 0
If you follow the instructions from Governor to show your file extensions you will be able to rename it properly.
You need to show file extensions
Right now, because your file extensions are hidden, you can't see that your file is actually named "manifest.json.txt"
But you can see from your message where you uploaded it that it is
ooooooooooooooooooooooooooooooooooooohhhhhhhhh let me see
I have no idea why the wall and floor around the crib isn't changing. I haven't touched those files....
I've had issues before with patching the farmhouse and accidentally stripping out the wall/floor properties; I'd check to see if they're still there using lookup anything?
What if you apply wallpaper does it work
It might also be embedded in the crib map file
when i apply wallpaper I get that.
i havent touched the crib map file. im wondering if i might need to....
Oh, I see why now OTL its completely gone from existence
I DID IT GUYS THANK YOUUUUU
Nice! Very cute cat :)
That is a very beautiful cat 
pretty kitty!
and i mean both pixel kitty and irl kitty
also my crib is functioning correctly now. decided to fix the layering issue it had while i was at it, so no more void showing behind it
Hi! Can anybody help with trying to get the mod Pigeon Mailbox to work? I have other mods and they all seem to work
you may want #1272025932932055121 ?
Ohh okay thanks!
Does anyone know if the VPR has masks like the Earthy Recolor mod? Im trynna recolor the new SVE trees to VPR so the colors don't clash too much
C# question: I need to "or" a few things but I also need to evaluate all of them since I have out variables to collect from each thing. I always use || for my or-ing but in this case | seems better. They're all methods (various kinds of ArgUtility.TryGets). Is there a reason I shouldn't use | here or am I safe? (the alternative is a bunch of ifs in a row, which, fine, but feels messy)
assign all of their return values to variables?
hm you dont want to short circuit?
but I feel like having to use out variables (or side effects in general) in functions in conditionals sounds like code smell
probably a good idea to reconsider what should be the "real" return value of your functions
and dont use functions that have side effects in conditional checks
You can always set up them first and then or them
If you need em later naming them seems reasonable
alright, good to know. I'm more or less following CA's coding in this case since he also does what I was describing
the ArgUtility.TryGets are often in if statement in his code
they dont use | though
thats the normal usecase of TryWhatever
and then he uses the out variables for whatever is needed later
the out variable getting assigned is a side effect, but it's desired
the questionable part is doing that but discarding the out, which i hope u arent doing 
... I'm silly, I forgot a continue inside the if...
basically VSCode was yelling at me
I wasn't ditching the case if the trygets failed... and VSCode was like this, I don't like this
anyway, now I have if(tryget...) error, continue (with the foreach)
and that's actually what I wanted
in all those cases he is using individual if statements for every call
if you want to check them all at once in one if statement, the idea is that you only run if all of them succeeds
The decompile also doesn’t always match the original code
If you look at it and think “wtffff” there’s two possibilities
A) the decompiler B) it be that way (things happen)
also good to know - and yeah, I realized like 5 minutes later that this was a bizarre situation to try to put my code in. I'm blaming the fact that I was rushing to finish the block of code instead of slowing down and making sense of it
also this was like, actually, Pathos
ah, fair... "CA" in the metonymous sense
I do get a lot of the convo topics, I think it’s fun
Robin is making conversation about the 6 back to back constructions I had her do
(Full coop and barn upgrades)
build number 5: "Hey, give a girl a break, won't you?"
I accidentally made her work on her birthday
lol
But I gave her spaghetti so now we’re besties
that'd be funny if she had dialogue for it
I have knit One Full Sock
also, can I say, after having chat commands for One Full Day, chat commands are pretty usful
....guys, that's two socks
Just showing you what you should be aiming for
if they're the halloween colored ones, you still have 25 days 
is there some map tool mod that let you go under a bridge
No

isn't there a builtin bridge feature since 1.5?
only one on the island
it's giga hardcoded
since there's no z level in SDV
I think wren or someone else was working on adding a map property for it?
i wonder if ca is perfectly fine with all the dehardcoded behaviours since 1.6, or if he has to ping pathos and ask how to do things in his own game now
'help, how do i check for quests complete now
'
if i was CA and therefore able to just change code to do whatever one off behavior i wanted
i would change code to do whatever one off behavior i wanted
Well, it helps if you don't actually add more content to the game anymore lol
coughs raccoon bundles coughs
isn't it a full crew now though?
though i imagine CA inc has enough devs to do code review and not let anyone do whatever they wanted
i like how we talk like some kinda nebulous figure 
there were 5 helpers for 1.6 I think, maybe just two now for 1.6.9, other than those handling the ports
back on bridge/z level though, i have vague idea about impl being like
touch tiledata where walking through puts you on a higher Z
and make tiles tagged with that Z have collision, while turning off collision for tiles tagged with different Z
placeables is prob lost cause for this ofc
back in the days of 1.4, mabelsyrup had a mod that supposedly allowed you to run under bridges
https://www.nexusmods.com/stardewvalley/mods/4716
This one. Unfortunately it doesn't seem to be open source....
I suspect it works based on which direction you come from
I think mabel had a wonky perms sitch
like Esca in particular has permissions or something
like my understanding is that Mabel didn't intend closed source but ended up leaving before fully specifying
did maps change a lot between 1.4 and 1.6? relative to everything else
i was only aware of tbin -> tmx
the other impl i was imagine is that there's no Z level its still just a map
but we render tiles of a "previous" map as parallax bg
as far as i know, not really
there was probably a few map properties changed or addd
with the tile touch action thing how would you deal with teleporting
and thus potentially not exiting from the tile that changes your Z or perhaps arriving on a map at a tile that should have a specific Z but you never touched the tile to become that Z
the farmer falls to their death of corse
That might be why CA sets OnBridge to true to prevent them from being able to activate anything
by gating ppl with the right Z changing tiles 
i dont think thats on the map maker when there are vanilla ways to teleport
If you can't use your teleportation scepter, you can't fuck that up
how would they account for the return scepter and a custom farm
Or totems lol
So just reset on location change?
yea gotta start ppl back at 0
its not a great system really, especially not for map making side
but more control than simple directional check
what if the tile they get warped onto is supposed to be like z2 tho
since events or actions can warp the player to any arbitrary map and tile
pull the idea back out at the next mod jam
im sure as soon as it happens i will immediately forget every idea ive ever had just in time for the start date
that means i gotta figure out how to do this ambient lighting on my maps
What's ur problem with ambient lighting
i'm not doing anything right 
InvalidCastException: Unable to cast object of type 'StardewValley.GameLocation' to type 'Voidsent.Locations.ArtificialBeach'.
at Voidsent.Voidsent.<>c.<OnAssetRequested>b__3_0(IAssetData asset) in D:\source\repos\VoidsentSMAPI\Voidsent.cs:line 39
at StardewModdingAPI.Framework.ContentManagers.GameContentManager.ApplyEditors[T](IAssetInfo info, IAssetData asset, List`1 editOperations)```
```private void OnAssetRequested(object? sender, AssetRequestedEventArgs e)
{
if (e.Name.IsEquivalentTo("Maps/Aviroen.Voidsent_ArtificialBeach"))
{
e.Edit(asset =>
{
IAssetDataForMap editor = asset.AsMap();
Map map = editor.Data;
// your code here
ArtificialBeach artificialBeach = (ArtificialBeach)Game1.getLocationFromName("Aviroen.Voidsent_ArtificialBeach");
}); //i'm lost
}
}```
i'm assuming it's because i'm doing something wrong here, i do have to actually redo the ArtificialBeach : GameLocation class though
i dont think you can cast from a parent type to child type
adds that to list of reading
i wanted it to stay outdoors but i also wanted to have the ambient light properties
: base(map, name)
{
isOutdoors.Value = true;
ignoreDebrisWeather.Value = true;
ignoreOutdoorLighting.Value = true;
}```
okay, then what's with the line getting the location inside the asset function?
or are you testing that you set up CreateOnLoad correctly 
but that only happens when the save is loaded right
i'll test in a bit it's dinner suffering
What? Assuming your variable is A a but the instance is type B : A, you can most definitely do B b = (B) a; You just have to be sure the instance is of the right type first
selph why are you pointing up that you didnt correct me either
theres a reason i say "i think" at the start of most things i say 🤷♀️
I was too laser focused on the asset code
sorry
I didnt even see your message until Casey pointed it out
whats the reason for the invalidcastexception then
Because it isn't of that type
And yes while you can do (A)theThing if it is A
I super don't recommend it
Unless it's fully internal types, I wouldn't trust any game state to be sane or what you thought it was 0.1 seconds ago
In this case I'm questioning everything
- No need for subclass, just harmony that shit
- You need to instantiate as your type if you want to subclass
- "Just" casting it doesn't work
- Why in AssetRequested? The game needs to request the asset to be able to construct the location in the first place
Oh look bedtime for atra
oh no, more harmony crimes
Hell if you didn't want to harmony it just set those fields in saveloaded/savecreated
Done
Isn't this where u do
if (instance is Type realInstance)
Yeah, I tend to do that, or (instance as Type)?.singleMethodCall()
location data has a field to allow instantiating a location as a specific type. I assumed the code was Avi testing it (but that's a weird place to test, since the location most likely isn't created then)
Still if u r do custom location class then u need the spacecore wheels
(Though it would have been null right)
We just went through this with the lava logic
oh this is my c# editing a cp loaded location
It's same thing
(You super don't need a custom subclass hete)
did u do this or not, just to clarify
and yeah I second atra, dont do it
Since u have a relatively simple change tho I guess u can just postfix the constructor or something?
Or find appropriate event to load and reflect the field at
Save loaded or smth
if it's postfixing i can probably wrangle around it again but i'm not anywhere near transpiling
But I wonder if making your location just indoor + treatasoutdoors would do what u want 
yeah i was gonna test that but i also wanted to get my hands dirty incase i did want less-than-savory map edits for later 
this is what I would do.
private void SetMyLocationFlags()
{
if (Game1.getLocationFromName("Aviroen.Voidsent_ArtificialBeach") is GameLocation loc)
{
// set the IsOutdoor thing in the map props.
loc.ignoreDebrisWeather.Value = true;
loc.ignoreOutdoorLighting.Value = true;
}
else
{
this.Monitor.Log($"Huh, can't find my loction, that's weird.");
}
}
public override void Entry(IModHelper helper)
{
helper.GameLoop.SaveLoaded += (_, _) => SetMyLocationFlags();
helper.GameLoop.SaveCreated += (_, _) => SetMyLocationFlags();
}
does that work properly with multiplayer shadow locations?
shadow locations?
those are netbools
if set on the host, it's sufficient
thank you much 
i now have an encyclopedia size to read while i continue this farm map 
(We have a little wiki page for concepts like that, if you're curious.)
i do love reading
Hi Pathos! I have a stupid question. This block here checks for a dialoguekey that starts with Resort
but it will never start with Resort, since dialogue_key is the full key with asset name included.
Can you add a beta bug report for that? We'll need to look into the implications of fixing it (e.g. making sure all NPCs have proper dialogue for the broken key).
Will do!
i didn't even think resort_marriage will go through since the pickrandomvillager ignores if an npc is on the farm 
I clearly don't know enough about C# to attempt the very basic fix on tool belts that was suggested ._.
that's okay! i know nothing as well 
you can always post your code on github and ask for help here
I was able to edit the lines of code, but I can't get it to... build? I guess is the word?
what IDE are you using? cause the modbuildconfig should package it all up into a .dll
That may be what I'm missing ha ha as that is a word I'm not familiar with :v
I'm using um jetbrains?
Rider supports NuGet packages and should work pretty much the same way as Visual Studio, though the UI will be a bit different.
it should be in the top toolbar under Tools > Nuget > Manage nuget packages
itll open a list of packages in... some section of your UI i moved mine so idk the default. search for the modbuild package then right click > install
to create the project itself you want to look for New Solution instead of just "Create a new project" and then the rest looks pretty similar, just class library on the left side and the target framework option will be there when you click it
Didn't Atra say your problem was that you're trying to look at a decompiled version of the mod? Maybe I am wrong but I thought you can't rebuild after that.
I mean I was looking at the decompiled version of the mod to see if any differences in code referencing the assets jumped out
So you have the source code?
Before I committed to uhh bumbling around with c#
I couldn't find the source code for the 1.6 fix version. Admittedly I haven't looked much yet.
Oh perhaps I misunderstood what the possibilities would be for reverse engineering.
what are you hoping to do 
I mean, I would very much like one of the C# people to actually weigh in on this but I thought that you can't decompile a .dll, change it, and then expect it to rebuild properly.
This computer is just about to know what flying out a window is like
there exists a buildable version of the decompile but it's private, see #roles about that
i think theyre talking about am od
I had a hope and a prayer that the change would be minute enough that it could be fine :v
