#making-mods-general
1 messages ยท Page 107 of 1
Ah
its all moddata and not customfields
i hope this means the framework lets me draw funny shape to use with my watering can
it does if you accept json strings
extension assets are definitely the better way though
im just reiterating what they were talking about last night
That's a horrendous idea. Converting SpaceCore to require that now
I cant remember if the new Data/Tools allows specifying moddata to initialize
ah yeah it does
but it means it only applies on tool creation
so just loading the mod wont make existing tools powerful
Yeah, that is a big problem with it
custom fields is definitely the better option
Or good depending on use case I guess
(Mainly for custom tools)
(Which I know blueberry has been really enjoying exploring the implementation of)
if they are doing custom upgrades then its useful, but customfields could have done that anyway iirc
it's too bad stardew uses type checking for tool type. it would be nice to be able to make a paxel
or I guess just a paxe since shovels don't exist in stardew
Be the change
it's too bad stardew has all these custom types for tools and still just lumps all the custom behaviour in a couple of methods around the world that simply check for the type anyway
Is anyone interested in updating a couple of mods? I think the mod creator has quit and has given permission on his page to anyone that wants to update, or use his mods in creating other mods. As long as he gets credit for the original.
im interested in teaching you how to do it
you are? I am like illiterate when it comes to mods.
!anyonecancook

where do I start?

