#making-mods-general

1 messages · Page 441 of 1

uncut viper
#

aside from the unnecessary quotes in the first one, as far as BETAS is concerned, you just wrote the same thing twice

#

(to answer the first part though, that should indeed only update that specific mod's patches, same as if you used the console command)

vital lotus
#

Hmmm, there's another comment about it really lags when talking to npcs

uncut viper
#

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

vital lotus
#

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

uncut viper
#

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

vital lotus
#

so it does indeed patch everything (?)🫂

uncut viper
#

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?

vital lotus
#

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

uncut viper
#

hm, i suppose an InvalidateAsset trigger action would probably be better, to target just aedenthorn.DDF/dictionary

vital lotus
#

the trigger action then add mailflag and update the whole content pack with updatepatch trigger action

uncut viper
vital lotus
uncut viper
#

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

vital lotus
#

because the feature would be only used if CP is installed can it reuse CP's patchreload command?

#

like for patchupdate

uncut viper
#

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?

vital lotus
#

ah, the mod id we provide doesn't actually just make it update the particular mod?

uncut viper
#

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

vital lotus
# uncut viper what are you doing to hide the UI element?

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

uncut viper
#

that seems like something that DDF should probably be the one fixing?

vital lotus
#

Alr let the author know, then i used the hacky method with betas in meantime 😅

uncut viper
#

i dont think theres a good way to do this with BETAS

#

the PatchUpdate command is more meant as like, a last resort

vital lotus
#

yeah, the side effect of patch update all content pack is def too much

uncut viper
#

i wonder if you could do it with BETAS Harmony actually...

vital lotus
#

i've heard of it, but not sure what it's about

uncut viper
#

can you post your json for the current workaround you're doing rq?

uncut viper
#

silly and dumb, but technically functional

vital lotus
#

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

uncut viper
#

gimme a minute to write somethin up

#

that works too ill just ping reply you

uncut viper
# vital lotus
{
    "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)

dapper dock
#

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?

Nexus Mods :: Stardew Valley

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.

uncut viper
#

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

dapper dock
#

Oh. I seem to have misunderstood. I'm guessing its not possible to add the lightning effect then. 😢

uncut viper
#

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

dapper dock
#

Ok. I'll take another look at it and see what I can do. 👍

hard fern
#

🤔 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

brave fable
#

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)

uncut viper
#

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

brave fable
#

is that so

#

i feel like i've been told this a few times

uncut viper
#

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)

hard fern
#

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

brittle pasture
#

Category -25 also shows as "Cooking" but isn't actually food so you can use thT

dusky sail
#

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

brittle pasture
#

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

brave fable
#

drawing portrait of hand holding pot noodles so very fun. drawing portrait of hand holding chopsticks so very painful

#

of all the stupid distractions

brittle pasture
#

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!

brave fable
#

🍜 probably not even an improvement

dusky sail
#

I dont know what the before looks like so i cant speak on "improvement." But what i see right now looks good!!

limpid sierra
#

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

hard fern
fast plaza
brave fable
#

not that they add much, but it feels like a cop out to not have them

brave fable
paper sundial
#

Anyone else keep getting emails from someone at Fextralife (or FXMods now I guess)

fast plaza
#

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

paper sundial
#

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

fast plaza
#

You want them to harass you over discord?

paper sundial
#

Preferably... Acatnod

junior tiger
#

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? 🥺

hard fern
#

anotha one

#

halfway to 30k i guess

junior tiger
#

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

drowsy pewter
#

yeah please dont recommend that people use ai to check their modding work, we have enough issues with that already

paper sundial
drowsy pewter
#

the folder structure looks like it would work

junior tiger
drowsy pewter
#

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

junior tiger
#

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

junior tiger
drowsy pewter
#

It's probably okay but you can test

drowsy pewter
junior tiger
#

Oh okay, got it. I'll do that and report back

drowsy pewter
#

as long as the name is written in the "main" content.json file

junior tiger
drowsy pewter
#

you can test by trial and error as long as you're willing to try and read error messages

junior tiger
golden basin
hard fern
#

i mean it's not that hard to just ask someone here

drowsy pewter
#

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

cyan marsh
#

I has a thought... is there a way to look at all completed quests?

#

hmm..

paper sundial
cyan marsh
#

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

paper sundial
#

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?

blissful panther
#

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!

woeful lintel
#

