#making-mods-general

1 messages · Page 417 of 1

obtuse wigeon
#

You can make new paths, that's what I did

gentle rose
#

(my wip portrait framework will have that option, not sure about existing ones)

hard fern
#

most people just choose not to bc its easier lol

violet valley
#

Anyone know how to make monsters spawn on a map? Can't rlly find any info on this

obtuse wigeon
#

it's very easy

brittle ledge
#

They can replace, but in 1.6 you can add new paths and mod users prefer that kyuuchan_nod2

gritty sandal
#

The amount of times I heard... Make paths is very easy

brittle ledge
gritty sandal
#

While I struggled... To make a single path work is amazing

violet valley
lucid iron
#

There's a learning curve of understanding how editing stuff with content patcher work

hard fern
lucid iron
#

After that if the thing is exposed to asset, you can add new ones

gaunt orbit
#

I think spacecore can

gentle rose
#

yes, please look into other options for now because I have no idea how long this will take to release haha

#

I’m not working very quickly right now

hard fern
#

😔 64x64 is so teeny... i wanna add details...

lucid iron
#

Need more pixel per pixel

#

Forsy I recommend that you still do 64x64 portraits tho

hard fern
#

yeah... i plan on redoing them anyways bc the expressions are Not It

#

and until i finish the bigger ones i'll use the default sized

brittle ledge
#

please do not do only oversized portraits, learn from Baldur's Village

#

think of all the tech support folks that will have to field the portraiture questions SBVLmaoDog

hard fern
#

😔 it's just that i stuggle so much with the small ones

gentle rose
tender agate
#

why only portraits. justice and equality for sprites and everything else!

lucid iron
#

That's scale up 2

hard fern
#

we also have sprites in detail dont we

lucid iron
brittle ledge
#

@lucid mulch What's the issue with RSV's map and your optimizer? I can pass the info along and see about getting it fixed

obtuse wigeon
tender agate
#

is the author for rsv active?

brittle ledge
#

Somewhat, he's been med school'd for a while

obtuse wigeon
#

oh sorry didnt see SombodyUnown already said

hot gale
#

Man this mod is real frustrating to get everything working how I want.. but man if it isn't also fun as hell to somewhat play while testing

tender agate
#

cus I'm like waiting for them to accept that PR for better game menu which I've heard is the only other valid optimization mod. but with a couple compat issues rn

brittle ledge
#

And I see Sinz already posted it over in RSV, so uh sorry for ping SBVLmaoDog

lucid iron
tender agate
#

no but yes

#

bullying may be bad but...

lucid iron
#

Iirc the bgm incompat with rsv isn't that bad tho

#

Is just the map problem right

calm nebula
#

Sheku remains unbullyable yeah

#

@final arch 🙁

#

I've tried.

#

Many times

cold marsh
#

