#making-mods-general
1 messages Β· Page 196 of 1
a priority of High would make their map load after other things
which i believe content patcher calls priority Late
Oh, I havn't experimented with it yet so...
the later a patch is applied, the better its odds of winning when it comes to who overwrites who
This stuff only matters if u r patching a map
If it's your map that u r Load then just leave it at exclusive
Yay I am reading through the better crafting mod dev docs now. It looks possible. I may give it a shot as I want to play the mod agian.
there are two different priority enums: one for loads and one for edits.
for loads, High is valid and loads earlier than in preference to Medium and Low
edits use Early/Default/Late
ah, id forgotten that about loads then, but i did assume they meant edits since they said map edits originally
If I want to create a new blank texture asset and then edit pieces into it from another texture in AssetRequested, do I need to load something for the texture first (like a blank texture) or should I just do ExtendImage as part of the editing before I start doing PatchImage?
do u care about maintaining the same sprite index
why r u gluing together the textures anyways
well i found out whats wrong with my mod, but i have to wait until tommorow to get it fixed (its to do with a framework im using and the owner is in a different timezone)
I have 5 sprites that get combined in a variety of ways to make different textures, so I wanted to just have the 5 sprites in a PNG and then create the various textures from them in C#
u could just draw over them
i understand edting a texture to be fairly expensive thing to do
compared to just doing the layering in the draw method
Maybe I'm not explaining right. This is creating the texture asset when its requested, not as part of draw calls, so it should only really happen once for these
if you have 5 sprites and u want to make all combos of 2 that'd be 10 sprites u r making
(I'd just prefix skip draw calls tbh)
alternatively u call draw 2 times and sleep
i am speak in C# btw not actually editing the images with gimp or w/e
So I'm going to end up with 5 texture assets that are 32x16, and I'll have filled them with various sprites with various layering of them from one 80 x 16 PNG file I loaded as IRawTextureData to copy out of.
I'm mostly jsut asking if I need to init the texture asset in some way, or if I can just do ExtendImage to make them the size I need before patching into them
the other thing is that whenever a source texture gets edited/invalidated
u need to redo the whole thing
r u sure this is worth it
I'm not doing anything with draw calls; these textures get assigned to objects as their texture
we know you are not; what we're saying is that doing things with draw calls is easier
you will need to init it. the patch image will extend as needed
you can init it pretty easily though
(you will need to call new Texture2d)
you might as well make it the size you neede
anyone that can help with a recipe? tldr im trying to make mannequins craftable, i have everything set up. the recipe shows as an error item with the correct name, the recipe itself works fine. how do i change the sprite in the crafting interface?
https://smapi.io/json/content-patcher/2aad6ce89b5947cc81784edc489391fa
Maybe I'll just move my one sprite that ends up in the same place in each texture into its own PNG so I can just load that as the base for each, with spare room on the side so I don't have to do any extending. It sounds like that will de-complicate my overcomplicating of this some.
For some reason my seeds won't plant :( i don't know what to do
!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.
Recipes might only support making objects and bigcraftables?
(M) isn't a prefix for either
Are mannequins their own type lol
yes
@ivory plume is this not allowed?
{
"Action": "Include",
"FromFile": "assets/TriggerActionQuests/LocalCrops.json",
"When":{
"AllowedSkills": "farming"
},
"LocalTokens": {
"CropCount": "{{Query: {{Year}} * 50 - 30}}",
"MoneyReward": "{{Query: {{Year}} * 60}}"
}
}
do I need to do something silly like gate that patch be...let me try something
i can craft it
you have "is big craftable" set to true in your recipes
that will make the game try to craft (BC)(M)Mannequin
Just to make sure, do you have the latest Content Patcher 2.5.1? I fixed an error similar to that in the latest update.
...apparently not, I'll go grab that
can anyone help me fix my content json file?
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.
yup, it works now, sorry!
atra do u know what is up with this C# #making-mods-general message
I've run into that issue with overload resolution before. Not in that specific case but in other cases.
If two methods are identical except for optional params then the compiler can get confused. Trying to remember where precisely it happened and what I did to work around it...
i guess i'll settle with this assign to Action<SpriteBatch> thing
Use the json validator and provide the link and someone will look at it.
Actually, that may have been what I did as the workaround - assign it to a delegate, since delegates have to match exactly and ignore optionality.
for the event command end dialogue if I want multiple NPCs to have dialogue would i just have their names be spaced? like
end dialogue {{ModId}}_TheMrQi \"{{dialoguekeyhere}}\" Sandy \"{{otherdialoguekeyhere}}\"
what are the errors you're getting?
your seed item is named "BoboberrySeeds" but your crop entry is named "FatMan.BoboberryCrop_Boboberryseeds"
they must match exactly
that too
you can make both of them {{ModId}}_BoboberrySeeds
CP will automatically turn {{ModId}} into your unique mod id, ensuring compat
It worked!!!
I am grateful π
wait what do you mean by this tho
your mod id is guaranteed to be unique among installed mods, so you should use it in every place that you are allowed to when assigning ids to things (items, locations, characters, etc.). that way it is impossible to collide with ids in other mods
assuming you follow the modid convention, ofc
({{ModId}} is a token which Content Patcher will automatically replace with the ID from your manifest.json file, and the {{ModId}}_SomeId format specifically is a convention which can be understood by troubleshooters and other mods. For example, Lookup Anything will show which mod added the item if it follows that format.)
I'm thinking of getting into modding and I've been trying to think of good places to start. I don't need help ATM but I think I'll note my progress here
iirc, isn't the best IDE for SDV modding VSCode
the best IDE is subjective
okay FIRE
No, if you actually mean "IDE" and not just "editor" then it's one of the worst.
...so I can be lazy and continue to use IntelliJ? 
use rider if u gotta jetbrain
Completely irrelevant to the actual functioning of the mod, but I giggled.
(this is in the Central Station alpha, btw, if you cared to fix it later, Pathos)
ESPRESSO ESPRESSO ESPRESSO
(Fixed!)
anyways it really doesn't matter what IDE u use tbh
Well, it might be hard to compile a .NET DLL with a Python IDE.
just dotnet build on command line
the important part is to set up ur project targeting net 6 i think
The main issues with non-traditional C# IDEs are (a) setup, (b) debugging and (c) hot reload.
!startmodding
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.
would try setting up the example button press mod here first
If I could use IntelliJ that would be fire but you said use Rider?
I'll definitely look into that
also as mentioned in the command you dont always need C#. many things can be done with content packs
in which case VSCode is fine
Is it "Condition": "DAY_OF_WEEK Sunday" for a when condition?
A "when" condition is CP and a GSQ won't work with that.
CP When and Game State Queries are separate things
(just clarifying in case you are confused)
It was DayOfWeek, thanks for the help.
I use Visual studio Code.
while taking the course i was doing for C# I was also using VSC so
and the real IDE ppl who use vs community or rider
What's the best way to go about making a door you click to warp to an interior?
I use VS22 for C#
i think either a touch action warp or a locked door warp if its an npc house
Opening a vanilla map and copying the way it's done there
ill do anything in my power to not open up VSC, so i use Rider
It's done in Tiled and not Content Patcher, right?
You can do it in CP if you want to but it's usually done in Tiled, yeah
i have too much attachment to where the keys go in vsc
The only issue I'm having in tiled is I don't know how to create a Tile Data block
so i use it for every programming lang i use
turn on snap to grid
This would all be on the Object layer right?
There are step by step instructions here: https://stardewvalleywiki.com/Modding:Maps#Tile_properties
on the objects layer for buildings yeah
I guess i'm not understanding how to actually create the tile for data itself
If i'm on object layer i just can't select things
What step of the instructions are you getting stuck at?
Oh, confusingly the instructions are kind of in the wrong order I see now
This is the part for making a new one
which is what the snap to grid mention is for
ohhh its down there lmao gotchu
Or you could edit the map file in xml with CSV encoding defined.
Secret third most difficult option lol
how do i change the size? it's bigger than the tiles
It's not difficult, I use it all the time.
how do u figure out the tile index 
i also edit the tmx directly sometimes but usually not for tiles
Did you set snap to grid before you made it? But now it's made you can edit the size in the properties pane.
It's set right on the map but the rectangles aren't
??
If you mean for adding new tilesheets I do the math in my head, but for object tiles they're sequential so I just add one to the current number of them on the map.
It also seems to snap in the center of tiles not on them
like in the cross between them
Take a screenshot.
this seems like a lot of adding in head but well, w/e floats ur boat
Like Aeywoo said, a screenshot will help us see what you mean. I just made a quick one on my map and it definitely went the right size and in the right place.
this section (fyi this convo is not related to the TileData talk i was just wondering)
Default size is 16x16.
I was talking about the object tiles, for actions and warps.
It's snapping between them like this and the selection is bigger. map properties has tile size as 16x16
Set the X to 304 and the Y to 96
And then use your arrow keys to move it around.
Make sure it lines up between the boxes.
Did you make sure to turn on snap to grid?
I like the grey pool table btw (very off topic but)
yeah its on. luckily i had a shop tile from when i was working on it before and just copied that
Because if you have snapping turned on you should just be able to drag from the top left of the tile you want to the bottom right and it will make an object on that tile
Thanks! I'm not much of an artist but I can work some miracles in inkscape every now and then
The tool itself looks weird because it snaps to the lines and is bigger than a single tile, but the object you create should be inside the tile and only 16x16
Ahhh just realized that yup
thank you lol
Now make sure you name it TileData because skipping that step trips many people up
Will do!
Also how do I open a default map as someone suggested earlier?
I wanna see how to do the touch warp
Have you unpacked your game files?
I have not
!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!
https://smapi.io/log/80c3c0fff0de441ab3f2951a0bf4587b
ok weird question never seen this error before, all i did was remove a portion of the day/nighttiles map property on the sve mountain.tmx to fix a glitch between elles town buildings and sve
Oops, couldn't parse that file. Make sure you share a valid SMAPI log.
ty
Do that and then you will be able to go into the Content (Unpacked) folder, find the Maps folder, and then open a vanilla map.
Full log! 
I did make a copy of the mountains.tmx in the unpacked folder then put the sve one in the unpacked, edited it, put it back and replaced the original mountains.tmx back
But here's the info about the error: https://stardewvalleywiki.com/Modding:Maps#.22Invalid_tile_GID:_.3C.23.3E.22
I saw it. Tested on another notes that has gift tastes, and it looked fine. Thank you for the speedy patch!
Abagaianye taught me welllll
WHAT. It has instructions right on the log parser page!
Whatttt definitely knew that was there........ I read... pshhhh
Can the TileData be more than one tile large?
Yes it can, though the wiki says not to. There might be a reason for that but so far I haven't heard of any negative effects from doing a larger one.
Okay it's just cuz the door is 2 tiles high
i think it used to not work
it works now
Does SMAPI have mixins?
not quite, the code patching library is harmony
Vanilla only puts a warp on the lower tile of a door so if you do the same it won't be out of place
!harmony
Harmony is a framework for patching .NET code, allowing you to take any portion of the game's logic and insert or substitute your own. This gives you more flexibility and control than SMAPI helpers and events, at the cost of being typically more complex and difficult to use safely and correctly, and more likely to break with a future update of the game and/or SMAPI.
If you are trying to do something that isn't possible or practical with SMAPI alone, then Harmony is usually the solution.
For more information, refer to the following:
- Harmony Modder Guide - Intro, Use Cases, Initial Setup
- Tutorial: Harmony Patching - Types of patches and code examples
- Decompiling Stardew Valley - For finding methods to patch
AH okay
(im assuming you are talking about mincraft modding mixins)
Yeah lol
Oh my what a neat and informative Harmony command! 
Sorry I'm kind of on that FabricMC brainrot
I almost said MC Modding brainrot but Forge doesn't have mixins π
I fixed itttttt

the design of harmony and mixin is fairly different from what i read (im not a mc modder)
harmony is method based
Harmony is probably similar to Forge
there's a lot of things that don't really need any harmony though
what kind of mod do you want to make?
bummer, testing my Strings changes and I apparently found a few spots where the [CharacterNameNPC] token won't work. Guess I'll need to figure all those out so I can manually set those instead.
Not sure yet! I wanna make good progress on this save before I make mods
But I think I'm gonna make it possible to "platonically marry"
(so far, the strings used on the world map and grandpa's letter are a no-go)
Basically just become roommates
i think u can do that already right 
spacecore?
you can always do your own take though
WHAT SIN HAVE I COMMITED
An otherworldly abomination
What kind of saplings does it drop...
not even SpaceCore, you can change dialogue and marriage type in vanilla, all without needing C#
Yeah just because a mod for something already exists that doesn't meant you shouldn't pursue your own if you want it. I just linked it in case you weren't aware of PPAF.
like just make everyone like Krobus
Krobus 
the hardest part is changing dialogue/events
I think at first all my mods will be NPC-centered
I always play with PPAF and 10 heart events for everyone
(hmm PPAF does have a SMAPI component for some extras)
Not a great texture artist or map maker so it'll be significantly easier π
npc centered mods is arguably easier to do in content for like, most of it
I started making an NPC. I am doing so much drawing and map-making lol
u can toss in C# for special behavior if u think of em, but dialogue schedule event etc r all content based
I think my eventual end goal would be making brand new minigames
Would be insanely cool to see like a guitar hero styled rhythm game, for example
anyone think I can fix this with reset terrain features? I am assuming it is an issue with adding elles town buildings mid save
lmao
just the part where u code up a mini game lol
I do not find making an NPC to be easy to make content for ...
Or maybe I did?
π
now im not sure
u won't find it anyer easier in C#
by content i mean it goes into the game content and game do things for u
it's much more fun to fantasize about making mini games than actually making mini games
I mean making a mod for anything that doesn't involve C# is definitely easier than doing something for C#
Oh yeah trust
I tried adding the Stardew Valley fishing game to MC once
So I made the TileData on the Buildings Object layer and add the property LockedDoorWarp 7 14 [MAP] 800 2000 is there something wrong with that?
But I gotta say making my mod that was focused on colored carrots was easier than making whatever horrible abomination I have created with this Qi mod
C# ez if u r already spaget
Horrific, Mojang does NOT know how to make a good GUI system
I have like 2 hours of experience with C#
and that's me learning how to do the 'hello world' type stuff
dw concerned ape was winging that too
ill never figure out how the neighbour stuff work
If it's a tree you can chop down, you could just noclip there and chop it. If it's not, it might be a map clash and I don't think?? RTF would help with that (though I've never used it)
I notice doors in vanill maps have Action in one field and then LockedDoorWarp but when i Creat a string property the action part isnt there
It is a map clash due to Polycarts which I did not expect, and I am just gonna remove
you have to name it Action
and then in the box next ot it you put the locked door warp
I could fix it but there are so many of them it may be quite a few .tmxs I would have to look through
When you create the string, you put "Action" in as the property name
too much work
Action is just one kind of valid TileData, and it can have a lot of arguments
Yeah when i created a string it didn't seem to ask for a name but copying one from a vanilla map worked
You didn't get this box?
Understandable but yeah that's where you put "Action" and then once it's created you put the rest of it in to the right
sweet gotcha, thank you
Yay! it works!
Question regarding Central Station alpha: The bus locations should be open by default, except for the desert, right?
If no condition is set when adding the stop.
Question for map makers, specifically for custom farm maps. How do you usually handle the multiplayer cabins? Do you genuinely find a way to fit in all 7, in both the close and further away setups? Do you actually put them in with the Order x tile property for each cabin and each paths tile? And what happens if I *don't * do that? Will it not work and be broken, or will it just have some other behavior? Trying to decide how much effort I have to put into this part of this map, because it's not a huge map π (And follow up question, do I have to do both the close together and the spread out forms? Can they be the same? How do I do that, if the tile has to be on paths? Becuase the map is barely big enough to hold all 7 possible cabins, let alone two iterations of them lol)
testing on an early (day 1) save, and I'm still getting the "The bus to Calico Desert is out of service" message, so I don't know if that's something I need to fix to make the bus ticket machine work for my custom stops I'm trying to test.
I'll make the custom TileData Actions if I need to, but was hoping to just use the bus and check that one real fast.
Random question: can one remove context tags from an item? Like,
if(goat==true)
{tag.name(βsteaksauceβ).remove?
Now I made a whole farm map disappear guys... I'm so talented 
(Been there lmao)
Like wtf I dont remember what I did and now the Frontier Farm is just non existent on all my saves... It said byeeee
fr XD
I love this, not a single log message to lead me in the right direction
I would put a regular warp on the Back objects layer, right?
I think the buildings layer
Anything is possible with enough Harmony, but what's the context?
I don't really recommend messing with context tags in most situations
Sweet ill give it a shot
Depends on what you're trying to do - there are several kinds of warps. The usual normal kind is in the map properties, not attached to a tile property. That's the one where, when your character touches that tile, it is warped according to the map property. Then there are the tile property warps - some on Back, some on Buildings. The usual one is on Buildings. Check out this page and scroll down to known properties or ctrl F for warp and see which use case fits your needs π https://stardewvalleywiki.com/Modding:Maps#Map_properties
Ok what did polycarts do to my GAME!
Ooohhh it goes in map properties? That would be why it wanted a from tile. I was very confused about that lol thank you!
Is that still an Action?
Yeah, np! Warps can be super confusing until you get used to how they work. Feel free to reach out directly if you need more help with it!
It is not, no.
Can you show me exactly what you're trying to achieve so I know which kind of warp you're going for? Then I can walk you through it better π
Ooo I actually got it! I was trying to make regular warp where you just walk over it but i see one in the map already I can use as an example!
Nice! Heck yeah! That's the best way to learn when you're messing with map properties, is to find an example and copy it! Then just tweak it to fit your needs with the proper data π
I'm glad you got it working! One note, please make sure you are not warping on the same tile you're going to land on from the return warp in the other area. That makes an infinite loop (and every single map maker here has likely made that mistake at least once lmao).
Standard practice is one tile away from the warp for safe landing.
I made sure not to lol. I do have one issue though, It seems like I can't add 2 warps?
Ah, it's likely a formatting error. The properties are SO stupidly specific. Can you show me how you're trying to achieve it currently via a small screenshot?
When I try to add another Warp in here it just goes to edit the current one
Are you using a linux?
Ah, I need to be able to see the text on the right side of that Warp property. Something like this view would be helpful. I just went and grabbed this off my greenhouse mod as an example for you anyway:
Ohhh it looks like you just added another one in the same filed
Though if you find your issue just from looking at that, I don't need to see it. The key is, you have one single space between the first warp and hte second, in the same field.
Yup!
I figured there would be multiple Warp entries
No commas, no anything - or it breaks.
And nope, just one entry or it won't work.
It adds them in a big obnoxious list that gets really hard to read sometimes π₯²
Yeah I don't see why you don't use the tiledata for this like the others. Keeps it consistant and you wouldn't have to specify a from
I recommend using the little "..." button to expand the field out, and working with them in a bigger space so you can see clearly. Because idk if it's still the same as it used to be, but one incorrect space (or a missing space) can absolutely break EVERYTHING.
Because there are other warp types that do use tile data - this one specifically is usually used between different maps.
The ones that go on tiles are usually for other circumstances, like trap doors, doors to buildings, things you click on, etc.
!mh help for using mods goes here 
For help with modding issues, please ask in #1272025932932055121! When asking for assistance there, sharing an error log will help others identify your issue (see https://smapi.io/log for instructions).
And honestly, since this is most commonly used as a warp between separate map files entirely, it does make more sense to have it in the general map properties area rather than attached to a specific tile. It's safer that way, so you don't accidentally break your warps. And I'm sure there are technical reasons for it that are beyond me, too.
True that makes sense. Also the ... thing is super helpful ty!
Also, note that you can do these kinds of map property warps through your content.json file, too! Then you don't have to fiddle with the fields in Tiled. You'd do a EditMap and target the map properties!
Yw! I often actually will list all my warps on separate lines (hit enter) so I can clearly read them and check for their accuracy, and then when I'm sure they're right I'll backspace and very VERY carefully make sure I add that space back in and fix all the formatting π It's a little risky, but if you have more than three or four warps, that list gets so long that my eyes and brain honestly can't parse it if I don't do it that way. Or even, setting it up in a separate text editor window like sublime or notepad, and then copypasting it where it goes once it's all set up works well, too!
Yeah I have a feeling I'm gonna have the same issue if I end up needing a lot of warps
If my NPC is named {{ModId}}_NPC, then I have to reference that in events right?
Luckily my mod isn't very location based so should be ok
Yup π Highly recommend you use a separate window with a text doc then to set everything up in a way your eyes can read. It genuinely saved my life when I started doing more complex stuff with warps. Now I can pretty much just edit them in Tiled, if I use the ... to expand the field. But sometimes I still pull out a text file just for convenience.
And advice that comes from struggles: if you've got a broken warp, it's almost ALWAYS incorrect syntax - a missing space, or an extra one. Or just two numbers that are accidentally squished in together, so SMAPI reads them as one and tells you you don't have enough arguments in your setup and jsut straight up wont' load anything, rip π₯²
Correct
Wasn't there an event editor or designer tool someone made?
Maybe Miss Coriel?
(multiple entries in the Warp map property is allowed, nothing will break as long as you follow the wiki's formatting.)
Genuinely so confused I could die. So IF2R works fine but if I select Frontier its the default farm map? Anyone have a clue what I did, I reinstalled SVE Frontier Farm all for testing
I just write my events multi-line and find them easy enough to do
it's just easier (and more readable) to add multiple warps via content patcher AddWarp.
In tiled itself? I think they were talking about having two actual map properties separately, not in one field. I know you can do it in .json but didn't think you could do it in Tiled, where they're working rn.
is there possibly a debug command for this sort of thing
Yes, that's the one.
I don't think it's up to date for 1.6 though
Unless she updated it while I was away
oh, forestman said 'multiple warp entries' so i took it as 'multiple entries in the Warp map property' (unless i interpreted it wrong. I'm ESL and technical language is difficult)
Warp should be a field,, if i interpeted these terms correctly (and whatever gets put in there are entries)
Oh, no. They were talking about doing it like,
Warp | x y place z a
Warp | b c place d f
Which I don't think will work but I could be wrong, rather than the correct way of:
Warp | x y place z a b c place d f
oh yeah, the first example wouldnt work!
Yup that's what I thought. I'm always happy to discuss and double check though, I certainly don't know everything! 
Oh yeah, thanks.
Frontier is a separate farm, not a vanilla replacement
Yes but selecting the standard farm would be choosing the frontier farm map right?
You should go make one! Just for yourself and for fun, if you don't want the pressure of going all out for a releasable one! I'm doing one rn and having a really good time with it tbh :3 I think it's important for modders to make time for personal fun projects, not just making it into work.
No, it's its own farm type. There will be a new icon for AdditionalFarms in the farm selector menu
No. As I said, it's a separate farm type, not a standard replacement
if 'selecting standard farm = choosing frontier farm', that means 'frontier farm is a replacement farm' (which it isn't)
Oh, i'm just busy with projects right now. i do plan on going back to farm maps after they're done though! I'm incapable of making something i won't later use and release 
you may be confusing it with IF2 or Grandpa's, which replaces the Standard farm
possibly, but its always been in the standard farm slot when making a new save right? cause thats what I chose before and it worked fine, now I cant get it to work, I reinstalled frontier farm, but no luck maybe I should try FTM?
I don't think so?
It can't be as FTM is working fine, so I guess I'll have to report it as a bug to FlashShifter
(Here's a first draft of how mods could add their own NPCs/clutter to the Central Station map. Not sure if I'll go with this design yet though.)
(I'm not sure I understand what the problem is, but yeah, FTM doesn't affect which farm loads, ever)
(code-wise, I mean; I guess somebody could put HasMod on the load
)
So randomly Frontier Farm has decided to stop working, no errors or anything, no changes to it or any mods that would affect it
just stopped
If I switch to IF2R or any other farm map it works fine but FF doesn't
My [CharacterNameNPC] tokens appear to be broken everywhere now. sigh
Well, time to undo 3 hours of work and change them all back to the static NPC names
What did Data/AntiSocialNPCs do again?
make antisocial NPCs probably
that's a field on regular NPC data now
Like the others said, if installing IF2R or Grandpa's Farm replaces your farm, you're on standard. Frontier Farm never replaced the standard farm in any version, as far as I know; the AdditionalFarms system predates it. If you were using Frontier Farm on that save, and now it's showing you a standard farm layout, either your save was edited/corrupted or some other mod changed your farm type. 
Which is all to say I don't think Flash can do anything about that, SVE shouldn't be capable of affecting it.
Ok, I'll try some more stuff out, but I also removed all other mods including my patch for polycarts and frontier and it's still not showing as an option in the new farm menu, so I am wondering if I managed to possibly break something else, idek, im so good at breaking things
something's probably up with the frontier pack if it's not showing a new farm type selection, yeah
directly, or missing requirements, etc
Alright I'll see if I can use debug commands to find some info and if not I'll just leave it tell a new update for FF comes out
to be clear, the mod does work as uploaded, so I mean your local copy might have issues or not be loading for some reason
(for reference on my end)
(meanwhile I broke something very different
)
Omg so i did break something
LOL
Now I feel bad
Im so sorry XD
But how did I manage to break something with a content pack that would prevent it form being loaded is now my new question
no worries, it gets confusing with how many farms are still standard swaps
I guess make sure the log says it's loading properly, re-download and compare the content.json files, etc
I'll double check but as far as I know when I removed all mods and added only FTM and CP it was still broken even if I used clean installs
maybe Ill try reinstalling CP and then smapi if it comes to it, but I don't see how that would impact much
it requires SVE to be installed too, so remember to keep that part in
Oh I didn't see it as a dependency X| let me try that rq to be safe
Did I just see Hiria's creator peeping in 
Lol
Still none existent, but log shows it is being loaded properly
To be safe I am gonna remove everything make a backup of my mods list and start from scratch
Thats gonna be quicker tbh

this is getting into #1272025932932055121 territory 
Yea, but I think I'll cut it here, I'm not gonna bug FlashShifter over this since Esca proved it worked on their end
It's def something with my setup
Are you testing with a completely new copy of FF?
Yea and FTM and SVE and CP
I mean it is possible I accidentally deleted an important selected file in my typing but I feel if I did it would have crashed the game
You could open up the mod and see if it's got the AdditionalFarms code block.
I am merely languidly offering ideas because I am unable to pull myself together to do anything lol
(ignore my typing, I was reminded of that test stuff earlier
)
LOL I kept thinking I was gonna interrupt you XD
it is present, so I am going to spare everyone and do what needs to be done
and I may have accidentally mixed up a file or two in my unpacked so this is probably for the best for future modding
but that was a different "incident" all together XD
I am curious you said you can "change to" IF2R, but like Esca said that is a standard farm replacer. Unless by changing to it you mean moving it in and out of your mods folder (or adding a period in front of the folder, etc)
I'm trying to run this python script https://github.com/scriptsforweirdos/StardewJA2ConPat to convert my old JA stuff to CP but I'm getting the error FileNotFoundError: [WinError 3] The system cannot find the path specified: 'C:/Games/Modding/Modding Projects/Tools/1.6 Files/assets/textures/' I'm assuming I need to put something there but nothing about that seems to be specified in the docs.
I was removing it from the mods folder and then adding frontier into the folder and vice versa as at the time I thought one might override the other. I only installed IF2R to figure out if the problem was with Frontier or if all custom farm maps werent working
Ah yeah okay that makes sense then
Just rookie tings 
I'm going to guess it's the images for your items? But that really is just a guess.
I had that thought but you'd think it'd just grab it from the mod directory it's already pointed to lol so I doubted myself
So I poked this for ~a while~ earlier, and I think it's a bug with hiding/shadowing that isn't detected properly by the IDE, for what it's worth. 
MenuWithInventory declaring a void draw(SpriteBatch b /*optional args*/) "above" the original class's virtual void draw(SpriteBatch b) is hiding it from derived classes. You can still override/Action/reflect/etc because those use params explicitly, but it can't be called with base after that. VS should warn about that if it's intentional hiding logic, but it doesn't seem to.
I couldn't find a workaround offhand, but even changing the arg names would've been enough to avoid it.
virtual/static/neither on the hiding method all work this way, though static at least causes a compiler error
(ps i missed "override" in C1, but it doesn't affect anything)
interest, but since i am just compile in dotnet build it'd be some kind of roslyn bug right
yeah, I imagine it's just kind of a quirk of the priorities they use to resolve overloads
surprise mechanics
if you write the dll byte by byte yourself itll probably work the way you want
actually chu hear me out. transpile yourself
that would work, it's just an issue with the language and not the method itself 
I'm not sure if "use harmony to call one method properly" is faster than Action, but...maybe
its definitely not
and yeah, Harmony can't mess with methods like that, I think Cecil can but I never looked into it
but i need to make crime jokes like these to distract myself from my head spinning trying to reflect my way through CP once again
did u buy some more mirrors
SMAPI uses Cecil, it just doesn't let us use Cecil.
not enough
you don't need any Harmony patches for that anyway, you could use a DynamicMethod instead
I'm almost positive I was using a workaround that didn't involve any weirdness around dynamics or reflection. Wasn't able to actually find the instance, though.
Maybe naming the parameters? Although I think Esca said the args had the same names in both overloads...
its a base game method so i cant rly do anything about them
the delegate thing is fine/10 prob
Yeah, did the delegate thing not work?
It should work. It's even suggested as a workaround here: https://stackoverflow.com/a/55815115/38360
the actual use case was here: <#making-mods-general message>
Well, it looks silly because the base class is poorly written.
MenuWithInventory inherits from something with virtual draw(SpriteBatch b), declares its own virtual draw(SpriteBatch b, optional = etc) method, and that seems to hide references to it when derived again
using anything other than b would let you target it with named args, but yeah
Overloads with optional params are somewhat OK (though still often confusing) when their signatures don't overlap. When they do, it's just... well, bad.
does anyone know where the docs are for adding custom music to a map with content patcher? I'm having trouble coming up with anything
They cause issues in other places too, like with generic type inference.
do you have your own track that u want to use in ogg format?
I do yes
^ and Modding:Audio for the music itself
{
"Action": "EditData",
"Target": "Data/Locations",
"Fields": {
"[LOCATION]": {
"MusicDefault": "[{{ModId}}_Music]"
}
}
}
``` is this the correct format?
oof formatting
Are you creating this location or editing an existing one?
Well I added it in "CustomLocations" in the same content.json
It's a new location with my mod
Good news! SInce you're already editing Data/Locations for the music, you can just avoid using the old CustomLocations thing entirely
You might be required to use the new Data/Locations format for custom music.
We need to find every guide that mentions custom locations and update them
Example of making your location using the new way.
CustomLocations turns your stuff into a Data/Locations entry and iirc they go first... so i think its fine. i wouldnt really recommend it tho
i still think the CP docs themselves could be more in your face abt it being deprecated
So. I released a mod with // TODO: Forage and fish spawns in it. My only map is an indoor one.
our major battle would be the videos, honestly
Awesome, thank you guys!
i mean with videos i think CustomLocations is the least of a new modders worries since it still works 
Wait so with that new way, do I need to add the map some other way first?
Oh yeah I was going to go through the modding wiki and note everything that was outdated. But then I was sad and tired so I didn't.
Yes you do, like this
//////////////////////////////////////
// CUSTOM MAP LOADS
//////////////////////////////////////
// Load Apollo House Map
{
"LogName": "Load Apollo House map",
"Action": "Load",
"Target": "Maps/{{ModID}}_ApolloHouse",
"FromFile": "assets/maps/Aba_ApolloHouse.tmx"
},
The pretty header is not necessary
I just like them
Okay sweet thank you guys, everyone is so helpful!
What's with the "CreatOnLoad" stuff about? I'm not sure if there's anything I'm missing cuz I'm not sure what map path is?
MapPath is the asset name you loaded the map file into in your Load code block. So Maps/{{ModID}}_ApolloHouse from my example. I'm not sure what happens if you don't have CreateOnLoad, since if you don't have a map I'm not sure what you're going to do with a location anyway.
Gotcha thx!
CreateOnLoad is exactly what it sounds like: it creates the location (and it's associated map) when you load the save file.
(this also means if you update the physical file you are loading for your map source afterwards, you will not be able to see the changes until you reload the save, even if you tried to run patch reload)
By update the physical file, you mean loading a different .tmx file?
I mean changing the tmx file in Tiled and resaving it
It did not for my CreateOnLoad location, I had to exit to title and reopen the save
Strange.
If you use EditMap patches though, those get around it.
Is yours an AlwaysActive: true location?
Trust me, I ran into that issue with my apartment mod repeatedly while it was in development, LOL
I have four new locations between my two mods and all of them show my map changes immediately when I patch reload.
I don't think mine were AlwaysActive but I do not quite recall
All I know is that it wouldn't update on patch reload without reopening the save when I was attempting to fix the tiledata
But it's possible something changed since then, I am not sure how much more recent your maps are
That sucks. I've changed TileData without reloading saves as well.
Well, I was doing it last night at the most recent but I've been doing it since mid last year.
shrugs well, if it's only a me issue, then just consider my warning unnecessary, I guess!
I may just be cursed, considering my tokens also worked last night and just stopped working today during testing
(if one or both of you is ever able to figure out a consistent cause tho pathos may be interested, if its not some other thing coming into play)
but who knows where the issue actually lies. might be in CP, might be in SMAPI, might be a weird game oddity with certain specifics
one of those much less fixable than the others 
Yeah, I was developing in 2.4.0 CP, so could very well have been something that popped up in a specific build. I haven't done anything with the locations since.
When setting the Home for an NPC, what does ID refer to here? It says Unique string id but the page for that references locations names but I thought thats what Location key is for.
"Home": [
{
"Id": "Default",
"Location": "BusStop",
"Tile": {
"X": 4,
"Y": 5
}
}
]
It's just an identifier so the game can label them uniquely, I think
I think Kisaa was also having problems with patch reloads for maps recently, actually. Interesting.
Should I leave it as default or should I use the location name?
Default is usually good for the normal home
In other cases, I personally think the condition is more helpful than the location name for an ID
For example, if you had a summer or winter home that was different, you could make the ID for those "summer" and "winter" to make it easier to know why the home changed
Ahhh that makes sense
Both of my mods are still in 2.3.0
I had a person report this bug to me about my farm map. they gave me their log and everything, but I can't see what's wrong. Unless me changing the name of the farm map messed with existing saves.
User's log
Content.json from most recent version
Content.json from before map name change
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on macOS Unix 15.3.0, with 11 C# mods and 3 content packs.
Yeah you changed the ID for your AdditionalFarms entry so the one the game was looking for doesn't exist anymore
Did you use FormerLocationName in your update?
yeah that will definitely break existing saves
They should be able to use Easy Farm Switcher to swap, I think
i dont think formerlocationname helps in this instance since its not a location thats changed but a farm type
its not location data
Yeah, I wasn't sure if the location data could be preserved that way with a farm or not
Gotcha
easy farm switcher from inside the farmhouse may be the only way to fix it besides undoing that change, which would then break it for saves made after the update
generally you never ever want to change IDs of things if you do not have to after release
i did say its for location data
but I asked about the farm name
and beneath that, you posted code for location data
You weren't asking Button about farm type
Very random question, y'all. If I wanted a fully grown apple tree to spawn in when this custom farm map is loaded, and to behave like a normal apple tree (ie bears fruit in the fall only) what would I use for the two stages? I'm not super familiar with growth stages, especially with the trees. And I don't want to accidentally force spawn something and end up with apples in spring somehow lmao, if that's a possible bug I'd find a way π
And a name implies display name
you asked me if you need FormerLocationName for a map. i said that FormerLocationName doesnt exist for maps. its for location data. you asked me if you'd need it if you changed a warp room name. i said yes
Optionally, you can override additional farm location behavior by editing Data/Locations. Each farm type can have its own entry, with a key in the form Farm_<farm type ID>. If omitted, it defaults to the location data for the standard farm layout.```
To be fair I thought what I had asked was clear...I was asking if the map name internally changed if I would then have to use the former locations...I thought I was clear enought...
sorry
what i said at the time is that you cannot do that.
because a map does not HAVE a place to even set a formerlocationname
its a map
which is a different question to asking whether you can change the ID of a farm type
a Farm Type is not a Map and is not a Location
i apologize for not making sure we were on the same page at the time, however i did correctly answer what was asked
Looking back at it yes you did answer what was asked XD
a Map is the like .tmx itself. thats a Map
a Location is basically a collection of information about a place, including which Map to use
I don't think you need the stage on regrow since you want it to behave normally. For the stage on spawn, I assume the link to fruit trees there in the description would give you the info about stages.
That's then though. and this is now...How do I go about helping this player get their layout back?
i would try the easy farm switcher thing
Growth stages are a pain to figure out, so I would honestly copy the data from an existing fall fruit tree
Stage 5 is what I would guess from the wiki
ive never used the mod nor have i needed it in this scenario either, so if you'd like you may want to try making a save with your old version, saving the gane, and then updating to your new version to recreate the error
and then see if Easy Farm Switcher can solve it
(Ty. Yeah it's stage 5, got it from the link while I was waiting. But was mostly still curious about if I could leave out the regrow part, which I think I agree I can do. Thanks! π )
alternatively, you can put up the old version as an Optional File on Nexus and put in the description that the newer version requires a new save
Just in case you don't already know, if an argument on the wiki is inside square brackets, it means it's optional :) The required ones are inside <> whatever those things are called.
(angle brackets!)
<> angle brackets
[] brackets (or square brackets)
() parenthesis
{} braces (or curly brackets)
I'd even forgotten less than and greater than sign. All I could think was sideways chevrons.
Do I have to tell an NPC how to get to my interior? I'm trying to get my npc to walk to my interior but he's just standing at his home location. He needs to walk like 2 maps over and use a LockedDoorWarp. Is there something I'm missing?
feeling dumb rn
these things happen
whats important to remember is that modding is not important
so as long as you provide the old files just in case for users affected to use, its really not a big deal
so i wouldnt sweat it too much
You should be able to just give him an end point, BUT if you are changing the schedule mid-save you need to either a)sleep a day or b) use a new save
Pathfinding is determined before the day start
Otherwise, try moving your destination point or checking for invisible tiles or similar blockers on the Building layer at the destination tile or the warps
Ahh that was it. Thank you!
Is the fruit bat cave forgables hardcoded or can they be edited?
Well, being hardcoded doesn't stop them from being edited. But whether without C# I am not sure.
I know there are mods that do it but not how they achieve it.
Hi, I have a question about the bus tickets. Does anyone know what codifies the animation after your buy the bus ticket and until you get into the bus? I'm trying to update a mod that recolors the bus that broke with 1.6, and it mostly works now, except for the short animation after the bus ticket is bought. The sprite seems to get stuck in place while running. Once the farmer gets into the bus it goes back to normal.
I dont dare touch C#.
this is all in C#
mod idea thinking time....
check Desert.draw() for the getting into bus animation
(tho its kinda spread across a couple functions in there)
Would I be abled to make a new event/weather in CP?
Ok, I'll check that. Thanks.
Cloudy Skies is a weather framework
(I want to make a superhot weather/event, like the opposite of green rain)
ty!
ughhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh i really really dont want to animate a weather condition for the tv
ill do it later
how would I go about loading the sprites for a temp actor npc?
addTemporaryActor <NPCNAME> <WIDTH> <HEIGHT> <XPOSONMAP> <YPOSONMAP> <FACINGDIRECTION>
you load it as you would for a npc
unrelated: what the hell happened to console commands page on the wiki
yeah you load it to Characters/<NpcName>
use a unique name
it gave me JIRA ptsd
what is the issue?
Looks normal to me

this don't look right

like a whole npc block or?
sorry for pinging you i forgot about the thing with you being active in conversation ope
no just the character sprite
just the portrait and sprites
well, portrait i use if they have dialogue
it's not mandatory
no portrait only sprite (i did not feel like doing allat)
so just loading an asset for characters/npcname
Are there conversion guides for MFM to CP? The converter command doesn't list one.
I don't know about conversion guides specifically, but the mail section on the wiki should tell you how to make mail with CP?
Not that I'm aware of. Mail in CP is very straightforward so it should be pretty easy to convert.
It gives me the data, but not how to format it.
Here's an example if that's helpful
{
"LogName": "Add Hiria's Mail",
"Action": "EditData",
"Target": "Data/mail",
"Entries": {
"{{ModID}}_SpringTramp_Mail": "Kia ora, @.^^Just dropping you a note to say I'm off tramping for the next few days to go check on the huts and tracks in the area. Should be back Sunday. I'll bring you back a rock!^^- Hiria[#]Hiria's Spring Tramp"
}
}
hm.. for the sprites do they have to be laid out specifically like how other sprites are? i.e if i just have a forward and back facing sprite would i need to put them in the associated locations/indexes
which part do you have trouble with?
(im guessing i have to since it uh... worked.. but not quite)
Just pretend my actual text is in i18n because it will be one day
it's better yes
I shall do such then thank you
as the game use them automatically in some case
Yeah, but I gotta do Trigger actions too right?
The walk sprites, wedding/flower dance have to be in specific spots afaik
usually yes
that seems to be the case here -I suppose I probably shouldnt use SVE as a reference when it comes to ... some things
idk how they work their magic
there are other ways to send mails but trigger action is the best for classic mail
SVE is a large mod so can be overwhelming
...
i don't think sve is a good reference because of how large it is
yeeeeeeeahh.. but it was the only one i could recall off of the top of my head having used temp actors in cutscenes
!vmv has some temp actors, but is still a large mod
Visit Mount Vapius (https://www.nexusmods.com/stardewvalley/mods/9600) is an expansion mod that adds a new region in the mountains. Accessible by train, you'll enter the hamlet of Glimsap, with its tight-knit group of villagers, that holds a market twice a week. You'll get to explore new places, fight monsters, get new crops and forage, trade local coins for exclusive goods, and complete tasks to unlock special items, including machines, buildings, and animals.
I mean, MFM doesn't have a direct conversion to what SDV uses, I don't see anywhere to define custom letter backgrounds or most of what else MFM gives you.
Which, by the way, I love the mod so far
its very beautiful
I have an example of making a custom letter bg if you need it
Not in every case, but yes. I have an example for that too.
{
"LogName": "Add Trigger Actions",
"Action": "EditData",
"Target": "Data/TriggerActions",
"Entries": {
"{{ModID}}_SpringTramp": {
"Id": "{{ModID}}_SpringTramp",
"Trigger": "DayStarted",
"Condition": "SEASON_DAY spring 18",
"Actions": [
"AddMail All {{ModID}}_SpringTramp_Mail now"
]
}
}
},
or using one
yeah CP can do letter background since quite a time
sigh so many things I'm still not caught up on
and for other MFM stuff, i believe there's a lot CP can do too
I hacked up my trigger actions page to provide that example but I think the braces are okay
But it doesn't tell you how to do that in CP, it just says you can.
?
"angelofstars.qiweapons_mail": "[letterbg Mods\\AngelOfStars.Mrqifriendable\\QiLetterBG 0] [textcolor white] {{i18n:Aos.qiweapons.text|QiNameTitle= {{QiNameTitle}}}} [#]{{i18n:Aos.qiweapons.name}}",
that's an example of one of my mail entries :]
And Lily has shared her example of what that looks like
Is that letter text as in the i18n data you input or custom fields.
it's like all in the wiki, it gives you the bit, then you need to assemble those
re: iro saying i was having problems patch reloading map changes as well: don't look at me, it's because central station's location is loaded this way:
"Action": "EditData",
"Target": "Data/Locations",
"Entries": {
"{{MainModId}}_CentralStation": {
"CreateOnLoad": {
"MapPath": "{{InternalAssetKey: assets/centralStation.tmx}}"
}
}
}
},```
you may be experiencing a different problem. i have no problems patch reloading my usual maps!
but once you know what to look for you can look at mods/game to see example
It's neither. It's the value after the key for your data/mail entry. You put your i18n token into the letter text after the background command like you can see in Lily's example.
pathos added a lot of the wiki info but can't be expected to make a full example each time. If you have trouble with something and feel it would be useful i suggest returning to the page once you got how it's done and then post an example
it's what i did on some of the stuff with target field when i needed more info and felt players may too, i edited wiki to add more details
The mail page could definitely do with an update to make it more clear how you actually send the mail. I'll add it to my to-do-one-day-unless-ichor-does-it-first list.
Thanks for the help, these guides screw with my heads sometimes depending on what the instructions are saying.
i get that, i struggled with making my letter bg a thing too even though it was telling me what to do lol
Did I figure it out? yeah but it took a while
Is there a conversion graph for friendship levels to points?
I always just dissect other people's mods
So 750 for Level 3.
yep :D
I forget you can use odd numbers...
I was doing that with Ridgeside and the game files, but yeah things weren't making too much sense for me.
Rsv is also pretty big
I usually dissect smaller mods lol
Easy to get lost in it
oh my god its 4 AM... I didnt even realize I was so focused on coding these events 
I should probably sleep soon... probably
In the game it uses a friendship level 2505 check for a penny event condition check at least once.
You better sleep then.
As for friendship, the wiki page on friendship is actually very helpful for a mod-maker. https://stardewvalleywiki.com/Friendship
if it helps, VMV usually have example of a lot of 1.6 features and some of the 1.5.6 too (like the mail background) and is smaller in size than other expansions
lot of people told me it was helpful in figuring stuff out
thank you to you guys for helping me get these dudes in the game yippie
quite the opposite lol
lilyyyy i am so excited for your mod!!
he doesnt need body guards
Oh my
I like to think they're his children
Its SO close to being released for beta testing .. so close
your progress pics are very
every time i come across them
i like stacking vanilla NPC expansions i would for sure yoink this
i just have to test 7 more events and then recode 9 for SVE
... π do you ever know the feeling when you're not sure whether to ask a question or not because you probably already know the answer yourself ...
It's more of a "Mr.Qi Expansion" mod than just making him into an NPC considering everything but y'know
honestly its best to ask it anyways I think
maybe you'll answer it yourself but at least you're getting an answer
if you dont then you might just sit with out one for a while and thats no good
Yeah, it probably is... But I'm good at overthinking
I get that for sure
MFM apparently had a date parameter, did that ever do anything?
Do you mean did it work?
I would've hoped so
Also I can't believe Digus put the entire instructions for that mod in the mod page. I bet that took one million years to get the formatting right with Nexus's determination to destroy formatting.
(sorry, wall from me incoming)
I don't think CP has a comparable thing other than specifying it in conditions.
π i feel a bit awkward about interrupting the convo with this question but i hoped to at least run it by people here before going to bouncer or something...
I don't know if this is "adult content" or not, because the rules don't say much about this specifically, but how much would i be able to get away with in regards to:
- not visually depicted at all, but lots of discussion of animals dying (...well i don't know if it's lots, but at least one significant conversation about it in-game)
And would it still be allowed on this server? Or should I just forget about it and not bother with it at all 
That...is comparable though?
I meant like, a date parameter other than conditions.
I don't know really - I don't think that's against server rules necessarily as long as it's not like... graphic - you Could spoiler it though for a trigger warning for anyone who's uncomfortable with that
The only information I can find about date for MFM is a condition for when to send the mail so I don't know what you're referring to.
In my plan, there would already be a warning on the mod page itself, and if people don't read it, then 
I don't even know where the rule about not being allowed to mention NSFW mods even is. I can't see it in the rules list.
I'm assuming I can add my own mail bg by adding a new entry to Data/letterBG?
Interesting, it's an image file.
I guess it would just fall under "no nsfw" even only by mention...? Im not sure
Oh it's in the mod-showcase channel pinned post. Which I have never read before because I didn't know it existed lol
Oh. I have the showcase channel muted π
nope you just need the image and then to load the image via your content json
and then pull the asset location when referencing the bg
Oh, so just load it? But don't I need a target?
That's what I was thinking.
"LogName": "AngelOfStars MrQi Friendship Assets", "Action": "Load", "Target": "Mods/AngelOfStars.Mrqifriendable/QiObjects, Mods/AngelOfStars.Mrqifriendable/QiCrops, Mods/AngelOfStars.Mrqifriendable/QiLetterBG, Mods/AngelOfStars.Mrqifriendable/vanillafurniture, Mods/AngelOfStars.Mrqifriendable/QiTiles, Mods/AngelOfStars.Mrqifriendable/QiNutRoomFixedTiles, Mods/AngelOfStars.Mrqifriendable/MrQiTextureFix, Mods/AngelOfStars.Mrqifriendable/QiWeapons, Mods/AngelOfStars.Mrqifriendable/QiFurniture, Mods/AngelOfStars.Mrqifriendable/QiCrow, Mods/AngelOfStars.Mrqifriendable/Blueberry_cat, Mods/AngelOfStars.Mrqifriendable/Blueberry_dog, Mods/AngelOfStars.Mrqifriendable/Iridium_cat, Mods/AngelOfStars.Mrqifriendable/Iridium_dog, Mods/AngelOfStars.Mrqifriendable/QiPetIcons", "FromFile":"assets/{{TargetWithoutPath}}.png" },
i load mine like this
its a whole lot of other things but
The Target is just anything you want to name it as.
Does {{ModId}} work in Target?
you dont have to edit a data entry though
It's fine, thanks for the help.
Yes it does
Probably honesty - i dont remember why I typed it out fully
There is no data/letterbg anyway
I assume the vanilla mail backgrounds are determined in the C# because they are not present in data/mail
What's the [#] for?
separate the body of the letter and the title
Oh, you can define a title?
yes
yeah its what shows up in the mail section
like when you look at all the mail you've had delivered :D
Whats QiNameTitle for? Is that just a parameter that changes in your mod?
yes
Yeah Lily has a config option to change Qi's title, iirc?
Title...is that the right word? Mr/Ms/Mx etc
Honorific, that was the word I was thinking of
I guess Tarniyar never defined titles for the Garden Village mail, so I guess I get to choose something for them now.
Yeah! :D I have a whole thing set up so that people can choose what they want Qi to be referred to as
Is Keanu Reeves an option?
The Mx.Qi mod seemed to be popular so I figured I would just add my own stuff to it - unfortunately because of HOW i did it I kinda had to make my own patches to everything vanilla related (thus not compatible with said Mx.Qi mod) but I knew people would like it so
PFF
Or Johnny Depp?
theoretically you could go into my mod files and change it to whatever
you can also change what he refers to YOU as so
That's a challenge I accept.
its actually really easy
"Mr Anderson"
You will behold the cursed monster I will create.
youd literally just change one of these
Time to mod in Arnold Schwarzenegger now.
wait no I dont think its that one
i think that one is just the translated display
Then he could be "Keanu Reeves Qi"
this
Qianu Reeves.
Qianu Reeves...
I could make a mod that literally specifically only changes his name to that
it would be so easy oh my god i have to
Dew it.
I made the mistake of reorganising my modding setup. But I did not finish, preferring instead to go have a breakdown. Now I would like to return to actually working on a mod, but the more work I do without fixing my setup and therefore backing up my work to Github, the more I am inviting Satan to personally smite my computer with lightning bolts of death and hard drive frying.
But I do not want to try to figure out how to finish reorganising.
I have a folder where I do all my modding.
It has a lot of old versions of my mod in case I delete something and other mods I add compatibility with.
And of course many shortcuts and a. SMAPI launch shortcut.
My issue is that I cannot make a decision about mono repo vs single repo. So I have two mono repos and one single. Worst of both worlds.
Okay Aba you can do this
For whatever reason Tarniyar included the entire Movies.json in Garden Village, unsure why.
And the entire MovieReactions.json?
I guess they planned to develop the NPCs more but didn't get that far.
I mean at their current stage you can't date Hekate or Hephaestus.
So I assume you can't take them to the movie/cinema?
Lmao.
Why wouldnt you be able to take them to the movies?
10/10
Idk, I assumed it was couples only.
definitely would install
I never visited it when I played vanilla.
Then I guess I gotta make Movies data for them anyways.
10/10 review.
Oh dear, first bug report.
You'll have to check the bug report.
thats not a bug that's an ENDORSMENT
(thank you) 
my 10 minute mod
I could change his dialogue to say that though
i'mma need i18n random keys as a toggle so i can get qi in a qi pao
I will not be scope creeped for a joke mod I will NOT

i will offer the qi pao just say the word 
after i finalize another event i will add the dialogue line...
i dont know what you're asking me for Javi and I am going to avoid it at all costs like it's a plague
A qipao is a Chinese style of dress π
yeah if qi gets randomized name into qi pao, he'd have a qi pao outfit 
okay but do I change ALL of his dialogue lines to just say you're breathtaking or do I change only one...
Oh so you want me to have the option to toggle his name between Qianu Reeves and Qi Pao? to clarify
that's also not hard
You're breathtaking
I almost crashed my computer after almost running out of memory from a SMAPI crash.
Turns out, when you add something before the name your NPC like {{ModId}}_, don't forget to update anything or else.
also what if I told you I allowed you to rename him to anything you want
Well right now it's trying to load something that is being loaded, not sure why it's printing an error, but I guess I'll find out.
i dont know how to set configs to only be allowed to be edited at the homescreen with GMCM though...
cause you have to re-load into the game to get his name to change
Reality can be whatever I want...
IIRC that's a C#-only thing for GMCM
To be able to require editing while not in save, I mean
I'll just add a warning at the end of the description lmao
that honestly sounds like something SMAPI/CP should handle
unless you're editing some custom modded assets and not vanilla ones
i'd report to Pathos
I love cannot access file errors.
report what exactly? sorry
the name not updating until save reload
Oh I just figured it's how the NPC is loaded in during the day / how name data is cached
or NPC data is cached in general
yes but SMAPI propagates asset changes
"Could not find file \Content\Portraits\HekateSS.xnb", I never defined my sprites as a portrait, and why can't it find my portrait?
!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.
You don't need to do the command.
do you have Hekate's portraits being loaded?
Yyuppppp
Sorry, I didn't know if you were familiar with the log parser.
I suppose I also don't know if you were actually asking for help or just venting.
Both at this point.
You appear to be calling for Hekate's portrait before you actually Load it
mmm that might not be the issue either ngl
I had the same thing happen to me when I was doing my npc
for some unholy reason I had to name my portraits with my mod id in it
that was literally the ONLY thing that fixed it
You make the TextureName of your character HekateSS but you don't Load any Portraits/HekateSS.
Yeah, that had no effect for me.
I'd recommend adding your mod id to your Targets by the way
Lily do you not have file extensions turned on?
also Dolphin seems to have found an error :]
Oh yeah good catch, Dolphin
hopefully that's it- wdym?
(it's the texture in his Data/Character)
I can't see the .png extension for that image in your screenshot
uhh... i dont know how to enable that
I expected Texture to mean sprites, thanks
It's both. You'd need corresponding Portraits/ and Characters/ defined by your TextureName.
You don't need to specify the TextureName field unless you want to change it from the default. You can though if you like having all the fields present even if you're sticking with their default value.
I dont know why that would make a difference? As in - When he was just named "TheMrQi" the portrait was just named "QiPortrait" and I didnt change anything other than his NPC name having the {{ModId}}_ in front of it
texture will default to the internal npc's name if it's set to null
!fileextensions
Windows and Mac hide most file extensions by default. If you are creating or updating mods, it's helpful to show file extensions so that you can be sure all mod files are named correctly.
To show file extensions on your computer:
On Windows 10, open File Explorer, click on the View tab, then check the File Name Extensions box.
On Windows 11, open File Explorer and click on View > Show > File Name Extensions.
On Mac, open Finder, and in the menu bar, click on Finder > Settings (or Preferences) > Advanced, then check the Show all filename extensions box.
but why did it work before... thats...
im not gonna ask questions honestly
i have a tiny little brain
You don't have to enable them. It just gives me pain to see a mod-maker with hidden file extensions lol
Don't worry Lily I also don't know why that matters. I don't set Hiria's TextureName and Hiria's file names are not the same but I don't run into the same error.
As long as you have at least one portrait and sprite file with the same Target as your NPC internal name, TextureName shouldn't complain when it's default.
I've worked in IT for years, never understood why they would hide file extensions by default for users. Counterintuitive at times.
To encourage helplessness in users so they can be more easily exploited /cynical
Hum hum hum why is my Event Repeater broken
5 more events to test, 9 more to recode for SVE compatibility..
im so so so close to done
I hate NPC creation.
I should sleep because I have D&D tonight but I want ... to be ... DONE
More importantly, why is my TDIT broken
Also I too hate NPC creation and yet... and yet
wdym it's fun
Oh I know why TDIT is broken. (In case Dolphin sees this and worries: it's entirely because I hadn't redone my symlink after updating, nothing wrong with the mod at all)

I love NPC creation
<- has had writer's block for more than a month and ended up scrapping the original idea
though ig my idea of fun is breaking something or bending it until it breaks or i get tired of trying to break said thing
"NPC {{ModId}}_Hekate can't load portraits from 'Portraits/{{ModId}}_Hekate': Could not find file."
I hate it.
I updated this json link with my current config
If it's TextureName again I'm killing something.
You have loaded "Target": "Portraits/Hekate" but TextureName is looking for "Target": "Portraits/{{ModId}}_Hekate"
Actually, that link is still showing your TextureName as "HekateSS"
That's stupid, I just updated it.
Can you do a new validation and link that?
Okay, that's better
Yeah I don't see an issue immediately
Can you share your log?
Hallooo!
Is it still possible to force the Farmhouse Upgrade(s) to take 1 day instead of 3 or did I miss something there?
Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Home, with 23 C# mods and 16 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
Like file name?
mhm
i think they have to be the same
That wouldn't make sense though, cause the From File doesn't care about the name of files normally.
i know trust me i know..
again I had the same issue with my qi portrait i dont know why it worked but renaming it fixed it
it might not be the issue in this case but worth a try no
Before you try that, can you try doing a patch export of the portrait?
idk how i forget about patch summaries..
patch export Portraits/{{ModId}}_Hekate
i do them all the time
The game isn't open and I just changed the file name.
i wonder why the token isn't parsed in the log
And I wanna know why the game or CP isn't parsing it properly with file names and such.
Yeah by the time the gets it, the token should be gone, shouldn't it?
i should prepare myself something to eat, maybe i'll have better view of stuff when back
is it just not parsed in the log, or is that patch not parsing it at all? 
i suggest a break then maybe attach the whole mod so people can try to look
Urgh I hate upper camel case
If you wanna take a crack at it, go for it.
I'm starting to give up on Content Patcher.
This is what made me go inactive with no enthusiasm to update WTDR for a year.
it will likely click eventually, but rest will do you good
I will have a look
Sooo, I changed the name of Hekate's portrait file back to HekateP.png and it works. Which makes me wonder if the problem is with your CP or SMAPI.
Nvm answered my own question lmao
Now to find the correct Farmhouse method.
Does anyone want to do some pixel art for my secret notes? I don't have a paypal so unless you have a donation link/patreon for the commision I can't pay anything. DM me if you are interested. (It is late for me so I may not be abled to respond straight away)
@rigid musk if you want to send me your Qi mod so I can check if it works for me having a different FromFile then I am happy to. Fine to be DMed if you'd rather do that way. No pressure to do it at all, but since Aeywoo's Hekate worked for me, your Qi might too.
thanks

how is it not working alreayd
I can send it in a little im currently doing event tweaking