#making-mods-general

1 messages · Page 543 of 1

ornate locust
#

I'm not sure if it's a bug when grass isn't supposed to grow there

elfin parrot
#

I suppose you're right

#

but you can still place it

ornate locust
#

More of an oversight

elfin parrot
#

that is the better term

scenic ferry
#

sobs

elfin parrot
#

damn he flying around

ornate locust
#

But yeah, that's a thing that happens in mods sometimes, where people put grass more freely than vanilla does and you see where the clipping can start if it's on a building layer

scenic ferry
#

absolutely zooming
Which means I should turn the range down i think lol but im more concerned with him not biting anything

uncut viper
#

The game doesn't know what dialogue is modded and what dialogue is vanilla, they all use the same priority rules

#

It has no way of knowing whether the dialogue was added by a mod or not

ornate locust
#

There's this one modded building I always trim grass around because there's this ONE building layer tile the grass gets too close to

#

and it does that

lucid iron
#

or maybe it is the invincibility

#

i recommend just using a timer thing bolb

ornate locust
#

me mowing someone else's lawn like a weird roving HOA

lucid iron
#

it might be something i can improve on framework side i just won't get around to it

tender minnow
scenic ferry
torpid sparrow
#

accidentally deleted my nighttiles and now i might scream

#

i hate daytiles and nighttiles

ornate locust
#

I do still have some residual hate from fighting a lamp post added with SVE

uncut viper
ornate locust
#

for day/night tiles

gentle rose
#

looks good to me idk what you mean

calm nebula
#

That looks awesome!

#

You need to release as "stardew pause screen"

uncut viper
#

I'm sure the modfest judges will love that

calm nebula
#

It doesnt have to be your modfest mod

#

You should just implementation the maze screen saver

lucid iron
#

hm so u can give a pitch to sound

ornate locust
#

It is freeing making a minor aesthetic mod just to get a participation trophy

lucid iron
#

but what is the default

ornate locust
#

no worries about judges, I'm just vibing

calm nebula
gaunt orbit
uncut viper
#

Even with correct winding order, I neglected to realize that I cannot just spin them around a center point because they are, in fact, not actually anchored to that center point

uncut viper
#

Sheeps go baah at like 2000 though

#

All the sounds in Soundboard play at a default 1200

calm nebula
#

Every 100 is a semitone iirc

#

1200 is an octave

gaunt orbit
#

I hate mystery numbers in programming

uncut viper
gaunt orbit
#

this is why I will always believe that audio volume is evil

uncut viper
#

I might be misremembering if you've actually used them or just mentioned them once

gaunt orbit
#

I've used them before yeah

#

the answer is no but there's more to it

uncut viper
#

SDVpufferpensive When I tried to look it up I didn't find much except the CullMode on the rasterizer state which appears to do nothing

gaunt orbit
#

you can't turn it off bc it's not technically culling as far as I understand it. Terraria's solution to this is to just double back on all their polygons

uncut viper
#

Terrible times

lucid iron
#

related question how do u make a sound more quiet

#

the flute very loud

gaunt orbit
#

there's a volume parameter you can set on your cue

#

though I believe doing so means you have to manually apply game volume settings

calm nebula
lucid iron
#

ah ok

calm nebula
#

plays flute

wanton tulip
#

can i use dynamic tokens and config schema in smapi to decide which dialogue edit gets presedence for example

"Name": "mod1", "Value": "Late" "When": "mod1": "true"

and Name": "mod1", "Value": "Early" "When": "mod1": "false"

#

to have it in config to decide if dialogue edit of my mod mod0 take presdence of any other conflicting mod, or that conflicting mod take presdence

#

or is it not possible or is it possible but through different method?

scenic ferry
#

Hey @lucid iron Can TAS animations for Tinker be offset based on the direction (Like AnimClips)? I have a bite animation for my wolf but it looks pretty odd when not in the right direction

lucid iron
#

hm i dont remember implementing anything like that bolbthinking

#

if u want the TAS to conform to the wolf, maybe what you want is just an animclip

#

TAS is usually more for stuff like the wolf bites something and they r now on fire

#

i recommend checking out the cat trinket in this mod

scenic ferry
#

ooo will do!

lucid iron
#

tfw you havent made mods for ur own framework in months and now other ppl are better at it kyuuchan_run

scenic ferry
#

lolol you're all good, its because of you all this cool stuff can exist in the first place!!

uncut viper
tiny zealot
#

you can have your config settings determine whether a patch applies at all, though, so you can either duplicate your patches accordingly or work out a similar solution

shut edge
#

can you have more than one ProduceArea on a map?

#

if so, is it just comma separated?

wanton tulip
#

srry im new to modding stardew lol

tiny zealot
#