Any idea why this only gives me Frog Eggs on random days when a Chance of 1 should (I think?) be giving me one every day?

    "RequiredPopulation": 0,
    "Chance": 1.0,
    "ItemID": "FrogEgg",
    "MinStack": 1,
    "MaxStack": 1,
},```
hallow prism
#

i mean, depends of what "this" is

#

a fish?

cold marsh
#

Yes, of course

hallow prism
#

oh of course

#

silly me

lucid iron
#

A fish pond has to do the population gate checks

hallow prism
#

When a fish pond is ready to produce output (based on a hardcoded (15 + 8 * population of pond)% chance), it checks each entry in the list and takes the first one that matches. If no entry matches, no output is produced.

#

well silly me that can't guess what an out of context thing is can read the wiki at least

cold marsh
#

Calm down, lol

lucid iron
#

So do u have 10 fish

cold marsh
#

The wiki you love so much also says "as a value between 0 (never) and 1 (always)", which would lead someone to believe that 1 = always

hallow prism
#

of course, master of diplomaty, i will calm down 🙂

#

no there is a note for this exact case

#

This is applied after the base chance of producing any item above. Default 1.

soft lance
#

I'm very new to fish ponds

#

I'm unsure exactly how they work, but when I do this, my sea turtle never asks for stuff oddly

hallow prism
#

so hmm

#

i don't remember if the entry name must match the id

#

i would say that it should

#

once you did that, i would :

#

patch export Data/FishPondData and verify everything is listed properly

#

!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.
hallow prism
#

then empty and clear your fish pond and start fresh

#

(sometimes in my experience it didn't take new rules into account for me without doing that)

inner harbor
#

Does anyone here remember Fern River? I just realized I have their files shared in my Google Drive

#

They had some nice portraits.

hallow prism
#

the name does ring a bell but i don't believe i saw art from it

golden spire
#

wasn't that a supernatural-related mod? I tend to not look into that stuff much

inner harbor
#

Well, nice portrait, I don't seem to have other ones.

golden spire
#

not my jam

inner harbor
#

Yeh, it never got off the ground.

#

I think it was intended to be a village of sort of fairy-tale type people

brittle ledge
#

It's still around, Bonster picked it up again recently.

obtuse wigeon
#

(If I want to request viewing access to the GitHub decomp of the game, do I message bouncer or is it better to ask here or another place?)

inner harbor
#

Yeh, I just saw you were part of it Tiakall.

inner harbor
#

That'll be cool if it comes to fruition after all this time

obtuse wigeon
uncut viper
#

i think you actually ask Pathos

lucid iron
#

Fern river is that mod that had a glowing birb right

#

Iirc it has a really early alpha somewhere

obtuse wigeon
#

okay, I shall ask when I catch Pathos online, it's not important or needed rn anyway so it can easily wait, thank you!

lucid iron
#

You need a gh account too

#

To accept the repo invite

obtuse wigeon
#

I do Indeed have a github acc, been going back an actually making the repos decent which takes so long!

inner harbor
lucid iron
#

I was gonna make some tiny C# to make a birb glow in it (well i made it already but idk maybe i should redo it)

obtuse wigeon
#

Wwww I'm very intrested in this, partly bc of the setting, but mostly because of the glow birb

lucid iron
#

hm why cant i patch export something i load to GameContent NotteThink

hot gale
#

Any tools out there to properly convert a wav file to xnb?

obtuse wigeon
#

I think theres a web tool? bare with I'll try find it again

hot gale
#

Ooooo ty

obtuse wigeon
#

I don't know if theres any specific formatting needed for audio but I know text and images work with it

hot gale
#

hmm yeah dont think that works

lucid iron
#

why do u need wav as xnb

uncut viper
#

audio files dont go to xnb

hot gale
#

I tried loading as .wav and .ogg to no avail

lucid iron
#

u need the Data/AudioChanges asset

brittle pasture
#

x/y problem strikes again

lucid iron
#

it's special™

uncut viper
#

this isnt even X/Y problem this is literally just not a thing you can do

lucid iron
uncut viper
#

the game audio is stored in wavebank and soundbank files which are .xgs and .xwb

brittle pasture
#

I think it counts if Y is impossible but I digress SDVpufferrad

obtuse wigeon
#

X/Y problems count as 90% of my problems because I seem to never learn

uncut viper
#

i think for something to be an x/y problem the answerers have to be deliberately ignoring the askers actual desires in order to suggest an alternative

gentle rose
#

that's not my understanding of what an xy problem is SDVpufferthinkblob

uncut viper
#

is the X/Y problem not "how do i do X?" "why are you doing X? everyone does Y"

#

thats always how ive seen people refer to X and Y

tender bloom
#

I thought an XY problem was like “how do I replace the handle on a compressed air tank?” And the responses being all like “holy shit wait back up why is that even the question what is the real problem here?”

brittle pasture
#

my understanding is "I want to do X, but I think Y is the solution, so I'll ask about Y instead of X"

gentle rose
#

no, it's "how do I do y?"

"wait, why are you trying to do y?"

"because I want to do x and I figured I could do it by doing y"

uncut viper
#

i see we are evenly split on what we thought that problem was here

tender bloom
#

Yeah I guess more like iro and Selph

#

Maybe I was thinking of a specific sub flavor

hot gale
#

Glad I could spark such an enlightened conversation

gentle rose
#

I think yours is just a good example elizabeth

lucid iron
#

i intentionally try to preempt the x/y problem actually

#

that is why i always go "what is it that you want to achieve" and such

uncut viper
#

isnt that. literally just the X/Y problem as iro, elizabeth, and selph described it

lucid iron
#

yep

urban patrol
uncut viper
#

how is that preempting it

lucid iron
uncut viper
#

thats not preempting thats making it happen SDVpuffersquee

lucid iron
#

words hard LilyDerp

#

but the xy problem already happened in my case

lucid iron
urban patrol
#

good question: "how do i play a sound when doing a warp?"
bad question: "why isn't [framework not meant to do this] not working?"

crude plank
uncut viper
#

that mod wasnt my idea and i dont plan on usin it

gentle rose
#

x-y problem in a nutshell:

"how do I make a room 180°C"
"????"
"I want to make a cake"
"oven."

lucid iron
#

man i forgot why i wanted to use GameContent

uncut viper
#

chu doesnt even remember their own Y

lucid iron
#

and why it no work for patch export

#

my brain is full of Z

#

💤

uncut viper
#

why are you trying to do Z?

lucid iron
gentle rose
#

trying to cosplay as the duke

uncut viper
#

are you sure the actual intent is not to regain energy here

crude plank
uncut viper
lucid iron
#

it's my hope that the Z recovers a full bar of stam

gentle rose
uncut viper
#

dont do that then, you want an energy tonic

lucid iron
#

urite where can i buy some

obtuse wigeon
#

shop

uncut viper
#

your nearest homeopathy aisle

obtuse wigeon
#

of verying veriaties

lucid iron
#

it actually took me until 2024 to learn that

gentle rose
#

hospital

lucid iron
#

the clinic sells things...

obtuse wigeon
#

what?..

uncut viper
#

i dont need energy tonics because i have cheese

obtuse wigeon
#

Oh you mean in Stardew

patent lanceBOT
obtuse wigeon
#

not irl

uncut viper
#

(i also thought chu meant in real life for a moment and was very "...?")

gentle rose
#

exactly. my farmer is like 50% berries and 50% cheese

lucid iron
#

irl hospitals sell thing tho

gentle rose
#

teddy bears

uncut viper
#

thats why i was so confused how it took you so long to figure that out

obtuse wigeon
#

terrible food

lucid iron
#

smol chu had a lot of iv drips and parents always bought me snacc

obtuse wigeon
#

hospitals can also sell the distrust of medical facilities

uncut viper
#

another smol chu memory for the pile

lucid iron
#

npc concept all their events are tiny incidental anecdote

#

eventually u meet the ppl mentioned

gentle rose
#

adding this to my list of NPC challenges

obtuse wigeon
#

I just had an event happen in game with that, it was quite nice

lucid iron
#

i wonder if anyone is actually interested in adding themes for lookup anything blobcatgooglyblep

#

my usecase was just i wanted more looks and to make it fit more with ui recolors

ornate trellis
#

i sure would make it OURple

lucid iron
#

well it'd be urple by default

#

as long as u did the menutiles

crude plank
#

i want that

lucid iron
#

new theme would be like

#

a brand new 60x60 texture box just for LA theme tho, used nowhere else kyuuchan_run

obtuse wigeon
#

That would be a bit annoying imo, It would be nice to have it as a config option

lucid iron
#

It is a config option

#

Adding the content puts another choice basically

obtuse wigeon
#

-# ignore that message a dropped something on my keyboard

#

Oh cool that's good to know!

#

Might incorperate one into my UI darkener

lucid iron
#

That's gonna be hard cus I dont feel like doing the fonts rn

obtuse wigeon
#

does spacecore's scaling feature also work with fonts too?

#

actually better question, does spacecore's sacling feature work on any asset?

lucid iron
#

Wouldn't you have to target each individual glyph that seems horrible

lucid mulch
obtuse wigeon
lucid iron
#

Just use font settings

obtuse wigeon
#

(Why oh Why CA did you choose to use png like fonts and not type fonts)

#

I do, I just thought it might be a fun little adition to my recolour

lucid mulch
#

He used real fonts for not+english but wanted the cute spritey font for english

gentle rose
#

also I think it's only one of the fonts that's a sprite font? smallFont and "tinyFont" are normal iirc

#

and dialogueFont

#

(idk what tinyFont is meant to be tbh, I tried it and it was strange)

uncut viper
#

its for like stack numbers innit?

#

or is it the numbers in the toolbar hotkey spaces

gaunt orbit
gentle rose
#

is it? it didn't even look like a pixel font to me

inner harbor
#

You can't give a specific secret note in an event or dialogue, can you?

lucid iron
#

It only has numbers

obtuse wigeon
#

ahhh I didn't think of vector rasterization, good point

lucid iron
#

If you try not number it gets confused

gentle rose
#

guess which one is tiny font

gentle rose
lucid iron
#

No bulli

gentle rose
#

no wha?

lucid iron
#

Tiny font trying it's best Dokkan

gentle rose
#

got replaced by ...s

indigo totem
#

I love the magic boat creature

brittle pasture
#

clearly you should implement autoscrolling

indigo totem
#

Brings me so much joy

gentle rose
#

the portraits are by dolphin!

obtuse wigeon
indigo totem
lucid iron
#

Casino Woman...

tame burrow
#

Dolphin bookseller 💜

brittle pasture
#

waow

lucid iron
#

Marqueeee

gentle rose
#

it even has controller support SDVpuffersquee

obtuse wigeon
#

all items added by mods are shown even you patch export data/objects right?

lucid iron
#

You get the state after all changes applied

#

It's possible for me to block a Data/Objects edit behind a When

obtuse wigeon
#

Ahh okay, any way to force all changed to be applied? guessing not (trying to get all items that can be added by mods to export and I don't know the all the specific requirements)

#

wait no that's a null question, I don't need to

uncut viper
#

the answer is no anyway unless you make a custom build of CP that ignores When conditions. and then fix all the errors that causes

obtuse wigeon
#

oof, glad I don't actually need to do that

uncut viper
#

(i suppose you could just harmony patch CP too, but still, errors abound)

obtuse wigeon
#

harmony patching CP sounds like a very dangerous game

uncut viper
#

no different than harmony patching any other mod

#

or harmony patching the game for that matter

lucid mulch
#

Whati s the problem you are trying to solve?

obtuse wigeon
#

just trying to make many many bags for the mod item bags, but I can just add the mod ID and catagories rather than finding the catagories of items that mods add

lucid iron
#

I thought item bags have context tag support now

obtuse wigeon
#

It doesn't look like they have context tag support, at least not that I can find, but they do support catagories and modIDs which is all I need

lucid mulch
#

im assuming "modids" is just prefix based assuming mods use standard conventions

obtuse wigeon
#

I feel like the article I'm reading on the nexus page is outdated due to JsonAssets mentions, but the author also has said they're only fixing it when it breaks due to game updates, so I don't blame them for not updating the article

lucid mulch
#

oh if it was a jsonassets reference then it wont work for 1.6 items

obtuse wigeon
#

the bags do actually work in 1.6 with 1.6 items, reinforcing my guess that it's an outdated article

lucid mulch
#

the modid categorization mechanism I mean

obtuse wigeon
#

Ohhh gotcha

obtuse wigeon
#

bit of an odd question that doesn't provide any use to me, do qualities (silver, gold, iridium) use a 4 bit value? given the values are 0, 1, 2, 4

lucid mulch
#

its stored in a regualr int

#

and no vanilla code really treats it as a flagged enum

obtuse wigeon
#

oh okay, thank you for the explanation

lucid mulch
#

in general its only worth messing with <8bit numbers if you are writing to disk or network

lucid iron
#

3 the lost rarity...

#

There is a weird unused star actually

lucid mulch
#

in memory its just worse performance as cpus really like working on complete words at a time and trying to introspect individual bits is expensive

obtuse wigeon
#

That was my thought process, that it was a bit weird if it did use half a byte, but the game was made by one person originally so it's not a totally unheard of use case

brittle pasture
#

final price = base price * (1 + quality * 0.25)

#

(not actually what you asked but)

brave fable
#

ah yes, the classic minor refactoring commit with 346 files changed. oldest trick in the book

brittle pasture
#

speaking of, blueberry I sent a small PR to LOC, should take only 5 min to review

uncut viper
#

if you balance it out thats a PR with only 84 added lines, super quick check

brave fable
#

ah yeah I was just looking through that

#

I think about 1000 of those are indentation changes you pushed lol

lucid iron
#

no read only merge

#

brrrr

brittle pasture
#

(yeah, my editor runs dotnet format on save and it was, erm, very opinionated 😌)

brave fable
#

I usually tell my git client to ignore whitespace changes for this reason haha

gaunt orbit
#

VS will never get me to give up my tabs

lucid iron
#

i try not to do too much style changes

gaunt orbit
#

Space indentation is evil

lucid iron
#

but i draw line at if ( condition )

brave fable
#

had to stay my hand from correcting all the spaced parentheses in spacecore

#

ill review the PR when I get home if I have time, otherwise sometime next week

#

but also it's not being released until my spacecore changes are merged in some usable capacity, and casey's pretty busy afaik

gentle rose
#

chu I have multiple questions about that emote

#

but I think the most important one is

avocado?

uncut viper
#

you're only allowed one question per day

#

the cat is quite clearly holding an avocado. what is so confusing about it (/lh)

gentle rose
gaunt orbit
#

Is it an avogato

obtuse wigeon
#

I have a question that's not a whether I can but whether I should.
A mod supports adding items to a specific shop automatically (It's hardcoded in C# unfortunatly and the mod author said no new features will occur), but this shop is from a now outdated mod (A 1.4 PJAA mod last updated in 2021), Would adding a custom shop with the same name be an option I should take? (my mod will only be availble for 1.6.15)

I can think of 3 options (But I am open to others)

  1. I add the shop with the same name so that items are added automatically.
  2. I only add the shop if it doesn't exist so that the items are added to the actual shoop or my shop if that isn't present.
    or 3. I don't even begin to make a shop with the same name as the one in the outdated mod
lucid iron
#
  1. write a new mod that does similar thing PecoSmile
#

idk is this item bags again

obtuse wigeon
#

That would've been the 4th option if I had the skills

#

yes it is the bags again

lucid iron
#

i have a silly idea that i'll share later but imo u should just add the item to another shop that makes sense

tender bloom
#

I feel like writing my own C# would be my tactic in that case

#

Enough C# papers over all issues

#

But if they’re normal objects can’t you just add them to shops yourself?

lucid iron
#

is not like u r rehost assets here

#

now the silly idea i have is, use trinket tinker's inventory feature to make bags lol

obtuse wigeon
#

I'm going to have a lot of bags and don't peticularly want to flood one of the vanilla or SVE shops or have them locked behind a decent amount of gameplay

tender bloom
#

Making your own new shop seems reasonable then

#

Making a new shop isn’t particularly hard

obtuse wigeon
lucid iron
#

if u equip them sure MikuBear

#

they work more like chests

tender bloom
lucid iron
#

(again this is very silly idea, but this is a lot closer to what a 1.6 item bags impl might look like)

#

esp the part where it just has a Condition field

obtuse wigeon
lucid iron
#

i also feel it ought to be global inventories

tender bloom
lucid iron
#

u can probably use itemid prefix gsq

#

try it perhaps

tender bloom
#

Otherwise you can make a normal shop and then use C# to replace once it’s added to inventory

#

Or maybe there’s a better workaround; that’s just my first idea

obtuse wigeon
#

Looking at the ITEM_ID_PREFIX GSQ, I'm not sure that's quite what I want? It's likely I don't know how that works though

lucid iron
#

u can add stuff by BoundedBag::TypeId as the id prefix

obtuse wigeon
lucid iron
#
{
  "Id": "(O){{ModId}}_Furniture",
  "ItemId": "ALL_ITEMS (F)",
  "Price": 0,
  "PerItemCondition": "ITEM_CONTEXT_TAG Target {{ModId}}"
},
obtuse wigeon
#

Oh, I didn't know it could do that, okay I shall give that a go them

lucid iron
#

uh shop is vanilla

#

u just add it basically

#

dont need anything besides content patcher

tender bloom
#

The snippets page section for shops is pure CP

obtuse wigeon
#

I wanted to add a custom shop, similar to how catalogues work, that needs a framework right for a custom shop?

#

then CP to add it to a shop

lucid iron
#

catalogue is a shop attached to a furniture

#

that part does need something yes, but the core of it is "associate Action OpenShop with a furniture"

#

adding a shop is vanilla

obtuse wigeon
#

Oh ye the only thing I'd use a framework for is registering the shop itself, accessing the shop via furniture and adding items will be done with CP

lucid iron
#

?????

#

this is the opposite of what i said u sure u didnt just type it backwards

drowsy pewter
#

Shop is a shop, they are added to a vanilla game data model in Data/Shops and can be accessed at any time anywhere as long as the appropriate trigger is thrown ingame.

The only thing you need a framework for is to be able to throw the OpenShop trigger when touching a specific furniture item.

obtuse wigeon
#

Yes I did get it the wrong way around, sorry I got massivly confused then, I've just looked at a previous mod I've made that adds a custom shop and the framework is indeed for acessing the shop from furniture, and not registering the shop itself

uncut viper
#

why do you need a framework to register the shop itself

#

oh

#

discord didnt scroll

#

thanks discord

drowsy pewter
#

hi button

uncut viper
#

hi 6480

obtuse wigeon
#

I've had discord do that too dw bahah

lucid iron
#

man that reminds me of this one time someone made a catalogue framework

#

i felt kind of bad n didnt say anything about how ppl r already doing it by other means

uncut viper
#

i think there cou ld be room for a catalogue framework if it offers extra features on top of em

obtuse wigeon
#

I agree, a specific extra feature is a better interface, but that's essentially already done as it's just a shop

lucid iron
#

yea i think main problem is that it wasn't a cp extension style framework either blobcatgooglyblep

#

hard to mix

uncut viper
#

oh...

obtuse wigeon
#

can I open a shop with a command for testing rather than assigning OpenShop to furniture or a tile?

lucid iron
#

debug shop

obtuse wigeon
#

Thank you

lucid iron
#

peliq is sort of a shop framework

#

in that it was made for a specific shop need (sell multiple kinds of bait randomly)

obtuse wigeon
#

Isn't livestock bazaar also technically a shop framework?

#

also made for a specific shop need

lucid iron
#

sure but only for animals

uncut viper
#

an animal shop is a shop nevertheless

lucid iron
#

i think if i was making it again, i'd do it more directly as ISalable

#

i just didnt know tho and i dont wanna change it now Dokkan

obtuse wigeon
#

Read that as ISaladable, Apples new Salad based device

uncut viper
#

what do you mean if. you could make that happen. when can i expect Livestock Bazaar 2, chu?

lucid iron
#

uh no it'd just be 1.5.0 or something

patent atlas
#

isaladable

uncut viper
#

no i want a sequel

#

with new and improved graphics

#

maybe raytracing

uncut viper
#

and one feature beloved by fans inexplicably removed for no reason

lucid iron
#

trailer

uncut viper
#

wow.....

#

i cant wait

patent atlas
#

vampire the masquerade 2

brave fable
#

it's important that you forcibly uninstall previous versions of livestock bazaar and redirect the download links to the latest version only 😌

obtuse wigeon
#

And you gotta make a dedicated launcher, that's a must have

#

Oof I do not understand GSQs, I'm not too sure what the target should be for ITEM_ID_PREFIX

[game] Failed parsing condition 'ITEM_ID_PREFIX BoundedBag::TypeId': invalid item type 'BoundedBag::TypeId' (should be 'Input' or 'Target').
uncut viper
#

literally write Target

#

followed by your item id

obtuse wigeon
#

oh... okay thank you!

uncut viper
#

Target is a parameter similar to Current/Host/Any for players

#

Target/Input that is

obtuse wigeon
#

Ahhh gotcha okay

lucid iron
#

in my case i made shop sell everything my mod added

#

(which all happened to be furniture, hence the ALL_ITEMS (F))

obtuse wigeon
#

Unfortunatly "PerItemCondition": "ITEM_ID_PREFIX Target BoundedBag::TypeId" doesn't add the bags to the shop, just checking that this should be the syntax for matching the text in the image?

#

Do I need to surround the BoundedBag::TypeId with some form of quotes incase it thinks, the : are seperators

lucid iron
#

what does the internal id field say

obtuse wigeon
#

In Lookup anything on the bag? BoundedBag

lucid iron
#

hm in that case it'd be a pain to add yea NotteThink

#

im guess there's hardcoded C# nonsense

obtuse wigeon
#

I think so too

lucid iron
#

is there any way you can pretend to be the shop from the no longer working mod

obtuse wigeon
#

I think so, I know the shop ID so I could mimic it

verbal narwhal
#

i cannot seem to find a guide on how to reference npc spritesheets for their animations :(

#

can someone pls direct me to that?

lucid iron
#

it might also need the mod id which would succ

obtuse wigeon
#

it is from PJAA era though so there may be jank

lucid iron
#

well u prob need to do smth like

#

install stf + the old mod

#

check if item bags does the thing

#

patch export Data/Shops

obtuse wigeon
#

oh no, that means going back to the dark ages of 1.4

lucid iron
#

shop tile framework works in 1.6

#

pathos keeps the lights on

obtuse wigeon
#

the actual mod that adds the shop however is 1.4 max

obtuse wigeon
lucid iron
#

yea so im saying just the stf component

#

u dont actually care too much about the contents of the shop but u need to see what id stf makes blobcatgooglyblep

#

honestly this is getting to point where it's kind of a pain and i give up on the content only approach ChieRunning

obtuse wigeon
#

Oh the stf IDs aren't defined by the user, gotcha

obtuse wigeon
hard fern
obtuse wigeon
#

Not a clue, I'm guessing because it's bound together by json and hope, I didn't name it that, I would've chose a bit of a less confusing name (I mixed bounded and bundled up quite often while thinking of a work around)

brave fable
#

needs colours changed?

#

#1 dyeable

obtuse wigeon
#

Wwww I like the bottom middle! looks similar to willow pattern colours

brave fable
#

pity i can't have big sleeve haori without fashion sense

obtuse wigeon
#

I'm very fond of the colours ngl

lucid iron
#

hm what kind of clothing r these Bolb

brave fable
#

simple mens yukata

#

for simple & complicated men

lucid iron
#

ah its the thing yakuza wear sometimes DokkanStare

#

how do you feel about doing a patterned one

#

it is not very many pixel tho

obtuse wigeon
#

Hey so like it works by just renaming the shop to the old mods shop name!

brave fable
#

chu that would mean editing the pants sheet sprites beyond fillbucketing a recolour in

lucid iron
#

oh true that is fate worse than death im sorry

brave fable
#

anyway the kimono sprites already have patterns and it just looks noisy

#

not a fan but apparently people downloaded it

obtuse wigeon
#

Thank you so so much for your help, and for bareing with my quite massive confusion blunder earlier

brave fable
#

people be installing just about any old mods these days

late gull
#

In regards to powers (the actual abilities side), is there a specific method call to use or something? im struggling to find any documentation

lucid iron
#

powers are simply icons

#

think of them as ui indications of player having a non-item/tool upgrade

#

you do whatever you want after that

late gull
#

I have been framing this wrong the whole time

#

Thank you

oblique meadow
#

So. Other than completely getting my coordinates wrong because I was looking at the wrong map....IT WORKS

#

I can trigger the games from the Fair

hard fern
#

can i play slingshot and break the windows

lucid iron
#

baby first C# wew

#

is just tileaction right

oblique meadow
#

yeah

hard fern
#

i wonder what my first C# will be. i hope it's something fun and cool

oblique meadow
#

Well. Mostly works....

Slingshot is not Slinging shots in the game

hard fern
#

uh oh

oblique meadow
#

I can launch the game though 🤷‍♂️

#

I also got it to successfuly let me set a "star tokens" to money conversion so people playing outside the fair dont get star tokens

#

so. Im like...mostly there?

urban patrol
ocean sailBOT
#

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

brave fable
#

Tooltips is a list, and those need some unusual behaviour to edit with TargetFields

#

in your file from lines :423 onwards you're trying to add/edit entries of a list, but being a list, it has none

#

i think, i don't like targetfield and list

urban patrol
#

hmmm okay i think i see

#

is there an easier way to do it or do i just have to fix this

brave fable
#

the exact issue is that it's reading "Id": "{{ModId}}_FinchHouse" and expecting the value to be the actual entry

#

but it's finding a string instead of a data entry, hence failed converting String value to the expected type 'StardewValley.GameData.WorldMaps.WorldMapTooltipData'

uncut viper
#

pretend you're adding an object and the key is the same as your ID

#
"Entries": {
  "{{ModId}}_FinchHouse": {
    "Id": "{{ModId}}_FinchHouse",
     ...
  }
}
urban patrol
#

that's allowed? wow

uncut viper
#

thats the only way to do it with CP

hard fern
#

it looks weird but yeah it works ive found

urban patrol
#

this is like the first time i've ever seen a format that doesn't match unpacked data lol

#

thank you

#

that did indeed work, which is good to know for the future!

brittle pasture
#

Entries must take the form of a dictionary even if you're targeting into a list

#

this format is useful though, since it allows you to edit or even remove an entry from a list

urban patrol
#

yeah i definitely like this better esp that it matches what i'm used to

lucid mulch
#

when CP is pointed at a list, the Entry key is used purely as a lookup to see if it should insert new, or edit an existing entry,
so

 {
    "Action": "EditData",
    "Target": "Data/WorldMap",
    "TargetField": [
      "Valley",
      "MapAreas",
      "Mountain",
      "WorldPositions"
    ],
    "Entries": {
      "AdventureGuild": {
        "Id": "AdventureGuild",
        "LocationName": "AdventureGuild",
        "MapPixelArea": {
          "X": 219,
          "Y": 28,
          "Width": 3,
          "Height": 2
        },
        "ScrollText": "[LocalizedText Strings\\StringsFromCSFiles:MapPage.cs.11099]"
      }
    }
  }

would replace the existing AdventureGuild entry as AdventureGuild is the id of an existing entry, but using the entry key of AdventureGuild2 doesn't match an existing entry so will append it to the list.

due to this, its usually best to keep the entry key and the Id field to have the same value, but its not technically needed. if they are different where the Entry key isnt present in the target but the Id field is present, you would add a second version of it into the collection

urban patrol
#

ohh i see

urban patrol
#

got it all working! for anyone who comes across this later, the key was NOT having TileArea and HAVING MapPixelArea

brave fable
#

is that bouncer in a wizard hat

#

the dark magician

urban patrol
#

that's the combined forces of sandy, qi, and bouncer all in one place

#

i used debug friendall so i could see everyone lol

brave fable
#

shadow gunther.

urban patrol
#

new mod idea

#

yeah idk why some of them are in shadow, crystal (my NPC) was showing up in shadow sometimes too

#

maybe it means inaccessible or smth? since he and the goblin are both in shadow and can't be reached

brave fable
#

could be for non-social or non-scheduled

urban patrol
#

maybe, but idk why crystal would have showed up that way until 10 minutes ago lol

#

who knows, idek which mod does this

#

i think maybe it's LA?

brave fable
# lucid iron how do you feel about doing a patterned one

but ye the patterned sprites don't really read well even for a simple front-on view, at least for the floral designs (on the mod page https://www.nexusmods.com/stardewvalley/mods/4154)
maybe if i put less emphasis on the fold/seam in the middle of the kimono it'd be better, but i do also want the yukata to be differentiated from the kimono in appearance and be a bit more relaxed/everyday in comparison. patterns are fine on shirts since shirts don't really have layers or particularly unique designs, but the yukata do need to be clearly Not Shirts

#

and even a simple pattern like a pinstripe or some small decorations really slashes the readability of the linework

#

if i can brain out the haori and brawn out the hakama i'll also need the yukata to be simple enough visually to not clash with other layers and styles of clothing

#

really not keen on dealing with fashion sense but there's actually no other option for big sleeves unless i.... roll my own SDVdemetriums

#

(that's a rolling my sleeves joke i am never adding a c# component for sleeves)

#

(i'm also never updating the kimono sprites because it's just too much mindless staring and clicking)

inland rain
drowsy pewter
#

Perfect no notes

#

altho her voice cracks haha

vital lotus
#

Is there a way to check Mastery with CP token?

brittle pasture
vital lotus
turbid oak
#

I might want to try making a mod that adds JojaMart to the list of shops you can call to check their hours. This will be more difficult than my other mods but be good for practice. Can it be done with Content Patcher alone? I'm especially concerned because one of the mods I'm using (SVE or Marry Morris) changes JojaMart's hours from 9am-11pm to 10am-10pm. I don't know yet how to make it compatible, or if this means I'll need to be reaching out for permission.

brittle pasture
#

adding new outgoing phone numbers will unfortunately need C#

drowsy pewter
#

phonework (phone framework)

vital lotus
#

There's framework for it 👀

turbid oak
#

What does framework mean?

brittle pasture
#

mods that let other mods do stuff
content patcher is one and the most famous [citation needed]

turbid oak
#

Does this mean it's actually possible to add new phone numbers without C# if you use the framework?

brittle pasture
#

(I think 6480 is joking and no such mod for phones exists yet)

turbid oak
#

Darn

#

Thanks

verbal narwhal
#

does EditData Data/Locations do anything if I just want to add a crap bot fish?

#

or can I (without any frameworks) just using cp specify which freshwater locations?

hallow prism
#

if you just want to add a crab pot fish that you obtain in freshwater locations you just need to set the fish data in data/fish

#

if you want it to be caught in mountain but not forest or whatever you would need to edit data/locations

verbal narwhal
#

thank you!

#

big craftable is a term/category, right?
it does not mean big in size/footprint and craftable.
so if I made a 3x2 furniture craftable by recipe might this also be prone to cause visual glitches without better crafting?

drowsy pewter
#

bigcraftavles are all 1x2 tiles

#

if you want a 3x2 item you can make a furniture

#

furniture is not a bigcraftable

#

so

#

yes it may not display properly unless theyve updated that

eternal moss
#

I am having trouble with Input events. I connected all 3 of buttons events (buttonpressed, buttonreleased, buttonchanged) to a function but none of them works. This is all the code I wrote in functions but still no logs!

private void OnButtonChanged(object? sender, ButtonsChangedEventArgs e)
{
    this.Monitor.Log("Pressed Button!");
}
#
helper.Events.Input.ButtonPressed += OnButtonPressed;
helper.Events.Input.ButtonReleased += OnButtonReleased;
helper.Events.Input.ButtonsChanged += OnButtonChanged;
stark spindle
#

is it just your log level?

eternal moss
#

do I need to specify a log level?

lucid mulch
#

the default log level is trace which goes into the log but wont show in console unless you are running smapi dev mode

eternal moss
#

Oh yeah now it works I didn't know that I had to specify log levels thanks for help

hard fern
#

🤔 does using a season token to edit tilesheets do weird things to indoor maps? im asking because my greenhouse map was acting Strange and not displaying recolored vanilla tilesheets and leaving them vanilla when using the Blue Grass Recolor mod, but not Earthy Recolor

#

or is it a thing that doesn't have anything to do with indoor maps and it's just because it wont be recolored since it's not the right season

dapper crown
#

I have a question regarding Iconic Framework - When you add an entry via CP that references a mods keybind, is it just the field on its ModConfig model that you need to reference?

#

The documentation for that is pretty lacking

hallow prism
#

i'm not familiar with this framework

#

you can see if there's examples packs or mod using it that do what you want

lucid iron
inland rain
dapper crown
opaque hornet
#

I'm adding some things for a custom mod in GMCM however by default it's forcing titlescreen only, looking through https://github.com/spacechase0/StardewValleyMods/blob/develop/GenericModConfigMenu/IGenericModConfigMenuApi.cs the register function already forces titleScreenOnly as false by default, do I need to load things in a specific way or force a reload to sort it?

only GMCM config here:

        {
            
            var configMenu = Helper.ModRegistry.GetApi("spacechase0.GenericModConfigMenu");
            if (configMenu is null)
                return;

            dynamic gmcm = configMenu;

            gmcm.Register(
                mod: ModManifest,
                reset: (System.Action)(() => Config = new ModConfig()),
                save: (System.Action)(() => Helper.WriteConfig(Config))
            );

            gmcm.AddBoolOption(
                mod: ModManifest,
                name: (System.Func<string>)(() => "Lock Position"),
                tooltip: (System.Func<string>)(() => "Prevents the clock from being moved or resized"),
                getValue: (System.Func<bool>)(() => Config.LockPosition),
                setValue: (System.Action<bool>)(value => Config.LockPosition = value)
            );

            gmcm.AddBoolOption(
                mod: ModManifest,
                name: (System.Func<string>)(() => "Show Debug Info"),
                tooltip: (System.Func<string>)(() => "Shows position, size and scale information"),
                getValue: (System.Func<bool>)(() => Config.ShowDebugInfo),
                setValue: (System.Action<bool>)(value => Config.ShowDebugInfo = value)
            );
        }```
