#making-mods-general

1 messages · Page 442 of 1

floral oxide
#

Sorry so just to check to make sure i'm on the right page, because it won't work, it's a better option to just decide to go through another mod like portraiture because it can't load the portraits like that without it?

hard fern
#

Correct

#

And to add on, if you want to use seasonal portraits, you'll need something like portraiture plus

#

(it's an addon mod that allows more functionality for portraiture)

floral oxide
#

portraiture plus? :0 i've never heard of that

#

Thank you so much by the way you've been a big help 😭

hard fern
#

i think the other mods that can do HD portraits don't need any addons though

#

and can do the seasonal/location stuff out the box

devout otter
#

Sorry to interject, but you really don't need to use Portraiture if you prefer to make it conventient for users (e.g making it a config option).

floral oxide
hard fern
#

with the amount of people who struggle getting portraiture to work yeah maybe using a different framework would be better

devout otter
#

Basically what you want is to have an config option for users, right? So enable it if they want the HD version, disable it if not?

floral oxide
#

mm! exactly that

devout otter
#

irocendar is making a mod that would make this much more convenient and robust (you may want to look into it whenever that releases). But currently, your option for what you want is between using Spacecore or ScaleUp 2, both with their own pros and cons.

#

ScaleUp 2 is a bit more taxing, but should be okay if you don't have that many portraits. And less people have it, so people would more likely to need to specifically install it to use your mod.

#

Spacecore is more popular, so people would more likely to already have it. The largest downside is it's a pain to set up if you portrait has many expressions.

urban patrol
#

you had several mistakes with this; i went through and fixed the formatting and added comments explaining what i did and what you should do. would you like me to send an edited version? also, if you haven't seen it, i highly recommend following tiakall's NPC tutorial

floral oxide
#

I think between those, I'd prefer spacecore?

floral oxide
#

Taking all the help and advice I can get

devout otter
#

(Yar, we should tidy up the content.json first before we get into HD portrait shenanigans.)

urban patrol
#

sending it in here because the validator won't preserve in-line comments:

#

i make no claims as to whether this works or not; i just cleaned it up and fixed some things according to best practice

#

!npc and in case you haven't seen these

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:

floral oxide
#

OH RIGHT the config schema at the top Confused I see I see

floral oxide
urban patrol
#

the first link in particular is a godsend

#

also, what software do you use? i recommend notepad++ or VSC

#

it will do things like automatically indent and highlight bracket pairs

floral oxide
devout otter
#

When you've managed to get your NPC appear in-game, portraits and all, feel free to ping if you'd still need help with HD portraits!

floral oxide
urban patrol
#

!software

ocean sailBOT
floral oxide
#

Sorry was making rice, I'm back now and I'll take a look

urban patrol
#

oh one last note i forgot to put in a comment: there were a few places i noticed you put your NPC internal name as just Testingplayer instead of {{ModId}}_Testingplayer. make sure it's consistent!

floral oxide
#

OHH should I do that for most places I mention the character name then? :0

urban patrol
#

yes, an NPC's internal name is how the game knows to associate code with a specific entity

#

this doesn't apply to things like the NPC's name being displayed in another character's dialogue though SDVpuffersquee

#

or a filename (like Testingplayer_sprite.png)

hard fern
#

eek sorry to interrupt but

is there a way to get an npc to only like items that match specific context tags? not just like. general context tag stuff but lets say i had juice_drink and flavor_green, i want them to only like items with both tags, not just anything that falls under one or the other

urban patrol
#

hmm i wonder if you could do some sort of union. off to CP docs i go

shadow urchin
#

afteri learned how to edit maps i made the debris way less traumatizing for me every farm i like

hard fern
#

the debris lined up single file for you XD

#

in rows

urban patrol
#

maybe you could set a dynamic token? like {{GreenJuice}} when item has context tag 1 AND context tag two

hard fern
#

what am i doing with the dynamic token though

shadow urchin
urban patrol
#

wouldn't it resolve as every item that has both those tags? that doesn't feel right hmmm hang on

uncut viper
#

no, you cannot do that unless you assign each item that has both those tags a different third tag

hard fern
urban patrol
#

okay wait i think i've got it. create a new context tag and assign it to every item that has both context tags, using a dynamic token i think

#

ah thank you button

uncut viper
#

a dynamic token wont do this for you

urban patrol
#

darn

hard fern
#

if it were only one or two npcs i had to do this for it would be one thing, but with the entire vanilla town's worth of npcs i might crack SDVpuffersweats

#

in total i have 3 "base" context tags, and each of those 3 has 4+ options... which then i have to take into account every combination... i glossed over permutations in my math class SDVpufferwaaah

floral oxide
hard fern
#

😔

woeful lintel
#

Mixed Tastes Framework time?

hard fern
#

i have never C#'d in my life

uncut viper
#

it wouldnt be difficult C#, at least

woeful lintel
#

I never looked at the part of the code that handle tasted, but I can take a look (and maybe make a prototype) tonight if you're interested

uncut viper
#

if you just want it for this one mod, all you'd need to do is iterate overy every object and check for both tags, then add a third

hard fern
#

i feel like being able to mix context tags in gift tastes to filter out specific items would be really useful

lucid mulch
#

A late edit in c# land would do it very easily

woeful lintel
lucid mulch
#

Most items innately have very few context tags and can short circuit if it's missing the first you cared about

woeful lintel
#

I'm thinking of adding a "mixed taste" asset and check it every time a gift is given.

#

Could be very efficient with the right data struct

lucid mulch
#

Doing the work every gift taste vs doing it once*

uncut viper
#

you'd need to do the same check during the gifting that you'd do during the iteration anyway

lucid mulch
#

Also less composable and has increased chance of incompatibility with other mods harmony patching gift taste stuff

uncut viper
#

the only real benefit you'd get is supporting auto-generated context tags, but i dont think those are really first in mind when thinking about gift tag tastes regardless

woeful lintel
#

I'm sure there is a better way than adding a bunch of context tags on the concerned items.

lucid mulch
#

Context tags is the vanilla mechanism for describing attributes that systems like gift taste works

#

And stuff like lookup anything or any of the many other UI mods will just work automatically

woeful lintel
#

YeahI know

lucid mulch
#

As you aren't fighting against vanilla systems but working with them

woeful lintel
#

I doubt everything checking context tags uses a general method that could be patched for everything?

uncut viper
#

there are many things that check item context tags, but not all of them have to do with gift tastes

lucid mulch
#

Don't need to patch any methods, just populate the data model

uncut viper
#

there is one method that a lot of things use for it, but mods can ofc use different ways too

lucid mulch
#

It just can't easily be done in cp as cp isn't allowed to know the before state.
But a c# mod editing data/objects can

woeful lintel
#

Ok, now I'm thinking about if it's only usefull to do a logical AND or if other operations could be useful

#

For gift tastes, it's already doing an OR over all the tasted

uncut viper
#

well an OR is what we already can do so you can cross that one off

woeful lintel
#

Yeah

uncut viper
#

i dont remember, do context tag gift tastes support !?

woeful lintel
#

I'm always thinking about the worst case, like what if someone wants to do a AND (b OR c) ?

uncut viper
#

thats where prepopulating the model with context tags from an iteration would work

#

you would just do B or C first and then whatever context tag thats a result of would be put next to A

woeful lintel
#

Yeah, I gave up on another system, because of compat and everything

slow basin
#

im thinking in order to reduce creating the laggiest mod ever im going to split one of my mods up into a series

woeful lintel
#

I'm thinking about a funny way to do combine conditions in json. Cuz a string parser would be too simple.

slow basin
#

miainly because even though im making a mod for just the main characters of a special interest of mine thats still like 30ish characters and idk if thats be crazy laggy or not

hard fern
#

just look at rsv

#

50+

woeful lintel
#

Seems like it's mostly a lot of data

slow basin
#

oh thats how many there are O_O

#

nvm i might be fine

#

.>

#

lemme count the characters i need to make actually

#

about 50ish main characters (i odo not plan on releasing this for awhile tbf)

#

its like a little passion project

devout otter
#

(I think it's a good idea to split your mod anyway if you have a clear and convenient way to divide it, so you wouldn't get overwhelmed.)

slow basin
#

true hmm

hard fern
#

i know you were working on animals? (not sure if that's part of the mod or not) but you could split that from like, the npcs and stuff

slow basin
#

🙂‍↕️

#

i have a few animals im working on

#

i like hopping around my projects so i dont get burnt out

devout otter
#

Personally, I thrive on people's reactions to my mod, so my mod release strategy is usually to release the core of it (feature-complete things that I'm proud to show off) and then update it with more content over time.

urban patrol
#

if you’re doing a homestuck themed mod, i would keep it all as one mod to avoid accusations of DP farming

hard fern
#

homestuck...

slow basin
#

ok ill keep it all as one 🙂‍↕️

#

i actually just made a blog dedicated to it 😄

#

so i can keep track of things and share updates without spamming a bunch of hs in here

dusky sail
#

It can be one mod but with the characters still split up so its like ok this is the 1.0 with 4 characters. 2.0 will have 10. Etc etc etc

#

Like by updating with new content i mean

slow basin
#

ic ic

#

things im considering besides just characters/locations

  • lusii farm animals

  • some clothes? like everyones sign, maybe some horns and dirk and daves shades

#

id do festivals but i heard u need c# for that or something and i dont wanna

#

maybe if i ever get help from someone who WANTS to do that but for now it will not be happeningwqflkdj or if i ever wanna try to learn but that sounds painful XD

urban patrol
#

wdym? adding characters to festivals doesn’t require C#, but creating events where you can walk around and interact (which is what festivals are under the hood) probably does

#

you can look at how RSV adds their custom festivals

#

which i believe are passive and don’t need C#

slow basin
#

Hm passive?

urban patrol
#

like the night market

slow basin
#

O

#

huh ok maybe there will be festivals lmao

lucid mulch
#

iirc you can make active festivals entirely in data, but I think lewis needs to be host

slow basin
#

🤔 interesting

woeful lintel
shut edge
#

Cursed mod idea: dynamic skin tanning based on time spent outdoors

#

Could call it farmer's tan

woeful lintel
#

@slow basin if you need C# on this project at some point, I should be able to help.

slow basin
tough root
#

Hello Guys !

Any idea where to find the Artifact Spot assets in the unpacked files ?

drowsy pewter
#

loosesprites cursors i thinn

tough root
fossil osprey
#

Of course it's cursors

shut edge
#

It usually is

dusky sail
#

Its always either cursors or springobjects

floral oxide
#

Hey everyone, sorry to interrupt, just have a question here. Looking at the Seasonal Outfits tutorial on https://stardewmodding.wiki.gg/wiki/Tutorial:_Adding_Seasonal_Outfits_via_Appearances
This website here, but i'm just wondering, do i have to do this load command for every outfit? or is there a way to load multiple at one? Lets say there's NPCname_Spring_Indoor and NPCname_Spring_Outdoor. Will these need their own commands each like this

Stardew Modding Wiki

Last edited by AtlasVBot on 2025-09-13 18:56:09
If you want to add seasonal outfits for your NPC, there's two ways you can do this: the token way or the Appearances way. Appearances is a new code structure added in SDV 1.6, so if you're looking at an older NPC's code for reference, they'll most likely be using the token way. The main difference ...

#

or can you add multiple to that one?

vernal crest
#

You can load them in one patch using the TargetWithoutPath token, which takes the asset name given for the Target after any forward slashes. Name your files the same thing that you want their asset name to be. Here's an example.

My file names would be Abagaianye.HiriaNPC_Hiria.png, Abagaianye.HiriaNPC_Hiria_Beach.png, and Abagaianye.HiriaNPC_Hiria_Summer.png. Make sure you include your mod id as a prefix for the asset names and for your NPC's internal name so you can ensure they are unique.

{
    "LogName": "Load textures",
    "Action": "Load",
    "Target": "Portraits/{{ModId}}_Hiria, Portraits/{{ModId}}_Hiria_Beach, Portraits/{{ModId}}_Hiria_Summer",
    "FromFile": "assets/images/{{TargetWithoutPath}}.png"
},
floral oxide
#

i think i get it, thank you so much for showing me an example, so mine might be something similar like

{
    "LogName": "Load Seasonal Textures",
    "Action": "Load",
    "Target": "Portraits/{{ModId}}_Vivellion, Portraits/{{ModId}}_Vivellion_Winter_Outdoor, Portraits/{{ModId}}_Vivellion_Winter_Indoor",
    "FromFile": "assets/images/{{TargetWithoutPath}}.png"
},
vernal crest
#

As long as your portrait files were in assets/images, yup. If they're in a different folder you can just adjust the FromFile field.

floral oxide
#

OH right, so if i split portraits and sprites as subfolders in the images file it would be this for portraits

"FromFile": "Assets/images/portraits/{{targertWithoutPath}}.png"

And Sprites, assuming- do you use the same thing for sprites as well?

"FromFile": "Assets/images/sprites/{{targertWithoutPath}}.png"

vernal crest
#

Yup, you can do it for any images or map files that you load

floral oxide
#

Thank you so much for helping me SDVpufferheart this server has been nothing but great to me for advice, i really appreciate itSDVpufferthumbsup

vernal crest
#

You're welcome!

floral oxide
#

oh! one more question just to make sure as well

#

these bits of code, do they go in the content.json?

vernal crest
#

That's up to you. You can put every piece of json in your mod into your content.json if you want to, but if you find that gets too big and overwhelming you can split it up into different files using Include patches*. As far as Content Patcher is concerned they are the same thing - it will read the content of the additional files as though they were in the content.json.

* you can also, later, do some amount of templating with Includes and can do stuff like put all your compatibility patches for other mods inside an Include with a HasMod check for the relevant mod so the code inside won't try to run if the mod isn't installed, but that is all extra stuff that your mod does not need to function

floral oxide
#

I'll keep that in mind for sure :0 thank you again

eager mural
#

Heyy I'm very new to stardew modding and I got a question, this is my first time writing a CP and I'm a bit confused by the wiki
I'm looking to create a new area in the game that is detatched from the main map in order to keep it compatable with mods that change the map shape by using Central Station as the way to get there, but what I'm stuck over atm is how to create my map. Looking at the wiki it says about unpacking the map's XNB to edit the map but I'm not editting it? Do I just use Tiled and load the tilesheet I want to use and then go crazy from there or what's the steps for this?

drowsy pewter
#

The most efficient way actually is just to grab a vanilla map file and make a copy of it, then turn it into your own map! You can even delete everything and make it your own

#

It just ensures that all the metadata and stuff is already set up to work for you

#

Make sure to unpack the entire game's files with the xnb unpacker so you have access to all the tilesheets!

vernal crest
#

The maps page of the wiki does have step by step instructions for how to get started (which is unusual for the official wiki) but yes, you do need to unpack the game first so you have access to the vanilla maps to copy

dusky sail
#

YESSSSSSSSSSS

#

ok now i just have to adjust the spawnrates

drowsy pewter
#

why adjust them

#

looks fine to me

dusky sail
#

adding in a condition so if it detects 6480 is playing it changes the spawnrate to be 1000x

drowsy pewter
#

are those mushrooms?

dusky sail
#

yea

drowsy pewter
#

i do love weird mushrooms

#

also have you been context tagging all your items?

dusky sail
#

yeah but i never know what tags to add besides like. color or the "edible_mushroom" tag

drowsy pewter
#

for evil cooking purposes i am urging mod authors to use <name>_item tags like chanterelle_item, carrot_item, lettuce_item

#

but if theyre made up items its a little harder so its fine

#

do you have the color chart?

dusky sail
#

yes!! after i saw this for the first time i went back through and edited the color tags for all my items

drowsy pewter
#

Oh thank god that means people are actually seeing it without me having to be the one to post it

dusky sail
#

who knows maybe it was you who posted it then

drowsy pewter
#

probably

dusky sail
#

i will go through and add some <name>_item tags to the real-enough items in my mods. for you

#

and your evil cooking purposes

drowsy pewter
#

yesss

#

root_vegetable_item and leafy_green_item are two more general ones that might also be applicable

eager mural
#

Like just same process and just upload a different tilesheet?

dusky sail
#

why must the english language be ambiguous in whether "pepper" means the spice or the type of fruit...

vernal crest
#

Use irocendar's tilesheet extension to select the tilesheet from inside the mod folder (so it stays in its correct folder but you don't get tilesheet climbing errors). But in terms of beginning, you'd still want to start with a vanilla map, yes. Just delete any tilesheets from it that you don't want to use.

