#making-mods-general
1 messages · Page 584 of 1
Hello, I recently downloaded a mod and wanted to add an extra recipe to it, but I don’t know how to do that :c could someone help me, please?
The recipe I’m currently using in the mod is this:
{
"Name": "Advanced Charcoal Kiln",
"TranslationKey": "item.advanced-charcoal-kiln",
"Price": 0,
"ProvidesLight": false,
"ReserveExtraIndexCount": 5,
"Recipe": {
"ResultCount": 1,
"Ingredients": [
{
"Object": 709,
"Count": 8
},
{
"Object": 335,
"Count": 3
}
],
"SkillUnlockName": "Foraging",
"SkillUnlockLevel": 8
}
}
I would like to add a charcoal kiln as one of the ingredients in this recipe, I tried looking it up in the JsonAssets documentation, but I couldn’t understand anything :/
nope, no errors
StringsFromMaps is what it is looking for, you need that s on the end
is this json assets 
Lily got it first
ohhhh lol, i was missing the s
I was almost there
ill try that again thanks
LOL, I needed a break from this insanity:
(foliage hurts)
slimed
It's hard to troubleshoot on mobile I'm so eepy
Looks cute
I believe so, it’s a dependency of the mod
It's gonna be the Junimo-style farmhouse eventually
well my best guess is add another entry to "Ingredients" list
yay 
tbh, adding i18n to that now would be really easy
thats something i might do after i actually finish everything in this mod lol
My question is about the item ID format
The charcoal kiln is considered a BC, but I don’t know how to add BCs as ingredients
It would be better to do early tho
Just prepare a i18n folder and default.json in it
It's gonna help a lot and everything else is simple to do
ill do that before i start working on dialogue
originally this was just going to be a character mod, but im doing a crap ton of content that links with the new character lol
too many ideas
Have you checked some vanilla recipes? I think it has some with bc ingredients
Like that elite super cool something furnace
hm im honestly not sure if json assets supports this
I have no idea how to do this, it’s my first time trying anything related to Stardew Valley modding and I just wanted to modify a recipe of an existing mod
bruh
that would be a real downer
the thing is that in 1.6 you can definitely do this in vanilla
since its how the deluxe worm bin works
so u could try making ur own content patcher mod instead
are JA mods still being made?
What's ja
json assets
Oh
The thing is, someone already made a mod that acts as an 'update' for this one for 1.6, but it’s buggy and the last sign of activity from the developer was in 2024. I went looking for the original mod and found out it actually works fine in 1.6, but I wanted to change the recipe to be similar to the abandoned port (since I think it makes more sense)
well u can make it but non buggy perhaps 
You know how we can make seasonal skins for things by making the game load a sprite sheet depending on what season it is? Can we do that but for year instead? Like, if it's year 1 or 2 load this sheet, but if it's year 3 or beyond load this one? (With Contant Patcher)
Yes
When Year?
"Year": "1, 2" I think
You can load one for year one and year two and then have a default one that is being applied when these two aren't
Neat
I’ve never had any contact with anything like this, this crafting modification is literally my first experience in the area. I wouldn’t even know where to start
(Just do the reverse)
That's perfect! So, if I go:
"When": {"Year": "1"} that will set it for a sheet of my choosing, a second like:
"When": {"Year": "2"}
And then a third one that doesn't have the "When" and that will load anytime it's not year one or two?
hm.. what do I use as the target for the EditData in dialogue.json for this new NPC?
"Year|contains=1,2": false
In particular if you can avoid a query don't use a query lol
captains
Awesome! Thanks so much! 🙂
where is Claude with their list of typos when you need her
Last edited by AtlasVBot on 2025-09-13 18:56:08
the big chest is a decent example where it uses a big craftable as ingredient
That’s surprisingly convenient
if this wall were blown open in some way, could it be reasonable to assume that in a map above this there could be a cliff similar to the perfection cliff overlooking a landscape with a enormous pyramid in the distance? 
Can spacecore allow me to change coords of the horse head tile it uses to overlay
i dont think so
That's something id really love cuz I hate how it works rn
Hey guys, is it possible to change the description of professions with CP or is it hard-coded?
By description, I mean the details you see when picking a new profession after you sleep.
Strings
And this is a dumb question, but if it was year 11, 12, 21, 22, etc it would display during those even though they contain a 1 and a 2, right? It understands that "1" and "2" are the entire year, not just a potential part of a larger numbered year?
CP's contains is set theory, not regex
so Year |contains=1 means "the Year token (a set of values) includes the specific value 1"
there's a way to detect if year number is odd or even as well
I don't remember how to tho
Is there a way to give the player a buff on waking up the day after an action? Like, interact with statue, buff next morning?
I want to theme the buff around Dreams, so sleep being a part of that cycle makes sense to me
I suspect not but worth asking
{{Query: {{Year}} % 2 = 1}} will be true on odd years and false on even ones
Where do I actually like.. connect the NPC's portraits and sprites to the game? What json am I supposed to put those in?
yes. if you can set a flag or a stat or something of that sort when interacting with the statue, then you can use a trigger action on DayStarted to check for that value and apply the buff
("Year": "{{Range: 1, 1000 |step=2}}" would also be a good, non-Query odd year detection.)
hm... I do have them in content..
I straight up forgot DayStarted was a thing tysm!!
I forgot why exactly query isn't always safe for conditions
It's always safe. It's just not performant.
Oh
it has less error checking
query turns off multiple kinds of validation so it can be wacky if you fuck it up
sometimes might be silently doing not what you want
(Depends on your definition of "safe" I guess)
just gotta be careful about using it basically
and usually if u dont need maffs i'd avoid it
i do prefer the modulus query to button's range on principle, even though it's ridiculous to support years > 1000
Right. the errors are telling me the game is looking for .xnb's of my NPC in the Stardew directory
What if my save gets to the year 2026m...
You can go up to 10,000 if you want.
Chat my npc will not work at all, is there any mods someone knows of that adds a really really simple npc I can just Frankenstein stuff off of easily?
If you really want, you could make multiple queries each with their own 10,000 Range that continues from the last one, and check each of them.
Then you can support up to the integer limit of years.
And by multiple queries I mean multiple dynamic tokens
I do not know why it's tryna do alla this
most likely it means you either typoed your asset name when referencing it, or forgot to load it
Couldn’t find file 🤓
complaining about xnbs is just because that's the last fallback the game has to try to find the asset, and when that one fails it barfs and that's the message you see
Ah
Loading it would be in the content file right?
oh wait a damned second
Well I just got the rare screen from clicking the ConcernedApe logo that I had 0 clue existed
I guess I didn't do it right?
Maybe it's just getting a little too late in the day. Def not the best idea to do the most complicated thing I've never done in stardew modding thus far while I'm already tired
I require assistance once more (for the house stuff, I'm going to do that other stuff later. I just wanna see if I can get this house to work first) https://smapi.io/log/3c16f07338614fe7b1e4a580ea479a9b
Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26100.0), with 110 C# mods and 151 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
- i recommend testing your mod on a minimal setup at all times (your mod, its dependencies, and any QOL C# testing mods you need) unless you're specifically testing for compatibility with other mods. this ensures you (and us) can narrow down the cause of errors more easily.
oops sent too soon
- to use tilesheets outside of the maps folder, you have to use the relative path. open up your tmx in a text editor like notepad++, find "furniture.png", and edit it to be "../TileSheets/furniture.png"
tyty
also note that this requires SMAPI version... i think 4.4.x? which i'm sure won't be an issue, but just to let you know that this is actually a new exciting thing we can do now as of january!
before we had to either use button's ATA mod or load it ourselves (bad)
Okay well that wasn't right but this is progress
you probably want to increase your Format from 2.0.0 to your current Content Patcher version (probably 2.9.0)
Ah. Tbh I had no idea what the Format thing actually was 
you can find the most recent format on the CP docs always
2.8.0 is the last version compatible with android, though
it actually affects how CP parses your json
Good to know.. maybe that'll magically be what's causing this particular issue? that's major cope but I'm tired lmao
just use cinderbox 
TRUE i forgor that's a thing
if your format is old, you can't use new features introduced in later versions, and CP applies automatic migrations to convert your data from older formats into what it expects now
idk if it is, but this error is saying you are trying to load something to the same target 2 or more times
Oh.. okay yeah I can see the problem
updating your format won't fix multiple exclusive loads, that's true
I did the thing that Portrait Mod did with having every portrait be its own PNG so I different EditData actions for each portrait.
I'm assuming it has to be individual to use the upscaled portraits function?
loads are special in that they're exclusive by default. you can editdata the same thing 63821736 times but can only load once
Yes
Okay, for testing purposes I've loaded only the Default Portrait and got no errors
is each of these pngs one 64x64 portrait? i'm a bit confused about the structure
are these all different expressions? you can and should put them on one sheet
didnt work 💔
They're 80x80 cuz I'm using portraits from PMD which are normally 40x40. Someone sent a Mod as reference that has upscaled portraits using SpaceCore so I followed that structure
try patch export Data/Shops
Wasn't sure how that would interact with the SpaceCore upscaling thing
wdym?
unfortunately i'm not experienced with upscaled portraits or PMD :(
usually people use Portraiture for that
Here's what was sent for reference
put "patch export Data/Shops" in your smapi console
the only thing i can really tell you is that 80x80 is likely to look pretty bad when stretched to 256x256 (the screen size of the portrait box)
wait it's only 80x80?
id just crop that down to 64x64 and not use spacecore here
you really wanna be at multiples otherwise ur pixels r angy
yooo its the zoologist from terraria
welcome to stardew we have the power of squares
okay now what?
Well- okay, again, the portraits are 40x40 which is too small for 64x64, and I was told it was impossible to make it smaller, so I thought I could make it bigger to a size I could easily upscale 40x40 to, being 80x80. Cuz then it still looks the same and now fits.
I made all of these choices without actually knowing how the game works ftr
square is love, square is life
now you can check the exported tile to see whether your edit worked
if the portraits are 40 x 40, maybe just make them 64 x 64? not by upscaling, but by cropping it bigger
I did it!!! I just kept trying a bit longer and ended up figuring it out by trial and error:
{
"Name": "Advanced Charcoal Kiln",
"TranslationKey": "item.advanced-charcoal-kiln",
"Price": 0,
"ProvidesLight": false,
"ReserveExtraIndexCount": 5,
"Recipe": {
"ResultCount": 1,
"Ingredients": [
{
"Object": "(BC)114",
"Count": 1
},
{
"Object": 709,
"Count": 8
},
{
"Object": 335,
"Count": 3
}
],
"SkillUnlockName": "Foraging",
"SkillUnlockLevel": 8
}
}
In the end, it was actually pretty easy
not judging you for your choices btw just wanting to know what your wants vs needs are
If I'm understanding you right.. that's not a bad idea
i'm impressed you got any level of detail at 40 x 40 haha good job
I mean that's not my praise to take 
i believe that was the native size in the game they were ripped from
yep it didnt work r u sure u loaded ur mod
think so
oh wait
...
🤦
it ISNT THE RIGHT ID
BRUH
chat what is this
Darkrai Portraits from Pokemon Mystery Dungeon
I am painfully aware of this
hm i guess if u dont mind that his portraits have a border around them it'd be fine
they r already not really sdv style whatever
They are still significantly better than trying to draw this sort of thing myself 
🙂↕️ that's what i had to do for my portraits, clean up an image then work off that
what do you use for pixel art?
Aseprite
🤔 ive never heard of it
It's a paid software that you can get on Steam
ahhh i see
I got it cuz I got REALLY into making sprites for Pokemon Infinite Fusions
I see I see
oooo im seeing it's rotation abilities and it's much more convenient 🙂↕️
how do you make it nighttime in an event?
If you can't afford it, you can also try Libresprite on GitHub. It's a fork of Aseprite and it's free, though you might have to compile it yourself. Not sure how any of this works https://libresprite.github.io/#!/
LibreSprite is a free and open source program for creating and animating your sprites.
oo i see i see
blow up sun
i see
aseprite you do have to compile yourself if you want to not pay for it. libresprite i believe you can simply download/install
event preconditions to only let it happen from 1700 to 2600 (or whatever hours you desire)
Oh, alright! Good to know!
well its like a junimo event. where it happens after you go to bed
oh that's C# land (or More Nightly Events)
Also was this your idea? If not then this is how I'm doing it anyway because omg I'm not touching up 10 whole sprites 😭
hey @urban patrol How is your dungeon mod update going? 
Is it done? I wanna play it.
i can't tell how big that grid is but if it's 128 px wide total then yes
you only neeed 6
sort of! it's in beta right now but i'm also waiting on casey to resolve some issues with spacecore and spawning
mine are very very similar to eachother bc im lazy 🤩
Ayy wait I just noticed you have sledding game in profile pic?
Ah ok, I hope everything goes smoothly for you 
yessir, so hyped for the release
ill check that mod out, all these events are so complex to do
thanks! i'm happy to hear you're excited for it <3
Same here!
Also yea, I guess I do only need 6 but with this I can do all 10 relatively easily
🙂↕️ mine, save for one, are literally only a difference in the eyes
🤣 also we're both crossing over a nintendo character
I guess I just have the luxury of way better artists than me already doing the work and so I just get to pick my favs 
:o oh wait did you grab a 32x32 and double scale it?
Ah no. I've grabbed 40x40, double scaled it, and then am cropping off the edges to make that double scaled version 64x64
😎 okay so anti my thought process, real real
for mine it was already a 64x64 from the wiki but smoothed so i had to sharpen the whole thing (the wiki picture btw)
If there were 32x32 portraits I would 100% be doin that
Also Sterling yooo
Always gotta appreciate Animal Crossing rep
You know him? 🥹🥹
I’m making a whole new leaf thing rn
In all fairness I did have to take a good few moments to remember his name, but I didn't need to look it up!
Better than me, I just remembered he was my favorite, couldn’t remember his name at all 😅
I feel that 
But yea I’m making a farm, farmhouse and AT for that, npcs that will live in their respective houses on the farm, andddd I think that’s it
Oooo sounds pretty cool!
Honestly this blushing portrait alone has me considering making Darkrai romanceable even though I know that's a terrible idea that will just lead to even more work I need to do
Spent like 2 days setting up an effect over the grass to make it look like wind is blowing over it 😭
☠️☠️
Okay I did what someone (I'm really sorry whoever it was but I forgot your name
) suggested, and this happened. https://smapi.io/log/8f73a6ae65dc421596c7e845b077efa0 The house is also not showing up in the right spot, so I'm confused-
Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26100.0), with 22 C# mods and 9 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
just now really considering that this is a mod about being able to grow pokemon berries. GOD I have lost the plot 😭
HAH
I would 100% romance darkrai.
it wouldnt' be tooo much work... right?
I don't want to give him a schedule around the farmhouse 😭
or it- Its gender is undefined
Only liked items: star drop tea, all other items are hated
🤣 but
:)
just dont lowkey
make bro just exist ominously in a corner
I've got the portraits made now. And now.. I need to delete all the code that tries upscaling it 
do I even need portraits.json actually..?
i've personally never used other people's tilesheets, but this error is saying it can't find the tilesheet
z.luan extras or whatever
did that mod have instructions for how to use it for mod authors?
I cannot remember-
Depending on the way your content is set up, maybe
do you use tilesheetinator?
I think so
can you show me how you added the luan extra furniture 2 tilesheet to your map
How do I do that?
screenshots or just a typed summary will do
Oh oki
pokemon rse really was the gateway to farming crops in sdv with its silly little berries in soft, loamy soil
what u doing 👀
u are adding darkrai to the game 👀
Barebones but yea basically
barebones?
Okay so I think I just pressed the add new tile button in Tiled. I'm going to guess that wasn't how I should've done that?
He's not like a fully scheduled NPC or anything, just gonna stand in one place with a bit of dialogue and can be given gifts and will probably send recipes in the mail
wait just noticed concernedape is in the server-
oh tbf making a fully scheduled NPC is hard
why he wide
yeah, when using tilesheetinator, you have to use its capabilities to add tilesheets, so that it knows how to navigate basically
maybe making him a special zone for him?
there should be instructions on the TSI page
bcuz the sprite from the PMD was too wide by default
Oh yeah. Nothing impressive, though
just noticed i said "him" two times 😭
Very very tempting. But.. sounds like a lot of work 😭
you can absolutely make wide/large npcs, they just have pathing issues
oh blueberry idk if you saw but i finished the effect i was asking you if i should try the other day
That's fine cuz I don't need him pathing
oh it's no work at all, just add the events to Data/Events/FarmHouse and use a Time 600 610 precondition so it happens before you wake up
This was basically just a test to make sure his sprite CAN actually show up in game. Tomorrow I'm gonna figure out how to actually make it function how it's supposed to
Alrighty, thank you! Does that mean I need to remake the map from scratch?
ohhhh okay I'll give that a try
Imagine darkrai invading and watching you have a nightmare where they reject you 
definitely not from scratch--worst case scenario, you just delete that tilesheet and re-add it. that might not even be required though, i've just found that easiest compared to more fiddly things
you can also try opening your map in N++ and looking at the image source there
I'm gonna use this event I'm currently setting up still, but having another event before you wake up sounds great!
in my dreams/nightmares mod i didn't use a time precondition at all so technically if you slept in a tent or on the island you could probably have a nightmare when you walk in the door
should fix that sometime
Probably wont be anything impressive but I def want to like.. get these made and then add onto them
Thank you for your assistance! I really appreciate it
I'm gonna go try that now
np! feel free to keep @ing me, i'm alt tabbed
suppose you'd also have to add the event to every location to account for tents and other houses. hmmm
Remembering that NONE of this is actually working towards my goal for making this mod ready to update 😭
Not gonna deter me tho this is incredibly cool
if you have other questions i mean
Aww, thank you! If I do I will
my browser and notepad++ are such a mess 😭
Does anyone know how to add an alternative recipe to a recipe using JsonAssets?
5 windows of 20 tabs is how I live. What if 2 months from now I still want that one website? I will definitely just make a new tab and look it up again anyway - but what if I don't?
For tabs like that I use bookmarks and then proceed to not use said bookmarks
hello! how do i make a character walk towards one direction while looking at another in an event?
There's no straight-forward, single-command way to do it. However, you could still have the same effect by using some animation and offset shenanigans.
I am having the hardest time figuring out where the code is that activates when you interact with the ladder or elevator on the very top layer of the mine shaft. I know it's not MineShaft.checkAction, and I know the Game1.player.currentLocation is set to a Mine object, but there's no check action in that object.
could you do an example?
/animate Abigail false true 210 5 6 7 4/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/pause 5/positionOffset Abigail -2 0/stopAnimation Abigail/warp Abigail 20 6/ This is Abigail facing right, walking backwards one tile to the left.
if you open the map you can see the MineElevator tile action
The warp at the end is to the tile she ends on.
you can search for references to that string in the code
alternatively references to the MineElevatorMenu class
How do I open the map? I've never done that
!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!
then look at Maps/Mines.tmx in your map editor of choice
and by that I mean mostly Tiled
(but any text editor is fine too lol)
ty 🙂
wow. this will take a while haha. thanks for the help!
late but we don't really recommend using JSON Assets nowadays (it's deprecated now). Content Patcher is more recommended
[[Modding:Recipe_data]] and this is how recipe data is formatted in game/CP
ceighlph
OH YEA YEA
Yeah, I know, but it’s not my mod, I’m just tweaking the recipe it adds for my modpack
Do you know how I can add an alternative crafting recipe for the same item?
doesn't seem like that's supported in JA
object data only has one recipe object
it is possible if you grab the item IDs and is willing to make a quick CP content pack
unfortunate that this is not as quick as we hope lol
Hello, I am terribly sorry for bothering you, but could you maybe explain this to me? I had to go do something, so didn't get a chance to try this out. I am now confused because I forgot how to do this- 
Suppose I have a token in CP like {{Random: A,B,C,D}} and the result is 'B', is there now a way for me to select from the remaining members (equivalent to {{Random: A,C,D}})?
Okay was fidgeting around with stuff and this is the log now https://smapi.io/log/4d2cbed134c746d0a238d10812c98de1 I am still confused-
Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26100.0), with 22 C# mods and 8 content packs.
'Kan Kansprites.png' isnt found, and your map of their house interior was saved with something wrong at the time, it says invalid tile, idk if you saved it with the x's visable, but it seems to not like the setup you have with the tilesets if not the previous assumption
hm- I see- Thank youu
there's another thing but im not smart enough to know if thats caused by issue 2
Sorry, I have trouble reading the logs. That's alright
dwdw
is it fine if the second value is deterministic (ie. if the first token is B the second token is C)
that's not ideal
in that case, it's a bit of manual work, but you can define another dynamic token that's {{Random: A,C,D}} when the first token is B, {{Random: B,C,D}} when the first token is A, and so on
that's one block for each possible values
maybe some token wizards can chime in with a better solution
can't you do a synced random
there's an example for using synced random to get different results in the content patcher docs iirc
but I could be misremembering
that's what my "is it fine if the second value is deterministic" question was about
if the answer was yes I'd suggest that yeah
yeah I was remembering it being non deterministic but then I realised that can't be right
I'm sure there's a very cursed string operation you could do
Thank you, do you think you can give me an example of creating a conditional token I've gone over the tokens guide on github and don't see it
alternatively I'm assuming there's a way to pass variables C# to be CP tokens. maybe there's a guide on this somewhere... for some reason I have been slow on the uptake on the c# modding side even though I have a bit of c# experience
you can define the same token any number of times and assign a When condition to each block
defining custom tokens in C# is at https://github.com/Pathoschild/StardewMods/blob/stable/ContentPatcher/docs/extensibility.md
I think I need some syntax help. I'm trying to make a different sprite sheet show up for Marnie in the first three years than in year four and after, but it keeps just defaulting to the year 4+ sprite sheet, even on a year 1-3 file.
I've tried many iterations as well. I've done "Year", "WhenYear", I've tried with and without that little line separating "Year" and "contains", I've tried with and without parentheses around "false", I've tried adding the same condition to the code for her normal sheet but changing it to "true", etc. No matter what I do it displays the year 4+ sheet. Any help is much appreciated.
Have you done it with just “1” in the contains?
Actually, no. I didn't try doing it for just one year by itself. I can try that.
Do you think I need parentheses around "false"?
No I don’t think so
Ok, I'll try it for just year one. Please hold.
Some things don’t work right with checking for a list of things, might need to just put 1-3 on their own 🙂↕️ 🤔
Though I think at that point you don’t need contains you just need to check the year
Wait what
🤔 shouldn’t it end up being ”When”: “Year | Contains=1,2,3” or som variation?
Bc year contains isn’t a like, thingy
Was checking it, and it seems so
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/tokens.md#conditions
example
Ok, let me try that.
But that would change it on all other years no? 🤔
and you can add a list of comma-separated values for multiple years
That's what I want, isn't it? If I want it to kick in on year 4 and forever after it should be false?
🙂↕️🙂↕️ I was thinking you had it the other way around
Ok, does this look like it's formatted correctly?
Ok, gonna boot it up. 🤞
Nope, it's still loading the year 4+ sheet. 🙁
Anything in the log at all? 🤔
I'll look.
Nope. No errors.
I have one other mod that acts on the Marnie characer sheet, but that's definitely not the one it's defaulting to, but just in case it's conflicting somehow I'll take it out and try one more time.
Chat are we sure you hit save
I’ll double check once I exit out.
Okok
HAHAHAH
I genuinely appreciate the super basic checks like that. I get nervous when I break my game and overlook really obvious things like that.
So thanks for the callout. ❤️
We’re all pros here. 😂
Oh my gosh I think that fixed it. 🤣
Yeah one is good. Now, since I only have year 1 specified let’s switch to year 2 and see if it switches as it should.
Yesyes add ,2 and see if year two is fine
I’ve been keeping an eye on it, and it looks really interesting. I hope everything works out smoothly.
Yessssssss……
I’m gonna set it for the full list now and see if we can go 3 years with version one and then switch.
Vas
Bueno? Did it explode?
Did a little too much time skipping and locked my game. Starting over….
😂 😭 broo how
Tried to warp back to my house from a festival. It didn’t like that. 😂
Oh, whats the mod are you working on btw? 🤔
Oh 😭 yea that’s, that, no bueno
It doesn’t really have a name/isn’t going to be released or anything. I saw a mod on nexus that changes the luau soup to look nicer, and they made a bunch of different versions, and I wanted to have more than just one of them work.
Ahhh I see
🙂↕️
Ok, year one is good. Going to year 2.
Ive made like 3 small personal use ones then lost the plot so hard on my custom farm im adding npcs and custom farmhouses and what not so im gonna post it once its done and i figure what mod creators i gotta put in the description bc I Frankensteined some of their work
The scope creep is so real. 🤣 That’s amazing you’re adding entire NPCs and everything! I hope it all turns out exactly like you want!
Year 2 is good. Moving to year 3.
🙂↕️ once I figure out the schedule for the npc I’ll be able to just copy paste and do all the artwork for their houses and themselves and I’m almost done after that
I’m making ACNL villagers, so they serve no genuine purpose other than making the farm better, making artwork for them still as if they were, but
Bro I’m missing like 90% of whatever conversation you’re in
umm..?
If you scroll up a bit to the last images I sent, there’s me tryna get my guy to talk to me and gifting him a stick
Ok, year 3 is good! Moving to year 4! 🤞
acnl is one of my favorite games too. But there are so many villagers—are you really planning to add all of them? I’m still getting used to how this server works, so I’m trying not to overstep. If I ever come across as rude, please feel free to let me know.
Oh, I see! The eagle guy! Very cool. So, a Stardew x Animal Crossing crossover?
🙂↔️🙂↔️ for rn I’m doing sterling, felyne, freckle, chrissy, and lolly, as chosen by me and company, I’m thinking about making some others as possible villagers, but we’ll see how easy the other villagers are to add, and dw bro not overstepping you’re just not discord replying to what you’re talking as a reply to so it’s confusing 🙂↕️
Yesyes, I’ve made the acnh house for the farmhouse 1-3.. on accident mind you, then 2/4 of the acnl maxed house options, and I just finished making almost all of the custom farm, added an animation over the grass to make it look like wind is blowing, if you look up my messages with images/videos they’re there somewhere :3
I actually say “Yesyes” bc freaking tom
Year 4 is good! Thanks so much for the help @fossil osprey and @marsh reef 😁
Ah, I understand now. Thanks for the feedback. I’ll try to get used to replying properly in replies from now on!
Sleep well! 🙂
Aww, Lolly’s such a cute cat!
Great villager
i agree so cute
Does anyone know if buyable clothes mods are a thing anymore? I know back in the days before FF that's how the clothing mods worked generally (the clothes were actual items), but after FF that doesn't seem to be a thing so much anymore. I like to actually find/buy my clothes in the store. Is there a currently accepted way to do this, or is it pretty much all just FF now?
I don’t think nearly as many people do it due to FS, but it should be possible with content patcher
Sandy sells stuff in vanilla doesn’t she?
I'd have to check, but probably?
I sell a couple of clothing items in mine
So content patcher should be able to do it too
yes, you can simply add new clothing just as the base game does, without FS, using CP
yap. cp available now
you can also register some CP clothing with FS to appear as both an item and an entry in the FS menu, but this only includes shirts for the moment
You can even add clothes that can only be obtained in certain conditions. I did this with my snowman’s hat
The art on that hat is really good. Beautiful shading. ❤️
Personally, I think adding them through just Content Patcher would probably be the simplest and most convenient option.
FS has the advantage of letting you create clothing of virtually any sprite size as well as layering multiple additional slots, but it has its disadvantages as well
Oh, thank you!
I think there are definitely mods still making non FS clothes, there just aren’t as many standalone ones
What kind of clothing items are you planning to add?
Yeah, I've definitely donwloaded some super intricate clothes off of Nexus that make me look way taller because they extend way past the body. 😂
there's plenty of mods that add clothing via CP, but these are mine for reference
https://www.nexusmods.com/stardewvalley/mods/4154
https://www.nexusmods.com/stardewvalley/mods/10378
Oh wow! You made Sailor Styles? I love Sailor Moon! You did a great job on all of those! So many little tiny things.
Oh, what I meant was that I added the hat that is on my snowman’s sprite as a wearable item to my mod already. You unlock it by getting 4 friendship hearts before he melts away
haha thank you! it's definitely living proof that you can make clothing with CP and still get downloads, even if half the comments are 'fs where'
and one day they will have a fs version, when peaceful's ready with the update
Aw, don't listen to them! There are some of us that actually really love the CP way.
It feels too easy to just scroll through and pick anything I want on minute one of the game. I like to actually find the actual item in-game.
oh i see now
I do like the idea of special clothing items too
oh yeah i like collecting clothes and building a wardrobe, much more engaging than just whipping up an outfit imo lol
If you're using VScode, you can toggle a settings so your file save as soon as you lose focus on the window
I've never actually seen this mod before: https://www.nexusmods.com/stardewvalley/mods/10378
Is it actually a full new minigame? The description was hilarious. 😂 There's 360 miles to the Calico Desert, we've got a full tank of gas, half a pack of parsnip seeds, it's hot out, and Pam's driving.
I'm just using Notepad++. Thanks so much for the tip though. ❤️
i mean it's a minigame in the sense that it's playable in SDV and it's not SDV itself, but you really are driving 360 miles at about 50mph with a bus that veers slightly to the right 
Come to think of it, I remember seeing that snowman NPC mod before. I thought it was funny because the NPC has the same name as the one in my mod. I’d like to try installing it someday, but I’m a little worried they might conflict because of the shared name.🥹
oh, it wont!
Is there a machine in the saloon for it, or how do you access it? Or is it like, and event in the game where you have to help Pam drive to Calico Desert?
My snowman has a unique internal name
So other characters can be named jack as well
there's config options, you can make it replace JOTPK, replace the bus transition to the desert, or abigail's JOTPK event only
but it is specifically designed to be miserable and pointless
Oh, that’s great to hear. I can download it with peace of mind now. Thanks for the guidance! :3
you get an arcade machine after you drive 1,000 miles and it lets you drive about 250mph
It sounds like a hoot. I'll give it a shot. I imagine if it reaplces either of the events it's a one time thing, but if it's replacing JOTPK you can play over and over?
I hope you like it then!
yep! you can just enable and disable it as you like, it takes about 8 hours to finish the drive so it's a long haul lmfao
Do you happen to have a safe link to download it? I'm kind of a nervous person in general, so you'll have to forgive me. Notepad++ is all I've ever known. Is this one majorly different?
8 real life hours, or in-game hours? 😳
I'm assuming in-game because I don't imagine you could save in the middle of something like that.
there was some sort of stardew plugin for vsc, wasn't there
It’s a product from microsoft I think, so you can download it from the official source
I’ve never used notepad ++, so I can’t say how different they are
i can't seem to find the mmg dev thread. maybe i'm blind
Shouldn’t be that huge a leap though
What all makes it so cool?
I'd love to hear about the nice features.
There’s better plugins, and probably other things too, but like I said, I haven’t used the alternative. I think Abagaianye likes alternating between both, but I believe VS code is generally recommended over notepad ++
That said, you don’t have to change right away just because many people like it. Notepad ++ works
Regardless of what happens, I appreciate the suggestion.
I have one other general question. Is there a way to know what sprite sheet is dictating the sprites in any given scene? For instance, there are junimos on the title screen if you click the leaves. Those are controlled by the TitleButtons sheet in the Minigames folder, and there is also a Junimo sheet in the Characters folder, and those coorespond with the Juniomos in the Community Center at the very least. And I also ran across some Junimos on the cursors sheet, but I'm not sure where those populate (maybe when the rocks are cleared and panning is unlocked?). Anyway, even if I change all the aforementioned junimos visually, I still see vanilla junimos wandering around in the secret woods. Can someone teach me how to figure out where they are coming from?
Is there any kind of a listing anywhere for this kind of information, or is this all just people remembering stuff?
real life, of course
the game pauses during minigames 🙂↕️
This is gonna be quite the experience. I'm excited now. 😉
I think I'll really feel like I've accomplished something when I finally get there. 🤣
Because I saw talk of FS / CP clothing earlier as I was catching up: This is your reminder that pants are cursed. Have fun! ❤️
I pretty much just wanted to add a shirt, so hopefully I'll be good. I appreciate the warning about the pants though. 
I have a template posted somewhere in the depths of this chat probably for pants specifically because it was near impossible to draw them without some kind of reference for where the arms go xD
(CP template, not FS)
Where the arms go...in the pants...yeah, that is not an eventuality I'd have thought would need to be considered. I can see why a guide is needed. Why are the arms involved at all? Because the hands hang down to the pants level a little bit? If you can find it somehow I'll squirrel it away for the day that I'm inevetibly stricken with the desire to make some pants.
Specifically where the shadows are, yeah.
Ah, I see.
Found it, it's actually in the art channel: #making-mods-art message
That makes sense actually since it's an art thing. 🙂
Someone converted it to PSD and Asesprite as well, but that'll be a different search if needed
What program can open this? I've never seen the .kra file type before. I typically use Paint.net
I happen to have Krita, so if you'd like, I could probably convert it into a different file format for you. Would you need that?
I appreciate the kind offer. I can probably take care of it though. ❤️
hmm png or pdn..?
current pdn needs plugins to open kra and psd iirc
Ah, that’s great. I’m glad to hear it. I hope everything goes well!
i cannot confirm that an aseprite one exists
In general, there's no simple way to know what assets are being used on a given screen (even on the C# end). There's kind of an overview here about how SDV gets its assets: https://www.stardewvalleywiki.com/Modding:Modder_Guide/APIs/Content
Most individual in-game entities have a text field like "texture" attached to them, and when they need to be drawn, SDV asks the content system for an image with that texture ID. Sometimes it's not clear or consistent where those are, e.g. a junimo could be a bespoke animated sprite in some event, a not-quite-NPC attached to junimo huts, or a temporary NPC, etc, and not share the same images or folders.
All that said, a few things are used consistently, like the Characters and Portraits folders for NPC stuff. Vanilla .json assets that control game mechanics are in Data, a lot of text is in Strings, etc. But other sprites aren't consistent, and the running half- joke is that if you can't find a sprite, it's in the LooseSprites/Cursors sheet. 
It might also be worth double-checking which mods you have installed.
I appreciate the thorough explanation. I know someone posted a guide on unpacking the entire game at once (like xnbcli but it just make an entire unpacked folder for you with everything in it). I'm thinking that might be the way to go. I can just click through all of the images looking for whatever it is until I find it on one of those. Do you have that link handy by any chance? Someone posted it before but I was so overwhelmed at the time I couldn't really deal with it right then.
yep, the instructions are here; currently, StardewXnbHack should output everything the game has into a Content/* folder set https://www.stardewvalleywiki.com/Modding:Editing_XNB_files#Unpack_game_files
Thanks very much. I'll give it a try. 🙂
So, the instructions say to extract it to the same folder as where Stardewvalley.exe is. I'm not sure where that is though. Everything I do is here:
Is the .exe in the program files x86 place or something? Because this location just has a bunch of folders with the game files and stuff, but no executable (that I know of, unless it's hidden in a subfolder)
that should be the correct place, but I'm not sure offhand; if you're using Windows Explorer without file extensions on, for example, it might just say "Stardew Valley" instead of "Stardew Valley.exe"
it should also be wherever SMAPI installed itself, afaik, though I haven't used it outside windows myself
Ok, I'll check there. Thank you for the picture. Visuals help so much. ❤️
I found it. Thank you. ❤️
And, all done!
Oh wow, it didn't even include all the json files and stuff. Just the .pngs. This is really nice.
And of course the addendum: if it's not in Cursors, it's in springobjects
It's so true. I think I pretty much know cursors like the back of my hand at this point, but springobjects has gotten me a few times now.
(Because something will be on cursors, but then it turns out the one that matters is on springobjects)
(i was specifically referring to paint.net filetype plugins there, but thank you for linking regardless!
)
I forgot that one gets tricky, probably due to documenting the whole thing by "whether this can be picked up" a few times 
(correction; there is .ora support in krita's case)
Ah, you said asesprite in the message, so I thought you were looking for the asesprite version, my apologies
nw at all
What controls what "underwear" your character wears? My character always wear red boxer shorts and some kind of a black shirt (that is admittedly probably to do with me tampering with stuff) but I don't know why the boxers. Does everyone wear those when they have nothing on in the pants slot?
Usually the underwear color is determined by your pants color
Weird, because I always slide the slider to black...
Can it be changed or are you locked in once you choose at the beginning of the game?
If you have messed with stuff that changes the base farmer sprite, or otherwise have a mod that changes it, the normal dyeable underwear might have been replaced
The underwear's appearance is set on the farmer_base files IIRC
I don't have any mods that mess with the underwear to my knowledge. I do have the Anime Eyes mod that changes the farmer base though. I can look on there and see if the red boxers are there.
All I see in terms of clothes is the swimsuit.
The wizard has a shrine in his basement that you can pay 500g at to change some of the basic customization options, but I do not know if the pants color is one of them
And that's white.
I'll try it just in case. Thank you. ❤️
Yeah, I might be getting confused with the swimsuit
No worries. There are so many sprites.
Alright It's a new day, time to get this NPC actually working. How do I get the full 32x32 sprite to show up? I don't need this NPC walking around so pathing isn't an issue, I just need both halves of the sprite to show up beside eachother
In Data/Characters, you can do"Size": {"X": 32, "Y": 32 }
no problem
(and if you ever want them to walk around ForceOneTileWide is coming in 1.6.16)
Oooo exciting!
If they walk around it'll probably be in a very small area
Although I was also hoping to have them moving around in scripted events
I guess I kind of assumed events wouldn't be an issue since the pathing would be scripted but I don't actually know how it works
I'm not certain how they'll behave without any pathing correction, i believe something like poohcore iirc also has something for larger sprites
Ooo this is exciting!
I mean, you can use temp sprites maybe if its for events? Im not on my computer rn but id check that section out on the events page
Darkrai
I should also probably set up an incredibly basic map for the character. Like my plan is a completely black void that is accessed through a teleport in the Wizard Tower (that would be unlocked via event)
Could I theoretically just use the data for a different map and change some of the code to change the name while also recoloring it?
hm... Darkrai is still cut in half during the event scene..
https://stardewvalleywiki.com/Modding:Event_data#Event_scripts like void said with temp sprites that shouldn't be an issue
You should always use an existing map as a base, and you could create a new location entry with it's own name
https://stardewvalleywiki.com/Modding:Maps do make sure to read through this
Server is back alive but the specific page it was calling is still dead thankfully

Do the commands have to be done after character initialization in the event? Or can I have this temporary actor in there from the beginning?
do you guys think its reasonable for there to by a gigantic pyramid in the desert as somewhat of a counterpart to skull cavern?
with like a sandstorm transition area from the normal desert toward it?
certainly
do I think it's reasonable for a world with a wizard and witch in cannon to have a pyramid in it? yeah sure
smh pyramids aren't canon, this is breaking my immersion /j
I mean the pyramid decal is right there
Youd have to extend the desert quite a but but there's real pyramids in real deserts already lol
worst case you could add a transition somewhere
i think it'd certainly be something i'd be interested in
just gotta account for the sve changes lol
yea im planning on having a "cliff" area accessed from above the galaxy sword shrine, and that overlooks the pyramid similar to the perfection cliff
desert the loong way
hmm... ive never seen the sve desert
it's quite different
omg
idk how i can account for that
just don't imo
you can do music id, initial camera, characters, and then addTemporaryActor before anything happens
make your mod first, handle compatibility later 
my guess would be having a screen transition entrance that changes location based on if sve is installed
true...
we really need to take the Rimworld/Combat Extended stance on giant game breaking mods
as someone smarter than me said, working out compatibility when you haven't started the mod is putting the cart before the horse
i guess i could put a staircase leading up to there and have the transition there? idk. ill think about it when my mod is done
"Is this CE compatabile? Dunno, go ask them, they're the ones who gutted the game"
i also gotta make a soundtrack for the sandstorm area
and make sandsharks
oh fuck yeah
I just realized, I'm gonna have to make all of the dialogue in the i18n file aren't I? 
well worldbuilding is different than funky sharks swimming in sand lol
i mean, look at it this way, pyramids are an extremely stable shape, it's completely reasonable for a society to have independently come up with pyramids
we had like 5 civilizations do it
true, triangles are the strongest shape
it's far from a stretch to say that this civilisation that we know almost nothing about could've come up with pyramids
oh true
stardew has pyramids
oh yea, pyramids are real
I just realized for this tempActor thing to work I'm gonna have to properly format my asset files arent i?
Nope 
Yayyyyy!
you should probably consider properly formating your files anyway 😛
yoooooo, dryad wizard
i mean.. yeahhh I should. Since there's only the one character I've just got them in the general assets folder rather than Portrait and Character subfolders
I do kinda wish these events were easier to read in the files. Then again I guess I can just manually linebreak them for the purposes of reading through it
I thought in 1.6 you could line-break them now for readability?
Well I'm looking at pre 1.6 vanilla events for reference
So I get one single long line take it or leave it 
oh gotcha
Is there an easy way to view these events in game? Like a debug tool or command that instantly plays the event, just so I can better get a frame of reference for what everything does
not that I've ever seen, although because many of them are time, heart and location based you can debug yourself to the right day/year and heart level to see many of them
that won't work for every event though
True..
Few things: One, looks like I'm making another bug report related to SpaceCore's Health Regeneration stat 😭
Two, This is kind of concerning, the first time I eat "Borage Raviolis" from a mod (quite possibly Cornucopia More Foods) that I get through the mail, it gives me one of the custom debuffs from my mod when it absolutely shouldn't be
Why r u reading pre 1.6 events
For reference! Cuz I'm already working with the wizard in the wizard tower and it goes over things that I'm gonna want to do
Okay. So nvm. For some ungodly reason, these Borage Raviolis just give the debuff from my mod??
Why not read post 1.6 events then
why does it matter?
does your buff share a name with their buff?
It does for certain changes in event commands
In general if you are going to reference vanilla for anything use the latest unpack
I mean.. it could?? BadDreamsDebuff feels a little.. strange for the other mod to be using, but I can just add my mod prefix to my buffs
As for viewing events quickly you can do debug ebi <event>
Same here, I never even considered that I'd have an outdated unpack of the game
I- do not remember how to do that 
!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!
ive heard there is a nexus to curseforge mod upload feature, does anyone where the feature is on curseforge?
is your Id {{ModId}}_BadDreamsDeBuff?
Well now it is so I'ma test it now 
(the {{ModId}}_ prefix on everything your mod adds is suggested for a reason, there are lots of mods out there, and nobody is all that original in their naming)
not saying that's the cause, it's just the first thing I would check given the symtoms you're seeing
Well it's fixed now so.. honestly I'm just extremely curious now 
you've got the mod, crack open their json and see
unless they added allt heir recipes via c# for some reason /shrug
add {{ModId}}_ to the start of all of your ID fields. this is not a suggestion. this is a threat
Yes, however, I'm not 100% sure which mod it is (though I've got a very good idea) and if it's the mod I'm thinking it is there is a TON of stuff in it and idk where to start looking
If you don't do it at least 5 mod authors in here will get you
I've been using PBB_ as a distinguisher in most places, but I guess I forgot in a few
there is no reason to use anything but ModId 🙂↕️
except for console commands where apparently we don't care enough
I first made this mod 2 years ago now I'm just kinda following what past me started 😭
Alright guess I'll go through every single file, find PBB_ and replace it with {{ModId}}_
if you're using vs code or something similar you can find/replace at a folder level
(y)
Oh that's an incredibly good point
Typing out my mod id in console makes me grr
Typing
Alright, done and dusted
And here's hoping that didn't end up breaking anything. Just in case I should probably load the game
it will definitely break pre-existing saves though wont it 😭
yes
unless you go edit the save as well
that won't work for your users if you've released
Well rip to the 4k people who downloaded the mod already
but it'll work for you
I'd suggest a major version update (1.0 -> 2.0) when you release it if you change your prefixes for sure
and obviously let them know not to update mid-game
oh you can?
that would be fantastic if so
Yeah content patcher migrate id trigger action
oh, neat, well there ya be
Wait so how do I implement that?
looks like a command with item id pairs
so check your version control, should give you old/new id's on each side that way to make the pairs easily
obviously anything newly added doesn't require to be in there since your users don't have those items, just the ones in the currently released version
OH RIGHT- I was in the process of unpacking the game again 
I'll do the unpacking after I get this figured out
Is there like.. a fast way to do this or am I gonna have to put in all of the items one by one?
you could copy/paste the old ones into a spreadsheet column, new ones in the next column over, then use concat down the row to build the big long string you need for CP
probably only faster because you wouldn't mess up quotes and such as easily that way though
this sounds so painful 
Sandstorm...shark...is sharnado finally coming to sdv?
If these are items doesn’t cp have MigrateIds or something
Ah someone beat me to mentioning
When i think of sand sharks, I think of terrarias
incidentally using the wrapped Game1.sounds.PlayLocal() does give you an out ICue cue param to use, which is given as _ when using localSound()
it's also surprisingly hard to test the sound of jingling bells ingame when there's orthodox church bells ringing at midnight outside the window
very rare debug issues
easter actually, just a little late apparently
You're early for next year
This is especially annoying cuz my mouse is kind of broken and has a bit of trouble holding down the mouse button so clicking and dragging to select and delete things is.. inconsistent 😭
ah i had to deal with that on my last mouse. logitech g703. drove me nuts
you should be able to double click on a word to highlight the whole thing for copy/pasting unless you have hypens in your names
underscores will be treated as part of the word typically though
What are you trying to do?
It sounds like a nice copy and replace will do it
i don't think it can be fixed unless you're able to clean or replace the contacts under the mouse button
they are getting the names of their items extracted so they can do a migrateitems trigger in CP
Well this was caused cuz originally I had an issue where my mouse wasn't registering clicks half the time. So I put electrical tape under the button so it triggers easier. Well the clicks register, but now it sometimes clicks twice in succession or has trouble staying held down
I was SUPPOSED to get a new mouse yesterday but Amazon didn't even TRY shipping it even though it was supposed to be delivered yesterday
oh yeah i don't even bother with amazon. awful company. better off just going out and buying the mouse you want
I don't think it's sold anywhere near me
hmm, the gap between the easiest foods to make in my mod and the 3rd easiest food to make in terms of energy recovery is...vast
might need to rebalance that
My old mouse was also cursed
Anyhoo, yeah to get the list of IDs I pasted the objects file into a spreadsheet and am deleting everything that isn't the item Ids, then I'll format it better from there
Had the same problem you're having
although I guess the other one is made with real food items I could eat raw, vs the easiest one which is made from garbage monster parts, so nm, it's probably fine
if there is an easier solution than this PLEASE tell me
vs code can regex search/copy I think (if not I'm confident notepad++ can do it). Typically I'm reluctant to suggest regex to folks though since it's not exactly simple
it's easy, but it's not simple 😛
wait a minute I think i'm picking up what you're putting down
damnit does it only work for file types?
no, when you search in vs code, the search bar has a little .* button
what do you mean ^\{\{i18n:(?P<token>(?:\w|\.|\{\{(?:\w|.)+}})+)}}$ isn't simple
I mean in NotePad++ cuz that's what I'm currently using
in notepad++ you can enable something called mark for your search, which basically marks all the found items, which you can then copy all the marked items, I don't have the commands at hand (and frankly it might be faster to just copy, but if you find value in learning the skill generally even if it takes a bit longer then doing this particular job by hand, then it's worth knowing how to do)
theres a regex option in notepad++ find and replace
yeah, I know notepad++ has the regex option, I just can't find what the button looks like, I don't have it installed atm
I've found the options, I just need it to also select the things AFTER the prefix too
which the internet is failing me on how to do
yeah, that's where the regex comes in
so you want to search everything from {{ModId}}_ to the following "
You say that like it's as simple as toggling an option
I do believe I specifically said I don't normally suggest regex because it isn't simple 😛
but I'm not grasping from your message how to actually do that 😭 (I can be incredibly dense at times)
Regex is fun
/(?:(?:\/|\\\\|\r?\n|\s)speak|question|message|end dialogue|splitSpeak|textAboveHead|\(break\)speak)[^"]*"([^"]+)\\|(?:quickQuestion\s+|#)([^#()]+)/
*He lied as easily as he breathed*
so, regex has patterns for things like "any character", so you have a pattern here: strings that start with {{ModId}}_ and then end with a "
between those 2 parts, can be any number of characters, underscores, hyphens, periods, etc
usually the "just pick up anything" in regex is denoted with .* (although some regex implements have slight alterations, I don't know Notepad++'s specifically
so then you end up with something like "{{ModId}}_".*" as the search (dunno if { or } are special, if so they would need \ before them as well
I think I got it 
https://regex101.com/ this is a helpful sight for testing out regex
I have a list of all of the IDs. Granted, all of the IDs are listed twice each but I have them without all the other fluff
@brittle pasture I see what you mean by crab pots being a hard coded nightmare. I'm grasping at straws trying to fix something (I'll probably post details about the problem after I take care of some IRL stuff
Helloo people. I have a quick question (hopefully-) Does the message tile property work on Front layers?
No
Damn, ok. Thank youu
what're you trying to do? if you're placing a message on the upper part of a wall, for example, the player won't even be able to reach that tile, and it'd be better placed on the lower buildings tile
It might be easier to send an image to explain- Can I send a photo of the map I'm working on here?
Alright so I have a spreadsheet with all the objects file IDs, one column with the old prefix and one with the new
I'm not sure what concat is 
This is kinda what I'm trying to do. I wanna have the flags looking like they're hanging from that beam-looking thingy. And I wanted to have some flags over the stairs too
it's a function command in excel or google sheets (whatever you're using) it's short for concatenate which basically means "mash 2 strings together"
so where does the message tile property come in 
so you can do =CONCAT(A1," ",A2) to make a new string that contains the value in spreadsheet cell A1 and A2 with a space between them
then, in the next cell down you can do =CONCAT(B3," ",B1," ",B2)
Oooh right- Well, I want to make it so that when you interact with the flag, the definition of the flag comes up (like what gender identity it is or something)
Sorry forgot to say that
after that you copy the formula down and it will just say "take the string above me, and mash the values from this row on the end"
the player can only interact with adjacent tiles, so you can't inspect things on the ceiling
Ooooh okay
you'll have to place some (possibly invisible) buildings tiles at a reasonable spot below them
Maybe make a plaque
I'm really sorry, but what is a plaque-?
like a sign
but usually metal, and engraved instead of printed
Haha, I've never been to a real museum-
O..
That's cool though
But yeah, basically those little signs are there to tell you about the piece
Right, okay. I might try make a plaque thingy then! Back to my art program I go-
Thank you all for the assistance! I really appreciate it 
does anyone know why in my event, my junimo might be walking like this? i have it animated to only use 4 specific frames for all walking. yet it keeps doing this
I assume you messed up your facing in the move action?
no i have it set to down like it should be afaik
i'm not gonna lie I am so confused. You've got these quotes in there, and then 3 cells here, but Concat only takes 2 arguments so this isn't doing anything
This is the way my IDs have ended up btw
what spreadsheet program are you using?
Google Sheets
excel can take more then 2
kk, one sec
let me check google sheets
this just means you have to do it in slightly more cells
one sec
oh, google sheets has a "Concatenate" that takes more then 2
I'm also wondering what the end goal of this is?
Does this basically put them all into one line? that all goes in front of one "Pathoschild.ContentPatcher_MigrateIds Items" field?
Alright ye that's what I meant
so C1 has: =CONCATENATE(A1," ",B1)
(my examplea bove had them rotated the wrong way)
C2 then has: =CONCATENATE(C1," ",A2," ",B2)
after that it's just this, but with the numbers increasing
so C3 would have =CONCATENATE(C2," ",A3," ",B3)
etc
to say "thing above me, plus stuff on current line"
and what you end up with is the big long string you need
(you may need to add some quotes in there and such as needed)
Alright, so It's still a bunch of copy/pasting and tweaking the numbers each time?
once you make the formula in C2 you can just click the little round thing in the corner of the cell and drag down
and that will automatically copy the formula and adjust the numbers relatively
like that
(which I did while typing that advise to you, for a sense of how long it takes 😛
does the CP command require quotes around the item id's?
I think it only requires quotes if the thing you're referencing has spaces in it
ah, hopefully not in your case (spaces in IDs are a sin against god and nature)
although the line as a whole in the example uses single quotes to contain the string
yeah, that's easy enough to add by hand after
Yee the only spaces are basically purely within the i18n file
Yee, it just shows up with red highlighting in Notepad++ so I wasn't sure if it was wrong or something
maybe I should've listened to it
oh my- AAUAGHGH
THEY NEED TO BE QUALIFIED 😭
I assume they are different types?
or are they 90% objects with a few other things
(if they're mostly objects this is a fairly easy problem to handle by just adding the qualifiers in your concat and moving on)
Well this string right here is just everything in the Object file, only from the Objecy file
oh good point!
oh, then yeah just add the (O) to the concats
At this point I'm gonna forget what I was doin before all this 😭
but think of all the new mass data manipulation and searching skills you've gained
Now how many other things do I need to do this for? Judging by the available types in MigrateIds, seems like CookingRecipes and that's it?
cuz I didnt have buildings, craftingrecipes, events, farmanimals, mail, or songs
Alright and so I think I'm done with that! The recipes were infinitely quicker (who'd have guessed, It was a shorter list and I now knew what I needed to do
)
Now... is there a way to do this for crops or giant crops? If not, I'm not too worried about it but i guess it might be nice?
I ask knowing full well I dont want to spend more time on migration 
no idea, I didnt' know you could migrate them until this conversation, check that CP page I linked and see maybe? ¯_(ツ)_/¯
i got a video of my attempted nightly event
i have no clue why my junimo doesnt have an animation the first time... but the second time he does
Is this not how you do harmony prefix postfix pairs?
I'm getting a NullReferenceException: Object reference not set to an instance of an object. before the methods even run.
Both methods are patching CrabPot.DayUpdate
Add the [HarmonyPrefix] and [HarmonyPostfix] attributes
(Most people actually use magic naming iirc)
Alright good thing I unpacked the game again, was def missing a few things
You need ref for __state
Nah, what i showed was the less common method
sigh I should make a community bundle set for my mod, some of these are really tough to complete in a mining focused game 😛
Hey y'all so I need some help because idk if its just not possible or I am missing the forest for the trees. So I am making a mod for shops and I want users to be able to mix and match various portrait mods with GMCM. My mod appears in GMCM when first loading into game however in the drop down for shops the only option that appears is "Vanilla" its not until i load into game that GMCM populates the drop downs with the options. I am using a registery system to look in /packs to populate but I seem to not be able to get it to do it at the title screen. Can I use like gmcm.Register() to rebuild it at the title screen after CP and everything loads? Worried that could affect other mods
Where can I find a list of variables like @ having text use the farmer's name? More specifically right now I'm looking for using the FARM's name, but a list of all variables like that would be excellent
Dialogue page
[[Modding:Dialogue]]
Ah shoot I shoulda figured that 
I am trying to get started with CP extensibility and am getting an assembly reference error on the IContentPatcherAPI.cs file. Any ideas?
Can you explain this registry system
Or this look in /packs thing
🤔 how do I structure the schedule json portion if I want an npc to have a certain schedule every Monday Tuesday etc individually by day but the same every week?
Yeah so I kinda used a mod Scaleup Unofficial as a guide but basically I am using CP Token called {{Dakota.ShopPortraitOverhaul/Packs}} so that way other people can use that token to let my mod, its meant to be like a framework, can find any mods wanted to add portraits and auto populate them in a drop down.
I'm not sure if you need to do it like this since vanilla already allows multiple shop owners 
Just make one for mon, tue, etc?
But anyways the problem you encounter is indeed solved by Unregister and Register GMCM
You can use AssetInvalidated to detect when you need to do this
If you have one entry for mon and it’ll be the same Mon every week
Right, the schedule tutorial didn’t make any sense and the game told me I had it wrong :(
:3 didn’t make sense
If you want something for Mon, you put Mon. If you want a different schedule for a more specific day, you can make it more specific
spring_8 for example would only be for Mon 8 of Spring
I have “Mon”: “blah blah blee blah” but it said that it didn’t recognize Mon :/
The other approach would be making ur own menu I suppose
We’d need to see a json and/or log
!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.
You need a default and/or spring schedule key I think
But I’ve functioned without it before bc all my other keys worked
🙂↕️ I don’t have access to my pc rn, was just wanting to know if someone could type out or paste a quick start to finish of a really simple Monday schedule json
🤔 what
“Mon”: “900 Town 58 94 1/1800 bed”,
Does it? My worry was they would like conflict or override each other so assumed I needed a way to keep them seperate, my issue is timing CP right to make it read the directoy. So should I be using the vanilla owners system to detect which npc is running the shop or is there a better way to have GMCM populate at title screen? Did I massively overcomplicate it? lol
:/ mmmm that is what I have yea, I’ll see later then
Well if you are just making a shop that hs multiple shop keepers depending on the day then the vanilla system works yeah, owner is a list
You need a default schedule to be a fallback
The wiki page says that somewhere I can’t remember where
I don't really know your usecase is yet so i dunno what is best for you
But I’m really just throwing pasta at the wall bc idk any of ur specifics
Under normal schedules
Oh thats fair lol. Basically its a framework to remove/change the vanilla interface to load a full sized portrait. So it shifts the shop menu over, removes the vanilla portrait window and greeting, and loads a portrait like off in the left corner
How slow do npcs move? Is it even slower than farmer walk or faster or the same? Would check myself but am eepy sleepy
The pasta is my specifics idk bro, I have literally like one line of stuff in the schedules thing bc I just wanted to see if I could get my guy to move and it was sad at me
Yeah that’s just not enough info
Idk if I can post pictures so or I would
the game has an auto run, you can turn that off or press shift to match their speed more closely
If there’s an error that be helpful otherwise I’d say try sleeping a day
Is there any standard around how to treat multi-part dialogues as far as i18n goes? e.g. for:
"You look like you've been doing a lot of hard work.#$b#Why don't you take the rest of the day off?"
Does it make much of a difference if the whole string is one i18n token or two with #$b# in the middle since that doesn't change between languages?
Or sleeping until the next Monday or whatever
Ya I know I meant that if the farmer walks (no run) how is their speed compared to an npc haha
does anyone know why this could be? ive updated my script since, and the event is pretty much 100% done, but this one problem is the only thing stopping me from moving on.... and i have no clue why its happening
OH, nvm i do have a thing of the error, how would i call on a modded map in the schedule?
Whatever the internal name is
Mmmm :/ that’s what I had yes
If there’s an error about that then there’s a typo or something
🤔 it’s the modid name then the name right?
Im trying to follow this tutorial (specifically the Prefix-postfix pairs section). I believe that ref cannot be used in conjunction with out, and when I change the prefix method signature to CrabPot __instance, ref bool __state, I still get the same error
That’s best practice but the name could really be anything
you can just put the dialogue with #$b# in the i18n, I have never seen anyone split that but you could do something with adding items and have that be separate
🙂↕️ I’m pretty sure that’s the exact same thing I have the warp set to so idk why the warp works but the schedule doesn’t like it, I’ll check later ig
Right, it's less a question of what's possible and more about what the best practice is. Seems like most people don't bother splitting at a glance?
There could be something wrong with ur location
yup
And not necessarily with the schedule
How so
Things to keep in mind though
Yes but how can I spawn him there and go there myself :(
most would only split up questions/answers otherwise you would be splitting up hundreds of dialogues into even smaller parts
😭 you say this like I’m gonna hold you accountable for not being perfectly accurate 😂
Your NRE could be part of your own prefix or something you did that borked another patch tbh, we'd have to see logs
Well I just don’t want to present it like I know exactly what’s wrong
Yeah, I'm working on automating the tokenization part so it's not about how much work I'd have but what makes sense for a translator to work with
It gets stuck in infinite loop, but here is the error message (censored to remove my name)
[12:52:58 ERROR game] An error occurred in the base update loop: System.Exception: Error on new day:
---------------
NullReferenceException: Object reference not set to an instance of an object.
at Money_Sinks.CropQuality.CrabPot_DayUpdate_prefix(CrabPot __instance, Nullable`1& __state) in C:\Users\_____\source\repos\Money Sinks\Money Sinks\CropQuality.cs:line 139
at StardewValley.Objects.CrabPot.DayUpdate_PatchedBy<Nullnnow.MS-OfferringsCode>(CrabPot this)
at StardewValley.GameLocation.DayUpdate(Int32 dayOfMonth)
at StardewValley.Farm.DayUpdate(Int32 dayOfMonth)
at StardewValley.Game1._newDayAfterFade()+MoveNext()
at StardewValley.Game1.<>c.<newDayAfterFade>b__782_2()
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.<>c.<.cctor>b__272_0(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
---------------
So, setting up emotes in an event, how do I specify [continue] cuz the intuitive ways don't seem to work and the wiki just says what happens if you specify continue
yeah that definitely looks like NRE from vanilla types being null unaware
it's a boolean, so emote Abigail 12 true
IIRC by default it's false and you don't need to add anything if you want it to block
delete the line importing the ModConvention in the API file
as well as every API function you're not using
So how do I resolve this? I think the error is that __instance is null, but I tried setting it to CrabPot? instance and checked to make sure instance isn't null before continuing the prefix function
Seconding this. If it’s just #$b# or even #$e#, don’t split
You have to inspect everything you are using and make sure you aren't accidentally dereferencing a null
I wanted it to be true so that's why I needed to know lol, ty
I don't think __instance can be null but fields on it can be

