#making-mods-general
1 messages ยท Page 216 of 1
Hi,
I got an error report from a user of my mod regarding this error:
ArgumentException: An item with the same key has already been added. Key: 610
at System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior)
at StardewValley.NPC.parseMasterScheduleImpl(String scheduleKey, String rawData, List`1 visited) in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\NPC.cs:line 6574```
However, I have no idea what is wrong. Could anyone tell me what's causing the error and how to fix it, please?
Their log: https://smapi.io/log/1658baddbfba4ccdb8c7b5f9fc8184d2
Schedules: https://smapi.io/json/content-patcher/0f4451feb2f04831a4240c6120dcae86#L72
(please note that I am changing `a610 WizardHouse 5 15 2` to `610 WizardHouse 5 15 2` because the game handled the `a` command the same way, I guess it was too early for it to react differently, I just forgot to delete those)
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Home, with 75 C# mods and 461 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
i believe this can happen because of the "a" thing, but on the a910 instead. i think this happens when the game calculates what a910 means, which is "they need to arrive at 910am" which means it has to figure out what time they leave. and with the right circumstances i think it can happen that they would need to leave at 610am in order to arrive there by 910am... but they already have a bit in their schedule for 610am
Oh...
However, I tried to trigger the error myself and I didn't get it. Plus, I know I tested these Saturday schedules and as far as I remember, they worked fine...
I'll look at it either way, just reporting
it might work fine for you. they might have a slightly different map that causes the pathfinding to need a different path which affects the timing
like if theres an extra bush in their mod list that the NPC needs to pathfind around, that could be the difference between leaving at 620 and leaving at 610
bigger changes could then take it from "leave at 8am" to "oh crap theres a whole other map we have to navigate thru now with this modlist, lets leave at 610am instead"
a lot of game issues do make more sense if you imagine the pathfinder is actually panicking trying to do its job in time
Oh! Of course, now it makes sense. So I should move the schedule to later, right?
(looking at the schedule parsing code again just as a refresher im upgrading my "i think" to "im pretty sure")
move the schedule to later or just make it not an "a" schedule would solve it
the latter being more foolproof
bc ofc making it later might mean it breaks with someone elses very particular set of maps and valid paths in their modlist
(bc it might make "a" schedules that come after that one break)
What about this, should that be better (+ 1hour of walking):
"winter_Sat": "610 WizardHouse 5 15 2/a1000 SeedShop 12 29 3/a1030 SeedShop 4 19 0/1040 Forest 16 30 1/a1800 Custom_WizardBasement 13 5 2/a2200 Custom_WizardBasement 23 6 2",
Or maybe do it even later?
my point is there is no foolproof way to do it as long as you're using an "a" schedule
if you are using an "a" schedule you just have to accept that sometimes, it might break with someones mod list and theres really nothing you can do about it
you can try tweaking it and if you get no more bug reports thats great but it wont guarantee you wont get one from someone else
OK, got that, thanks!
honestly i wonder how easy itd be to just transpile that bit of code to check if the schedule key already exists and just fudge it with a +/- 1
can schedules even do like, 611
if not fudging it by +/- 10 is probably fine too. better than breaking completely
i dont see anythin on the wiki saying it cant do 611...
I already thought of that, but I've never seen something like that, and therefore I have never tested it.
You know what? I'll test it, give me a minute
timeOfDay >= this.queuedSchedulePaths[0].time 
doesnt seem like it shouldnt work
in theory i think that should mean 601 โ 609 should all be equivalent to 610?
in the absence of mods that change how time works
equivalent, but without the duplicate schedule key error
with 611โ619 all being equivalent to 620, and so on
Maybe...
With this schedule
"winter_Sat": "611 WizardHouse 5 15 2/a1000 SeedShop 12 29 3/a1030 SeedShop 4 19 0/1040 Forest 16 30 1/a1800 Custom_WizardBasement 13 5 2/a2200 Custom_WizardBasement 23 6 2",
Eleanor started walking at 610 and not 611 or 620, but that doesn't mean that it doesn't work.
surely the problem still remains that two schedule entries are going to try and parse at the same time
thats why you'd want to -1 i believe to ensure the order remains
the actual problem in the error log is simply that each of their schedule bits is put into a dictionary of things to do that day but its keyed by the time
and sometimes the time can be equal when using a
but the thing that actually makes them Do just takes the first thing in their queued schedule bits
which does mean if two things were very close like that, they would immediately change course again at the next 10 minute update
but thats surely better than, yknow, breaking completely
To the wizard house. The whole schedule is broken, as she didn't start walking to the seed shop.
what if you do 609 instead
Waited till 10:05
We'll see...
bc i think putting 611 instead of 609 did reverse the order of the two schedule bits as far as the parser is concerned. i think
Still walking to the specified tile in the tower at 610
which is good right. thats the intended
i will say though that trying to decipher this schedule code is far too much for my 545am pre-bedtime brain so even if the schedule is still working as intended for seedshop with the 609 schedule that does not mean i will be 100% confident in recommending it as a solution lol
(in what dimension is 545am pre-bedtime??)
Hmm... Something is very, very wrong with Eleanor's scheduling. This very schedule
"winter_Sat": "610 WizardHouse 5 15 2/700 SeedShop 12 29 3/1030 SeedShop 4 19 0/1100 Forest 16 30 1/a1800 Custom_WizardBasement 13 5 2/a2200 Custom_WizardBasement 23 6 2",
does not work as intended - poor Eleanor doesn't even walk to Pierre's general store (SeedShop). What on earth did I mess up and break this time 
is that broken bc of the 609 thing or is that unrelated
Honestly? No idea. But as I don't have 609 in ANY of my schedules, I don't thing that is the problem.
o i thought you were still testing it lol
Log for the last one: https://smapi.io/log/4a990747957a409895be294563f05271
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Pro, with 63 C# mods and 30 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
i actually dont know fuck about schedules so i have no idea what might be wrong here
so i will hope someone else is awake and able to help while i go to bed
but thank you for doing some curiosity-satisfying testing with the weird time stuff
Where does she spawn?
Im a bit behind on the conversation I was going through TSA
But the scheduler might be upset because you don't have enough time for her to do the first parts
Also make sure when testing schedules you're starting a new save or switching to another day
// Spawn Rules
"UnlockConditions": "true",
"SpawnIfMissing": "true",
"Home": [
{
"ID": "Default",
"Location": "WizardHouse",
"Tile": {
"X": 10,
"Y": 17
},
"Direction": "down",
"Condition": "true"
}
],
If she doesn't have time to get from the wizard tower to the seedshop before 1030, I think she won't go because she won't be at her first seedshop destination before she has to start moving to her second one.
So, just to debug, I should have f.e. "winter_Sat": "610 WizardHouse 5 15 2/700 SeedShop 12 29 3/1330 SeedShop 4 19 0/...?
Yeah try that but make sure her later ones are also more spread out (or just remove them for now)
To be safe, you generally want to allow for 3 hours to traverse 2+ maps, unless you have a NPC warp that is closer
NPCs move slow
Poor Hiria barely makes it into town before midday
Qi gets into town by like 1 or 2 or something for his town schedules and he leaves around 8 so.. yeah
That one still somehow didn't work... Trying "winter_Sat": "610 WizardHouse 5 15 2/630 SeedShop 12 29 3", (she walks to that tile at like 615)
How are you reloading the day to check? I set the date to the day before and then sleep
Yeah schedules are set for a day and if you change them it won't actually change that day you have to sleep
Or load a new save
In other days, there is, but for all Saturdays, she is shopping, so I can delete it.
(Learned that the hard way)
Im just thinking she might not have enough time between going to that tile and then the trigger for the 630 part of her schedule
So the scheduler is getting messed up and upsetti
So when I have a testing profile with Winter 6, it won't work? Should I have Winter 5 save and always sleep?
If you're changing the schedule and then reloading a save from Saturday morning it won't update I'm pretty sure because schedules are set the night before or something
^
Just use CJB to set the day to Friday and then use debug sleep to make it Saturday every time
Or use the debug command to make it Friday it doesn't have to be CJB I just don't remember the exact wording for the debug command lol
Oops... I should debug my schedules one more time...
Err... So I set the date to Winter 4 with CJB Cheats, then used bed and then used debug sleep and this schedule
"winter_Sat": "610 WizardHouse 5 15 2/630 SeedShop 12 29 3", still doesn't work.
But winter 4 is Thursday so now you're on Friday, not Saturday?
Unless you're saying you slept twice
I set to winter 4, then used bed to sleep to winter 5 and then used debug sleep to winter 6, which is Saturday
I indeed did, see above
Just felt like some variety?
Okay are you certain she's actually being assigned that schedule? Can you use Lookup Anything or Schedule Viewer to check her schedule for the day?
Also, is she moving at all?
I'll check that out
Again the scheduler might be getting confused because she might not have enough time to do the first part before the second part triggers
Try setting the seed shop section to 7 or 730
Yes, she moves to the first one (610 WizardHouse 5 15 2) and then she stands still.
(If she doesn't move after that it could be a separate issue)
But those two times are really close together
But I already had it with 700 and it didn't work, but that might be my fault. BTW, she reaches the tile at 615, so...
With scheduling you only really care about 10 minute ticks btw
He did say she arrives at the first stop at 0615 so she should have enough time but it's worth checking again just in case if you weren't sleeping last time you checked
Cause that's when the schedule ticks over iirc
Or begins to do the next route, at least that's how I remember the in game ticks working
Hmm if she does have enough time I'm not sure why it wouldn't work, i know it's not a pathfinding issue since npcs can get in and out of the Wizard's house.. 
It would be worth it to use lookup anything, ik it has a green highlight when the part of the schedule theyre supposed to follow is happening
Also sorry if i am reiterating anything that already happened:3 I'm in the airport rn
I can't see anything about the schedules in Lookup Anything.
!Pics are from winter 5, not winter 6!
You need to enable data mining fields
I'm always surprised by how little information LA shows without it lol
Bwoah... Too much data in there!
Lol yeah there's a lot and it gets really intense when there's a bunch of options for their dialogue
Mmm.. 800+ lines of dialogue...
[Dramatic sigh] now i can't romance the blue man for a whole week :(
All my hard work and I can't even enjoy it aheem ahoo
Absence makes the heart grow fonder
OH!
I compared Friday schedule in Lookup and in the NPC code and it isn't the same.
Code: "winter_Fri": "610 WizardHouse 5 15 2/a1500 Mountain 68 24 3/a1930 Beach 20 20 2/a2230 Custom_WizardBasement 23 6 2",
Lookup: see picture
I cannot imagine wanting to romance Hiria once I've finished her. I just wrote everything she's going to say and do, what's new to gain from romancing her in game lol
Does the LA one match any schedule she has?
Also is that the SVE wizard basement?
I can't even remember everything I did im not gonna lie
Also the benefits to romancing Qi is that I have him in my house and I love him
No.
Thanks for coming to my Ted talk
Then I cry in pain about your lack of a unique location name Ignore this, I misread which question your reply was in response to!
I'll get that sentimental about my real life wife but not a video game character lol
Yes. And please, don't tell me to remove SVE, Eleanor is made for SVE and can't work without it.
I love video game character okay 
I just think he's really cool
(that's mainly due to the basement)
Oh whoops sorry I didn't read which message you replied to with your "no" and I thought it was to my question about the location! So ignore my reply to that!
Of course I wouldn't tell you to remove SVE, that would be rude of me.
Oh, I didn't think it that way! I just know someone told me to test something without SVE (that thing was possible to test without it), and, as you now know, it is quite hard to test something without all the dependencies of the mod...
Hmm, I actually noticed in game the other day when I was trying to find an NPC that LA showed a different schedule than what Schedule Viewer showed. I wonder if LA is actually doing something weird there. I can't think of any other good way to check an NPC's schedule for the day though to confirm whether it's LA that's the problem.
Oh lol yeah that makes sense. No I was just pained by the non-unique name Custom_WizardBasement but I suspected it might be the SVE one which you obviously would not be able to do anything about haha
Should I try out Schedule Viewer?
You could do a patch export of her schedule but that wouldn't help to know which one was being used for the day.
If you don't mind downloading another mod it might be a good idea unless I can find some other way
I find it a handy little mod for gameplay and testing
Honestly, I don't even know how to add a location or how to do a map, as I didn't need it. Plus, custom locations are old code and we shouldn't use that one, right?
Hmm you could use debug hurry eleanor to warp her to her next schedule position and see what that does
I even have it downloaded in my gameplay profile, but not in the modding/testing one.
To the Saturday schedule?
Yup, CustomLocations is from before vanilla allowed mods to add locations and obviously SVE was around then and they've kept a mix of CustomLocations and the new way (I think) but also haven't updated their naming.
Try it with the Friday one and see if she does the one in your file or the one in LA?
And at which time? 1600?
No, do it before 1500. Any time after 0620 should work
It makes them jump straight to where their next schedule point sends them without waiting for the time they're meant to leave, so we can judge by the location which schedule she's following. If she's following your code she will end up in Mountain, if she's following the one in LA she'll end up in the SVE wizard basement.
I used it between 0620 and 0650 like 3 or 4 times and she stays at the same tile she walked to.
That sounds like her Friday schedule might be going strange too then. What time does she normally leave the house to get to Mountain by 1500? It must be pretty early because that's ages away from the wizard tower. You could change the time to just before then and see if she does actually leave.
I'm asking myself how could I even release such a broken mod...
I even classified the schedules as working in the prerelease checks, but I should've checked them much more detail.
Schedules are extremely tricky and can be broken by the tiniest change in...too many things so it's entirely possible that they did work and then you changed something without realising it would affect them and they broke.
I think I know what happened with the Friday schedule - it was a Fall one, but somehow, there is an a before the Mountain scehdule.
So, I'm sorry, but I have no clue.
I made these schedules in September 2024, maybe even earlier. So I don't remember...
Since you're having to make changes to her schedule for this fix anyway it might be worth really reducing your use of a since it's so fragile?
Might be useful to try and redo them
If you're okay with me downloading and testing her, I could have a poke around in her schedules too
Looks like it... I'd redo them anyway, so...
I'm 100% OK, the link: https://www.nexusmods.com/stardewvalley/mods/31663 or https://github.com/DenisSilent/Eleanor
This is how they were in the release they didn't work for someone: https://github.com/DenisSilent/Eleanor/blob/main/[CP] Eleanor/assets/schedules.json
Is your github version different to your Nexus one at the moment?
for reference, I believe vanilla only uses a in one instance, and it's for some of Emily's oasis schedules
so it's best not to overuse afaik
(like aba said)
Nope! 0.8.3 on GitHub is 0.8.3 on Nexus, I will synchronize again when I'll release 0.8.4
Yeah it's so Emily and Sandy can be together 
I used it in qi's marriage schedules only iirc and those seemed to work.. watch them break while I'm gone lmao
The world is trying to get me to stay away from boston though, my og flight got cancelled ๐ญ
Every time I see SMAPI 4.1.10 I think "oh no I'm only on game version 1.6.10 I need to update!" Every. Time.
I mix them up too it's okay Aba
Schedule Viewer is showing the same schedule as LA for her so far
for Schedules do Weekdays take priority over seasons?
if I have spring, summer and Fri as entries
will the NPC do Fri on every Fri regardless of season?
Their precedence is the order they're listed on the wiki so yes DayOfWeek takes precedence over Season
okay cool thanks guys! <3
I was able to use debug hurry eleanor to her and she indeed uses the Lookup Anything/Schedule Viewer schedule instead of the one in the code.
AmI right in saying that about the wiki order? That would mean that spring takes precedence over spring_Mon
Have you seen her intro event in this test save?
I. AM. SO. STUPID!
Of course not!
(wants to kill himself for being so stupid)
I would never have guessed that was the issue without downloading her and looking through the schedule file myself so I am glad I did hahaha
anyone know if you can use a game state query to track player progress in dangerous skull cavern?
Don't worry, I totally forgot that I did that before-intro-event schedule...
I also figured out that the reason that the LA/Schedule Viewer schedule is not matching any you have in your file is because it's showing the time she's calculated as having to start moving to the next point to reach the a1630 time in your schedule.
So that's why when I searched for 1550 I found nothing!
There might be a world state flag for it maybe? I can't remember if roku grabbed those from the code or not
(btw, I'm so sorry for killing like a hour of your life on such a stupid mistake, it was not intentional at all)
i think i can get by with just floor levels and dangerous state for what i want
thanks tho
"Condition": "RANDOM 0.25, MINE_LOWEST_LEVEL_REACHED 1 10",
is that how that would go?
i guess if i want a specific floor i just use the same number twice?
Now the Friday one is correct.(is fixed now). Let's finally move to the Saturday one!
! Reverting to original schedule in version 0.8.3 !
Is this for checking random AND mine level reached? They'd need to have reached at least level 1 and not more than level 10 and have the random roll true.
You don't need the max at all, it's an optional argument
ah
Don't worry about it at all! It happens ^_^
i'm trying to make animals that unlock as alternate purchase / birth types by mines progress
so like oh you hit floor 40, now this one can happen
What's the RANDOM part for?
Unrelated to schedule but is she meant to have Introduction dialogue? Her first words to me were telling me to work on my farm which seems odd when we've never met.
doesn't that effect the chance of it being one of the unlocked ones?
it's really just an example i've pasted in at the moment
{
"Id": "BlueChicken",
"Condition": "RANDOM 0.25, PLAYER_HAS_SEEN_EVENT Current 3900074",
"AnimalIds": [
"Blue Chicken"
]
},
{
"Id": "Default",
"Condition": null,
"AnimalIds": [
"Brown Chicken",
"White Chicken"
]
}
],```
like here's the vanilla chicken
Yeah based off that I would assume yours will have a 1 in 4 chance of being available daily (I'm guessing it's daily) after reaching the required mines level.
i think it's just anytime you buy one / one is born? maybe
of course stardew gets weird about probabilities in a list doesn't it...
Err... what?
She has an Introduction dialogue: "Dialogues.CT.Introduction": "Hi, {{DT_dialogues}}.#$b#I hope your farm is doing well. It should...",
Or wasn't it her intro event? That one triggers the day after the event in Tower (Id 112)
Or maybe the spring 1 dialogue? "Dialogues.spring_1": "Time for you to start working on your farm, {{DT_dialogues}}.#$b#I don't say you weren't working on %farm farm, I just wanted to tell you that it has got some powerful magical properties.#$e#How do I know, you're asking?#$b#I can sense the magic in it.",
She said part of her spring 1 dialogue and then her intro dialogue, I think. I'm going to test that again
Her first words to you are in her intro event, then it is the Intro dialogue, then normal + CT dialogues, etc... Spring 1 should be for year 2 and later, as you "unlock" her in like spring 7 or so
Is it possible to meet her before her intro event when you're not debug warping to her?
This is the first thing she says to me when I start a new game and warp straight to her (so obviously bypassing any event)
That shouldn't be possible. No, it is not (or at least, if is, I don't know about it)
= spring 1 dialogue
Okay then hopefully it's just an artefact of me bypassing the normal process
Looks reasonable to me
You can check the whole code out on GitHub if you want to.
You'll find...
cool, thanks
Wait! Where on earth is my when condition for intro event?!
I already have her files because I downloaded her and have her in game so I am just reading them from your mod folder
Okay this is probably just me being silly, but won't it be possible to meet Eleanor before her intro event because you need to have seen event 112 to get her intro event, but 112 ends with the player inside the wizard house where Eleanor is?
OH!
It is not you being silly, I haven't actually thought of that. So I'll change things in lore to fix that error. Thanks for finding it!
Okay good! In that case you might need to test her dialogue because it is weirdly swapping between part of her spring_1 dialogue and her Introduction dialogue.
I promise I am not scouring your mod for things to pick on! I just noticed because I talked to her so I could look at her portrait lol
Let's just say that she was on a trip (warping into -1000 -1000), maybe doing something at the Hogwarts (https://www.nexusmods.com/stardewvalley/mods/14858), like || on the summer 3-7 first year...||
What exactly do you mean by that?
You can't see the spring 1 dialogue without cheating/warping to her. The community center is from spring 5 (https://stardewvalleywiki.com/Community_Center) onwards, and the mail from wizard is the day after.
Plus, with the change, she'll be visible after her intro event.
In that case, should I have the condition "has seen event" or something like that to wizard vanilla/SVE event or to her intro event? That one is on the farm, so you can't get past it without seeing it.
Oh yeah of course I did cheat by watching the wizard event on the first day lol. Okay so in normal play there's no risk of her dialogue including spring_1 the first time you meet her, but it's possible that it might go strange on whatever day you do meet her without cheating (I say this just because she shouldn't ever have dialogue that consists of partly daily dialogue and partly a CT so something is going weird there).
However, if you can never meet her on the first Spring 1, why do you have dialogue for it?
If you're changing her so she won't be findable in game until after her intro event even if the player is in the wizard's house, her schedule condition is fine to stay as her intro event (if that's what you're asking?)
i wonder if i could make an animal that requires two previous unlocks to breed together
that might be a bit ambitious
Wait, that one is only for spring 1 year 1? Then I should add a "_2" to it...
I was asking if CP will change the schedule for that day, so if you'll (for example) have event 112 with Wizard on spring 10 and then, as you can't escape her intro event, on spring 11, so if I should direct the when condition to the Wizard event or to her Intro event, if I want to meet + talk to her on the day I had her intro event. That should be directed to Wizard event, right?
Yeah it should be the wizard event in that case, you're right.
Well, that one doesn't look like it is correct, not at all... Original Winter 6, btw.
You should see the reason for that in the SMAPI console
That is why one of the users (why does it sound like I have thousands of them, I have like 200 unique downloads) had that error with Eleanor.
The same error like that user.
Log: https://smapi.io/log/e55d38e90265490495650df7e9e7add4
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Pro, with 64 C# mods and 31 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
Yes I got the same error
Nice... So nice... And how to fix it? That's the question.
It's the one Button told you about right at the start of this conversation
The problem is because you're using a. Remove those, no more problem.
I just changed her schedule to the one you wrote without a and she's off to the seed shop
Oh, yeah, OK.
BTW, many thanks to you, you helped me fix many errors, I'm so grateful.

You're very welcome! It was a good distraction from an IRL thing that I can't do anything about right now but which keeps making me anxious, so it was actually helpful for me too xD
Also, Eleanor and Hiria are going to be walking a very similar path to town at possibly a similar time so maybe when I publish Hiria they will be walking along together like they are friends 
Hope you'll solve that thing out ASAP, and especially with the best result for you or the ones you want to!
Thanks, I hope so too! I'll find out in the morning because right now it's bed time.
If you can't find an existing way that the game tracks it then yeah it would be quite ambitious I think
Hmmm... Nice! And, if I can ask, is Hiria also someone with magical abilities, or not? I'll add some mention of her either way, but... Just asking how/about what the mentions should look like.
No, she's just a normal park ranger but she's more open than most people (like she can talk to Jorts and Jean the cats). But she won't be released for months yet so don't stress about including anything for her yet xD
Ok. Either way, if you remember to do so, ping me when you'll release her! I'll look out for it.
i feel like maaaaybe extra animal configs could do it, but effort
well what was once an idea for 2 animals has become 8, typical
hey folx, good morning from EST 
is anyone able to help with trigger action coding? here's my content.json https://smapi.io/json/content-patcher/d289d6b83fab40cb97296736e077270b and the SMAPI log if anyone can take a look https://smapi.io/log/f6ed2fca5f2a4541bfda61164571053e
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 55 C# mods and 67 content packs.
The content.json you provided is not valid. Here is the corrected one: https://smapi.io/json/content-patcher/77002944928e436eadea15c9690e7c06
Please, change the lase value and maybe also when condition. These provided in the link are not correct.
oh, thank you! i changed the last value of the trigger action to "false" with quotes. and can you clarify what you mean by changing the when condition?
could someone have a quick look at this to maybe see why it's not replacing the assets? Frustrated, lol https://smapi.io/json/content-patcher/60609cd9e8cf4dc9ae40f942fe29c5b7
Change the when condition only if you need, I just did a basic copy paste fix from other parts of your code.
hmmm yah it's still not applying the trigger action...i'm not sure what else may be wrong. the mod ran fine before i added the "When" and "Has Flag" condition
Huh I can't look at your json, it doesn't load confetti
theoretically these should work
but I do wonder, are you replacing entire images for everything (because its a map recolour)? or sections of various images
because if so, you'd need FromArea and ToArea blocks
If its straight up full images, can you try commenting out "PatchMode": "Replace" by adding // right before it
so like //"PatchMode": "Replace" and see if that helps?
I thought it was my internet but I can see the other ones
it's a recolor, so the whole image
okay, then try commenting out the PatchMode block
it worked? my silly ass thought you already edited
lemme know if it works ! //sorry in advance, I just woke up uhsauigsf
It just looks like this to me
which i find pretty funny
it happens when the first thing is a comment
Naw Lily thats the only thing I was seeing too 
that's really funny ngl
Uh hey question, for some reason a lot of tokened strings don't seem to be doing the tokened thing in game and just show a full asset path
Is it probs an outdated mod or?
you can't replace images for Zuzu that way
you have to get people to replace the files in the zuz mod themslves
ooh
Do you have an image and the json with related tokens?
what do you mean "tokenized string thing". if there is a full asset path it means the asset is not there
dang okay does this work? https://smapi.io/json/content-patcher/1749856f5f9c44d0ad087f7ced2ebeef
It's mostly stuff like marital status and whatnot, stuff that's supposed to return displayed text when fed an asset path
For the names of things
Can I ask what isn't working with rhess
These**
that stuff moved in 1.6.9
Ahhh
also, for help with mods, #1272025932932055121
well, as it is now, the mod i have up is just a straight copy over recolor, no manifest or anything. I thought doing it properly might be better xD
it is that way because the way zuzu is set up
oh D:
Yeh, but like, I'll just recompile the outdated mods and fix em myself, was just trying to understand where the problem was
oh yah, so i'm trying to tell it to run my dialogue mod only if the player answers yes to the NPC's question (using $q and $r dialogue) in the save file. but i want the NPC to ask the question again at the start of the new season, and it was suggested to try a trigger action to remove the mail flag
That depends on what you're updating.. I'm not sure what you mean by marital status and all that- are you trying to fix an npc for personal use?
you cannot use content patcher to target a tilesheet if it is in the same directory as the tmx file
ooh okay good to know.
yup, okay, the relationship strings moved. No idea where
!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!
!decompile
If you want to make SMAPI mods with C#, one important resource is decompiling the game to read the game code. Here's how to do it: https://stardewvalleywiki.com/Modding:Modder_Guide/Get_Started#How_do_I_decompile_the_game_code.3F
just grep the unpack for where they moved to I guess
Like, this is a programming bug and not a tech support thing if that makes sense, das why I thought twas ok
https://smapi.io/log/5fd2b6ed9bdb4ba9a075c388dde5233c it seems like each part of the trigger action is wrong??
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 55 C# mods and 66 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
Note to self
I guess I'll just leave this up as is xD https://www.nexusmods.com/stardewvalley/mods/30537
Fix the mods once I shovel 7ft of snow
Okay that makes sense, I'm going to be deboarding a plane in a second so I don't have time to look through it until I get to the gate for my connecting flight
Do you live in the mountains pixie oh my goodness
oh no worries, thanks for helping so far anyway, safe travels!
not me, I don't have the 7 feet of snow thank god xD
Ope i read the wrong message I meant banana
Autocorrect I did mean bananer not banana
xD
same, barely got snow and the rain melted it all by morning. we keep getting half-assed snow that leads to delayed openings for the school district but no real snow days 
Hi guys, let me clear up a doubt, I'm trying to make the wines copy the color of the fruits, but what I did wasn't enough, because it didn't work.
private void preserveColor(object sender, AssetRequestedEventArgs e)
{
if (e.NameWithoutLocale.IsEquivalentTo("Data/Machines"))
{
e.Edit(asset =>
{
var data = asset.AsDictionary<string, MachineData>().Data;
data["(BC)15"].OutputRules[3].OutputItem[0].CopyColor = true;
data["(BC)12"].OutputRules[7].OutputItem[0].CopyColor = true;
});
}
}
What do I need to do to make the bottle have the color of the fruit? It's a new fruit that I made.
you just have to add a color context tag to the fruit object
dont do anything else
But in the item's context tag it is red, but the wine is coming out purple
show me
did you add a new wine item?
if you just added the fruit and the context tag is correctly applied, it will work
data["slicedWatermelon"] = new ObjectData
{
Name = "slicedWatermelon",
DisplayName = slicedWatermelon_name,
Description = slicedWatermelon_description,
Type = "Basic",
Category = StardewValley.Object.FruitsCategory,
Price = 100,
Texture = $"Mods/{this.ModManifest.UniqueID}/slicedWatermelon", // Caminho virtual correto
SpriteIndex = 0,
Edibility = 20,
IsDrink = false,
CanBeGivenAsGift = true,
ContextTags = new List<string> { "Red" },
CanBeTrashed = true,
};
follow the color tags that are in the image i sent
refer to vanilla items for examples
Hello, I need help with map making in Tiled
I'm using water tiles from the spring_outdoors tilesheet in an interior map, but the water animation is not working. The modding wiki says if the tile custom property has Water set to true, an animation will overlay the tile. Anyone have an idea what I'm doing wrong?
have you looked at how vanilla maps do it?
yeah
oh nice i will try that thanks
It worked, it really is because it was color_red and not red
Eh, the TreatOutdoors property didn't work. and the modding wiki also says the animation ovarlay should work anywhere, even indoors. I'm probably making a silly mistake somewhere. when setting a custom property, the type should always be string, right?
you did do Water T on the water tile itself, right, not as a general map property
alternatively you couldve just exported the tilesheet and embbed it into your map so you'd have all animations and stuff already on there
I exported the tileset as a .tsx so all the animations and properties are intact from the base game.
hm
hmmm
โผ๏ธ How long have we had this on Nexus?
Are you able to make web requests with mods in SDV?
I was thinking about the possibility of making endpoints for external applications.
Sorry if this is a common knowledge question. Never modded in SDV.
should, there's a Twitch integration mod and an archipelago one that both go through the web iirc
It's not common but should be doable?
Gotcha. Sounds good!
Another game I play exposed an API endpoint that returns certain information like health and inventory. So, I was thinking it would be cool to make something like that for SDV.
Creates really cool possibilities for external apps ๐
please dont laugh at the map XD im in practicing mode
Could I ask someone here a favor?
Aur naur
what favour lily
If you could download my mod and look into the event json and see what the event ID for the six heart event in cindersap is
I messed up something with the preconditions and someone can't trigger it but I want to give them that so they can still watch it
But hell if I remember the event ids
sure gimme a sec
Aos.QiFriend6HeartsForest is it this one
Do the notes mention he needs to be there
I think that's right it should be anyways
in the notes it says "must have seen 6 heart event" and then thats the line in parenthesis
OH that's the uh.. you're looking at the secret woods event i think but it requires the six heart event so
its probably the right one 
I was really specific with the naming conventions so I can't imagine I named any other event that
Iirc he only has one six heart event ๐ค
but more importantly, youre supposed to be on a trip whatre you doing providing support while on vacation ๐ญ
what happened to taking a break 

Ngl i don't even want to be on this vacation
The last 24 hours has felt like an omen not to go ๐ญ๐ญ
you might as well enjoy what you can from the vacation, it gives you time to reset and rest from modding
you worked long and hard to finish your mr qi mod, you deserve the break
And yet here i am on my second plane 
Yeahh i mean i won't be able to do much anyways it's why I didn't bring my laptop actually, I knew damn well what I'd end up doing lol
Anyways the plane is about to take off I must vanish 
take care !
maybe I should have mentioned that the map was a a farmhouse map. so maybe the floorID's and stuff is the problem? I only know one other farm interior map, (Kisaa's) which looks really complicated so not sure if I can even accomplish what I'm tying to do 
farmhouse can be janky. i suggest not trying to do animated water (like the shiny water you normally see in outdoor maps) in farmhouses
FloorID does not have anything to do with what you're doing, it only makes it so the floor area with the relevant ID can be changed using flooring from the catalogue.
I see ๐ thanks so much for the advice. The outdoor water looks really pretty, especially with recolors, so I wanted to add it inside the house as some sort of pool (the grand ideas of newbies these days...๐ฉ๐คฃ)
hello gang
im trying to learn FTM to get my custom forage in my custom map
I was wondering how to specify terrain
saw this part in FTM's config html and i thought, "Oh, how would the game know my grass tiles are grass" 
i made a new save and my forage did not spawn in, so i was thinking it must be that
you need the property on the tile or on the tilesheet data
it's usually why we suggest starting from vanilla as the properties are here
oh man
okay, that would make sense
i overwrote the grass tiles with my own (separate tilesheet and all) and thats probably why I lost the property
You can also do forage via location data. Do you need ftm-specific features?
Does anyone know what needs to be done to the "Magical Crops" mods contents.json to make it so you can ship the crops from it. You can't get perfection because you can't put them in the shipping bin. I just want to fix my copy.
i wanted to play around with monster spawning :D so thats another reason im using FTM
Add ExcludeFromShippingCollection: true
from my understanding I can make custom monsters with it too I think //unless I misread 
You can!
hell yeah
SVE uses it for that
you can-ish
you can't do custom behaviour, you can do custom appearance of existing monsters
thats good to me, dont think im creative enough to come up with new monster mechanics
๐ good, i prefer mentioning limitations right away
and i really appreciate it Lumina, thank you 
that wont be til far along the line for me I think
im very slowly chipping away at stuff ๐ im being too perfectionist with my maps 
You need to set "Type": "Basic" in the object data
existing items remain unshippable, you'd need to harvest new ones
huzzah I believe I've found the issue 
Ok. If them not being shipable is on purpose I don't mind doing the excluded from shipping. If it is not then I would do the item type....... wish I knew the intention. Oh well, I will make them shipable for now as them not being is wierd
1.6.9 made Type mandatory for shippable items, and lots of mods got hit by it
it's most likely unintentional
You cannot use tokens directly in language files. You can use dynamic values but it works differently. Check the cp docs page for i18n
got it! thanks
Ok, cool. Also since you are right here, I just added the Informant mod to my game as it looked cool. I did notice that it does not display the crop name or grow times with the water planters from MTF. I sent a request to the mod author to add compatibility. Heads up, incase they do ask.
Hey, wondering if I could get some feedback on some ideas: I'm working on two mods, a farm map and a Distillery building. While I'd put both of them up as separate mods, the farm map is designed to give you a headstart on distillation, similar to how the base game farms give you a headstart on a particular skill. However, I like the idea of the Distillery being made available after completing a Special Order, and that Special Order makes sense narratively to only be available after completing Pam's Potato Juice Special Order, so we're talking a minimum of late Spring Year 2. Given the price and resource requirement to build the Distillery, I estimate most players won't get to it until late Summer or Fall Year 1, anyways, but is Spring Year 2 too long to make the player wait to build something like this that the Farm Map itself is (slightly) geared towards?
is it possible to animate a growing crop?
SpaceCore has an animated texture feature you can look into
https://github.com/spacechase0/StardewValleyMods/tree/develop/SpaceCore
I think the best of both worlds here is to have it locked behind the quest only if you aren't using the custom farm type. That way, you can have them as separate mods, with an early start when used with the farm, and a later, supplemental building when using other farm types
You could also have a configuration for the distillery to get it immediately or use the quest route to suit people's preferences
I also have another random question can you prevent certain crops from being put in a seed maker?
(EDIT: NVM See Frog's answer below)
you can edit the seed maker's rule and add a condition to its trigger to ban your crop item
check RequiredTags
challenge mod idea: ancient fruit doesn't seedmaker
that does kind of make ancient fruit useless though, since gem berries are more valuable and can be obtained more reliably
they are however, infinite regrowing in the greenhouse
There is a context tag to add to seed maker ban a crop
you can't propagate them
ah, didn't know that. TIL
Look at golden carrots from SVE
it's seedmaker_banned
It uses it. I know because I removed it ๐
Sounds good, this is exactly what I needed to hear
ancient fruit seeds are a pain to get directly though
also it's quite literally the most propagating crop rn, seeing as it's the only one you can get seeds of by putting OTHER crops in the seedmaker 
(which I'd imagine would actually need C# removal tbh)
It always annoys me when that happens. If I put a crop in the seed maker I want that crop
if you are making the farm map a non-replacing map (which I recommend), you can use this BuildCondition:
ANY "FARM_TYPE myfarmtypeid" "PLAYER_HAS_MAIL Current mymailflag" (make sure to add backslashes before the quotes if you put this in json)
i'm like two weeks into the qi fruit quest and i have gotten four ancient seed drops from my seed makers. my greenhouse is already full, thanks a lot
amazing
rip
adds the idea to mod ideas instead of making a 5 minute mod
to be fair to atra, atra is vaccuuming
The SMAPI documentation seems to add a lot of 'how to add more to the game', but is there a reference of vanilla properties?
For example, I'm trying to find if there's an object that contains the CC bundles for that game.
add these spam comments in as letters
!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!
Oh lit. Thanks!
"50g gift zuzuegift . com"
it has a consumable attached that, when consumed, gives a debuff for the entire day
if you're familiar with programming you can also decompile the game code to see the real guts of how everything works. That's where a lot of the wiki info comes from!
Game1.netWorldState.Value.Bundles; Godspeed
Thanks! I'm excited to dig deeper. ๐
!decompile
If you want to make SMAPI mods with C#, one important resource is decompiling the game to read the game code. Here's how to do it: https://stardewvalleywiki.com/Modding:Modder_Guide/Get_Started#How_do_I_decompile_the_game_code.3F
Awesome. I'll give it a looksie in a bit! (Wife is currently staring at me to play our save file, but tonight I will give it a try :D)
brb, assigning you to it-- /j
I was planning on getting a letter at the end of the Special Order to trigger the building's availability, so this is perfect. I can just mark the mail read with an action trigger on day one of the farm map, in this case.
if that's so, then you can simplify the condition to just the mail flag check, and have the farm type check on the trigger action instead
Awesome
tbh if you are making that special order so important, I'd actually launch the special order via trigger action too
Is that to make sure it comes up asap after completing Pam's order?
no, I would actually just launch Pam's order Spring y2 lol
have her write a letter requesting not-vodka or something like that
so it's less of a chance gate
I was curious about that; is there a chance Pam's SO doesn't show up in Spring? I kind of thought the game made an effort to ensure seasonal Special Orders would show up in their season
it can't show in non spring if it has the proper tag
but it can not show in spring if the player has enough orders that can be shown instead
Good to know
Can you trigger a Special Order through a letter or would it just be a regular quest?
SO can be added now outside of the board with various ways in 1.6
letter yeah
wiki likely has details on trigger action page and maybe mail
"atravita_LocalFruits_Invite": "@!^ {{i18n:atravita.local_fruits.invite.text}}^^ -{{i18n: Lewis}}%item specialorder atravita.LocalFruits %%[#]{{i18n:atravita.local_fruits.invite.title}}", example
there are other ways (like an event, etc.)
Oh sweet, this makes it so much better
you could also just use a triggeraction but I find that a little player unfriendly, since they just...have a quest show up
better to put a letter or event in
(three of the quests I did for additional special orders first launch via letter.)
Letters I can do, event scripting I never quite got the hang of
trigger action in dialogue seems player friendly enough
does AddSpecialOrder make a little ding sound when it fires?
no idea, button, I mute the game and I don't play lol
i would say the main "issue" with events is that they aren't a guarantee to show up, but they can be a nice alternative if it's not too crucial to have a specific timing
one of those things is a much bigger reason than the other
(looking at the code i dont think there is a ding sound when AddSpecialOrder happens, but ig you can use spacecore to play it manually)
I know I shouldn't mind, but I'd like to ask, why do you use more i18n keys like that instead of one i18n key?
For example, I have
"{{ModId}}_Secret_Mail_Eleanor_warning": "{{i18n:Secret.Mail.Eleanor_warning |DT_dialogues={{DT_dialogues}}}}"
in Data/mail and the i18n looks like this:
"Secret.Mail.Eleanor_warning": "Dear player of Stardew Valley (a.k.a. {{DT_dialogues}}),^^if you don't know, you installed a custom NPC mod that adds an NPC named Eleanor. If - by any chance - you paid for this mod, please demand a full refund immediately, as this mod is fully free and downloadable from Nexus Mods (ID is XXXXX).^^-StrojvedouciDenis; author of NPC Eleanor^^^^^^^^^^^PS: Thanks to NPC mod Qingfeng and the 'secret message warning' in it that inspired me to this.",
so they don't have to put %item specialorder atravita.LocalFruits %%[#] in i18n
it's highly recommended you put mail commands and other untranslatable bits outside of i18n
it makes translators' job easier, and removes the risk of them accidentally leaving it out and creating a bug that's only present in their language
Oof, a user left a comment on my mod and another user didn't even give me 24 hours to respond before telling them to edit the code for a personal edit and providing the exact code
although I'm about to rip out all the {{i18n: Lewis}} for [CharacterName Lewis]
*Writing this down*
That's smart... I'll try to remember that.
I was going to implement the request today but that kind of kills my desire to do so quickly, feels like I didn't get a chance to address it as the mod author
And [CharacterName Lewis] works identically as {{i18n: Lewis}}, if you would have in your i18n "Lewis": "Lewis"?
[CharacterName Lewis] actually asks the game to look up the display name of Lewis and use that there
not quite. [CharacterName Lewis] checks the game for its own internal i18n
which other mods can edit
so if some mod, say, renamed Lewis to Mr. Macho, it would show that instead
huhhh does that not work in letters?
I swear I thought it did ๐ฆ
not in letters unfortunately
what happens if the translator needs to gender the letter in their language though
You have to copy the entire mail twice iirc
including commands
probably due to the fact that the parsing would conflict with things like [letterbg]
There are a few places where the tokens just do not work
argh, fine
Okay so I can't post in the mod showcase (and I don't know how if I can) but just posted this. I let myself get carried away with AT https://www.nexusmods.com/stardewvalley/mods/31716
Letters, map tooltip strings, etc. I ran into this last week and ended up redoing all my work to make them static names again
when would they need to gender the untranslatable bits and mail commands?
"GusSpecialOrder_letter": "Querido @,^ Gracias a ti, he podido probar muchas recetas nuevas con pescado ahumado. Aquรญ tienes unas cuantas indicaciones sobre cรณmo mejorar tu ahumador, para que puedas experimentar a ahumar mรกs tipos de productos.^-Gus %item craftingRecipe Cornucopia_DeluxeSmoker %%[#]Receta de ahumador deluxeยฆQuerida @,^ Gracias a ti, he podido probar muchas recetas nuevas con pescado ahumado. Aquรญ tienes unas cuantas indicaciones sobre cรณmo mejorar tu ahumador, para que puedas experimentar a ahumar mรกs tipos de productos.^-Gus %item craftingRecipe Cornucopia_DeluxeSmoker %%[#]Receta de ahumador deluxe",
The entire thing is displayed twice with a ยฆ separator and the item commands go inside both versions
${male^female^nb}$ works
i didnt expect | to work like that in mail data
i told my translators to do that at first and thats why 5 languages had broken mail on release
i knew it would work in general in mail but figured itd come before the title
I'm going to have to test that
I'm looking at the code.
Anyways, atra task list is actually "do the vaccuuming and the dishes"
so unfortunately atra has to adult
if you're in the cornucopia server #1221658272507887668 message
this is such such a scam
adulting? Yes it is.
Now that I think about it, I think what ended up happening was that people copied both approaches and ended up doing ${maleยฆfemale}$ and that of course broke everything
Idk why they did that
im kinda confused how that | separator thing even works at all bc looking at the code it does split it between the mail text and the mail title first, and only the mail text has the genderswitch code applied to it
I have to admit i was too lazy to test all the mail
it stopped users complaining so i assume it works enough
mail = mail.Split("[#]")[0];
mail = mail.Replace("@", Game1.player.Name);
mail = Dialogue.applyGenderSwitch(Game1.player.Gender, mail, altTokenOnly: true);
im not confident its very safe to assume, but, if you've no reports then shrugs
If the ^ method actually works then I'm going to switch all the languages to that becuase the mail syntax breaking all the time has been really annoying
Well, I've got the start of an API design for my new game menu reimplementation mod. I think the main things I have yet to address are:
- Exposing which specific provider has been selected for a tab thanks to user input.
- Allowing mods to insert a spacer between tabs (since UI Info Suite 2 has a space before its tab.)
- Events when the currently active tab changes.
https://gist.github.com/KhloeLeclair/e685106131e60d48b4c727338bc58b77
the gendering issue is so real - I wrote some code to create custom relationship labels for individual NPCs and despite the fact that only three are gendered in English, if you change an NPC's labels you have to i18n all of them because some languages do gender all five (well, one language that's supported out of the box, Italian, and then Russian and Belarusian both gender four)
i do wanna ask have you considered how much this might affect not only mods that affect the menus within GameMenu but just any code that might check for GameMenu in the MenuChanged event and only expects it to happen once per gamemenu instance, as opposed to with this where it seems like MenuChanged will be happening a lot while GameMenu remains open
MenuChanged wouldn't be happening a lot with this. This is functionally the same as GameMenu where it's one menu with many child menus.
This would be an issue with mods that are looking for GameMenu specifically I admit, but I don't think that those mods already existing is a reason not to pursue this.
Determining what those mods are doing and working with the authors to update them should be pretty easy.
A lot of code changes should be pretty simple. For example, a pattern that I expect to be fairly common is something like cs var menu = Game1.activeClickableMenu is GameMenu gm ? gm.GetCurrentPage() : Game1.activeClickableMenu; which would now be more cs var menu = Game1.activeClickableMenu is GameMenu gm ? gm.GetCurrentPage() : bgmApi != null && bgmApi.TryGetActiveMenu(out var bgm) ? bgm.CurrentPage : Game1.activeClickableMenu;
And logic about messing with tabs would just be, use the API and don't worry about messing with the menu on the fly.
Also, I'd probably include like an optional corner button that lets users open the actual vanilla menu in case they need it because of mods that aren't compatible.
Since it's not like the vanilla menu will be gone
hm. okay. does anyone know if it's possible for a shop to pull a list of items from, say. a loot table of some kind... like monster drops or daily forage
You can use RandomId i suppose
Can't cover all modded things though, unless they all got a context tag
hm. disappointing but fair enough i guess
i'm just thinking because i used to use pelicanfiber to grab certain items and they seemed to use a context list like that but i have no experience dealing with C code and it's not updated for 1.6
Pelicanfiber 
Anyways u can make custom context tag for this kind of thing if u want, just gotta edit the tag into every modded object
is there anything I can do to get these vertical pieces to move off of center? I'd like them to be on the rounded posts instead 
is this your custom fence?
yes
ogh that would suck ass because i'm dealing with a lot of mods in this pack but. eghgh. i could probably figure it out
also I need to find out why that right connection is two pixels wide instead of 1 and is more off center than the left side
hm, it adds the pixel in when I add just the right vertical piece
maybe check the fence png? it may be off-center by chance
yeah, I guess it's naturally going to be when the grid is 16 px and the vert fence piece is 3
but I dont think itd be off center if it wasnt adding in that extra pixel
everything is in its grid
can i check a dynamic token's value in an event precondition?
hmm maybe its this pixel here..
i dont think so? ๐ค at least i havent heard ot it being possible
ok well got that pixel issue taken care of, but the vertical... I can move it where I need it to be on the left side, but it doesn't actually mirror it for the right side like I thought
bah gate isnt working
fun...
yet another victim of custom fences ๐
how do I tackle that is now the question
which is... another thing without reference... all the custom gates Ive seen are AT and SVE didnt change the default gate
I'm now on my own... must find the gate tilesheet in vanilla stuff I guess
mm but they're with the fence tilesheets... so now.. wah
theres gotta be a data json for the fences somewhere
hmm, maybe I have to overlay it onto the vanilla one
otherwise I would have to make a custom object, recipe and gate json to go with it which ... sounds like a lot more work
never mind the fact that I cant even find where the "gate.json" is actually in in the vanilla stuff
but if you're making a custom gate, i thought you had already did that? ๐ค
I have the sprites, I had asked if I needed to do a separate item in the past for the gates but it was brought up that the vanilla one exists and I shouldnt have to make a new item for it
I may be able to just area patch the gate part of my sprite sheet over the vanilla ones so I dont have to go through the trouble of finding out all the little nuances of whats needed to make a custom gate item as well
but I should still be able to area patch right?
why are you doing that
because its coming up as the vanilla gate?
I have no experience in C# so I will not be able to code a custom gate
did you place the gate item on top of your own fence
instead of on a blank space between two of your fences
can you post both your fence png and an in game screenshot
I can
but I mean there is technically nothing in the code right now to tell it to use the gate sprites of my sheet
also I just crashed my game ๐คช
oh nvm
everything is in their grids โข๏ธ like the vanilla sheet (marked it out and compared on both)
let me grab the vanilla fence png just to quadruple check again though
ah yes of course it got shifted when I was cropping ๐
well one sprite did
I'l be afk, child woke up and needs sustenance
that is strange. only if you're willing to, can you send the mod files so I can look?
I can, if you're OK with waiting til I get back to my pc 
nothing makes me sadder than having to fix a million tilesheets for just 1 pixel
well I found a hiccup in the tilesheet again elsewhere anyway
Hey everyone, howโs it going?
I really need something very specific, and Iโm not sure if anyone can help. Does anyone here play with the Fishing Trawler mod and has managed to find the boat on Ginger Island?
The mod:
have you checked the island southeast on a saturday? It's accessible only after repairing the resort
(also fyi #modded-stardew is more suitable)
I actually just needed a screenshot of the location
And Oops
sorry, I didnโt notice where I posted it
ah woops, my current save doesnt have that unlocked yet, and my game might explode if I try loading an old save that does have it
I JUST FINISHED THE FIRST BUILD OF MY MOD!
Detri's Detritus is a mod that adds many different crops, items, and more!
congrats!
just fyi, it looks like you set the version on nexus to be "V1". I'm not sure if that's also how you set it in your manifest, but I'm pretty sure that won't work well with smapi's update checker. Most stardew mods use something called "semantic versioning" (you can look it up, but in your case it would likely be 1.0.0)
it is set as 1.0.0 in the manifest
SMAPI checks nexus's version, though
Then you should set it as 1.0.0 in nexus, too
haha beat me to it button
I'm slow today
they should be the same in the manifest and on nexus, and they should be in the form 1.0.0
anything else will make the update checks go wonky
YALL
Sprinkles cheeto dust on you
w h a t.
does anyone know where i might find information on organizing files? for example, i've seen that there's "Action": "Include" which looks like it can combine multiple .jsons into one file rather than having all the code smushed into the content.json file
i haven't found any tutorials on that specifically
dynamic token question: if i have two values for a token and different conditions for each, what does the token do if none of the conditions match for either value?
thanks!
does it just default to blank without me having to include a "Value": " " on one of the options?
or null or whatever
All tokens have a "valueless" state, which is what you would end up with
Like how Season has no value if a world isn't loaded
Correct. And you can use that with HasValue.
I think if you use it as a token when it has no value it just outputs an empty string?
ok cool beans
question 2: is there a trigger action way... to change a character's romantic disposition to not romanceable after acquiring a mail flag
currently i have it set up like this but im fearing since spouseRoute is too flexible of a token, that the dispo change would randomly revert itself??
๐ Hi, I just uploaded my first mod, would anyone be willing to check it out to see if i did anything wrong ? ๐
https://www.nexusmods.com/stardewvalley/mods/31705
Is the mod open source?
yes
the spouseRoute token is used solely for festival dialogue (so the npc wont say romantic shit about them when the player is dating them), but ... 
if it is able to change randomly im afraid itll fuck up the dispo changes
What tile type did you use?
should i just make a new token that equals the same value (the npc name) that has different conditions?
.zip. Huh, i just upload a new version and this one got quarantined. Hrm
well not the same value, but. "npcnameComplete" whatever
I would contact nexus support, you may need to upload a new version after they verify that one because that one may be corrupted
i think i may have solved this by j ust making a new token lel
do u want a mod show case 
i should maybe ask if you uh, provided way to access the menu for gamepad players
congrats! This part made me laugh, you are so real for this 
That would be awesome. Lemme figure out the file quarantine first. As far as gamepad players, the keyboard shortcut is configurable in gmcm (would that work)?
I think it is good to go now ๐ . Ill take a look at star control
how would one go about making a tile impassible? not sure i completely understand what i'm doing
eggghh i guess i'm going to have to do this edit then
you can also edit the property in CP if it's just like a one-off and you don't want to do a map patch
i'm trying to update what i had been doing last night and make the false npc unpassable but
i think i'll have to go edit the tilesheets
This is completely possible, there's nothing blocking it. Archipelago does it and there were zero roadblocks to getting it working. It uses websockets.
Some people might have firewalls that ask permission the first time, at most. If your mod is explicit about interacting with the web, the user will expect it and probably allow it
Awesome. I made a few test endpoints just for giggles. Gonna have to get more familiar with the underlying code to get what I want, though.
Someone helped me out and sent some documentation on decompiling, though. So, I should be set there! ๐
It's a quick integration, just a few lines. Single it's a single mod, you just want the item registration, not the whole page registration. https://focustense.github.io/StardewControllers/api/#item-registration
You can also check out the AFS commit, I've had it sitting local and just pushed it: https://github.com/focustense/StardewFishingSea/commit/742f2fb0b7322625a6b204820b13db1d942fb912
Congrats on publish btw, I don't know if you had already built the menu side of the mod when you were asking your question the other day, but if not, then that's some seriously quick turnaround.
ykw im going to make a desert expanded (ik there already is one but that expands the oasis, not the desert, and !twocakes)
Haha, naw the hud was the last part of it
Real test is making it compatible with Seven Deadly Sins.
oh good lord.
i say i just make the end of the road a warp into another area of the desert
for a minute I thought that was desert festival 
how does SDS handle that, I wonder
Compatability nightmares are why 90% of my mods are farm maps.
I dare you to do a vanilla map overhaul 
at least you wouldn't have to worry about SVE compatibility!
There isn't a map i could do that wouldn't break mods
I think backwoods is least modified, followed by mountain, then forest, then beach, then town?
Just make, "big stardew" where every base map is 200x200 and tell them to make their mod compatible with mine, there is space for less conflicts now.
Hey @acoustic summit, just saw a Nexus bug report about the Net tool (from Nature in the Valley) not showing correct icon in Star Control, and after browsing the source, it appears to be because the mod never actually registers the net or adds it to any game data, everything is done by directly patching shop menus and overriding the tool's draw function.
Is this something you could look at for a future update? Not having actual item data for those items is likely going to be a compat issue for a lot of different mods.
I hate to tell you, but someone beat you to it
https://www.nexusmods.com/stardewvalley/mods/28374
Looking at that I can tell it's not 200x200, not big enough.
I appreciate that you can tell that from sight
how expected that the two comments are about incompatibilities with other town changing mods
You are dooming me to actually try it out when I get home.
Does SDS have a 1.6 with an EN translation yet?
Not the one that's good.
There's an in-progress translation that's still unreleased, and there's the released, MTL one.
yall how can i use randomization mode to randomly place a tile in a map
Speaking of map mods, you can always be bold and make it incompatible with absolutely everything. https://www.nexusmods.com/stardewvalley/mods/30795
well since its a separate location with a mapedit warp it should be compatible with everything
I'm surprised xnb zola didnt smite that
Zola just gave up.
bump
i dont think theres a need to bump a three minute old message
its not about bumping time, its about it getting pushed up in chat
D key turns on random placement from selected tiles
yeah but do i use the stamp with randomization on
Stamp for single tile, fill for fill, same as normal
I cant get it to work, its fine. I will follow you and manually place the stuff
I use the randomizer a lot actually :p
theres also the Tiled docs tho i dont see anything besides the mentioned D key for randomization
funny how i came in here for a tiled related q but i forgot what i was going to ask
lol
Well let me know if you remember
its probs because of the fact of the ~80 strings i am adding to my library bookshelves that my brain forgor lol
well imma be sitting here eating lunch for the next 30 minute before i dive into modding, so if you remember, ill be around.
Tteokbokki with a side of fries for dipping 
I like how the entire mod description is written in Indonesian, didn't even bother with a machine translation.
yall i got to go through 30 item ID's and alphabetize them...
-# save me...
Hey, maybe there is a large Indonesian player base
Also no screenshots, no source, really no clear indication whatsoever of what precisely is being "remakened". Just great all around.
Man, that sounds really good...
BRO HOW DO I MAKE THE EDGES LOOK GOOD
use the original desert map as reference, of course
oh yeah!
alternatively you can just copy-paste the desert.tmx in place and work from that as a base if it's more convenient
it'll make it easier to copy chunks of the map since the tilesheets will have already been setup for you
This is a good way to learn how to style mapping and stuff in that field so I will stick with this
The odd thing is that the whole page sounds like weirdly-translated Indonesian.
(copying tiles from one map to another, even if the tilesheet images are the same, will sometimes have bad side effects such as duplicating the tileset in your map)
You think it was machine translated into that bizarre Indonesian prose with a smattering of English keywords?
Well, it would be no weirder that anything else on that page.
(heartbreaking: spending $30 on coffee grinds and it's dogshit)
sure ๐
I hope you mean figuratively
I'll add it into the next update
alternatively looking at how other people did it also works, i have a desert farm https://www.nexusmods.com/stardewvalley/mods/17376
Do tell us what brand to avoid.
(lavazza. like drinking dirt)
yeah i think i just learnt that the hard way lol
Great! No urgency on my side, just passing on the message.
one of these days I will look at Draylons cool cliffs and figure out to make my own more seamless but rn i gonna leave em shite 
ty!
Wait, isn't Lavazza an Espresso grind? Did you make that in a regular coffeemaker?
nah they also got Caffรจ Crema Classico and stuff
I mean, it's not the best espresso ever either, but if you put it in a drip... it would definitely come out sludge.
you dont even have to use my fancy technique anymore now that extra map layers is in base game.
(doublechecked just for you, regular coffee grinds for regular coffee pots)
we used to have lavazza coffee for the machine at the gas station i used to work at
Heh, alright then. Didn't know they made regular grinds.
(as in a coffee pot, not a machine)
nah im just that bad at placing specific tiles into specific places
does the paths layer really have any use in the desert?
yup, it's used for palm trees and sounds
again, reference the original desert map and you'll see the uses
generally a good idea to have a Paths layer and tileset in your map at any time
look at this masterpiece
i kinda just do art strokes of a tile and erase and redo it till i like the shape off the line, then use that line as the bottom tile of the cliffs 
yeah, ill be honest, anything over like...6 tiles high is a nightmare to make look good, even for me.
i just recolored vanilla tiles so idk what happened
are those new tiles in 1.6 for tall cliffs? i don't remember the base game ever looking good with 5+ tile cliffs
no those tiles are the old ones, i think they just got better at doing a gradient?
close second place with awful to work with is the AlwaysFront kinda foliage btw
i used to hate it til i figured out how to make it look good.
I ain't a particularly good map maker but I do love making maps lol
layering dense foliage is a nightmare. it turned out much, much easier to make all the trees and bushes in my maps into instances rather than tiles just to avoid it
even if its still squareish I am p proud even getting it to look like this
it's a squareish game
looks good to me
hm, now thinking bout it...was there a limit of how many Buildings, Bildings2, Buildings3 etc one can make in a map?
to be fair i dont think i've ever actually used the islands overhead foliage, i always use the stuff in season_outdoors.
i'm sure you won't forget to put the trees under those leaves ๐
like, any layer type not just buildings btw
i don't believe there is a limit, no. other than about 2 billion
nah those are floating leaves nothing more /j
some very lush UFOs flying overhead
i put them where theyre visible thats all the maps gonna get
meanwhile in my grove map i just slapped trees all around on the building layer under the foliage, i am consistent
for some reason I remember the time where the island had just come out, and i was annoyed over the amount of micro tiling errors in the maps (some of which you could barely see), and i mentioned it to one of the dev's and he was like yeah, make a note and send it over to me and we can take care of that, and i messaged him like 30 minutes later going okay, i've got 47 on just the island farm alone, and then it became not a priority and maybe i should make a mod fixing them instead.
which is fair.
damn
did you end up making a mod to fix them, or did it become not-a-priority when you realised there were hundreds 
thats quite a lot on just one map
also im exaggerating a bit, i think it was 20-30 little errors, not 40+.
I uhhh did not fix them :3
I am fearful for those with such eye for details, makes me think they'll find things on my maps i never notived lol
just as an aside, you're also allowed to add Buildings-1, AlwaysFront-25, etc. if you want a little more fine control
not that it comes up often
25....well, I am still good then xD
usually i dont go past 5 for each layer type...
in this case, the - means it'll be rendered behind the original layer, rather than ahead of it
i mean, if u want cursed knowledge, know that the bridges in the forest are designed to lead into dark dirt, not normal dirt, so if you look at them closely you can see dark dirt where they connect to the land.
bet thats all i can spot from now on
reminds me of the map(?) I made of unreachable forage spots on Four Corners, not sure if it ever got looked at 
(or if it was technically correct, since spawn checks are pretty inconsistent)
I want to make a map. But my skill level is only greenhouse levels. Which does not have alot of detail. I do play with the greenhouse I made.
just do it
greenhouses are a great place to learn the basics of mapping
i dont know 80% of the time what I am doing and i still do it
small farm maps are also popular, so you could just start with like a 50x50 farm map or something if a normal size is intimidating.
I tried two farm maps before giving up and then suddenly started making new locations for my mod
one was hottibly colored and another bland because i fucked up all the farm specific properties and didnt know how to fix em lol
I wanted a greenhouse with spots designed for the line sprinklers mod. So I made it. But I tried to do a bigger map but it I gave up.
is that a puffer map
https://stardewvalleywiki.com/Modding:Maps is a mapmaker's best friend.
I spawned puffers everywhere as an example forage item, then screenshot it with the map layers invisible 
(prior to in-game screenshots, that was an option in...whatever the old screenshot mod was called)
RIP Bland Farm I liked the lil cliff i did
If anyone is good at designing maps I am accepting feedback in #making-mods-art .
whoah thats pretty nice! i like the design, just need some more tillable soil then i would play it
grass can be made diggable
oh
which is what i assume was done there
well i would def play it
i didnt get that far but id have done tillable grass ye
I left my very first mod pretty much untouched on nexus so i could always look back and see where i came from.
maybe one day i come back and check what i fucked up in there
i had a hastily made greenhouse map and then i made another one
same, my first was making every npc into krobus... i am not proud of how it turned out
debating if i want to release my second one or not...
I like that. I like maps where you have to work around the features. Makes for a more organic farm look.
why not?
my very first mod was actually a personal use one where I converted an xnb file to cp...i think for black goats...or was it sheep? well, either way
after that i realized no one could stop me from making more mods
that is all my farms, and part of my core design philosophy 
unstoppable
That could be a cool mod, living in a shadow person village.
I am both unstoppable force and immovable object
wait a sec
NOOOOO I ACCIDENTALLY DELETED THE MOD
eh its fine it shouldnt take me too long to remake if i want to
My fist mods where statues that generated resources because I never got anything but birthday present from the statue of fortune.
and i went from that, to this. Super happy with my new map
https://staticdelivery.nexusmods.com/mods/1303/images/18317/18317-1739239513-1886740641.png
omg yes i found a file that i had lying in my garbage
wow this was made too long ago-
That map is one of the reason I want to restart my current game. I want to play on it. But I am resisting, I will make year 2 this save.
Hello, currently following the custom NPC tutorial on the wiki. So far I have this in the screenshots. Does this look right?
This sounds really nice
!vsc
When creating content mods, it's useful to have a program that will check the validity of your json for you. We tend to recommend either VSCode https://code.visualstudio.com/download or notepad++ https://notepad-plus-plus.org/downloads/
(sounds like a healthy source of carbohydrates
)
The aussies apparently put chips in sandwiches
that's english, you've got the wrong hemisphere
Which is a great reminder that Australia was once a prison colony
very inspirational
American chips? Or British chips? Because they are very different. American chips in a sandwich tastes good. British chips would just be weird.
(both, actually)
As I said: prison colony
(as i said, not an australian thing)
I've had fries in a burrito
and a hot dog, but never in a sandwich.
In this video, we dive into the ultimate comfort food showdown: the Hot Chip Sandwich vs the Chippy Sandwich. Whatโs the difference? Which one reigns supreme? We explore the textures, flavors, and iconic status of these beloved carb-loaded creations.
Whether youโre a fan of crispy golden fries layered between soft white bread or you swear by th...
rule of cubes, hotdog is a sandwich anyway
British chips are just fries. Don't know why they call them chips because they are not chipped.... they a cleanly cut into nice straight lines.
I thought it went | | is a sandwich, |_| is a taco/hotdog and O is a burrito/wrap
Tacos are technical sandwiches.
Anyways, after being the cause of off topic once again I'm off to lift weights
A sandwich is just meat between bread.
a Quesadilla is a sandwich. :3
Yup
is a hotdog a sandwich
Yes
if i put a steak between two pizzas is that a sandwich
yes.
I wonder what my friends in making-mods-general are up to today, hopefully mod making
i'm on a lunch/dinner break. then i intend to finish my greenhouse mod.
We are making mods about sandwiches ๐
Guess I am on my way to make a sandwich /j
btw I just got some fun data on the map edit front.
I split the PatchMap method in 3, "tilesheets", "sourceToTarget" ( aka silly linq code) and then finally "tileedits" for the actual O(n^4) complexity crap.
almost all the time even when I run it, is spent on tilesheets.
Whoever made the mod that gave Sophia long hair, is my favorite mod author at the moment. She looks so cute with long hair. Though she was cute before too.
wait it would be cool to make a sandwich mod
those times. are they doing image loads in there?
otherwise I'm very confused as to how a single gd tilesheet add could take that long, maps do not usually have hundreds of tilesheets
I am reminded of this.
(love of cooking adds sandwiches. they're mildly inconvenient since eating one will return you half a sandwich with the same stats to take up an inventory slot โจ )
Already is one by matt
!twosandwiches
of course the real question is 'does a rice ball count as a sandwich'
you mean a jelly donut?
carbs encompassing a filling
i was thinking of like, cooking recipes
Oh
(i am craving a blt)
no, but each tilesheet can have many tileindex properties, and they are all copied one, by, one to the target.
Rice is not bread so I would say no

This immediately makes me think of a mod called "sandwich anything" 
some here claim a taco is a sandwich even though it isn't bread
is optimiztion #1 in this method which looked like it did wonders for me, will see how it behaves in the busy mod folder
Tortilla is technically a flatbread
that's effectively what it is
Tortilla is technically a bread
if not bread then waht
so sandwich = two slices of bread encompassing filling
eh
keep in mind that for some gd reason everything in xtile is mutable
a flour tortilla could be bread but a corn one wouldnt?
and the game joyfully goes around mutating its...everything in xtile
the source map isn't though
is a stuffed bun not a sandwich then? only one bread, no slices
i am happy with my two pizza steak sandwich
it only handles edible items though, sandwich anything would let you put anything in it, rock sandwich anyone?
yes, but you've copied the source map's dictionary to the target map
hm so slices = two separate faces?
where it now can be mutated
bc ive made one slice of bread sandwiches where i cut the slice in half to make two
we need to find out the choclate bar infinite hack for sandwiches
so you're saying your sandwich did in fact use two slices. interesting argument by the defence here
must a sandwich be able to be disassembled? ๐ค is that a rule
its why I sub to the idea of 2 pieces is a sandwich, 1 U is a taco/hot dog, a O is a burrito.
bc you cant really disassemble a stuffed bun
what if i slice my hot dog bun into two pieces
then its a sandwich, in my opinion
how do we feel about making mods here
...revolutionary
@lucid mulch does the optimization still work if you copy the previous dictionary using one of the bulk copy methods?
is that allowed
mods? this is making-sandwiches-general
by this definition gua bao is a hot dog.
idk this is literally attempt #1 and pretty much none of the logs contain any tilesheet time anymore on my save
this is totally-not-intentional procrastination.
I guess the source map is trashed and not actually, like you know
kept around anymore
it doesnt help that anytime the arguement settles, someone walks back in and goes, "But is X a Y?"
My prior cache in contentpatcher preserves source map instances
what about calzone tho? ...srsly tho i gotta stop or im getting hungry again, hm
you seriously expect me to believe banh mi is a hotdog instead of a sandwich. or dare i say, a taco
I still didnt get any further with adding more strings
so it might be a problem that I can attempt to solve on the contentpatcher side deep cloning when writing or reading from the cache
im gonna go find a sandwich now thanks everyone
am i allowed to post stuff here asking for feedback (such as maps)?
I didnt say my version is without flaws, but yes banh mi (and many sub sandwiches) are a hot dog unless the bread is sliced through (also delicious). Also I consider foods that are fully encompased in a solid mass like a calzone or a stuffed bun, or a dumpling to be in the same category.
deepcloning sounds awful
the constructor of Dictionary that takes another dictionary is pretty well optimized
(ie, using bulk copy methods you aren't allowed to use otherwise)
anyways, back to debugging why my split squat seems to be hitting quads too much
(weak glutes)
yeah absolutely
the point on the left side looks weird
this?
that part yes, but the sticky outy bit, not the sticky inny bit
i'd say that one looks a bit off yeah
alright, ty! i will try to fix that up
I brought it full cycle because why not i have around 70 strings to do for the shelves
also the pattern of cracks doesn't line up and in some places it's really obvious where the edges of the tiles are. I know that tileset is pretty limited so there's only so much you can do with it, but I think there's a few places you could tweak to make the edges less obvious
alright, i will try, ty!
TileIndexPropertyCollection isn't a dict though its an xtile special.
Regular PropertyCollection at least extends dict, but doesn't expose the dict constructors
oh that godawful class
don't copy it
just don't
tell that to the existing smapi code
the tile index properties have to get from A to B somehow, and the Tilesheet constructor doesn't accept them
they're actually in tilesheet.Properties for some reason
dirty copy that
if you look through that class's members
everything is actually mutating the TileSheet.Properties
how bad is _newdaytaskfailed?
or reading from it, etc
I was thinking yesterday about how it might be possible to get performance gains by baking maps into a vertex buffer instead of iterating them with spritebatch every frame. Spritebatch is pretty fast, but like, potentially you could save a lot of processing by just tracking when changes are made to the map
limited is an understatement
I just downloaded this program. So am I Putting everything into there or just continue using Notepad?
I could be misremembering but I think someone did an extended version of that tileset, might be worth trawling nexus a bit
Oh? I will check it out
I cant find anything that really suits my needs, I will see what I can do with this one
hmm, the fast path copy for Dict only works if you are copying from a real dict, subclasses aren't allowed to use the optimization
how bad is _newdaytask failed?
