#making-mods-general

1 messages Ā· Page 382 of 1

round timber
#

hmm how many wips do i have... i guess it depends on what you call a wip

torpid sparrow
#

I have five not including my existing mods that have wip updates

twin wadi
#

(I know but I started relatively recently compared to you guys SDVpuffersquee)

true coyote
#

It's blueberry! Hiii

round timber
#

i have 8 wips though im not actively working on most of them right now

proven spindle
#

I've got 4 plus a few mod updates I need to make to existing ones

steep cairn
#

new here and not sure if this is the right place for this question. What is the easiest way to change the world date (to like summer 1, for instance)? I am pretty confused on whether I need a mod, or I can do it with chat cheats, or something else

round timber
#

if youre asking from a player perspective #modded-stardew would be better, but CJB Cheats Menu is probably the easiest way of doing what you want

patent lanceBOT
gleaming cave
#

Is there a simple way to reorganize how items appear on the collection pages (shipping, cooking, etc.)? I'm working on a mod and the new items/recipes default to appearing ahead of vanilla items. I was hoping to adjust the order, but I'm having a hard time finding information on how.

uncut viper
#

nope SDVpufferthumbsup

calm nebula
#

What is your spritesheet name

#

Where did i park

#

Where am i

brave fable
#

on that note, i wish it was easier to reorder special items/powers entries, but it's not a list so everything just goes in insertion order

uncut viper
#

fun fact blueberry, you saying that a little over a year ago is literally the reason i made Special Power Utilities

calm nebula
#

Times flies when you're having fun

uncut viper
#

also spritesheet name doesnt matter at all why did you ask that atra

calm nebula
#

It does! For shipping

#

Doesn't for cooking, I think cooking just hates moss or smth

uncut viper
#

it literally just grabs Game1.objectData.Keys

gleaming cave
#

My spritesheet's just named Objects.png. How does it affect the order?

calm nebula
#

Yeah but doesn't it sort by spritesheet name to put 1.6 items later

#

(I found my car)

uncut viper
#

no

#

the only thing it sorts is flavoured items

#

or things that can be flavoured

#

i.e. wine, pickles, jelly, juice

#

i take it back, i do see the orderby now

#

ill be honest, i just wasnt expecting to see orderby in ILSpy

#

in that case you can make them appear before all 1.6 items or after all vanilla items but you won't get any more granular than that

hard fern
#

Doesn't it sort by ID...? šŸ¤”

uncut viper
#

by tilesheet and ID yes

#

but you cant insert between two vanilla IDs

#

unless you wanna fuck up all of springobjects

#

more accurately, it sorts by spriteindex on the spritesheet

humble timber
#

the thought of that is certainly. something.

#

SDVpufferclueless surely fucking up the order would work fine

uncut viper
#

it just happens that spriteindex lines up with spritesheet from when IDs were ints

#

lines up with ID*

humble timber
#

out of curiosity, to any of yall who do map stuff. how do you normally go about planning maps... im about to just sketch this out in a sketchbook or something, lmao

brave fable
#

sketch, draft with flat colour and no detail, plop in single sprites for important things and walkways, detail, iterate, reiterate, reiterate, remake, reiterate,

calm nebula
#

Go hiking. Look at a tree irl

tender bloom
#

Mashing together existing maps

#

Lots of editing

hard fern
#

My map designs come to me in a dream

humble timber
#

lol

brave fable
#

don't even think about foliage and cliffs until you're 250% satisfied with the actual map layout and travel times

humble timber
#

okay that's fair yeah

#

...
oh god im gonna have to test vanilla walkspeed eventually

brave fable
#

a lot of people seem to start with edges/outlines for cliffs and whatnot, which i've always seen as a massive waste of time and a roadblock to reiterating the design/layout

hard fern
torpid sparrow
#

i just block things out on a test layer

brave fable
#

imo beginning with blocks/silhouettes is just as important in maps as it is in objects and buildings

torpid sparrow
#

it looks horrible and messy and then i clean it up until i have a bit of a guideline

hard fern
#

i kinda just take like, a water edge tile or a cliff tile and sketch out the general shape of where i want things

twin wadi
#

Would setting the scale to 0 cause an error for the MMAP TV property?

humble timber
#

might try a test layer for blocking things out that sounds useful

brave fable
#

yeah layers are your friend. you can just put your big building sprites on a layer each and move them around until they look right

torpid sparrow
#

i think you saw my incomplete map with the huts just making general shapes of my other huts

humble timber
#

thanks for all the ideas. gonna go ahead n sketch some vague ideas and block it out in tiled later

torpid sparrow
#

thats just what i do lol

oblique meadow
brave fable
#

tip: ctrl+mouse2 will select the uppermost tile layer with a tile on the position you clicked at, useful for quickly swapping layers without navigating to the layers panel

humble timber
#

lmao

#

ooh thank u

#

man, tiled is reminding me of when i learned live2d for the first time.. many features....

oblique meadow
#

Making your own farm?

humble timber
#

except not as in depth user manual,

#

at least not for my usecase

torpid sparrow
#

I just realized I forgot about walk times err

humble timber
#

spoiled by l2d

#

Lmao

torpid sparrow
#

Is there a tile to time ratio

humble timber
#

Good q
all i know is it takes like 2h to get from farm to like. the museum/beach..?

#

i might be misremembering

hard fern
#

I made my maps beeg... Im just going to do something to make the player faster lol ..

brave fable
#

good question, but i haven't bothered thinking about it, since maps are generally fairly winding without a clear linear route from A to B (and players are going to want to go to DEFGH before they even think about B)

oblique meadow
#

I’m going to start putting land mines in my farm maps. Like just one or two. But if the farmer steps on them… BOOM

#

now to figure out the coding…

calm nebula
#

There is a tile to time ratio and no i don't know it

torpid sparrow
#

Oh wait I meant for NPCs but that would also be no I suppose

uncut viper
#

its usually just slower than you need it to be when you wing it

#

source is trust me

torpid sparrow
#

Thank you šŸ¤

tiny zealot
#

all i can tell you for sure is in events at default speed, NPCs take 500 ms to move one tile (move or advancedMove)

twin wadi
#

Mod testing is off to a great start. It won't even show up in the Stardrop list of mods. SDVpufferpain

twin wadi
torpid sparrow
#

is there something wrong or are you just confirming

brave fable
#

it's standard for your first version to be 1.0.0

torpid sparrow
#

the actual folders look fine to me but yeah ^

brave fable
#

version 0 would be for something that doesn't exist

twin wadi
#

ik it was just a placeholder while it's a wip basically, i did that for my other mods and it worked?

torpid sparrow
#

(did bot maintenance just get a role icon? or have i just completely missed it for all this time)

twin wadi
torpid sparrow
#

i dunno about stardrop tho

brave fable
#

stole my pants

twin wadi
#

I'll try changing it to 1.0.0... justttt in case

torpid sparrow
#

could say youve been pantsed

twin wadi
#

OHHH it's because I was just copy pasting from another wip and forgot to change the id SDVpufferjelly

#

this just proves that i really do need sleep...

calm nebula
#

Pls

#

Sleep

#

Modding will be here tomorrow

twin wadi
#

no

gentle rose
#

evidence you need to sleep GooseBonk

calm nebula
#

Happy birthday, iro!

twin wadi
#