vernal crest
dusky sail
drowsy pewter
#

i use the tag chili_item

dusky sail
#

but what about the soupish cooked dish also called chili

#

what then

#

(being pedantic for fun)

drowsy pewter
vernal crest
drowsy pewter
#

dont tell anyone but jelly beans are a substitute for any bean

floral oxide
#

Hey, sorry to frequent here so often guys, i've finished with the content file but I'm getting these errors popping up in Smapi

https://smapi.io/json/none/cd099537455842ff88094bf1eecd17a5

Here is the link to the JSON, I'm honestly unsure where to begin and how to fix what's gone wrong, can i have some help if someone wouldn't mind at all? Sorry to interupt in here

vernal crest
#

You didn't finish your file properly. Looks like you're missing the closing square bracket for the Changes Block before the final closing curly bracket

#

You should make sure of N++'s json plugins to help you fix your indentation. That can make it easier to spot when you have bracket or nesting problems.

vernal crest
floral oxide
#

json plugins? :0

vernal crest
#

Yeah, go to the plugins menu and search for json. There's json viewer and json...tools, maybe?

floral oxide
#

I don't have any Json plugins showing, sorry SDVpufferwaaah

vernal crest
#

You can't see them in my list because I already have them both installed but you should have them there.

floral oxide
#

So this first image is the start to the changes, and this is how it's ended but i'm still getting the error that says Invalid property identifier character: ]. Path 'Changes[8].Entries', line 192, position 1, you mentioned a curly bracket, is there another one i'm missing that should go after? :0

floral oxide
vernal crest
#

Oh, the indentation misled me as to which brackets were missing. I thought it was just the square bracket but yes, you are missing another curly bracket after the closing square bracket

floral oxide
#

i swear I'm just going in circles, thank you for being patient with me, now it looks like this, but i'm still getting that 😭

#

Line 192 is the ]

vernal crest
#

Looks like you were missing two curly brackets, one before and one after the square bracket

#

I should always just put the json into VSC and fix it myself with things like this before I reply. I can never find all the problems trying to look at the json validator.

#

The end should look like this

floral oxide
#

oh- do they have to be staggered like that? :0

vernal crest
#

Sorry for not just checking properly in the first place

#

Not for the computer's sake, no. But that proper indentation lets us humans read it properly

floral oxide
vernal crest
#

Hence why I was encouraging you to get the json plugin so it will fix yours and it will be easier to read

brave elbow
#

hi everyone! Im kind of new to stardew modding and I wanted to know if is possible to get NPCs responding to a player given gift... Like no just dialogue. You gift them something, and they fire an event, give you another item, open a new area, whatever 😅

vernal crest
#

It's much harder to tell that all your appearance patches are inside the Entries field, for example, when the brackets for them are on the same level as the EditData patch instead of indented

floral oxide
#

