#making-mods-general

1 messages · Page 237 of 1

tidal stone
#

because i set it as back cause it says terrain but i can walk on it but idk if thats because i had it really low on the order or not

urban patrol
#

cliff edges should be on buildings to prevent the player walking onto it

tidal stone
urban patrol
#

back is for grass and paths and floors and water

vernal crest
#

It's very helpful to have vanilla maps open so you can see how they're doing things and copy that until you're confident you understand it well enough to do things differently.

tidal stone
#

which layer would you say i should put shadows on? back?

#

Oh i didnt think of that aba

urban patrol
#

no, back2, because you need the grass or whatever to display underneath it

rigid oriole
#

In SpecialOrder::GetSpecialOrder, there's a big try/catch block wrapping most of the method. My mod is triggering the catch block with a NullReferenceException: Object reference not set to an instance of an object. at StardewValley.SpecialOrders.SpecialOrder.GetSpecialOrder(String key, Nullable1 generation_seed) in D:\GitlabRunner\builds\Gq5qA5P4\0\ConcernedApe\stardewvalley\Farmer\Farmer\SpecialOrders\SpecialOrder.cs:line 668. Line 668 in my decompile is just the do keyword part of a do/while pair, so I'm struggling to track down what is actually causing the null reference. Is there a way to get a better stacktrace?

rancid musk
#

Assuming you can't trick a debugger into letting you step through the function, you could try recompiling the game from the decompile repo and running against that?

#

And then debugging the method there

teal bridge
#

Will it eventually form a pyramid?

uncut viper
#

if you want to do it the dumb way, you can also transpile a Monitor.Log after every single line with the line just before it as the text so you know where it stops SDVpuffersmile

rigid oriole
#

very cursed

rancid musk
#

Um. Technically I could let it form a pyramid? But I was honestly planning on just going for two rows that scroll if you really need that many tabs

teal bridge
#

Hmmm, so what happens after 22, just throws an exception saying "too many tabs", or ignores the new ones?

#

Also curious what it looks like when a back row tab is selected, or do you flip the rows?

dusk mulch
#

Okay, what should I do next for my mod?

rancid musk
#

I'm probably going to flip the rows.

dusk mulch
#

.choose Make Flint NPC, Make mayor NPC, Make events, Make more dialouge, Make abbandoned building, Bug test, Get beta testers, Add the custom ticket machine

patent lanceBOT
#

Choose result: Make mayor NPC

rancid musk
#

But I want to do more testing and see what feels good, especially when using a controller.

dusk mulch
#

Eh, not too bad

teal bridge
#

Make sure to do your testing with LT/RT and not just focusing/clicking the tabs.

#

It's probably going to be a little unintuitive what happens when you reach the edge.

rancid musk
#

Of course.

#

Honestly I was just thinking it might make more sense, given the way the tabs are laid out, for it to alternate between the first and second row when using LT/RT and not swap the rows

#

But then that needs to make sense with the other interactions

teal bridge
#

And it would either be hard to navigate the vanilla tabs with all the junk in between, or the tabs would seem to have a weird layout with primary vanilla tabs being at the back (even for mouse users).

vernal crest
#

What happens to the rows when UI zoom is increased?

rancid musk
#

Definitely something that will require testing.

vernal crest
#

I do like the rows.

rancid musk
#

And yeah, the UI zoom being increased sounds like a case where I'd need to just disable that row and only use scrolling.

teal bridge
#

I'd say use LT/RT for pages and LB/RB for rows of pages, but unfortunately LB/RB are used for in-page pagination within specific tabs.

#

