#making-mods-general

1 messages · Page 526 of 1

brave fable
#

shop data is always a problem SDVpufferpensive

dusk mulch
#

Is there a Dialogue key that only specifies the season? I don't want to make dialogue for each day

autumn tide
#

think so!

ocean wave
vernal crest
hard fern
#

You don't need to do any editdata for what i thought you wantef

#

If it's just a minor visual change

ocean wave
autumn tide
vernal crest
dusk mulch
#

alright, i just suck at writing dialogue lol

#

ty though

vernal crest
ocean wave
vernal crest
ocean wave
brittle pasture
hard fern
#

You don't have to write dialogue for ever cfっdq

dusk mulch
#

Oh yeah... (and i just realised im a quarter of the way through the mod and i forgot to use i18n)

hard fern
#

Oh my god

#

I dropped my phone

ocean wave
stark ocean
#

for a character to sleep at the end of a day, does anyone know if i need to specify a sleeping animation when creating a schedule? i was peeping at the lacey custom npc mod files to see what they did, and all it has at the end of her schedule is "bed", and the shiko custom npc mod doesn't specify anything other than the coordinates at the end of the day. the vanilla files have, for example, "sebastian_sleep" at the end of each day. wondering what the best way to go about this is

patent lanceBOT
autumn tide
#

heh

ocean wave
brittle pasture
#

randomization is great for having a pool of dialogue without having to worry about associating a day for each of them

hard fern
#

This was what i wanted to type ^

autumn tide
#

godspeed spirit 🫡

hard fern
#

Claude didn't you already quote it though

dusk mulch
#

now i have to go back through my mod and implement i18n since i forgot...

autumn tide
#

I shall be in token > string land-

hard fern
#

Good luck lol

vernal crest
autumn tide
#

thank you, for I shall need it

ocean wave
hard fern
#

Ive been making use of the random token for the sparse dialogue i do write because i have random ideas but don't feel like limiting it to a certain day

#

Unless it's specific

hard fern
# ocean wave

If you're editing a vanilla map all you need to do is EditMap. You're not adding a custom location

ocean wave
hard fern
#

The docs should have a section on EditMap somewhere

#

So you shouldn't need to touch location data

dusk mulch
#

ive got an edit data for an event and i just copy and pasted the event in and added my bit into it... i feel like i didnt need to do that, is there a way to add my bit to it without dumping an event into my mod?

ocean wave
hard fern
#

Unless you want to add new locations to the farmhouse i guess..

ocean wave
vernal crest
#

My generic dialogue looks like this:

// Low pool + seasonal + {{WeekDay}}
"{{WeekDay}}": "{{Random: {{i18n: Hiria.StrangerPool.{{Random: {{Range:1,5}} }} }} && {{i18n: Hiria.LowPool.{{Random: {{Range:1,5}} }} }} && {{i18n: Hiria.{{SEASON}}.{{Random: {{Range:1,5}} }} }} && {{i18n: Hiria.{{WeekDay}}Pool.{{Random: {{Range:1,5}} }} }}|inputSeparator=&&}}",
                
// Low pool + mid pool + seasonal + {{WeekDay}}
"{{WeekDay}}4": "{{Random: {{i18n: Hiria.LowPool.{{Random: {{Range:1,5}} }} }} && {{i18n: Hiria.MidPool.{{Random: {{Range:1,13}} }} }} && {{i18n: Hiria.{{SEASON}}.{{Random: {{Range:1,5}} }} }} && {{i18n: Hiria.{{WeekDay}}Pool.{{Random: {{Range:1,5}} }} }}|inputSeparator=&&}}",
                
// Low pool + mid pool + high pool + seasonal + {{WeekDay}}
"{{WeekDay}}8": "{{Random: {{i18n: Hiria.LowPool.{{Random: {{Range:1,5}} }} }} && {{i18n: Hiria.MidPool.{{Random: {{Range:1,13}} }} }} && {{i18n: Hiria.HighPool.{{Random: {{Range:1,5}} }} |Nickname={{Nickname}}}} && {{i18n: Hiria.{{SEASON}}.{{Random: {{Range:1,5}} }} }} && {{i18n: Hiria.{{WeekDay}}Pool.{{Random: {{Range:1,5}} }} }}|inputSeparator=&&}}",
                
// 10 heart - platonic - low pool + mid pool + high pool + bff pool + seasonal + {{WeekDay}}
"{{WeekDay}}10": "{{Random: {{i18n: Hiria.LowPool.{{Random: {{Range:1,5}} }} }} && {{i18n: Hiria.MidPool.{{Random: {{Range:1,13}} }} }} && {{i18n: Hiria.HighPool.{{Random: {{Range:1,5}} }} |Nickname={{Nickname}}}} && {{i18n: Hiria.BFFPool.{{Random: {{Range:1,5}} }} |Nickname={{Nickname}}}} && {{i18n: Hiria.{{SEASON}}.{{Random: {{Range:1,5}} }} }} && {{i18n: Hiria.{{WeekDay}}Pool.{{Random: {{Range:1,5}} }} }}|inputSeparator=&&}}",    
ocean wave
round timber
#

so many tokens SConfire

ocean wave
vernal crest
brave fable
#

[sound of fans spinning up]

ocean wave
dusk mulch
#

it looks like an arcade there are so many tokens /j
(get it... like an arcade token?)

opaque field
#

brain fans go brr

vernal crest
#

I will probably change it again before release lol

stark ocean
# vernal crest The wiki page explains how bed/sleep work: check out the `location` and `animati...

thank you!! i am also wondering if i need to change the animation names to better fit this. i've been using the {{ModId}} tactic that a wiki i read mentioned, but looking in to the lacey mod once again, they have theirs as {{anim}}_sleep, but i haven't seen any sources that say anything about the {{anim}} function. this is my format right now, but i am wondering if it will apply when the {{ModId}} is at the beginning. i noticed the wiki said to keep it lowercase but i'm getting a vibe that this will not work right

round timber
#

{{anim}} would be a token that was added by the lacey mod itself

autumn tide
#