using genAI to check logic also sounds very silly to me

drowsy pewter
#

hi DH SDVpufferchickegg

woeful lintel
#

the person writing the code is usually the human alternative, but oh well, it doesn't seem like I can change your mind

blissful panther
drowsy pewter
#

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

blissful panther
#

Oh geez, that sucks!

hard fern
#

:(

drowsy pewter
#

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

blissful panther
#

If it was me who came across as terse (that can definitely happen SDVkrobusgiggle), 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.

golden basin
#

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

junior tiger
ocean sailBOT
#

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.

brave fable
#

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 SDVpufferthumbsup

junior tiger
golden basin
#

panda.....

#

sleeeeeeep

brave fable
#

your content-House.json also seems to be written out incorrectly, since it's trying to apply a duplicate set of Include changes

dusky sail
#

not enough sleep is a sure recipe for mistakes

#

go take a nap

junior tiger
golden basin
#

answers can linger behind a veil of exhaustion

brave fable
junior tiger
golden basin
#

thats fair im like that actually

junior tiger
fast plaza
#

Yeah but like. Sleeping on a problem makes it like 10x easier to solve the next morning

brave fable
#

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

fast plaza
#

I swear when you're low sleep you spend like 4 hours on a problem that'll take you 30 mins the next morning

brave fable
#

the Include change is what lets you keep these changes in a separate file

junior tiger
junior tiger
fast plaza
#

Oh nooooo

brave fable
#

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

junior tiger
brave fable
junior tiger
#

Of course

brave fable
#

remove the Include changes from this file SDVpufferthumbsup you don't want or need them

junior tiger
#

So the first 4 actions?

brave fable
#

yep SDVpufferthumbsup

ocean sailBOT
#

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.

blissful panther
#

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.

junior tiger
blissful panther
#

Yup!

#

It's a little bit annoying to have to do, but it's how it is.

junior tiger
#

I figured that it could be the case, but I'm not sure where some of the other errors are from

fast plaza
#

Ah good old pathing issues

brave fable
#

for example, assets\data\dialogue-Taq.json will become [NPC]Taq\assets\data\dialogue-Taq.json

junior tiger
#

Oh, I need to look over all of the paths, got it. That I can do

brave fable
#

i'm quite sure all of these warnings and errors are the same issue, just on each different fromfile value

blissful panther
#

Yeah, all of those errors look like this issue to me.

ocean sailBOT
#

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.

brave fable
#

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 🛌

junior tiger
#

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?

brave fable
#

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 🌧️

junior tiger
#

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?

brave fable
#

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

brave fable
#

It's Not That Bad

#

find the strings from the errors/warnings and add the folder name at the front ✅ simple as pie

junior tiger
#

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 😭

brave fable
#

so firstly you're looking at the file the warning is raised from, not the actual warning to the right of that

junior tiger
iron ridge
#

you dont put the mod folder name in the FromFile

brave fable
#

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

junior tiger
brave fable
#

hopefully you actually wrote content-Taq.json and not content-json

junior tiger
ocean sailBOT
#

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.

brave fable
#

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

junior tiger
brave fable
#

it is what you have to do SDVpufferthumbsup have you saved your changes and made sure you're loading the latest versions when running SMAPI?

junior tiger
#

(I am so thankful for your patience, Blueberry 😭 )

junior tiger
junior tiger
brave fable
#

well if it fails to load the content files, it can't fail to read all the individual issues inside them

junior tiger
#

you are so wise, that is true

#

So we remove all these?

brave fable
#

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

junior tiger
#

I trust you blueberry

blissful panther
#

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. SDVkrobusgiggle

junior tiger
#

I appreciate all help, don't care if it was said before, because likely I need to hear it again anyway :3

brave fable
#

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

junior tiger
# brave fable the others you'll need someone else to help since it's midnight here

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!

brave fable
#

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 🌻

junior tiger
#

Thank you! Sleep well ❤️ I appreciate it so much!

cyan marsh
#

so I went off to the store

#

here's what I propose... Quests have IDs correct?

fast plaza
#

Yus

cyan marsh
#
        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
fast plaza
#

I'm a lil bit out of the loop on what you're tryna do but it looks neat!

cyan marsh
#

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

fast plaza
#

Neat!

cyan marsh
#
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!!!!!
modest epoch
#

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?..

tiny zealot
#

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

modest epoch
#

its a part of my mod that adds a new film with this tag

cyan marsh
#

you can now add quests with simple commands x3

tiny zealot
cyan marsh
#

yeah.. but now you can search for them too 😛

lucid iron
#

I think i just patch export the quest asset usually

tiny zealot
#

that or grep are my standard approaches

verbal narwhal
#

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

tender bloom
#

CTs apply to everyone at once

#

I would investigate randomized dialogue in your shoes

verbal narwhal
#

I found the one on how to use i18n for that!

tender bloom
#

However, different people can say different stuff for the same CT

#

It goes into each NPC’s dialogue keys

verbal narwhal
#

oh, it seems I didnt udnerstand cts correctly then

#

I thought it was something like a mailflag for dialogue in its functionality

tender bloom
#

Look at “Introduction” under each NPC

#

That’s an example of a CT

verbal narwhal
#

oh cool!

uncut viper
#

a CT dialogue will always have priority over normal dialogue

#

i think spouse dialogue may override it, dont remember

verbal narwhal
#

mhm can i use the rotateweeklydelimiter to make a ct related dialogue show only up once a week?

lucid iron
#

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

uncut viper
#

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

verbal narwhal
#

if that was the case, i could use the ct key + _memory_oneweek to sparse it out, right?

lucid iron
#

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?

verbal narwhal
#

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)