(My solution to UI zoom is "screw you", but I guess if it's intended as a main menu replacement, that might not be practical)

rancid musk
#

Yeah, can only really use LT and RT safely. Might just have people move the cursor up into the tabs if they want to switch rows quicker.

#

And I wish my solution to UI zoom could be screw you, lol

#

Pretty much all of this sounds like a Future Khloe problem after the first release, though.

#

Since I don't expect people to register many new tabs for a good while.

dusk mulch
#

God how do yall write dialogue? It is monotonous boring work.

#

I will avoid the dialogue and do the sprites and portraits

dusk mulch
#

Is it ethical to use vanilla assets for mods? Like if I were making an NPC and I used Pennys sprites, would that be socially allowed?

hard fern
#

It would probably be odd to have two pennys

#

But it's not like people are gonna bust down your door for kt

#

I think the worst that would happen is people might see it as lazy to just reuse a vanilla sprite without any modifications

dusk mulch
#

I can give her a bow?

#

remove the blush

hard fern
#

I mean, it's your npc, you can do whatever you'd like

dusk mulch
#

:D

#

I can make a Frankenstein!

hard fern
#

SDVpuffersweats yeah, you could

tidal stone
#

should i avoid trying to put water on my maps or should i justt ry to make a fishing spot anyway because why not

dusk mulch
tidal stone
#

scratch

dusk mulch
latent mauve
#

Always try to build your maps based on vanilla maps if possible, it avoids breaking the animated/special tiles if you're already using a tileset that includes them.

naive wyvern
#

Ohhh... yeah..
Its better to start from vanilla because you get to keep map properties that way
So things like water and such you wont have to worry about anymore

#

Im afraid you might have to restart your map if you intend on having water and other animated tiles like what lily said

latent mauve
#

It doesn't matter if you completely erase the map tiles after, but having the tilesheets pre-attached fixes a lot of weirdness that you'll run into otherwise

dusk mulch
#

Or...

#

You could go into the tileset inside tiled and add a tile property to the water tiles to make their animation work.

Do note that the animation won't be the same as vanilla but hey! You will have an animation

(This is a guess, someone back me up if needed)

tidal stone
#

so if i did that would things like going into a building using a door be attached or is it more usable trash cans

hard fern
#

Why wouldn't it be the same as vanilla

dusk mulch
hard fern
#

If you're using the vanilla water

latent mauve
#

Water property on the back layer should pull the vanilla overlay, yes

hard fern
#

That's what i had figured too, so im not sure why there would suddenly be a "different" animation?

dusk mulch
#

It was Chu who told me about the different animation (I am pretty sure)

latent mauve
#

Main things that won't be 'properly' animated if you aren't using a pre-attached tsx: water ripples, waterfalls, the little bouncy grass decor tiles

tidal stone
#

aaah ok

#

i dont have a ton of the bouncy little grass deco tiles and i dont really need to make a water feature as it doesnt have a reason to be in the town

hard fern
#

<- i have beef with animated tiles

tidal stone
#

i was just gonna if i could easily

dusk mulch
#

yeah that would work

tidal stone
#

next time ill use a map ! a vanilla one!

dusk mulch
#

let me see if it is the vanilla animationm

latent mauve
#

see those tiles with the little white/black symbols on them?

#

Those are animated from the vanilla TSX

dusk mulch
#

Nevermind, it is the vanilla animation

#

Ignore me

latent mauve
#

If you add tilesets manually from scratch, those won't be animated, so you'd have to go and re-add the animation yourself and then potentially save your newly animated tilesheet as a TSX that goes into your mod folder next to the map. It's a bit of a mess.

dusk mulch
#

Boooo TSX

unique sigil
#

One of the biggest reasons starting from a copy of a vanilla map is so you don't need to re-animate the tiles from spring_outdoorsTileSheet SMCPufferThumbsUp

latent mauve
#

You might be able to get away with exporting the vanilla animated TSX and then attaching that to your custom map, but then you have to redo all the tiles anyway. xD

unique sigil
#

it saves time and mistakes, because that tilesheet is a bit of a mess

hard fern
#

Sometimes i wonder why im even making the mod that i am and then i remember that it's easier than making a webcomic

tidal stone
#

this is useful information I will use if I ever make a map that utilizes those tiles then :0

unique sigil
#

"a bit" is an understatement, tbh

tidal stone
#

I was thinking I might make a kind of like river centric town but im glad i decided not to last minute

#

i feel like i would have cried needing to redo it all

unique sigil
#

Are you running into problems with the water tiles?

#

i just came into the convo so im lacking context, but i can help with that if you explain more

tidal stone
#

nah i was mostly just wondering about it, my town is supposed to be 'along the highway' type of town so it doesnt necessarily need a water feature thank goodness

hard fern
#

There's no need to redo the water so long as you're using the right tiles (and then animating them)

tidal stone
#

i do have one tile i think needs animation

#

the fountain on this map

hard fern
#

Ah

dusk mulch
unique sigil
#

The shimmering animated water overlay relies on the map being marked as outdoors and the tile having Water T property on it. it's not an animation you apply manually

tidal stone
#

theoretically i could remove the fountain

unique sigil
#

if the water is indoor you need the indoorWater T map property

hard fern
tidal stone
#

i mostly put it there as a 'wealth' object

latent mauve
#

the fountain is indeed animated tiles, but at least that's just one set.

unique sigil
#

Yeah, it's from town tilesheet

dusk mulch
tidal stone
#

would it be difficult to animate just that then and then in the future ill do it properly with vanilla

#

i would like to avoid remaking the map LMAO

unique sigil
hot gale
#

Hmm that was supposed to be a gif

unique sigil
#

alternatively, you can export that tilesheet from Town.tmx as a .tsx file, and import that to your current map

tidal stone
#

ill see if i can figure it out and if not ill just have a larger parking spot for the car lol

devout otter
hard fern
#

(tldr: tiled hard)

tidal stone
#

ooh

latent mauve
#

That's what I was gonna suggest 😄

unique sigil
#

thats also my suggestion but only to save kandi the time and effort of redoing the entire map SDVpuffersquee

hot gale
dusk mulch
#

Lord the farmer base is horrifying... shudders

latent mauve
#

In the future, absolutely do it properly, but as a fix this time around? Totally fine.

hot gale
#

Having a lot of fun making potions and elixirs, also kill me I just noticed I typod elixir on the item names rofllll

unique sigil
#

I'm not an advocate for .tsx files ever since i made my template map

latent mauve
#

Especially since Kandi will only need to change the fountain tiles to the 'new' tsx being attached from the Town export.

hard fern
#

.tsx is irritating because i exported one and then ended up with like 3 copies of the same tilesheet and had to fumble to figure out which one to kill

unique sigil
#

yeah, thats my issue with .tsx

latent mauve
#

I feel like there was a script floating around somewhere to merge tilesheets in Tiled

unique sigil
#

I know there is an extension to yeet tilesheets you dont use in the current map

crude plank
unique sigil
#

but I usually only do that after im done with the map, which doesnt resolve my grievances with .tsx files at all kekdog

vernal crest
#

Animating tiles is really not that difficult. I do it a bunch for my map making.

#

I'd absolutely hand animate over importing a tsx in the situation where I'd already placed a bunch of tiles from a tilesheet.

#

I'm guessing it might be possible to point the existing tilesheet source to the tsx to prevent having to place the tiles again but even if that does work I think it would require a fair bit of care.

hot gale
vernal crest
# hot gale

Hey you might want to check with the Junimos about your display name in case it counts as being against the rules SDVpuffersmile

tidal stone
#

how does coding an exterior door to let you into a house work is it the same as a warp on a tile just you specify clicking?

latent mauve
#

Exterior door warps are just Action Warp tileData objects (or Action LockedDoorWarp if there is a time or friendship condition to enter)

dusk mulch
#

6th last entry

hard fern
#

Hmm sigh i feel like my workload never goes down XD

dusk mulch
latent mauve
#

I was intending to do a lot more mod work with my day off today, but my body decided to get a fever instead

hard fern
#

Gws

latent mauve
#

It's just about gone now, just in time to have to go to bed and wake up in the morning to go back to work again SDVpufferwaaah

dusk mulch
#

LOLLL I WAS DOING MY CUSTOM NPC SPRITES AND I DID THIS

hot gale
#

if Pierre is SeedsShop what is the adventurers guild shop?

hot gale
#

SeedShop*

hard fern
hot gale
hot gale
#

oh

#

that was a bot

#

rofl

#

Thats a dope command

hard fern
#

Lol

tidal stone
#

if i have a "doorway:" thats 3 tiles long do i have to make a location warp for each tile or is there a way to encaptulate all tiles within one location warp

#

oh goodnes this code is confusing me now LMAO so many identical entries

dusk mulch
tidal stone
#

alrighty

vernal crest
#

You can copy and paste a one-tile object twice but I'd just make one.

tidal stone
#

whys it so dark on my map geez

vernal crest
#

But if you just have one, the player will warp to the same spot on the interior map from all three tiles. If you have three, you can change where the player warps to.

#

If your map is meant to be an outdoors one, make sure it has the map property Outdoors T so it gets outdoor lighting.

tidal stone
#

how do i give it a property is that in the text of it?

#

or is that another "you should have used vanilla maps" thing

vernal crest
tidal stone
#

oh ok phew i was like :i will start over tof ix the problem"

vernal crest
#

If you click on that, it should open the map properties box. You'd add a new custom property by clicking on the little + icon. Property name = Outdoors in the box that pops up, then click ok. Then add T in the box to the right of where Outdoors now is.

tidal stone
#

i think i need to redo the mayors house, grr i have this black empty void around the map 😔 i wish you could make the map bigger after making it the first tiem but the property thing appears locked in that section

gentle rose
vernal crest
#

You can definitely make a map bigger after making it the first time.

tidal stone
#

do you know hwo t unlock it, its all greyed out for me?

vernal crest
#

It's also normal to have a void around smaller interior maps.

vernal crest
tidal stone
#

this isnt an interior map its an exterior one which is why its wigging me out 😔 its just like a very enclosed map like a little grove

#

the width and the height of the map

vernal crest
tidal stone
#

map properties

gentle rose
#

is this a map you made from scratch or an existing map you’re modifying?

vernal crest
#

That's not where you resize maps. Go Map -> Resize Map.

#

Scratch, iro.

tidal stone
#

oh

gentle rose
#

(hi aba!)

tidal stone
#

do you guys know how big the basic map size would be to have no void spaces

vernal crest
#

They did not know you should start with a vanilla base before. They do now lol

tidal stone
#

yea starting now all my maps will be vanilla bases XD

gentle rose
#

is it south or north Squint I always forget

vernal crest
#

South is fine, it's north that won't work

#

Because 0, 0 is top left always

gentle rose
#

yup. As soon as I typed it I knew it should be north haha

#

maths brain says the y axis should be positive going up SDVkrobusgiggle

hard fern
#

I learned that the hsrd way

#

To not exted up and tp the left

#

Or Else

gentle rose
#

I wonder if an !extendingmaps command would be helpful SDVpufferthinkblob since we’ve been telling people about that a lot recently

uncut viper
#

to be fair, you definitely can do it

gentle rose
#

oh yeah for sure, you just need to know to watch out for those things

uncut viper
#

do not ask me to be liable for damages

gentle rose
#

(and people forget to include west half the time when warning people, and only mention north)

hard fern
#

I forget which direction west is and have to the never eat shredded wheat

vernal crest
# tidal stone do you guys know how big the basic map size would be to have no void spaces

You can't guarantee it for everyone because of different zooms and resolutions, so my suggestion is to just experiment to find what you want it to be. It'll be very quick to check because you can just make a copy of your map (just in case of messing up when experimenting), then change the size and paint the new tiles bright green or something, then check in game. Since you can use patch reload to update the changes in game, you can change it and check it in about 30 seconds.

gentle rose
uncut viper
#

you're gonna have a lot of angry customers when they hear what i have to say to their complaints, then, if you appoint me customer service

vernal crest
hard fern
#

I think they mean the all encompassing Void aka the black around walls

vernal crest
#

I can't think of any exterior map that shows the void off the top of my head

hard fern
#

If your map is small, then i think it would, but not any of the vanilla ones are like that afaik

uncut viper
#

bus stop did for a long time

gentle rose
#

ah. Then vanilla zoom goes down to 75% at the lowest. idk how the game scales for different resolutions, but I assume viewport probably stays fixed to width?

vernal crest
#

Ah ha, I found one. The gem bird area on the island.

gentle rose
#

(if it’s fixed to height or not fixed at all though you have to consider how it will look on wide monitors)

uncut viper
#

the island is where i wouldve looked too, i was gonna say maybe the caldera too

vernal crest
#

I definitely saw more void when I zoomed out just then

gentle rose
#

does the path to the witch’s lair count as outdoors? SDVpuffersquee bc I’m pretty sure that shows the void

#

without even zooming out

uncut viper
#

isnt that literally in a cave

gentle rose
#

topologically, caves are basically outdoors

#

(/lh)

uncut viper
#

topologically, nothing is indoors

gentle rose
#

if you close the door and windows it’s indoors

uncut viper
#

never seen a door that has an airtight seal at the bottom

hard fern
#

Id it outdoors when theres no door to our in cave so cave is outdoors because there's no door to in

gentle rose
#

bank vaults. clean rooms using stored air.

vernal crest
#

Hang a curtain at your cave entrance

gentle rose
#

those giant human-sized hamster balls

uncut viper
#

why do they call it indoors when you door in the cold air door out hot close the door

gentle rose
#

did you just have a stroke or did I

#

or both

vernal crest
#

I thought she must be quoting a meme so I googled it lol

uncut viper
hard fern
#

Why do they call it an oven when you

#

Aw you beat me

vernal crest
#

So Jon is the one having the stroke

uncut viper
#

i even took the time to resize it bc the version i found was 5500x3800 pixels for some reason

latent mauve
#

So not sure if Kandi was informed of this, but, the map property ViewportClamp is your friend if you are trying to avoid black void around outdoor maps

gentle rose
latent mauve
#

(alternatively, do what the Woods does and cheat with the foliage border)

hard fern
#

Viewport clamp my new best friend

#

(what does it do)

uncut viper
#

clamps the viewport innit

latent mauve
#

It locks the view of the map to within a specific range of tile coordinates

#

(The BusStop uses it, if you want a vanilla example)

gentle rose
#

huh. the copypasta existed before the garfield comic. neat

#

(it was originally an askreddit thread apparently bc ofc it was pffft)

latent mauve
#

I feel like I have asked this question before a while back, but I don't recall the answer: If you change a vanilla NPC's gender, does the game automatically change what frames it looks for in regards to wedding and flower dance sprites?

uncut viper
#

it should, since it just looks at the gender field

latent mauve
#

Ok, so my sprite changes for Harvey and Haley are gonna be a mess, good to know

tidal stone
#

i found more water but i handled it dw >.>

#

i forgot the bathhouse had that little spring on it

devout otter
hot gale
uncut viper
hot gale
#

Ahhhh, damn

uncut viper
#

dont do that

#

also LogName doesnt do anything inside ObjectData

#

its something you put on the patch itself

hot gale
#

Amazing, ty!

uncut viper
#

crafting recipes are a slash-delimited string, so having a slash in your item id will ofc break it

#

bc it sees a slash

#

and cuts things off at the slash

#

in general just stick to dots, underscores, and alphanumeric characters

#

this goes for just about everything i can think of off the top of my head besides asset names/Load targets

#

as slashes are a very common delimiter

#

if you particularly care about Lookup Anything integration, you also specifically want to do {{ModId}}_ItemId

hot gale
#

Thanks so much, fixed the issue :)