well, you can't put a token in the Priority field, so you can't do
"Priority": "{{PatchPriority}}" (where you've defined PatchPriority to be "Early", "Late", etc.)

#

you can get the exact same effect as that if you make n copies of the patch, each one with the desired priority value, and determine which one applies with mutually-exclusive When fields. but i wouldn't recommend it unless you have no other recourse

wanton tulip
#

its cause my mod does a chunk of dialogue edit and a mod i like to play with also does a chunk of dialogue edit and they conflict

#

but thanks

tender minnow
#

i see why my dialogue isnt showing up properly--the seasonal dialogue takes precedence over generic (day)(heart) dialogue. silly me. i just have to edit the seasonal dialogue too then!

shut edge
#

[game] Can't parse map property 'ProduceArea' with value '3 10 17 4, 24 10 16 6' in location 'cryomancer.snesdogs_DogKennel35953c41-fff9-4375-918f-05bc70696e50': required index 3 (parsed > height) has value '4,', which can't be parsed as an integer.

#

ok well it didn't like that then

gaunt orbit
#

it's the comma

shut edge
#

can you just have two areas spaced?

gaunt orbit
#

let me check the decompile

shut edge
#

seems like it's ok with it

#

might be ignoring the second one

royal stump
#

it's a single rectangle, so it'll ignore any further arguments, yeah

shut edge
#

so no multiple areas then? or can you just have more than one map property for it

royal stump
#

just a single area

shut edge
#

dang

royal stump
#

(I'm not sure if Tiled even allows duplicate keys, but the game wouldn't recognize them)

#

it's only used in one simple method if Harmony/C# is an option for you, but otherwise yeah
(possible .16 feature request too, I suppose)

shut edge
#

that's ok

#

thanks

gaunt orbit
#

I can't even find it in the code but yeah, wiki doesn't mention multiple so you can probably only put one

royal stump
#

FarmAnimal -> setRandomPosition seems like the only reference to it (searching ProduceArea)

gaunt orbit
#

aaaah that's convoluted

#

yeah when it spawns start-of-day produce it uses the animal's position as a basis

#

I thought it would be doing placement checks referring to the map property but I guess just moving the animals in bounds yields "close enough" results

brittle pasture
gentle rose
#

honestly doesn't look jank to me

shut edge
#

yeah that seems fine

brittle pasture
#

if you say so, anything to get out of more drawing SDVpufferrad

uncut viper
#

Rotate them like a sword sprite SDVpufferthumbsup

#

(I also agree it looks fine though)

shut edge
#

seems like i made one dog in my dog mod not dig up items

#

i do not recall why

brittle pasture
#

(now to draw recolor 10 more wagon and locomotive styles and I can call myself a furniture modder)

shut edge
#

can we ride the train tho

#

or pets

brittle pasture
#

(anyway how it's going y'all I may or may not have spent the last 5 days binging OpenTTD and working on this mod)

brittle pasture
shut edge
#

understandable

shut edge
#

add a train conductor hat with it

lucid mulch
#

ttd but opensource

shut edge
#

so we can have sleeping cats in conductor hats near them like they passed out playing trains

lucid mulch
brittle pasture
#

the current code does require the tracks to be of the same type for a path to be connected

lucid mulch
#

also, is multi track drifting supported

brittle pasture
#

because of pathfinding jankness a train may decide to go off the map, that's probably close enough

lucid mulch
#

can I do ancient minecraft mechanisms of having an adjacent track collide and inject a bunch of speed into the main train

brittle pasture
#

I have no idea what that is, is that like DF's impulse ramps

lucid mulch
stark ocean
#

anyone familiar with interior doors in tiled? i'm trying to make it so that the farmer needs 2 hearts to open one, like the other marriage candidates', but i can't seem to interact with it at all in my custom map. when i hover over the door, the hand icon appears, so that makes me think the tileid is as least correct. i checked the layers: the bottom of the door is on the buildings layer, and the top two pieces are on front. on the buildings object layer, i have the tile property as Action>Door Ivaras as the wiki instructs, as well as the map property as Doors>9 16 townInterior 120. i thought it might be the tileset id with the name being townInterior, but i am not exactly sure.

urban patrol
#

also if your NPC's internal name is Mod Id prefixed you need to write it like that

#

but in tiled you'll have to write it out without using tokens, like myname.modname_Ivaras

tiny zealot
brave fable
stark ocean
calm nebula
calm nebula
shut edge
#

yeah bullet trains are rad

calm nebula
#

Dont care is pixel art plz

exotic gyro
#

im having trouble downloading mods can someone help?

tender minnow
#

im so sorry for bugging and asking questions a lot but is there any way to change what precedence the game loads dialogue in? i dont want it to load seasonal dialogue first...would that require more knowledge in game coding than we currently know?

ocean sailBOT
#

@tender minnow You leveled up to Cowpoke. You can now speak in our voice channels and share images in all channels!

tiny zealot
#

!harmony you would need to use harmony to patch the vanilla game code. it's feasible but i wouldn't recommend it for a published mod since it will upend how every existing mod assumes dialogue will work

ocean sailBOT
#

Harmony is a framework for patching .NET code, allowing you to take any portion of the game's logic and insert or substitute your own. This gives you more flexibility and control than SMAPI helpers and events, at the cost of being typically more complex and difficult to use safely and correctly, and more likely to break with a future update of the game and/or SMAPI.

If you are trying to do something that isn't possible or practical with SMAPI alone, then Harmony is usually the solution.

For more information, refer to the following:

brittle pasture
tender minnow
stark ocean
#

i'm a bit confused about schedule dialogue. i've made a separate scheduleStrings.json to put the string dialogue in and i have it referenced as the wiki instructs to do, like this: "Strings\schedules\{[ModId}}_IvarasWolfgang:Coffee.000" within the schedule itself. for some reason i am getting an error message from smapi saying it was ignored. i've included the schedule dialogue load in the content.json as well. anybody got ideas on what might be wrong?

tender bloom
#

!log do you have the actual log?

ocean sailBOT
#

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

Please share your SMAPI log file. To do so:

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

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

tender bloom
#

the error message probably has some clues

honest tundra
#

I want to add some items from pixel dungeon, and I wish to make sure I don't out scope myself. Is it possible to make a new item only spawn from vegetation in the mines? Or the ice crystals in frozen levels? From digging in mines? Only from certain floor ranges? From dinosaur levels in skull cavern? Is there a guide somewhere that covers this?

calm nebula
#

vegetation in the mines? Or the ice crystals in frozen levels?
Trivially with c#. Not possible with CP. Maybe a possibility with FTM but frankly I wouldn't know

#

Dino floors feel like a C# thing.

#

(Hoe dirt is a question...maybe doable with Data/Locations, maybe not)

honest tundra
#

That's a good start

#

Good info

fierce vault
#

Is this target correct when making an event take place at a custom map?"Target": "Data/Events/{{ModId}}_map1",

honest tundra
#

Is harmony the tool to patch c# ?

tender bloom
#

you can make a plain ol no harmony C# mod

#

in fact that's often the recommended starting place for C#

stark ocean
ocean sailBOT
#

Log Info: SMAPI 4.5.1 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 18 C# mods and 5 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

tender bloom
#

harmony is more powerful than the smapi-provided events and also can get you into more trouble

#

it's not that bad but it's certainly not required for C#

#

so this looks relevant:

'Custom NPC Ivaras' has multiple patches with the 'Exclusive' priority which load the 'Strings/schedules/starfyzz.ivaraswolfgang_IvarasWolfgang' asset at the same time (Custom NPC Ivaras > Blank JSON load (Strings/schedules/{{ModId}}_IvarasWolfgang), Custom NPC Ivaras > Schedule Dialogue). None will be applied. You should report this to the content pack author.

#

you're going to want to find out where these conflicting patches are

#

figure out why/if they need to be exclusive

stark ocean
#

is it because i have a stringSchedule.json with the schedule dialogue in it? i kept the blank load in my content.json cuz i wasn't sure if it was necessary to remove

tender bloom
#

basically you said "only I can load!" and then once more "only I can load!" and smapi noticed that can't both be true

#

if you loaded a blank, that's fine but then you shouldn't load again, instead use EditData

#

there's no need to load something twice, it's like replacing your front door twice

lucid mulch
#

specifically, only the highest priority load will ever run.
and in the case of exclusive priority (default) if there is a tie, then it simply doesn't load at all and will have vanilla try to do it instead (Content/Target.xnb)

stark ocean
#

i think i found the issue in my content, and got rid of the error. buuuuut now when i speak to himi while he's doing the animation, the dialogue box just quotes the string id instead of what the string id says

#

it never ends SDVpufferwaaah

tender bloom
#

try a patch export of where the string should be

#

!patchexport

ocean sailBOT
#

A patch export makes a copy of specific stuff in your content folder so you can see what changes have been applied.

  1. Load up a save (with Content Patcher installed)
  2. Type patch export <FILEPATHOFTHING> in the SMAPI console and hit return
  3. Look in your patch export folder in the game folder for the relevant json file or image
  4. If it's a json file, you can share it via smapi.io/json. If it's an image you should just be able to look at it.
tender bloom
#

in your case it looks like it should be at Strings/schedules/starfyzz.ivaraswolfgang_IvarasWolfgang

naive finch
#

if i wanna replace those icon with mine,
do i need to code it per icon or can i do it all together (so that it can be made into one configurable settings if possible)?

tender bloom
#

two things could have happened: nothing actually got put there at all, or your edit failed to add that line specifically

tender bloom
stark ocean
tender bloom
#

sounds like your editdata didn't work

#

if you load a blank json, it starts out blank

uncut viper
#

In which case doing it all together is fine

fierce vault
#

i have tried and failed for maybe an hour to figure out why this basic event won't trigger in my custom location. The other event in the json works just fine. Is anything wrong here? { "LogName": "event 2", "Action": "EditData", "Target": "Data/Events/{{ModId}}_map1", "Entries": { "parcy.mrNPC_event2/Time 600 1700": "continue/9 10/farmer 8 14 0/skippable/addTemporaryActor Mystery 16 32 9 10 false Character/pause 10000/end " } }

naive finch
urban patrol
#

and 2. does it work when you debug ebi it

naive finch
fierce vault
#

oh, I'll try the debug. Does this in my content json count as loading a blank? { "Name": "blankFile", "Value": "assets/blank.json" },

#

it's a dynamic token

fierce vault
#

oh

urban patrol
#

you need a patch that uses Load to load something

#

the target would be the same as the target for your EditData

uncut viper
fierce vault
#

ok. I'm assuming that has to do with getting a custom location to work in an event? I'll try both

uncut viper
#

(Or is that the transparent background? I'm not used to seeing Aseprite bgs)

brave fable
#

(pretty sure that's the transparency bg grid chief)

urban patrol
naive finch
fierce vault
#

ah, that makes sense. debug ebi said nothing was found.

uncut viper
#

If it's transparent then I think you'll need two EditImages. But they can be controlled by the same config option

fierce vault
#

so, I since have something that loads the map, I'll add a load for my blank json in the content json

#

so, this would be it, right?' { "Action": "Load", "Target": "data/events", "FromFile": "assets/blank.json" },

urban patrol
#

no, your target needs to be the same as the target of your edit data

fierce vault
#

oh sorry

#

so { "Action": "Load", "Target": "Data/Events", "FromFile": "assets/blank.json" }, would be correct? It's not Data/Events/{{ModId}}_map1 right?

#

wait sorry

lucid mulch
#

(its Data/Events/{{ModId}}_map1)

#

the load patch and editdata patch should have the identical target

fierce vault
#

I pasted the same thing 😅

#

Ok. So this has to be done once for every event that takes place in a custom or with other unloaded assets once?

#

I need to check my references again...

lucid mulch
#

once per new map

fierce vault
#

ok, that makes sense.

#

thanks, to the both of you

#

I'll try this

#

It worked! 😅

#

Thank you for the patience!

urban patrol
#

yay!

lucid mulch
#

The way the SMAPI Content pipeline works is that it intercepts Content Pipeline™ loads.
eg for Events, the game tries to do

// Simplified
if (Game1.content.DoesAssetExist("Data/Events/MapName")) {
    events = Game1.content.Load("Data/Events/MapName");
}

If SMAPI wasn't there, that would read the Content/Data/Events/MapName.xnb file.

With SMAPI present, SMAPI will announce to all the mods that are participating in the AssetRequested to see if any mods will want to provide a Loader and/or any Editers for the asset.
Which is what Content Patcher will do on your behalf in writing a content pack.

Once SMAPI has gotten the results, it will check who has the highest priority load, and load the asset using their loader.
If no one specified a loader, then it'll fall back to reading the XNB from the Content folder as per usual.

From there, SMAPI will then run all the edits in order of priority on that asset, but only if it actually loaded to begin with (either via mods or vanilla).
and then store that result in a cache, and return the completed asset back so the game logic can do what it wanted with it.

fierce vault
#

Thank you for this

#

I'll also save this so I can find it again.

whole mural
#

Hey guys! This is really intimidating but I wanted to start making mods… i’m learning the basics of c# at the moment, does anyone have any tips for where to go from there? Its a totally new field for me hehe

#

I’m hoping to do almost exclusively character mods but that includes making small maps for character houses :)

uncut viper
#

Are you learning C# because you want to anyway, or because you think you need to in order to mod? Because you don't need C# to mod at all, and can make character and map mods with Content Patcher alone, which will let you use simple json and not C#

whole mural
#

Oh i thought i had to swechatflutter what can I use instead?

urban patrol
#

!startmodding there are resources for content patcher here, like button mentioned. to make maps you'll also need to download Tiled, and heavily reference [[Modding:Maps]]

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.

whole mural
#

Thank you guys!!! Youre a huge help

urban patrol
#

if i want to temporarily add an NPC warp to Mountain, but only until the earthquake, is it enough to just use a conditional EditMap patch? or are they persistent and i'd need to remove the NPC warp?

uncut viper
#

Conditional patch is fine

urban patrol
#

cool thanks!

rocky copper
#

Does a book stat keep incrementing each time you read the same book or does the game treat it like a binary and only keep track of 0 or 1? I'm testing out with a Trigger Action that sends a letter when you're at BookStat 2 but nothing's happening

half tangle
#

When the player reads a book a second time, they just get a bit of xp

#

so presumably there's no reason for the game to keep track of multiple reads, just whether the first happened

rocky copper
#

Yeah, makes sense

wide inlet
#

Can we make more mods compatible with curseforge

#

Cause i would LOVE npc location mods on curseforge

dire kestrel
wide inlet
#

Spite

brave fable
#

respectable. unfortunately, we are also spiteful 🙂‍↕️

#

<@&239770080378880001>

#

oh nevermind the scam got caught

hollow hatch
#

@vernal crest i found something interesting while formatting HM DS' entire soundtrack, theres over 20 minutes of ambient rain sounds and i remember you talking about liking rainy things

#

something fun that came to mind lol

#

its also somehow composed through midi

iron ridge
#

More than reasons against nexus imo

void aspen
#

I forgot how to edit terrain sets😭

#

How do I open the editor thing

hallow prism
#

i think it's on the tilesheet side, but i don't remember

void aspen
#

okay found it thankss

gentle rose
#

how did you do it? just in case anyone else searches SDVkrobusgiggle

void aspen
#

Also this is silly

#

But once again it lacks L sides

#

If someone by chance have a way

daring skiff
#

Noob question on writing events with Content Patcher. I am just writing it by hand and consulting the wiki. Is there a more efficient way of doing this that I just didn't notice.

void aspen
#

Changing the "probability" tile property also changes the chances of it to appear using terrain and random mode while drawing dam

hallow prism
daring skiff
#

Figures. Well, I'm glad that intrusive thought is settled.

void aspen
#

Made these work with terrain so far!

#

Terrain and tiles are super dependant on the layer, using wrong ones really break these

brave fable
#

imo making good use of multilining and comment commands is the best way of improving your efficiency through readability, and using patch reload + ebi often will help you iterate

misty lintel
#

omg

#

I just spent 5 hours making an i18n 😭

void aspen
#

im really struggling to make them connect 😭

misty lintel
void aspen
hallow prism
#

sometimes terrain is faster, sometimes not

void aspen
hallow prism
#

well maybe the copy paste brush is better then

misty lintel
#

ive never used terrain before

void aspen
#

I made this pink one work but not the green one

void aspen
void aspen
torpid sparrow
#

I hate those leaves

misty lintel
#

average map design activity

void aspen
#

These were done perfectly

#

and on green ones he said eh whatever we ball

swift falcon
#

maybe he were sleepy

misty lintel
#

maybe its a problem with the tilesheet

void aspen
misty lintel
#

guys for ftm is it meant to like rewrite ur content.json

#

it keeps like doing that and messing it up

hallow prism
#

yes it is meant to

#

if it messing it up then you have something not done properly

#

it will not erase things that are done correctly

whole mural
#

You guys excited for the nexus fest?? SDVpufferparty

#

Good luck to everyone who plans to participate!!!

hallow prism
#

i'm moderately excited 🙂

#

but i don't want to be too much because if i do "bad" then i'll be disappointed

gaunt orbit
hallow prism
#

i do terrain for the initial ground to get dirt/grass roughly like i want, then i polish it with custom stuff and random stuff

void aspen
#

I did a few tiles too

#

a little bit

whole mural
#

Look at them go!!!

grave flint
blissful panther
#

I really kickstarted some mad terraining everything science here. SDVkrobusnaughty

void aspen
#

Why does all Back# layers get covered in water overlay 😭

#

Stuff got serious now, my map is flooded

lucid iron
#

You made all of those Water T

void aspen
#

damn

void aspen
#

Or is it a layer property

#

OH

#

I may know the issue

#

I kinda filled the whole back 1 with water

#

and then drew sand on top of it on back2

hard fern
#

That would probably do it 🤔

blissful panther
#

That would definitely do it!

#

Game just draws the animated water overlay over the top of tiles marked water. Meaning that even if a Back tile marked water might be technically below a Back2 tile that isn't, it's still gonna get that water overlay.

void aspen
#

interesting

ruby marsh
#

Hi, I have this idea to use the swing on the playground to have some fun and I know that's a lot of work. I have to edit the tilesheet to remove the original, of course. And then things get interesting. Can I add an interactable object with custom rendering or do I have to patch GameLocation?

brittle pasture
#

you'd likely need C# for anything beyond sittable map chairs yes

ruby marsh
#

Thanks, that is the same as my idea. Last time I checked this mod didn't exist. Now on to something completely different 😉

lucid iron
#

I guess u can make funny furniture

#

So ppl can put slides n swings at home

#

Just gotta do the check action somehow

blissful panther
#

And if you manage to coax pets to use them if placed outside... I feel like that would be a killer fun mod.

void aspen
#

How does map stops players from walking on water if these waves while being on buildings layer still has a Passable T property

#

also weird how tiled's bools are just strings with T and F

latent mauve
#

Vanilla mostly makes use of invisible tiles on the Buildings layer

void aspen
#

Thats genius

#

I kinda thought about it but

#

oh wow

latent mauve
#

But also note that Passable behaves differently on the Back and Buildings layers

void aspen
#

Buildings are by default Passable F unless tiles have T property

#

But what about back layer ones?

#

is it like vice versa

#

passable unless stated F

latent mauve
#

From the wiki, about Passable on the Back layer: "Prevents players from walking or placing objects on this tile, even if they'd normally be able to do. (Direct opposite of Buildings Passable T below.) Commonly used on certain water tiles for bordering the sides of bridges, to prevent players from walking off into open water"

void aspen
latent mauve
void aspen
#

Oh so Passable T on Back works like Passable F

#

Such a way to use strings

ruby marsh
#

My next idea is sprinklers in indoor pots. Is anyone aware of that? Didn't find anything similar on Nexus.

brittle pasture
scenic ferry
#

Question for yall! How hard would it be to add an item that increases friendship with a particular pet?

#

Like, a treat or something?
It'd be nice to have that extra layer of interaction with the Familiars im working on

lucid iron
#

It's not a framework but pets enhanced has that right

ruby marsh
whole mural
#

Does anyone have recommendations for windows programs for pixel sprites? Free is preferable but i can dish out a bit of money on it too :)

latent mauve
#

I use Krita (which is free but not specifically pixel art), but quite a few folks here use Asesprite (which is free if you compile it yourself if I remember right?)

whole mural
#

Thank you!!!!

latent mauve
#

It's only $20 to buy Asesprite though, so it's not bad

calm nebula
#

!software

ocean sailBOT
latent mauve
#

thanks atra, I always want to think it's the art command instead

scenic ferry
#

I actually use Ibis Paint on my phone because its also free haha
Honestly I find you can make almost any art software work

void aspen
#

Aseprite is also free if you know how to do the open source thing

#

!!

#

but buying it on steam sale was like the best decision in my life and it could be yours too

scenic ferry
#

my next paycheck is absolutely going to asesprite fr

whole mural
#

Ill probably invest in aseprite!!!

void aspen
#

its the best choice rn

#

it supports a lot of stuff you may like to do in the future too

#

its pretty good to work with high res things too

#

better than krita for me sometimes

scenic ferry
#

if you plan on putting any serious time into sprite making, definitely worth it!!

#

in my case im just on a budget haha

void aspen
#

as long as it supports search and replace

urban patrol
#

ideally a text editor for json would also have auto indent and bracket pair features

#

both make code more legible and less likely to contain syntax errors

void aspen
#

something like this wont hurt surely

ornate drift
#

is there a way to add custom buildings to the game? (i wanna add a bakery)

#

So like similar to Gus's house i wanna add a shop to my bears Bear-kery where he can sell cake and other desserts

jaunty shuttle
#

!mapmaking

ocean sailBOT
#

If you want to make mods that add or edit maps:

  1. Use Tiled to edit .tmx or .tbin files.

  2. Refer to the Maps wiki page for details on how maps work in Stardew Valley.

  3. Content Patcher allows you to create custom locations through editing Data/Locations

  4. Vanilla Maps can be edited via Content Patcher as well: EditMap

ornate drift
#

Shouldn't i design how the exterior looks though

#

like drawing it first

brittle pasture
#

lots of expansions and NPCs add buildings if you need examples

jaunty shuttle
#

Yes you have to draw the tile sheet, so use an art program to create it and then you can use tiled to make it a map SDVpufferthumbsup

#

Just remember each tile is 16x16 pixels for scale. So if you like make a door and it’s 20 tiles wide, you might have a wonky placement of where you come out/go in

ornate drift
#

mwehehehehehe teto_evil

torpid sparrow
#

for seasonal tilesheets, do they just need to have _season at the end of the name?

#

or do i have to do code it to switch every season

gaunt orbit
#

it compiles ✨ now let's see if it explodes when I cactually run it

urban patrol
#

but that’s enough yeah

calm nebula
#

As long as it's an outdoors area

torpid sparrow
#

ok thanks SDVpufferheart

#

will manually do it for indoors then

pale river
ornate drift
#

I'm still trying to figure out his house

#

he has walk sprites and whatnot

pale river
unborn shadow
#

Hii, a small question, is it possible to attach a quest and an item in a single mail? or it's better to do it in an event?

urban patrol
ornate drift
pale river
#

@latent mauve I just found out about your loz overhaul 2 hours ago, I think it looks really cool. I was wondering if you would be interested in me making stardew like zelda music for it, because I have the software CA uses for music

pale river
ornate drift
#

thank u

void aspen
#

this is so cool to be able to do such things with zero coding

#

i was also surprised I dont have to do farm map variations for each season

sweet niche
#

hello,
do someone know when this dialogue used by abigail?
||```
"Event_Tragic_1": "Yeah... I guess my own life is okay...$s",
"Event_Tragic_2": "...!$h",
"Event_Tragic_3": "I would feel better if I could believe that...#$b#But I don't.$s",

trying to edit some stuff but wonder where this one used on
brittle pasture
#

unused

sweet niche
#

ah okay thanks

latent mauve
pale river
latent mauve
#

I'll likely release the mod without those regions being included initially and have the respective custom NPCs (Urbosa and Daruk) commute into the desert or town until they are ready.

#

I've been pretty careful about redrawing all of the character and object art myself so as not to directly copy any original assets, so I will need to be equally cautious with the music source, if I do add it.

#

Sorry! I have a personal stance against ripping assets wholesale from established works, haha. So I figure it's best to make that clear.

pale river
#

I'm the exact same, that's why I asked if you wanted me to make remixes

latent mauve
#

Awesome, just wanted to make sure I understood and we were on the same page.

fierce vault
#

when adding a TemporaryActor, can you get them to face another direction outside of the one used when spawing them? Like after using a move command for instance? Because the temp actor always goes back to facing the original direction when I test.

#

do I just addTemporaryActor again to specify a new facing direction?

latent mauve
#

does faceDirection work with the TemporaryActors?

#

I don't think I've ever actually tried

unborn shadow
fierce vault
#

when using a temp actor, you have to add something like this addTemporaryActor npc 16 32 14 20 2 false the facing direction is specified in this command, and seems to be the only one the temp will go back to after doing an action like moving, even though a move command will specify it's own facing direction.

latent mauve
#

I mean, even with normal NPCs, I've definitely had to use faceDirection before after a move to get them to face the right way.

#

Events are finicky

fierce vault
#

before and after a move?

latent mauve
#

Specifically after a move, because for some reason, it seemed to ignore the facing direction in the move command sometimes.

jaunty trench
#

Do stardew modders ever look for people to make custom music for their mods or is that not really a thing?

pale river
fierce vault
#

Ok, good to know. I'll test something new and see if it works

latent mauve
jaunty trench
#

what wiki page?

latent mauve
calm nebula
ocean sailBOT
latent mauve
#

thank you again, atra! Saving me from having to go digging for the command list.

brittle ledge
brittle ledge
latent mauve
fierce vault
#

I just used faceDirection, and It worked, but only for a super brief period

latent mauve
#

interesting, so the direction is just... reverting, even after faceDirection?

fierce vault
#

My temp keeps reverting to the first specified direction at spawn, so maybe?? 😅

latent mauve
#

A warp with the new direction seems like overkill but might be a workaround.

#

does showFrame do it too?

fierce vault
#

I'll try that

#

showFrame I mean

#

oh, show frame wouldn't do it actually, because I'm playing an animation with frames after, I just need the facing direction changed. hmmm

#

i'll probably figure something out

#

events are finicky

#

Surprisingly, I don't hate them though

void aspen
#

okay a question about a content json

#

if I add a custom tileset or one that map initially doesnt have

#

I add it to the mod folder right

#

and if I load the custom map, do I have to load the custom tileset alongside it or cp will do its magic thing

#

and if I have to load several assets, how do I add several targets via content json

#

I only load my edited farm map here

#

I read several wiki pages but either missed that or didnt get it

fierce vault
#

you're trying to get a custom farm into the game?

brittle ledge
fierce vault
#

I need the animation frames to face the new direction though, so I don't think it would fix that?

lucid iron
fierce vault
#

thanks though

void aspen
void aspen
#

I import it to tmx and embed it as well as keep the png file in the mod folder

#

but do I need to load it or do anything to make mod adress it on other ppl pcs

urban patrol
#

it's good practice to load your custom tilesheets to (for example) a target like Maps/MyFarm_tilesheet so that other mods can access it if they want

void aspen
#

so I have to move it outside of the mod folder as well

#

and then link it

brittle ledge
urban patrol
#

are you using tilesheetinator btw?

void aspen
#

whats that

urban patrol
#

!tilesheetinator a lifesaver

ocean sailBOT
#

You can use the Tilesheetinator tiled extension to create Stardew Valley maps that work in-game without having to copy vanilla and modded tilesheets back-and-forth, rename files with a . in front of their name, edit maps only in the unpacked content folder or make symlink workarounds.

See the mod page for full installation and use instructions.

void aspen
#

oh this thing

#

I read about it yesterday but forgot already

urban patrol
#

it eliminates a solid 60% of my issues with mapmaking

void aspen
#

if I use it I dont have to do anything manually then

urban patrol
#

depends what you mean by anything

void aspen
#

having to copy vanilla and modded tilesheets back-and-forth, rename files with a . in front of their name, edit maps only in the unpacked content folder or make symlink workarounds

#

this

fierce vault
#

I'll try that

urban patrol
# void aspen this

yep! it might take some finagling to get it to work with an already-made map but it eliminates the need for working in your unpacked folder for example

slow basin
#

ok idk if anyone can help with this
but

When trying to introduce a custom content sound for my custom animal it says it cant get the audio id because it doesnt exist, so i think i need to load it in does anyone know how to load in custom sounds so their recognized by content patcher/smapi?

fierce vault
#

just takes the press of a button for each map though

#

or command, I guess

void aspen
#

I was told to keep my custom map in the initial place and save it there and move to the mod folder once Im finish

#

and it keeps the paths

urban patrol
fierce vault
#

you don't need to that anymore with tilesheetinator

void aspen
#

since saving it in the mod folder breaks paths

urban patrol
#

clicking save as DOES break paths, which is why you should ideally make a copy of a map into your mod folder first and then start editing it with tilesheetinator

#

however even if you do Save As it's fixable

#

just annoying

slow basin
#

(would a pet/animal sound be a sound cue or a music cue do you think)

ornate drift
#

I've never built a house before, so this is gonna very interesting

ornate drift
#

I'm gonna need a bakery design idea first 🤔

slow basin
#

ty nic

void aspen
#

so if I use this magic tool I dont have to care about loading extra tilesets that the map uses and I can just keep it in the mod folder

urban patrol
#

music cues are like what plays at the beginning of the day or during events

slow basin
#

aah ok

void aspen
#

and also if I dont want other mods to be able to path to this tileset

slow basin
#

ok time to test 07

void aspen
#

this is super confusing and im super slow rn 😭

urban patrol
ornate drift
#

Maybe one of these two, i love stores with lots of glass textures

urban patrol
#

it is super confusing you're right

slow basin
#

ok that worked

#

but i accideentally left it looping

void aspen
#

If I well load the folder as that

fierce vault
#

Loading in custom tilesheets is good for compatibility. Noted.

torpid sparrow
#

buildings are fun sometimes and pain other times

urban patrol
#

let me explain targets real quick

#

and the content pipeline TM

void aspen
#

I understand targets mostly and how to use them in a contest json but

#

still not sure how to add something new rather than just swapping

urban patrol
#

that's what Load does. you can't Load two assets to the same target

slow basin
urban patrol
#

if you try you either get an error or one Load wins and the other is discarded

urban patrol
jaunty trench
void aspen
#

I see

latent mauve
fierce vault
#

silly little cat wouldn't pose for the camera tho!

latent mauve
#

Page, you would likely be under Other with TheFrenchDodo who also does music commissions

jaunty trench
#

ill get on my laptop cause i dont think its showing me the full page on mobile

latent mauve
#

very likely, the wiki does not like tables on mobile

ornate drift
#

door :3

#

the bears face is a little off-putting though

#

don't think it fits there

jaunty trench
void aspen
#

unless it doesnt matter that much to a sprite

#

I think it should fit 16 pixel on the width

latent mauve
#

Ah, they may have locked that page down more due to vandalism and not updated the information, I guess?

urban patrol
#

do you have an account? i think you need an account to edit the wiki at all, right?

jaunty trench
#

i did make one yeah

latent mauve
#

It says "Sign up to edit" if you aren't signed in, there is no Edit button without an account at all. 🙂

urban patrol
#

ah i see

jaunty trench
#

it works on my laptop now! :D

jaunty trench
ornate drift
jaunty trench
#

indeed

latent mauve
# ornate drift idk how to make sure of it :0

It's mostly just important to make sure that your building fits properly inside the 16x16 tile grid (so that your bottom edge is positioned correctly for the door's tile action, etc.)

void aspen
#

I think most pixel art apps have some kind of grid to follow

#

(like aseprite)

#

if not then you have to eyeball it

#

is it okay if tsinator added a vanilla tileset before paths tileset in order

latent mauve
#

The only other concern that may come up, is if you are using a ripped tilesheet as your starting point (like from Spriters Resource) instead of the unpacked files, it may not be the correct size/zoom

urban patrol
void aspen
#

I see

urban patrol
#

i haven't named any of my tilesheets z_whatever since starting to mod last february and there's no issues

void aspen
#

okay now this one doesnt have any properties

latent mauve
#

So the rewriter does that for you

urban patrol
#

i see i see

urban patrol
void aspen
#

I managed to swap it with exported tileset and it has properties now

jaunty trench
#

thank you all for the help, im now on the commissions wiki page :)

urban patrol
void aspen
#

im confused with this thing

#

it does fixed it temporary but only for tiled

urban patrol
#

does it stay if you ctrl+.

void aspen
#

It does

brave fable
#

yeah pressing the 'fix stardew tilesheets' button will be part of your daily ritual from now on lol

void aspen
#

It only appears when I fix it either this way or a button

urban patrol
#

what's the filepath of that tilesheet

#

when you click edit tilesheet i mean

void aspen
#

they all go to my mod asset folder fsr

#

not where needed

#

and this one I added doesnt care

#

cuz I added it via tsinator

#

ughhhhhh

urban patrol
#

can you send your tmx? i want to see something

#

if you're comfortable with that

void aspen
#

and it only stays cuz its in the download folder wthh 😭

#

everything so messed up

void aspen
#

paths are totally broken

urban patrol
#

your tsx isn't embedded

void aspen
#

you wont even see the boat thing I suppose

uncut viper
#

(I should probably make that text yellow if it knows it skipped a .tsx...)

unborn shadow
#

Does anyone know how to play an event after the player sleep (just like the cutscene of fairy or junimos repairing the minecart etc)? I want to trigger the event the night the player finish a custom quest (after the player sleep), but I can't find any command to start an event in the trigger action section.

uncut viper
#

More Nightly Events is a framework mod that lets you do that

void aspen
hallow prism
#

you can't have night events just with trigger action

void aspen
#

is it not the right thing

hallow prism
#

you can have one at 6am however

unborn shadow
urban patrol
#

are you sure you had that checked?

void aspen
#

yess

#

but

urban patrol
#

were you adding the tsx via tilesheetinator or the button on the bottom right

void aspen
#

I actually dont remember

#

bruh

#

okay i added it via ts

#

now all my tilesets are sure they come from mod asset folder

#

which wasnt the case before I saved my map in the maps folder

#

:(

urban patrol
#

why are you saving your map in the maps folder

void aspen
#

I didnt this time

#

its in the mod asset folder now

#

as I was told tsinator doesnt need to do the maps folder thing

urban patrol
#

correct

void aspen
#

well pressing this doesnt do anything either

#

it wasnt highlighted

#

okay i didnt have a crash this time and it managed to load it

#

I think now it works? not sure

#

adding it via tsinator doesn't include the option to embed it or not and this Embed button in the right bottom is not highlighted so I suppose it by default embeds it

#

and the reason it broke is cus I swapped the tileset with the one I exported

#

this is so hard omg

urban patrol
#

@gentle rose do you have any advice on embedding tsx with tilesheetinator? i'm out of my depth

torpid sparrow
#

@final sonnet If u need help with making a mod u can always come here SDVpufferheart

void aspen
#

is it okay if I share zip of my mod here for someone to test

#

I think it should be working now im just not sure if it really is 😭

urban patrol
#

it's allowed but you might get more response if you asked #modded-stardew instead since they actually play the game lol

void aspen
#

oh

#

this thing pushed me away from this channel

#

since support is kinda thing I want to get on my own creation

uncut viper
#

It depends on if your intent is for like, beta feedback from playtesting, or aiding in making the mod itself

void aspen
#

I just wanna be sure that all tilesets are loaded for other ppl

#

so I suppose its both

uncut viper
#

I'd say that'd be fine for in here instead! Just as long as it's understood that there might not be someone available immediately to try it
But, if it works on your computer, very good odds it'll work on someone elses

void aspen
#

im not in hurry so I will share it then

#

Create a new Beach type farm and exit the house and go down
if its the average beach farm or not something that is on the picture attached please tell me 🙏

#

I added 2 vanilla tilesets from night market and pirate cave that beach farm initially doesnt have

#

so I wanna be sure they load as intended

#

Oh and if possible check if this pot is interactive

#

hope its not too much 😭

proud valley
#

Hi there, I am trying to follow the getting started guide to stardew modding on the wiki. I installed VS Community and a video i was watching mentioned you can install the .NET 6 in VS. but it says its out of support. Is this not the right thing to download?

#

or should i download this that was linked in the wiki?

calm nebula
#

You can install whatever SDK you want as long as it is net 6 or later

#

You, however, have to target net 6

proud valley
#

ohh i see, so do I not need to do either option since VS alreay has the .NET 10 Runtime installed with the .NET desktop development option?

#

OHH i figured it out haha

calm nebula
#

Yay!

#

BTW if I drop out of chat I'm not purposely ignoring you, I just got called away

proud valley
#

all good no worries at all

#

I ended up doing both, check that check box and downloading the SDK version so I'll see what options are there when i go back into the project. I also have to be called away now haha

gentle rose
void aspen
#

its all good now

#

should be

scenic ferry
#

question yall! After my NPCs 6 heart event, I want their sprite and portrait to change in certain areas.
I tried to do this with an NPC Appearance, with the conditions HasSeenEvent and Location Here Forest. But this only checks when the NPC is loaded, not when the player enters or exits the area, which leads to... problems.
EX: If NPC enters forest first, they load, then the player enters, NPC doesnt change because they've already loaded.
The opposite also happens when leaving the forest to go somewhere else, if the npc exits (and loads) first

Any tips on getting the outcome I actually want?

uncut viper
#

You should be using the Condition field of an Appearance entry to control it, not content patcher conditions

hallow prism
#

it should work when the npc enter/exit the area, assuming player is in area too

lucid iron
#

You can look at Sam joja mart outfit

scenic ferry
uncut viper
#

You wrote HasSeenEvent which is a content patcher token so I assumed you were using when stuff

scenic ferry
#

Ah my bad

uncut viper
#

Replace Here with Target probably

#

NPCs change appearance when they change locations, regardless of where the player is

scenic ferry
#

Ah! That would make sense yeah

#

That works! Thanks so much button

fierce vault
#

I'm kind of lost on how to patch a map during an event. As a simple example, if I wanted to make a new asset appear during an event and stay on the map as it's own map patch from then on, how'd I go about that? I think it would have something to do with trigger actions and flags, but I'm not sure how to put that together.

#

any mods that do that in events that would be good to reference maybe?

gaunt orbit
#

if it's a large change it may simpyl be easier to load it as a temp location

fierce vault
#

hmmm, would that make it permanent after the event though?

brave fable
#

i'd assume that you'd then use the eventseen condition on a separate CP map patch with your eventid as the value, which will also be applied on changing location from the temp location to the real one on event ended

fierce vault
#

thanks. I'm going to look into some things more, and hopefully understand that better after trying to put something together.

urban patrol
#

don’t quote me on this but i’m pretty sure change map tile is permanent if it’s only a few tiles

royal stump
#

that event command edits the loaded map, so it'll probably persist until anything causes the game to reload the map asset
(just tbc that it won't be permanent in the sense that it's not saved to a file ever)

urban patrol
#

ah i see

fierce vault
#

Interesting.

half tangle
#

The wiki page on reflection mentions that if you need to access a field many times it's better for performance to keep a reference to the field rather than accessing it repeatedly which makes sense. Is there a way to do that for calling a method, like holding a reference to the method, or is that irrelevant?

uncut viper
#

You can store a MethodInfo and Invoke it manually

half tangle
#

I see IReflectedMethod so I'm guessing that's what I'd use

uncut viper
#

Is that a SMAPI Reflection helper thing? That'd probably do it too

half tangle
#

Is there a performance reason to do so?

uncut viper
#

Costly to find the method every single time you want it (though SMAPI's reflectionhelper does do some caching if you use it instead of standard reflection)

royal stump
#

yeah, that's the helper's GetMethod return type
I'm not sure about the performance details, but hanging on to it is probably preferable to calling the getter again, if you can

#

though ig if you're targeting an instance method you'll need to call it for each instance anyway

uncut viper
#

Usually with reflected methods, you pass the instance to do it on as the argument

royal stump
#

SMAPI's reflection interface seems to require it
IReflectedMethod GetMethod(object obj, string name, bool required = true);

uncut viper
#

(Unsure in the case of SMAPIs helpers though, I don't tend to use them)

royal stump
#

-> just an Invoke or Invoke<> with arguments as the arg

#

normal reflection (or harmony tools or w/e else exists) might be better if it's for a series of instances in that case

calm nebula
#

Smapi says this but it's actually better to take it all the way to a delegate

#

One second

half tangle
#

interesting...

uncut viper
#

If you wanted to be silly you could maybe also just Reverse Patch the function into your own code

#

I don't know why you would do this though except for the love of the game (finally using a reverse patch)

half tangle
#

lol, I've heard of these reverse patches, but never had reason to learn about them

#

That said, in this case it may just be the better choice to use the ctrl+c, ctrl+v method now that I look at this method in the decompile for the first time in months

uncut viper
#

Is it a function you have any concern about whether or not someone might patch it in some way

half tangle
#

Nope, and even if someone does in some unexpected way, I have error handling and internal fixes to handle that

calm nebula
#

(Reverse patch and the delegate are about the same.)

fierce vault
#

Can I ask what create on load does again? I was looking at my maps, and can't remember why it's good to use...

uncut viper
calm nebula
#

Tbh I actually prefer the delegate over the method info because the typing is enforced lol

#

Ofc, your magic with publicizer is probably better but I'm lazy

uncut viper
#

Publicizer won't help for inter-mod reflecting, at least

#

I mean, it could, if I wanted a hard reference to the other mod, I guess

calm nebula
#

I'm getting too close to breaking parole also I have real world work to do

half tangle
#

It feels weird getting back into the guts of some of this code... I'm relearning stuff I haven't had reason to think about, but also I'm somehow better than I used to be at understanding this stuff.

royal stump
#

I still need to rewrite some stuff to use delegates SDVpufferlurk
never tried them because I figured they'd be slower, but they're simpler and at least equivalent to "give me a factory/handler instance through the pintail api"
(both run fine tbc, but fewer interfaces to copy-paste this way)

half tangle
#

Anyway, Parcy had a question and I'm happy to return to my code (and do IRL stuff in a bit as well)

vernal crest
uncut viper
#

(Unfortunately I don't remember the exact answer so I wasn't intentionally skipping you Parcy, sorry)

fierce vault
#

thanks!

royal stump
#

the only vanilla time it's not used is for locations that don't (usually) exist, "default" and "temp"/farm subtypes/etc

fierce vault
fierce vault
fierce vault
#

A map patch, so maybe not the same thing actually

vernal crest
#

Map patches don't have CreateOnLoad because they're EditMap patches that edit another map. CreateOnLoad only applies to EditData patches editing Data/Locations.

fierce vault
#

oh, ok

gaunt orbit
#

something is forceloading textures and I can't figure out what's causing it

gaunt orbit
#

trying to figure that out

background is I do a thing where I suppress texture load calls while instancing furniture so I can defer it, which works in my dev env, but on my main modlist, a bunch of textures get loaded anyways according to the log

lucid iron
#

I was thinking about how I sometimes do an ALL_ITEMS query just for index of item info

#

Maybe u can use the Forbidden Skill of printing stack trace in ur harmony patch

gaunt orbit
#

the patch works, textures are being loaded outside of it somehow, that's what I'm trying to figure out

#

I am going to log stacktraces from AssetRequested though

#

my invesigation has not yielded answers but it has illuminated terrible json crimes that I was previously unaware of

#

like the furniture mod that has like 50 beds which share an image but have the same image loaded into a separate asset for each bed

ornate locust
#

wat

gaunt orbit
#

or the furniture mod that use the mod name instead of the unique id for asset paths, so it has spaces and brackets in it

ornate locust
#

WAT

lucid iron
#

I read this in a noir detective inner monologue voice

#

🕴️

calm nebula
#

Brb

#

Making a mod that loads every pixel of every asset individually

#

And stitches them together in post

gaunt orbit
#

you could even do that without c# by abusing building layers

calm nebula
#

Let's use mmap

ornate locust
#

hate that

tender agate
#

a layer for every pixel???

calm nebula
#

Aren't y'all glad I'm retired

lucid iron
#

I will not participate in this

uncut viper
#

You will be participated for, don't worry

lucid iron
#

woe has befell me

calm nebula
#

Chue you're safe

uncut viper
#

"I will not participate" means nothing in the face of someone who knows how to edit the mod registry to replace my unique ID with yours

calm nebula
#

I'm walking out of work at 8:15pm

tender agate
#

is this why you have the urge to do crimes

calm nebula
#

I have the urge to go the fuck to bed

gaunt orbit
#

well now that I added logging it's not doing it anymore

#

:(

gaunt orbit
#

where are you coming from

#

chat do I just explode my log and stacktrace every texture load

calm nebula
#

Sure why nit

gentle rose
#

yes

#

erase all memory of map event markers' nonsense please

fierce vault
#

you can embed warps in a tmx, can't you? I see that the bus stop does it

gaunt orbit
#

yes

#

see [[Modding:Maps]]

fierce vault
#

thanks!

#

would you put the {{ModId}} version of the map name in the internal warp?

tiny zealot
#

you can't use content patcher tokens in your tmx. you have to type out your mod id

fierce vault
#

oh

#

thanks

fierce vault
#

Is it possible to add a warp that is conditional on a map patch specifically?

brave fable
#

use the same condition for your EditMap and AddWarps patches SDVpuffercowboy

urban patrol
#

in fact you can even use AddWarps in the same patch

fierce vault
#

I've been at this for hours and trying to use the same condition

#

I'm clearly doing it wrong lol

sweet niche
#

hi,
i read in wiki about abigail drawing question if we choose orc it give us 30 friendship, but when i check on actual dialogue is it only give 5?
"winter_Sun": "Oh, hello.#$q 29/30 winter_Sun_old#I made these two drawings. What do you think?#$r 29 20 Sun_29#I like the jungle island and the tiger.#$r 30 5 Sun_30#I like the orc with the battleaxe.#$r 29 -50 Sun_Bad#I don't like either of them.",

brave fable
#

30 is the response ID, 5 is the friendship amount

#

#$r 30 5 Sun_30#I like the orc with the battleaxe.

sweet niche
#

i read it correctly then, thanksSDVpufferthumbsup

urban patrol
#

i need a second pair of eyes on my NightTiles they're driving me nuts and i must be making a stupid mistake

#

AlwaysFront 27 16 70 AlwaysFront 28 16 71 AlwaysFront 29 16 72 AlwaysFront 30 16 73 Buildings 27 17 80 Buildings 28 17 81 Buildings 29 17 82 Buildings 30 17 83 Buildings 27 18 90 Buildings 28 18 91 Buildings 29 18 92 Buildings 30 18 93 Buildings 27 19 94 Buildings 28 19 95 Buildings 29 19 96 Buildings 30 19 97

  • coordinates: 4x4 rectangle starting at 27,16 as shown, with the top row being on AlwaysFront
  • the tilesheet is 10x10 with the nighttiles starting at index 70
#

they look fine during the day but this is what i see at night

urban patrol
#

okay it's mysteriously working now never mind

cobalt lance
#

hi friends. does anyone know how I would go about getting an NPC to "go missing" so to speak? Using content patcher, not the debug kill command. I want it to "go missing" so that it will "SpawnIfMissing", to reset the NPC's home location based on a choice made early in the mod

royal stump
#

I'm not aware of a literal method, but does adding a second Home entry to the list not work for you? Leo and MrQi have two in vanilla, for example

#

(iirc, people also used to work around that with "0 schedules" for a while, which warp NPCs to an alternate day start location)

lucid mulch
#

the elliott invisible thing for a week would work maybe

#

where he goes on his book tour thing

#

the Trigger Action Action SetNPCInvisible <npcName> <daysDuration>

#

Elliott cheats and doesn't actually use it, but SetNPCInvisible uses the same mechanism under the hood that elliott uses

urban patrol
cobalt lance
# royal stump (iirc, people also used to work around that with "0 schedules" for a while, whic...

can you elaborate on 0 schedules? I think that's what I want but I must be doing something wrong. I started with 3 home locations "Default" (0, 0 at backwoods. was working.). These were my other two. The problem was that, even after having seen the events cited by the condition, the npc was still spawning at 0, 0 backwoods every day. Then I ran the killNPC command and, upon starting the next day, they were in the proper spot.

{
                        "Id": "OutsideCat",
                        "Location": "BusStop",
                        "Tile": {
                            "X": 22,
                            "Y": 22,
                        },
                        "Direction": "down",
                     "Condition": "PLAYER_HAS_SEEN_EVENT Host {{ModId}}_SalemOutside",
                   },
                {
                        "Id": "InsideCat",
                        "Location": "BusStop",
                        "Tile": {
                            "X": 24,
                            "Y": 24,
                        },
                        "Direction": "down",
                     "Condition": "PLAYER_HAS_SEEN_EVENT Host {{ModId}}_SalemFollows",
                   },
cobalt lance
royal stump
cobalt lance
#

I figured that was the case, so I had actually accounted for that and had it last in the list

#

i just ctrl+F'd for 0 schedules tho so ima try to implement something rq

royal stump
#

as far as I know, that system should work, and it'd be better to get the home logic worked out
but that said, 0 schedules exist in Leo's mainland schedule and such, among other places
I'm not sure if the wiki(s) mention them, but you start a schedule entry with 0 as the time, and it should warp them to that location/tile
"Mon": "0 IslandHut 7 7 0/...

#

(though fwiw I'm not an NPC modder, so someone more familiar might know more about home behavior)

cobalt lance
#

Thanks 🙏 I think I have an idea of what I need to do but yes if anyone sees this and has further advice im always down lol

lucid mulch
#

in an event theres also end invisible <npcName> which will do a one day invisible which Shane and Leo both use to disappear for the rest of the day but then show up at their schedule the next day

cobalt lance
# lucid mulch in an event theres also `end invisible <npcName>` which will do a one day invisi...

oh, pft, you know what? I wasn't thinking all the way because I've been up for like 26 hrs straight now. But I did try this, but the problem is that it causes the NPC to start their schedule from the center of town. The NPC in question is intended to be a cat familiar that would live either inside the farmhouse or on the farm- I was just using those busstop co-ords to test it. So unfortunately this method wouldn't work cleanly :( unless there's a way to set more than one set of schedule keys for an NPC and activate them conditionally? i was trying to figure that out anyway by looking at the modding: schedule data page but i didnt see anything about doing something like that.

i think i figured out how to use world state queries to make conditional schedules like i want

fickle thicket
#

So, I'm aware you can make new farm buildings by either CP or C# but i wanted to know if there were limitations to using either one?

uncut viper
#

C# can do anything that CP can do because all CP is, is a C# mod that does your edits for you based on your json. In C# you can also just implement whatever custom functionality you want and aren't limited to the stuff you see in the unpack

brave fable
#

in c# the limitations are your limitations. your limitations may be somewhat limiting

royal stump
#

re buildings in particular, you'd generally add an entry to Data/Buildings, and you'd basically just be writing the same things in C# or CP for that
C# might be required to add any behaviors that CP can't manage, though the "item conversion" machine logic is fairly robust

#
  • action tiles, keeping animal types based on data, etc is possible with CP
brave fable
#

it's usually my preference to use CP for as much as i possibly can, and then fill in the rest with a separate C# mod

fickle thicket
#

Ahh okay. Thank you all SDVpufferheart

#

i just looked at documentation and supposedly all the boxes are checked by what CP can do but if there's something i need ill just add C# on top of it

solemn lagoon
#

Hi, I want to ask is it possible to put Dynamic Tokens elsewhere or must it be in the content js?

urban patrol
#

it must be in content.json

solemn lagoon
#

thank you so much!

fickle thicket
#

If I wanted to reference the code on one of Aedenthorn's mods would that be fine? It says there are no restrictions on their mod page

uncut viper
#

The license on their repo would be more relevant probably

#

(which is GPL)

fickle thicket
#

Okay I'm reading it now and if i'm understanding this correctly, I can modify it as long as I redistribute the modified code as under the same license?

uncut viper
#

As GPL specifically I believe

#

But I would fact check me on that

fickle thicket
#

yep thats what it says

#

okay awesome

uncut viper
#

You'd need to make sure to keep aedenthorn's copyright notice as well ofc

fickle thicket
#

err hold on where do I find that?

uncut viper
#

In the license

fickle thicket
#

oh found it

umbral swallow
#

Thank God these are still here. Because of Covid I needed to stop and forgot about this project. Now after 6 years I plan to continue working on it 🙂 I also updated my tractor skin mod, please check it out 🙂

hollow hatch
#

so im getting back around to working with voxbox but im a little confused on how i intigrate it into my current content.json

unborn shadow
#

Hello, I want to make my custom NPC comment on some vanilla events (e.g. make a comment a week after Kent is added to the game), do I need to edit the vanilla event to add a conversation topic or is there a better approach?

hallow prism
#

you should look at memory keys, they have CT for stuff like one week after seeing an event

#

since Kent introduction is an event, this should work without extra work

devout otter
hallow prism
sweet niche
#

hello,
do someone know if this things already in vanilla? and if yes where i can find it?

hallow prism
#

it should, unless the wiki has more context

#

you can try a search in the whole unpacked folder maybe

sweet niche
#

hmm lemme try search again, maybe need think what could be the file name

hallow prism
#

you don't need file name if you search in folder (which some of the text editor allow)

vernal crest
#

Google how to do a find in files search for your text editor

#

That is what lumina is referring to and the term "find in files" should get you helpful results

hallow prism
#

yeah using stuff in french usually, i translate roughly 😄

sweet niche
#

oh im only using notepad++ and already put all related dialogue and seems it not used yet in vanilla

vernal crest
#

Yup you're right there's no use of it in the vanilla content

sweet niche
#

i see, okay then
thanks for the tipspecosalute

hollow hatch
#

is there a way to prevent the game from playing the spring ambience sounds on the title screen and maintain the title song?

hollow dust
#

hello guys:), im playtesting the farmhouse mod I'm making and found an issue when you're married in-game.

on some days where the spouse stands infront of the house then would go inside to the kitchen- they're stuck standing at the entrance and when you talk to them they scold you for not cleaning the house cuz there's some obstacles in their pathing, but they're actually just gonna go out of bounds.

and on days that they just remain in the house, their default position should be right infront of the kitchen, but instead they're in the void:p

#

xD, im using the horse elliot mod

hallow prism
#

did you use the proper path spot for kitchen?

#

also, what's the way to add items to universal gifts already?

vernal crest
#

Gift tastes?

hallow prism
#

yes gift tastes

#

i meant universal likes

vernal crest
#

Append to the relevant entry in NPCGiftTastes

#

So "Like" in this case

hollow dust
hallow prism
#

thanks aba!

#

(i prefer no pings, but also i have to go do something)

vernal crest
#

Ahhh my bracket colouring is gone!

vernal crest
#

Wow this was a lot longer ago than I thought, I'm so sorry! It has been a busy few days for me. I think you mentioned earlier tonight that you're still having some trouble with this?

hollow hatch
vernal crest
hollow hatch
limpid sandal
#

Hello there guys ridaWave i'm creating a mod with custom machines, i just added a recipe to get the item without the cheat menu, but in de Crafting menu, the sprite wont be showing up... did some one have a similar problem?

vernal crest
vernal crest
# hollow hatch

That looks...roughly okay, although it looks like you've got some missing commas and stuff there. Can you upload your whole file to https://smapi.io/json/ and share the link with me so I can fix the indentation and syntax errors to check the rest of it?

vernal crest
#

(Also I'm sorry I thought there was some way to set a universal sound. Hmm, maybe you could just replace the sound that is currently used by vanilla - though it might be used in other places too.)

vernal crest
#

@whole raptor Did anyone tell you that you can use Bog's assets for the modfest? (Yes I am creeping on your message from 5 days ago lol)

hollow hatch
#

sorry for the delay i was playing league

vernal crest
whole raptor
vernal crest
whole raptor
#

Ah, yeah, rings a bell

#

I miiiight do something, but I'm unusually a bit busy this week 😅

vernal crest
#

It's ok you've got a month :P

whole raptor
#

Oh? Really? I thought it was like 10-14 days SDVpuffereyes

vernal crest
#

Nope it's Feb 26th to Mar 26th!

whole raptor
#

Nice

opaque field
#

So exited to work on my Dessert animalssssss when I get home

#

Thinking I might do snow cone ducks? They drop popsicles instead of eggs and then waffle cone “bills”

vernal crest
ocean sailBOT
#

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

Please share your SMAPI log file. To do so:

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

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

hollow hatch
vernal crest
hollow hatch
#

im dumb 💀

vernal crest
#

Also, to address the next error you'll get: I think you might have downloaded the source code for VoxBox instead of the release version. That's on me, because I linked you directly to the documentation instead of the Releases page. Here's the release page: https://github.com/ichortower/VoxBox/releases/tag/0.8.0-beta

#

GitHub makes releases a bit difficult to find imo

hollow hatch
#

ah i see thats probably why

unborn shadow
#

Hi, can I use "quest" for the type of a custom object? I want to add an item exclusively for a delivery quest (like the stardew rose). Or it's enough to set false in canbetrashed and canbegifted?

torpid sparrow
#

i think if its an item for a quest specifically, you don't need to worry about losing it while the quest is active

#

im not sure though

#

oh wait for delivery to an NPC? or deliver to a dropbox?

unborn shadow
#

Delivery to an NPC

torpid sparrow
#

should be fine then

#

if u try gifting it, the game should tell you that its the wrong person

#

not sure about trashing

#

can always test it :3

void aspen
#

how does the game tell the nearby and separate houses type apart if tile data has the same property and paths layer is purely visual?

#

unless it does help too

#

like it works for stumps and grass and whatever

#

I deleted both tile data and paths on my map and Im trying to recreate them now

#

and it doesnt work obv

latent mauve
#

And the cabins are only generated on the initial farm load (when you create the save)

void aspen
#

if tile data doesnt have a visual tile underneath on paths layer it wont do anything?

latent mauve
#

Make sure your Order <number> tile data is on the Paths object layer

void aspen
latent mauve
#

Every tile data object needs a tile object below it on the matching tile layer, so that it can "attach" to it

void aspen
#

oh interesting

#

its a bit weird how some some tiles on tile layer have properties and some only have it on obj layer

latent mauve
#

Some tile properties were baked into the tilesheet itself, like Water T on the water tiles, in the vanilla game

void aspen
#

but I suppose its to give some separate tiles particular properties instead of giving it to every tile of the map

#

right

latent mauve
#

That's mainly for tiles where the properties are unlikely to ever be different, such as terrain

void aspen
#

but for example, if I add my custom water sprites with a new tileset I can either add Water T to object layer or to tileset itself right

void aspen
#

neat

#

thank you!

latent mauve
#

The big thing with cabins, if they do not work even after loading a new save, you need to be sure you didn't accidentally repeat an Order number on the Nearby path tile's objects, or on the Separate tile's data. They are two separate groups, so each can have 1-7, but you can't have 1 in the same group twice, etc.

#

If you repeat a number in the same cabin grouping, you will find that the cabins will stop spawning starting with that repeated number

void aspen
#

I added pair of 1-7 tile datas for nearby and separate

#

and well it didnt spawn anything even after setting

#

weird

latent mauve
#

(we actually had a vanilla bug a while back on one of the maps because Order 1 was repeated and Order 3 was skipped)

latent mauve
void aspen
#

yes

#
    {
        "name": "Order",
        "propertytype": "",
        "type": "int",
        "value": 1
    }
]```
#

1-7

#

on each tile

#

and same with other type

latent mauve
#

Ohhhh, that looks wrong

void aspen
#

I copied the property from vanilla map

#

hm

latent mauve
#

The Name of all tiledata objects must be TileData

#

And the properties go under Custom Properties

void aspen
#

it was Order and not TileData on vanilla farm

#

ill check again

latent mauve
#

Not there

#

That one SHOULD be Order, but higher up, each object has a Name field

void aspen
#

I see

#

testing once again

latent mauve
#

Yeah, that

void aspen
#

Oh hey

#

thank you

latent mauve
#

Sure thing!

void aspen
#

Now I wonder if its possible to determine the way of the cabins look before creating a save

#

like having the one particular type of cabins as default

#

without c

latent mauve
#

The appearance is in a specific rotation IIRC

#

It might pull from the Buildings/Skin order, but I am unsure

void aspen
#

Uploading a custom tileset where all skins are the same hm

#

will break some stuff so okay whatever for now

void aspen
#

I cant find a way to edit greenhouse position 😭

#

not in text or map properties

#

what stops you from having all the stuff here ca 😭

brittle pasture
#

per the Maps wiki page

#

maps that don't have it just use the default

void aspen
brittle pasture
#

yes

#

[[Modding:Maps]] somewhere on this page

void aspen
trim sand
#

hey, anybody here familiar enough on the technical side of stardrop to know if logs or something exist somewhere?
currently Stardrop just doesn't launch, it starts before without any feedback closes again (confirmed via task manager) so i have no idea whats going on.

autumn tide
#

!log

ocean sailBOT
#

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

Please share your SMAPI log file. To do so:

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

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

autumn tide
#

:)

tribal ore
#

So, I understand that legacy event precondition codes ( /j /n /c, etc) are deprecated and not supposed to be used with new mods, but does anyone know why they disappeared from the wiki? Having them there would surely help support/upgrade legacy mods?

brittle pasture
#

they are still there (Deprecated section)

torpid sparrow
#

(what are those preconditions)

tribal ore
#

Clicking on it doesn't expand it. Maybe that's Brave being stupid, though

opaque field
#

Oh huh, they used to be but I just looked on the events page and it looks like there's an expandable drop down that's supposed to show the deprecated commands and their newwer counterparts but nothing shows when you click on the drop-down

#

The only one that seems to work is the deprecated precondition of sendmail

tribal ore
tribal ore