#making-mods-general

1 messages · Page 428 of 1

urban patrol
#

ah so your entry there needs to be {{ModId}}_Giselle

jade wing
#

for the log name?

urban patrol
#

right now you've given gift tastes to a completely separate NPC named giselle, while your've created a Data/Characters entry for an NPC named {{ModId}}_Giselle

#

no, the line underneath entries

jade wing
#

ahhhh

#

okay ill try

#

but does this effect the npc spawning in default locations?

urban patrol
#

dictionaries (the way CP code is formatted) are made up of Key:value pairs

jade wing
#

as i have made her spawn at the bus stop as a test

urban patrol
#

and that worked?

jade wing
#

yes

#

she spawned

#

i couldn't interact however

#

but the model was there

urban patrol
# jade wing she spawned

then i would suspect that the problem is with the name of your custom location. please check that the location of the spawn is the exact same as the name of the location

urban patrol
jade wing
#

ahh okay

#

ty i will change that

urban patrol
#

the game needs a certain bare minimum for the NPC to actually function, and gift tastes is one of them

jade wing
urban patrol
#

also, just for your convenience, you don't actually need to type out KatyDTK.CP.BakingLovers. you can just use {{ModId}} and it'll get automatically replaced (this also reduces the chance of typos etc)

jade wing
#

i get errors in smapi

urban patrol
#

that's an unrelated error then--what does the error say? you're allowed to use {{ModId}} there

jade wing
#

umm ill change again and double check

#

but i think it just comes up with a loading error

urban patrol
#

!log when you test it, please upload your log to here

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.

jade wing
urban patrol
#

@ someone more knowledgable than me: what happens if you include the same context tag in both loved and liked gift tastes? is it a problem?

hallow prism
#

it doesn't and it doesn't matter because it's entirely display anyway, the item keeps it initial category internally

valid folio
#

Ookk I understand, ty

jade wing
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.

urban patrol
#

follow the instructions on smapi.io to upload your log and then send the link to share it here

jade wing
#

oh i see sorryyy

ocean sailBOT
#

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

jade wing
#

here is the link thanks

urban patrol
#

it's {{ModId}} not {{Mod_Id}}

jade wing
#

oh hahha yh

#

here is the content file so far

urban patrol
#

also, just in general, it's a good practice to test with a minimal mod setup so you can rule out interactions with other mods causing errors

jade wing
urban patrol
#

it's better to Include your dialogue because you can't use tokens in Loaded files

jade wing
#

oh okay i see

urban patrol
#

so yeah if you change it to {{ModId}} everywhere that should fix a lot of issues

jade wing
#

oh i seeee thank you

warped raven
#

(certainly not more knowledgeable)

#

"Love always wins"

gaunt orbit
#

Shoutout to @rancid musk, without ModManifestBuilder being open source it would have taken me way longer to figure out nuget packaging

jade wing
#

only by changing it back to the old format for the custom location does it work T^T

urban patrol
#

are you able to warp inside your location using debug warp YourLocationName ?

#

please share your location/map json

jade wing
#

i think its the same as what i had in the content json tho

urban patrol
#

that's an outdated way to add new locations. let me see if there's an updated tutorial, or otherwise you can look at [[Modding:Maps]]

urban patrol
jade wing
#

ohh i see thank you so much

urban patrol
#

if possible, can you please link me to the tutorial/resource you were following?

#

we try to hunt down all references to old methods and warn against them

jade wing
#

but i have also been refrencing mods like stardew valley expanded for the format

urban patrol
#

SVE is one of the worst examples to follow, not only because it's so large, but also because it has outdated methods and includes a C# component

jade wing
#

oh righttt

#

hahaa thats good to know

brittle ledge
#

Yeah, definitely don't reference SVE (or any expansion, really), I would look at an individual NPC.

#

SVE is doing its locations via the outdated method.

#

Nic, is your NPC mod fairly parseable for a newbie? Jorts and Jean don't do maps and Wren has a bit too much spaghetti.

#

Oh, Riley might be a good example - they just got updated to 1.6 and they have a house map.

brittle ledge
#

Look for Wisp's update

jade wing
#

that sounds good ill have a look tysm

urban patrol
next plaza
#

Remind me in 2 hours to fix the nexus link for SpaceCore readme

patent lanceBOT
#