uncut viper
#

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

verbal narwhal
#

oh thanks for the heads-up!

cyan marsh
#

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>
Nexus Mods :: Stardew Valley

Add depth to your stories with the option to Repeat events over and over as you need them! Now integrates with Content Patcher!!

verbal narwhal
#

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

cyan marsh
#

I wonder if there is a way to search for events by location mcthink

brittle pasture
#

events are already scoped by location right

#

or is this something else

cyan marsh
#

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

brittle pasture
#

just read Data/Events/Mountain?

cyan marsh
#

yeah.. but I am attempting to find that

brittle pasture
#

it’s in the unpack

uncut viper
#

that's just what it is

cyan marsh
#

k... but.. i want to do it in game

uncut viper
#

Like Data/Quests

#

it's an asset

cyan marsh
#

yeah..

brittle pasture
#

and yeah you read it like you’d read any asset

uncut viper
#

just load it

cyan marsh
#

something ain't clicking

brittle pasture
#

how did you read Data/Quests in code

cyan marsh
# brittle pasture 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);
                }

            }
        }
brittle pasture
#

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>

cyan marsh
#

that's what I am missing

brittle pasture
#

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

cyan marsh
#

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

true coyote
#

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

gentle rose
true coyote
# gentle rose 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

gentle rose
#

oh, you're using contentpackfor AT but content patcher syntax?

true coyote
#

ah, thats it

#

forgot to switch it back to cp

#

thank you for your beautiful eyes

gentle rose
#

haha no worries, fresh eyes and all that

true coyote
#

once im done this in game day i will be able to check

tender bloom
#

Are there any compat issues with spacecore context tag recipes these days?

#

Asking for a gauge of how much chaos to unleash

ornate trellis
#

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

fast plaza
#

If it's a SMAPI.io log maybe ya wanna send it here?

ornate trellis
ocean sailBOT
#

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

fast plaza
#

God damn 213 C# and 542 content packs. That's a chunky modpack

lucid iron
#

J:

ornate trellis
#

and over 700 errors

#

im jsut sitting here like...i wanna help em figure out why my mod isnt working for them but

tight rivet
#

root directory J: too, so I suspect we're looking at a cough at minmum backed up copy

lucid iron
#

most of these errors are spritemaster/clearglasses talking about messed up pngs, nothing to do with you

woeful lintel
#

with this number of mods and errors, I wouldn't even bother answering...

tight rivet
#

There's a lot of missing assets too..

#

I don't see your name coming up in content patche clashes

ornate trellis
#

im lowkey wondering if i should jsut tell them with that much errors its impossible to really figure out or something along those lines

lucid iron
#
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).
ornate trellis
#

hm

tight rivet
#

ah.

#

that wmight do it.

ornate trellis
#

idk what that chinese one is

#

lacey and alchemistry work with my mod tho

lucid iron
#

so this is in order

  • food gal
  • trash search (binning skill?)
  • alchemistry
  • cape stardew
  • lacey
tender bloom
#

one of them is to add...trash cans?