Yes. and there is NO ERROR. Nothing at all happens.
ig u also gotta tell us what mod
If it's nothing at all, then I'd guess it's a content pack for some framework that isn't installed.
zyr's Multipurpose shed
Make sure you look at the trace log, too, and if it's a patch, run a patch summary.
ok, it's a CP mod, so first thing is checking the paths in the content file
To make sure the targets are right
I don't know how to do that either. It used to require extra map layers, but on his page, he said to delete the dependency, so I did.
And there it is, Extra Map Layers.
Isn't it built in now though?
Is that installed?
Extra Map Layers won't likely need to exist since its obsolete, but you MIGHT need to rename the layers on the map files to align with vanilla
another thing to do is update the content patcher version
2.4.0
*the format version in content.json
Ok. Just type that in place of the last?
this part disables cp migrations, which could have failed to correctly migrate mod but hid the errors
I don't see a reference to Content Patcher in content.json
Oh.
ok i was looking for CP Or Content patcher, etc.
Is that all I need to do?
huh. That mod looks like it uses Dynamic tokens that are set by the config, but the actual asset FromFile for the shed is looking for {{Layout}} which isn't actually set as a Dynamic token. Maybe they just missed that one?
Try running the game with the Format changed and see if there are errors now.
Also I just checked the map files, no renaming of layers needed, they already follow the vanilla structure for the bonus layers (Back, Back1, Buildings, Buildings1, etc.)
what do back1 and buildings1 do different from regular back and buildings?
They draw the tile on top of the normal layer without the number, in the order of the number.
(they're also purely decorative, and no tile properties or collisions will be checked)
It's for visual drawing layers
(you can also apparently do silly things like add a -1 instead to draw under the base layer, though I've not tried it.)
I feel like that would require so many transpilers it's not funny
Be the transpiler you wish to see in the world
its slow to load but so far I've got a bunch of red. But nothing refering to this mod.
!log ?
Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.
Please share your SMAPI log file. To do so:
- Open this page: smapi.io/log.
- Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
- After uploading, it will show a green box with a URL to share. Post that URL here.
Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didnโt occur in your last session, please load the game to the point where the issue occurs, then upload the log.
Hilariously shovel did have an insane number of transpilers
Log Info: SMAPI 4.1.7 with SDV 1.6.14 build 24317 on Microsoft Windows 11 Home, with 110 C# mods and 267 content packs.
oh I meant making a paxe, but I can only imagine what went into Shovel
you want the tool, you play the fool
Trynket, try running a minimal setup if you're trying to fix a mod specifically. Only the mod and its dependency to start.
maybe I was the tool all along /jk
The rest of my sanity
ok. I can do that.
Thankfully, a year away seems to have restored that
you can figure out the mod conflicts after just in case
but then when I go to check out the mod won't I lose a bunch of stuff?
I was thinking about what it would take to make a paxe yesterday lmao
I think every time I start a new save I have the thought "I fucking hate having an axe and a pickaxe"
Or should I start a new save just for testing? I need to be able to upgrade my shed.
Make a new save to test with
i mean ๐ค this is why you do a new save
ok
There are debug commands to give yourself money and items to test a shed build and upgrade quickly on a new disposable save. >_>
the mods i always keep for testing are cjb cheat/item spawner, noclip, debugmode, etc... because i kinda hate console commands ๐ญ me and my fat fingers making typos 5 times ina row
so you need to reinstall custom backpack, for one thing.
there's also something feeding nulls to a dictionary, but I'm not sure what without looking at the code for CopperStill
I talked to someone about CopperStill. ITs linked to Cornucopia. There are a few issues so they are working on it but it still works.
based on the code it looks like some mod has an item with a null name
Quest article on the mod wiki is a stub and the only thing in the migration guide about quests is that they have string IDs. So I'm guessing there's not an easy way to mod quests with CP and I should convert my void ghost pendant mod to a special order instead of a quest? Quest framework is obsolete and the mod list doesn't list a replacement for it. Thought I'd ask before I make a poor attempt at a CP patch for my three-part quest that is doomed to fail.
it's kind of weird that it's not just using the ID instead
Does is say NULL . If i searched for it would that be it or would it be blank
I think 1.6.9 changed stuff with quests, so it may be possible now. I haven't looked at quest stuff since the update
if you are searching json files it will be null
Quests are doable in 1.6, I believe, I just don't think anyone's looked into it enough to write a tutorial for it?
I know it's come up a few times and it seems like people have had success
So, now How do I check this for errors? Its a brand new vanilla save. How do I get a big shed? LOL
It only works with the Big shed
That would make sense too. Perhaps I'll give it a shot. Worst case Pathos sees me posting and comes to my rescue lol.
CJB to get the materials to build a shed, CJB to instant build, CJB materials to upgrade
Ok I have been playing with CS Critters and I am still not sure how chancy is chance 9-9
Ooh I wonder if RSV did it. Time to dig through their files.
Do i have to put a value in x and y?
Yeah, depends on where the issue is happening, I generally just test by doing stuff as close to as regular game behavior to make sure it's working as I would expect
the issue is that NOTHING at all happens. its like the mod isn't even loading, it doesn't show errors in the log, or anything. I'll load with CJB
also sidenote thank you so much @rancid musk for the manifest builder package, it's a lifesaver
How did this mod of mine ever work? I can't tell anywhere in here where I ever told it to trigger the quest only when reaching 10 hearts of friendship with Krobus.
it's perfectly possible that it didn't work at all 
how many quick questions can i put in one quick question
It had to have at one point or I wouldn't have released it (and would have had a bunch of comments about it on nexus) so ๐คทโโ๏ธ
Are you asking how many options you can have or whether you can have more than one in an event?
like, ex: if i wanted to make branching dialogue
oh, so you're asking whether you can nest them? Pretty sure you can, yeah
ooh
Yep, you can! I have nested quickQuestions that lead into sub-branching events in Secret Forest Walk if you want an example
Well, not specifically nested questions, but I use switchEvent to move to a sub-event for the branches
How to make sprinklers temporarily cannot place 
Ok , so I loaded a test save, with only the shed mod, CJB Cheats and Item Spawner and Instant building. I got an upgraded shed. Nothing. when I open my menu and go to the controller tab, and scroll down, there's NO option to configure mods.
I show no errors, red or yellow.
any ideas?
Did you install GMCM?
haha.. no.
anything else I should install? haha.. as you can tell this is all new.
Mmm, my test list usually includes Fast Animations and Skip Intro but they aren't necessary, just gotta make sure Console Commands is still in there as well
And CP if this is a CP mod
https://stardewmodding.wiki.gg/wiki/Recommendations:_Playtesting_as_a_Modder has some useful mods for play-testing
So you decided to create a mod? Congratulations! Whether it was your long-standing dream, or just got peer pressured into it by Calcite, there's a place for you among Stardew Valley modders.
Now, with your code ready and armed with some courage you're about to start the long, grueling process of... Playtesting. While some easy little tricks can ...
Can we peer pressure you into playing the gamw
Maybe, I am pretty susceptible to "ooh, this thing my friends are playing looks fun, I want to play it too" ๐
wait, modders are still allowed to play the game?
only when we're good
I dunno, peer pressuring you into modding again hasn't worked well ๐
Wait... aquarium...
Eh, that isn't likely to ever work
Ok. Nothing. ๐ฆ
Bad modders get put in the scope creep machine
You know what they always tell kids. "Give in to peer pressure!" Or something like that, right?
Is that Console Code?
(Let's ignore I'm semi on a modding break myself)
Is what console code?
this post
Hey, you're taking a well deserved break
ConsoleCommands is a mod that ships with SMAPI
I am trying to update a mod and I am new to this so, I am getting help.
oh.
where do I load that?
Along with SaveBackup
If you delete them, you'll have to reinstall SMAPI I think
I'm not sure if there's a better way to get them back lol
"everyone has console commands, it comes free with your smapi"
If you just moved your mods out of the Mods folder, just move ConsoleCommands and SaveBackup back, but like they don't matter for testing per se
ConsoleCommands is just nice if you want to avoid having things like CJB for whatever reason
Today in "why isn't this working" coordinates that are out of the possible screen view are pretty worthless
Unless your intention is to hide something where you'll never be able to see if it's working
Anyone recall what uses conditions formatted like "z winter"? I found a working mod that uses CP to create new quests but it uses those conditions not the more layman friendly "season winter" noted in CP's docs.
yes unless someone else has already 
(one of the horse storage mods used a chest out of sight iirc)
Didn't console commands get replaced with default cheats?
events?
Ultimately, not having ConsoleCommands won't affect your mod working
Default On Cheats it looks like.
I don't think console commands went anywhere
Unless it's Lacey maybe? Because of the reflection lol
I definitely still have Console Commands
Not sure if that's still a thing at this point
console commands has not been replaced
i'm pretty sure ichor hasn't committed that much of a crime
where is console commands going
Oh I had it confused with chat commands
OK I moved it.
Well, I know for sure ichor had I don't know if it's still being committed though
Sorry my bad.
Why would you though
With mumble global inventory right there
ConsoleCommands is not in the mod folder. Its in the Stardew Valley Folder where the MODS folder is.
Oh yeah, it doesn't go in your mods folder, it's a mod for SDV
It goes in SMAPI's Mods folder
Ok
Just like all the other mods I suggested
Yay NightTiles works. \o/
Yeah y'all no longer need to be so hackish lol
is yall's console commands not in your mods folder?
I'm confused. It was in my Stardew Valley Folder, then in that folder was Mods, stardrop installed mods. etc.
I don't really know what to tell you about Stardrop, I don't use mod managers
If you're using Stardrop to test with, you need to figure out how you're supposed to have everything set up, because it's gonna be different from just slapping shit into your Mods folder afaik
stardrop should be identical
Inside the Stardrop Installed Mods folder should be mods managed by Stardrop.
I"m not I am loading with team
Any mods outside of that folder would not be managed by Stardrop and would always load.
With just Steam or did you set it up to launch SMAPI?
not true actually, it manages every mod

the folder thing is just a convention one that you can totally disable by just setting the "Stardrop installed mods" folder to be the same as the mod root
If Its the same, I get conflicts that say I have the mod installed twice and I need to remove one. I can have mods in both folders, but not the same mods.
yes, that's how it works
I can load the game via Stardrop, and it will load only selected mods. or steam, or smapi, both will load all mods in the mods folder.
Aa I see. I guess I assumed that because Stardrop doesn't detect Console Commands and Save Backup.
But, I am trying to get this particular mod to load. No errors, no conflicts, just nothing happens.
i'm kind of lost in the context here, you're not necessarily supposed to see anything about console commands
if you type into smapi something like, debug warp farmhouse does it do it?
yes.
ok then it's working
yeah Stardrop specifically hides Console Commands and Save Backup by default
you are now free to utilize https://stardewvalleywiki.com/Modding:Console_commands
It's not Console Commands they're having trouble with
if they show up in logs, they are working
๐ค how do i go about making a dummy npc (aka one who only shows up in events)
So, the mod shows up in my log, and says it loads just fine, LOG:
19:10:40 INFO SMAPI SMAPI 4.1.7 with Stardew Valley 1.6.14 build 24317 on Microsoft Windows 11 Home
19:10:40 INFO SMAPI Mods go here: C:\Program Files (x86)\Steam\steamapps\common\Stardew Valley\Mods
19:10:44 DEBUG SMAPI Waiting for game to launch...
19:10:46 DEBUG SMAPI Loading mod metadata...
19:10:46 DEBUG SMAPI Loading mods...
19:10:47 INFO SMAPI Loaded 5 mods: This section is hidden. Click here to show it.
19:10:47 INFO SMAPI Loaded 1 content packs: This section is shown. Click here to hide it.
19:10:47 INFO SMAPI (CP) Zyr's Immersive Multipurpose Shed 1.6.1 by Zyrnathos | for Content Patcher | Redesigns the shed to be more useful and, hopefully, visually pleasing. Immersive Version - Big Shed Only!
19:10:47 INFO SMAPI Patched game code
19:10:47 INFO SMAPI --------------------------------------------------
19:10:47 INFO SMAPI These mods directly change the game code. They're more likely to cause errors or bugs in-game; if
19:10:47 INFO SMAPI your game has issues, try removing these first. Otherwise you can ignore this warning.
19:10:47 INFO SMAPI - GMCM Options
19:10:47 DEBUG SMAPI Launching mods...
19:10:47 DEBUG SMAPI Mods loaded and ready!
19:10:49 INFO SMAPI Type 'help' for help, or 'help <cmd>' for a command's usage
Its the Zyr's mod I am trying to get to work.
!log please use this
Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.
Please share your SMAPI log file. To do so:
- Open this page: smapi.io/log.
- Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
- After uploading, it will show a green box with a URL to share. Post that URL here.
Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didnโt occur in your last session, please load the game to the point where the issue occurs, then upload the log.
It just doesn't do a thing
type patch summary in the console and then upload the resulting log
Log Info: SMAPI 4.1.7 with SDV 1.6.14 build 24317 on Microsoft Windows 11 Home, with 5 C# mods and 1 content packs.
you havent typed patch summary
I did type Patch summary. what do I do with it? its long
upload the log to that site like you just did
Log Info: SMAPI 4.1.7 with SDV 1.6.14 build 24317 on Microsoft Windows 11 Home, with 5 C# mods and 1 content packs.
ok, minor correction on my part: do that again but when you're in game and the save is loaded
(also in case anyone else ever asks you for one in the future, just know that they will also expect the command to be run when the save is loaded too, since thats when most of content patcher's tokens are ready. cant know what the location is before you're in a location, for example)
i think expanded preconditions utility used conditions like this, mimicking the (old) event precondition style
Log Info: SMAPI 4.1.7 with SDV 1.6.14 build 24317 on Microsoft Windows 11 Home, with 5 C# mods and 1 content packs.
Button, ok
Boo. The base quest data in the game is slash delimited string (is that what it's called?) that doesn't allow for non-gold rewards like friendship or items. At least not that I can decipher. Nor does it allow for triggering a letter afterward. I realized that the mod I thought was editing Data/Quests was actually editing Data/Events. Sigh.
have you made any other edits to this mod besides removing the extra map layers dependency?
I'll have to see if I can trigger the letters with HasQuest or something and attach the rewards to that. Unless Pathos swoops in and tells me that quests have been changed in the back end so I can use fields like game state queries for conditions and such.
cosplaywrite, I think Pride in the Valley adds some quests, could check their code?
quests are limited like that, but you can have your quest's completion conditions trigger an event, and in the event you can complete the quest via event command, and also do whatever else you need with action
you can if your quest completion involves giving someone something too, you can put the action directly in the quest data as part of their reaction dialogue
(also yes its a slash delimited string)
ooh, good point from button
while i'm here, which of my crimes are we talking about in this case? ๐
Lacey's ConsoleCommands reflection
what happens with lacey's console command if consolecommands is not installed
Button saving the day lol. My third quest in the string is supposed to give the player the void ghost pendant. Afterward the player is supposed to get a letter from the wizard and a friendship boost with him.
But yeah, I would like to know if Lacey just explodes if someone removes ConsoleCommands
I changed the Format to 2.4.0
oh, okay, yeah. i did not consider that case whatsoever, since i consider it a broken installation. i guess i could find out
(Nothing)
And, on the posts on the mod page, it says to remove the dependency for extra map layers. It show how to do that on his page. Also gives permission to use and upgrade this mod.
Console commands just adds. Bunch of console commands
The system itself is on smapi
And the command lacey calls is in CP
Now
Ah
If Pathos were to rename the command
Are we running out of ideas for this mod?
i also call one of my own, to be fair, which is part of why i use the queuing setup
im not actually sure why theres a bunch of HasFlag:HostPlayer things its complaining about, because i dont see any such tokens when i downloaded the mod
https://smapi.io/log/f143cce9bf004c06a99bb14e646833a4 honestly there's probably bare minimal that would need to be edited
Log Info: SMAPI 4.1.7 with SDV 1.6.14 build 24317 on Microsoft Windows 10 Home, with 3 C# mods and 1 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
I don't really know how to edit. I was learning .. ๐ I don't see anything wrong.
i am lost then, what was the initial problem?
I have no idea
The initial problem is that I get no errors or warnings but it does nothing.
wdym does nothing, It Just Works โข๏ธ
this is not what the shed looks like base game
oh i see, i downloaded the non-immersive version
yeah i think we both did
I mean I enable it, I go to my bigger shed and it still the same.
OOOOOHHH maybe I need to do that.
if you get annoyed with the "update this"
just open up the mod's manifest and set it to version 1.6.1
you have the immersive version
Did you enable it before building it?
My brain is broken. Gonna step away from it for the night.
which means i must ask, have you completed the requirements that the immersive version sets for it to unlock the bigger shed?
(if its currently 1.6 (or 1.6.0) setting it to 1.6.1-unofficial-<your-name> will make your version newer, but if an actual 1.6.1 comes out it will correctly warn again)
do you need to use the[Emily_Name] [Emily_Objective_0_Text] format for special order strings in custom entries?
there is an actual 1.6.1 and that's the immersive one that we were talking about, oh, so just bump it up to 1.6.2
special orders feels like a thing that will bake into the save file, so probably
Ok I thnk thats what happened. I updated it to the new version and it was the immersive one.
is this SpecialOrder Objectives?
every localised string in data/specialorders entries
special orders seem to manually strip away the [ and ] and just load the rest as a translation key from Strings\SpecialOrderStrings
i can't use localisedtext or i18n instead of patching into specialorderstrings?
theres a Tokenizable String parser for it but apparently thats just not used lol
you might be able to just give it a string
that did it.
why do i always run into the worst patterns 
it works now.
i think if it doesnt find a [ with a matching ] in it, it'll just return whatever is there
Oh thank you everyone. I am so happy to ahve this working. I love this mod. I dont know why but I just do.
glad its all good now!

(that said blueberry you cant use localizedtext tho bc it doesnt run it through a token parser)
CP i18n token should be fine though but it wont update again after
the relevant code is in SpecialOrder.MakeLocalizationReplacements which is used for SpecialOrder.GetName()
which uses its questName value, which is set to whatever is in your Special order data
though i forgor you asked about more than just the name
Hmm I'll figure if sprinklers can be with mistyspring.ItemExtensions_OnBeingHeld trigger
ok yeah just took a peek, yeah thats getting baked into the save big time
the same MakeLocalizationReplacements is used for its general Parse method tho so maybe its fine idk
Will soon send for help, dis making me lose sanity
the trenchcoat? when he goes to the movies with you
oh wait not those
the world* sprites? or his portraits?
World
i know SVE uses it for one of his heart events he do a little jiggy
the square brackets stuff are used to reference Strings\\SpecialOrderStrings:<Whatever> but you can just use i18n when editing that strings asset
considering i can't read anymore i think that means it's time for me to go to bed 
i feel so lost without having played any of this new stuff, i can't even find where the unique special orders are added
like sure the normal ones are at the board but qi challenges and d. festival orders don't even show up in the data files
Same
oooh there's a qi qallenge board
maybe i can just set one from dialogue or something
Guess you'll have to play, you know for research purposes
lol no
its in Data/SpecialOrders for me...
when i say add i mean to the player's quest log
yes they're in their own data file haha
special orders like that show up in FarmerTeam.specialOrders not the quest list
as farmhands share the same special order instance
aren't special orders shown on your quest log?
the quest log shows both FarmerTeam.specialOrders and personal quest list
/// <summary>Get the quests which should be shown in the quest log.</summary>
protected virtual IList<IQuest> GetAllQuests()
{
List<IQuest> quests = new List<IQuest>();
for (int j = Game1.player.team.specialOrders.Count - 1; j >= 0; j--)
{
SpecialOrder order = Game1.player.team.specialOrders[j];
if (!order.IsHidden())
{
quests.Add(order);
}
}
for (int i = Game1.player.questLog.Count - 1; i >= 0; i--)
{
Quest quest = Game1.player.questLog[i];
if (quest == null || quest.destroy.Value)
{
Game1.player.questLog.RemoveAt(i);
}
else if (!quest.IsHidden())
{
quests.Add(quest);
}
}
return quests;
}
i think ive confused us both. i was just wondering where in the game you happen to be given (in gameplay) unique special orders lol
events, trigger actions, etc can just start special orders
but dw, ive found it
including the special order boards
there is the AddSpecialOrder <order ID> trigger action, so anywhere that can trigger actions (like dialogue's $action, events action, mails %action, along with the triggers themselves)
buffs and museum rewards actions my beloved (ive never used them)
(mail can also do %item specialOrder)
shops is another big one tho dont forget that
gotta love the addition of trigger actions to cause duplicate paths in various ancient engines
(which I think is necessary for the fancy accept button to show up)
(the trigger action just adds it silently)
ah yeah that would be true
How would I mod SVE? just some contentpatcher stuff.
That way lies madness. But generally yes CP.
It's similar to modding the base game, your targets just have to be the ones SVE creates and you generally should set your mod as dependent on SVE so it's load order is correct
I would look for a mod that edits something from SVE to find an example of it being done
Okay so seeing as I'm genuinely considering doing this, I come with a question
I'm already looking at the wiki for unpacking .xnb files, but I'm mostly just wanting to know what file would have the graphics for the grass/path tiles that are all throughout the valley
I ask this cause I noticed that 1.6 had added in new tiles, and as those aren't in Eemie's Map Recolor ((the one uploaded on ModDrop)), and the person who uploaded the mod is AFK forever, I thought "Hey, I can recolor things, it'd be supposedly easy"
But a bit of guidance wouldn't hurt, I'd think
Once you've unpacked, they'll be in Maps, as for which ones they are the easiest way is to use Tiled and open the offending map and see what tilesheet is being used there
!tiled is this the command
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
Hey hey
I see I see
It's a map editor, basically
...okay ngl, for someone like me, this is all a little more complicated than I thought
Basically all you need to do is compare the files in Eemie's mod with the unpacked vanilla files
Hit enter too early lol, one sec
And see which parts are missing. Pretty much all of the 1.6 files are in separate files, but Eemie's was never updated for 1.5 either, I think, so you'll have a bit more to do there. Once you've found anything missing, you just recolour the missing textures and delete everything that you're not recolouring so that it's a transparent file with only the recoloured bits
For the coding, it's just a simple EditImage code probably with an overlay. You can check the code for more recently updated recolour mods to see how they do the same thing, but the basic concept is also explained in the Content Patcher documentation
hhhh, the coding part I may need help with
I'm not exactly super confident when it comes to doing that part myself
That's fine, you can give it a shot and ask for help in here
But for the recoloring part, it'd be as simple as:
- Using StardewXnbHack to unpack the files and getting into the Maps files
- Compare the files there with the ones in Eemie's Map Recolors
- Recolor the textures that EMR doesn't have, saving the changes once made and getting rid of what's not needed
and honestly yeah I think that'd be what I'll do
I'm mostly just wanting to make sure I understand what's needed for the recoloring part of this
Haha sweet, I understood correctly
Well so far, at least without going to Calico Desert, I have an idea of what would need recoloring around the valley"
Grass tiles, specifically in the lighter grass and grass around paths
Ground around water
Some trees, like the Mahogany ones
Possibly the big trees in Cindersap Forest
can I/how do I add conditional recipes? like, one version of a recipe for vanilla one for when someone has SVE installed for example?
This is my cooking recipes for example, but I'd want to add butter to these 2 if the player has SVE since SVE adds their own butter.
"Changes": [
{
"LogName": "Recipes",
"Action": "EditData",
"Target": "Data/CookingRecipes",
"Entries": {
"{{ModID}}_Cooking_GarlicBread": "216 1 248 1/4 2/{{ModID}}_GarlicBread/f {{ModID}}_Marie 3/{{i18n: food.GarlicBread}}", //Bread Garlic
"{{ModID}}_Cooking_CheesyGarlicBread": "216 1 248 1 424 1/4 2/{{ModID}}_CheesyGarlicBread/f {{ModID}}_Marie 3/{{i18n: food.CheesyGarlicBread}}", //Bread Garlic Cheese
}
},
],
}```
I know how to do it for map patches
just not for something like this
you can do another patch after yours that edits the entries you just added, but with a HasMod token When condition on it
principle is the same: use When conditions to make different edits depending on whether SVE is installed
so, like this?
{
"Changes": [
{
"LogName": "Recipes",
"Action": "EditData",
"Target": "Data/CookingRecipes",
"Entries": {
"{{ModID}}_Cooking_GarlicBread": "216 1 248 1/4 2/{{ModID}}_GarlicBread/f {{ModID}}_Marie 3/{{i18n: food.GarlicBread}}", //Bread Garlic
"{{ModID}}_Cooking_CheesyGarlicBread": "216 1 248 1 424 1/4 2/{{ModID}}_CheesyGarlicBread/f {{ModID}}_Marie 3/{{i18n: food.CheesyGarlicBread}}", //Bread Garlic Cheese
}
"When": {
"HasMod|contains=FlashShifter.StardewValleyExpandedCP": false
},
},
],
}```
and then just have a second section with it being true
You don't even need to track the false
The first one can just be normal and the one after can be true and it'll overwrite the first
If it helps you keep track of it easier though, that will work
ah yes, setting a tool to giftable means spacecore crashes instantly since it expects all giftable items to be objects
[SpaceCore] Exception while handling event SpaceEvents.BeforeReceiveObject:
System.NullReferenceException: Object reference not set to an instance of an object.
at SpaceCore.VanillaAssetExpansion.VanillaAssetExpansion.SpaceEvents_BeforeGiftGiven(Object sender, EventArgsBeforeReceiveObject e) in C:\Users\space\Programming\StardewValley\StardewValleyMods\SpaceCore\VanillaAssetExpansion\VanillaAssetExpansion.cs:line 154
at SpaceShared.Util.InvokeEventCancelable[T](String name, IEnumerable`1 handlers, Object sender, T args) in C:\Users\space\Programming\StardewValley\StardewValleyMods\SpaceShared\Util.cs:line 250

in my defence, canBeGivenAsGift is Item virtual
But... It's NPC.tryToReceiveActiveObject
I'm surprised the game doesn't have problems
Log Info: SMAPI 4.1.7 with SDV 1.6.14 build 24317 on Microsoft Windows 11 Pro, with 26 C# mods and 5 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
ignore the spacecore serialisation error, there's objects in the save that i no longer serialise
Ah, vanilla just returns without doing anything with if it isn't an object
That... doesn't look like a good error. Especially considering that it should be ignoring types not serialized anymore
Instead of failing and removing all serialized mod types to still load
i wanted to use it as a trade-in item for a special order through a wonderful setup of event > add item + add special order, use item on world > get context tag, give item with context tag > fulfil special order delivery, receive original item
pls it's only a warning, noone reads those
I don't understand why you need a tool to be giftable still ๐
well i could just pile the on-click-world behaviours into an extension of object but i figured it was worth trying tool
now i hate tool though
It's sad you spent so much time working on tools and it turns out it was all for nothing
also ideally i didnt want the item to be giftable anyway but it has to be to turn in a special order lol
such is life
anyway i need tool knowledge for secret scissors
or maybe i dont, that could also be a terrible idea, but i drew a sprite so it's worth a shot
This makes me think of the "A developer walks into a bar and orders a beer. Orders 999 beers. Orders -1 beer. Orders null. A customer walks into the bar and asks where the bathroom is. The bar catches fire." or however the original goes
patch right click to transform the tool into an object clone upon right clicking a villager
can you just secretly replace the tool with an object when the player goes to right click
hmmm i think this is more 'why did you push a commit that prevents the spacebar from heating up? i was using that to brew tea'
Prevents the spacebar from heating up, or using the spacebar to heat your desktop?
that sounds like it'd fall under the purview of the currently-crashing SpaceEvents.BeforeGiftGiven event lol
Very important information for future tea brewers
debugging is so much simpler when u can just bury ur face in a bouquet of flowers at ur own desk
i can just hide from the bugs. like another, larger bug
Until you find bugs in the bouquet
it's a feature 
augh moving to object means i cant use the wonderful ClassName field that tools get. what a world
oh it should be fine, just needs a new itemdatadefinition thing
just another step in the wrong direction lol
well it is, but if you want a custom type object you've gotta make a custom type object
it gets better, it's a temp item used for one special order lol
Yeah... for the S&S bow I think I just patched item registry to return the custom item class for the given item ID
oh right, a new bow. now that's a thought
Sorta like it already does for slingshot
more tools
is there any helper method for what used to be getSourceRectForStandardSpriteSheet before it was removed in 1.6?
it's like 5 times now i've wanted to get a source rect from a sprite index
Utility.getSourceRectWithinRectangularRegion?
I'm not sure offhand, but if you've got the item object you can just use ItemRegistry.GetDataOrErrorItem(qualId).GetSourceRect()
Ah, so you are going that route
the famous subclass pagliacci is in town
I don't know what a pagliacci is 
It looks like Object at least uses Game1.getSourceRectForStandardTileSheet
(Or rather ObjectDataDefinition)
oh, the original is grimaldi. nonetheless
so I'm trying to redo all character portraits but I'm struggling to view the originals as they're all .xnb files and I'm not sure how to open them? Sorry if this is a silly question, I've never done this before
I'm wanting to view all of the characters like this
So that I know I'm getting the portraits the right order etc
!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!
ohhh thank you โค๏ธ
I really appreciate how patient you all are โค๏ธ thanks @uncut viper !
I feel you, I had wanted to make a cartoon texture pack for the game, but I quickly abandoned when seeing how much work that meant D:
I think that's the reason most anime portraits mods are unmaintained, or only cover bachelors
So I adore Rin's Portraits for the bachelors but it upsets me a lot that they only did the bach, so I'm sloooooooowly going to do them all myself. Maybe upload them maybe not idk. Depends how awful they end up looking
Remember to ask the original mod author for permission if you want to upload an update with every villager
Does anyone know how to rename flavored items? I can get the parent item to work but all the flavors just show the original name with the parent description. For example, I'm pretty sure preserve_sheet_index_613 is Apple Wine, but I don't know what the target for the action would be or how to list the change for each name. For the parent item, "Wine_Name": "New Name" under entries for Strings/Objects worked but that doesn't seem to be the case for the rest of the flavored items????? I need help (also please reply to this thread so I can find your response later bc I have to sleep; thanks so much)
can you elaborate more about the context?
you want to make what? a custom flavored item like apple cider pear cider and so on? Use vanilla flavored items? else?
I personnaly don't like HD portraits, so I use a mix of different Anime Portraits mods I made for myself
damn... Seasonal Outfits mod is in the forever hidden jail
i just make my own portraits but coding them is sometimes an issue
myself and a lot of people here should be able to help with that if you want.
If you want to try to learn how to do it yourself, you can start by taking a look at that:
!CP
Content Patcher (https://www.nexusmods.com/stardewvalley/mods/1915) is a mod which loads content packs to change the game's images and data without replacing XNB files. If you want to make mods using Content Patcher, start at https://stardewvalleywiki.com/Modding:Content_Patcher.
Alright time to see if my trigger actions are triggering
tysm ill definately look into it!
Goooooood morning (not)
21:34
Well I hope you guys are having a great morning
Or evening
Or middle of thr afternoon break
good tidings!
I spilled hot chocolate on myself
so y'know
Running on two hours of sleep because fuck insomnia:P
Oof
Someone knows a mod similar to the shopping cart mod? This mod stopped working after the 1.6 update, and I've been looking for a replacement.
#modded-stardew is a better place to ask
Oh, thank you for the reminder!
where can i find the fire animation for the fireplace?
I'm curious, why do you need them?
Near the bottom
ah, i remember the nighttime event where dusty witnesses the witch firebombing your farm. hard to believe it's in the base game
A masterpiece of cinema though
ok but event like that would go HARD
i kinda want to make the fireplace work ๐ฅฒ
thank u!
It doesn't work?
Like furniture or map?
in a custom map xd i opened saloon and pierre's to see how it goes but couldnt find how it works or displays the fire animation.
Those are set in code

I did make a mod that lets you add interactable fireplaces
Otherwise you can do conditional map patches to add animated tiles
reallyyy? where is ittt 
yipieee
Oh right, I still need to remove the beta stuff from this page lmao, it's all the same I just never changed it after the beta was over
Detailed guide as well. I'll try it out
Lemme know if you have any problems, I'm still not confident in the guides I write lmao
me to finish patching up my npc : pensive (12h ago) [Requested by forsythia]
yaaaayyy!

thank youu! ill do the other ones now. 
could anyone please explain to me how i can prevent a tile from having the tillable property when making a custom farm map? thanks
Need to remove Diggable tile property
yea but how lol
Most likely, by editing the tileset, selecting the tile and deleting the property
I'm assuming you're working in Tiled
ill check it out thx
Ugh, I thought my math for my stardrop mod was messed up again but I disabled it and my health values still seem way out of wack
I don't think I should have over 300 health at combat level 7 lmao
Is there a way to change the skin of an animal based on the name it is given?
like a "when" trigger
Huh cool Nexus, I only have one mod apparently and I can't find any of the others by searching
Need c# most likely
yeah, I was hoping to avoid that
Nice I have 0 mods now 
We've been set free by Nexus
And then a notification about some stupid event, like no fix your dumb site first
Assuming that part of the site is working
you can?!
Lmao, I refreshed the main page and half the new mods for the day disappeared
Yeah the notif config is pretty detailed
It's probably still my mod, last time my math was broken I fixed it with the built in max health validation because my math was giving too low values, but the health validation only checks if max health is lower than expected and not higher lmao
Fun, I got another use comment asking me to update a mod that is already updated
but clicking a toggle seems to work only about... half the time? (but it says "your changes were successfully saved" every time, and sometimes ones you previously set move themselves back. good job, everyone, high fives all around)
Yeah I poked it until it stopped doing that 
Leaving page when I toggle 1 thing seems to help
other notes for next.nexus.com: when you are on a user's profile and you click to change tabs (e.g. "Mods"), there is no reaction whatsoever until the server response comes back, which can take multiple seconds. urgh
Oh it wasn't just me I was wondering why it's been so unresponsive
saw this in a log from a Windows user (1.6.14/4.1.7):
[21:17:11 TRACE SMAPI] Rewrote HatMouseLacey.dll to fix ArgUtility.TryGet method, ArgUtility.TryGetInt method, ArgUtility.TryGetOptionalBool method...
[21:17:11 TRACE SMAPI] Rewrote HatMouseLacey.dll to fix LocalizedContentManager.LoadStringReturnNullIfNotFound (added missing optional parameters)...```
i do not get these rewrite logs in my linux game. do these methods have platform-specific differences and/or should i be concerned about them?
Those should definitely also happen in Linux
Is that the new string optional arg
(am I going to have to decomp the other os builds now)
The ArgUtility stuff is the ArgumentCaller stuff
So it can make slightly nicer error logs
i would love to fix it but i had no idea it was happening
Ichor, I'm windows, I could check if I can reproduce the issue when I'm home if you want?
if you really want to, but it's not necessary
Is your lacey a build from source
doesn't seem to be broken, and i'll get an updated decompile and sort out whatever i'm missing when i get to it
Instead of whatever version you put on nexus
yeah i've only ever installed from nexus once, when i thought a file might have been corrupted. i just leave my builds in place as i do them
(that makes for a fun time when i see "update available" for my own mods
)
Yeah why does nexus show that
i have a lot of questions about how nexus works /lh
Log Info: SMAPI 4.1.7 with SDV 1.6.14 build 24317 on Unix 6.11.5.1, with 35 C# mods and 14 content packs.
Yeah, once you build against an updated Stardew then it's no longer an issue
really nice that you dont have to though, thank u rewriter-san
does anyone happen to know how I would put fish swimming around in a tank in a custom map I made for an event? so the fish already need to be there without me placing them in a tank as the farmer, thank you!
Unless someone has made a framework for it, that would require C#
Or you could just do a temp actor, though you'd have to move/animate it yourself.
I don't think you could grab them directly, you'd have to make a fake spritesheet basically
Ah okay, at least you could trim down the sheet and only include what you need then
Hi guys ^^
Okay . I love stardew very much . And ive heard its pretty easy go mod .
*to
Sooo Like How can i begin ? I have zero idea about making mods ๐
Making mods can be broadly divided into two categories:
- Content packs are formatted text files, and don't need any programming knowledge. They can add/edit NPCs, maps, new items, shops, and more. To get started, see the list of framework mods, the wiki tutorial for Content Patcher, and there might be relevant guides on the tutorial wiki.
- C# mods use programming code to change fundamental game mechanics. See getting started with C# modding.
Usually itโs easier to start with making content packs, since you don't need to learn programming.
what kind of mod are you thinking of making?
@astral prism: axon bodycam overlay (18h ago)
do i dare test my npc now, or do other things instead hmm
Remind me in 12 days to look at asset prop and additional farms
fiiiiiiiiiiiiiiiiiine (#6362005) (12d | <t:1732645468>)
I'm just trying to rename the wine to juice/cider
The names for the flavored wines live elsewhere outside of strings/objects IIRC
looking them up rn
Huh actually 1.6.9 should have put all of them into Strings/Objects
Did you also change Wine_Flavored_Name (+ all the fruit-specific wine names)
Look at Cranberry Wine
is it possible to make events require, say 3 hearts with 3 different people?
im pretty sure it is? ๐ค
didn't know if the requirements section had a limit on that
well
Yes, the dating everyone events do this
there's a bunch of different requiremens u can stick on there too
What would that look like? Would it be something like "Wine_Flavored_Name (CranberryWine)":
did you unpack the files
looking at the unpacked Strings/Objects should be self explanatory
anyone seen spacecore anim go 2x fast with split screen before
no split screen for compare
Warp speed
hmm would it go 3x as fast with 3 players
maybe both clients are updating the frames causing them to stack lol
Oh I found it thanks
Good morning all.
With CP is it posable to add conditional recipes based on mods installed (ie if vanilla use X recipe else if hasMod use Y recipe)?
I found the "HasMod" token but the only example I can find just load a different asset with a different recipe.
When is a field used to indicate conditions for a patch block to be applied
So if you have a HasMod in a When for an EditData that adds a recipe, if the conditions are met, that patch block will be applied
If you want a recipe that's one way with just your mod but changes with another mod installed, create one patch block that adds your base recipe and then after that create another patch block that edits that same recipe but with a When to check for the other mod
This has come up a few times lately, I wonder if I should make a 5th example for crafting/cooking recipes lmao
are there mods that change where the obelisk warp targets are
im guessing I can't just add the when to recipe like for example the "UpgradeFrom" block
No, recipes don't have any fields for conditionality like that
you could give the recipe in a trigger action
Kind of a separate thing from creating the recipe in the first place
ah right 
I hate refactoring code 
Why couldn't I just write it correctly the first time, what's wrong with me
Unfortunately Nexus came back up so I guess I will soldier on
i think it is a sign of improvement to look at old code and definitively say "wow thats bad"
Can't wait to do it again in a couple months 
Hi all! I'm new to modding and need some help troubleshooting a simple content pack I made. I'm just trying to replace the red mushroom icon with one I made. The content.json looks right, checked it with a json checker. smapi says it's loading my mod, but nothings happening in game. Thoughts?
!json share the link, the validator only checks syntax it doesn't know if the code is correct or not
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.
I wonder if this command has too much general information
It's typically used to try to get people to share their jsons but that is like less than a third of this commands actual function
I do think we semi-regularly get people asking "what's a json and why do I need it?"
plus people going "how do you manage to get your braces to work??"
maybe it should be more than one command?
Yeah, I think the command is useful, just wondering if a more directed one would be better
if anything i think it should be used more when people ask what text editor to use
The log command is very direct about being used for troubleshooting, which is what got me thinking this one is too general lol
To me that's a !startmodding question.
to me that seems like it's because people generally know what a "log" is when you ask for it, but people might not know what a "json" is when you ask, or may think it's Stardew specific
(emphasis on the word generally)
Agree it's better to link the json command to questions people actually ask, specifically uploading logs and choosing a sane editor. (Which is pretty much what it already is, except for the first line.)
Also feel free to interrupt any time mycena
youre fine, im just uh...well im wondering what "share the link means" and was wondering if a screenshot of my code would suffice....
Guess what
(I'm sorry, im a complete newb haha)
when you upload your json to the site, copy the URL afterwards
you can paste that URL here so everyone can see what you uploaded
okay, cool, can do
screenshots of code are very not recommended here
question for clarification, can I use this to add friendship points to multiple npcs?
Yeah, generally speaking if you share a screenshot of code I'm not helping lmao
Or I'll help up until the code slips off screen and then I'm done because I'm not about to scroll up to find it 
for example, if I did this would it add 1 heart to all 5?
"Type": "Friendship",
"Data": {
"TargetName": "Luna, Leon, Marie, Leah, Alex"
}
}```
Aren't the rewards part of an array?
Hm, man the special order page is kind of badly formatted lol
it is
I doubt that you can target multiple NPCs in one reward (don't know, but it certainly makes no suggestion that you can). Just set up multiple rewards, one per NPC.
Ah, hang on, the number for the format version is completely wrong. Let me fix that and see if anything happens
I did say I was a newb, didn't I ๐
k, I'll do that then
everyone's a newb to start
I wanted the quest to reward some friendship with each npc who would appear in the event after you finish the special order
and if you got that info from the uploader site then you're already doing better than a lot of people who upload their json and then never read a single thing in it and just ask people to point out the errors for them
"Rewards": [
{
"Type": "Friendship",
"Data": {
"Amount": 100,
"TargetName": "Leah"
}
},
{
"Type": "Friendship",
"Data": {
"Amount": 100,
"TargetName": "Alex"
}
}
]
Honestly, might be easier to just reward the friendship through the event lmao
maybe, idk lol
thank you, button, I was a bit nervous about posting in here...i've been using reddit as a resource but this seems like it needs some real time feedback
that's the link, still got nothing from the game after fixing the format version
remove the ".png" from your "Target" line
i think thats the only thing wrong with it assuming your file name is c orrect and your coordinates are correct
but Target lines always take "asset names" not file names
which are generally the name of the asset in your unpacked folder but without the file extension
so you just want "Target": "Maps/springobjects"
gotcha
your FromFile should have your file extension though
which it does, sodont remove it
For something small like this it won't matter, but I do wonder what is less expensive. Editing the image of Maps/springobjects or Loading a new sprite and editing the object itself to use that texture instead
aha!! It worked!! the coordinates are definitley off, but it worked!
probably the latter. baby steps though, and technically this does have some benefit (if another mod reuses the same sprite, it will work there too)

just in case it helps with the coordinates remember you want the coordinate of the very top left of the thing you wanna replace
including any transparent space
X and Y start at 0
But most editing programs should be able to give you accurate coordinates
Being able to show a grid helps with finding the top left corner
noted. my first goal was to get the mod working in game. next is to tweak the coordinates
Thank you guys! was this an okay thing to bring to this chat? or is there somewhere more appropriate for basic questions?
Nah, this is the place for making mods questions
There's an art channel for arting and writing, but coding questions should be in here
Runs the range of the simple CP stuff all the way up to the complicated C# mods lol
this is the perfect place to ask
and feel free to interrupt if people are off topic
(i will say tho dont be discouraged if you ask something else in this chat later and it seems like you were ignored, that reeally only happens if people are eithe distracted by a different topic and didnt notice, or dont know the answer and so might be around but cant help. people here are very willing to help usually!)
we're...not good at staying on topic
cool! i'm trying to work my way up to some more complicated mods, so you will probably see me again soon
lol thats okay, thats how discord be
as evidenced by us immediately going to talk about the governor commands right after they asked for help 
#making-mods-off-topic 
like atra i would change that from "feel free to interrupt" to "please interrupt, you'll be doing the whole channel a favour"
Added all the other buffs I left out before to my stardrops mod, now I have to figure out what effects some of them actually have lmao
it's me Elizabeth ๐ but yes that was what I meant to imply
i was referring to what atra said the other day
ah ok
in response to you
the name colour is hard to miss
almost everything > orange
I may be a little colorblind, but they don't seem that far apart
These particular shades anyways
they are when you like red and dont like orange like me
Lol
Everything except purple.
theres a reason purple is the colour of the toppest tier of chat roles in here
purple > blue > red > green > certain shades of yellow > orange > other shades of yellow
though teal is pretty good, maybe better than red
Correction, purple is the color of the toppiest tier of non-producing chat roles in here.
ranking colors is hard
Pink is more of a red color huh?
hm. thinking about chat name colours makes me wonder how possible it'd be to bridge this chat channel with in game stardew chat
i wanna be able to lurk in here while i play
how possible it'd be without a custom discord bot* i should say
Just get a third monitor 
I can't imagine having three and not making one dedicated to Discord lol
one is dedicated to discord
what makes you think its dedicated to this channel though
Ah, that's fair lol
i like y'all but i dont like y'all that much /lh
Well just go bribe aquova
(i do have it open often but if im playin with someone its gonna be dedicated to the discord of the people im playing with)
Make governor stalk us on your behalf
hey now. if it was added to governor bot it could be for ALL of our behalfs. behalves.
What you need is a discord aggregator that spews out every message from every channel you're in into one giant feed, so you can follow all 200 messages per minute.
Now depending on the server's rules and your dislike for discord's, you may not need one.
This is not legal advice, please contact your nearest legal representative for advice.
Right yes socialism
yeah im not interested in getting my discord account banned for being a self bot 
Say wasn't there a twitch sdv bot
sounds familiar
Believe so
Hello again. I'd just like to ask if you guys can suggest any easy-to-understand guides on how to add Mod Config. to my Mod? I only need a simple Turn On/Off Toggle for some features.
It's a Content Patcher mod.
Thanks a lot! I'll start reading now.
you have tons of fans cheering you on though โค๏ธ
I know this is from days ago and you already sprited something, but for the record because I just saw it Emily the Mixologist allows players to buy specific juices (e.g. tomato juice instead of regular juice). So if anyone else is interested, Iโd look in that modโs code.
(Wanted to throw this in here before i forget, apologies for interruption)
my suggestion would be to start with ForEachItem -> ForEachItemContext
no reason, but it's a start
we answered it. Tldr shops (or any place that uses item queries): yes, dialogue/mail: no
Ah okay. Missed that ๐ญ. My apologies again.
and ooohhhh new vs update previews show me so many features i haven't been using. where has Change Signature been all my life. how is Ctrl+T better than Ctrl+,
and mmMMMmMMMm display return values inline
mmmmmm copy from error dialogues and copy files between windows. two things i totally wanted yesterday
Can MFM do specific flavored items in mail ya think?
I know it has like 2 things it still does that CP can't but I can't remember if that would be one of them lol
Hmm I don't know, probably not since it predates item queries
EMC does add a custom AddItem that uses item queries
I was wondering about an AddItem using item queries lol, that's at least usable
I think you'd have to word the mail to indicate that you'll receive a flavored item though, since it won't show up there
yeah, maybe I can look into how %item works and add a mail-tailored version
Hi, how are you? I have to decide certain values in my mod (prices, production time, health and energy restoration values, etc.), is there any table or parameters to guide on the subject?
nah just go by vibes
yeah vanilla food is all over the place
if you want to care about balance I guess you can compare against vanilla stuff
but hm that one doesn't really account for growing the stuff
I prefer the look at vanilla and add a tiny bit method lol
I'd appreciate any help as I am new to this stuff. I don't understand what's wrong.
This doesn't seem to be valid JSON.
Technical details: Invalid property identifier character: {. Path 'ConfigSchema['Monster Health']', line 10, position 0.
Log Info: SMAPI 4.1.7 with SDV 1.6.14 build 24317 on Microsoft Windows 11 Home, with 43 C# mods and 28 content packs.
the wiki lists "gold per day" for each crop, but that doesn't tell the full story (cauliflowers for example is about twice as good as parsnip, but its seed are 4 times as expensive, which matters early)
!json share your code
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.
Vaguely, you have likely forgotten a character such as a comma or a bracket or you're using an incorrect one near the position it indicates
``{
"Format": "2.4.4",
"ConfigSchema": {
"Monster Health": {
"AllowValues": "true, false",
"Default": "true",
"Section": "Monster Changes"
},
{
"Monster Damage": {
"AllowValues": "true, false",
"Default": "true",
"Section": "Monster Changes"
},
{
"Monster XP": {
"AllowValues": "true, false",
"Default": "true",
"Section": "Monster Changes"
},
},
"Changes": [........ ``
that's not
Use the validator site I linked
yeah
Ooooh so that's a thing
Yeah if you're not using a text editor with validation, you can use the validation site to check your syntax. Though I strongly suggest VSC
I feel so dumb as I am probably making a common sense mistake, but please be patient in helping me ๐
You have extra { curly brackets in several locations
Line 10 and 17 I can see immediately
ohhh
So Those are not needed
Oh I get it now...
I accidentally copied them along
Yeah, think of {} and [] as the bread to some code sandwiches
For every open you need a close and you need to follow the presented syntax closely to make sure the data is valid
Yes! Understood
Thanks a lot
According to the json validator, it's now fixed
@dusk terrace are you currently open for C# coding comssions right now/near future and can I dm ya
ok Do you know in which section of the wiki I can see that?
depends on the complexity, you can dm me details
Awesome doin so now
How do I get my mod in the showcase?
@blissful panther Nice mod!
I'm trying to content patch my own machine (if a mod is installed) to add in more recipes to the output rules. is this the correct format?
i don't think so let me check
On the line after Entries, it needs to say
"EfficientCog_to_Iridium": { instead of just {
{
"LogName": "Editing Jeweler Workshop",
"Action": "EditData",
"Target": "Data/Machines",
"TargetField": [
"(BC)Lumisteria.MtVapius_JewelerWorkshop", "AdditionalConsumedItems",
],
"Entries": {
"Lumisteria.MtVapius_GoldBar":{
"ID":"Lumisteria.MtVapius_GoldBar",
"ItemID": "(O)336",
"RequiredCount": 1,
"InvalidCountMessage": "{{i18n: MtVapiusJewelerWorkshop_MissingGoldBar_Translated}}"
}
},
"When":{
"HasMod |contains=selph.ExtraMachineConfig": "false",
}
},```
So you put the id twice
you directly put the machine then maybe a default, but default isn't a first field
also true
{
"LogName": "SeedChange",
"Action": "EditData",
"Target": "Data/Machines",
"TargetField": [
"(BC)25",
"OutputRules",
"Default",
"OutputItem",
"Default",
"StackModifiers"
],
"Entries": {
"Lumisteria.MtVapius_ImprovedSeedMaking": {
"Id": "Lumisteria.MtVapius_ImprovedSeedMaking",
"Condition": "ITEM_CONTEXT_TAG Input mt_vapius", //PLAYER_HAS_MAIL Any Lumisteria.MtVapius_SeedMakerMail,
"Modification": "Add",
"Amount": 1.0,
},
},
},```
A more "classic" edit
Who is easiest to mod in SVE, Krobus or Mr. Qi?
from my testing, this does indeed seem correct. yay time to... adjust and recode all of the vmv artifacts to use this instead of the old way that I did it >->
you gotta be more specific, i dont think sve has major changes for either
Do either of them have ANY changes to them or their related items (eg. Iridium Krobus Statue, Qi Beans)
not that i know of, but go ask in SVE server to be sure
nothing stops you from just
adding your own item with same sprite as the vanilla ones tho
Honestly wouldn't be surprised if they did, SVE kind of brushes against everything even when it isn't making big changes lol
hey hey am back with yet another "how do you do this" question
So I am trying to do a "flavored" item for the kimchi mod and I'm not exactly sure what exactly I'm doing wrong to define it but it causes the game to crash when I scroll to it in the inventory.
This is the code snippet for defining the base object:
"Action": "EditData",
"Target": "Data/Objects",
"Entries": {
"KimchiMakerContinued_Kimchi": {
"Name": "KimchiMakerContinued_Kimchi",
"SpriteIndex": 2,
"DisplayName": "{{i18n:Kimchi_Name}}",
"Descripition": "{{i18n:Kimchi_Desc}}",
"Texture": "Shads42.KimchiMakerContinued/Objects",
"Price": 145,
"Edibility": 50,
"Type": "ArtisanGoods",
"Category": -26,
"ContextTags": [
"kimchi_object",
"color_red"
], ```
And then this is the code for defining the corresponding machine output:
ArtisanGoods is not a Type
"OutputRules": [
{
"Id": "KimchiMakerContinued_Kimchi",
"Triggers": [
{
"Id": "VegetablePlacedInMachine",
"RequiredTags": [
"category_vegetable",
"!no_kimchi"
],
"Trigger": "ItemPlacedInMachine",
"RequiredCount": 1
}
],
"OutputItem": [
{
"Id": "Kimchi_Default",
"ItemId": "KimchiMakerContinued_Kimchi",
"ObjectInternalName": "{0} KimchiMakerContinued_Kimchi",
"ObjectDisplayName": "[LocalizedText Strings/Objects:KimchiMakerContinued_KimchiString %PRESERVED_DISPLAY_NAME]",
"PreserveId": "DROP_IN",
"CopyPrice": true,
"CustomData": {
"selph.ExtraMachineConfig.RequirementId.1": "(O)260",
"selph.ExtraMachineConfig.RequiredCount": 2,
"selph.ExtraMachineConfig.RequirementInvalidMsg": "{{i18n:Kimchi_Missing}}"
}
}
],
"MinutesUntilReady": 100
}```
it's not your issue but its not a type and oh wow can you please use the json website
!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.
Discord doesn't like formatting, another reason to use the validator site
use this, dont send it directly in here
okies uh lemme get screenshot then
not a screenshot
use that website in the governor command
copy and paste your json into it, submit it, and then copy and paste the resulting url into here
And you said the game crashed so I want your log too
Log Info: SMAPI 4.1.7 with SDV 1.6.14 build 24317 on Microsoft Windows 11 Home, with 18 C# mods and 20 content packs.
screenshot is maybe the worst possible option short of taking a photo lol
do you want the machine file and the object file or just the machine file?
Ugh, I'd forgotten about people who just take photos, unhinged
Did you set the LocalizedText String elsewhere?
Or did you just replace it with your own name and not actually define a string
You are obviously not familiar with the wooden table method.
https://thedailywtf.com/articles/web_0_0x2e_1
No I defined a string
Ok
Hm, I am contemplating about adding live events and buttons to UB. Like a button that sequentially lights up some torches in a dark room, or a set of switches that will open a gate in the right combination. A touchaction for non disruptive short dialogue. A pressure plate that patches a bridge onto the map alongside some screenshake, smoke and a woosh sound. 
(also when sending jsons thru the validator website you should always include all of the relevant ones)
Is your item intended to be colored like other flavored artisan goods?
no just flavored
From what it looks like the original 1.5.x mod preserved the name
but the sprite didn't change
I tried doing it like the ones in the vanilla objects file from the base game but it gave me the whole "Flavored objects can only be jelly/wine/pickles/juice/roe" message
so I tried poking around on stardew forums before asking here
correct
It works if I don't try to preserve the name just fine
its curious that its the string.Format thats erroring
ItemRegistry.GetDataOrErrorItem(base.QualifiedItemId).Description this is returning null somehow
what does your i18n look like?
lemme grab it
H E C K
๐ญ
lol
descriptition
rip this is the semicolon issue all over again
Can you use / in LocalizedText? Base game uses \\
For your sanity
yeah
what sanity
Also I have no idea rokugin ๐ this is my first time trying to do a "flavored" Item
Good to know 
anyways do change your Type to be Basic
Use a spellchecker
Always use a spellchecker
woh neds a spelchecker
I probably should have directed the question at 6480 since that's basically who I was asking lmao
How do you fix this? It comes out as jumbled words and I just want it to be randomly selected sentences.
https://smapi.io/json/content-patcher/1b68423f037541a7b5b1973bd066967a (Schedule,json)
Random separates choices by comma and you've got commas in your dialogue
You can instead do Random and put each dialogue choice in an i18n token
its a good idea to i18n, anyways
Is i18n random? Or is it a daily thing
i18n is the system for making translations simple, it just "holds" strings for you behind different keys.
Dialogue file:
"Random: i18n String 1, i18n String 2, i18n String 3"
i18n file:
String 1: "blah blah blah blah"
String 2: "blah blah blah"
String 3: "blah blah"
Aside from being used to make translators lives easier, it also comes in handy for organization like this
That's the basic idea but not the exact syntax
what's a clean way of netsyncing a dict<string, (string, vector2)> per day
i was going to have them as netfields on a location but now i want arbitrary number of locations
whats the thing that makes items count for shipping bin vs not?
"ExcludeFromShippingCollection": true, in your data/objects entry
^^ tyy
Just use smapi message maybe, do a send from host player on day start?
Thanks! It might be a little bit OP currently, buuuut... 
I was looking at it like wow I cant believe it's a linear stacking buff ๐
right? it should be exponential /j
With very, very small amounts per crop, at least!
The prices of the products, both when buying and selling them are always double what one stipulates in the mod's json, right?
For example if I put a purchase price of a recipe at 500 it will cost 1000 in the game?
it depends on the shop
I'll probably add a balance toggle that reduces the impact the more you have once I have SpaceCore skills in.
but generally yes
Traveler, saloon or seed shop?
smapi message makes me sad but it's an option
pierre has an additional 2x markup
you can make an entry ignore that additional one though if you want
Well I suppose you can also just put the Vector2 into the modData of each location
So if I set 500 is 1000 really
I am assuming the str key is the location name
if you set 500 it will be 2000 in pierre afaik
I have no idea what it is
Reading
dict<string, (string, vector2)> for dict<location id, (critter id, critter tile)>
i could probably just lump the value tuple into two moddata entries tho
Blub critter framework 
Worth a shot 
I like making dependencies tho, theoretically ppl better than me at art can use it
btw @hallow prism , I am just wondering.... have you added anymore artifacts since like.... june?
where is the texture for iron ore in the mines?
springobjects
Maps/springobjects
are there any other season objects?
You should include the maps part, some peole still don't know that it's in maps lol
no
odd
and funny
thx
Further objects are in TileSheets/Objects_2
@next plaza: fix the GMCM menu open API stuff for focustense (and other people who might be using it) (23h ago)
Blueberry is red now. That's going to cause some Strooping.
red is the real prize
!!
grats!
HOW COME BUTTON'S RED HUH
red!!
bc we won third and second place!
Rip both of ur prpl
OH RIGHT I forgot graveyards was literally your mod and i thought you were 1st place winner lol
So much red here right now!
finally... server owner role
blood blood blood blodd
waiting with baited breath to see who the last red is gonna be
now u can all become mathpersons
I'd say it is, but what happened to "purple beats all"?
it still does! but it wasnt available!
So your prize is actually a downgrade.
so wait do u just permanently have red now
Betting it is, I mean Elizabeth still has red.
My exclusive color!
I guess mine is subtly different
Contest Winner colors don't normally last permanently
u have nice magenta tint
doctor classical elizabeth mathperson has a different role
Elizabeth has a different type of role
jammers ๐ค contestants ๐ค developers
more saturation? yours pop more / is brighter?
i will enjoy the red for as long as it lasts
candied apple mmm
god i wanna play with graveyards and spooky furniture but playing is so hard
finally the modding chat gets a crumb of color variation
We need to give you permanently rainbow colors
Fun fact: if you grab a GMCM scrollbar and drag it past the top/bottom, it spams the movement noise 
i think we r still too much warm colors