um instead of sleeping i added some configs! woohoo! except they no work sad
can anyone tell me why smapi mad at me SDVpufferpensive
json: https://smapi.io/json/content-patcher/48e212a2c3b141bfb79deacc1ca1eb0c
(cuz im using the stardrop console on mac workaround, the log doesn't appear in ErrorLogs... sorryyyyy!!!!)
this is the error though:
[Content Patcher] Ignored I Need Sleep - Awesome Radio Mod > Add furniture data: Entries > '{{ModId}}_Radio' value is invalid: '{{RadioColor}}' can't be used as a token because that token could not be found.

lucid mulch
#

that error doesn't match the json you posted

twin wadi
#

oop wait i mustve hit ctrl+z

round timber
#

also you can use a config as a token, so setting up the dynamic token with it isnt strictly necessary

twin wadi
#

hmm i was thinking how to like, go from "gray" to the index "1" and vice versa for pink

twin wadi
lucid mulch
#

did you patch reload when adding the dynamic token?

#

as dynamic tokens (and config) doesn't reload iirc and needs an actual restart

twin wadi
#

oh... lemme restart SDVpufferwaaah

#

um, good news, smapi isn't yelling at me. bad news, the config doesn't change the color.... SDVpuffersweats

torpid sparrow
#

what time is it for u sugar

twin wadi
#

its only 9:21pm... but idk if its the depression meds or something but ive been sleepy all week SDVpufferpensive so okay i am really sleepy so i will sleep SDVpufferangy

brave fable
#

back again with more silly maths SDVdemetriums given a point P at d distance along a line T-O, how might i position P1 and P2 at the respective pink circles (s distance from P at 90deg/270deg relative to m)

#

simple trig i'm sure but i want to eat lunch today

#

P1 and P2 are blue squares, P is red square, O is middle of click

#

goal is to position blue squares in pink circles

lucid mulch
#

given a unit circle, sin(A) is the y coordinate of a line intercepting the circle from origin at angle A and cos(A) is the x coordinate

calm nebula
#

That clock is upside down

humble timber
#

i
what is happenitn in here

#

im scared

brave fable
#

also note that goal positions aren't following the curvature of the clock (ie. distance P1-O is not equal to distance P-O)

#

they're strictly relative to P instead of O

gentle rose
#

nope SDVpuffersquee

calm nebula
#

I would be more helpful if my phone wasn't telling me to go to sleep by going into greyscale

#

So I literally can't see

brave fable
#

thank you for trying

lucid mulch
#

my trig brain wants to say tan is the answer

twin wadi
lucid mulch
#

but if you dont want stuff to follow the circle anyway, trig is kinda out the window anyway

gentle rose
#

give me a second I need paper for this SDVpuffersquee

lucid mulch
#

though I guess if you have P1 and P and know S, you should know enough info to infer the missing coordinate

brave fable
#

i don't have trig brain, so i wouldn't know how to apply tan in this case. i'm going to go out and buy a banh mi while the class works through the exercise 😌

gentle rose
#

time to reearn my maths degree

brave fable
#

just imagine all the career opportunities opened up once you've solved for P1 and P2

lucid mulch
#

you know all the angles of the triangle and 2 points so should be enough

#

I just cant remember which operation gets back the coordinate again

#

life is easier as its right angle triangles

#

treating it as vectors, s as a vector going from P to P1 would be - large X, + small Y (-30.1, +7.55)
and you want to move that vector clockwise, which changes (x,y) to (y, -x) so the (-30.1, +7.55) becomes (-7.55, -30.1)
add that to P and that should get you that top circle of ~ (108.26, 218)

bottom circle is a counter-clockwise 90deg rotation so (x,y) becomes (-y, x) so its (+7.55, +30.1) for the bottom circle of ~ (123.36, 278.2)

gentle rose
lucid mulch
#

I blame blueberry overlaying this on top an intersection with a circle, and having a bunch of extra info and doing the example on an annoying angle.

the problem is so much simpler when you delete T, O, d and the background circle and just want P1, P2 relative to P to be rotated

gentle rose
#

(yes s should be 32 in that graphic as far as I can tell)

#

from the coords given

lucid mulch
#
P1 = (85.71, 255.65)

P = (115.81, 248.10)

X = P - P1 = (30.1, -7.55)

Y = P + X' = 115.81 - 7.55, 248.10 - 30.1) 
Y = (108.26, 218)

Z = (115.81 +7.55, 248.1 +30.1) = (123.36, 278.2)

was my working out

#

and yes I transcribed P wrong which is why my numbers are off slightly but the process is fine I think

#

mixing math brain that wants positive Y going up, to blueberry's numbers where Y goes down also hurt my head a bit

gaunt orbit
#

x = c.x + cos(a)*r + cos(a + 90°)*R

  • c is centerpoint
  • a is angle
  • r is radius of main circle
  • R is 1/2 distance between the two target points, or the dist of the target points from the center line.

Obviously convert degrees to rads and use sin instead of cos for y

#

At least I think that should work

#

And then for the other side you'd do the same but minus 90 instead of plus 90

tender bloom
#

This is why it should be two cosines

gaunt orbit
#

Basically you just need points on a circle that's offset by the point on another circle

tender bloom
#

Hard to draw on the right place, but basically to get x, y coords you just need to break down your triangles here

#

AKA i think wren has it

lucid mulch
gentle rose
#

fun fact: this can be done without any trig in the final equations

lucid mulch
#

as the points of Top circle, P1, p is making a right angle triangle of angle 45deg

#

and once you agree its 45deg and tan=1 a lot cancels out

gentle rose
lucid mulch
#

I personally do find the comedic irony in Sin(Z) using the vector approach instead of the sin() and cos() approach

gentle rose
#

anyway without using any trig:

Q = (T-O)/|T-O|
P1 = (-sQ.y+dQ.x,sQ.x+dQ.y)+O
P2=(sQ.y+dQ.x,-sQ.x+dQ.y) + O

#

where |T-O| refers to the distance between T and O ofc

gaunt orbit
#

Linear algebra, fancy

gentle rose
#

is it? SDVpufferthinkblob

lucid mulch
#

well its not exponential

gentle rose
#

this is probably just what sinz wrote but applied to the general case tbh

lucid mulch
#

yes

#

and in more programmy syntax over math

gentle rose
#

but did you make a fancy graphic on desmos making sure it works? SDVpuffersquee

#

that's because I entered it on desmos before doing this haha

lucid mulch
#

I only use desmos to graph the probabilities in runescape these days

tender bloom
#

Somehow my brain just clicks better for vectors, but I automatically mentally ascribe them to being sin and cos? Too many free body diagrams warping my brain

#

But I also considered trying to build the rotation matrix version

#

Just too lazy to remember the format

gentle rose
#

fancy desmos video showing it in action for moving T

lucid mulch
#

At least when you think of vectors as mini triangles with rise/run y/x values, instead of as angle and magnitude

gentle rose
#

these were my horribly written workings out (with like three mistakes in them)

#

it’s terribly written in this case but that’s how I approach problems like this haha

brave fable
#

ok i've got my banh mi what is going on here

gaunt orbit
#

Vector math

lucid mulch
#

see I took advantage of the fact that blueberry already had points P1 and P2 on the line and used them as part of the solution rather than defining P1, P2 from scratch in the desired locations

gaunt orbit
#

Sadly my grasp of linear algebra is not very good

gentle rose
tender bloom
hard fern
#

Banh mi sounds yummy

lucid mulch
tender bloom
#

I sort of wish I had a banh mi right now, but it’s also bedtime

#

It’s probably the right answer, even!

brave fable
#

this is ctf_face levels of nerdsniping. absolute nerd warfare

tender bloom
#

Given that multiple people got the same answer

#

That’s the motto by which I grade homework

#

(Jk, but I do keep tabs on it)

gentle rose
#

I love throwing stuff in desmos. I even make 3d wireframes in 2d desmos

hollow dust
uncut viper
brave fable
#

finished my banh mi and the solutions worked exquisitely

#

went with trig in the end despite the brain problems

#

beloveds

hard fern
#

So was banh mi the solution all along

brave fable
#

banh mi is a fine contender with pizza for thoughtful & healthy balanced meals

gentle rose
#

when you release this I'm going to harmony patch it to use my method /j

lucid mulch
#

I'll harmony patch your harmony patch to make it do my method

#

the harmony patch arms race is for silly spiteful things like this

brave fable
#

write your method in valid c# and i'll use it SDVdemetriums

#

wonder which if any ends up more performant. probably the linear algebra

hollow dust
lucid mulch
brave fable
#

unfortunately, this is not valid c# SDVpufferpensive

bleak spade
#

Can you make custom trees go transparent when you walk behind it, like with normal SV trees?

#

Preferably using Tiled

lucid iron
#

Just make custom wild trees

#

As in add them via Data/WildTrees and everything

gray bear
bleak spade
lucid iron
#

New json or no unimportant, need to add an EditData patch

gray bear
#

i uhh have been trying to fix my mod so it plays well with overgrown valley but, after resizing and doing, many other things is seems like the issue is overgrown valley loads when u start the save but tsp loads, the day after

#

resetting the trees with rtf doesn't fix it either, so i'm guessing i'd need to talk to lune?

lucid iron
gray bear
lucid iron
#

Your case looks like overgrown valley is just doing its patches later regardless

gray bear
#

nah other way around, trees were there before stall spawns

lucid iron
#

Yeah then do that for safety

gray bear
#

i will take a look at market stall

lucid iron
#

Also consider the betas traction that clears terrain features

gray bear
#

from a certain area?

gray bear
lucid iron
lucid iron
gray bear
hard fern
#

A square is a special type of rectangle

gray bear
#

u aren't wrong

#

i haven't modded in like years my brain is mush

#

and idk about adding yet another depend

hard fern
#

I misread that as fish

bleak spade
#

I've made two custom maps for the town and the forest, and as an experiment I changed the season to Fall

On the town map the tiles have changed to autumn, but the Way Back Pelican Town tiles haven't loaded

gray bear
#

if it was a fish perhaps it would swim around and i could brain

bleak spade
#

But when I go to the next screen my custom Forest map still has the spring tiles, but autumn trees - and the Way Back Pelican Town tiles are there

gray bear
#

uh,,,

#

see u only changed those maps to fall

#

which means the game still thinks it's spring

#

i think? hmm

#

unsure how way back handles it

bleak spade
#

I've slept and the Town mod still has the vanilla buildings

gray bear
#

wonder if there's a conflict

lucid iron
#

ill reiterate what im suggesting for clarity

bleak spade
#

What's annoying is that it didn't do this before, but I've messed with something

hard fern
#

Hm do you by chance have the vanilla tilesheets still in the folder?

bleak spade
#

In my mod folder? No, but I only have the Spring tiles in there. Maybe that's it?

hard fern
#

Yeah

obtuse wigeon
#

Yep that's probably the issue, I did that a couple times with the same issue

lucid iron
#
  1. pure vanilla solution, do an unconditional editmap on the part that need sushi stall and remove all tree spawning path tiles, it gets trickier if there is also the tree spawning map prop though
  2. BETAS (a framework) has a traction that behaves like RTF but you call that and it applies on just one rectangle (x y width height)
  3. Tell people to use RTF, but again you still need to do the map prop fix
gray bear
#

oh wait.

#

how would i go about doing the first thing?

lucid iron
#

Have a no sushi stall version of the tmx

#

Again you gotta figure out what's making the tree grow n make sure they are not there on game start (i do not know since i haven't looked)