lucid iron
#

one of the following things bonked your edit i guess, dunno which

tight rivet
#

cape stardew should.. mostly work with your mod I think

ivory plume
#

(The trace logs show the mod IDs for each name when loading.)

tender bloom
#

Tell them to remove those 1 by one, lacey is probs not it tho

ornate trellis
#

my mod only edits a small portion on arrowhead island

lucid iron
#

yea im psure alchemistry is just a warp near secret woods intersection

tender bloom
#

it could be that something patches on top of something else

#

with 5 editsat once

lucid iron
#

this is just the last 5 edits after food gal lol

tender bloom
#

oh lol

lucid iron
#

there r so many Sleepden

fast plaza
#

Did they say why they think it's your mod breaking things? Did they try removing your mod and it worked?

lucid iron
#

i wouldnt worry about it too much void, as far as i can tell your mod's fine

tight rivet
tender bloom
#

not spawning here probably is spawning and being edited on top of

#

it's possible someone editMaps the whole dang forest

ornate trellis
fast plaza
#

Ohhh gotcha

tight rivet
#

that sounds like a losing map edit, tbh

ornate trellis
#

hm i guess i tell them to remove any mod that edits the forest then to see which is causing it?

tender bloom
#

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

lucid iron
woeful lintel
#

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)?

tight rivet
#

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!)

lucid iron
tight rivet
#

lol.

lucid iron
#

but it dun pack a tmx so ig it must be some manual edits bolbthinking

#

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

ornate trellis
#

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

tender bloom
#

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

tight rivet
#

it is a trip to see bitrot of something posted a year ago (imgur links)

#

Anyway.. I guess I should reinstall VisualStudio..

fast plaza
#

Jetbrains rider my beloved

woeful lintel
#

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?

fast plaza
#

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

woeful lintel
#

getting the value from Game1.currentGameTime.TotalGameTime.TotalMilliseconds

#

for some reason, I convert it to long before doing stuff with it

lucid iron
#

isnt that a double

woeful lintel
#

yea

#

I just saw that there's a Milliseconds value that's an int

fast plaza
#

Convenient!

woeful lintel
#

no idea why I took the double value months ago

lucid iron
#

i think u do need the total version

#

cus the Milliseconds is just ms component of timespan right NotteThink

#

but yea comparision wise i dont think it matters as long as both sides r numerical types

woeful lintel
#

oh yeah

lucid iron
#

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

woeful lintel
#

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

lucid iron
#

i used it just in a normal timer kinda anim control place

#

doing the modulo manually Sleepden

verbal narwhal
#

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
lucid iron
#

i18n is the token

#

the stuff after the : is argument to the i18n token

verbal narwhal
#

or: why doesnt the random token need the double closing curly brackets?

latent mauve
#

Random should have it's own closing brackets within the i18n's {{ }}

verbal narwhal
latent mauve
#

Snippet might be inaccurate, toss it in the validator

autumn tide
#

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

ocean sailBOT
#

@autumn tide You leveled up to Farmer. You're now a prettier shade of blue. Thanks for sticking around!

verbal narwhal
#

ah the wiki entry has it nested

#

now I understood!

#
Stardew Modding Wiki

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

urban patrol
#

you should ask airyn or tia. it might be typos on the wiki page

verbal narwhal
#

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

verbal narwhal
soft lance
#

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

urban patrol
#

price and edibility are also going to be in objects

soft lance
#

odd

#

mine oddly didnt have?

#

it was just a super long list of descriptions and names

#

for assets and fishies

urban patrol
#

!unpack did you follow these instructions

ocean sailBOT
#

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!

soft lance
#

yeah ik how to unpack, lol

urban patrol
#

okay you mentioned xnb so i wasn’t sure

tender bloom
soft lance
#

yeah i unpack it

tender bloom
#

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

soft lance
#