what options do you have enabled for your plugins that make it easier for you personally while looking at JSON files?

floral oxide
vernal crest
vernal crest
vernal crest
# floral oxide so, sort of move them further across?

Yes, and they should've been doing that automatically when you hit enter to go to the next line because N++ is supposed to have automatic line indenting. I recommend using the tab key. But if you either switch to VSC or install one of those plugins that I said, you can use the auto format function

floral oxide
#

I did notice your brackets come up in colour, do they indicate anything depending on the colour type?

brave elbow
vernal crest
vernal crest
brave elbow
#

I think I got them

vernal crest
# floral oxide what options do you have enabled for your plugins that make it easier for you pe...

This is the auto format option for json tools, by the way. It will move all your brackets and stuff to the right places. It will also tell you there were a bunch of errors but that's just because it doesn't like commas with nothing else after them (trailing commas) and it doesn't like comments. But we use a less strict form of JSON that does allow both of those things so we can ignore the errors.

tiny zealot
#

(grousing) stardew's font handling is cursed, why did i try to do this SDVpufferwaaah

floral oxide
vernal crest
#

I prefer VSC and tend to recommend it over N++ or Sublime because I think it has more useful features for newbies and its auto indentation seems more robust to me. I also like having my rainbow indentation and coloured brackets. N++ doesn't seem to have any way to have coloured brackets (that change according to level, anyway)

#

I also always recommend that people get very familiar with their auto format keyboard shortcut and use it aggressively

#

(I may have a slight pet peeve about sloppy formatting lol)

patent lanceBOT
tiny zealot
#

atra how dare you make light of my foibles /lh

calm nebula
#

This is cursed, what am I doing, why am I doing this

floral oxide
tiny zealot
#

unfortunately, solving the problem broadly is getting fucky /lh

vernal crest
vernal crest
tiny zealot
#

it's not you SDVpufferheart
it's stardew. a cruel mistress

gray bear
#

i also have this one but idk if it's needed tbh_flat

#

stardew mean

lucid mulch
#

very much not needed

gray bear
#

uninstalled. jsontools seems cool

vernal crest
#

That is not the right program Bea. It's also very odd because VSC very much has native json support. Is it really old or something?

gray bear
#

it sure is, i should start reading things

vernal crest
#

Don't be tempted by json tools. You don't need to switch to a less useful program lol

lucid mulch
#

looking at the extension page it isn't directly json support anyway, its sidebar stuff to navigate a json file

vernal crest
#

I tried to look at it but it's not in VSCodium's marketplace and I wasn't invested enough to google it lol

lucid mulch
#

but yes, json is included in vscode out of the box.
it is internally an extension, but not shipped through the marketplace(s)

gray bear
#

what's the debugger for firefox plugin thing

#

e_stares plugin goes brrr

vernal crest
#

I know not of what you speak

gray bear
iron ridge
#

firefox extensions?

#

or remote debugging via websocket for devtools

gray bear
#

vsocde is saying this

calm nebula
lucid mulch
#

does what it says on the tin, opens up a firefox window and links the devtools instance to vscode so you can use vscode breakpoint debugging rather than doing it inside firefox devtools window directly

gray bear
#

fancy

lucid mulch
#

there is also one for chrome, edge and probably others

vernal crest
floral oxide
#

AHHHH WE DID IT!!!

vernal crest
#

I wonder why that keeps happening with people making new NPCs

vernal crest
#

It's not Tia's fault, they've clearly got the mod it token for Wren's internal name in their tutorial SDVpufferthinkblob

vernal crest
gray bear
#

common new modder mistake really

vernal crest
#

The use of disposition definitely indicates a tutorial

vernal crest
floral oxide
#

this one here

vernal crest
vernal crest
#

(I am asking to see if there's a way we can improve our resources, not for blame)

lucid mulch
#

I'm going to scream seeing a tutorial still recommend calling a file dispos.json

vernal crest
#

Maybe you should ask Tia if you can change it lol

lucid mulch
#

also under seasonal outfits is straight up invalid json with a missing quotation mark

gray bear
#

file dispos are needed for 1.5 npcs no?

#

oh wait

vernal crest
#

In the tutorial or King's json?

#

Oh, tutorial

#

Yeah I'll fix that one. I obviously missed that last time I did a check for broken json there

gray bear
#

something happened with that json

#

what even were dispositions

floral oxide
#

I- actually you make a good point, I can't see why, it must have just been an honest mistake of mine? I went back and re-read it all and noticed that it does have {{ModId}} before it all, hoenstly i can only say maybe i skipped over it because when i read it i tend to skip through whats in the curly brackets mentally knowing what's in it?

Then when i go to type it out i must only remember 'NPCname' and put the name there😭

I find it really odd reredaing it now going 'where did i get it from' I can't honestly see it, it must have just been an honest slip up on my part :0

gray bear
#

NPC internal name and NPC display name are two different things

vernal crest
floral oxide
#

would you put the internal name even for things like

"LogName": "Vivellion Dialogue",

tiny zealot
#

logname is just for you and isn't fed to the game

vernal crest
gray bear
#

oooh

vernal crest
gray bear
#

first one is internal name which is just the ID of the npc, really, need it to edit any of their fields. second one is how they're refered to in the game

#

internal name is just an ID no? am i mistaken? wahh

tiny zealot
#

these days i like to think of logname as like the ctrl-f codes that people would put in their extremely long text file walkthroughs on gamefaqs

devout otter
#

I mean I don't see what's wrong in putting your NPC data in a file called dispos.json. It's just personal organization, yar? I have mine in content.json in one mod. And separated into several character-named .json in another mod.

lucid mulch
#

also under "changes from 1.5", it is content patcher keeping old content patcher packs working not smapi, and "the old 1.5 dispositions will still work" only if format version stays <2.0
and with the version of cp that actually shipped, I don't think it actually has the token constraint on birthday.
That constraint was true for my original prototypes, but the version pathos ended up using wouldn't

gray bear
#

name of the json doesn't matter much, no

vernal crest
dusky sail
#

figuring out one modding problem only to immeidately find another oh yeah baby thats what i do this for. im going to bed

gray bear
#

have a good sleep! pats

tiny zealot
#

having the character file called "dispos.json" is a trap street so we know at a glance which tutorial a person followed 😌

patent lanceBOT
calm nebula
#

Brb, making a mod that uses the wrong file names for everything

gray bear
#

atra nooooooo

calm nebula
#

All npcs are in "blank.json"

gray bear
#

what are the blanks called

calm nebula
#

Enjoy utils.cs being the modentry

vernal crest
#

It's bad enough that people don't understand blanks and sometimes load them over vanilla assets

lucid mulch
#

My genuine advise is everything stays in content.json unless you use local token includes

calm nebula
#

"gifts.json" is actually all dialogue

#

And quests are in "hacks.json"

floral oxide
gray bear
#

hacks.json,,,

#

we need a "when to use a blank json?"

vernal crest
lucid mulch
#

most content patcher mods aren't actually big enough to need to leave content.json but splitting the npc creation process across like 10 files as a "introduction to stardew modding" is a recipe for disaster

gray bear
#

the crime is pretty

devout otter
#

(My Mermaid mod has all its dialogue in default.json. >_> )

gray bear
#

(that's where dialouge is tho)

vernal crest
#

I have not yet been converted to the idea of multiple i18n files

devout otter
#

(The dialogue has no i18n key.)

gray bear
lucid mulch
#

I'm also team screw i18n, LocalizeText all the time so it also can be in content.json

vernal crest
gray bear
#

i'll die on the i18n hill

vernal crest
#

I am investigating switching over from i18n to LocalizedText

#

I have to figure out how to do everything in it before I commit

tender bloom
#

I’ve done both somehow

#

I think

gray bear
#

see i find it's easier to learn new things when there's, a tutorial

lucid mulch
#

not needing to deal with remembering to pass tokens into the parameters of i18n for staticy stuff when the strings edit can just use tokens directly is great

gray bear
#

e_stares i want to understand that means, truly, i fear i cannot

vernal crest
#

I did have a weird situation with LocalizedText where my random dialogue wasn't updating properly, but then when I tried to check it again to verify it was mysteriously not happening

gray bear
#

game trolling u b_nod

devout otter
lucid mulch
#

...that sounds miserable

gray bear
#

how is this sorcery achieved

lucid mulch
#

why would you want the keys to change with language

gray bear
#

bc, other languages exist? 😭

vernal crest
tiny zealot
#

LocalizedText is fine and good but unless and until it catches on broadly i would include a note for potential translators so they know where to edit your strings

drowsy pewter
gray bear
#

pls do anything else first

tiny zealot
#

it also likely isn't worth the effort to convert an old mod using i18n over to it unless you're already overhauling everything

calm nebula
#

Look, I dont think you understand fanfiction authors

devout otter
gray bear
#

i18n hasn't wronged me, i have wronged it

calm nebula
#

I once spent half a day researching computing in the 1970s for a Harry Potter fanfiction

gray bear
#

i- have questions

lucid mulch
#

LocalizedText is in many ways the most pure way, as its straight up following vanillas homework, and an unpack shows plenty of examples of how to use it

gray bear
#

jokes on u i dislike how vanilla does things sometimes

lucid mulch
#

The only harry potter fanfiction I know is hpmor and I plan on keeping it that way, though it does talk about computing in the 60's I think for artificial intelligence

vernal crest
#

Many people can't look at vanilla and understand what it's doing

lucid mulch
#

if you cant understand vanilla, you are doomed as a modder anyway.
you need to know the asset you intend on editing

vernal crest
#

Although I am definitely on board with LocalizedText, I do intend to leave any potential translators very detailed notes and probably a template for how to do it

vernal crest
drowsy pewter
#

im so confused by this entire conversation

gray bear
#

im lost in the sauce

calm nebula
#

Aren't we all

#

Anyways, gotta go make money baiiiiiiu

gray bear
#

i understand how vanilla does things, i just don't do it the same. i dun wanna

#

may u have a swift workday atra

calm nebula
#

It will be a swift workday ||as in listening to Taylor Swift right?????||

gray bear
#

i meant it goes by fast but that works too

vernal crest
#

-sigh- why is drawing so slow compared to writing json

devout otter
#

What's a simplest way a translator can do to upload a translation mod for a pure LocalizedText mod?

gray bear
#

writing json tends to be atleast a bit more straight forward

#

art is like, do i use this color? is this line okay? but what if-

#

and there's no correct answer, really

vernal crest
#

Download a template and edit only the values in the content.json and manifest.json that the mod author has indicated, I think

lucid mulch
devout otter
vernal crest
#

But if the mod author has not provided a template, they have to be able to look through the original mod and identify what to edit and how

gray bear
lucid mulch
#

which is an advantage over i18n which has to be internal to the mod, so translation mods tend to just ship a (usually outdated) copy of the original mod, while LocalizeText the translations are just an addon to the original mod

gray bear
#

they don't do that anymore

vernal crest
#

We are really moving away from the copy of the mod thing

gray bear
#

i18n files are also addons

vernal crest
#

Most of the translations I see now are i18n

lucid mulch
#

if I have to manually move files between folders, its immediate disqualification for me anyway

gray bear
#

i wish people would just use the same format so it's just drag and drop

lucid mulch
#

I refuse to touch any mods that require portraiture for that reason.
if stardrop cant handle it end to end its not a real mod

gray bear
#

but generally speaking u just put files into the i18n folder

#

i mean it's not that bad, i'd say

drowsy pewter
#

i think theres an issue in the small number of people in the middle of the venn diagram between "people who have the ability, time, and want to translate mods" and "people with the experience and knowledge to write basic cp mods"

gray bear
drowsy pewter
#

so i see whats being said but theres an activation cost essentially

devout otter
#

I imagine it would get messy when the pure LocalizedText mod gets a mod that changes its text. And then that other mod gets a translation mod.

lucid mulch
devout otter
#

LIke I'm imagining something Romanceable Rasmodia on top of Romanceable Rasmodius on top of SVE on top of vanilla, but each has LocalizedText with no i18n and each with its own translations.

drowsy pewter
#

sounds great, when are you publishing that?

gray bear
#

it's a big leap between "making a single json file" and "understanding how to use LocalizedText, making an entire mod"

gray bear
vernal crest
#

I would like all the wizards to be stacked on each other's shoulders

gray bear
#

wait that's the wrong month

lucid mulch
gray bear
#

it's not a mod, it's a translation

vernal crest
vernal crest
tiny zealot
#

one nice feature of using localizedtext is you get to skip running reload_i18n before patch reload /lh

lucid mulch
#

unless you are pathos who populates the strings asset with i18n, so needs it anyway

gray bear
#

ichor do u know how to use loalizedtext

tender bloom
#

What if you store all your localized text in a mod-specific file?

vernal crest
#

That is what I am doing

tender bloom
#

And then let translators Load it

#

A small crime but maybe a lesser crime

gray bear
#

i do like crimes

lucid mulch
#

problem with load over editdata, is 1) tokens no longer exist, and 2) no fallback on specific entry keys anymore

