#making-mods-general

1 messages · Page 512 of 1

blissful panther
#

(Someone unfamiliar with art software, maybe?)

lucid iron
#

so it's like a CSS vs art ppl problem perhaps AnnelieStare

ivory plume
lucid iron
#

they didnt respond so my guess is sleep

ivory plume
#

Well, I guess the translation is fine as-is; we can always improve it later.

lucid iron
#

yea i dont think the 遮罩 vs 蒙版 thing is critical to understanding

#

good enough for google

calm nebula
#

Do you want a fork

#

What about $y if no state

#

else $q

hallow prism
#

hmm

#

i am a bit afraid by q

calm nebula
#

Q is finr!

hallow prism
#

when i tried with y it didn't like me trying to have an action in it

calm nebula
#

Unfortunately I'm not at home and wont get home before you go to sleep

#

So I nominate someone else

#

Ahhhh action hmm

ivory plume
#

(Maybe we can backport the new choose/goto/etc event commands to 1.6.16.)

hallow prism
#

it's ok, for now i'll simplify my plan

#

and yeah i can wait for a future update

#

(i still wonder if 1.6.16 will happen or if we may jump directly to 1.7, since i suppose CA may want to have it happening this year as a celebration, but anyway, i will try to have my update ready before any of those, so i can keep improvement in an update)

#

a bit less complexity may not hurt for now

ivory plume
#

(1.6.16 and 1.7 will most likely be separate.)

hallow prism
#

well it's good news for some features 😄

#

less wait

uncut aspen
#

curious if any1 knows this before i go test it. What happens to an NPC when they're scheduled to go to Jojamart but you've finished the CC. Like do you have to make a conditional schedule that changes them to not go there,. Do they try to walk to the collapsed building, or do they just do nothing at all?

hallow prism
#

you may see if the wiki has something for that, i know that you can have alternate schedule for community center if not completed

#

joja may have something similar but for the reverse

blissful panther
#

Interesting... the vanilla NPCs that go to Joja all have a JojaMart_Replacement schedule key, but I can't find it referenced anywhere on the wiki.

ivory plume
# blissful panther Interesting... the vanilla NPCs that go to Joja all have a `JojaMart_Replacement...

It's a hardcoded workaround for those locations being inaccessible:

private bool changeScheduleForLocationAccessibility(ref string locationName, ref int tileX, ref int tileY, ref int facingDirection)
{
    switch (locationName)
    {
        case "JojaMart":
        case "Railroad":
            if (!Game1.isLocationAccessible(locationName))
            {
                if (hasMasterScheduleEntry(locationName + "_Replacement"))
                {
                    string[] split = ArgUtility.SplitBySpace(getMasterScheduleEntry(locationName + "_Replacement"));

                    locationName = split[0];
                    tileX = Convert.ToInt32(split[1]);
                    tileY = Convert.ToInt32(split[2]);
                    facingDirection = Convert.ToInt32(split[3]);
                }
                else
                    return true;
            }
            break;

        case "CommunityCenter":
            return !Game1.isLocationAccessible(locationName);
    }
    return false;
}
blissful panther
#

I was beaten to it by a second. I was just about to post this. SDVkrobusgiggle

uncut aspen
#

Cool, so i can just add a jojamart_replacement schedule key, and they'll just do that anytime they would normally go to jojamart?

ivory plume
#

(Looks like it is documented on the schedule docs page; you can search for _Replacement to find it.)

blissful panther
#

Yeah, my mistake was assuming Joja was the only case of this.

heady spire
#

Hey I just need anyone else to explain because I know nothing about C#, so my dad kinda got into bit of an argument ( just a friendly one) about this
Is there a reason that mods use Gender neutrality tokens or dynamic tokens for pronouns and all of those variables instead of just using a switch statement
He made the argument that it’s basically a if else statement and a switch statement would reduce lag and went into a whole discussion on switch statements
Is it a stardew limitation or can mods just use switch statements (asking bc I’m genuinely curious)
(also I probably worded this wrong, so correct me bc I’m just tired thinking about this)

hard fern
lucid iron
#

I think it's more for backwards compat reasons right

heady spire
#

Ah okay, thanks for answering

lucid iron
#

Because the 3rd Undefined gender enum is new in 1.6

#

While GNT predated all that

heady spire
#

He had a whole rant about it lol so I was just nodding along

lucid iron
#

For most players there's not really any visible difference between you writing a ${he^she^{{gntpronoun}}} vs just {{gntpronoun}}

ivory plume
#

(You also can't use a C# switch statement directly in translation text data. You can run the switch statement in C# and pass the result into the translation... which is a token.)

lucid iron
#

I dunno which one's better for perf but this kinda text manipulation is small potatoes compared to editimage crimes blobcatgooglyblep

heady spire
lucid iron
#

So yeah i think it's fine for gnt to keep doing what it's doing

ivory plume
#

But if your dad is interested in making mods, new modders are always welcome!

blissful panther
#

(Join us. SDVkrobusnaughty)

lucid iron
#

Maybe we should make a list of violently hardcoded bits on vanilla to dehardcode...

#

The stuff that's like if male else

#

Or if female else

#

I think it'd be nice if the Undefined enum gets more use

autumn tide
#

YES enby-ify stardew

lucid iron
#

My actual reason is wow i hate tertiaries

#

In my decompile

autumn tide
#

editing the gender system would be great but afaik it is REALLY hard-coded

lucid iron
hard fern
#

im not an expert on weird hardcoding nonsense but i thought that secret third gender was still limited by the male/female hardcoding

autumn tide
#

yeah, and secret third gender is only for NPCs

lucid iron
#

Yeah that's true

autumn tide
#

..i think

ivory plume
#

The game code should fully support non-binary in 1.6+ (including for players), but it's not supported in the character customization UI and translations currently.

lucid iron
#

Hence why i think it'd be nice to standardize some of these at some point

autumn tide
#

oooh we even summoned pathos with out talk of enby-ing stardew

heady spire
lucid iron
#

Like instead of male ? LoadString(malekey) : LoadString(femalekey)

#

It'd be nice to just LoadString($"{gender}key')

#