lucid iron
#

Looks like you need to set the literal key yourself correctly yeah

lucid iron
opaque hornet
#

I'll try, was just assuming because it already forces in the main function call

calm nebula
#

Okay you're not using the older api, good, that was my first guess

lucid mulch
#

seeing dynamic as the type gives me some concerns

calm nebula
#

Okay, I see

#

Fwiw, the default param in the interface is never used in pintail

#

And the actual api instance defaults the other way

lucid mulch
#

looking at smapi code, I don't think pintail is used if you don't use the generic form of GetApi

calm nebula
#

It's not. You're right

#

Either way. The concrete class matters. The interface does not

#

Ah wait

#

I'm backwards as usual

opaque hornet
#

Yeah i was having some issues with adding an interface when SMAPI loaded so gave up after two attempts and used this implementation instead, the forcing title for it worked fine but I'll fix the issue and migrate to interface instead

calm nebula
#

If you use the generic form it uses pintail. The default is baked in by the compiler

#

If you dont use the generic it doesnt use pintail. The concrete class adds the default

lucid mulch
#

outside of the lack of <IGMCMApi> and casting it as dynamic, it looks identical to what I use in SpeedySolutions

calm nebula
#

Approximately the first time someone has told me pintail'ed code makes sense SDVkrobusgiggle