(okay I'm supposed to be coding but saw a snippet of your code and Aba I am so excited about Hiria they sound so cool)

round timber
#

there are some tokens provided by content patcher, but you can also make your own

dusk mulch
#

i havnt touched i18n tokens and im honestly scared to...

ornate locust
#

They can be as complex or simple as you need

vernal crest
ornate locust
#

the Eternal Sleep

round timber
#

sounds scary

stark ocean
#

for example, {{modid}}_ivaraswolfgang_sleep? and would this apply to wherever i've typed the capitalized version, {{ModId}}?

vernal crest
ornate locust
#

Like my modID is MV.Municipal, so I'd type it mv.municipal

#

instead of {{ModID}}

brave fable
#

couldst thou not {{Lowercase:{{ModId}}_sleep}}

dusk mulch
vernal crest
#

I guess so, yes

ornate locust
#

well sure, but I don't think that's less effort

round timber
#

at that point id just do that {{anim}} token

brave fable
#

it may not be less effort but you don't have non-matching duplicates of your mod id lying around your assets

hard fern
autumn tide
#

hello! just checking (ty voyager for the code for ref), this would mean that that line would only apply IF that flag applies

ornate locust
#

The hasflag turns to "True", yes, so the i18n would be MV.Municipal.Husband.True

#

if you have the flag

autumn tide
#

OHHHH

ornate locust
#

Yeah the end tokens all turn to a true or false

autumn tide
#

arrite I think I got you!

#

hMMM, could I put a token IN that i18n string instead SDVpufferthink

ornate locust
#

Sure, I just mostly work in true/falses

vernal crest
# dusk mulch so something like this? ``` { "Action": "EditData", "Targe...

Nope, because that's editing an event with an ID of 59. You need to use Fields, not Entries, and you need to list the event first. You might have to use TargetField, but first try this

    {
        "Action": "EditData",
        "Target": "Data/Events/Town",
        "Fields": {
        "EventId/some preconditions": {
            "59": "bla bla bla I change the event!"
          }
        }
    }

If that doesn't work, then you will need TargetField to choose the event id to edit.

autumn tide
#

YAY ty!!

dusk mulch
vernal crest
ornate locust
#

Like if you have a token that resolves to... I dunno, "one" "two" or "three", you can do a string that's like "words.{{token}}" and i18n of "words.one" "words.two" and "words.three". I just use tons of hasmod switches and flags and the like, so it's generally a true or a false.

ocean wave
#

_me _have 📄 🆙 _how _do ce_ece_dce_ice_t

hard fern
ocean wave
#

🛏️ ❓

dusk mulch
#

it says it's the farmhouse bedroom from the file path at the top of Tiled in the image "FarmHouse_Bedroom_Normal"

ocean wave
hard fern
vernal crest
#

Has spirit said anywhere what zey are trying to edit?

hard fern
#

i think in #modded-stardew ? the uneven texturing on the.. whatever the heck you call it

ocean wave
visual crystal
#

Hi, How can I edit the coop location on the Meadowlands map in Tiled? SDVpetchickenw

hard fern
# ocean wave

so that's definitely not the right map for what you want to edit

#

i can't really go and look right now but

ocean wave
vernal crest
#

I'm not sure what the gap is referring to. Can you circle it on your screenshot, spirit?

jaunty shuttle
#

The gap between the windows?

ocean wave
hard fern
#

wow, it's willow

ocean wave
vernal crest
#

Yeah I'm still totally lost

hard fern
#

where most people put a fireplace

#

?

#

(idk either tbh)

ocean wave
#

wwwass oppeninfg ggdame

vernal crest
#

I need you to circle the gap on your screenshot

#

Because I don't see any gaps of anything

#

Except the little breaks between the beams

ocean wave
#

OOHH

#

wwass 2 diff tthinggs

vernal crest
#

That's fine, two circles will be ok

#

I just need to know where to point my eyes

ocean wave
#

cloudd arruu

ocean wave
#

mme ddraw wwait'

jaunty shuttle
#

Uneven number of tiles in the room, horizontally?

ocean wave
#

YYA!!

vernal crest
#

Ok for the gap between counters, you will have to edit the farmhouse2_marriage map

ocean wave
#

ssorry bback tto toopiv

vernal crest
#

The number of tiles in each room is harder because it's either going to involve moving the spouse room or dealing with the renovation to open/close the bedroom

tranquil surge
#

Okay, so I've no idea if anyone answered my question from yesterday since there are over 600 messages...

I'm using the Custom Farm Loader and trying to turn the bodies of water on my custom farm map into mixed fishing spots. It's not working as I intend though, so could someone help me figure out what's wrong with my code? Here's an example of what I'm trying to do...

      "Area": "60,42; 71,52",
      "CrabPotFishTypes": "Ocean",
       "Fish": [ 
         { "ID": "Seaweed", "Chance": 0.1 },
          { "ID": "Oyster", "Chance": 0.0125 },
         { "ID": "Coral", "Chance": 0.0125 },
         { "ID": "Mussel", "Chance": 0.0125 },
         { "ID": "Cockle", "Chance": 0.0125 },
       { "ID": "Beach", "Type": "Location", "Chance": 0.4},
           { "ID": "Mountain", "Type": "Location", "Chance": 0.2},
           { "ID": "Forest", "Type": "Location", "Chance": 0.15},
         { "ID": "Town", "Type": "Location", "Chance": 0.1}          ] },```
ocean wave
#

ii hhave thge cusstom rojm sftuff

#

aandd pif

#

jjuss wan t moove th kitchen stufs

hard fern
#

pif doesn't do anything to spouse rooms though

ocean wave
#

ooo

vernal crest
ocean wave
#

mmmake seense?

tranquil surge
hard fern
#

where exactly do you want to move the kitchen to?

ocean wave
#

foor thhe cloud ggap to th othr ssdie

hard fern
#

oh, ok. just remember to move the tiledatas too

vernal crest
ocean wave
#

lllike this

vernal crest
hard fern
#

(oh damn, the fridge is? oops)

ocean wave
#

:(

brittle pasture
#

and don't forget to make the farm's starting gifts be 15 hay

hard fern
#

well i can check tiled now

#

damn no fridge tile

ocean wave
#

i tthink ttuile data

#

dduno thho

vernal crest
#

It's not tiledata

#

It is hardcoded

#

And with MMAP you can change it

hard fern
#

how exactly does the fridge work in vanilla? 🤔 i'm curious. is it something weird like knowing which tile from the tilesheet is a fridge? the way lights are?

ocean wave
#

llok how many tile dats in my phhoto

#

is wwhat i ws ta;llking avout

vernal crest
#

Those are all for the floor and wall IDs, spirit. If you hide the Back object they will all go away

visual crystal
ocean wave
#

ooo

brittle pasture
hard fern
ocean wave
hard fern
#

oh. krobus

ocean wave
#

hhehe

vernal crest
#

Might be fine then

ocean wave
#

aal fixxed

pale river
#

hey selph, I'm feeling like I want to try to attempt to make my own version of npc adventures now; but I don't know where to start. SDVpufferthumbsup I'm going to try to do as much as I can without bugging someone for help

brittle pasture
#

if you havent decompiled already start with that + look at NPC pathfinding code

#

obviously rewiring the pathfinder of an existing NPC isnt the only path; you can also make your own

pale river
#

I have it decompiled, and the only C# mod I made was to change a NPC's sprite everytime you go into the same location as him, and the basic tutorial of detecting inputs

ocean wave
jaunty shuttle
#

New oven, pretty

pale river
#

npcs adventures also has a RPG leveling system, which I wanted to do my own take of

autumn tide
#

okay would this work-

hard fern
#

(the kitchen you have in the farmhouse on ginger island)

#

(in case you didnt know)

dire kestrel
#

(which tilesheet is that?)

vernal crest
# autumn tide okay would this work-

Move the unknown value above the known one and remove the when condition so it's the default.

As for the when conditions for the known - is it possible to have both the dwarf and Krobus as roommates at the same time? And your second event seen check is invalid.

autumn tide
#

OHHH I COULD JUST REMOVE THE WHEN!

ocean wave
#

ffoun righ oone

ocean wave
hard fern
ocean wave
#

...flower on groun

pale river
ocean wave
#

nvm iis cursor

autumn tide
#

also spirit, don't overexert yourself if you need a break, alr?

ocean wave
ocean wave
vernal crest
#

Hard to tell, because we can't see what layers they're on and whether they're the right ones.

#

If you just picked them up and moved them left (including the tiledata) then yes

ocean wave
#

made ooon new layr

#

datta,,?

vernal crest
#

No, you can't put it on a new layer

#

It has to be exactly the same as it was before, just moved to the left

ocean wave
#

i mmeant drew on ffor now

#

tto see if good

vernal crest
#

Well, since I don't know what you mean by good, I can't say

ocean wave
#

ffair

vernal crest
#

The tile data is this

#

The objects that control the kitchen being able to be used

#

They're on the Buildings object layer and also need to be moved left

ocean wave
#

do i just drag?

#

i tthink i did it

autumn tide
#

aa congrats! SDVpufferparty

ocean wave
#

the fridge is lonely

#

since no tile data,, can i make longer?

tranquil surge
#

When writing percentages for multiple somethings to potentially occur within a specific location, do they have to add up to 100% or can it go above/below, so long as no 1 specific event has more than 100% chance to occur?

ocean wave
#

like this?

#

MY DFJIWET CKE SPIKLED OB KEYBOAGD WAUT

jaunty shuttle
#

That edge is later renovated to open up to the dining room, so I think it's the same issue as moving the bedroom wall into the spouse room, where you need to change some stuff to be able to do that

jaunty shuttle
ocean wave
#

ok bacl

jaunty shuttle
#

Ah sorry forgot to turn @ off

ocean wave
#

got on the worse part [trackpad]

jaunty shuttle
ocean wave
#

ah yes. yhe fridge

#

oh, what does aba mean "use mmap?"

pale river
ocean wave
#

yea ii have it, but i dont understand what they mean

mellow laurel
#

Change where the fridge is in farmhouse, and optionally the door open sprite

probably this part?

hard fern
#

use mmap to circumvent harcoded fridge fuckery i guess

ocean wave
#

but how,, AINTNOWAY

hard fern
#

read the docs?

#

it would be in there

ocean wave
#

good idea

#

half the time i forget they exist

dusk mulch
#

what would a junimo's demeanor be do you think? i would think they're shy but i want to get a concrete answer before i start the dialogue

pale river
#

forest spirit trope

ocean wave
#

junimos you say,,

round timber
#

shy and silly

jaunty shuttle
#

I think junimos are like people where they have different personalities

hard fern
ocean wave
#

jUNIMOS,,,

hard fern
#

but yeah they're probably pretty shy

jaunty shuttle
#

But also more like fairies-esque

#

Yeah

ocean wave
#

sorry

#

back on topic

jaunty shuttle
#

Dumbinos

#

We love

hard fern
#

anyways,

#

the wizard had mentioned they refuse to talk to him

#

so they're probably kinda picky with who they speak to as well

ocean wave
#

WAJAJA wizard

hard fern
#

probably something about the purity of one's soul

#

(the wizard is an impure old man)

dusk mulch
#

ill go with shy, silly, whimsical/mystical

ocean wave
#

i give you permission to add a dumbino sprite in

dusk mulch
#

and if the player cheats ill try to do something so they run away or refuse to talk

jaunty shuttle
#

Ah yeah that sounds cool

dusk mulch
ocean wave
dusk mulch
#

let me start that now lol

ocean wave
#

dance* ill make sprites for u in a bit

#

may i dm?

dusk mulch
#

sure!

jaunty shuttle
#

Oooo crossover easter egg

hard fern
#

do you want to make it bobbers...

ocean wave
#

...no

hard fern
#

so...

ocean wave
#

but the line above,,

#

buh,,?

dusk mulch
#

is the farm house on the same tile coordinates on every farm?

ocean wave
#

i dunno

#

i got so far and now im lost

dusk mulch
#

ok then ill have to find a different map to put this event on

brittle pasture
#

doesnt the curb events work

brave fable
calm nebula
#

The base game however will god damn put npcs on your porch

#

Stupid questions, but does this code handle cabins

lucid mulch
#

farmhands do their farm events on the farmhouse porch not the cabin

autumn tide
#

hellooooo just checking- if they all hae the same label, the most specific dynamic token will be chosen, right?

#

sorry if this makes no sense i am tired-

vernal crest
#

No, the last one in the list whose conditions are met will be used

autumn tide
#

...gimme a sec my brain's loading-

dusk mulch
#

is there a way to include a character into an event but it's just the sprite? i have a spritesheet of a character but not portraits so i cant make them an npc and from the way "addTemporaryActor" sounds it seems like it only works with a single frame sprite

autumn tide
#

...I'm gonna read this tomorrow I think, happy timezone!

#

remind me in 16 hours to look at this

patent lanceBOT
#

Ugh I suppose, head_in_the_cl0uds (#7049088) (16h | <t:1769717052>)

brave fable
#

you could always just copy in Abigail.png and load it as your npc's portraits
no sense making workarounds when placeholders will do just fine

vernal crest
#

So for example if you had one where it was true if it was winter and a THursday, and then a second one in the list that was true only if it was winter, the second one would apply because it'd always be true if the more specific one was also true. So you'd put the Winter+Thursday one below it in the list to ensure it would apply on Winter Thursdays.

ocean wave
#

aSDVpigball taking a break on the kitchen for now

dusk mulch
brave fable
#

sure SDVpufferthumbsup you needed to load a portrait down the line anyway

dusk mulch
#

i dont intend to make this spritesheet into an npc, this is just a little easter egg i want to put into my mod

brave fable
#

if the ape comes at you for copyright infringement i'll deal with him outside

calm nebula
#

Could also just literally create a blank png

#

64x64

brave fable
#

in that case just load any old portrait-like asset

calm nebula
#

No copyright infringement on that

dusk mulch
#

oh yeah

patent lanceBOT
lucid mulch
# autumn tide ...I'm gonna read this tomorrow I think, happy timezone!
{
    "DynamicTokens": [
        {
            "Name": "MyToken",
            "Value": "Value A"
        },
        {
            "Name": "MySecondToken",
            "Value": "{{MyToken}}2"
        {
            "Name": "MyToken",
            "Value": "Value B"
        }
    ]
}

{{MyToken}} in a patch always be Value B due to being the last valid definition of the token.
There is a corner case if you have interdependent tokens like {{MySecondToken}} in that they use the value at their order, so {{MySecondToken}} will have the value of Value A2.
Conditions or anything else doesn't change any of this.

mighty gale
#

I want to get a mail from someone after I create the game character on Spring Y1 D1. How to create a mod for it?

tiny zealot
ocean wave
#

i found this, but dunno if it will help here
[context im trying to move the fridge in the harm house kitchen]

#

ah yes. harm

hard fern
#

😔 harm house... so violent...

but yeah, just put the x y coords you want the fridge to be in

#

wherever your cursor is pointing

#

it's the bottom left hand side

ocean wave
#

from top to bottom
22,21
22,22
22,23

hard fern
#

well i don't really know what that means 😅

#

i meant just for yourself

ocean wave
#

where im gonna move the fridge to

hard fern
#

you can find the x y coords

ocean wave
#

its a 3x2

#

..1x3

ocean wave
#

oh this would a cp wouldnt it be

hard fern
#

?

ocean wave
#

content pack?

hard fern
#

uh

#

i don't really know what your sentence is

#

it doesn't make sense to me

ocean wave
#

the moving of the stuff, woul that be a content pack mod?

hard fern
#

yeah

#

everything is a content pack, probably

#

if it's not C#

ocean wave
#

oo okayokay

stark ocean
#

aight gang: custom map is not wanting to load in even though i checked the file path and it seems to be correct. any ideas on next steps? i've attached the SMAPI error and the log in my content.json

tiny zealot
hard fern
#

sites should put that instead of the "what gender are you" question

#

content pack or SMAPI mod

calm nebula
#

I wonder what would break if a mod could both be content pack and c# mod

ocean wave
#

Farmhouse only, repositions the fridge independent of the map check for untitled tile sheet tile id 173 fridge.

hard fern
ocean wave
#

wuh,,

#

i might[am] dumb,,

royal stump
ocean wave
#

TheVoices hate having learning disabilities

tiny zealot
#

debug warp does a fuzzy match, so i would actually expect that command to work if the location is cromulent

royal stump
#

yeah, debug warp stop works for busstop and such, though I'm not sure exactly how it searches

hard fern
#

oh

#

hmm

#

oh

#

the more you learn

#

:fka

royal stump
#

(it's a good assumption to make in most cases, but that's one's lenient)

tiny zealot
#

(for example, most npc-targeting debug commands are fuzzy, but debug marry, if memory serves, is not)

ocean wave
#

TheVoices hoow woul one put this into code? my main confusion

stark ocean
uncut viper
#

(that is, i made a mod that was both its own C# mod and a CP content pack)

royal stump
#

there's probably a good location guide on the tutorial wiki too, though I'm not familiar offhand

stark ocean
#

bless, thank you 🫂 i get so lost in the wiki pages, it's so hard to find what i need sometimes

ocean wave
#

but i get lost in the actual page

stark ocean
#

glad i'm not alone hehe

royal stump
vernal crest
royal stump
#

though ig you just listed which ones look like they're part of it, so probably the middle one SDVpufferthinkblob

ocean wave
#

which one IS the fridge-

#

oh

royal stump
#

it's probably whichever looks like it's the bottom of the fridge sprite

#

but like Aba said, you might be able to just move the fridge tiles somewhere else in the map editor

ocean wave
#

okay okay

vernal crest
#

(Sorry for misleading you in the first place spirit. I was right that it was hardcoded, just not how. I thought it might have been tied to tile coordinate.)

ocean wave
#

dw!!

sullen rain
#

Hey guys quick question

#

I'm writing dialogue and for some reason the % is showing up in the text boxes I'm writing

#

Like I've got it written in the code "%Hm? It's gotten so late. I should go home."

#

And the % appears in the text box in game

sullen rain
hard fern
#

ohh it's in an event?

#

i think you need to use message instead

whole raptor
#

White mode SDVpufferyoba

sullen rain
#

Lol sorry Nomori

hard fern
#

my vsc is in light mode too XD

#

but i changed it slightly

#

it's not the default light mode

whole raptor
#

That feels like a war crime SDVpuffersquee /lh

hard fern
#

im using this one lol

whole raptor
#

Okay, that's not that bad 😅

sullen rain
#

Thanks for pointing me in the right direction Forsy. I'm putting it away for the night but now I have an idea of where to pick up tomorrow ❤️

fierce vault
#

I have a question about having both a comment topic and a discussions tab on a nexus mod. Is there a reason no one seems to have set it up this way? Because it seems that you can name the discussions tab, I think it could be used as a very hard to miss troubleshooting section, and would make it easier to keep the posts section for everything else. This is a nexus article about it: https://www.nexusmods.com/news/281

Nexus Mods :: News :: Site News

An extremely underused feature on the Nexus file pages is the “Discussions” tab, which allows authors and users (provided the author allows it) to create different threads for different parts of c...

brittle pasture
#

three tab is big number, too many post to track, head hurt

#

but yeah I can't be bothered when I'll do just fine with a bug report tab for crucial issues and a forum for the rest

dire kestrel
dire kestrel
brittle pasture
#

if your mod is doing big numbers then I can see having a more extensive forum being useful, but with my most popular content mod having 15k UDL at best I don't see the need

fierce vault
#

I'm thinking of npc mods using it I guess. It's so annoying seeing someone post large swathes of their smapi log text in the comments tho when I'm trying to read opinions, and I feel like this could help with that... it wouldn't fix it, nothing can totally fix nexus users (I say without malice, genuinely)

fierce vault
dire kestrel
#

it can't hurt SDVpuffersmile your mod pages are your own to do as you please with at the end of the day

fierce vault
fierce vault
#

I did make it a bug, but I don't think it got rid of it in the posts tho. Is it because I did not delete the bug when I fixed it?

urban patrol
#

oh hm idk if it moves it or just copies it over

fierce vault
#

I think it copies over...

old edge
#

Is there already a fish mod with every fish in the world already?

hard fern
#

i don't think it's possible

#

like

#

for there to have already been one

#

because there are a lot of fish

#

and i don't know who out there would spend their time making a mod that has every single fish ever

hard fern
brittle pasture
#

there are merely 33000 extant species of fish out there

#

well within the INT_MAX limit

brave fable
#

(that you know of)

brittle pasture
#

I'm looking forward to fishing up the Devils Hole pupfish in the Ultimate Fish Mod

#

and getting fined 28% of my income the next day

hard fern
#

only 33k

old edge
#

I’m trying to create just one fish

brave fable
#

surely it can't be hard to just pull the wikipedia category for fish and flatten them all into a name and a crushed png sprite

old edge
#

Can it be anything?

brave fable
#

my boy the Radioactive Carp is in the game. it can be anything

hard fern
#

you could turn literally anything into a fish if you give it fish data

#

hell, i could make shorts fish.

old edge
#

I have a small cove area and indoor water pools for fish. What’s a good price point and do I have to tie it to some quest?

hard fern
#

those are pretty subjective

#

it really depends on what you want the fish to do

#

or how rare you want it to be

ornate locust
#

I am officially annoyed

#

this on a tile property is how footstep sounds work, yes?

#

On the back layer

#

I mean, the tile is on the back layer

#

with this property

brave fable
#

well generally yes, but there's more logic to it

ornate locust
#

so why am I just hearing the same sound as whatever I walked off of? If I walk off grass onto this, it makes grass sounds. If I walk off stone onto this, it makes stone sounds.

#

why does its sound depend on what I was previously walking on

brave fable
#

that's absolutely not the sort of problem i was expecting hahah

#

do you have a video with audio?

ornate locust
#

Stardew's kinda hard for me to capture for some reason, and I am not adept at recording things. I can try, but it's just as I said, the sound doesn't change until I walk off the other side of the ramp and onto a different surface, and it's of whatever I was walking on.

#

let me try

brave fable
#

on windows 10+ you can press win+G to open up the game bar with screen recorder

#

otherwise sharex works well for recording videos with ffmpeg installed

ornate locust
#

Multiple ways I tried to record things actually just showed black. I gave up and grabbed OBS

#

but I've got a video

#

just imagine mr Test there shrugging wildly at the end, because why steps do that???

brave fable
#

the Buildings layer is also checked for Type properties

ornate locust
#

I don't have anything on Buildings there

brave fable
#

your tiles don't have a type property there do they?

ornate locust
#

Nope

#

also to be clear what I did to add the step sounds:

  1. I had the vanilla tilesheet with all the vanilla properties on this map patch.
  2. I went to the tiles I wanted to have wood step sounds and added the appropriate property.
  3. Save
brave fable
#

is the property value exactly Wood, or are there leading/trailing spaces?

ornate locust
#

I copied the whole property from the normal wooden steps. Double checking, it is exactly Wood

vernal crest
#

Also might be worth checking them in game with lookup Anything to make sure the tiles do have the property in game

brave fable
#

would you mind sharing your map file?

ornate locust
#

Ah that's an idea

#

I mean sure, the mod's already released anyway, let me grab it

brave fable
#

oh right i can just download it

ornate locust
#

Look Up Anything is not seeing that property

#

is it just... I dunno, because the tilesheet in Town itself doesn't have that property?

vernal crest
#

Map patches might not pass through tile properties, I'm not sure

brave fable
#

anyway to directly answer the question of 'why do the steps carry over', FarmerSprite checks for Buildings/Back Type is not null or empty, then for Type equals Dirt, Wood, Stone, or Grass. if so, use the appropriate sound, otherwise use the cached previous sound

ornate locust
#

Oh that makes sense if it's just not seeing the wood property

vernal crest
#

You should be able to set it as a tile object property though I think so it does apply for those specific tile coordinates (I have never tested this so my understanding may be wrong)

brave fable
#

if you're indoors or underground it'll use a separate sound without checking any floor types, but that's not relevant here

#

try adding a TileData object with Type Wood:

ornate locust
#

Worth a shot

#

WOOD SOUNDS

#

That works, thank you!

brave fable
#

no problem! i didn't end up downloading the mod tho so sorry about your 1 dp

ornate locust
#

LOL don't worry about it, it works and that's all I care about

dusk mulch
#

i could've sworn there was a dialogue key for the first time you chat with an npc but i cant find it

brave fable
#

Introduction right?

vernal crest
#

It's a conversation topic so it's down the bottom of the dialogue page

dusk mulch
#

ohh alright

vernal crest
#

It won't work for any NPCs met after the initial however many days the intro CT runs for

dusk mulch
#

can't i just set it to Year 1 day 1-6?

vernal crest
#

Set what?

dusk mulch
#

the date in game

ornate locust
#

If anyone installs the mod on a game in progress, they won't be seeing it

dusk mulch
#

oh alright

#

if i want to randomize i18n dialogue would i have multiple strings with the one key and do {{Randomize: {{i18n: key{{Random: {{Range:1,5}}}}}}?

royal stump
#

I'm not sure what the initial {{Randomize: part is, but otherwise that sounds right
{{i18n: key{{Random: {{Range:1,5}}}}}} parses into one of {{i18n: key1}}, {{i18n: key2}}, etc, once per day
so you'd have "key1", "key2", etc in your i18n

#

( @dusk mulch )

dusk mulch
#

ty!

lucid mulch
#

(for sanity have spaces between each closing tag {{i18n: key{{Random: {{Range:1,5}}}}}} vs {{i18n: key{{Random: {{Range:1,5}} }} }})

dusk mulch
#

alright, ill try to remember that

ruby rapids
#

Does anyone know where I can find Sandy's location during the Flower Festival? She isn't showing up, and I am not sure if that's because I haven't seen an event or the mod I am creating messed with the code.

royal stump
dusk mulch
#

my npc isn't getting any dialogue, i'm not getting any console errors though. anyone know why?

    {
        "Action": "EditData",
        "Target": "Characters/Dialogue/{{ModId}}_GJunimo",
        "Entries": {
            "Spring_{{DayOfWeek}}": "{{i18n: Spring{{Random:{{Range: 1,5}} }} }}",
            "Summer_{{DayOfWeek}}": "{{i18n: Summer{{Random: {{Range: 1,5}} }} }}",
            "Fall_{{DayOfWeek}}": "{{i18n: Fall{{Random: {{Range: 1,5}} }} }}",
            "Winter_{{DayOfWeek}}": "{{i18n: Winter{{Random: {{Range: 1,5}} }} }}",
        }
#

oh wait let me try patch export

#

yeah it is being implemented

royal stump
#

the game might not recognize full day names? vanilla keys are like summer_Mon

dusk mulch
#

oh let me try that

royal stump
#

which I don't think CP has a token for directly, but you could probably make a dynamic token to convert {{DayOfWeek}} into the short versions

lucid mulch
#

other guess is whether DayStarted is already too late

dusk mulch
royal stump
#

SDVpufferthinkblob right, it might need to exist the night before, rather than conditionally (idk personally when it chooses dialogue though)

dusk mulch
#

ill change it to the short versions and try doing it the day before

dusk mulch
#

Still doesn't give me dialogue

#

I'll try patch export again

shut edge
#

anyone know what would be causing this

#

has plagued me forever

old edge
#

Hello I just updated my mod I think it’s finally as stable as can be and polished I can say with some certainty

#

Since I tested it. I can’t see the problem in the image by the way

harsh mountain
#

Wanna find 1.6 event modding tutorials, I'm struggling with ChoseDialogueAnswers. I need an example of ChoseDialogueAnswers usage to replace aliases in \"#$q event_name null #insert_question_title#$r event_name 0 answer_1#insert_answer_title_1#$r event_name 0 answer_2#insert_answer_title_2\"

sleek flint
shut edge
#

i'm workin on an update

sterile crescent
#

im trying to replace the sound effect when characters talk with sans and im having trouble getting it to overwrite, i also tried using sound tweaker but it didnt play any audio at all. i planned on making a small mod that would change the sound effects of every character but im already stumped just from this haha. can someone help me pls 💔

woeful lintel
sterile crescent
#

my brain is fried from work thanks

shut edge
#

anyone know an example of a mod with an animal that does random items of some kind

#

not sure how to format my item query

#

hmm maybe i need to do that via EAC actually

harsh mountain
#

/speak Loraine \"question null #{{i18n:event-CCS_BusyLoraine.02}}#{{i18n:event-CCS_BusyLoraine.03}}#{{i18n:event-CCS_BusyLoraine.04}}\"/fork LoraineSolo

Am I doing it right? I mean... isn't my command wrong?

#

I might do it better

lucid egret
#

That's because it doesn't matter who's asking the player the question, it'll appear in it's own message box

harsh mountain
zenith trench
#

Hello, everyone! I made my first ever mod or custom farm mod. I already posted on reddit and they redirected me to the discord server. I dont know if im in the right place but i ran into a few miner problems like the greenhouse dirt tiles when moving it and why my ducks aint swimming in the ocean. Also, i need to learn how to spawn ores, forages and fishes via FTM. Thank you all 🙆🏼‍♀️

lucid egret
harsh mountain
shut edge
#

well that's a fun wrinkle. set an animal to occasionally dig up the wall skull decor Gus sells at the desert fest. it will indeed do it. but it's an indoor wall only item, so it's stuck forever to the farm dirt

#

can edit the furniture data so it becomes a generic outdoor decor, but then you can't use it as a wall decor like vanilla

vernal crest
#

You should be able to set it to IsDropped: true

shut edge
#

hmm

vernal crest
#

Or maybe that's only for monsters haha

shut edge
#

where would that happen

#

ah

#

well it is being done via EAC, maybe it can do that somewhere

#

actually yeah maybe just setting it as a debris drop would work

#

although then it's not really digging it up either, hm

vernal crest
#

The debris drop is how I got around the furniture sticking to ground issue, yes

#

You might be able to puppy dog eye Selph into seeing if they can give digging up the option to have it drop as debris

shut edge
#

perhaps

#

have you played with the harvest animals feature at all?

vernal crest
#

Nope

#

I did briefly use EAC for animal museum to make animals drop photographs at high friendship but then I switched method entirely

shut edge
#

i think i got it now. they'll harvest and carry it around and you can click on them to get it. or, they'll carry it into their barn and drop it as debris the next morning

#

so hey crop harvesting pterosaurs coming soon

#

now if i could just figure out how the hell to make random fish drops lol

calm nebula
#

True to size pterosaurs?

#

(I kid I kid)

shut edge
#

nah all my dinos are miniature

#

feature creepin again

#

now i'm wondering if there's a way to restrict cooking a food to only the campfire

#

probably not neccesary

calm nebula
#

There used to be a mod for that

shut edge
#

ok debris worked for the skull, rad

shut edge
#
                        "Id": "fry pan",
                        "Condition": "RANDOM 0.008 @addDailyLuck",
                        "MinimumFriendship": 1000,
                        "ItemId": "(W)38"
                      },```
