#making-mods-general

1 messages ยท Page 204 of 1

cosmic thorn
#

thx a lot

lusty elm
#

Feature Creep is attacking me SDVpufferchickcry, I want to flesh out the internals of the transit cave instead of just having it be a warp.

lunar dawn
#

Ok so basically if I included this clause and added in my specific fields. And added a spacecore dependency in the manifest, it would work just like that?

ivory plume
#

Central Station 1.0.0 is now released! SDVpufferparty

Nexus Mods :: Stardew Valley

Travel to other mods' destinations by boat, bus, or train. You can also get a ticket to the Central Station to change line, visit the gift shop, and more.

calm nebula
#

Yayyyyyy!!!!!!

lunar dawn
#

That sounds crazy

winter dust
#

Oh, are you the admin of the Stardew Valley mod category on Nexus?

ivory plume
#

Nope, I don't have any special access on Nexus. A mod author who left a while ago transferred their unused mod pages to me, and this is one of the IDs they had unused.

ivory plume
#

(You can see the history of any mod page on the 'logs' tab if you're curious, including changes before it was published.)

brittle ledge
#

Pathos are you going to publish to showcase? SDVpuffersquee

reef kiln
#

Does central station do anything without other mods? Like where can you travel to if you don't have other mods?

winter dust
#

How do you publish to the mod showcase again?

ivory plume
iron ridge
#

right click -> apps _. publish

reef kiln
#

Cool. At least it has a purpose till others add thier mods too it.

brittle ledge
#

it already has aquarium support, yeah?

ivory plume
#

I submitted changes for Stardew Aquarium and Downtown Zuzu so far, but they haven't published the updates yet.

winter dust
#

Well, Garden Village will be using it when I finally finish updating it.

ivory plume
reef kiln
#

I hope VMV uses it too. Less ticket boxes makes me happy.

ivory plume
#

Yep, I think the VMV author is already working on it.

hallow prism
#

Yes she plans to update today (europe timezone)

#

But schedules are very important not only for trains but sleep too ๐Ÿ˜„

#

(It will be an optional compat but should have some small bonuses like earlier train option on saturday)

calm nebula
winter dust
#

Okay?

ivory plume
#

(Don't worry, Central Station's trains run on time.)

frank stag
#

Could I ask a modding question here? I'm running into an issue

devout otter
#

If you are having troubles making mods, you are in the right place. If you are having troubles using mods, please report in #1272025932932055121

frank stag
#

Gotcha, it's a making mods question.

#

Basically I'm updating my mod, and I'm having a tileset issue when trying to load the map. It seems to not be using the default tileset in the Content folder. How do I make it do that?

ocean sailBOT
tribal ore
#

How often does CP check flags when loading patches?

#

I was considering putting a bunch of conditional patches into one include file (rather than putting the when condition on each patch), but I don't want things to get missed because CP hasn't updated the flag

frank stag
#

Whoops, wrong log. Lemme try again

uncut viper
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.

uncut viper
frank stag
ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Pro, with 15 C# mods and 1 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

tribal ore
#

Thanks, Button

uncut viper
#

it is "configurable" as long as you choose one of three values: OnDayStart, OnLocationChange, or OnTimeChange (might be slightly misremembering the names)

#

you cannot make them update any differntly from those three update rates

#

without the use of the patch update console command or another mod to call it for you (such as BETAS)

ocean sailBOT
#

When creating or editing maps in Tiled, one common error is tilesheet climbing, marked by red text containing "invalid tilesheet path '../../..'. This is caused by SMAPI not being able to find the tilesheets needed by the map file. To prevent this error, make sure that you have a copy of all necessary tilesheets in the folder containing your WIP tmx file. Copies of vanilla tilesheets can later be deleted, but must be present while working on your map.

If you get this error with a completed map, an easy way to fix it is to open your tmx file in VS Code or a similar text editor, find all of the places with <image source=, and remove the filepaths to so that only the tilesheet names remain. For example, if the code says <image source="Content (unpacked)/Maps/townInterior_2" width="512" height="64"/>, change it to just <image source="townInterior_2" width="512" height="64"/>.

frank stag
#

I see it's trying to pull the tilesheet from my stardew valley stuff folder.

uncut viper
#

this bot command describes that error and how to fix it

#

this happens when you, when making the tmx, load the tilesheet from a different folder than the folder your .tmx is in

#

and is why its recommended to either put your .tmx inside your unpacked Maps folder when editing it or to copy the tilesheets you need into your mod folder alongside your tmx, before loading the tilesheet images

#

but it is fixable

tribal ore
#

What she said. This tripped me up a couple of times, too!

#

Button, do you just memorize all of the bot commands, or do you keep a spreadsheet?

#

๐Ÿ˜›

uncut viper
#

the common ones i remember as they come up a lot

#

otherwise, i just discord search for words related to a bot command i know exists to find a post from governor with the command name in it

tribal ore
#

Nice. I was thinking you had a photographic memory or something because you are always so on point with those

frank stag
#

So I have tried opening one of my maps to change the source for the tileset. But it looks like it already is shortened to just the tileset name, not a directory.

uncut viper
#

(also, Greatscoot, are you following an old tutorial or are you updating an older mod, perhaps? I noticed CP says you're not using a 1.6 format)

frank stag
#

I am updating a mod I made back in 2022. I've used the new 1.6 versions of the maps and made the same edits to them, along with a few other things.

uncut viper
#

are you 100% sure that the .tmx you have open there is the same one in your mods folder, and that Stardrop isn't doing something weird there with an older version of the mod overriding it or something?

#

im not sure how Stardrop handles its profiles or moving things around but i know in the past for some people it can lead to weird issues sometimes

#

like is it actually using that exact profile folder of mods

frank stag
uncut viper
#

does it still give the same error if you put Content Patcher and your mod into your Mods folder and run it via StardewModdingApi.exe directly? there shouldnt be another scenario that leads to the error in your log

frank stag
#

I can try just running smapi instead of through stardrop

#

I'll try that

#

Ignore the lofi

uncut viper
#

would you mind sending your farm .tmx in here for me to take a look rq?

frank stag
#

It's probably an issue on all the maps honestly

uncut viper
#

you have a second tilesheet in it also called Paths with a tilesheet climbing source

#

its on line 2059 in the .tmx, dont know where it might appear in Tiled

#

did you accidentally embed the tilesheet twice?

#

(there are similarly duplicated sources for the other tilesheets its complaining about too around the same line number)

frank stag
#

Mmaybe? I might've been trying to use a different tilesheet... I forget

uncut viper
#

im not sure what the consequences are if any of having duplicated tilesheets like that

frank stag
#

ahh

uncut viper
#

it might just be fine if you fix all the duplicates to not tilesheet climb too, idk

frank stag
#

Sooo... should I just delete this?

uncut viper
#

i imagine deleting that would break your tmx as some stuff does use the duplicate instead of the first one

frank stag
#

Or just delete via tiled? I assume it's the ones with the empty tilesheet things

uncut viper
#

so for now id just try fixing just the source= part

#

if you want you can try deleting them via tiled and then fixing any tile errors that pop up

#

by replacing them with tiles from the real tilesheet

frank stag
#

whatever's easiest Confused

uncut viper
#

would depend on how broken your tmx was after removing the tilesheets, i suppose

frank stag
#

So just replace the directory in source with the tileset name? like source=path
?

uncut viper
#

it might not be broken much or at all and it might just be useless data in the .tmx

#

yeah just fix it like you would all the other ones so source="paths"

#

likewise for the duplicate spring_outdoorsTileSheet a little below it

#

and whichever other tilesheet it complains about in the log

#

you will have to repeat this for the other maps it complains about too

frank stag
#

So I'm gonna assume if I ctrl-f this directory I'm gonna find the other problem tileset entries

uncut viper
#

almost certainly

frank stag
#

I'll try replacing the sources and see how that goes

#

Thanks for help so far ๐Ÿ‘

#

One is named untitled tile sheet. That's... normal, right?

#

ahh but it's calling to the spring_outdoorsTileSheet

uncut viper
#

when it comes to vanilla maps im, not sure. i dont remember if they need to be in the same order or not. another map modder would know better than me how to answer that but i dont really do much map stuff

frank stag
#

Gotcha, guess I'll find out

uncut viper
#

the name doesnt matter in terms of the actual source, but im not sure if the game expects for example "untitled tile sheet" to be loaded before "paths" is for an existing map that uses them

frank stag
#

huzzah! The changes to the farm map worked

#

Loaded and working

uncut viper
frank stag
#

I think I just need to fix the Towns map now ๐Ÿคž

tribal ore
#

Is there a vanilla flag or something that I can check to see if the Dark Shrine of Selfishness has been used to erase an NPC's memory?

frank stag
#

Alright, I've fixed those errors. Maps seem to be loading properly now

#

Except for FarmCave

ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Pro, with 15 C# mods and 1 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

tiny zealot
#

but that won't tell you whether a particular NPC has been wiped, only how many times it's been done in general

devout otter
#

When we want to do a negative token within GSQ, do we just do it like this? !{{Trader|contains=Scholar}}

frank stag
lucid iron
devout otter
#

In this case, yes.

lucid iron
#

should work i think

#

dunno if u run into weird case things though

uncut viper
#

that should work fine

#

case shouldnt matter

#

if you're worried about case regardless CP has tokens for converting to all caps and all lowers

frank stag
#

I'm confused... is it supposed to be trying to run something in D:? I don't know how to read this error

devout otter
#

Alright then, thanks!

ivory plume
wanton pebble
#

Ah, the return of tile gid

frank stag
#

I think something weird happened with tilecount= cause it was set to 0

I ended up finding using the copy of the file I had in my Content(unpacked) folder instead. Seems to have worked, but one of the warps still isn't working going to Island_N

wanton pebble
#

also known as "ya didn't edit the map with all the tilesheets" as I've learned

#

what happens when you attempt to go to Island_N?

#

Blood in the log, or just nothing?

frank stag
#

[18:16:20 ERROR game] Warp to Island_N failed: location wasn't found or couldn't be loaded.

hard fern
#

๐Ÿ˜” i learned the hard way

wanton pebble
#

fairly certain it's IslandNorth then

frank stag
#

Doh

wanton pebble
#

I know Island West is IslandWest

hard fern
#

IslandSouth is where the resort is right?

wanton pebble
#

ye

hard fern
#

So the naming scheme is probably consistent

wanton pebble
#

it is

#

I cracked open IslandSouth

#

36 11 IslandEast 0 45 36 12 IslandEast 0 46 36 13 IslandEast 0 47 -1 11 IslandWest 105 41 -1 10 IslandWest 105 41 -1 12 IslandWest 105 41 -1 13 IslandWest 105 41 17 -1 IslandNorth 35 89 18 -1 IslandNorth 36 89 19 -1 IslandNorth 37 89 27 -1 IslandNorth 43 89 28 -1 IslandNorth 43 89 43 28 IslandSouthEast 0 29 43 29 IslandSouthEast 0 29 43 30 IslandSouthEast 0 29

#

so the place to port is IslandNorth

tribal ore
lusty elm
#

At least I dont think there is any way this map can tempt me with scope...%$&^ I just thought of another thing I could do....

tribal ore
lusty elm
#

I kinda maybe just added 4 more sub-maps, for a total of 10 maps now.

tribal ore
#

Sounds like you're cooking to me

frank stag
#

It wooooorks ๐ŸŽŠ

hard fern
#

I've been daydreaming about cave maps

tribal ore
#

Hey, in this very simple event script, why is the message not showing up after the viewport is set to show the player?
"{{ModId}}_Event_test": "{{ModId}}_PoolAmbient/-1000 -1000/farmer 5 8 0/viewport 5 4 clamp true/message \"MY MESSAGE HERE.\"/emote farmer 40/end",

#

I get the message showing up over a black screen

brittle ledge
#

So FYI, we got visual confirmation that it is being destroyed by an NPC. I am both embarrassed and amused to say that the cause is Jorts.

brittle ledge
hard fern
#

Cats, am I right... They destroy everything

tribal ore
#

The pause was enough, thanks! But is there any way to end the event without blacking out the screen?

brittle ledge
#

"My mod is being sabotaged by my other mod" is not a bug I expected to have, but it is very funny

tiny zealot
tribal ore
#

Foo. Alright, is there any way to make a message pop up when a player enters a map without going into an event?

brittle ledge
#

trigger action maybe? SDVpufferthinkblob

tiny zealot
#

can you tell us what exactly you are trying to do?

ivory plume
#

(Apparently Google Translate uses generative AI now, and will sometimes just make up translations that aren't part of the text? I just use it to double-check text from translators, but I guess beware.)

tribal ore
#

That's it

brittle ledge
#

I've heard DeepL has better translating fwiw

tribal ore
#

I was using a "lead in event" to play the message

lucid iron
#

pathos do u want a chinese translation

frank stag
lucid iron
#

ill do it by hand

frank stag
#

And I checked, there's nothing in building layer there

ivory plume
# lucid iron pathos do u want a chinese translation

Sure! Someone translated it into Chinese already, but there's one part they missed (and corrections are always welcome). I'll commit both new translations once I finish reviewing this one, and I can send you a link if you're interested.

lucid iron
#

this is faster than fansubs back in the day Dokkan

ivory plume
#

(Also it's fun to see how translators deal with some of the puns/idioms in the Central Station dialogues.)

lusty elm
low river
#

hi guys, im new here, i just install the smapi for steam, but when i open the stardew valley folder, i can't find the "stardewvalleymodding.exe". ๐Ÿ˜ญ

shut edge
#

[game] Failed loading texture cryomancer.walkingmushrooms for item (H)cryomancer.walkingmushrooms_MushroomizedHat: asset doesn't exist.

#

is the (H) stuff messing up my files getting loaded or something? haven't done hats before

ivory plume
lusty elm
uncut viper
shut edge
#

o lol

#

thanks

uncut viper
#

the typo exists in both the hat entry and the Load at the very top of your file

shut edge
#

ah cuz i named the png wrong and then copied it

#

figures

frank stag
#

lol I just scrubbed the building layer with my eraser and i think it worked

tribal ore
#

FWIW: looks like I might be able to add a message to the Buildings layer of the map file. Going to try that now

ivory plume
#

(@lucid iron They just sent corrected translations though; I'll push the updated version in a couple of minutes.)

lucid iron
#

DokkanStare it looks solid yes

low river
lucid iron
#

if i got anything i'll just send PR once the initial tl settles down

shut edge
#

do i need an item data entry for a hat too or nah?

lucid iron
#

hats go on data/hats right

shut edge
#

think so

lucid iron
#

are you trying to do anything weird with it

#

i don't think you need or want a Data/Objects entry for hat

shut edge
#

nah

#

it's still not seeing the texture, somehow

#

[game] Failed loading texture cryomancer.walkingmushrooms for item (H)cryomancer.walkingmushrooms_MushroomizedHat: asset doesn't exist.

#

sure looks like i got the typos eliminated

#

maybe it needs that other \ thing

lucid iron
#

ur texture is wrong

shut edge
#

yeah that's the problem, needed the \ stuff in the hat data instead of /

#

the double slash

lucid iron
#

yep / is taken

#

i suppose if its ur custom texture u can load it to like

#

{{ModId}}-hat

#

to dodge this problem

shut edge
#

"{{ModId}}_MushroomizedHat/{{i18n:MushroomizedHat.Description}}/true/false//{{i18n:MushroomizedHat.Name}}/0/{{ModId}}\assets\MushroomizedHat"

#

works

#

hmm can a hat get an offset to be higher up?

lucid iron
#

not really, u will have to draw it higher

#

anything fancier is fashion sense zone

shut edge
#

ok

#

hooray

tiny zealot
#

cryo, hear me out.
can we find a way to have the mushroom hat fuck up your directional controls every 20 seconds or whatever it is

shut edge
#

if anyone knows how i'd love to know

uncut viper
#

BETAS can do it

tiny zealot
#

button to the rescue

uncut viper
#

ItemEquipped -> Add mail flag -> DelayedAction for 20s -> If mail flag, add weird control buff (im assuming thats a thing already?)

#

ItemUnequipped -> Remove mail flag

lucid iron
#

why do you assume weird control buff to be a thing bolbphase

uncut viper
#

If mail flag, add weird control buff and also set another delayedaction again*

lucid iron
#

i dont remember this

uncut viper
#

bc ichor said "whatever it is"

#

so naturally i presume there is an "it"

tiny zealot
#

i was gonna ask why betas can fuck up your controls though

lucid iron
#

i thought ichor is referring to earthbound

#

or was it mother 3 idrm

uncut viper
#

ok then BETAS harmony patch the button pressed events

shut edge
#

it was in earthbound yea

tiny zealot
#

"it" is how long the delay is between swapping around your d-pad directions

shut edge
#

i'd also like to get an effect to make everything pink like this https://www.youtube.com/watch?v=d3TEf_-d59I

Because a lot of MOTHER 3's Chapter 7 can be completed out of order, the player can reach Tanetane Island without a full party. This is a showcase of the differences that occur when not everyone is together to suffer through the hallucinations!

โŸ Dark Aspects of MOTHER/EarthBound series playlist: tinyurl.com/k2c6pp58

โŸ Subscribe: https://www.y...

โ–ถ Play video
#

but i don't think that's easily done either

lucid iron
#

oh well, what if u just invalidate spring_outdoors with a pink version

uncut viper
#

a custom C# debuff to scramble controls probably isnt difficult

shut edge
#

that's an interesting idea

tiny zealot
shut edge
#

"When a party member is mushroomized, the directions the d-pad controls will rotate 90 degrees every few seconds"

uncut viper
#

itd actually be really easy with the ButtonPressed events and suppressing the original if the debuff is active

shut edge
#

would anyone like...want to wear a hat that does that tho lol

uncut viper
#

no but id want to give it to my partner without telling them what the hat does

shut edge
#

haha

lucid iron
#

its funny

#

shroom me right up

shut edge
#

well ichor if that's within your ability to make happen i'm down

uncut viper
#

(i also dont know anything about earthbound, is also why i assumed "it" was an existing debuff)

shut edge
#

yeah it's a status effect mushroom enemies can put on you

#

messes up controls until you find someone to buy the mushroom off your head

teal bridge
#

Reversing controls is maybe a little friendlier than scrambling them entirely, and there's lots of precedent for it.

#

(I never played the Earthbound games but the Mana series did that)

tiny zealot
#

it's not a full scramble. if memory serves, it picks randomly between reversed, 90 degrees clockwise, and 90 degrees anti (and normal)

shut edge
#

yeah wiki says it's just 90 degree changes

tiny zealot
#

it's been a bit since i played mother 2

shut edge
#

i'm gonna take a break to do some dishes but PM me if you wanna talk about it

tiny zealot
#

cool

shut edge
#

in fact i'll send you my current files

tawny ore
#

Just reading the words Mother 2, I can hear all the sound effects in my head

vernal crest
#

I love that there's no music in the game on rainy days. Listening to just the rain is so soothing. Especially when I'm actually alt-tabbed out of the game doing dev work lol

vernal crest
#

I would probably get extremely confused if I listened to that because I would forget about it and then try and figure out where the bwomp noise was coming from lol

shut edge
#

haha yeah

brittle ledge
#

hat that adds touch fuzzy, get dizzy when

echo onyx
#

Hello! Might be a dumb question, but is there some way to reference what's needed here so VS stops warning me? It builds fine so idk if it's just normal

lucid iron
#

do u have <PackageReference Include="Pathoschild.Stardew.ModBuildConfig" Version="4.3.2" />

#

in csproj

lucid iron
#

seems like some issue with the IDE language server then

#

im not really sure what do since i dont use VS but i guess double check if ur gamepath is right?

gentle rose
echo onyx
#

adding gamepath fixed it, I thought it already had it as when building it automatically found it, thanks for the help!

clear bough
#

Hi, I was wondering if a custom NPC can be involved in two custom areas. I'm creating one for Cape Stardew and Stardew Peaks.

#

Also, has anyone used Miss Coriel's NPC Creator 3?

gentle rose
#

and afaik the npc creator hasnโ€™t been updated for 1.6

clear bough
#

I'm on the Cape Stardew server and they're okay with it. I'll have to check on Stardew Peaks. Is there an updated NPC creator tool?

#

Or just the tutorial?

gentle rose
#

not that Iโ€™m aware of. The tutorials are the best way

vernal crest
#

!npc There's fireredlily's NPC creator spreadsheet and Avi's template.

ocean sailBOT
#
Creating a Custom NPC

Keep in mind that making NPCs is a complex process that requires learning many different aspects of Stardew modding.
Here are a few links that can help get you started on all that you need to know:

winter dust
#

You can also use Miss Coriel's NPC Creator tool, I think that still works.

latent mauve
#

Unless she recently updated it, Miss Coriel's NPC creator is NOT updated for 1.6 yet

#

It's advised to use the new 1.6 Data/Characters data model when possible because of the new features.

winter dust
#

Sometimes I wish there was a STF converter.

proven spindle
#

Shop tile framework? I think there is one in the converters list

#

!converters

ivory plume
#
#

Tentatively changed it, but we can always change it back if people don't like the new one.

frank stag
#

I cannot find this shadow in Tiled on the map at all. It's not on any of the layers! What is happening? Confused

rigid musk
#

Does anyone know how to use a portrait in an event when there isn't actually an NPC attached to it?

#

Sorry about your shadow issue I have no clue what's going on there

frank stag
#

I even went through and used the eraser on every layer on these tiles to be sure. Besides Back, of course.

haughty charm
#

Building shadows are hardcoded

unique sigil
#

No, that's the cliff shadows from spring_outdoorsTileSheet

#

They are placed on the Back layer

frank stag
#

Wait that isn't a building shadow

unique sigil
#

i don't really know what you're doing here though, so I can't help any further SDVpufferthink

frank stag
#

I'm trying to get rid of this shadow that's a leftover from the cliff in the FourCorner farm.

#

I also can't use the hoe there.

final arch
#

that should be in tiled

#

can you share the map?

frank stag
#

my cat was typing

unique sigil
#

they're right there in the vanilla map (tiled preview)

#

i don't know why it's not in yours SDVpufferthink

frank stag
#

Funnily enough, I'm updating my mod, and I edited the vanilla map to get this. I had this problem on the map from 1.5.6 as well lol

#

I feel like I'm going crazy

unique sigil
#

Do you have the latest unpacked game files?

#

it's good practice to re-unpack the game with every version update

frank stag
#

I do but I was making my edits using that. I'll have to rerun the tool again

#

I'm coming back from not playing since 2022, so I'm a little out of it. And this is the only modding I've ever done ๐Ÿ˜…

#

huh... this "ShadowRemove" effect mentioned wouldn't have anything to do with it, right?

final arch
#

no

rigid musk
#

Is there anyone who's good with events around tbh_seen

final arch
#

technical or... idk, story-telling wise? :p

rigid musk
#

Technical - I'm trying to figure out how to use a portrait for a character that isn't actually an NPC... or a character really, in the cutscene

final arch
#

can you do patch export maps/Farm_FourCorners and check that?

#

and with patch summary full check that no other mod patches it?

#

(map -> maps, forgot an s)

frank stag
#

Well, I just tried using the unpacked vanilla fourcorners map, and removed the shadows there too. Loaded it by replacing my modded fourcorners map, and it's ALSO still there

#

Behold, video proof I am not crazy

final arch
#

or maybe it works if you just add it as temporaryCharacterand have corresponding images in Characters and Portraits

frank stag
#

Maybe someone else should try doing it on theirs. Maybe it's actually a glitch or something

#

But I swear, this ALSO happened on my old 1.5.6 map too. I remember PepeChrist

final arch
#

is the greenhouse near there in vanilla?

#

yeah it is lmao

frank stag
#

Oh no way

final arch
#

you need to edit the vanilla greenhouse map replacement texture

frank stag
#

It's the greenhouse shadow lol

final arch
#

idk its proper name xD

frank stag
#

But my greenhouse is... not there. So why is this STUCK here?

#

Did I mod that too? Can you not move the greenhouse? I don't remember

final arch
#

vanilla 1.5 (iirc) allowed moving the greenhouse. so vanilla has map patch that is applied to the place where the greenhouse stood if you move it

#

before, there wasnt a "ground" below the greenhouse in the map because you couldnt move it

#

thats the one you want to edit

frank stag
#

oh my god that's hilarious

#

I feel so silly right now

final arch
#

it's def a non-obvious mistake tbf ๐Ÿ˜„

vernal valley
#

how ? I'm waiting for loading but it doesn't enter the game

final arch
frank stag
#

We did it ๐ŸŽŠ party_wizard

#

Thank you guys for helping me figure all that out!

unique sigil
dusk mulch
#

i will be making a log of my experince making a new location mod (using central station)

Log 1: Impending doom. Knowing I will have to make all this stuff and I am going in the deep end.

gentle rose
dusk mulch
#

"cheeto"?

#

what is that

vernal crest
#

Mod author, the orange role we have.

dusk mulch
#

Ohhh

gentle rose
#

sorry, should have clarified that haha

dusk mulch
#

all good lol

vernal crest
#

If you take a look at the threads in this channel or #making-mods-art you'll see that a bunch of us have individual threads for our own stuff. It lets us be more self-focused with what we post without annoying or overwhelming the main channels or having our messages get lost if we want to refer back to them.

uncut viper
#

i use mine for documenting my bad ideas in real time as I discover how bad they are

vernal crest
#

Iro and Button have both got one in here and I've got one in art. I don't think there's any rule behind which channel to make a personal thread in, we seem to be spread across the channels pretty randomly.

gentle rose
vernal crest
#

These days I am mostly using mine to set Uber reminders for myself haha

gentle rose
#

I did mine here because I don't use making mods art haha, so just pick whichever you prefer!

vernal crest
#

But another thing that threads are useful for is letting you brainstorm extensively with other people without totally taking over a channel. One time I had like 4 or 5 people helping me think through something for Hiria across several hours and that would've been really extreme to do in a channel but worked really well in my thread.

winter dust
#

Is there an event creator tool?

gentle rose
# winter dust Is there an event creator tool?

not that Iโ€™m aware of, but even if there was Iโ€™d recommend against using it. Most people here have the ability to figure out the event syntax if they look at the tutorials and ask questions for help, but if you use a tool you wonโ€™t know how to fix things if they break and we will have trouble helping you (also you wonโ€™t learn how to do it for next time, so youโ€™ll have to use it every single time)

vernal crest
#

We do have some good event guides on the modding wiki though.

winter dust
gentle rose
#

not sure a maker would help with that part tbh since youโ€™d still be choosing what it does itself so youโ€™ll still have to test, go back, edit, test again etc

vernal crest
#

I can't picture how a tool would take away much of that work since all it would be able to write for you is the actual commands like speak or move and that's pretty much the smallest part of writing an event anyway.

velvet narwhal
#

there's a bunch of niche cases in event making that you just inherently understand when you're writing them yourself, like the whole showFrame and a move command making the npc stand in their walking animation, that's inherent in understanding that faceDirection forces the standard stand + breathing

#

and tbh if you write enough events you'll eventually get the hang of the pacing, how things feel in terms of pauses, how fast npcs move, and your debugging drops down from the tens to just like, a handful woopsShrug

inner harbor
#

Already switched my buslocations compat across to central station ๐Ÿ™‚ i am using minecarts for an east scarp bus link so ive also added Central Station to that. Hope its okay.

hallow prism
#

in the meantime i wish nexus servers would be as reliable as central stations trains

#

because my upload is taking forever and a bit

#

but yes lemur, i believe compat is welcome

inner harbor
#

I added it as a minecart entry on the ESBusNetwork

#

Which functions like a minecart but looks like a bus

#

Prob gonna add some cameos too. Its fun ๐Ÿ™‚

#

Can now ditch bus locations

hallow prism
#

then is is a compat with CS?

inner harbor
#

Esr will be, yeh

hallow prism
#

ah ok! i misunderstood what you meant

inner harbor
#

No worries, im rambling! (EsBusNetwork uses minecarts which Central Station doesn't touch so for consistency sake i had to add it manually). I also added the destinations to Central Station (Scarp Crossing and Zuzu suburb).

vernal crest
#

I don't know how to get the mod build package to recognise that my bundled content pack is meant to have a version number of 1.0.1 because I'm updating the mod (and have already changed the C# manifest to 1.0.1). Please someone explain what I am doing wrong?

molten owl
#

idk if clean the solution and rebuild would help in this case

final arch
#

weird error ๐Ÿค”
does one manifest depend on the other and are the versions adjusted there too?

#

tho thats not what the error says anyway

vernal crest
#

The versions are the same in both manifests and it happens both with and without the dependency. It's checking the CP manifest because of this line in the csproj <ContentPacks Include="[CP] ApollosTrickOrTreat" Version="$(Version)" /> but I don't know how to make it understand that $(Version) should be 1.0.1 now instead of 1.0.0.

#

I haven't tried cleaning, I don't know what that is. Do I need to back anything up before I do that?

molten owl
#

oh

#

it clean your bin folder

vernal crest
#

That should be fine so I will try that, thanks

#

No effect on the error, unfortunately.

molten owl
#

im still inexperienced in this field so i can't help that much on this SDVpufferwaaah

vernal crest
#

That's okay, thank you for trying!

molten owl
#

not too sure about detail of $(Version)

#

but usually in my project i used to have this

<PropertyGroup>
  <Version>1.0.0</Version>
</PropertyGroup>

in my csproj for version control

vernal crest
#

Well, adding that worked, so thank you!

mellow karma
#

Hey, is it possible to change the fruit position on a custom fruit tree?

brittle pasture
#

I dont think it's released yet

mellow karma
#

Ok thanks, will take a look into C#

wanton pebble
#

for those who remember game/C# code, at what point does the FormerCharacterNames in Data/Characters run?

#

Only on swap from 1.5.6? Any time on save load?

royal stump
#

it's checked each time any save loads, from the look of things
SaveGame.Load -> getLoadEnumerator -> loadDataToLocations-> MigrateLostVillagers -> GetFormerNpcNames

wanton pebble
#

Hmmmm

rigid musk
#

Does anyone know where the dialogue for the level 100 Skull Caverns event is stored? And also what the event ID would be

wanton pebble
#

Alright. I'll look around at the code. The short version is I'm troubleshooting why a couple of my NPCs aren't properly migrating. They didn't for a while, then Pathos fixed it because their prior home didn't exist and he managed to get it working, but for whatever reason even though Data/Characters is exporting properly and my save only has their OG counterparts in the save file (I checked for the internal name of the new versions in my save and they DNE in the file) I'm still getting them as unmet instead of 10 hearts

#

And I really, really, really don't want to have to cheat them there

devout otter
#

(And SkullCavern_100_event.)

rigid musk
#

O: thank you!

wanton pebble
#

facepalm found the issue, but I'm not sure why it happened and it makes me a little sad

#

Gimme a moment to retest something to make sure it was likely an error on my end somehow rather than a bug

#

Huh. Okay. I somehow managed to do two mistakes, neither of which I saw prior. In short:

  • I managed to have two copies of characters in the save file and saved
  • My original search for the internal IDs in the save file didn't come up with anything when I did my usual search, but doing a "Find in files" revealed that the new version of the NPC did, in fact, exist in my save
#

Good news is I've only played one day since the previous migration, so I only lose one day! The bad news is the day I thought I broke the mod curse I actually didn't and all that is now gone again ๐Ÿฅน

zealous arrow
#

how do I make mods?

wanton pebble
#

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

zealous arrow
#

thanks

nova gale
#

does anyone have an example of the new food buffs added in 1.6.9 being used? I used the names on the wiki and opened the code and confirmed them in the BuffEffects class and they seem to match, but the buffs never seem to apply when eating the food

acoustic summit
#

Which buffs specifically are you referencing? I don't know which buffs were added in 1.6.9.

nova gale
#

Object buffs can now also set these buff attributes: CombatLevel, AttackMultiplier, CriticalChanceMultiplier, CriticalPowerMultiplier, Immunity, KnockbackMultiplier, WeaponPrecisionMultiplier, and WeaponSpeedMultiplier.

#

I've tried CriticalChanceMultiplier, WeaponPrecisionMultiplier and WeaponSpeedMultiplier, and so far those didn't seem to have an impact, I may add the rest just to see

gray bear
#

apologies for the diversion just wanted to share this

acoustic summit
#

Well, it isn't used by default

#

Which wiki page are you referencing? I really don't think those buff effects are new to 1.6.9

nova gale
#

whats new is that you can add them via object buffs

#

(previously they were weapon buffs)

#

I wonder if I have to set those ones by Id, instead of using the CustomAttributes section

#

ooh, the format may have changed, there is a special method for reading the old format:

/// <summary>Get the main effects in the pre-1.6 <c>Data/ObjectInformation</c> format.</summary>
/// <remarks>This is a specialized method and shouldn't be used by most code.</remarks>
public string[] ToLegacyAttributeFormat()
#

oh, nm

acoustic summit
#

Just checked; Editing them as food buffs def work

#
    "Action": "EditData",
        "Target": "Data/Objects",
        "Entries": {
"921": {
            "Name": "Squid Ink Ravioli",
            ///The rest cut for length
            "Buffs": [
                {
                    "Id": "Food",
                    "BuffId": null,
                    "IconTexture": null,
                    "IconSpriteIndex": 0,
                    "Duration": 1000,
                    "IsDebuff": false,
                    "GlowColor": null,
                    "CustomAttributes": 
                        "WeaponSpeedMultiplier": 100,
                        "CriticalChanceMultiplier": 600,
                    },
                    ///The rest cut for length
    },``` 
This made me crit just about always and swing super fast using a galaxy hammer after eating squid ink ravioli, for example.
nova gale
#

did it show on the food as a listed attribute and give you an icon?

#

if not, maybe it's working for me as well

acoustic summit
#

No most of the later effects lack icons or effect descriptions.

nova gale
#

ah ha, thats it then, I was expecting to see them listed on the item like attack + and defense + etc

acoustic summit
#

You might be able to get that effect by making a new Buff with those effects and referencing it via ID, or atleast provide a tooltip to say what the real effects are.

nova gale
#

yeah, I'll give that a shot

acoustic summit
#

Also I forgot to update the buffs section in the food wiki when I updated the buff's page itself v-v

#

Thats why they aren't synced, which I will now fixxx

nova gale
#

oh I hadn't even looked at the Buffs page

tropic walrus
#

In what conditions can previously seen or expired conversation topics for NPCs repeat, if re-added via trigger actions and such? It seems wildly inconsistent to me

ivory plume
#

Should be always; the game doesn't check (or track) whether a conversation topic was previously active.

#

(Central Station is trending on Nexus! SDVpufferowo)

nova gale
#

fyi 8AwA8 the description and name show, but the listed effects are still just +3 Attack

#

but weapon speed for sure has increased, if I use a slow weapon it's quite obvious

molten charm
#

i can sell the seeds tho ๐Ÿคทโ€โ™‚

gray bear
#

try adding "Type": "Basic", and seeing if that fixes it?

molten charm
#

Ok i'll try it

gray bear
#

iirc type is required

brittle pasture
#

Can confirm

calm nebula
#

Each individual npc's dialogue per conversion topic does not

#

Unless you unset the <npc name>_<conversation topic> mail flag

calm nebula
#

There are no monsters in vanilla with a dodge chance

brittle pasture
#

well SVE and RSV does add monsters with dodge

#

SVE specifically gives the infinity weapons 100 precision, making them basically mandatory when fighting the 50% evading freaks of nature in the badlands

#

but yeah no effect in vanilla

molten charm
brittle pasture
#

did you make sure to spawn new items

#

existing items wont have their Type updated

#

trash all stacks and try again

tender bloom
latent cape
ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Pro, with 14 C# mods and 12 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

chrome mountain
#

Stardew Aquarium 2.2.0 updated to using the new Central Station mod! (thanks Pathos)
https://www.nexusmods.com/stardewvalley/mods/6372

Nexus Mods :: Stardew Valley

Stardew Aquarium adds an Aquarium to Stardew Valley. Here you can donate your fish to animated tanks for rewards. Includes a large new beach location with new custom shops.

ocean sailBOT
#

When creating or editing maps in Tiled, one common error is tilesheet climbing, marked by red text containing "invalid tilesheet path '../../..'. This is caused by SMAPI not being able to find the tilesheets needed by the map file. To prevent this error, make sure that you have a copy of all necessary tilesheets in the folder containing your WIP tmx file. Copies of vanilla tilesheets can later be deleted, but must be present while working on your map.

If you get this error with a completed map, an easy way to fix it is to open your tmx file in VS Code or a similar text editor, find all of the places with <image source=, and remove the filepaths to so that only the tilesheet names remain. For example, if the code says <image source="Content (unpacked)/Maps/townInterior_2" width="512" height="64"/>, change it to just <image source="townInterior_2" width="512" height="64"/>.

latent cape
flat sluice
#

Hi,
I was testing schedules for my NPC Eleanor mod (full release coming soon!) and found out that my code is not working properly. For the schedule that doesn't work, I have this when condition:

        "On/off": "on",
        "HasSeenEvent |contains=StrojvedouciDenis.Eleanor_Intro": false
      }```
The first one should be OK, as I have that config set to on. But for some reason, I suspect that there is a problem with the second one. As I didn't trigger that event, I expect that `StrojvedouciDenis.Eleanor_Intro` (the name of the event) is set to false --> my conditions are set properly.
However, the schedule won't work/load properly. I expect my NPC to spawn and thus be on tile `23 6` on the map `Custom_WizardBasement` (map added by SVE), but instead, it is on its normal spawn location, tile `10 17` on the map `WizardHouse`.
Could someone help me?

schedules.json: https://smapi.io/json/content-patcher/c7eb40482b7c4633880a4bcf3543c0e9#L24

log file: https://smapi.io/log/3eb7fab692884a059e164c429829f21b

full mod code: https://github.com/DenisSilent/Eleanor/tree/main
GitHub

This Github repo is a repo for upcoming NPC Eleanor, which is a mod created by StrojvedouciDenis (a.k.a. DenisSilent or Denis001 (at Discord)) for game Stardew Valley. - DenisSilent/Eleanor

ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Pro, with 64 C# mods and 31 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

brittle ledge
nova gale
proven spindle
flat sluice
#

So, that sadly didn't help...

proven spindle
#

Does that schedule work when there aren't any when conditions?

calm nebula
#

As a general rule

#

You should either use all 0 schedules

#

Or no zero schedules

#

Because the code that handles zero schedules in the game is fuckinf bonkers

flat sluice
flat sluice
#

Maybe it needs a tile that the NPC would move to? (like that setting only the spawning point by this method is broken/not enough)

calm nebula
#

No, you use them in some blocks but not others

flat sluice
proven spindle
flat sluice
proven spindle
#

Yeah, that's mostly to keep the code from getting confused when switching between schedules

#

For the schedule you're currently testing (on/off set to 'on' and seen intro event set to false), can you add another step to it so the character has somewhere to go? To check if it's just the spawning that's the issue or the entire entry

#

One more thing to try: use 'spring' instead of 'default'

flat sluice
flat sluice
brittle ledge
#

a schedules mean they arrive at that time, not that they leave at that time, so I imagine your NPC is having problems getting to that spot in ten minutes unless they're on top of it.

inner harbor
#

NPCs don't like moving at 600 either, which they'd need to do to get anywhere a610

inner harbor
echo onyx
#

Is there someway I can censor the password with Generic Mod Config Menu or do I need to do custom code?

uncut viper
#

might try the formatAllowedValue option, though im not sure if that'll still work if allowedValues is null

#

assuming you are in C#

#

if you're not in C# there's nothing you can do

royal stump
#

looks like that's discarded in the API without allowed values, so yeah, that'd need a C# custom field

if (allowedValues?.Any() == true)
  this.AddChoiceOption(mod, name, tooltip, getValue, setValue, allowedValues, formatAllowedValue, fieldId);
else
  this.AddSimpleOption(mod, name, tooltip, getValue, setValue, fieldId);```
teal bridge
#

Even with code, I don't think it's possible in GMCM unless you're willing to Harmony-patch it.

royal stump
#

I'd assume AddComplexOption could do it, if you recreate the text field features but only draw * characters

#

(never actually touched that myself, though, and none of this applies if it's for a CP pack)

teal bridge
#

True, though you'd have to reimplement the entire event loop, handle virtual keyboards, etc. Probably more work than a patch.

#

Keyboard input is one of the significantly messier parts of Stardew's already-messy input logic.

nova gale
#

interesting, buff duration on objects is in in-game minutes while buff duration on the Buffs themselves are in milliseconds ๐Ÿ˜›

echo onyx
#

thanks for all the answers! I ended up doing the least headbreaking solution and just show it as * when opened, even if it doesnt censor while youre writing, it should suffice

teal bridge
#

Errr, you know if they resave the config it's going to overwrite the password, right?

#

It's expected in a UI that a password showing up as asterisks will still be preserved if you OK/Save out of the UI, in this case it will replace the actual saved password with asterisks.

sour sleet
#

My custom NPC is saying '...' when gifting her certain things (eg. an apple) but has the other likes/dislikes etc working normally. Any idea why this is happening?

hard fern
#

!json send relevant json links?

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.

teal bridge
#

You might actually be able to work around that issue by by checking if value is just asterisks in setValue, and if so, ignoring the save entirely and keeping the old password.

(That being said, quite frankly I feel that this is all a little silly considering that the config.json is saved in clear text)

hard fern
#

So that would be your default.json if you did i18n

#

And wherever your gift tastes are

sour sleet
#

the gift tastes are included in this json

hard fern
#

You mentioned apple, but what else does it happen with

sour sleet
#

I'm pretty sure it's things that aren't included in her gift tastes as an item id. A friend playing with my mod told me about it but theyre currently asleep so can't ask

hard fern
inner harbor
#

How is the egg in incubator handled and can the Sprite be changed? For an Ostrich incubator with different egg.

sour sleet
nova gale
#

the incubators are just machines

lucid iron
#

i don't think you can add a second incubator though bolbthinking

#

unless ostrich incubator is nicer than the regular incubator

nova gale
#

you probably can, but the wiki and release notes are pretty specific that animal houses shouldn't have multiple

lucid iron
#

no i mean, the effects of "incubator" is guarded behind some checks for their specific Id

nova gale
#

oh, I think 1.6 fixes that

#

"IsIncubator" is now a flag on the machine

#

I have a custom incubator in my cave building

hard fern
lucid iron
#

yep i double checked

#

its only slime incubator (thats still hardcoded)

nova gale
#

are you trying to modify the vanilla incubator in the coop Lemurkat or a custom one?

#

with a custom one I think you could do it with multiple outputitem rules and different "IncrementMachineParentSheetIndex" values (with conditions to pick the correct rule based on the input)

#

but wth the vanilla one I don't know that would work

#

you might be able to handle it with a conditional working effect though

#

actually no, same problem, you can replace the frame with that, but not the base sprite

dusk mulch
#

How can I design a hill? I am having quite a bit of trouble

nova gale
#

making-mods-art might be a better room, but I had the same issue and ended up making all my "hills" flat so I could use vanilla assets ๐Ÿ˜›

nova gale
#

I mean flat ๐Ÿ˜›

inner harbor
dusk mulch
#

ohhhhh

#

interesting

#

ty!

nova gale
#

yeah, it's just an alternate texture on TileSheets/Craftables for the version with the egg, but interestingly the Ostrich Incubator doesn't use "ShowNextIndexWhileWorking" so I'm not sure how it handles moving to the next index

#

ah, I bet you could add a workingeffect and use a TemporarySprite record that was conditional

#

for your egg input

#

let me try really quick, one sec

dusk mulch
#

i wll just do it as a bus instead of a train

nova gale
#

incubators are a bit weird because their inputs are dictated by the building, n ot the machine

brittle pasture
#

I think either way you'd need to extend the craftables tilesheet to achieve the effect you want

#

or make the ostrich incubator use your own tilesheet (and break compat with retextures)

lucid iron
#

i vote for make second big craftable

#

it can be crafted back and forth from ostrich incubator it's fine

nova gale
#

so far it doesn't seem to respect an input condition, but I may have messed something up

brittle pasture
#

to answer the original question (since it doesnt seem to have been answered from backreading) the sprite index moving is handled by animal data's IncubatorParentSheetOffset field

dusk mulch
#

What tilesheet is the crops in? Like when you plant a crop there has to be a tilesheet for them.

brittle pasture
#

TileSheet/crops

dusk mulch
#

Thank you!

inner harbor
#

It all sounds very complicated. Maybe ill just leave it as is.

uncut viper
#

@devout otter hey, since i know you've been using BETAS DialogueBox stuff recently, if its not too much trouble, could I ask you to give this, er, beta version of BETAS a test to make sure that what you've done still works when you get the chance? I had to fix a bug with DialogueBox which involved changing some things in the parameters and logic of the command that should hopefully not be a breaking change and not require any action on your part, but if it does break things for you it would be good to know so i can see about making it perfectly backwards compatible, as i dont wanna break any of your stuff like right after i helped get it working lol

lucid iron
ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Home, with 33 C# mods and 35 content packs.

lucid iron
#

it doesn't look like my fault (probably) and instead their issue is that the item query ALL_ITEMS in general doesn't work for them

#

any guess for what could cause this?

uncut viper
#

it's a very strange error, stranger that is happening specifically with furniture it looks like?

#

maybe something to do with Calcifer? that does stuff with furniture right?

calm nebula
#

No, that means two things didn't deterministically sort for some reason

uncut viper
#

yeah but only for furniture?

calm nebula
#

Yeah no idea

uncut viper
#

that's why my mind went to Calcifer

calm nebula
#

I'm doubtful Calcifse patched that

#

I would check the vanilla logic for holes

lucid iron
#

yea i dunno, i went back and asked for harmony summary

calm nebula
#

(Sorry. This puffle is tired.)

lucid iron
#

originally i thought its the Magical Witchy Kitchen mod being migrated wrong

calm nebula
#

Otherwise I would be more helpful

lucid iron
#

well u should eep instead of being here

calm nebula
#

It's not very easy to give different value to comparer

uncut viper
#

im not even sure how I would if I wanted to, short of literally overriding the comparison operator on a class

#

even then though I imagine it should be sorting strings anyway

lucid iron
#

say how do i have a sub menu in a menu for vanilla

calm nebula
#

the fuck is (F)1126 and (F)1308

#

okay

lucid iron
#

no...

calm nebula
#

ugh, there's a way that I don't recall, it's like childmenu or something

lucid iron
#

i just want to page me item grab menu LilyDerp

gentle rose
#

I think crie is good second step

lucid iron
#

the only reason im not using stardewui is cus this menu is like

#

just simple enough that vanilla should work

calm nebula
#

this seem sketch to me

uncut viper
#

well. is it working

lucid iron
#

rn yea

#

for 1 inventory

#

i was hoping to page the inventories

#

somehow.

uncut viper
calm nebula
#

so, determinism isn't exactly it

#

I'm looking for a location where <left, right> would give 1 and <right, left> would also give 1

calm nebula
#

you could add to a menu's _childMenu

gentle rose
#

a bool called numโ€ฆ

ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Enterprise, with 20 C# mods and 3 content packs.

dusk mulch
#

(I just want the error explained to me, not solved please)

uncut viper
#

something would have to both Start and Not Start With "Floor Divider" for it to possibly return 1 there, I think

hard fern
#

hm. so this is. unexpected? Is it because i left their gender as "undefined" in the character data?

calm nebula
lucid iron
#

yea its gendered

calm nebula
#

num typically means "no info for variable name"

lucid iron
#

there was some stuff about ungendering this

hard fern
#

i know the game defaults to female for things so i was just surprised to see it as boyfriend

calm nebula
#

it...varies in its defaulting

#

there's not really nb support tbh

gentle rose
uncut viper
#

empty/jank TileData somewhere in the map, I think

dusk mulch
gentle rose
#

youโ€™d literally just need to set an i18n key for your npc with whatever that npcโ€™s override is

uncut viper
#

yeah that'd do it lol

hard fern
gentle rose
#

so it could literally be anything you want and it will only override that npc

hard fern
#

ooh

#

neat

uncut viper
#

I want that so I can override my NPC to say "Who's asking?"

gentle rose
#

have I ever sent my maru ones here lmao

uncut viper
#

i don't recall but I don't recall much usually

gentle rose
brave fable
gentle rose
#

so yes, to answer your question, you can do whatever you want for the label pffft

brave fable
#

and the decompiler just figured that was for an int var num

dusk mulch
#

See kids? This is why you should remember to put lighting in your maps! (and make sure everything is on the correct layer)

uncut viper
#

maru identity crisis

devout otter
gentle rose
devout otter
#

The manifest is still version 2.12.0, right?

calm nebula
#

no, compareto should be fine?

#

hopefully

#

I have no idea

hard fern
#

where is the default pendant acceptance line stored?

calm nebula
#

Calicfer does not patch the relevant function

uncut viper
calm nebula
#

that's fun

#

I learned that the runtime, if you're sorting an array small enough, uses HeapSort

lucid iron
#

im sorry for distracting u from eep atra

brave fable
#

go to sleep? oh sorry i thought u said go to heap

calm nebula
#

System.Comparison`1[StardewValley.Objects.Furniture]

#

I might even be looking at the wrong damn comparer

#

how do context tags...work

#

on funriture

gentle rose
#

contextually

calm nebula
#

is furniture an object

lucid iron
#

no was incorrect, yes

uncut viper
#

it is a SObject

#

it is an Item which is an Object

calm nebula
#

does furniture set .Category

lucid iron
#

public class Furniture : Object, ISittable

uncut viper
#

looks like an Object to me

calm nebula
#

argh, this should all be deterministic

uncut viper
#

the category is set in the Item part

#

maybe they had a cosmic bit flip

calm nebula
#

three times in a row?

uncut viper
#

sun's very active lately

lucid iron
#

its pretty consistent i think i had em run debug iq ALL_ITEMS

calm nebula
#

did you get harmony summary

lucid iron
#

not yet

uncut viper
#

wouldnt "PatchedBy<uniqueid>" appear where it was relevant anyway in this case

lucid iron
#

it might not if it's the side effect of some other patch

#

i have hard time imagining any other mod in this fairly short list doing this though

uncut viper
#

how would the side effect run that deep into the Comparer without patching the Comparer functions itself

lucid iron
#

no like, if some other function made a ??? furniture

dusk mulch
#

How do I mess with the lighting in custom maps? I try to use the lighting png's in loose sprites but they are too bright.

lucid iron
#

you need a framework for fun lights

#

spacecore colored lights or mmap lights

dusk mulch
#

I just want to have normal lighting, later it gets, darker it is.

uncut viper
#

i dont see how a ??? furniture would break things either. a Comparer is supposed to work fine if two values are equal, innit

lucid iron
#

the issue here is that it got a case where one of these things happened

  • ThingA > ThingB AND ThingB < ThingA
  • ThingA != ThingA
uncut viper
#

not necessarily both

lucid iron
#

yea either case

uncut viper
#

my point is tho i dont see how that can happen from a side-effect upstream

lucid iron
#

it can happen if Comparer's compare is unable to catch some edge case in the values

#

as for how well, i dunno

#

perhaps the value mutated between compares

uncut viper
#

the values would have to change, and they'd have to change in the middle of the comparison, no?

lucid iron
#

yea somehowโ„ข๏ธ

uncut viper
#

so if something was going to make that happen, it'd have to have patched in the comparisons

lucid iron
#

or something called during the comparisons

uncut viper
#

would that not also appear in the stack trace

lucid iron
#

this second case is where u wouldn't see PatchedBy directly

uncut viper
#

hm

lucid iron
#

thats ambiant lighting

#

[[modding:maps]]

lucid iron
#

its a map prop

dusk mulch
#

ty

devout otter
#

@uncut viper I'm happy to report that the dialogue box still works perfectly for everything I need.

uncut viper
#

oh thank goodness, i can not worry about it then

#

thank you for testing!! SDVpufferheart

devout otter
#

No problem! Thank you for considering me.

dusk mulch
brave fable
#

it's a map property, so you can do it either way

lucid iron
#

theres also a night verison

#

for after 6

royal stump
# lucid iron the issue here is that it got a case where one of these things happened - ThingA...

sorry if I didn't read enough context, but I think I see where a problem could be?
if any mod is adding a furniture item with an empty name ("") or a non-SObject item with one, the comparison would be inconsistent SDVpufferthinkblob
Item.CompareTo uses the wrong variable in one of its various checks

string thisName = ((this.Name == "") ? this.DisplayName : this.Name);
string otherName = ((otherItem.Name == "") ? otherItem.DisplayName : otherItem.Name);
if (otherName != thisName)
{
    //if they're not both SObjects:
    return string.Compare(thisName, otherItem.Name); //this should probably say "otherName"
}```
#

depending on direction, it compares "this display name" to "other name" or "other name" to "this name" (blank)

lucid iron
#

wow how terror

charred plover
#

alright i need some assistance understanding how to make mods now that i have decided to mentally invest into a project idk if i can 100% handle :D

lucid iron
#

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

charred plover
#

thank you chu

wanton pebble
#

Dumb question I thought of while procrastinating going back to learning C# (I'm probably doing so in a moment.... it's gonna be dictionary learning time) - is there a (sane) way of doing something like changing whether a mod is a true or false dependency based on if certain mods are installed and/or by a config?

#

I'm assuming no, but figured I'd ask

uncut viper
#

you wouldnt be able to know what mods are installed until the mods were already loaded

#

most importantly, your mod wouldnt be able to know until it was already loaded

calm nebula
#

You can always print out a message and disable the rest of the mod

uncut viper
#

theres also not much point in going from a false to a true dependency after things have loaded

royal stump
#

you can mess with HasMod in CP or ModRegistry checks in C# to pretty much disable your whole mod, but yeah, the literal manifest requirements are permanent

wanton pebble
#

Gotcha. Like I said, I figured it wasn't - and trust me when I say the use case for this particular scenario isn't worth a different config

#

I am way too lazy for that

reef kiln
#

Is there a mod that adds scarecrows that I can reference? I want to add some scarecrows to the game as a craftable item not as a replacement. Is that a thing, I don't see any on nexus, they are all replacements.

calm nebula
uncut viper
#

i am curious

calm nebula
#

CP requires a true dependency for part of the API

royal stump
#

oh, that kind of dependency, same here then SDVpuffersquee

calm nebula
#

I considered having it be false, reflection on my own manifest to switch ot to true if CP was installed

#

And then calling the CP API

winter dust
#

What would be a cool name for a company that rivals Joja? But it's basically better in everyway.

uncut viper
#

does seem like a strange limitation even though i see the merit in requiring it

#

in that case i would also reflect

royal stump
#

I waffled about workarounds to that for a while & eventually just decided everybody has CP anyway

uncut viper
#

this is true

#

BETAS actually has an unlisted hard dependency on CP (my own mistake, will fix eventually) but no one's complained about it yet so

reef kiln
calm nebula
reef kiln
#

Side note, nothing is better the Joja!

calm nebula
#

I went with "Accel" for a GE expy

#

Big, lumbering company

#

(Accel is unionized!)

reef kiln
#

Join Us Thrive!

dusk mulch
#

(I havnt put in the ticket machines yet, I was planning to do that after getting the stop in the menu)

ivory plume
#

Can you send me a zip of the content pack so I can try it?

winter dust
winter dust
dusk mulch
winter dust
#

I gotta make snags available.

#

Of course, my version will allow you to have onions as well.

#

Can I not have my shop open until 1am the next day? I'm assuming that's a limitation with the game?

calm nebula
#

Accel is shady the way GE was. Questionable accounting

#

But they are unionized

reef kiln
#

Joja employs skeletons, I saw one working in the intro movie. They are open to diverse hiring.

winter dust
# calm nebula I mean, specifics help

Predatory business practices, they ruin countries that they operate in, Coca-Cola has decimated Mexico peoples dental health, Walmart is making communities it operates in more impoverished from recent studies, there's more but I don't wanna flood this channel with that.

ivory plume
dusk mulch
#

Ah, Thank you!

winter dust
#

I'm trying to make my shop open from 8pm on one day to 1am the next day, is that not possible?

ivory plume
#

That would be 0800 to 2500 in the game's time format; is that what you're putting?

reef kiln
#

I was going to say 2500

winter dust
#

Ah no, honestly I should've done it that way but I thought the game wouldn't like 2500 so I did 100.

reef kiln
#

You beat me, that was one I knew the answer too

ivory plume
#

In the game logic, the next day doesn't start until you actually sleep; so the hours just keep ticking up past midnight until you do.

winter dust
#

Ah, interesting.

#

Insomnia mod incoming.

wanton pebble
#

Isn't that just the one Night Owl mod? SDVkrobusgiggle

#

Now that I think about that, I wonder if shops close past 2am...

ivory plume
#

(And The Long Night, one of my old mods.)

#

(Found the old Reddit comment which inspired my mod. Sadly it broke in Stardew Valley 1.3.20 and was abandoned in favor of Night Owl.)

winter dust
#

Well, I forgot my NPC desides to wander off from my shop at midnight for a scripted event that never got finished by Tarniyar.

#

So, at least I know for the future.

calm nebula
#

That's so cute!!!

dusk mulch
#

Is there a map property I can use to stop players from leaving the boundries of the map?

tiny zealot
#

just put stuff on the Buildings layer. you can use invisible tiles if you have to

calm nebula
#

no, block it off with building tiles

tiny zealot
#

i recommend not using invisible tiles for this, because they bother me, but it's valid to use them.
(i would rather see a map designed with natural, visible barriers blocking unreachable locations)

calm nebula
#

(agreed)

#

I tend to dislike invisible tiles too

tiny zealot
#

even if the barrier is silly, like a waist-high cat or an impassible toilet or whatever. at least there's some justification

calm nebula
#

it's also my personal opinion that I prefer a small, well designed map

dusk mulch
#

i will try to make a natural barrier then

calm nebula
#

over large amounts of empty space

calm nebula
#

(is that from an actual pokemon game?)

scarlet pasture
#

It's from several

tiny zealot
#

yup

#

pokemon games are big fans of the broken bridge trope

calm nebula
#

you can see how much pokemon I've played

uncut viper
#

i prefer random dance troupes

scarlet pasture
#

My favorite (from pokemon) is when you aren't allowed to enter a city due to blackouts

steady folio
#

"We're practicing here. come back later."
that one was used in pokemon B&W iirc, actually

scarlet pasture
#

Though the random psyducks was good too

tiny zealot
#

every game has at least one comical non-obstacle blocking your path, if memory serves

uncut viper
#

random dancing junimos make excellent barriers

scarlet pasture
#

A few hundred lines of dialogue into a mod and I see why large dialogue mods aren't super common

#

There are a lot of conditions haha

tiny zealot
#

writing dialogue is exhausting

scarlet pasture
#

Yeah, this is definitely going to be a marathon and not a sprint

wanton pebble
#

In short, always be ready to take breaks and set limits with people if you release a mod

scarlet pasture
#

Or focus only a few characters and make the mod feel incomplete

#

That's definitely good advice though, thanks

wanton pebble
#

Never, ever, ever feel bad you can't put out dialogue. I say this as a dialogue modder myself

scarlet pasture
#

Honestly I'm mostly making the mod for myself and my girlfriend, which helps limit the scope

calm nebula
#

(one reason why I recommend doing one set of npcs at a time.)

#

start a dialogue overhaul, welll

scarlet pasture
#

Oh lord

devout otter
#

My mod has 10 characters and I think their combined dialogues are less than a typical single custom NPC...

blissful apex
#

Hi sdv modders ๐Ÿ‘‹ Thought I'd try my hand at something simple. Not sure it even counts as a "mod": parsing the old/new save file w/python running in background to get items shipped, money made, items stored/withdrawn from chests, XP gained per skill, energy spent, etc..saved to local db for later analysis.
I see a couple examples of dashboard apps that track progress, but nothing tracking day-by-day. Or anyone know if what I'm talking about already exists?

calm nebula
#

it just occurred to me you can't use item queries in $action ADD_ITEM

#

quick: how do you give a player a flavored jam in an npc dialogue

uncut viper
#

ยฏ_(ใƒ„)_/ยฏ

tiny zealot
uncut viper
#

that makes sense bc in the metric system 10 mice is equal to 1 mouse, its a base 10 system

brittle pasture
#

(maybe I'll add a mail equivalent once I feel like fist fighting mail parsing)

calm nebula
#

loool Selph

uncut viper
#

at least what you have now is still technically usable for mail

uncut viper
#

just wont appear in the lil box

calm nebula
#

guess what I wrote and pushed last night when I was supposed to be sleeping

uncut viper
#

was it LetterMenuPatch.cs

#

damn im good

brittle pasture
#

genius, delegating that work to your own asset

calm nebula
#

basically, yeahhhhh

brittle pasture
#

something something sun tzu winning without fighting

uncut viper
#

i dont think you even need an asset for it

brittle ledge
#

@ivory plume So I think we've found a vanilla bug. FlowerDanceCanDance works for vanilla NPCs regardless of romanceable status, but seems to do nothing for custom NPCs specifically - they must be set to "CanBeRomanced": true in order to actually offer a dance. I can send you a sample mod, but I've confirmed both with a nonromanceable character (Jorts) and a romanceable character who does work, until you set romance to false/candance to true. Do you want a bug report or want to confirm yourself first?

uncut viper
#

just add a custom Trigger Action that doesnt actually do anything and look for it in the mail text

ivory plume
tiny zealot
#

i know what you mean by vanilla bug, but it's still a bit funny to call it that since no vanilla characters use the field SDVpuffersquee

brittle pasture
calm nebula
#

what if I wanted to add more to LetterExtensions later?

brittle ledge
#

That I've not tested yet, I can try though. And yeah, they should be the same which is why I'm confused, but between Avi and me we've tested it on 3 different custom NPCs with the same results.

calm nebula
#

sure, I have no ideas NOW but I might have LATER?

uncut viper
#

itd require parsing but you can just postfix and split the originam ial text by %%s yourself

#

original mail*

calm nebula
#

yeah, and how do I fit the entire ItemSpawnModel into that lol

uncut viper
#

dont have to worm your way into the actual parser

#

you dont but in this case Selph already has an action for it

calm nebula
#

ahh fair.

brittle pasture
#

anyway once there's demand for sending ancient fruit wine over mail I'll add it to EMC (still touching grass, and got more higher prior mod updates on top)

calm nebula
#

how is the grass?

#

it was stupid warm today tbh.

#

I trained for 50F not 70+F

brittle pasture
#

goats ate them before I can touch

#

(good luck improving your time)

tiny zealot
brittle pasture
#

hmm can you even configure numpad directions

brittle ledge
uncut viper
#

probably postfix Game1.isOneOfTheseKeysDown

uncut viper
#

theres like a million functions related to movement or smth

#

but thats what i would try first

calm nebula
#

you don't need to postfix anything

#

just mutate the player's controls

#

these four

#

rotate them, rotate them back, flip them, just save the previous state somewhere

uncut viper
#

i didnt realize those were stored anywhere bc you cant actually even change them can you

brittle pasture
#

hmm so you can

uncut viper
#

like, normally i mean

#

as in during gameplay not with C# crimes

calm nebula
#

sure, the player could open the settings menus and fix shit but that seems more annoying that playing with reversed control

#

yeah, it's in the settings menu

uncut viper
#

interesting

tiny zealot
#

also this is for a gag! so i don't care if people find a workaround

#

thanks atra, that's extremely helpful

#

i thought i was gonna have to do way more crimes than that

uncut viper
#

tbh if i was doing it id still postfix them anyway just to prevent the workaround SDVpuffersquee

#

even though i know the workaround is not practical

tiny zealot
#

i talk a big game about liking harmony to run my code less but this little mod looks like a pretty good fit for just using normal smapi events and i like it

uncut viper
#

though

#

changing them like does, like, save them like that, right?

calm nebula
#

yeah, I get leery about patching often-used functions

uncut viper
#

what if my controls get mutated, then i save and quit and go to a different save file? or my game crashes or somthing and i rejoin in the next day

calm nebula
#

I'm not against harmony I just don't like it

calm nebula
uncut viper
#

so sleeping with the debuff could still fuck up future play sessions

calm nebula
#

just put it back just before sleeping SDVpufferthumbsup

ivory plume
lucid iron
#

can u make a shop entry with ActionsOnPurchase that does not actually buy anything

uncut viper
#

like, without any custom C#?

lucid iron
#

yea

lucid iron
#

wow

#

does that actually

uncut viper
#

im not sure if RemoveItem checks your helditem (probably not) but if it does thats one way

brittle pasture
#

it immediately disappears from inventory and turns into cash yea

calm nebula
#

Not the helditem of the menuuuuu

lucid iron
#

well its ok

#

otherwise uh

uncut viper
#

you could copy what the PET_LICENSE does if you were willing to go into C#

lucid iron
#

what's a thing thats suitable lunch for a possum

uncut viper
#

trash

#

idk wet food

placid juniper
#

does anyone know why this npc I'm making doesn't speak with me? she used to talk but for some reason wont any more?

uncut viper
#

what do possums eat

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.

lucid iron
#

idk honestly they r some kinda omnivore rodents right

#

ice cream ok

brave fable
#

australian possums devour fruit, insects, and some flowers

lucid iron
#

hm

#

i cant make custom buy tooltips right

#

yggy this is terrible

uncut viper
#

what shop are you adding to

brave fable
#

of course you can SDVdemetriumsSDVdemetriumsSDVdemetriums

uncut viper
#

chu wants a non-C# solution

brave fable
#

well we can't always get what we want

uncut viper
#

i can

#

built different

#

skill issue etc

lucid iron
#

u see the plan is

wanton pebble
#

blinks
Json assets used dictionaries, didn't it

lucid iron
#

u can hire an opossum from marlon

#

for a day

#

she carries things and she's working hard for her 42 kids

uncut viper
#

i have nothing to base this on, but id guess like at least half of C# mods use a dictionary somewhere

placid juniper
#

it says im missing format?

wanton pebble
#

Good god. I'm glad I saved this for basically two hours of looking at a C# tutorial on dictionaries. It's not like I don't understand it, it's just I suddenly get every single error message about duplicate key already added

brittle pasture
#

ok the world's stupidest idea incoming

  1. Use EMC's holder item
  2. Edit its data/object entry to add the "inherit flavor icon" context tag
  3. Set the flavor to the icon you want
wanton pebble
#

I'm almost over noting all the stuff on dictionaries XD

lucid iron
#

im scared

uncut viper
#

Dictionaries are one of the very basic C# collections that you'll see everywhere so its errors can come up from a lot of things

lucid iron
#

anyhow if it doesnt work ill just make a item query in trinket tinker

#

but it would be nice if it work :)

uncut viper
#

why not add a possum to the map next to marlon who you can "talk" to and it brings up a question dialogue asking if you wanna hire her

lucid iron
#

id have to unpatch her somehow too

uncut viper
#

thats easy just unpatch her

lucid iron
#

it may be better if she was an npc actually

#

then the normal hide npc would work

#

but hm, it'd be annoying if u could only hire one

#

in coop i mean

uncut viper
#

BETAS could insta-patch reload for you SDVpuffersmile

#

or patch update rather

placid juniper
#

what am i doing here?

lucid iron
#

hm maybe

uncut viper
lucid iron
#

but i'd need like

#

mmap for the dialogue too right

#

unless there is something to do this

uncut viper
#

yeap

#

i hear someone recently added question stuff to mmap

lucid iron
#

how do i bully u into stealing that so i only need one dep yggy

uncut viper
#

hand over your copyright

lucid iron
#

its MIT

uncut viper
#

tbh i dont know what it is exactly you added

#

in your unbiased opinion do you think it fits in BETAS i ask u this genuinely