devout otter
vernal crest
#

I don't see how using localized text would change that though. It's just changing where the translation is stored.

tiny zealot
vernal crest
#

Unless you are imagining that they are overwriting each other in a vanilla strings asset, I guess

lucid mulch
#

the only real change with i18n vs localizetext in a modding capacity, is with i18n a separate mod can only replace where the i18n is used with something else.
localizetext they can either replace the usage, or edit the strings asset powering it.

vernal crest
#

Hmm I had forgotten I will still want CP tokens inside the translation text, I guess I will need to change to EditData

#

Wait. I am a forgetful genius! I already am doing EditData

gray bear
vernal crest
#

I am not sold on the rainbow indent package for Sublime, I have to say

gray bear
#

so like, does the translator just need a mod with editdata to add translations

vernal crest
#

Yep

devout otter
vernal crest
#

Only if they were going to regardless of LocalizedText, because if Rasmodia was correctly loading after SVE it would replace the SVE lines with its own lines and they would point at the Rasmodia strings asset just like it would point at the Rasmodia i18n asset.

Totally made up example:

// Vanilla Characters/Dialogue/Wizard line
"Mon": "I'm such a grumpy old wizard."

// SVE edit to that in Characters/Dialogue/Wizard
"Mon": "[LocalizedText SVE.Strings:WizardyMon]"

// Rasmodia edit on top of that again in Characters/Dialogue/Wizard
"Mon": "[LocalizedText Rasmodia.Strings:SexyWizardyMon]"
soft granite
#

If i have an event that takes place when the farmer walks outside the farmhouse, how do i know where the farmhouse is if the farmhouse’s location varies?

gray bear
#

SexyWizardlyMon KEK

lucid mulch
#

from memory farm events are magic and offsets the coordinates or something, but would need to look at vanilla farm events to confirm

gray bear
#

farm events do their own thing

#

which i know nothing about

#

see Events/Farm to maybe help ya. most of them are just next to the farmhouse

soft granite
#

Hmm so if i already have an event that i have coded place the farmer just outside of the farmhouse’s door, i should expect it to still work even if the farmhouse moved?

devout otter
# vernal crest Only if they were going to regardless of LocalizedText, because if Rasmodia was ...

I'm thinking more of a case like this. ```// Vanilla Characters/Dialogue/Wizard line
"Mon": "I'm such a grumpy old wizard."

// SVE edit to that in Characters/Dialogue/Wizard
"Mon": "[LocalizedText SVE.Strings:WizardyMon]"

// German translation to SVE.Strings
"WizardyMon": "Ich bin so ein mürrischer alter Zauberer namens Magnus."

// Rasmodia version of SVE.Strings
"WizardyMon": "I'm such a sexy witch."```

gray bear
#

keys would need to be different no?

devout otter
#

I mean, one of great advantage of using LocalizedText is that you don't have to search for the asset the text is located and can just target the same key.

lucid mulch
#

looks like event initialization when its a farm, as long as the magic 4th initialization isn't "ignoreEventTileOffset" or magic eventid -2 then the following happens:

camera position gets moved to the front door position as long as it wasn't x < -1000

non-farmer characters get set to frontdoor position X, and Y+2, and facing direction of 0
farmer as long as the x isn't -1 get set to frontdoor position X and Y+1 and has facing direction of 2

gray bear
#

so where the farmhouse is doesn't really matter

lucid mulch
#

correct

#

though Im guessing the only event that might dare use ignoreEventTileOffset is the intro, which is before the player had a chance to move the house anyway

vernal crest
# devout otter I'm thinking more of a case like this. ```// Vanilla Characters/Dialogue/Wizard ...

Hmm, in the context of something like dialogue this wouldn't make sense to me because I don't know why you'd target the translation key instead of the dialogue key, but for an event it does make more sense. In that case, I guess it would be important for the Rasmodia translations to run later than the SVE one. But I don't see that that is necessarily more of a hassle than the approach with i18n where one has to edit the event itself to change the translation key to something else. I do see that the hybrid LocalizedText/i18n approach might be most useful in this situation though SDVpufferthinkblob

#

This has been a handy conversation for helping me try to predict the possible issues with switch to LocalizedText, thanks SDVpufferheart

autumn tide
#

hellooo uhh is this written correctly?
"Mon": "{{i18n: i18n_Dialog.Krobus.Generic_Sewer.0h.{{Random:{{Range: 1, 15}}}}",

#

the sheer amount of curly brackets-

round timber
#

looks like you might be missing another set of brackets on the end

devout otter
#

6 opening brackets, 4 closing brackets.

autumn tide
#

oh?

#

damn okay, so many brackets-

#

uh, where should i place the new brackets then?

round timber
#

two closing brackets at the end

#

every opening bracket needs to have a closed bracket counterpart

autumn tide
#

alr, so {{i18n: i18n_Dialog.Krobus.Generic_Sewer.0h.{{Random:{{Range: 1, 15}}}}}}

round timber
#

yes

autumn tide
#

okayy

#

ty SDVpufferheart

round timber
#

is it not possible to conditionally hide an NPC from NPC Map Locations? i tried doing it but that just made the NPC invisible all the time

devout otter
#

I've tried to do the same but unfortunately it seems the change would not apply until you restart the game.

round timber
#

SMCPensiveMove pathos pls fix

vernal crest
#

It works if you actually make the npc invisible and from what I remember from the code it runs the checks at the same time so I would've thought they would change the next day

#

I might just be misremembering though because it's been a...year...since I looked at it and I was only investigating invisible NPCs

round timber
#

hm... where should i look for more info about invisible NPCs?

vernal crest
#

Trigger actions!

#

It leaves them there but makes them invisible and non-interactable. If you know where they are you can still Lookup Anything them though SDVkrobusnaughty

#

Elliott uses it when he goes off on his book tour

#

He's actually still lurking in the farmhouse the whole time

#

Like Bruno

round timber
#

ah... can you not do it so that theyre invisible for an indefinite amount of time? like, until you watch a certain event

vernal crest
#

Yeah you'd just set the days really high

#

And then set them visible again with another trigger action

round timber
#

i see i see

#

i shall experiment

vernal crest
#

Here's a set of trigger actions I have for Hiria so she "goes" to the dentist. I might switch it to a warp room later but I had fun experimenting with the different BETAS and Spacecore features lol

#

