#making-mods-general
1 messages · Page 613 of 1
okay so no more errors from smapi but when i tried gifting i got the no translation string line thing 
Roxana, for ease of debugging, I think it would be best to show people what both your i18n and content.json (or whatever it's named) look
of course
listening to relaxing animal crossing new leaf music helps me mod fast 
Good news: town loaded
Bad news: loaded wronk
thats ok! sounds good enough to ship
good news: only texture wise
bad news: thats the only thing i messed with anyway
this is dialogue.json:
https://smapi.io/json/none/4bb7b413747c460e9890cb4877e0ace7
this is i18n:
https://smapi.io/json/none/7c98b8a46827493e97bb7a0042e19caf
ah yeah
everything {{i18n:[here]}} has to match a key (string left side) of the i18n json
Your i18n key doesn't match
It's trying to find "Dialogue.Osmar.AcceptGift_(O)MissAnaira.VanillaCookingRecipes_StrawberryCheesecake"
but your i18n only has "AcceptGift_(O)MissAnaira.VanillaCookingRecipes_StrawberryCheesecake"
🙂↕️
weird. i thought i removed all the dialogue.osmar. confusion
you might not have sent the updated dialogue.json cause it still has the period
btw, you can still keep dialogue.osmar in the i18n key, just make sure the keys in the json you use for dialogue matches whatever is on the wiki, cus the game reads those and uses it to decide stuff
your i18n keys are used to just find what text to insert, so it can have any name as long as its unique in the i18n file
i understand, it was just teious to write so i removed it
update: it worked!! 
wee
You can put in whatever i18n key you want, just make sure they match

also sidenote he looks really cool
now, is there anyway to overwrite stardrop tea dialogue?
thank you, it's my hubby 
aww
Roxana, are you using Nomori's i18nifier? It's made working with i18n more effortless.
Me: why doesn't this work
Also me: "BackTextureTexture" (instead of just BackTexture)
no im not :0 is that a mod?
coding is just "guess how many times bugs are minor human errors" (most of the time)
Nope! It's a converter and a great tool for a lot of authors.
omg this looks awesome... where has this been
I highly recommend you just use this moving forward.
also, is there anyway to overwrite stardrop tea dialogue?
i love seeing npcs tell me that they love i18n:really-cool-thing:001

AcceptGift_(O)StardropTea
i tried that but it doesnt overwrite it 
grwrrerrrr doing C# got me forgetting to build.. and also forgetting when i last built... was the minute displayed right now or 20 seconds ago before i fixed the bug
yes they should i recopied the exact i18n name on dialogue
i typically rebuild on every code change I make, and I rebuild right before I get up to go eat
cause when im done eating idk if i built or not and if the bug is still present
cause 3 pounds of chicken is alot of food
you have AcceptGift(O)StardropTea not AcceptGift_(O)StardropTea
oh..
i just forget every second, no need to get up or do anything i start up the game and immediately forgets everything ive done
also for the hated gift response you have AcceptBirthdßayGift_Hated which should be AcceptBirthdayGift_Hated
Is it possible to dynamically add to a ConfigScheme using DataEdit or something similar? I’d like to add config options to an animal template so I don’t have to hardcode the same options for every animal in the config schema.
Is C++ used for mods?
No, C#
Ok
this made me giggle. it's crazy the amount of silly mistakes you make when you type fast and without looking down
Or json if you're making a content pack for a C# mod to use
If you mean for Content Patcher, no.
All config must always be present.
Dang
A lot of us make silly mistakes all the time. I had to stare at my i18n for a good 10 minutes assessing why my event wasn't getting triggered, only to realize it was because of a typo 
-# Currrent
me documenting errors I had debugging yesterday (C#)
error 1: i forgor i changed something to a list
error 2: i forgor to delete a closed bracket when changing a different section from a list to just a class, and also forgor to add an open curly bracket lol
error 3: i forgor to change the other block that i copy pasted that had the same errors
Game launches without errors now!
error 4: i accidentally put a variable somewhere before it gets overwritten instead of after
error 5: i accidentally put something in OnSaveLoaded so some variables were still null
error 6: i forgor to load a whole variable in general lmao
error 7: i forgor too mny things to name ngl, also cus i forgor what the issues were 😭
IT WORK!
TL;DR:
pre-launch errors: i forgor 
post-launch errors: had to move stuff around, and also i forgor
there were more errors after 7 but as mentioned i forgor
success
Had to take a lot of self-restraint not to put I made an oopsie teehee on my patch notes lmao
same
every time i write "i made an oopsie" and i gotta sadly delete it
i can at least be sillier in my posts tab than the changelogs
like "Fixed tile issues with the carp" vs "Now the carp won't eat the tiles and will be behaving"
Me at my serious™ work job every other day
skill issue, I never make mistakes aside from all the times I did
ver. 2.0.1: I made this mod at 5 am and made it everyone's problem. Here's the fix.
I think my silliest in the actual changelogs and not the posts was "Unbroke the mod after the hotfix"
my hotfix was so hot it broke stuff 💔
Update: made the fix even hotter
honestly that's what i've come to expect at this point with nassi
"this is why you should've just eaten it"
Stopped a guy from fishing through her house. shouldn't be as funny as it is to me rn lol
he was fishing in her window 
if it makes you feel better, I saw an NPC skateboarding in Tilly's little fenced house
doing a ton of moves
LOL
He needs to be stopped, clearly 
looks like hes checking the integrity of your house
i took his fishing rod privileges from him (patched the image during squidfest specifically to not have a fishing rod anymore
)
You should make that part of her lore
maybe insert one special unique dialogue about catching a guy fishing through her window. /lh
the only funny bug I had was when red coral when fished up turned into pearls
to this day idk why that happened
winter_7: The Fishing Derby still makes me feel... queasy. I've had recurring nightmares about a man fishing through my window, @
-# i'm making this a Narumi problem duck, shhhhh
or is that nassi + arumi's fusion name
crying i could thanku
ship name 🙂↕️
Question: How hard might it be to add a better tier of sprinkler with content patcher
Not possible.
Correct.
Well shoot... how complicated would it be in C#?
You'd have to ask someone else that because I'm not too familiar with sprinkler code
Ah, fair enough. Well alrighty!
I'm once again back to figuring out rewards for completing bundle books and out of 6 I need I only have ideas for 2, though one is a hat which I've heard will most likely want a framework for
I recall it's just one function you need to override
figuring what function that is is an exercise left to the reader because I'm on my phone rn
-# but really you should try figuring it out; it's good practice
searching sprinkler in visual studio would help :P
Would also def help looking at another mod that does it, but the only one I know of is Prismatic Tools which is.. you know.. 8 years old 
There's also Prismatic Tools Continued, but I don't know how to view DLLs
New quote added by atravita as #8145 (https://discordapp.com/channels/137344473976799233/156109690059751424/1507466179365834934)
I'll just install Visual Studio lol
I'm only doing this because I can't imagine adding ONE item with C# could be that hard, especially with a reference to go off of
Adding an item is dead easy. It's making it do the sprinkler things that can't be done in CP that requires a little bit more work.
Yee, I imagine that part will be a lot easier with another mod to look at for reference
I just.. gotta figure out Visual Studio 😭
Googling is straight up not helping, all Im tryna do is look inside a DLL or decompile it or literally anything 
!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
Holy thank you, now I can finally start getting somewhere
unsurprisingly, looking at a coding language I'm completely unfamiliar with is incredibly intimidating 
!yellowbook
A good book for learning c# is https://www.robmiles.com/c-yellow-book
I'ma be honest, learning like this just does not work for me with my ADHD. Even if it does teach me, it will not be without severe frustration that more than likely will outweigh the knowledge retained
I'm realizing that this probably just isn't gonna work out for me. Even with a reference, there's a whole ton of extra information that I don't know what's needed for what I need and what isn't and just... I think I'm gonna just scrap the idea of adding a sprinkler
what is your style of learning then /genq
Hands-on, but this is also just so foreign to me that it's just too intimidating
there are plenty of stuff out there; C# is a pretty popular language after all
hmm probably some sort of video programming courses from first principles
boot .dev is popular apparently
Well that's the thing, following anything feels darn near impossible for me. I get distracted, or I just straight up don't retain the information and get frustrated incredibly easily. It frustrates me because I know it should be helping but it just doesn't for me, and it ends up in this sort of frustration feedback loop
back when I was a kid we had programming courses at the library
kind of a drop in write your first program in Pascal (yes really) with instructors
There are almost certainly some interactive C# courses out there, at least. I don't know any of them to recommend though, unfortunately!
Did it have a... turbo mode?
the only one available
Risking veering into #programmers-off-topic myself here, but I miss the blue. 
But yeah, I just wish I knew some interactive C# resources to recommend.
It's also worth noting that I can be pretty stubborn too 
So... sorry for being difficult 
There are a few results if you Google "interactive C# course". Maybe worth taking a look to see if any of them are free, or at least maybe have some free basic stuff?
Or just bang your head on it until u succeed
A lot of people in this channel have adhd
yeah but that sort of mindset just winds up making me feel worse about myself 
there's always codecademy
i have no idea how "real programmers" feel about it though, i'm like 99% self-taught and also very bad
Oh, perfect then! That'd suffice if it agrees with your learning style.
(Hi, I made Warm Stalls and Cozy Boxes.) I had a user report, and I've confirmed this myself, that Mizu's Reindeers don't seem to respond to MMAP AnimalSpot tile properties. What makes them different from other modded animals? Mizu yaks, buffalo, deer all work fine.
anything in logs?
also @lucid iron
as far as i can see in the files they're just like other regular barn animals
ok it seems per the report the reindeer was obtained via the special animal adoption event
it could be a genuine bug 
Nothing in logs. I assumed it was something with the new wildanimal function in Livestock Bazaar, but then I discovered I can't get the ones purchasable from Marnie to work either.
Spent a couple hours squinting at this before I thought I'd ask here
Somebody in the other modding chanel mentioned that Content Patcher Animations was a bit outdated? Is there asomething more effitient that I should use? and would anyone know of any guides? I'm trying to put together an animated portrait pack but I'm a bit lost on the CP side of things.
tysm
You can animate with spacecore
you might wanna look at this one for an example with spacecore? i think its one of the most up-to-date ones https://www.nexusmods.com/stardewvalley/mods/28163
THANKS SO MCUHHHH
MUCH
What qualifies for an "expansion" mod tag for Nexus
Honestly no clue
what's in your heart
"Expansion" is just a fan made term that we have 0 real criteria for
nobody knows
I can turn pelican town into shrimp and call it an expansion
If my raccoon mod can use it then whatever you've got probably can too
Yeah, but then would people looking for something like it go to that category and find it?
IDK if this is normal, but I made an article teasing the next update to my book mod.
https://www.nexusmods.com/stardewvalley/articles/4393
I've been working on a massive update to this mod. This update includes:[list][]An expansion to Ginger Island.[/][]Several new books.[/][]New trinkets.[/][*]New mon
It is probably the biggest update I've ever made to one of my published mods
Alright uhh.. this is problematic... I didn't notice this before releasing the update but the recipe I made for the Golden Pumpkin is bugged like completely
It's also why I asked about the expansion category. I feel like adding new monsters, locations, lore, and trinkets is a bit beyond a mod that just adds some new books (granted, "some" is relative here, as it's sitting at somewhere between 17 to 25 different books 😅 atm)
Doesn't even show up in the menu when bought... hm...
THERE'S A TAG FOR THIS
GIVE ME A SEC TO FIND IT
!tag torch
Nope
Yall, what is the command linking you to the message talking about how to fix this bug?
Regardless, the recipe will work. Its just displaying the torch recipe as the shop preview item
!cookies
Well, when it's bought it's not showing up in the crafting menu
But the other item I added as a crafting recipe is working it seems
#making-mods-general message
Last convo about the recipe thing I think
"Action": "EditData",
"Target": "Data/CraftingRecipes",
"Entries": {
"{{ModId}}_GoldenPumpkin": "276 1 {{ModId}}_GoldNanabBerry 1 {{ModId}}_GoldPinapBerry 1 {{ModId}}_GoldRazzBerry 1/Field/(O)373",
"{{ModId}}_ParsnipCrown": "24 1 {{ModId}}_SilverNanabBerry 1 {{ModId}}_SilverPinapBerry 1 {{ModId}}_SilverRazzBerry 1/Field/{{ModId}}_ParsnipCrown",
}
},```
There is also another issue related to SpaceCore with these but one step at a time
ShopData casino = data["Casino"];
casino.Items.Add(new ShopItemData()
{
Id = $"{ModEntry.ModId}_Launcher (Recipe)",
ItemId = $"{ModEntry.ModId}_Launcher",
Price = 2500,
IsRecipe = true,
ObjectInternalName = $"(O){ModEntry.ModId}_Launcher"
});
That is how I added my firework launcher mod to the casino shop
uhhhh- is that C#..?
yes
Yu
Had a feeling
That doesn't help me
but ty

show your full code including shop and object data?
that was the fastest remove on earth
I can show the shop but it's the Vanilla Golden Pumpkin so my mod doesn't have an entry for it
$"388 25 390 25 335 1/Home/{ModEntry.ModId}_Launcher/false/null/"
"{{ModId}}_GoldenPumpkin": "276 1 {{ModId}}_GoldNanabBerry 1 {{ModId}}_GoldPinapBerry 1 {{ModId}}_GoldRazzBerry 1/Field/(O)373"
Your recipe should be:
<Items>/Home/(O)373/false/null/ (I think)
just shop then
"Action": "EditData",
"Target": "Data/Shops",
"TargetField": ["QiGemShop", "Items"],
"Entries": {
...(other irrelevantitem)
"{{ModId}}_GoldenPumpkin_Recipe": {
"Id": "{{ModId}}_GoldenPumpkin_Recipe",
"ItemId": "(O)373",
"TradeItemId": "(O)858",
"TradeItemAmount": 40,
"IsRecipe": true
},
...(other irrelevantitem)
},
}
},```
so when you buy a recipe item, the game unlocks the recipe with the same internal name as the bought item
Ohhh, so do I need to change it to its Id?
because the golden pumpkin's internal name is "Golden Pumpkin" it will unlock a non-existent recipe with that Id
you want to override the shop entry's ObjectInternalName field to be your added recipe
since it is obviously not recommended to add a recipe with just "Golden Pumpkin" as the Id
gahhh I always forget about that wiki page 😭
So would that be like "{{ModId}}_GoldenPumpkin_Recipe": { "Id": "{{ModId}}_GoldenPumpkin_Recipe", "ItemId": "(O)373", "TradeItemId": "(O)858", "TradeItemAmount": 40, "IsRecipe": true, "ObjectInternalName": "{{ModId}}_GoldenPumpkin" },?
that should work
Awesome! Ty!
Getting to type "QiNutRoom" for debug warping has been fun at least 
Hooray!
not the QiNutRoom
Oh, sweet! AND the SpaceCore Patch actually works when in the crafting menu!
For some reason the override for my other item doesn't work and I'm not sure why 😭
This isn't as important, the default recipe I gave for it still works well and I've actually got a more pressing issue to contend with right now
For some reason on one map from my mod as far as I'm aware, sprites on buildings2, buildings3, and buildings4 aren't having collision 
That's how it aoejs
Goes
Only Buildings the original has colljsions
Any numbered layer is cosmetic only
Is it?? I swear I have other maps where the other buildings layers have collision...
If there's already a tile on the cosmetic building layer, it'll work either way, of course
Oh wait yeah I can totally just have invisible tiles on the building layers where I need them
You can also just put your thing on the building layer. Or change the tile data to be impassable
Well the reason they're on different building layers is because the vertical fences overlap
I don't think mmap interact with that (it's just a patch in animalhouse)
Can u give a harmony summary
Generally I do everything on the building layer and just the bit that overlaps on the other layer
but you can do invisible tiles if you want on building, or the data layer thing
I think I need to take a break for today now. I've been frustrating and stressing myself out a lot. I definitely gave myself too much more of a workload for this next update, At least way too soon after how much time I spent working on the 2.0 update
I didn't think adding a handful more maps and bundles would be too much but I'm definitely regretting my choices lol
I think I'll just take a step back and implement the basics of what I want without making them too complicated, just so I don't get overwhelmed. Needing so many Mudkip sprites was definitely getting to me lol
carpet eels
hmm eel pedicure
sea urchins can wear hats
you can put hat on urchins
interesting
This is why
they like hats
They'll do it with shells, so people make little sea urchin-sized hats and put them in aquariums and the urchins put them on
Adorable
the dude who started it all also makes little sea urchin hats for others, the price is around the same as it costs to make them, cus he just wanna let others have whimsy
It's one of those things where the animal likes em and the human likes it, so everyone has a good time
his wife apparently also wondered if they were sensitive to UV and thats why they did it, cus they would drop the hats at night, and it sparked a research on it (they are sensitive to UV, but even sea urchins in the deep sea do this so there must be other reasons)
anyway i gave the sea urchins in Arumi's little fish pond something i feel like her kids would put on them, but even the one in her fish tank gets to have whimsy too
I think you're abusing your newfound fish powers XD
i am doing very scientific tests u_u
soon you can also have carpet eels
when i finally get myself to release this thing from testing hell
if anyone wanna help me test lmk lol
Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24354 on Windows 10 (10.0.19045.0), with 21 C# mods and 2 content packs.
eels in my carpet..
what exactly are you making
It's more likely than you think
hm ok only mmap patches this
StardewValley.FarmAnimal.setRandomPosition
- mushymato.MMAP (prefix)
u can hav aquarium fish swimming in maps
let me make you a build that prints more stuff
will this let me make an aquarium in a map soley used in an event and never seen again xD
I took the non-brave way out on my aquarium and just made it an animated image, that's way fancier
lemme test that out tomorw
its ok I also did that as well
but then i had this big tank in arumis house and didnt wanna animate that many fish... so instead i decided "oh lets just make a C# mod" because that is somehow easier (its not time wise
)
pls try this and gib log
make sure u walk into a coop and reproduce the issue
oh wait i should also print success
ping me pls
https://smapi.io/log/85ef7e07d6f54a32ab582933206085ad ping privileges 😮
Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24354 on Windows 10 (10.0.19045.0), with 21 C# mods and 2 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
hm so Dasher is the reindeer?
Both are
neither of these went into any spots how strange
I can throw in a working animal too hang on
nah ill prob just have to try it hrm
this mod right
Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24354 on Windows 10 (10.0.19045.0), with 21 C# mods and 2 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
https://smapi.io/log/e2214eb7ddcc423981859d36559e4564 There is a vanilla cow and two of Mizu's Yaks in the barn with the Reindeer in this log. The only ones that don't respond are the Reindeer
Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24354 on Windows 10 (10.0.19045.0), with 21 C# mods and 3 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
ok so the issue is that the reindeers r fat
"SpriteWidth": 32,
"SpriteHeight": 39,
omg
Well that explains it!
tbh im also no really sure why they end up so fat
code seems to imply they only get special width but the thing thats big is height :no
this build loosens the collision check can u try and see if deer can still move about
yeah those sprites are big
im so excited for more of these mods from Mizu
idk how mizu is doing all of this it mustb e tiring
they updated 10 mods in 1 day
very tough
https://smapi.io/log/2f2cab19e80f4e70808a08b87f263694 Okay good news is that they snap to the stalls now, and they can leave the barn via the door and walk around outside. Bad news is that I've watched them in the barn for a few minutes and I think they're not moving.
Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24354 on Windows 10 (10.0.19045.0), with 21 C# mods and 3 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
Well, the baby cow moves still. But not the baby reindeer
So like visible fish? Neat!
Yea! Just customizable :3
Yall, trying to mod when your ADHD medicine has worn off is hard. I got on Nexus to lookup documentation on a certain mod, and an hour later I've still not searched for that mod on Nexus
Mood
I think I'm gonna call it a day. I'm almost completely finished with the dinosaur shrine - I just need to add the alternate vine version.
IDK what I'll work on tomorrow (I have a long list of todo items for this update). I'm going to say that I'll work on adding the new trinkets and finishing the robot monster class in the hopes of manifesting that into reality tomorrow.
If I'm feeling especially bold, maybe even the logic for the trap?!?
Yeah so presumably they are in fact 48x48 bounds bolb
I have no idea why they are able to get outside the doors
How big is your stall
They're 32 by 32 with a 16 pixel door. The narrow stall door hasn't stopped the animals from passing through it. The stalls look a little bigger because of transparent pieces tbh.
yea hm ill look into it more i suppose
but it is fundamentally a quirk of the reindeers and not ur mod
Well I can sleep easy knowing that. Thanks for looking into it
for collision purposes animals use only a 16x16 square
which is different from their usual bounding box
uh pathfinding wackiness? idk lol
New quote added by atravita as #8147 (https://discordapp.com/channels/137344473976799233/156109690059751424/1507555378232164413)
Question! is it possible to make an NPC go invisible during a part of their day? I have my Custom NPC leaving for therapy every Monday and if the bus isn't repaired, I can't exactly have her stand there for hours doing nothing. I mean I could but it's not preferable lol
*only for say two hours, not for the rest of the day
You could make an animation use an invisible sprite
Tho they would still be interactive you could put them somewhere hidden
a trigger action (so event, dialogue, etc) can make an NPC disappear for X days, but I think it's more common to schedule them just warping to a custom room that only NPCs can access
ig there's a visible action too
https://stardewvalleywiki.com/Modding:Trigger_actions
It is possible to make an NPC invisible during only part of a day but like Esca said it's more common to use the warp room.
I made my NPC invisible rather than using the warp room just because I wanted to figure out how to lol but I think it's worse for performance because it relies on a time-based trigger action
BETAS can make a trigger action happen upon reaching a scheduled point. But it doesn't have a corresponding one for when they leave a scheduled point, though, so making them reappear mid-day would be trickier.
make a schedule point take 1 square
Then she's just standing there for like 5 seconds
I use BETAS to make Hiria invisible when she reaches the right tile and then Spacecore to make her visible when the right time hits
like u don't stand there staring into space for 5 seconds every time I walk into a new room
in this case it'd be after getting off a bus
Mouse made up a song about me because of how much I just stand around lol
normal behavior
that she would be appearing two tiles away from
checking phone to get gps
Betas can... hmmm
if you stand completely still right outside the bus door when you get off, you are going to get barreled down
I have a janky-ass wizard teleport schedule, didn't think about using BETAS...
So it is a good thing she is appearing two tiles away /j
I mean I would like them to get on and off the bus if it's fixed but one thing at a time
if you stand completely still two tiles away from the bus door when you get off, you are going to get barreled down 2.4 seconds later
Leap from the bus and then stand stock still
tbh vanish from like, the one tile in the bus
to be clear the BETAS thing is when their current schedule is considered "arrived at" i.e. they have stopped moving and possibly doing their animation
not when they touch the last tile
probably easier to just put an npc warp there instead
though idk if that'd interact with other NPCs wandering near there
not in 1.7(?) at least when we get NPC specific warps
Shane eventually joins her since they're in the same therapy group so he'd also have to disappear eventually
could we warp them to -1000 -1000 like in an event?
you could but i wouldnt be surprised if that fucked with their pathfinding for any future points, even if you moved them back
okay makes sense
so use BETAS? that would make them "invisible" and then "visible" again?
I can offer what BETAS can do (trigger action upon arriving at a scheduled point) but I cannot myself make any recommendations for what you should do/use because I don't know enough about whats possible or what messes up NPC pathfinding
.16 apparently (assuming they actually end up separate)
https://stardewvalleywiki.com/Modding:Migrate_to_Stardew_Valley_1.6.16#Schedule_changes
// Hiria's 'leaving' for the dentist - she becomes invisible as soon as she arrives at the specified coordinate on the BusStop map
"{{ModID}}_Dentist_Go": {
"Id": "{{ModID}}_Dentist_Go",
"Trigger": "Spiderbuttons.BETAS_NpcArrived",
"MarkActionApplied": false, // This part is just because I want it to happen yearly
"Condition": "LOCATION_Name Target BusStop, ITEM_ID Target {{ModID}}_Hiria, Spiderbuttons.BETAS_ITEM_MOD_DATA Target BETAS/NpcArrived/X 22, Spiderbuttons.BETAS_ITEM_MOD_DATA Target BETAS/NpcArrived/Y 10",
"Actions": [
"SetNpcInvisible {{ModID}}_Hiria 1"
]
},
// Hiria's 'return' from the dentist - she just becomes visible again. Time is set in the SpaceCore TriggerActionExtensionData edit below.
"{{ModID}}_Dentist_Return": {
"Id": "{{ModID}}_Dentist_Return",
"Trigger": "Manual",
"MarkActionApplied": false,
"Actions": [
"SetNpcVisible {{ModID}}_Hiria"
]
},
// Additional code block needed to add the time for Hiria's dentist return trigger action
{
"Action": "EditData",
"Target": "spacechase0.SpaceCore/TriggerActionExtensionData",
"Entries": {
"{{ModID}}_Dentist_Return": {
"Times": [ 1800 ]
}
}
},
breathing on the pathfinder
I did a couple of tests and eventually found something. 3x3 stall worked but only if I had the spot in the top right corner. Then I tried moving the spot one upward on a regular 2x2 stall and suddenly the Reindeer can move freely again
Yoba bless you! ❤️
ok I vaguely remember said 16x16 square being at the dead center of the regular bounding box
and the reindeer being an chunker might be able to shift that square into the walls
They don't seem to do their animation first, if you were wondering
another question, do the animations have a limit of how many frames to use? I'm using one that uses 8 and it doesn't seem to work except in cut scenes. It just freezes
Can you share what the animationDescriptions entry looks like?
"Action": "EditData",
"Target": "Data/animationDescriptions",
"Entries": {
"stardewaly.rosalie_Rosalie_sleeping": "39/39/39",
"stardewaly.rosalie_Rosalie_crying": "24/24/25/25",
"stardewaly.rosalie_Rosalie_singing": "22/23/18/19/20/21/22/23",
"stardewaly.rosalie_Rosalie_standup": "34/34/35/34/34/35"
}
},
specifically the "singing" one
You have the format incorrect
It's not meant to be one forward slash between each frame, it's one forward slash between each field.
The format is: entry frames/repeat frames/leaving frames/message key/laying_down/offset X Y
Okay this was what I copied from a tutourial though it may have been for events as well as for sleeping... so i have to that for each frame?
No
If you mean "they dont do the animation before BETAS fires" then yeah, that's correct. If they are at a tile and doing an animation, it means they have already arrived at that scheduled point, so the BETAS trigger would've fired.
if you look at the unpacked Data/animationDescriptions, you can see some longer examples like this
"elliott_drink": "16/16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 18 18 18 19 19 18 18 19 19 18 17 16 16 16 16 16 16 16 16 16 16 16 16/16",```
If you want to have a unique bit that happens once when she arrives, you put those frames into the entry frames field. Then any parts that should repeat during the time that she's at that schedule point should go inside repeat frames. Then any unique ones to happen once before she leaves go into leaving frames.
It removes the shadow
The animation table entry here explains it: https://stardewvalleywiki.com/Modding:Schedule_data#Schedule_points
(make sure you write laying_down specifically if you need that one)
ah I see! thank you ❤️
interesting, i guess they were clipping into the bottom most wall?
Can one use the Content Patcher to export the farmer spritesheet with the farmer on it all regularlike?
you can export the farmer base sheets, but there's no asset that contains an assembled farmer appearance
(also it's a pain to figure out even in C#, last I tried)
the farmer is rendered live from parts like a paper doll, so what esca said
Oh well, thx tho!
are there any good Spacecore framework guides? Trying to replace portraits with animations with the "spacechase0.SpaceCore/TextureOverrides" function.
I'm very new to content patcher
🙏
I read the github's README
The spacecore docs usually have examples, though they aren't always linked to in the docs themselves
but if anyone knows something with examples of some sort I'd be so gratefull
lol
alright, I'll try to find them
You can also search this channel for "textureoverrides"
Also I just remembered that I helped someone with this the other day so you can ask me for help if there are specific bits you are stuck on
This is from "Animated Nyapu's portrait Mod" that I was using as a reference for spacecore along with the spacecore and content patcher githubs.
What specificlly does "Entries": do? I can tell its specifying what files are being swapped but I'm a bit confused about "{{ModId}}_Wizard_1": and whether or not I need the change whats in the curly brackets.
Also the 0..39@6, I'm pretty sure the 0 is the starting frame and after the .. if the timing but I don't know what I should put for the timing.
there's some additional info here:
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/action-editdata.md
but in general, CP's "EditData" action almost always has either "Entries" or "Fields", which is the set of things it's editing inside the "Target" asset
so in this case, it's adding an entry to spacecore's TextureOverrides asset; the entry's name is your mod ID (swapped in there by CP) followed by _Wizard_1, and inside that are those texture data fields
(I'm not actually familiar with the @ part
)
The 0..39@ is saying that for frames 0 through to 39 they should all have the same animation duration of 6 (not sure what unit that is - 6 seconds?). So if you have 3 frames and you want them all to have the same duration of 5 seconds, you'd write 0..2@5.
If you want them to have different durations, then you'd write each one separately like this: "{{InternalAssetKey: <your asset file path here>}}:0@5,{{InternalAssetKey: <your asset file path here>}}:1@9,{{InternalAssetKey: <your asset file path here>}}:2@3"
(I guessed you were explaining the Entries bit Esca so I went straight for the animation duration ^_^)
six tics i would assume
Could be, yeah. I can't remember how long a tick is.
1/60th of a second for sdv I'm pretty sure.
I read on one of the other guides I was trying to use
approximately that, yeah
just for clearification, swapped by CP, means I should leave it like that, right?
yes, anything formatted like {{words}} is a "token", which CP will replace with other text before the game (or spacecore) sees it
so just typing {{ModId}} in any text will be replaced with your mod's ID from the manifest.json file, etc
ok ty
Hello people way smarter than I. I have a (probably) extremely complicated question. Is there any way to make it so you can be roommates first then married in SDV?
Hmm... Considering roommates is basically marriage in a trenchcoat im not sure
Ah damn, okay.
I mean with enough beating the code with a hammer i think anything is possible
🙂↕️ kicking krobus out is called "divorced" in his dialogue
not smart enough to know if this is possible but if you were to push the move in, to a lower heart time, or the marriage cutscene, to something higher, and redo how the shell works for the marriage, and however you'd get em to move in, if any of that made sense
🤔 is it even possible for an NPC to be roommateable and marriageable at the same time
i think if you were to postpone the cutscene and redo how you can or cannot hug/kiss them then you could techincally make it a two step thing no?
bc roomate is just marriage with no kissing or wedding and less hearts no?
Yeah, but once you propose you can't like. Propose again
mmmmmm :3 wedding triggered by something added by the mod 🙂↕️
wedding ring maybe 😎
this lil thang
🙂↕️ i know but if you're not in mp, and you're roomating, it could definitely be used to trigger wedding by mod
bc sp has no use :3
Maybe it's possible to roommate an NPC, and then after triggering a certain event, then use magic to change the relationship to married behind the scenes...?
also logisically that is an unreasonably massive stone 🤣
can you roomate a marriage candidate?
See the thing is I don't know if it's possible
I don't think so?
i think all bro needs is to figure how to force change from hugging to kissing and vice versa with a mod, then be able to cancel the wedding until trigger 2 is tripped
Well obviously not at the same time
i dont think u can at all
i think it's either marry, roomate, or neither
By roommating you lock yourself out of marriage, basically
only one each npc
🤔 hmmm, idk, idk a lot about stardew but ive never seen anyone roomate a marriage candidate
Not in vanilla ofc
You can do it with mods if you add in a custom roommate proposal item
huh
okay bro 🤣
yes that is what the original question was, can you force roomate, then trigger wedding event and switch hugging to kissing after that
Im confused as to what you're saying lol
npc > fren > roomate (marriage without kissing bc thats what roomates do, they dont kiss) > propose with modded item > trigger wedding > married (marriage with kissing this time)
alr gn
when adding items to a fish pond data's ProducedItems, can these items have a Condition?
yep; those entries are expanded versions of the generic item spawn data, so they have every field in this section
https://stardewvalleywiki.com/Modding:Item_queries#Item_spawn_fields
plus their own fields listed here
https://stardewvalleywiki.com/Modding:Fish_ponds
Ah thanks very much
hello everyone, i want to try my hand at a simple furniture mod, does anyone know off the top of their head what size canvas i would need to make art for an item similar to a futan bear? like that size?
No, but you can unpack the vanilla furniture and check tbe size that way
Anyone familiar with SpaceCore custom dungeons?
I’m making a custom dungeon, and the entrance triggers, but SMAPI/Content Patcher fails when loading the dungeon map because it can’t find the tilesheet:
invalid tilesheet path '../Tilesheet/summer_town.png'
My map is here:
assets/Maps/Dungeon/moon_dungeon_early_01.tmx
The tilesheet is here:
assets/Maps/Tilesheet/summer_town.png
The TMX uses:
<image source="../Tilesheet/summer_town.png"/>
Should this path work, or does SpaceCore need dungeon map tilesheets handled differently?
looks like that's a normal 1-tile item, so 16x16 pixels
@hard fern @royal stump ty both!!
!tilesheetclimbing this looks like normal tilesheet climbing issues
When creating or editing maps in Tiled, one common error is tilesheet climbing, marked by red text containing "invalid tilesheet path '../../..'. This is caused by SMAPI not being able to find the tilesheets needed by the map file. To prevent this error, make sure that you have a copy of all necessary tilesheets in the folder containing your WIP tmx file. Copies of vanilla tilesheets can later be deleted, but must be present while working on your map.
If you get this error with a completed map, an easy way to fix it is to open your tmx file in VS Code or a similar text editor, find all of the places with <image source=, and remove the filepaths to so that only the tilesheet names remain. For example, if the code says <image source="Content (unpacked)/Maps/townInterior_2" width="512" height="64"/>, change it to just <image source="townInterior_2" width="512" height="64"/>.
unless that’s a custom tilesheet actually if it is then nvm
iirc that applies anyway, it'd just also need to be loaded as an asset
You can possibly emulate this through series of complicated BETAS triggers.
while we’re on the subject of spacecore dungeons btw you may want to download the zipped version casey sent in here some months ago instead of the version on nexus. there was a bug with map load order and setpieces if you’re using those
Hello hello hello
How do Foragabels work? they are not placed on the map in Tiled like Trees are
Where is the train sprite located?
An easy way is to use Farm Type Manager
LooseSprites/Cursors
ok great.
I am wanting to make the train electric, and thus add overhead pantographs. Please enjoy my tempory demonstration (I havn't made the sprites yet). This means the sprites would then be bigger than the currently allocated space that would be called by the game gode when it genreates a train. havn't done asset edits where I'm replcing it with a differnt size, would that be possible? I am open to CP or C# as needed.
Ah ok but I don't think that helps me in finding the games default Forage Spawn's
its part of the Location data: https://stardewvalleywiki.com/Modding:Location_data
How about postfixing the train draw function using harmony to draw the pantographs over the wagons?
working on a prefix patch, but yeah same idea. New to me but I'm reading and working on it 🙂
ok I think this Locations.json file is way above me
If you want to draw things on top of the train sprite it should be a postfix
I want to replace the train sprites fully, sorry I wasn't clearer.
Iirc the train draw code also handles the train drops
Is there a plan to make an NPC's vendor expression CP-customizable in a future update, or did I hallucinate that...?
I really feel like I've read a discussion about it here, but I couldn't find anything in the Migrate to 1.6.16 / 1.7 page.
Shifting the spots up one (onto the stall wall) solves the Reindeer problem even with the released version of MMAP. No check yeeting required. I assumed the AnimalSpots needed to be where an animal could actually stand but I guess an open floor below to the Spot will do it.
Is there a Condition for if the current active player has a specific quest active? I'm looking at this page on the wiki and can't seem to find one
Not in base, but BETAS has it.
Thank ya
people say notepad is cursed but i think if anyone mods in firefox i would be scared
firefox modding is great
oops i forgot i was searching discord and didnt realize this is ancient
-# xnb.pillow.rocks
I can't believe the worst part about updating my hedges is the NAMES. I have three heights (Tall, Medium, Short) which work well enough, but the two available width sizes are stumping me. Do I got for Thick and Thin? Large and Narrow? Wide and Slim? What pair sounds good? Too many words... 
narrow and wide would be my 2 cents
Does anyone happen to be sitting on some C# code, examples, or references for generating custom mine/dungeon levels? Blank map the engine generate random set up
Does anyone know how to swap out a specific audio file using c#? I want to replace the distantTrain whislt with a horn type sound effect, but am struggling to get it to work
I think thick and thin works!
@dawn ore @vernal crest thank you both! I realized Thick and Thin sound and look a bit too similar and may confuse people, especially non-English ones like me. Wide and Narrow sounds better since they are different enough in length and letters, so I think I will go with that. Thanks very much again! 
void carpet eels... (can now tint background and foreground texture)
What happens if you stand on it 😮
the void eats you
...It is kinda funny how the longest world (Narrow) means small width, and the opposite with Wide. though. 😂 English is kinda weird sometimes. 😂
return to the void eels
Skull caverns chooses from premade layouts but vanilla game code may give you at least a small baseline to work off of
silly how content has the whole folder just for volcano layouts and theres only one file 
I wish I was smart enough to understand code
!anyonecancook
Being "smart" doesn't matter, if you want to learn code then learn it!
The only thing that matters when learning/making things is determination
Stardew modding is a great way to get started with basic coding concepts too, since (for the vast majority of things) you don't have to deal with actual code at all, it's done with json editing
exactly, and sometimes it's not even a question of intelegence becuase some people learn in ways that isn't always compatible with the teaching matirial. I stuggled in school a lot, and it wasn't becuase I could grasp the work, it was just delivered in a way that made it impossible for me to get anything to stick.
a silly example is that I never learned to write out long division, lol
by god I've tried, as have my teachers and mom
Speaking of struggling to understand....... >:/
I'm still struggling to get the JSON I'm writing to actually do anything
I might have an idea.
I think I need to replace the texture for SVE's wizard instead of the vanilla one.
its worth a try anyway
if that's the case. would I put the whole path through SVE's assest into "TargetTexture"?
what are you trying to replace the wizard’s portrait with?
an animated/oversized portrait?
yea
the text sprites are 64 x 64, but I eventually want to make them bigger. I just got to get it to actually work first
does SVE change it to be rasmodius or something
Wizard_Test.png is in the assets folder for the pack I'm making
I'm pretty sure vanilla wizard only has 2 sprites, but sve gives him a 7 sprite sheet(?) I think
unless SVE hides vanilla wizard and replaces him with a clone NPC, you won’t need to target anything besides Portraits/Wizard
hmm
you can try patch exporting Portraits/Wizard to see if your changes applied
you can also try a patch summary
pretty sure that doesn't work for SC overrides
darn
well, I might as well try replacing sve wizard. if that doen't work, then... I'll figure something out.
"Replacing SVE wizard" isn't a thing
ah.
SVE wizard also writes to Portraits/Wizard
the code looks correct; is this loaded into a mod via your log?
that's what I'm hoping
!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.
Hi guys
that is the correct log to show here
Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 29 C# mods and 26 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
look at what the warning says about the manifest and fix that
It looks like you also put an apostrophe
i’d say a good 60% of the problems in here are something like that lol
Let's see... what should I tackle today...
I think I'm gonna start by finishing the shrine, then work on the trinkets
I no longer see it in the smapi log
https://smapi.io/log/7955ba8dc05941559c6f11fff3119264
Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 29 C# mods and 27 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
What are you looking for?
I'm looking for this
13:11:53 ERROR Content Patcher Could not load content pack 'Sighless' Animated Portrait Pack': unsupported format version 2.9.0, you may need to update Content Patcher.
your content patcher is 2.8.1, you need to update it or simply change the format in your code to 2.8.0
tysm
I see it, or at least its mentioning that it doesn't have an update key
I see selph has found the problem already
not yet anyway
yes ty selph
That's fine. It was just the first mention of your mod I could find on my phone 😅
lol
I want to share it when it's working
I can draw the sprites easssyy
but I'm very new to making mods
That's fine! We all start somewhere!
scrunklgy
lol
he's not blinking. but this is a step. maybe I just botched the frames/timing?
its displaying tho
How recommended is it to use Fashion Sense for adding a hat? I'd just want to add 1 (relatively) simple hat and don't think I'd want to add a whole framework just for one hat
you can add hats with just CP
people will ask you to also make an FS version
but that's a them problem /lh
don't people usually us CP and FS together?
lol
is Fashion Sense just completely incompatible with Vanilla/Content Patcher hats?
there are mods that add vanilla stuff to FS but generally yeah
they CP hat will show up if the player isn't using an FS hat at the same time
Well then uhhhhhh I guess I'll cross that bridge when I get there
Ye I just like compatibility
So if I'll need to make a Fashion Sense version, I'll cross that bridge when I get there
in the mod list, yeah. i mean more as if you release clothes and or/accesories with a CP mod people will 100% ask you for an FS conversion
its more convience than anything else
Naturally. people are just like that lol
FS uses a completely separate system than vanilla items
FS items basically don't actually exist
Ahhh, good to know
On a completely separate note, how difficult is it to work a small bit of C# code into a Content Patcher mod? I'm still thinking about the possibility of adding a custom sprinkler to my mod lol
C# mods have an option for bundling content packs
the difficulty is coding the C# code in the first place, CP mod or no
Ah- Well- shoot that puts a bit of a dampen on that plan
Sounds like it'd be not as simple as just including the small bit of C# that I need, I'd need to basically run the whole mod through C#?
no, you can keep your CP pack
you'd just have a bundled C# mod
the CP pack takes care of the stuff you don't have to repeat in a mod that's C# only
like defining the item and adding it to shops
I feel like my brain is making this harder to understand than it actually is-
I think you should just follow the example C# mod tutorial on the wiki before proceeding
or deciding whether to proceed
yeah. they don't use the same format for spritesheets so its not easy
there's like, some converters
Alright alright I'm gonna end up screwing myself out of the rest of today if I try looking into this now, I'll come back to this after I've finished the map work
Will adding new trinkets automatically add them to the potential loot pool of monsters?
don't think so
Great!
Also, does anyone know off the top of their head if the basilisk claws can be used on the anvil? My laptops taking a bit to boot up
what can you do with c# in terms of modding? is it for more complex stuff?
Pretty much anything
but what is it most useful for?
Complex logic you can't add via JSON, also it can be a preference for some over JSON
ok Im back from doing dishes. I'm running into trouble getting the animation to play. right now it's just a static portrait.
I took another look at the animated Nyapu portraits and looked at the little timing thing, i think it was
0..39@6. so I figured the first frame was considered frame 0 and I changed mine to 0..9@6 becuase mine has 10 frames and the Nyapu one has 40 frames but mine still seems to be static in game.
I fixed it
There was a space
JSON hates spaces
its a bad gif. looks better in game
Let's say you have a map that uses the tile set "z_TileSetA". How would a C# mod change the map to instead use the tile set "z_TileSetB"?
And/or is there an easier way to tell the map which option to display based on a config value?
(Either the skull with no vines or the skull with vines)
I don't know enough about C# to give you a definitive answer. But I know while I was snooping around portrait packs their config JSONs would usually have toggles for each of the characters
Give me 1 moment
I don't know a thing about C# and I don't know if how it's done with content patcher would cause a problem if you are doing things with C#
I'm using C#
yea ik i was just looking through me spaget for this
still this has some jank mp implications, i dunno if i recommend it 
Seeing as I can just change the map texture, I think I might have a solution
hi quick question
for a farm map, how hard is it to add barriers to some areas
im playing a farm map, and i wanted to patch something in it
the red is the tiles where u can freely walk into the water
these tiles should not be able to go through:
100,32
101,32
102,32
102,33
I currently have the following:
private static void EditTrinkets(IAssetData asset)
{
IDictionary<string, TrinketData> data = asset.AsDictionary<string, TrinketData>().Data;
TrinketData dragonClawData = new TrinketData()
{
DisplayName = ModEntry.StaticHelper.Translation.Get("Trinkets.DragonClaw.Name"),
Description = ModEntry.StaticHelper.Translation.Get("Trinkets.DragonClaw.Description"),
Texture = TrinketAssetPath,
SheetIndex = 1,
CanBeReforged = true
};
TrinketData lightningSpurData = new TrinketData()
{
DisplayName = ModEntry.StaticHelper.Translation.Get("Trinkets.LightningSpur.Name"),
Description = ModEntry.StaticHelper.Translation.Get("Trinkets.LightningSpur.Description"),
Texture = TrinketAssetPath,
SheetIndex = 0,
CanBeReforged = true
};
data.Add($"{ModEntry.ModId}_Trinkets_DragonClaw", dragonClawData);
data.Add($"{ModEntry.ModId}_Trinkets_LightningSpur", lightningSpurData);
}
However, whenever I right click while holding one of the trinkets, I get a NRE
[game] An error occurred in the base update loop: NullReferenceException: Object reference not set to an instance of an object.
quick question for porch cutscenes
on custom maps, do all the porch cutscense typically no longer work anymore
or is there a workaround, since 64, 15 (position of the porch) is not consistant at all with custom maps
Which png are the breakables in the mines in?
I would just say test it
there's some hardcoding that automatically moves the characters to where the porch is
ahh hardcoding. we love that
you don't even need a custom farm map, you can move the farmhouse now
Maps/springobjects
Ah, of course they're there, makes perfect sense 
Thank you
They're 16x32 sprites, right?
Or at least some of them are?
OH- WAIT NO no, wrong breakable objects
I mean like the crates and barrels not the rocks
That's my bad
These things
can someone pls help me figure out why my npc isnt going to trout derby :(
maybe if you post the schedule code for it
the festival.json?
trout derby is passive theres no actual festival
ohhhhhhhhhhhhhh
you use specific schedule keys like in this case TroutDerby_1 and TroutDerby_2
the number is the passive festival day, 1 and 2 cuz its 2 days long
ooo good to know
i was scared that i had to make a unique pos for each map 😢
it didn't work ;-;
How would a C# mod add a trinket?
No matter what I try, I seem to get an error whenever right clicking my trinkets
!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.
use the link to post your code
i worked around it annd now the npc does go to where i want him to but now dialogue won't show up and idk why ;-;
how did you add the dialogue
in i18n and then referenced in dialogue json
Are you doing {i18n:KeyHere}?
are you testing on year 1 or year 2 onward
I think I may have fixed it?
since the key you're using is year 1 only
I DID IT! Right clicking trinkets no longer causes errors!
I think I know what the next shrine added to the basement will be!
#Curse you scope creep
year 1
yeah im on year 1
and now idk why the dialogue isn't showing up and i get a no translation string ;-;
and that file is loaded in your mod?
yes
can you show the root content.json
and what's the file above named
content.json 
no the dialogue file sorry
ohh it's called OsmarDialogue.json
and it's in Data/Dialogue?
okay i reopened and it worked. i hate when you think the game loaded fine but you have to reopen the whole thing for it to work
thats why patch reload and reload_i18n is nice
I have an NPC with schedule in the Movie Theater and I can't seem to get their dialogue working in there. Is there some hardcoded things that prevent it?
Even if u schedule them into the movies like how Claire works there
how can you make different festival dialogue for different year?
so like (name of festival)_y2?
Yeah.
They just have the dialogue icon but don't actually talk when spoken to.
no, the asset's the same, it's the key that has extra variants
wut
confused
as mentioned look at Data/Festivals/spring13
I struggled with this all day but now you can lmao 
or... do you mean dialogue outside of the festival
What GSQ would you use to check if a player has the combat mastery?
HER FISH ARMY GROWS!
Even when they're not invited to the movie? Should I do some Movie Reactions acrobatics to make this happen...
indeedeedin
NO WONDER IT WASN'T WORKING
...
It'd help if I spelled Mastery correctly
-# I had put "Mystery_4" instead of Mastery 
Every day I get more and more convinced I'm secretly dyslexic
@brittle pasture is this correct: "Festivals.Osmar.StardewFair": "",
"Festivals.Osmar.StardewFair_y2": "",
I'm pretty sure dyslexia is much more common with languages like English that aren't usually phonetic. In other words, English is dumb and makes no sense.
no
dialogue in festivals are handled as edits to the festival data itself
including NPC placement
well i wrote the dialogue in the i18n and referenced it in dialogue and it has worked so far
active festivals I should clarify
i just dk how it works with year variations
sorry I mean that key doesn't look quite correct to start with, but appending _y2 would work if it is correct
I'm definitely doing a rather terrible job at explaining this
it would help if you show what you already have for the Fair dialogue
since I think we're confusing "dialogue on the same day as the festival" and "dialogue in the festival"
this is what i have and so far they have all worked (im still testing): https://smapi.io/json/none/8f24223322aa4e468f87e8625afec6dc
that looks like your i18n
yesh
in which case it doesn't matter what key you use as long as you spell them correctly in data
So let's say I have an event that ends with end warpOut. How do I make skipping the event still warp you out?
are you using a template?
in data i don't have any dialogue stuff or i18n stuff and somehow it has worked
idk the magic behind it tbh
are you using an NPC template someone else made?
yeah
(there's nothing wrong with it, I just need clarification)
oh wait hehe i found where i wrote the dialogue
now i just need to reference it again
Hey, so I just got my farmer role and I've recently released my first mod. From what I understand I can request a mod author role now, right?
setSkipActions [actions] https://stardewvalleywiki.com/Modding:Event_data#Event_scripts just make sure you put it before skippable
ok, gonna DM bounchee
No I know what set skip actions is, I need the WARP part. The warp command only seems to be on the current map?
I want them to warp out, leave
Sorry shoulda been clearer
uhhh hold on i use a lot of frameworks that avoids this lmao

-# you’re back
-# come back?
setSkipActions Spiderbuttons.BETAS_WarpFarmer Forest 5 27 2
I also tried this, but it threw no errors and just did nothing.
the only way i can think of avoiding it is doing changetotemp-
you're missing action before the trigger action
oh heck
wasn't sure if you were using BETAS so i didn't wanna suggest 
no 
Nope, says that can't be parsed
With just what I put, there is no error. With action, I get this:
https://smapi.io/log/f0b25d89ae974e858592d60dbee61f04
Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 24 C# mods and 9 content packs.
I got the expression switching to work, I forgot that vanilla wizard had like 2 sprites. And needed to check the position of the SVE wizard sprite sheet
Spiderbuttons.BETAS_WarpFarmer seems to be something it is looking for...
I'm definitely having fun with making this environment, even if I've ended up breaking the structure of all of the other maps I've made
yeah, but you said that when you end up skipping it, it does nothing? prior to adding the word action in, i was thinking about a regular event command
Yeah, it does nothing
it has it in the list too, so I am very confused
sure, one sec
https://smapi.io/json/none/74515321f43f45159204dd37b353e8c8 Here's just the event
(let's just do the shortest, smallest event, it'll be easy, I'll worry about the fancier ones later... every time, smh)
weird, it looks correct
for bundle data,
<string>Animal/BO FlashShifter.StardewValleyExpandedCP_Butter_Churner 5/186 5 0 182 5 0 174 5 0 438 5 0 440 5 0 442 5 0/5/6//Animal</string>
it is... item ID, amount, quality correct?
(sorry i haven't dipped i'm just checking on my end if i can replicate with something smaller)
well, the event works otherwise, skipping just makes you be in the middle of the Wizard's house, which is strange because the event is like "oh this is a bad time, I have overheard things, I will leave now and not disturb him"
then you're STANDING REALLY CLOSE TO HIM, just an awkward end
Thank you!! I'm orenj now 
if it's really necessary you can make the event trigger in the forest -> changetotemp wizard so at least it'll kick you back out into the forest 
Eh, it can just be weird if you skip it
just 
but yeah, even when i put a setskipaction with a mail flag, i don't think i got the mail flag until i left the area
Maybe I'll warp you NEAR the door?
let's see if that works
if not, they'll just have to be weird
Actually forget it, I have other variants to work about, skippers can be weird
i'll only come back if i get to make your life extra hell by giving you this dialogue key:
"{{Weekday}}": "[LocalizedText {{ModId}}/Dialogue/Daily:{{Weekday}}{{Hearts:{{NPC}}}}_{{Random:{{Range: 0, 3}}}} {{ModId}} [EscapedText action Spiderbuttons.BETAS_DialogueBox {{ModId}}_Fake \"] [EscapedText action Spiderbuttons.BETAS_DialogueBox Wizard \"] [EscapedText query PLAYER_HAS_SEEN_EVENT Current {{ModId}}_] [EscapedText query PLAYER_NPC_RELATIONSHIP Current {{Ngao}} Engaged # ] [EscapedText query PLAYER_NPC_RELATIONSHIP Current {{Ngao}} Married # ] [EscapedText action Spiderbuttons.BETAS_TextAboveHead {{Ngao}} \"] [EscapedText action Spiderbuttons.BETAS_TextAboveHead Wizard \"] [EscapedText action Spiderbuttons.BETAS_Message \"] [EscapedText action Spiderbuttons.BETAS_DelayedAction \"Spiderbuttons.BETAS_WarpNpc {{Ngao}} {{Room}} 10 10 0\" 1000] [EscapedText action Spiderbuttons.BETAS_FadeToBlack 3000] [EscapedText action AddMail Current {{ModId}}_YapperOff received] [EscapedText query PLAYER_HAS_MAIL Current {{ModId}}_] [EscapedText action Spiderbuttons.BETAS_Lightning ]]
But why
why not
surely you want this many dialogue keys to write from a single line, don't you? 
I've been searching around and doing some testing.. Does content patcher update HasFlag conditions in realtime? The author of UI Info Suite 2 Alternative says it does in their docs for custom icons.
huh it definitely does not work like that
unless the author of UIIS2Alt does some stuff under the hood
I've tried this and it's not working. I reload the patch and it works. But realtime by itself no.
like patching CP itself
and it doesn't seem like they do
the most often you can make CP reload its patches is on time or location changed (and you have to specify it)
I have what I thought would've been a little custom icon mod for myself. and that blub sent me down a rabbit hole lol
I did it in c# with a content pack, since that seems to be the only API for custom icons. Wish there was a API call into content patcher that allowed C# mods to trigger an update on a rule, so I could use my own events.
or I can't find one.
yeah I think you have to do wacky stuff like reflecting into CP (obviously don't)
probably best to just do everything in C#
then you can control when to reload the assets
I can't find a c# api for ui info suite 2 alt though. seems to do it all via content patcher.
I believe Selph means do the icon edits in your own C# in your own asset requested events and invalidate as necessary
UIIS2A works through the content pipeline and not content patcher specifically, even if the docs use CP as an example
OKAY all three variants of this one tiny scene tested
I think I'm gonna call it for the day. Though I may try my hand at some trinket sfx, or on assets for the community upgrades
Holy qol I always wanted
does anyone know if the LOCATION_ACCESSIBLE game state query for the Railroad doesnt play well with skipping time with CJB or something? im using it as a precondition for an event (json: https://smapi.io/json/content-patcher/75b15678d1e24682acac12b75d843b55), and the railroad is currently unlocked but the event is not triggering and the gsq is returning false when i check it with the debug command
yes, the in-game check for whether railroad is accessible is just how many days you've played
case "Railroad":
if (Game1.stats.DaysPlayed > 31)
{
return true;
}
break;```
so theoretically a normal player should have the event trigger normally?
yeah, if they have gone to bed more than 31 times it will return true
hmm i feel like there is a better way to do this
hm maybe not actually, maybe this is fine, idk anymore lol
surely the earthquake event that opens the railroad leaves some trace behind in the game state (so that it knows to change the mountain map), but i don't know what it is
(i would have made that location check look for that, rather than use the proxy of how many days it's been, but i'm not CA)
is that something that could be suggested in the alpha thread then lol
hm, lemme see how I do it. Iremember it sucking
foreboding
upon further inspection, it looks like clearing the obstruction also just checks that it's been 31 days
Nah I did a daystarted trigger action with Location_Accessible Railroad
It does not leave anything checkable
so... is CJB doing something sneaky to make the event trigger even without playing 31 days?
at least, that I know of
Changing time with CJB can make stuff that relies on days played be... weird
well, when you skip ahead days with cjb/debug, your daysPlayed counter does not increase
you have to go to sleep for that
Have you tried skipping to 30 and then resting a day? Because I HAVE had that work for, for example, checking this trigger action
i went to summer 2 and slept
and that got me the little event and the opened mountain map
but not my modded event or the gsq
Yeah, that worked for me, anyway. Mine triggers a CT and it worked when I did that
but it's not always the case, sometimes it does seem to act weird in day-counting scenarios for me
I guess it's expected for jank to happen with a cheat time skip, but it's annoying for testing purposes
what dat mean
Off By One Error
i don't have a good backronym for bassoon
(half of these are not oboes, they're CLARINETS or bassoons, I'll just go with close enough for the gif)
anyway the game1 function (and thus the GSQ) is checking this, as above:
if (Game1.stats.DaysPlayed > 31)
but the mountain location is doing this:
if (Game1.stats.DaysPlayed >= 31)
gasp
that'd do it
thats definitely something that can be put in the alpha thread
I initially tried to open the CT if you had visited the railroad, but damn Sterling's railroad event that teleports you to the railroad even when it's blocked off messed that up
hm idk how to report this im not equipped to explain C# things
thanks
(Late but cjb at least will update the stat. I dont recall waht the debug commands do.)
good to know! seems the problem is a vanilla bug though
Hello people, does anyone know if there is a way, using CP, to find what the Farmer is wearing?
No
BETAS does have this: https://stardew.button.gay/docs/betas/queries#PLAYER_HAS_EQUIPPED
(There might be a gsq for it but there is unlikely to be a token)
but yeah probably no token since it can change more rapid than any token reload time
Ah right, so that's a GSQ, the BETAS one?
Oh yes, scrolled to top of page and see it is
But I'm not sure it will work with what I have in mind. I'm thinking about something that can change Farmer Portraits with equipped clothing, similar to how there's one like that for fashion sense.
But anyway, it's a future sort of idea
is there a reason why color sliders only go 0-99? that seems to result in values of 255 being impossible to select
definitely a better idea to build that functionality into Farmer Portraits
I can fix them, but I'm surpised to think this could be a bug
like in vanilla, it's only possible to get this close to white
Are the colour sliders direct values or scaled?
hmm sounds like something worth raising a bug report for
they are converted to 0-255 but can only get to 252
Oh I see, 0-99 but not 100
probably no one noticed since it's so minor
it's happening because the value is being cast from float to int, which rounds down
if I change the code to:
__instance.value = (int)Math.Ceiling((float)x / (float)__instance.bounds.Width * 100f);
it can go from 0 - 255 np
vanilla is:
__instance.value = (int)((float)x / (float)__instance.bounds.Width * 100f);
another interesting thing is the game refuses to draw white colored crops:
Color tintColor = this.tintColor.Value;
if (!tintColor.Equals(Color.White) && this.currentPhase.Value == this.phaseDays.Count - 1 && !this.dead.Value)
{
b.Draw(this.DrawnCropTexture, position, new Rectangle?(this.coloredSourceRect), tintColor, rotation, Crop.origin, 4f, effect, this.coloredLayerDepth);
}
it only draws it if the color is not white
since we can now set custom crop tint colors, this for sure could be considered a bug I think
I'm having a lot of trouble trying to make my fish spawn only in the Cindersap Pond and not the pond AND river.. I've tried adding "Pond" under TargetField and also tried "FishAreaId": Pond and neither of these things work.. just one of several problems that have randomly popped up, I'm also having problems with time spawn requirements. here is my current Data/Locations json https://smapi.io/json/none/96e5870f01bf4f09ad5f0c542a2c2f14
the correct area name is "Lake" for Cindersap
make sure to doublecheck with the unpacked data
and you want to use FishAreaId
argh I could have sworn it was counted as a pond... alright I will go see if I can find it to make sure, thank you
Lake was the magic word.... its funny because I had thought "maybe its Lake and not Pond.... naaah its too small it has to be a Pond" next time I'll tell myself to shut up and just do it lol. thank you for the help
Looks like mythical agriculture
I wish I was smart enough to understand JSON
It's really easy to understand if you want to start modding
The hardest part is syntax, which is always a bit touchy, but even that is simpler than most other languages
(I think someone in the community made a very comprehensive "JSON for beginner" guide?
)
!startmodding I think that was Button's guide, should be in the tutorials wiki
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.
Yeah this one! If you want to take a look:
https://stardew.button.gay/tutorials/json
Is there an easier way to launch SMAPI other than through files? When I launch stardew on steam it doesnt load mods and if I try to use a desktop icon or launch it through the search bar, command prompt just pops up for a second then disappears
!launchoptions
If you're using Steam or GOG on Windows, you will need to set your launch options in order for Steam/GOG to automatically launch with SMAPI. The SMAPI installer will tell you what to set as the launch options when it completes (green text). You can find instructions (with screenshots) on how to do that here: https://stardewvalleywiki.com/Modding:Installing_SMAPI_on_Windows#Configure_your_game_client
Oh I was confused what that text was tysm
!playvanilla and this if you want to alternate between modded and vanilla
You can still play the vanilla game after having installed SMAPI. There's a few approaches:
- In your game folder, run
StardewValley.exedirectly if on Windows, orStardewValleydirectly if on Linux/Mac OS. - Or if you're playing through Steam or GOG on a Windows device: clear your launch options, then select play from your game client. See the
!launchoptionscommand for more info. - Or change the name of your
Modsfolder to something else. Then launching the game will run SMAPI but with no mods loaded. - Or set up SMAPI as a custom game in Steam. See the
!modgroupscommand for more info.
Awesome modding people, how possible would it be (using only CP/CP-style framework) to put up a warning before triggering an event which would allow the player to back out without triggering any subsequential event flag or such?
As a context, I plan an expansion with an "end of story event", which most notably has as a consequence some NPCs disappearing, among them two potentially romanceable ones
I do plan on a config to prevent the event from triggering, but I know people don't read, and I don't want people coming at me when their spouse disappear, so I wanted to have a warning like "You are dating/married to XX. They will disappear forever if you continue with the event. Are you sure you want to proceed" with the indication you can disable the event in config
(also, I guess, how possible would it be to forcefully un-marry/un-date a NPC using only CP/CP-style framework?)
I can simply block the event or rework things if any of them are taken (I haven't started coding anything for now), but I would prefer to let the player fully choose
Hmm you could do like. A Thing where you set up an event question branch that serves as the yes/no option, and if the player clicks yes, then send them to the event properly, and if they click no, it ends the setup event, and marks said setup event unseen so it can be triggered again
So like
Setup event -> yes/no branch
If yes -> real event
If no -> ends
I see, I hadn't thought about that! Thanks 
Ive asked this same question before and im pretty sure this was close to the answer i was given
Alright, I'll keep it in mind for when I reach that point then 
You can use Spiderbuttons.BETAS_ChangeRelationship to force change an npcs relationship status
I hope you know you gave me a really evil idea XD maybe in 5 years ill pull it off, maybe not
Yay I will be able to traumatise players
/silly