hard fern
#

The trees on overgrowns maps are all on paths šŸ¤”

#

Ok well i can answer the first one in more detail methinks.

#

It's harder when i have no visuals but

#

Wait hmm editmap via content patcher or tiled

#

Maybe i shouldn't try and answer this when im tired

azure hound
#

overgrown was a personal project that i released to the public, so tbh i didn't take into consideration literally any expansions that i wasn't using sweat

hard fern
#

hi lune

azure hound
#

hihi RaeWave_GIF

#

but you're right, the trees are placed with paths

hard fern
#

While you're here, is it alright that i kinda munched on the cliff in the forest to patch my map into šŸ˜”

#

That area above the mastery cave

azure hound
#

if you want to make mods compatible, feel free to do literally anything!
i was so overwhelmed with the potential mods i would have to patch that i just chose not to do anything in the end sweat

lucid iron
hard fern
#

Oops. Oh well šŸ˜”

lucid iron
#

pelican real estate market continues to be terrible

hard fern
#

If that ever becomes a problem for future me I'll just. Worry about that in the future if i have to

gray bear
gray bear
azure hound
#

hello!! RaeWave_GIF i'm so sorry i'm not much help! overgrown was my first time ever using tiled, so i also don't really have the skills to create patches admittedly kermitShy

#

i'm just a clothing gorlie idk what the heck else i'm doin'

gray bear
#

yeah me neither, no worries

hard fern
#

Ok well at least for the tiled version i just took a chunk of the area i wanted to patch over, slapped my stuff on it, then editmapped it back in

lucid iron
#

remove those tiles in ur patch

gray bear
#

i have removed everything

#

in my patch

#

it's just the stall

#

or do u mean i need to edit overgrown somehow sweats

hard fern
#

You don't need to edit overgrown no

gray bear
#

my map experience starts and ends in cropping a part of a vanilla map and putting a tilesheet in

hard fern
#

what days is sushi lady at her stall again

azure hound
#

i'm not sure if this helps, but for overgrown i didn't really change a lot of the map. i just added bits to it, for decoration
the vanilla map should fit into that section, so the problem should just be the paths/trees

gray bear
#

tuesday and saturday

#

i don't know how i'd make my map patch remove the paths & tree

hard fern
#

oh

#

i see the problem

#

give me like

gray bear
#

t_pray ty forsy

hard fern
#

Also: the size of your patch rn will result in a tree being directly in front of your stall

gray bear
#

oh?

#

whys that

hard fern
#

Even if the tree inside it is removed

gray bear
#

should i shrink it down

hard fern
#

tree number 3

gray bear
#

oh no

#

should i make it bigger then,,,

#

gosh darn tree

hard fern
#

I think you can use content oat to yeet that one tree

gray bear
#

?

hard fern
#

Sorry, typo

#

Content pather

#

Patcher

opaque field
#

If implementing a 'dreams/dreamworld' system would it be better to have it use OnDayStarted or OnDayEnding?

hard fern
#

Hmm šŸ¤”

#

Can you elaborate

opaque field
#

I'm trying to create a little system that adds "dreams" for the player when they go to bed (some of the maps are interactive where they can move around but not all of them)

#

but I don't know if it would be better for it to go off right before the day starts or right as the day 'ends'

unreal spoke
#

Probably the latter, right? From a user standpoint, anyway.

opaque field
#

that's what I was thinking but, I wasn't sure

#

C# and hooking into stuff like that is fairly new to me, but I thought a dream system could be neat T.T

#

you get a little witch's eye in the mail after you meet the wizard for the first time and it unlocks the chance for dream appearances of a 'dream world' you can explore or 'dreamwalk' into the dreams of other people

dusky sail
#

if it wouldnt add too much difficulty id add a config option so the player can choose whether to do it at day end or day start

brave fable
#

it'll be before the game fades in again, so provided you didn't just load the save you'll go fade-to-black -> summary screen -> saved -> nightmare

opaque field
#

ooooh, that's really cool! I like that.

brave fable
#

pretty sure you'll need C# to be in a walkable location though, took me a while to figure that out

calm nebula
#

It's not much c#

opaque field
#

That actually works great since I'm trying to use this to flex my C# muscles

brave fable
#

the mod's here if you want a quick playtest to see how it ends up, you'd just type debug ebi Custom_blueberry_H2024_1 in console to play the first event, or just set the date to fall 2 and go to sleep

lucid iron
#

Hm what if you just morning event warp the player to a location

#

And the location itself has a exit warp to bus

brave fable
#

sounds alright if you can block time from passing and you want them to have a full inventory

lucid iron
#

Dream caused me to oversleep

brave fable
#

i only needed them to be able to walk and collide with walls for the halloween maze dreams

#

which was surprisingly impossible with pure content

opaque field
#