lucid mulch
#

at this point that quirk of pintail not respecting default values is now a load bearing bug turned feature

#

as a lot of GMCM mods will become title screen only if pintail fixed that

lucid iron
#

It's magic i aint gotta explain anything

calm nebula
#

I wouldn't say it's a quirk

#

In fact, i think pintail going with the interface (the part people copy) actually makes more sense

#

Like i shouldn't care what you do internally

#

The interface is the public contractor

#

Anyways

#

Enjoy the silksong y'all SDVpufferheart

#

I'll be off in spreadsheet land then chores land then more chores land then sleep

lucid mulch
#

I've been playing clue(do) against bots and osrs rather than silksong

gentle rose
hallow prism
#

if i want to check if bus is repaired with a GSQ

#

i can use LOCATION_ACCESSIBLE desert to check for every case, rather than flags for CC and joja?

agile flame
#

IAssetEditor is outdated for smapi right

lucid mulch
#

yes

round dock
#

Erin is a fantastic VA, insta-download SDVpufferheart

true birch
#

For festival locations, do even year locations need to have a separate _y2 location in the code, or should the game use the odd year location if no even year location is specified?

For context, I'm playing an ultra-modded game and started cataloging where all the NPCs are at each festival so I can fix characters who are overlapping or end up in walls/bushes. I just started working on even year festivals and discovered that a lot of NPCs I was expecting at the festivals weren't showing up at all. All the characters not showing up don't have _y2 locations, so I want to check that this is expected behavior and not a bug. I did spot-check and other characters that are showing up all seem to have _y2 locations, but I didn't check very thoroughly. If I have a bug, I'd like to know so I can decide if I want to dig into why.