brave fable
#

it doesn't matter if you happen to have an item named Quite Specific Sushi, you have to start it with {{ModId}}. this is non-negotiable SDVdemetriums

rotund elm
#

This made me giggle SDVkrobusgiggle I’ll make sure I plaster {{ModId}} everywhere SDVpufferthumbsup

gray bear
#

without {[ModId}} is it really YOUR mod? hmm

hot gale
#

This is sick

#

Its so sick im sure everyone knows about it, but in the off chance someone doesnt

earnest juniper
#

I'm tempted to make a stardew mod to give more depth to your children

It would be so funny if you have a kid with Abigail and they just inherit Abby's love for rocks

candid stratus
#

I haven't really found a lot of info on this, but how can you make a cutscene in a mod or change an existing cutscene?

hard fern
#

Ok that doesn't work

#

[[Modding:Events]]

#

:...

candid stratus
#

F

hot gale
#

Does i18n not translate buffs?

hard fern
#

Well ok I guess the command doesn't work that way

#

I thought it did 😔

vernal crest
candid stratus
#

I have some years of experience in C#, I'm gonna have to make a proper mod for the rest of my mod regardless, but I was wondering whether there are some docs on it specifically for cutscenes

vernal crest
hard fern
#

Oh Its event data...

vernal crest
#

Are you sure you mean cutscenes?

hard fern
#

What does cutscenes mean in game? Not events

candid stratus
#

I mean cutscenes like the NPC cutscenes with for instance Linus going through the trash

vernal crest
#

There are a few hardcoded events in game. They are referred to as cutscenes. Things like the band playing in the city, Maru's robot flying away, etc.

deep cypress
#

@stormUsu those are called events, but I totally call them cutscens IRL too!

#

Sorry, my reply is to Storm!

candid stratus
#

Oh, well that's a bit unfortunate with events being a fundamental concept in programming haha

#

But yes events then, with dialogue and moving around of NPCs

vernal crest
#

Then the page that I linked is what you want

deep cypress
#

That bit confused me so hard at first!

candid stratus
#

Okay perfect, thank you! When I first saw this page I thought it literally just meant storing game state data

hard fern
#

😅 and here I think of cutscenes as cinematic animated parts in a game, since I'm used to that kind of thing

vernal crest
#

Do you want to make a C# mod specifically, Storm?

candid stratus
#

So this way by altering the xnb file for a specific event, I could theoretically also change dialogue for already existing events?

hard fern
#

sweaty editing xnbs?

vernal crest
#

Yup you can edit vanilla events, lots of mods do. If compatibility matters to you it can be a bit of a minefield.

candid stratus
#

I want to make a mod yes, I want to involve quite some boss fights that have staged mechanics so I dont think I'm getting away with content packs

#

Among other things

hard fern
#

But, why edit the xnbs

candid stratus
#

Compatibility doesnt matter to me, I'm making it as a stand-alone mod since it's basically an adventure mod

vernal crest
#

Most people would recommend you make a combined CP and C# mod rather than try to reinvent the wheel and do all of it in C# but you certainly can do it all in C# if you want to.

hard fern
#

I don't think you can do the things you're thinking of by xnbs modding though

vernal crest
#

I'm assuming Storm doesn't mean directly editing the xnbs the way you're thinking of Forsy.

candid stratus
vernal crest
#

The page I linked doesn't have much information for C# event editing specifically, but it should help give some context at least.

#

Yes, we use Content Patcher to edit game data.

candid stratus
#

I was thinking of a combination of CP and C# too as making everything from scratch would be a bit too much effort, I do want to make one isometric map though so that might be difficult :p

#

And I also have one funky-working weapon

hard fern
vernal crest
candid stratus
#

I dont mean directly editing the xnb I think

vernal crest
#

If you're not already familiar with the process of CP modding there's a tutorial and the CP docs to get you started too.

candid stratus
#

Are there content packs for events too? I didnt immediately find one

vernal crest
#

Yes almost every mod that adds/edits events is going to be a Content Patcher mod, I don't know of any mods that edit or add events via C# actually, though I'm sure there must be some.

candid stratus
#

huh, interesting, that's good to know. I was already thinking of building a state machine for event tracking haha

vernal crest
#

I couldn't name a mod that does nothing but edit an event off the top of my head, but pretty much any NPC mod there is will have examples of adding new events and there are many mods that edit vanilla events.

hard fern
#

What does the state machine do?

hot gale
#

how do I add translation files? default.json and then I just add like de.json?

hard fern
#

Yes

candid stratus
#

Well in the case that I'd have to program an event from scratch, I'd need some kind of trackers for the progress of the event, but if it's possible through content patcher, that'll save a lot of trouble

hot gale
#

Ty :)

vernal crest
#

I'll see if I can find a good mod to recommend you deconstruct.

candid stratus
#

Thanks! I'll save all these links. I was looking at SVE but couldnt immediately find event handling from the source code so I figured that data was packed

hard fern
#

😅 SVE is... Complicated

vernal crest
#

Hmm, we'll go with Lacey. She's pretty up to date and I trust ichor's work. Oh and he multilines his events, even better!

#

SVE is gigantic and full of legacy practices so it can be a difficult starting point.

#

This is a quick look at how a CP patch adding a new event can look.

#

Doesn't look like he edits any vanilla events though. But if you're not worried about compatibility with other mods, you don't really have to worry about trying to be delicate when editing a vanilla event - you can basically just treat it like you're adding a new event and replace the whole thing in the same way that you would make a new event.

hot gale
#

Is it bad practice to include AI Translation support?

hard fern
#

Yes

hot gale
#

Welp

vernal crest
candid stratus
#

How can you replace an old event with a new one? By catching on to the asset load event?

vernal crest
#

I don't know how CP does it. Never looked at its guts.

candid stratus
#

Can you just tell CP to replace it?

#

Cause that'll work

vernal crest
#

As a CP user, you just create a patch with the existing entry key and it'll replace it, yeah.

candid stratus
#

That's convenient

#

I'm used to working very low level haha, most of my projects were in C so it's always a "make it yourself" kinda deal

vernal crest
#

Yeah I figured from the kinds of questions you've been asking lol

#

I'm coming from the opposite direction of no C# knowledge so I've learned a lot about modding with CP first and now I am starting to learn C# modding too.

calm nebula
#

Tbh if you're thinking isometric it is very much make it yourself

candid stratus
#

Oh yeah isometric will be completely custom, but I've made my own graphics engine to make a high performance flight sim, I'm not scared of some maths :p

#

if anything it'll be getting used to using tools that already exist

calm nebula
#

Good luck have fun you'll find out why every time someone mentions xtile there is swearing

vernal crest
#

I am scared of the maths SDVpufferfear

candid stratus
#

I dont blame you

#

It takes a special kind of crazy to have 15 pages of differential equations in your master thesis

#

That was truly swearing

vernal crest
#

I do maths by figuring out what the answer should be and then experimenting with formulas until I find something that gets to that answer.

candid stratus
#

I've definitely done that before, but there's a point where that's not possible anymore unfortunately

swift needle
#

what should i do with nxb to get the data? I forgot

#

xnb