[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

tender bloom
#

are you using the latest stardew xnb hack?

#

or some other xnb unpacker?

soft lance
#

xnbcli-windows-x64

urban patrol
soft lance
#

it works on like

#

all of them

tender bloom
#

that's not stardewxnbhack, that's xnbcli

soft lance
#

except this file oddly

soft lance
tender bloom
urban patrol
tender bloom
#

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

soft lance
#

what does the "use_reverse_name_for_sorting" context tag do?

#

seems unique to me

urban patrol
#

what object does that apply to?

#

i would assume it would do something like cabbage, red

#

so that alphabetically it’s under C

soft lance
#

i assume white algae has it too

#

the ones u instant fish up

urban patrol
#

yeah probably algae, white and algae, green then?

soft lance
#

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

urban patrol
#

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

soft lance
#

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

urban patrol
#

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

soft lance
#

ahh i think i get waht ur saying

#

and alrighty i'll test, tyyy

autumn tide
urban patrol
#

fade is really tricky. try moving your pause after the change viewport command

autumn tide
#

hmmm okay

brittle pasture
autumn tide
urban patrol
#

no i think you need them for timing

autumn tide
#

oh

urban patrol
#

for me fade is always a bunch of experimenting with order of commands and length of pauses

brittle pasture
#

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

autumn tide
urban patrol
#

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

autumn tide
soft lance
#

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?

urban patrol
#

what's your Data/Fish entry

#

that's what governs catchability

soft lance
#

and

#

this is vanilla game

#

maybe i missed smth?

tight rivet
#

converting this ancient JP pack has been.. fun.

autumn tide
autumn tide
tight rivet
#

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

urban patrol
autumn tide
#

hmmm okayy

urban patrol
#

actually i may have an event where i fade and change location i can send

#

let me check

urban patrol
#

/globalFade/viewport -1000 -1000/changeLocation Town/viewport 47 89/pause 1000/speak CrystalPalace \"{{i18n:Niko1.6}}\"/pause 1000/ try something like this

autumn tide
#

ty!

urban patrol
#

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

uncut viper
autumn tide
urban patrol
#

what do you have rn? and what is it doing

tidal meadow
#

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

autumn tide
tidal meadow
#

the path should be correct so im not sure why it gives me an issue

autumn tide
# urban patrol what do you have rn? and what is it doing

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

tight rivet
#

"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

uncut viper
urban patrol
#

try using globalFade instead of fade. it has different behavior

autumn tide
#

it doesn't really matter tho

urban patrol
#

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

tight rivet
#

.. Stares at this mod A piece of fruit has price: 590 and the cooked item with 2 of them cost 500

autumn tide
tight rivet
#

anyway, back to this. I'll lookup CategoryTextOverride some over time

urban patrol
#

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

tidal meadow
soft lance
# soft lance mine:

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

tidal meadow
#

My first mod is now working! I wont have to be constantly chugging my 700 espressos to keep up the speed buff

tight rivet
#

nice!

#

.. there's no way to mass edit people for the same field in NPCGiftTastes, is there?

urban patrol
#

you could do a universal taste

#

although that would be overridden by specific gift tastes if they have them

tight rivet
#

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

urban patrol
#

hmm then afaik you'd have to do it individually or else write a C# method to iterate

tight rivet
#

yeah

#

kinda annoying, but it is what it is!

brittle ledge
brittle ledge
tight rivet
#

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.)

verbal narwhal
# brittle ledge Because I'm bad at closing brackets <:SBVLmaoDog:1061416776312832060> It should...
Stardew Modding Wiki

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...

brittle ledge
verbal narwhal
#

I thank you too! I’m very grateful for the tutorial!!

dapper dock
#

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?

brave fable
#

!reload

ocean sailBOT
#
How do I reload my changes while I'm still in game?
  • 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 the ConfigSchema or DynamicToken sections if you use them).
  • Translation files: enter reload_i18n in the SMAPI console window. If it's for a Content Patcher pack, also run patch reload afterwards.
  • C#: see the Visual Studio hot reload or Rider hot reload feature.
brave fable
#

that should cover it SDVpufferthumbsup

dapper dock
#

Thank you!!

#

It seems the reload won't work for an addon to Advanced Melee Framework. Just my main mod gets reloaded.

woeful lintel
sleek flint
#

Hey everyone! I wanted to ask is it just me or does Nexus seem to be severely underpaying you too?

uncut viper
#

considering the monetary expectations i had/have going into modding ($0) id say if anything nexus is massively overpaying me

royal stump
#

DP is intentionally inscrutable now, but my numbers more or less scale with SDV's attention on the nexus chart, fwiw

unique tusk
uncut viper
#

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

unique tusk
uncut viper
#

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

uncut viper
#

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

unique tusk
#

Is this right? :0

uncut viper
#

should do

unique tusk
#

Ty!! :3