In other news, would y'all be interested in me sharing the catalog of NPC festival locations? Still working through all the festivals (and still adding mods) but it seems like it could be useful to other people

iron ridge
obtuse wigeon
# iron ridge https://festivals.pillow.rocks

Hey Pillow, if I find an NPC that isn't on the map, what would be the best way to request their addition to the map? would you prefer letting you know, or a PR on the GitHub repo, or not adding them at all?

iron ridge
#

sure a pr works

#

just make sure you format the things right

obtuse wigeon
#

ace good to know, thank you, I shall dw, there'll be a lot of figuring out your writing style beforehand to make the formatting work

true birch
# iron ridge https://festivals.pillow.rocks

Oooh, this looks like it would be a much better setup than what I'm doing, but it isn't loading properly for me. It seems to load up the Y1 egg festival, but then clears it and switches to "Select an option" and won't load anything I pick

iron ridge
#

yeah it takes a second at the start to hydrate

drowsy pewter
#

@brittle pasture Not a big deal if no, but any chance flavored cooking can also specify required amount of input ingredient?

late gull
#

If I'm using a condition "player.eventsSeen.Contains(EventId)", will players who have seen that event before installing the mod already meet the condition or will they need to view the event again after installing the mod?

drowsy pewter
#

events seen are stored in farm save data so it should be there before and after they install the mod

drowsy pewter
#

ahem "Wow, DH's new mod has some stellar artwork"

hallow prism
#

it looks more like a moon than a star imo

gray bear
#

...moon

gray bear
blissful panther
gray bear
#

yeah, the art truly is incredible. would eat

#

...not the spooky ver though that one might eat me

dusky sail
#

oh because a tortilla getting revenge for all the time's it's been eaten would be so horrible (jokin)

gray bear
#

my moon-tilla is going to be displeased anyway

karmic gust
gray bear
#

gasp! tlt

#

tortilla loving tortilla

karmic gust
#

Omfg

#

Tlt I'm dying

gray bear
#

would u like me to showcase

karmic gust
#

Yes pls SDVpufferheart

round dock
karmic gust
#

I'm just polishing it up and hoping it'll be ready by next weekend! I ended up adding 5 more events than I originally had written, so now it's up to 14 haha. Maybe a little overkill but since it's just Pierre and Morris I really wanted to add a large story for them

dusky sail
#

Its never overkill if youre enjoying yourself

karmic gust
#

That's true. It's been a lot of fun! And I also feel like there's less room for leaving things to progress off screen since they're such bitter rivals to start

obtuse wigeon
#

If anyone knows Regular Expressions (RegEx) will this check /tortilla/i match anything that has tortilla anywhere in the name case insensitivly like I hope?

red egret
#

yess and they can have babies

iron ridge
#

nvm if youre just testing no

obtuse wigeon
#

it's checking in the display name so as long as theres at least one match it's fine, multiple matches will have no use in this case specifically

#

Time to debug why it isn't working, regex is not a fun one to figure out, very useful however