ocean sailBOT
#

Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!

vernal crest
#

Oh Storm you should unpack too.

candid stratus
#

especially when you start playing with camera positions and shaders

vernal crest
#

And decompile if you haven't already

swift needle
#

for andro

vernal crest
#

IDK if we have a command for that

candid stratus
#

Yeah I already found the page for unpacking, didnt touch it yet though. I've also already decompiled, then I found out there's ILSpy too hahaha

vernal crest
# swift needle for andro

Oh, no idea, sorry. I don't know anything about Android and I don't know of anyone on this server who provides Android support.

candid stratus
#

I've been digging for a few days cause I dont wanna barge in here with questions that may be on the first page of the modding guide haha

#

which I probably still did to be fair, oops

vernal crest
#

It happens. I got as far as making myself a CP mod or two before coming in here but then I got stuck trying to get a custom map in game because I completely missed finding the info on the wiki for how to do it, though it was there.

candid stratus
#

There are a lot of pages to be fair yeah, easy to miss something

vernal crest
#

I'm glad I did though because I am not otherwise a community joiner and I would've missed out on a lot if I'd never joined.

candid stratus
#

I knew I was gonna have to join at one point cause 100% I was gonna overengineer things

vernal crest
#

There are some great people here. Lots of help, fun brainstorming, opportunities to help others, just chatting, support when things are tough.

#

I would definitely not still be modding Stardew by now if I hadn't joined because I would've gotten bored.

#

Instead I've learned how to use Content Patcher, learned how to make maps, learned how to draw, and even learned some C# (which has been so hard for me, my goodness).

candid stratus
#

Yeah C# isn't the easiest entry language :p I learnt java in 2014 to make minecraft plugins and that was.. an experience as well

#

and that was super jank too

vernal crest
#

I mostly only know R because of being a data analyst.

calm nebula
#

If you know c you can learn c# in two hours

#

Signed, learned c# in two hours

vernal crest
#

Oh and SAS

candid stratus
#

My current job is C# but I have 6 years of C experience, so I can probably handle it

#

I never actually learnt R, we always did statistics in C LOL

lucid mulch
#

if you have touched C# at all, you can have a hello world smapi mod in under 5 minutes

vernal crest
#

I was taught SPSS at uni but I did all my assignments in R

candid stratus
#

I dont doubt it yeah, the code for that is on the main modding wiki page as well

vernal crest
#

Psychologists are not known for their programming overall

lucid mulch
#

the steps of getting a development environment is so comically simple its absurd

candid stratus
#

Welcome to .NET :p

lucid mulch
#

install nuget package, have class extend mod, implement abstract class, press debug button and stardew launched

#

oh and get a manifest.json written up

#

arguably the longest step

calm nebula
#

Don't write your manifest.json, use mod manifest builder 😛

lucid mulch
#

yeah that tbh

candid stratus
#

I was wondering, how can you reliably test functionality somewhere late game? Can you create a test file? Do you make a warp map for testing maps?

vernal crest
#

Already linked ModManifestBuilder PufferFingerGuns

candid stratus
#

yep have it bookmarked :p

vernal crest
lucid mulch
#

the debug commands are all you need

proud wyvern
#

and/or cheat mods

candid stratus
#

A lot of things that happen late game only occur once and having to test those continuously can be a pain

lucid mulch
#

a perfection save is literally just debug perfection and sleep

#

anything that you care about state, you get a save to that state, and then load it over and over and don't sleep to save

candid stratus
#

not sleeping is actually a stupid oversight of me

calm nebula
#

(Also almost everything is tracked as a mailflag)

#

(So if you know which flag you can trivially unset it.)

lucid mulch
#

getting a mod that puts the ok button for the overnight shipping stuff is a must have to not accidently save

candid stratus
#

doesnt it already have an ok button?

lucid mulch
#

only if you shipped something

candid stratus
#

fair

calm nebula
#

Eh, you can trivially restore the save from backup

lucid mulch
#

#effort

calm nebula
#

Or unset/set flags using console commands

candid stratus
#

Me in 2 weeks with 172 saves backed up

proud wyvern
#

just don't go to bed

calm nebula
#

!saves

ocean sailBOT
calm nebula
proud wyvern
#

joke's on you, even if i go to bed, i can't sleep long nowadays

lucid mulch
#

I also use pause in multiplayer and use its pause time functionality

proud wyvern
#

i guess i am kinda like a farmer

#

go to sleep at 2 AM, wake up at 6 AM

candid stratus
#

flashbacks to competition where my only sleep was on my 10 minute break on the asphalt

brave fable
gray bear
tidal stone
#

what do you think is easier making a portrait look like a sprite or making a sprite look like a portrait im trying to decide what to do first when im start designing my npcs

hard fern
tidal stone
#

✍️

hard fern
#

If you start with a sprite first then you're kinda stuck with figuring out all the details later

#

At least, thats how i feel

tidal stone
#

i think thats a valid viewpoint that makes a lot of sense

gentle rose
#

still not sure why that impacted what you could sell in qi’s room though ngl

unique mountain
#

Hi, I want to add new portratit to the dialogue. in the image I want to add portrait for jas when she is jumping rope.
If I didn't use i18n when in game it will be english whatever languauge I use. I want to ask is there any method to make dialogue load new portrait without using i18n. or is there any framework I can use to achieve this?

tidal stone
#

does anyone know how to turn off the grabby hand in tiled i accidentally put it on and now it wont go off

#

ficex it i just closed and reopened the program

#

nevermind its doing it on the tilesets now 😭

vernal crest
#

What is the grabby hand? What does it do?

tidal stone
#

it just moves the map around the screen

#

its a white gloved hand

#

Oh i think i found it, it looks like the toggle got stuck somehow for it?

#

its spacebar

vernal crest
#

Oh yeah you hold spacebar so yeah yours must have gotten stuck

tidal stone
#

i think im almost done with doing the outdoor maps next i can do the indoor ones Iill use vanilla as a base this time lol)

#

how do i remove items from interiors that have tile data so i can just not use them, as im going to rework lewis house for example but idk how to rid myself of the ticket machines tile data

#

Oh it hink i found it

vernal crest
#

You can just click on the object and press delete on your keyboard

cyan venture
#

guys

#

how to delete mod idea from github

#

i cant close issue somehow

lucid iron
#

you probably dont have perms

#

@gentle rose

gentle rose
#

(and why delete it?)

cyan venture
#

im currently working on it again...

#

i have been learning C# past 2 days

gentle rose
# cyan venture im currently working on it again...

Rather than closing it, I’ll mark it as currently in progress by you. Then when you finish you can come back and post the nexus link, and anyone who saw/sees it in the future will be able to see your mod :)

cyan venture
#

oh okay

#

i think it will take about a week or more

gentle rose
#

that’s fine! there are open issues in the repo from 2017 haha

cyan venture
#

im currently make it working with level 1 farmhouse with mats and money change

#

but i want to make the GMCM config first

rigid musk
#

(I was very curious)

#

I cannot purchase the gem weapons though so I'm guessing not

gentle rose
rigid musk
#

If you mean by going through and doing the flags (i.e. completing the cc with debugs and stuff) yes that worked but we didn't test perfection

#

the perfection debug command didn't let me purchase it

gentle rose
#

oh I see what you mean now, you were answering my question not saying we got it wrong lmao

rigid musk
#

I can click on it all I want and it doesn't work- OH yeah !

#

I just wanted to see if it worked or not cause you posed the question heehoo

#

im still very proud of those weapon sprites I think they look pretty B)

#

I've never made weapons before from scratch so it was actually kinda fun to do

gentle rose
#

they do! and they fit vanilla super well

rigid musk
#

🥹 thank you

lucid iron
#

Friendable Mr B)

rigid musk
#

I could change his name to that which is great... infinite cosmic power

#

watching through the perfection cutscene to see something and I just... FUCKINGFUNNY why does it LOOK like that oh my god

tidal stone
#

man doing the wall framing with the little here ill take a picture, its hard whatever these tiles are

#

those little wall frames

rigid musk
#

how cursed is this image on a scale from 0-10

tidal stone
#

is it easy to turn a cp mod into an AT mod variant

#

someone asked on one of my mods if id make it AT as well

rigid musk
#

AT mods are pretty easy to make imo

tidal stone
#

ah ok :3

rigid musk
#

Furniture mod?

tidal stone
#

sprinkler replacement so technically but like utility furniture

rigid musk
#

yeah that should be relatively easy honestly

tidal stone
#

woohoo AT sprinklers will be in the works between doing maps then ill look into it

#

i just like that someone liked my mod enough to be like "can you do this for me" and im like "omg ofc ofc"

rigid musk
#

hmm Is there a mod that lets you have different dialogue for divorce stuff? like at events and what not

#

I'd like to add that as an optional dependency because it seems as though the base dialogue overwrites everything which ... I didn't realize