#

this made an error item, hm

lucid iron
#

What is (W)38

shut edge
#

penny's frying pan

calm nebula
#

Chue are weapons objects

#

Coulda sworn they were tools

lucid iron
#

Aren't Tools inheriting objects

shut edge
#

but i dunno

#

wiki also says W

vernal crest
#

I could not set weapons as monster produce even though they can be drops from killing monsters

shut edge
#

interesting

vernal crest
#

Though it was much worse than what you are experiencing - mine crashed the game

shut edge
#

i'll mention it to selph

#

and now my mammoths are somehow crashing livestock bazaar, odd

#

something with it's drop data is borken it seems

lucid iron
#

the frying pan is a 1.6 item right, i think it'd have a string id

shut edge
#

i think it was an unused item for a long time and 1.6 just made it obtainable

lucid iron
#

Oh do u have a null value in ur produce

#

I should probably add check fo it send log pls

ocean sailBOT
#

Log Info: SMAPI 4.5.1 with SDV 1.6.15 build 24356 on Windows 10 (10.0.19045.0), with 18 C# mods and 10 content packs.

shut edge
#

gonna reboot my game and see if that helps

#

i'm doing like 50 things at once of course so if something is unclear lemme know

calm nebula
#

Hats aren't objects

shut edge
#

ok i found it