(Pls pretend i wrote valid C#)

hard fern
#

oh yeah i can see how that would be less confusing

heady spire
latent mauve
#

I'm trying to wrap my head around how the transparency masks will work when the new Content Patcher update happens, would anyone mind confirming if this is correct? (mask is shown in blue for visibility)

hard fern
#

the third gender icon in the ui should be a question mark XD the "surprise me" option

lucid iron
#

Yep u got it

nimble karma
#

Not sure if I should ask there or not, but does anyone know what black magic Stardew Valley Expanded used to make new wild tree types naturally spawn in the overworld? It appears that all the wiki tells me is that you can tell CP to place a specific wild tree on a specific tile, but you can't tell it to just spawn anywhere on x map

lucid iron
#

That's just normal CP tho

lucid iron
#

You write a lot of specific tile?

hard fern
#

hmm where's the wiki page for Tree?

lucid iron
ivory plume
# heady spire Hehe he prob wont, but ill let him know, he is a senior developer so i decided t...

It's worth noting that the purpose of Content Patcher isn't efficiency (since you can write more performant C# code if you're careful about optimizations and caching and such).

The main goals are...

  1. Let modders edit content easily without writing complex code or replacing game files directly.
  2. Ensure forward-compatibility, since Content Patcher handles figuring out how to apply your changes to the game (including migrating older content formats for newer game versions).

Though Content Patcher does have performance benefits too. Since all the changes are handled by a single framework, it can do a lot more optimizations and caching than individual mods would likely do.

autumn tide
versed sentinel
#

anyone know how to start making mods? i want to make a simple one that changed a portrait and sprite of a character

autumn tide
#

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

nimble karma
lucid iron
#

The trees are defined in the CP side for sure

#

But they may be getting spawned by FTM

latent mauve
lucid iron
latent mauve
#

Thanks chu ❤️

lucid iron
hallow prism
#

are you sure they aren't just map stuff however?

nimble karma
#

The reason why I thought they may be forced to show up on specific tiles it because that’s how Cornucopia does it. Sappodilla can spread, but their initial spawn is on specific tiles

hallow prism
#

because it's the classic, easiest way to spawn them

#

and all wild trees can spread if they are in a map that allows it

lucid iron
#

Like what is your goal here? What kind of tree spawning do you want

nimble karma
merry river
#

i still think it's a combo of ftm and cp especially because i think that ftm is one of sve's dependencies?

versed sentinel
#

when i am told to download "Install SMAPI and Content Patcher" does that mean to download them onto my computer directly? or is having them both in the Nexus Mod Manager count?

latent mauve
#

I'm not familiar enough with Nexus Mod Manager to be sure how they handle the SMAPI installer, but you definitely want SMAPI installed as the mod loader and not a mod.

versed sentinel
latent mauve
#

(also, this is the channel for making your own mods, not installing/playing with mods, so if you need more help, #1272025932932055121 might be a better place to ask!)

versed sentinel
latent mauve
#

SMAPI is the mod loader that allows mods to run at all. Content Patcher is a framework mod, and is not always required but is very common and often necessary if you intend to use ContentPack type mods.

versed sentinel
#

so i shount manually download both to my computer and not to the mod manager. if i want to make mods that is

ivory plume
#

Content Patcher is a normal mod, so you can install it through Nexus Mod Manager if you're using it.

For SMAPI, you should download it to your computer and run its installer; see the SMAPI install guide for more info.

versed sentinel
nimble karma
#

Okay, so I looked into it and no, there's a comment on Nexus confirming that FTM doesn't deal with trees since theyre categorized differently. Strange.

ivory plume
lucid iron
#

i think if your goal is just "i want some of these trees on me map" then adding the tile props and doing rtf to get them to spawn is not so bad

calm nebula
#

Doesn't that one path layer thingies spawn them always

versed sentinel
ivory plume
#

If you'll be making your own mods anyway, I suggest just not using Nexus Mod Manager since it tends to cause issues (particularly when you're also adding your own mods manually). Installing a mod just involves unzipping it into your Mods folder, and SMAPI has update alerts built-in.

blissful panther
#

Manual mod management (which you'll inherently be doing making your own mods) + a more opinionated mod manager is a combination sure to end in issues, yeah.

nimble karma
hallow prism
#

if you didn't yet, look at tiled too

#

i find it more convenient for coordinates, but it's a matter of what works for you

nimble karma
#

I just started modding, could you enlighten me perhaps?

hallow prism
#

!tiled

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

hallow prism
#

!unpack

ocean sailBOT
#

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

nimble karma
#

thank you!

versed sentinel
#

least i got SMAPI working and off the mod manager now

ivory plume
#

I think Nexus Mod Manager still symlinks all the mods to an internal folder? So you can probably just move the real mods from its 'staging' folder into your Mods folder to install them normally.

#

You can also use Stardrop if you want a mod manager without the issues caused by the Nexus ones. It's created specifically for Stardew Valley and doesn't try to do unnecessary things like symlinking, managing SMAPI itself, replacing game files, etc.

blissful panther
#

Just be very careful with "unmanaging" Stardew if you keep the original version of your mod in the mods directory.

#1244072693054308362 message

versed sentinel
ivory plume
#

When a mod is skipped, the error should say why which may help with fixing it.

nimble karma
#

SMAPI has detailed instructions on how to download it on their nexus page & website. Nexus' mod loader isn't recommended for any situation really. You'll be able to work on mods easier without Nexus anyways. If SMAPI didn't load a mod, that's either because it was coded wrong (unlikely if it's popular) or because you missed a requirement.

versed sentinel
nimble karma
#

It is, just not for Stardew.

#

If you're playing Skyrim, sure, go nuts

ivory plume
#

Because most mods are hosted on Nexus, which heavily pushes its own mod manager (regardless of whether it works well with Stardew Valley).

blissful panther
# versed sentinel what do you mean?

If you see this message: #1244072693054308362 message

You can see the app apparently is designed to delete everything in your Stardew folder that isn't vanilla if you "unmanage" it (i.e., if you tell it to stop managing Stardew Valley).

Meaning if you kept the original copies of your mod files in the Stardew mods directory and then unmanaged it, they would more than likely be deleted.

ivory plume
#

(Which is why the SMAPI mod page on Nexus still has the 'Install with Mod Manager' option, even though we say not to use it. When I turned it off, Nexus turned it back on.)

ornate locust
#

There's other games it isn't recommended for too, btw

#

It's just the Nexus site, so it pushes its own thing

latent mauve
#

Stardrop tends to be the suggested mod manager for Stardew Valley because it is actually meant for Stardew Valley. Nexus Mods Manager (and its predecessor, Vortex) try to be a universal mod manager but that means it's not optimized well for games that handle their modding systems differently.

#

And you get bugs like that.

versed sentinel
#

well i came here learning how to make mods and now i am learnign about how to manage my own mods. groovy

ornate locust
heady spire
blissful panther
#

Fortunately, Stardew is probably the easiest game to manually manage mods with!

#

If not the, definitely one of the easiest.

latent mauve
#

SMAPI is a mod loader. Stardrop is a mod manager.

heady spire
ornate locust
#

Yeah, Stardew's pretty easy, so NMM not working great with it doesn't matter so much

latent mauve
#

Thankfully manually modding Stardew is so easy that most people don't even need a mod manager like Stardrop unless they want to have separate profiles.

ivory plume
#

(To clarify the difference: SMAPI will load all the mods you put in the Mods folder. A mod manager puts them there for you.)

versed sentinel
gentle rose
versed sentinel
gray bear
#

stardrop is a mod manager

summer spoke
#

Okay, so I ended yesterday on a problem I couldn't solve, but now that I checked today it's no longer an issue? How?

ornate locust
latent mauve
#

You won't see a specific "download for Stardrop" because it's a) covered by the "mod manager" button and b) NexusMods will promote their own mod manager, not third-party mod managers (meaning they likely won't use the name of other mod managers).

hallow prism
#

hmm, i have currently in an event :
`advancedMove farmer false 0 6 1000 2/``
Which should according to wiki make the farmer face down. But it isn't working. And if i omit 1000 2, the farmer just continue the walking animation (but without moving further)

#

any clue?

ornate locust
#

oh no movement

versed sentinel
ornate locust
hallow prism
#

wiki says <direction duration>

#

hmm

latent mauve
hallow prism
#

wait a sec

#

me "wiki says the contrary of what i'm doing"

ornate locust
#

LOL Yeah

#

brain scramble moment

gray bear
#

hey at least the wiki is correct (i hope)

hallow prism
#

thanks, i will test again

summer spoke
#

This might be a dumb question, but is a content pack for Content Patcher the one I'm aiming for?

gray bear
#

depends on what ur doing

summer spoke
#

making an event for right now, but I want to make my own map eventually with custom NPCs

latent mauve
#

That's doable with a Content Patcher mod/content pack, yes.

gray bear
#

content patcher is for u

summer spoke
#

thank you

blissful panther
#

(I wonder if I should just mark CP as a strict requirement for ease. SDVpufferthink)

hallow prism
#

ease of?

gray bear
#

what mod is this

blissful panther
#

In reality, nobody's going to be downloading MEEP without also having CP, but...

hallow prism
#

dealing with report?

#

there's always the edge case of a C# modder but hopefully they know how to comment stuff

gray bear
#

ah, meep

blissful panther
#

Part of me likes being strictly correct in my requirements, but another part of me realises that every single person modding Stardew has CP. SDVkrobusgiggle

lucid iron
#

Gotta prepare for the day Content Patcher breaks in sdv 2.0 and everyone's using Data Parcher or something

hallow prism
#

data parcher, when you are so thirsty for a fix?

gray bear
#

data parcher...

blissful panther
gray bear
#

chu already thinking ahead to a mod apocalypse

lucid iron
#

This is mostly a joke but I was influenced by the fact that while i did my first frameworks casey was working on an alternative content editor thing (spacecore content engine)

devout otter
#

If in reality nobody is going to be downloading MEEP without also having CP, I feel that's actually a point against listing it as a strict requirement.

lucid iron
#

So i do think it's not impossible that a 2nd cake to CP appears

ornate locust
devout otter
#

Because you wouldn't need to tell people "you must have this" if people already have it anyway.

gray bear
#

see that's like having smapi as a req for a C# mod

lucid iron
#

The adoption of sc content engine is -2 mainly because i cant find docs about it

ornate locust
#

(they'll also not read the notes at all and assume every file Nexus pops up when they hit download is required, even if it says "optional" if you look at the list)

gray bear
#

well no 1:1 since without smapi no mod will ever run

lucid iron
ornate trellis
calm nebula
lucid iron
#

Cus there is a class of non SMAPI mods aka xnb SMCPufferjail

gray bear
#

optional requirements are a whole other issue which honestly i'd rec people putting in the description instead of req tab

calm nebula
#

You can in theory also have a non smapi c# mod

lucid iron
#

Yeah there used to be another mod loader right

#

Whether in dev or just not adopted

gray bear
#

gasp, LORE

ornate locust
ornate trellis
#

at the end of the day we all know thought that mod users do not actually read the mod description so we can write what we want in there they wouldn't notice

uncut viper
#

and there still could be another one in the future too

lucid iron
#

Pathos had a post on that somewhere on patreon circa 2018

gray bear
#

button is this a hint

blissful panther
calm nebula
#

I highly doubt there will be another as long as smapi exists

#

Anyways

calm nebula
#

Dh, casey, you two are in the race for haunted chocolate modloader

#

Ready. Set. Go

lucid iron
blissful panther
summer spoke
#

Okay, so I've got that far, how do I trigger an event? This is the farthest I've gotten so I'm just a little lost on what to do next

gray bear
#

is there even a release date/estimated release date for HC?

calm nebula
#

The fuck is storm lol

ornate locust
blissful panther
devout otter
ornate trellis
#

i dont remember storm but i was just what feels like 5 seconds in this server back in 2016

gray bear
urban patrol
#

i include all dependencies including SMAPI and CP because what if my mod is a user’s first ever mod they’ve downloaded

gray bear
#

i mean i got smapi listed too but i also tag all my mods with "smapi"

#

although that's not accurate is it

lucid iron
#

Oh yeah i don't list SMAPI on a content patcher mod bc transitive dependency

gray bear
#

do this show up anywhere

devout otter
ornate locust
gray bear
#

also still love the "Requires the Content Patcher"

lucid iron
blissful panther
gray bear
#

i mean all mods require SMAPI

summer spoke
#

Right, thank you

lucid iron
#

Modded is exactly the same as vanilla events un this regard

ornate trellis
#

i think i listed smapi on my first few mods because i was still new to things but now...as long as i don't learn c# and code a whole mod myself i dont put it in req anymore

calm nebula
devout otter
calm nebula
#

Can I run your mod

blissful panther
lucid iron
gray bear
#

i remove smapi from my tags ig

brittle pasture
#

IIRC Storm aimed to be super ambitious and expose an API that allows you to hook into every part of the game without Harmony

ornate locust
lucid iron
#

Were they gonna cecil the shit out of the game bolbsun

ornate trellis
#

i wonder who was behind Storm O: someone thats since then left the community or is still active(kinda)? not that it matters but im jsut curious

lucid iron
#

Sometimes i feel like there's hints of a great Harmony vs No Harmony war back in the olden days

gray bear
#

i have removed SMAPI tag from all of my mods

#

if anyone complains i cry

lucid iron
#

And the only evidence i have of this is SAAT's mod description so i am probably just being tinfoil here

gray bear
#

the harmony war does sound like something that has happened

hard fern
#

i guess technically i have no need to say "my mod requires smapi" if i already have "my mod requires content patcher"

#

but i like being thorough 😅

summer spoke
#

It's not working, I'm afraid.

gray bear
lucid iron
#

I dunno if that's any better tbh

brittle pasture
#

looking at the source now, it has stuff like crafting event hooks SDVpufferwoke

lucid iron
#

Wow ok let's migrate to Storm today

brittle pasture
#

and crop harvest events SDVpufferwoke x2

#

so yeah, ambitious

gray bear
#

alright time to check the wiki for event code again

summer spoke
#

right, okay. I'll do that. thank you

lucid iron
#

I wonder why it didn't get off the ground

gray bear
#

oh i meant im checking the wiki to help u

summer spoke
#

oh, thank you. sorry

gray bear
#

nw

brittle pasture
#

to be taken with a grain of salt, but some old forum threads back then said that Storm took forever to develop and never produced a stable build

nimble karma
brittle pasture
#
  • the author was difficult to work with
nimble karma
#

It's got 0 mods from anyone but the author but fuck it

lucid iron
#

Too ambitious for own good i suppose

gray bear
#

stares at modding event wiki

lucid iron
#

Was smapi under pathos by then or still the original dev?

gray bear
#

uhhhhhhh

summer spoke
#

I know right

gray bear
#

ok so your precondition is NPCVisibleHere Vincent

summer spoke
#

and sense he doesn't go there I need to take it out?

gray bear
#

vincent doesn't go to the bus stop

#

yeah game is checking if he's there

summer spoke
#

on it. thank you

gray bear
#

only pam ever goes to the bus stop, right

hard fern
#

i think abby hangs out around there

gray bear
#

the bus stop??

hard fern
#

"fall": "900 SeedShop 39 5 0/1030 SeedShop 2 20 3/1300 BusStop 22 5 2/1700 SeedShop 3 6 0 abigail_videogames/1930 SeedShop 1 9 3 abigail_sleep", yuh

devout otter
#

Yeah Abigail checks the mine cart sometimes.

gray bear
#

oh wow, i never knew this. thank u for info

uncut viper
#

storm seems like an attempt at what Minecraft modding is like

#

also I don't put any requirements at all on my mods if they just use SMAPI or content patcher simply because I get mildly annoyed (not at the author) any time I click a download button on a mod and it doesn't start immediately because of the requirements popup telling me to use em. no other reason

summer spoke
#

sorry it didn't work

calm nebula
summer spoke
#

I'm looking at the wiki and I'm confused about what the "50s" means

uncut viper
#

I want the popup on mods that have other requirements

calm nebula
#

You can set it on a mod by mod basis

#

50s....isnt that song

#

A song.

uncut viper
summer spoke
#

right, okay, thank you

#

that makes sense

lucid iron
#

I kinda wish it check ur download history for whether to show the popup

calm nebula
#

Anyways

uncut viper
lucid iron
#

But then maybe u uninstalled idk

calm nebula
#

You know what would be nice? If that pop up understood "optional"

#

And also includes the comment

calm nebula
#

You as player....I dont know how players work

#

They are fully alien to me

uncut viper
#

i don't want to do that. I'm not downloading my own mods

#

It's a do unto others thing

ornate locust
calm nebula
#

All I want for Christmas....this yearrrrrrr

ornate locust
#

Required on a file by file basis would also be nice

calm nebula
#

(I'll go get more coffee)

#

You could ask the Nexus discord or Picky about it

#

Hi DH!

ornate locust
#

Like I have a pants mod that's either content patcher or Fashion Sense, having just the Fashion Sense file require Fashion Sense would be great

blissful panther
#

(Ooh, coffee, good idea. Getting some too!)

calm nebula
#

Hello my second favorite Brit

blissful panther
#

7:20pm, good time for coffee.

calm nebula
#

7:20 pm.....good time for caffeine pills

brittle pasture
#

waow... ppl speaking from the future

calm nebula
#

Smh

#

Never enough caffeine

summer spoke
#

I've looked and I'm still lost. Do I need to start a new throwaway farm to check it?

lucid iron
#

if you want to worry about the precondition later, you can debug your event immediately

#

debug ebi putyoureventidhere

summer spoke
#

Right, I'll try that, thank you

iron ridge
summer spoke
#

Found the problem. Apparently, the game isn't registering the event itself so win for finding that out! Now I just need to get to the bottom of that

calm nebula
#

!patchsummary

ocean sailBOT
#

Can you do these steps to provide more info?

  1. Load your save and view the content that should be patched.
  2. Type patch summary directly into the SMAPI window and press enter.
  3. Upload your SMAPI log to https://smapi.io/log (see instructions on that page).
  4. Post the log link here.
summer spoke
#

thank you

molten helm
#

are animations hardcoded or are they in files somehow?

#

like in a json or something

#

for the farmer for example

lucid iron
#

they are pretty hardcoded yea

molten helm
#

alright

lucid iron
#

but the texture is editable

molten helm
#

yeah i figured that

lucid iron
#

look at farmerrenderer

molten helm
#

im gonna get the farmer done in the 3ds one soon

#

well a very basic one

lucid iron
#

anyone know why protected void drawDialogueBox() might end up with a null dialogue

brittle pasture
lucid iron
#

i am manually pushing dialogue onto a speaker NPC (your spouse)

brittle pasture
#

interesting, I can recall someone else having the same question some time ago

lucid iron
#

im pretty sure it is valid

#

but somehow i get throw empty stack blobcatgooglyblep

#

it'd be a lot easier if i could reproduce but so far i only gotten logs

ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.19045.0, with 99 C# mods and 216 content packs.

lucid iron
#

radical had same problem yesterday but it somehow went away (??)

summer spoke
hallow igloo
#

yall, how do I go about converting my East Scarp mod to the new tilesheets?
I'm completely stuck as I literally don't know where to start

hallow prism
#

towninterior_2 has some pretty light beams, i wonder if they're used anywhere.

latent mauve
lucid iron
#

The bug is shy

ivory plume
#

(New in the upcoming Lookup Anything 1.54.0: look up achievements on the collections tab, including those you haven't unlocked yet. It'll show a checklist of unlock requirements in later versions.

It parses shop data to support custom hats, and it'll parse the new achievement conditions added in 1.6.16 when that's released.)

latent mauve
# summer spoke https://smapi.io/json/content-patcher/912d68a9afa944ad9202e06c69a735a0 Sorry, f...

I'm going to suggest adding an actual event command after skippable just in case there's something weird there, but some more likely causes/steps to check:

  • Have you confirmed that your mod has loaded?
  • Have you checked the console / error log for any issues loading your mod or your changes?
  • Have you used patch reload or otherwise restarted Stardew Valley (completely closed and reopened, not just moving to title screen) since making the changes to your code?
  • Have you confirmed that you are editing the correct set of files (this happens a LOT if you aren't working directly inside the Mods folder, people forget to copy their changed code over all the time)
#

I don't see anything immediately wrong with your event code, other than the fact that there are no event commands after /skippable, which is not necessarily wrong, but unusual in an actual event.

unborn pebble
#

Jente eu sou brasileiro e vim aqui saber uma coisa vcs são mods certo ou pelo amenos sabem programar né
Hey guys, I'm Brazilian and I came here to ask you something: you're modders, right? Or at least you know how to program, right?

latent mauve
summer spoke
# latent mauve I'm going to suggest adding an actual event command after skippable just in case...

Right. SMAPI is saying that it has been loaded. The only different looking text is yellow saying that the mod QuickSave "change the save serializer. They may corrupt your save files or make them unusable if I uninstall it". I have exited it and reopened it. And I've only worked inside of the Stardrop mods folder. Should I copy everything over in the mod folders?
I'll try adding command after skippable.
Thank you

calm nebula
#

(I'm not convinced I know how to program, but I assume you have a question)

latent mauve
#

(that's why I didn't answer the 'you know how to program' part) SDVkrobusgiggle

ivory plume
#

(I've picked up a bit of programming over time.)

calm nebula
#

how long did it take you to learn how to program?

latent mauve
raw helm
#

Hi, i have a short (and surely stupid) question: smapi says my mod can't be loaded cause it contains files, but none of them are manifest.json. Buuut all of them are JSON (and i have a manifest). And yeah, that's my first try at modding ... also i'm from austria so my englisch may or may not sound a bit weird sometims sry ^^"

latent mauve
brittle pasture
hallow prism
#

a common issue with windows hidding extension

latent mauve
#

Oooh, good call Lumina

raw helm
#

nope looks like the other ones

latent mauve
#

If your manifest.json is properly coded, is a JSON, and is in the main folder, you should be good

#

!json

ocean sailBOT
#

JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.

If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.

When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.

latent mauve
#

You can verify your manifest.json code there by switching the JSON format to SMAPI: manifest

raw helm
#

Thanks! I will try if that helps solving my problem ^,^

raw helm
calm nebula
#

can you take a picture of the manifest.json in your mod?

#

smth like this

latent mauve
#

mine looks like this, so it's fine if it's not identical in appearance.

versed sentinel
#

there a way to get portraits and sprites from another mod to use? i am asking because there is a mod that changes the sprites and portrait for an NPC. i want to use for my own personal mod but i don't it just downloading straight to the game as it doesnt seem to work and hasnt been updated in over a decade. the description says I can use it if i want as they kinda...abandoned it but still i dont know exactly how to "use" these files.

versed sentinel
raw helm
urban patrol
calm nebula
ocean sailBOT
#
Hidden File Extensions

Windows and Mac hide most file extensions by default. If you are creating or updating mods, it's helpful to show file extensions so that you can be sure all mod files are named correctly.

To show file extensions on your computer:

On Windows 10, open File Explorer, click on the View tab, then check the File Name Extensions box.

On Windows 11, open File Explorer and click on View > Show > File Name Extensions.

On Mac, open Finder, and in the menu bar, click on Finder > Settings (or Preferences) > Advanced, then check the Show all filename extensions box.

calm nebula
#

(Also I'm headed out so ...

versed sentinel
calm nebula
#

hang on, is gov dead for everyone else?

versed sentinel
#

most likely it will be for personal use anyway. i doubt anyone will want my particular mod as it is just gonna give Penny a new look

latent mauve
urban patrol
#

(personal use is always okay though)

latent mauve
#

yep, just can't redistribute/reupload the assets without permission.

urban patrol
#

but yeah there’s no way to get them in the game without using something like content patcher to implement them.

lucid iron
#

do u want to tell us what mod it is

versed sentinel
latent mauve
hallow igloo
calm nebula
#

this is what I'm seeing

#

gov's blank

urban patrol
#

i see governor fine

latent mauve
#

it's all good here

lucid iron
#

if ur patches are small enough maybe u can just remake the map patchs n call it a day

next plaza
#

Are you gonna available this evening? (ie. from like 2 to 6 hours from now for me) (ping on reply please, this channel is still muted)

urban patrol
raw helm
#

Someone know a site where i could get help with my mod? I seriously want to lern modding.

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.

urban patrol
#

the wiki, the content patcher documentation, and the modding wiki are all great places to start

next plaza
#

Remind me in 2 hours to poke nic about poking me about spacecore set pieces

patent lanceBOT
#

always, kittycatcasey <3 (#7027321) (2h | <t:1768174175>)

hallow igloo
#

thank ^^

lucid iron
#

yep as long as u start again from new map u should be good

ocean wave
#

i cant find the png of it anywhere so asking here- where would i find the png of in the cc, where the stars go?

urban patrol
#

probably maps/townInterior

ocean wave
#

found it

unborn pebble
autumn tide
#

mhm!

ocean wave
#

and if i just want to etexture that part, do i have to copy EVERYTHING over?

hallow prism
#

depends of everyone, i do nearly everything except C# and music

ocean wave
#

n wheres the one with all the stars?

urban patrol
gray bear
#

most inside buildings would be in Maps

ocean wave
#

i couldnt find the one with the stars filled it

latent mauve
# unborn pebble Do you guys make your own mods, like the pixel art, the dialogue, everything?

People with C# knowledge seem to jump into making SMAPI mods using C# pretty easily (though you do have to decompile the game for the methods any such), those who don't know C# can get a lot done with some basic JSON knowledge and a framework mod (like Content Patcher) that does some of the heavy lifting in C# for you, as well as the unpacker to unpack the base game assets.

ocean wave
#

i wanted it to be whe everything done to say "your did it"

gray bear
#

thonk where is cc interior

urban patrol
#

the stars filled in may be hardcoded

ocean wave
#

NOOOOO

gray bear
#

oh its just town interior

#

perhaps in cursors

latent mauve
#

Any mod author can use the unpacker (and should) to get the base game assets and see the data structure the game uses.

ocean wave
#

Waaaa day ruijned

gray bear
#

r the stars hardcoded

ocean wave
latent mauve
#

I think the stars are a separate image asset and are applied via C# when needed.

hallow prism
#

i think so too

#

so editing the image may be possible

latent mauve
#

That asset SHOULD also be editable, though

hallow prism
#

but not entirely controled (like size or positioning)

gray bear
#

if only i could find it

latent mauve
#

Lemme check our old friend Cursors.png

ocean wave
#

damn cant make it say your did it

blissful panther
#
public override void draw(SpriteBatch b)
{
    base.draw(b);
    for (int i = 0; i < this.numberOfStarsOnPlaque.Value; i++)
    {
        switch (i)
        {
        case 0:
            b.Draw(Game1.mouseCursors, Game1.GlobalToLocal(Game1.viewport, new Vector2(2136f, 324f)), new Microsoft.Xna.Framework.Rectangle(354, 401, 7, 7)
            break;
        case 1:
            b.Draw(Game1.mouseCursors, Game1.GlobalToLocal(Game1.viewport, new Vector2(2136f, 364f)), new Microsoft.Xna.Framework.Rectangle(354, 401, 7, 7)
            break;
        case 2:
            b.Draw(Game1.mouseCursors, Game1.GlobalToLocal(Game1.viewport, new Vector2(2096f, 384f)), new Microsoft.Xna.Framework.Rectangle(354, 401, 7, 7)
            break;
        case 3:
            b.Draw(Game1.mouseCursors, Game1.GlobalToLocal(Game1.viewport, new Vector2(2056f, 364f)), new Microsoft.Xna.Framework.Rectangle(354, 401, 7, 7)
            break;
        case 4:
            b.Draw(Game1.mouseCursors, Game1.GlobalToLocal(Game1.viewport, new Vector2(2056f, 324f)), new Microsoft.Xna.Framework.Rectangle(354, 401, 7, 7)
            break;
        case 5:
            b.Draw(Game1.mouseCursors, Game1.GlobalToLocal(Game1.viewport, new Vector2(2096f, 308f)), new Microsoft.Xna.Framework.Rectangle(354, 401, 7, 7)
            break;
        }

100% hardcoded!

gray bear
#

i am inside cursors i forgot what they looked like

blissful panther
#

For at least the positions.

ocean wave
gray bear
#

wait does that use an image

blissful panther
#

It's in cursors at least it looks like. Lemme...

ocean wave
#

banger pfp btws

gray bear
#

i cannot see

blissful panther
#

354, 401 in cursors it looks like?

#

7x7 pixels.

gray bear
#

its not these it is

urban patrol
#

i think that's the achievement star

#

wow i cannot spell today

gray bear
#

these??

latent mauve
#

That looks right, kind of

urban patrol
#

that doesn't look right either

ocean wave
#

Clueless who wants to help me redo that n just have one thing sayig your did it

urban patrol
#

oh lol

gray bear
#

game scales em

latent mauve
#

LOL lemme open my game

gray bear
#

so not a lot of room to work with

blissful panther
#

It's that little guy right there.

uncut viper
#

the coordinates in the code DH posted tell you the location on cursors

latent mauve
#

yeah, that should be the correct star, game scales it (and most things) up to about 4x

gray bear
#

i don't read good™

ocean wave
#

hes a babby

gray bear
#

well u can't, edit that much

#

u can try but like, that's not many pixels

#

that's not even the item 16x16 it's 7 pixels

calm nebula
#

Are those also the ones in the pause menu?

ocean wave
#

oh yea theres no use

gray bear
#

the achivments?

ocean wave
#

okay ty

gray bear
#

oh u mean

#

can anyone screenshot their inventory i dun have the stars i think

latent mauve
#

what were you trying to do with changing them, spirit?

ocean wave
gray bear
#

i don't know if that's the same atra

latent mauve
#

the one with the grey background should be specific to the fireplace, because it has the same grey

gray bear
blissful panther
#

Yeah, that's in Cursors_1_6.png.

#

Oh.

#

Beaten to it!

lucid iron
#

I am so hyped for cursors_1_7

ocean wave
#

sums the mod up i love it

gray bear
#

thats not the right star i think

latent mauve
blissful panther
#

I'm excited for cursors_hc_1_0.png

gray bear
#

this one was the star atra meant i think

uncut viper
#

would spacecore texture overrides allow a bigger star?

#

I'm not familiar with how it works

lucid iron
#

My approach to ui elements is to preen over cursors until i find something

lucid iron
gray bear
#

i mean it'd make sense for CA to use the same naming conventions

uncut viper
#

What do texture overrides work on then, I thought they could do hd things

calm nebula
#

I think it should but alsp I have no idea how to

lucid iron
#

The current way it works is that the target draw rect is invariant

calm nebula
#

I'm lazy

gray bear
#

mood

lucid iron
#

So u can certainly make the 64x64 actually use a 64x64 texture instead of 16x16

ocean wave
lucid iron
#

But you can't make 64x64 draw as 128x128

#

It's just not implemented

gray bear
#

i mean i think thats what we want for the stars

uncut viper
#

i don't get why

lucid iron
#

I have some thoughts about how to do it tho

uncut viper
#

oh wait now I get why. I think

latent mauve
#

C# can change hardcoded things quite often.

lucid iron
uncut viper
#

maybe? IDK I don't get anything

latent mauve
#

but with just CP, probably not, no.

gray bear
#

base texture is 7x7 and if u wanna edit it it should be bigger

lucid iron
#

But atm it doesn't have a place for you to say "actually draw this texture across a bigger bound"

gray bear
#

stardew assets make me feel weird bc some of them are used as in and than u have the star

uncut viper
#

It wouldn't be a bigger bound though

#

Same target rect, just a bigger source rect

gray bear
#

which gets stretched

lucid iron
#

Oh i thought we wanted star bigger visually

#

Yeah source rect is supported

gray bear
#

size in game would be the same.

latent mauve
#

The star doesn't get stretched on the fireplace, it is 7x7

#

It just gets scaled by 4x with every other asset when you are playing.

gray bear
#

smol

ocean wave
#

im trying to explain what i want

so like each room done adds a part a ug star, and the last one would say "your did it"

lucid iron
uncut viper
#

Going by that draw code, it's not even scaled

gray bear
#

oh u wanna like, make it custom

lucid iron
gray bear
#

so like puzzle pieces?

ocean wave
#

YEA

lucid iron
#

I guess u might be able to hack it together with tileset edits though?

gray bear
#

u would need a C#

lucid iron
#

It just won't update immediately on bundle

ocean wave
#

shivers and explodes

latent mauve
#

C# would be required, you can't even reliably conditionally patch the CC interiors until it's completed.

gray bear
#

i mean, how do you make the game use different shaped and sized star bits

uncut viper
#

Just use texture overrides for each individual star

#

Then when the CC is complete, make the star texture completely transparent

#

Then apply a map edit

#

With a fireplace that has what you want drawn on it

lucid iron
#

Do the individual stars have bounds that connect with each other rn?

gray bear
#

no

latent mauve
#

(There's a reason Useable Community Center only works when you've finished the CC, the game just keeps redrawing the base rooms without the patch eternally until the map base switches)

ocean wave
#

ohh

#

okay nvm then

lucid iron
#

Yeah I don't think spacecore overrides will work for this hm

gray bear
#

u can do what button said to make it appear as a big star at the end but like if u want it to show up like ur filling a puzzle i don't think there's a framework to do this

lucid iron
#

Maybe u can use mmap to spawn a TAS there

gray bear
#

i keep forgetting about mmap

lucid iron
#

Might need the traction version

ocean wave
#

arruu big words

lucid iron
#

Yeah spirit tldr ur idea is complicated and needs additional toys

latent mauve
#

You could potentially split the difference to do an event once the CC is completed that 'changes' the layout of the stars when they are all done by fusing them together as a TemporaryAnimatedSprite and then patching the map

lucid iron
#

Do you want to pursue this

ocean wave
#

peepoScared scary

#

pobablt not :

#

:[

brave fable
ocean wave
#

oh well, ty guys

lucid iron
#

That's ok sometimes things that seem simple do end up being harder than it looks

ivory plume
#

The current convention is always perfect. As soon as it's replaced, the previous one is legacy and was terrible.

blissful panther
hallow prism
#

how is the color scheme looking? i'm not entirely sure about it

blissful panther
#

Pathos, are you connected to my brain cells today? SDVkrobusgiggle

gray bear
#

i eat

patent lanceBOT
lucid iron
calm nebula
#

HC will have winterobjects

gray bear
calm nebula
#

(Is my bet)

gray bear
#

the forbidden winter objects

uncut viper
#

I like to think the internal names for things in HC will be named after types of chocolate instead
milkchocolate_interiors.png, whitechocolate_interiors.png, darkchocolate_interiors.png...

ocean wave
#

Blubbers im so sad now but ohwell

calm nebula
#

The real question is this

#

Mr. CA, how do you make hot chocolate

gray bear
gray bear
gray bear
brittle pasture
#

craving some spicy hot chocolate

calm nebula
#

I used to get those Mexican spicy chocolates

gray bear
uncut viper
#

cayenne hot chocolate is good, though

gray bear
#

didn't know people liked PAIN with their hot chocolate /hj /lh

calm nebula
#

Taza

lucid mulch
#

I like my hot chocolate with caramel syrup in it

calm nebula
#

Anyways y'all go back to modding, I go back to diy house wiring

gray bear
#

we're modding? news to me

calm nebula
#

It's a requirement of this channel

#

Except for me, who is old enough to be immune

blissful panther
#

Atra, that sounds like house modding to me.

gray bear
#

DH you're too far down the rabbit hole

lucid iron
#

Say what's the status of the mod ideas repo

#

I filled 2 things on there recently

latent mauve
#

A lot of things that aren't labeled yet

lucid iron
#

But idk who's got perms to close the issue

brittle pasture
#

I think iro/tia has perms?

lucid iron
#

@gentle rose hi can i get clerical helps

latent mauve
#

I'm gonna be honest, I checked the repo not long ago and saw that most of the unfulfilled requests for Content Patcher mods were entire NPCs and went "nope"

gray bear
#

what

lucid iron
#

I feel like you can do this with EMP

#

It's got that tile prop based fish right

brittle pasture
#

compat is pein though assuming only one mod can have a zone at a time

gray bear
#

[googles pein] oh, oh no

uncut viper
#

i mean painful theoretical compatibility is certainly better than literally no one doing it yet bc of the thought of painful theoretical compatibility

gray bear
#

i was going to make a joke but now i just go

brittle pasture
lucid iron
#

Yeah but it exists so someone might as well be the first to eat the mushroom or whatever

gray bear
#

who is willing to take poison damage

lucid iron
#

@ashen thunder this is a FF feature pretty sure

uncut viper
#

everything has potential for impossible incompatibilities depending on your definition of compatibility

lucid iron
#

And also that one erinthe mod let me find

brittle pasture
#

I feel the level 100 fish issue can be a candidate for dehardcoding in 1.6.16

gray bear
#

is the fish issue never hooking a lava eel

brittle pasture
#

it's totally doable with location fish data

#

the issue is that the fish table for level 100 is completely hardcoded and not in Data/Locations

uncut viper
#

are you feeling particularly listless chu and thats why you're going thru the repo

lucid iron
#

Yes

ashen thunder
lucid iron
#

You see discord won't let me vc with my friends

gray bear
#

discord is being a meanie

brittle pasture
#

the same reason the raccoon bundles are the way they are
||idk||

lucid iron
#

But also cus i remembered that lemurkat said hmk closed a mod ideas issue and decided to check

gray bear
#

maybe CA span a wheel everytime he did something like this

uncut viper
#

where is the floor 100 hardcoding bc i dont see it

gray bear
#

selph said feesh? where the feesh

lucid iron
#

I think it's more like the entire underground mines uses the same fish table?

#

But hm the new gsq for mine floors should solve this too right

brittle pasture
#

Mine.getFish
if mine level is 80 it never delegates to the base getFish function and fallback to the default table

uncut viper
#

i see various extra chances for an early return on floors 0, 10, 40, and 80, and then a hardcoded return for 80, but nothin for 100

brittle pasture
#

MineShaft.getMineArea

uncut viper
#

it was always possible to check the specific mine floor with a GSQ since the internal name of their locations is precalculable

brittle pasture
#

don't ask me why

uncut viper
#

ah, i see now

#

so not 100 specifically then

#

... you could fix that with BETAS harmony

#

just change the result of getMineArea depending on a GSQ checking which specific floor you're on

#

you can even make it dependent on the player holding a fishing rod

lucid iron
#

Seems like a reasonable use AnnelieStare

brave fable
uncut viper
#

im good

lucid iron
lapis creek
lucid iron
#

Fyi i didn't look at the internals so it might not work out for weird mine usecase

uncut viper
#

failing that it honestly seems like a really easy framework to make for a C#er

#

i dont like how C#er looks im gonna start calling the people who can do C# stuff sharpies

lucid iron
#

But esca is around perhaps not hard to ask for help on covering the weird usecase

lapis creek
#

One of the big things for me would be removing the existing trash pool to swap with new mines trash. Would that be possible here too?

lucid iron
#

Well i think emp lets u block that whole area?

lapis creek
#

Oh sick

brittle pasture
#

you'd have to reimplement the entire table in Mine.getFish right

lucid iron
#

But yeah i am not 100% sure and u can find out if theory is sound Dokkan

uncut viper
brittle pasture
#

I mean the EMP solution

#

since it seems like it's fully overwriting

#

the framework can just fallback yeh

uncut viper
#

same thing i think assuming you want a full overwrite

#

if you're just editing certain floors i think its fine to not worry about the original fishies too much

#

as long as you're not editing away all possibilities of em

lucid iron
#

Since emp says it's redirecting the fish to use a different Data/Locations table

#

I guess ppl who need compat with fionamod could just edit fionaspecialminetrashzone

#

It's not perfectly clean alas

uncut viper
#

well if fionamod didnt exist then this hypothetical other mod would just be doing this same thing anyway

#

they would become the fionamod in lieu of it

#

and the alternative is no mine fishes at all

lucid iron
#

Yeah so dw about compat basically be the first one claim floor 100 fishies

uncut viper
#

so id call this method an infinity percent improvement SDVpuffersmile

lapis creek
#

yeah thats the problem isnt it too, which is why making a conpatch option would be the prefered option if it was at all possible - because compat

uncut viper
#

this would already be done via content patcher

#

the content patcher-ness of such a thing is irrelevant

lapis creek
#

yeah but if content patcher had the mineslevel100fish table, then we all patch that instead.

uncut viper
#

content patcher doesnt "have" anything is what im saying

heady spire
#

I’m supposed to be sleeping but I’m writing jas dialogue at 1 am

uncut viper
#

content patcher is not the reason that fish tables are editable for other locations

heady spire
lapis creek
#

ah so we would just need it dehardcoded then, or yeah a central "fionasmod" that everyone makes compat for?

uncut viper
#

the ideal solution is dehardcoding it in the game itself, the second ideal solution is a framework that does it perfectly that everyone agrees to use in every case, which is impossible to guarantee, so aside from the first thing there is no perfect solution

#

all im saying is that content patcher is irrelevant here whether its EMP or a Fish Table Framework

#

content patcher is just a vessel to edit things in the content pipeline, a framework nowadays would almost certainly choose to use it

#

or rely on it rather

lucid iron
#

You should always get your mod to work by itself/with your mod list first then care about the additional compatible when people actually ask

lapis creek
uncut viper
#

unless you're the one writing the framework, thats unfortunately not really up to you

#

itd be up to EMP, in this case

#

so basically dw about it

lusty halo
#

Ah, here's the 'Pathoswave of updates', as Lumina called it earlier. SDVpufferparty Tomorrow is rewriting time, which I both love and hate, but such is the coding life, I suppose, even for those like me who just use frameworks. 😂

ornate locust
#

Unfortunately Nexus's API servers are choking hard

lusty halo
#

Uh, really, it's working for me right now, maybe it's being fixed.

lucid iron
#

The world is not ready for patch mode mask obviously

ornate locust
#

It's specifically the API bits. So the actual site works fine, but Stardrop's connection to it is choking

#

They had a notification on their status about problems with it

lusty halo
#

Ah that, yeah I could imagine. I just download things manually so I never notice, ahah. Hopefully it'll be fixed soon.

#

Ohmygosh there's AN EXAMPLE in the highlights post link for CP! I LOVE IT so much easier to test the code if I know how to write it...

broken yew
#

I have a question for modded Npcs

latent mauve
#

Looking at the CP highlight's mask example again, and I think I was only confused before because grey was used for the mask in the example and it looked too much like the transparent grey/white checkboard when you have no background. xD

uncut viper
#

(i also got confused by that at first tbh)

latent mauve
#

(so it looked visually to me like the change was adding white to the sides instead)

urban patrol
ocean sailBOT
#

Ask your question or describe your issue here, and someone will help if they can!

broken yew
#

Does asking have to be that complicated?

latent mauve
urban patrol
#

well there needs to be a question lol

latent mauve
uncut viper
latent mauve
uncut viper
#

i thought you wanted to have a fully white image and then erase the parts you want to make transparent in the original

#

but i havent tried it yet either

#

and didnt look at the PR

ivory plume
#

(RIP Nexus.)

broken yew
lucid iron
uncut viper
#

looking at the code i think i am the one with it reversed actually

#

so yeah ignore me

lucid iron
#

With pufferchick

ivory plume
#

When you apply a transparency mask, pixel opacity from the mask is subtracted. For example:

  • An opaque pixel on the mask = transparent ('erased') pixel on the final image.
  • A transparent pixel on the mask has no effect (i.e. you're subtracting zero from the final image's opacity).
latent mauve
#

Yep, that's how I interpreted it.

#

solid color on mask = erase what's here on the original.

brave fable
#

(what was the original usecase for Mask when it was requested?)

latent mauve
#

Pathos, the mask layer doesn't care what the hue/saturation of the color used is, just the opacity/alpha, right?

uncut viper
#

i thought the described optimization was the usecase

lusty halo
#

The way I manage it was to set the mask layer then put opacity to 0% (aka invisible), otherwise it showed the things that aren't supposed to be seen

lucid iron
#

No someone wanted to change npc hairstyle

#

In fact im pretty that someone is the person who did the PR

uncut viper
#

yeah and they didnt want a ton of targetareas

latent mauve
#

I mean, I asked for the example use case I showed, which was changing a bunch of things on Cursors in different spots when the sprite I was adding was smaller than the original.

uncut viper
#

thats what i meant by optimization

#

reducing the number of targetareas and thus image edits you must make

lucid iron
#

So i think they wanted ability to mask out the hair in 1 and put a differently shaped hair in 2

patent lanceBOT
lucid iron
#

And that's what this does indeed

ivory plume
#

(There's several ways you can use transparency masks, though 'knockout' patching was the main use case I considered when accepting the PR.)

ivory plume
latent mauve
#

(Thank you for enabling my ability to change the pig to Beedle's beetle friend AND change Joja to Yiga without needing a bunch of extra steps)

#

The new change is saving me from having all of these be individual EditImages in Replace mode:

broken yew
#

So just do ask command and that's it?

uncut viper
#

the ask command is just a lighthearted way of telling people to please just ask their question

latent mauve
#

Nope, the ask command was just a cheeky way to tell you to go ahead and ask your question in the chat

uncut viper
#

instead of asking to ask a question

lusty halo
#

Thank you from me as well Pathos, this is a great update! SDVpufferheart SDVpufferparty

uncut viper
#

no need to wait for permission or an opening or gap in the convo or anything, just chime in 👍

broken yew
autumn tide
#

yeah interupting convos is a sacred rite here 🙂‍↕️

gentle rose
uncut viper
#

chu thinks you're slacking in the mod ideas repo

gentle rose
uncut viper
#

totally chu's words not mine

#

(/lh)

#

i on the other hand think you're slacking because the tilesheetinator isnt updated yet (also /lh)

latent mauve
#

chu mainly wanted to get two of the requests they'd filled closed out, I think

lucid iron
#

*close 2 issues

uncut viper
#

yes!

gentle rose
#

ah will close in a minute, ty

gentle rose
uncut viper
#

"just" i see the last updated timestamp, iro, i see it

#

technically you should keep ATA in it for mods that are still using ATA and dont wanna switch. wouldnt want a breaking change in your extension, would you

#

a breaking change right after 1.0.0.... how shameful that would be

gentle rose
uncut viper
#

i mean i think if you gave them the option to do that and didnt do it silently, i think that would actually be the better thing to do

#

the ATA dependency removinator

gentle rose
#

my extension makes no silent changes to maps (for the most part it doesn't change anything at all) but that's very doable, especially if you're okay with a "ATA's main feature has now been integrated into SMAPI. Update the syntax to the SMAPI version?" (and if you click yes, a new popup with "Syntax updated, you can now remove ATA from your mod's dependencies." will show up once done)

#

I do need to add a tiled version checker but I have no idea what's the oldest safe version

lucid iron
#

Oh no i been deemed yapper again

#

Terrible mark of shame SDVpufferpensive

uncut viper
#

feels like you were yapper less than 3 weeks ago

lucid iron
#

Indeed it's a lost cause

calm nebula
#

Chue is a helpful chue

uncut viper
calm nebula
#

And therefore gets trans cotten candy colors often

uncut viper
#

from my pov you're just askin "are you okay with me updating your format to your newer format"

gentle rose
uncut viper
#

for a low low price of 70 billion DP im okay with it

gentle rose
#

I'll do 7, take it or leave it

uncut viper
#

ill take it

vapid oak
calm nebula
#

A chue is a helpful chue

uncut viper
#

chu actually talks in other channels so it makes sense

autumn tide
#

damn-

#

wait you guys can count how many?

lucid iron
#

well the bot counts u

#

im psure the role is just xp leader boards top 10

autumn tide
#

aaah okay

#

awww we're both shiny!

#

back with more questions btw- how can i delete the default * movie reaction from an NPC?

lucid mulch
#

I don't talk enough to ever betray the cheeto way of life

autumn tide
#

ah, i never shut up

calm nebula
#

I'm fully happy betraying the way of the cheeto

lucid mulch
#

I'm close to the first purple rank that I'll never see and marks the 25% mark for the interesting rank

calm nebula
#

Have managed to (gasp) touch grass

autumn tide
#

🤯

#

eugh anyone know if kroby's movie reactions are hardcoded?

royal stump
#

doesn't look like it? the Data/MovieReactions entry matches his wiki opinions

autumn tide
#

okayyy

royal stump
#

if you're adding any, his last entry is a universal dislike, so you'd probably need to move them above that

autumn tide
#

tryna test my custom reactions but that 'krobus seems to be dozing off' one is ADDED to my custom reaction

autumn tide
#
                "{{ModId}}.MovieReaction.Krobus.Sprout": {
                    "Tag": "spring_movie_0",
                    "Response": "dislike",
                    "Whitelist": [],
                    "SpecialResponses": {
                        "BeforeMovie": {
                            "ResponsePoint": null,
                            "Script": "",
                            "Text": "{{i18n: i18n_Dialog.Krobus.Special.BeforeMovie.Generic.{{Random: 1, 2, 3}}}}"
                        },
                        "DuringMovie": {
                            "ResponsePoint": "sprout_leave",
                            "Script": "/pause 1000/shake Krobus 4000",
                            "Text": "{{i18n: i18n_Dialog.Krobus.Special.DuringMovie.Sprout}}"
                        },
                        "AfterMovie": {
                            "ResponsePoint": null,
                            "Script": null,
                            "Text": "{{i18n: i18n_Dialog.Krobus.Special.AfterMovie.Sprout}}"
                        }
                    },
                    "Id": "{{ModId}}.MovieReaction.Krobus.Sprout"
                },

next plaza
#

@urban patrol I'm ready in <2 minutes if you want to remind me what you've tried and stuff

urban patrol
#

sure thing let me get my computer up and running

royal stump
autumn tide
#

oh, I'm not!

#

thank you!

royal stump
#

SDVpufferthumbsup it's probably getting inserted at the bottom then, below the dislike that applies to everything

autumn tide
#

got it

#

weird that both apply though huh

royal stump
#

it should just use the first applicable thing, but maybe some of the segments can be pulled from elsewhere, I've never messed with it myself

autumn tide
#

gotcha! and tysm Esca! you're always super helpful

urban patrol
ocean sailBOT
#

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

next plaza
#

off topic but that looks fun

urban patrol
#

hehe i hope it will be when it works

next plaza
royal stump
# autumn tide weird that both apply though huh

Okay, so according to Modding:Movie_theater_data, if multiple entries are valid & the first one is missing a block, it'll use the next valid one or the default text. Krobus's generic dislike doesn't have a "DuringMovie", so I imagine it was using your custom one. SDVpufferdizzy

If multiple response blocks are applicable to the movie, the game uses the first non-null Response, BeforeMovie, DuringMovie, and AfterMovie fields it can find. Said data does not necessarily have to come from the same response block. If the game cannot find applicable DuringMovie dialogue, it will use default text from Strings\Characters.xnb. If the game cannot find applicable BeforeMovie or AfterMovie dialogue, the NPC will show as being able to be spoken to, but interacting with them will have no effect.

next plaza
#

Ohi t's a dungeon too, not just set pieces

royal stump
#

but anyway, if you get yours above the generic & have all the relevant responses, it should work fine

urban patrol
#

yep! i'm hoping to have three "floors" with a randomized big map each time

autumn tide
#

huhhh that's fascinating!

next plaza
#

@urban patrol Can you send me the tmx for the base location

autumn tide
#

OOOH that is so cool nic!

urban patrol
dusk mulch
urban patrol
#

also uh i hope you're not scared of blood/spiderwebs/dolls lol

autumn tide
#

i am, 10/10 perfection

urban patrol
#

of note is that the dungeon itself works (kinda); when i enter it, i get spawned onto the blank version of the map, no setpieces. however i'm out of bounds. may or may not be related, not sure

autumn tide
#

ooh and i can send over some of my tilesheet if you want! it's got horror-y stuffs like manacles, spiderwebs, etc

next plaza
urban patrol
#

oh true lol

next plaza
#

(in the game's location instance, not what you've done)

#

Can you show me your Data/Locations entry that matches the one specified in the dungeon data?

urban patrol
#

oops grabbed two extra ones

next plaza
#

I might see the issue

#

You have "LocationDataEntry": "{{ModId}}_DollHouseBlank", but no Locations entry for it. You have two locations using a similar name for MapPath, which are "{{ModId}}_DollHouse" and "{{ModId}}_BlankMaze", but none that match the Dungeon name

#

So it never populates the data, and so never loaded a map, hence the error

urban patrol
#

wowwww so it was a stupid mistake all along 🤦

#

wait hang on i really hope i didn't send you an outdated version of my json

#

because in my file in my mod folder i'm seeing "LocationDataEntry": "{{ModId}}_DollHouse",

next plaza
#

Yeah that's not what I see in the link you sent

#

Can you just send me the whole zip to double check?

urban patrol
#

sure thing

ocean sailBOT
#

Log Info: SMAPI 4.4.0 with SDV 1.6.15 build 24356 on Windows 10 (10.0.19045.0), with 9 C# mods and 2 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

urban patrol
dusk mulch
#

sorry i didnt realise you were still going

autumn tide
#

oh no dw!

#

interrupting convos is a sacred right here LOL

urban patrol
#

relevant code should be in dungeon.json, locations.json and spawning.json; dungeontest.json was me copy-pasting and isn't Included in content.json

next plaza
lucid iron
#

anyone know whats up with mutant carp no2 here?

next plaza
autumn tide
#

they're so mutant they have a lil mutant twin

next plaza
#

That's how evolution works - the ones that work survive, the ones that don't don't. /s

autumn tide
lucid iron
#

i think that'd be too much negative vibes

autumn tide
#

that's just me 🙂‍↕️

next plaza
#

One person is not enough of a critical mass to do it (if I had to guess)

autumn tide
#

(i take this as a challenge) /j

dusk mulch
#

I'm trying to add some more secret notes but when I go to read note 4 with an image it says it can't be found and closes the note instantly, if i hover over it in the collection menu the console gets flooded with warnings and stuff. (I've tried with and without the load action.) https://smapi.io/log/1a00213e2c954e01a9755a2a5747d92d
https://smapi.io/json/content-patcher/38aa01c4ef2944e6bf484c7c68788966

(Using the SecretNoteFramework by IchorTower)
https://github.com/ichortower/SecretNoteFramework/blob/prod/docs/author-guide.md#image-notes

ocean sailBOT
#

Log Info: SMAPI 4.4.0 with SDV 1.6.15 build 24356 on Windows 10 (10.0.19045.0), with 9 C# mods and 2 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

dusk mulch
#

that was a bigger message than i thought

next plaza
#

@urban patrol Have you tested it with what you just sent me, and gotten a new log? If it's still erroring I'm wondering if it's a different error

urban patrol
#

i'll run it right now

ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.22631.0, with 21 C# mods and 1 content packs.
Suggested fixes: One or more mods are out of date, consider updating them, SMAPI is out of date, consider updating it

elfin kindle
urban patrol
#

(curse you pathos update wave, i know i'm out of date now)

elfin kindle
#

I say but I just put in my own but I think that's it lol

royal stump
#

yeah, CP frameworks will almost never know where your actual files are, it needs to be loaded to a target and then have the target in that texture field*

tiny zealot
royal stump
#

(like, they can know about files, it's just more confusing & harder to do compat)

next plaza
dusk mulch
#

Ohh alright, tysm!

lucid iron
#

making a retexture mod /j

autumn tide
#

ooh pretty SDVpufferwow /j

next plaza
#

|| ||

inland rain
next plaza
#

...why is the map being loaded afterwards? SDVPufferThink

urban patrol
#

whaaaa well that seems like it would be the issue then i think?

#

i'm guessing patch priority wouldn't help with this. i thought maps were loaded on game load

next plaza
#

This same code should be failing for any spawning, not just set pieces though

#

So how did the S&S dungeons ever work

#

(the super complex change that was made)

brave fable
urban patrol
#

different error now, progress!

#

which may very well be my own fault, please hold

ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.22631.0, with 21 C# mods and 1 content packs.
Suggested fixes: One or more mods are out of date, consider updating them, SMAPI is out of date, consider updating it

urban patrol
#

i'm seeing no error now, but i'm still entering a blank map

#

(and spawning at 0,0 for some reason)

#

forgot to @next plaza

lucid mulch
#

you don't have a SpawningGroups entry that is {{ModId}}_DollHouseSpawn

urban patrol
#

yeah that was what the patch reload was

#

i fixed that

lucid mulch
#

you have {{ModId}}_DollHouseSpawns.Gluttony and {{ModId}}_DollHouseSpawns.Setpieces

urban patrol
#

i can try restarting the game if a patch reload wasn't enough to fix that though

#

yeah no dice

lucid mulch
#

In regards to patch reload, I'm not sure if spacecore dungeons would correctly get asset propagation.
Looking at the smapi code, it seems to only use Game1.locations and SaveGame.loaded.locations, which I don't think any of the generated levels (including vanilla mineshaft/volcano) would be in

next plaza
urban patrol
urban patrol
next plaza
urban patrol
#

that sucks i'm sorry :(

lucid mulch
#

(mental health is health too)

autumn tide
#

take time for yourself, alr?

next plaza
#

(not at all saying mental health wasn't health, only that there's nothing to worry about)

autumn tide
#

still, you deserve a break, and space :) see ya later casey!

autumn tide
#

helloooo is there a token or something to have a numerical value display as though it were written out? wanna make a custom stat for how old dwarf is but they say the numbers spelled out

next plaza
#

Remind me in 22 hours to help @urban patrol again

patent lanceBOT
#

oh kittycatcasey you sweet summer child. trusting me with such a task? all right ;) (#7027633) (22h | <t:1768264586>)

next plaza
#

(Also nic are there any dependencies for the mod besides whatever may be listed in the manifest?)

royal stump
#

(ack, keyboard's dying, middle sentence broke)

urban patrol
autumn tide
lucid iron
#

Like u want one

autumn tide
#

mhm!

tiny zealot
#

presumably "three" instead of "3"

lucid iron
#

Oh yeah i guess that is just a stupid long DT section SMCPufferjail

tiny zealot
#

simply patch the dwarf translation function to support numbers ez /j

lucid iron
#

I also think it's a bad idea for translation so don't do it ok?

#

Promise?

autumn tide
#

(i pinky-promise i wont i'm just slightlyyyy not stupid enough to try)

tardy pivot
#

Does anyone have some advice about using queries and tokens in a character disposition? I have a custom character that I'm currently making and I'm trying to find a way to change her home location in the disposition when another character marries the farmer.

autumn tide
#

hm, I think you'd only be able to use tokens and 'when' things in that area

#

you're referring to the data/character stuff, right?

lucid iron
#

take a look at Leo who's the canon example for this feature

#

Home is a list so u can have multiple homes listed

#

though hrm, im not sure if there's any easy way to check for marriage to anyone in a GSQ yggy

autumn tide
#

a when thing could!

calm nebula
#

"Condition": "{{Spouse:anyPlayer|contains=OtherNpcName}}"

lucid iron
#

yea that one's a token so i lied

#

but it's still mostly data only

calm nebula
#

just shove the token into the gsq slot, just make sure it returns either true or false

autumn tide
#

hehh revoking my :point_up: now

calm nebula
#

(When statements are a bit tricky to use in Data/Characters b/c

#

also I swear there was a gsq?

lucid iron
#

i mean theres PLAYER_NPC_RELATIONSHIP