#making-mods-general

1 messages · Page 364 of 1

quartz arrow
#

Im debating makin a lil sequel mod to my fish/artifact/gem mod but one that "just" adds like 2 crops and 1 tree per season (with cooking recipes to go along with it)

torpid sparrow
#

whats holding u back

quartz arrow
#

Is the crop market top saturated LOL

vital lotus
#

!cake

#

!twocake

#

!twocakes

ocean sailBOT
#

If you discover that someone has made or is making a mod with a similar concept to yours, don't stress! Our community promotes the idea of "two cakes", where two versions of the same idea can peacefully co-exist. Your mod will have your own unique stamp on it that makes it special.

quartz arrow
#

LOL im what cake pic ur talkin about

vernal crest
#

Yayy you got there!

quartz arrow
#

My brain has no issues with the cake concept when writing fanfic or producing fanart cause my ass WILL read the same trope 50 times happily

#

But with mods i get hung up more xD

vernal crest
#

We can never have too many non-offensive mods of any kind imo

quartz arrow
#

Fair fair lol

torpid sparrow
#

someone will prefer ur iteration

quartz arrow
#

thats prob the best words you could say uwuhearts

#

Aight fuck it

sweet wharf
#

I'mma ask a question, can anyone point me to a wiki or tutorial on how to make a map for a mod, because I can use Tiled, I just need help with making the map I want

vernal crest
#

Are you looking for design advice or something?

sweet wharf
#

Design advice

torpid sparrow
#

what are you making?

#

like what do you want the map to be

vital lotus
#

In general refer to the base game tilesheet a lot, try to keep things varied, I think

sweet wharf
#

I wanna make an area for my npc's house and a church that he lives in and runs

vernal crest
opaque field
vital lotus
#

This seems bit more updated with CP

opaque field
#

I will never not love more crops and trees js

hard fern
#

Would you love 4 butters

vital lotus
#

I heard there once butter fiasco?

opaque field
#

are they different types like garlic and herb?

#

Yeah I think I remember that too

#

I wanna figure out the best way to make cream cheese lol

vernal crest
opaque field
#

like do I try and do it with ingredients or do I just like, make a 'cream cheese machine'

hard fern
#

How does cream cheese even get made irl

quartz arrow
#

Now i want cream cheese

#

Does SVE add any crops/trees?

floral stratus
hard fern
#

Yeah a couple

#

I think sve has

#

Cucumber

#

And thats all i can remember

quartz arrow
#

Ik the monster seeds. Im trying to find what fruit trees it adds, if any

opaque field
#

according to a quick search Lactic acid is added to pasteurized milk and cream, which lowers the mixture's pH and causes it to form curds. When the curds are heated and stabilizers are added, it becomes cream cheese. lol so probably either cheese in the butter churn or just a 'cream cheese maker' where you add milk and a fruit if you want like, flavored ones (and salmon cuz salmon cream cheese slaps)

quartz arrow
#

If ur gonna add a cream cheese recipe u need to add a bagel recipe

#

Its the law

brittle pasture
#

SVE 1.15 adds three regular crops and fruit trees, one for each season
all of which already has Cornucopia equivalents

opaque field
#

absolutelyyyyy! I love me some baggels

floral stratus
#

You could do the cream cheese maker and do a whole line of schmears

brittle pasture
#

(and also the money tree I suppose)

vernal crest
gentle rose
#

it shouldn't be super difficult considering that Auto Load and Skip Intro already exist, but would require knowing some c#

opaque field
#

The whole cream cheese started in the name of making a buffalo chicken dip recipe too

floral stratus
#

Hahaha

opaque field
#

or 'buffalocrabdip' if you don't have the mod that allows you to have meats

#

I have been sniped by scope creep so hard.

floral stratus
#

For one of my minecraft mods someone wanted me to make a singapore sling cocktail, which led to me making gin, which led to me figuring out how to make juniper berries drop from trees.

opaque field
#

I love that! haha

#

ooh!~ I successfully made the DLL for my magiceggbuff! The buff attatches to a 'special egg' that sometimes hatches from my MallowChickens

floral stratus
#

Awesome!

opaque field
#

It's my first time making something with C# - baby steps

floral stratus
#

I'm so afraid of when I get to that step. I've only made content packs with json up til now

#

Where did you go to learn C#?

opaque field
#

it was both harder and easier than I imagined (I also had, a lot of help) uhm I followed this https://learn.microsoft.com/en-us/shows/csharp-fundamentals-for-absolute-beginners/ my husband bought me a lil book and an old roomate apparently loves C# and let me throw my code at him hahaha

Learn C# programming from an expert in the industry. Get the tools, see how to write code, debug features, explore customizations, and more. For newer videos head over to dot.net/videos

floral stratus
#

Bookmarked!

vernal crest
opaque field
#

I really appreciate that the guy like, walks you through an active project - I find it helps so much to get my hands on it. OOOOh good to know! I'm pretty sure I found this blessing of a link on the SDV modding wiki too 😄

vernal crest
#

You can make an entire working mod following that page

opaque field
#

oh yeah this link totally came from there, and the wiki was extremely helpful

#

and staring at the decompiled code

vernal crest
#

LOL Caracal that page is the one that Chu asked you several times if you'd gone completely through the process of making a working mod and you said yes every time and I'm pretty sure you hadn't

opaque field
#

I had I just didn't really like, get it yet

vernal crest
#

Because it was only after you'd said yes several times that you asked how to build your mod

floral stratus
#

lol

opaque field
#

my old roomate very extremely patiently talked me through it lmao

vernal crest
#

So baby you didn't even know to fear Harmony lol

#

I've not even attempted to look at Harmony yet

opaque field
#

made the brain go 'click' I knew to fear it, but knowing better has never stopped me before T.T

floral stratus
#

My usual technique for starting to learn modding is to open up mods and see what's under the hood, then move on to programming. It's what I did 5 years ago and what started me into modding in the first place.

vernal crest
#

My C# learning is going very slowly because it taxes me much more than the json side so I run out of energy much faster

sweet wharf
#

soo, i'm wondering if i could make the house i wanted as a pixel image in the program im using so i can make the church/house for my character, is that how i would be making the tileset png?

opaque field
#

it's definitely not something I want to dip into again until I have a better understanding of how it works. VERY happy to be working back in CP again XD

vital lotus
hard fern
vernal crest
#

I enjoy learning it but I do have to get iro to explain a lot of it to me because it works so differently to R

rancid vortex
#

Does anyone know how to have events trigger in the farmhouse?

#

I'm trying to have Morris break down my door and yell at my farmer at 6 am

quartz arrow
#

afklsklfasdkl thats unhinged i love it???

rancid vortex
#

The event works it just doesn't trigger rn lol

#

So Morris just I guess stands outside the house and gets cold feet

quartz arrow
#

like the true coward he is

brittle pasture
#

do you have code?

torpid sparrow
#

^

floral stratus
#

I've only ever seen farm/farmhouse events trigger at your front door. I assume it's because of a limitation in the code

torpid sparrow
#

yes

#

events ON the farm are at the porch

opaque field
#

yis, it do be a little hardcoded

torpid sparrow
#

but you can have events anywhere IN your house

opaque field
#

wait what really? I thought that was tricky too

torpid sparrow
#

norp

#

i mean the placement will be difficult

#

because of house changes

royal stump
#

it's generally easier to avoid events on totally unknown map layouts

gaunt orbit
#

Same reason npcs are banned from pathing through it

opaque field
#

like the upgrades and stuff? could do a "if they have this put them here" when condition type deal yeah?

#

hm, I may tinker with the house event thing after I finish getting my NPC to work

floral stratus
#

I would be afraid to try, as the layout of everybody's furniture will be different

royal stump
#