royal stump
#

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):
Nexus Mods :: Stardew Valley

Adds miscellaneous new features for other mods to use via new assets, map/tile properties, etc.

verbal narwhal
#

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?

uncut viper
#

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

soft lance
# soft lance mine:

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?

verbal narwhal
#

thanks!

tender bloom
#

algae has category 0

soft lance
#

it shows my entry

tender bloom
#

hmm, yeah i can see it's also 0

#

maybe check what VMV has for the catchable "trash" items?

soft lance
#

and yeah i'll check

tender bloom
#

visit mt vapius

#

it has some items you can catch out of water

#

w/o fishing minigame

soft lance
#

is it a mod?>

tender bloom
#

like a broken bottle

#

yes

soft lance
#

this?

tender bloom
#

No that’s an add on mod

soft lance
#

oh yeah I cant find it then

tender bloom
#

Check the requirements which should link to the original?

soft lance
#

lemme check

#

its prob under a very dif name

tender bloom
soft lance
#

brah same time

#

lol

tender bloom
#

Jinx haha

soft lance
#

yeah i'll check out the code!

#

so a broken bottle?

#

i'll check it out, i appreciate it!!

soft lance
# tender bloom like a broken bottle

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

brittle pasture
#

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,
                },
soft lance
#

i searched everywhere

#

wher on earth did they store it??

brittle pasture
#

[CP] Lumisteria Mt Vapius/assets/items/Objects.json

soft lance
#

category -20

#

probably why i didnt catch it

#

my bad

vernal crest
#

By the way, find in files works much better than searching manually

brittle pasture
#

are you using file system search?

#

what aba said

soft lance
#

just opening each file using vsc

#

and looking via search

vernal crest
#

VSC has find in files

soft lance
#

oh dang

#

yeah idk how to yet lol

#

never really had to till now 😭

#

will check later

vernal crest
#

Right-click on the VMV folder and open it in VSC, then your search will search the entire folder

brittle pasture
#

category -20 is junk, so you may or may not want that

soft lance
#

is category important here?

#

ima do i htink cat 0?

#

i forgot

brittle pasture
#

if it does it will trigger the minigame unless its category is -20

brittle pasture
#

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

drowsy pewter
#

yes

brittle pasture
#

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)

soft lance
soft lance
#

👀

#

oh wait u mean 1.6.15?

#

or 1.6.16?

brittle pasture
#

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

soft lance
#

ahh i see okayy

soft lance
#

if we know

#

if not totally fine!!

brittle pasture
#

When It's Ready™ SDVpufferrad

soft lance
#

ooo

#

so for now, I put it in Data/Locations using the Condition field, I see I guess I can try an attempt!

drowsy pewter
#

but i think i was doing whatever lumina did anyways

soft lance
#

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

verbal narwhal
ornate locust
#

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

static seal
#

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.

tender bloom
#

Have you looked into ftm? It’s possible there’s some feature in it to do that kind of thing

latent mauve
#

I was just about to mention that you can do custom forage and item spawning with FTM

static seal
#

okay,I'll check it!

drowsy pewter
#

spacecore also can do it

static seal
#

"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?"

drowsy pewter
# static seal "I've looked at SpaceCore and reviewed the forage spawn examples, but I'm still ...

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

#

However mine is a repeatable spawn, so there's an extra action that makes them repeat

#

you dont want to do that

static seal
#

the "extra action" is "Condition": "RANDOM 0.0X"?

drowsy pewter
#

no, im referring to the last trigger action on the list that says RepeatConfigFlags

keen magnet
#

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)

urban patrol
#

!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!

ocean sailBOT
#

Making mods can be broadly divided into two categories:

Usually it’s easier to start with making content packs, since you don't need to learn programming.

urban patrol
#

!npc

ocean sailBOT
#
Creating a Custom 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:

keen magnet
#

Thank you so much! ❤️

urban patrol
#

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

hard fern
#

i hate animating map tiles but what i think i hate more is animating the concessions lady

#

who is a map tile.

drowsy pewter
#

@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

hard fern
#

Since im a little interested in adding realistic varieties of existing crops

drowsy pewter
#

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

hard fern
#

Ooh neat

#

Ill keep that in mind

#

I dunno when im actually going to make these crops but

drowsy pewter
#

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

hard fern
#

Will the context tag cooking be compatible with any mod that changes items in a vanilla recipe?

