#making-mods-general
1 messages · Page 441 of 1
(to answer the first part though, that should indeed only update that specific mod's patches, same as if you used the console command)
Hmmm, there's another comment about it really lags when talking to npcs
well, it'll be updating every single patch in a mod, which means needing to reapply edits to whatever that mod is touching
to be clear, it will only look at that mods patches to determine what to update, but if your mod was, for example, editing LooseSprites/Cursors, then it will need to invalidate LooseSprites/Cursors to re-apply your mods updated edits. which means every other mod also touching LooseSprites/Cursors will go again, too
but if another mod is editing LooseSprites/Whatever but your mod is not, then the patch update wont redo LooseSprites/Whatever
I only target aedenthorn.DialogueDisplayFramework/dictionary, hence why i'm confused why it seems to trigger lag when player got plenty mods
at first i thought the lack of quote and using mod id token makes the action update all patches
but turns out that's not the issue
actually, im not sure why that trigger action says it takes an argument, and past me seems to have erroneously convinced then-future-now-present me that it uses it this entire time
so it does indeed patch everything (?)🫂
yeah, ive been trying to look to see what made me think it took an argument back then, but cant find it, but it does just do a general patch update
may i ask what you were trying to do in the first place with it, in case theres a better way anyway?
my use case here is def hacky at best (betas is optional dependency)
i detect the friendship level using dialogueopened trigger (to know when talking to non-social npc) in betas to hide some ui element added with dialogue display framework
hm, i suppose an InvalidateAsset trigger action would probably be better, to target just aedenthorn.DDF/dictionary
the trigger action then add mailflag and update the whole content pack with updatepatch trigger action
(scratch that, bc the patch itself wouldnt update still even if the asset is invalidated)
btw invalidateasset isn't there on https://stardew.button.gay/docs/betas/tractions
no yeah i meant i was thinking about a potential new one
sorry, shoulda been clearer i was thinking aloud
if it wouldve worked i wouldve just added it like, tonight
because the feature would be only used if CP is installed can it reuse CP's patchreload command?
like for patchupdate
the patch reload command does the same kind of context update
as patch update
the difference between them being that patch reload will look at the raw .json files and stuff again first
what are you doing to hide the UI element?
ah, the mod id we provide doesn't actually just make it update the particular mod?
it'll reload the files for that particular mod
updating the files is a different thing to updating tokens and whatnot
you can update tokens without re-opening the .json files
so there's gifts indicator in dialogue display framework, but it's weird when it shows when talking to non-social npcs. With the game, the friendship balloon thingy beside portrait is hidden when talking to non social npcs so I'm trying to emulate that
that seems like something that DDF should probably be the one fixing?
Alr let the author know, then i used the hacky method with betas in meantime 😅
i dont think theres a good way to do this with BETAS
the PatchUpdate command is more meant as like, a last resort
yeah, the side effect of patch update all content pack is def too much
i wonder if you could do it with BETAS Harmony actually...
i've heard of it, but not sure what it's about
can you post your json for the current workaround you're doing rq?
its an even hackier thing than what you're currently doing. never been used in any actual mod because its silly and dumb
silly and dumb, but technically functional
i've been playing with silly a lot
and don't mind being first
going to have lunch now, but i'll def be around after
{
"Action": "EditData",
"Target": "Spiderbuttons.BETAS/HarmonyPatches",
"Entries": {
"{{ModId}}_GiftScaleWorkaround": {
"Id": "{{ModId}}_GiftScaleWorkaround",
"Target": {
"Type": "DialogueDisplayFramework.Data.GiftsData",
"Method": "IconScale",
"IsGetter": true,
"Assembly": "DialogueDisplayFramework"
},
"PatchType": "Postfix",
"ChangeResult": {
"Operation": "ASSIGN",
"Value": 0
},
"Condition": "PLAYER_HAS_MAIL Current {{ModId}}_HideInfoBox",
}
}
}
try this when you get the chance, keep your trigger actions the same but remove the PatchUpdate actions
(add this json as a separate patch somewhere. also ping me if you respond or i might not notice)
Im a bit confused on how to add this to my content.json
https://www.nexusmods.com/stardewvalley/articles/629
https://smapi.io/json/content-patcher/352d4d4640b84b85855662e63c43f5be
I am trying to add the Lightning Effect to the sword Raijin. Can anyone show me how to do it?
Content packs consist of a [b]manifest.json[/b] file and a [b]content.json[/b] file. If you allow your users to configure any variables, a [b]config.json[/b] file will also be created on load.
Once I see how its done, I'll be able to add stuff to the other weapons.
this mod does not use Content Patcher
it just also needs its file to be named "content.json"
but you cant use Content Patcher for it
Oh. I seem to have misunderstood. I'm guessing its not possible to add the lightning effect then. 😢
if you put your weapon ID in the id field in the Advanced Melee Framework, maybe itll work? im not sure, im not familiar with AMF personally
it'd have to be two separate mod folders though, since a content pack cant be both for Content Patcher and AMF at the same time
Ok. I'll take another look at it and see what I can do. 👍
🤔 if i put an item in the cooking category and type, will they show up in the cooking tab int he collections menu? I don't want it to count for perfection
yep, you can just use another category to avoid that
so for example, my sandwich is -7 (cooking), and the sandwich leftovers are -999 (invalid)
to be clear though, whether or not it counts for perfection is determined by whether or not theres a recipe for it, not the collections menu
Utility.getCookedRecipesPercent(Farmer who)
if it aint a cooking recipe, it aint counted, even if it shows on the collections menu (but then ofc if theres no recipe, you can never cook it to show it on said menu)
crafting recipes works identically
(with an exception made for the wedding ring)
well i kinda dont want it to show on the menu if u can't cook it...
so i'll give it a dummy category then
Category -25 also shows as "Cooking" but isn't actually food so you can use thT
That makes me curious. Does the exclude from perfection field in data/objects work on cooking recipe items then? Or does that field only affect the shipping collection
there are only two fields, one for fishing and one for shipping
maybe there's more in 1.6.16/1.7, I don't know at the top of my head
drawing portrait of hand holding pot noodles so very fun. drawing portrait of hand holding chopsticks so very painful
of all the stupid distractions
sorry to ping you again, but I forgot to document a change in the latest Extra Animal Config - Animal Squeeze Through is now merged into EAC directly, so if you're interested you can have big animals that can pass through smaller doors in your mod with one less dependency!
🍜 probably not even an improvement
I dont know what the before looks like so i cant speak on "improvement." But what i see right now looks good!!
Hi, I'm trying to help out someone with their portrait mod, but unfortunately whenever we have the latest version of seasonal outfits, it overwrite the changes, even with manifest dependance, and setting precedence to a higher value, is there another way to make it higher priority?
I found it, it's just that seasonal outfit change the way portraits are loaded
Why are the girls so hungry
These ladies ravenous
well not before and after so much as nothing or chopsticks
not that they add much, but it feels like a cop out to not have them
the artist must always give a little of themself to their art.
Anyone else keep getting emails from someone at Fextralife (or FXMods now I guess)
I saw some people talking about it a couple days ago
One day I hope my mod is successful enough to get me harassed by fextralife
One can only dream
I'm mostly wondering how they got my email, and why they didn't just reach out on discord since that is actually linked on my nexus profile
You want them to harass you over discord?
Preferably... 
Hey, I hope it's okay for me to barge in. I recently changed my entire folder structure for my mod, and I was wondering if someone could help me proof read my content.json files and my new folder structure? (Folder structure is attached)
content.json(root folder): https://smapi.io/json/none/65bd2bd5ddf5470e9a798200b84cc732
content.json(Ashara Folder): https://smapi.io/json/none/1bec49393d464367a449697758f06f07
content.json(Na'u Folder): https://smapi.io/json/none/5fdd5e6250fd43358e42e07797160484
content.json(Taq Folder): https://smapi.io/json/none/dc85ab44e3c8482ba1ae7dcfc0afffa0
content.json(Location Folder): https://smapi.io/json/none/dd91d38778a34bc1a4b59377ccc0efaf
Basically I want all 3 of my characters to live in the same house. I got some tips on how to do this, but I'm not sure if I did it right. Halp plz 🥺
Was that for me? 🥺
It's okay, is there anyone I'm allowed to tag for this?
🥲
Thing is, modding something like this is really specific, aka something the AI might not be trained on. At the same time, I need to know if multiple files properly communicate with each other, and I gotta know if the format is correct and if content patcher can read it and if all the tags exist in stardew itself :/ so I do appreciate the idea, I believe it might not fully help me here
yeah please dont recommend that people use ai to check their modding work, we have enough issues with that already
I don't write content patcher mods, but if you change the json format to content patcher on the linked sites you should be able to check if the formatting is correct
only the content.json in the main folder should have the Format line, if you delete that from all of the other files though, then you might as well try and open the mod ingame to see if it loads
the folder structure looks like it would work
So by format line you mean all of this or litereally just the "Format"; "2.8.0"?
Literally just the one line
I might however suggest changing the other "content.json" files to be another name, maybe the name of the npc, specifically because the content.json (in the main folder) is a special file for cp mods, and you probably dont want to accidentally confuse them when editing, or get confused when people mention the content.json file
Okay, will do that next. I was really mostly concerned about the house. I got it to work with my one npc, but since the folder structure is changed now, I was worried if I had to change something and missed it/ didn't reconnect something specifically etc
Oh, can I do that? Should it be content-NPCName.json then?
It's probably okay but you can test
it can be any name
Oh okay, got it. I'll do that and report back
as long as the name is written in the "main" content.json file
See? I would have forgotten that 😭 I will definitely need a final proof read once I get things done
you can test by trial and error as long as you're willing to try and read error messages
I do try, sometimes I'm just not sure what to do about them. But then I come here and it usually works out 😊
is there anything i need to do for this on my side?
i mean it's not that hard to just ask someone here
Well the issue is that new modders dont know whats wrong or right until they come bother us and we tell them their cp code is full of made up fields
So yeah. Its not good
and it puts further drain on the people here who try and help new modders
I don't know what language you're talking about but for CP just keep it out of here please
Don't think there is, questLog removes completed quests on dayUpdate. You should be able to track main quests through mail flags (maybe, idk, been a while)
i see.. someone asked me if I can make quests repeatable in the game..
i was thinking about it.. but if there is no log on completed quests that you've done, I wouldn't know how to re-activate them
Maybe an impractical solution but, since most quests are tied to started by an event, you could check eventsseen and cross reference with the active questLog?
The core problem is that Stardew modding is hyper specific (especially Content Patcher), and there just isn't enough training data out there for it to give even remotely sensible output, versus "help me with the 10 millionth random CRUD app". We really do get a surprising amount of people coming here with code that clearly came out of an AI, because nobody anywhere would suggest the kind of things in it. Then it usually starts a whole back and forth of "no, I didn't use AI", and then "where did you find this advice, then?", and it's just a lot of confrontation we don't want or need.
It's one of the reasons that posting any real amount of AI-generated content is against server rules. No trouble, just filling in the context on the why!
using genAI to check logic also sounds very silly to me
hi DH 
the person writing the code is usually the human alternative, but oh well, it doesn't seem like I can change your mind
Hey! How's the... project going, if it isn't too secret to talk of in public? 
You're so vague I dont even know what you're talking about 😆
if you're talking about the cooking mod, god, it's so close to a beta, but my tablet pc completely broke this week. I can't even draw
So depressing
Oh geez, that sucks!
:(
you wanted to keep talking about it, so we kept talking about it
I appreciate that you're trying to be friendly, but discussions of using ai in modding tend to drag on in here. You wanted to know why, so I wanted to be clear about why. If not me, someone else or multiple people would have jumped in soon enough, and that's not fun when it snowballs
Other than that, I'm heading off for the night
If it was me who came across as terse (that can definitely happen
), then I'm sorry! It's just how I write a bunch of the time. I promise you're good to hang around.
If anyone is too rude about anything at all, that's what we're here to deal with.
I think mostly its just the AI thing, its a topic that is a really sore subjust thats all
yeah youre fine dont worry tofu
So the log says that my json files don't exist, although they do and I link to the right spot. Am I missing something?
root content.json: https://smapi.io/json/none/93e37f0117224d688d0ec7c27a0009c7
Log file: https://smapi.io/log/ecfc48b93be741108d99ee1cf1b00e34
My folder structure is attached
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.19045.0, with 4 C# mods and 1 content packs.
your folder names don't match what you've written in the root content.json
reread your FromFile values and compare with your folder structure 
nope
I am on the hunt! I apologize if I don't find it, I am operating on 4 hours of sleep 😭
your content-House.json also seems to be written out incorrectly, since it's trying to apply a duplicate set of Include changes
That is true, I would apply the changes to both 😊
answers can linger behind a veil of exhaustion
what do u mean 
I just can't sleep when I see something that should be easily fixable and the solution is within my grasp. I would just lie away thinking how I failed my boys today 😭
thats fair im like that actually
Does the content-house.json even need the whole from file extention?
Yeah but like. Sleeping on a problem makes it like 10x easier to solve the next morning
content-house is a separate file for you keep your location changes to the forest, house exterior, interior, warps, etc so that they're not bundled with any NPC
I swear when you're low sleep you spend like 4 hours on a problem that'll take you 30 mins the next morning
the Include change is what lets you keep these changes in a separate file
I am genuinely so confused. Is this not it?
It is morning 😭 I just slept bad :3
Oh nooooo
but your log mentions that your content-house.json is also attempting to Include all of your NPC files, and itself, all over again
meaning you have some duplicate changes in that file that you don't want
So I delete the batch from the content-house.json?
could you first upload content-house to https://smapi.io/json and share the link here?
Of course
content-house.json: https://smapi.io/json/none/a298d784facb49bd9bbb1c475a7188a7
So the first 4 actions?
yep 
Got it, themk you! ❤️
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.19045.0, with 4 C# mods and 1 content packs.
Ah, without looking at everything, I think I know the mistake you're making.
The FromFile isn't relative to the JSON file it's written in. It's always relative to the root of the content pack.
So I need to start the path from the [CP] file onwards and not from within the [CP] file?
I figured that it could be the case, but I'm not sure where some of the other errors are from
Ah good old pathing issues
for example, assets\data\dialogue-Taq.json will become [NPC]Taq\assets\data\dialogue-Taq.json
Oh, I need to look over all of the paths, got it. That I can do
i'm quite sure all of these warnings and errors are the same issue, just on each different fromfile value
It is all coming together
Yeah, all of those errors look like this issue to me.
I tired, it still doesn't find all of them.
Here is the error log: https://smapi.io/log/57a0407705e44df89941b589abfd2e91
Root Content: https://smapi.io/json/none/f45650e73dc84cff8bbaa4b91fad1180
Ashara Content: https://smapi.io/json/none/efcf5be209ee4cc5bb85c28c017fa84b
Na'u Content: https://smapi.io/json/none/3b187771b2ce4144ad3ec1e6ef65d9ea
Taq Content: https://smapi.io/json/none/a085a0561f064b6fa6a29ee091180d51
Location Content: https://smapi.io/json/none/cc6f26ca8cde4ac38c36bf4988ca1166
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.19045.0, with 4 C# mods and 1 content packs.
well you simply didn't fix all the FromFile values, a number of them in each of your files still start with assets rather than their respective folder names
seems like a good time to go back to bed 🛌
Oh wait
That was on purpose, but do correct me if I'm wrong. If I hover over them like this they show up, but if I change the path it doesn't show up anymore. I assume the pictures showing up is just part of what Visual studio does? But the Content Patcher cant read it that way, right?
VS' image preview reads paths relative to the current file, while CP reads them relative to the root folder
the two sadly will never match 🌧️
Was I missing something else, the log says that it still can't find the content files? But I changed them, or do I STILL Need to go one further?
have you fixed ALL the fromfile values? ALL of them. not some of them
specifically the ones CP is complaining about in your log
especially those ones
It's Not That Bad
find the strings from the errors/warnings and add the folder name at the front ✅ simple as pie
I believe I must introduce myself. Hi, I am panda. I have never modded anything before, or used things like content patcher or Json as a file format. Please treat me like I am 5 years old and don't know how the world works 🥺
Cuz to me I am already working my way down from the [CP] folder into the [npc] folder and right there is the content-npc.json. I can't go further back 😭
so firstly you're looking at the file the warning is raised from, not the actual warning to the right of that
Okay, this is the warning: file 'Taq and Na'u[NPC]Taq\content-Taq.json' doesn't exist..
you dont put the mod folder name in the FromFile
secondly, CP is looking for files relative to the root folder, which means you don't need to write the name of the root folder in your fromfile path
relative to itself = no change = nothing to write
so you'd just be writing the path from there onwards, e.g. [NPC]Taq\content-Taq.json
But when I just had [NPC]Taq/content-json. It also says that the file doesn't exist
hopefully you actually wrote content-Taq.json and not content-json
https://smapi.io/log/e1e929770b5941eda82c54bc1a45300a
That's what this was all about
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.19045.0, with 4 C# mods and 1 content packs.
again the error is in the file [NPC]Taq/content-Taq.json, but the actual error raised from that file is file 'assets\dispos.json' doesn't exist.., file 'assets\data\MarriageDialogue.json' doesn't exist.., ...
and so on for your blank.json loads, etc
But I already corrected all of those to include the top level file, I thought that's what I had to do 🥺
it is what you have to do
have you saved your changes and made sure you're loading the latest versions when running SMAPI?
(I am so thankful for your patience, Blueberry 😭 )
Yis, I had done that by the time I sent the last log :/ That's why I was so confused, on why I still didn't find them
If I remove the [CP] folder from here it throws a lot more errors, whereas if I keep it, it only seems to be unable to find the content.json files
well if it fails to load the content files, it can't fail to read all the individual issues inside them
could you zip-up your whole mod folder and drop it in chat? it's probably quicker for someone just to fix it up themselves than to play telephone, and then you can see by example how it should work
Ahh, okay, I see it! If you remove the [CP] Ashara, Taq and Na'u/ part, it should at least be one step closer. No need to include the name of the mod's folder itself!
Oh, I'm dumb and should read fully.
That was already said. 
A tiny step by tiny step :3
I appreciate all help, don't care if it was said before, because likely I need to hear it again anyway :3
this should fix most of your fromfile values and a couple other issues, though there's a number still remaining (tilesheet path climbing for non-maps tilesheet images, missing seasonal portraits, ashara/nau files still using taq filenames and data, marriagedialogue files with broken targets and half-baked engaged dialogue)
i'm sure you'll sort most of these out yourself as you make all the assets you need
the others you'll need someone else to help since it's midnight here
you may also need to add another entry to your Data/Locations patch for your Basement map, since it currently won't be created as a game location
Oh goodness and I kept you awake! So sowwy, you are way too kind though. The seasonal portraits are still missing, I still need to make those. The Ashara/Nau filenames shouldn't have any other file names, I'll look into that. I'm not sure what I did to break the marriage dialogue targets, as those are the only ones that didn't work originally. The dialogue is completely unfished, I did want to go over that once the connections all worked
I am super grateful for your help. I hope I can work through some more issues by myself. Thank you so much!
the actual MarriageDialogue Target values should be along the lines of Characters/Dialogue/MarriageDialogue{{ModId}}_MyCharaNameHere while you've accidentally written in the fromfile folder names instead in some places
as for the engaged dialogue i'd probably delete that for now and get back to it later
ciao for now 🌻
Thank you! Sleep well ❤️ I appreciate it so much!
Yus
private void SearchQuests(string criteria)
{
//This will search Data/Quests for certain quests
Dictionary<string, string> registeredQuests = DataLoader.Quests(Game1.content);
List<string> result = new List<string>();
foreach(KeyValuePair<string, string> quest in registeredQuests)
{
if (quest.Value.Contains(criteria))
{
string[] questParse = quest.Key.Split("/");
result.Add($"{quest.Key}: {questParse[1]}: {questParse[2]} -=Quest Type: {questParse[0]}");
}
}
foreach(string searchResult in result)
{
Monitor.Log(searchResult, LogLevel.Debug);
}
}
``` behold.. creating a search function for quest ids
I'm a lil bit out of the loop on what you're tryna do but it looks neat!
someone asked me about being able to repeat quests...
since there is no reason to worry too much about repeating quests as the code itself doesn't prevent them, I just need to put the code to start one
this search function allows you to look for quests
and then you can use that to start it up
it's a good way to test quests
Neat!
searchquest cauliflower
[Event Repeater] => 101: Jodi's Request (Jodi needs a fresh cauliflower for a recipe she's making. She's asking you to bring her one.) -- ItemDelivery
searchquest mr.qi
[Event Repeater] => 2: The Mysterious Qi (Within a secret lock-box, you found a note with peculiar instructions. It's signed by a 'Mr. Qi'.) -- Basic
[Event Repeater] => 3: The Mysterious Qi (You've found another note written by 'Mr. Qi'. The request is even more unusual this time.) -- Basic
[Event Repeater] => 5: The Mysterious Qi (You found another note in the sand dragon's eye. It seems Mr. Qi's strange scavenger hunt has come to an end.) -- Basic``` It works!!!!!
Hi everyone. I've been trying to edit NPCs' movie reactions, but the results are mixed.
My code:
{
"Action": "EditData",
"Target": "Data/MoviesReactions",
"Entries": {
"Olivia": {
"Reactions": [
{
"Tag": "claire",
"Response": "love",
"Whitelist": [],
"SpecialResponses": {
"BeforeMovie": {
"ResponsePoint": null,
"Text": "before",
"Script": null
},
"DuringMovie": {
"ResponsePoint": null,
"Text": "between",
"Script": "/emote Olivia 20"
},
"AfterMovie": {
"ResponsePoint": null,
"Text": "after",
"Script": null
}
},
"Id": "reaction_custom_1"
}
]
}
}
},
But in the movie theater, I can't talk to her, nor does she have a reaction during the movie. Does anyone know how to fix it?..
i don't remember 100% offhand, but i think "Tag": "claire" means this reaction only applies to movies with the tag "claire", which the vanilla movies do not have
i'm also not too familiar with SVE, so maybe it adds some, but i suspect your Tag entry is the problem
its a part of my mod that adds a new film with this tag
you can now add quests with simple commands x3
debug action AddQuest <id> (and all the other places you can run a traction) https://stardewvalleywiki.com/Modding:Trigger_actions
I think i just patch export the quest asset usually
that or grep are my standard approaches
is there a way to add a conversation topic/dialogue based on preconditions but not make them be "priority"?
my goal would be: if condition a returns true, then add following four possible dialogue options to this characters "generic talk pool"
I dont want to spam the player with not-that-important frog chatter
CTs apply to everyone at once
I would investigate randomized dialogue in your shoes
I found the one on how to use i18n for that!
However, different people can say different stuff for the same CT
It goes into each NPC’s dialogue keys
oh, it seems I didnt udnerstand cts correctly then
I thought it was something like a mailflag for dialogue in its functionality
oh cool!
a CT dialogue will always have priority over normal dialogue
i think spouse dialogue may override it, dont remember
mhm can i use the rotateweeklydelimiter to make a ct related dialogue show only up once a week?
If you get a ct dialogue can u talk to npc again to get daily dialogue
Im asking a q cus im not actually sure
once an NPC has spoken about a CT, they will not speak about it again unless you remove the mail flag that tracks it, and a CT is not meant to last forever
if that was the case, i could use the ct key + _memory_oneweek to sparse it out, right?
As for controlling the thing you can do some trigger action im sure, but i wonder if u actually wanna just conditionally edit some dialogue keys
Putting aside other mods, who do u want the CT to take effect on?
my intention is just to add some casual frog chatter when the player has a tadpole in the inventory or when the player has a frogtank in their inventory or placed in the world (my mod supplies cp tokens to check for that)
the majority of the time you will not be able to react to them having it in their inventory in real time
you can start a CT in response to them having the frog in their inventory, but you can only detect it on location change, which may not be quick enough and they could end up talkiung to the NPC without having anything on them
placed in the world is mostly fine though
oh thanks for the heads-up!
Event Repeater 6.6 is out!! Now with quest functions!!
https://www.nexusmods.com/stardewvalley/mods/3642
-inject command now has quest added! Make use of it as so: inject quest <id> (<id> is the quest id)
-endquest <id> has been added to complete quests in your quest log! This will complete the quest as if you finished it yourself. This means you can get the completion rewards from it as well.```
Further information can be found in the Event Repeater Wiki:
<https://github.com/MissCoriel/Event-Repeater/wiki/Modder's-Readme#injector-commands>
<https://github.com/MissCoriel/Event-Repeater/wiki/Modder's-Readme#quest-functions>
sorry, I missed that.
these are the translation keys:
https://smapi.io/json/i18n/9ebba7a6f5ad4043bb261d8a18517a07
it is a bit for demetrius , sebastian, willy and vincent if you have a frog tank in the world and some for if you have a tadpole caught/in the inventory, also one for marnie when you bought the tank from her
I wonder if there is a way to search for events by location 
they are divided by location.. the question is to pull the events to be searched
something like eventsearch mountain and it pulls all events for that area
just read Data/Events/Mountain?
yeah.. but I am attempting to find that
it’s in the unpack
that's just what it is
k... but.. i want to do it in game
yeah..
and yeah you read it like you’d read any asset
just load it
how did you read Data/Quests in code
private void SearchQuests(string criteria)
{
//This will search Data/Quests for certain quests
List<string> datum = [];
foreach ((string id, string questData)in DataLoader.Quests(Game1.content))
{
string[] fields = questData.Split('/');
string type = ArgUtility.Get(fields, 0);
string name = ArgUtility.Get(fields, 1);
string description = ArgUtility.Get(fields, 2);
datum.Add($"=> {id}: {name} ({description}) -- {type}");
}
List<string> result = Utility.fuzzySearchAll(criteria, datum).ToList();
if (result.Count == 0)
{
Monitor.Log("No results found!", LogLevel.Debug);
}
else
{
foreach (string searchResult in result)
{
Monitor.Log(searchResult, LogLevel.Debug);
}
}
}
and I just realized that might be one of those assets with a convenient helper
apologies lol
anyway to read that in game you’d call Game1.content.Load<Dictionary<string, string>>("Data/Events/Mountain")
since event data is a dict of string keys to string values we use the type Dictionary<string, string>
that's what I am missing
in general you can use Load to read any asset in game (if you pass the correct type to it). the game has helpers for some of the more commonly used assets like location, quest or object data, but they all call Load beforehand for you
event data you have to do so manually
Dictionary<string, string> EventContent = Game1.content.Load < Dictionary<string, string>>($"Data/Events/{criteria}"); having this is enough.. I can just parse out what I want
so, what is it that im missing in this AT folder to get the shop icon to change -- for reference, the same file changes it in the cp version, and I've set the structure up in the AT version, in the same manner as another AT file that changes the shop icon (only difference being that they change a vanilla animal shop icon, while I'm targeting another mod's animal, maybe this is the difference?)
MOD/Shop/assets folder + manifest & content jsons
I did a patch summary for the original mods asset, but it doesnt tell me much
{
"Format": "2.8.0",
"Changes": [
{
"Action": "EditImage",
"Target": "Animals/birdb.CP.Donkey_shop_donkey_icon",
"FromFile": "assets/animal_shop_donkey.png",
},
],
}```
is the code that works in the CP version
the other folder in the first sub folder is the one for textures that works properly
what does your manifest look like?
"Name": "K's Style Donkeys Icon",
"Author": "ShilohAreles",
"Version": "1.0.0",
"Description": "Changes the shop icon at Marnie's.",
"UniqueID": "ShilohAreles.kdonkeysicon",
"UpdateKeys": [ "Nexus:37106" ],
"MinimumApiVersion": "4.0.0",
"Dependencies": [
{
"UniqueID": "birdb.CP.Donkey",
"IsRequired": true
}
],
"ContentPackFor": {
"UniqueID": "PeacefulEnd.AlternativeTextures"
}
}```
similar to that other mod's as well
both "mods" since they show up as two, are active in stardrop
oh, you're using contentpackfor AT but content patcher syntax?
haha no worries, fresh eyes and all that
once im done this in game day i will be able to check
Are there any compat issues with spacecore context tag recipes these days?
Asking for a gauge of how much chaos to unleash
I need some input in regards to someone telling me my mod isnt working for them but I cant really make out half their log because its full of errors and partly in chinese cuz im not really sure where to go from here
yeah its a log. it's regarding my mod "Food Gal" which they say does not spawn ingame but honestly...I don't really know what's going on in this log https://smapi.io/log/8aa7814a44014999a66bf4a408041b90
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24354 on Microsoft Windows NT 10.0.19044.0, with 213 C# mods and 542 content packs.
Suggested fixes: One or more mods are out of date, consider updating them
God damn 213 C# and 542 content packs. That's a chunky modpack
and over 700 errors
im jsut sitting here like...i wanna help em figure out why my mod isnt working for them but
root directory J: too, so I suspect we're looking at a cough at minmum backed up copy
most of these errors are spritemaster/clearglasses talking about messed up pngs, nothing to do with you
with this number of mods and errors, I wouldn't even bother answering...
There's a lot of missing assets too..
I don't see your name coming up in content patche clashes
im lowkey wondering if i should jsut tell them with that much errors its impossible to really figure out or something along those lines
11:27:43 TRACE SMAPI Content Patcher edited Maps/Forest (for the '(CP) Food Gal Shop' content pack).
11:27:43 TRACE SMAPI 翻找垃圾桶 edited Maps/Forest.
11:27:43 TRACE SMAPI Content Patcher edited Maps/Forest (for the 'Alchemistry' content pack).
11:27:43 TRACE SMAPI Content Patcher edited Maps/Forest (for the '星露角' content pack).
11:27:43 TRACE SMAPI Hat Mouse Lacey - Core edited Maps/Forest.
11:27:43 TRACE SMAPI Content Patcher edited Maps/Forest (for the 'Hat Mouse Lacey' content pack).
hm
so this is in order
- food gal
- trash search (binning skill?)
- alchemistry
- cape stardew
- lacey
one of them is to add...trash cans?
one of the following things bonked your edit i guess, dunno which
cape stardew should.. mostly work with your mod I think
(The trace logs show the mod IDs for each name when loading.)
Tell them to remove those 1 by one, lacey is probs not it tho
my mod only edits a small portion on arrowhead island
yea im psure alchemistry is just a warp near secret woods intersection
this is just the last 5 edits after food gal lol
oh lol
there r so many 
Did they say why they think it's your mod breaking things? Did they try removing your mod and it worked?
i wouldnt worry about it too much void, as far as i can tell your mod's fine
I pulled up the mod (or at least what I think the mod is), and it's just a garbage bin mod: https://dl.3dmgame.com/patch/150974.html
not spawning here probably is spawning and being edited on top of
it's possible someone editMaps the whole dang forest
its less breaking and more the issue that Food Gal is not existing on the map
Ohhh gotcha
that sounds like a losing map edit, tbh
hm i guess i tell them to remove any mod that edits the forest then to see which is causing it?
there's nothing stopping someone from just pasting over the entire forest and wiping out everything before
yeah, that would be the way to check
this would be "Better Trash Can" tho
is there a way to prevent VSCode to auto complete for stuff that is not included (automatically adding a using <thing> at the top of the file)?
yeah, my point was all it should be doing is editing trash cans. I 'm halfway through rebuildingmy SDV mod order and persuading myself that, yes, I do have some time this quarter for maybe updating a mod (but I really odn't, this courseload is aaaargh!)
lol.
it is a dll mod tho, so that lines up with this log
but it dun pack a tmx so ig it must be some manual edits 
if u really want to dig into it the user will have to give a patch export Maps/Forest but i dont think it's worth pursuing
yeah i am just telling them to remove any one by one that edit the forest to see what it causes.not sure how detailed I can get anyway since they use a translator
try telling them something like: 看起来原因就是别的mod后来改变森林 (it looks like the reason is some other mod is editing the forest later)
not sure if that's the game name for forest
ok the name is "煤矿森林" for cindersap forest but should be close enough
it is a trip to see bitrot of something posted a year ago (imgur links)
Anyway.. I guess I should reinstall VisualStudio..
Jetbrains rider my beloved
is it fine to compare a long and an int in C# (check if the value is larger or smaller)? Or will it give a weird result because of the type mismatch?
I'd assume the equality operators are built to handle that but I could be wrong
What are you using a long for out of interest? I can't think of like anything I'd wanna do in stardew that has that huge a range of values
getting the value from Game1.currentGameTime.TotalGameTime.TotalMilliseconds
for some reason, I convert it to long before doing stuff with it
isnt that a double
Convenient!
no idea why I took the double value months ago
i think u do need the total version
cus the Milliseconds is just ms component of timespan right 
but yea comparision wise i dont think it matters as long as both sides r numerical types
oh yeah
timespan also has it's own compare func if u wanna use that one
like it is fine to do spawnTimeout <= TimeSpan.Zero and spawnTimeout -= time.ElapsedGameTime; if spawnTimeout is TimeSpan
It's for animation, so I'm either taking its modulo (for looped animation) or subtracting the time when the animation started, which is parsed from some Furniture.modData
so I don't think there's an occasion to use this built in comparison
just as a quick understanding question:
why doesnt the i18n token need closing double curly brackets here?:
"Changes":
[
{
"Action": "EditData",
"Target": "Characters/Dialogue/Abigail",
"Entries":
{
"spring_Wed": "{{i18n: NewDialogueMod.Abigail.{{Random: 1, 2, 3, 4, 5}}",
},
},
]
}```
taken from the modding wiki
or: why doesnt the random token need the double closing curly brackets?
Random should have it's own closing brackets within the i18n's {{ }}
yes this is what confused me
Snippet might be inaccurate, toss it in the validator
hey! uhh in my event, the fade thing isn't working properly, I have it set up so it should fade away, change locations and then eventually fade back, but instead it looks like this?
my code btw:
/fade /pause 2000 /changeLocation Mine /viewport 18 9 /warp Marlon -100 -100 false /warp farmer -100 -100 false /warp Krobus -100 -100 false /warp Dwarf 43 6 /faceDirection Dwarf 2 /playMusic Of Dwarves /pause 2000 /fade unfade
@autumn tide You leveled up to Farmer. You're now a prettier shade of blue. Thanks for sticking around!
yayyyyy
ah the wiki entry has it nested
now I understood!
or it doesnt?
https://stardewmodding.wiki.gg/wiki/Tips:_Using_i18n_for_Easy_Dialogue_Randomisation
the json validator doesnt flag this https://smapi.io/json/content-patcher/e196eb20763b4683b8f17b0a23052927
Last edited by AtlasVBot on 2025-09-13 18:54:55
With the game's default dialogue setup, you would be limited to 168 lines of dialogue: one per season, alternate heart level, and day of the week. However, you can use i18n to easily create a pool of randomised dialogue, either to extend the amount of dialogue beyond the 168 line limit or to remove...
but i dont understand why
why only one pair of closing brackets is allowed here
you should ask airyn or tia. it might be typos on the wiki page
will do, thanks!
as I was/am struggling the past days a lot with token syntax, I was unsure if this was just a me-thing of not understanding something obvious or if it does look like it needs the second pair of closing brackets to someone who has an understanding of token syntax
hi there @brittle ledge cam you explain to me, why this doesnt need two pairs of closing curly brackets for the end of the i18n token? 
also curious lol
ive asked similar a few days ago or a week ago, but this time a little more specific
what file contains the entries of the fish in the game, including green algae, etc
The fish.xnb was the behavior (fishing style), objects.xnb had the descriptions and names, but cant find the one where you insert the money, editibility, etc
price and edibility are also going to be in objects
odd
mine oddly didnt have?
it was just a super long list of descriptions and names
for assets and fishies
!unpack did you follow these instructions
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!
yeah ik how to unpack, lol
okay you mentioned xnb so i wasn’t sure
i suspect it does need it and it's just a typo
yeah i unpack it
Data/Objects should have fish in there
the axctual fish object
here's my carp:
"142": {
"Name": "Carp",
"DisplayName": "[LocalizedText Strings\\Objects:Carp_Name]",
"Description": "[LocalizedText Strings\\Objects:Carp_Description]",
"Type": "Fish",
"Category": -4,
"Price": 30,
"Texture": null,
"SpriteIndex": 142,
"Edibility": 5,
"IsDrink": false,
"Buffs": null,
"GeodeDropsDefaultItems": false,
"GeodeDrops": null,
"ArtifactSpotChances": null,
"ExcludeFromFishingCollection": false,
"ExcludeFromShippingCollection": false,
"ExcludeFromRandomSale": false,
"ContextTags": [
"color_yellow",
"fish_lake",
"fish_secret_pond",
"fish_sewers",
"season_fall",
"season_spring",
"season_winter",
"season_winter"
],
"CustomFields": null
},```
it's got price and edibility
[ERROR] Filename: packed\Objects.xnb
XnbError: Non-implemented type found, cannot resolve type "StardewValley.GameData.Objects.ObjectData", "StardewValley.GameData.Objects.ObjectData, StardewValley.GameData, Version=1.6.15.24356, Culture=neutral, PublicKeyToken=null".
at simplifyType (C:\snapshot\xnbcli\app\Xnb\TypeReader.js:0:0)
at Array.map (<anonymous>)
at simplifyType (C:\snapshot\xnbcli\app\Xnb\TypeReader.js:0:0)
at Xnb.load (C:\snapshot\xnbcli\app\Xnb\index.js:0:0)
at processUnpack (C:\snapshot\xnbcli\xnbcli.js:0:0)
at Walker.walker.on (C:\snapshot\xnbcli\xnbcli.js:0:0)
at Walker.emit (events.js:198:13)
at Object.emitSingleEvents [as emitNodeType] (C:\snapshot\xnbcli\node_modules\walk\lib\node-type-emitter.js:58:13)
at Walker._wLstatHandler (C:\snapshot\xnbcli\node_modules\walk\lib\walk.js:88:19)
at C:\snapshot\xnbcli\node_modules\walk\lib\walk.js:106:12
Success 2
Fail 1
eh had to rerun idk why it was acting weird
now an error with it
...maybe about 2 weeks old?
xnbcli-windows-x64
what’s with it having season winter twice lol
that's not stardewxnbhack, that's xnbcli
except this file oddly
ahhh okay, odd lol its been working for all the ones I used, my bad
gosh only knows lol
please follow governors instructions here
the 1.6 update made some xnb unpackers less happy about the more complex formats
if you have cp open in the game you can also patch export Data/Objects and get it that way if you only want one thing
note that this will also include all changes currently applied
so it's not the base game unless you don't have any mods editing the file
works well, tysm!
what does the "use_reverse_name_for_sorting" context tag do?
seems unique to me
what object does that apply to?
i would assume it would do something like cabbage, red
so that alphabetically it’s under C
specifically to green algae
i assume white algae has it too
the ones u instant fish up
yeah probably algae, white and algae, green then?
i guess? not sure lol am new
i dont think i need that context tag if I was making a custom algae, right?
like a new one for my mod
i mean i’m just going off semantically. people who can read the decompile more easily than me may know if that’s true or not
i'll add fish_nonfish as its important
as its non fish
category 0 its listed for algae so id do the same for a non-fish thats catable via the sea
you can test it out with and without the context tag. try putting all algae in a chest with some other items and seeing how it sorts them
uhhh just replying to my question so it doesn't get buried lol
fade is really tricky. try moving your pause after the change viewport command
hmmm okay
yeah it does what nic says, so if you add a new item called Red Algae and add that tag it will be sorted with the letter A instead of R
maybe should i remove the pauses alltogether?
no i think you need them for timing
oh
for me fade is always a bunch of experimenting with order of commands and length of pauses
though items are sorted by internal names and split by space so if you use the mod id underscore convention it’s not terribly useful
oof okay
just when i thought event-making couldn't get more tedious 💔
i believe in you!
also just in case: are you aware of such commands like patch reload and debug ebi
i also recommend making your event skippable even if just temporarily for testing purposes
yes lol, idk what i'd do without them!
will do!
hmm
does anyone know why its still being caught like a fish?
behavior (the fishing minigame data) is identical to the green algae
maybe my entry here is missing something?
converting this ancient JP pack has been.. fun.
good luck 
i have officially decided that i don't care enough to remove the double fading!

It's mostly "do I keep the ids as 246 1 -6 1" or convert them to string id. >_>
i think I will convert them given how the old file doesn't have them converted
*nont
try getting rid of the unfade
hmmm okayy
actually i may have an event where i fade and change location i can send
let me check
aaa ty 
/globalFade/viewport -1000 -1000/changeLocation Town/viewport 47 89/pause 1000/speak CrystalPalace \"{{i18n:Niko1.6}}\"/pause 1000/ try something like this
ty!
i've also got this which is more complicated beginSimultaneousCommand/playSound crit/screenFlash 3/warp farmer -1000 -1000/changeLocation {{ModId}}_Backpack/warp farmer 5 10/warp CharlesRowland 6 10/endSimultaneousCommand/viewport 7 6/globalFadeToClear/faceDirection CharlesRowland 3/pause 500
the validator isnt going to flag it. it checks for json syntax and, if the content patcher dropdown is selected, validates it against the content patcher schema to make sure you have the required fields in your json. it has no idea what a token is and doesnt care to check, since tokens are not a json thing. as far as json is concerned, its a completely valid string
didn't work 💔
still really appreciate your help tho!!
what do you have rn? and what is it doing
Hello, I'm extremely new to stardew modding, trying to make my first mod just a simple CP mod to edit a food item.
Have the content and manifest files being loaded but I'm getting this error.
this is what my content file currently looks like
one sec
the path should be correct so im not sure why it gives me an issue
it's just fading twice, but honestly I'm fine with it 🤷
/fade /changeLocation Mine /viewport 18 9 /warp Marlon -100 -100 false /warp farmer -100 -100 false /warp Krobus -100 -100 false /warp Dwarf 43 6 /faceDirection Dwarf 2 /playMusic Of Dwarves /fade unfade
oh shit the warps shouldn't have false after them
"Hm. I wonder if CP has an equiv to JA's category text override... " Google it "Google AI: here's mode code to change it for every item in the category!"
Me: that is so not what I wanted
for future reference you can post your json at smapi.io/json and share the link, and its much preferred. but your targetfield is not correct, because Buffs is a list of Buff objects, and you;'ve not specified which buff in that list you are trying to edit the duration of
try using globalFade instead of fade. it has different behavior
I did, same issue 
it doesn't really matter tho
it's not intuitive, but you don't actually need two
i made the same mistake several times thinking i had to fade out, move location, fade back in
.. Stares at this mod A piece of fruit has price: 590 and the cooked item with 2 of them cost 500
huh
i'll change that later then lol
anyway, back to this. I'll lookup CategoryTextOverride some over time
i wish i knew how to word it better so i could make a note on the wiki but alas
it's also something that kind of needs a visual to be explained
Thanks! that worked. And ill use the Smapi.io if i need more help in future
Since it's the same, do you think it's actually controlled by the entry? Cause it seems identical to the vanilla code I just posted
My first mod is now working! I wont have to be constantly chugging my 700 espressos to keep up the speed buff
nice!
.. there's no way to mass edit people for the same field in NPCGiftTastes, is there?
you could do a universal taste
although that would be overridden by specific gift tastes if they have them
mm, the thing is, it does this: "GiftTastes":
{
"Love": ["Alex", "Elliot", "Sam", "Sebastian", "Haley", "Penny", "Maru", "Emily", "Abigail", "Vincent", "Robin"],
"Like": ["Marnie", "Lewis", "Evelyn", "Gus", "Jas", "Kent", "Wizard", "Pam", "Linus", "Clint", "Dwarf", "Willy"],
"Neutral": ["Krobus","Sandy","Demetrius", "Harvey"],
"Dislike": ["Leo", "George"],
},
if it was more unbalanced I would have
hmm then afaik you'd have to do it individually or else write a C# method to iterate
Because I'm bad at closing brackets
It should have two. Where is that?
There is not, but if you search this channel for CSV, Atra put together a tool a while back to produce the code for mass edits.
I'll do that then, thanks!
(thankfully it was only two items, but I've been trying to configure any JA stuff to CP if I use it for local use.)
Last edited by AtlasVBot on 2025-09-13 18:54:55
With the game's default dialogue setup, you would be limited to 168 lines of dialogue: one per season, alternate heart level, and day of the week. However, you can use i18n to easily create a pool of randomised dialogue, either to extend the amount of dialogue beyond the 168 line limit or to remove...
Thank you! I fixed that and the second section which was also missing the second set of closing brackets.
I thank you too! I’m very grateful for the tutorial!!
is it possible to edit my mod and then have smapi reload it so that I don't have to close the game and restart it?
!reload
- Content Patcher pack: enter
patch reload <your_mod_id>in the SMAPI console window. This will reload and reapply all your patches (but won't recalculate theConfigSchemaorDynamicTokensections if you use them). - Translation files: enter
reload_i18nin the SMAPI console window. If it's for a Content Patcher pack, also runpatch reloadafterwards. - C#: see the Visual Studio hot reload or Rider hot reload feature.
that should cover it 
Thank you!!
It seems the reload won't work for an addon to Advanced Melee Framework. Just my main mod gets reloaded.
don't know much about gift tastes, would local tokens be useful to automate part of the mass edit?
Hey everyone! I wanted to ask is it just me or does Nexus seem to be severely underpaying you too?
considering the monetary expectations i had/have going into modding ($0) id say if anything nexus is massively overpaying me
DP is intentionally inscrutable now, but my numbers more or less scale with SDV's attention on the nexus chart, fwiw
Chat I'm so confused
https://smapi.io/json/none/ca7ea767cf694f67a73b710355492ea1
what is this file?
the json in your link is not a patch
so what are you doing with it/where are you trying to use it
Oh! I tried to like load it in using my content json ;v;
https://smapi.io/json/content-patcher/bf9fdc6e2b2a400ead3d32082f2fab16
do not load it
Data/Quests is the asset you EditData your entry into
Data/Quests/Blue.Jestar_OtherWordly is nothing and will never be used by anything
do not load a blank for quests either
A H
the only things you ever load a blank.json for are data assets that dont already exist in the unpack, in order to make them exist
Characters/Dialogue/CustomWhoever for example does not exist in the unpack, bc its not a vanilla file. therefore, you need a blank load
Data/Quests is already a thing
also you cant use multiple files in a FromFile for a Load anyway
Is this right? :0
should do
Ty!! :3
EMP v1.7 is out:
- Improves CP token performance (thanks to SinZ, atravita, and anybody who helped w/ profiler logs)
- Adds some console commands for mod testing (and i18n support for their text):
ListGSQs: list every installed GSQ and its aliasesListMailFlags: list every mail flag for the current player, sorted by mailbox/received/tomorrow
https://www.nexusmods.com/stardewvalley/mods/9296
if i want to check if a mod is loaded within my smapi mod, do i need to subscribe to the helper method in the gamelaunched event?
or can I just use the bool directly in my method without explicitly calling for this check if I have FlashShifter.StardewValleyExpandedCP listed as a false requirement in my manifest?
the false in the manifest just means it wont error if SVE is not installed but if it is, SVE will load before your mod
you still need to check that the mod is actually installed if you plan on doing anything that requires it
in your Helper you should have a ModRegistry, or somewhere in one of the things in the Helper
Does anyone know why my pearl is still having the fishing bar mini-game when its nearly identical to the vanilla game's green algae?
thanks!
something in the depths of my mind is suggesting to check the item category?
algae has category 0
check my post right above it
it shows my entry
hmm, yeah i can see it's also 0
maybe check what VMV has for the catchable "trash" items?
whats a VMV?
and yeah i'll check
visit mt vapius
it has some items you can catch out of water
w/o fishing minigame
is it a mod?>
No that’s an add on mod
oh yeah I cant find it then
Check the requirements which should link to the original?
lemme check
its prob under a very dif name
Jinx haha
yeah i'll check out the code!
so a broken bottle?
i'll check it out, i appreciate it!!
im not seeing a reference, or name of any broken bottle, nor anything thats caught up in the ocean
category 0 is referrencing mainly archeology, others are gems, nothing even uses the right formats for the fish data
However
" "Fish": [
{
"Chance": 0.01,
"MinFishingLevel": 6,
"MinDistanceFromShore": 3,
"ApplyDailyLuck": true,
"Precedence": -50,
"Id": "(O)Lumisteria.MtVapius_Treasures_RustyChest",
"ItemId": "(O)Lumisteria.MtVapius_Treasures_RustyChest",
},"
This is the best thing I can find, which is inside Locations.json, there is also a mention of Algae, but they never finished it, so thats not in the mod
i'll check MNF if they did it, this mods seems to be very strange with adding them
not looking hard enough then
"Lumisteria.MtVapius_Trash_BrokenBottle": {
"Name": "Broken Bottle",
"DisplayName": "{{i18n: MtVapiusTrash_BrokenBottle_Translated}}",
"Description": "{{i18n: MtVapiusTrash_BrokenBottle_Description_Translated}}",
"Edibility": "-300",
"Type": "Fish",
"Category": -20,
"Price": 0,
"Texture": "Mods\\Lumisteria.MtVapius\\Objects",
"SpriteIndex": 16,
},
h o w ?
i searched everywhere
wher on earth did they store it??
[CP] Lumisteria Mt Vapius/assets/items/Objects.json
By the way, find in files works much better than searching manually
i dont have that or at least know how to
just opening each file using vsc
and looking via search
VSC has find in files
Right-click on the VMV folder and open it in VSC, then your search will search the entire folder
category -20 is junk, so you may or may not want that
ahh gotcha, mine are more vauable, either just coral, or pearls and treasure chests
is category important here?
ima do i htink cat 0?
i forgot
does your pearl have a Data/Fish entry
if it does it will trigger the minigame unless its category is -20
actually wait I'm reading this code wrong
well I guess you can try deleting the Data/Fish entry and replicate its effects in Data/Location
yes
right now algae has hardcoded exceptions in the game code for skipping the minigame, and you either have to make it a junk item or delete the Data/Fish entry
(thanks for confirming, the function I'm referencing has ten thousand goto tags which is absolutely unreadable)
(1.6.16 makes it easier, you can just slap fish_skip_minigame on it)
so if i delete its Data/Fish entry do I put it in Data/Location u say?
o??
👀
oh wait u mean 1.6.15?
or 1.6.16?
what I mean is that the stuff in Data/Fish (like time, catch chance, weather, etc) you can put in its entry in Data/Locations using the Condition field
1.6.16, the next version
ahh i see okayy
when does that come out btw?
if we know
if not totally fine!!
When It's Ready™ 
ooo
so for now, I put it in Data/Locations using the Condition field, I see I guess I can try an attempt!
now that i think about it, i dont even remember if i ever tested that its working... something for the beta testers to handle, methinks
but i think i was doing whatever lumina did anyways
I've never personally used lumina before, though I'm referencing both this, and MNF to see what I can pull off
Still learning, so, getting used to the ropes of adding items that aren't trash, kinda like how Pearl's work in the vanilla game
https://smapi.io/json/none/35f7180a8ba6431e89b2def8fb43bf44
I hope this let's my conversation topics be sparsed out?
You know about topic memory, right?
I mean, you can do it with triggers and stuff for more control, but I want to make sure you know that it's an option
Could please advise on how to place a non-forage item on my mod map in the form of forage, allowing players to pick it up only once? I'm looking for a method similar to how Robin's Lost Axe or Pierre's Missing Shorts are implemented, but with the key difference that the item is present on the map by default, rather than being placed as part of a quest
I've added a new rare crop and would like to place its crop item directly on the map. The goal is to provide this as the exclusive method for players to obtain it.
Have you looked into ftm? It’s possible there’s some feature in it to do that kind of thing
I was just about to mention that you can do custom forage and item spawning with FTM
okay,I'll check it!
spacecore also can do it
"I've looked at SpaceCore and reviewed the forage spawn examples, but I'm still a bit unclear. If I want to spawn an item at a specific coordinate on the map, using {{ModID}}_SpawnPrismaticShards from the examples, should I add a TileData to the map file and give it a Property with the Action's value set to {{ModID}}_SpawnPrismaticShards?"
If you make it a TileData with an Action, what it's saying is that the player needs to interact with that tile in order to spawn the item.
For what you want, you just want a normal Trigger Action with a Trigger of DayStarted, which stops after it runs once. https://stardewvalleywiki.com/Modding:Trigger_actions
The custom Trigger Action will have an Action that causes a Spacecore SpawnGroup to spawn within certain specified coordinates
You dont have to do map editing, but it is a multi step process
https://github.com/MizuJakkaru/Cornucopia/blob/main/[CP] Cornucopia More Flowers/data/forage.json I have a similar example here
However mine is a repeatable spawn, so there's an extra action that makes them repeat
you dont want to do that
the "extra action" is "Condition": "RANDOM 0.0X"?
no, im referring to the last trigger action on the list that says RepeatConfigFlags
Hey all. This feels like a stupid question that probably gets asked all the time, but for the life of me, I can't figure out where to even begin learning how to mod. Is there a specific resource yall turn to for the basics? Normally I ask Youtube, but all the tutorials I find are how to install mods.
I don't know if this is relevant to where I'd need to go to start, but a friend and I want to make a mod that adds characters to the already existing Apartment Building mod (Since that mod currently has 70 rooms, and only 1 occupant. Very sad ;-; )
Any help is appreciated! (Sorry again if this is the wrong place to ask this)
!startmodding start with the wiki--you'll want to make a content patcher mod, not C#. then to make an NPC look at some of the following resources and tutorials!
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.
!npc
Keep in mind that making NPCs is a complex process that requires learning many different aspects of Stardew modding.
Here are a few links that can help get you started on all that you need to know:
-
Tiakall has a great tutorial on making a custom NPC for 1.6.
-
NPCs no longer use dispositions, check the wiki page for the new NPC data.
-
Feel free to jump into the https://discord.com/channels/137344473976799233/1277457201077813280 thread for more interactive feedback and help!
-
Fireredlily has a WIP NPC Builder Please do report any errors you get with it into the NPC thread!
Thank you so much! ❤️
as for adding an NPC to the apartment, there are instructions linked on that mod's page i believe
assuming you're talking about fireredlily's
if you want advice on making the art for the mod, you can get feedback in #making-mods-art and we have some tutorials and resources for that as well
thanks!I'll try it!
i hate animating map tiles but what i think i hate more is animating the concessions lady
who is a map tile.
@hard fern i saw you say something about wanting to cook with context tags earlier, do you want help with that?
I just finished a mod that context tags every ingredient in every vanilla recipe; it just needs updates from spacecore and loc before i can release it
Oh, yeah i was thinking about how nice it would be to be able to use, say a context tag for "carrot" so you can use yellow carrot, purple carrot, whatever type of carrot in a recipe instead of being limited to only the vanilla carrot
Since im a little interested in adding realistic varieties of existing crops
Yeah i want to see crop variety mods
thats why i made this mod hehe
If you tag your items with like carrot_item for example it will work with this mod
Ooh neat
Ill keep that in mind
I dunno when im actually going to make these crops but
for general item modding purposes, <name>_item is the general format that me and other item modders are trying to use for our items
so that recipes and machines can be made compatible
evil things await
Will the context tag cooking be compatible with any mod that changes items in a vanilla recipe?
It wont
its either or, if a context tag recipe exists for an item, it overwrites any recipe in the vanilla format
@crimson kettle If you want to edit it yourself isntead of reisntalling. I'm bad at explaining generally, so if this doesn't help, hopefully someone else can reword.
click the Front layer in the layer pane at the top left, find the window stuff on the "indoor" tilesheet (I have it highlighted) and paint as seen here.
The top half of the window should go on the Buildings layer as well or it'll still cause that NightTiles error
so front layer like image 1, buildings layer like image 2. Or if you don't want the windows you can edit the NightTiles map property to remove changes to those tiles
how do i remove the windows from nightTiles then
Map > Map Properties
Click the "..." on the right of NightTiles and remove any reference to changing tiles at coordinates that make your log red (at least these two, my eyes are glazing over looking for the two on Buildings layer)
oh 🫠 okay as long as it works! I tried
guys is there a mod for a real-time clock in stardew valley i mean if ur computer's time is lets say 8pm then if you launch the game the time will be also 8pm and if not is this even possible? i vener really made a mod and this seems like a fun project to start with
There are mods that make it so that the in-game clock works like a real clock − showing every minutes −, but I don't remember a mod showing the IRL time
Why would you want such mod? Do you want an in-game day to last an entire IRL day or just see the real time while playing?
Jesus christ, the color and styling had me thinking it was gonna be a fn ban message xD
damn, i also though it was about to say you got banned HAHA
Tf were they thinking making it red xD
I mean tbf, theyre just reusing the same system thats probably also used for issuing ban messages
But it do be wild
last real time
like real 24 hours
seems funny
I guess you could use the mod Casual Life, which shows the time like a real clock, and configure it so that one in-game minute lasts one IRL minute, but with how the game is made it will still start the day at 6am, not show your real time
alr
Waiting for Pierre to open at the start of a new season is already annoying enough imagine waiting 3 real hours for it
is adding forage to the mines even possible... i feel like ive done everything i can and i still cant get it to work
For clarity, I've added gem nodes using item extensions and those work fine, and I've added regular forage with ftm elsewhere in the world, but id like to add things that spawn on the floor of the mines like the forageable minerals or the occasional red/purple mushroom
Ok I heard back from the person who didn't get my Food Gal shop to work! It was Cape Stardew that caused my map edit to vanish....I used to play with the mod and it worked back then. It's in the bottom left corner even past Hatmouse, why is it editing arrowhead island
well, anyway. They moved my shop a lil bit closer to where sushi stand is they said and it now works.
cape stardew overwrites that whole area with a late + priority
I would suggest asking them to edit it if it's disruptive for your mod
they made this change rather recently, iirc
@old edge Are you aware that Cape Stardew's decision to patch the bottom half of forest on high priority has caused knock-on effects for quite a few NPC modders?
I'm not sure why you're doing it like that, but there may be a better way, considering its a large area
Sounds difficult to figure out the right priority honestly
I think I'd just default to making my stuff lowest priority across the board but that'd probably cause as many problems as setting everything to highest priority across the board
Yeh, it kinda requires a little bit of awareness of what other modders might be up to with the same assets
Although in the case of making your stuff low priority, if theres any problems it would be your own stuff that gets hidden. Vs a mod that's covering other mods inexplicably, ends up having knock-on effects for other authors who might not be aware of the change
so it could be "better" for that case
Guess it depends on how important the stuff is. Either way map modding just seems like a nightmare with all the compatibility things you have to consider
vanila map edits can be tricky, althought small ones have a bit more margin
for your own maps, freedom it is
🤔 why is eggplant parmesean pasta according to the object data
why is stuffing sauce... 
yes
eggplant parmesean is usually served on top of spaghetti
well explain why bruschetta is pasta
that one... i dont know
Haha... ive stumped you..
I do also like bruschetta
saying this as if i dont routinely burn my mouth on mac n cheese
What is brushchetta
bruschetta is a spread made of tomato and onions thats served on top of crispy bread
i'm sorry you what
yes
do you think i was asking for compat so i could do nice and good things? no thats just the test run
😔 so 6480 is evil
Thats insanely useful, especially for mods, is it its own standalone mod?
Is there a way to make Ginger Island parrot expansion things using only Content Patcher? 
Italian
yes I have read about that, but I dont need a certain order, I just dont want to spam the dialogue options with frog stuff. and i didnt come up with a good strategy for that using ct memory
but my current system with the synced random doesnt seem to work as intended sadly - or i am on a streak of 8% chances hitting a lot in a row
The hilarious thing is that I wrote a mod to do this back in 1.5.6 using Matlab to programmatically generate a CP pack. I revived the Matlab yesterday in a fit of post-vaccine fever without realizing that was why 6480 wanted the SpaceCore thing but I like 6480’s better lol.
I only stopped in 1.5.6 because of LoC not liking context tag recipes
So in a way you narrowly spared the world of this in the past
lmaoo
I woke up to crimes I see
Hello i wish to make a custom map for myself using tiled, is there anyone i can ask questions about 
!mapmaking
If you want to make mods that add or edit maps:
-
Use Tiled to edit .tmx or .tbin files.
-
Refer to the Maps wiki page for details on how maps work in Stardew Valley.
-
Content Patcher allows you to create custom locations through editing Data/Locations
-
Vanilla Maps can be edited via Content Patcher as well: EditMap
There’s a bunch of links here with info but if you have a specific question you can ask here
Tysm lovely person
💜
Me: I converted this mod to CP
Mod: Did you remember to fix the MFM file?
Me: No...
Mod: Did you know I was written in ChatGPT?
Me: oh no
(the tip off is the dependency)
chatgpt strikes again
it has been! I burnt out on programming, but I felt like playing again and i'm trying to find time to see ifI can make DNT less.. orangy
(it's that or the original author of this mod is long gone and the person who converted it to JA didn't credit it.)
my colors may be controversial but there must be others who want a cutesy game (pink purpleblue) you have to be out there my allies 😭 i should make a rgb recolor one day LMAO
anyway i realized how much there is in map tilesheets
i will bd oing this 4 awhile
https://www.nexusmods.com/stardewvalley/mods/31676 NPC Toolkit can now get the Item IDs with the identifiers and sort them!
For anyone stuck on adding non-fish items like the pearl, seaweed, green algae, white algae, and some trash, and still stuck on the mini game, then this is for you:
The behavior, as mentioned previously by someone here (ty btw!) is controlled by the behavior of the fish, which is usually in your Data/Fish.json, or similar.
For only as example, with a high catching chance so you can observe how it works:
"{{ModId}}_Pearl": "ASF_Pearl/null/mixed/2/8/600 2400/spring summer/both/-1/0/.8/0/0/false
The difficulty (index 1) must be set to null, 0 will not do, as it'll still play the mini-game)
In terms of the "Category", you can set it to **Basic **if your implementing something that's going to be valuable, else, you can use the **Trash **category.
I love mangling game code into doing what I want
the best part is I didn't even have to use harmony for my crimes
(at least not this bit)
can someone help me with my house? Basically when you enter the house there is a living room, and off to the side is another warp into the basement. The log says the basement location cannot be created, did I make a mistake in the house's content.json file?
Log: https://smapi.io/log/338df2058a4844ffb48a564cc2b09527
content-location.json: https://smapi.io/json/none/4d96183f256649abbaabb42908337de6
Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.19045.0, with 4 C# mods and 1 content packs.
your warp has a hyphen, but your location id does not. it also needs to be prefixed with your mod id
you're warping to Custos-Basement but your id is {{ModId}}_CustosBasement
also I recommend combining your location data edits into a single patch
I can do that? How would that look like?
I'm a bit confused by that, I'm warping to Custos-Basement.tmx because that's the file name, isn't that right?
{
"LogName": "Add custom locations",
"Action": "EditData",
"Target": "Data/Locations",
"Entries": {
"{{ModID}}_CustosHouse": {
"DisplayName": "{{i18n: location.Custos-livingroom.name}}",
"DefaultArrivalTile": {
"X": 13,
"Y": 19
},
"CreateOnLoad": {
"MapPath": "Maps/{{ModId}}_CustosHouse"
}
},
"{{ModID}}_CustosBasement": {
"DisplayName": "{{i18n: location.Custos-basement.name}}",
"DefaultArrivalTile": {
"X": 4,
"Y": 4
},
"CreateOnLoad": {
"MapPath": "Maps/{{ModId}}_CustosBasement"
}
}
}
}
no. your location id is the key you used for the location data. the map is just the content "filling" your location
locations can swap around map files freely but their id is always the same
I see, it says that the map couldn't be created in the log, does the broken warp really cause the map to not be loaded in?
the log you uploaded says this:
Warp to Custos-Basement failed: location wasn't found or couldn't be loaded.
because Custos-Basement is not an existing key in Data/Locations
doesn't say anything about not loading the asset. if you have another log with a different error, can you upload it so I can take a look?
No, you are correct this is the only error I get
how do i change the location of the farmhouse on a custom farm?
https://stardewvalleywiki.com/Modding:Maps#Warps_.26_map_positions
Take a look at FarmHouseEntry
Is it possible for you to tell me on which line/ lines my errors are? Do I change every instance of Custos-Basement to {{ModId}}_CustosBasement
you may also find this page useful: https://stardewvalleywiki.com/mediawiki/index.php?title=Modding:Farm_data
it's not in your json, it's in your Warp map property in Tiled
Oh, so in tiled I replace it with CustosBasement?
yes, but you also need to prefix it with your mod's UniqueId and an underscore
GOT IT! So basically the name the debug menu tells you when you want to look at tiles. I should have known
I don't know what that is since you didn't upload your manifest, but something like pandakitty.MyModName_CustosBasement
whatever you have set as UniqueId in your manifest
Yup, yup! I know where to find it. Thank you! Let me test it
Okay, it works! I still have a hitbox issue, but I can fix it. Thanks so much for your time ❤️
of course! it's what the channel is for
would a 1000x1000 map even load or just crash the game?
It's likely not recommended. As for crashing, I'd assume if your RAM and CPU can handle it, which it should, then it's likely going to be more resource-intensive than traditional maps
I'd suggest splitting up a lot of the map into smaller, and more modular parts, like how vanilla stardew handles them
this mod does special caching to handle big map
i think that mod aside where its the whole point, the main thing about a map that big is just that it wouldnt be fun to traverse
but yea even 200x200 can be quite heavy for weaker computers
i was planning on making a huge farm as a joke for friends. guess i'll have to downscale haha
poking this at a different time of day in case people are awake now who might have the answer 🙏
FTM supports it I'm sure
im using ftm but i cant seem to get it to work
can you post the code? I admittedly don't know FTM that well
hold on ill upload the json
it's not just bad luck with the spawnrates either because I changed the minimum spawns to 9999 for testing and still didn't get any
hmm that code looks correct to me, I have no idea what's wrong otherwise
I wonder if FTM supported spawning in generated locations in the first place?
well I think you can try SpaceCore next
well at least that's a direction to look in o7 time to throw myself at the docs again
Hm. How is buff code handeled in food buffs vis CP now?
..yes. I more meant if someone had an example so I can compare against the json I wrote. c.c
check vanilla fish
thanks!
as vanilla uses it
yeah, i spotted what I did wrong. I should just sit down and learn CP if I'm going to write personal use conversions of JA mods. >_>
My mod law and order has a few CP buffs you could look at
WOOO event testing timeeeee
thanks! That's working now, I'm just tracing down some stuff rn
im finding plenty on how to spawn things in new dungeons but im not sure how to/if it can be applied to existing dungeons
(rn I'm really just trying to wipe out any angry orange or yellow messages, and learning CP while doing so. Tiime to look up conditionals!)
Not sure what problem you were having with FTM but that fit my needs better than spacecore. Iirc sc couldn't despawn items, only spawn them. You could try posting your FTM code on the Nexus page, I've gotten help that way in the past.
ftm is working fine for stuff spawned in the overworld
but it's like it's entirely ignoring my code when i ask it to spawn things inside the mines or volcano dungeon
At last, it's alive, alive!
Just a little bit more work on the UI and publish.
Yeah I haven't tried that personally but like I said try posting on the Nexus page IMO
This is correct, right?
{ "Operation": "Append", "Target": ["Fields", "Olivia", 1], "Value": "RainbowCocktail", "Delimiter": " " "When": { "HasMod": "flashshifter.stardewvalleyextended" } },
(today in hilarity: do people not check their mods generating angy orange text in the console?)
users or mod authors? because users, no not really. mod authors, tbh sometimes also no
pinging me here is also an option 
mod authors
I understand users not, tbh
okay, time to go diving into my CP mods for examples
That looks right to me
For a Love
that sounds correct, yeah
it's an older mod
(which is generally how I run into these "I should fix them a bit in CP" anyway. I'd upload it to the mod author but they are apparently inactive.)
FTM packs aren't fully compatible with temporary locations like the mines/volcano. If the location doesn't currently exist (which mostly means "if no players are currently there"), anything that spawns will get skipped.
Your volcano area is set to spawn everything at 6:00, so that would all get skipped. The mine area should spawn things at random times throughout the day for every mine/cavern level, as long as someone happens to be there while it spawns.
i did have the volcano dungeon with the same time parameters as the regular mines at first, the 6:00 was more of a throwing things at the wall to see what sticks type of trial and error
ill keep messing with it until i get it to work
finally finished my event omg
uhhh if anyone's up for giving some constructive criticism i posted a recording on the creative writing thread, i'd really appreciate it :)
...oh, my bad, I think there's an issue with prefix and temporary locations 
the volcano settings do work (with 600-2550 times), but No map named "prefix:UndergroundMine" could be found. Forage won't be spawned there.
is content patcher or potentially newtonsoft case-insensitive when parsing a json provided through EditData?
in this case i have two single-letter keys in my Entries, which differ only by case
newtonsoft is case-insensitive on the keys by default
but i'm ending up with only the second one
This may sound a bit cold but if its just prefix and temp locations not playing nice im just relieved its not me messing everything up
that is bad for me in this particular case. boo
no worries, they're a recent addition and not really tested yet, I may need to tweak the location finding code
fwiw FTM's also close(ish) to getting CP support with a system similar to trigger actions, which will be better at targeting the mines and such
its current packs still hinge on start-of-day location checks
yeah, checking the code, FTM's prefix/suffix/contains won't check for temporary locations
it'd be a pretty big performance issue to target hundreds of locations anyway, so unfortunately I probably won't rework that yet
listing them individually like the volcano levels should work
ugh i don't want to have to tell people to split their patches
but i don't see a better way around it 😔
I know it's really risky and I don't have experience, but am I able to change the grandpa cutscene at the begining of the game? I'ts very out of my league in terms of knowledge but I'm really curious if someone already did it or if it's possible at all
anything is possible if you do enough C# about it
for a more helpful answer, what is it that you want to change?
there was a big meme with modders a good while ago to change stuff about grandpa's bed. there were a bunch of joke mods about it
basically make a whole new cutscene depending on what the player chooses at the character making phase
ok. for that level of change you will most likely need to enter the C# mines
like, I'm thinking about making a vampire mod that at the beginning has 2 options, you can be a pure-blood vampire or you can be randomly bitten during your gameplay, if you choose the pure-blood route it will have a different cutscene cause your granpa couldn't die of old age cause vampire
not the C# mines
but thank you!! I now have a way to go cause I don't have any idea what I'm doing LMAO
i'm not super familiar with the intro cutscene, but i think a-lot-to-most of it is done in code (instead of data), so you would need to reimplement it to meet your goals. but maybe someone else with domain knowledge can correct me there
it's way bigger than I can chew honestly but I'm willing to try
ohh I see! thank you :D I'll look more into that
if you dont mind most of the cutscene staying the same you can also just edit grandpa's image and text to make it seem like he's a vampire llol
like any text and images can be edited easily with content patcher, its the cutscene timing, special effects, and such that need C#
ohh I see, I'll probably use it at first cause it's easier XD but I'll probably elaborate it more cause I have a really specific image on my head
but Thankk you for the alternative too!! I'll definitelly use it
i can see it now. grandpa lying in a very flat coffin with a stake poking out of his pyjamas

and, for my very special offspring, i leave you this letter
Huh. "JSchemaException: The free-quota limit of 1000 schema validations per hour has been reached. Please visit http://www.newtonsoft.com/jsonschema to upgrade to a commercial license."
Json.NET Schema is a complete and easy to use JSON Schema framework for .NET
1300/license per site
okay
How does it track that
it's not by the hour
Does the c# lib phone home for schemas?
so it must be by first API call
hah, no, this came from trying tovalidate on smapi.io
which uses an API call I'd bet
Oh okay that makes sense
Yeah api as a service seems more reasonable since you have to pay for hosting
1300 is pretty steep though
It seems like there'd be a way to self-host a validator
Though I have no idea if that would be cheaper or not
maybe
and.. angy red text from Content Patcher. I didn't know that was a thing it could do. >_>
hm.
weird error, too, because it's basically "the patch image is smaller than the patch source"
drops mod on restart
Vampire grandpa?
Oops i didnt mean to ping you for that lol
Vampire grandpa is not important enough for a ping
I get partial PTSD on the idea of changing anything about that intro cutscene at this point
grandpire
Omg xD
Hey everyone, trying to make a custom NPC at the moment and having issues with the Content.json, if anyone could help me out i would greatly appreciate it, not sure if this is the right channel for it? :0
please @ me when responding, it's my first time trying to make one
like what exactly is the issue? is the mod not working or do you not know how to write a content.json for your npc
i'm having issues trying to close the end of the document after trying to put something in that would give the NPC seasonal outfits. Changing the end symbol just brings up a whole bunch of different errors and i've kind of been going around and around for an hour or two
Here is what it keeps showing me, and i can send the link to the Json file if you'd like?
the rest of it doesn't trigger anything, it's just always the end of it 😭
yes please always send the json
err wow
😭 I've no idea if i should just start it again?
everything from the "anime portrait code" and onwards shouldnt have the "format" and "changes" stuff, since you only have one of each per content.json.
you should move your config schemas to the top of your content.json, and keep them all together, and you can just keep your action blocks where they are, just without the other stuff
- and to add on, this isn't specifically related to your json, but you can't just load HD portraits because the game only displays 64x64 portraits. (for each expression) you'll need some other mod to get HD portraits to work, i think spacecore, portraiture, scale up 2, can all do it???
I could! i wanted to try giving it a go through the file since i've seen other mods try it and figured it might keep it more compact for myself? But if it will make it easier, that's probably better I imagine?
Im not sure what exactly you're referring to here?
ah- so in NPC mods i've looked at just for checking how people did certain things, they made the HD portraits like a true/false option in the disposition? so if someone had false, the portrait for the character would be base game and if they had True is would change it to HD for them
I thought it would be easier for me to keep everything i was working on in one folder so i figured i would try giving something similar a go?