calm nebula
#

It depends on the language

obtuse wigeon
#

oh no, I didn't know regex was language specific, that may make sense as to why it doesn't work

#

well no I did know but I hoped it didn't matter bc it would check internal names too, but mods aren't always written in english

torpid ridge
#

Is there a way to convert a spouse room made for TMXL to be used with Contet Patcher instead?

iron ridge
#

!converters

torpid ridge
#

Thank you 🙂

verbal narwhal
tropic owl
#

may i please ask what the tortilla mods are about? genuinely curious to see what sparked this in these channels

verbal narwhal
#

Im pretty sure it started when someone made the mod to right the wrong that was miscentered tortilla

hard fern
#

And oclarina made a mod to center it .... And it just spiraled

urban patrol
#

it’s space delimited so you can just have “item 1 item 2”

verbal narwhal
#

thank you so much!

urban patrol
#

oh wait no i lied sorry i see you’re doing that for all of them

#

missing open bracket line 28

#

(i’m on mobile and it’s hard to see, my bad)

#

also line 24 has entries instead of fields

verbal narwhal
#

oh but I made it like you said and i worked!

urban patrol
#

even with the missing bracket??

verbal narwhal
uncut viper
#

that file still has errors and will not work

verbal narwhal
#

where?

uncut viper
#

put it back in the validator

verbal narwhal
#

ia it enries for the individual names as well?

#

no idea why i was convinced it worked now

#

ugh

urban patrol
#

is it supposed to be entries or fields? you have half and half

#

also still missing that opening bracket

verbal narwhal
#

i thought the universal gifts were handled with entries, the individual ones with fields

uncut viper
#

the bracket is still important too like nic mentioned
And your values on lines 30,36,42, and 48 are malformed

#

They have an extra ": before the actual value

verbal narwhal
#

thank you so much

cursive dawn
#

hi guys newbie here, can i ask where do you make a pixel animation

urban patrol
#

!pixelart

ocean sailBOT
#

Where to Start With SDV-Style Pixel Art
If you've never done pixel art before, don't stress! It's easy to pick up the basics - the key is to start small, ask for feedback, and incorporate that into your work.

To start, you'll want an art program. See a list of recommended programs in the !software command.

Here's some good beginner tutorials!
http://pixeljoint.com/forum/forum_posts.asp?TID=11299&PID=139322
https://medium.com/pixel-grimoire/how-to-start-making-pixel-art-2d1e31a5ceab

To start off, try opening an existing portrait and changing the outfit. Start small: edit a shirt pattern, change a jacket collar, or remove a scarf and draw the clothes underneath. Ask for feedback too! The best way to improve is learning how to identify what's wrong and why, so then you can work out how to fix it.

Here's more good tips from the artist of "Celeste":
General pixel art 1: https://www.patreon.com/posts/pixel-art-1-6971422
General pixel art 2: https://www.patreon.com/posts/pixel-art-part-2-11225146
Outlines: https://www.patreon.com/posts/outlines-14106192
Shading: https://www.patreon.com/posts/shading-13869731
Portraits: https://www.patreon.com/posts/portraits-8693396

SDV has a few quirks to remember too:

  • Colour limits: Limit the number of shades you use - stick to six including the outline.
  • Hue shifts: Rather than making shadows and highlights lighter or darker versions of the base tone, SDV shifts the hue too. Eg. a base orange will have yellow highlights and red shadows. This goes for skintones too!
  • Light source: SDV uses a top-right & slightly forward light source - check the vanilla art for reference.
    Most importantly, don't hesitate to ask questions and get advice from people. Have fun!
urban patrol
#

oh that’s not it

#

most people recommend aseprite

#

!software

ocean sailBOT
obtuse wigeon
#

I am struggling with RegEx so much old, This ^[A-C] works and finds adds all items with the display name starting with A, B, and C. But this /tortilla/i does not match anything

#

Theres also a free online art tool called PhotoPea that has an interface like Photoshop

blissful panther
obtuse wigeon
#

ItemBags supports adding items to a bag using regex, so I'm trying to add any item that has tortilla in the display name (case-insensitively)

tiny zealot
#

my guess is that C#'s regex syntax does not do the //i thing so you will have to look up the C# incantation for it

obtuse wigeon
#

that was the issue! thank you!

#

I've only ever used Regex in JS and Python so I didn't think /i speciffically wouldn't be compatible

cursive dawn
karmic gust
#

You can compile it for free or buy it for $20

cursive dawn
#

ohh okayy, thank you!

tiny zealot
obtuse wigeon
#

I do love markdown but it gets VERY confusing, obsidian markdown, github markdown, and discord flavoured allways ahve differences that trip me up

worldly wadi
#

Hiiiiiiii againnnn
I’m currently drawing and rendering my mod’s houses and map but there’s something I’m stuck on.
They’re seasonal and I know there's a difference between the color palette of each of them, but I don’t know what it is. Like, what filter/saturation should I modify on my buildings in each season so they can aesthetically fit on the season’s color palette?
Idk how to put this question into words, sorry if you guys didn’t understand :<
I’ll add some images so it can be easier to understand.
The stardrop saloon in each season, you can see its colors change, what filter can I use to give my buildings this effect?
Sorry for interrupting you guys conversation, but I searched this everywhere on the internet and couldn't find the answer, since my question is, like, super specific.

brittle pasture
tropic owl
brittle pasture
#

and I don’t have a good solution for that

cold marsh
#

How do you implement tinted crops (and I guess color masks in general)? I can't find anything relevant on both wikis. I saw a mod that adds one and it seems like the color mask for the ready to harvest sprite is one index ahead of it so I don't get it at all.

brittle pasture
#

for crops you want to set the TintColors field in the crop data

cold marsh
#

Oh, I had no idea that existed. It's all making sense now

#

And the tint for the ready to harvest sprite?

#

I assume ColorTint also takes the color mask from the next index?

brittle pasture
#

a monochrome overlay next to the final sprite
look at the vanilla flowers for reference

cold marsh
#

I think I get it, thank you

verbal narwhal
#

what is the reasoning behind an empty.json?

#

is that like an __init.py?

tiny zealot
#

in order for EditData to work on an asset, the asset must already exist or have been Loaded

latent mauve
#

empty.json or a blank.json?

tiny zealot
#

in addition, you cannot use content patcher tokens in a Load action (CP does not parse the file contents)

#

so if you want to make data using tokens in a new asset that doesn't already exist (either vanilla or another mod's asset), then you must Load it first, then use EditData to put all the data in

verbal narwhal
#

oh im just looking at other cp packs with multiple assets and various [dataformat].jsons and I found a empty.json there

tiny zealot
#

the cheapest way to do a load that you don't care about (except to make your EditData work) is to load a file that just has {} in it. typically it's called "empty.json" or "blank.json" or similar

verbal narwhal
#

oh nice!

latent mauve
#

I've only heard them referred to as blank JSONs or blank.json, so I learned something new today. 😛

lucid iron
#

pathos put an empty.json in central station

tiny zealot
#

lacey has one, too

#

you can call your files whatever you want, is the thing /lh

verbal narwhal
#

im currently scared to start my content .json but this should only include the load and include actions, right? if I have outsourced every type of editdata to its relevant .json

latent mauve
#

Your content.json can include ALL of your JSON code if you want. Includes are optional and mainly used for organization.

#

Blank jsons are Loaded for the reason stated above, but nothing else really has to be split up, code-wise

verbal narwhal
#

ohh ok!

latent mauve
#

If it helps, think of an include action as saying "add the contents of the included JSON right here"

oblique meadow
#

I only use includes on big farms I make that have quests, and Minecarts, and events, etc. makes it easier to maintain instead of one big file

calm nebula
#

You can't stop me

verbal narwhal
#

the ID of a fish as item and as fish can be the same? or should be the same?

brittle pasture
#

they must be the same

verbal narwhal
#

ok good! The phrasing that they must be unique got me questioning that

#

but this is definitely a me problem, not a wiki problem

#

because I see how that means in the overall ID so that not two custom fish named fish get loaded

latent mauve
#

"Goby" is probably the best example if you want to look at the vanilla files since it uses the new string naming convention rather than the integers.

#

the ID is the same in Objects, Fish, and AquariumFish. 🙂

verbal narwhal
#

oh, so if my ID is {{ModId}}.Tadpole, in Fishponddata, I also call {{ModId}}.Tadpole and not (o){{ModId}}.Tadpole?

latent mauve
#

Any time the data calls for a Qualified ID, you'll need the (O) in front of it for the fish object. Otherwise, you can usually exclude it

scarlet knoll
#