drowsy pewter
#

It wont

#

its either or, if a context tag recipe exists for an item, it overwrites any recipe in the vanilla format

hard fern
#

Ah

#

Ok so i should fix my recipe edits then

raw compass
#

@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

crimson kettle
#

how do i remove the windows from nightTiles then

raw compass
#

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)

crimson kettle
#

ooh

#

tysm

#

i found another easier way btw

raw compass
#

oh 🫠 okay as long as it works! I tried

real atlas
#

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

fossil osprey
#

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?

dapper crown
#

Jesus christ, the color and styling had me thinking it was gonna be a fn ban message xD

drowsy pewter
#

damn, i also though it was about to say you got banned HAHA

dapper crown
#

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

real atlas
#

like real 24 hours

#

seems funny

fossil osprey
#

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

real atlas
#

alr

fast plaza
#

Waiting for Pierre to open at the start of a new season is already annoying enough imagine waiting 3 real hours for it

dusky sail
#

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

ornate trellis
#

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.

drowsy pewter
#

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

drowsy pewter
#

@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

fast plaza
#

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

drowsy pewter
#

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

fast plaza
#

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

hallow prism
#

vanila map edits can be tricky, althought small ones have a bit more margin

#

for your own maps, freedom it is

hard fern
#

🤔 why is eggplant parmesean pasta according to the object data

#

why is stuffing sauce... SDVpufferwaaah

drowsy pewter
#

yes

dusky sail
#

eggplant parmesean is usually served on top of spaghetti

drowsy pewter
dusky sail
#

that one... i dont know

drowsy pewter
#

Haha... ive stumped you..

hard fern
#

it's italian

#

obviously everything italian is pasta

dusky sail
#

i love bruschetta but its hurts my mouth

#

pasta would never hurt my mouth

drowsy pewter
#

I do also like bruschetta

dusky sail
calm nebula
#

What is brushchetta

dusky sail
#

bruschetta is a spread made of tomato and onions thats served on top of crispy bread

hard fern
#

i burn my mouth eating pretty much everything

#

notably pizza

drowsy pewter
#

yes

#

do you think i was asking for compat so i could do nice and good things? no thats just the test run

hard fern
#

😔 so 6480 is evil

soft lance
violet valley
#

Is there a way to make Ginger Island parrot expansion things using only Content Patcher? SDVpufferclueless

gentle rose
verbal narwhal
tender bloom
# brave fable i'm sorry you *what*

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

drowsy pewter
#

lmaoo

tight rivet
#

I woke up to crimes I see

sage bolt
#

Hello i wish to make a custom map for myself using tiled, is there anyone i can ask questions about SDVpufferwaaah

tender bloom
#

!mapmaking

ocean sailBOT
#

If you want to make mods that add or edit maps:

  1. Use Tiled to edit .tmx or .tbin files.

  2. Refer to the Maps wiki page for details on how maps work in Stardew Valley.

  3. Content Patcher allows you to create custom locations through editing Data/Locations

  4. Vanilla Maps can be edited via Content Patcher as well: EditMap

tender bloom
#

There’s a bunch of links here with info but if you have a specific question you can ask here

sage bolt
#

Tysm lovely person SDVpufferwow 💜

tight rivet
#

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)

gaunt orbit
#

Oh no

#

Also hey sakorona, it's been a while

gray bear
#

chatgpt strikes again

tight rivet
#

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.)

slow basin
#

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

cyan marsh
soft lance
#

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.

gaunt orbit
#

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)

junior tiger
ocean sailBOT
#

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.

gaunt orbit
#

you're warping to Custos-Basement but your id is {{ModId}}_CustosBasement

#

also I recommend combining your location data edits into a single patch

junior tiger
junior tiger
gaunt orbit
# junior tiger I can do that? How would that look like?
{
      "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"
          }
        }
      }
    }
gaunt orbit
#

locations can swap around map files freely but their id is always the same

junior tiger
#

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?

gaunt orbit
#

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?

junior tiger
low ocean
#

how do i change the location of the farmhouse on a custom farm?

junior tiger
gaunt orbit
gaunt orbit
junior tiger
#

Oh, so in tiled I replace it with CustosBasement?

gaunt orbit
#

yes, but you also need to prefix it with your mod's UniqueId and an underscore

junior tiger
#

GOT IT! So basically the name the debug menu tells you when you want to look at tiles. I should have known