#

also yeah I love when people like something I made so much that they're like 'hey can i have it this way?' it makes me feel cool

#

the fact that people want to and have translated my qi mod makes me feel so cool too

tidal stone
#

real

#

easier translation is why im going to try and us i81n files for the dialogue for this mod im making now

rigid musk
#

They're actually insanely easy to use!

tidal stone
#

OOh

rigid musk
#

if my 1.6k line i18n json is anything to go by anyways

candid stratus
#

what actually is i18n

rigid musk
#

The tokens themselves are pretty easy too, though if you accidentally mess something up when moving them over it's the worst part, because then the token doesn't work but you'd be able to spot that pretty easily

#

it stands for internationalization

tidal stone
rigid musk
#

there's 18 letters between the i and the n so it's shortened to i18n

tidal stone
#

oh thats actually really cute and clever i wonder who came up with that

rigid oriole
#

They're called numeronyms!

#

See l10n, k8s, a11y

#

a11y is my favorite one i think bc it reads as ally

fossil osprey
#

l10n will always be lion for me

tidal stone
#

didnt someone make tilesheets with backward couches

#

found it

#

also before i go in too far into the mod before needing to switch stuff
!!!!
how do i make my mod compatible with recolors do i need to make a seperate version that utlizes recolored tilesheets? id like to allow my mod to be usable by those who use erthy or vpr or that other one ?? starblue?? or something

fossil osprey
#

Iirc you do need one "version" for each recolours

tidal stone
#

aah ok

#

then ill do that at a later date

#

probably before i add the npcs

#

another question, how do i make my mod change seasons, is it the same i need to make different 'versions' with the different tile sheets?

rigid musk
#

To make it compatible with recolors the main thing you need to do is load the custom tilesheets if that's what you mean (if you want OTHER people to make the recolor compat) if you want to do it you'd need to make tilesheets for each one and then have them loaded specifically when the person has those mods

#

yeah it would be like how stardew has seasonal tilesheets

#

like fall_tilesheetname

#

(and so on)

#

Hi Aba!

tidal stone
#

so do i need a content patch code thats like target (map name) action (change map from spring map to summer map)

rigid musk
#

I think with the tilesheets it automatically does things seasonally if you have the four tilesheets with different seasons? I think?

#

I don't actually know... I've never done it before pondering

tidal stone
#

i think ill make it compat with vanilla colors first and then if i want to before somebody else does it ill make a version that recoloured

rigid musk
#

yeah as long as you load your tilesheets from a separate folder you should be fine for recolor compat for other people to make it

lucid iron
#

You don't gotta do anything

#

spring_ is the magic needed

vernal crest
# candid stratus what actually is i18n

In the context of Stardew, it's how we make our mods easy to translate. Instead of writing text visible to players (dialogue, item names and descriptions, etc) directly in the data files we load or the patches we use to edit vanilla assets, we use i18n CP tokens that refer to a file in the i18n folder containing the text. Then when people translate the mods, they only have to translate the values in the i18n file instead of trawling through the entire mod. A quick example is that your dialogue entry might be "Mon": "{{i18n: sam.mon}}" and the i18n file entry would be "sam.mon": "Hey farmer, lovely Monday morning!".

lucid iron
#

Game will pick right season for u based on that

#

If u have a custom tilesheet you made

#

Load them to spring_ summer_ fall_ winter_

rigid musk
candid stratus
vernal crest
rigid musk
#

No like... I want him to say something at the flower dance that isn't just the base divorce dialogue

#

(and so on)

vernal crest
#

Well, that dialogue is probably in StringsFromCSFiles, so just edit that.

rigid musk
#

Not general dialogue, I don't mind if his general dialogue is that, but specifically at festivals

#

Oh I already - here let me show

