#making-mods-general

1 messages · Page 244 of 1

final arch
#

for one sinz.eventbyid * doesnt do anything for me

#

is there a way to skip an event?

#

if an event has an error it repeats it forever

calm nebula
#

Hmmm

#

Has that ever worked? I'm not sure I put in that

final arch
#

yes

calm nebula
final arch
#

I used it to test all RSV events with whatever mod ID rsv has and * after

#

so 9871*

calm nebula
#

Oh, that should still work

final arch
calm nebula
#

What did I do lol

final arch
#

confusing me

#

a lot :p

#

its fine, I was just wondering

calm nebula
#

I'll take a look but no promises for the next two weeks, flying out Tuesday

final arch
#

no stress!

#

have a nice flight SDVpufferheart

calm nebula
#

log say anything of interest?

final arch
#

nothing at all

#

just ignored my command

calm nebula
gentle rose
#

do you guys happen to know if there's an official list of the 1.6 devs somewhere? the Stardew Valley page on the wiki only lists this for some reason, which I know for a fact is missing people, which seems very odd

lucid iron
#

yea its in unpacked contents

#

Strings/credits.json

gentle rose
#

I'm going to bet that this page is almost definitely protected though... 😭 could there be an official reason for only these four to be mentioned?

lucid iron
#

weird that only casey is not on there maybe it's what casey wanted?

gentle rose
#

is Casey definitely the only one missing?

lucid iron
#
"[3]Update 1.6:",
"Eric Barone",
"Jesse Plamondon-Willard \"Pathoschild\"",
"Devin Hedegaard",
"Arthur Lee",
"Jared Flores",
"Casey Warrington",
calm nebula
#

works fo rme, weird

gentle rose
#

interesting. Atra, do you happen to know?

lucid iron
#

theres code from other ppl previously ofc (like Tom Coxon who haunts me in my netcode dreams)

calm nebula
lucid iron
#

u can see the credits.json file yourself

gentle rose
#

ofc, but like out of the official devs SDVpufferthinkblob

rancid musk
lucid iron
#

iro dont u have the decompile repo

#

i only ever go there on 📱

gentle rose
#

does it have content files?

lucid iron
#

yea

gentle rose
#

I thought it only had the decompile pffft

#

whoops

lucid iron
#

decompile under Code

#

content in Content

#

pathos putting "Pathoschild" right in the credits is menancing

gentle rose
#

shh don't tell Khloe I didn't know this, she'll take away my repo access SBVPensiveButt (/lh ofc)

ivory plume
#

(No need to look at the unpacked files directly; that asset is shown in-game when you click the ? button on the title screen.)

calm nebula
rancid musk
#

I wonder how many people have viewed the credits page in-game, compared to how many have played.

calm nebula
#