I can imagine! Currently the dreamworld has one little place to run around, but there's a little event you get with a "welcome to the world of dreamwalking." and then you can explore the zone all you want and when you want to return (ideally) you go to the warp spot and boom you're in the farmhouse

#

like with the day starting at the usual time

brave fable
#

minor hitch: warps don't work while in event locations

cold marsh
#

Is this the correct way to edit an existing shop's dialogue without deleting everything else? I can't tell if I'm supposed to target one layer deep into Dialogues or if this works { "Action": "EditData", "Target": "Data/Shops", "TargetField": ["<shopID>", "Owners", "None"], "Priority": "Late + 100", "Entries": { "Dialogues": [ { "Id": "<dialogueID>", "Dialogue": "<dialogue>" } ], }, },

opaque field
#

hm. well maybe I'll designate the witch's eye as a warp totem? or make a warpout totem?

brave fable
#

minor hitch: you can't access your inventory in event locations

opaque field
#

oh geez. right

#

ty, I'm gonna go do some more reading/research and go from there

brave fable
#

yeah i stepped on all these rakes last year hahah

#

you really do just go from one rake to another, to another, to another

#

i'm sure there's better solutions to the same rakes though, i threw this together in a couple days for the halloween contest deadline

hard fern
#

this removes two trees, one inside the stall, the other right in front

#

the grass is still there but it's just grass

#
            "Action": "EditMap",
            "Target": "Maps/Forest",
            "MapTiles": [
                {
                    "Position": {
                        "X": 49,
                        "Y": 73
                    },
                    "Layer": "Paths",
                    "Remove": "true"
                },
                {
                    "Position": {
                        "X": 49,
                        "Y": 76
                    },
                    "Layer": "Paths",
                    "Remove": "true"
                }
                
            ],
            "When": {
                "HasMod |contains=lune.overgrown": true,
            }
        },```
i just stuck this little bit of json into it
#

(you have no reply @ so im just gonna hope you find this later)

opaque field
violet valley
#

Hey guys! Does anyone know how to fix the message showing up when i go to my TouchAction door thingy? (I dont know what to call it) It just says "It's locked..." I'm using the Adventurers Guild monster slay quest door thing as a place holder.

hard fern
#

uh

gray bear
hard fern
#

o

gray bear
hard fern
#

oki

violet valley
#

if someone responds i may not respond im going afk

hard fern
violet valley
brave fable
#

could you try with Strings/1_6_Strings:guild_door instead of the \\\\ version?

violet valley
#

yeah

#

thats just how it was in the adv giuild

#

*adv guild

brave fable
#

also, is your LockedDoorMessage tile object on the Back layer specifically?

violet valley
#

yes, is it not meant to be?

#

srry i havent modded in a minuite

#

minute

brave fable
#

yep, it's meant to be on Back

violet valley
#

ok. it still says "It's locked..."

brave fable
#

yeah checking out the code it looks like it'd give you a bad string if the value didn't lead to a translated string, which means it's just not identifying your tile property at all

violet valley
#

how do I fix it?

#

do I use i18n in some way?

brave fable
#

depends how you broke it SDVdemetriums

violet valley
#

oh

#

k

brave fable
#

nono, the text doesn't matter. it just doesn't see/care about your tile property

violet valley
#

ohh

gentle rose
#

can you send your map file? maybe we'll spot something in it

violet valley
#

yes

#

the thing im trying to fix is at the bottom

brave fable
#

odd, it looks right SDVpufferthinkblob

violet valley
#

Hmm

brave fable
#

interesting that the adventureguild map has both the Buildings Action LockedDoorMessage and Back TouchAction LockedDoorMessage on the same tile

violet valley
#

That's odd

brave fable
#

i guess it stops one player from opening the door and another from walking through after

violet valley
#

Oh

#

I'm confused is that why it's not working?

brave fable
#

nope, it's just that they also have a physical door, though the touchaction code looks like it should behave fine without one

#

too late at night for me to work it out though

violet valley
#

Ok

calm nebula
#

And you get the channel tk do late night trig

#

I still don't understand what you were trying to do

violet valley
#

Me?

calm nebula
#

Blueberry

violet valley
#

Oh

gentle rose
calm nebula
#

Now that I'm awake I think bluebs wanted a parallelogram

brave fable
#

it's all very simple

hard fern
#

Geometry

gentle rose
#

@cold marsh moving here so we don't clog the 1.6.16 thread, but Owners is a list of entries. You can specify multiple NPCs and/or a ClosedMessage

#

(btw, feel free to ask here if you aren't sure if something works!)

gentle rose
brave fable
#

trashion SDVitemtrash

calm nebula
red egret
#

When i want to upload a new mod, how do i determine the update key when i haven't got the mod id yet?

calm nebula
#

You can start yhe page and then add the modid

red egret
#

So it would be an immediate update

gentle rose
iron ridge
#

so you can just add the mod id before uploading your first file

vernal crest
#

It's not public until you publish it

iron ridge
#

but you still get a mod id

torpid sparrow
#

take it from the url

gray bear
#

also anyone know of a way to remove the grass actually

round timber
#

i assume you mean from an author perspective instead of player? in that case BETAS can do that

hard fern
#

Also the grass is also just on paths

gray bear
#

šŸ˜•

hard fern
#

I didn't remove it because it wasn't actually an obstacle, and it's easy enough for the player to scythe it away. You could add a few extra blocks of json removing each tile of grass if you want

gray bear
#

how do the MapTiles thing work

hard fern
#

It's on the content patcher documentation

gray bear
#

alrighty, will go look

hard fern
#

I don't know enough to really explain it properly.... I just copied it off of another mod i made

#

With the maptiles thing you can also remove that extra tree

gray bear
#

i see, ty

#

will experiment further

red egret
gray bear
#

am fixed

#

still many tree but def better. ty again forsy

gray bear
ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 20 C# mods and 3 content packs.

gray bear
#

(please ping me if u know)

delicate smelt
#

hello everyone,i need help,theres a weapon in my mod,i wanna this weapon has cascader,bug killer,and vampire enchant when get it,and when use this weapon,combat level+5,how to write the code?

fair locust
#

Well, I was originally planning to wait until I reached perfection on my current save before I started writing mods... but the inspiration and excitement about modding is starting to really hit hard. I still want to make progress in the actual game, and I don't want all my SDV freetime to go into modding, but idk how reasonable it would be for me to successfully split my time between the two and do both things at once. Idk, we'll see ig

hard fern
#

Such is the cheeto curse

opaque field
#

I feel personally attacked by this.

fair locust
#

lmfao

#

I mean... do you at least enjoy it?

opaque field
#

I’ll start to play and then I get ideas or me and someone were talking about how you want character expansions but none of the ones you find are exactly it so you make it but then you hate your own writing after reading it so many times. So you don’t wanna play with that either šŸ˜‚šŸ˜‚šŸ˜‚šŸ˜‚

#

Always worth it

#

I love it so much

#

It has brought me immense amount of joy. I finally got my blueberry cream cheese recipe to work in my machine

fair locust
#

ayyyyyyyyyyyyyyyyy!

opaque field
#

Right??! Now I can just copy and paste until I’ve made as many unholy concoctions as I can think of

fair locust
#

i know it's entirely plausible that i will sink waaaaaaaaaaaaaaaaaaaay too many hours into modding.....

hard fern
#

I have 2k hours on aseprite im pretty sure

opaque field
#

Only after 6 months am I just now finally finding a decent balance.

hard fern
#

Only 1.5k on stardew

fair locust
#

asperite? is this something i should know about?

opaque field
#

It’s a pixel art program for the pc that people use šŸ™‚

hard fern
#

Im always using it for something mod related lol

opaque field
#

SAME. Ok except kinda halfway to make an animation but the animation has Shane in it so it counts imo

fair locust
#

ahhhhh. i don't currently plan on making anything that would require me to make art. art has never really been one of my strengths

#

at least one of my former ideas is officially Lost To The Void

hard fern
round timber
#

did you mean to post this here? either way, we've got a rule on english only text/images

fair locust
hard fern
#

Oopsie

fair locust
#

For those of you who do somehow do manage to strike a good balance between modding and playing - how????

#

Okay, Apple’s new AI autocomplete can seriously die in a hole

brittle pasture
#

fun fact, most dont

#

cheetos not playing the game is a meme for a reason SDVpufferwaaah

hard fern
#

šŸ˜”

#

Youd be hard pressed to find one who plays the game on a regular i bet

tender bloom
#

I mostly remember to play the game because I play with my husband

#

So I guess my hot tip is to get married to someone who likes playing stardew

fair locust
tender bloom
#

I never promised helpful advice SDVpuffersquee

fair locust
#

well then - how much time do you all dedicate to your mods?

tender bloom
#

At the moment, not very much. When I was very active, several hours a day but not every day

fair locust
#

i have plenty of freetime currently, i'm a student but only part time, it's just a question of how i use that freetime...

tender bloom
#

Covid was a great time for never leaving the house and making tons of mods

hard fern
#

Considering i think about them in my sleep, time dedicated to brainstorming is included šŸ¤” so probably the majority of my time.... SDVpuffersweats

#

I will admit i have way too much free time on my hands though

tender bloom
#

Honestly, i think making mods is a more fulfilling use of time in some ways, because you learn new things and stretch your creativity. Playing the game is fun too and it’s good to have some activities that give you a break from thinking really hard. Where the balance between these two lies depends on a lot of personal factors.

patent lanceBOT
tender bloom
#

It’s hard to fit in a lot of mod making time around a full time job for a lot of people, so I think a lot of people here are students or dip in and out depending on how life is going or have some other situation in life

#

Noooo Atra is quoting me

#

Or they’re inhumanly good at things, like pathos

fair locust
#

Personally, part of the reason I'm interested in modding is because I'm already involved in tech. I'm a computer science student and eyeing jobs in data. I want to get some more experience in actually making things and stretching those muscles a bit. And when I think about things I would want to make... well, I have a few standalone ideas, but since I love stardoo so much, why not try my hand at making mods?

patent lanceBOT
tender bloom
gaunt orbit
#

farm maps r hard

#

so much has changed since the last time I did one. There's a lot of new tiles and my standards have gone way up

hard fern
#

Number one reason im never making one SDVpuffersweats im impressed by everyone who does

gaunt orbit
#

Kisaa is a fucking wizard with maps

calm nebula
#

CA made a bunch of really nice bridge tiles in 1.6

#

(Well. Someone on the team.)

#

They are nice regardless who made them!

reef siren
#

Are there any mods that utilise TemporaryAnimatedSprites within their cutscenes/events? I need to use one but before I make my animated sprites I wanna try and figure out how they work :00 best way is often just looking at pre-existing code I feel

tender bloom
#

I have a TAS in my Fireworks Festival event but I used C# to define a new event command for it

#

The game itself uses some TAS but again some of that is hardcoded

reef siren
#

Ah darn hmmm

tender bloom
#

TAS is both an event command and a whole bunch of C# code

#

The event command exposes the same options as some but not all of the C# code

reef siren
#

So hmm… say I wanted to make a character like lay down horizontally, but show them actually getting there is TAS even the way to go???

calm nebula
#

Use a temp actor

#

Those can be arbitrary sized

reef siren
#

Ah I avoided that initially as it confused me haha! So Temp actors can work with the animate command then? :0

round dock
#

Can I ask an extra pair of eyes to assess if my trigger actions are coded correctly? So, an event is triggered once the player reaches certain milestones and when they do, a prompt is fired once they arrive at their farmhouse at 7pm or later asking the farmer w/n they want to "read" or start the event. The player has the option to watch the event "later" and I've attempted to code my trigger actions in such a way that if the farmer reaches all conditions and chooses the latter option, they can still get the prompt the following day and the event is marked seen once they picked the first option ("read"). However, upon playesting, two events which are supposedly marked as "seen" after choosing the read choice are replayed again the following day.

round dock
#
            "LogName": "Grandpa's Intro Letter",
            "Action": "EditData",
            "Target": "Data/TriggerActions",
            "Entries": {
                "{{ModId}}_GrandpaIntro": {
                    "ID": "{{ModId}}_GrandpaIntro",
                    "Trigger": "DayEnding",
                    "HostOnly": false,
                    "Condition": "!PLAYER_HAS_SEEN_EVENT Current {{ModId}}_GrandpaRead",
                    "MarkActionApplied": false,
                    "Actions": [
                        "MarkEventSeen Current {{ModId}}_GrandpaIntro false"
                    ]
}```
gentle rose
round dock
#

