#making-mods-general
1 messages · Page 129 of 1
the actual .png and .json names don't really matter as long as you load them to the right place
so you don't have to rename your actual files
just let me be grump OK I'm having a George moment
(I assume you're not using i18n?)
I am using it
oh, in that case you would be able to replace everything that's not in your i18n, I think 
and then if you don't want to change the file names, just switch those back. Shouldn't be too many
tbh i see why you wouldnt want to but it might actually be quicker to just ctrl F literally everything and then just launch the game and play error whack-a-mole as it points you to which places need fixing lol
yeah I get it, and actually I've been pleasantly surprised that so far I haven't broken anything with my changes
for a second after I did a search/replace I looked at a comment line and wondered why it didn't put {{ModId}}_ in front of my NPC's name in the comment
it's because I misspelled his name 😛
you can make a dynamic token for your NPC's internal name so you can use the token in event scripts.
typing and reading {{Russell}} isn't as nice as plain Russell but it beats sdvhead.LongIrritatingModName_Russell
OK, thank you for the suggestion, so it would look like this in my content.json, correct? "DynamicTokens": [ { "Name": "{{Russell}}", "Value": "sdvhead.LawAndOrder_Russell" }, ]
{
"Name": "Russell",
"Value": "{{ModId}}_Russell"
}```
should do it
I would just like to thank you all for ruining my Friday night
for future reference, Data/FarmAnimals lists the ShopTexture and ShopSourceRect for each animal 
So question, I'm following what Ichor did for their pet mod...But I don't quite understand what it is they are doing? like this part here:
"IconTexture": "Mods/{{ModId}}/Icons",```
I don't get it. Are they making subfolders? or is that just something that you can do?
and before you link me to modding pets on the wiki, I have it open but there's nothing that explains this for me....
it's the texture location
theyre not folders and not files, its not like a file system
if you did like "Action": "Load", "Target": "ExampleCatTex" then you would put "Texture": "ExampleCatTex"
naming your asset names like Mods/ModId/whatever is just a common convention
but its just a name for a thing
a single thing
It looks like a file path 😭
This is why we need a tut on making pets...like I don't know what half the things in the wiki do or even how to make them work
Like it makes little to no sense for me 😭
oof i gotta finish events for my mod
its the same concept for anything with a texture, not just pets
i dont know enough about the other pet specific fields to offer any more specific guidance here, though, sorry
Ok, I get that now, but like...this stuff... Behaviors like how in the heck do I know what to put? Or the bark sound? or anything else. The wiki doesn't do a good enough job at explaining for me
like some say are optional but I still don't get it
Ichor...can you halp plz
Unless you want a custom sound or behavior, you can just copy the values from the original dogs
In Data/Pets
Are you adding the dog as a completely new pet, or just a new breed of dog?
(Breeds are way simpler)
this is all the dog breed section uses
new breeds of dog
"Target": "Data/Pets",
"TargetField": ["Dog", "Breeds"],```
is what I am doing
Thank you for code.
I try to got error message that I dont know 😦
[Content Patcher] Ignored NPC Yamionisama > EditData Data/Festivals/summer11 #2: TextOperations > 1 is invalid: the Target value 'set-up{{FestivalYear}}' couldn't be parsed: '{{FestivalYear}}' can't be used as a token because that token could not be found.
{{FestivalYear}} is a custom DynamicToken they set up, you'll need to make your own if you want to do it exactly like tiakall does
the screenshot I posted is the bare minimum for the vanilla dog breeds, so it's a lot less overwhelming.
All you'd need to change for your own breed is the Id, Texture, and IconTexture values, really.
Puts on dunce cap I really am the dumb
Nah, you just got lost in the wiki, it's understandable
I feel that the wiki can be both friendly to my autistic self but also very very unfriendly
XD
But yeah, for breeds, the only things that really matter if you don't want custom barks or anything are the appearance-related fields
Oh animation token!
is it right?
I put the setup I used for my {{FestivalYear}} dynamic token here! (Note: dynamic tokens have to go in content.json, they can't be in includes) https://stardewmodding.wiki.gg/wiki/Tutorial:_Making_a_Custom_NPC#Festivals
So, you're interested in creating a new character for Stardew? Good news: with version 1.6, creating a character is easier and allows for more flexibility than ever. However, NPCs are one of the more complicated things to create for Stardew, as they have a LOT of moving parts. This guide aims to provide a basic but thorough walkthrough for ea...
thank you!
If you're targeting the Breed field, then no, you don't need any of that.
haha, rest well!
OK... of all the problems to pop up after I fixed all my NPC names... I didn't expect the ladder to disappear?? I don't even do anything with it in the event, it is just part of the TMX file
WHERE is my ladder??
what layer name that ladder is?
oh wait its showing the wrong tmx file... the problem is in my content.json
that makes more sense
ok
thanks for trying to help though I appreciate you 
excuse me, does anyone know how "KissSpriteFacingDirection" works?
I wrote as
"KissSpriteIndex": 51,
"KissSpriteFacingDirection": false,
it displays Kiss sprite itself, but it wont change direction true or false either.
you want "KissSpriteFacingRight": false 
ok, I'll try
Thank you, it works!
ah, the agony of apparently having to add a single new translation entry in a +0.0.1 update
I am so bad about my translations. I mean I keep all my strings localizable but I am very used to not having to think about it at all because backend magic happens and translations get merged and deployed without me doing a darn thing.
imagine merging and deploying translations 😌
i throw mere crumbs into the wind and translators swoop in and upload their own
such a wealth of power
I do kind of wish there was just one big crowdin or whatever for Stardew mods where translations could live and automatically happen.
BC really does highlight the absurdity of cooking everything in a frying pan
yeah i wish translators and users had things a little easier. all the systems we have now work well enough on their own but it doesn't really scale well
maybe cp is the future 🌌
Yay you have it working~
Clearly you should just rename it to Freezing Pan if the recipe is ice cream.
works pretty well! no complaints so far
what's with the token formatting on "@C{red} though? are you manually parsing that or do you somehow have a string formatter that takes named tokens
out of curiosity ofc
Manually parsing it. @ to start a sequence, C for foreground color, {...} for the value, and red as a color. You could also use hex if you wanted but may as well just use the name.
ah i see. i ask since i was desperately trying to use named tokens in string formatting while converting i18n to cp hahah
gave up in the end and just used regular string format via game1.content.loadstring
I didn't want to worry about setting up an xml parser, I don't like bbcode, and markdown doesn't have the sort of formatting I'd need so I just kind of implemented that. It is definitely not ideal, but eh
You could get fancier if you wanted. Include a frying pan image or something.
is that so 
@M{itemid}
Actually that includes the item name too I think
All the sequences are listed at: https://github.com/KhloeLeclair/StardewMods/blob/main/Almanac/author-guide.md#rich-text
not bad 
Hii is anyone here familiar with the pspvita? i just wanna ask a few questions about modding
and cos i wanna play stardew on there aswell but idk what its like
it's a lot like modding the gameboy advance
are you asking because you wanna make a mod for pspvita or because you wanna use mods on the pspvita. if the latter i think you want #modded-stardew
if you mean the former then i dont know. i dont know how to mod a pspvita
can pspvita run linux
yes.. the pspvita..
I'll be honest I didn't even know there was Stardew for vita
SDV on Vita is 1.02; is there even a SMAPI for that old of a version
it’s be a use i wanna use mods 😅 im just not sure how since i’ve never really modded anything ever, but tysm ill check the channel out
you should ask the modded farmers channel then? probably
hi i have a bug report for almanac. it uses dialog for a font id but the game correctly uses dialogueFont
you probably have better luck asking around on one of those vita hacking discords (disclaimer, this is a hypothetical, I don't know of any)
hey look at the time time to sleep
one day i'll understand why ca chooses to use simplified english throughout the game code, but still holds dialogue in his heart
i like the way it looks from what i’ve seen in videos
no worries and thank u sm for the suggestion
it’s probably the really old version of it
Lolll
im hoping haley WAS available in that version
omg i hate auto
it’s killing me
assuming you can even run SMAPI on a jailbroken vita (you most likely can't) you'd need a giga old version of it, like 1.something
and giga old versions of associated mods
I suppose you can do XNB replacements, but I'd hardly go through all that trouble just for some retextures
i'm fairly sure the only mods that even existed at that time were xnb, and they sucked
im tech-illiterate. giga what and 1 xnb whata 😟
this is my first time modding and i was thinking of getting some guy to do it for me but the difference between the game style worries me /im not sure what i’d need for it ??
hmm vita is running on ARM, so SMAPI is probably right out (as said, assuming you can even run custom executables on it)
selph im too slow ...!! 😥 what executables what
guys i don’t mind buying stuff for this
and im pretty sure i can mod it directly on the psp
but id need to buy a new or have something higher than 128gb
we're saying its basically almost not possible
and that "almost" is probably still not possible
thank u for the translation
im so slow
and illiterate with technology
Vita wont be able to load the modloader, so the only mods you could possibly have are ones that replace the game files, but that assumes the game files are even in the same format. And even if they were, you would need mods that were made in like, 2016
yeah for all we know the vita version uses a custom format, so even XNB is right out
And only in 2016
if you want to mod a game, use a pc. same as it always has been 🌌
i just wanted to know whether i could mod it on my psvita or not because i usually carry that old thing around with me
the answer is unfortunately pretty much no
if its possible at all, no one here would be able to know how
that’s totally ok, thank u guys so much for responding about it anyways
i atleast got my answer there
i know someone who can mod a few other old games like gta but that’d have to be from what 2015
(funny to think that the latest gta is an old game, even older than 2015)
Hii! how do i make a custom tilesheet siteable? i've read the wiki but it isn't well explained there and i couldn't make it work
Thanks for anyone who can help ❤️
siteable?
you can sit in a custom tilesheet
it's a bench
i've tried to edit the tilesheet but i couldn't make it work
are you following instructions at https://stardewvalleywiki.com/Modding:Maps#Sitting_on_non-furniture_chairs
yes but i couldn't make it work
i'm not sure how should i do it by just following these instructions
post your code?
I've tried to add an object propriety but i'm not sure if that's what i'm supposed to do, i'm also not sure if i did write the code right
i've deleted it since it wasn't working 😅 i was hoping to know how should i do it first, since i think i didn't understood how to properly apply the code to the tilesheet
you don't apply anything to the tilesheet
you just add entries to Data/ChairTiles asset referencing your tilesheet
this in the mod code, not in tiled right?
yea
ohhh thx
are the mods for mobile?
!smapiandroid
SMAPI isn't updated for Android and does not work past version 1.5.6.39. We don't know if/when it'll be updated or who will update it. It is not possible to legally downgrade to 1.5.6.39, so do not ask how to do this.
Please see Installing SMAPI on Android for more info.
Be advised we most likely won't be able to help you with android modding issues.
also unless you're looking to make mods #modded-stardew is a better channel
is there a repository of item context tags somewhere? I don't mean just the list of context tags, but what tags items have.
keep in mind that mods can add whatever tags they want
you can also run patch export Data/Objects, but that won't catch autogenerated tags
the most surefire way to know what tags an item have is installing Lookup Anything, enabling debug fields and look up an item ingame
if you dont install any mods that'd just be the unpacked Data/Objects.json file lol
the command is useful for when you have other mods installed
!mh
For help with modding issues, please ask in #1272025932932055121! When asking for assistance there, sharing an error log will help others identify your issue (see https://smapi.io/log for instructions).
do you think it would be a good idea to create "Furniture as machine" on top of FF? There's already a lot of stuff that go around vanilla limitations, so it would only be a matter of editing already existing methods instead of having to setup harmony patches.
Would turning furniture into machines be compatible with mods that alter the behavior of big craftables?
I am really interested in this topic because my next mod, Machine Evolution System, turns furniture into machines
So I was looking for a framework that is able to do this (selph knows about this)
Bigger Craftables was good for this, but the 1.6 version seems… not good
Hello.
Is it possible to change the dialogue when receiving the mermaid pendant to something NPC specific?
I was looking at the wiki, and there is a section for changing the dialog when the bouquet is received, but there is no section for the pendant, so I was wondering.
Tikamin's looking for a NPC-specific dialogue string like the bouquet or unique gift reactions though, while that still affects all NPCs. It'd be possible to do a patch with a When check for whether you're dating the NPC or not, but it wouldn't play nicely with polyam mods
the <NPC_name> does make it NPC specific, no? 🤔
Huh, possibly?
Is that new? I don't remember seeing it with the NPC name before
a thing since 1.4 it seems
what's the character limit for dialogue boxes in sdv before it starts to get too crowded?
Idk if this has been brought, but what about gifting furniture as a feature?
I know quite a few people would like that
From what I know, there isn't really a "limit" per se, but you can just use dialogue keys to separate the dialogue. Like with #$b# or #$e#
(this reminds me of Shane's 99 beers on the wall)
thank you! I'm just doing some writing and wanted to know whether I should try to break things up more for readability or if it's okay to keep things on one key
I wanted to avoid breaking things up where it wouldn't make sense to if possible (if that makes sense) so that's good news 
If it's a bit too long, I recommend breaking them apart for readability. Besides you can always make use of #$b# to break the sentence but continue on another dialogue box without having to interact with the NPC
great advice, thank you much 
https://stardewvalleywiki.com/Modding:Dialogue more information here
thank you! i've kept it up on my other monitor while working but sometimes have a hard time parsing through everything to find an answer lol
it's my first time doing any sort of game modification so i am completely new xd
Sure! Take your time!
I don't know anything about the mods you're talking about, but since Furniture and Big Craftables are 2 separate class, these mods would not apply to the furniture made into machines if that's what you're asking.
Is it not possible? To be honest, I don't know much about gifts. If you're talking about gifting to villagers, I'm pretty sure it can be made into a mod without any compatibility issue with FF or other mods, it feels like the issue would come from having to give gift taste to every Furniture, which would be a big task, even by grouping them into categories/styles.
Long story short: not the job of the Furniture Framework from what I know about gifts
@rancid musk Hi Khloe! I was trying hard to simplify Weather Wonders code but I notice target fields for edit data doesn't seem to work with it, at least not with every entry. Is this intended or am I doing something wrong? Here's the file:
I see, no worries. I just know some people were mentioning gifting furniture as a possibility
Do you use the condition to keep dialogue from repeating when adding new dialogue for a mod or do you think it's best to leave it normal?
Wdym? Can you expound on that?
I was reading a guide for adding it using content patcher and they mentioned that you can use a condition to keep dialogue from repeating again if the player has seen it once already (like once per save)! I was wondering if you think it's a good idea to use that for added dialogue or leave the dialogue in like normal so there's a chance to get it again if you keep talking to the character.
because I'm adding kinda niche lore drops idk if it would be weird for the player to see it again xd
That's completely up to you tbh, you can make dialogue appear on extra specific days like spring_1 for example or make it contingent depending on their heart level, season, year, finishing the CC, etc. or even a mixture of the former.
there are different ways to make a dialogue appears only once, but i suggest to keep advanced stuff for once you got the basis (if you got them already, my usual approach for one time dialogue is the flag + kill, but query may work better)
thank you both!
i appreciate you taking the time to answer my noob questions 
The finishing cc thing is gonna be very helpful
I was trying to figure out why my character wasn't following their schedule then saw it includes the spa which is not yet unlocked. So in those cases they revert to the default schedule, is that correct?
if that could be part of FF that would be nice! Just a matter of overriding some of the logic to also call the base Object version of some functions
Once I'm done with 3.0, we can make a thread about it, I'm not sure I'll be able to work on another bug thing for a while, I've got research to do next year.
I did some prior research here and already got some code written
(ignore the assessment, my current opinion is that this is easier than reimplementing bigger craftables logic)
Oh, forgot to go to the end of my thinking here, I mean that I'd be happy if someone takes over for the implementation of this idea, I'll always be available to help with it.
got it! it might be a good idea to release this as my own mod then so I can take care of maintaining it and responding to bug fixes alongside my other machine mods
but I'll be sure to ping you for help if needed (I'm going to have to stare at draw code lol)
Lookin forward to my lint producing carpet, selph
how do i add a crop to the shop that is not available in this season using c#?
if you mean editing an existing crop to remove the season requirement, then just change the condition field in its shop entry
In C#, that would be adding an AssetRequested event, check if it's Data/Shops, then get the SeedShop entry, search for your item in the shop data and change Condition
You should really be asking other people about that and not me. I am a content patcher novice at best.
Keep me posted as well! We can use Machine Evolution System to bug test
R u gonna make the wobble and the working effects and the TAS work 
wobble needs transpilers or skip prefix, working anims is doable (furniture has a field that it uses for rotations that I can hijack), TAS is also doable in a postfix
Just skip wobble then I never liked how the keg undulate
Wait rotations 
What r u gonna do when people actually just rotate a table then
for the MVP (Maybe Viable Product) I'll just forbid rotatable furniture
as a stretch goals I can add a rotation offset
im new to this and dumb i still cant get it to work, could you dm me with the code snippet itself? huge thanks in advance
No table rotation for you!
Per the wiki: the game has special logic for unlockable locations. If this is JojaMart/Railroad and it's not available yet, the game gets the replacement destination from the first entry in the <location>_Replacement schedule if available; otherwise it switches to the default schedule if available, else spring. If this is CommunityCenter and it's not available yet, the game switches to the default schedule if available, else spring.
So basically, you can add a Railroad_Replacement schedule entry to use as a fallback schedule if you are testing a specific schedule
well, my proposition of making this part of FF was to avoid creating unfixable incompatibility. For example with rotation, because FF is already highjacking it (modData will easily take care of animation frame count), and drawing, which I already cleaned a lot to make it easier to have variables like offsets and other animation stuff (I had to do a skipping prefix, because a postfix would only draw over what vanilla draws). It's perfectly fine for a MVP but it would be nice to work together on this.
anyone know how to deal with this error? i followed kailey's method of making custom interior doors to add a couple to my farmhouse, but i keep getting this error on renovation to the next house upgrade level (through debug houseupgrade or manually).
at xTile.Tiles.TileArray.set_Item(Int32 x, Int32 y, Tile value) in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\xTileSource\xTile\Tiles\TileArray.cs:line 64
at StardewValley.InteriorDoor.closeDoorTiles() in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\Locations\InteriorDoor.cs:line 164
at StardewValley.InteriorDoorDictionary.CleanUpLocalState() in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\Locations\InteriorDoorDictionary.cs:line 81
at StardewValley.GameLocation.cleanupBeforePlayerExit_PatchedBy<FlashShifter.SVECode>(GameLocation this)
at StardewValley.Game1.onFadeToBlackComplete_Patch1(Game1 this)
at StardewValley.BellsAndWhistles.ScreenFade.UpdateFade(GameTime time)
at StardewValley.Game1.UpdateOther(GameTime time)
at StardewValley.Game1._update(GameTime gameTime)
at StardewValley.Game1.Update(GameTime gameTime)
at StardewModdingAPI.Framework.SCore.OnPlayerInstanceUpdating(SGame instance, GameTime gameTime, Action runUpdate)```
at first i suspected it was because of the 2nd upgrade has more doors than the 1st upgrade but it doesnt seem like it? also, the error just totally crashes the game, it loops continuously
@rain flax hey, I like the mods you made, especially with the sprites and tilesheets in them.
Thank you, but I don't think I've made any mods that contain tilesheets! Just building mods and the recent one with sake.
Yeah that's what I mean.
question regarding portrait mod etiquette
i'm making a portrait set for a mod in an existing style. currently i'm only doing it for personal use and i know i don't need to ask permission for personal use, but if i did ever want to release it, i should ask the author of the mod i'm making the portraits for and the author of the portrait sets i'm matching, right? and is there anything else i need to think of?
Are you still open to making more building art and such, or not so much anymore?
I thought it was related to the Cloudy Skies framework because it works with everything else🤔🤔
// Make wheat sellable year round (note, there's another wheat entry for fall so this would create a duplicate. in retrospect I should have picked another seed lol
public void OnAssetRequested(object? sender, AssetRequestedEventArgs e) {
if (e.NameWithoutLocale.IsEquivalentTo("Data/Shops")) {
e.Edit(asset => {
var shopData = asset.AsDictionary<string, ShopData>().Data;
// This would throw if SeedShop doesn't exist, which should never happens, hopefully
var seedShop = shopData["SeedShop"];
var wheatShopEntry = seedShop.Items.Find(entry => entry.Id == "WheatSeeds_Summer");
if (wheatShopEntry is not null) {
// Remove the condition that limits this entry to summer
wheatShopEntry.Condition = null;
}
});
}
}
then add this function to the asset requested handlers
If you patch export the file and it looks correct, then it's a Cloudy Skies problem. Otherwise, it's Content Patcher.
Hey Khloe, do you have any suggestions on finding artists who do pixel art commissions or paid work?
Absolutely not.
!commissions
If you're looking for people who do mod commissions (either art or code), here's a wiki page with a non-comprehensive list of people who do them: https://stardewmodding.wiki.gg/wiki/Stardew_Mod_Commissions
Yes, I am! I am actually working on some chicken coops in the same style as the other Braytlox buildings right now. I just slowed down a bit due to traveling for the holidays 😅 then I'm going to do the barns next
Aww, okay.
Ty.
Please stop pinging me.
a question related to C#
so the main class inherits the Mod class and gets access to its Monitor instance to print logs.
If i move the implementation to some other class, i will always have to pass the Monitor instance in the class' constructor, is there a way to access some logging method directly from secondary classes? I assume only the ModEntry class should inherit the Mod class
Just make a public static SMonitor
Assign it in Entry and call it elsewhere with ModEntry.SMonitor
You are correct that only the ModEntry class should inherit the Mod class.
I normally just store a static reference to my ModEntry instance itself rather than the monitor specifically.
For harmony patches, which have to live in static classes, I'll store a copy of the monitor in a static field there when setting up the patches.
(Assuming I don't just rely on the ModEntry instance, which definitely happens sometimes too.)
I have a problem/question so in the past I've been able to use the wiki to get the size of the pixels and the file's photo I've needed for something for example: one of Sam's portraits I could click on it and I would the pixels size and the sprite then after changing it I could just copy and paste it on the spritesheet as it was the right size.
But today I went to do that with some Joja Furniture thinking it would work like always does but the pixels size on the wiki doesn't match the spritesheet... 😰
don't use wiki images for your artwork please
Unpack the game and you wont have these problems
Wiki images are upsized so we can see them
!unpack
Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!
is there an index of all seeds names. like i can find wheat and the number but nowhere do i find "WheatSeeds_summer"
Fair enough as I said it's worked in the past so I thought all of the sizes were right
!unpack
Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!
the shop entries are defined in Data/Shops
lol just noticed the other unpack msg above
!repack
I found it can't targetfields, so I just either use dynamic tokes on conditions or make a When patch 👀
If it's your own art from scratch, you don't technically need to ask either, but it's polite/nice to ask both.
how does one turn off the edit then?
okay ! i am doing it from scratch, but as it's looking i think there is going to be a lot of similarities with the art itself to the original so i was erring on the side of asking anyhow. thank you! 🫶
You'd have to remove or comment out the code SVE is using to add their edit, which is not necessarily easy but may be easier than editing the map in Tiled.
If I update an asset in the GMCM midgame, is there a way to have the game refresh the asset without having to leave the game and reload
in a c# mod
yes. GMCM has an "apply config" hook, which you should already be using to write your config file. You can add an InvalidateAsset call there to tell the game to reload the asset when the config changes are applied
“<NPC name>_Engaged” is the dialog after receiving the mermaid pendant, right?
What I would like to change is the conversation at the time of receipt, i.e.“NPC.cs.3980”: “...!!! $l#$b#I accept!!! $h#$b#... $l#$b#I'll set everything up. We'll have the ceremony in 3 days, okay?$h" .
Have you tried adding dialogue for AcceptGift_(O)460?
Does anyone know if NPC dialogues can be modified?
This dialogue edit works properly:
if(box.dialogues?.Count > num)
{
var text = box.dialogues[num]?.Replace("$no_player ", "");
box.dialogues[num] = text;
}
But this one doesn't:
if (box.characterDialogue?.dialogues?.Count > num)
{
var characterText = box.characterDialogue.dialogues[num]?.Text.Replace("$no_player ", "");
box.characterDialogue.dialogues[num].Text = characterText;
}
(the code is called for all dialogues, so unless i'm missing something, no clue why it's not applying)
I thought num was at fault, but it's not
Yes, I tried “AcceptGift_(O)460” but this does not seem to apply.
I recall editing that generic NPC line when you're dating the specific NPC was a workaround for this before
Engagement dialogue is here: https://stardewvalleywiki.com/Modding:Dialogue#Strings_from_CS_files
the game falls back to the generic lines above if a specific NPC's isnt found
Oh I see, then yeah you would just need to create one for the specific NPC you want, Krobus has one since you don't actually marry Krobus and thus there needs to be a different dialogue for it
Yes, it is possible with that...
The problem with it is that if you are dating more than one NPC, you can't display the dialog as you expect.
Ah yeah, that's true. Well, seems like the Engaged dialogue should do what you want
Oh, sorry, I misunderstood something!
“<NPC name>_Engaged” did indeed do what I was thinking! Thanks!
“Data/EngagementDialogue” and I got mixed up and something went wrong, in my head lol.
oooo i didnt knew dynamic tokens worked for this kind of stuff, I have only used them mainly for file paths xDxD
thank you very much for telling me this!! it will be super helpful ^^
:3
I was wondering if there is a way to change the NPC name when reach a certain amount of hearts?
I’m trying to make an NPC with a full name “Thomas” and after reaching 4 hearts I want the NPC name to show up as “Tommy” in the dialogue boxes and menus
The NPC would be going by a nickname now that the NPC has reached a certain friendship level
I know there are lots of dependencies on the NPC name but is there a condition I can set to have it change from “Thomas” to “Tommy” at 4 hearts and above?
I am looking at the recipeList dictionary in the CraftingRecipe class to check if the player has enough of each item to craft said recipe. The key is the id of item, while the value is the amount of the item needed to create the recipe. However, I realized that the key uses ItemId instead of QualifiedItemId, which is what I'm using everywhere else in my mod to avoid conflicting ids. Is it safe to assume that all items found in a recipeList have a TypeDefinitionId id of (O)? If not, is there a way to safely handle duplicate ids?
You can make a conditional patch using EditData to the Data/Characters entry in the DisplayName field only that is activated on the required number of hearts.
(you will also need to do the same for any dialogue you use the name in)
no: #making-mods-general message
but you can assume (as the game does) that an unqualified ID defaults to (O)
OMG THANK YOU
Is it okay I ask what the initial edit would look like?
I'm very new to coding and not exactly sure what the Target would be or the FromFile
Would I need to make a whole new set of sprite portrait dialogue etc?
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/tokens.md#relationships for the conditions part if its a CP mod
BLESS!🖤
if you use the [CharacterName whatever] token actually in your dialogue you probably don't actually have to do extra patches on the dialogue itself
THANK YOU!!!🖤
I'm a little confused what you mean by that assumption. Isn't that a contradiction of the answer no?
trying to add out of season seeds to the shop with c#, going well until i hit strawberrySeeds_Monday, it just wont show up even though i set the condition to null. is this because it has to be the event?
Also lune, I sent you non saree stuff too
strawberrySeeds_Monday is for desert festival
u need to add a new entry for (O)745 in SeedShop
post your code
Is there a general style for stardew clothing I should follow to keep it looking atleast decent?
here?
sure if it helps
(if its super long use something like pastebin though)
also StrawberrySeeds_Monday is an entry in the desert festival shop
not the seed shop
yes alright thats what i thought the problem was
is there any way to add strawberryseeds_monday to seedShop?
add a new entry yourself
blueberry im sad to report that Passable T does make it impossible to interact 
I’m gonna make an Indian jewelry mod
So a ton of jewelry from India for fashion sense
in this code snippet here, it would be something like seedShop.Items.Add
just follow the usual style for items: 1px bold outline (high saturation, low brightness), a small-medium number of colours (around 8 total depending on the pattern), variety of hues for shades
Yep ty!
goid fucking nfmddait
i'm not terribly surprised this leaves a tile there, i think i knew at the time there'd be different patch update rates on characters and locations
but i'm surprised i can't SetProperties to use both Action and Passable
taking suggestions on how to do this without new dependencies 🥳
well that's just the same issue as before
(i dont know what the original issue is)
what is the behavior of kot anyways
does she walk over there or does she just appear on some days
Sailor Styles adds an NPC to an open tile in the Forest and adds a Buildings tile to where they're standing with Action Shop
the NPC only appears on mondays and sundays, and disappears every other day
they don't move either, they just sit on the tile and animate throughout the day
i think it should be fine to put the editmap behind a when day of week right
but the issue apparently is that the Buildings tile patch isn't updated at the same rate as the character's daily appear/disappear rate, which could be fixed by making the EditMap patch every day, but isn't the usual rate for map patches only every season
u will need to include the part that actually adds in the tile on building layer
it'd be a nuisance to have to reload the entire forest map every day just for the shop tile
i thought map patches follow normal asset invalidate rules 
i dont think theres any difference in update rates between like, anything
if that's the case i'll just make it conditional
Your own c# 
Ooh!
Kitty
HOW do u still have that
github remembers all
not going to happen for one very important reason:
https://github.com/b-b-blueberry/SailorStyles/commit/71c34d1bac5183e526c2ce89f08554f717a61251
maybe i just imagined the whole locations-dont-invalidate-every-day thing
You imagined it I assume meow!
is there any solid rule about using spring as a default schedule key instead of default?
i remember reading someone say something about that somewhere
iirc spring is the default?
spring is, but so is default
i didnt even know default was an option so i will bow out of answering here
spring it is 😌
The important thing is if you ever don't have a spring schedule everything breaks, so you can leave out "default" but never "spring"
huh, the cat has had default only for this long
Then luckily you have never had anything that needed to fall back?
this is the complete schedule now:```json
{
"Mon": "GOTO shop",
"Sun": "GOTO shop",
"shop": "0 33 96 2 blueberry.SailorStyles.Anim.Standing/1240 33 96 2 blueberry.SailorStyles.Anim.Sitting/1830 33 96 2 blueberry.SailorStyles.Anim.Drowsy/2020 33 96 2 blueberry.SailorStyles.Anim.Snoozing",
"spring": "0 Forest -999 -999/2400 Forest -999 -999"
}
previously default instead of spring
I wonder if CP or SMAPI is automatically aliasing default to spring then?
basically spring is needed for NPC when they return to a schedule after something special changed their (like going to GI)
Question, for adding animals, this isn't a "path" right? Like this is ok?
"IconTexture": "{{ModID}}/Pets/Icons",```
thasnks, suppose it doesn't make a difference here then 
it's better to be safe than sorry in case another game feature or modded one may use it too
Ok but this is good? Like CP won't think it's a path? I'm kinda taking some creative inspiration from Ichor
what do you mean 'think it's a path' 
i was answering to blueberry
there is no difference between calling it "{{ModId}}/Pets/Dogs/Boo" and calling it "whatevername"
i have no idea what you meant either
its not a pathg
the slashes do not mean anything
you can remove them entirely and it will work exactly the same
(so longf as your load matches obv)
oops
hu, i don't think i get what "path" means then
like a file path, or folder structure
its not like "assets/File.png" is a path
yeah so the asset name/key is what you're providing here, and the only requirement for it is that it's completely unique and generally meaningful
when you give an asset a name in your Load its just taking your one thing and putting a label on it
that label just happens to have slashes in it
but you need that to match with where the game will search the texture
I'm kinda following what Ichor did for their cat mod. And they have "Texture": "Mods/{{ModId}}/Cat", "IconTexture": "Mods/{{ModId}}/Icons",
I just wanna make sure that what I am doing is good too...
its not adding anything to a folder
it's not the folder path but it's the game content pipeline (insert synonym here)
And I wll say that the game has "Texture": "Animals\\dog", "IconTexture": "LooseSprites\\Cursors",
there is zero reason to have the texture names start with Mods/ people just do it bc convention
basically if what you're using does not have a file extension (.png, .tmx, etc) then its not a file path. its just a long name for a thing
Should I just do {{ModID}}.BooTex?
you can do literally whatever you want
Using a png file has two steps:
- Load it into an asset name
- Use that asset in the data
The name you created in 1 is what you're passing, and your code is step 2. It doesn't really matter what it is named (though of course you want your mod ID in there to prevent collision with other mods)
but it is recommended to have your mod uniqueid in there somewhere as blueberry mentions
(and selph)
as long as you remember then that the name of the texture is not "Boo"
it is "{{ModID}}/Pets/Dogs/Boo"
the whole thing is the name
This is all so confusing for me and idk why lol
I will
it took me a while to understand paths/assetnames and all in the content pipeline too, but it does click eventually
it's really very simple once you understand it
LOL ok ok my first ever message was in 2019
yeah I started making mods in 2020
Ok but another question. for the "IconSourceRect" does the X,Y corrolate to the bottom left or top left corner?
always the topleft
top left
Can kind soul help me content patcher is not working, its not loading my crop. I fix error but its still not working
Makes mental note for this
(can you use smapi.io/json? thanks!)
Log Info: SMAPI 4.1.8 with SDV 1.6.14 build 24317 on Microsoft Windows 11 Home, with 12 C# mods and 41 content packs.
I meant uploading the code to smapi.io/json, not the log 😅
They mean upload your Json to https://smapi.io/json
oof my bad
Do we not have a command for the json link for people? XD
(it's not the issue, but your item+cropimages patch is using the target ModsRoseloves109.DreamCrops/assets/Iron_Ore_Seeds with a missing /)
it's !json iirc
hmmm ok
Also Tai, I think I'm SLOWLY understanding how to make the i18n stuffs...They need to be in their own folder tho right? Like a folder named i18n?
or is it I18n
lowercase i or uppercase?
always lowercase
See now we need an auto responder that just says "always __" XD
yes, you should have one file in there called default.json that has all the text strings you want translateable.
Jorts and Jean's current version has it if you need an NPC example.
squish squash, another lazy sunday
Is jorts and jean the go-to example NPC mod at this point XD
awesome! Once I finish with this simple mod for adding my pets I will look into it
(you CAN split your i18n up into multiple files now too if you have a lot of things to translate)
not really, it's just their own mod hahah
Also also also. Does dialogue just repeat over the years????
dialogue generally repeats unless made conditional or year-specific
a Mon entry will play every monday, a spring_12 entry will play on spring 12th every year, etc.
they don't actively repeat, they just play whenever their key matches
Wish there was a dialogue helper for npcs like there is an npc builder.
https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Translation#File_structure
see the part about SMAPI 4.1.0 (which isnt upcoming anymore but wiki slightly out of date its w/e)
Oh well that's neat. My default.json is so long, even i have trouble managing it...
aehhh you can make the schedule as basic as you like. just add different things to it whenever you get an idea
Its not working, Idk what to do, i checked using the json validor
post your json validator page link here!
Log Info: SMAPI 4.1.8 with SDV 1.6.14 build 24317 on Microsoft Windows 11 Home, with 12 C# mods and 41 content packs.
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.
!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.
...
specifically https://smapi.io/json haha
(the biggest downside ive found to splitting up your i18n is if a user just drags and drops the new files into their mod folder, theyll have both top level and folder structure i18n, which isnt allowed. and apparently SMAPI prefers the top level ones if it finds both and suggests reinstalling the mod entirely to fix it, instead of using the folders instead :v)
(i wouldve done it the opposite way since i figured if a mod suddenly had folders and top level, it probably means they added folders since thats the new one... but c'est la vie)
If you use folders for i18n from the get go, would users still have that issue?
nope
its only bc if you use folders, all your i18n for every language has to use folders
and vice versa for top level
Tbh i would only think of splitting things up if my i18n reaches like 1k lines
so if you have both it has to choose one to go with, and it chooses top level
which means if your new i18n from the update you just made is only in the folders, then... they dont get used
smapi also only logs it as a warning, which like, i guess it kind of is, but...
i split up my i18n for my books mod so its much easier for me to find where things are since the file was getting too long for me, but also mostly because it means i can have one i18n file called "untranslated.json" in the other language folders, and translators will know immediately what still needs to be translated, bc its all in that file
which is where i can put new strings from new updates
It is for me just because I know what the code's doing 
I remember this discussion earlier, but don't really want to have to search for it, for making custom engagement lines?
Do you think I should have the farmer be stuck in there if they don't leave in time? Right now I have a warp out but...
How would one go about that
But button wouldn't your translators have to sort the key into the correct file going forward
nope
Unless the plan is you doing it for em
I don't think you can lock the farmer in but I wouldn't recommend it either way
the untranslated.json is for the translators convenience but its not what i use in the mod itself
I mean, I definitely can, unless they have a scepter or warp totem...
could you post your Pearl Crops image here please?
if they send me a translated untranslated.json then i am the one that moves it into the correct files after
which gets packaged into the next update i release
also can someone verify that this Target line will actually work
https://smapi.io/json/content-patcher/3235d63b6dc84f69b3e1662d54623788
(rose's mod)
uhh im not sure about the \r\n\t stuff
like i know what those do in text files obv but i dont know what CP thinks of them
some of those target names are missing commas separating them
Ok so like I know this is a SMALL thing, but LOOK THE MOD WORKED!!!!
also RE locking a farmer in: if a mod did that i would uninstall it
congratulation on progress!
congrats!
My doggos are now IN THE GAMEEEEE
Content patcher gone mad XD
Next step...get my other doggos in the game
are they? looks like they all have commas in my text editor
hii! when doing a map, how do i specify from which file i'm using a tilesheet in the code? the map i'm doing has multiple tilesheets files, and each of the file has tilesheets with a unique number in the file, but some of the files has a different tilesheet with the same number. Rn i'm trying to use tilesheet 416 but it's loading one from the landscape vanilla file not from the mod i want. The code is like this " "NightTiles": "Front 64 45 416",
there is at least one missing between Prismatic_Shard_Crop and Pearl Crops and i thought i saw another but the file is very long you understand
yeah, missing comma on end of line 72 of the content.json file
(was busy 5 mins earlier hence late reply)
could you try this content file instead?
https://smapi.io/json/content-patcher/f74d7ad61df64432b0aaff10115560b0
that one ^
I gonna see if its the coma
if not then i have to remove and rewrite the code again :'}
FINALLY LOL
the mods works
another satisfied customer 
Now people can grow pearls XD
LAMO the emoji, its so cursed HAHA
he runs this town 😌
Thanks guys :3, everyone in the modding community is chill
He destroyed the town. Bro too busy with Marine XD
Perfertion here baby 
The hazards of trying to make your mod compatible with another mod
. Didn't realize this couch was missing in SVE.
Thankfully it just looks like you need to move them over one tile to the right in SVE for the chair?
just an head up, i believe wren may sit here sometime
@brittle ledge do i remember right? i think you got a similar issue so it's why it feels familiar
😔 thinking of cutting out the seasonal outfits for my npc. I'd rather focus on dialogue
it's not really how seasonal outfits works, once they are cut they work only for summer, you would need to resew them for winter
joke aside, yes, focus on what you have fun to make
seasonal outfit can be more or less work depending of what you do, but honestly i don't really care if a mod don't have them, they are a +, not the main thing
whoops
whoops what, whats wrong
ah yes the read-only furniture catalogue
"my house is quite minimalist, i have only one furniture."
the furniture :
She does!
you have to move back one tile for LUTI, another interior mod, and apparently also SVE
(but also yes she could potentially conflict with Wren if she sits there during a weekday evening)
im getting abck into modding after about a year, the last time i was modding, it was 1.5 and we used BFAV to make custom animals. i know 1.6 shook up a lot of animal coding, so is there a new program to use?
they're doable in CP now! Silvermoonchan has a lot of BFAV conversions you could reference.
this question implies your house looks like this normally
yay thank you!
(also are you the jorts and jean mod creator? i lub them)
(yes, I am, thank you
)
I sure love Furniture
a full set 🥳
the contraption
honestly just release these test objects as the most confusing mod pack ever
i dont know why but i feel like the table feels pain throughout this process
cjb item spawner is also capable of experiencing agony and regret when you resize the game window
trasmutation table 
did u give any thought to FF's multiple placed item feature 
no, and I will likely not support it
but at least it no die right
probably 
anyone knows what is the audio cue id of the earthquake that unlocks the SPA?
that'd be thunder_small
is the best way to detect if player has at least 1 of a thing still just
utility for each item
like, anywhere in the world?
yea
i was thinking of making a progression mode for machine mod
so i hide say keg until player makes or obtain a keg
there's Utility.doesItemExistAnywhere, which is ofc foreachitem
you could patch the behaviour for picking up an item to add individual mail flags for every single item they ever pick up if you wanted
this is a very button suggestion but it does seem like the least amount of calc 
it is a very me suggestion but i do also think it may actually be better than looping over everything always
as long as you dont mind having a mess of a mailbox dictionary
also it kinda works how the crow shop works so
do some ??? to update that during play
I used to just hook Inventory Changed for that
just update once each day, you don't really need instant updates do you
i would like instant updates
(So in my case as soon as a fruit tree or fruit entered the inventory.)
In that mod I had a multiplayer message system set up to broadcast that info lol
hm although inventory changed has that problem with inability to detect new things
its fine for my purpose which is "obtain once"
if you go the mail flag route you dont need to care whether its new 
i was thinking i do inventory changed + mail flag 
well, maybe not even mail flag
i have 2 other caches for things what is 1 more
1 more is the inability for other mods to access ur mail flags
they cant have it
is that a fuckin challenge
it's a sekrit to everyone except button
oh ok thats fine
i also wonder about like
new in BETAS v3.0: Spiderbuttons.CheckChuCaches action
I also meant to write an iterate the world once
is there a soft limit on number of mail flag before game starts hurging
whats the max limit on a dictionary
i dont think its something to worry about
dictionaries use hashtables anyway dont they. so it shouldnt really matter how much stuff is stored in them right. at least not until you get into absolutely absurd numbers?
how do u reflect into someone else's internal static class anyways
same way you reflect into anything else
if you want the easy way then you can just search every assembly for a type in a namespace
or you can bank on the fact that SMAPI keeps a list of every single mods assembly
and just grab it through there
then you just find the field like you would normally
oh smapi knows the assembly 
for some reason i thought it just knew about the ModEntry : Mod class
dictionaries use hashtables anyway dont they.
Kinda-sorta-mostly-don't-rely-on-it
i will keep this in mind if i ever store millions of items in my dictionaries
Actually, the problem with millions of items is the hash-table-ish implementation, since a copy of each key needs to be stored.
(I have stored millions of items in dictionaries.)
Button gonna make the first sdv mod to have a redis dependency
thats what i meant, its not somethin i expect to need to worry about whether or not i can rely on it until i get to that point
Forget Redis, there is stuff like FASTER that doesn't require external dependencies. But a lower-tech solution is just to compress keys.
And yes I understand this is a theoretical, YAGNI problem for modders.
(Also forget redis because the company running redis these days is doing not so good things and you should use the oss fork instead.)
Yes, also that.
Khloe, since you're online anyway - I don't want to bug you with a ping, but any chance of ModManifestBuilder seeing an update to the build tools to resolve the obnoxious security warning in VS/dotnet?
Yeah I can look into that soon, though I'm honestly not sure what's happening there.
It's a silly transitive package dependency on an ancient version of System.Drawing.Common
Yeah. Which is there for... whatever reason, lol
I probably need to look at what ModBuildConfig is doing again and compare the csproj
Well, it's been removed in the newer build tools.
system.drawing my nemesis
That's why updating the package will resolve it - the dependency is no longer there (because it should never have been there in the first place).
Wonder if there's anything else I need to fix. Can't immediately think of anything.
i never seen this System.Drawing.Common thing
Nah, I had to deal with this in a few other projects, the old version of the build tools package just had an annoying mess of dependencies that Microsoft finally fixed, and decided to "deprecate" the old one by making the vulnerability public.
is it a vs specific problem?
There shouldn't be any changes required on the caller side.
It's a build warning, you'll see it if you build anything with ModManifestBuilder.
Plus VS shows an annoying alert panel for it when you open the project (Rider and VSCode don't).
oh i always build with dotnet build
It's... really no big deal, just a nuisance.
dotnet build will definitely print that warning. I suspect you are not paying attention to warnings.
nop it doesnt
maybe linux thing i dunno
(and so on - the transitive dependency is through the MMB, which is through the build tools, which is through 3 or 4 other packages, one of them is System.Windows.Extensions I think)
there was this warning i been meaning to ask about
~/StardewUI/Framework/obj/Debug/net6.0/StardewUI.SourceGenerators/StardewUI.SourceGenerators.DescriptorGenerator/View.g.cs(197,31): warning CS0618: 'View.IsFocusable' is obsolete: 'Use Focusable instead of IsFocusable when interacting directly with a concrete View.' [~/StardewUI/Framework/StardewUI.Framework.csproj]
it looks like it should stay for backwards compat?
That has to do with the descriptor source generator. I'm just being lazy about that warning. It's not a real problem.
IsFocusable is obsolete but it still has to be implemented, so... yeah. I'll get around to fixing it some day.
(Or just removing the original property if no one is still using it.)
"I suspect you are not paying attention to warnings."
"I'm just being lazy about that warning."
Yes. Part of it is "do as I say, not as I do". But also part of it is that warnings proliferate due to warning noise; since I'm already seeing 10 warnings, I'm less inclined to fix my 1.
I admitted it was laziness, didn't I?
i genuinely don't see the modmanifestbuild warning tho 
You'd love thr 2k+ warnings my repo current has
mystery
||I hate those warnings||
I've been through that at work. Been on teams that didn't care about warnings, and just let them pile up. Or worse, monorepos with an upstream dependency whose team didn't care about spurious warnings, or just expected everyone downstream to drop everything to deal with their new warnings.
It's a real problem when you need to debug something. Good luck finding your one relevant warning in the soup of 10,000 junk warnings.
I prefer to get down to warnings 0 but I would like to declare warnings bankruptcy
Oh wait, I did
(90% of them are from stylecop too.)
Yes yes.
I don't count style warnings as warnings... are they actually set up as warnings and not suggestions?
Yeahhhh
Hah, well, that's on you...
yeahhh
part of the problem is that stylecop is aging (it doesn't, say, understand records at all.) so
I Should TM switch to something else but then it becomes something else I Should TM do and I don't wanna (insert whining voice.)
I have not used stylecop since ever. Since it was called fxcop. Actually, I'm not even sure if they're the same tool or if it diverged at some point. That's how long ago I stopped paying attention.
I just throw on csharpier-msbuild and call it a day. Could not care less about nonsense like perfect consistency between var foo and int foo.
Doesn't help VS randomly crashes my computer these days
Lol
I think the universe is telling me something
That you need a new computer? I don't get random VS crashes.
another cup of coffee oughta fix it
I mean, yes, I could upgrade my computer but I'm loathe to put money into it when I don't think I use enough to justify
Fair enough. Same reason I don't upgrade my car.
Still, if my car were randomly crashing, I might upgrade anyway.
I put my name down for "possibly buying a laptop off my workplace if one comes up" but we don't think one will soon
thank you!
i may have gone slightly overboard. last one i promise 
lol, it's "Where's Waldo" except Haley is Waldo.
i need the creacher on the wall
that giant Luna head is awesome
he is trying to reach the moon by himself
Can I put in a future request for Diana or the Amazoness Quartet plushes? XD
sorry, i haven't watched past R 
You're going to need a bigger basement.
yes
Is the tile you set NightTiles on from a custom tilesheet? if it is, you need to set a dependency for that custom tilesheet in your mod's manifest and it will automatically choose the right tile even if there is a vanilla tile with the same index. also, there is no field for specifying a source tilesheet for that Day/NightTiles
I'll try that, thanks!
in general when using a custom tilesheet you always set a dependency, bc otherwise you would have to put the assets in your release folder, which afaik is forbidden in all custom tilesheet mods (or at least ones i've ever used)
oh that's a nuisance, i wanted a passable furniture but setting the collision size to 0 0 means it just gets a 1px bounding box in the bottom left
maybe he can be a rug instead
actually yeah 0 0 decor is bad, this flat cat can't be picked up again
cat behavior
Im having problems converting CP-A mods to Spacecore. They dont animate after converting
actually diana cat pet would be way too cute
artemis has a job so he's not on the menu. need him for sailor styles shop
real question, bluebs
are thesee sailor saaturing characters
(also I have to say my keyboard is on the fritz)
thus the questionable tping
i don't know what saaturing is 
sailor moon characters 🤔
sailor saturn
sailor saturn is one of the sailor scouts.
god I'm finally updating my ubuntu
I was able to convert a CP-A mod to SpaceCore, but we would need more info on what type of thing you are converting and probably your JSON
that's when users install SAAT in 1.6 and try to get it to work instead of yeeting it
sailor saturn appears like 100 episodes into sailor moon lol
literally not seen her appear yet
blubs I'm old and ttirrreed aaandd have nevverrr watched sailor moon
🤔 blueberry did you not fully watch all 200 something episodes of dailor moon
Was that before or after DBZ came on the scene?
Trying to gauge how old I am by westernized anime standards.
i'll be honest with u shrimpy it was a struggle to finish the second season when chibiusa came in
idk i never watched dragon ball haha
😭 ive finished the whole thing
dbz?
dragon ball z
dw i'm watching ranma '89 now which also has 200 episodes
damn ddo I need aa winterfest name

dbz is 1989 while sailor moon is 1992, but idk when each made it over to the west
pmuch same era anyhow
hey, annd lady gaga loooks old now
i told myself i'd watch sailor moon crystal too
I remember listteenning tto herer r mmus
i got halfway because the other seasons weren't out at the time
guys, quick question how do you sell tiger slime eggs?!
you're very much in the wrong channel
thanks
😔 how did you get lost in here
Iii assummme sell in a shop?
my bad
orr something
atra are you a evil super AI getting shut down manually
this is #tv-and-comics, you're looking for #stardew-valley
yes
are you gonna start singing daisy bell soon
you of all people not understanding the daisy bell thing is surprising
"Daisy Bell (Bicycle Built for Two)" is a song written in 1892 by British songwriter Harry Dacre with the well-known chorus "Daisy, Daisy / Give me your answer, do. / I'm half crazy / all for the love of you", ending with the words "a bicycle built for two". The song is said to have been inspired by Daisy Greville, Countess of Warwick, one of th...
correct
i have no idea why u told urself this
will vouch og ranma is hilarious & very weird
The animated fish (vanilla, sve), Clothing, and Gemstones mod
!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.
Share your content file so we can check to see if there is anything missing
Kk gimme a bit. Not at pc rn
so it's kind of frustrating that a character's offset at their scheduled destination depends on the direction they were coming from. Is there a way to force their position to be independent of that? if that makes sense
like I may have to have an animationDescription that accounts for approaching the tile from the NE, and a different one approaching from SW
Are you not using the facing direction?
I do put in a facing direction but does that change the offset? I guess that didn't occur to me but that makes sense
You can also change the offset in the animation piece of the schedule string
OK no that's not it.... here's what I mean. Here is one schedule and the result: 000 Saloon 14 21 1/610 Saloon 19 20 3 {{Shannon}}_stool_bar
Ah
here is another schedule and the result: 000 Saloon 33 18 0/610 Saloon 19 20 3 {{Shannon}}_stool_bar
in both cases I am using the same destination coordinates and animation / offset
but the travel direction is opposite
oh this is just a regrettable(?) feature of how NPCs determine that they're done moving
depending on the direction they enter the tile from, they can be off by several macro pixels in that direction
right, so I can plan to have two different animation descriptions depending on where the NPC is traveling from, I was just seeing if there was a better way, and I guess there isn't
yeah i don't think so
OK thanks for confirming
!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.
also @tiny zealot I noticed your use of the word 'macropixels' and I'm not sure what that means, but I did notice the offset didn't seem to map 1:1 with the character pixels. Can you explain? Like if I want to move my character one 'sprite pixel' to the left is that like 5 or 10 'macropixels'?
oh, sorry! most of stardew renders at 4x, so typically i call screen pixels "micro pixels" and 4x pixels "macro pixels"
no apology needed thank you just something I didn't understand, and now (maybe) I do, thanks.
Weird error its says a mod don't have manifest json files how do I fix
!mh
For help with modding issues, please ask in #1272025932932055121! When asking for assistance there, sharing an error log will help others identify your issue (see https://smapi.io/log for instructions).
Usually re-download fixes that
characters are rendered at 4x but move by screen pixels, so just saying "off by a few pixels" could have been ambiguous and i felt the need to clarify which pixels i meant
i just banged out half a heart event after not having any idea for weeks
🤔 sometimes i wonder if i have too many
usually u dont get events at half a heart
I assume he means half of the event, not an event that happens at half a heart
ahaha, yeah half of my npc's 8 heart event
hmmmm. i dont think so
😔 you don't think so?
nope 
I still need marriage events for my two NPCs but I haven't felt inspired yet
and you don't wanna just half-🫏 it because committing to marry the NPC shouldn't be a disappoinment
(by the way, Forsy doesn't use he/him pronouns)
sorry my mistake
If you don't know and someone doesn't have their pronouns in their Discord bio, it's best to use they/them
(i do, actually haha.)
I don't really mind what people use for me
So i never really thought to put it in my bio
Is there a way to check if the player has requested to upgrade the farmhouse? Like right after you press "yes" in the first picture? I found upgradeLevel and currentlyDisplayedUpgradeLevel in the FarmHouse class, but that seems to only upgrade once the farm physically has been upgraded.
Oh, sorry! You mentioned ages back you're fine with whatever except for he/him. I'll update my note then 😄
probably Farmer.daysUntilHouseUpgrade
where are the sprites for the item crops stored?
I answer to it/that 
Maps/springobjects for the item sprites, Tilesheets/crops for the crop sprites
i am starting to hate springobjects and how it seems everything is in there but i keep forgeting about it
Welcome to modding 😆 It's a running joke that everything you're looking for is in either springobjects or Cursors lol
almost everything is
.q 6218
It's not in Cursors
There's no way it's in Cursors
... it was in Cursors
- @tiny zealot (Jump)
And the boulders for some reason
i am surprised that it is not just one mega sized photo
also the beach farm boxes are in there
Sure, it's 100 % menu tiles
the stars and spirals from the totem warp are definitely in cursors. not far from alex's mum, construction guy, some seagulls, and the entire ocean
in objects
Ughh menu tiles
But why is in maps
Those are objects 
And i never found kt
do artifact spots only have 1 sprite?
nvm
why is only one frame of the artifact spot in spingobj?
because
For the error item artifact spot
there are unused sprites in there, namely the smashed sprites next to some of the items
i thought those were used
nope, the only item-break animations are from TileSheets/Animations
wow there are a lot of unsed
also the meat sprites are unused
slised melon for example
Technically the broken egg is used ||in Sam's heart event||
wait there is an empty plate!?
Ys
I guess CA initially planned for every item to be breakable, before calling off the idea after texturing the first 30 or so, out of 600
?
In springobjects
i have never heard of that
6 heart event, she asks you to find her grandma's missing bracelet
Iirc it even has a description and everything
I wonder if spoilage was a planned mechanic
Frankly I'm glad that isn't in vanilla
there's even a function for rotting items in the code, though its only usage AFAIK is to rot the pumpkin lamps
is top left unused?
the fabled Weeds
Aside
(yes it's unused)
so it is?
https://stardewmodding.wiki.gg/wiki/SpringObjects_Coordinates has a list of objects
This is a table with co-ordinates for every sprite in the springobjects.png file. To use, reference the X and Y values in the row and column headers - eg: leek has a column header of 320 and a row header of 0, so its co-ordinates are 320,0.
I really wish the golden clock stopped my pumpkins from decaying tbh
I just want to decorate 😦
sounds like an easy enough mod to make
thx
must... resist... spinning up... new project...
I wonder why that's not in Farmhouse 🤔
there's really nothing stopping you from adding a new identical object via CP with the jack o' lantern sprite 
think of the DP.
tbh im kinda surprised i couldnt immediately find an already existing mod that stops them from rotting
Okay, when I changed the validator to check for Content Patcher, it got REALLY upset with your configschema entries, which may be part of your issue since your animation patches are dependent on the config option being selected.
You should remove AllowMultiple unless your intent is to make it true, since the default value is false anyway.
@latent mauve: You can make a mini-mod specifically to add a shop entry that I can change the item queries on for what should probably be standard food tags. (5d ago)
would it detect "Richard I King of England"
It also changed you to I on its own!
Nah, Uber wants to use my mod, based on this wording. xD
they need to make a mod to change the item queries on it!
Uber has been upgraded with GPT technology.
It's now almost as smart as a cockroach.
They don't, though, Button! I MADE the mod already and it uses predefined config options to make dynamic tokens that are used in the Item Query for the context tags
I also abandoned the idea of actually doing anything further with it because not a single food mod that I downloaded to test with used a single consistent context_tag
which was very depressing
but Uber wants to change the item queries, you see. so it needs to make another mod to patch over your edits
i guess itsu p to uber to clarify whether it means that or means it wants to change the e ntire item query field entirely
we'll get an answer soon im sure
LOL
.choose I meant via config, I meant change the item query field entirely
Choose result: I meant change the item query field entirely
wellll welll welllllllll
adding on to this, please update your Content Patcher Format to a more recent number: 2.0 is VERY old and may not support some of the actions you're trying to take. Current is 2.4.0
Remind me in 5 years to steal the death sculpt of Richard I the Lionheart
don't you have like a cell phone or something chu2.718281828459045235360287471? it can do the same gosh darn thing and then I can be lazy. but okay, I'm on it. (#6405983) (5y | <t:1891317238>)
Yes 
uber is too smart unfortunately
you better not cancel that reminder
better not leave the server until you receive it too
this is fucking me up why did you ask for 5 minutes. do you just like waiting for fun
because 5 seconds didn't work
i like my theory better
do you think uber would respect 300 seconds. or isn't he all that smart
does not respect the keyword second at all, can however give absolute time or just 1 minute
how would i go about making a content patcher mod that edits an existing item example like triple shot expresso to give more health and energy? im new to making mods but have a rough idea how to use json
!cp you would edit the item's entry in Data/Objects
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.
!unpack unpack the game to see where to edit
Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!
cheers
nonuple shot expresso 
Edibility is the trait that determines the health and energy, per the wiki
"Edibility: (Optional) A numeric value that determines how much energy (edibility × 2.5) and health (edibility × 1.125) is restored when this item is eaten." <-- That will be in the Object data for the Triple Shot Expresso
weird cause i just ran that one through the converter
Double check your Format number also?
I think that's more likely to be the issue, we are currently on 2.4.0, but you should at least try to use the most current version number of Content Patcher for whatever version of Stardew you are targeting with your mod.
Your JSON showed 2.0, which is... Very old.
2.0.0 is as old as stardew 1.6 is, which really isnt that old. not that im suggesting you dont use the latest when possible, ofc
(2.0 is equivalent to 2.0.0, which is for SDV1.6.0)