Hi guys! ( ̄▽ ̄*)ゞ So, I've been trying to figure this out for quite a while and I'm stumped. It's probably something stupid, but I can't see it. I'm making a grass recolor that overlays, so it can work with other recolors. Everything's working fine, except for the Ginger Island tilesheet. It just won't apply and I dont' know why. I've triple checked the files and colors and I can't figure out what's wrong. Maybe something stands out to you guys? Here's the changes in the content.json:
"Action": "EditImage",
"PatchMode": "Overlay",
"Update": "OnLocationChange",
"Target": "Maps/summer_island_tilesheet_1",
"FromFile": "assets/summer_grass_Island.png",
"When": {"Ginger Island": true},

iron ridge
#

why do you have a When?

#

wouldn't the tilesheet only be used on GI

#

(where is the "Ginger Island" condition coming from?)

scarlet knoll
# iron ridge why do you have a When?

I'm working on adding options to turn off certain seasons. I'd like Ginger Island to be toggleable too, if possible. I'm still testing those, so not sure if it'll work in the end.

urban patrol
#

if you’re trying to use a config, look at the CP docs for more info

scarlet knoll
urban patrol
#

are you sure your target is correct? i’m on mobile so can’t look at unpacked content rn but i’m not sure it’s called summer island tilesheet 1

royal stump
#