(Skip one not in yet, I'll need to add that in)

gentle rose
lucid iron
#

would phone version have more ppl?

#

for porting help

rancid musk
#

I can check that asset.

ivory plume
#

There's a general section for ports:

rancid musk
#

-# Pathos beat me to it, and even did a screenshot from the game SDVpufferwaaah

tidal stone
#

here's a list of possible plants ima try to make if you guys can think of any flowers or other herbal teas let me know :0

rancid musk
#

I probably should finish unpacking content for the android version so I can update the android decomp repo... but on the other hand I really don't want to

lucid iron
#

aw yeah another cinnamon DokkanStare

#

if you are make mod like this i would

  1. check mods that may already have the same crops, and use the same context tag as them for compat
  2. consider using this to add support for toggling between item of same name from different mods https://www.nexusmods.com/stardewvalley/mods/21361
brittle pasture
#

for 2 I think it's better for me to add compat on my end to the mega toggle content pack

#

(feel free to ping me when you released your mod!)

tidal stone
#

:0

lucid iron
#

also remember to add another olive oil and another butter

#

it's important

tidal stone
#

ill add herb butter and olive oil do you think that would be nice?

lucid iron
#

more seriously, people will expect to be able to do stuff with your crops Bolb

tidal stone
#

oh ye im gonna research how the teas are made and also include herb bred and cookies, and things like that

lucid iron
#

you can just have em become standard artisan goods, but it could be fun to make your own artisian goods

brittle pasture
#

(just in case, chu was joking about the prevalence of butter and olive oil in crops mods. but if you're scope creeping yourself to beyond teas that would be cool too)

lucid iron
#

this is another thing you should check context tags for, e.g. cornucopia has a herb_item to make dried herbs

#

so if all ur herbs are marked the same way they will work™️

final arch
#

another small suggestion: exclude the "subevents" from playing, because they often fail with "failed parsing camera values". (subevents are the ones ppl call with /switchevent and dont have preconditions

calm nebula
#

Ok!

#

done, uploading!

#

uhhhhhghhhgh is nexus slow for just me or everyone

tidal stone
calm nebula
lucid iron
tidal stone
#

oooh ok

lucid iron
tidal stone
#

ty ty

lucid iron
#

for mods, they can choose to add new tags

#

and if you want your mod to be automatically compatible with say cornucopia artisan machines

#

you would simply use the same tags

tidal stone
#

ooo dopealicious

lucid iron
#

theres no need to have real dependency ofc, the data is just unused if the player didnt have cornucopia artisan machines

tidal stone
lucid iron
#

in other cases you do want an optional dependency to ensure your mod loads later

#

i speak only of context tags case

tidal stone
#

Ooh i see several machines in cornucopa machines that i can use for my mod

#

ok machines imma add
tea oxidizer
(i wonder if i should make a teapot)

#

Oxidizwer might eb scratched actually

#

it would just be another step

hallow prism
#

i wonder if using the smoker can be an acceptable substitute

#

if you use a specific context tag i can see about adding it to the relevant plants i have

#

(like rosemary or mallow)

tidal stone
#

ooh
and maybe on the smoker, im still doing my research on the steps to making the tea and herbal remedies and such in want to add as recipes
I dont want to get too nitpicky with it but i wanna make sure i make it a little immersive

hallow prism
#

yeah finding the right balance is tricky

tidal stone
#

honbestly if the oxidization process sint used before soem of the recipes i have ideas for i might axe it because i dont want an unn ecessary finicky step

#

but ill see

hallow prism
#

yeah keep your options open and see what you have fun with

tidal stone
#

^-^

balmy venture
#

All I'm waiting for is an artisan machine to use my poisonous forages XD

tidal stone
#

ok so based on what im reading i think the oxidizer would ahve to be a new machine as it is the process of rolling or crushing the leaves and then leaving them to basically ferment i belive is what im reading here, unless cornucopia has a mortar and pestle or something similar ill probably make a stand where you use one uwu_nod

tidal stone
balmy venture
#

I dunno what type of machine, I think I gave someone else an idea at some point. It just bugs me we can't do anything with things like mistletoe and etc, the forages that are poison as well

ocean sailBOT
#

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

balmy venture
#

I thought of maybe soaps? I keep trying to think what they could be turned into

#

maybe medicine components but I dunno how much sense that would make

#

or maybe just turn them into powders or other processed substance with the intention of selling as a supply for industries

tidal stone
#

oo

latent mauve
#

(it was basically just adding the inedible_mushroom context tag as a Required Input under the Dried Mushroom entry for that machine)

balmy venture
#

that is interesting, I could check a machine that maybe would make sense for powders for example

marble verge
#

Evening. Is there a downside to using a lot of Dynamic Tokens?

lucid iron
#

like most tools it depends on what you do with it

hot gale
#

Anyone know if this works for merchant/shops?

#

Trying to get it to but doesnt seemto be

#

Wondering if its a limitation

lucid iron
#

need portraiture plus iirc

#

merchants are just 1 texture though, you could use spacecore hd texture instead if you want

hot gale
#

That would be cool, not needing an additional dependancy

tidal stone
#

!{{Modded:Crops}}

#

!Crops

hot gale
#

[[modded:crops]]

#

?

#

[[modding:crops]]

#

idk lol

tidal stone
#

XD

#

ill just go manually try finding it then lol

hot gale
brittle pasture
lucid iron
#

A Vector2 size. If specified, the sprite size to use for frames in SourceTexture (normally the size is the same as the size in TargetRect). This allows you to fit a larger image in place of a smaller vanilla image. (For example, fitting a 256x256 portrait into the default 64x64 spaces.)

#

ctrl f for this part

brittle pasture
hot gale
#

ty ty

lucid iron
#

you would load the original first and then apply spacechase0.SpaceCore/TextureOverrides

marble verge
lucid iron
#

yea that is partly what they are for

#

although, i believe you can separate the dynamic tokens now

brave bay
#

I'm getting this error when trying to make a Content Patcher mod, what does it mean? I followed the manifest.json and content.json guides but I can't find how to fix this

marble verge
ocean sailBOT
#

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

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

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

lucid iron
brave bay
marble verge
#

I did read about Local Tokens, but I'm not sure if that's what you're talking about.

lucid iron
#

no iirc there was thing to just, let you put dynamic tokens in a separate .json

rigid musk
lucid iron
#

i cant find it in the release notes though sleep

#

so just disregard

marble verge
#

Okay.

lucid iron
#

LocalTokens is something else, but it can be helpful too

marble verge
#

The Local Tokens thing looks like you can turn includes into functions.

lucid iron
#

templates yes

brave bay
lucid iron
#

not quite functions

brave bay
#

Line 9

marble verge
#

Missing a comma

brave bay
#

wher

lucid iron
#

but yea i think the issue around dynamic tokens is like

#

it may be not ready at some places

marble verge
brave bay
#

oh

lucid iron
#

and there is issue with using dynamic token as a dictionary key

#

this seem to cause tokens in the value to not parse

brave bay
#

new error

marble verge
hot gale
#

The wiki doesnt explain what format Im supposed to enter in SourceSizeOverride do I do an array? is it a string? do I name the texture, and not the resolution?

lucid iron
uncut viper
#

(the issue is when you have a dynamic OR a config token as the key and also use a dynamic OR config token in the value)

hot gale
#

An example in this wiki would be swell lol

marble verge
lucid iron
#

i dont think there is performance problems with dynamic token by itself

#

but you do have to re-eval them on change

#

or rather content patcher does

uncut viper
#

the issue chu linked is surprisingly niche and rarely comes up it seems since I've only ever seen blueberry talk about it so don't worry about it

lucid iron
#

personally i wouldn't use dt just to store a constant

#

bc i can just mass replace in the future if i feel like it

marble verge
uncut viper
#

many people do for e.g. npc names

lucid iron
#

but i dont make packs that get super beeg

#

so if u r at scale where u want it then just use it

#

it is made for ppl to use

marble verge
#

The reason I like using DTs is so that I can basically forget what I used where in which include file. Update content.json and everything propagates.

lucid iron
#

when possible i'd prob choose to use LocalizedText for things like npc name

#

the when possible has many asterisks behind it ofc Dokkan

marble verge
#

I've never dealt with NPCs before, and I don't think it's likely to happen in the future

uncut viper
#

you can't use localized text everywhere

marble verge
#

I'm mostly working on compatibility patches to fix little (and big) issues I run into as I play

uncut viper
#

i think the NPC guide uses a dynamic token constant doesn't it

brave bay
#

Anybody here knows why when I replace the file "hairstyles" only half of them get modified? Half of it gets replaced and half of it doesn't. This problem started happening to me since the last update the game received, which I'm pretty sure reworked a few hairs.

#

Is there a "use new hairs" button that I'm missing or what

uncut viper
#

i don't believe anything changed with hair in the last update? that was a couple months ago

lucid iron
#

it looks like you have hairstyle and hairstyle2 both loading to 1 target

#

surprsied that content patcher didnt tell you no exclusive

tidal stone
#

if i want to make a machine and crops would it bepossible to dot hat within one mod or would they need to be seperate 🤔

lucid iron
#

yep

brave bay
tidal stone
#

ig it could be packaged actually

brave bay
#

And I don't have a clue as to why

lucid iron
#

no they can be part of 1 cp mod

tidal stone
#

thank you chu

brave bay
#

Look, this is the file I'm currently loading

#

Half, to bottom, all of them appear in the selection menu and replace the vanilla hairs

#

Half to top just doesn't

ornate trellis
#

hm, I think I need help with trying to spawn nodes via spacecore

lucid iron
# brave bay

im fairly sure nothing changed about this so you will have to send json and log

brave bay
ornate trellis
ocean sailBOT
#

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

rigid musk
brave bay
#

sorry

rigid musk
#

its okay you dont have to apologize :3

#

it just makes it easier to read on the website

ornate trellis
#

I'm jsut sitting here like thonking

lucid iron
#

Characters/Farmer is incorrect, you need to load to Characters/Farmer/hairstyles and Characters/Farmer/hairstyles2

#

as for why you saw half the hairs change i dunno

brave bay
#

like this?

#

no ".xnb" in the end?

lucid iron
#

nop

#

target don't need extension

brave bay
#

let me see

rigid musk
#

you dont have a comma again

brave bay
#

how did it got deleted?

hot gale
#
{
            "Action": "EditData",
            "Target": "spacechase0.SpaceCore/TextureOverrides",
            "Entries": {
                "Natalie": {
                    "TargetTexture": "Portraits/Natalie",
                    "SourceSizeOverride": 
                }
            }
        }

What exactly do I put in "SourceSizeOverride":

rigid musk
hot gale
#

if I want a portrait larger than 64x64

brave bay
#

i fixed it

#

ill try again

#

YESSS

#

now it works

#

thank you @rigid musk

lucid iron
#

portraits are 64x64

rigid musk
brave bay
#

Tho I'm still here drooling like a fool, why and how did half of the hairs worked and half of them didn't if they were in the same file?

lucid iron
#

for this though u need to have TargetRect as well

brave bay
#

I just won't question it I guess lol

#

It works now

rigid musk
#

honestly I put stuff like that to some cursed code magic

#

(<- doesn't understand how code works)

lucid iron
#

TargetRect would be { "X": 0, "Y": 0, "Width": 64, "Height": 64}
SourceSizeOverride would be { "X": 0, "Y": 0, "Width": 256, "Height": 256 }

#

assuming you want a 4x sized portrait

ornate trellis
candid stratus
#

I was wondering, I'm looking into MEEP and here it says you gotta patch the map with this code, but can't you in theory also add these fields as properties directly into tiled and do it from there? That seems a bit easier to do

brittle pasture
#

it's easier if you're making your own map yeah
the example is to edit an existing map without having to fire up tiled

ornate trellis
#

i think i fucked up my json completely,hm

hot gale
#
 {
            "Action": "EditData",
            "Target": "spacechase0.SpaceCore/TextureOverrides",
            "Entries": {
                "Natalie": {
                    "TargetTexture": "Portraits/Natalie",
                    "TargetRect": {
                        "X": 0,
                        "Y": 0,
                        "Width": 64,
                        "Height": 64
                    },
                    "SourceRect": {
                        "X": 0,
                        "Y": 0,
                        "Width": 128,
                        "Height": 128
                    },
                    "SourceSizeOverride": "assets/natalie/BubblePortraitBig.png"
                }
            }
        }
#

Would this be right then

lucid iron
#

No i had typo the field is called SourceSizeOverride

#

Still need TargetTexture

hot gale
#

I have a TargetTexture where I'm targeting the character portrait, and SourceSizeOverride looks accurate to me?

lucid iron
#

I was also wrong about it being a Rectangle

#

Looks like it's a Vector2

#

So you can do "128,128"

hot gale
#
{
            "Action": "EditData",
            "Target": "spacechase0.SpaceCore/TextureOverrides",
            "Entries": {
                "Natalie": {
                    "TargetTexture": "Portraits/Natalie",
                    "TargetRect": {
                        "X": 0,
                        "Y": 0,
                        "Width": 64,
                        "Height": 64
                    },
                    "Vector2": "128,128",
                    "SourceSizeOverride": "assets/natalie/BubblePortraitBig.png"
                }
            }
        }
lucid iron
#

When im not on phone I'll write down what i mean

hot gale
#

Cool

lucid iron
#

Or maybe someone else can do it

hot gale
#

Appreciate you

gentle rose
uncut viper
ornate trellis
lucid iron
uncut viper
#

actually its apparently erroring in the object constructor, hm

gentle rose
#

you can rename anonymous in whatever you’re doing. I’m still starting my answer with “what chu told me to tell you is that…”

uncut viper
#

only place it can do that is if the itemId is null somehow so yeah ig still double check em

ornate trellis
#

ok i think i improved something but i didnt fix it

#

huh, now I am presented with yet again another issue I dont think I quite understand how to set this up

#

testing something before i send another log and json

#

uhhh...improvement? huh, thats not where I want it to spawn tho

#

Alright, I do need more help.

#

even the item sropped is an error item

#

the log isnt giving errors anymore so theres that. I don't know if I am now having the spawn part right(except the area) and its giving me errors because its not able to pull my nodes? I am adding the nodes via IE idk if it needs some sort of extra step or something for spacecore to be like yo this gonna be it or if I did it completely wrong(the IE nodes and minerals I made I can properly spawn in via CJB afterall)
json: https://smapi.io/json/content-patcher/ed4e3ee375b7402eaf76383c1e390e2e
log: https://smapi.io/log/ee4c7db86a60401d8d83e47558408d16

ocean sailBOT
#

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

gentle rose
balmy venture
#

I was also wondering this. Something recolored my moss I have no idea and don't care enough to search XD

ornate trellis
hot gale
lucid iron
#

no warrenty never used this particular spacecore feature kyuuchan_run

#

in particular u might only need "SourceTexture": "Portraits/{{ModId}}_Natalie",

ornate trellis
#

btw proof my stuff does exists technically tahnks to IE lol idk why spacecore wont let me spawn em...

tribal ore
#

Question about CP priority:

If two mods load dialogue changes, but their entries are different, what happens?

Patch 1: priority high
"Sat"
"Fri"
"Sun"

Patch 2: priority med
"Sat"
"Mon"
"Tue"

Will we see Sat from patch 1, and the rest of the entries all showing up? Or will we only see the entries from patch 1 and none from patch 2?

lucid iron
#

it is like sandwich

#

although, are you sure its a Load

#

rather than EditData (Early Default Late)

tribal ore
#

I'm not actually running into this problem right now, just considering which priorities to put on some dialogue changes for mod compat

lucid iron
#

well dont

#

:)

tribal ore
#

No priorities? Just let it default to exclusive?

lucid iron
#

EditData doesn't use exclusive

#

usually mod compat is achieved by having one mod dependent on another

#

this is less confusing than setting individual edit priorities

tribal ore
#

Alright, then I will ignore it 🙂

#

Thanks, @lucid iron

lucid iron
#

to answer your actual question the priorities you can use on edit data are Early Default Late
for all patches targeting Characters/Dialogue/Sebastian you have this deal (using only the keys you mentioned)

Base
- Mon: stuff
- Tue: stuff
- Fri: stuff
- Sat: stuff
- Sun: stuff
Patch 2 (Default)
- Mon: changed to 2
- Tue: changed to 2
- Fri: stuff
- Sat: changed to 2
- Sun: stuff
Patch 1 (Late)
- Mon: changed to 2
- Tue: changed to 2
- Fri: changed to 1
- Sat: changed to 1
- Sun: changed to 1
ornate trellis
#

huh

#

I might need to take a break because I am too lost in getting my nodes to spawn

#

hm, i mightve found my issue

tribal ore
ornate trellis
#

unless i am interpreting this wrong

lucid iron
#

Late is the most important priority

tribal ore
#

Oh. Other way around!!!

lucid iron
#

its the last bread on ur sandwich

ornate trellis
#

because IE does state

You can spawn either from vanilla Location Data, or via FTM (only accepts 1x1 resources).

lucid iron
#

if you don't care just leave at Default

ornate trellis
#

so i probs c ant spawn em via spacecore..

lucid iron
#

you can think about compat with CFDE and such later

calm nebula
#

I suspect you can spawn from spacecore tbh

tribal ore
lucid iron
#

yesnt (it depends on the file system)

ornate trellis
tribal ore
lucid iron
#

when u are deal with compat u would be going in and adding false dependencies

#

to make your mod load later

ornate trellis
#

so now i am checking IEs docs to see if there was a limit on that side but idk

tribal ore
balmy venture
#

Anyone has experience in fixing compatibilities for map tiles and recolors that could help me? Don't wanna clog the chat here

ornate locust
#

Sure, what do you need to know?

lucid iron
#

try {"X": 128, "Y": 128}

#

although ur tx is just missing too

balmy venture
ornate locust
median jewel
#

can somone make me a mod to kick anoying players out of my game?

latent mauve
#

If you are hosting, you should already have /kick or /ban as default commands

haughty charm
median jewel
#

oh

ornate trellis
#

i think im gonna stop trying to get my shit to spawn, i feel too stuck

hot gale
lucid iron
hot gale
#

Is there a way to get the tile x/y im standing on in game lol

lucid iron
#

debug mode (a mod)

hot gale
#

Cool ty

haughty charm
#

Lookup Anything should also provide that

hot gale
#

Ah damn already downloaded debug mode lol woulda been faster already had lookup anything

#

My poor keyboard is fying 😭

#

ok that was just a typo

haughty charm
#

Debug Mode is a necessary mod for mod makers, imo, so I think it's good you got it 😉

hot gale
#

Agreed :D Trying to get a good base-line installation with just debug mods and dependancies etc

hot gale
#

Now to look into how to make trash cans work

lucid iron
#

this item id is definitely correct?

uncut viper
lucid iron
#

could perhaps try (O)

ornate trellis
uncut viper
#

thats not how spacecores spawning works, it needs an object to get the texture from

ornate trellis
#

the gem is in objects tho and is also an error item when i break the error node

lucid iron
#

can you do patch export Data/Objects then

#

maybe IE added things to that on your behalf

brisk wedge
#

whats a good event listener for hearing when a bomb gets used?

ornate trellis
#

hm

#

the nodes there yeah

lucid iron
#

yea i dunno, i guess i would try qualified item id

latent mauve
#

I would try the ID associated with it in your Data/Objects export

ornate trellis
#

I am wondering if maybe spacecore is using the wrong modid for my {{ModID}}

uncut viper
#

spacecore doesnt know you're using a token

#

tokens never leave a content patcher .json file. all spacecore sees is your mod ID typed out. it cant use the wrong one

ornate trellis
#

well

#

i might be dumb but I replced {{ModID}} with the one my node has in the object json

#

and its there now

haughty charm
#

You're not dumb...I would have done the same thing, Void

ornate trellis
#

so it did use the wrong ModID

uncut viper
#

they are two different mods?

ornate trellis
#

or its a coincidence? idk anymore

uncut viper
#

{{ModId}} is always the same across an entire single CP mod

ornate trellis
#

yeah I said earlier I added my nodes via IE

uncut viper
#

i mean, you can do that in the same mod, so...

ornate trellis
#

which meant i needed to make a IE folder

ornate trellis
whole raptor
#

I actually wanted to write a script for this exact purpose for a while now, but never got around to it (specifically extra ones) SDVpuffersquee

candid stratus
#

I'm not sure what I'm missing, but this doesnt seem to do anything. I click the garbage can and nothing happens, nothing logged either. I also tried doing it through the content.json exactly as the example showed, and I think my manifest should be correct. Does anyone know what I'm missing? (sorry for the non-english in the image)

analog yacht
#

Hi I want to make a links majoras Mask Mods. Where I use the different Mask from the Game. I Never did a mod. How should I start. Do I need cp oder c#

uncut viper
#

Item Extensions mods are just content patcher mods

ornate trellis
#

brb recovering from the L i gave myself

analog yacht
#

But I need to Change an Items to the Mask. Can I get Completly new Items with cp without replacing stuff

haughty charm
analog yacht
#

Ok thanks and After that

lucid iron
#

as for your actual issue, do you see the hand cursor

candid stratus
#

Yes I see the hand cursor

#

It just doesnt respond, I'll look into the dependencies section though

haughty charm
sour sleet
#

Is it possible to only apply a map patch for certain days of the week in game? Like my shop only being present on these days?

ornate trellis
#

huzzah

#

I bow my head once more to yall cuz id go insane if i were on my own

latent mauve
sour sleet
hot gale
#
{
                            "ItemId": "(O)254",
                            "PriceModifiers": 2.0
                        },

Is this the correct way to use "PriceModifiers"

latent mauve
marble verge
analog yacht
candid stratus
analog yacht
lucid iron
#

you can check if ur data is definitely there in game by using tile lookup with lookup anything

haughty charm
sour sleet
#

I already have a When condition on the patch. Is it possible to add more than one?

latent mauve
#

The first example under Conditions shows two requirements being met

latent mauve
hot gale
#

Ohhhh

#

Where did you see that on the wiki exactly?

#

I was looking through here but didnt see that info

latent mauve
#

If you follow the links to Quantity Modifiers you get there

#

From the shops page

hot gale
#

Ah. :p derp, ty :D

brittle pasture
#

on the Shops page you can see the "common fields" row

#

that links to fields that is present in every item query (shops, machines, winter star gifts, etc.)

hot gale
#

Cool, so new question lol - do I still assign a price for the items in the shop, or does the PriceModifiers just take over by applying the multiplication of the base price

latent mauve
#

(there's a specific link under PricesModifiers in the Shops page that is a bit more direct, Selph)

brittle pasture
#

ahh

#

I misread the question actually I thought they were asking about quality and stack modifiers

brittle pasture
hot gale
#

Ty :D

latent mauve
#

Some object data also might not have a price set in it, so setting a Price is advisable in those cases

lucid iron
blissful panther
#

Is that a space between MEEP and the _, or is it just bad kerning?

lucid iron
#

their code earlier looks pasted directly from the docs example

#

but yea maybe gib log

blissful panther
#

That looks fine, yeah... did you add the manifest part?

analog yacht
#

What exactly is spacecore

hot gale
#

A mod manager

#

If you've ever used ModOrganizer for skyrim, kinda like that

candid stratus
uncut viper
#

spacecore is just a mod not a mod manager

hot gale
#

oh lol he edited 🤣

uncut viper
#

ah

latent mauve
#

LOL

hot gale
#

classic discord

latent mauve
#

Guessing he was asking about Stardrop originally? 😛

hot gale
#

Yeah lmao

#

Lumi's tilesheets are stellar

tidal stone
#

ooo

blissful panther
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.

lucid iron
#

use the parser AquaThumbsup

sour sleet
#

Is this correct? SMAPI doesn't seem to like it ``` "When": {
"HasMod|contains=FlashShifter.StardewValleyExpandedCP": true,
"DayOfWeek": "Monday, Thursday"
},

candid stratus
#
{
            "Action": "EditMap",
            "Target": "Maps/{{ModId}}_CordovaJanitor",
            "MapTiles": [
                {
                    "Position": {
                        "X": 1,
                        "Y": 4
                    },
                    "Layer": "Buildings",
                    "SetProperties": {
                        "Action": "MEEP_CloseupInteraction_Image LooseSprites/Cursors 540 305 42 28",
                        "MEEP_CloseupInteraction_Text": "The spirits tell me you're learning how to use a new mod..."
                    }
                }
            ]
        },

@blissful panther

hot gale
#

"HasMod": "FlashShifter.StardewValleyExpandedCP"

#

I believe

latent mauve
#

Contains is still correct

old edge
#

so just noticed the danceRejection dialogue key is deprecated. not sure if it's buggy because of that now.

hot gale
#

o ok

latent mauve
#

For HasMod

candid stratus
#

Given that it appears under the lookup, I'm guessing the patching wasn't the issue

sour sleet
#

It's the DayOfWeek that's the issue

blissful panther
candid stratus
candid stratus
#

I've already realised that those actions get wiped if there's no tile on the corresponding layer

sour sleet
#

It says it can't parse the json

hot gale
#

"AvailableStock": 1, is daily, right?

violet grotto
#

Stardew Valley's monsters have been making a valiant effort to prematurely end the days of foolhardy farmers.
Why not award their efforts by giving them a little more... style?

These new, purely visual, variants are sure to spice up your adventures a little more!

A bunch of monster types are not yet supported, but I had enough variants already to justify an early release of what's been done so far.
https://www.nexusmods.com/stardewvalley/mods/32218

Nexus Mods :: Stardew Valley

A content pack that adds more visual variants to monsters through Alternative Textures.

#

(Sorry for interrupting, I just wanna get this out of the way before I go sleep. please carry on as usual)

iron ridge
#

I kinda want to rewrite xnb2cp again so it has a copy of content on the server and can diff the files in 16x16 chunks..

blissful panther
latent mauve
analog yacht
#

What is spacecore. What does it do

iron ridge
#

Library mod. It does a lot

blissful panther
candid stratus
modest pumice
#

Hi all! Back here three years after making baby's first mod to finally update it from JA to CP and everything is working except for the textures and gift tastes. I tried looking around the wiki but am not sure what I'm doing wrong. Any clues would be appreciated!
https://smapi.io/json/content-patcher/68f17a28feed4cd8bdc1abe2eaca1011
Also please ignore that only the letter is translatable rn. lol

violet grotto
#

I'll correct that right quick!

blissful panther
candid stratus
latent mauve
sour sleet
ocean sailBOT
#

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

latent mauve
#

Send your current JSON block for that patch

#

Because it looks like you closed the When block too early according to that

latent mauve
#

"DayOfWeek":"Monday, Thursday"

#

Your original code block had it that way, which should have been correct

modest pumice
sour sleet
latent mauve
#

There's another one at line 35

sour sleet
#

Oops SDVkrobusgiggle

#

No errors now SDVpufferparty

tribal ore
hot gale
#

How do I ensure a recipe is purchase only? Meaning what do I put in the unlock condition if I dont.. want one?

#

"{{ModId}}_Carbonator": "{{ModId}}_MeadKeg 1 bonghits.Cp_BearHoneyMead 1 118 2/Home/{{ModId}}_MeadKeg/true/Farming 4/"

#

Just omit the field?

brittle pasture
rancid musk
hot gale
#

Thats dope

old edge
#

so does anyone know how the game adds these little icons in the special orders? -->>

lucid iron
#

SpecialOrdersBoard.GetPortraitForRequester

tribal ore
#

Alright. It's done. I'm pulling the trigger

lucid iron
#

you can postfix that if you want your own character to get emoji

tidal stone
#

on the seb mod?

tribal ore
tidal stone
#

oooh

old edge
tidal stone
#

another mod to download for my beloved sebastian ❤️

lucid iron
#

it looks pretty hardcoded bolbthinking

tribal ore
#

Gonna put together a quick blurb and post it here. One minute!

lucid iron
#

(why is baby on this)

#

theroetically you can edit these

#

and then make your requester Baby

#

only the first one btw LilyDerp

brittle pasture
#

(hmm wait, I read the code and does it really only pull from emojiTexture)
(dang, ignore me then)

tribal ore
#

Ever wished that Sebastian was a little more mature? Well, wish no more! Kantrip's Older Sebastian is an NPC dialogue/events expansion that performs a complete overhaul of Sebastian's character. 20+ new events, hundreds of new lines of dialogue, custom secret notes and more!
https://www.nexusmods.com/stardewvalley/mods/31574

Nexus Mods :: Stardew Valley

Older Sebastian is an NPC expansion that matures Sebastian and gives him a new backstory. In his 30s now, he is Robin's younger brother, Maru's uncle and Elliott's friend. Enjoy hundreds of new lines

lucid iron
#

public string[] emojiIndices = new string[38]

#

does harmony let you append to array lol

brittle pasture
#

yeah I'm deleting all my misinfo

lucid iron
#

but yea i would just postfix this if u got a c# component already AquaThumbsup

#

its pretty standalone

tidal stone
#

excited to download your mod kantrip!

hallow prism
tribal ore
#

Might go puke now that it's finally out and people can look at it. Omg.

brittle ledge
#

if I do Hasmod |contains= mod1, mod2, that's an or, not an and, correct?

old edge
#

but what are the places the emojis are used? and when I add the code it will work wherever?

lucid iron
#

most other places in the game uses character mugshots instead bolbthinking

old edge
#

ok

whole raptor
tribal ore
whole raptor
#

Random would probably be the easiest, dynamic tokens would be worse

#

And people tend to be very creative with all the tokens SDVpufferthinkblob

lucid iron
#

you have to port the whole cp tokens system to js monS

#

i think for a first draft, maybe just treat any token in a i18n key as wildcard

#

show ppl whats known to exist at least

whole raptor
#

I probably would just make it into a standalone python script, not part of the i18nifier

lucid iron
#

what if its a mod Dokkan

#

i think there is one tho, mod that helps with i18n

whole raptor
#

I never understood those in game i18n editors... feels a bit counterproductive

uncut viper
#

theyre for translators, the ones im thinking of anyway

#

not the mod authors

lucid iron
#

well the idea is just

#

cp is a mod

#

by being a mod you can use its api

rigid musk
#

@tribal ore Congratz on the mod release :D SDVpufferparty

sour sleet
#

How do I make it so that my NPC (part of my shop) blinks?

tribal ore
lucid iron
#

do you want to animate the portrait or the maptile?

sour sleet
#

Yep it's a map patch and her head is in the window of the truck. It looks strange that she's not blinking

#

A maptile

lucid iron
#

you need to have all her frames in a tilesheet, and use tiled to animate them

sour sleet
#

Thanks!

tribal ore
lucid iron
#

traveling cart lady is hardcoded

#

this smol mod has animated chimkins

tribal ore
#

Nice!

lucid iron
#

but yea it would be normal map anim stuff same as waterfall

sour sleet
#

So I wouldn't need to add her in as an NPC?

lucid iron
#

nop

#

unless she already is one i mean, but these chimkins are just maptiles

tribal ore
#

Does hatmouse blink?

#

I can't remember

sour sleet
#

I want her to have a portrait and her head out of the window basically

lucid iron
#

portrait doesnt need npc either

sour sleet
#

That's good news lol

lucid iron
#

u can look at they deserve it too for many examples

sour sleet
#

I checked the wiki and I thought I had to add the portrait in through the Shop Data?

lucid iron
#

yep

#

you Load the portrait first

sour sleet
#

Ahhh

#

Gotcha

#

[Content Patcher] Patch error: Pelican Town Food Truck > Load Portraits/Elm has a FromFile which matches non-existent file 'assets\ElmPortraits'.

#

What does this mean?

#

The file does exist lmao

hallow prism
#

show your folder?

sour sleet
#

Want me to send it or a screenshot?

hallow prism
#

screenshot

#

i think you're missing the extension

lucid iron
#

did you forgor the .png

hallow prism
#

like .png

#

jinx 😄

sour sleet
#

Oh so I need to add it to the json?

#

In the FromFile

hallow prism
#

yes

sour sleet
#

Yep, all good now!

#

The portrait isn't actually appearing when interacting with the shop SDVpufferwaaah

sour sleet
#

thank you SDVpuffersquee

#

I haven't made a shop mod before so this is all new to me

lucid iron
#

First time for everything

sour sleet
#
      "Action": "EditData",
      "Target": "Data/Shops",
      "Entries": {
        "{{ModId}}_FoodTruck": {
          "Owners": [
            {
              "Id": "AnyOrNone",
              "Name": "AnyOrNone",
              "Portrait": "Mods/{{ModId}}/Elm",
              "Dialogues": [
                {
                  "Id": "{{ModId}}_Default",
                  "Dialogue": "I have only the finest quality foods!"
                }
              ]
            }
          ],
``` The portrait isn't appearing still. Is this correct?
hot gale
#

You should be inserting the Portrait to Portraits/Elm

#

then calling to that instead of Mods/{{ModId}}/Elm

#

I believe

#

That is at least how I did it, just got done making 2 shops

sour sleet
#

Will try that, thanks

hallow prism
#

hmm, if it accepts a path it should be able to be anything, so i would verify it's not another issue, but

ornate locust
#

Is there a way to have a NPC scheduled to go to the bookseller when they're in town?

hallow prism
#

i do prefer loading stuff to portrait

hallow prism
hot gale
#

Also afaik Mods/{{ModId}}/Elm the Mods/ is superfulous

#

I think?

hallow prism
#

the only way i see is combo between a mod allowing to use GSQ as cp when, and a mod having a GSQ for when bookseller is visiting

ornate locust
#

Mm, a bit much for a brief visit. Thanks anyway

sour sleet
#

All good now thanks everyone!

hallow prism
#

someone may have a workaround/better suggestion but yeah

#

at the moment i don't really see a better option

hot gale
#

Is there a resource somewhere for modders in relation to cornucopia? Like a list of available fruits etc with like a list of item IDs? lol this may be wishful thinking

hallow prism
#

yes it's named download the mod :p

hot gale
#

lol alright

brittle pasture
#

it has a wiki

hot gale
#

I was sifting through, was curious if there was a popular resource or something

hallow prism
#

wiki is good for a first glance, but it will not have item ids

lucid iron
#

You can download the mod and then patch export

#

That's the easiest way imo

brittle pasture
#

but to know for sure from a modders perspective (ie item ids) recommend download

hallow prism
#

(i do appreciate wiki/mod page to get an idea of what i want to look into, but then downloading the mod and looking at the file is 100% the best solution for detailled stuff)

lucid iron
#

Reason for patch export is just so you get all the tokens resolved

tropic remnant
#

Hi! I'm trying to make a custom event, and it works, loads into the game and triggers correctly. However, once I include a Relationship trigger to the event (the "When": { "Relationship:[name]": "Engaged" } code), no matter where it goes in relation to the event's raw code, it will not load into the game. I have tried checking for it to be "loaded" once I propose, but no dice.

I have made another event and many dialogue edits in this same json and it's worked fine, but this one event isn't loading.

lucid iron
#

Instead of {{ModId}}

hallow prism
#

good point, i don't think cornucopia use this for the item id however

hot gale
#

Looks like they dont have any tokens

lucid iron
#

Other reason is so u get whole data asset

hot gale
#

but sage advice nonetheless

lucid iron
#

Rather than edits in various includes

hot gale
#

aye

tropic remnant
hallow prism
#

when you aren't engaged the event doesn't exist

#

if it doesn't trigger even when engaged and having slept, then you have a problem in your when format

tropic remnant
#

ah perhaps I need to sleep and try the next day

hallow prism
#

however

#

i suggest trying to switch to game state query check instead

#

PLAYER_NPC_RELATIONSHIP <player> <npc> <type>+

#

because :

#
  • it will be easier to test the event (it will always exists)
#
  • it may refresh faster than sleeping
#

game state query can be used directly in the event condition

tropic remnant
#

Ooh, I didn't know that was an option! Thanks for the advice, I'll try this out. SDVpufferthumbsup

hallow prism
#

(format being G THEGAMESTATEQUERY)

#

it is relatively new

#

"Lumisteria.MtVapius_Lake_MariamPatrol/f MariamFortinVMV 750/t 2100 2530/G PLAYER_VISITED_LOCATION Current Lumisteria.MtVapius_ForestCaveLong/c 1":

one example here

#

if you still encounter issue with when stuff in future stuff however check here so you can see if it's a format error

#

but usually for events i strongly prefer them existing all the time rather than having a when on them

tropic remnant
#

That worked perfectly! Thanks so much, it triggers correctly.

#

I'll be sure to keep the game state checks in mind.

shadow osprey
#

Hi, I'm working on a CP mod to make Robin dateable. When I EditData in data/characters to change Robin to "CanBeRomanced": true, she no longer appears in any festivals. Any clue as to what might be going on?

sour sleet
#

I don't know where to start with animating map tiles within Tiled SDVpufferflat

#

Like do I make a new spritesheet for the blinking anim and put it over the top?

hot gale
#

[[modding:maps]]

hot gale
#

Ctrl+F Tile animation

hallow prism
brave fable
#

tile animations are incredibly simple, you just open the tile animation editor tool, pick your frames, and then give them all the same per-frame milliseconds duration of your choice. the first tile will then be marked with a 🎞️ tag in the tileset viewer to show it's animated, and it'll animate wherever it's used ingame (and in tiled if you have animations enabled)

tribal ore
#

Like Lumina said, though, you should post the whole edit so we can help you debug. Otherwise, we're just guessing

lucid iron
#

Then you have the button blueberry mentioned and go forward from there

shadow osprey
#

I've commented out all other code except this:
{
"LogName": "Update & disposition & spawn location when dateable",
"Action": "EditData",
"Target": "Data/Characters",
"Entries": {
"Robin": {
"CanBeRomanced": true,
/"Gender": "Female",
"LoveInterest": "",
"Home": [
{
"Id": "Default",
"Condition": null,
"Location": "ScienceHouse",
"Tile": {
"X": 3,
"Y": 4
},
"Direction": "right"
}
]
/
}
}

sour sleet
lucid iron
#

Yeah animations all need to be 1 tilesheet afaik

sour sleet
#

Awesome

tribal ore
latent mauve
lucid iron
#

This ain't related to technical aspect of mod but what r u gonna do about the rest of the family

latent mauve
#

(I prefer the Fields method, but then, I am usually editing multiple characters at once)

shadow osprey
tribal ore
latent mauve
shadow osprey
latent mauve
#

Yep, either method will work. My example is more for those editing multiple Characters at once. 🙂

shadow osprey
sour sleet
#

Oh that was easier than i thought

hot gale
#

Where can I find documentation on how to use When properly?

#

I want certain items in a shop only available on certain days

brittle pasture
#
  1. When is a CP thing
  2. You don't need it, use the Condition field
uncut viper
#

its in the content patcher documentation

#

but yes as selph says, dont use it for shop items

brittle pasture
hot gale
#

Alrighty, thanks!

brave fable
#

When should only be used if there's no Condition field or equivalents in the data model you're editing, since it's essentially hiding data from the game rather than conditionally using that data

#

you'll likely still get plenty of use from it depending on your mod, but ingame methods are always preferable

#

it's also very helpful for compatibility patches between mods, of course

rancid musk
# rancid musk This... will probably be useful.

Decided to change this. Now, it's an API for other mods to add items if they want. GMCM example here: cs var BetterGameMenu = this.Helper.ModRegistry.GetApi<IBetterGameMenuApi>("leclair.bettergamemenu"); BetterGameMenu?.OnTabContextMenu(evt => { if (evt.Tab == nameof(BetterGameMenuTabs.Options)) evt.Entries.Add(evt.CreateEntry(I18n.Button_ModOptions(), () => this.OpenListMenuNew(), null)); });

lucid iron
#

how do you go to the vanilla settings bolbthinking

rancid musk
#

You just... click the tab normally?

lucid iron
#

oh context menu means right click?

rancid musk
#

This is a right-click menu, yes.

lucid iron
#

i see word context too much and its lost all meaning kyuuchan_run

rancid musk
#

If only you had some sort of... context for the word. SDVpuffercool

uncut viper
#

feels like there should be some indicator that you can even do that, bc i also thought it was a normal click thing bc there was nothing to indicate a context menu as far as i could tell

lucid iron
#

since i am passing in this enum(?) BetterGameMenuTabs.Options it means vanilla tabs only right

brave fable
#

translation for mod authors: the menu appears on IsActionButton instead of IsUseToolButton 😌

rancid musk
#

Nah, the enum is only there to give you a standardized source of key strings.

uncut viper
brave fable
#

i'll admit writing that message raised a lot of self-doubt

rancid musk
#

I'll have you know I never remember which is which the first time.

lucid iron
#

i like it though, psure i accumulated 2hr of time in life wasted from going to options and scrolling all the way down to gmcm

brave fable
#

yeah i love toolbar icons for just adding a button for that. i stuck one in loc as well for its own options

tiny zealot
lucid iron
#

i was like "pssh how often could i possibly need the config menu"

#

but yes toolbar icons wew

rancid musk
#

Yeah, toolbar icons are nice. I just figured this'd be a neat little place to tuck away some things.

sour sleet
#

My animation shows correctly within Tiled but in game, the frames aren't lasting the correct amount of time SDVpufferwaaah

brave fable
#

did you give them all the same duration?

sour sleet
#

No I didn't

brave fable
#

there's your problem SDVpufferthumbsup the game doesn't care about the individual duration of frames, you just have to duplicate them in the animation to get each frame to last longer

sour sleet
#

Ah gotcha, thanks!

sour sleet
#

Is there a mail key that can be used to send mail to a player not on a specific day, but when they first load the mod on a save?

#

<season>_<day of month>_<year> This, but when the mod is first "activated"

tiny zealot
#

i don't think there's a key, but you should be able to use an unconditional trigger action

sour sleet
#

Where does that fit in to the Mail Data edit?

tiny zealot
#

say you have a Data/mail edit that adds e.g.
"{{ModId}}_FirstLoadMail": "letter contents here"

#

then you also add a trigger action that runs on day start and sends that mail ({{ModId}}_FirstLoadMail) to the mailbox

#

with no conditions, the trigger action will always run the first day that the mod is installed, and it won't run again because trigger actions only run once by default

sour sleet
#

That makes sense, thanks SDVpufferthumbsup Should I use the AddMail trigger action?

tiny zealot
brittle pasture
#

to improve compatibility with other mods

#

since if for example one mod adds a mail for "Fall_6_1" then no other mods can add mails for "Fall_6_1"

sour sleet
#

I'm going to use Trigger Actions for this mod - what do you mean by your first sentence?

#

Ohh I get it

reef kiln
brittle pasture
#

Yes you can do date based trigger actions

#

and you can add as many as you want

#

date based mails named after that format is not recommended because you can only ever add one

sour sleet
#

Ok, so the mail isn't being sent to the player. Does this look alright? ```{
"Action": "EditData",
"Target": "Data/TriggerActions",
"Entries": {
"{{ModId}}_FirstLoadMail": {
"Id": "{{ModId}}_FirstLoadMail",
"Trigger": "DayStarted",
"Actions": [
"AddMail Current {{ModId}}_FirstLoadMail"
]
}
}
},

reef kiln
brittle pasture
#

try going to bed

calm nebula
ivory plume
#

(If you want it to appear in the mailbox immediately, try AddMail Current {{ModId}}_FirstLoadMail Now instead.)

sour sleet
#

That's what I wanted, thanks SDVpuffersquee

undone hawk
#

Hey y'all! Fun question for ya: my UI for Fishing will have small icons next to fish that you currently can't catch. All of the icons are pulled from Cursors. If it's not the right time, a clock. If it's not the right weather, an umbrella. What symbol should I use to indicate it's out of season? (For context, location isn't needed since the HUD will ONLY show fishes catchable in the area)

#

Obvs this is extremely subjective, I'm just curious if smth would immediately spring out to y'all as a player for "Oh it's definitely the season"

#

Heh, "spring" out

lavish briar
#

I say a leaf, since a lot of people associate seasons with their color

#

it's also easy to read the shape and draw

undone hawk
#

Ohhh!

sour sleet
#

A tree

undone hawk
#

Tree is also good

#

I'd also just use these four default images for each season, but a buncha fish have multiple seasons they can be caught in

undone hawk
#

Hmmm I have both leaves AND trees

#

Which one would stick out to you the most as "Ah, seasonal"

rigid musk
#

the last one since it looks the most like a standard leaf sitting there

viral ferry
#

what about something like this?

viral ferry
reef kiln
#

There is a mod framework for that.

undone hawk
#

It can't be a specific season since some fish have multiple

#

I appreciate it tho >:3

#

If I just wanted to use seasonal indicators I'd use these:

reef kiln
#

Trying to find it now. One sec

viral ferry
#

without doing flat out seasonal indicators, I don't see how you could possibly show multiple seasons

#

short of doing this type of thing

viral ferry
#

nope maybe not

brittle pasture
#

SpaceCore can do it

undone hawk
reef kiln
#

👆 that's even better as it is a very common dependency.

viral ferry
#

oh

undone hawk
#

Think a minimalistic hud element

viral ferry
#

in that case,

undone hawk
# viral ferry in that case,

I was gonna go with the cross over the leaf, since it also has to have an element for time and weather as well (a clock and umbrella respectively)

viral ferry
#

...so it's -not- just "in season" then

#

technically speaking

#

..hm

undone hawk
viral ferry
#

I don't think I saw that question specifically, but fair enough

#

there's what.. sunny/rainy, then morning/day/night?

ocean sailBOT
#

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

viral ferry
#

oh damn, wind is a factor too for one of them

hot gale
#

What am I missing here? Trying to load a change I made in my map - have the tilesheet installed as a mod but its not detecting it?

viral ferry
#

...Halibut can't be caught mid day, but morning and night.. how do you plan to indicate that with a single icon for time?

undone hawk
#

It's relative. If it currently can't be caught due to time, clock. Otherwise the icon doesn't show

viral ferry
#

..so you're just indicating whether it CAN'T be caught at the currently checked time?

undone hawk
#

Correct!

viral ferry
#

....why...?

undone hawk
#

...

#

I do specify why in the original post :C

viral ferry
#

....you're showing what can't be caught, not what can be.. I don't understand?

undone hawk
#

I'm doing both

viral ferry
#

but you said if the times are right, no icons at all

undone hawk
#

In which case it will be in a section of the UI of currently catchable fish

#

Let me be more specific since I believe I've confused you

viral ferry
#

see, I didn't realize there were TWO separate UI sections

#

the original post also didn't mention that

lucid iron
#

lulu i think you really just gotta try doing it Dokkan

undone hawk
#

I'm gonna!

lucid iron
#

see how you feel about various approaches

undone hawk
#

I just didn't wanna leave someone confused

viral ferry
#

if there's two sides, a catchable, and not catchable-and-why, this makes more sense

undone hawk
#

Yus

lucid iron
#

i sometimes record myself using UI and then ask other ppl what they think im achieving

undone hawk
#

Will look like this

lucid iron
#

if they get it right with zero context then it's good

viral ferry
#

so.. you hover over something and it shows you the details?

undone hawk
#

Nope, it's a HUD element

#

Okay I'ma stop now I believe I'm not helping the confusion XD

hot gale
ocean sailBOT
#

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

viral ferry
#

so where do the icons show up if this is your example?

undone hawk
#

I appreciate ur help DarkSlayer but I gotta get back to work! I'ma follow chu's advice and try a bunch of stuff :3

viral ferry
#

...fair enough.. sorry?

#

maybe it has to do with the second error being FileNotFoundException: Could not find file 'C:\Games\Stardew Valley (Base)\Content\Maps\MeadSaloon.xnb'.

undone hawk
#

Ur fine! I wasn't explaining it well enough and got caught in a lot of answering specific questions rather than what I should've done and just explained the entire concept :3

lucid iron
#
Can't apply patch (CP) Expanded Artisanal Goods > Load Meadshop > Maps/Data/meadshop.json > Load Mead Shop Interior to Maps/MeadSaloon:
StardewModdingAPI.Framework.Exceptions.SContentLoadException: (CP) Expanded Artisanal Goods loaded map 'Maps/MeadSaloon.tmx' with invalid tilesheet path 'hime_kitchenclutter.png'. The tilesheet couldn't be found relative to either the map file or the game's content folder.
hot gale
#

Right, but I have the mod for the tilesheet installed

#

Which is why im confused

#

When the others work fine

viral ferry
#

but is the map properly pointing to it? does your mod use it as a dependency?

lucid iron
#

i think it might be hxw tilesheet problem actually

hot gale
#

Yeah its a dependancy in my manifest

lucid iron
#

@orchid acorn is hime_kitchenclutter loaded in hxm tilesheet?

hot gale
#

Its the last in my list of loading tilesheets so I know it works through the others fine

viral ferry
#

is kitchen clutter new in that mod? cause I'm not up to date, but I don't see that file

lucid iron
#

yea it is new

viral ferry
#

I see, then I can't help

lucid iron
#

i dont see a load for it in the tilesheet mod, which might be why you cant use it PecoWant

hot gale
#

Ah, welp

viral ferry
#

lol

#

did they forget that?

hot gale
#

Only used a single cabinet not the end of the world

#

Just glad it isnt an issue on my end

lucid iron
#

anyways it is easy fix, just temporarily add a load until hime can check

viral ferry
#

right

hot gale
#

Added a load, we shall see

lucid iron
#

its gotta go to Maps/hime_kitchenclutter

hot gale
#
// Kitchen Clutter
        {
            "Action": "Load",
            "Target": "Maps/hime_kitchenclutter",
            "FromFile": "Assets/{{Coloring}}/hime_kitchenclutter.png"
        },
#

All working now

viral ferry
#

can you make content tweaker check boxes disable when you enable a different one?

lucid iron
#

tweaker yggy

viral ferry
#

sorry, minecraft habit

lucid iron
#

if you mean content patcher config schema, no

viral ferry
#

can you add categories/ change boldness? I know some mod configs had that, but I think those all had C# in them

lucid iron
#

you can add section headers

#

cant add pages tho

viral ferry
#

apparently I am blind

#

omfg... I saw the // in some of the content json files, but I assumed those were somehow comments, which I have apparently learned json isn't supposed to have comments... so this makes sense

lucid iron
#

they are comments

#

!vscjsonc

ocean sailBOT
#
How to make VSCode not scream at json comments

In Visual Studio Code, go to File -> Preferences -> Settings, then search for "associations", and in the "Associations" setting, click the Add Item button to add an item with key *.json and value jsonc (see image).
If you are making a content pack for Content Patcher, you should consider using its json schema so that VSCode can tell you if your patches are valid, you simply have to add

"$schema": "https://smapi.io/schemas/content-patcher.json"

at the start of your content.json file.

lucid iron
#

smapi uses the chaotic neutral json parser known as newtonsoft.json which let you do many non standard things

viral ferry
#

fair enough

#

"When" entries need all of the conditions to match right?

#

I know this isn't the spot for it, but it'd be neat if there was a mod that added in some sort of... interactable in shops that you could use at a cost, which would teleport an NPC to the shop, as if you are "calling them for urgent business"

vernal crest
#

Yes, all the conditions need to match

viral ferry
#

lol he found a buuuug

hot gale
#

yay :D

#

Thanks for your sheets, they are amazing!

orchid acorn
viral ferry
#

I once tried to edit the frontier farm map to make the fences dismantlable... couldn't even begin to figure out how to set up my tiled for that.. LOL

urban patrol
#

is TileSheets/animations able to be patched, and if so, how? i'd like to add an object on the ground in the middle of an event and it seems like temporarySprite is the way to do that, but it says it comes from TileSheets/animations

viral ferry
#

patchmode: "overlay" maybe?

vernal crest
uncut viper
#

is there a reason you cant use the temporaryAnimatedSprite command instead? /gen

viral ferry
#

oh wait, there might be more to that question

urban patrol
urban patrol
urban patrol
viral ferry
#

so am I

#

my first mod was like a week ago

vernal crest
#

temporaryAnimatedSprite is like the 1.6-added "here modders, this command is to let you add sprites too" command imo

uncut viper
#

(but just fyi, if its in the Content folder, it can be patched, with only a few exceptions)

viral ferry
#

so far, I managed to make Hay sell for 2 dollars, and make a steel tool retexture, and make Crop Calendar compatible with DaisyNiko's Earthy Interface

viral ferry
#

supoer sick of all of this super valuable furniture though, with no way to sell it..

#

for some reason wall baskets say they sell for 10k

faint ingot
#

Does anyone know the name of the sound it makes in the movie theater when the film is loading and about to play? I tried slowReel and fastReel, but I think these are fishing sounds, and more importantly they seem to loop forever.

lucid iron
#

movieScreenAmbience

#

maybe

faint ingot
#

that's listed as music though, not a sound? I'll try it anyway to see thank you for the suggestion

lucid iron
#

there is log sound debug command

ivory plume
#

(If you enter debug logSounds in the SMAPI console, it'll log the name of each sound as it plays.)

faint ingot
#

hmmm that's weird I really thought there was a 'film reel' sound. Either it doesn't play every time or I misremembered

sour sleet
#

Do you mean the ticket machine sound? That’s pretty similar

lucid iron
#

maybe it is part of the ambience then?

faint ingot
ivory plume
#

(You can enter debug playSound ticket_machine_whir in the console to try it.)

faint ingot
#

Thanks, it was more that I was trying to replicate the movie theater experience in a special event, now that I realize I was wrong about the sound playing in the theater I will probably just avoid it. Interesting that it uses the "doorClose" sound though which seems to be represent the cap popping off the projector.

#

but I learned two new commands today for working with sound so that is a great help : )

vernal crest
sour sleet
#

Lol same. Didn’t know you could just play the sounds whenever SDVpufferwow

faint ingot
# lucid iron maybe it is part of the ambience then?

After some more testing actually I think you're totally right. The ambience has like cocktail party background chatter and then the film reel sound plays over and over again which I thought was something else. So I guess I just need to use stopMusic at the right time? I'm not sure why it didn't play though when I tested watching movies maybe it does only play sometimes.

#

OK now it all makes sense. I did have that playSound fastReel in there still which is why it sounded like the film reel sound never ended. if I just use the ambience the reel sound fades out on its own

rancid musk
#

Well, I got UI Info Suite 2's page working. It was actually easier than I thought at first glance.

#

I needed to remember that I can just ignore 99% of the menu code because it's all trying to hack the existing game menu into having another tab and that's effortless now.

regal knot
#

Hi there, I'm a beginner in making mods and I'm studying this decompiled NonDestructiveNPCs mod. Is ModEntry.cs the only functional file in this whole decompiled folder? The other files only look like some notes, and this ModEntry.cs seems to be the only one that interacts with the game itself

ivory plume
#

Non-Destructive NPCs has public source code, which will be a bit easier to read since it won't have the decompiler stuff. (You can find source code by going to smapi.io/mods, clicking "show advanced info", and looking in the "code" column.)

ModEntry.cs is just a conventional filename, but SMAPI will look for a subclass of Mod to load the mod. Any other code is ignored by SMAPI, so only what's called from that Mod implementation matters.

regal knot
ivory plume
#

Yep, that seems to be the whole mod code in this case.

Harmony is a third-party library that's bundled with SMAPI which lets you patch other code (i.e. run your own code before, after, within, or instead of an existing method). In this case it replaces that game method with its own implementation (by prefixing the method and then returning false, which means not to run the original method).

regal knot
#

Thank you : ) Do you know if there is a documentation for Stardew Valley modding? Like, a complete list for usable functions to interact with the original game? I found some in the wiki page, but I guess it's only partial

#

Or do people just read the decompiled stardewvalley.ddl

ivory plume
#

We have some docs at Modding:Index#Creating mods (note the 'specific topics' subsection), but mostly you need to look at the decompiled code to see what it's doing. The game doesn't really have an API, you can interact with the entire game code.

rancid musk
#

Whew. I am down to a single open-source mod I can send a PR to, then I just... need to wait a bit for some PRs to go live, and get some more eyes on Better Game Menu because there's a 100% chance I've missed mods. But at least my recent solutions list in VS is fun now.

lucid iron
#

stardewdelegatehelper 👀

rancid musk
#

My wip code generator for using attributes to mark console commands, trigger action methods, game state queries, and event handlers. It basically needs a full rewrite right now to fix a performance issue

ornate locust
#

So if patch export says my NPC's schedule isn't even present, what could the problem be? I've looked at other mod NPC schedules and it really doesn't look any different.

latent mauve
#

if you've got a log, include it and see if there's an error parsing the schedule JSON

ornate locust
ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 14 C# mods and 5 content packs.

latent mauve
#

Loading Characters/schedules/MV.Municipal_SheriffBill

#

So, try again with the value above as the proper NPC ID 🙂

ornate locust
#

I had actually changed that about three times trying to make it work, but I can try it again

#

maybe I had a typo

latent mauve
#

Gotta include the parsed ModId value in your patch export command if it's in your NPC's internal name (and it should be, as per best practices).

ornate locust
#

Yeah, I did that at one point. Sorry, I guess this was a later attempt's log. I'll try it again and see how it goes

latent mauve
#

You also capitalized the i in Bill for the patch export command for this log, which may have also caused a mismatch

vernal crest
#

Capitalisation shouldn't matter for this particular command.

ornate locust
ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 14 C# mods and 5 content packs.

ornate locust
#

nope

vernal crest
#

What does your patch summary show about the schedule load patch?

ornate locust
#

let's see

vernal crest
#

Is your schedule load/edit in an include?

#

Since you're not getting an error and the schedule isn't there, I'm wondering if you've forgotten the include code block.

ornate locust
#

I have the include

vernal crest
#

You should have something like this in your log if the schedule was there 16:45:00 TRACE SMAPI Content Patcher loaded asset 'Characters/schedules/Abagaianye.HiriaNPC_Hiria' (for the 'Hiria Williams - Custom NPC' content pack).

ornate locust
ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 14 C# mods and 5 content packs.

vernal crest
#

I might just be missing it, but where is your actual Load of his schedule? I can only see EditData patches.

ornate locust
#

Oh god I bet that's it, I haven't updated my loadables

#

That's a relief if it's true, let's see

#

THERE IT IS

vernal crest
#

Also this is just a suggestion, but LogName is generally more useful if the names are unique to each patch rather than many patches sharing the same one.

ornate locust
#

Updated everything but my loadables. And yeah, that's probably a good idea. Wasn't really thinking much about those while I was focused on other things

#

that's a nice low-stress change to make after the fight with this schedule

granite bluff
#

heyy, whats the fastest way to unlock the wizard tower to test smthn?

native saddle
#

@hard fern I love the new botanical greenhouse for PIF but thought I'd let you know it needs a simple patch to actually flag the map as a greenhouse space

vernal crest
# granite bluff heyy, whats the fastest way to unlock the wizard tower to test smthn?

If you just need to get into the tower, warp straight in with debug warp wizardhouse. If you actually need it unlocked, you could try giving yourself the mail with debug action addmail current wizardJunimoNote now.

If that doesn't work, change the date to spring 4, sleep, head to town to get the CC event, read the scroll, then sleep. That should give you the letter.

native saddle
granite bluff
#

thank youuu SDVpufferthumbsup

hard fern
#

It should work if i slap the property onto the map in tiled

native saddle
urban patrol
#

hey guys! anyone know why setting the map property Outdoors to false in Tilex wouldn’t be working?

#

i’m still getting leaves falling dogs barking etc

#

my base map was Cave which i incorrectly assumed would count as indoors and i’d rather not remake the whole thing with an indoor map

hard fern
#

Right welp i think i fixed it 😅 i just loaded my game up and planted one singular pumpkin seed in spring

vernal crest
urban patrol
vernal crest
#

All the ones with the superscript 2 - - are like that.

urban patrol
#

ohhhh okay

#

so a map is indoors unless it has any of those properties?

hard fern
#

SDVpufferflat i wish people sent a log ahead of time...

vernal crest
teal bridge
#

"Printed in vanilla" is an interesting turn of phrase, must be machine translation.

native saddle
hard fern
#

i also love when i ask for a log and the user just does not respond

#

i also wonder if they ended up installing both earthy interiors + elegant interiors and the recolors ate each other

#

or, yeah, not installed the recolors at all

native saddle
#

I've looked through sooo many mods at this point trying to build my list. Very common to see people in the comments that just don't understand they need additional mods 😆

hard fern
#

Can you use day/night tiles on anything, or only the vanilla ones?

devout otter
#

Anything, as long as both are on the same tilesheet.

marble verge
#

As far as functionality is concerned, does it matter if I assign a Big Craftable a different category? Category -9 does not display a category name in the tooltip, and I'd like for my Big Craftables to have that - but I don't want to break them.

blissful panther
# marble verge As far as functionality is concerned, does it matter if I assign a Big Craftable...

I suspect the game will just override that even if you tried, given this in the Object constructor:

if (Game1.bigCraftableData.TryGetValue(itemId, out var data))
{
    this.name = data.Name ?? ItemRegistry.GetDataOrErrorItem(base.QualifiedItemId).InternalName;
    this.price.Value = data.Price;
    this.type.Value = "Crafting";
    base.Category = -9;
    this.setOutdoors.Value = data.CanBePlacedOutdoors;
    this.setIndoors.Value = data.CanBePlacedIndoors;
    this.fragility.Value = data.Fragility;
    this.isLamp.Value = data.IsLamp;
}
marble verge
#

Ah... Drat.

#

It's odd that I can use SpaceCore to override category tooltips for Objects that typically don't have one, but not Big Craftables.

lucid basalt
#

wondering if anyone's ran into the same issue with xnbcli. It's working with some files like the cooking and crafting recipes but not the objects file? If I'm being a complete simpleton please be nice!

hard fern
#

I don't remember what the other one is called, but it was xnbhack or something (?) in any case it's on the wiki page

gentle rose
#

iirc xnbcli is repacking, which I definitely wouldn't do