In Hiria's case I just set her invisible for 1 day because I was bringing her back after a couple of hours on the same day anyway

#

But I have tested and you can do like 9999

round timber
#

yeah my tent map already acts as a warp room (because the map patch that leads to the tent will disappear sometimes) so id rather not make a whole other room if i can

vernal crest
#

However, NPC map locations only updates overnight so she's still visible on the map for her dentist visit I'm pretty sure

#

But if you need an NPC to be gone for entire days it works fine

#

It was my first ever PR!

round timber
#

yeah Honeyfuggle is going to be gone for entire weeks so hopefully this works for my purposes

vernal crest
#

(Pathos had to make it better of course but it was still a big step for me to identify and fix an issue in a C# mod hehehe)

#

(And work up the courage to ask Pathos about it lol)

vernal crest
whole raptor
round timber
#

!PLAYER_HAS_SEEN_EVENT Any {{ModId}}_Introduction
does this query mean the action will still apply if at least one person has not seen the event? or that it will no longer apply as soon as one person sees the event?

vernal crest
#

As long as one person hasn't seen the event yet it will still apply Edit: all the smarter people say otherwise

tiny zealot
#

! negates the whole query, so this is "not any person has seen the event"

vernal crest
#

Welp apparently we came to opposite conclusions lol

#

Trust ichor over me

round timber
#

so if i want the latter option... do i keep what i have?

tiny zealot
#

now i'm second-guessing but i was fairly sure ! just flips the result

#

i think if you want it to stop applying as soon as someone sees the event, keep as-is

vernal crest
#

Pretty easy to test with a quicker GSQ like PLAYER_VISITED_LOCATION imo

#

But I will not be doing that due to the current proximity to 2am

brittle pasture
#

Any = A OR B, so Not Any = Not (A OR B) = Not A AND Not B

#

so it will be true if player A has not seen it AND player B has not seen it

gaunt orbit
#

Couldn't you also do NOT A, NOT B

calm nebula
#

De Morgan's strikes again

gaunt orbit
#

IIRC commas work as ands in gsqs

tiny zealot
vernal crest
#

Yup I am too tired to follow how Not (A OR B) equals Not A AND Not B, time for bed!

gaunt orbit
#

Ah sorry I misunderstood, I thought you meant using the ANY query

brittle pasture
#

I guess switching from Any to All will give the desired effects?

tiny zealot
#

i think vin wants not any

vernal crest
#

I thought Vin already had the desired effect

#

As soon as one person sees the event it becomes false

round timber
#

lemme go test it lol

tiny zealot
#

glad to be of help (sowing widespread confusion) /lh

vernal crest
#

I think they were in agreement about what it will do, just not in agreement in their understanding about what you wanted it to do lol

#

(They being Selph, ichor, atra)

vernal crest
#

Thank you for the link I will peruse it at not-2am!

round timber
#

how could de morgan do this to me punchfloor

patent lanceBOT
elfin kindle
#

Heyyy! I'm going through and painstakingly typing out my mods events and while my custom NPC acts as he should, the farmer is simply just... not appearing? I've looked at canon events to format the same and like i said, ironically my custom dude is working and doing his moves but since the farmer never appears it just freezes while waiting for the farmer to finish moving.

this is the set up for the BusStop map
"none/-1000 -1000/farmer 8 23 1 Mirren 39 23 3 pet 8 24 1/
This is where it gets stuck
/emote Mirren 28/move Mirren 0 4 2 true/move farmer 7 0 1/

tribal ore
#

Can you upload the whole event to smapi.io/json so we can take a look at the whole thing in context?

elfin kindle
#

NEVERMIND?? I moved where the farmer starts and it seems to have fixed it

tribal ore
#

Oh good

#

Were you starting the farmer on an impassable tile or something?

elfin kindle
#

I will keep in mind an do so if i run into another problem!

#

I don't think so? I started the farmer on the leftmost mailbox thingy, and it didnt work. Moving it to the right one made it work

slow basin
#

is there a way to hide the ability to go to a certain map after specific event happens with content patcher? I kinda wanna lock my expansion until halfway through or one year later since itll add so many npcs and i want people to be able to chilllaxingly enjoy their game without having to worry about over 50 npcs kfldlfdf i was thinking if it was possible making a meteor landing sound effect and then the next day recieving a mail being like "A strange meteor has fallen near the outskirts of Stardew Valley, apparently the traveling merchant that comes by spotted people that looked a bit odd coming out of the meteor and building homes, see if you can create a trade route with them for us will you, farmer?" - Lewis or something to that effect

tiny zealot
tribal ore
slow basin
#

🤔 hm

#

ig i could do that

#

🙂‍↕️

round timber
#

update, after having to jump through several hoops to get my multiplayer game working: !PLAYER_HAS_SEEN_EVENT Any Vinilla.Honeyfuggle_Introduction returns false after having one player (out of two) watch the event so. i think that means its working as intended

slow basin
#

i could make a small entry map you can go to but cant access any further until you unlock the area maybe?

#

i plan on utlizing the central station mod 🙂‍↕️

tribal ore
#

You can also use CP to overwrite that part of the map with different tiles to show that it is physically closed off until later

slow basin
#

OOO

tribal ore
#

Do you need the CP EditMap documentation?

slow basin
#

hatd be heklpful!

#

ty@

tribal ore
slow basin
#

wfkjwd * !

tribal ore
#

That plus this will get you most of the way there

slow basin
#

i need to make tilesheets after i make a few walking around sprites so i can make the area heehee

#

tyyyy

elfin kindle
tribal ore
#

Maps are fun, but definitely tricky. Don't hesitate to come back and ask for help if you need it 🙂

slow basin
#

will do ty sm!

#

I have planned main maps not including the interriors but i dont wanna make the area tooo gigantic so i gotta watch it

#

XD

elfin kindle
#

I just got my maps working and it's incredibly satisfying when you see your work come to life BUT OMG was it a fight

#

I'm also trying to use the pet dog/cat in an event and i haven't seen anything about using them so i am really just waving the code around, hoping something will stick

oblique meadow
#

random question someone may know. Did something change in the way farms apply their map patches and such now? In the past, I never had to specifiy to only load a map on a certain farm because it would do it only on that farm map. But now im finding things like my bundles, custom locations, etc are applying to all farm maps. I dont mind adding the "When":{"FarmType":"<farm>"}, tag...but that's new (to me)

tribal ore
#

That way, if your NPC is named Jared (for example), he won't conflict with any current or future Jared NPCs out there

#

And if you name your event {{ModId}}_FunTime, it won't conflict with any "FunTime" event in any other mod.

elfin kindle
gaunt orbit
tribal ore
#

You can always grab a custom NPC that behaves well (like Hat Mouse Lacey) and use them as an example. Just do a search for where/how they are using {{ModId}} in their NPC data

elfin kindle
tiny zealot
#

lacey uses a dynamic token to make it slightly easier:

  "DynamicTokens": [
    {
      "Name": "Lacey",
      "Value": "{{ModId}}_Lacey"
    },```
then for event scripts or nearly anything else that needs her id i just use `{{Lacey}}`
round timber
#

honeyfuggle does it too because im very original

verbal narwhal
#
          "Id": "{{ModId}}_OnCatchTadpole",
          "Trigger": "LocationChanged",
          "Condition": "ANY \"PLAYER_HAS_ITEM Current {{WhichTadpole}}, SYNCED_RANDOM day camiska.CPFrogTank_tadpolecheck 0.08\" \"PLAYER_HAS_CAUGHT_FISH Current {{WhichTadpole}}, SYNCED_RANDOM day camiska.CPFrogTank_tadpolecheck 0.08\"",
          "Actions": [ "AddConversationTopic camiska.CPFrogTank_Tadpole_Inv 1" ]
        },```

shouldn't something like this only add the conversation topic at a 8% chance? it feels like a 100% chance (but that might be RNG)
round timber
#

another update, everything with the invisible NPC stuff appears to be working so i dont have to poke pathos with a stick! SDVpufferparty

ancient cypress
#

can someone help im tryna make / edit farm

    "Changes": [
        {
            "Action": "Load",
            "Target": "Maps/Farm",
            "FromFile": "assets/farm.tmx"
        }
    ]
  }```
oblique meadow
#

are you trying to replace a farm or create a farm with a custom icon and have its own space?

latent mauve
latent mauve
dapper dock
#

If anyone was wondering, in Advanced Melee Framework, you are able to use a vanilla enchantment called magic. It causes your left-click [Normal Attack] to fire a ball of light magic. I'm guessing we were meant to get functioning wands at some point?

brittle pasture
#

vanilla data also has weapon projectiles (not tied to an enchantment). it probably got removed in favor of that?

sage bolt
#

Would just moving the TileData of the town/forest entrance to somewhere i want work? Or do i need to do something special?

tepid zealot
#

Didn't see anything in the wiki/pins specifically, but is there a plan to update SDV/SMAPI to .NET 8 (or alternatively 10 when it comes out in a month or 2), given 6 is end of life/support and not getting any security updates?

brittle pasture
#

pathos’ prev response

brittle pasture
sage bolt
brittle pasture
#

and you want to move the entrance to the forest on your farm?

sage bolt
#

Yes

brittle pasture
#

in that case go wild

tepid zealot
# brittle pasture pathos’ prev response

I'd be interested to know what OS versions would have their compatibility dropped... AFAIK the only OS level compatibility change is for end of support Linux distros (Ubuntu 20.04 for example).. shrugs

tender bloom
#

the major compatibility issue is 32 vs 64 bit, which was something that happened last major update (32 bit now has to use the compat branch). i think the 32 bit change is circa 2013 or so, so the affected OS versions would presumably be ones shortly thereafter, which are 64 bit but so old that .NET doesn't believe in them anymore

tepid zealot
#

I suppose - On Windows the supported OS's were all of the same aged vintage (Win 10 1607 was oldest for both 6 and 8)

tender bloom
#

i think there were also issues with .NET having stupidly short end of life dates

#

such that if stardew tried to go with a not-about-to-be-EOL .NET, it would cut out a lot

lucid iron
#

If there was a very serious CVE on .NET 6 jn the future, then maybe game will updoot

#

I don't think this scenario has occurred yet

tepid zealot
#

.NET LTS releases are 3 year lifecycles

lucid iron
#

Another possibility is SMAPI runs a higher .NET version, but yeah don't expect that any time soon either

tender bloom
tepid zealot
#

Pathos already said that SMAPI requires/uses the base game's .NET build so that's out

tender bloom
#

i think the point is there's fewer hurdles to SMAPI doing whatever it wants—Pathos probably isn't excited to mess with it now, but there could come a day where it's motivated

lucid iron
#

It would be a new SMAPI feature sort of deal, not currently implemented in any form

#

Short answer is pls build your mods against 6

lucid mulch
#

also Stardew went to .NET6 kinda against its will iirc, was mandatory to be on microsoft store (and in turn for gamepass)

#

but .NET 6 was also the last that supported win7, going any higher loses official win7 support

tight rivet
#

how many people still play on win7, though..?

#

in the end, though, I don't think it's unreasonable to stick with .NET6 for now

lucid mulch
#

CA cares about keeping OS support forever

#

and is seems to be actively annoyed he was forced to abandon ps vita

autumn tide
#

ugh formatting questions is EXHAUSTING

calm nebula
lucid mulch
#

its on the todo list

#

back then the only thing that didn't appear to work was audio, everything else seemed fine

#

will take a bit to cleanup this attempt due to the fact this stashed commit also contains a bunch of other experiments as well, and that the smapi codebase has changed a bit since then, in particular the namespace declaration change

calm nebula
#

Net 10 when?

calm nebula
#

It's a CA decision

#

The person you would want to convince is him

#

Trying to convince Sinz does nothing

#

(Meanwhile I'm trying to encourage more net 10 experiments :P)

royal stump
#

I recommend not knowing anything about .net version differences SDVpufferchicknight

uncut viper
#

i dont even understand what tangible benefit itd bring i thought a lot of it was like syntactic sugar that is otherwisde achievable

#

i dont pay attention to these things unless i must SDVpufferthumbsup

royal stump
#

I vaguely recall some (likely) performance improvements, and maybe some language bits that can't work without it? but yeah, idk

#

despite being here for 5->6

calm nebula
#

Regex

uncut viper
#

performance improvements i do recall actually though its not like theyd really change my code much if at all

calm nebula
#

Regex

#

Alternative dictionary lookups

#

Speeeeeeddddddddd

royal stump
#

(not knowing regex is also nice 😇)

calm nebula
#

Smh esca

uncut viper
#

youre not allowed to shake your head when you use google share links

royal stump
#

listen, my IT department was exploding when I was learning all this, it's scattershot /lh

lucid iron
#

i want the field implicit backing field

uncut viper
#

oh that is actually one i forgot i wanted

#

that one would be nice

#

required too but not as much

#

still seems sugary to me though when both can just be achieved by writing other code

#

(practically speaking)

royal stump
#

the regex source-gen stuff does seem handy if it's doing string/span magic automatically

dusky sail
#

oh esca!! thank you for your help yesterday, i got my mines spawns to work

royal stump
#

no problem, good to hear SDVpufferheart

dusky sail
#

i did also. set it to only the first 30 floors. so it wont explode peoples computers too badly

royal stump
#

it should be fine for small numbers of items, generally, but FTM does some work for each location at start of day

calm nebula
#

Smh I'm too busy hitting up every convenience store trying to get the free prime energy drink samples

#

To fix the Google share links

#

Anyways

#

You think I'm joking but thjs is the second quiktrip I've checked and neither one wants to give me free energy drinks even though there IS a coupon in the app

lucid mulch
soft lance
#

That just means patches and updates, the shop, the games, it'll all still fully work, you got like 3 years before you start having trouble with it

#

Unless someone forks the client, your fine for some years

whole raptor
#

Do people even still use 32bit systems..?

soft lance
#

so they were prob waiting for it to hit that number before discontinuing

soft lance
#

Though for game controllers, routers, etc, they were still partially being used until some years later

#

I'd say 32-bit was already low around 2015, and by 2019, it was pretty rare

#

By 2025, it's nearly dead, though, it's still important to have 32-bit support for apps and games, so many still revolve around it (shockingly!)

lucid mulch
#

it helps Steams case that Windows 11 never shipped a 32bit os afaik, and win10 is entering EOL

whole raptor
#

Win 10 nearing eol sounds wild to me tbh... I honestly forget win11 even exists 😅

tight rivet
#

It came up becuase steam still being 32bit is a blocker for some linux distros dropping 32bit support lol

#

(not kernals, which IIRC still have some 16bit support, dropping this or next year, IIRC)

soft lance
#

i dont use 11 personally, seems cool, but not my thing, though if you wanna stick to windows 10, look into ESU updates, I got mine for 3 years SDVpufferwow

lucid mulch
#

I spent pretty much all my time on windows insider builds so was effectively on win11 for a good 6 months to a year before it's ga release anyway, and never fully got the allergic reaction people had to it

#

Win11 was mainly a new coat of paint and an excuse to help their partners sell new laptops

soft lance
#

Also sorry I gotta post a question rq:

#

Hello peoples

Issue I got, how can I make it so a fish comes out multiple parts of the day

"{{ModId}}_HammerheadShark"

Can I duplicate the entry of the fish and set the times differently? I want morning, and another for night to 2 am, nothing in between

lucid mulch
#

Can switch it from using regular time system to use gsq conditions instead for controlling time

soft lance
tender bloom
#

Halibut has this I thought

#

Maybe also albacore?

#

There’s a few vanilla fish that are morning and evening iirc so hopefully one of them is a good model to go off

calm nebula
#

Yeah you cab put multile times in data fish

#

Or in data locations do !Time

lucid mulch
#

In the data/locations entry for the fish there is a Condition field which you can have something like ANY "TIME 0600 1200" "TIME 1900 2600" I think

#

I'm rusty with the actual content side of it

#

But if the og time system supports multiple ranges do that instead

soft lance
#

Hmm

#

Thank you guys!

#

Ill check tmrw! Didnt know vanilla had it also

dusky sail
#

Ok i cant do any truly productive troubleshooting right now because im out of the house. But does the answer immediately jump to mind for anyone why a crafting recipe received as a museum reward wouldnt be showing up in the crafting menu? It works fine if i set the unlock condition to a skill instead, and the recipe reward appears correct in gunther's little menu. So im a bit lost

#

If the answer is "its a mystery" ill just wait and poke it more when i get home

brittle pasture
#

post your code when you can

dusky sail
#

Wouldnt it not show up with the right icon when you redeem the reward then? Or am i misunderstanding which two IDs you mean

#

If it is just a typo im gonna throw the most relieved fit though

brittle pasture
#

the item may have the correct ID, but when picking what recipe to unlock (in general), the game uses the item query's ObjectInternalName field, or the target item's internal Name field

#

since museum rewards don't use item queries it's just the item's internal Name

dusky sail
#

I see...

#

So it works for a skill unlock because recipe name and item name dont have to match there, but it doesnt work for museum because the museum wants them to match? Do i have that right?

vernal crest
#

It's only ever been shops that the item and recipe name have been needed for in my experience but the museum reward menu might work in the same way, maybe

brittle pasture
#

it works for skill unlocks because it's part of the recipe directly
for museum data it uses how the rest of the game chooses a recipe to unlock with an item query

dusky sail
#

Ok. This seems like a good angle to tackle it from once im home. Thank you

tiny zealot
#

i don't really know anything about recipes, since i am not working on an expansion, but whenever i see stuff about them on here i do SDVpufferyoba and figure they must be cursed

dusky sail
#

I wouldve waited until i was actually there but it was just bugging me in the back of my mind

drowsy pewter
#

yumm recipes

vernal crest
#

It makes me sad to have to name my recipe the same thing as its output but it is at least an easy fix

dusky sail
#

Recipe names only show up internally anyways dont they? Because it usually just gives the display name of the end item

#

The transmute recipes are an exception

brittle pasture
#

when I say name I meant the internal name, not the display name of the recipe (which is settable, and will show up)

dusky sail
#

Yea

vernal crest
#

Yeah, I am just fussy lol

tiny zealot
#

only vaguely

calm nebula
#

Basically, the game would add "Recipe" to the internal name of Recipe objects

#

(Not sure why, suspicion is on stacking)

#

But when it went to grant the recipe it would simply remoce the word "Recipe" from anywhere in the internal name and check for a recipe by that name

#

So if you had "Recipe" jn your unique id and you used your unique id in your recipe keys, your recipes would all break if granted from a shop

tiny zealot
#

stardew truly is a land of contrasts

dusky sail
#

Game works 100% all the time

#

I think this time i just got caught by using vanilla as my onlg example. Vanilla doesnt have to follow the same name conventions and rules as mods

calm nebula
#

I love this game. Never change, CA....but I'm glad that issue isnt issue as of 1.6.9

uncut viper
#

i mean the game does pretty much always tbf

#

with the reasonable amount of bugs any game can expect

calm nebula
#

Frankly I think the game could do with more bugs

#

And a minigame to catch them

#

And a museum to display them

brittle pasture
#

isn't nature in the valley 3/3 for that

#

well it's a tool to catch them, not a whole minigame

calm nebula
#

That sounds like a great mod but sadly it came out after I stopped playing the game

#

Too busy putting together virtual rooms for virtual cats

drowsy pewter
#

you do mention a lot how you dont play anymore

calm nebula
#

Sorry I can leave

hard fern
#

i wanna catch bugs like forage

drowsy pewter
#

it could also be really cute if they spawn like forage but their item sprite is animated, so they arent just lying on the ground

dusky sail
#

I do have forageable bugs in my next mod but they're only static images

#

I thought about NITV compat but... it didnt seem worth it for 4 bugs

hard storm
#

Heyy, does anyone have any tips to get into coding to mod SDV? I know nothing but there is a particular mod that I really want to make but I don't know where to start.

urban patrol
#

!startmodding what's your mod idea? that will affect whether you can make a content pack or whether you'll need to use C#

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.

tender bloom
#

can't you do that with spacecore animations?

hard fern
#

Maybe I'll make some little buggy friends in my mod

surreal herald
#

Hello! Does anyone know why the farmer doesn't warp to the new map from this location when I add the "When" token? It used to work without it, but now it doesn't (even during the range of time that it's supposed to) - The screenshot is the content.json file

tender bloom
#

i expect it's the update rate

uncut viper
#

patches by default will only re-evaluate on day start

#

or tokens will, rather

brittle pasture
#

(side note but you shouldn't be using CustomLocations and format 1.23.0; instead you should migrate to format 2.8.0 and add new locations with Data/Locations)

uncut viper
#

you can change the UpdateRate of the patch to be time changed instead but be aware of the performance cost

tender bloom
#

the game itself tends to lock things like this via LockedDoorWarps iirc

#

(such as how you can't go inside pierre's when it's too late at night)

#

of course, that's for buildings

#

so you'd have to think about how you'd want to implement it

surreal herald
#

thank y'all, I'll try that out. Also is there an easier way of realtime editing of the mod instead of constantly opening and closing the game? (sorry for intro level questions I'm really new to this 😭 )

calm nebula
#

!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.
calm nebula
#

(That said, I would step off a map before reloading it)

surreal herald
#

tyty!

urban patrol
#

will deleting non-english tilesheets from my unpacked folder have consequences? i'm sick of scrolling for miles

uncut viper
#

your unpacked folder has absolutely no bearing on anything whatsoever

urban patrol
#

okay! i was worried maybe they were baked into the maps somehow

#

wouldn't want to copy a borked one

#

thanks

tender bloom
#

i think the game swaps them out in the background for you

#

you could keep them somewhere else if you're a digital hoarder like me

#

but it won't hurt the maps either way

vernal crest
#

I made a second copy of my unpacked contents to be english only, just in case I need to go examining other language stuff sometimes

lucid mulch
#

my current unpacked contents has other languages, but was run in clean mode so I don't have default values

floral oxide
#

Just wondering, when creating an NPC with Seasonal outfits, is it okay if this string of code here comes before the second image of code?

dusky sail
#

These have different targets and one is a load while the other is an edit so it shouldnt matter at all which comes first in your json (people who know more than me can correct me if im wrong)

floral oxide
#

Thank you SDVpufferthumbsup

hard fern
#

horrifying thing vscode does when i use dyamic tokens for my npc and then hit "format document"

dusky sail
#

As far as i know. Content patcher will do 1 load for each thing in the game first, defaulting to vanilla assets if there arent any loads overriding them, then it applys any edits on top of the loaded assets. So order only matters if theres two things editing the same thing

dusky sail
hard fern
#

lol

rigid musk
#

Is there already a mod that changes wake up time based on when you sleep

fossil osprey
#

I don't remember seeing something like that 🤔

#

I think there is something that allows you to "oversleep", but I don't think it's an auto process based on sleeping hour

woeful lintel
#

I think I have a new contender for worst "bug report"

hard fern
#

😭 all the chinese text say is just "mod couldn't be loaded" ... no details, no nothing

woeful lintel
#

yup

gentle rose
#

first time this sticker has actually been relevant

floral oxide
#

Hey everyone. So, my NPC is showing up in the game, i can give them gifts but they aren't moving and i'm thinking it has to do with the Schedule JSON? https://smapi.io/json/none/6fc1a39f38d042ecb5cc57fb1d44e4a4
As seen here, i was trying to keep it simple beccause it was just to test it all to see if it would work, but it doesn't - am i missing something in here at all? I can send other JSONS like the content one if need be

Please @ me so i can come back to this : D

hard fern
floral oxide
#

I have! Mhm SDVpufferwaaah

calm nebula
#

!log plz

ocean sailBOT
#

Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.

Please share your SMAPI log file. To do so:

  1. Open this page: smapi.io/log.
  2. Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
  3. After uploading, it will show a green box with a URL to share. Post that URL here.

Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didn’t occur in your last session, please load the game to the point where the issue occurs, then upload the log.

vernal crest
#

Have you loaded a blank json for the schedule?

floral oxide
hard fern
floral oxide
hard fern
#

a blank load is when you load an empty json file (save for a set of brackets) to various targets

vernal crest
#

You need to search the NPC tutorial for "blank" and it will show you what to do

floral oxide
#

OH

vernal crest
#

Right now your schedule EditData patch is trying to edit an asset that does not exist

floral oxide
#

oh wait yeah okay, sorry the first fwe times i've read the tutorial i thought it was just a blank as in 'use this and copy to create another json file' instead of having to continiously use more, i didn't realise it was integral code

vernal crest
#

It's a strange concept to understand at first, definitely. A lot of people do it without understanding why they're doing it too.

#

Here's an explanation I've written before about what blank loads are for and what they do for us (ignore the bit about Sprinton and Axell).

floral oxide
#

Thank you Hullo just testing it now to see

gentle rose
#

aba, what is the bare minimum an NPC needs in order to work?

vernal crest
#

What counts as working? Spawning? Moving and talking?

#

To spawn, they need portraits, sprites, and a Data/Characters entry with a Home spawn point specified.

To move and talk, they also require a schedule and dialogue.

For CTs and location dialogue to work, they need gift tastes.

#

They need their own asset created for their schedule and dialogue. Character data and gift tastes require an edit to the existing vanilla assets.

hard fern
#

😔 whew... i finished my event, time to test it... i can i18n it later once i know it works

floral oxide
# vernal crest

thank you for this i read the explanation and it makes sense to me more now! It was exactly what i needed, my NPC is now moving, thank you again

hard fern
#

🤔 huh. well thats new

gentle rose
#

win 11?

hard fern
#

yuh

#

wonder if this is the same macsmapi malware thing but less crazy

gentle rose
#

it’s almost definitely caused by the same thing, the executable not being signed

the question is how much of a headache this is going to be

calm nebula
#

No that's pretty normal, just hit run

#

I've had it do that to code i literally just wrote myself and compiled

#

Liken I'll be running benchmarks and every third run my antivirus goes "nope"

hard fern
#

windows defender lets you just. run stuff anyways so i dont see it being a particular issue

#

also NOOOO dont tell me i never fixed this 😭

#

🤔 wait what

#

why is it transparent...

#

nvm i know why

#

wrong map file LOL

#

i fixed it but still had the old version

#

SDVpufferflat event dont work. it wont even trigger gahhh

#

ffs i forgot to actually include my event json

#

SDVpuffersweats ok im problems georg apparently

#

🤔 you're supposed to be able to write events in multiple lines now, right? why the hell won't mine work

tiny zealot
#

yes, you can put line breaks in your event string to make it easier to read and edit (for you and for your source control)

hard fern
#

the json wont even validate

#

uhh is it ok to just send my event.json in this case

#

bc i cant validate it

#

it refuses to read my event data

tiny zealot
#

yeah if the validator won't parse it you can paste one here (maybe start with one)

hard fern
#

i only have one event so far (hopefully i removed my lore paragraphs)

tiny zealot
#

looks okay at a glance. are there events in Blacksmith in vanilla?

#

if not, you'll need to blank load that asset first or the editdata will never occur

hard fern
#

for the record i did do that and i even patch exported it and my event is there

#

and yet it refuses to work

#

in-game error

#

my log is a mess rn but i can reload and get a fresh one

ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 28 C# mods and 7 content packs.
Suggested fixes: One or more mods are out of date, consider updating them, SMAPI is out of date, consider updating it

tiny zealot
#

oh i see

#

you've used a viewport command for the second init command instead of raw coordinates

hard fern
#

ohh

#

i shall fix

tiny zealot
#

if you need a behavior of the viewport command specifically and the init field doesn't support it, you can start the camera off in the void at -1000 -1000 or something and use viewport to move it after the event starts

hard fern
#

😔 now i forgot to get the farmer out the void

tiny zealot
#

but, progress!

hard fern
#

i suppose?

#

im confusedc tho

#

i have a command that warps the farmer

#

but they dont show up...

#

the event works. i guess. shocking

tiny zealot
#

fairly sure warp <actor> x y does not support a third integer argument and you may be getting parse errors about it

hard fern
#

you may be correct.

#

🤔 why am i even making these mistakes

#

i had an event open for reference that 100% works and i made it myself

tiny zealot
#

(not about you) i do wish people would stop putting the third integer into the warp command /lh

hard fern
#

and yet i copied none of it

#

oh great now my question doesn't work 😭

calm nebula
#

A lot

#

Morning ichor!

tiny zealot
#

hello

#

in their defense, it did silently proceed without erroring (but also without setting the character's facing) in every SDV version before 1.6

#

although frankly the fact that warp supports a continue argument at all when it consumes no time is baffling to me

hard fern
#

is there a better way to make blank question boxes?

#

like i want it to just be "click this"

#

no .

tiny zealot
#

try quickQuestion #1#2#3

#

i think you get a blank line but that's better than punctuation i would think

hard fern
#

...and i just watched my npc moonwalk into the waall before the event ended 😭

tiny zealot
#

moonwalk?

#

(is your sprite sheet in the right order?)

hard fern
#

actually it's more like crabwalked

#

she went sideways.

#

i wish i had caught it because it made me do a double take 😭

tiny zealot
#

it would be fun to make a little supercut video of silly mishaps and bloopers from event coding and do like a "welcome to stardew modding, enjoy your stay" /lh

hard fern
#

[game] Event 'Forsy.NPCSelena_Selena2Hearts' has command 'Oh, just putting away some ores, and finishing some practice engraving...#$b#It's nothing much, really.' which couldn't be parsed: unknown command 'Oh, just putting away some ores, and finishing some practice engraving...#$b#It's nothing much, really.'. and i have a fun little error where it says i cannot parse this for... whatever reason. which is fun.

#

it's part of my quickQuestion

#

and i thought i had been following the wiki properlu

tiny zealot
#

"it's cursed here and we all love it and will never leave"

hard fern
#

but it just failed to question

tiny zealot
#

the stuff in your quickQuestion segments must be event scripts. so you need the speak {{Selena}} etc.

hard fern
#

oh....

#

ok yeah

patent lanceBOT
hard fern
#

😔 now farmer wants to leave..

calm nebula
#

Hotel California

hard fern
#

caught my npc walking into the wall again just to get to her schedule spot

calm nebula
#

Meirl

hard fern
#

nice! now my event loops whenever i get to my question.

calm nebula
#

Also meirl when someone asks me a question

#

We should do a skit

hard fern
#

take 900 of me trying to fix this event and my npc does nothing but moonwalk

#

🤔 why is the i18nifier making every space in my event an i18n key

autumn tide
#

hellooo I'm making a krobus mod, and I want to set it up so that most dialog doesn't show up on fridays, but it seems like a pretty difficult thing to do when it comes to conversation topics.
I was thinking maybe all the i18n dialog things could have the DAY_OF_WEEK GSQ with the alternative leading to a randomized friday general dialog, but it seems pretty long, hmm would it be possible to make a custom token with the DAY_OF_WEEK query and put that in front of dialog instead? idk what i'm doing lol

brittle pasture
autumn tide
#

Got it! took me a minute lol

#

gonna enter my code below so ik if i have it right

slow basin
#

is it possible to expand the map of the flower festival to the side going this way <-

ik a lot of expansions have expanded up and to this side ->

but i was wondering if theres any particular reason why no ones expanded it on the other side? (im thinking of adding on to the map in that direction for my mod maybe)

fossil osprey
#

Because maps coordinates start from the top left, so extending a map up or to the left means you would need to change all NPC's position for them to be in their right place, and you'd be incompatible with literally every mod

slow basin
#

darn

#

ok ig my npcs wont need dance sprites for the flower festival then XD

#

well actually i wonder if i can make a map extension to go outwards from where elliot and leah stand usually and make an area over the water? 🤔

#

wait would expanding down have the same problem?

fossil osprey
#

You definitely can! The rest of the coordinate won't change, it's only up or leftward ^^

slow basin
#

ok cool!

#

yippeee

#

cause i think itd be cute to be able to dance with some or all of my npcs 👼

hard fern
#

🤔 when it comes to reducing load time and stuff, does having like 50+ separate action blocks just editing a different image matter compared to one big one that edits different images

#

like editimaging every vanilla npc sprite

autumn tide
tiny zealot
#

$query splits the entire dialogue string so you can't nest them afaik

brittle pasture
#

you can't nest queries unfortunately SDVpufferwaaah

tiny zealot
#

you'll have to figure out an alternate solution

autumn tide
#

aw :(

#

alr

brittle pasture
#

need to fallback to When blocks then

autumn tide
tiny zealot
#

reminding myself once again to ask for a GSQ switch block when 1.7 reopens

autumn tide
#

dammit okay

#

thanks for telling me, you just saved me hours of future debugging LOL

slow basin
#

does anyone know if any mods touch this specific tile area im thinking of adding a bridge going straight down and to another little island for my npcs

#

its the flower festival map area

hallow prism
#

i'm not aware of any

slow basin
#

nice!

autumn tide
#

hellooo uh is there a way to stop a specificTemporarySprite thing in an event? tryna edit the sewer fight event to add a more clear end

tiny zealot
#

specificTemporarySprite is a hook for vanilla events to run (effectively) hardcoded C# stuff, so... not that i know of

#

you don't really have control over them at all once they start

autumn tide
#

aw okay

dapper dock
urban patrol
whole raptor
#

Is there anything special that needs to be done for custom animals to show up in SVE's premium barns? Or if the requirement is Deluxe barn it'll show up automatically? SDVpufferthink

brittle pasture
#

if their house is Barn then it should work
IIRC SVE does some C# magic that chu had to begrudgingly deal with for Livestock Bazaar to make a premium barn count as having built a deluxe barn

#

aka just follow what the pig does

whole raptor
#

Nice, thanks

soft lance
ashen mortar
#

I need aid with my question to modding Stardew (or maybe it already exists.)

I've completed CC, HOWEVER, I like goals. I like the bundles. I want to do more bundles.
The "Challenging Community Center Bundles" is fantastic for what I want.
Is it possible, to create new junimo notes in a shed or possibly back in the CC, to re-complete with no world effect? Such as the bridge repair. I would want the item reward.
I could very well just make a checker on second monitor and fabricate bundles in a shed and call it my DIY community center. I am aware of this.
I just like the in-game effect of the CC icon expanding and shrinking when hovering over an item.

brittle pasture
#

if you want to add custom bundles with whatever effects you desire look into Unlockable Bundles

#

many mods use it to add their own goals and progression

hallow prism
#

(it will not have the icon part but will have a different way to show items needed for UB bundles)

autumn tide
karmic gust
#

I just tried to use the debug completecc command to test events that occur after the community center is completed and now the game crashes when I enter the bus stop. I didn't go to sleep and save after using the command, either. this is the log: https://smapi.io/log/480fcd07b52a4cd0b25bfc4af9c30065

ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Unix 6.16.4.114, with 5 C# mods and 3 content packs.

karmic gust
#

is there a specific way you're supposed to use the command to not mess up the game?

uncut viper
#

can you send your json for the bus stop event you're trying to add?

karmic gust
karmic gust
#

Oh, I wasn't adding/testing an event in the bus stop, just walking through

uncut viper
#

the error is indicating an issue with a gender switch block in a bus stop event

karmic gust
#

I'm trying to add compatibility with Morris Redeemed and I think that adds a couple bus stop events but the one I added already occurred in that file a day before I tried the command

#

So the error is likely unrelated to the debug command then?

uncut viper
#

that would be my assumption

#

especially seeing as you didnt save. the command wont persist across launches if you never saved

karmic gust
#

Okay that's good to know. I'll see what happens if I remove Morris Redeemed and go from there

#

so no errors when it's just morris redeemed, and no errors when it's just across the aisle so I'm guessing it's one of the edits I did to a morris redeemed event, I just have to figure out which one 😅

thank you for the help narrowing it down!

uncut viper
#

according to the log, Morris Redeemed hasn't even touched Data/Events/BusStop

#

just Across the Aisle

karmic gust
#

that's what I was trying to do with the debug command, because morris redeemed doesn't add any until the cc is complete. the odd thing is across the aisle loaded on its own doesn't throw up the error

uncut viper
#

well without sending any jsons you're on your own here, cuz i assume you're working with a version of Across the Aisle that is not yet on nexus

karmic gust
#

good point, sorry I'll send it over

#

but none of the lines I'm trying to edit are included until the CC is completed

uncut viper
#

hass your i18n changed at all/can you send the i18n too?
as an aside, ReplaceDelimited doesnt work like that

karmic gust
#

yeah I'll send that over

#

and I figured I may have been using it incorrectly, that's what I was trying to start testing

uncut viper
#

both ReplaceDelimited and RemoveDelimited will take the delimiter and split whatever string you're editing based on that delimiter. and then it will search the resulting set of values for your search query

#

so its splitting up the event every space and then searching each section. but if you're splitting it by spaces, you're ofc never going to find "Please help me! [...]" because it'll be split into "Please", "help", and "me!"

karmic gust
#

oh I see

#

I misunderstood that, I thought that was used to split the value added

little field
#

Took a 2 day break and I'm ready to get back to it sparky_work

uncut viper
#

i dont see any invalid gender switch blocks which means i think the only other way that error can happen is if somehow the event script is null and being parsed anyway? idk try a patch export on Data/Events/BusStop if you want before fixing the edits you're doing to not use ReplaceDelimited (you'll want to use TargetField or just Fields to edit the specific field within the event)

karmic gust
#

I just added the entirety of the event preconditions to the end of the event name in the target of the text operations command and now the error isn't occurring

uncut viper
#

or just fix the compat patches and see if it goes away. shrugs

#

oh, wait, hindsight 20/20, duh

karmic gust
#

I'm assuming that was also done incorrectly and trying to maybe load two of the same events?

uncut viper
#

there is no "26220101" entry in Data/Events/BusStop, you do need those preconditioons bc those are part of the key

#

so i think by doing a text operation on just "26220101" you were just adding a new entry in Data/Events/BusStop with just that as a key

#

and then it was getting no value

#

aka null value

karmic gust
#

oh, that makes sense

uncut viper
#

then the game was trying to parse a null event

karmic gust
#

thank you for your help figuring this out!!

uncut viper
#

that feels like a very strange thing for Content Patcher to do but i guess thats consistent with its behaviour elsewhere..

#

the "adding if it doesnt exist" part anyway

#

it should probably not add it if the resulting value is null though

#

since thats generally supposed to mean you're removing something with Content Patcher