(that seems correct, though I'm not sure how EditImage interacts with seasonal tilesheet names)

urban patrol
#

oh ok good

scarlet knoll
#

All the other seasonal tilesheets I'm overlaying are working fine, it's just this one for some reason.

urban patrol
#

!json can you post a link to your 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.

verbal narwhal
#

does the new CP json want trailing commas or not? i am confused

urban patrol
#

also, are you seeing any errors in your log? are you testing with any other mods that may be patching over your patch?

urban patrol
verbal narwhal
#

Ok!

scarlet knoll
scarlet knoll
urban patrol
#

you’re patching over yourself here. the second patch will overwrite the first—not sure which version you want or when

scarlet knoll
#

Can you not overlay two things?

urban patrol
#

hmm actually i’m not sure 🤔

#

let me check edit image docs

scarlet knoll
#

I'm doing that in the rest of the game.

#

I have a dirt mod that overlays brown dirt to the tilesheets, and a grass mod that overlays the grass to the same tilesheets, and they work togehter.

#

Maybe it's something with them being in the same file?

#

I'm gonna remove the first one and see if it works then, just so I'll know.

urban patrol
#

so it depends on how transparent your pixels are. any opaque ones will replace the underlying ones

scarlet knoll
#

Okay yeah, it shouldn't cause a problem then.

#

Okay, it's not a conflict with the other file. I removed that part and it still isn't working.

urban patrol
#

i do wonder if Season is conflicting with the way you named your configs

#

what happens if you do something like ConfigSummer instead

scarlet knoll
urban patrol
#

instead of naming your config options Summer, Spring, etc, change them (and every time they’re referenced) to something else. content patcher has built in tokens named like that and i’m wondering if they’re conflicting somehow

urban patrol
#

also tangentially, is there a reason why you’re updating on location change?

royal stump
#

afaict, the patches work if they're set to "Target": "Maps/island_tilesheet_1",
so ig the seasonal tilesheet editing is an issue after all

urban patrol
#

oh weird okay

royal stump
#

I was expecting them to say "spring" internally or something, but Lookup Anything helped

scarlet knoll
urban patrol
#

nothing wrong with that! as esca said though it looks like the maps are loaded to somewhere else

royal stump
#

if you wanted some maps to use the unedited sheet and some to use your edit, the location updates would help, but it may be fine to just leave it out in this case

scarlet knoll
#

Omg I think that's it!!

#

I saw it in the summer bunch and assumed that was it since it uses the summer tilesheets. Gonna try this now. Fingers crossed!

royal stump
#

the game's auto-replacement logic for seasonal sheets can have weird results sometimes

scarlet knoll
#

IT WORKS

#

Thank you so much guys! ^.^

urban patrol
#

yay!

clever turret
#

Is there a way to set an NPCs schedule to override them going to the island resort?

urban patrol
#

do you want to disable them going to the resort at all?

clever turret
#

That would also be good, but being able to do both would be ideal

royal stump
agile flame
#

that's a mod right there bro

clever turret
uncut viper
#

you'd need to set it the day before

#

since NPCs are scheduled at day end

royal stump
#

yeah, you'll want to use GSQ conditions there, if possible (see the link on the page)

#

you can specify date ranges/etc to let the game know ahead of time when it's okay to randomly send the NPC

clever turret
#

So if I do DAY_OF_WEEK Tuesday, that would block them from going on Wednesdays?

royal stump
#

write Wednesday in that case, iirc
the conditions themselves use accurate dates, it's just that the game checks "Condition" the night before creating a schedule

#

so don't use CP tokens in the condition field, just GSQ options

uncut viper
#

(listen to Esca i was only half accurate bc i thought CanVisitIsland was a bool not a GSQ string)

clever turret
#

Alright, so if I wanted to use a When field in a content patch, I'd need to set it to false on Tuesday and back to true on Wednesday

royal stump
#

(it might've been at some point, and it was/is in Custom NPC Exclusions SDVkrobusgiggle)
(which does still work for active edits, but I consider it deprecated)

uncut viper
#

theres no reason not to use a GSQ here if the GSQ can work

#

but yes otherwise you'd do the When condition the day before

#

(also by "no reason not to" i also mean "its better if you use a GSQ")

royal stump
#

it may also have different effects depending on whether players load a game on wednesday vs sleeping from tuesday to wednesday, iirc

#

so basically it's much easier to use one consistent GSQ in that field

clever turret
#

Alright, will do

#

Thanks bunches

oblique meadow
#

You guys ever just want to punch the Stardew code in its digital face?

late pewter
#

WARNING: I AM CODE ILLITERATE AND MAY NOT ACTUALLY UNDERSTAND ANY GIVEN EXPLANATION.

#

That being said, If a rubber duck can be helpful to coders, by all means treat me like a rubber duck

oblique meadow
#

haha. Im jsut being grumpy. I can get the game to launch the fair minigames outside of the fair. BUt....the game mechanics arent working as expected.

#

Soooo

#

Im being mad

gentle rose
late pewter
oblique meadow
#

Like. I can get it to here. But I keep having a rock show up on my farmer sprite and it wont shoot anything

#

So im ALMOST there

royal stump
#

SDVpuffersquint yeah, some draw layer code is contingent on location/etc

#

e.g. I'm still using some monster subclasses to keep them visible behind interior walls/houses

gentle rose
#

wdym?

oblique meadow
#

All I wanted was to have games on my boardwalk on different days. At this point I’m about to just build a framework so people don’t suffer like I am

royal stump
#

Mineshaft draw code for monsters is different from elsewhere, and in most locations, they don't draw above building/front layer, iirc

#

royal serpents have layering issues outside the mines & flyers in general are hard to see w/o patches or my old subclass junk

gentle rose
#

oh interesting

royal stump
#

(notably, the mine switches the spritebatch's whole draw mode, draws monsters, then switches back...which affects royal serpent tails and almost nothing else, iirc SDVpuffermlem)

public override void drawAboveAlwaysFrontLayer(SpriteBatch b)
{
    base.drawAboveAlwaysFrontLayer(b);
    b.End();
    b.Begin(SpriteSortMode.FrontToBack, BlendState.AlphaBlend, SamplerState.PointClamp);
    foreach (NPC character in base.characters)
    {
        if (character is Monster monster)
        {
            monster.drawAboveAllLayers(b);
        }
    }
    b.End();
    b.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp);
gentle rose
gentle rose
oblique meadow
#

I’ve already got it letting me specify day of week and converting the tokens I would have won to gold and making that configurable

late pewter
#

How do I get a mod showcased?

oblique meadow
#

And I can put it on custom loaded maps

agile flame
#

anyone knows which tilesheet got the shrine of illusion in it?

gentle rose
#

I'm making a new menu rather than editing an old one though so my job is significantly easier than yours SBVLmaoDog

ancient hamlet
#

Hello, I started modding today. I am trying to overwrite an i18n translation of another mod.
My mod depends on the one I want to overwrite and is even later loaded by alphabetic order. I put the translation in /i18n/default.json . But it does not work. The translation I am trying to overwrite is inside an event.
Am I missing something? I don't think i18n translations need to be registered somewhere..

royal stump
gentle rose
#

if it is nsfw or has ai code or art, no dice, not allowed in the server (I wasn't keeping track so I'm not saying this because I think you do have one of those, I genuinely don't know haha)

gentle rose
oblique meadow
#

And they will know. (Somehow)

#

I’ve seen it haha

ancient hamlet
gentle rose
#

you take your i18n file, delete the one in their mod folder and put your one in

#

literally replacing the file

#

and you tell users to do the same

ornate locust
#

But you have to have their entire i18n in it

gentle rose
ancient hamlet
gentle rose
ornate locust
#

You don't have to replace the whole event if you just want to replace a translation or two in it

gentle rose
ornate locust
#

Can't you just use a "Fields" edit?

gentle rose
#

events are a single long string though

ornate locust
#

I don't know how you'd write an event that makes one of those not work

#

But... you can still use a fields edit

gentle rose
#

can you?

ornate locust
#

this replaces one line in the CC opening

ancient hamlet
#

Well I am rewriting a mod to give it more options. What is a fields edit?

ornate locust
#

I had to do some counting, but it works

gentle rose
#

ty, I didn't know that

ornate locust
#

Yeah, I just counted until the part I wanted to change

gentle rose
ancient hamlet
#

Ooh I see. That is smart

ornate locust
#

I forget who showed me that one, and it does require a lot of counting, but it does work

ancient hamlet
gentle rose
#

fair enough!

#

if they say no, you have experience and a personal edit, at least

clever turret
#

Does anyone know how does the box that appears at Pierre's when he goes to the resort works?

gentle rose
#

good question, let me check

gentle rose
#

you could probably get a similar effect using an owners entry and a conditional map patch though

agile flame
#

why can't i find the shrine of illusions i looked in all the tilesheets i think and didn't find it

ornate locust
#

Did you check Cursors? weird stuff hides in Cursors

iron ridge
#

cursors cant be used on maps in vanilla

ornate locust
#

Oh, well learn something every day

gentle rose
#

town interior

#

near the adventurers guild rug

ornate locust
#

Between the bear rug and Gil

gentle rose
#

and the dividers from the clinic

ornate locust
#

more or less

agile flame
#

weird place tbh

gentle rose
#

wdym

#

it's in the interior of a building

#

generally, that means it goes in town interior

agile flame
#

my point is there is a tile sheet called wizard interior

gentle rose
#

no there isn't? as far as I can tell, at least

agile flame
#

ig if you think of it that way its in the right place but what is the difference between wizard interior and town interior like why do you split a building

ornate locust
#

I think that's the wizard furniture you can buy

gentle rose
#

yeah there's wizard furniture, for the catalogue

oblique meadow
agile flame
#

oh

#

makes sense mb

gentle rose
#

nothing in tilesheets goes in maps

#

anything used in maps is in the actual maps folder

oblique meadow
#

When I badly need cursors I just copy it to my assets and load it manually

#

😝

#

Hence ‘kinda’

crimson kettle
#

may i ask what is -5 and -6, i saw it when trying to convert a cooking recipe to CP

#

i can't search for the id in stardew valley vanilla id

pine elbow
#

back

brittle pasture
#

-5 and -6 = "any egg" and "any milk"

crimson kettle
#

oooh tysm

gentle rose
ornate locust
#

Can I offer you a nice -5 in these trying times?

oblique meadow
#

Easy for you to say. You knew that existed more then 2 minutes ago 😜

pine elbow
#

so guys how do you practice programming

iron ridge
#

writing programs

pine elbow
#

as a beginner

#

ehat programs do i write

iron ridge
#

something you want to make

oblique meadow
#

Hello world

pine elbow
#

im such a noob

oblique meadow
#

The real answer is. Pick something you want to accomplish. Make it small and logical. Figure out how to get there, and do it

pine elbow
#

thatll work

oblique meadow
#

Then repeat. Either with additional features to little item A or something completely different

#

Keep building on what you know and learning more

#

And never assume what you know is the only way, or even the best way. There’s always a better way

pine elbow
#

any of you have adhd here

oblique meadow
#

I’ve never met a non neurodivergent good programmer

pine elbow
#

thank you for being understanding this stuff is tough

tender bloom
#

Throw a dart and you’ll probably hit someone neurodivergent in here lol

oblique meadow
#

Disclaimer for people who take things literally: don’t throw darts in crowded rooms

pine elbow
#

i heard reverse egineering a mod is a good way how do i do that

oblique meadow
#

You take a mod that works, and figure out why it works

#

Disclaimer: sometimes the developer doesn’t actually know why it works. Just that it does

pine elbow
#

so tod was right it just works

oblique meadow
#

Lies developers tell:
I never Google, I just know this
I know exactly why it works and it functions exactly as designed

ornate locust
#

There's also "This doesn't work. It looks like it should, but it does not."

oblique meadow
#

I’m a fan of “ the code is fine, it’s how you’re using it that is the issue”

ornate locust
#

like using a simple movement and then a command to wait until the movement is completed? that makes them move twice the distance for some reason. Why? hell if I know, but I fought it for an hour

pine elbow
#

but will practice make me better

ornate locust
#

Yes

oblique meadow
#

It will make you less likely to yell at things and know how to tackle things

pine elbow
#

thanks im 2 months into this after finsihing tutorials and crap

ornate locust
#

And that's being better, knowing how to figure out how to do stuff

#

or who to ask if you get stumped

oblique meadow
#

This is why we need MySpace back

#

I learned coding designing my page back in the day

#

HTML and flash

ornate locust
#

I made dumb pages for Petz on Geocities

#

I would say I learned a bit while hex editing, but I was awful at hex editing, just the worst. too many number

pine elbow
#

2 months im still a noob

agile flame
#

Is there like a pedestal in the game like a furniture not necessarily an item?

pine elbow
#

i think indentation is what i struggle with most

ornate locust
#

Indentation?

#

That's mostly just to keep stuff neat and readable

#

also VSCode has this where it just does all the indentation and such for me to keep things pretty

pine elbow
#

i just use vs

agile flame
ornate locust
#

the pretty code button

agile flame
pine elbow
#

so vsc is more simple

agile flame
uncut viper
#

i wouldn't say VS is practically the same as VSC

agile flame
#

but you can do some stuff more easier from vs such as making a dll

iron ridge
#

different goals, nuget's not IDE's plugins

tender bloom
#

If you are writing C# mods for Stardew, I would recommend VS. Otherwise no need, just used VSC or some other text editor to make jsons.

iron ridge
#

nugets are .NET libraries, not visual studio extensions

tender bloom
#

My advice here is specifically for Stardew, to be clear

agile flame
#

i meant extensions mb i can't even see clearly

pine elbow
#

hey guys did it take you all a long time to get good

agile flame
#

that is the question

tender bloom
#

It takes everyone different lengths of time and there’s so many small details to everything. Maybe you know everything about fashion sense, but nothing about alternative textures. You’re still “good” in this case!

agile flame
#

it shouldn't take more than 10k hours that is confirmed

tender bloom
#

It also depends on what skills you come in with

pine elbow
#

so its okay if i take a long time

tender bloom
#

It took me maybe 2 weeks to absorb enough to edit an existing C# mod, but I’d been programming for a decade before that, for example

#

Yes, there’s no time limit

agile flame
azure hound
#

does anyone know offhand what tile data i need to input on tiles so that animals can't pass through, but the farmer can?
is that even the right terminology idk LOL

ancient hamlet
#

Does textAboveHead farmer not work? Is it just for NPC?

uncut viper
#

just NPC

#

well actually if you mean the event command then idk its just NPCs

#

might be special handling

royal stump
azure hound
#

thank you!

#

y'all are always so helpful Heart_112px

lucid iron
#

@merry rampart re: NPCBarrier, no it's not possible

#

this is not cus of mmap or anything, just that game literally only checks the map's NPCBarrier tile data so

merry rampart
#

alright thanks

lucid iron
#

otoh maybe u can do it with DMT(E)

late pewter
#

Question: How does one earn the Author role?

#

Wait, one sec, this is probably stickied somewhere

soft lance
#

!author

#

eh good try, thought I'd look cool

late pewter
#

Oop, I found it!

#

Ok, I think I qualify already? Maybe??

soft lance
soft lance
# late pewter Ok, I think I qualify already? Maybe??

I have a question if that's alright! You seem to be one of the only people online in this channel at the moment, if I can ask in your DMs! It's about general question on modding, and since it seems that your a festival attendee, maybe it would be great to ask for your opinion on something! I swear it'll be quick! : )

#

And no, it's not a help question lol

calm nebula
late pewter
#

Sent!

soft lance
# late pewter Ask here please!

I would but sadly it's more of a matter regarding mod releases, and I need a personal opinion without being scolded here haha

#

I just wanted to get an opinion on my situation before anything

late pewter
#

Uuuhhh... ok sure, DM me. Not sure why anyone would scold you, unless you are making an new XNB mod or something.

late gull
#

I've been practising making new arcade games

#

But real question, how would I go about making the area outside of the gameplay bounds show the game world around the border?

rigid musk
#

tortilla...

rigid musk