🪨 The item ID for Stone is 390.
To use this command, type !stone.
1 messages · Page 127 of 1
🪨 The item ID for Stone is 390.
I'm going to note my thanks for the help I got with my questions - it's working now! You do indeed need to put question replies in the specific person's dialogue!
glad to be of help
Perfect. ```csharp
var stone = api.CreateBaseIngredient("390", 1);
api.ApplySeasoning += evt => {
if (evt.Item is SObject sobj && sobj.Quality == 0 && evt.HasIngredients(stone)) {
sobj.Quality = SObject.bestQuality;
evt.SetUsedLastMessage();
evt.ApplySeasoning(stone);
}
};
(Delicious rock. Makes the best fried eggs.)
whats path tile index 34? Cause im getting an error for that
the error is: [game] Location 'StarKOdoll_MMITown' ignored path tile index 34 (spawn tree) at position Static Tile Index=34 BlendMode=Alpha because the tile has no 'SpawnTree' tile property. Im guessing i forgot to place a path tile? not sure though, cause i spawned in many trees without a path tile (Please ping!)
i think it's the tile it's being placed on
Oh, the DP report came out today. ... I have zero idea how I got so much but I won't complain
Yall publish your mods? nice
I think they changed the DP algo again some time ago, which gives most people more than back in Aug/Sep?
wait no i figured it out, its just what number the path tile is
If my DP keeps being so weirdly high I'll be able to buy a new laptop in four more months (well, seven more months but you know).
yes, and it seems to be unhappy with you because the tile you placed it on is missing a property?
Well, 40 minutes later and the first update, I added i18n schema to the extension -
https://github.com/bsavage81/stardew-modding-schema/releases/tag/v1.0.1
yeah I accidentally put down this path tile which resulted in an error so i found it and removed it, tysm
ah
Yeah, this month's DP report was my largest... moved over from #programmers-off-topic, because topics. 
Since 1.6 all music tracks fade in when they start to play, i was wondering where that was configured and if there was a way to bypass it
i dont think its that music tracks fade in i think the music is just made with a fade in
Should be easy to confirm which it is, at least!
(still not opting into DP)
also no DP gang. I'm sure EMC would have done gangbusters, but eh
i have DP on but havent actually done anything with it yet. i like number go up though. CMCT basically matched my books mods lifetime downloads in November alone so my report was like twice as large as the previous largest... which was october and also because of CMCT lol
Rasmodia is powerful
yeah thats pretty much the whole reason
that's weird, i'm pretty sure it wasnt always the case
well its been that way since 1.6 at the very least. i suppose i cant really say about anything before then
(Yeah, I send DP to donation)
So I was tinkering with my NPC schedule and trying to troubleshoot why the schedule didn't seem to be working. I decided to make sure mods were up to date. After updating SMAPI my NPCs don't load at all. Am I doing something wrong in my mod that made this happen?https://smapi.io/log/8f1aec90abab48ea85a61099771fe3d4
Log Info: SMAPI 4.1.8 with SDV 1.6.14 build 24317 on Microsoft Windows 11 Home, with 6 C# mods and 3 content packs.
i'm also no DP gang, but also my mods don't do numbers so it's academic
I think it's weird I still get dp lol
People shouldn't be downloading my mods
They don't work
So there is no possible way to add functionality to rings created with CP without the use of C#
did CA change where the farmer profile bg's are stored?
so i downloaded Event Tester for nothing then i see
/j
Jorts and Jean is my only "monetized" mod because all theirs goes to charity
(but I have to do it manually so uh I should get on that)
Could probably get a decent chunk from DP (I have the "lifetime" Premium already) but it skews incentives too much.
Nexus don't have the charity you want, I guess?
I'm psure I would get more money to charity if I got a part time job at mcdonalds instead of making mods 
So it is just numbers go up
Mom says I should try selling my knitting lol
That would be hilariously little money for the hours required....but would likely still beat dp
atravita-etsy
And that's the reason not to do DP. Not because the number is low, but because it invokes that entire process of solving the equation, constantly.
If I want to think about "what's best for the shareholders" then I'll just do more corporate office drone work.
SDV mod downloads were twice as high as in september
I'm guessing that as people update to 1.6.9... er, that is 1.6.10, no I mean 1.6.14, they maybe start to take a look at mods again after a lot of their old ones die.
I definitely did see an uptick in overall downloads.
September was my worst month for DP since April, lol
Well that's working too. csharp api.CheckCanCraft += evt => { if (evt.Recipe.Ingredients != null && evt.Recipe.Ingredients.Length > 2) evt.Fail("@C{red}You only have two hands. How are you gonna carry more ingredients?"); };
Yeah, Jorts (the IRL one) is a big supporter of United Farm Workers
Yeah, I don't monetize mine because I don't want money pressure on a hobby that is supposed to be a relief from capitalistic stress
No shade on those that do (but please do not monetize all your hobbies, for the sake of your mental health)
Yeah, if you're able to monetise and not focus on or pay attention to it (definitely how I do it), it's an ideal situation!
And maybe Nexus would consider adding the charity? Might be worth asking!
I would feel bad monetizing mine because nothing I've released so far really does much in the way of non-base game or very lightly edited asssets.
I consider this a bit of a unicorn. You can find no shortage of people who say it exists, but a close inspection always shows the incentives at play.
Feels like I haven't earned it, you know?
(Converslry, thr worst of both worlds is when you have responsibility and also aren't monetized worth shit)
Yeah, I think it's probably almost impossible to completely ignore it unless you're absurdly wealthy and it's pocket change. And in that situation, you probably wouldn't care to enable it.
(I have been known to undervalue my work, but the line is hard to find)
Calling it mental health and such is a bit dramatic for me (you do what's best for yours, of course), I just don't want to be lulled into the dull economic calculus because it takes the fun away.
I made Minecraft Marketplace Mods for the last five years, and I had to take a big step back because the actual game had become a job, which was not what I had originally wanted
I wonder how open Nexus is to adding new charities
Being pocket change is a good reason not to bother, no? I mean, why take on the responsibility, however personal and imaginary it might seem?
There's some relatively specific causes I'd like to support but the Nexus list is pretty plain
I mean the factor here is whether you want to, not if you "deserve" it.
People downloading your mods is the factor, not how life-changing they are.
Like I would send my pride mod DP to trevor project for example
On a related note, I want to say that I'm glad people aren't super negative about DP and talking about it. I know in some communities there'd be people breathing fire like "you accepted money for a hobby?"
Speaking anecdotally, I find putting money in the equation does negatively impact mental health, but I'm also in a lot of neurospicy circles where mental health is already taking a beating for various reasons. 🙂
I mean, if you've spent time and effort on it and you think your work is worth earning money on, then by all means, go for the DP!
I personally just don't value my current work so far in the modding sphere highly enough for that.
DP isn't the same as donations though
Yeah, that's my sticking point, honestly
I'm so used to thinking about in art terms, which isn't actually how DP works
DP is paid by Nexus as an incentive to keep modding communities alive
People who feel as though they need the money will take it, there's no sense in starting a holy war about that at the individual level. (At the platform level is a whole other story, though.)
I don't think you have to have a certain value of effort/quality/content for your mod to have value, though. I personally try not to frame my view of my mods by how much I think I'm contributing to the mod sphere.
(case in point: No More Lag)
Gauging your work by outside factors almost always ends in disappointment 
I'm just so used to the legal rigaramole of "you didn't make this asset 100% from scratch and it's unsure if it's enough of a derivative work, so you can't profit from it" that I don't even try if it's not 100% my art involved, and I forget about the code part since I'm not used to coding projects for money.
Re: donations though, I have been too poor for my entire life to ever turn down when people wanna give me money, I don't need a reason to accept it lmao
The only outside perspective I want on my mods is if they're broken and I haven't noticed/fixed it yet and if a related feature could be added lol
Outside scrutiny - "market forces" - are important for the continued creation of genuinely useful work. Whether the Nexus DP system actually meets that criteria is highly debatable.
Anyway I will forever bang the drum that you should have at least one hobby that's not monetized at all, but mods doesn't have to be that one. CA is fine with it, so should the rest of the community 
I might very well "monetize" if monetizing meant selling a product in the traditional way, setting a price and seeing who's interested. But that's not even remotely how the mod "market" works.
And of course, I'd probably still split the time between those I make for myself/personal reasons and those intended for "sale". It's all hilariously blue-sky speculative though.
as someone who is partly disabled and takes care of my grandmother, the DP is nice, makes me feel like I'm actually doing something instead of that nagging "I am a drain on almost everyone I love" thing. The number doesn't matter so much. But actually setting prices makes me anxious.
I have done commissions, I just never feel like I'm good enough at it to ask decent prices, making myself do it is a fight. 
Yes, but while YMMV, that's the point I'm making; the products that people will snap up for both zero monetary cost and zero risk are very different from those they'd take economic or personal risks for.
Designing for profit in an ecosystem where the "customer" is making decisions with an everything-is-free mentality is just hilariously distorted and broken.
You can thank a generation of "ad-supported" services for these perverse incentives.
So really,
capitalism 
I believe that's what it is, they're basically saying "your work brings us revenue, mostly ad revenue, here is a portion of it"
but if you take it, definitely do not fall into the trap of figuring out the number. Be bad at math, like me, go "ah, number nice" and do not think about it further. That way lies madness
Expected that reply, kinda. But for all the talk of Capitalism, the sharecropping/serfdom model is far more exploitative and unfair than the merchant-bazaar model. And the former has historically never been called capitalism.
I mean I can say "
all forms of economic exploitation and class warfare" but "capitalism" is a bit more accessible 
So, feudalism then?
Im working on a romanceable NPC: The would be 4th Princess of the Ferngull Royal Family! Hiding out in Pelican Town at the Stardrop Saloon....poorly I might add.
Socialism seems pretty okay.
Right on, let's bust out the bread lines comrade
days since someone in a Stardew discord has been weird about economic systems: 0
@brave fable Hey there! Just letting you know that a Better Crafting update was just released with those new API events I mentioned before. https://github.com/KhloeLeclair/StardewMods/blob/main/BetterCrafting/IBetterCrafting.cs is up to date (and over 2,000 lines now :D) and as a little code example: ```csharp
var stone = api.CreateBaseIngredient("390", 1);
api.ApplySeasoning += evt => {
if (evt.Item is SObject sobj && sobj.Quality == 0 && evt.HasIngredients(stone)) {
sobj.Quality = SObject.bestQuality;
evt.SetUsedLastMessage();
evt.ApplySeasoning(stone);
}
};
api.CheckCanCraft += evt => {
if (evt.Recipe.Ingredients != null && evt.Recipe.Ingredients.Length > 2)
evt.Fail("@C{red}You only have two hands. How are you gonna carry more ingredients?");
};```
Well the Jorts and Jean mod makes a pretty clear statement as-is. Though it's fun to occasionally poke people to see if they really believe what they think they believe. Modern definitions are terribly confining.
Also, I just realized I've been reply-pinging a ton of people because the plugin that's supposed to disable auto-ping is broken. So, apologies for that all around.
Me: 
I'm fine with pings myself
Something I learned recently: if you hold shift while clicking reply, then it sets the ping to off by default.
...wait what?
This is a good knowledge, thank you
Holy hell, it actually does.
Well, I got the plugin fixed, but that is indeed good to know.
I wish Discord would put the indicator itself in a place where you can actually see it.
I hang out in 50/50 places where people want and don't want pings, remembering which is which is a whole dang thing
I'd kill for some server-specific setting
There's definitely a higher percentage of people in this server who don't want pings than I've seen anywhere else.
Oh I've been in no-ping entire servers
where like maybe two people were fine with pings
I just turn them off as a matter of principle. I use replies for context in busy channels, so people know who/what I'm replying to, and don't like them being associated with "really need to get this user's attention".
fully about 50/50 on my end
Though I'll admit it is kind of annoying when someone constantly reply-pings you over and over again in a channel where you are the only 2 people talking.
But... that's really Discord's fault for shitty feature design, not the other individual's fault.
Why does the content patcher documentation go from assuming you know nothing to assuming you are John wick of modding without anything in between
Am I missing something t-t
what are you looking for
How does one understand the documentation
If you tell us what part of the documentation you are having a problem with, it would be easier to help you with it
The CP documentation has some examples you can copy paste
and there's also some tutorials on the modding wiki we can point you towards depending on what you're trying to do
Add a door
Ah...so you've picked something tricky
Doors are tricky?
Let me dig around for what you might need, but the hard parts of adding a door are mostly on the Tiled side
Interior doors are tricky
Like the door to Pierre's room?
No I just want a door that leads to my custom map.
this tutorial is sort of adjacent https://stardewmodding.wiki.gg/wiki/Tutorial:_Map_Patches_and_Warps
Oh, in that case you want a warp, not a door
Sorry, stardew uses some weird terms sometimes
But this tutorial should help you out
It's a tiny bit out of date but off the top of my head I think things are similar?
https://stardewmodding.wiki.gg/wiki/Tutorial:_Making_a_Custom_NPC#Mapmaking_your_own_house there's also this tutorial if your new location is for an NPC
I worked up a magic warp but how do you make that door into the map without overwriting the entire map
I tried doing the overlay thing but failed horribly
You can do a map patch at a specific coordinate
https://www.nexusmods.com/stardewvalley/mods/16442?tab=description off the top of my head, I think this mod does a small map patch for the stall, for example
There's some video tutorials here about various maps stuff https://www.youtube.com/@hexus5325/videos if you prefer that style
You are a saint thanks!
Hello gurus. When building a C# SMAPI mod, how does one go about getting the localized text?
Example unpacked file for Data\PassiveFestivals:
{
"NightMarket": {
...
"StartMessage": "[LocalizedText Strings\\Events:BeachNightMarket_NowOpen]",
...
},
"DesertFestival": {
...
"StartMessage": "[LocalizedText Strings\\1_6_Strings:DesertFestival_NowOpen]",
...
},
"TroutDerby": {
...
"StartMessage": "[LocalizedText Strings\\1_6_Strings:TroutDerby_NowOpen]",
...
},
"SquidFest": {
...
"StartMessage": "[LocalizedText Strings\\1_6_Strings:SquidFest_NowOpen]",
...
}
}
TokenParser.ParseText
Thanks! I'll take a look. 🙂
How can I check that a player has unlocked the quarry as a precondition for an event?
(the event does not actually take place there)
Can't you check hostplayer flags lol?
i dont know anything about event preconditions
i know you could do that in order to conditionally patch the event into existence
but idk about in the precondition itself
That worked perfectly. You're the best! Thank you. 
farmhands do not, you have to check for the hostplayer's flag for anything CC related
so I should mark the event as host only and broadcast it? I don't have much experience with multiplayer
Oh I see now just use the Hn check for the precondition for the host flag
but I still don't completely get how broadcast works generally, is that only a host player thing or can any player broadcast an event if they are the first to encounter it?
Me: I don't remember writing much about NPC map patches [checks]
The page: Tiled is my nemesis, so here's some ways to avoid having to do maps and a link to another tutorial
as I should have expected
these decompile repo invites are getting harder and harder to get 
looks great, thanks so much! i'll see if i'm awake after work to update loc for bc's seasonings.
I'm working on a mod that gives the player tasks. I have a task in the top left to get 15 seeds in total. It checks how many the player has in their inventory and then tells the player to get the remaining seeds needed. I would also like this count to update when the player has the item in their cursor. In the first picture, I would like the count to be 1 instead of 15. I was able to get this working for when the player in the inventory menu (second picture) using this line Game1.player.CursorSlotItem, but it seems like each menu has their own script/file/object.
What would those files be for check Pierre's Shop specifically? I know the location name internally is "SeedShop", but idk if that's relevant to what I want to do.
If you are looking for Shop name, it is also SeedShop, but it's stock list, open hours, etc., is set in Data/Shops
they dont want the shop data, they want the currently held cursor item when you have that shop menu open
I don't know anything about the Game Methods, though, this is just the physical location of the data in the unpacked files
(i do not know which menu it is specifically)
ah, I see
it might just be ShopMenu
i doubt Pierre has a specific menu just for himself but i cant say with 100% certainly. only like, 90%
it should be just shop menu
yeah you don't want the player value for cursoritem, you want menu.heldItem
I do wonder about overriding CursorSlotItem while in a shop, since that usually reflects what you've purchased
although i should warn u that if u use gamepad the item goes into inventory immediately
It almost seems like what you want instead is to draw a separate thing entirely somewhere
that's fine for what I want to do
Thank you. Now I need to figure out how to get a reference of the active ShopMenu
as simple as if (Game1.activeClickableMenu is ShopMenu menu) { var item = menu.heldItem; }
Thanks!
is there a command that can be done to send me the link to the page that will teach how to make a map? its been too long since i did the last one and need the refresher lol
Dont know the command but this is the link: https://stardewvalleywiki.com/Modding:Maps
If you want to make mods that add or edit maps:
Use Tiled to edit .tmx or .tbin files.
Refer to the Maps wiki page for details on how maps work in Stardew Valley.
Content Patcher allows you to create custom locations through editing Data/Locations
Vanilla Maps can be edited via Content Patcher as well: EditMap
There we go
gotcha, tyty
I has question:
When it says that the ShowNextIndexWhenReady stacks with the IncrementMachineParentSheetIndex it means that it will show the next index after ze IncrementMachineParentSheetIndex (if no other shownext ones is true)?
yeah
anyone know the name of the .tmx file of george/evilyn/alex's house? im not seeing anything with any of their names in the maps folder or one with 1 river road(which is apperently the address according to the wiki)
joshhouse
thanky wasn't sure if I was understanding right since I am better with visuals than words ><
just wanted to say i appreciate all the help from this chat, would have given up on natalie a long time ago without yall 🫡
Hi folks! I'm new to Stardew modding, but have learned a TON about making SMAPI mods from the wiki, this chat, and poking around other folks' source code. I have a question now that I am really struggling to find an answer for on my own and I hope someone here is willing and able to help.
I'm not sure how best to handle removing or renaming options in config files in new versions of my mod. Say I initially create my mod with a single boolean option called "useBlue" that tells my code whether to use the blue thing or the not-blue thing. Then later down the road I want to add support for a variety of colors, so I would ultimately want to remove the "useBlue" option and replace it with a string option like "selectedColor". Is there a way to have the updated mod code find the old option, update the new option from that old one, then remove the old option from the config file or will my mod need to kinda maintain all my old options for backwards compatibility with old config files for as long as I want an easy update path for players?
so u get default value
the other possibility is that it throw err which u would just catch 
Wouldn't I have to include the old option as a property on my ModConfig class in order to read the old option from the config file, which would then mean that old option gets written to new config files since it is a property on my ModConfig class?
if you give that option/field a private setter getter then it will not be serialized
public bool MyOldOption { private get; set; } = true;
ooooh, that makes sense! so I'll have to have the property around indefinitely as a private property for backwards compatibility to read it from the file, but since the getter is private it won't ever be actively written out to the config file?
correct. you can choose how long to continue supporting it, so it doesn't have to be forever
like at some point you can remove it and just tell people they have to fix it manually or generate a fresh config
Perfect! Thank you both!
also, re #1: I definitely agree. I would for sure use an enum or something in that scenario. it was just a silly example, though, so no enums for now! haha
I just love the fact that GMCM can make drop menu options to strings in configs
GMCM is awesome. I especially love that you can support it in your mod without it being a requirement for your mod. I suspect I have a lot to learn still about what all I can do with it.
I was a late adopter (compared to some other mods I picked up early) but I can't live without it anymore
you can do it with a lot of mods. It's tutorial just makes it as the standard way to use it
Oh hey, a new MathsPerson! 
hey guys, im new to modding, but what do you think about a mod for 1.6 that makes Trinkets available at Lvl 1 combat?
im wondering how i would approach this
you'd want to start by thinking of a mechanic
like, do you want them to drop normally?
have them for sale?
I haven't even played the updates long enough to experience trinkets yet! lol
NPC gives you one in dialogue?
started playing 1.6 after a loooong hiatus and got almost immediately consumed with my new hobby of learning to mod the game instead.
thinking about making trinkets slot available at the start of game, and perhaps a trinket shop
of course adding custom trinkets thru content packer would be encouraged too, but mechanics are what im focused on
so probably some C# there
you'll want to decompile and take a look at what adds the slot
ok
there's a framework mod for trinkets
when i made trinket mod i balanced it around being available late in the game
endgame content is important 
where at
Trinkets are definitely OP early game so this would be a cheat mod, but of course, that's OK if that's the intent.
opening slot is as easy as incrementing the trinket_slot stat
I believe the triggers for trinkets are fairly specific and hard-coded so yeah, you can't do that with Content Patcher alone.
im interested in it more so as a mechanic for an even bigger mod.
(Does opening the slot make them drop, though?)
yea
CanSpawnTrinket is just f.stats.Get("trinketSlots") != 0
that said i would prob change this 
(you can also patch that with BETAS too—)
Ok, then I guess it is possible with CP.
and make some weaker trinkets that u can buy
but ban the vanilla fairly strong stuff u kno
Like the L4 Parrot. Money printer go brrrrr.
this framework doesn't have any features for unlocking slot its for making custom trinkets
I mean, I personally like the idea of some trinkets being available at max friendship with the people who love them, even if you don't have Mastery yet
Random NPC gift trinket sometime after max hearts could be cute.
the problem is just to use it you have to enable the drops of every other trinket too
@lucid iron i'm a beginner at C# so if you could help me out if i need it, i'd appreciate that
just ask here
thanks
yeah
just change the individual trinket data to DropsNaturally:false until the friendship condition is met?
yea that'd work 
i mean you'd have to patch every trinket in the game
do an edit conditioned on having mastery for the vanilla ones
(plus any mod-added trinkets)
u cant control modded ones but there arent that many 
There aren't many vanilla ones, so that's not too bad.
only 8 entries
The variants aren't separated
can you do an OR with two separate tokens on a when condition in CP?
or do you just mean make it only check for mastery
not mastery or friendship
(also can CP tokens even check mastery)
oh no i was thinking like
i just check for anvil recipe 
i think u can do stat tho
not with CP
but i forgor why i went for anvil recipe
you'd need esca's mod to add a Stat token
anvil recipe it is then
Because it's another mastery reward, I guess?
You know how we had that one code block to set every vanilla NPC to be false for WinterStarGiftParticipants? Could do a similar code to hit all the trinkets at once.
i dont know how, no
we absolutely had one, it's in this or the NPC thread
but if u need other C# stuff in ur mod anyways
i mean im not doubting you did im just saying i dont remember/know it
u can just do smth about CanSpawnTrinket
patching every single trinket and also not accounting for modded ones doesnt seem like a very good solution to me personally
but it is not my mod
where would i write CanSpawnTrinket f.stats.Get("trinketSlots") != 0
CanSpawnTrinket is a method
ok
you can suffix patch it to check for something besides trinketSlots
I don't know how to do C#, I only know CP
definitely got to crawl before i can walk lol
i'd say u worry about CanSpawnTrinket rules later 
to unlock the slot u just gotta do Game1.player.stats.Set("trinketSlots", 1);
either in ur C# mod or through BETAS
or with a trigger action
is stat up a vanilla action
ah nice thats all then 
Yeah I said that as soon as you confirmed it's just a stat check, lol... it's a 5-line JSON.
Obviously would massively break early game balance without additional work, but that's the starting point.
do u have anywhere to reference that for JSON
i think it'd be fun if u just
straight up banned all vanilla trinkets from random drop
and reassign them to villagers
maybe jas gifts u a fairy box is u gift her a fairy rose at 10 hearts 
Interesting idea, but then you'd also need a different progression system for trinket tiers.
the anvil's still locked behind mastery yea
unfortunately i think vanilla trinkets all spawn with random level 
Eh, I've never used anvil at all, just kill a bunch of enemies until the high-level trinket drops.
Yeah, anvil too expensive
The anvil mechanic could use some work - having it be RNG-based is bleh.
That's fair, I would pay the price if it wasn't random
can you help me with this?
unfortunately i didnt do anything about that in trinket tinker either 
besides making it impossible to roll the same level cus thats dum
thank u so much
^ that's the page I was trying to dig up but couldn't find in time.
ok
Well I wouldn't have expected it to, since it's a framework for adding new trinkets, not an overhaul of the vanilla game mechanics.
can Level cap be expanded with CP or do u need C#?
level cap?
each stat/skill is capped at 10
Surprisingly, a Nexus search doesn't turn up any anvil mods. I guess late-game mechanics don't get a ton of attention.
thats a whole other mod
Uncapping player level seems like the kind of thing that you'd be better off writing a new game instead
Oof, you don't need a little C# for that either, you'd need to patch hundreds or even thousands of call sites.
definitely C#, but i think there's skill prestige that let u go to 20?
level extender used to exist, but not for a long time
or was it some other name
(And how many mods out there assume 10 levels? Probably also hundreds)
For some reason I thought prestige was 100 lol
the usual approach to like
spacecore at least assumes 10 hahah, i wouldn't screw with skills when custom skills exist
oh Skill Prestige is just for resetting to get additional professions
oh ok
New skills or special quests are both OK progression mechanics.
its less about design and more about not exploding everyone else's mod
Careful of skill bloat, though, you don't want Rune Factory's "you have researched breathing" meme bait.
lol
or do u...
Level Extender is the one that bumps all the skills up to 100
But it's pretty out of date
love of respiration
Depends if you're the participation-trophy sort, I guess.
try and stop me from making the Love of Looking with xp gains for moving the camera
skil icon: 
Love of walking?
thats traveling
Love of Booking, you have a day job where you book vacation trips for people
Love of PCB layout
How about... love of menuing, where you get XP for every second spent in menus.
I dare you
love of labview
Leave game on pause for 14 hours = instant mastery
No one loves labview
I spent an entire day between Sunday and today debugging stupid type errors
You know, the ones you usually want to throw up an error, not quietly do nothing
My mod dev save would be at level int.MaxValue
So you say, but I'm starting to think Labview is like Joker to your Batman. You'd wither and die without your nemesis.
Honestly, my thought was:
Love of Not Playing = gain XP by not playing the game
Ah, but there's the gimmick - it overflows! So if you spend too much time in menus, you have to start over.
Idle Valley, LOL
anyone know if event lookup's ui sprites are loaded into some target
Makes sense to me, it's consistent with the sort of unlock mechanic seen in other games.
why r these sprites custom anyways 
I did enjoy TWEWY's gimmick of "you haven't played in a while, welcome back and here's upgrades to all your pins!"
is the The Love of going to be the new Better Immersive
Stanley Parable did it first. https://steamdb.info/app/221910/stats/
The Love of Better Immersive
The Love of Transmission Lines
The love of better immersive overhauled redux revamped expanded improved
Better Love of Breathing Overhaul Revisited
i don't think Stanley parable was the first idle game
The Love of Water Towers
Remastered
Remixed and Remastered
thank u everyone for ur input, im gonna get started.
It's not an idle game. Idle games still run. Stanley Parable is don't play for five years. Don't even start the game. Just... go outside.
So it wins at "Love of Not Playing"
Okay
you dont typically have to have an idle game open to earn
atra haven't you knit anything to stay warm
did u find any grass
Touching the frozen grass?
seek warm chocolate drink
I'm about to seek toasty warm bed
id recommend keeping the toasty warm bed inside instead but i wont tell you what to do
This is exactly why user #1 needs running gloves
Updating TakeItSlow, running into a problem with ItemStockInformation, wondering if anyone can lend a hand
Failed loading type 'StardewValley.ItemStockInformation': TypeLoadException: Could not load type 'StardewValley.ItemStockInformation' from assembly 'TakeItSlow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' due to value type mismatch.
at TakeItSlow.ModEntry.OnMenuChanged(Object sender, MenuChangedEventArgs e)```
The code and error in question
It's been so long since I cracked this open I'm having trouble figuring this out lol
I remember looking at that for the Krobus mod, I think itemPriceAndStock used to just have integers as the value instead of ItemStockInformation.
Although I think there's something missing from this example. Like some issue with dependencies. It's not the code itself.
Like, why is it trying to load StardewValley.ItemStockInformation from the TakeItSlow assembly instead of the StardewValley assembly? There's some broken reflection involved here, I think.
How do i go about debugging that
At the moment it's not even clear how or when you're encountering the error - you posted the error but not the repro steps, full stack trace, SMAPI log, etc.
this ItemStockInformation thing changed types
if u just rebuild against 1.6.14 it'll work i think
i'll give it a shot
Yeah, it sounds like either a bad dependency or bad reflection, although the error is misleading in that case.
for IncrementStat <stat key> [amount] where is the reference for what each stat key is
i cant find combat on there
combat is a skill, not a stat
o
stats are arbitrary counters like trinket slots and steps walked
are you trying to increment combat skill level or something?
this, supposedly
ok
trinketSlots
IncrementStat <stat key> [amount] would then be IncrementStat trinketSlots 1, assuming
looks good to me 
ok
if i wanted to trigger this then...
or actually
i think i can just make it an action
hmm
https://stardewvalleywiki.com/Modding:Trigger_actions#Elsewhere a couple examples here for where you can use trigger actions
sorry if this is a dumb question but which of these in npcnames is the one thats displayed under them in dialogue?
or is it a different area of the code entirely
i assume the first is what theyre reffered to to be called internally and then the second is what it says under their portrait
no such thing as a dumb question
but i just wanna make sure
I'd think it'd be in their disposition
one sec
their Data/Characters entry just points to this file iirc
yeah i found it from looking there because thats where i initially assumed it i would find it
oh well technically it is in there 
is there a concise list of Item IDs anywhere, esp for 1.6 items?
I use this list https://mateusaquino.github.io/stardewids/
if you want up-to-date game data, it's best to unpack the game content
or alternatively, patch export data/objects from the SMAPI console in a loaded save
though that'll give parsed item data, not source
i unpacked it with the .exe
!springobjects
Most vanilla object sprites are in the Maps/springobjects asset. See a table of springobject sprites by index.
Some newer object sprites are in TileSheets\Objects_2. You can check the entry in Data/Objects to see where its sprite is stored; SpriteIndex is the position, and Texture is the asset name (defaulting to Maps/springobjects).
im trying to use the modder's guide on the wiki in conjunction with looking at other mods to understand how this shit works, what is configschema and how is it different than modconfig
well modconfig isnt like. real
that a class you make but
ConfigSchema is the content patcher format you use to specify what your config options should be
if you're making a CP mod
ty!
it is also on its nexus page
why couldnt my content pack load
said content pack must specify the Changes or CustomLocations fields..
`{
"Format": "2.4.4",
"Actions": [
"IncrementStat trinketslots 1",
"AddItem (TR)FairyBox"
]
}`
you need to read the content patcher author guide i linked a few messages above and the trigger actions page that was sent to you earlier
ok
you need to format a content patcher mod a certain way and trigger actions need to be edited and formatted a certain way to match what the game expects too
thanks. i gotta be more patient lol
i got it
Akai asking my question may help answer yours : ) --- I have the following code which sends a letter at 8 hearts: { "Action": "EditData", "Target": "Data/TriggerActions", "Entries": { "sdvhead.LawAndOrderSV_Russell_Mail_8heart": { "Id": "sdvhead.LawAndOrderSV_Russell_Mail_8heart", "Trigger": "DayEnding", "Condition": "PLAYER_FRIENDSHIP_POINTS Current Russell 2002", "Actions": [ "AddMail Current sdvhead.LawAndOrderSV_RussellClinic", ] } } },
I want to add a condition that the player has also seen an event, can someone help with that? The examples I see on the wiki all have only one condition
and @elfin stirrup here is a resource to help get you started: https://stardewvalleywiki.com/Modding:Mail_data
and actually I think I figured out my own question about adding a condition, I can just do it further down with a "when" after "entries" instead of putting multiple conditions in the triggeraction
I think you just need a comma between conditions
And the game state queries wiki page should have the wording needed for that specific condition
unrelated question (i'm knocking things off my checklist here) : ) ---- I have an event near Jodi's house, and I have the viewport set at (10,88) which is very far left, often resulting in a blacked out portion of the screen on the left. Is there like a 'minimum x' i should use or other way to force the viewframe not to leave the map?
well i know how to add mail, but i dont know how to create a message in the mail. its just blank at the mail box
Not that I know of. People keep their zoom levels at different values, so it's hard to account for that. Personally I just keep my zoom at 100% for testing, use that to choose my center, and hope for the best lol
you need to create an entry in Data\Mail, for example "Action": "EditData", "Target": "Data/Mail", "Entries": { "sdvhead.LawAndOrderSV_RussellClinic": "{{i18n:Events.239791004.Mail1}}", }, in this case I store the text of the letter in my i18n file, check the wiki i linked for more info
OK thank you
Hmmmm I probably need a few more events before I can be done with my mod... one NPC has heart events at 2 / 4/ 6 / 8, and the other at 2 / 6/ 8 / 10. So one is missing a 'dating' event and neither have 14heart marriage events
thanks
anyone know mods that add their own new mines-like areas? only thing i can think of is deep woods
wanna look into making my own combat zones
gem isles too i suppose
!vmv has one but not randomized
Visit Mount Vapius (https://www.nexusmods.com/stardewvalley/mods/9600) is an expansion mod that adds a new region in the mountains. Accessible by train, you'll enter the hamlet of Glimsap, with its tight-knit group of villagers, that holds a market twice a week. You'll get to explore new places, fight monsters, get new crops and forage, trade local coins for exclusive goods, and complete tasks to unlock special items, including machines, buildings, and animals.
look at Sword and Sorcery who is using spacecore dungeon feature for a randomised one
i suppose it's the kind of thing that just needs to be done via custom code eh
ah is it? rad
thanks
there are some ways to randomize with just CP but it's obviously more simple
yeah this looks like it might be the sort of thing i want to see as an example, cool. thanks
never did dig deep into that mod yet, wasn't even aware it had that
Im having troubled properly converting CP-A mods
when i convert the mod nothing changed, stuff still isnt animated
Imma go look at that, going to store that information for the later day!!!
Like stuff on the maps?
I'm a beginner in mod creation.
I want to replace the portrait of a custom NPC with a high-resolution portrait, but I don't know how.
i think you would need something like portraiture for that?
🤔 unless there's something else that can support high def portraits
I tried putting it in the portraiture mod folder, but it didn't change, so I don't know what to do...
are you sure it's named correctly?
Both png files have the same name.
ok, can you show where you're putting these pngs?
C:\Program Files (x86)\Steam\steamapps\common\Stardew Valley\Mods\Portraiture\Portraits\mycharacter
is "mycharacter" a folder, or the png
Sorry, it's a folder.
It contains the files I want to replace.
and you hit P to change the portraits, right?
When I press P in-game, the folder name changes, but the portrait remains the same.
Idea: a website where you can make a outfit then you import that preset of equiped clothing items into stardew somehow...
SpaceCore and Scale Up 2 also offer ways to replace portraits in a targeted manner, through CP
thank you! i will try!
Excuse me,
I am using "Space Core" to make HD portraits (because I want to switch HD portraits of NPCS after the event). I've been working on it for a long time and found that only the first emoji works properly, all the others will have problems.
Is there any way to solve it
Quick question: Is there a way to add exceptions to Event Limiter without adding it as a dependency?
Your source and target only cover the first emote, need to change it to the whole image I think
Not sure why they cjb cheat menu has mod 
Ah, I wrote the cjb menu wrong! Thanks. I'll try
imagine making a mod that makes npcs react if you have certain mods? like cjb cheat menu
doki doki library club much?
Have you actually done this? I'm not having any luck lol
This is not what I had in mind! T T
I'm not sure SpaceCore is designed to handle the whole portrait at once
The purpose of TextureOverrides in the first place is for animations
The cramming a bigger image into a smaller space was only added recently, so might still need further tweaks
on the bright side the right portrait is full in the frame, so I would say it is an advance
You can use Scale Up 2, I was hoping to at least create an example of doing this with SpaceCore but I'm not about to target every frame
T T Thanks. I'll try
I originally used “HD Portrait”, but it hasn't been updated in a while🥲
Yeah unfort
Hm when you changed the source rect did you also change the target
In my experience, when you make the target rect bigger than 64x64 it just stops working entirely
Yeah worth a shot 
Right!! I tried but he stopped working instead

chase doesn't have an understandable tutorial to use this spacecore functionality yet?
It's ok content patcher 2.5.0 will take care of it
Casey has been working on documentation, but it's slow going
With the local tokens
I see
I think this isn't technically a new feature?
Cramming bigger images into a smaller space is
But texture override in general isn't
Yeah just extended
That said, Casey's base readme leaves a lot to be desired vis a vis examples lol
Hence why I was trying to make one
🤔 ive got a weird question about crops, i wanted to make rice regrow, but all the other regrowable crops extend into where the giant cauli is..
i dont think i should accidentally chop into it...
and additionally, i can't find a page on how to add furniture via CP? if anyone knows how, pls let me know.. >.<
i think you can just add a new "fully grown but harvested" sprite to the right of the harvestable rice just fine?
unless regrowable crops are hardcoded to use like. the 8th sprite instead of just +1 on the harvestable sprite index
This tutorial explains how to add custom furniture using the new 1.6 game update features and Content Patcher. The tutorial assumes you already have the game unpacked and that you have some basic familiarity with the Content Patcher format. The mods referenced as examples in this tutorial are Bonsai Trees (formerly Bonsai Trees for DGA) and Magi...
ooh thanks
as far as i'm aware u can making a custom sprite for the rice crop and use it instead
was looking on the wrong wiki
the crop info is here, but I'm still not sure how RegrowDays chooses the sprite 
https://stardewvalleywiki.com/Modding:Crop_data
yeah to replace vanilla rice you'd have to patch Data/Crops and change it's texture
alright i could probably do that easier XD
and it's probably one of those text operation things so not Super intuitive 
Crops is a proper model
after spending way too long in npc gift tastes, i still dunno what text operations do
i just know how to add stuff to it
😔
ah, yeah it'd just be a targetfield
i'm confusing that with text operations bc i was fiddling with them at the same-ish time
so like,
"TargetField":["273","Texture"] to hit the rice texture? i think?
wait no not that far
just "TargetField":["273"] ?
You could just use Fields for this
oh yeah i forgot that exists
"Target": "Data/Crops",
"Fields": {
"273": {
"Texture": ""
}
}
Using CP or/and JA, is it possible to change the name of Vanilla Items and add a recipe for crafting it, assuming it was not a craftable item before?
Fully possible with CP
Does anyone know how to import this farm: https://www.nexusmods.com/stardewvalley/mods/6450 into Stardew Planner V3?
I tried uploading an exported image and the TMX itself just to check, and... it doesn't seem to work with either option for me! Seems to be just bugged right now for that.
For my custom shop, i put this tile data down in actions: OpenShop StarKOdoll_CustomGuomys Right 1100 2000, Though im not sure if this is correct?
Got a weird bug if anyone's available to help? I'm making a custom wedding mod with temp map locations and 5 of the 7 are working perfectly fine but 2 are moving the farmer down one tile for some reason
The code doesn't change, I just swap out the co-ordinates via dynamic tokens depending on the config/map, and I've confirmed all the co-ordinates are correct
The particularly weird thing is that I'm using queries to adjust everyone's event co-ordinates in sync with the farmer's, and they're in the correct positions on those two maps but the farmer isn't
which are the two maps? they might have some wacky player position code in them
I used the desert and Flower Dance maps as a base for them
Might also be because I extended them up & to the left when creating them?
i'm not sure what the bug is but i did see your viewport is -1000 -100 which may be intended to be -1000 -1000, and you have a warp [SpouseActor] 28 6 in there which does not seem right
(i don't think the 100/1000 one matters, really; i only know -1000 -1000 is the magic "don't render stuff" position. -100 is still safely way off screen)
They're both copied from the original wedding event code
But I'll fix those up, thanks
fair! i haven't looked at that in some time
With this, is there player position code embedded into the map metadata or whatever the term is?
i mean in the C# code for the location; Desert i know has all the bus stuff hardcoded into it so i suspected it was one of the problem areas 
Ah, so it wouldn't affect things for a temp map?
that i don't know, sorry. if the temp map still ends up using the Locations.Desert class then it might use special player position behavior (if any of it would even cause this. i'm mostly spitballing)
Hm, that could make sense if it's trying to move the player down one like when getting off the bus 
more or less what i was thinking of!
Aha, it does have LocationContext Desert in the metadata, I'll try changing that
No luck 

Is it harder to use the outdated shoptiled framework, or used the 1.6 content patcher thingy.
Definitely use the CP shopdata stuff imo, outdated mods can't be expected to continue support indefinitely, and there's more current documentation for CP
i never used shop tile framework. i would not use it now, since it's no longer useful
But which one is simpler tbh?
i find CP simpler, but each person is different, even twins
Okay, Ichor, apparently 33 13 on the desert map is just a cursed tile
No idea what the hell is going wrong, but the farmer does not want to stand on it. I ended up just shifting the entire ceremony down a tile 
i'm glad you found a working solution, but what the actual hell (i couldn't find anything to go on)
Can we find more cursed tiles
The one with current mods to reference, future support from the dev, and documentation that's up to date with the current game version.
So it requires less coding knowhow? Understood
i opened up vanilla Desert thinking that might correspond to the special tile between the pillars, but no such luck (that one is 37 11)
Where in the CP shop data I am supposed to put the coordinates the shop is in?
you put a tile property on the map to do that
(buildings layer): Action|OpenShop YourShopId (one more edit for clarity: don't put the <> brackets in)
We love you CA. Never change
ichor's secret notes framework is so tasty :3
ooh are you getting up to mischief with it?
less mischievous than my usual chaos, but yesh :3
its so good to add more lore into sdv
is there any sort of way to quickly trigger a mod and check if it works
eg. calling a line of dialogue or checking if a spritesheet functions
Kath is collecting frameworks for pdw like a pokedex
!patchexport for example
A patch export makes a copy of specific stuff in your content folder so you can see what changes have been applied.
patch export <FILEPATHOFTHING> in the SMAPI console and hit returnpatch export folder in the game folder for the relevant json file or imageif it adds objects, you can use the item spawner mod to check if the item is present
There's no generic answer here, but first make a smaller testing mod profile
https://stardewmodding.wiki.gg/wiki/Recommendations:_Playtesting_as_a_Modder here's a list of recs
So that it reload faster and u don't mess up ur save
Is Spacecore Animations still broken for vanilla objects or am I just screwing up my code somehow?
My code: { "LogName": "Earth Balloon_A", "Action": "EditData", "Target": "spacechase0.SpaceCore/TextureOverrides", "Entries": { "Earth Obelisk": { "TargetTexture": "{{InternalAssetKey: assets/animation/Earth Obelisk.png}}", "TargetRect": { "X": 0, "Y": 0, "Width": 48, "Height": 128 }, "SourceTexture": "{{InternalAssetKey: assets/animation/Earth Obelisk.png}}:0..24@5", }, }, "When": { "Earth Obelisk": true, "Animation": true } },
(and yes, the config options are both enabled)
Your target texture shouls be like buildings/earthmumvle
I tried that and it told me it couldn't convert it to a path
But I'll try again and drop the exact error if it pops again
earthmumvle
Gosh I finally have time to finish my meowmere mod
...okay, not sure why, but the animation is working now but it really made SinZ's Several Spouse Spots mad at me when I patch reloaded just the HotAirBalloons mod.
Gonna exit and reopen in case it was a patch reload oddity
yep, patch reload oddity, since it doesn't throw the angry error from Several Spouse Spots if I just load up and build the obelisk again.
Weird.
thank uu
Is the Introduction conversation topic valid for things like the PLAYER_HAS_CONVERSATION_TOPIC GSQ?
It's an animated overrid
instead u can do draw layer
I got seven full hours of sleep!!!
Doesn't seem like it
if you get a good night's sleep and don't wear your fitness tracker does it even count
Honest to God I thought that just spun a texture
my chimkins need feeding selph
I did indeed... Gotta catch 'em all 
But the secret notes framework I am using it in another mod :3
Does the Calico Desert Festival only happen if the Bus is fixed?
I'm assuming that's a requirement that would need to be forcefully changed through either Harmony?
I will hack this code apart with my Iridium Axe.
do u expect to path the whole village to the festival on foot 
They will all take umbrellas like Mary Poppins.
poor George/Evelyn
We will do it like they did in the olden days.
~~maybe Alex can carry them there, one on each arm
~~
They could always drive the various vehicles that lie around the area.
(Isn't this mostly controlled by gsq)
gsq?
https://stardewvalleywiki.com/Modding:Game_state_queries
in this case the desert festival is controlled by the LOCATION_ACCESSIBLE gsq
so you can presumably just change the condition on the desert festival in Data/PassiveFestivals
I has question:
Adding in some Fish entry to Default in Data/Locations adds it in all locations?
Oui
I don't know how that works in this case, as the obelisk is a balloon that is constantly floating up and down, rather than there being any static element like the mill that just has one animated element on top.
I am converting a CPA mod for personal use, Spacecore seemed the least mentally taxing to make it work since I already have it on one of my saves
You can have a giant block of animation with transparent tiles
Is there a souls like mod to stardew valley ?
you want to ask in #modded-stardew
Ok thanks ❤️
Is it possible to hide the farmer's shadow during an event? HideShadow seems to work only for NPCs
Me: why this item not loading?
Also me: forgets to actually load in the json...
this shadow is ruining the vibe 
There isn't a way I know of offhand, but what about swapping their positions so the NPC hides it?
actually I was just thinking I'll try warping the farmer several tiles away and giving them a huge offset... wish me luck
I has another question:
To target the dialogue for the travelling merchant would it go like "TargetField": [ "Traveler", "Owners", "AnyOrNone", "Default", "RandomDialogue" ],
Or did I go too far o-o?
Shop Owners always confuse me ><
I do this often 🤧😂
Question, do I need to do the appearance in the dispos of my custom npc if I do not have seperate outfits?
If you only have one set of portraits/sprites you should just need a regular load, so no
Appearance is optional, technically you could achieve the same thing with some insane separate edits lol
Ok, and then I can also make stuff based on a configurable thing right? Like using GMC to allow a user to switch between two sprite sets right?
can i change the appearance of like a building on certain times or days? for example putting up a closed sign or something. (please ping.)
dang positionOffset takes the shadow with it
is there a wiki post on how to do config schema?
Easiest way I can think of to have the config affect the sprite would just be to have it affect which sprite it's loading
Though I think that method would require restarting the day or sleeping
or a quicker updaterate
Yeah I just wanted to make sure I knew what I was doing was correct lol. Need to do some updating for other mods and I kinda forgot how to do the config schema in content patcher
Yeah, I always try to avoid high update rates lol
I should have listened to you the first time, thank you for the suggestion
You went one too far
Try to stop on the level before your key, which in this case, is RandomDialogue
Oh 😮 thanky
RandomDialogue (when there are entries and it's not null) is a list, though, so unless you're trying to completely replace it, you may be better off appending entries to it.
o-o
What specifically are you targeting in the Travelling shop setup?
just adding some dialogue to the random dialogue for immersion that the travelling shop has goods from this other region
(AnyOrNone is a Name, not an ID, so I'm not sure your setup is targeting what you think it will right now)
tis the last id under Owners for ze Traveler shop... I believe
Unless I am reading it wrong
ah, that one
I was looking at Default / down one more level
Are you trying to add stuff where I have "HERE" highlighted?
yesh :3
Okay, so you'll probably want to TextOperations Append to that RandomDialogue list, I think
Imma try that then
If the lines had their own keys, you would be able to just add Entries, but since they don't, AFAIK you'd have to append to the comma-delimited list to avoid overwriting what's already there.
(If I'm wrong, I'm sure someone will correct me)
Glad it worked! 
-> Merchant please say the line so I can test it
you can actually just add them like you would normal entries
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/action-editdata.md#edit-object-context-tags
this example is for context tags but it'll be the same here, theyre both just lists of strings
(your content patcher format has to be at least... 2.3.0 i think? it might be 2.2.0 but i think its 2.3.0)
(i also dont think textoperations is even applicable here anyway)
Can I replace in-game item textures for wines and jellies yet or no.
you can, check tilesheets/objects_2
you can see the base sprite and the color overlay
if you meant BAGI style where every flavor gets its own sprite, then no, still need BAGI for that
I dream about spritepatcher
same
what does spritepatcher do
it patches sprites
an unreleased mod that basically allows content pack mods to programatically modify draw codes of almost every entity in the game
possibilities including but not limited to "tiny icon of the pickle's base item in the corner", "draw the current item being processed inside a machine", and some other cool stuff
draw the current item being processed inside a machine
i had dreamed of this mod
anyone know what the soundbank ID is for the 'jump' sound?
Oh wait, BAGI can do that?
That's the one thing BAGI is for.
I thought it was only capable of doing the little fruits over icons.
Each flavor also has it's on texture and the little icons can be disabled.
I keep thinking about how much I need it, but then looking at my current modding backlog, and realizing that I wouldnt have even been able to make a sprite pack even if it was a working mod
I screwed up...but I don't know where I screwed up...https://smapi.io/log/3854d52aad6544768e1dfa14ea9f14e5
I'm trying to get my NPC to load. Idk if it's because I was stupid and forgot to create the map for the home location or if something else happened...But I'm following the tutorial by Tiakal...
Log Info: SMAPI 4.1.8 with SDV 1.6.14 build 24317 on Microsoft Windows 10 Enterprise, with 11 C# mods and 1 content packs.
If the home location you set doesn't exist (e.g., you didn't load in the custom map) the NPC will cease to exist, yeah.
Try setting home to a vanilla location.
If that fails, I have some other notes at the bottom of the tutorial but generally it's an issue with a failed load
that error has to do with the portraits though
I'm currently writing the json to load in the hom local. I'm just concerned by the FileNotFoundException: Could not find file 'C:\SteamLibrary\steamapps\common\Stardew Valley\Content\Portraits\n3rdgirl.GlitchFarmer_Glitch.xnb'.
Check your load patch
Could be a typo, could be a missing file, could be loading to the wrong place
?
check where you're loading your portraits
Imma dumbass
THERE'S AN "S"
AND I FORGOT THE S
so I was loading into Portrait/{{ModID}}_Glitch instead of Portraits/{{ModID}}_Glitch
fml
Yep, that'd do it
You found yours significantly quicker than I found mine with Wren 
ok... let's say I add a new item with the ID name MaxRW.ModName_ItemName.
How can I summon the item with SMAPI console? using player_add MaxRW.ModName_ItemName 1 returns There is no item with the qualified ID MaxRW.ModName_ItemName
I just exported the data where it should be put and it shows up there
I have each of my patches done in separate json files for testing reasons XD Some things will stay separate but some will be put into the content.json once I am ready.
Do you have to preface it with (O)?
so player_add (O)MaxRW.ModName_ItemName 1?
Yeah, since it's asking for a qualified ID I thought it might need the prefix.
ok, it worked
(I am assuming it's an object and not like clothing or a craftables or something)
now I have a new error lol
it is a BigCraftable, so I used (BC). and I got the idea
I usually switch qualified with unqualified IDs sometimes...
now I need to take care of the texture
also it should be a chest, but it doesn't have chest interaction. Any direction to what I need to add to it work as a chest?
I see. So chests require hard code
yeh
any example for the wee bit of harmony?
I swan through some chests mods in nexus, but or they were predated or just new textures through AT
those would be either Expanded Storage or AT
if you don't mind an additional dependency I'd just use XS tbh
why do it from scratch when someone else already did it for you
because I want to do both
It will be part of my spoilage mod, a built-in cooler-chest that one can use like a minifridge outside the farm
and if anyone is using the Ice Cooler already in the 6480 Variety Mod (and thus already using the Expanded Storage), the Ice Cooler will act like this
my take is just make a built-in option to people that don't want to have more requirements
I will take a look at XS code. thanks you both 
Ok I now have a new issue. The locked doors aren't working for the npc. I have a TileData with Action LockedDoor Warp 8 5 n3rdgirl.GlitchFarmer_GlitchAttic 600 2600 n3rdgirl.GlitchFarmer_Glitch 500 but it's not showing anything, and when cheating the hearts to at least 2 it still doesn't work.
LockedDoorWarp is one word
That would do it...
Now just to make sure the npc spawns in the bedroom and not the main floor lol
BUT HE LIVES
ugh can't get my book to book
how hard was relearning mods from 1.5 to 1.6 for you guys?
for those that made them pre 1.6 ofc
Does anyone know if using folders under i18n requires that the same translation key belong to the same filename?
Wondering if it's possible to do something like:
i18n/
default/
config.json
ui.json
...
es/all.json
fr/all.json
So translated text is still a single file, but the default is broken up a bit.
That should work fine
My question is what's the use-case for that?
for content pack stuff, really easy, in fact its a ton easier now because you just need to learn cp format, prior to that I remember having to look up the modding guides for every single random framework and figure out whats going wrong with each one
have you done any c# modding at all? I'm just curious
I meant c#
it's late
Not me
I updated some old c# mods. It's mostly some things on pre 1.6 are usually easier to do 1.6+
might have to renew my rider ide subscription and rewrite mine
Rider is free for non commercial use now
the changes are lots, but very localised and more intuitive too
it is??? amazing thank you
I remember checking on the wiki 1.6 modding updates page for a while before 1.6 came out and watchingt the changes pile up lol
frameworks were the ones that got the harder hit
fair. I have a suspicion the mod I'm looking to update might have been helped by the changes so I'll check that out later
ok, now I have a new item through cp with right textures. Now to find how to to make a item to act as a chest in the code... 
good luck!
If you're willing to depend on Expanded Storage, then it's simply a matter of adding a few custom fields to your existing CP to have them be created as chests
It's literally:
{
"YourObject.Id": {
// Existing code
"CustomFields": {
"furyx639.ExpandedStorage/Enabled": "true"
}
}
}
I will book the book later so I can get it to set the power >->
Modding > getting ready for family party 
I have a better idea to use Expanded Storage: create integration with 6480 Storage Variety
I am just first trying to create a new chest from scratch
If you're trying to create a new chest from scratch without using Expanded Storage, you'd essentially have to do the same 17 or so patches that I'm already doing or they won't work correctly:
https://github.com/LeFauxMatt/StardewMods/blob/develop/ExpandedStorage/Framework/Services/ModPatches.cs
^
(just to clarify I dont mean this to be discouraging!)
I am currently reading it and it is being an interesting lecture
I am just interested in know how containers work, and doing crazy things like this is my way to fun learning
thanks a lot. I may give a try to make a custom chest with XS later just to test it
I found the first transpiler and so that's it
I will delegate it to sorcery
(I will say that updating mods to 1.6, even c#, is pretty straightforward.)
Depending on how bad your transpjler addiction was, it may even be easy!
Also I'm very much team "I'll do it myself" which may explain why my mods do not work on 1.6 because I'm lazy
yeap, no. One day I will learn to read IL. I had my days with assembler and hex already though
and I just don't want to copy 17 patches without understand what they are doing
IL pretty readable tbh
I don't doubt. I just don't want to learn right now
I am yet learning some c# things
I think the bigger reason to use a framework is so that u don't double up on the patches
I agree
but as someone that feel like needing control of what I am doing, CP is already sorcery to me because I don't understand the mechanics behind, and yet it works
But if I was gonna do this custom storage thing in lazy way I'd probably just make the big object secretly hold a (BC)130 chest and do a little bit of spaget to open said chest
transpilers and IL are deep magic in comparison
Dependencies are also just a bit scary to commit to, like what if x updates or months later the framework breaks and isn't updated, but you want to continue work? I'd rather do more myself than worry about needing to do it later in a way
I would yet need to differentiate if an item is in a normal chest or in my 'chest' for what I want to do
I was all good until finding minifridges can't be put outside of farmhouse
Yeah, what if the dependency is as flaky as I am?
Wouldn't want to be as flaky as a...
Then I fork u atra
Dude that is a map property

AllowFridge or smth
Just patch every location
are you suggesting me to make my spoilage mod to change the map property of all loaded maps just to let the player use minifridges as chests?
because I like it
if (!fridgeallowed)
fridgeallowed
simples
sorry for pinging you. I am studying the 6480's Storage Variety now.
if a container is marked a "isFridge": "true", it doesn't make them unable to be put outside too, right?
thinking better, I will just test it. sorry again
Hey, does anybody have any advice for converting a shop tile framework mod to content patcher for personal use?
!convert
A lot of converter tools have been made by helpful members of the community to update outdated mods or convert existing mods to modern or alternative frameworks, and for 1.6. Here's a list:
Oh wow thank you!! That is super helpful
Mostly out of curiosity, how feasible would it be to make a mod that makes Lewis and The Player shake hands during the Intro Cutscene? I imagine it would require a custom animation (unless there is already a handshake animation somewhere) and modifications to the cutscene to insert the animation, right?
i havent actually watched the intro cutscene in forever so i dont even remember lewis being there but the cutscene is a Minigame and not an event so its not something you can touch without C#
Probably mean the event that happens before your first day where Lewis and Robin show you your house
is that an event-event? i havent seen that in forever either lmao
Not sure, I assume it's an event, it's skippable
Ye, I mean the skipable cutscene/whatever where Lewis and Robin show your house
i dont see any references to lewis in Data/Events/Farm or Data/Events/FarmHouse so if its an event idk where itd be
Seems like it's on BusStop
But yeah, I mean, creating a custom handshake animation and inserting it into the event wouldn't be impossible
That would make sense since it begins when you get off the bus from the city
Eh, I would have assumed you would just start in the farmhouse, since there's no reason to place the player at the bus stop before the game even begins
Events frequently trigger in places they aren't actually in and also move to other locations, it's all faked so it doesn't really matter
IDK, that uncertain primate fellow is a strange one sometimes. It does at least make narrative sense if not technical sense ¯_(ツ)_/¯
Events usually start during the screen fade right?
im not sure anymore bc i feel like i have both memories of walking into an area and immediately being in an event and also memories of walking into an area, loading in, then seeing another fade to black for an event
so im not a reliable person to ask
you don't have character control until the first day has started, after reaching Stardew Valley and being introduced to Lewis and Robin
if I remember it right Lewis takes the farmer on the Bus Stop and brings them to the farm where Robin is looking at the cabin
not sure when the minigame ends and the event starts though
event starts with you getting off the bus
Has anyone figured out why npcs water walk and freeze in place and how to stop them doing that
Usually means something is wrong with their pathfinding
Hey @brave fable! Passing along a bug report for the current version of LoC and how it uses Better Crafting's API. IRecipe.CraftingRecipe is potentially null and you're using it without a null check in the PostCraft event handler here: https://github.com/b-b-blueberry/CooksAssistant/blob/master/LoveOfCooking/Interface/Interfaces.cs#L121
It's nullable since people can theoretically add crafting recipes to BC that aren't based on vanilla crafting at all, like my add-on for it to craft buildings. But it's a nice easy fix at least. 😄
The Lewis part would be pretty easy (admittedly it wouldn't be compatible with any mods that change his sprite unless you added compat yourself) but iirc the farmer doesn't have a handshake animation and farmer animations are definitely C# (and probably a nightmare)
Honestly if I was doing something like that I'd just use some trickery and put the moving part of the farmer's handshake on Lewis's sprite and have them close enough together that you can't tell it's Lewis's sprite adding the farmer handshake
(You'd also probably need a few variants to cover skintone and I'm not sure if there's a non-C# way to reach that though. I suppose you could make it a config?)
(just make them hug EZ)
I"d just chose the farmer's frame that had the closest to a handshake position.
Is there a way to pop up an image during an event?
maybr frame 34 or 35? Although the feet may be a little weird , the hand's in the right place, approx.
then use positionoffset to make them kiss hug shake
The easiest way is to utilize a temp map. Ark has a tutorial for that on the modding wiki!
(assuming you mean a whole image superimposed and not like the world map or something)
Could do some manga style action pop up of a handshake
Just move them close and fake it til you make it
That is downright disturbing to see in a loop.
If you stare at it long enough, the POV hand loses meaning and it just looks like she's stabbing you
any updates by chance?
ok, I have issues to report to Faux that I don't even know how to start
Oh my another math person
it is past midnight here, but I finally have a working fridge chest that only depends on Expanded Storage
do you know what Math Persons are good on?
multiply
Huh, a prismatic shard
sorry for very belated reply but ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ salmence's vid shouting me out prompted me to check back in because im feeling v over the moon so i went and checked if there had been any chatter in this server about my mod... all my stuff is absolutely CC-BY so if I ever disappear permanently either thru falling out of love w/ stardew or life getting in the way in some form or another, you have my explicit permission to "keep circulating the tapes" so to speak, and to improve upon it as you see fit
Since @tawny ore is reading here, I will just throw the issues:
As reported on the forum in the Expanded Storage page, Better Chests overwrites 6480's custom chests storage and other configs, making them work as a default chest under it's control.
To avoid this and keeping things config-lite, I decided to complete my mod without requiring Better Chests, and so I discovered the Expanded Storage isFridge property is, in reality, Better Chests dependent.
What is more strange is that, if one has Better Chests installed, put the custom chest on a map (or has the custom chest on a map while Better Chests is installed), and so uninstalls it, the isFridge property keeps working after that. But if one never installs Better Chests, the isFridge property does nothing.
To circumvent it I added a context tag in my custom chest and made my spoilage to check for it in addition to checking if the chest is a fridge, and it worked very well. But yet, things to be saw.
I will format it better and put in the mod's page once I have my brain fully functional again
That... doesn't sound right. Better Chests doesn't modify anything to do with a chest's fridge property.
Also I think the first part is a bit backwards. Without Better Chests, all of the 6480 chests will function exactly as vanilla chests. It's only with Better Chests that they're able to have customized behavior like different chest sizes, filters, etc.
Do any of you happen to know a programmatic way to get the currency symbol in a c# mod, assuming it's not just "g" in all languages? Maybe a function that the standard game code uses? I'm having a real hard time finding anything...
I am just reporting what I think is not intended behavior that showed up in my tests. do with it as you like
I got my custom chest to work as intended implemented with your framework, so thanks a lot
I'm trying to decide between this and just reviving/reimplementing Bigger Craftables, and so far I feel the latter is simpler tbh
I have to roll IL to call the base Object version of Furniture's performObjectDropInAction (for input rules), checkForAction (for collecting and reloading), minutesElapsed (to make time actually pass for processing machines), clicked (to prevent the farmer from just instantly picking up a processing furniture machine), maximumStackSize (granted this is easy, just return 999), some other obscure logic I'm probably forgetting (for idk). Soon I'd need to override draw code as well (to draw animations/ready bubbles)
whereas with Bigger Craftables I just need to override draw (which I have to do anyway), collision and placement
hmm there's also mod compat, dunno how many mods are going to be tripped by furniture being able to use machine rules. I think UI Info won't show ready time on hover
If anyone here has experience with MonoGame in general, is there any way to either
(a) fake a GraphicsDevice (primary goal) or
(b) create a window handle that works with PresentationParameters without using Winforms, so it'll run on Linux/Mac (possible XY problem)? or
(c) create a window handle with Winforms, but somehow do it without targeting the -windows runtime?
I also tried looking into MAUI but it's so heavily abstracted, I just gave up. I just want "winit for .net".
what are you trying to do? I have zero idea about MonoGame internals, I'm just curious lol
It ultimately all comes down to creating a Texture2D instance without the game running.
Trying to set up a headless test environment?
There are examples of doing it, but they all rely on Winforms.
Yeah, but really not any kind of ultra fancy integration test framework, just a workaround for the horrible turtles-all-the-way-down mess of dependencies required to load any game content whatsoever.
Can you not do something like what StardewXNBHack does to launch a controlled version of the game? Or, if not the game, then a similar monogame project.
Maybe. I'm not entirely sure how to wrangle all those statics and avoid making the tests very leaky and non-hermetic.
Technically the "shared windows form" has that problem too - but it's one shared thing as opposed to hundreds of them...
At a certain point you have to give up and pick complete accuracy or performance for the tests.
i spent a bunch of time moving the 1.6 migration info for event preconditions into https://stardewvalleywiki.com/Modding:Event_data, but i ended up putting the table of old x vanilla sendmail events and their new equivalents in there. anybody know a better place for that table to live?
It doesn't seem straightforward to get working anyway. Copying XnbHack's code does not make the test runner happy, it complains about a missing Sdl assembly. Maybe it expects to be able to run from the game directory, like xnbhack does.
Could also make an excuse for the farmer not reciprocating. Maybe working at Joja made them jaded. Alternatively, would it be feasible to have them reciprocate with an emote bubble without coding?
Other way around. Robin meets them at the bus stop and brings them to the cabin (source: I just started a new farm earlier, which is what made me think of this whole idea)
hey genuine question cause i do NOT have the foggiest clue abt how mods work, what is the programming language that’s usually used
C# for "real" programming. but many mods are just content packs and can be made using only JSON (a data format)
got it!! ty