(hi)

gentle rose
#

(sup)

gentle rose
round dock
#

AH

#

SO THATS WHY

#

(i will refrain from greeting you for one day as a sign of gratitude)

brittle pasture
#

you can also try button's map fixing tool thing

bleak spade
#

I'm getting this error, does anyone know what it means?

#

[game] Location 'Forest' ignored path tile index 34 (spawn tree) at position Static Tile Index=34 BlendMode=Alpha because the tile has no 'SpawnTree' tile property.

royal stump
#

(or rather, paths tile 34 specifically does, 9-12 and 31-32 don't*)

opal tendon
#

when it comes to larger objects like furniture how do you do the coordinates like the cat perch in furniture_3?

#

(for content patcher)

#

maybe I understand actually

#

I will try

#

nvrm I don't understand

hard fern
opal tendon
#

unless I do? you just break each "square" up?

#

have to do each squares coordinates?

#

like part 1, 2, 3, etc of the piece?

hard fern
#

No

opal tendon
#

okay

#

I don't understand at all

hard fern
#

The sprite index is based off the top leftmost tile of the texture on your spritesheet

brittle pasture
#

instead of patching a 16x16 square you can patch 32x64 or whatever sizes

hard fern
#

(wait are you not making new furniture)

opal tendon
#

no I am editing

#

coloring over

hard fern
#

Oh ignore me

opal tendon
hard fern
#

Wait also you're looking at the wrong page

round timber
#

if youre recoloring you shouldnt have to worry about sprite index right? šŸ¤”

opal tendon
#

well shit

hard fern
#

You're reading the page for making new furniture, so i got confused

opal tendon
#

no wonder its not working

#

no wonder Im confused

brittle pasture
#

(I recommend using an editor that has a grid settings + show coordinates for selection)
(GIMP for example has this, which is so convenient)

opal tendon
brittle pasture
#

(you literally just select a rectangle and it tells you the xy coord + size)

round timber
#

aseprite has something similar!

hard fern
#

All you need is the coordinate of the very top left pixel of the texture if you're just patching a spritesheet. using the marquee tool + snap to grid will get you the right area so you dont have to do the math

opal tendon
#

like this? but maybe better

round timber
#

youre also selecting parts of the other furniture

hard fern
#

You're a few pixels off

opal tendon
#

but better

round timber
#

then yes

#

if you fix the box it should be good

opal tendon
#

like this

#

what numbers are what

#

183:188 xy thing?

round timber
#

seems like it

opal tendon
#

and then [this is height and width]?

round timber
#

i dont think so because that would mean the sprite is over 400 pixels tall

opal tendon
#

oh

#

hmmm

hard fern
#

Yeah something is wrong

opal tendon
#

darn

hard fern
#

That sprite is only 32x48

gentle rose
#

are you using photopea?

opal tendon
#

Piskel

gentle rose
#

I wouldn't really rely on online editors for most of this kind of thing tbh

opal tendon
#

oh ok

#

what was that free alternative to asperite

round timber
#

libresprite?

opal tendon
#

maybe I will try that

#

now is that right

round timber
#

have you upscaled the image?

tiny zealot
#

(C#) do farm animals ever jump? i finally figured out why the physics are different when throwing them with tater toss, and it's because in their draw code they double the y jump offset for secret reasons.
does anyone know if it might cause unforeseen problems if i fix this by un-doubling it?

brittle pasture
#

I think swimmers do a lil leap when entering/exiting water

gray bear
#

this is why me and tiled are getting a divorce

brittle pasture
#

!gs @rose flint

ocean sailBOT
brittle pasture
#

wait wrong command

#

!startmodding

ocean sailBOT
#

Making mods can be broadly divided into two categories:

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

gray bear
#

ty selph for linking (did take a few tries to get the correct one, discord be damned) and button for saving me once again

brittle pasture
gray bear
#

are bushes also paths,,,

brittle pasture
#

think so yes

rose flint
#

thanks so much

gray bear
#

what r u

#

guess not a path

gentle rose
gray bear
#

i am listening

gray bear
#

do you happen to know how i can remove a bush with cp as well or is this a solve one problem thing

#

v cool ty

gentle rose
#

this is a "make tilesheets just work in tiled" thing

delicate smelt
gray bear
#

v helpful if i ever get brave enough to map again

#

otherwise im just kinda e_think

uncut viper
#

bushes are generated via paths

tender bloom
# gray bear what r u

I think this one is either the smallest bush from Paths or the extremely similar bush that's just a static bush off the tilesheets

uncut viper
#

once a location has been made and saved the bush is now a terrain feature

#

and no longer changes with the math

#

the map

tender bloom
#

you can have fake bushes and real bushes on the same map

uncut viper
#

i blame someone for that typo

gray bear
#

blame me im easy to blame

tender bloom
#

if you shake the bush does it rustle?

gray bear
#

betas seems very cool button but another dependency ,,,,h

gray bear
uncut viper
#

well then you have no other options

#

there is no other way to remove a terrain feature via CP once it has already been generated on the map. you will have to tell your users to install and use Reset Terrain Features, a different mod, to do so

#

or just deal with the bush

gray bear
#

i see

#

thank u

fair locust
#

i need y'alls advice... i do have programming experience, just no modding experience. should i start with a simpler mod that will be easier to make as a nice entry point to modding, or should i start with a more complex mod that i'm more passionate and excited about?

uncut viper
#

depending on what your idea actually is, you might not need anything that is typically considered programming and can maybe just use content patcher

#

so it may be easier than you expect

brittle pasture
#

third option: pick one simple task from your idea and implement it as your first mod

fair locust
#

yeah, i'm aware of that too. i don't know for sure whether these ideas will require real "programming" or not

uncut viper
#

neither do we until you say it so its hard to give advice SDVpuffersquee

fair locust
#

yeah, that does make sense

uncut viper
#

many people have many different definitions of what is a complex mod vs a simple mod

#

and often times what people think is simple is actually complex to do and vice versa

fair locust
#

"complex" for me means multiple features, configurable options, and a bigger to-do list for things i want implemented

tender bloom
#

configurability is often pretty easy to add

uncut viper
#

the "features" in question are what id be curious about to really be able to give advice

gentle rose
#

it would help to know what the actual idea you have in mind is

tender bloom
#

a little tedious if you want a ton of options but often not complicated at all

lucid iron
#

Complex is not as important as have fun

fair locust
#

Gotcha

uncut viper
#

goodbye march

fair locust
#

Thanks guys

gray bear
#

so,,, i am now using betas. im assuming if i wanna remove a bush that just a bit farther than the stall i just increase the range

uncut viper
gray bear
#

im going to defeat that bush. thank you 🩷

gentle rose
#

button have you considered turning your map fixer into a tiled extension? they're literally just a js script

uncut viper
#

i have

blissful panther
#

*repeats Stardew Tiled extension suite idea*

uncut viper
#

a Tiled script cant eventually tie into my tutorials though where i explain what the errors were/how to read them/how to prevent them

gentle rose
#

hmm

it sort of can? it can have very flexible popups with those explanations

gray bear
#

why,,, is my goddamn letter not sending

delicate smelt
round timber
#

postal service is on strike sorry

uncut viper
#

iro i made an entire site with custom everything for my docs for my mods and tutorials. do you really think i want just a pop-up

blissful panther
gray bear
#

i didn't edit itttt

#

who stole my mail

tender bloom
gray bear
#

i also think im bad at math

gentle rose
blissful panther
#

C++ extension it is, then! /j

tender bloom
#

but I am not up on the latest 1.6 weapons stuff

uncut viper
#

also my site can accept as many maps at once as you wanna throw at it, will make backups of them all, you can selectively apply the fixes, and you can do this from anywhere as long as you can upload the .tmx
also, the output looks cooler

gentle rose
#

yeah it only exposes QtQml

gray bear
#

maybe i need to reset terrain

#

consider the bush was there before?

blissful panther
#
"2": {
  "Name": "Dark Sword",
  "DisplayName": "[LocalizedText Strings\\Weapons:DarkSword_Name]",
  "Description": "[LocalizedText Strings\\Weapons:DarkSword_Description]",
  "MinDamage": 30,
  "MaxDamage": 45,
  "Knockback": 1.5,
  "Speed": -10,
  "Precision": 0,
  "Defense": 0,
  "Type": 0,
  "MineBaseLevel": -1,
  "MineMinLevel": -1,
  "AreaOfEffect": 2,
  "CritChance": 0.04,
  "CritMultiplier": 3.0,
  "CanBeLostOnDeath": true,
  "Texture": "TileSheets/weapons",
  "SpriteIndex": 2,
  "Projectiles": null,
  "CustomFields": null
},

This is the entry to a sword that has vampiric by default.

#

Since there's nothing in the data, it's probably just done in code.

gray bear
#

bush gone! mail back t_pray

#

grass does look a bit weird with overgrown but i suppose i can make a seperate recntangle so it only doesn't spawn inside the stall

#

is grass a C# class type

opal tendon
uncut viper
delicate smelt
blissful panther
uncut viper
#

do note that in 1.6.16, whenever that may be, you will actually be able to spawn weapons that come with enchantments pre-applied

opal tendon
#

do I need to do something special here to make sure its the right size?

#

(in libresprite trying to figure out how to do furniture from earlier)

#

and or can someone help me with another way to figure out how to replace the cat tree

gray bear
#

cat tree?

opal tendon
#

yes this

#

in the square

gray bear
#

oh!

shy harbor
#

What's wrong with it? /g

gray bear
#

which file are you editing?

opal tendon
#

I cannot figure out its coordinates

#

to use with content patcher

gray bear
#

im unfamiliar with libresprite but uh. when u hover ur mouse i believe it's the number next to the + at the bottom

#

what you need is the start of it (upper left corner) and end of it (lower right corner) so it covers the entire object

opal tendon
#

oops

#

I @

#

sorry

gray bear
#

it's alright

#

if there is an option anywhere to show a grid that'll help

#

but every one of those squares is 1x1 in height and width

#

so it's 2 width 3 height

shy harbor
#

You might just be able to do the top left corner coord and then specify the height and width with it (That's what I did when replacing item textures)

opal tendon
#

now I got grid

#

ohhhh

#

do I do 2 and 3 x 16 still?

gray bear
#

nice! it's easier to see what size it is now

#

nope, that's only for x and y. 2 and 3 is good

opal tendon
#

and then is my mouse in the right spot for the coordinates does it matter?

uncut viper
#

are you trying to edit the texture itself? you do need to multiply by 16 if so

opal tendon
#

yes

gray bear
#

you need the coordinates for the edit.

#

yeah for the texture what u i usually do is select the entire object, copy it and then paste into a new document

uncut viper
#

(the coordinates are not multiplied but the width and height will be, to clarify)

opal tendon
#

okay

#

and is the coordinates right based on where my mouse is?

#

or would I move it one pixel over or

gray bear
#

so here

#

the coordinates i want is the red one. it needs to be at the edge of the selection

#

i swear there was a way to make selection stick to the grid to make this easier, i forgor it

blissful panther
#

(Shift +S!)

opal tendon
#

do I need to add anything else?

shy harbor
#

Maybe I need to be using that software for stuff, the alternating color squares seems really useful lol

gray bear
#

ty DH! unsure if that works in lib as well but if it does it helps the selection

gray bear
opal tendon
#

I thought Button said to multiple by 16

uncut viper
#

2 and 3 would be incorrect

#

the textures are not 2 pixels wide and 3 pixels tall

shy harbor
#

I think it goes by singular pixels, not groups of 16

gray bear
#

oh

uncut viper
#

if you were editing the Furniture data there might be a place where you use tiles instead of pixels but idk furnituredata

gray bear
#

ah i was confusing that with map edits, sorry!

gray bear
opal tendon
#

perfect ty!!

tiny zealot
#

(transpilers) hey friends what is the CodeMatcher/CodeMatch incantation i need to match this instruction: ldloca.s 0?
i can't compare the operand (object) to 0 directly (won't compile) and my attempts to cast it die at runtime:
new CodeMatch(i => i.opcode == OpCodes.Ldloca_S && (byte)i.operand == 0), gives
---> System.InvalidCastException: Unable to cast object of type 'System.Reflection.Emit.LocalBuilder' to type 'System.Byte'.
similar casts have worked for float arguments in other patches so i'm ready to believe operand is simply the wrong approach to check for 0 on this instruction

uncut viper
#

do you specifically need to match 0 to prevent matching on a different ldloca.s?

tiny zealot
#

yes, but i can probably widen the match if necessary to avoid this particular problem

karmic gust
#

I'm having trouble editing the warp into Elliott's house. I've added a locked door warp from the beach, but it's still warping the farmer to the original warp location, and I'm still able to exit through Elliott's house original warp despite editing that warp as well (in both the map properties in tiled as well as a patch in the json)

Here is the json file (relevant lines start on 319):
https://smapi.io/json/none/25281ba90e444852832972697427720c

#

and here is the map properties for Elliott's house

#

I feel like I'm missing something probably obvious but I'm not sure what

uncut viper
#

&& i.operand is LocalBuilder builder && builder.LocalIndex == 0 or smth

#

alternatively does new CodeMatch(OpCodes.Ldloca_S, 0) not just work

proud wyvern
#

please don't match by local indexes

red egret
#

Why do people write
"FromFile": "assets/{{TargetWithoutPath}}.png"
when it works just the same when i write the file name there?

uncut viper
#

because you can put multiple targets in that same patch

round timber
#

^

uncut viper
#
"Target": "MyAsset/One, MyAsset/Two, MyAsset/Three",
"FromFile": "assets/{{TargetWithoutPath}}.png"

this will load One.png, Two.png, and Three.png all at once to their relevant assets

gentle rose
red egret
#

oh for more pictures

uncut viper
#

not just pictures

tiny zealot
red egret
#

right

#

thats clearer now, ty

proud wyvern
karmic gust
#

aaaa I'm dumb. I set the warp condition to having read the house upgrade letter, rather than just having it

gentle rose
#

isn't that true for everything with transpilers? /gen

uncut viper
#

an entire transpiler can also easily need changes between game versions, so when the game is not undergoing rapid iteration i just consider it an acceptable cost of writing a transpiler

#

(that said, i do usually avoid using the index if i can avoid it)

proud wyvern
#

also Harmony/MonoMod is dumb and sometimes will just let you mismatch a type for a method you call, and suddenly you get garbage in your parameters

#

this could lead to silent errors if you're matching by local index and the locals change

uncut viper
#

(actually apparently ive always avoided it, the one time in my github i see that its not avoided is... not even mine. its a fork lol)

proud wyvern
#

best case scenario it throws AccessViolationException, worst case it continues as if nothing happened but the logic gets wrong

gentle rose
#

oh is that one of the sources of the random harmony AVEs? interesting

gaunt orbit
#

I use contextual matches when possible but sometimes there's just not enough context to match without hardcoding

tiny zealot
proud wyvern
#

i usually match by local variable types, it's usually good enough

uncut viper
#

(/j)

tiny zealot
#

well, it's possible i beefed it in some other way cause i got a different runtime crash which probably means it didn't match

gaunt orbit
#

Also last time I mismatched parameter types I ended up with fun things like an EngineExecutionException or we it's called

tiny zealot
#

so either i need to redo my match list anyway or it didn't match the instruction

proud wyvern
#

could it be done better? maybe

tiny zealot
#

i'm indifferent, tbh. the nature of transpilers is that you inherently depend on the existing contour of the function, so like button/iro said i consider breakage on game update to be a fact of life

proud wyvern
#

i just prefer to know that my transpiler didn't match, instead of having to test every single one on an update

#

i have too many mods, and in turn transpilers i rely on in them, to do it otherwise
...which probably might be a reason NOT to use Harmony for everything, but i still feel that's better for mod compat

red egret
#

I need to find a mod that changes overlays on demand, to study. i want to make pictures and want the player to be able to choose the frame colour from GMCM, is it possible?

tiny zealot
#

you could have a dropdown with a bunch of specific choices but i don't think GMCM has any kind of color picker widget, if you were imagining free-form

red egret
#

no, there are premade colours

tiny zealot
#

you could throw something together with like RGB sliders and a swatch but you're getting into complex widgets for that

red egret
#

or frame types

#

not that much freedom XD just to pick between white/blue/gold and plain/decorative for example

#

also those would apply to all pictures of that kind in the house, huh?

rapid pond
red egret
#

i was looking at yours, viki, but i need something different, i think. yours has all the frames in one pile and mine are in a grid and just 1 will be chosen from a particular spot (like when i do furniture)

#

and ideally those would be tiered, like
choose blue/pink/green
and another dropdown would choose shade 1, 2, or 3

#

im boiling my brain how to do this XD

lucid iron
#

Just make separate furniture tbh

red egret
#

all the combos? there would be hundreds

steady idol
#

Hi, does anyone know a mod for random items or any other drop and crafting?

lucid iron
#

Isn't it just 9

#

Or ig you are just give example yggy

#

Anyways config tokens is the correct approach here just let people pick from drop down

#

Being in a grid doesn't matter since you just editimage

red egret
#

ok i will try to look up info on that

balmy valve
#

why schedule dialogue not showing up on schedule day

#

wai hangon

balmy valve
#

fixed it >:D

opal tendon
#

how do I make my CP mod into an AT mod?

uncut viper
#

you'd have to rewrite it as an AT mod, they're two completely separate formats and functions

opal tendon
#

how does AT work?

#

I can't find a wiki for it

lucid iron
#

What is the mod you are trying to AT

opal tendon
uncut viper
#

the Nexus page for it would be a good place to start as it has a link to it's GitHub wiki

opal tendon
#

perfect ty

brittle pasture
#

(biased opinion but I would have just made those separate furniture items from the vanilla cat trees)

opal tendon
#

that sounds easier maybe

brittle pasture
#

[[Modding:Furniture]]

brittle pasture
#

EditData, target Data/Furniture, insert your entries

opal tendon
#

I am confused

brittle pasture
#

it is quite long admittedly, there are probably example mods on Nexus you can reference

#

the basics for furniture adding (or any mod that adds new stuff to the game) is the same: You use EditData, target a game asset, and insert a new entry into it

#

the only thing that differs between adding furniture, or NPCs, or machines, or mail, or maps, is what asset to edit and the shape of the entry you insert into it

brittle pasture
#

it didn't help the last person I sent it to but maybe it could help you

opal tendon
#

wait

#

theres still something I need to change oops

#

instead of color tho maybe I would insert the color and do it over and over per color?

brittle pasture
#
  1. the first field should be {{ModId}}_fairycatperch instead of {{ModId}}/fairycatperch. this is because furniture data considers the slash to be a field delimiter. it should be identical to the key too
  2. cattree is not a valid type, change it to decor
  3. yeah you can add all 4 variants instead of using a {{Color}} token, just align them side by side in the sprite sheet and then use the correct sprite index for each
#

otherwise looks good

opal tendon
#

is it better to do {{color}} or each color?

brittle pasture
#

one last thing: in the image load you loaded your texture into a texture named {{ModId}}_fairyperch, the texture field of furniture data must be that as well

#

ie. change {{ModId}}\\fairycatperch to {{ModId}}_fairyperch

opal tendon
brittle pasture
#

think so, feel free to test by spawning an instance in CJB item spawner or the furniture catalogue

#

(ignore everything I just deleted I misread my own guide)

opal tendon
brittle pasture
#

can you post your code again

opal tendon
brittle pasture
#

you didn't change the texture field at the end of the string

latent mauve
#

It's looking for {{ModId}}/fairycatperch right now, but that's not what you loaded to.

opal tendon
#

the what

#

oh

#

I had it written that way twice aparently and fixed only 1

#

hmmm

#

now is it good cause same error?

latent mauve
#

Your last field in your furniture entry should be {{ModId}}_fairyperch, I think?

opal tendon
#

oh

latent mauve
#

(Sorry to crash your conversation, Selph)

opal tendon
#

same error

latent mauve
#

I'm gonna count your fields, gimme a minute.

twin wadi
#

sorry to interrupt, but shouldn't there be two more fields at the end often left blank?

brittle pasture
#

they're optional

twin wadi
#

ah okay

#

(disregard that SDVkrobusgiggle)

latent mauve
#

do you mind putting your json in the validator?

#

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

latent mauve
#

Field count seems okay from what I can tell, though

brittle pasture
#

did you make sure to reload and spawn a new instance of the item

latent mauve
#

oh, good call

opal tendon
brittle pasture
#

!hotreload also for your convenience

#

!reload

ocean sailBOT
#
How do I reload my changes while I'm still in game?
  • Content Patcher pack: enter patch reload <your_mod_id> in the SMAPI console window. This will reload and reapply all your patches (but won't recalculate the ConfigSchema or DynamicToken sections if you use them).
  • Translation files: enter reload_i18n in the SMAPI console window. If it's for a Content Patcher pack, also run patch reload afterwards.
  • C#: see the Visual Studio hot reload or Rider hot reload feature.
uncut viper
#

(i feel like hotreload should be an alias for that command)

opal tendon
#

oh I guess I didn't hit save 🄲

#

Im so used to the old one autosaving

urban patrol
#

also, are you intending to only offer one color at a time?

opal tendon
#

I have 4 colors

urban patrol
#

yes i know, but do you want people to be able to have multiple cat trees of different colors at the same time

opal tendon
#

someone asked for AT but then Selph said I could make them a standalone thing so I thought maybe that was easier

brittle pasture
#

yeah one step at a time

urban patrol
#

okay because right now you only have one texture

#

oh sorry i didn't know you weren't there yet

opal tendon
#

it has the same error and this time I realized it also says this

brittle pasture
#

oh yeah delete the token and just load the file name exactly

opal tendon
#

one sec let me figure out what a token is again

brittle pasture
#

token = {{color}}

latent mauve
#

things in {{ }} are tokens

opal tendon
#

perfect ty

#

just repalce it with one of the colors?

brittle pasture
#

yeah

opal tendon
#

IT WORKED

#

and I think I know what to do

#

right right?!

brittle pasture
#

you need to pick a different Target for each file

opal tendon
#

oh

brittle pasture
#

and use that Target name as the texture field at the end

opal tendon
#

so the bottom one do that for each one but different?

brittle pasture
#

alternatively you can merge them into one tilesheet and change the sprite index

opal tendon
#

and or numbers instead of pink

brittle pasture
#

the key (the part before the colon) and the name (the first field in the value) must be unique as well

#

also you can merge them into one Entries dict

opal tendon
#

like this?

brittle pasture
#

(I gotta run real quick)

#

but yeah like that (assuming the texture name match)

violet valley
#

Is there a way to make an event only trigger if you've been to a certain area? Sorry I'm new to modding events lol SDVpufferclueless

torpid sparrow
#

Ermmm mayhaps HasVisitedLocation?

violet valley
#

Ok

#

I havent modded events before so thats probably a dumb question

torpid sparrow
#

You should look at the content patcher documentation

#

See what can be done under ā€œWhenā€

violet valley
#

Yeah i was abt to. Just was clarifying

#

Ok

latent mauve
#

Could potentially use the GameStateQuery event precondition, combined with the GSQ for PLAYER_VISITED_LOCATION <player> <location name>

violet valley
#

Ok. Yeah was thinking of doing that

red egret
#

how do i get that?

brave fable
#

looks like VSCode with a bracket pairing extension installed

latent mauve
#

VSCode does that by default for me without anything else installed as long as I've chosen the correct language when making my files.

red egret
#

ai code editor??

lucid iron
#

Yeah Microsoft is all in on that

#

You can get vscodium instead, it is the no microsoft flavor

red egret
#

ty

#

awesome, much easier to spot mistakes

rich tapir
#

hi, my warp isn't working in my content patcher mod, from forest to my npc's house

red egret
#

why does it say Comments are not permitted in json?

iron ridge
#

because they're not

red egret
#

i used them so far o.o

iron ridge
#

it's just that the version of json smapi uses allows them

#

!vscjsonc

ocean sailBOT
#
How to make VSCode not scream at json comments

In Visual Studio Code, go to File -> Preferences -> Settings, then search for "associations", and in the "Associations" setting, click the Add Item button to add an item with key *.json and value jsonc (see image).
If you are making a content pack for Content Patcher, you should consider using its json schema so that VSCode can tell you if your patches are valid, you simply have to add

"$schema": "https://smapi.io/schemas/content-patcher.json"

at the start of your content.json file.

rich tapir
lucid mulch
# ocean sail

note doing the schema will also solve the comment and trailing comma screaming, jsonc isn't required

red egret
#

the format is red

#

comma where?

rich tapir
#

okay i fixed the warp but when i walk in the house, i get teleported to gunthers

urban patrol
#

does your map have warps in the map properties

rich tapir
#

huh

#

my map has warps from the house into the forest and the forest into the house

#

wait in tiled

urban patrol
#

did you use a vanilla map as a base? they have map properties you’ll need to look at

#

yes in tiled

rich tapir
#

okay i checked and i removed the custom propertires

latent mauve
red egret
gaunt orbit
red egret
#

ahhh ty! darn commas

crude plank
#

it's missing in the command as well

red egret
#

where?

crude plank
# ocean sail

oh no, i just meant it's missing it the governor's message

red egret
#

oh phew lol

#

it also doesnt like the "FromFile" line

#

i tried the other way and it didnt help

iron ridge
#

what's it saying about it?

lucid iron
#

If it's yellow i think that's a schema bug rn

red egret
#

Matches a schema that is not allowed

crude plank
opal tendon
#

so like the reason my two rabbits mods can't work together is because of this specifically (I think) but what does this texture stuff mean can I change it to something else easily?

lucid iron
#

Aren't these both your mods

opal tendon
#

yes but I edited them from someone elses mod

#

I only edited the texture pixel art

uncut viper
#

i think chu's point is morel ike why do you have two different mods loading to the same target instead of one mod

#

bc thats the issue, not the Texture line

opal tendon
#

oh cause idk how to make it do both at the same time

#

people have asked to use both at the same time

#

but idk how to do that which is what I want to do

#

previously people said I can edit something in the text to make them both work at the same time that's what I am trying to do

#

I need to do it to my cats too but I just had them replacing a cat but someone wants them to be their own thing too

#

is it the same as the cat trees I did earlier?

#

is it the same as making new furniture?

uncut viper
#

im a bit confused, are these two rabbit mods already published, and the issue is when they are installed at the same time? or do you only have two separate mods right now because that is what you were attempting to do to split them