gaunt orbit
#

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

junior tiger
#

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 ❤️

gaunt orbit
#

of course! it's what the channel is for

low ocean
#

would a 1000x1000 map even load or just crash the game?

soft lance
# low ocean 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

lucid iron
#

this mod does special caching to handle big map

uncut viper
#

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

lucid iron
#

but yea even 200x200 can be quite heavy for weaker computers

low ocean
dusky sail
dusky sail
#

im using ftm but i cant seem to get it to work

brittle pasture
#

can you post the code? I admittedly don't know FTM that well

dusky sail
#

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

brittle pasture
#

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

dusky sail
#

well at least that's a direction to look in o7 time to throw myself at the docs again

tight rivet
#

Hm. How is buff code handeled in food buffs vis CP now?

brittle pasture
#

Data/Objects

tight rivet
#

..yes. I more meant if someone had an example so I can compare against the json I wrote. c.c

lucid mulch
#

check vanilla fish

tight rivet
#

thanks!

lucid mulch
#

as vanilla uses it

tight rivet
#

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. >_>

faint ingot
autumn tide
#

WOOO event testing timeeeee

tight rivet
dusky sail
tight rivet
#

(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!)

faint ingot
dusky sail
#

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

midnight sand
#

At last, it's alive, alive!
Just a little bit more work on the UI and publish.

faint ingot
tight rivet
#

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?)

gentle rose
royal stump
tight rivet
#

mod authors

#

I understand users not, tbh

#

okay, time to go diving into my CP mods for examples

ornate locust
#

For a Love

tight rivet
#

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.)

royal stump
# dusky sail it's not just bad luck with the spawnrates either because I changed the minimum ...

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.

dusky sail
#

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

autumn tide
#

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 :)

royal stump
#

...oh, my bad, I think there's an issue with prefix and temporary locations SDVpufferdizzy

#

the volcano settings do work (with 600-2550 times), but No map named "prefix:UndergroundMine" could be found. Forage won't be spawned there.

tiny zealot
#

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

uncut viper
#

newtonsoft is case-insensitive on the keys by default

tiny zealot
#

but i'm ending up with only the second one

dusky sail
#

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

tiny zealot
royal stump
#

SDVkrobusgiggle 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

tiny zealot
#

ugh i don't want to have to tell people to split their patches

#

but i don't see a better way around it 😔

oblique drum
#

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

tiny zealot
#

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

oblique drum
#

basically make a whole new cutscene depending on what the player chooses at the character making phase

tiny zealot
#

ok. for that level of change you will most likely need to enter the C# mines

oblique drum
#

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

oblique drum
#

but thank you!! I now have a way to go cause I don't have any idea what I'm doing LMAO

tiny zealot
#

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

oblique drum
#

it's way bigger than I can chew honestly but I'm willing to try

oblique drum
drowsy pewter
#

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#

oblique drum
#

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

brave fable
#

i can see it now. grandpa lying in a very flat coffin with a stake poking out of his pyjamas

fathom hound
brave fable
#

and, for my very special offspring, i leave you this letter

tight rivet
#

1300/license per site

#

okay

gaunt orbit
#

How does it track that

tight rivet
#

it's not by the hour

gaunt orbit
#

Does the c# lib phone home for schemas?

tight rivet
#

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

gaunt orbit
#

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

tight rivet
#

yeah

#

it's 130 per person

#

but most likely pathos would need the site license

gaunt orbit
#

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

tight rivet
#

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

hard fern
#

Oops i didnt mean to ping you for that lol

#

Vampire grandpa is not important enough for a ping

lucid mulch
#

I get partial PTSD on the idea of changing anything about that intro cutscene at this point

ornate locust
#

grandpire

red egret
#

Omg xD

floral oxide
#

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

hard fern
floral oxide
#

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 😭

floral oxide
#

There you are SDVpufferthumbsup

hard fern
#

err wow

floral oxide
#

😭 I've no idea if i should just start it again?

hard fern
# floral oxide https://smapi.io/json/none/92b15b3e6a6847e6b9140d637e710042

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???
floral oxide
#

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?

hard fern
floral oxide
#

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?

hard fern
#

Im not sure which NPC mod you were looking at as a reference, but they had to have been using an additional mod get the portraits to work

#

Keeping it compact isn't the issue here, the issue is it just won't work the way you have it