#

i set deluxeproduce to null

#

oops

#

all good now

autumn tide
shut edge
ocean wave
#

isit hard to ake a farm map,,

coral kite
#

guys you know why I make a custom item and just show the default name not the localized name ?

coral kite
# coral kite guys you know why I make a custom item and just show the default name not the lo...
    private void OnAssetRequested(object? sender, AssetRequestedEventArgs e)
    {
        if (e.NameWithoutLocale.IsEquivalentTo("Data/Objects"))
        {
            e.Edit(asset =>
            {
                var data = asset.AsDictionary<string, ObjectData>().Data;
                
                foreach (var location in Teleport.Locations)
                {
                    var itemId = $"{ModManifest.UniqueID}_{location.MapName}";
                    
                    var itemData = new ObjectData
                    {
                        Name = itemId,
                        DisplayName = Helper.Translation.Get("item.kivo-shrine.name"),
                        Description = Helper.Translation.Get("item.kivo-shrine.description"),
                        Type = "Basic",
                        Category = StardewValley.Object.toolCategory,
                        Price = 2000,
                        Texture = Helper.ModContent.GetInternalAssetName( "assets/objects.png" ).Name,
                        SpriteIndex = 0
                    };
                    data[itemId] = itemData;
                }
            });
        }
    }
lucid iron
#