mods can add other house layouts and/or upgrades, and stuff like furniture too, yeah
(technically an issue elsewhere too, it's just far less likely outside)

gritty sandal
#

What price range commissions should be?

#

Custom marriageble npc.

opaque field
#

that's kinda one reason I was avoiding it too is cuz of that but I have at least one event that could potentially r e a l l y benefit from being in the farmhouse or something because rn it starts on the porch and then fades to black. Speaking of breaking down doors mine is that Shane broke in cuz yannnow.. he loves ya

floral stratus
opaque field
#

it's a little awkward but it works

rancid vortex
opaque field
#

I love the idea that Morris would come bother you at 6am XD

rancid vortex
#

rn I'm using /J 5 for 'trigger on day 5' to test it

rancid vortex
opaque field
#

nope.. never, not even once XD

floral stratus
gritty sandal
rancid vortex
#

But yeah I have Morris correctly doing stuff in the house, he just doesn't actually do it unless I force him to

vernal crest
floral stratus
iron ridge
rancid vortex
#

Does anyone know of a way to force the event to trigger in the farmhouse?

gaunt orbit
brittle pasture
#

also capital J is "joja bundles completed"

rancid vortex
#

OH

#

OH THATS THE PROBLEM

hard fern
#

Loercase j is past 5 days i believe

calm nebula
#

Jello (the only person insane enough to do npc commissions) basically treated it as a menu

rancid vortex
#

Actually it might not be the only problem but thats definitly a problem lol

calm nebula
#

Ie, $80 base. Then more for each event, expression, etc

#

Total was $320 for Chrissy

brittle pasture
#

this is why I recommend using the new longform format for event preconditions

hard fern
#

Wow. Yikes thats a lot of money

vernal crest
brittle pasture
#

DaysPlayed 5 is much clearer

gaunt orbit
#

That sounds about right for the amount of work that goes into an npc

rancid vortex
#

That fixed everything thank you!

gaunt orbit
#

I think when people have hobbies they tend to devalue their own craft

vernal crest
#

$320 for an NPC seems too low to me

rancid vortex
torpid sparrow
#

I have NPC commissions open; i had an inquiry and when i was listing all the prices for each separate thing i was like oh this is like

rancid vortex
#

But it actually triggers now!

torpid sparrow
#

a lot of money

rancid vortex
#

Also wait they're depricated?

torpid sparrow
vernal crest
#

Yup it says so on the events page but I think I'll make the clearer because far too many people are still using them

rancid vortex
#

From a complete modding novice: What makes making an NPC so hard?

torpid sparrow
#

its not hard (imo)

#

there's a lot of parts though

vernal crest
#

Many bits and pieces, some of which are really confusing to initially learn

torpid sparrow
#

it depends on how complex you want your NPC to be; you don't have to include events or quests or custom objects or custom locations

floral stratus
#

Sprites, portraits, events, dialogue, + 1000 other parts

torpid sparrow
#

what you want to add to flesh out your NPC depends and that'll change the amount of work it takes

gaunt orbit
vernal crest
#

Once you know what you're doing they're pretty straightforward but that learning is worth counting when offering comms imo

quartz arrow
#

change in schedule if they're roommate/marriage able

hard fern
#

And it takes a while because of how many parts there are, and ofc dialogue and events . People usually want their npcs to be substantial so that means spending a lot of time writing

vernal crest
#

Things like "they won't use location dialogue or CTs unless they have gift tastes even if they're anti-social and can't be gifted anyway"

calm nebula
torpid sparrow
#

i love making NPCs even if they can be a looot of work

calm nebula
#

She isn't like

hard fern
#

Ignoring the fact i absolutely do not have NPC commission money.. i would want to do it all myself even if its hard and takes a long time

torpid sparrow
#

i remember watching that video

gaunt orbit
#

Sometimes I wonder what the word count for npc writing is

torpid sparrow
#

id open up my files but not at my pc

#

anyone have their files on hand im curious too

vernal crest
calm nebula
#

A beloved work of art with 100k words, OC mine do not steal kinda thing

gaunt orbit
#

Tbh npcs are petty much the only reason I haven't attempted an expansion

floral stratus
#

Where would I go to learn to update an NPC replacement to CP 1.6 from something in 1.5

torpid sparrow
hard fern
#

I dunno how I'd even count words

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:

vernal crest
#

(I say this knowing I do not offer commissions but that's because nobody wants a comm that takes 2 years to receive lol)

torpid sparrow
#

if enough money was paid, i would spend all my free time on it

gaunt orbit
#

I've been considering opening comms for c#

hard fern
#

i dont know how many words this is but this is my default.json

vernal crest
#

One Welsh word

opaque field
#

My current projects are: Continuing to work on my Shane Expansion (made it to the trending mods forntpagecryingscreamingomg), Cream cheese machine with flavors and bagels, and some true labors of love, Iggy Nova and Riott Knight who are NPCS that I am making - it is a very slow complex process but I have loved basically every single second of making them

calm nebula
floral stratus
#

A german word with a lot of adjectives

calm nebula
#

Fwiw I would never commission a full npc

hard fern
#

damn im reading over the lines i wrote and some of these are really sappy.

calm nebula
#

But I have considered commissions for parts

torpid sparrow
#

my default json is 45k characters thats fun

hard fern
#

"Lise.Proposed": "...I had thought about getting married before, but I was so busy back then, that it didn't seem practical for me to try and settle down with someone...#$b#But well, I'm older now...$1#$b#Marriage isn't the easiest, so are you sure you'd like to spend the restof your life with me?#$b#I can't promise you a fairytale romance...$2#$b#...Even still, you want to marry me? I...#$b#...That's what I like about you, @. So yes, I'll marry you.$10#$b#I may not be able to promise you a perfect spouse, but I can promise you everything I am, and I hope you'll accept me the way I accept you.$4#b#...Ah, I think I got a bit emotional there. Don't worry, @. I'll take care of all the wedding preparations, alright?$8", like why did i write a whole paragraph??

calm nebula
opaque field
#

I would probably offer like, sprites maybe for comms? but I have a hard time valuing my work enough to accept dollars even when they're being thrown at me

floral stratus
hard fern
#

im allergic to deadlines so i could never do comms

floral stratus
#

if I have a deadline, I'll have to do it all the night before

opaque field
#

I am a procrastinate then panic type despite my best efforts

floral stratus
gaunt orbit
#

My usual mode of operation is to start 1000 projects and not finish any of them

opaque field
#

Don't I know itttttttt. Ooh that's also me

#

oops forgot my Mallowhens in my projects list

royal stump
#

I "did commissions" for a while, but basically just took tips because haggling kills me SDVpufferlurk
(deadlines too, but that I can solve by overworking)

gaunt orbit
opaque field
#

and that I'm making Axel from KH (the list probably goes on but I don't know where I left it)

hard fern
#

Im Flieger

#

Sorry typo

#

Im not whatever i just typed ??

floral stratus
hard fern
#

Im doing my best to finish my wips

#

And by that i mean staring at them menacingly until i have an idea

opaque field
#

me struggling with one mods progress and flipping to another one/starting a new one

#

like a rolodex of 'fidgetmods' the same way I 'fidgetcook/bake'

hard fern
#

I just have a bunch of empty folders for my wips

#

I wanna make decorative vases ..

torpid sparrow
#

i feel bad about basically putting one of my WIPs on hold

royal stump
#

my current project is big and segmented, so I just keep working on different parts when I get stuck SDVpetjunimo

opaque field
#

oh! I forgot about my salsa mod (breaks into the salsa song portion of my band)

#

because IggyNova lives off salsa - not really but she tries

hard fern
#

Sigh maybe ill get better at spritework

final arch
#

@calm nebula can you step into the gamecode when debugging your mod in VS?

opaque field
hard fern
#

Me with my expansion. Stuck on one thing? Avoid it by doing another thing

#

Sometimes i think im not making much progress but like. Im not making immediate progress, the stuff im working on is so i can just get it out of the way for later

opaque field
#

currently I am stuck on when he sends gifts. regardless of what path you get I have 8 chicken plushies that he sends/gives you. Each separate path gets 10 gifts - darts, mixtapes, and 'dog tags' -each path has about 10 events but I don't want it to feel... i dunno boring? idk if that's the word i'm looking for

#

then there are 3 recipes, but Jas sends one of them lol so only two left.

floral stratus
#

My mail mod uses a lot of "Random after you've seen x event" stuff

calm nebula
#

It doesnt work very well and keeps dropping me into raw assembly

visual dirge
#

idea: social npc who doesn't like or love any gifts, and instead can assign you up to one task a week that rewards the same friendship as 3 loved gifts

hallow prism
#

what would be the best way to count how many items have a specific (custom made) tag?

hard fern
#

I wonder what kind of npc that would be. A timeless immortal who has simply grown bored of the things mortals find interesting?

hallow prism
#

maybe if i can find again the UB command to open a shop with specific parameters and use the context tag as filter

hallow prism
#

using the count feature in notepad ++ may work too... i'm rubberducking

#

(at least as long as i'm dealing with my own items, vanilla may be more complex but one step at a time)

calm nebula
#

debug iq maybe?

hallow prism
#

i don't remember if it accepted the context tag argument

tiny zealot
#

can you specify a PerItemCondition for debug iq? it doesn't seem like it from the wiki

#

without that i can't expect it would work

royal stump
#

its only argument is a single string, so probably not

calm nebula
#

Ahhhh you can't

hallow prism
#

i believe it's why delixx did the ub command, it may be in the docs

blissful panther
#

I imagine lots of people would want to use this! It already looks plenty polished from a UX perspective, especially as a "just-for-me" type tool.

I can definitely at least have a look at helping out with whatever you feel you might need help with. Whether I know the specific aspects well enough is a TBD, I suppose. SDVkrobusgiggle

vital dew
#

is it okay to bump a queston more than once if nobody has responded to it..? pleads

#

i don't want to be a bother, ahh

brittle pasture
#

sure as long as it's not like 5 seconds since last time
things get lost here sometimes

vital dew
#

nah its been a few days

#

debugging didnt work so im not sure how to bypass this besides setting the day back using console commands --> using sun totem --> resting and hoping lol

tiny zealot
#

your goal is to show a specific dialogue for an NPC in your playthrough, and the weather isn't cooperating?

#

or is this about testing your mod, or setting up your dialogue keys for this situation?

vital dew
tiny zealot
#

e.g. debug loaddialogue Caroline "Characters/Dialogue/Caroline:Mon8" to force Caroline to say her Mon8 dialogue. it will immediately open as if you talked to her

keen seal
#

Are there night versions of the greenhouse wall tiles at the bottom right of townInterior anywhere? Can’t find any myself

quartz arrow
#

the exterior walls or interior

lucid iron
#

There's no night version

quartz arrow
#

oh you said townInterior so of course you meant interior 😭

keen seal
vital dew
#

guessing i didn't see that one when i was scouring the wiki

#

i appreciate you so much

opaque field
#

ok so, absolutely no errors in SMAPI, but my NPC doesn't show up where they're supposed to in their schedule. T.T

torpid sparrow
#

are they showing up at all?

#

and not moving?

opaque field
#

no, I tried starting them in front of the community center and nada

torpid sparrow
#

send content.json

#

or wherever your npc data is

opaque field
torpid sparrow
#

!json

ocean sailBOT
#

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.

torpid sparrow
#

can u upload it to that

#

do you have your custom location set up?

#

where your NPC starts at is in your custom location, not the community centre

#

im not 100% sure but if there's no way for them to get to the community centre i dont think they'll show up in their schedule

opaque field
toxic fulcrum
# blissful panther I imagine lots of people would want to use this! It already looks plenty polishe...

Yeah, thanks. SDVpufferheart
I need to get the project to some sort of MVP, first release state. Then I think there's gonna be a lot of possibilities for community involvement.

Like I mentioned, my current project involves making a lot of events, so the UX of the editor better be pretty good or I'll snap 😅

I think even knowledge of the modding scene as a whole is very valuable if we want to get the editor pushed through the right channels so it reaches people who need it.

torpid sparrow
#

the custom location works and stuff? have you confirmed that

opaque field
#

yeah it works

#

oh, I wonder if it's because I have a warp to the house in one place and the warp to the map overall in another place?

torpid sparrow
#

wdym

#

i dont think that should affect it you can have two warps to one place

blissful panther
opaque field
#

I have a warp in the forest that takes you to iggy's house map and then another in the mountains that takes you to iggy's map where their house exists?

torpid sparrow
#

is excludefrompathfinding default true

#

my custom locations set up has more stuff than urs

opaque field
#

hm, I set it up based on how I set them up for my other mod (not that that really means jack diddly cuz it's clearly not working here) wait where does 'excludefrompathfinding' go?

toxic fulcrum
opaque field
#

oh okay, uh no it is not set as true

torpid sparrow
#

ok thats good it should be false

#

oh

#

your warp

#

do you have a warp out?

#

you need a warp to get into the location and out of your location

#

but it doesnt look like you have a warp to get out of your location

#

oh nvm you do

#

what is IggyMap

#

i see you exit onto IggyMap, and then where is IggyMap's things

opaque field
#

that's the map of their area, that their house lives on. Oh shoot okay weird cuz I could get there when I tested it but I might have tinkered with it since then and deleted something by accident trying to figure it out

#

ima go open up the map modding wiki again and do some squinting

half tangle
#

I'm only partially following the conversation, but have you slept so your NPC can get their schedule updates?

opaque field
#

oh, uh, I don't know if I have, I'll do that too

#

I gotta go do an irl fetchquest so I'll crack it back open when I return

raw oxide
#

!convert

cold marsh
#

Is there some way to use a Prismatic Slime in an event that does NOT involve manually animating one as a temp actor?

#

Or is that the only option?

urban patrol
#

if you use spacecore or FTM, you might be able to look into spawning one? that’s been on my to-do list for myself but i haven’t gotten around to figuring out how it works yet

royal stump
#

FTM currently spawns everything at the start of each day (or at specific/random times), so it'd depend on your event conditions, but iirc they do show up in events

karmic gust
#

I've received 2 bug reports that the engagement letter I set up for Harvey and Maru won't send. I've tested it on my end and it works but I'm not ruling out that I set it up wrong and maybe a fresh set of eyes would help. I'm not seeing any errors in the user's smapi log relating to my mod (aside from an update I just published today, which is unrelated to the mail)

Here's the json (mail is on line 32 and trigger action is line 46):
https://smapi.io/json/none/a486295571184c038535a320adba15e9

and here's the user's smapi log:
https://smapi.io/log/e47a8e16aff94100ba02d85e18a78393

ocean sailBOT
#

Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on macOS Unix 15.5.0, with 81 C# mods and 150 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

uncut viper
#

are you sure they havent just not slept enough days
bc you're using a When condition on the trigger action (you should really be using Condition instead), i dont believe the trigger will be there the day after they see the event, bc CP will add it after the DayStarted trigger technically happens. so the trigger action wont happen until the day after that. and then its adding mail for tomorrow, so they have to wait yet another day

karmic gust
#

They said a month in-game has passed since the engagement event

uncut viper
#

then you should have them do patch summaries/exports to make sure the trigger action is there. otherwise, theres really only 3 options:

  1. the When condition isnt applying, which means they havent seen the event or its been marked unseen
  2. the trigger action has already been applied once in their save file somehow (an old version that did something different, maybe?) or
  3. they got the mail and just forgot. should double check their mail collection
karmic gust
#

Okay, I'll ask them to do that, thanks

twin wadi
#

i need help... where is the animation editor icon??? ican't find it SDVpufferchickcry

hallow prism
#

it's on the tilesheet itself

#

not on the map

#

you need to open the tilesheet

twin wadi
#

ohhhh okay found it now, thanks! ig that guide was outdated

#

wait no i was just dumb sorry

hallow prism
#

well, things are always obvious when you know them than when you don't

#

good luck 🙂

twin wadi
#

it literally was the editing tilesheets section SDVkrobusgiggle thanks lumina

keen seal
#

Tired and annoyed, I’ve followed the interior door guide to the letter and got my doors to appear as solid objects but I can’t open the dang things

hallow prism
#

You have the :
Door property in map property (if i remember it properly)
Door property in tiledata on building layer
Door image on building layer for bottom and front for top?

#

If yes show them

#

Take a break first and show them second. Or show them first and take a break second while people look at them

keen seal
#

map properties and the tiledata

#

the layering is correct for the images

#

it wasn't at first, fixing that was what got them to show up as solid objects

opaque field
#

dumb question - I need to make an NPC warp on my maps for my NPC to be able to go places?

hard fern
#

not necessarily

#

your npc can pass through warps like normal

#

but npc warp is warp only npcs can use

#

(so you can't use it)

torpid sparrow
#

is the spouse patio 4 x 3

keen seal
#

I think it’s 4 x 2?

twin wadi
#

isn't it 4x4?

#

well

hard fern
#

uh no i believe 4x2 is correct

twin wadi
#

4x2 standing space, 4x4 with the front layers and all that

#

sorry yeah

half tangle
opaque field
#

Okie! I’m mostly trying to figure out why my NPC isn’t showing up

#

Didn’t know if I forgot to give her a way to move

hard fern
#

unn i think the basics for an npc at bare minimum is like
gift tastes, a schedule of some sort, portraits/sprites 🤔 im not sure if dialogue is actually required

brave fable
#

Nope, not required

#

did you sleep for a day since adding them?

opaque field
#

I’ve got all of that. She isn’t appearing on the map yes I slept

calm nebula
#

Make me as an npc, bluebs

#

I'm just in the corner knitting

#

Silently

#

My gift tastes are i like yarn and hate everything rlse

torpid sparrow
uncut viper
#

Gil but with knitting needles

brave fable
#

If you run a patch summary in the smapi console, are your patches shown as applied? Does debug where show their location?

torpid sparrow
#

replace gil with atra mod when ?

brave fable
#

i'm not for the npcs

uncut viper
#

thats not true, didnt the cat fuck up some shop tiles

#

thats something

opaque field
brave fable
#

the cat is innocent. the shop tiles are a map patch and i blame the users

uncut viper
#

i blame atra personally

lucid mulch
#

I personally love the blame the user solution

#

it makes everything so much simpler

opaque field
ocean sailBOT
#

Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Unix 6.8.0.60, with 20 C# mods and 6 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

hard fern
#

can you share your json too? 🤔 maybe there's somethin in it

brave fable
#

wow calm down ms i'm not even a minor version out of date

twilit quest
#

@lucid iron Hey, something I noticed about the MMAP "SkipMoveObjectsForHouseUpgrade" command - it doesn't switch a single bed to a double bed when upgrading to Farmhouse1 like in Vanilla. Is there a way to do that built in that I'm missing?

hard fern
opaque field
#

🤦

hard fern
#

did you forget something

calm nebula
#

So you have sprites and portraits

torpid sparrow
#

do portrait commands work in the dialogueQuickResponse

brave fable
#

not sure about this part:```
[X] | [X] | [ ] | Default | EditMap Maps/Custom_IggyHouse
[X] | [X] | [X] | Low | Load Maps/CacklingCaracal_IggyHouse
[X] | [X] | [X] | Low | Load Maps/CacklingCaracal_IggysMap

meanwhile your NPC is trying to spawn here:```json
"Location": "Custom_{{ModId}}_IggyHouse",
twilit quest
#

@lucid iron (Also, in your example version, you may wish to include Maps/FarmHouse1_marriage and Maps/Farmhouse2/Marriage, otherwise the items will still shift if the player gets married early.)

brave fable
#

you have 3 different map names in use

hard fern
#

🤔

opaque field
#

yes I have both sprites and portraits. Oh it should just be IggyHouse not the custom Id

#

ModID one so that's probably part of it

uncut viper
#

thats just the physical map though, the home location should be the location ID, which need not be equal (and id think there'd be a lot of errors about invalid maps in the Data/Locations entry otherwise?)

#

not that you shouldnt try to consolidate them anyway

twilit quest
#

@lucid iron (Other than those caveats, it's been working great, as has the seed shifting - thank you so much)

brave fable
#

i'm assuming the location name is {{ModId}}_IggyHouse, but you're editing the map with Custom_IggyHouse, and trying to spawn the npc at Custom_{{ModId}}_IggyHouse

opaque field
#

yes!

uncut viper
#

were you previously using CustomLocations before transferring to Data/Locations

brave fable
#

pick one and update them all! you can also make a new token "IggyHouse": "{{ModId}}_IggyHouse" if you like to keep it consistent

opaque field
#

Okie, I think I'll just use the tokens. I don't think so I think I've always had it as Data/Locations

brave fable
#

there's nothing stopping you from tokenising everything. tokenise your npcs. tokenise their schedules. tokenise the world

#

it's free and the cops can't stop you

opaque field
#

lmfao I do like tokens

hard fern
#

tokenise the world....

uncut viper
#

(except for the few things that stop you SDVpuffersquee)

calm nebula
#

Tokenize me ||atracoin||

hard fern
#

i wonder, can i make things like "Maps/Characters" into one token called "{{Meep}}"

uncut viper
#

completely unrelated, but in C# land when dealing with global data (i.e. Helper.Data.WriteGlobalData()) that is automatically namespaced to my mod, right?

sweet wharf
#

do we have any Tiled experts in here?

calm nebula
#

Yes

#

Er

hard fern
#

SDVpuffersweats where are they hiding (the tiled experts)

calm nebula
#

Yes to the global data

#

No idea on the tiled experts

uncut viper
#

thank you SDVpufferheart time to see if i can bypass that—

twilit quest
twilit quest
calm nebula
#

What do you need?

uncut viper
#

i like that you say that as if im not very familiar with reflecting into things i shouldnt by now

#

i just want to write global data on behalf of another mod

#

shouldnt be too difficult

sweet wharf
calm nebula
#

Oh i know you're a 🪞

#

I just wanted to know

uncut viper
#

just tryin to make it accessible to content packs via trigger actions

twilit quest
calm nebula
#

Ooh!

brave fable
#

simply rightclick the panel:

sweet wharf
twilit quest
uncut viper
#

the only difficult part is making sure people use their mod id for it so they dont fuck up someone elses mod data (on accident, anyway)

twilit quest
#

Choose "Properties", "Layers", etc

uncut viper
#

however it should be quite easy if you use my preferred method: lying
(tell people that im enforcing it but not telling them how im enforcing it)

tiny zealot
twilit quest
#

Ah, you did find it. Good! @sweet wharf. Feel free to ping me if you have any other Tiled questions. I've done a lot with it.

brave fable
#

honestly the most accepted and successful method of getting answers just involves adding 'i asked chatgpt and it didn't work' to your post

#

quick, easy, effective

uncut viper
#

however it does incur a dignity and respect cost

brave fable
#

i've got enough to spare 😌

calm nebula
#

Chatgpt please help me i wanna know if what happens if I put my house down payment in leveraged etfs

sweet wharf
twilit quest
sweet wharf
brave fable
#

incidentally, does anyone know where the option is to disable this thing in vs2022? i've asked chatgpt and it didn't work

twilit quest
#

Ah, okay. You've got the message up at the top of the screen? Are the tilesheets in the same folder as the map you're working on?

sweet wharf
twilit quest
# sweet wharf Yeah, they're in the folder that the map is in, but should I be working with the...

It sounds like you're doing it right. Copy the map you want to work on to a separate folder - don't ever modify the original game files. Then copy over any tilesheets you want the map to use to the same folder. For the error you're getting, click on one of the tilesets that's listed as missing at the top, then click the "Open Tileset" button that will appear on the right side under the "files could not be found" box

#

@sweet wharf Click on the tileset name again in the window that opens from there, and click the "Locate File" button in the same place as the "Open Tileset" button was before

#

@sweet wharf Navigate to the right tileset from there, click it, and open. Remember, choose the one in the same folder as your map (I know I keep repeating this, but I've made the mistake of picking the tileset in the wrong folder so many times, and it always screws me up later).

#

When you're done, click "Save" and close that tab to take you back to your main map

#

@sweet wharf You can also go to the tileset properties by clicking the Tilesets tab and clicking on the wrench icon just above it. Then go to the Property window on the left and scroll down until you see the Image line. Click that, then click the "Edit" button that comes up. This will show you the path that Tiled thinks your tileset should be at and can give you a clue as to what went wrong. Fix the path and your tileset will come back. This is a different way of doing the same thing as above.

#

@sweet wharf LMK if you have any questions

lucid iron
#

You don't have to use it

sweet wharf
twilit quest
sweet wharf
twilit quest
# lucid iron You don't have to use it

I love the skip move option! I am totally using it. ❤️ I wonder if there is a way I can still provide a double bed, though. Maybe I could have the player start with one instead of a single bed...

lucid iron
#

I should go update example tho, once im back from vacay

lucid iron
#

I will do smth about it later as well Dokkan

twilit quest
# sweet wharf Creating a house in tiled, because I know what I wanna make but I don't know how...

I highly recommend starting here: https://stardewvalleywiki.com/Modding:Maps - Tiled is a bit counterintuitive at first, but this page helped me a lot when I was starting out. Also opening up game maps and examining how they did things, and opening up modded maps helped me understand a lot of things. Once you've started, if you run into specific questions you can't figure out the answer to, please let me know.

Stardew Valley Wiki

← Index

twilit quest
valid folio
#

@brittle pasture Hi! Can I send you a DM with a couple of questions? It’s not about modding (for now haha), I just want to check if you’re okay with me doing something.

uncut viper
twilit quest
# lucid iron I will do smth about it later as well <:Dokkan:648800594940657684>

Hey, I wanted to ask you something. You said you liked the Broken Farmhouse aesthetic a lot - if it's something you would use, I'd like to make a version of the farmhouse with that aesthetic for you. Is that something you would use? It wouldn't have the mini quests from the Broken Farmhouse mod, it would just be a farmhouse replacement.

lucid iron
#

I started my current save in jan and im not even y2

sweet wharf
twilit quest
# sweet wharf i was actually asking about how to make a house to use in tiled, i was looking a...

That page has a lot of information about Tiled. ^_^ My recommendation is to start with a map that is similar to what you're looking for, then modify it with Tiled. That way it will already have some of the important Map Properties built in. You can change the size and shape of the map under Map-> Resize map. That's how I would get started - don't copy someone else's design, of course, but start with it as a base and then re-draw it - change the walls and shape, etc, but you can see how the different layers interact by starting with an existing map. Does that make sense?

sweet wharf
twilit quest
# sweet wharf So if I wanted to use Alex's house as my character's base home design, how would...

Ah, that's two different maps. The inside is one map, the outside is a different map. So for an outdoor map, it's similar - you open up a map that has an exterior you want to use. In the case of Alex's house, you would look at the Town.tmx map. It's a really big map, so you'd want to re-size it (after copying it to a separate folder first, of course!) Cut it down until it's the size you want, then you can "paint' the ground around it with grass and adjust the look of it as you like.

#

@sweet wharf So you'll ultimately end up with an "NPC_ExteriorHouse" and an "NPC_InteriorHouse" map

#

If you want to replace something in an existing map, you can make your own version that's the same size and shape, then use Content Patcher to replace it. If you look at various mods that replace buildings, it can give you an idea how that works - ones that replace buildings with medieval versions, for example, can be a good model to work from.

twilit quest
sweet wharf
twilit quest
#

I might make it anyway and just post it to Nexus, @lucid iron.

lucid iron
#

I am happy just seeing ppl use my toy for cool things YuniHappy

twilit quest
# sweet wharf So, if i wanted to use the exterior (edited) of Alex's house, say in the forest,...

Look at how other mods that add houses do it. A lot of them will have some sort of warp to a separate map so that it doesn't possibly interfere with other mods that modify the same map. So you could either make a completely separate map and then just add a warp to an existing map to take you there, or you can patch one of the existing maps and put the house into it. For an example of patching existing maps, check out Ornithologist's Guild, which patches a new building into the forest. https://www.nexusmods.com/stardewvalley/mods/14510

keen seal
twilit quest
#

I have to go now, but once you get started, @sweet wharf, feel free to DM me specific questions 🙂

#

I'll answer when I can ^^

proper jolt
#

AA_Yor_Wave I'm looking at the wiki trying to figure out how to update a mod I use (currently only for personal use for now frog_giggle ), however the mod I'm hoping to update uses a depreciated framework which I'd prefer not to use. monkaHmm what to do in this case?

brittle pasture
#

which framework? we have a list of convenient converters you can use

latent mauve
#

The Name is currently empty

keen seal
#

OH

brittle pasture
#

that's current though

uncut viper
#

Content Patcher is the framework to use for just about everything nowadays

brittle pasture
#

unless you're talking about another deprecated framework that mod relies on

latent mauve
# keen seal OH

For any tile properties to function, the Object has to have TileData in the Name field (which is why I always call them TileData objects)

keen seal
#

that is so good to know, thank you

#

aaaaaaa they still don’t open

brittle pasture
latent mauve
keen seal
#

Full, brand new map

proper jolt
#

I completely forgot 😂

brittle pasture
#

yep that's in the converters list

#

!converters

latent mauve
#

If all of that is true, then you may need to copy/paste a vanilla map's TileData object in case you are missing another property on the object

#

And just change the Action on it to what you need

#

(saloon doors can be yoinked pretty easily for an exact working model)

keen seal
#

yeah I’ve got everything set according to the interior door guide

#

will try yoinking an existing one!

calm nebula
#

Stupid questions from me

#

How are you setting the map property

latent mauve
#

Definitely not a stupid question!

latent mauve
calm nebula
keen seal
#

Load

calm nebula
#

Can we see your tilesheets page

#

One thing that I'm a little concerned with - there are both tilesheet file paths and tilesheets names

#

Ca tends to make the tilesheet name really generic

#

Like 1 (seriously) and untitled tile sheet

#

Make sure you're referring to the tilesheet name and not the file path

keen seal
#

Oh that might be it. Hold on, switching it from townInterior to 1

#

Nope. Boo

dusky marsh
#

How hard would it be to create a simple ui that accepts text as input and store this input?

keen seal
lucid iron
brittle pasture
lucid iron
#

But hm you dont wanna just use gmcm i assume?

dusky marsh
dusky marsh
vernal crest
# keen seal

Did anyone note that your tile objects are not exactly 16x16 and are not exactly snapped into place? They can't have decimal places in their size or position.

keen seal
#

i just fixed that on a guess

#

thank you for the confirmation, i didnt want to test it again without someone confirming that XD

obtuse wigeon
#

Hi, Sorry I'm very confused with content patcher, can I add a custom path and not replace an existing one? like the pathway items? i.e. cobblestone path, Everytime i google it I get things relating to NPC pathing, paths tilesheet (the one that can spawn debris etc), and nothing about adding a new path only replacing one, If this is possible is there a mod that adds paths via content patchent that I can download and browse through the files to see how it works? I looked on the contentpatcher github but couldn't find anything on adding new things

brittle pasture
vernal crest
keen seal
#

THAT FIXED IT

#

THANK YOUUUUUUUUUU

uncut viper
#

theres a snap to grid option in Tiled, right, to make sure things always snap automatically? might wanna look for that unless my brain made it up

keen seal
#

i will absolutely look into that, it was driving me crazy when i was first putting them on that they didnt snap

urban patrol
#

https://smapi.io/json/content-patcher/afc2f9199da4416288ffcfa072bac7d5 someone please help, i'm losing my mind 😭 i've tried three or four different things to animate niko properly--my intended effect is that she sits down in despair, stays sitting down for a little while, then stands back up and turns to the farmer. despite interrupting her "stay sitting down" animation with her "stand back up" animation, and then additionally using stopAnimation, after the standing animation finishes, she goes back to a sitting down or half-sitting down frame (28 or 29). i can provide sprite indexes if that'll make reading the event script easier

keen seal
#

found it, cheers Button

#

augh. now i can rest XD

uncut viper
#

(my map fixer will also catch misaligned tile errors among some other common ones if you ever run into other troubles and wanna try tossing your map in SDVpufferthumbsup )

keen seal
#

still have to do the rest of the day/night tiling and lights tomorrow but those are just tedious XD

uncut viper
#

(it wont catch TileData not having something on the equivalent layer below it though.... not yet)

torpid sparrow
#

stopAnimation <actor> [end frame]

#

farmer does not have this but NPCs do

urban patrol
#

no, let me try that

torpid sparrow
#

i usually do showFrame right after anyway

#

just in case

urban patrol
#

i've never had an issue with stopAnimation like this before where i had to use it but if it works!

#

i did already try showFrame and for some reason it was also borked

#

i forget in which way

#

that worked! thank you

#

i can't believe it was so simple to fix lol

vernal crest
obtuse wigeon
obtuse wigeon
vernal crest
#

This is my edited version of what chu just linked. I removed the MMAP stuff so it's just adding a new path.

obtuse wigeon
#

As a follow up question, whats the best way to add a custom catalogue? so avoid clogging up vanilla or modded catalogues or crafting menus or Alternative Textures menus? Idealy I want to avoid other frameworks but if it makes is substantially easier I'm not completely agaist it

lucid iron
#

You need one of spacecore calcifer mmap

brittle pasture
#

you need a framework to add catalogues, either spacecore or calcifer or mmap

lucid iron
#

Everyone has spacecore so just use that

#

How it works is you add a Data/Shops entry

#

All items for 0 money

#

Then use something to open that shop via a furniture

obtuse wigeon
#

Gotcha, given it's just a regular shop I'm guessing theres no restrictions on items available in the catalogue?

tiny zealot
lucid iron
obtuse wigeon
#

Perfect, Something new to do for the next few days!

lucid iron
#

One easy way is PerItemCondition ITEM_ID_PREFIX

urban patrol
#

is there a way to add a generic CT response to all vanilla NPCs at once, or do i have to write out each one?

uncut viper
#

gotta add each one

urban patrol
#

bummer, but makes sense

rigid oriole
#

(Finally a usecase)

vernal crest
#

Can't she do multiple Targets?

calm nebula
#

(Tbh I wouldn't recommend putting the exact same line on every npc

#

That gets repetitive

#

Fast

#

You can do {{TargetWithoutPath}} fun

urban patrol
#

maybe a randomized choice from generic lines then

vernal crest
#

If it's the exact same text, would this not work?

{
  "Action": "EditData",
  "Target": "Characters/Dialogue/Abigail, Characters/Dialogue/Sam",
  "Entries": {
    "CT": "Same text!"
  }
}
gentle rose
#

it's better for some people just not to respond to a certain topic

rigid oriole
#

I personally agree with these replies tho lol

gentle rose
#

because otherwise it feels like the town is stalking you

vernal crest
#

(I agree about the lack of desirability for using the exact same line, but am just checking my thinking about whether it's possible).

rigid oriole
#

At least some randomizarion is good I feel

#

But you CAN do it

urban patrol
#

hmm yeah, i guess in my playthroughs i only talk to 1 or 2 NPCs a day at most, but if you're the type of player who's more social then that would be so weird

vernal crest
#

Some days I talk to every NPC in the game

hard fern
#

I think things like being caught cheating on your partner with several different people would make rounds fast but other things probably not unless they were there, yeah 🤔

gentle rose
#

I think in general, for me it starts feeling weird that everyone in town both knows about something and is interested in talking about it. NPCs are supposed to have their own things going on

uncut viper
#

usually my default thinking with giving someone a CT line is that it will be unique to them

#

bc i am also the kind of player who talks to a lot of people every day

vernal crest
#

I don't mind everyone having a say on a topic but if everyone is saying the same line it'd be weird

urban patrol
#

this would feel like a pretty major event (the player and my custom NPCs turned a ghost into a mostly-living girl who now lives in town) but yeah definitely not everyone would know, true

uncut viper
#

though like atra said you can just do TargetWithoutPath here

#
{
  "Action": "EditData",
  "Target": "Characters/Dialogue/Abigail, Characters/Dialogue/Sam",
  "Entries": {
    "CT": "{{ i18n: ConvoTopic.{{TargetWithoutPath}} }}"
  }
}
#

i forget that the path tokens can be used outside of loading

urban patrol
#

or maybe i should just forget the idea if i don't want to put the effort in SDVpuffersquee

uncut viper
#

i would still find that very very jarring as a player

#

imo, if you dont have something unique for someone to say, dont have them say it. thats basically the point of a convo topic

urban patrol
#

okay, i might shelve it for when i'm looking for something to do then, so i can give it proper effort. although i'm a little concerned about getting specific villager voices right 😬

uncut viper
#

if it helps, there are many people out there who already release mods that give vanilla NPCs new lines, and they werent concerned enough to not publish, so theres no need to limit yourself if they didnt

#

no need to put yourself at a disadvantage to them for no reason

obtuse wigeon
#

Hi again, Looking at the Firefly Paths mod, I've come across this snippet

"ItemId": "{{ModId}_FireflyPathItem",
"Texture": "{{ModId}}/floor",
"Corner": {
  "X": 0,
  "Y": 0

I'm guessing what this does is tell it which texture to use, and where the top left corner is, if I had multiple different path textures in the texture.png , would I then use:

"ItemId": "{{ModId}_FireflyPathItemExtra",
"Texture": "{{ModId}}/floor",
"Corner": {
  "X": 64,
  "Y": 64

where X and Y are the top left corner of the second texture?

uncut viper
#

that seems like a correct assumption to me, that said im not 100% familiar with floor and path data

obtuse wigeon
#

So sorry for the wall of text, I thought it would be a lot smaller than that

hard fern
#

I also think rereading vanilla villagers mail (like the kind they send you) or their dialogue lines can get you a better feel for how they talk

uncut viper
#

looking in the decompile real quick it does appear to be the case

flat canopy
#

I was wondering if anyone could help me with a fashion sense conundrum. i'm trying to create a pair of pants for silver's farmer body, and since the author already has a converted pair of pants, i figured i would run them through skirt converter. it worked, except for side-view pickaxe. all the other tools worked, so i'm not sure how to figure out which specific section in the new fashion sense is pickaxe as opposed to other tools. thoughts?

vernal crest
#

There's no CP token to remove spaces from a value, is there? To make "White Chicken" into "WhiteChicken"?

vernal crest
#

My LocalTokens are just writing the animal ID four different ways and then two sprite indexes xD

{
    "LogName": "Add White Chicken",
    "Action": "Include",
    "FromFile": "data/animal_objects.json",
    "LocalTokens": {
        "AnimalSpaces": "White Chicken", // Animal ID as it is in Data/FarmAnimals
        "AnimalNoSpaces": "WhiteChicken", // As above but with no spaces
        "AnimalContextTag": "white_chicken", // Snake case
        "I18nIdentifier": "white-chicken", // Kebab case
        "PhotoSpriteIndex": "1",
        "ReceiptSpriteIndex": "0",
    }
}
uncut viper
#

maybe you could do something really stupid with custom input separators and valueAt and HasValue tokens but

#

that sounds very stupid as mentioned

vernal crest
#

As it is, this is only hoping I can pass local tokens into i18n. If I can't, I'm going to have even more ways of writing the animal ID in here lol

flat canopy
tender bloom
#

Yeah they should be the same 🤔

#

I read through the source code to get the indices though so I don’t have any better answers

#

The code internally only tracks whether a tool is “heavy” or not iirc

#

Been a while since I looked

flat canopy
#

thank you for trying, I appreciate it!

tender bloom
#

The pants converter code has some lingering small issues but no one has ever been able to ID them exactly so I’ve never gone back to fix them

#

There’s some small chance it’s an FS bug, too, unfortunately

#

The process for testing this involved screencapping and slowing down the video a lot, which is kind of tedious unfortunately

flat canopy
#

it is what it is ❤️ I just was sort of hoping someone would say “fern, you fool, you forgot to include the pickaxe code” or something with an easy solution

tender bloom
#

The bugs I’m almost 100% sure have to do with transitioning between frames when changing animations

#

But they seem to occur mostly in very rapid sequence that’s hard to replicate

#

So it’s unusual you’re getting one that’s actually specific to a frame

#

The left and right are also typically just mirrored

#

So your guess is as good as mine for why they aren’t the same

flat canopy
#

oh it’s for both left and right! my only thing was that it’s just pickaxe, not other tools. but if it’s just “sometimes it be like that” that’s totally fine — I just wanted to be sure I wasn’t missing something obvious (which is very much always in the table)

tender bloom
#

No im not sure why that’s happening

#

I wonder if it’s the FS code, I think that part might be conditioned on “using a tool” or something

#

The pants converter generates pants packs that partially depend on tool/action conditionals and partly on frame number

#

In hindsight I was probably just making life hard for myself

flat canopy
#

did you make the pants converter?? because if so you’re an absolute life saver

vernal crest
#

Yess the local token passthrough to i18n worked! Now to figure out why the Lowercase didn't.

#

Oh. Hm. This is going to impact translation negatively if I do it this way SDVpufferthinkblob

flat canopy
#

being 90% of the way there with a small problem is so much better than just staring sadly at some pants sprites and wishing 😂 I’ll keep fussing with it tomorrow and report back if I come up with an exact issue 🫡

tender bloom
#

Yeah I did make it!

flat canopy
# tender bloom Yeah I did make it!

you’re amazing and you are the reason that i felt like i could start modding, because i wanted more pants options but the fashion sense example was scary. thank you so much for doing that!

#

(the fashion sense pack of course also makes sense now and i totally get why it is the way it is, but playing with the skirt converter is what helped me to grasp how farmer sprite and pants asset interacted!)

#

anywho as long as i’m not missing an obvious “it’s ABC, silly” I’m happy to keep experimenting. thank you! SDVpufferheart

vernal crest
#

Drat I am going to have to write out the names manually so as not to confuse translators.

#

Oh well, at least I don't have to wrangle with Lowercase.

#

Oops I broke the shop

urban patrol
#

marnie didn't like your chicken kebabs i guess

vernal crest
#

Oh my gosh this is going to involve so much conversion to local tokens

#

Trying to figure out if turning a patch into a template will save me any effort is so hard to do without actually trying it

lucid iron
#

🫴 local tokens 🫴

urban patrol
#

question about text operations: can i collapse two patches:

    "Operation": "Append",
    "Target": ["Entries", "Set-Up_additionalCharacters{{FestivalYear}}"],
    "Value": "CharlesRowland 18 12 right",
    "Delimiter": "/"
},
{
    "Operation": "Append",
    "Target": ["Entries", "Set-Up_additionalCharacters{{FestivalYear}}"],
    "Value": "EdwinPayne 19 12 left",
    "Delimiter": "/"
},```

into one?

```{
    "Operation": "Append",
    "Target": ["Entries", "Set-Up_additionalCharacters{{FestivalYear}}"],
    "Value": "CharlesRowland 18 12 right/EdwinPayne 19 12 left",
    "Delimiter": "/"
},```
uncut viper
#

yes

urban patrol
#

thanks

vernal crest
lucid iron
#

Well you can keep it if u do it like

#

{{i18n: outerkey | inner={{i18n: localtoken }} }}

#

Wrote on a phone maybe formatted wrong

vernal crest
#

I can't because I was using an ID as a player visible name. But that ID is in English so if it stays for the translated version the name would still be in English.

lucid iron
#

Why not have a "ID": "ID" then

#

So that i may do "ID": "号码" in my tl

vernal crest
#

This is my local token:
"AnimalSpaces": "White Chicken",

I am using it here in the Data/Objects entry:
"Texture": "Animals/{{AnimalSpaces}}",

I thought I could reuse it in the i18n because the display name is "White Chicken Photograph", so my i18n line was
"photo.display-name.white-chicken": "{{AnimalSpaces}} Photograph",

#

But that must be English for the Texture line and then able to be not English for a translation, which doesn't work

vernal crest
gentle rose
#

can you use the i18n token instead?

{{i18n:{{AnimalNoSpaces}}}}

where AnimalNoSpaces is some text operation on animalspaces

fallow tartan
#

Good afternoon, everyone. I'm wondering if there's an expert proficient in Stardew Valley C# development who can help me. I'm willing to pay as much as I can, and the requirement isn't complicated.

urban patrol
#

!comms

lucid iron
ocean sailBOT
lucid iron
#

Ig im not too sure if this is some kinda config

gentle rose
#

oh there's no text operation to remove spaces

vernal crest
vernal crest
lucid iron
#

Oh but if it's vanilla animal names

#

You may be able to use LocalizedText?

vernal crest
#

I was just trying to avoid having to write out the animal name by reusing a vanilla ID

gentle rose
#

ig I'm confused about what you're trying to achieve too tbh

gentle rose
#

so the texture line stays {{AnimalSpaces}}

vernal crest
#

If I have to write another token then it doesn't save me any work lol

gentle rose
#

no that's not a real new token, it's a placeholder for me trying to remember how to do things SDVpuffersquee

brave fable
#

but you do get another token

gentle rose
#

(can i18n keys have spaces in them?)

vernal crest
fallow tartan
# gentle rose what is it that you want done?

I want to implement the function of automatically clicking on the first save file when I enter the host coop interface. I have another mod that can automatically jump to the host coop interface after launching the game.

vernal crest
#

Otherwise I'd just use the vanilla "White Chicken" ID instead of writing it four different ways lol

#

I can just change it all back and then share all the jsons if that would be easier for people to see what I was trying to do haha

lucid iron
#

For example if it was an item name in Data/Objects

brave fable
#

i18n is resolved by SMAPI, while LocalizedText is resolved by the game, so i'd imagine you can in fact put a LocalizedText inside of an i18n string

lucid iron
#

You'd start with
{{i18n: something }}
It resolve to
[LocalizedText blah] Chimkin
And then game do
Blah Chimkin

brave fable
#

again though not everywhere actually bothers resolving tokens like LocalizedText

lucid iron
#

Whether the 2nd -> 3rd step happen depends on where u be using it

gentle rose
#

wait is "White Chicken" actually the in game id, including the spaces

uncut viper
#

(spaces do work in keys. thats the extent of my input here rn)

vernal crest
gentle rose
#

upsetting

#

do you guys reckon we can scope creep pathos into adding a text operation that removes spaces SDVpuffersquee

uncut viper
#

why dont you pr it

fallow tartan
#

🥹

uncut viper
#

also i dont think thatd be a text operation

#

itd just be a string manipulation token

vernal crest
#

Token

uncut viper
#

like {{lowercase}}

lucid iron
#

Why tho

gentle rose
vernal crest
#

So I don't have to write "White Chicken" and "WhiteChicken", obviously

lucid iron
#

But yeah aba, I'm 99.99% sure you can use LocalizedText here

#

Just grab the one from FarmAnimals

vernal crest
#

UGH the localized text key is written in yet another way!

lucid iron
#

The only downside is the ????? translation for void chicken in chinese

vernal crest
#

Plus if I can't get lowercase to work I'll still have to do this manually for the description

gentle rose
#

can removedelimited handle the delimiter being ''

uncut viper
#

not if you mean the literal quote that makes something a string

#

otherwise the delimiter can be anything

gentle rose
#

I meant an empty string

#

""

uncut viper
#

well then theres no quotes in there

#

so there'd be no delimiters

vernal crest
#

This also only works if the name doesn't change in any way based on the rest of the text and I don't think I can do it for the description because the lowercase token isn't working in there.

uncut viper
#

wdym not working, the lowercase token isnt any different from any other token in that it should work anywhere that other tokens do

vernal crest
uncut viper
#

is that placed in the i18n?

vernal crest
#

The LocalizedText is working for the display name

uncut viper
#

you have the lowercase token a bit backwards

#

you've put the input argument inside the i18n

#

it should be |Lowercase={{Lowercase: {{AnimalSpaces}} }}

#

in the content.json

#

and then just {{Lowercase}} in the i18n

#

its a bit confusing bc they are syntactically similar but once its inside the i18n itself, it's not a CP token but a SMAPI translation placeholder

#

when you pass the value into the i18n, you are telling Content Patcher what to give to SMAPI as the placeholder

vernal crest
#

Yeah I figured it wasn't working as a token inside the i18n because passing the tokens through only passes the value

#

But I didn't know how to fix that

uncut viper
#

if it helps to parse it out, you dont have to use a token to pass into i18n

vernal crest
#

So I will adjust according to what you just said

uncut viper
#

you could do |Lowercase=Hello!

#

so you just gotta remember that what you're passing in should be the final value of whatever you want

vernal crest
#

Thank you, that fixed that and now I understand the syntax for passing through a bit better

uncut viper
#

(also it doesnt have to match the name of the CP token either. could be |animalName={{Lowercase: White Chicken}} and then {{animalName}} in the i18n)

vernal crest
#

Yes I made that leap SDVpufferparty

#

Thank you Button and chu for teaching me these new things!

#

I think there is still a risk for confusion for translators but I guess I will face that hurdle if my mod becomes popular enough to translate lol

#

Oh poop CP is converting [LocalizedText Strings\\FarmAnimals:DisplayType_{{AnimalDisplayName}}] to lowercase instead of the value of the string.

gentle rose
vernal crest
#

I don't think I can convert this string to lowercase if CP is finished with it before the game fetches it.

gentle rose
#

wait aba are you trying to get rid of AnimalNoSpaces

vernal crest
#

No

gentle rose
#

oh wait nvm I get you

vernal crest
#

I mean, ideally yes, but that has not been the topic of conversation for the past almost hour lol

gentle rose
#

listen

I went to grab food and take my meds SDVpuffersquee

#

morning btw!

vernal crest
#

I am back to being stymied

#

I'd have to make it plural for another description too...

uncut viper
#

White Chickenses

vernal crest
#

The museum hired Gollum to write its product descriptions

urban patrol
#

(btw, great resource, i've already gotten so much mileage out of it)

urban patrol
#

(got the link wrong; just fixed it)

pine elbow
#

Yes or no, should make an npc mod adding Shadow the Hedgehog as a townie?

Yes SDVpetchickenvoid
No SDVpetchickenwhite

round timber
#

i vote for "whichever option YOU want to do" SDVpuffersmile

pine elbow
#

LOL fair enough

#

Guess I was kinda hoping yall’d egg me on so I have the courage to actually do it

vernal crest
#

In that case, yes!

#

What are you afraid of?

pine elbow
#

Probably the perfectionism, just a little
I’ve dabbled in making a few mods by now, but making a custom npc seems really intimidating

vernal crest
#

For me, the helpful thing to think about is "how much do you want to do the making part?" As in do you think you will find the journey of making the NPC fun or are you just wanting the NPC to be in the game?

#

Because for me, it's the modmaking itself that's fun (even though sometimes it is distinctly not fun haha) so my goal is to enjoy the process of creation. It helps me get through the sloggy bits and helps me to battle the perfectionism because the goal isn't a perfect end product.

#

If you just want the NPC to be in the game and for you to have to expend as little effort as possible to get to that point, you probably will get bogged down by the process because it's not a quick and easy one the first time.

pine elbow
#

Ooooooo

#

Tame for some Self Reclection TM

#

*Reflection

#

*Time

devout otter
#

I'll add to that by saying that I barely enjoy the process of modmaking and all my mods are basically "I just want to see this in game". So I do strive to expend as little effort as possible to do that.

#

Like, I wanted to have cute mouse friends in the forest, but I knew I wouldn't enjoy creating schedules, and gift tastes, and all the minutiae an NPC normally has. So I just didn't do any of those and made them static, non-social NPCs instead.

pine elbow
#

Ohh interesting

#

Okay that’s something to consider

#

Thank you both! I didn’t get the response I was expecting, but I think I got the one I needed!

brave fable
#

ideally you want the two values to be roughly equal (liking the result and liking the process), if you're too far to the process end you'll never actually release anything since you're writing more stuff all the time

vernal crest
#

I am at risk of the never releasing part for Hiria xD

lucid mulch
crude plank
lucid mulch
#

What was the data collection mechanism

#

If I was doing it, the least effort way would be to have the mods all loaded and then get to the correct date go into the festival and then patch export the relevant assets

#

Will need to do multiple iterations due to turning sve on/off, but static analysis of the cp packs is hard

finite willow
#

how can I access these

#

is it a property of game1?

#

or

#

it doesnt provide any code snippets

crude plank
brave fable
#

that's the whole code snippet ☀️ Context is public static, just need to using StardewModdingAPI;

crude plank
#

my goal wasn't to try to get all the data, it was to get as much of it as i could pretty fast to get Pillow started i'll probably revising this to get more

finite willow
#

am I sensing python here

crude plank
#

i did use python but the Pillow i'm referring to is @iron ridge

#

who actually made the damn thing, i just collected some data

finite willow
#

oh..

lucid mulch
#

tbh if there's an automatable list of steps to do to do the data collection I could probably automate it off the pathos monthly mod dump

crude plank
#

what would be really helpful for this would be something that would set all events to seen and all mail to read in a save

#

i tried to use Event Tester at some point but actually going through all of the events was problematic

lucid mulch
#

all events is easy, all mailflags isn't possible

#

though could just mod the mailfalg check itself to just always say yes

crude plank
#

well just events should still be extremely helpful

#

a lot of NPC just don't exist until you've seen certain events

lucid mulch
#

I can also mod away most of those checks too

crude plank
#

if you do end up doing that let me know, i wouldn't mind doing it again and actually trying to get as much as possible if i have a way to get a save as "unlocked" as possible

lucid mulch
#

I can do a custom build of content patcher that just ignores conditions for specific assets to get things happening almost no matter what

crude plank
#

that'd be perfect

finite willow
#

I hate smapi

#

kill me

hallow prism
#

you can always say what's happening in case it helps

brave fable
#

how would you like to die 📝

static garden
#

Hi! wated to ask how do I rewrite the dialog when NPC accepts mermaid pendant? U_U
I tried AcceptMermaidPendant but it does not work

#

it just shows a generic dialog

hallow prism
#

your npc or a vanila one or someone else npc?

static garden
#

I tried to look into others npc for this option but can't find it either

forest path
#

Hi all, are there any guides on how to create custom shop items and include them as options in a custom NPC shop? I found this guide, but its only for items that exist already in vanilla: https://stardewmodding.wiki.gg/wiki/Tutorial:_Making_a_Custom_Shop

Stardew Modding Wiki

If you're looking to make a custom shop for your NPC, this is the guide for you! I will cover creating a shop, adding items, and making rotating stock.
Before you start: This tutorial assumes you know how to create a basic content pack with a manifest and make basic changes with CP. If you don't, start reading the official CP author guide and/or...

hallow prism
#

i'm pretty sure this would work also for modded

royal stump
crude plank
#

you need to add the items into the game first

hallow prism
#

you would need to create the items first

vernal crest
#

Hmm I remember investigating this engagement dialogue

static garden
#

holy.. never thought it will be like this and not just a simple line

royal stump
#

the engaged dialogue was added a long time ago (stardew 1.4), and the rejection feature was added in 1.6, so the formatting changed somewhat

vernal crest
static garden
static garden
hallow prism
#

it's not dumb to not know things

static garden
#

ty!

opaque field
#

It's def not dumb, you're learning something new!

vernal crest
#

I made a whole mod just to test it because I found the engagement stuff very confusing lol

opaque field
#

I made my first NPC non-marriageable for now because I just don't wanna touch engagement stuff yet

vernal crest
#

I would really like it if TargetField could create the field if it didn't already exist

forest path
static garden
#

should this include my character name after?

vernal crest
# static garden should this include my character name after?

You should never have a file extension inside the "Target" field, so no .xnb. And no character name.

It should look like this:

{
  "LogName": "Add CS file engagement line",
  "Action": "EditData",
  "Target": "Strings/StringsFromCSFiles",
  "Entries": {
    "Leah_Engaged": "Ooh a pendant! Shiny.",
  }
},

Replace Leah with the internal name of your NPC.

#

Your NPC's internal name should have a prefix to ensure it's unique, by the way. I recommend changing it to {{ModId}}_Passenger ({{ModId}} is a token - you're meant to leave it exactly like that and Content Patcher will replace it with your mod's unique ID from your manifest when the mod is in the game).

static garden
static garden
#

so now I'm doing stuff and testing it slowly

vernal crest
#

I don't like to do that with mods I know I want to release because I'm far too likely to miss a spot when I change things over.

#

I only ever do it with mods I know will never see the light of day because their only purpose is to quickly test one particular thing.

static garden
#

it's my first one so I need to check things UwU

slow basin
#

I just now decided im gonna make apair of twin ring leaders for my circus expansion mod thing

#

I think thats be fun

#

I like to think one cutscene they would be arguing and be likr “what do you think farmer??”

vernal crest
finite willow
#

can I just install the whole .net aspnetcore server in a stardew valley mod?, are we using class library because it is simple, or because the other ones dont work

opaque field
#

I try to do that too, especially since I new

static garden
#

so I need to do basics first then improve

vernal crest
#

As it is, I wrote a bunch of local tokens and then I changed them and missed changing them everywhere so I had several errors all in a row from mismatched token names

static garden
#

like this stuff with engagement - without you I would be figuring it out for ages

opaque field
#

I think mail just might hate me. Okay so when I'm adding an object via mail and I also have i18n keys, does the %action AddItem {{ModId}}_BlueChickenPlush 1 0 %% go in my default.json or TheWolfMail.json and just add it after the {{i18n:TheWolf.BlueChickenMail.2}} but before the next ^^?

vernal crest
#

Please use code blocks, much easier to read!

#

I personally try to keep as much non-translatable text out of i18n as possible because translators sometimes translate the commands/tokens by mistake.

#

But sometimes that's too fiddly or not feasible, so it can go in the i18n.

opaque field
#

"{{ModId}}_BluePlushie": "{{i18n:TheWolf.BluePlushieMail.1}}^^{{i18n:TheWolf.BluePlushieMail.2}}%action AddItem {{ModId}}_BlueChickenPlush 1 0%%^^{{i18n:TheWolf.BluePlushieMail.3}}[#]BluePlushieMailLetter", like this? So this is my TheWolfMail.json

vernal crest
#

Also you don't need to use %action AddItem {{ModId}}_BlueChickenPlush 1 0 %%, there's a command specifically for adding items.

#

Lol Quill you forgot to escape xD

gentle rose
#

quill SDVpuffersquee

fading walrus
#

I'm on mobile

gentle rose
#

(To code block, use ``` before and after your code

If you do it like ```json, discord will do fun stuff with the colours)

#

(copy and pasted quill's but escaped correctly)

fading walrus
#

Thank you iro qUwahVanish

fading walrus
opaque field
fading walrus
#

Back to my nest I go to hide SMCKekLmaoDog

gentle rose
#

also fun fact: syntax highlighting (the "fun stuff with the colours") doesn't work on discord mobile

#

you just see everything the same colour

vernal crest
#

I just thought that it colours json all the same colour anyway

#

I've never seen the syntax highlighting change for json, whether I'm on mobile or desktop. It changes for cs though.

gentle rose
#

(where do players see letter names?)

opaque field
#

no, it keeps showing the action AddItem line in the mail and not the item T.T

vernal crest
#

It might work better?

vernal crest
opaque field
#

ooh, I'll fix those i18ns and maybe try using the other add item for mail and see if that helps

gentle rose
#

isn't that an ID though? IDs should never be i18ned

vernal crest
gentle rose
#

oh it's not the id

vernal crest
#

It is not an ID, no

gentle rose
#

one of these days I will go back and catch up on content mods so I'm not using half remembered stuff from 2024

vernal crest
#

I have often seen mail be finicky about actions and I haven't been able to pick up exactly why or how to fix them

opaque field
#

Yeahhhh, I'm noticing that too

vernal crest
#

Also I say about trying to avoid tokens in i18n but...

#
"commission-receipt.receive-text": "Thanks for giving us this excellent photo of your {{name.animal}}. Come back {{TimeGateDate}} to see the {{name.animal}} sculpture!",
#

(Hmm are the key and value perhaps slightly different shades of blue? Maybe it does colour json but the colour choices are terrible.)

#

Oh poop I lowercased it

royal stump
#

(they are, yeah)

vernal crest
# lucid iron Why not have a "ID": "ID" then

Many hours later, I had a revelation about how I could do all my i18n so I only have to write out the descriptions once for all the animals and then only have to write out each individual animal's name instead of all 8 lines. Shortly afterwards I finally realised that was what you were suggesting I do here xD

opaque field
#

The mailbox shows I have mail but the icon goes away when. I click on it and no mail happens

forest path
#

Is there a spritesheet in the game content (unpacked) folder for food items? if so, where is it? because I can't seem to find

vernal crest
gentle rose
forest path
gentle rose
vernal crest
#

I can barely grasp what I've done myself, there's no way I can coherently describe this.

#

I can provide an example though

opaque field
#

not all my mail just this one XD

static garden
#

thank you very much Abagaianye | @ me please, it worked! 🙏

vernal crest
#

Example doesn't all fit in one message so I have to split it up

vernal crest
knotty echo
#

is there anywhere apart from this channel to find people to collaborate with on making a mod?

static garden
#

THank you very much Esca!

#

(I'm a bit afraid to ping people here)

vernal crest
#

Okay, example for how to reduce the amount of rewriting the same content in the i18n when the descriptions of objects etc are the same except for small parts like the name.

content.json

{
    "LogName": "Include for White Chicken",
    "Action": "Include",
    "FromFile": "data/animal_data.json",
    "LocalTokens": {
        "AnimalSpaces": "White Chicken",
        "AnimalNoSpaces": "WhiteChicken",
        "AnimalContextTag": "white_chicken",
        "I18nIdentifier": "white-chicken", // This is the only relevant one for showing the translation stuff
        "PhotoSpriteIndex": "0",
        "CommissionReceiptSpriteIndex": "1",
    }
},
{
    "LogName": "Include for Brown Chicken",
    "Action": "Include",
    "FromFile": "data/animal_data.json",
    "LocalTokens": {
        "AnimalSpaces": "Brown Chicken", 
        "AnimalNoSpaces": "BrownChicken", 
        "AnimalContextTag": "brown_chicken", 
        "I18nIdentifier": "brown-chicken", // This is the only relevant one for showing the translation stuff
        "PhotoSpriteIndex": "2",
        "CommissionReceiptSpriteIndex": "3",
    }
},
#

animal_data.json

{
    "LogName": "Add animal objects",
    "Action": "EditData",
    "Target": "Data/Objects",
    "Entries": {
        "{{ModId}}_{{AnimalNoSpaces}}Sculpture": {
            "Name": "{{ModId}}_{{AnimalNoSpaces}}Sculpture",
            "DisplayName": "{{i18n: sculpture.display-name |name.animal={{i18n: name.{{I18nIdentifier}} }} }}",
            "Description": "{{i18n: sculpture.description |name.animal.plural={{Lowercase: {{i18n: name.{{I18nIdentifier}}.plural }} }} }}",
            "Type": "Basic",
            "Category": -24,
            "Texture": "Animals/{{AnimalSpaces}}",
            "SpriteIndex": 0,
            "ContextTags": [
                "sculpture_item",
                "{{AnimalContextTag}}_item",
                "not_giftable"
            ],
            "CanBeGivenAsGift": false,
            "CanBeTrashed": false,
            "ExcludeFromRandomSale": true,
            "ExcludeFromShippingCollection": true
        }
    }
},
knotty echo
vernal crest
#

default.json

// Specific to each animal
//////////////////////////////////////
"name.white-chicken": "White Chicken",
"name.white-chicken.plural": "White Chickens",
"name.brown-chicken": "Brown Chicken",
"name.brown-chicken.plural": "Brown Chickens",

// Shared by every animal
// Translators please do not remove or change the tokens! The tokens will pull the name of the animal from the keys defined in the section just above this one.
//////////////////////////////////////
"photo.display-name": "{{name.animal}} Photograph",
"photo.description": "It's a stylish photo of your lovely {{name.animal}}. Maybe you should take it to the Stardew Valley Animal Museum...",
"commission-receipt.display-name": "{{name.animal}} Commission Receipt",
"commission-receipt.description": "Your {{name.animal}} sculpture will be lovingly handmade in Zuzu City and will be automatically added to the museum when ready.",
"sculpture.display-name": "{{name.animal}} Sculpture",
"sculpture.description": "A beautifully rendered sculpture of one of your {{name.animal.plural}}.",
"commission-receipt.receive-text": "Thanks for giving us this excellent photo of your {{name.animal}}. Come back {{TimeGateDate}} to see the {{name.animal}} sculpture!",
"commission-receipt.broadcast-text": "{0} has commissioned a {{name.animal}} sculpture for the Animal Museum!",
static garden
#

I'm an artist though

vernal crest
static garden
#

but in this case I wanted to be as close to his authentic sprite as possible

vernal crest
knotty echo
vernal crest
# knotty echo hmm oke

Is there a reason you want to collaborate specifically rather than making a mod on your own?

static garden
vernal crest
#

(Not meaning it's a bad thing to want to, but I can maybe give you some guidance on where to look or how to approach it.)

opaque field
static garden
#

sorry they were smol T_T

opaque field
#

Your blush is so well blenddddeddd ❤️ lovelovelove

vernal crest
#

All of those NPCs without unique prefixes makes me cry 😭

opaque field
#

I should make sure I get that set up for IggyNova and RiottKnight

forest path
#

Hello, another question:, I am making a custom shop, with my own custom food items that the player can eat. Is there something I can input into the code segment here that tells it info about buffs when eaten, how much health/stamina it restores, etc?

vernal crest
knotty echo
opaque field
#

I think there's a section in the itemdata that you can edit about edibility

forest path
crude plank
#

yes, this is your PSA to please include your modid in the internal names of NPCs

knotty echo
knotty echo
opaque field
#

really lights a fire under me to up my pixel art game, mega art goals

#

Ok, maiiillll time. and also figuring out how the best way to go about creating a 'wobble' for my cream cheese machine

vernal crest
# knotty echo yeah mostly its a lack of free time so unfortunatly can't fix that easily xD a...

That's fair! I can't speak for everyone of course but from what I've seen people tend to want to collaborate with people they already know, who already have a proven track record of making mods (even if said mods aren't finished) so the person knows a) that you are able and willing to do work and b) something about your modding values (e.g., do you want to make meme mods, item-heavy mods, narrative mods, and so on).

knotty echo
#

i have a pretty specific idea in mind so i think at least the latter issue would be solved

vernal crest
#

Sharing that idea might help gain interest

#

A lot of the stuff people do together in here tends to be because person A talks about possible implementation approaches for their idea and then person B gets interested and goes off to do a little investigation. Or in the case of C# modders, invent a framework lol

buoyant solstice
#

hi every1👋

#

🥺

vernal crest
#

Never heard of it. Are they interesting characters?

knotty echo
buoyant solstice
#

but the characters are cool

#

I talking about the 2 game btw

slow basin
#

man

#

i hope my mod idea turns out enjoyable XD

vernal crest
slow basin
#

this art is so hard O_O

buoyant solstice
opaque field
slow basin
#

ty 😭

buoyant solstice
opaque field
#

THE MAIL WORKS OMG

#

at last. Dis is de wey

slow basin
#

rn i have 4 npcs planned and that might be it and ill just allow people to move their own npcs in and have some 'stand in' empty houses/trailers

#

i might even make an npc addon myself for it unless i get another solid idea

opaque field
#

I think that’s a great structure ❤️❤️❤️ I’m already working on someone to live there.

slow basin
#

woohoo! itll be a minute before its ready as i wanna have a couple npcs 'baked in' as living there already and i gotta make interesting dialogue for em XD

opaque field
#

(They will not be ready for a while tho cuz I have 2 other NPCs to make first)

slow basin
#

dw you got time XD

knotty echo
opaque field
#

Lmao absolutely. Still stuck on cream cheese maker animations