THUMBS UP EMOJI (#6865472) (2h | <t:1757979611>)

urban patrol
#

i do think it's a good "little bit of everything" example though, even if it's still growing

#

and i have some stuff that’s not best practice (not cropping map patches for example) that i still want to clean up

hard fern
#

SDVpuffersweats i dunno if my forever unreleased npc has a good enough formatting for a newbie to follow

#

most likely not bc it's cursed

twilit mirage
#

How complicated would it be to create your own npc lol

jade wing
urban patrol
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:

urban patrol
jade wing
twilit mirage
urban patrol
urban patrol
#

!comms

ocean sailBOT
twilit mirage
#

YIPPEE THANK YOU

jade wing
#

maybe i will try to follow your format

urban patrol
#

yeah i'll definitely be able to explain things to you if you have questions at least

#

it's on github too so it's easier to view

jade wing
#

is it on nexus?

urban patrol
#

yep id 31888

primal cypress
#

@copper kestrel hello, I was hoping to learn how to use Calcifer to add swimming to my NPC schedules for Kapusgrave SDVpufferjelly

jade wing
hard fern
#

i feel like a full npc comm would be pretty expensive

urban patrol
#

i also committed the mortal sin of not prefixing my NPC names with {{ModId}}_, because i gave them first and last names and they're from existing media 🙈 so PLEASE keep {{ModId}}_Giselle

urban patrol
hard fern
urban patrol
#

which makes sense, because they take months

hard fern
#

i guess commissioning an npc is something you only can do if you have money

jade wing
urban patrol
#

correct, you can use TMX now

jade wing
#

ohh i see

urban patrol
#

have you unpacked the game btw?

hard fern
#

will a tbin actually break anything though? (aside from like flipping tiles)

urban patrol
#

afaik it's still fine to use tbins but yeah the flipping tiles thing

hallow prism
#

Its also easier to fix issues like climbing tilesheets on tmx

twilit mirage
#

Upon further consideration........is it possible to take commissions for just the pixel art/sprites? Not implementing it and stuff? Im not sure how the coding and modding and stuff works but I am interested in designing sprites and stuff

gaunt orbit
#

Absolutely

twilit mirage
#

Ill have to practice pixel art ofc

#

YAY

gaunt orbit
#

!commissions

ocean sailBOT
gaunt orbit
#

You can add yourself on this page

twilit mirage
#

YAY

gaunt orbit
#

It will help if you have examples of relevant work somewhere so people know what sort of art they're paying for

twilit mirage
#

Awesome ill just have to practice and see if its something im cut out for

jade wing
urban patrol
#

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

urban patrol
#

this is an excellent way to reference vanilla data and assets

brittle ledge
brittle ledge
naive wyvern
#

npc sprites are fun to draw

velvet narwhal
#

leaves again

brittle pasture
#

avi i have comm, for spunchbob in star valley /s

hard fern
#

i should make more generally "unlikeable" characters (i still love them)

#

😔 i feel like too many custom npcs are nice

#

that and im running out of options for how to make a character nice

uncut viper
#

unlikeable NPC that steals a random item from your shipping bin every night to resell themselves

jade wing
oblique meadow
#

Chu. MMAP question.

I have this map. Since the Panorama feature does the full map and I cant specify a range. Is there a way to still do the sunset effect that the panorama does but only within This specific range on my map?

lucid iron
#

That's a recent option I added

#

To put the black bars back

oblique meadow
#

Ive been bouncing around the readme and Im not getting it

lucid iron
#

I'll sit down n write example in like 5min

lucid iron
#

on the top level panorama model there's a FullView field that takes true/false

#

when FullView is true (the default), i patch away the vanilla logic that says draw a black bounding box around the map if it's smaller than viewport

#

when it is false i dont do that AquaThumbsup

#

so for your case, you want to put false here

oblique meadow
#

I think the "basedon" in the example is what is throwing me

lucid iron
#

that's not important

#

it's a separate feature that lets you inherit some fields from a existing panorama entry

#

u can see what MMAP_IslandHorizon says by doing a patch export mushymato.MMAP/Panorama, this is one of the built-in panoramas in mmap

gaunt orbit
#

God I can't wait to play with mmap, it's got so many goodies in it

lucid iron
#

scope creep

gaunt orbit
#

I know how that feels

oblique meadow
#

So im probably way off.... I tried:

      "Action": "EditData",
      "Target": "mushymato.MMAP/Panorama",
      "Entries": {
          "{{ModId}}_EGH":{
          "BasedOn": "MMAP_MountainView",
          "FullView": false}}},
      
      {
         "Action": "EditMap",
         "Target": "Maps/Greenhouse",
         "MapProperties": {
            "mushymato.MMAP_Panorama": "{{ModId}}_EGH"
         }
      },```

It is applying the panorama. Just...no black bars....
#

(Ignore the bunnies. Was playing with other stuff)

lucid iron
#

is it cus indoor map bolbthinking

#

let me double check i didnt break it Dokkan

oblique meadow
#

Is it bad I kinda hope you did...because that would make me feel less stupid xD

lucid iron
#

there is immens amount of cloud but i didnt break it bolbthinking

#

(this map is chicken coop minus the wall)

#

let me double check if greenhouse is special (update it's not special)

#

@oblique meadow what does your tmx look like overall?

oblique meadow
#

A square? I’m not sure what you’re specifically meaning

lucid iron
#

Do you have blank tiles that are on the tmx which are meant to be out of bounds

oblique meadow
#

Nope. Nada

lucid iron
#

then i dont see why it would do this hrm

#

i may need your wip mod files to investigate further

oblique meadow
#

Sure. I just walked away from my PC because apparently children need “fed” and are “hungry” (whiny little shits)

patent lanceBOT
oblique meadow
#

Thanks Chu. Working now. It seems I was, in fact, the idiot here

fading moon
#

hi guys! so i'm currently using the foliage redone mod and i really like the way it changes the appearance of the buildings. however, i'm not a fan of the other changes, particularly the recolored paths and the dirt. iv'e tried editing the content.json file to remove the dirt recolor, but the paths and the areas around the water still look a bit patchy. is it possible to just use the building texture changes from the mod? thanks for any help/advice in advance!

drowsy pewter
#

for your question: yes

#

but theres not enough info to help

vernal crest
drowsy pewter
#

if i remember correctly town buildings are on a different sheet from dirt and grass

#

?

brave fable
#

well town buildings are on spring_town, yes, but there's also other various foliage and town decor there as well. you'd need a little more thorough editing done to the content json to more selectively edit the buildings

ancient flame
#

someone help me understand here, im trying to edit a modded farm map through tiled, but im running into issues where certain tiles i removed/edited remain in actual game even though they dont appear in tiled anymore (yes, i have all layers shown, i checked like 5 times)
images are original, my edit, ingame (and yes, i forgot to remove the bush but thats not the issue)

brave fable
#

if the mod is using an Overlay patch mode it'd be simpler though, as you'd only need to clear the non-building parts of the spritesheet, rather than manually creating new Replace patch actions with only the regions of the spritesheets with buildings

drowsy pewter
#

some do that for horse purposes

ancient flame
#

there are a bunch of options that alter the map, but nothing with this bridge as far as i can see

obtuse wigeon
#

Are you using WAFF or WAFFLE? I think it does have more setting for bridges in it's config

ancient flame
#

WAFFLE yeah

#

oh yeah nvm i found it

obtuse wigeon
#

In that case then there is a config option relating to bridges

ancient flame
#

yup lol

#

thanks

#

why go through settings like a normal person when you could just spend time learning how to edit it yourself lmao

fading moon
#

i'm thinking that if i change some of these to "overlay" instead of replace that would fix my issue of the dirt recolor and pathing being different colors, would i be correct or no? i already changed some to overlay and it worked for most of the dirt recoloring.

drowsy pewter
#

um not totally, blueberry is saying you would need to edit the art as well

ancient flame
#

yay fixed

fading moon
#

ohhhh

drowsy pewter
#

if you show a screenshot someone can explain it with an example

brave fable
#

Overlay and Replace don't exactly correlate to Works and Doesn't; these two determine whether the pixels are layered on-top of everything already there or whether the entire ToArea is wiped clean before adding the FromArea pixels

#

it may work with Overlay depending on the existing content of the spritesheet, but it also just as easily may not

#

to leave the least room for error, the best way of only replacing buildings on the town sheet with only the buildings from the recolour would be to rewrite the content file to only include several Replace actions with the ToArea and FromArea covering the buildings on the sheet

#

i'm not sure if i'm explaining this very clearly hahah

true coyote
#

(You can continue blueberry i was just popping in to see if you got my ping the other day!)

brave fable
#

(yep, just haven't had a chance to look into it just yet SDVpufferthumbsup )

fading moon
brave fable
#

ah you actually won't need to edit the art at all, just create new actions to use smaller regions in the ToArea and FromArea

#

the alternative would've been using overlay and clearing the areas of the recolour spritesheet that were to be left as default, but that's less-correct/desirable/precise for a recolour (since as you might expect, layering sprites over the original may result in parts of both being visible if the silhouettes don't exactly match, or transparent shadows may be doubled-up and appear darker)

next plaza
#

disappears into the aether

fading moon
drowsy pewter
#

my bad, wrong link

brave fable
#

it's just a matter of making some new changes for your building sprites, with the FromArea-ToArea X-Y-Width-Height values matching each building's region in the spritesheet.

#

and, of course, replacing/removing the changes you otherwise don't want to have in your final town spritesheet

latent mauve
#

Another i18n question: Can you nest i18n tokens?

#

I need to i18n this string and I'm not sure if I need to undo the Duggies portion: "SlayMonsterQuest.cs.13711": "The monsters known as '{{i18n:Duggies}}' are making a mess of the local mine!

fading moon
brittle pasture
#

switched to a common csproj so I can build my mod against both 1.6.15 and 1.6.16 and now Vim's LSP no longer works SDVpufferwaaah

calm nebula
#

Clint's is the best tbh to look at

vernal crest
#

Yes you can

latent mauve
#

I'm specifically going through all of my String replacements at this point to do i18n (since the NPC and monster names have to change, which means I have to replace the original string), that line is from StringsFromCSFiles

elfin oasis
#

Hey guys, I'm running into some issues when trying to change the hovertext and hoverbox for a tool. I am making a projectile weapon that has ammo and I have the ammo descriptions and their properties display on the weapon when I equip it. This all works fine but I have been using the vanilla textbox wrapping and stuff.

What is happening is that the tool is behaving like vanilla and trying to make the textbox wrap based on the action line of "arm [tool] with [ammo]" or "retrieve [ammo] from [tool]" and it makes the box the length of whatever that string is. But the description lines I have added don't factor into the box width.

Also occasionally one of my items will have a name that is too long which means the box will extend beyond the edge of the game window (unless fullscreen) and it will overflow to make a sliver of a box instead of a "too big" box.

Basically I am looking for documentation on tooltext and hoverboxes. I know this all is very vague but I am actually editing another person's (old and forgotten but still not mine) mod for my own personal use and I am afraid to post what I have done because I don't want to be "stealing" someone else's mod.

calm nebula
#

whooops I thought it was special orders

vernal crest
#

data/objects: "DisplayName": "{{i18n: film.display-name |name.animal={{i18n: name.sheep }} }}",
default.json: "film.display-name": "{{name.animal}} Film Roll",
default.json: "name.sheep": "Sheep",

Result: Sheep Film Roll

tender agate
#

is there a tutorial for making custom tools

vernal crest
#

You just have to pass the second i18n token through inside the first one

vernal crest
tender agate
vernal crest
#

I'll edit it to remove the local token stuff so it's clearer

latent mauve
#

I saw it, aba, still trying to parse it, but I saw it

gentle rose
tender agate
#

pain

calm nebula
#

look at casey's tent mod iirc

brittle pasture
vernal crest
latent mauve
vernal crest
# latent mauve Probably, my brain is just not comprehending right now
// Strings/StringsFromCSFiles
"SlayMonsterQuest.cs.13711": "{{i18n: slay-monsters.quest |name.duggies={{i18n: name.duggies}} }}"

// default.json
"slay-monsters.quest": "The monsters known as {{name.duggies}} are making a mess of the local mine!",
"name.duggies": "duggies"

That will result in the line being "The monsters known as duggies are making a mess of the local mine!".

You are just passing the i18n token "name.duggies" in the same way you might pass the season token in if you wanted someone to say "It's a lovely {{season}} day".

latent mauve
#

okay, so I already have a i18n token for the Duggies as "monster.Duggies": "Devalants", so I guess that's where I'm getting confused as to where name.duggies comes in. Would I just use monster.Duggies instead in my case?

vernal crest
#

Yes that's right

#

You don't have to keep any of the keys the same as I made them. The important thing is that you match them up in the right places. I'll write it again to show what has to match with what.

// Strings/StringsFromCSFiles
"SlayMonsterQuest.cs.13711": "{{i18n: i18n.KEY1 |passthrough.KEY={{i18n: i18n.KEY2}} }}"

// default.json
"i18n.KEY1": "The monsters known as {{passthrough.KEY}} are making a mess of the local mine!",
"i18n.KEY2": "duggies"

The passthrough key can be named anything that you want it to be, as long as it is the same in both places that I have written "passthrough.KEY". It doesn't have to match what you've called i18n.KEY2, though it can if you want it to.

latent mauve
#

Okay, that example helped clear things up a lot. Thanks!

vernal crest
#

No worries ^_^

latent mauve
#

What about if my statement has {{ModId}} in it?

#

"SwordPedestal.Event":"$v {{ModId}}_PullMasterSword true true #$b#%The engraving is faded and barely legible: 'Only those of pure heart can wield this blade.'",

#

The i18n-ifier did not like that one

vernal crest
#

You have to pass the ModId token through as well

#

Any time you use a token inside i18n, you have to pass it through

latent mauve
#

so would I need to create a "ModId": "Fireredlily.LoZNPCOverhaul", entry in the i18n default.json?

#

that's the part that's throwing me off

#

Is this valid? "SwordPedestal.Event": "{{i18n:StringsFromMaps.SwordPedestal.Event |ModId={{ModId}} }}"

vernal crest
#

So only i18n the part that's actually visible to players instead of the entire line

latent mauve
#

ah, I see

vernal crest
#

That will reduce the risk that your translators will translate "PullMasterSword" or "true true" into their language

latent mauve
#

okay, String Replacements are all converted now, time to stop for the night. I'll have to tackle character dialogue and events another day.

obtuse wigeon
#

I remember there being an update subtoken? That defo isn't the right word, but it made smapi check nexus release with an @ symbol in the file description, where the documentation for that? I can't seem to find it at all

obtuse wigeon
#

Ahhh I missed that link on the wiki, thank you!

urban patrol
#

i'm assuming it's better to run two queries to decide which file to include, rather than running it on every patch that would be affected?

vernal crest
#

Do you mean "Action": "Include" or FromFile?

urban patrol
#

action include (although that does take a from file, so am i misunderstanding your question?)

vernal crest
#

No you aren't misunderstanding it and you're right lol. I was thinking Include vs something like an EditImage with a varying FromFile

urban patrol
#

ohh lol

vernal crest
#

And if I am understanding your question correctly, yes it is better to put the condition on an Include patch so all the patches inside the Included file don't have to check the condition

urban patrol
#

cool that's what i thought but wanted to check and make sure

#

thanks!

#

time to move so many patches

shadow urchin
obtuse wigeon
#

I think 1.6 made it so you can just add a new farm type without replacing one?

shadow urchin
obtuse wigeon
#

It doesn't look like theres an error beside the "Format" being VERY out of date, it should replace the letter backgrounds

#

does it not show up in game? if so you may have another mod overwriting that

drowsy pewter
#

"doesnt work" needs more explaining, especially a log and a screenshot

#

Well fuck me Im late to this convo lol

obtuse wigeon
#

Only by a couple of hours! /lh SDVkrobusgiggle

drowsy pewter
#

mods are asleep, lets chat about how our days are going

shadow urchin
obtuse wigeon
obtuse wigeon
gray bear
#

my day has been [redacted]

obtuse wigeon
#

[■■■■■] days are always the [■■■■■]

gray bear
#

replacing farm is EditMap no

#

could also just look at one and see

drowsy pewter
#

the other answer is that you can switch your current ingame farm to be the new custom farm with easy farm switcher too. requires no code editing

obtuse wigeon
#

for all maps I think, but for a specific map you may need to editdata some stuff to get it to recognise it I thought? I have like a grand total of 0 knowledge for them

gray bear
#

oh wait are u just replacing ur currect save farm?

gray bear
vernal crest
#

Although I don't see the point

stable grotto
#

I hope you don't use vpr 'cause it's incompatible with beach farm replacements

obtuse wigeon
#

specifically the beach? or all farm replacements?

stable grotto
#

beach only

#

there's some vanilla bugs it fixes

obtuse wigeon
#

Ahhh gotcha, I was gunna say that it's a bit odd for a recolour to change maps but I see why

stable grotto
#

I didn't lie when I said "not just a recolour" in its description SDVpuffersquee

obtuse wigeon
#

Ahhh admittidly I've never looked at the description, only downloaded it to test for compat

stable grotto
#

like all the missing visual loca for vanilla languages

#

incredible how inconsistent it is for anything but English (and Russian tbf)

brave fable
#

upgrade???

#

guys who look like this have a 100% chance of stealing your clothes and selling them in the forest

obtuse wigeon
#

With eyes like that, I'd just give my clothes, no need to steal when you're the cutest thing to grace the valley

vernal crest
#

He is using those eyes for crimes

tough root
#

Hey everyone, I’m working on a custom mod where I want to spawn breakable rocks/mineral nodes (like the ones in the mines) at specific tile markers in a custom map.

Right now, I’ve tried using both of these approaches:

// attempt 1
var obj = new StardewValley.Object(tile, "751", false);
loc.objects[tile] = obj;

// attempt 2 (with ItemRegistry)
var item = ItemRegistry.Create("(O)751");

In both cases:

  • The object spawns in the world.

  • But instead of being a breakable rock node, it either spawns as a pickup item (I can grab it with my hands), or as a “forbidden/no sprite” placeholder.

I know the IDs I’m testing (751, 849, 851, 852) are correct for stone/ruby/etc. nodes, but I can’t seem to make them behave like proper minable rocks (requiring a pickaxe).

Does anyone know the correct constructor or method to spawn mine rocks so they break like in the vanilla mines?
Or is there a special class (like ResourceClump or another subclass of Object) that I should be using instead of Object?

Thank you for you help 🙏

gentle rose
drowsy pewter
vernal crest
brave fable
#

i'm notifying kodansha comics about stolen intellectual property if you do. i may die but it's a risk i'm willing to take

gentle rose
obtuse wigeon
#

That is cursed but honestly not the worst thing I've seen

gentle rose
#

I’m so glad I already had animated lips drawn

#

(forgot to reply to @drowsy pewter)

#

oh I know why you’re upset aba. it’s not pixel art! I’ll fix that, brb

verbal narwhal
#

has anyone of you experience with modifying spouserooms? because for whatever reason modifying the spouseRooms.tmx alone with editmap works for the second houseupgrade (to add the frog tank functionality to the vanilla tiles), but not for the first one.
When I try editmap on spouserooms and farmhouse1_marriage, I get an error message about empty tiles and when I patch in my tank.tmx it deletes the other furniture (all with overlaymode)

vernal crest
#

Yup I have edited Seb's spouse room for a frog tank related mod actually lol

verbal narwhal
#

were you the person I asked one year ago?

#

omh

#

this is so neat

vernal crest
#

Uhh I don't know

#

I don't remember who I made the mod for lol

#

Was it to get a frog egg trinket from the frog tank?

solemn lagoon
#

Hi, I wanna ask how do I run a mod test properly :0? Like what should I look out or keep in mind?
None of my friends have the game, and I was afraid I would subconsciously avoid parts that could potentially cause bugs

vernal crest
#

Oh haha it was you!

vernal crest
#

Neat xD

obtuse wigeon
verbal narwhal
#

did you get it to work for farmhouse1_marriage?

vernal crest
#

Hmm I never patched farmhouse1

#

I'll try changing it to farmhouse1 and see what happens

solemn lagoon
vernal crest
vernal crest
#

Also look how far you've come! Now you're making your own frog tank mod!!!

verbal narwhal
#

mhm yeah, I had the same issue when I patched a tmx in!

tender agate
verbal narwhal
#

aww thank you so much!

vernal crest
#

Seb invited the frog into our house and it sold all his belongings in the night!

verbal narwhal
#

haha, I had so many frog escapades in the past week

#

frogs on Seb's table

#

infinitely spawning frogs

#

frog out of the tank

vernal crest
#

I don't even know why I was patching a tmx in

#

Are you adding stuff from tilesheets that don't already exist in the map?

#

Oh in my case it might be because I changed the target to farmhouse1_marriage but I didn't change the coordinates so it's patched it a long way away from the actual spouse room, whoops

#

Here it is haha

#

Okay @verbal narwhal it's working properly now that I've used the correct coordinates lol

#

So maybe you have a mistake somewhere

verbal narwhal
#

ohh arent the coordinates x 30-33
Y 7 and 6 (for the two bounding box parts)?

vernal crest
#

Mine was meant to be 30, 8 because I patched over the entire spouse room for some reason (still not sure why I even included a map patch at all tbh)

#

If you're intending to patch over the entire frog tank, those coords of yours don't seem enough but I don't know what you're trying to do

#

If you want to send yours to me I could have a look at it but if you want to just keep discussing it while you poke it, that's fine too

#

Hmm it appears that I did the map patch because editing farmhouse1_marriage caused the spouse room to disappear.

vernal crest
#

Wait now it's back after I reloaded the save but the action isn't there

verbal narwhal
vernal crest
#

Farmhouse is so strange

verbal narwhal
#

this is my content patcher patch

#

and this works fine for the farmhouse2_marriage

#

for whatever reason

#

lol

vernal crest
#

Hmm, I do not find targeting spouseRooms to be very safe

verbal narwhal
#

in earlier builds I handled it with c#

obtuse wigeon
#

I remember being told farmhouse upgrade maps have an innate offset, is that the issue?

verbal narwhal
#

maybe I should do that for the vanilla one and only use CP for the modded ones

vernal crest
#

Because the spouseroom map might have already been applied to the farmhouse by the time your edit happens

verbal narwhal
#

because for the modded ones it works as well!

vernal crest
#

Although if that were the case you'd just not see anything happen

verbal narwhal
fading moon
gentle rose
#

here you guys go, since obviously the real complaint was that it wasn’t pixel art

obtuse wigeon
#

did you... manually make that?

verbal narwhal
gentle rose
obtuse wigeon
#

I applaud your commitment to the bit, wowSDVkrobusgiggle

vernal crest
#

Okay...my furniture is gone again

#

So presumably that's why I patched the entire spouse room in rather than just doing MapTiles. But why?

#

This feels like a SinZ question. Like maybe my EditMap patch caused the vanilla spouse room to be unapplied.

verbal narwhal
#

q.q

#

I think I will go back to c# for this

#

I will upload my mod as a repo

vernal crest
#

Okay. So. I switched to targeting spouseRooms instead and it just didn't do anything

verbal narwhal
#

it's cursed, isn't it???

vernal crest
#

And my patch hadn't been applied according to patch summary, indicating that the asset hadn't been called. But when I did a patch export of Maps/spouseRooms, my tile action was there.

lucid mulch
#

are you trying to change an existing spouse room, or add a new one

vernal crest
#

So in my case, patching spouseRooms doesn't work because it applies after the spouse room has already been added to the farmhouse. But patching farmhouse1_marriage doesn't work either because that seems to remove the spouse room.

#

Existing, Seb's. Specifically farmhouse1.

#

Farmhouse2 seems to work as intended. Farmhouse1 either yeets the spouse room overlay (the stuff from Maps/spouseRooms) if patching farmhouse1_marriage or just does nothing if patching spouseRooms.

lucid mulch
#

can always just change Data/Characters instead to tell sebastian to use a different spouse room

vernal crest
#

Hmmm no farmhouse2 probably doesn't work either

verbal narwhal
#

maybe I will download something like prettier spouserooms and check how they do it

vernal crest
#

They probably just edit spouseRooms right from the start of the game

#

Whereas we are trying to do it only after an event, which happens after the spouse room has already been put into the farmhouse

verbal narwhal
#

ah good catch

lucid mulch
#

if you are conditionally editing spouse rooms, you will likely need a throwaway edit on the farmhouse just to convince it to reload

vernal crest
#

The problem is that the edit to the farmhouse causes the spouse room to not reload

tiny zealot
#

(i see we have arrived at one of the two hard problems: cache invalidation /lh)

vernal crest
#

It just never reapplies the original vanilla spouse room overlay

verbal narwhal
#

[14:56:46 TRACE Content Patcher] Requested cache invalidation for all assets matching a predicate. [14:56:46 TRACE SMAPI] Invalidated 1 asset names (Maps/spouseRooms).

#

ahhhhh

#

only invalidates spouseRooms

lucid mulch
#

get a simple reproduction and see if you can get it snuck into vanilla

tiny zealot
#

inb4 farmhouse becomes like Town and fully reloads itself on every entry

lucid mulch
#

it has its own map loader but doesn't unload itself frequently

verbal narwhal
#

well my 8 tiles do get reloaded and unloaded on every entry

lucid mulch
#

I did revert that for farmhouse in the next speedy update as it was making farmhand farmhouses teleport them back into player1s house or something

verbal narwhal
#

but that is because game save file security

vernal crest
#

This is what happens if I edit the farmhouse

#

Goodbye spouse room

verbal narwhal
#

ah the tas message was meant to be sent earlier

lucid mulch
#

looks like its because updateFarmLayout is trying to be smart and only runs the code for showing a spouse room if the spuse hasn't changed

vernal crest
#

Hasn't changed?

lucid mulch
#
    if (this.displayingSpouseRoom != this.HasNpcSpouseOrRoommate() || this.lastSpouseRoom != this.owner?.spouse)
    {
        this.showSpouseRoom();
    }
#

the propagation doesn't tell the farmhouse to forget that its displayed the spoouse room

verbal narwhal
#

helper.GameContent.InvalidateCache("Maps/Farmhouse1_marriage");
should fix that, right? if invoked/called after the event?

vernal crest
#

So the spouse room gets unloaded during asset invalidation and then doesn't get reloaded again because it's not checking for whether it's loaded or not but is rather checking the spouse?

#

(Wasn't I right that this was a SinZ question haha)

lucid mulch
#

yes

#

well, the act of reloading the map doesn't reset that displayingSpouseRoom flag

gloomy sedge
#

How to have like a mic perm

vernal crest
lucid mulch
shut edge
#

working on adding ID migrations to my mod, do i need to be adding {{ModID}} for the output rules IDs?

#

"Id": "Retoast BurntToast",
"Triggers": [
{
"Id": "ItemPlacedInMachine",

#

these things

lucid mulch
#

in general put modid on everything

shut edge
#

ItemPlacedInMachine is a vanilla thing tho right?

drowsy pewter
#

for the id above the trigger you should put your mod id as its in the whole list of machine riles

tiny zealot
#

i have a feeling that inside Triggers, the "Id" just needs to be unique within the list. but ask someone more qualified

#

for example, 6480 is more qualified ^

shut edge
#

that makes sense i think

#

thank

drowsy pewter
#

i tyopically make the id under triggers to be the same value as the input item id or context tag so its easy to reference

#

unless i am adding a new trigger to another mods machine or vanilla machine in which i would use my mod id

#

because i wouldnt know who else may choose to edit that list

vernal crest
#

I still add my mod ID

#

If another mod can edit it, mod id

shut edge
#

these are for my own 2 BCs. they do take vanilla items, if it matters

lucid iron
#

I have personal request to pls supply a trigger id unique in the list

drowsy pewter
#

thing is if its my mods machine then anyone wanting to edit my machine is gonna be reading my code first so its such a trivial issue

uncut viper
#

unless they're automatically adding rules to several machines at once in c#..

lucid iron
#

Whether u prefix modid for case where you "own" the new entry is up to u but I usually just do it anyways

vernal crest
#

It might save you pain later down the line, you never know

shut edge
#

alright

#

i shall tag it up

drowsy pewter
#

up to you

tiny zealot
#

anybody adding rules should use modid, full stop. i agree with chu that it's still good but not compulsory if you're making a new machine

shut edge
#

as long as i'm doing this part right? lol

lucid mulch
uncut viper
#

imo I still think it's more compulsory than not especially at least for identification purposes

vernal crest
lucid iron
vernal crest
#

I am looking it over to see if I just broke it

shut edge
#

yeah i just would lose my mind trying to edit one giant string

lucid mulch
#

and you did an edit to Maps/SpouseRooms changing what you wanted?

vernal crest
#

No, I edited farmhouse1

#

Was I supposed to be editing spouseRooms?

#

I certainly can try that instead

lucid mulch
#

if you were changing farmhouse then the spouse room would have applied on top of whatever you did

#

though you will likely need a dummy edit to farmhouse (a map property is enough) just to convince it to reload

#

since spouse rooms can be defined inside Data/Characters, getting it to correctly propagate to causing a spouse room to automatically reload seems like #effort

vernal crest
#

But then I'd have to make a new spouse room map

#

When my mod just adds one map tile

#

*action

lucid mulch
#

I'm saying that regardless of changing Data/Characters to point it to a new spouse room, or editing Maps/SpouseRooms, a dummy edit will be needed on the farmhouse just to wake it up

#

as detecting both cases is annoying

vernal crest
#

Ah

shut edge
#

my itemplacedinmachine IDs don't need to be unique from each other, right? it's been workin fine with them all the same thus far

vernal crest
#

Okay, my initial edit is now working but my next isn't

drowsy pewter
shut edge
#

these would count as being in different lists or nah?

drowsy pewter
#

those are different lists

shut edge
#

ok

vernal crest
#

This doesn't work whether it's editing spouseRooms or farmhouse1_marriage. I'm guessing that if I target spouseRooms I have to make a second dummy edit to farmhouse1_marriage to get it to reload, so I will try that.

{
    "LogName": "Change tile action to message once the egg has been received",
    "Action": "EditMap",
    "Target": "Maps/farmhouse1_marriage",
    "When": {
        "HasFlag": "GotFrogEgg"
    },
    "Update": "OnTimeChange",
    "MapTiles": [
        {
            "Position": { "X": 30, "Y": 8 },
            "Layer": "Buildings",
            "SetTilesheet": "indoor",
            "SetIndex": "536",
            "SetProperties": {
                "Action": "Dialogue I already have one Frog Egg. I shouldn't be greedy."
            }
        }
    ]
},
lucid mulch
#

correct

vernal crest
#

(This is not a published mod so please just Do Not See the OnTimeChange /lh)

lucid mulch
#

only token being used is HasFlag which isnt ideal but by far not the worst OnTimeChange patch

vernal crest
#

I could switch it to Location or even let it go overnight now, since camiska wanted it synced by day anyway so the frog egg spam problem went away

#

However, this mod was made for camiska and they are now making their own fancier, better, cooler frog-tank-related mod anyway so my mod is going back in the cupboard.

#

I think your SMAPI PR should still be helpful for people in future though SInZ. People like camiska if they decide to stick with CP lol

shut edge
#

going slowly mad but i think i've got it mostly done lol

verbal narwhal
#

welp

#

invalidating the farmhouse1 cache also seems to delete the individual spouserooms

#

and I cannot load with CP fromfile from the game assets

#

but this you already discussed here

verbal narwhal
#

but this would require any user to have this too, right?

lucid mulch
#

if its useful can PR it to be in the next smapi update

#

assuming it survives pathos's standards

verbal narwhal
#

Im sorry but I am strugglin with understanding "can PR it"

vernal crest
#

That's a git term

#

It means (in very general terms) that SinZ will give the code to Pathos and suggest that Pathos adds it to the official SMAPI

#

PR stands for pull request

verbal narwhal
#

ah, thank you!

#

I was already pondering on "Proof Reading" SDVpuffershocked

uncut viper
#

not as far off as you might expect tbh

lucid mulch
#

if the term was made today it would be merge request (which is what Gitlab uses)
the term pull request comes from when the process was a lot more tedious and awkward but wasn't updated when it got streamlined

verbal narwhal
#

I was trying to set up my godot project on github to work with friends on it once
and that surely was a push and pull experience as it broke the whole thing whenever two people worked on an older version and then we tried to merge those schmoovin

verbal narwhal
#

oh but there also seems to be some kind of offset if i load the spouserooms manually with c#

#

ah no it is me looking at numbers that makes things faulty

maiden bane
#

Hello All. I'm a first time modder long term player for stardew. I'm excited to start my new journey and it appears I have a ton of reading to do on this discord. Looking forward to doing everyone's discussions

calm nebula
#

!startmodding for the quick guide!

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.

shut edge
#

looks like migrateIDs only works for certain things...does that mean i just....don't need to migrate the other things? do i need to do them in another way?

#

i had changes for Machines and TriggerActions

lucid iron
#

Oh so machines dont need migration

shut edge
#

maybe?

lucid iron
#

The data is transient

#

(this wasn't a question im stating it)

shut edge
#

ok, that's an easy fix then

#

what about the trigger actions?

lucid iron
#

As long as you make sure your big craftable id matches up

#

For trigger actions you should add a skip permanently thing instead

#

To avoid duplicate mails sent

lucid iron
#

You dont need to migrate it

shut edge
#

how would i go about doing that?

#

SkipPermanentlyCondition?

lucid iron
#

Ya

#

If player has your new mail id already don't send mail again

shut edge
#

so do i need to make like a set of duplicate mails then?

lucid iron
#

No

#

You migrated your mail

#

Skip permanently condition just means "if player already got this mail dont run this trigger action which sends the mail"

#

For new players they don't have the mail so they will get it from your new trigger actions as expected

shut edge
#

so do i add that to my TriggerAction Actions or the mail then?

#

or wait i think i get it

#

it's a field in the trigger actions

#

"{{ModID}}_BuzzToastSendMail": {
"Id": "{{ModID}}_BuzzToastSendMail",
"Trigger": "DayEnding",
"Action": "AddMail Current {{ModId}}_BuzzToastDelivery Tomorrow",
"SkipPermanentlyCondition": "PLAYER_HAS_MAIL Current {{ModId}}_BuzzToastDelivery Recieved",

#

this seems right maybe?

shut edge
#

oops spelled received wrong lol

#

somehow one of my mails isn't working right visually but sent anyway, shrug

#

i'll look into it later

valid folio
#

Hi, yesterday I was working on some things in my mod and I want to learn how to make plants that grow in garden pots without needing to be watered. I know I could make them like a regular crop, but I’ve seen in mods like Cornucopia More Crops that they add teas and berries that can grow in pots similar to a fruit tree. From what I saw, they use Custom Bush. I also noticed there’s a vanilla plant that grows like this, but I couldn’t find the file where the code is.

My idea is to add some crops from the mint family that grow in Argentina and are usually cultivated in pots.

I’ve been looking at the Tea plant code and I partially understand it, but there are some things I don’t know what function they serve. How would you recommend I proceed?

#

In the link I left the code of a potted crop I was looking at. Is that all the code?

drowsy pewter
#

Yes you have to use custom bush. You should read the documentation for custom bush.

valid folio
drowsy pewter
#

Start with reading the documentation, then ask questions

#

otherwise its not a good use of anyones time to answer

#

Sorry, that's worded harshly. I'm just tired, and won't be available to answer questions about any code I wrote

valid folio
valid folio
calm nebula
#

Stupid mod ideas: inflation in stardew

hallow prism
#

pufferfish : "been here, done that" /lh

fathom rapids
gentle rose
#

not really, vanilla just has a single shop price increase

ornate locust
uncut viper
#

two shop price increases!

gentle rose
#

at the same time! single event!

calm nebula
#

Fwiw there was no game dev theory in that idea which is why is stupid

uncut viper
#

coincides with the valley reserve interest rate being decided, clearly

gentle rose
#

but why did crop sale price not increase?

uncut viper
#

farmer doesn't ask for much

gentle rose
#

mod that lets you set your own prices for crops, but how willing people are to buy from you will change

#

and if you go too low, there could be social consequences from undercutting people

uncut viper
#

Combine with farm fresh produce and the longer you hold onto your crops the staler they get and thus cheaper

#

Who would you even be under cutting in vanilla

gentle rose
#

zuzu city vague citizens ig

uncut viper
#

typical city slickers just don't understand the free (farmers) market

brittle ledge
#

Counterpoint: farmer co-op/collective mod

#

Do it for Jorts and Jean

gentle rose
#

with whom

#

I believe we’re quite possibly the only farmer in ferngill in vanilla

#

if you think about it, we’re worse than joja /lh

uncut viper
#

we're selling single blueberries for over a hundred dollars each

calm nebula
#

Clearly it's yen

brittle ledge
calm nebula
#

Anyways

#

I expect stardew csa

uncut viper
ornate locust
#

It has to be handfuls or something

#

because you make a whole tart with just one

calm nebula
#

We should stop expecting stardew to be like the US

#

Clearly that blueberry is the size of your head

#

Anyways

#

Just let me apply cpi data

uncut viper
#

sounds like someone should return to modding to let them do that

tiny zealot
iron ridge
#

given getting real crypto prices was banned i doubt getting financial data will be allowed

calm nebula
#

Or apply cpi data against my current budget to figure out how much money I will need to retire

uncut viper
#

make a mod maybe

quick frost
#

Heya

#

I’m gonna take a second to figure out how to word this lmao

#

Do we have a way of making a mod menu for a music replacement mod where people can opt in and out of certain song replacements ?

#

Or even choose a specific audio file to replace a specific song? Like all of the options of the mod menu would be every replaceable piece of music and there would be a drop down selection next to it with options like “Song 1, Song 2, Vanilla”

urban patrol
#

you would then make your patches dependent on only applying when certain config options are chosen

pine elbow
#

learned more about coding today im proud of myself

fading moon
#

anybody know what i'm doing wrong? i'm trying to use only the building re-textures from the "foliage redone" mod. i figured out how to get rid of the dirt and pathing recolor but i'm struggling with getting rid of the cliff and grass recoloring.

lucid iron
#

What you can do is change the location music entries depending on player config

slow basin
#

hello, had a quick q

if i wanrt my character to switch outfits in certain areas similar to maru when she enters the clinic switching to her hospital outfit, should i put alt outfit on same sheet or make it a seperate sheet similar to how they have it in sdv

urban patrol
#

it needs to be a different sheet

brittle pasture
#

different sheet
follow what the game does for Maru

slow basin
#

🙂‍↕️

#

i c ok!

urban patrol
#

you can use the appearances system to determine when the outfit changes

shut edge
#

So I was working on my bugs earlier and couldn't get the flavor thing to work...it occurs to me that maybe that's only for BC outputs? Can cooking foods do that?

#

I think all the vanilla uses are like kegs and stuff yeah?

brittle pasture
#

you can’t cook flavored items yes

#

(not without emc anyway)

#

cooking uses exact ids only, input and output

shut edge
#

Boo

#

I'll look at EMC thanks

#

Alternatively I guess I could make some kind of high tech jelly applicator BC

keen bear
#

hi all, theres a farmhouse redesign i REALLY like but unfortunately they added wainscoting and trims to all the walls which messes with wallpapers. is getting rid of them as easy as editing them out of the tilesheet, or is there more to it?

gaunt orbit
#

You can open the maps in Tiled and erase the wainscotting

lucid iron
#

It depends on whether u want to release as separate mod too

#

But for personal use i would just edit the tmx yea

keen bear
desert ibex
#

hi!!! i need a bit of help on the fashion sense mod im trying to make <///3 😭 for some odd reason my hair keeps getting clipped off in this frame ????? ive tried editing everything i can and i still cant seem to make sense of it... ITS DRIVING ME CRAZY!! is this a common problem?? yaoigany

quick frost
#

I’m not sure what the difference between the two is I’m sorry brainlet smolbrain

lucid iron
#

Generally speaking configs for content patcher mods work by reloading the asset that will change because you configured something else

#

You cannot reload Data/AudioChanges and have it apply

mild furnace
#

I love Haskell

#

What a strange and odd language

dapper crown
#

Ngl releasing fishbot 0.3 was kinda scary because I was so sure someone would find an issue with the new input sim but nothings been reported yet

mild furnace
#
zip :: [a] -> [b] -> Maybe [(a,b)]
zip [] [] = Just []
zip as@(a:as') bs@(b:bs') = 
  if len as == len bs then
    let result = zip as' bs' in 
      case result of 
        Nothing -> Nothing
        Just rest -> Just ((a,b) : rest)
  else
    Nothing
dapper crown
mild furnace
#

Fair fair

dapper crown
#

Wish it was in more stuff because it makes reading long and convoluted expressions so much easier by naming components thereof

late gull
#

is there a soundbank list with audio or nah

brittle pasture
late gull
#

amazing, thank you!

wheat finch
#

Brainstorming ideas for the desert festival hat mouse shop exclusive hat. Calico egg? One of the race entrants? Knife and fork hat to pay homage to the food stall?

brave fable
#

free cactus hat.

wheat finch
#

I think I'm going to skip squidfest and trout derby for hat mouse festival stalls. (After already making the squid hat...) I just can't wrap my head around the side views for a trout hat. (Hard enough figuring out side views for squid or cactus...)

quick frost
#

halppp i cant find the song Calico Desert's name in the files

#

it fully isnt in this list

tiny zealot
#

try using soundboard? (scroll up slightly)

quick frost
urban patrol
#

what are you trying to do? like change them during an event or something?

#

that'll need either a framework (i'd check if BETAS has a trigger for talking to someone) or your own C#

maiden wigeon
#

i'm in c# so that's alright

#

i'm long time coder, first time modder

urban patrol
#

ah cool okay!

#

unfortunately i'm very beginner C# myself so i don't know, but i'm sure someone else does

brittle pasture
#

stamina/health modifications just modify Farmer.Stamina yes

maiden wigeon
#

thank you 🙂

brittle pasture
#

!decompile when in doubt (and if you haven't already)

ocean sailBOT
maiden wigeon
#

ooo thank you!

sterile solar
#

Hello, I need help with spacecore animations. I converted Hyper Realistic Coins to use SC and it's working but I run into an issue were its animating the texture in the Character Select but not in the Shop Menus. I left a download link in the post of said mod with instructions on how to use if anyone wants to see for themself's. https://www.nexusmods.com/stardewvalley/mods/6686?tab=posts

Nexus Mods :: Stardew Valley

Pelican town got his own currency!Choose from the 3 most popular options :Gold/Silver or Tacos (Animation version included!)

maiden wigeon
#

anyone in C# know how to parse EventArgs and similar? or just where the docs are?

maiden wigeon
#

ah i think the eventargs for onupdateticked are empty..

vernal crest
urban patrol
maiden wigeon
#

oh sorry hm

#

i can't seem to find like... what has occurred in the tick

uncut viper
#

well that's easy, thats just everything that happens in every update function in everything in the world, as well as some other things

maiden wigeon
#

err... /s ?

uncut viper
#

you're not gonna be told what happens per tick. the updateticked is just a measurement of time. many things happen every tick everywhere

maiden wigeon
#

thank you SDVpufferheart yes i was realizing right after i asked... "well that would be way too much info to send every time, you fool"

uncut viper
#

what were you hoping to detect occuring? (/gen just in case)

maiden wigeon
#

i wanted to know if someone just talked to someone

#

instead of having to keep track of the "talked" states on my own

#

i think i can either:

  • keep an object with the status of "talking" somehow
  • loop through all friends
  • if not talked and now talked, do y
  • if talked and now talked, do nothing

or

  • somehow find a way to get if anyone has been talked to x.x (seems impossible)
uncut viper
#

well there's always Harmony ofc, but theres also the MenuChanged event

#

which you can add an event handler to and check if the new menu is a DialogueBox and if the DialogueBox has a speaker

#

MenuChanged being a SMAPI event, like UpdateTicked

calm nebula
#

Or the other fun, the netcode

uncut viper
#

checking for the DialogueBox menu ensures (moreso at least) that its actually a result of talking to them, and not some other mod or event manually changing their Friendship objects

calm nebula
#

Isn't there smth for "talked to" in friendship or npc or am I old and dumb

brave fable
#

(or indeed, if 'someone has been talked to' is finished talking, then check for oldmenu is dialogbox and newmenu is not)

uncut viper
#

thats what i mean

#

Friendshop.talkedToToday might be modified via means other than actually talking to them

#

a DialogueBox isnt perfect either, but personally I'd be more trusting of "DialogueBox just opened with Haley" = "Player just talked to Haley" than trusting the netevent on the Friendship property

maiden wigeon
#

not familiar with netevents yet but this is helpful’

uncut viper
#

your own trust may vary

maiden wigeon
#

new menu and old menu will be my next examinations

#

Talked to friend or whatever is what I was looking at! But it still requires either storing the talked status somewhere or finding the old status and checking there

#

Obviously would rather check somewhere that already exists than make my own tracker

#

(Sorry for inexact references, I’ve stopped working so I’m on my phone now)

uncut viper
#

Friendship.talkedToFriend would only require adding an event handler to it

#

Net_ types have NetEvents that fire when their values are modified

maiden wigeon
#

As in adding a handler that triggers when that status has changed?

uncut viper
#

you would just check if the new value its being set to was true for example

maiden wigeon
#

Would a handler then go in a framework?

uncut viper
#

Correct

#

I'm not sure what you mean by that question

maiden wigeon
#

Hm fair apparently idk what I meant either

#

think I’m tired SDVpuffercactus

uncut viper
#

if you had the friendship object you could just* do like haleyFriendship.talkedToToday.OnValueChanged += (old, new) => if (new == true) ... or whatever

#

whatever the syntax is there, I usually forget until my IDE tells what I should do

maiden wigeon
#

ohhh this is amazing

#

Thank you SDVpuffersmile

#

I will let yall know how it turns out, I’ll work on it again tomorrow

unique tusk
oblique meadow
#

Wizard just like: I’ve seen this fucker eat a fish whole. I’m out

urban patrol
#

you have the wizard moving 67 tiles. use the wiki to find out the arguments that move should take: [[Modding:Event_data]]

wheat finch
#

Excellent progress made tonight on updating my hat mouse festival stall mod for 1.6. I'll eventually have all the mods I'm capable of updating made compatible with 1.6. But now's the harder part, converting everything off STF to CP...

unique tusk
#

I thought I had to put the cords for which tile he was moving to 😭

naive frigate
#

What does this mean and how do i fix it please

obtuse wigeon
#

!mh

ocean sailBOT
#

For help with modding issues, please ask in #1272025932932055121! When asking for assistance there, sharing an error log will help others identify your issue (see https://smapi.io/log for instructions).

obtuse wigeon
#

Does anyone know what formatting CurseForge uses for their mod descriptions? I'm getting mixed results between markdown, minimessage, and just plain text

tender agate
#

its all in the name, obviously it's cursedtext and it's a lotto which format they use at any moment

obtuse wigeon
#

Not quite sure what I expected from curse honestly SDVkrobusgiggle

#

some stability would be nice, but that aint happening anytime soon

tender agate
#

hey just put all 3 in the thing at the same time and see what breaks I guess

obtuse wigeon
#

Franken formatting, works all the time sometimes

tender agate
#

Google says it's some bs called WYSIWYG??

obtuse wigeon
#

That's certainly less easy to format but not entirely unfamiliar with me

proud wyvern
#

What You See Is What You Get

#

means nothing

tender agate
obtuse wigeon
#

basically a word processor, no access to the actual formatting without using their tool

#

Ahh good to know markdown may work, thank you!

dusky sail
#

Just code your own html inside the description box at this point

tender agate
obtuse wigeon
#

Ohh okay, that's fine then, Glad to Know I don't have to make a weird formatting template unlike nexus

obtuse wigeon
drowsy pewter
#

phew, weekly class presentation is over with. I can finally eke out some hours for modding

obtuse wigeon
#

More mods! woo!

#

I've been debaiting what to work on, I never can decide

drowsy pewter
#

Oh, you can work on my spritework! (joking)

obtuse wigeon
#

That's the bit I can't do SDVkrobusgiggle

#

the actual coding part? Easy, but sprites are my bane

drowsy pewter
#

It's the spirit that counts or something like that

obtuse wigeon
#

The spirit looks a lot like a missing texture, vibrant magenta and black

obtuse wigeon
#

Is there a way to skip the first 2 upgrades of the farmhouse? like make it not need to be upgraded to get access to the expansions? secondly I know you can edit the expansions, but can you make more of them or is it a hardcoded limit with the vanilla amount??

gentle rose
#

if I'm getting this correctly, you want to add an expansion that would be accessible from the very first house upgrade and wouldn't replace any of the existing expansions?

golden mason
#

Hi

#

Do you guys know what is the latest update on smapi is?

#

Smapi android

gentle rose
#

4.3.2

#

oh, no

#

!androidsmapi

ocean sailBOT
#
Android SMAPI

We are not able to provide support if you run into trouble or compatibility issues with Android SMAPI; please use the discord linked on the Android SMAPI github.

IMPORTANT: This is a highly experimental build and may be prone to glitches, bugs, or incompatibilities. Please see the wiki instructions for more information regarding installing the unofficial Android port of SMAPI for Stardew Valley 1.6.

Do not harass mod authors to make Android specific compatibility patches.

obtuse wigeon
#

kinda, I want to make the farmhouse upgradable using the expansions only rather than the set upgrades then the expansions

gentle rose
#

that's a c# mod for sure

obtuse wigeon
#

Gotcha, thought so but just wanted to make sure

golden mason
#

So there is no update on it right

hard fern
gentle rose
#

if you don't care about the vanilla expansions and just want to add your own though you can do that with conditional patches and a custom shop maybe?

#

and betas ig

golden mason
#

Cuz It kicks me out and my device says it needs updating

gentle rose
#

but in general custom expansions are complicated because custom farmhouse support

obtuse wigeon
#

Things like spouse rooms and the kitchen aren't available until the first upgrade, I thought that was a hardcoded thing

gentle rose
golden mason
hard fern
#

yeah whatever iro said

gentle rose
#

though you may be able to use betas to upgrade the farmhouse? I'm not sure

obtuse wigeon
#

preferably not, that shall go into the c# mod idea bank in that case

#

I'll have a gander at betas

#

Oh wow BETAS is much more indepth than I originally thought, harmony patches via content packs? incredible

gentle rose
#

most cursed mod feature in existence /hj

hard fern
#

misread that as "gender at betas" and was very confused

obtuse wigeon
#

I always have a good gender at things, confusion is expected

#

Logging and global mod data features is incredible too (The blacklist is also a very cool feature too)

#

but none the less I didn't see anything about upgrading the farm house, I shall have a gander at other utility frameworks and see if they can do it by mail flags

calm nebula
#

It's not by mail flags iirc

obtuse wigeon
#

I can't seem to find any that upgrade the farm house at all, but I am probably missing a mod that could do it, It shall go into the backlog for a little whole

lucid iron
#

You can add custom renovations vanilla supports that

obtuse wigeon
#

How on earth did I miss that feature? MMAP was the second mod I looked through, Thank you! I shall get to looking at it further and doing some testing

lucid iron
#

You gotta eep to upgrade tho cus all this does is set farmhouse to upgrade overnight

obtuse wigeon
#

That's fine I can work it into a bit of story

#

Thinking about it I could get away with just 2 dependencies? Given CP and MMAP were going to be needed anyway

nimble marlin
#

Hi! anyone knows what could cause chrome to say a mod has "virus detected"?

#

its a mod of mine so I know it doesnt have viruses lol

obtuse wigeon
#

What compression format is it? like zip or rar? and are there any other files other than .tmx, .json, .png in there?

obtuse wigeon
#

you say /s, but its a none zero chance

tiny zealot
#

i thought about putting /s-but-not-really

hard fern
latent mauve
#

Sometimes when a file is fairly new, the browser malware checks jump to conclusions

hard fern
#

yeah, i was just about to say that

#

realistically they're just doing their jobs but like cmon i just made this file

latent mauve
#

"I can't find this hash on any of the online virus checker databases, it must be a virus" -Chrome, probably

maiden wigeon
#

what is “harmony” that people are talking about?

obtuse wigeon
#

It's a method of directly patching the game code with C# mods

#

!harmony

ocean sailBOT
#

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

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

For more information, refer to the following:

obtuse wigeon
#

(that's the only command I remember about, all the others I have no chance of remembering)

inland rain
hard fern
#

just like minevraft

brittle pasture
#

tree size framework has competition

drowsy pewter
#

funnily i think tree size framework can only do odd sized trees

#

concerned by the farmer sprouting a blueberry plant from their forehead

lucid iron
#

How many trees do I need to grow the big racoon tree

drowsy pewter
inland rain
drowsy pewter
#

Ohhhhh thanks i was looking for a fix for that

gentle rose
inland rain
#

do trees actually grow if they're planted together like that?

obtuse wigeon
#

I think so? fruit trees don't though

#

wait ye regular trees do for certain

inland rain
#

I thought so but i planted seeds and they didn't grow right away, so I wasn't sure

#

guess it takes some days

hard fern
brittle pasture
#

wild trees can be planted wherever and they will grow to stage 4

inland rain
#

not stage 5?

brittle pasture
#

but the last stage requires no other last stage trees nearby

#

yea

inland rain
#

ah ty

gentle rose
obtuse wigeon
#

Oh, complex tree dynamics, I hate it

gentle rose
drowsy pewter
#

yeh and wild trees grow on a random schedule

hard fern
inland rain
#

IsGrowthBlockedByNearbyTree

gentle rose
#

if you want talking and blinking at the same time you can do one as an overlay

hard fern
#

ooh i see

drowsy pewter
#

Hold on everyone, im getting cold dmed by someone looking for... animated lips? I'm scared

hard fern
#

anyways yeah im asking bc i animated my npc talking for no reason and then i remembered you were doing portrait things tm lol

drowsy pewter
#

Oh wow, guess there really was an untapped market niche

brittle pasture
#

only half related tangent but apparently mushroom logs also count non-fullgrown trees in the radius

drowsy pewter
#

but why

brittle pasture
#

could be unintentional (mr ape forgot to add the grown check)

maiden wigeon
#

The wiki says ungrown trees count partially

#

Partial credit

shut edge
#

it occurs to me that PIF doesn't seem to actually say if PIF stands for anything

#

oh wait there it is, oops. Personal Indoor Farm

#

oh man i've forgotten how much i don't enjoy Tiled's stuff about tilesheet locations and whatnot

obtuse wigeon
#

Are you using the tiled extension?

#

tilesheetinator

shut edge
#

i'm not, i should look into that, thanks

obtuse wigeon
#

It's fantastic, I always use it now

shut edge
#

where does one get such a thing?

obtuse wigeon
#

Right here

#

sorry took a few seconds to make sure it was the right one

shut edge
#

thanks

nimble marlin
#

anyone knows whats the CP token to target a spritesheet from all languages? like furniture_fr-FR, furniture_es-ES etc...

obtuse wigeon
#

It doesn't need a token, it targets them all unless specified with a locale

brittle pasture
nimble marlin
indigo yoke
#

question, what's the i18n token for a player's gender (can I use a token for it that)?

shut edge
#

ok this plugin is already very useful

obtuse wigeon
#

{{PlayerGender}}

#

Thats the token

obtuse wigeon
obtuse wigeon
lucid iron
obtuse wigeon
#

Oh wait ye youre right, sorry I got CP and i18n tokens confused, my bad

mortal lintel
#

Hi everyone, I'm not good at English, so please understand if it's weird. I'm looking for the Sunbury Village Mobile (Android) version. I heard you can find it on Discord. Please let me find it. Thank you.

iron ridge
#

probably in the android smapi discord

#

!androidsmapi

ocean sailBOT
#
Android SMAPI

We are not able to provide support if you run into trouble or compatibility issues with Android SMAPI; please use the discord linked on the Android SMAPI github.

IMPORTANT: This is a highly experimental build and may be prone to glitches, bugs, or incompatibilities. Please see the wiki instructions for more information regarding installing the unofficial Android port of SMAPI for Stardew Valley 1.6.

Do not harass mod authors to make Android specific compatibility patches.

gentle rose
tiny zealot
slow basin
#

i stand at the precipice of lknowing how to make dialogue but not with i18n and wondering how difficult it is to learn to do that so my mods are translateable

#

is it quite annnnoying or is it like easy easy

round dock
#

Pretty easy

#

Nomori has a i18nifier for cp

slow basin
#

:0

#

oh cool

whole raptor
slow basin
#

if i make an npc mod can i just slip in something to content patcher to make the kids look more like my npc

tiny zealot
#

the longer you wait to start doing i18n, the harder it is. but nomori's tool will help if you already have a lot of non-i18n content made

slow basin
#

🙂‍↕️

round dock
lucid iron
#

i18n is just you give every dialogue line a name

whole raptor
#

Always glad to hear regex hell was worth it SDVpuffersquee

tiny zealot
lucid iron
#

After that you access it with {{i18n:the-name}}

round dock
#

Bless your heart, witch loving dude

slow basin
lucid iron
#

For kids if you don't mind the kids looking different in multiplayer slash poly then cp is fine

slow basin
#

🙂‍↕️

lucid iron
#

You can also make use of little npc or my beta framework for this stuff

calm nebula
#

Yeah no one plays the game multiplauer modded right???

slow basin
#

oo

lucid iron
#

For example always raining in the valley has a kids add on

#

I would consider these stretch goals focus on make npc alive first

whole raptor
#

Little NPCs is for "kids that grow up" not strictly making the kids take after the spouse

lucid iron
#

Yeah there's also unique children PecoWant

#

Honestly I been kind of ehh about whether my kids mod should keep the npc mode

#

It is a big hack tbh

tiny zealot
#

you could also be irritatingly extra and implement fancy child sprites yourself ._.

whole raptor
#

I've never played long enough for the kids to grow up, so can't really comment SDVpuffersquee

lucid iron
#

That's why the first feature I implemented is reduce how many days it takes for kids to grow up

slow basin
#

i might do kids later 🤔
i mainly wanna get the mod out so i can trickI UH I MEAN convince my friend into playing stardew

tiny zealot
#

my first kid is crawling now, and has been for months because i haven't played the game in so long

slow basin
#

im excited to make a npc mod just gotta get the sidekicks done

#

i was gonna make a gummy bear side kick but i might change it to a pet balloon dog instead

shut edge
#

so i made a PIF room that upgrades with the hosue and....guess i can't test the lower forms lol

#

can i somehow un-upgrade my house, or warp to the maps manually

#

alternatively, if someone has saves, wanna test?

#

hmm maybe i ahve one early enough ic an cheat the money on

#

...a bird appeared in my indoor PIF room lol

indigo yoke
lucid iron
#

debug hu 1 foe 1 upgrade

shut edge
#

oh nice, thanks

indigo yoke
shut edge
#

things are comin together

gentle rose
gentle rose
shut edge
#

hmmm somehow i managed to make one tier have decoratable walls but the others won't work even with the same settings

#

maybe i should reload

gentle rose
obtuse wigeon
gentle rose
shut edge
#

for real that plugin rules

#

makes map making actually not awful

gentle rose
#

I’m glad you like it! if you have any issues with it or anything took you a while to figure out, please let me know in that thread

shut edge
#

if i notice anything i will

tiny zealot
indigo yoke
tiny zealot
#

oh spacecore could be caching it, all bets are off

indigo yoke
#

yeah, I am using it for a profession name since it's a gendered profession title

#

not normal dialogue

tiny zealot
#

alternative suggestion: don't gender the profession name?

shut edge
#

not sure why only the final form lets me decorate properly but uhhh it's a feature now

indigo yoke
#

tho, how often is a player going to be switching saves, let alone genders in a single play session?
So might just be a non-issue

shut edge
#

time to make a gender change potion

indigo yoke
shut edge
#

"Target": "{{MODID}}( •̀ ω •́ )✧",

#

lol

tiny zealot
#

i frequently trans my gender with debug cmenu for doing gender crimes debug purposes

calm nebula
#

More realistically, I have saves of both genders

maiden wigeon
#

where are docs on adding your own handlers?

#

if they exist x.x

tiny zealot
#

what handlers in particular do you mean?

verbal narwhal
#

I have tried to clean up my code, reorder it and make it avoid any possible savefile corruption

but this big brick is long and possibly very unnecessarily so

if anyone wants to take a peek at this (only if you really want to as this feels like a burden to ask for), I would be glad if you find any room for simplifications or using other/better methods (I feel like I havent grasped the potential of smapi and content patcher yet)

https://github.com/camiska/FrogTankInteractions

(also be warned of the many bools and checks, I did struggle more often than I wanted, so I used many checks that build on eachother)

especially regarding the icontentpatcherapi integration and this stupid farmhouse1_marriage/spouserooms caching problem resolver method I made

schmoovin

GitHub

Contribute to camiska/FrogTankInteractions development by creating an account on GitHub.

maiden wigeon
#

people were telling me some stuff last night, and I thought it made sense, but i'm actually not finding much about it (idk where to find a dialogue box, and i can't seem to get old menu/new menu?)

tiny zealot
tiny zealot
#

under Events is MenuChanged, which is probably what you want

#

you'll have to check that the new menu is a dialogue box, and probably that it has an NPC referenced as the speaker, to be sure that it is the player talking to an NPC (you might need even more than this)

maiden wigeon
#

yes but helper.Events.MenuChanged definitely doesn't work atm

#

oh ffs

#

I'm dumb lol events.display.menuchanged

#

carry on

gentle rose
maiden wigeon
#

i'm using visualstudio, and it's doing it right

#

I was just being silly

#

mind you having a hard time getting anything to work with the menuchanged trigger so i'll see what i can do next

gentle rose
#

do you have a github where we can see what you've got so far? we may be able to help

maiden wigeon
#

that's a good point i should get a repo going

#

omg i haven't set a log level...

#

everything is fine. but i will get a repo going sometime, ty ty

gentle rose
uncut viper
#

is info considered lower than debug SDVpufferthinkblob

gentle rose
#

(the default is Trace, which you can't see in the normal smapi console)

#

hm I'm not sure

#

it's an int enum so one of us could probably check SDVpuffersquee

uncut viper
#

if I was at my desk maybe!

gentle rose
#

I'm at my phone making dinner!

uncut viper
#

you've got decompile access don't you. Iro job

#

(ignore the fact that I'm only just remembering that's a SMAPI thing and not a vanilla thing)

#

Trace, Debug, Info, Warn, Error, Alert (Critical, Success)

sterile solar
#

Hi am trying to fix this issue if anyone can help me with it, you'll have my many thanks. If needed I could upload the full file here to make it easier.

calm nebula
#

Psst < inheritdoc/>

#

You can also do <inheritdoc cref="...">

lucid iron
#

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

sterile solar
#

I'll try the thing you showed just encase am missing something