Because you didn't use localized text the translated object name would be baked into the item instance

fossil osprey
#

Not hard per se, but there are a lot of pieces to take into accounts

coral kite
#
private void OnAssetRequested(object? sender, AssetRequestedEventArgs e)
    {
        if (e.NameWithoutLocale.IsEquivalentTo("Data/Objects"))
        {
            e.Edit(asset =>
            {
                var data = asset.AsDictionary<string, ObjectData>().Data;
                
                var itemData = new ObjectData
                {
                    Name = Teleport.ItemId,
                    DisplayName = @$"[LocalizedText Strings\\Objects:{Teleport.ItemId}_Name]",
                    Description = @$"[LocalizedText Strings\\Objects:{Teleport.ItemId}_Description]", 
                    Type = "Basic",
                    Category = StardewValley.Object.toolCategory,
                    Price = 2000,
                    Texture = Helper.ModContent.GetInternalAssetName( "assets/objects.png" ).Name,
                    SpriteIndex = 0
                };
                data[Teleport.ItemId] = itemData;
            });
        }           
        else if (e.NameWithoutLocale.IsEquivalentTo("Strings/Objects"))
        {
            e.Edit(asset => {
                var dict = asset.AsDictionary<string, string>();
                dict.Data[$"{Teleport.ItemId}_Name"] = I18n.Item_KivoShrine_Name();
                dict.Data[$"{Teleport.ItemId}_Description"] = I18n.Item_KivoShrine_Description();
            });
        }
    }
#

well it runs now

#