#
            "Action": "EditData",
            "Target": "Data/Festivals/Spring24",
            "When": { "Relationship:{{ModId}}_TheMrQi": "Divorced"},
            "Entries":{
                "AngelOfStars.Mrqifriendable_TheMrQi": "{{i18n:Aos.QiFlowerDance1Divorced}}",
                "AngelOfStars.Mrqifriendable_TheMrQi_y2": "{{i18n:Aos.QiFlowerDance2Divorced}}",
            }
        },```
#

So I have this section of code here, which technically should work based on your relationship with him being Divorced right
HOWEVER it doesn't work because it gets overwritten by the BASE dialogue

vernal crest
#

I am lost as to what you desire then.

#

The base dialogue as in his dialogue specifically or some sort of generic dialogue?

rigid musk
#

The generic dialogue entry for when you divorce an NPC

#

they say like one thing ever

vernal crest
#

That's what I was suggesting you editt

lucid iron
#

How do u get divorced from friendship

#

No longer friends with B)...

#

Anyways the divorce dialogue is one of those stringsfromcs things iirc

rigid musk
#

How do you mean though Aba? I want it to be different for festivals and stuff

#

not just one thing

lucid iron
#

Edit that and put it behind when festival

tidal stone
#

welp i got halfway there XD

vernal crest
#

Edit it differently for different situations

rigid musk
#

also it's in the generic dialogue as 'divorced'

vernal crest
#

Buncha different patches with different conditions

rigid musk
#

oh good god

vernal crest
#

Or one patch with lots of fancy tokening and queries in the line itself

rigid musk
#

(I think that would kill me Aba, I think I would die)

#

The variety of patches is possible though...

vernal crest
#

Actually you could just have a dynamic token that changes value depending on what the situation is, then use that one dynamic token to call different i18n keys

lucid iron
#

A little dynamic token never hurt anyone

rigid musk
#

They hurt me deeply and emotionally

vernal crest
#

It'd be really simple.

lucid iron
#

It's ok Lily we provide love and support for token related trauma here

rigid musk
#

I had to have Button walk me through the other tokens for the translation like I was a toddler... I don't think it would be easy for me

#

I honestly don't know WHY dynamic tokens confuse me so much honestly

vernal crest
#

Though I think you'd need a condition to check for NOT other situations or it'd stay whatever its last one was.

#

This is simpler thannnnnnnnnnnnn the translations thhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhing

rigid musk
#

Can you do conditions for when it's a festival? I mean probably but

#

Aba... Aba I have a smooooth brain

vernal crest
#

Help my file transfeeeeeeeeeeeeeeeeeeerrrrrrrrrrrr issssssssssss hijacking my keyboard

#

Yup DayEEEEEEveeeeeeentttttttt

#

Sory

rigid musk
#

It's okay this is really funny actually

#

I hope the data transfer stops stealing your keyboard autonomy soon

vale stream
#

Is there a chance you could add a right click event to the API? I originally patch InventoryMenu.rightClick so that'd be pretty useful

rancid musk
rigid musk
#

Hi Misty! Just wanted to say thanks again for translating my mod 🥹

vale stream
vale stream
vernal crest
#

Anyway I will try quick example

"DynamicTokens": [
      {
         "Name": "QiDivorceLine",
         "Value": "Base"
      },
      {
         "Name": "QiDivorceLine",
         "Value": "FlowerDance",
         "When": {
            "DayEvent": "flower dance"
         }
      }
   ],
"Changes": [
      {
         "Action": "EditData",
         "Target": "StringsFromCSFiles or whatever",
         "Entries": {
            "divorced": "{{i18n: Aos.QiDivorcedChat.{{QiDivorceLine}}"
      }
   ]

i18n:
  "Aos.QiDivorcedChat.Base": "I hate you, poopyhead!",
  "Aos.QiDivorcedChat.FlowerDance": "I spit on your fancy shoes!"
#

Surprisingly unstuttered!

rigid musk
#

PFF 'i spit on your fancy shoes'

vernal crest
#

I am a highly advanced dialogue writer you should all commission me immediately.

rigid musk
#

🫴💵

#

oh boy with this I'll likely have to change more of the i18n...

#

Poor translators I am sorry for this

vernal crest
#

As mentioned, I think you will need a base tokeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeen entry that has a long list of negated coooooonnnnditions sssssssssssssso he doesn't kekeepp usiiiiiiiiiiiiiiiiiiing hiis festival line after one festival until the next, etc.

tidal stone
#

when winter comes around the rest of the sprite for the christmas tree is missing is that on another tilesheet does anyone know?

lucid iron
#

The Christmas tree?

tidal stone
#

yes

#

the repalcement for the flowers in pots

vernal crest
#

What tilesheet is that from?

tidal stone
#

town

#

i have all of the seasons but for some reason its an incomplete image when winter comes around

tribal ore
#

Hey @vernal crest ? You told me to ping you if I was still having q/r problems. Can I run something by you real fast?

vernal crest
tidal stone
#

Ahh so thats it, thank you sm i was so lost XD

vernal crest
#

I hope my file transfer doesn't actually take 23 hours, I probably will lose power before it's finished if it does

tribal ore
# vernal crest Yes though be warned I am having textual stuttering problems intermittently

Alright, I'll try to keep this in one chunk then. This is the problem dialogue:

        "Railroad10": "{{i18n:sebastian.Railroad10}}
           #$q {{ModId}}_bathY/{{ModId}}_bathN OS_bath_old#{{i18n:sebastian.R10.q0}}
            #r {{ModId}}_bathY -10 OS_r_bathY#{{i18n:sebastian.R10.r0}}
            #r {{ModId}}_bathN 0 OS_r_bathN1#{{i18n:sebastian.R10.r1}}
            #r {{ModId}}_bathN 15 OS_r_bathN2#{{i18n:sebastian.R10.r2}}",

        "OS_bath_old": "{{i18n:sebastian.OS_bath_old}}",
        "OS_r_bathY": "{{i18n:sebastian.OS_r_bathY}}",
        "OS_r_bathN1": "{{i18n:sebastian.OS_r_bathN1}}",
        "OS_r_bathN2": "{{i18n:sebastian.OS_r_bathN2}}",
#

The first part comes up (q0), but none of the responses are listed as options

#

I should be seeing r0, r1, r2 right under that question. But they just... never appear 😦

vernal crest
#

You are missing the dollar signs before the r in your response lines

tribal ore
#

Oh thank goodness it's something simple

vernal crest
#

Should be #$r

tribal ore
#

Lifesaver. I'm going to fix that right now. Thank you so much!

candid stratus
#

This might be a stupid question, but I want a very uniquely patterned floor and walls that won't repeat any tile once. Is it bad practice to make a tilesheet that's just an entire room and just plop it into the CP like that?

calm nebula
#

Nah

#

People do that. Spring town is like that

candid stratus
#

Alright sounds good

#

Saves me a lot of time making recurrent patterns

tribal ore
candid stratus
#

not to mention I suck too much for it

tribal ore
#

Question for you all: is it generally better to bundle translations under the parent mod or let people create the translated version as a separate mod?

calm nebula
#

Either is fine

vernal crest
rigid musk
#

^ people can upload their own i18ns on Nexus, which I support them doing for the DP for themselves (its not even that much DP but it's something for their efforts)

calm nebula
#

Upside: you have more control and don't get weird translations

vernal crest
calm nebula
#

Tbh I've always gone with the policy of letting the translator decide

rancid musk
#

-# Downside: you have to interact with people who send you random json files in the weirdest possible ways they can manage

calm nebula
#

Send me a PR? Sure

tribal ore
#

I had an offer to translate my anniversaries mod into Korean, and am just deciding how to respond. I don't speak it, so can't verify the quality

calm nebula
#

frankly the number of weird encoding I get is amusing

rancid musk
#

lol

candid stratus
#

here's the translation handwritten

calm nebula
#

Tbh I've said before that if a translator told me that the translation will be carried by pigeon to the top of a mountain I'll go climb that lol

#

I like translators

#

Like them far more than I like users

tribal ore
#

Alright, so people are doing the independent translation thing for the DP. I hadn't thought of that before, but I suppose that is fair. I guess I will give them the choice

ornate locust
#

I've tattooed this translation on a sphinx cat, good luck catching them

vernal crest
#

I am picturing an upside down, blurry phone photo of a translation written in the SMAPI console

tribal ore
#

"Allow me to transmit the essence of my translation through interpretive dance"

calm nebula
candid stratus
#

I spoke the translation in a 17 hour long audio msg, dont mind the vacuum cleaner on the background

rancid musk
#

I've etched the translations onto a temple bell atop a mountain, dare you brave its heights and make a wax relief

vernal crest
#

Kantrip please test your question so I can go to bed 🙏

tribal ore
#

Good news: it's translated. Bad news: I forgot about punctuation

tribal ore
#

I didn't realize you were waiting on me

#

<< work computer

#

.>

#

<.<

teal bridge
#

The idea of having some translations showing as translation mods on the mod page and other translations embedded in the mod itself bugs me. Maybe it shouldn't.

teal bridge
#

I also don't know what to do when a translator says he corrected a previous translation, and I don't speak the language and can't evaluate either one of them.

ornate locust
#

(Medical transcription, you do not want to hear the audio of doctors transcribing. I swear some of them do it in convertibles)

rancid musk
#

Sometimes I'll use DeepL or something to see if things sound generally right, but yeah... gotta blindly trust translations in many cases

vernal crest
teal bridge
#

I guess you just rely on users to report a bad translation (like that ever happens).

ornate locust
#

I feel like at some point you just have to put it up blindly and trust that native speakers will say "hey this is total crap"

#

if it happens to be total crap

tribal ore
candid stratus
#

If I make a room of which no furniture must be interacted with, do I just make the furniture part of the map? How does it handle furniture?

teal bridge
#

Even more confusing for users if there is a translation mod, and a translator sends a PR or file that is labeled as a correction of that to be integrated with the mod.

rancid musk
#

I wish Nexus had better separation for mod translations vs original mods.

teal bridge
#

Mind you, none of this is a knock against the translators themselves, it's just a really screwed up system.

ornate locust
candid stratus
#

And if I for instance put a key on the ground and it needs to be picked up, does it use 2 map tiles or is a separate entity being drawn over the static map

ornate locust
#

Block the tag and you block random mods that are in multiple languages and it doesn't even block all the translations

rancid musk
#

There's one person who named their translation of Better Crafting on Nexus just "Better Crafting 2.13.0"

#

lol

teal bridge
#

I've never submitted a translation but I'm guessing something about the Nexus UI encourages that or confuses people into naming it the same as the original mod.

ornate locust
#

Yeah when 1.6 came out and translations were updating, the Recent Activity page was genuinely unusable

#

because TONS of translation mods are like that

teal bridge
#

It's weird that you can't filter, since Nexus clearly understands the difference between a translation mod and a regular mod.

ornate locust
#

it requires tagging.

teal bridge
#

I'm not talking about tags, I'm talking about the actual translation field that makes it show up under the "translations" section of a mod.

#

The information is there, you just apparently can't use it in your filter.

ornate locust
#

I think the tag and the translation field were made at different times

calm nebula
teal bridge
#

The tag has nothing to do with anything, it's just a tag, anyone can add it for any reason.

rancid musk
#

Entirely unrelated, I'm checking Better Crafting's page and looking at all the mods that depend on it now (basically all for the custom crafting station implementation). Makes me happy to see them.

calm nebula
ornate locust
#

Yeah but when they made the filtering thing, it was made to filter tags. Then they made the translation field a thing.

#

Wouldn't hurt to suggest that on the Nexus's suggestion thingy

teal bridge
#

I also can't justify spamming an update for 90+% of users just to include a new translation, so at least until there is a real change to the mod itself, I think any new submissions should go into the optional files if the author prefers not to make their own translation mod.

ornate locust
#

As a mod author, I feel like that could be annoying. It's a file you cannot troubleshoot. If there's a translation problem, you are not equipped to deal with it. And you have to add a new one every time someone hands one to you

#

It's annoying for organization to have them somewhere else, but a translation on a page for that translation means the translator's the guy getting any reports of problems

tidal stone
#

midnight were you the one who made the misc tilesheets

ornate locust
#

That's me

tidal stone
#

your a godsend, i legit JUST ran into the need for backward couches

teal bridge
#

The whole system is a mess, really. Having a list of translations attached to the mod, with explicit authors, is a really good idea. The way it's actually implemented, with translations being entirely separate mods, is crap.

ornate locust
#

Yaaay I'm glad it's useful!

tidal stone
#

im gonna do them last because im p sure i have to write a content patch to use it right? and idk what that would be ✨ or would that be a pathing thing?

teal bridge
#

If it were just a simple lightweight list of JSON files, author names (with or without links depending on whether or not they're willing to be notified) and language codes, that the original mod author could add or translators could submit for approval (like user-submitted images) then that would work beautifully.

rancid musk
#

I also wish there was a better, native way for SMAPI to load external translations instead of having people drop a json file inside my mod's folder. I know Shockah made a mod for that before, but it should be a core feature. Like a content pack, but translation pack.

ornate locust
vernal crest
# candid stratus If I make a room of which no furniture must be interacted with, do I just make t...

Furniture that's part of the map is just like any other tile, though there might be some tile object properties you could add to some things to give them functionality. The only one I can think of off the top of my head is action kitchen. You can also edit data/chairtiles to make things sittable, though that's based on tilesheet so if you're using vanilla tilesheets and put a bench or chair into your map on the buildings layer it will be sittable. Be wary of flipping furniture tiles for this reason, I had some very weird behaviour when I flipped the saloon booths.

tidal stone
#

ooh ok

teal bridge
#

Probably SMAPI having any different way of loading the translations would require an entirely separate distribution system from Nexus's. Like its mod compatibility database.

ornate locust
#

PNG, sorry. JPG, showing my age

vernal crest
#

I am actually leaving now!

teal bridge
#

(JPG does still exist. Just not for game tilesheets.)

ornate locust
#

Oh yeah, of course, it's just not an adviseable format to use anymore because of artifacting

rancid musk
teal bridge
#

I mean, for photos it is still the de facto standard, people don't enjoy getting 4K png files.

#

4K, what am I saying, more like 30 MP.

teal bridge
proud wyvern
teal bridge
#

You want to distribute your own translations with your own mod, you literally can't even do that anymore, need to make them content packs. Lot of overhead.

ornate locust
# tidal stone ooh ok

The steps with the PNG copying are basically just so you can see it in Tiled btw. My mod already loads the tilesheet and makes the chairs properly sittable and such.

rancid musk
teal bridge
#

Yes, but it's a bifurcated (or tri-furcated) system and the part of the system that makes them entire mods is the weakest part.

rancid musk
#

We can't really design a translation system around hypothetical Nexus features that don't exist.

teal bridge
#

Taking that weakest link and making it the dominant paradigm is... ick.

ornate locust
#

you're gonna have to take that up with Nexus, yeah

rancid musk
#

And I doubt Pathos wants the smapi server costs to go up to host translation files in a centralized place.

#

Though I think it'd be hella neat if we just had like one big weblate instance or something

teal bridge
#

No, it's not something to take up with Nexus, it's something to not do in SMAPI because it makes a bad system worse, makes it harder for every mod author who gets a translation submitted to them as a non-mod which is more than half of all submissions.

tawny ore
#

I wouldn't want any feature to specifically be tied to any NexusMods functionality. I know they're considered to be the sole option for SDV modding, but I don't want to grant them that unrivaled power.

brittle pasture
#

I feel like we're having two different conversations in here

ornate locust
#

maybe three

rancid musk
brittle pasture
#

anyway I think loading all of your strings into Strings/ is an option

rancid musk
#

To prevent manual installation steps

#

I'm pretty sure I have seen someone pipe their i18n through game content before lol

#

Don't remember which mod it was

brittle pasture
#

yeah it's blueb's LOC

tribal ore
#

What happens when the original mod author add more lines of dialogue to an existing mod? I'm assuming that screws with translation mods

brittle pasture
#

main problem is probably not every part of the game supports tokenized strings

tawny ore
#

missing translations just default back to whatever is in default.json

teal bridge
#

It does. Same thing that happens with any other product with an i18n cycle, they remain untranslated until translations get updated.

shadow pagoda
#

bumping this

teal bridge
#

Which itself is fine, except that there is no cycle to speak of in the Nexus model.

tawny ore
#

A decent enough solution probably doesn't have to be much more complicated than doing what PF does as a mod, but baked into SMAPI

teal bridge
#

No way for translators to get notified of any updates to the content, no way for other folks to take over if the translators just did a one-shot deal, etc... as I said, broken.

tawny ore
#

PF is able to load i18n, it doesn't require fluent translations

#

Also, I think a well-supported translation deserves to be rewarded for their efforts. So I have no problems with them being content packs.

#

Like translating is a job that people do for money. I don't think it's fair to undervalue their work.

teal bridge
#

How does making it a content pack reward them better than they already are by releasing the JSON?

ornate locust
#

On the other hand, people pump out ChatGPT translations for the DP too

tawny ore
#

I'm just saying, I don't see the problem with their work being hosted as a mod.

calm nebula
#

Do people pumping out chatgpt translations make....anything worth writing home about

#

I just can't get mad at people doing a lot of work for, like, literally $5

ornate locust
#

It's an AI translation, define "a lot of work"

teal bridge
#

That wasn't really my point. Nexus was lazy, instead of coming up with an actual translation system they shoehorned it into the mod distribution system, and that causes all kinds of negative externalities. Like I said, the idea of crediting and rewarding translation authors is great, making their work visible is great, the actual implementation of it is garbage.

tawny ore
#

Low effort trash should be treated as such, while faithful translations that take the time and effort to produce quality work should be rewarded

rancid musk
ornate locust
tawny ore
#

Like my stuff is easy because it's all config options, but if you're translating hundreds of lines of dialogue, that's a shit ton of work

ornate locust
teal bridge
#

Take it up with Nexus or don't, I just don't think Nexus's crappy system should be backported into an API standard.

brittle pasture
#

once again I feel like ppl are discussing two different problems here
I don't give less of a crap about Nexus, SDV mods could be hosted on Google Drive for all I care
from a purely technical standpoint I like separate content packs for translations to minimize drag and drop file replacements

teal bridge
#

Nexus can use Nexus's system, that doesn't mean SMAPI should have its own system based exclusively on it.

ornate locust
tawny ore
#

I think you (@teal bridge) are the only one making translations about Nexus

rancid musk
teal bridge
#

No, that's the broader implication here. Content packs are mods. "Translation content pack" is based on the notion of "translations as mods" and that's the problem, that's Nexus's bad decision, not a good standard.

tawny ore
#

If you forget about Nexus for two seconds, I don't care if Translations are Content Packs are mods.

rancid musk
#

I want SMAPI to be able to load content, what that content is called by Nexus shouldn't be relevant to the discussion.

teal bridge
#

If you forget about Nexus then the idea makes no sense. Why would you want that?

tawny ore
#

Because of all the reasons mentioned

ornate locust
#

I feel like this started at "Nexus handles this badly, I wish it didn't" and now something else has kicked in the door and I have no idea what topic 2 exactly is

tawny ore
#

Maybe scroll back up a bit and respond to the suggestions rather than the "Nexus Bad"

teal bridge
#

I already did. More than half of translations are informal or private submissions.

#

Codifying it into a content pack system is far more often going to be a pain in the ass than a benefit.

#

And it's adding yet another process to an ecosystem in which there are essentially 3 competing processes.

tawny ore
#

How so? Other than it is?

rancid musk
#

I would like SMAPI to be able to load translations in a way similar to content packs so that:

  1. There is a logged record that "this file, external to the original mod, is being used" as opposed to people messing with the files I distribute
  2. It being easier for users to install, since they just unpack it to their Mods folder same as anything else
  3. There being a version associated with the translations, since they would have a manifest, so there could be proper update checking and the like and outdated versions could be noted in logs as an issue.
halcyon prawn
#

Hi! Can I make some questions about mooding?

ornate locust
#

Informal submissions seem like the real pain in the ass. Being handed a file I can't understand, now any questions about it go to me

ornate locust
halcyon prawn
#

Thanks!!!

#

I have a friend who is a fan of Stardew Valley too, so we thought about making a mod for the game, since we both draw and have experience writing, but I couldn't find any help for making new content packs

#

Like, new characters, places, that kind of things

calm nebula
#

!npc

brittle pasture
#

have you read through the content patcher guide?

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:

halcyon prawn
halcyon prawn
rancid musk
#

Now that the conversation has cooled, let me just say that I appreciate that people care about this game and also translation enough to argue about it so much.

brittle pasture
#

It's just an example
Content Patcher allows you to edit any data the game loads, that includes inserting new characters

tribal ore
# halcyon prawn Thank you!

Good luck, Naiara. The best way to learn is by giving it a try. If you come across issues following the guides or get hung up on something, people here will help you

brittle pasture
#

and yeah the NPC guide is good

halcyon prawn
#

😮

#

Good I am so dumb

tidal stone
#

where are doors on the tilesheets

halcyon prawn
tidal stone
#

or is dooor object

halcyon prawn
#

My friend is so much better than me with technology so I will surely need it

#

Do you have any advice?

ornate locust
tidal stone
#

zOH i found the salooon doors and i see what you mean

ornate locust
#

Yeah here's an interior door I did on a map

tidal stone
#

do doors go on the object layer?

ornate locust
#

The bottom part is on Buildings and the top part is on Front

halcyon prawn
#

For people who had made some mods by know. How hard did you find it?

ornate locust
#

And then there's the tiledata there that has Door as an action

tidal stone
brittle pasture
#

SDV modding is very much on the accessible side of things

#

(ie compared to modding other games)
that's not to say there's not a learning curve

ornate locust
#

And THEN on Map Properties, you do Doors [<int x> <int y> <string sheetID> <int tileID>]

tidal stone
#

its way easier than modding some other stuff i think at least

ornate locust
#

so you need those three parts to hook up a functioning interior door

tidal stone
#

jeez doors are gonna make me cry aint they

sour sleet
halcyon prawn
#

So I'm a bit scared, not gonna lie

halcyon prawn
#

Thanks for answering to me, really

ornate locust
#

It did feel a bit like I was going "door, this is a door, here is where the door is, door" when I was hooking up that door

ornate locust
#

EXACTLY

tribal ore
tidal stone
#

dang nabbit ive lost the door

ornate locust
#

the tilesheet experience

halcyon prawn
#

So I might cry a lot

#

Buuuut I want to try anyways

tribal ore
#

And mine is mostly dialogue and events, though I added a little custom art/music/map stuff

halcyon prawn
#

OOOH! Can I ask about how is it going?

ornate locust
tidal stone
candid stratus
#

speaking of being overly ambitious, I'm planning on making multi-phase boss fights LOL

halcyon prawn
halcyon prawn
candid stratus
halcyon prawn
#

That's the guy of the prison mod

#

Aaaaaaghhh I can't remember his name

halcyon prawn
faint ingot
#

Russell? Yes, that's my mod.

halcyon prawn
#

Really?

faint ingot
#

Truly

halcyon prawn
#

It was your mod the one who made me want to make my own!!

tidal stone
#

thats how i feel when you guys say stuff

halcyon prawn
#

I can't believe it

faint ingot
#

omg I have a fan, squeeee

halcyon prawn
#

Yeeaaaahh

faint ingot
#

If it helps your enthusiasm I literally started modding in like, November. Law and Order is my first and only mod.

tidal stone
#

it is truly always cool to see so many talented mod authors in one place

halcyon prawn
#

Sorry, Russell was sooooo cute

ornate locust
#

SWEATS And you got it out that fast??

halcyon prawn
candid stratus
#

I'm gonna speedrun

halcyon prawn
#

Can I ask what did you use to make the mod?

brittle pasture
#

!software

ocean sailBOT
faint ingot
# halcyon prawn Do you plan to make more?

So far I view L&O as like where I put everything I want to change about Stardew. I have more planned for it, but so far I haven't wanted to change anything that wouldn't fit in my expansion.

tidal stone
#

with an i18n is it possible t have multiple possible lines of dialogue for a specific day or event so that it feels more freshw ehn you talk to a character

ornate locust
#

(by the way, I SWEAR I started the sheriff i am working on before your mod came out and was very surprised by it)

brittle pasture
tidal stone
#

:0

ornate locust
# faint ingot sorry

Oh it's fine, I'm just self-conscious about putting out a sheriff mod after someone else's LOL

tribal ore
# halcyon prawn OOOH! Can I ask about how is it going?

Sorry just saw this. I would say that it's going well, especially after taking the break. I'm spending a lot more time than I expected on debugging schedules and fixing little bugs. Trying to polish things up before I'm satisified enough to publish it. But I'm ... 98% of the way done now?

ornate locust
#

Seriously though, that's so fast, even accounting for losing my gallbladder in the middle. You can really book it

faint ingot
candid stratus
#

I think my problem is gonna be that I'm making such an unrelatable mod that I'm probably gonna do a lot of things that haven't been done before so I'm gonna be on my own hahaha

faint ingot
#

I work quickly when I feel the inspiration. sometimes I get stuck in a rut though

halcyon prawn
tribal ore
tidal stone
#

i did a count on how many npcs i have planned for my expansion and its like 27

ornate locust
#

RIP

tidal stone
#

its gonna take me awhile 😭

halcyon prawn
#

I love Stardew valley but at the same time it has so much potential

#

And I want to make these new characters and places

ornate locust
#

ngl I'm making one and it's low-key suffering. Mainly the events are intimidating

candid stratus
#

I only have to make 1 character luckily but I'm gonna have to make her fight monsters alongside the player so that'll be interesting

tribal ore
halcyon prawn
#

Because like, the world could expand infinitely

ornate locust
#

Oh you may want to look into Trinket Tinker

#

I know some people are doing sorta adventuring friend stuff with Trinket Tinker

halcyon prawn
tidal stone
#

also while amny of them will be marriable not all of them will be for the expansion stoiry feel like i have planned a young newlywed couple that just got their first home and are nervous and excited about starting a life together and i want to make some cute cutscenes on the farmer occasionally spotting them on a date or something

faint ingot
tribal ore
ornate locust
candid stratus
halcyon prawn
tribal ore
#

I recommend doing them incrementally. Copy an existing event and cut out everything but the first little bit. Then modify and test that part by itself

#

After that, add more stuff in. Bit by bit

ornate locust
halcyon prawn
#

Thank you so much!

tribal ore
#

No worries. Feel free to ask questions here. If I'm on, I'll try to help

#

If I'm not, someone more qualified will help you, I'm sure xD

ornate locust
#

I did a whole Trello while procrastinating on starting events

halcyon prawn
#

🥹

#

My savior

#

Oh, do you use some kind of specific format for the art?

#

The sprites and that stuff

tribal ore
ornate locust
#

Me writing: many event ideas!
Me getting to logistics: AAAAAAA

candid stratus
#

trello.. now that's a word I haven't heard in a long time

tidal stone
#

mail framework is used in order to have an nopc send mail to the player right

halcyon prawn
ornate locust
#

It's nice for organizing all the stuff I need to do

tribal ore
tribal ore
ornate locust
#

The image itself does not need to be a particular size, but you want it divisible by 16

halcyon prawn
#

Okay! Thank you so much

tribal ore
tidal stone
#

i cannot find how to make doors on maps clickable for a warp into the house

halcyon prawn
#

There are vanilla tiles or something posted? Or any canvas with 16x16 does the trick?

halcyon prawn
tidal stone
#

interior door stuff i fidn exterior door stuff i cant, anyone know where to look for that i cant find it on the maps wiki so it might be called something and im overklooking it

rigid musk
rigid musk
#

there's Action - > Warp and then LockeDoorWarp

tidal stone
#

how to make warp a click

rigid musk
#

Action Warp if you don't want it to be friendship based

#

on the buildings layer

ornate locust
#

Action Warp, yeah.

tidal stone
#

ok ty ty

rigid musk
#

liek this

native hare
#

Are vanilla tiles 16x16? Or

rigid musk
#

yes

native hare
#

K thanks

ornate locust
#

If you want a closing time, you'll want a LockedDoorWarp instead, you can find examples of those on the town map itself

rigid musk
#

(also done with an Action tile on the Buildings layer)

ornate locust
#

And those don't have a map property for "Doors"

#

that's just for inside doors

brittle pasture
ocean sailBOT
#

Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!

brittle pasture
#

when in doubt, structure and size your images exactly like the game's assets

brittle pasture
#

see the governor message above

tidal stone
#

do i need a content patcher code to go with that?

rigid musk
#

you can technically do them via CP but doing it on tiled you dont need a content patcher section

#

(you can do either or)

tidal stone
#

ooh ok

#

if tilesheet mod updates i assume i need to update my mods tilesheet usage as well

#

(midnight just updated their tilesheet)

uncut viper
uncut rune
#

Oh, you right. I misread the Nexus page

ornate locust
tribal ore
#

@Button!! I've been waitint to ask you a question about BETAS.

tidal stone
#

ok i just wanted to make sure

uncut viper
#

you're always welcome to ping me! i lurk a lot. but feel free to ask

ornate locust
#

and I just added stuff, so if it needs updating, it'll do it fine

tribal ore
#

BETAS/RelationshipChanged/WeddingSeason <-- is this parsed from the save data? Or do you have another way of making this happen?

#

Also, is this stored per NPC?

faint ingot
tribal ore
#

I have an anniversaries mod out right now. I use conversation topics as timers to keep track of time. It would be much nicer to use a token

uncut viper
#

its parsed at runtime, its stored in the Friendship data

#

its also not a token, so it isnt usable in CP for conditions and such

#

inside the games internal Friendship data it stores for each of your relationships there are properties that hold your wedding info which is where i grab that from, which doesnt exist if you dont have a wedding or never did with them, and its only ever grabbed when needed for that trigger (so, for RelationshipChanged, you can only use it when they have just gotten engaged, married, or divorced)

tribal ore
#

I can use it to set flags, no problem. Mostly I need to know whether or not this stuff would work for an existing relationship.

tidal stone
#

ok im evidently doing these warps wrong

uncut viper
#

the RelationshipChanged trigger would likely not be helpful to you as there is no way to store data, only check it

tidal stone
#

can someone walk me through it a little more on doing warpps with tiled if they can

uncut viper
#

however, BETAS does have GSQs relating to weddings and anniversaries

tribal ore
#

Oh?

halcyon prawn
#

I really apreciate it

uncut viper
#

i dont know exactly what it is you are doing or would attempt to do in your mod, so these may not actually be super helpful to you, but they exist

tribal ore
#

Does Anniversary_Today give the NPC as a return?

uncut viper
#

thats not what a GSQ Does

#

a GSQ is only ever a true or false question

#

they never return anything else

tribal ore
#

Ok fair, dumb question xD

faint ingot
# halcyon prawn Than you so muchhhh

YW, also, I think I said earlier I started modding in November? And now I actually don't know why I said that/where that came from. I checked and it was more like last Summer. Didn't mean to set unrealistic expectations. Things take time.