Oh no... so close and yet so far... I got my Haley sprite working with Scale Up 2, and she shows up okay in NPC Map Locations... but Scale Up 2 itself may be broken as all of her sprites except for her default standing and walking down sprites are jumbled up and pulling from the wrong row of sprites... like her walking right sprite here is instead using her walking upwards row
#making-mods-general
1 messages · Page 73 of 1
With no rhyme or reason as to which wrong row it pulls from, as these walking sprites are pulling from the row below them but the row with her pickle jar sprites is using her left walking sprites from two rows above
you'll need to provide more info and the json. And have your id you add yourself more unique
!json
JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.
If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.
When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.
To use this command, type !json.
Okay, thks for the help. Fortunately I managed to find the issue (it was a typo)
I spent about 2 hours yesterday trying to add priority to Furniture Packs, only to realize I should add priority on Furniture Types (like CP does priorirty on patches, not on mods) the second I went to bed.
It worked
I understand the feeling. I will sometimes stare at like 5 lines of code and go “what went wrong here” for 30 mins only to notice the typo or misplaced “
Sorry for the ping
I know what the issue is trying to point out, but I'm unable to figure out the error in the formatting; could somebody real quick let me know?
After parsing a value an unexpected character was encountered: {. Path 'Changes[0].Entries.laufey.Looped', line 13, position 13.
please note the unexpected { on line 13
Sorry! What do you mean by note?
consider it hahah
Ahh pssht, you literally meant 'note'
https://smapi.io/json/content-patcher/c2e0065a373748b5b1e6f598bdbb856c Is this how it's done?
It still gives off an error for line 15
you should try getting a better indentation, i believe you may be missing a closing bracket but it's hard to see
no, i prefer not
to clarify, since maybe it's the point of confusion, "it's hard to see", doesn't mean that what's on the parser is hard to see, but that seeing where are your pair of brackets is hard to see because they don't align
while indentation isn't the only solution to find a mismatching brackets, it helps with the readability of your file
i have an issue trying to use a feature of item extension that, to my knowledge, doesn't have a lot of example around.
feature : spawning a monster
json :
https://smapi.io/json/none/fde6da8ecb724795a45a0d6846a2590d
error :
https://smapi.io/log/7655b7d04d7c4c3d8843b59b725bdbcb
at ItemExtensions.Additions.GeneralResource.CheckDrops(ResourceData resource, GameLocation location, Vector2 tileLocation, Tool t) in /home/programar/GitHub/StardewMods/ItemExtensions/Additions/GeneralResource.cs:line 361
at ItemExtensions.Patches.ObjectPatches.Postfix_performToolAction(Object __instance, Tool t) in /home/programar/GitHub/StardewMods/ItemExtensions/Patches/Object/Resource.cs:line 109```
My understanding is that it's related to code here :
https://github.com/misty-spring/StardewMods/blob/main/ItemExtensions/Patches/Object/Resource.cs
But it's as far as i can get, and i don't know if it's me missing info, having extra info, or wrongly formatting info.
If you have code reading ability and can light some light on this, it will be appreciated. Pings are ok in the context.
Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on Microsoft Windows 10 Famille, with 72 C# mods and 77 content packs.
additional info : commenting the spawnmonsters block make the node breakable without error, so the error is involving the spawnmonsters block
The error actually seems to he happening on this line: https://github.com/misty-spring/StardewMods/blob/36887b3b2f3df1add057b95b398680321f747270/ItemExtensions/Additions/GeneralResource.cs#L361
Though i can't see any obvious reason as to why that would error 
hmm, some error while trying to get the monster drops?
when i'll get the chance i'll try to make the value false and see if it works better
thanks, it gives me something to try
From a quick glance the only way it could give a null reference exception there is if somehow the location passed to CheckDrops is null, since who already has a fallback to Game1.player and Game1.random should have a value
the location in what sense?
that line is
var context = new ItemQueryContext(location, who, Game1.random);
Game1is used before (see line 346Game1.random.Next(0,3))
so Nullpointer has to be either location or who
unless you need to provide more than Game1.random which is unlikely
Game1.random should be sufficient since it asks for an instance of Random, which Game1.random is, who can’t be null since we’re loaded into a save so if the tool’s last user is null, Game1.player definitely isn’t, location is the only one left, it could be that __instance.Location is null in the postfix that calles CheckDrops, but im away from the computer right now and can’t check when it’d have a value
been a while since i worked with c#, what does the ?? here do again?:
var who = t?.getLastFarmerToUse() ?? Game1.player;
( since that is where who is from and that is not used before )
Can’t word right now but it has to do with nullability (if left is null use the right one)
tried changing to
"ExcludeOriginalDrops": true,
but the error still happens
if an NPC is showing their internal name during dialogue and not what i set as their display name..... where should i be looking to find the problem
thanks for looking! i appreciate it
https://smapi.io/json/none/aea798a2aabc4f0ba2280eafec481546
im comparing her disposition info to one that already works and i see no difference
you are :
- making the npc?
- making the dialogue?
- none?
both! currently she has placeholder dialogue, but i've given her a dispo entry + a temporary schedule
everything loads and works just fine, it's just that her name isn't displaying correctly. and since i can't find any problem in her dispo, i don't know where else to look
ok
(Unrelated to the display name but what is {{Luffy}} and {{Nami}}? Are they dynamic tokens?)
i am not sure why you have the npc entry key being a token, i assume it's a sort of shortcut. I also don't think it's wise to have two entries for the npc, better to edit fields rather than the entire entry
what is the dialogue causing issue and is the display wrong the npc name under portrait or something else?
ideally a screenshot would be good
yeah!! their internal names are kinda long, so i followed advice i got from someone in here and turned their names into tokens for better readability
so rather than typing out "OPV_[name]" for every character i was told its more readable to go with {{name}}. and ive found it actually helps me out a lot so i stuck with it
the display name is wrong under portraits, yeah. it happens with all her dialogue, including stuff said inside of events
but for Luffy it works completely fine
“DisplayName:”: <- remove the : inside the quotes
Yeah only caught it after it was mentioned it was working for Luffy since that was the only one I was looking at at first :p
its always the smallest things 😭 works just fine now
youre my hero.... thank you for catching that!!!!

and thank you Lumina for taking a look :]
We always need a 2nd eye now and then, when looking at something for long enough we tend to miss the small stuff because we already assume we’ve done it right, so a 2nd pair of eyes can carch it easily
right!!! its 4:30am for me right now so i knew i had to be making some silly mistake :p but if i didn't figure it out before going to bed it was gonna drive me crazy lololol
yeah we accustome ourselve to stuff and it means making spotting stuff even harder
(sidenote: while looking through your nullpointer issue, could you try adding some extradrops (like one coal with low chance) instead of null ? have to take another look at how you have to format that, but shold be similar to ExtraItems further up in your json)
that sould be a List<ExtraSpawn> itself, so https://github.com/misty-spring/StardewMods/blob/main/ItemExtensions/docs/ExtraSpawns.md is probably helpful
oh, extra drops is not a true/false, it's a list!
this is why the default is null...
yes
i will try that, i assume the link has an example of formatting i could borrow
when i'll be back at computer 🙂
[...] "ExcludeOriginalDrops": false, "ExtraDrops": [ { "ItemId": "(O)390", "Chance": 1.0, //100% "MinStack": 1, "MaxStack": 2 } ], "Distance": "0,0" [...]
there we go
something like that for more stones everywhere
@brave fable Your 1.6.8 version works for me now! But I have no idea how to succeed lol
And hours after I post that I get a first report about it, world works in mysterious ways 
thanks, it's working!
but i believe the monsters are spawning at fixed coordinate rather than around the player which may defeat the purpose of the feature, will try again with changing values to see if it is 0 0 that is a bit special
thanks yeah me too
it confirms the old saying (not old at all) "null, c'est nul" ("null is lame")
(invented by me after some frustrating issues on "null" on some building fields during 1.6 alpha)
at least there is a starting point with nullpointers, not just the compiler refusing to do things as expected ^^
well, for personal use i can deal with stuff being in the void for now, and i reported the issue so misty is aware, but i know how real life stuff is + 1.6.9 may require a few fixes too, so we'll see
Hello! I am finally done with all my events n' all! Mod is almost complete, now only the little parts that I need to adjust.
The schedule strings is something I dont understand; where should this code be going exactly?
like any other content patcher patch, it can go in any file you like; it is up to you how to organize your mod folder (with Includes to pull in other files besides content.json)
I already have
"Target": "Characters/Dialogue/F1F4Gift, Characters/schedules/F1F4Gift, Strings/schedules/F1F4Gift",
If I were to make a quick file; would it work if I just throw that code in there n' all? Adjust it to my mod
likewise, schedule dialogue strings don't have to go in any particular asset; you get to specify where to load them from, so you don't have to use Strings/schedules/yournpc (i use my NPC's normal dialogue asset). but make sure you Load your asset first with a blank json so that EditData can see it
Is it okay if you give me some references? (whether if from your own mod, or elsewhere)
sure, my mod is MIT licensed: https://github.com/ichortower/HatMouseLacey/tree/main/CP/data
(schedule.json and dialogue.json are the relevant files to look at)
Hmm
I'm afraid I'm not quite following what you mean; I have a hard time comprehending all this coding stuff in a tired state aha
I'll look into it more though, for sure!
it can be hard to look at other mods sometimes; everybody sets theirs up the way that works best for them, so if the structure is different than you expect it can be confusing
(i'm also using i18n, which is another level of indirection beyond just putting the raw text in the edit patches)
ok, so you have a blank loaded to Strings/schedules/F1F4Gift, that's good
then you'll want to have (in another patch)
"Target": "Strings/schedules/F1F4Gift",
"Action": "EditData",
"Entries": {
"entry1": "your text here",
"entry2": "your text here",
etc...
}```
leave the blank json alone. it should contain {} and nothing else
a new patch. it can be in your content.json like the others, or in another .json (with patches in it) that you are including
this patch will actually put text into the asset. EditData won't work unless the asset exists, which is why you have to blank load it first
(you can just load it directly with the text in it, but in that case you can't use content patcher's tokens, like i18n, which is why the standard approach is to load and edit separately)
😔 is it alright if i ask a few questions regarding a similar topic? im not sure how all these loading blank jsons work
yes, you can always just ask
do you not just load the dialogue anymore? is having a blank json necessary to then edit it with the dialogue?
Loading a blank is necessary only if you intend to use tokens
tokens are really useful, so that's why the conventional approach is to load/edit
Content Patcher can't convert tokens into the necessary text when you "Load" them because it doesn't edit the files, it just passes them straight to the game.
Did, but a formatting issue appeared; is it okay if you quickly fix it for me?
https://smapi.io/json/content-patcher/abf5ab464330467fb2bf04a712f33844
how do tokens work? im not that familiar with them...
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/tokens.md
They're like variables in regular coding
They are replaced by CP with their appropriate values before being processed into the pipeline
They're basically just placeholders for other values
If you use the {{Season}} token, for example, Content Patcher will look at the current save file, go "it's summer!" and then replace the {{Season}} with summer
In order to use i18n translations, you need to be able to use tokens
So if you just straight load dialogue, you can't do i18n translations for that dialogue
ah
and does it also save the need from loading
spring_map, summer_map, etc and can just load {{season}}_map?
i18n, current game state variables, randomization... lots of stuff available that you can't use if you just Load
So when doing a Load Action, your FromFile and Target can use tokens, but anything inside your FromFile can't
oh
So if your FromFile is something like {{season}}_map.png, that's fine
But if your FromFile is a json and you have a token inside it, that token won't work
i feel like i never seen this stuff till now
'compatible with other languages' page got created in 2021 
It's not fairly new
CP tokens guide created in 2020
I've never known CP to be without tokens lol
Oh lol
i think the only 'new' token is {{ModId}} right?
ModId is my favorite
It's handy because when I switch between mods I can't remember my own mod ID
Now if only patch reload would read my mind
100% not useful when i'm doing funny easter eggs between my own mods
patch reload all when
"Is the mod atravita.CP.TestBoots or atravita.TestBoots.CP or atravita.TestBoots"
Nah, console autocomplete
or fuzzy reload patch reload rokugin just reload all my CP mods, fuck it
can it (or an adjacent command) reprocess my dynamic tokens, please. that's my wish
Or something like the git "you ducker you obviously meant git status not git satus"
Ask Pathos about a PR
A Pathos PR may be right for you
tokens get grabbed fairly early in the pipeline though?
a pathos pravoloxinone
that's it, Game1.currentLightSources = new(); wiggles fingers at you
Is this "shorthand" for sending someone to the shadow realm now?
not really shorthand, but it causes a shockwave of triggers
i'm avoiding dialogue and maybe the others will forget about how i was doing a choose-your-own-adventure expansion
Every choice is yeti room, done
i ended up working on portraits instead... even though "when in doubt" solution is to just use abigail
dialogue is more important 
SpaceCore virtual currencies is optional but I'm wondering if I should just make SpaceCore required for this mod, cut off any of that silliness
the currency is like, gold vs tokens right?
Virtual currences is kind of like how walnuts work, it's an item that's just converted to a number in the UI
So you make some, ideally new, item into a currency and any time you pick it up, it's consumed to increase that currency
if you have both implemented yeah i'd just make spacecore a requirement
Well, I would just have to qualify like one line with an if SpaceCore isn't installed and then it would be fine either way
Default behavior is to use gold, virtual currencies has to be set
Mod doesn't add any itself, just checks for them existing and having enough before charging them
i'm trying to think of the implicit problems if spacecore isn't installed and someone's trying to use the virtual currency, i assume it's just going to give a soft warning?
Explosions
It would just switch back to gold
Many
If I didn't qualify the usage of it, then explosions yes
is the unlockable bundles currency impl same way
I wasn't aware it had currency lol
explosions if ppl attempt to use currency without mod
yea it does, i use it for vapius coins
but it works a lil different (the currency counter goes in the powers tab)
Lol, SpaceCore's currencies are in the Skills tab
Just need a few more mods patching different menus and we can have custom currencies in every window
currency on the exit menu!
if i were to make a config option for the player's supposed age that changes the dialogue (for gameplay immersion) ....how exactly would i do that..? do i need different dialogue files?
er does the farmer have a canon age 
you're doing like, young, middle, old, right? not like a based number?
yeah
Late 20s or early 30s? 
if it's all your dialog you can just use the token i think
you can just use the {{token}} in dialogue whenever refering to the age
you can insert tokens into i18n with no problem
what i wanted to do was have a character speak to the player differently depending on age
no i mean how do u translate this particular value
you kinda have to think of it in terms of dialogue
to say smth else in a different language
oh you just take the config
My currency is found in the bundle menu
I don't mean my virtual game currency
i18n tokens like {{i18n:Spring15_{{PlayerAge}}}}
This can refer to three different i18n lines called Spring15_young, Spring15_adult, Spring15_old, etc
I mean thr currency you must pay me with
Each of the three sentences will be separately translated
i'm lazy and i'd just use it as a word
Hello there young adult man, how are you today?
I would do that if there are only a few lines like that
exactly what i was imagining lmfao yeah i dont think that has much usage
For big shifts, like how Pam Tries works, I load in a separate dialogue file
"GreenRain_1": "I hone my skills in the rain.$2#$e#I may be half a {{gender}}, but that won't stop me from doing what I do best.$14",
"Name": "gender",
"When": { "Marlon's Gender": "Male" },
"Value": "{{Lowercase: man}}"
},
{
"Name": "gender",
"When": { "Marlon's Gender": "Female" },
"Value": "{{Lowercase: lady}}"
}```
i think of the dialogue before creating the token though so that's just on me
what im stuck on is how id even get it to load in in the first place.. im looking at the npc template and am confused X.X so you edit data the dialogue..
but what im thinking to do, is completely different lines for different player ages
6480's example works just fine
I would use 6480's solution for that
once again thinking i have got to write up the "difference between files and assets" tutorial
Good luck lmao
how do u explain this when some ppl dont even know what a file is
(For the newbies, aka anyone who showed up in the last two years, Pam Tries works by having basically three separate versions of all data.)
you don't. knowing about files on your computer is table stakes for making mods
One for good mood, onr for neutral mood. One for bad mood
oh ichor wasn't here for it 
It's entirely swapped out based on a random
There are definitely people making mods who don't know that though lmao
How playable is Pam Tries, atra? I love a good Pam mod.
Uh it's dependent on AtraCore which doesn't work in 1.6.9 👍
it's been a long time since i tried to write npc dialogue
So I've got just over a week to play it?
I probably had a valid 1.6.8 build but then 1.6.9 happened
Wellll I also don't have a valid 1.6.8 build anymore 
did it have a C# component
I can't believe I am writing dialogue without any randomisation at all
Who even am I
What a journey you've taken lol
Speaking of weird "file management", I saw More Quest structure yesterday... and it scared me 
i suppose someone (but not me) could take it over
i beg people to not use my expansion as an example of 'how to make a mod'
it's uh, a mess in there
X.X i think i was overthinking the dialogue way too much haha
Easier than you thought?
yep
🫵you too can create a very lazy npc from scratch if you replace all of the necessary dialogue keys with incoherent clicks
that is ok, randomisation isn't necessarily needed
the main reason i use it in VMV is that i have features that encourage people to come on specific days and so it naturally creates higher chance of repetition
so it's a question of personal frustration most of the time 😄
i just added some randomized dialogue entries to Lacey and she's been published for a whole dang year
Someone wants a cryptid expansion from the comments on mothman
You don't understand, Lumi. Someone might see the same dialogue twice!!!!!
(They definitely will - I am only writing 8 lines total for this mod haha)
As soon as NPCs start repeating themselves, I stop talking to them.
What are files and assets
-
Files: The actual files users will be downloading when they install your mod.
-
Asset: Files that have been loaded into the content pipeline at a certain target. Once loaded, one or more mods can make further edits to the asset. Vanilla content is always loaded.
-
Target: The name that game tries to find data from, set when the asset is loaded.
i have no idea if this makes any sense to person not already familiar
see, it's a question of personal frustration. maybe you'll be "i can't stand it, i'll have MORE variation" or whatever system people have, which doesn't have to be random either
"loaded" "content pipeline" "target" thats a lot of terminology
or maybe you'll be fine
Also, calling an asset a file that's loaded into the content pipeline still makes it seem like a file
Like, it kind of is, but it's also not
No one really knows what a file is
yea that the trouble with letting compsci dumbass write these things 
If you think you do you dont
i think files r inodes
files are fraught with peril
dont talk to me about other file systems
veering into off-topic but this is for you, atra https://danluu.com/deconstruct-files/
Anyways, I think of it as a virtual filesystem
I don't know if there's a concise way to describe the differences because it requires an amount of context that you can't give someone with no experience
hence why i would be writing up like a whole article about it
Yeah, it basically just needs to be a reading assignment 
/googles inodes - then (unsuccessfully) googles how other people describe their actions in discord/
in dialogue i use * to indicate action
in game?
yeah in game
there is the % command
that makes the portrait disappears
so i use it to stuff like
%npc is looking at his shoes
depends on context, if it's an interjection- I COULD'VE MADE MOTHMAN ALL TEXTABOVEHEAD
That's great, I was just thinking a blank dialogue box would be perfect for that
that is a later problem for when i feel like dealing with spacecore vs sprites in detail
text above head wouldn't work outside of event without C#, is spacecore allowing content packs to do that?
I said in discord, Avi!!
handwaves *handwaves*
I use asterisks in game to denote action as well
But I can't use italics, Roku. Italics already have a meaning.
Do they?
sometimes when i'm feeling extra catty i use the >
like this
are you in a roleplaying discord or something 
Yes, emphasis
one specific meaning (but not the only one) of italics in english print is indicating loan words, like:
"this dish has a certain je ne sais quois"
Me? No. I just have very strict rules about language lol
spoiler your actions so you can perform them sneakily
Ah, yeah I tend to use it for emphasis more often, even though bold is probably the more appropriate emphasis. I just don't like making my text bigger lol
text bigger means i'm doing some kind of 'forum-style infopost'
(Sorry for the off-topic. It has been bugging me for months lol)
i actually use both for emphasis. bold is more emphasis, so i use it rarely
hi, it's the french, here's the moment to pay the interest on the loan /j
(cf. html's <em> and <strong>)
lumina, i regret to inform you that english's betrayal has arrived. we will not be repaying the loan
Surprise, it was theft all along
oh, ok, well we will not either!
joke on you, we probably borrow more english word daily than you
You're probably making better use of it than we are, to be fair
just dont be like japan
Japan is really making the best of it lmao
i love how 'random words in different languages' is a universal, like i'm contemplating a whole fashion sense pack of shirts that just says "hotdogs" but highly graphical
My name is two words from Japanese I liked the sound of when I was like 12 lmao
spoilered for strong language
is that a t-shirt

||”World is a fuck”|| I agree
alas sdv shirts too small for the engrish aesthetic
lmao 410 billion, huh
Lol, that feels like whoever made it understands English a little too well
true, i could definitely make it furniture paintings though
you could probably make one that says "A"
I need my documentation to write itself
the one time where we want to outsource to ai
The one thing where I bet it could come up with similar quality (because I'm so bad at this lmao)
can ai format my markdown tables for me
maybe? i honestly contemplated it cause doing git markdown manually was pissing me off
(definitely not offering just so i can avoid reading framework.rectangle docs, nope not me
)
How It Do
@stark forge here you can ask all sort of questions if needed to get started
!startmodding
Making mods can be broadly divided into two categories:
- Content packs are formatted text files, and don't need any programming knowledge. They can add/edit NPCs, maps, new items, shops, and more. To get started, see the list of framework mods, the wiki tutorial for Content Patcher, and there might be relevant guides on the tutorial wiki.
- C# mods use programming code to change fundamental game mechanics. See getting started with C# modding.
Usually it’s easier to start with making content packs, since you don't need to learn programming.
To use this command, type !startmodding.
Can't help with the second one
most guide will be written, video outdates quick
i don't think there's any coders that have enough time to stream
plenty of artists though
how do u stream game dev 
idk, you just do?
you watch someone type at like a 70-120wpm and hit the backspace for several hours i assume
With music and a lot of viewer interaction lmao
its just gonna be a person making 2 line changes then waiting for game to reload in silence
stream game dev?
East Scarpians stream drawing a fair bit but I don't know of any coding streaming lol
so someone wants to watch me forget a } and break my mod for an hour
I'm honestly surprised when code people make youtube videos even
i mean, some of them can involve art or events which are nice to see
lol mine are always ( , )
I feel like someone in the audience would notice
and tell you?
anyways do you have a mod in mind
actual coding stream: 1 hour of staring at visual studio with bgm
so we can point you at right tools
Depends if anyone watching is knowledgeable
Reason I use visual studio code since it makes it easier to find the breaks
no, I just do like api coding and scripting and know nothing about game dev and wanted to learn
i forgot vs code was an option
VSC is life
you will want to look at C# modding then
It is life lol
in the command earlier
Needing some more help. Trying to get the keg to spit out the custom item, but it keeps spitting out generic wine instead:
you need your entry to take prioriryt
prioriryt yes exactly
which is done by moveentry which is explained somewhere on CP docs
hi lumina I’m back
hi
if you want to replace it entirely i had an example earlier
Ok, I'll look into that
hmm
(but you don't want replacing in this case)
but deleting vanilla entry may have compat issue
like players can't make juice for raccoon quest?
Machine outputs just need Precedence
like precedence field, or move entry precedence?
Raccoon quest uses hardcoded vanilla items so as long as you're not changing those you're good
Precedence field, I really like the concept of it
Though I'm sure it requires a lot of rewriting of the logic
yeah but replacing entries would changing that?
.
yes ok but it's what i said too
they're trying to add new rules for their modded items
yes i know
i was saying that i don't get the point of replacing the entry instead of adding
ah okay so we agree haha
i assume you can just throw the precedence into the entries and you'd be solid
DDR bagel
(sitting on the sidelines watching two people aggressively agree with each other) 
yeah i was confused by what A-Sauroen suggested because it sounded at risk of breaking stuff, you i know you know how to deal with machines
(hence trying to understand the suggestion made by A-Sauroen better)

New Street Fighter combo
Avi making chaotic suggestions as always 
(i didn't read initially tbh, but if you're gonna use my example you remove the "(O)306" so that you can dig deeper into the fields)
i am, The Chaos Creator ™️
i had to fix 20 things
Precedence is a field that's only available on a few things, since it has to be accounted for in order to be used
ah then only the moveentries
Yeah in this case it's not in the machine outputs, so it would have to be MoveEntries
The bigger the list or the more mods making use of precedence, the more annoying it would be though
Whoops forgot to pass my token through i18n
I’m still trying to figure out i18n 😂
someday i'll have mods that touch every single part of data
Scary
though in this case you can just move to top
Right, love an easy solution lol
Anything in particular you need explained?
is there data that is free from the tendrils of SVE
Don’t have my pc but basicly trying to get Configure.”name”.section to change
i guess it hasnt added pants yet
probably clothes, yeah
u need to do reload_i18n in addition to patch reload iirc, if you are testing in game
I can get name and description just fine but not the section title to change

"config.section.Content.description": "Alters the content active in the mod. Please make sure these are configured properly!",``` ? you mean how it's separated? i've honestly never tried to look and see in game
Funny part is I accidentally loaded my test file with my last update if you wana take a look at the mod
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/config.md#translations
Looks like you want config.section.<section>.name
So I'm not the only one
But now they stole my name and made a game out of it 
Hmm I can try that next
I learned in the last couple years that there's a Roku Gin (the alcohol), but it's been around for way longer than I've been using my name lmao
I been looking for that guide forever but forgot where I had seen it 4 months ago lol
When I saw the alcohol I was like "I wonder if I should be pronouncing their name differently" but I like how I pronounce your name
Oh yeah, it's a pretty neat gin, drank it once when I worked at a bar
As a diabetic, I will have to take others word for it :P
(I didn't like alcohol before, so no loss lmao)
did you intend for roku to mean six
It's my favorite number in Japanese, but my name is pure gibberish
Now that I think about... it'd be nice to have an alcohol aficionado NPC
(not in a Shane way ofc)
like a wine taster?
It's technically "six silver" 
I dunno if he can be considered an aficionado lmao
i couldve sworn there was some fancy french word
More on the stronger alcohol side like whisky or gin (which is very lacking in SDV...)
Hmm 🤔 make it an unlock if you put all high grade wine in the box for the event
woot, i made progress! rest time
Well... Pam does ask for vodka in one vanilla quest 
Sommelier?
Sommelier is only for wine tho... right? 
Maybe an actual bartender from out of town?
french word? i was summoned?
Poop, the $1 dialogue command breaks my plans.
aficionado would be better for all types
Yes! I'd love that
Emily as a bartender hurts my soul a bit, don't know why 😅
How do I do an intro dialogue line for an NPC who won't be met until after the intro CT has expired?
She's more of a general server than a bartender
Brain too tired to think
(but indeed sommelier is mostly for wine at least in people mind)
do they have an intro event or something the player will see BEFORE interacting with them?
True, I just kinda remember that one event (no idea which mod it was from) where she explains drinks
VMV has its own intro dialogue for having seen the VMV intro event
I was using $1 <letter ID>#<1st-time text> #$e# <nth-time text> but it appears to break other dialogue commands.
(break in what sense?)
Only give them a single dialogue line that sets a mail flag, have a separate patch with all their other dialogue that checks for that mail flag
Because he is a slightly secret NPC who can be stumbled upon at any time, but a person won't necessarily do that quickly. (Warp in the graveyard)
ah classic, i wanted to do something and forgot what, of course
Ahh good idea roku
(Adding a line break only showed the dialogue after the line break, and using % didn't turn the dialogue box into a descriptive one with no portrait - it just included the % symbol at the beginning of his dialogue)
hmm, i wonder if a trigger action when arriving on his map would work to set a CT, but it may be better to go on a surer road
(i forward this for myself later but it looks pretty straight forward to me, but now i have understanding of what dict vs list is so probably just an example i can scrounge up later that grabs literally everything possible)
I will see how I go with the mail flag set by the initial dialogue
(i would've suggested something dumb like, if you made a new map -> locationchanged trigger -> BETAS set new dialogue
)
yeah see how that works first, but you know you have potential back up options
You can just insert the map data as well
yea im not sure what words to use to indicate that u need a {} or a []
Had to do that for my greenhouse mod since is greenhouse T isn’t on by default
tbh i associate [] with dict now
It's not a dictionary though
That's a list or an array
When you have something like Data/Objects that's a dictionary of string -> models, the whole thing is encapsulated by {}
Technically I don't think it matters how you format the data in the json, it's how you use that data
You can build a dictionary out of any data in that json, as long as you're collecting and using it correctly
I still say missing a “ } , is the bane of my existence and I’ve wasted hours looking for them gotta love did not load “mod name” not a valid json from smapi
I use Dictionary/List and assumes the reader know what they are
Maybe I shouldn't, if that's not as common as I thought
I think there's a certain level of knowledge you have to assume and the rest you can make up with context
who engrained [] being a dict into me, i have no idea
C#
Even if someone doesn't know necessarily what a list or dictionary is, if you can supply enough context they'll at least know how to fill and use them
yea i am hoping the links to detail pages about the submodels r enough
Examples are probably the biggest help in creating at least a pseudo understanding of usage
i'm trying to think of an on-brand trinket for my expansion but the only thing i can think of is a super effective floating baseball bat
This sounds even funnier considering I'm playing HSR right now 
I have somehow turned my entire dialogue line into a flag by mistake 
Errant bracket?
when in doubt i can just make my npc spawn somewhere random like the bus stop right
If you neglect to fill out a home, it should spawn in town
To be honest my first days making mods was downloading things similar to what I wanted to do and manipulating the data to see how it worked
as long as you set the homelocation(?) to town, yes
X.X i dont want to think about making a custom house and map or anything
De/re-construction is my primary method of learning most things lol
you don't have to create a house, tbh
You can absolutely make them go stand in a field
Have them spawn at the bus stop and pretend they live somewhere else
Like Claire and Martin in SVE
When 1.6 dropped since no one had done buildings yet took me 3 days to figure out what the different fields did “reminds me need to update cellars mod”
I had a test NPC that spawned by the bridge on the beach and just paced back and forth all day until the bridge was fixed lmao
😭
Think there’s an apartment mod for npcs not sure if it got updated though
Boarding House?
I think it's updated... but pretty empty as always
I am too tired to troubleshoot 
then sleep
yeah sleep
☕️
Boarding House is hidden on Nexus, not sure if it's available somewhere else
Oh you sweet summer children. "Sleep". Ha.
Over here with the reverse office hours
Hmm 🤔 thinking of adding a creators pack for my mod where artist can just add there art and publish
like a content pack?
Reminds me of how I didn't see sun for a week when I had completely inverted sleeping schedule to yours...
Well I did mini greenhouses but to add art to it you would need to have dependancies and insert some block code to the current loaded mod to add options sooo if I do all they programming and add comments and a readme they can just dump there art into assets change the name for load and upload to nexus
I had a daytime sleeping schedule for a bit. Did not like it. It's only 1:30am right now so I am safe for a bit longer.
people can just load their textures over your textures
Well yes lol
But I like the thought of having different types of same building for different parts of my farm
ig you're gonna make that cp skin mod huh
but you dont really have to do anything for that either
ppl can edit in their skins too
u can make template for ppl to use ofc, maybe even put it on the .gg modding wiki
Smol
3x3 base
Why did I try to click the arrows
cause you wanted to see more
Someone suggest a good name for a toad
(I almost did until I saw rokugin's text)
Sir Toadsley
edgar
Algernon
Malfoy
Toda
Toadington
I love pets named after food so: Baguette
is the SMAPI helper.ReadConfig<ModConfig>() capable of handling the deserialisation of a whole Dictionary<string, string> ?
.choose Sir Toadsley, Edgar, Algernon, Toda, Toadington, Baguette
Choose result: Algernon
isnt that what it generally does 
Algernon it is!
Thank you all for playing
You may take a free toad on your way out 
using Newtonsoft.Json;
namespace TrinketTinker.Models.Mixin
{
public abstract class IHaveArgs
{
/// <summary>Arbiturary arguments in form of a dict.</summary>
public Dictionary<string, string>? Args { get; set; }
/// <summary>Tries to parse <see cref="Args"/> to target model of type <see cref="IArgs"/></summary>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
internal T? ParseArgs<T>() where T : IArgs
{
if (Args == null)
return default;
return JsonConvert.DeserializeObject<T>(JsonConvert.SerializeObject(Args));
}
}
}
i had this to allow different models for Args depending on the class
lol reminds me of my froggie mailboxes I did for riot
I know people who have used it for toads, names are flexible like that 😉
nooo
He can be a toad who used to be a mouse
I'll put that in just for you, Lumi
main limitation is that u cannot have objects in Args, no {"X": 1, "Y": 2} basically
algernon!
Is that about my question? I'm not trying to parse a custom model, just a Dictionary<string, string>, here's part of my ModConfig for reference:
public sealed class ModConfig
{
public SButton slot_place_key {get; set;} = SButton.MouseRight;
public SButton slot_take_key {get; set;} = SButton.MouseRight;
public bool load_packs_on_start {get; set;} = false;
public Dictionary<string, string> conflicts_choices = new();
}
yea this should be fine too, dont need any additional shenanigans 
nice
I'm planning on adding a config option to let user choose what pack should have the priority when multiple packs are trying to edit/create the same Furniture
how can I make mods
!startmodding
Making mods can be broadly divided into two categories:
- Content packs are formatted text files, and don't need any programming knowledge. They can add/edit NPCs, maps, new items, shops, and more. To get started, see the list of framework mods, the wiki tutorial for Content Patcher, and there might be relevant guides on the tutorial wiki.
- C# mods use programming code to change fundamental game mechanics. See getting started with C# modding.
Usually it’s easier to start with making content packs, since you don't need to learn programming.
To use this command, type !startmodding.
If you're not familiar with C#, I suggest starting with Content Patcher
Unless you already know C#, Content Patcher mods tend to be a better starting-- what rokugin said
Honestly, I suggest starting there either way, it's much easier
Is there a !dumbmodding lol
i'm at peace
Reskin
changing a portrait
True
Something using CP
dialogue edit is pretty easy too, just a bit more work to test while portrait is quicker to see
I've been here looking at people doing dialogue edits for 6 months and it looks horrendous
With the power of debug loaddialogue, dialogue edits can be as easy as portraits to check!
Thanks
If you want to do art, visual edits, if you want to do maps, map patch, if you want them to say something different, dialogue edit
don't even get me started on event edit
that is quite true, but i kinda assume people don't know most debug command when starting to mod HOWEVER
I didn't say it had to be a coherent line of dialogue lol
it's definitively a good tool to have as early as possible
need that smapi commands as a command
My first mod was adding a bridge over a river! 🙂
I would say general game data edit is easier but I'm biased because of being already at ease with json
Baby steps
Actually that'd probably make a good modding wiki page
What would smapi commands be?
Map edits are not easy lol “load map “ load tile sheets “ make change “ fix tile sheet issues “ save and pray
Because there are a shit ton of commands and the console commands page is pretty badly out of date for some of them lol
debugcommands maybe
I didn't mean the dialogue edits where horrendous, I was talking about the process and syntax
fair
(A page on useful mod-making debug commands)
Hard to make tilesheet issues if you stick to the vanilla base maps and the already included tiles.
And edit in the right place
syntax isn't so bad, though ig that's dependent on who's around, if it's aba and i waxing and waning poetic about the chaotic bs we can come up with, then yeah
I do think map edits have a lot of places they can go wrong
Dialogue has some syntax but if you want simple dialogue you can avoid most of it
Unless you forget to chose the water you can walk on instead of the water that’s impassable under a bridge
Portraits are definitely easy if you are comfortable with pixel art
hey guys, I was wondering if anyone knows if its possible to automatically place furniture on custom farmhouses after certain upgrade?
As someone who is neither an artist or writer, I'm having a hard time deciding what the easiest mod is to make lmao
Preexisting river in vanilla, the only tiles I had to add were the bridge tiles on their appropriate layers, LOL
Simplest mod without doing art is probably just changing a vanilla character's dialogue line to "Hello" tbh.
{
"Action": "EditData",
"Target": "Characters/Dialogue/Penny",
"Entries": {
"fall_Fri2": "Howdy, Leroy!"
}
}
Not so hard? Not for me, anyway 😂
I believe the only farmhouse furniture you can change is the starting furniture
imo the easiest is a reskin
The upgrading/furniture moving is hardcoded
iirc it's c# land if you want it to change furniture on upgrade (like how the 1.6.9 bed isn't upgrading)
even if u know what you wanna write, writing is hard 
You are forgetting how many people don't read the maps wiki page and right from the beginning don't include the tilesheets in the map folder (or map in the Maps folder, however people like to do it) and then get tilesheet climbing problems - and because they didn't read the wiki, they have no idea what to do haha
I do have a lot of EditImage mod actions, those are easy if you can do the art
First mod my friend made was giving penny cuss words in all her dialogue had me laughing for days
Fair, aba. I devour wiki pages for brunch. (Breakfast is way too early to be awake)
romancing saga 3 mentioned 👀
speaking of maps.. 😔 i found an old one i made
equivalent to casey's "spenny"
the mod that just makes penny spin?
i feel bad for my old map just sitting around and wanna use it for something at some point...
That's fixed now
Pathos is fast
pathos our regional angel
Yeah it was fixed in the very next daily update lmao
This reminds me that I still need to tack another bedroom onto JoshHouse for my Zelda NPC mod
i assume you turned the cc into the deku tree? if not i'mma riot
George will get a bedroom he can sleep in at last, rather than sleeping in his chair! Even if he won't be George anymore...
If you mean the UI art, I can, but not the whole building, no. I made a custom location for the deku tree xD
Saria/reskinned Leah is gonna hang out there once you've unlocked the Secret Woods.
And maybe a few Koroks if I can get the junimo reskin to cooperate
Hmm 🤔 wonder if Nintendo would come after me if I made all of stardew into one giant Zelda map lol
if you get popular enough to have an article, probably
They're being pretty litigious right now
It's nintendo, of course they would 
I'm hoping my art will look distinct/different enough to not get me in trouble, but, yeah, that's a risk.
they took down rhythm heaven studio with a dmca
even on github
Yah
have to not call it anything close to Zelda just make it similar lol real similar
Legally Distinct Green Elves ™️
Check if they don't have a patent for long ears in games 
Yeah, your bigger problem is going to be figuring out how to understand what the hell patents they have
They don’t not legally binding
It'd be a bummer to get a C&D or a takedown on this mod after working on it for close to a year, but if it happens, it becomes a personal mod instead and we all cry until I change it again to rename all the people.
If just have to change what the C&D is claiming
as long as there isn't any music, your art is your own, the names aren't relevant, you can probably argue it, but then that takes money and nintendo likes to sling it's power over indies
They have a patent for throwing balls... nothing will surprise me when it comes to that company
Throwing ball to capture things is the true form of the patent
If you don't make money from it, they'll probably leave you alone for some time
Yep, I am specifically drawing all my own art assets for this, to make it as clear as possible, and I won't be enabling DP
And I am avoiding the big three, so less likely to start a fight over their main character line
Problem is nexus posting it gives rewards
it should be fine for a SV mod, as long as they're not planning a SV-Zelda crossover themselves
Wasn't there a pokemon mod for Palworld that got taken down by Nintendo?
Not sure how much of "original assets" it used tho
that's definitely not the same ballpark...
they're not hylians, they're red greencaps
Hmm 🤔 I could call it hihills castle mod lol
From what I saw, most of the takedowns have been for ripped 3d assets from their games
Yah direct art theft or usage of there styles
I'm just a Nintendo hater (company, not most games) 
how do I code in content patcher
sadly, past performance is no guarantee of future results. you could get a C&D for anything
Hmm 🤔 wonder how hard it would be to recreate the original dungions lol
it's probably not as bad as atlas with their withchunting
and nintendo is famously litigious
!CP
Content Patcher (https://www.nexusmods.com/stardewvalley/mods/1915) is a mod which loads content packs to change the game's images and data without replacing XNB files. If you want to make mods using Content Patcher, start at https://stardewvalleywiki.com/Modding:Content_Patcher.
To use this command, type !cp.
Direct art is for sure solid grounds for takedown, but style?
Style can be argued, but my shading and color palette is mimicking Stardew for a reason
referencing concepts to make the design fit the SD worldview is also a good idea
Gonna violate zeldo patents by adding a spin attack for the sword
we can have sword having projectile attack already
Yes if you make it yourself but it mimics over 90% of there design and you make profits or rewards from it you can be sued
master sword!!!
Atlus is having some controversy besides milking their games dry? 
This information was intended for you, just in case you weren't sure: #making-mods-general message #making-mods-general message
there is no bright line at 90%, and you can be sued for anything. even without merit, defending against litigation is ruinous
i know
idr if they're still doing it but they were doing chasing down of anyone who had youtube videos of their games, as well as any streams of their music in the bg
im reading
I once created an attack style similar to Link's spin attack, but I never released it.
Just making sure :)
Ah that, I haven't heard anything about that in a long time, so maybe they calmed down 
other ip-mod-making is a slippery slope though, which is kinda why i've been avoiding it
In Japan it’s harder to defend but in the USA fair use and artistic license has more sway so most lawyers won’t touch it unless they can prove intent to copy since most art is 85% drawn from context
Yeah, Japan is infamously dated with stuff like that
It's good practice for everything involved in making an expansion mod while keeping in the vanilla base training wheels, if nothing else.
Also pal world is in Japan as well so Nintendo can easily push there lawsuits though
i definitely fight demons on wanting to make my own hsr penacony though i love dream delving bs
If I change names, remove references to the original IP, and tweak the art just a little, I can transform it into an original set very easily.
Do it 
the amount of times ive almost accidentally hit publish on a random message is now more than one
lol
How do u accidentally 2 layers of context menu
look i'm really bad at scrolling. i accidentally my mouse buttons
Powerful
all it takes is a left click, a slight diagonal movement of the mouse and a right click
I unironically think that dumb humor of HSR would fit quite nicely in SDV
Well gotta drive I’ll be back later gona read over those i18n guides you all posted earlier then smack my mod again and see if anything sticks
you gotta kick the mod in the right spot to get it working
much like blowing into the cartridge of an n64 game
lol only reason that worked is cause you rub the pins every time you take it in and out
Mine was original Nintendo /famicom
Just like blowing on the pins, kicking the mod also won't help
But it somehow just works
ah, the old chestnut. an actively harmful practice that occasionally worked by coincidence, so everyone did it
The mod just wanted to see you suffer some more for it
Turning it off and on works though
We only had Pegasus (nintendo famicom rip off) in my country when I was growing up 😅
Or breaks it worse
Especially if u have access violation exception
I also liked opening the PS1, taking out the disc, wiping it on something incredibly stupid, and putting it back in
do other people not use "kick" to mean reboot? "hang on, let me kick the server", etc.
I've never heard of that
nuke is a common term in my household
Not working nuke it and try again
@velvet narwhal: check how the calendar/social page mugshot is handled and see if I should do some harmony crimes with it (15h ago)
Sigh 😔 made one change and broke it all lol red text of doom found the problem added assets to wrong folder >..<
I'm honestly happy when I see a red wall of text... if I change something and it all works it's just... suspicious 
Or when there's no error but it doesn't work
90% I don’t see red wall just works since I copy paste my working code 9% I forget to add the , between the copy pastes
you could even do this while the game was running a lot of the time. some games have exploits and/or speedrun tech that rely on it
I like to run my game to find out what stupid thing I've missed in my json
What was the format for minimal version in dependencies..? 
uuuuuu
{
"UniqueID": "Pathoschild.ContentPatcher",
"MinimumVersion": "1.22.0"
}
]```
so close to "1.23 for mysterious reasons". so close
mysterious reasons by beloved
I had a disc that was scratched in such a way that there was one part of the game that would always freeze, but opening and closing the lid over and over again would make it progress one frame at a time until it got past that damaged spot
that requires me to go out into the loft to play persona 5, i'm good with sitting in my chair
I have no real attachments to physical media, I figure if Steam goes down then there's probably bigger problems than I can't play my games anymore
multidisc games that require you to put in a new disc halfway through my beloved
Oh I just 100 percented Strikers 
I couldn't finish FF9 at the time because of a scratched disc🥲
lol my first multi disc was .hack
If you wana go old school then it was the original 3.5 floppy disc Jurassic park had 6 disks took 8 megs of storage to load it
i don't care too much about the actual media (except DMG game boy cartridges, the best cartridge shape ever made), but i love that they are immune to corporate whims like "we've removed a game from the library"
I wonder if I'm the only one who still used floppy discs in 2008 
lol I upgraded to Zip disks
I've never seen it in my life...
in 2008? i think i might've had some laying around, but didnt activly use them anymore
that was the good old time of rewriteable CDs for me iirc
upgrade 'save anywhere' except it's a computer furniture where the ui is floppy disks
I used a floppy disk to carry a Game Boy emulator.
Yes but if someone said face I'd understand too - in context at least
(though once my first mp3 player broke, i dusted of my old cassette player ^^)
I feel like different sides of discs was more common in other media, I don't think I ever saw a game made that way
I think I owned one... but it was just some promo thing
That reminds me of those multi-demo discs Pizza Hut had for a while
"expand your hard drive without limits" when the limit is clearly 100MB is big "640K ought to be enough for anyone" energy
Well, you just buy another one :P
This is my feelings about stockpiling gold
Me, I stockpile iodine
atra ready for nuclear
(doesn't iodine expire?)
lol I remember when I upgraded from 16kb ram to my first 128kb ram good old sun microcontroller pc
elemental iodine probably doesn't, but I don't think it's edible
I'm actually curious how much RAM my first PC had... I was too young to even know what ram was, but I could still break windows to my brother's dismay 
I used DOS then upgraded to windows 3.1
128KB can't even fit a single PNG🤣
It's nice to not feel old lmao
I... somehow didn't realize there were windows versions pre 95 
imagine having less than 1gb ram
My first computer probably did, but that was before I started building my own so who knows lmao
It was also a piece of trash
The era without alpha 🤣
no, it can, that's 425 bytes (below)
IMAGE??
i love talking about old computers (the famicom had 2KB of work RAM, mercifully separate from VRAM) but we should probably take that to off-topic and get back to mods in here
mods amrite
wednesday? we got how many days til end of event? <t:1730419200:R> ? and there's only 5 in the modding contest? clicks tongue
im not submitting until last minute
What there's only 5 in the modding contest????
i decided my mod idea was too ambitious to finish
and then i spent... more time than is advised on the giga mazes
this is why i didn't touch those giga mazes
Hello everyone, I'm new here.
This is my work: https://www.nexusmods.com/stardewvalley/mods/17714
I really want to communicate with everyone, but English is not my native language, so it's a bit difficult for me to speak.
shells myself out well for 5 doller pixel-
I want to know where there is a modding contest.
i guess if anyone needs C# shenanigans for their mod contest entry, i'm available to collaborate
its part of the halloween event
iirc anaira was looking for a c# partner but idk if one was found or not
just string.join spooky words to the end of all dialogues, done
avi draw me some item sprites and ill solve all ur wild tree problems
what item sprites
i need icons for me trinkets
also tedi kinda solved most of em but for me it's just me wanting cp compat light-up trees
was just gonna recolor some vanilla sprites tbh
throw refs https://discord.com/channels/137344473976799233/1293116865354141706 i'll get back to you by end of day
(it is 10am for me here)

Where did you see about only 5 more days for the modding contest!!???!!! 
yea i almost got skem too
sowwi, i even tried to use the discord timestamp to specify regional time
devious
I saw the regional time but just went "8 days for overall event but only 5 for event????"
Skem?
Whew I'm glad that was a false alarm. I'm stressed enough about my slow drawing as it is
Lol skem
skem is a very mmo-esque verbage which i'm used to
Uhh did something change on Nexus posts in last 2 or 3 months..? How do I edit sticky posts? 
Nope, tried it
anyone see any issues with my i18n it tested just fine lol not sure if i need to translate the true false though
oh wait, you can't edit someone else's posts right
You don't, it's just a checkbox
It's my post 😅
you can block yourself?
Apparently..

unlock post?
un sticky make edit re sticky
You're definitely welcome here :) we don't always talk this quickly and I hope you won't feel that English not being your native language is a barrier to us wanting to hear from you.
Your mod looks cool!
Uhh... still nothing 
hmm thats how i made edit to one of my stickys before
I'm pretty sure I did too, so that's even more confusing...
I'm currently working on a rather large project, but I'm hesitant to upload it because the English is machine-translated.
you can ask for help with eng translations in here and #making-mods-art
what is your native lang?
chinese
yea i can make attempt
dont count on me for srs writing but i translate all the configs of my mods to chinese 
This is my current translation file; it’s just too much.
https://docs.google.com/spreadsheets/d/1p0tiYLxPIab9e__MMiKPkzSttaHSbaLZd7AXfIr9iRk/edit?gid=0#gid=0
oh boy natural language processing strikes back
are we gonna have a round two of conspiracy vs nefarious plot
no it's more like, when you reach a certain level of dynamic sentence construction
I have created a tool that can directly download this spreadsheet as an i18n JSON file.
you will need to start considering grammar instead of just tokens 
oh right, the fun part about words having multiple meanings
this isnt quite at that scope ofc, so just filling out more sentences should be sufficient
but i dont know the design goals for the mod
google did solid job for most part 
It's a random dialogue system that can trigger events, trade, and interact with NPCs. I can provide a runnable half-finished version, though it's machine-translated.
the ones tha stuck out to me is the line about miso soup, english doesnt have that particular idiom
and Intimate Relationship is very formal 
The design is about diversifying the sentences; as long as they fit the context, I actually don't mind if the entire dialogue is modified.
Facing such a large amount of translation needs is really quite troubling.
大力出奇迹 
but also its fine to only include your native lang in mod release, if you feel uncomfortable about using machine translate
It definitely will be.
i don't know the ratio of eng vs chinese on nexus but iirc chinese is definitely prevalent, right?
English is definitely most common
Oh... right 
ik there's cn ppl releasing mods on xiaohongshu(?) kinda like how kr has naver cafe
Yes, I hope both Chinese and English players can be well taken care of.
but many cn ppl use nexus from what i can tell
pr is also big category and the only lang ive gotten 3rd party mod tls for thus far 
lol reason i made an i18n file for configure options
Indeed, there are people very dedicated to translating PR.
i'm wondering if this resurgence of bugreports is because i got an unofficial translation but i just haven't cared enough about it
lacey has a bunch of independent translations, at varying levels of out-of-date
is it just me or is nexus and steam running slow today
I think I know what you mean... 
like yeah, i'm glad they're picking up my mod cause i have an official chinese translation, but my chinese translator is dealing with uni and i added well over 500 lines of dialogue since the last time she gave me the file
(i am always willing to accept PRs, if anyone wants to provide official translations)
my bug reports are usualy caused by other improperly used mods lol
and i dont get responces back
Even though my English is poor, I still think using English on Nexus Mods can help the most people.😭
how do i move her to the left if i cant use negative numbers
you need 3 indexes, <x> <y> <facingdirection>, so you're just missing the facing direction
i've been tempted to do my own jp at least once, but i know only enough japanese to be dangerous, so it's best not to
i use my own mod to practice thai, i break into the thai market by not knowing a damn thing except the alphabet
you could do it in english and use a i18n translation file for chinese or vice versa
i dont even know why i bother respobding to comments with issues because they never reply back anyways lol
or you get "nvm i figured it out"
Hello everyone! I'm new here, I've only been playing SDV for a short time. I liked the game so much that for the first time in my life I decided to make something for the game myself. I'm currently drawing my own farm map. Could you please help me with one problem? I didn't understand from the information on the wiki how to make a data json file and write down the types of fish on the farm in it. I couldn't find a more understandable guide on this topic (I've been playing the game for less than a month and may not know if this problem has been discussed in detail). Ideally, I want to combine several types of fish on my farm. I would be very grateful if someone would tell me how to make this file and write down the different types of fish for fishing and crab traps.
i should upload my additionalfarm as an example
mm did you look at FTM it can help as well as its guides
https://github.com/Aviroen/Custom-NPC-Edelweiss/blob/519efecc594e6fcdcee31bfbb55bb54e275d67c0/data/Locations.json#L19 if you're using the additionalfarm, fish is a list that you can get any amount of fish ids
I forgot to mention that I'm creating the map using Tiled.
most of us do ^..^
there's definitely 1 crazy person who uses the text version, i just wanna know who
https://github.com/Aviroen/Cozy-Extra-Small-AdditionalFarm/blob/master/content.json here's an actual additionalfarm dedicated file
well ive done some text version just to fix some tiled issues since i can do a copy replace
yeah i definitely do spot fixes in a text editor but not normal editing
once i finish translating build more greenhouses think ill work on my cellars mod
All the mods I have currently uploaded operate this way.
thinking on the contest i did contemplate a full scale soul-eater style artstyle
then i realized iun wanna draw that much
As I understood from your file, you specified certain types of fish. For example, "tilapia" etc. I want to specify in the settings just river, mountain lake and forest fish (I have two lakes and a river on my farm, and I want to separate them by fish types). I do not want to specify each fish, if possible Can you tell me how to simplify the data file in this case? And in which folder should it be placed in the mod structure?
https://github.com/Aviroen/Cozy-Extra-Small-AdditionalFarm/blob/d141cf41d6d1e9139f452ca077a7043cd0d8356e/content.json#L216 this part here should be picking from all 'forest'-bound fish types, i think i put all the location-bound fish types in there
i haven't put crab pots in because there's not really that big of an area to fish in my map personally, but data/locations and looking over the Farm_Beach should tell you how to format the crab pots
in terms of 'foldering' this is all in the content.json
tbh additionalfarms doesn't seem necessary for separated files of codeblocks
Okayy? Now I can't edit any of my posts, even replies... Nexus, you good? 
I've seen examples in your data json file and in other modders' files, but it's still very difficult for me to understand. Could you please explain in more detail what needs to be done? Step by step.
are you aware of content patcher
i wouldn't be able to explain to you how content patcher works because it's hard to explain from a 'never seen a codeblock standpoint' for me
yeah ig that should be the starting point, this is all written through content patcher's .json syntax
https://stardewvalleywiki.com/Modding:Farm_data additionalfarms wiki has a very very basic example that gets your farm up and running
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide.md content patcher docs
Yah I can’t reply as well
Cooking up an exciting new SpaceCore feature 👀 (not super useful for smaller mods, at least for the intended usecase, but you could do some interesting stuff with it otherwise too)
the first step to success is getting into the puzzle. the second step is finding your way out again 😌 this step neatly covers steps 2 to 30,650
cooking...
..
Does anyone know what it means in a SMAPI log when it says: ‘which couldn’t be parsed: required index 2 not found (list has indexes 0 through 1)’ I have zero idea what it means 😦
depends on the context of the rest of the smapi error
but sounds like you're missing more commands, like how in events move <NPC> requires 3 'indexes'
ex: move Caroline -1 0 1 -1 being the <x> value, 0 being the <y> value, and 1 being the <facing direction>
It’s saying it during dialogue for some reason
dialogue requires speak <npc> \"DIALOGUE\"
Yeah I have that. I made two events and didn’t have this problem but now it’s being weird on this one
if you could show the json, there might be something like a space connecting the npc name or if you're using i18n keys, the key isn't complete
Yeah sure, should I just show the bit that smapi is saying that to?
ye
I’ll apologise for my bad spelling, that stuff a WIP lol. It’s also after a quick question if that affects anything
!json
JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.
If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.
When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.
To use this command, type !json.
upload the json here
which one? only seeing logname for 2 heart/3heart/4heart
Yeah sorry I meant 4 heart long day lmao
500\\speak Kent\"And looking over how my life, especially my marragie, has gone...$s#$b# I can see that's one aspect of my life I regret.\"\\
right there is missing a space
goes back to the word search
Did CP or JA change the way you target JA items? My CP-A patch doesn't seem to work anymore.
"LogName": "0 Fish Bowl Animation",
"Action": "EditImage",
"Target": "{{spacechase0.JsonAssets/ObjectSpriteTilesheet:Fish Bowl}}",
"FromFile": "assets/Animations/fishbowl.png",
"FromArea": { "X": 0, "Y": 0, "Width": 16, "Height": 16 },
"ToArea":{ "X": "{{spacechase0.JsonAssets/ObjectSpriteX:Fish Bowl}}", "Y": "{{spacechase0.JsonAssets/ObjectSpriteY:Fish Bowl}}", "Width": 16, "Height": 16 },
"AnimationFrameTime": 10,
"AnimationFrameCount": 28,
"When": {
"HasMod": "spacechase0.ContentPatcherAnimations",
"HasMod": "spacechase0.JsonAssets"
}
},```
Thank you! I was looking through and saw most things were due to me forgetting spaces. I think I’ve cleared all the errors now, just gotta remember how important the spaces are. Thanks for your help ❤️
That should be fine, though I don't know if CP-A is working in 1.6
You can do animations with SpaceCore, though it works differently than CP-A
Does CP-A still work..? Thought it was broken
I have another CP-A patch that works just fine
only difference is this isn't a JA item
"LogName": "0 Pufferchick Animation",
"Action": "EditImage",
"Target": "Mods/StardewAquarium/Items",
"FromFile": "assets/Animations/pufferchick.png",
"FromArea": {"X": 0,"Y": 0,"Width": 16,"Height": 16},
"ToArea": {"X": 32,"Y": 0,"Width": 16,"Height": 16 },
"AnimationFrameTime": 10,
"AnimationFrameCount": 5,
"When": {
"HasMod": "spacechase0.ContentPatcherAnimations",
"LegendaryFishAnimation": "true"
},
},```