Obviously, the item was registered too early(

west thunder
#

Oof.

#

It appears I've spent so much time making HD portraits that I haven't bothered to check what makes them work with Portraiture in the first place.

#

Odd. With other mods, I just drag their portrait spritesheets into a dedicated portrait folder in the Portraiture one and everything works fine.

#

I named the portrait spritesheets I made after the original portraits, so I don't know what could be the issue here.

#

Maybe I need to make a content pack, but again, the others work perfectly fine without them.

lucid iron
west thunder
#

wharg

#

Do they have to be named after the IDs of the characters or something?

lucid iron
#

Yeah it's their internal name

west thunder
#

Because I could give you a parsed log to look over.

#

pretty please with a cherry on top

urban patrol
#

you can find it by patch exporting Data/Characters

west thunder
#

howdodat

#

Wait, I think I found it.

urban patrol
#

in the console patch export Data/Characters

west thunder
#

Thought so.

#

Mhm, JortsCat and JeanCat.

#

Thanks.

#

Hopefully this works.

urban patrol
#

no mod ID before?

west thunder
#

Pretty sure Portraiture only needs the name itself.

urban patrol
#

if the internal name is prefixed by a mod ID then it definitely still needs it

west thunder
#

Ah.

#

Nope, it's just NameCat.

lucid iron
#

You need whatever their key in Data/Characters is

urban patrol
#

ok then that's fine

lucid iron
#

Unfortunate the {{ModId}}_ prefixing is still rare for NPC

west thunder
#

Dunno if that's good or not.

#

On one hand, harder to identify when there's multiple NPCs of the same name.

#

On the other, lazy.

fading walrus
#

To be fair, jorts and jean have been around a while

urban patrol
#

the likelihood of another creator making a JeanCat is sooo low so i understand why tia didn't

#

i also have zero room to talk, i thought the same when i first made my NPCs

#

"surely first name last name is unique"

west thunder
#

I've yet to make an NPC.

#

But when that happens, I'll for sure add a prefix.

#

Anyhoo.

#

ty ty...

autumn tide
west thunder
#

Appreciate it, bestie.

autumn tide
#

aww ofc!

#

(code only available for yoinking once I actually get it working-)

tiny zealot
#

everybody making the calculus "surely no one will make another npc named JeanCat or FirstNameLastName" is correct, no one is going to do that, but i would rather have a guarantee (smapi will not load two mods with the same id, so your namespace is fully free for you to use, barring malfeasance)

lucid iron
#

Also formercharactername can be used to migrate

#

I think the bigger problem is actually just ppl not wanting to write 10 more letters for {{ModId}}_ but u can solve that with a DT

ivory plume
#

(Other benefits include...

  • being easy to identify the cause of errors reported on generic pages like SMAPI;
  • automatic integrations for other mods like Lookup Anything which can parse the ID to identify which mod added an NPC/item/etc.)
uncut viper
#

(another benefit: you won't be told every single time you share a json that you need a modId prefix)

hallow prism
#

when i made VMV the main reason i had a name/familynamesmallsuffix rather than mod id was :

  • some mods still used the internal name for stuff and the idea of the name of my character being displayed as Lumisteria.MtVapius_Name was annoying me
  • bonus excuse, modid didn't exist yet
#

of course mods can update and solve this issue so my reasons to do this on the next mods are pretty slim

sleek flint
#

Does the game keep track of the deepest level of the mines reached, or is there a way to check if the player has completed a quest or not?

tiny zealot
sleek flint
#

Is this a new feature in 1.7 SDVpufferowo

sleek flint
#

Oh ok, does it have a release date btw?

tiny zealot
#

no

sleek flint
#

ok ty ty SDVpufferheart

autumn tide
#

I think the only comment on 1.6.16's release date was something along the lines of '(hopefully) less than a year', but I could be misremembering

calm nebula
#

YourName_ModName.NpC coming to a Nexus near u

ruby rapids
#

@royal stump Thanks! I thought I was going crazy by not being able to find Sandy at the festival. 🤔 I might add Sandy to a festival then.

patent lanceBOT
blissful panther
#

Okay, my mod building workflow is now about... 90% done being modularised in preparation for Nexus eventually giving us a mod upload API.

tender agate
calm nebula
blissful panther
#

The upload API?

#

So I can just have my regular workflow produce a draft release, I can check it out, then publish the release on GitHub and push it to Nexus.

dire kestrel
autumn tide
harsh mountain
brittle pasture
neon fern
#

Hello! Does anyone know if there is a guide somewhere to make flavoured artisan goods with content patcher?

gentle rose
#

are you looking to make a whole new type of artisan good?

brittle pasture
#
  • the page on machine data, assuming that's where you make them
#

for an example you can look at Cornucopia Artisan Machines

#

and yeah assuming you want to make a whole new type lol

neon fern
#

Thanks! thats exactly what im trying to do xD. I checked the code but i dont understand a couple things, im in machines/dryingrack, in the dried herb rule. Here where is item query in the output? or is defined in other files

"OutputItem": [ { "ItemId": "Cornucopia_DriedHerb", "ObjectInternalName": "{0} {{i18n:DriedHerb_name}}", "ObjectDisplayName": "[LocalizedText Strings/Objects:DriedFruit_Flavored_Name %PRESERVED_DISPLAY_NAME %PRESERVED_DISPLAY_NAME]", "PreserveId": "DROP_IN", "CopyPrice": true, "CustomData": { "selph.ExtraMachineConfig.CopyColor": "true" }, "PriceModifiers": [ { "Modification": "Multiply", "Amount": 10 }, { "Modification": "Add", "Amount": 50 } ] } ],

also, i see that for flavored goods there seems to be 2 sprites, one that for the default 'flavorless' item and one for the 'colored' part. Where do i have to set the colored part sprite? in the objects i only see 1 sprite index being used

brittle pasture
#

the next sprite is automatically used if you set ColorOverlayFromNextIndex to true in object data

brittle pasture
#

(also you dont need the CustomFields thing for copy color; the vanilla CopyColor field works now)

#

(the mod was made back when it didn't work)

neon fern
#

I see, thanks for the help! i'll try and see if i can make it work. I just started modding and i became obsessed with artisan goods 😅

brittle pasture
#

(if you meant where the dried herb item itself is defined, that's in object data as usual; the snippet above is the machine output)

fossil bolt
#

Apologies if this is not exactly the space to ask

While not new to modding, I am new to trying to create mods or edit existing ones (mainly just changing text or icons) so my knowledge its extremely limited. However, wanted to know if (for PERSONAL use only) would it be possible to merge assets and code of an old mod into a new, up to date one (or at least create something new featuring both sides)?

Wanted to know if it is possible. Been trying to read guides on mod editing/creation and python, but I am enough of an idiot and fail to comprehend 90% of what it's written ><

Thank you very much for your time, and apologies once more.

fervent horizon
#

Small update to #1452126473342287923 today to bring the Unlockable Bundles schema current with the pack

brittle pasture
#

content patcher packs in particular are just collection of patches with the root at content.json

uncut viper
#

(also python will not really help you here)

brittle pasture
#

(yeah I'm wondering what you're reading that tells you to use python)

fossil bolt
#

What I want to do it's to take an old, abandoned Json Assets mod and add its contents to a similar, more recent CP mod.
I mentioned Python because to convert Json to CP asks for the converter in python

brittle pasture
#

the converter is written in Python; you just run it like a program (no need to like write Python code or anything if that's what you meant)

lucid iron
#

Json assets does work still, so if you don't want to convert it's fine

#

Another easy way is to load the mod as is with json assets and then patch export Data/Objects (or w/e relevant asset)

#

Copy the entries you want into a content patcher EditData

carmine burrow
#

Would be scary If someone created a mod about that Green rain arg

fossil bolt
ocean sailBOT
#

If you have a mod idea that you aren't planning to make yourself, you can put it in the mod ideas github: https://github.com/StardewModders/mod-ideas

However, this does not mean anyone is guaranteed to work on your idea—modders who are looking for ideas sometimes go through and work on what they find interesting off this list. If you want to pay someone to make your mod idea, there are a few people who do commissions (mostly art, sometimes code); you can ask around, search usernames for the word comms, or see !commissions.

brittle pasture
#

what's the error exactly
(also I won't be able to help much since I haven't personally used it, and I'm also on Linux)

fossil bolt
#

Its in Spanish, so translated to english
python convertja.py --m="Bag with Gems" --s="C:\Users\XXXX\Desktop[JA] MOD\Objects\Bag with Gems" --d="C:\Users\XXX\Desktop\Nueva carpeta"
no se encontr¾ Python; ejecutar sin argumentos para instalar desde el Microsoft Store o deshabilitar este acceso directo desde Configuraci¾n > Aplicaciones > Configuraci¾n avanzada de aplicaciones > Alias de ejecuci¾n de aplicaciones.

Translation: Python was not found; run without arguments to install from the Microsoft Store or disable this shortcut from Settings > Apps > Advanced app settings > App run aliases.

brittle pasture
#

(yeah I def have no idea how python works on windows 😅)

fossil bolt
#

Thanks either way. Will try to read again those guides, but I wasn't kidding when I said I am stupid regarding this lol

hard fern
fossil bolt
#

I have it, Windows not recognizing it.

#

Successfully installed and currently running

#

So either Windows its being delicate and not recognizing, or pathing error

hard fern
#

these are the requirements, you only mentioned pillow and pyjson5

fossil bolt
hard fern
#

ok one moment

mellow laurel
#

-# I've never gotten the converter to work, I just do patch export data instead

calm nebula
#

You need to install python through the windows store. Not anaconda.

calm nebula
#

Nothing else

fossil bolt
calm nebula
#

This should install python the way Microsoft wants it

#

Then run the command you've been trying

hard fern
#

SDVpufferflat i once had trouble running a program because powershell refused to do it

fossil bolt
fossil bolt
#

Doesn't really tells me anything considering I don't know how to Patch Export.

mellow laurel
#

!patchexport

ocean sailBOT
#

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

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

...hm.

bold cairn
#

So I've made peace with just having that particular description only update on a new day / save loaded.

However while I've gotten the Harmony Postfix working properly and updating with GMCM changes etc., I now am realizing some of the old Content Patcher Description edits I had implemented ~2 years ago don't seem to be working at the moment, though I could swear they were when I tested them back when I first implemented them.

The odd thing is the new Description edit (to Farming Mastery description) I'm implementing through Content Patcher does work, and so do various Content Patcher edits to Object / Machine data which are controlled by the same Content Patcher Tokens which should govern these older Description edits, so I'm not sure what the issue is. Also unsure whether this is due to some change in the past ~2 years, or me accidentally screwing something up recently, etc.

Are there any very simple, basic reasons why a Content Patcher edit to text in "Strings/1_6_Strings" based on Token conditions wouldn't work? Perhaps so fundamental/obvious that they aren't worth mentioning in the Content Patcher documentation?

lucid iron
#

There's no simple basic reasons because you haven't shown us a patch summary Dokkan

brittle ether
#

I want to make a horse retexture mod, but I don't really know the bounding boxes of the horse texture, mainly the head only sprites, or where to expect the player to sit so I was wondering if there some sort of guide for either thing? could I get away with not having carrot eating sprites or no?

lucid iron
#

Well if u dont have carrot sprite then u see nothing when u feed the horse

hard fern
#

you can get away with no carrot eating but your carrot will be absorbed into the nothing if you do it

brittle ether
#

that makes sense

bold cairn
# lucid iron There's no simple basic reasons because you haven't shown us a patch summary <:D...

Ah sorry!
So, here are the particular item Description edits which don't seem to be taking effect, from one of the asset .jsons used by the Content Patcher portion of my mod:

         "Action": "EditData",
         "Target": "Strings/1_6_Strings",
         "Entries": {
                "MushroomLog_Description": "Grows mushrooms every so often, but not in Winter. The more wild trees are nearby, the better it works."
            },
            "When": { "Mushroom Log stops in Winter": true }
       },
       {
         "Action": "EditData",
         "Target": "Strings/1_6_Strings",
         "Entries": {
                "FishSmoker_Description": "Place fish inside with a piece of coal to create smoked fish, which is worth double. The quality of the smoked fish is {{Lowercase:{{Smoked Fish Quality}}}}."
            }
       },
        {
         "Action": "EditData",
         "Target": "Strings/1_6_Strings",
         "Entries": {
                "GoldenAnimalCracker_Description": "Give this to a farm animal to permanently double its produce yield. Doesn't work on pigs. Pierre may trade some useful crop-growing items for this."
            },
        "When": { "Trade Crackers for Fertilizer": true }
       },```
Where the tokens used as conditions are all set in the config (also integrated into GMCM)
#

However, within the same .json file these other edits do take effect, such as editing a description in "Strings/1_6_Strings" but conditioned on a C# custom token:

         "Action": "EditData",
         "Target": "Strings/1_6_Strings",
         "Entries": {
                "Farming_Mastery": "You can now find Golden Animal Crackers (even from doing most Farmwork!), which permanently doubles a farm animal's produce. Doesn't work on pigs."
            },
        "When": { "Xen0nex.BetterBalance/FarmableCrackers": true }
       },```

Or various edits to Object / Machine data like this (even ones depending on the same Content Patcher Tokens as above):
```{
         "Action": "EditData",
         "Target": "Strings/1_6_Strings",
         "Entries": {
                "FishSmoker_Description": "Place fish inside with a piece of coal to create smoked fish, which is worth double. The quality of the smoked fish is {{Lowercase:{{Smoked Fish Quality}}}}."
            }
       },```
lucid iron
#

patch summary is a command you can run to tell if your edits worked or not

#

that said there is no key GoldenAnimalCracker_Description in vanilla Strings/1_6_Strings.json

#

it might have been there and moved? i dont know

bold cairn
lucid iron
#

yea always mod with latest unpacked content

#

there were a lot of changes in 1.6.9 specifically

autumn tide
#

okay I did say I would be offline for some other stuff but I'm a liar- can you nest {{i18n: key}}

#

dammit hit enter too soon

patent lanceBOT
autumn tide
#

okay I did say I would be offline for some other stuff but I'm a liar- can you nest {{i18n: key}} INSIDE an i18n's ...response? the orange one in vs code-

lucid iron
#

i dont know what you mean exactly but consider that you cannot use tokens in i18n and {{i18n: key}} is a token

autumn tide
#

gotchaaaa okay

#

ty chu!

#

behold, my monstrous creation:
"{{DayOfWeek}}": "{{i18n: i18n_Dialog._npc_._everyday_.{{Random: 0h, Low}}.{{Range: 1, 20}}}}",
"{{DayOfWeek}}2": "{{i18n: i18n_Dialog._npc_._everyday_.{{Random: 2h, Low}}.{{Range: 1, 20}}}}",

#

(i will make it worse)

ornate locust
#

Wait you may have a problem, let me double check

#

yeah the DayOfWeek command won't work for you, let me show you the bit that everything I learned randomization from uses

autumn tide
#

ohhh thank you!

ornate locust
#

The content patcher token is like "Monday" instead of the abbreviated ome you need

#
        {
            "Name": "WeekDayList",
            "Value": "Sun, Mon, Tue, Wed, Thu, Fri, Sat"
        },```
autumn tide
#

..oh?

ornate locust
#

Use that content patcher token instead

autumn tide
#

OHHHH

ornate locust
#

pop that in and do WeekDayList instead of DayOfWeek

autumn tide
#

you need it abbreviated! thank you

calm nebula
#

Can't u just use spring

autumn tide
#

now it'll be (thanks Axell and Pooh and Nova and Voyager!) hehe

#

for dialog

ornate locust
#

Oh wait there;s another part to it

#

just didn't copy the whole dang thing

#
        {
            "Name": "WeekDayList",
            "Value": "Sun, Mon, Tue, Wed, Thu, Fri, Sat"
        },
        {
            "Name": "WeekDay",
            "Value": "{{WeekDayList |valueAt={{Query: {{Day}}%7}}}}"
        }```
You use WeekDay instead of DayOfWeek, do not ask me to explain all of this, we are building a tower of randomization code here
autumn tide
#

okay!

ornate locust
#

but I know it works

autumn tide
#

do not fear, I will not question the wisdom of the gods (ppl who can actually code)

ornate locust
#

I have about 400 lines of dialog randomization code, good luck LOL

#

(but I add to dialog pools by day, season, added mods, etc)

autumn tide
#

hehehehh

#

I shall update you all on my crimes

#

OH and I did do that token randomization thing! went a lil overboard-

ornate locust
#

I was like "man I wish I can have him casually refer to NPCs from mods in randomized dialog" and then Axell and Nova loomed in the background dramatically

#

Adding to pools instead of having to swap made it actually possible

autumn tide
#

one sec lemme find my crimes..

ornate locust
#

my favorite part of these crimes is that the single dialog lines have different versions depending on events you've seen with the characters he talks about

#

So it says range 1, 4, but there's actually 8 lines technically

autumn tide
#

(all of these are dependent on events)

#

oh I love that

ornate locust
#

Using those query things in dialog

autumn tide
#

HAHAH I WILL MAKE MY CODE AS TWISTING AS THE LABYRINTH

dawn moth
#

Hey hey, it's ya girl, back at it again with fun questions; anyone know about the farm cave code that determines whether you get mushrooms or fruit spawns, and where the region for that is? May or may not have made a custom farm cave for my map, and it uhhhh... well...

As much as mushrooms can grow on walls and ceilings, I don't think they're supposed to have planter boxes there too

uncut viper
#

mushroom boxes are placed in hardcoded locations

#

FarmCave.setUpMushroomHouse()

dawn moth
#

So I couldn't change where they spawn if I tried then huh?

uncut viper
#

not without C#

dawn moth
tiny zealot
#

didn't somebody publish a framework for this exact thing though

uncut viper
#

well, actually, can something like FTM or SpaceCore spawn BCs in a place at arbitrary times

#

bc they are just BCs and you can remove the initial ones via frameworks

tiny zealot
uncut viper
#

thatd do it

dawn moth
#

So does the fruit from the bats have the same problem where it'd be only in the region where the mushrooms are, or is that an anywhere in the cave type situation?

#

Wanting to know if I'll be suffering with that too, or if that's more like a foragable spawn

uncut viper
#

those just get placed on any valid random piece of map

#

valid meaning it isnt blocked by another object and doesnt have a Buildings tile placed there, mostly

dawn moth
#

Cooleos (And yeah I figured as much with that), so it's just the mushrooms that are to be a problem

vocal knoll
#

Hey everyone! I have a bunch of questions that the good ol' google won't answer haha... First of all, Is it possible to randomize a Custom NPC's schedule?

devout otter
#

Totally possible. You can look into Eli & Dylan or Lurking in the Dark for examples of NPCs who extensively use rendomization for their schedules.

vocal knoll
#

Next question, is it possible to make a datable NPC no longer datable? The mod I'm working on the NPC can marry one of two vanilla NPCs and the player, but I thought for now it may be easier for early release if the possibility of the player dating/marrying a candidite was not an option and release a version later where it is... if that makes sense lol

devout otter
#

Yeah, you can just edit their CanBeRomanced field in their NPC data.

#

Though if they have a romantic heart event, you'd need to edit those too if you don't want them to still fire.

vocal knoll
#

I tried changing the CanBeRomanced part in my contents.json for EditData, but it didn't seem to work for whatever reason and SMAPI didn't tell me what was wrong or even that there was anything wrong lol maybe it was the wrong folder?

bold cairn
#

Hmmm from the stardewvalley wiki I'm seeing that I could use Game1.player.mailReceived to check whether a particular mail flag has been set for the player, but I'm not seeing anywhere on the page about how to set a mail flag.

E.G. Wanting to set a custom mail flag to denote that the player has already received at least one golden animal cracker from Farming tasks (via my mod) in the current save file.

https://stardewvalleywiki.com/Modding:Mail_data#Mail_flags

lucid iron
brittle pasture
bold cairn
#

Ah that makes sense, thanks!

#

Hmm I guess I should check as I haven't worked with mail flags before:

Do I need to somehow ensure I never attempt to set the same mail flag multiple times?

E.G. Will setting a custom "GotFarmingCracker" flag multiple times result in multiple duplicate flags being added, or is it just treated as a binary exists vs. doesn't exist?

brittle pasture
#

latter (it's a hash set)

vocal knoll
ivory plume
#

@acoustic summit Hi! Just a note that your Skillful Clothes repo is missing the license from the original repo, but the original license requires being included when redistributing the code.

(Instead of creating a new repo, I suggest resetting your fork of the original repo and adding your changes to it; that way you don't lose the license and commit history.)

acoustic summit
lucid iron
vocal knoll
#

still trying to figure out how to randomize a schedule I may be back on that!

#

Next question fellow Modders! Is there a way to make it so something happens a certain number of days after the player sees an event?

faint ingot
#

My mod crossed 100k total downloads today SDVpufferparty

lucid iron
#

wow smapi 4.5.1 suddenly

#

cant believe im finding this out from my gh home page instead of #mod-showcase smh

gaunt orbit
#

I wish there was a way to hijack a cp config with c# so you could just have one config menu for hybrid mods

lucid iron
#

wren have you considered content pack crimes

gaunt orbit
#

Content pack crimes?

lucid iron
#

technique to make ur C# mod supply a content pack to content patcher SMCPufferjail

gaunt orbit
#

Oh that's cursed. I'm intrigued though...

lucid iron
#

idk if it really solves the gmcm problem tho

#

what exactly happens when u try register blobcatgooglyblep

gaunt orbit
#

Yeah that's kinda the main thing, the rest is solvable with asset jankery

gaunt orbit
#

There's two problems with doing that, though- first, it's linear, so you can only append to existing optics, not insert in the middle or at the start. Also, you can't move existing options into pages

lucid mulch
#

the general pattern I've seen (without crimes) for the hybrid mods is to do all the GMCM in the C# side, and then expose a CP token that has the config that your CP pack can then consume

lucid iron
#

the bad part is just token update rates

gaunt orbit
#

I thought about that, but cp forces mod id prefix on tokens which is a giant pain in the ass. It also means you need to edit the c# every time you fuck with config options

#

In theory the practical solution would probably be to use reflection to modify the config data after cp registers it

#

Although this might be moot anyways, given the new api that casey was working on

lucid mulch
gaunt orbit
#

Really it would just be nice if CP had an api to read and modify options from c#

lucid mulch
#

as the complex api for tokens from memory has just as much control over update rate as internal CP tokens, and so should be able to implement your own manual token provider just as easily

calm nebula
#

the complex api predates pintail but pathos did a bunch of relfection for it.

#

it's duck-typed-ish

#

I think you're thinking of the analysis api

lucid iron
verbal narwhal
#

Is there a reason why one shouldn’t expose their own mods current config values via an api?

fierce vault
#

Hey, does anyone know if a map patch that has a blank space that overlaps with another mod's map patch will let that 2nd mod's interactable tiles still work?

lucid iron
#

but also cus why do u need to know

verbal narwhal
#

I was thinking because of things like PlannedParenthood for example if either they could expose or I could expose configs for stuff like „allow adoption spouse pregnancies or allow roommate marriage“ and such

lucid iron
#

i usually try to implement things in a way that other mods don't need to go out of way for api to get info Bolb

#

when it comes to api it's pretty hard to predict what people actually want from you, so imo better to negotiate directly

verbal narwhal
#

Ohh and seeing your discussion about cp tokens. If I wanted to expose a state or value from my mod to content patcher packs and/or other c# mods, are gsq or cp tokens the better way? I’ve read the notice about update rates and such, so are gsq the way to go for such things?

lucid iron
#

gsq is better cus another C# mod can eval that easily at any time

gaunt orbit
#

GSQs are always better if it's possible to use them

verbal narwhal
#

Thank you!

vocal knoll
lucid iron
lucid iron
#

but you also gotta remember that it's ok if 2 mods are just not compat or take priority

verbal narwhal
#

I can?!

gaunt orbit
#

(mac has a screen capture tool, no need to use a phone camera)

verbal narwhal
#

Omg

lucid mulch
#

I don't know of a mod that would want to have their config data model be part of their public api surface, but then again most mods (except Pathos) don't care as much about breaking changes

lucid iron
#

the reason why HMK has so many pregnancy features is because i am like "ok i dont want to do compat with this other mod let me just eat their feature"

brave fable
# verbal narwhal I can?!

of course, you can do anything with reflection. i usually reflect my CP i18n instance into my C# mod

gaunt orbit
#

That happened to me with better beehouses and pfm mods

brave fable
#

now this has nothing to do with whether you should

lucid mulch
#

(is this a bad time to mention my mod harmony patches and intercepts all json loads from CP to be my own data structures instead to inject extra data)

verbal narwhal
gaunt orbit
#

Better beehouses actually does have a really strong api but I think I'm the only one using it

brave fable
#

the weak should fear the strong. and i fear most khloe apis

gaunt orbit
#

I crave the return of almanac

#

When will my beloved come home from the war /lh

lucid mulch
#

one of the sadder casulties from the 1.6 migration

gaunt orbit
#

Yeah. I get why it's been left behind, though. It's an enormous mod

brave fable
#

which does have the positive side-effect of raising the market value of other book-based mods

lucid mulch
#

I had plans if I ever did my content mod for advanced logistics to have most of my UI to be inside almanac

devout otter
lucid mulch
#

but luckily any desire to work on said content mod has mostly died

gaunt orbit
#

I feel like remaking it might be less bad now that stardewui is a thing

brave fable
lucid iron
#

i promise ill start chu perfection tracker 2 soon™

fierce vault
gaunt orbit
fierce vault
#

Uh, this is semi mod making related, but I have a damaged image I guess that is greyed out and listed as "icon?" in several of my different stardew valley related folders, one of which is in my mod's asset folder. Anyone know of a way I can figure out what this was??

dusk mulch
#

the dialogue is being added but it won't let me talk to the npc

    {
        "Action": "EditData",
        "Target": "Characters/Dialogue/{{ModId}}_GJunimo",
        "Entries": {
            "Spring_{{DayWeek}}": "{{i18n: Spring{{Random:{{Range: 1,5}} }} }}",
            "Summer_{{DayWeek}}": "{{i18n: Summer{{Random: {{Range: 1,5}} }} }}",
            "Fall_{{DayWeek}}": "{{i18n: Fall{{Random: {{Range: 1,5}} }} }}",
            "Winter_{{DayWeek}}": "{{i18n: Winter{{Random: {{Range: 1,5}} }} }}",
        }
    }
#

does anyone know why?

dusk mulch
#

(DayWeek is a dynamic token to shorten "Monday" to "Mon", etc)

fierce vault
gaunt orbit
#

Like the real actual onr

pale river
#

the fix i'd recommend is verifying game files

#

but if it in your assets folders thats really weird

fierce vault
#

I can try. I can also do a quick look to view that too. does this count?

gaunt orbit
fierce vault
gaunt orbit
fierce vault
#

i've found 3 total

#

ok

uncut viper
dusk mulch
#

is it possible to make a portrait a GIF?

gaunt orbit
dusk mulch
#

Yeah

uncut viper
#

you cant juse use a straight up gif

#

you can use spacecore to animate them though (or iro's other framework that i dont even know if its out yet?)

urban patrol
gaunt orbit
#

The game doesn't support gifs

dusk mulch
#

Hmmm... I'll look into animated portraits then

#

ty!

urban patrol
#

iro is working on an animated portrait framework

uncut viper
#

and beyond that, monogame doesnt support gifs, so its out of the games hands

dusk mulch
#

(i accidentally sent that message early lol)

fierce vault
#

Ok, I think I'm using ls wrong because I am not seeing any file names when typing it into terminal 😅

#

well, beyond a few unrelated things

dusk mulch
#

does an npc need a schedule for its dialogue to work?

brave fable
gaunt orbit
dusk mulch
vernal crest
fierce vault
dusk mulch
#

i got it working!

#

it was the season name

gaunt orbit
dusk mulch
#

omg its so cute

fierce vault
#

Ah ok I'll try that

dusk mulch
#

now to go make a quest line

fierce vault
#

Well this is weird: zsh: permission denied: /Users/me/Library/Application Support/Steam/steamapps/common/Stardew Valley/Contents/MacOS/mods/NPC v4/[CP] mr npc/assets/maps

#

OH I think I may have an idea though?!

gaunt orbit
#

Huh??

fierce vault
#

I have only noticed this in folders that I changed the display images of... my maps happens to be one of them because I was feeling fancy lol. Could these images be corruptions somehow of that??

gaunt orbit
#

Hey wait that path doesn't make sense

fierce vault
#

?

gaunt orbit
fierce vault
#

It's the biggest/only pattern

gaunt orbit
# fierce vault ?

Shouldn't it be Stardew Valley/mods/... Instead of Stardew Valley/Contents/MacOs/mods/...

#

Or is that just mac weirdness

fierce vault
#

it's mac weirdness

gaunt orbit
#

Fair enough

fierce vault
#

I've seen the file path in person

#

or, I've walked it?

gaunt orbit
#

Yeah that makes sense

fierce vault
#

I don't think this is a mod issue anymore, the files that have image changes just happen to be mods or mod related.

#

Thanks for the help tho

brave fable
#

(of course you walk a path. definitely not me just now understanding os.walk())

gaunt orbit
fierce vault
#

And meant to make that joke...

fierce vault
#

I feel like I always get sidetracked when I just wanted to do a specific thing for my mod

#

But, again, thakns for your help

#

thakns

#

lol

#

Alright! time to test the thing I was going to do before this. Sometimes I hate mac, but idk if windows 11 is much better.

gaunt orbit
#

It's not

fierce vault
#

At least I'd theoretically be able to play more games on it 😅

gaunt orbit
#

Does proton not run on mac?

fierce vault
#

I think it does, but it's payed I believe?

#

I got cross over a year ago

#

Didn't open it once until a few weeks ago

#

and then found out that steam broke compatibility with it months ago, apparently

#

So, that was a waste lol

gaunt orbit
#

Oh I guess proton is linux only

#

That's a shame

fierce vault
#

With OS's it almost feels like a pick your poison kind of thing. But that's the negative view. Could phrase it like pick your strengths, maybe.

hard fern
#

pick wich hardware you'd rather fight for an hour!

lucid iron
#

i think wine stopped working for mac for a while

fierce vault
#

I wish visual studio worked on mac

hard fern
#

i think i'm doing pretty ok fighting windows powershell

fierce vault
#

I tried a C# coding youtube course a while back, and had to use (with the recently free license) Ryder. It was only a little different, but that still made it harder for a complete noob.

hard fern
#

hmm. now for my scheduled monthly modding... when it comes to maps and stuff, you can technically make the bulk of a map in CP, provided you have a blank map in tiled with all the right layers right

fierce vault
#

Like, coding a game or something hard

gaunt orbit
#

I'm sticking with windows for now bc I use a lot of exclusive software, and I've managed to feature-mangle it into submission

merry river
hard fern
#

but my main question is what are the benefits of doing all the map property stuff in CP compared to in tiled itself? like warps and lights and tiledatas

fierce vault
brave fable
#

i'd probably be trying mint if photoshop and visual studio worked out of the box. at the end of the day debloated win11 requires the least fighting for the most productivity it feels like

gaunt orbit