#making-mods-general

1 messages · Page 35 of 1

marsh wraith
#

hi, does anyone know what i gotta change here? i’m pretty sure all of Leo's mainland seasonal outfits are working as intended, but:

-his festival outfits do not appear

-he wears his Summer outfit when he goes to Ginger Island, but i’d like him to wear his Spring outfit (ParrotBoy_Spring_Beach) during Spring, and his Fall outfit for the other seasons (ParrotBoy_Etc_Beach)

(plz do be gentle with wording, i’m very very anxious right now 🫣)

https://smapi.io/json/content-patcher/c9d23879a4454479afff7bb89647cc89

brittle pasture
#

Ginger Island is hardcoded to be always summer. you probably need to use CP tokens to override his sprites instead of/in addition to the Appearance system

hallow prism
#

well, GSQ can accept whatever conditions so having a condition for "being on GI" seems doable

#

it's about what is easier to deal with

brittle pasture
#

oh yeah forgot that existed. so instead of using the Season field you'd use SEASON in the condition, which I believe checks for global season

hallow prism
#

even if it doesn't, it sounds doable to have stuff like an entry for GI using the path for the outfits you want,even if they're already used for spring elsewhere

brittle pasture
#

as for festival outfits, the code looks fine to me, though I do notice you only have festival entries for Spirit's Eve and the two Winter Festivals

marsh wraith
#

oh im silly xD that's my bad, i was checking if i did the festival code right by using flower dance and i skipped flower dance in the code

#

thank you both for the help btw!!!!

uncut viper
#

SEASON does check global season yeah. LOCATION_SEASON is the contextual season

#

importantly its also always contextually summer in the desert, if you ever have Leo go there too

velvet narwhal
#

(wait is it? i thought the desert is contextually spring)

uncut viper
#

it has a SeasonOverride set to Summer like the island does

velvet narwhal
#

i am making internal brain notes but i know i will never bother to use these

calm nebula
#

Someone please do tundraland

velvet narwhal
#

atra wants a perpetual winter? time to throw a new location up near the railroad or something to "climb the mountains"

latent mauve
#

Ski lift when?

velvet narwhal
#

ridgeside has it

latent mauve
#

SVE and RSV are way too extensive tbh, they scare me

#

I tried a SVE run once and swore never again after how big it made the map

uncut viper
#

ridgeside has a ski lift?

velvet narwhal
#

i don't know what it's called but it's not a ski lift, it's ... like.... an air tram? i really can't think of the term

uncut viper
#

oh, the cable car

#

i thought i was missing out on some slopes 😔

hallow prism
#

Vmv has one area perma winter but its not very tundra like

velvet narwhal
#

i could make a map extension to ridgeside, but then i'd have the urge for a ski minigame

#

just frogger reskinned SDVkrobusgiggle

half tangle
#

ski free

lucid iron
#

tibetian plateau like area

#

no trees anywhere but there's yaks

calm nebula
#

I was about to say I wanted to go ice fishing in game

#

But

#

Next thing I'll be asking if someone added kale yet

hallow prism
#

One day i want to do a hybrid mod that may have purple kale

#

Half the variant : brassicacea oleacera

velvet narwhal
#

Buttons next project, ff14 spearfishing /j

hallow prism
#

As things should be

calm nebula
#

"Carrots are a mod. Right?"

hallow prism
#

At least carrots were several mods 😄

velvet narwhal
#

I have to remember that magic tree seeds are not in fact a mod SDVpufferpain

brave fable
#

is there a Better Crafting alpha? it doesn't seem to load in sdv 1.6.9.24261

calm nebula
#

"Blueberries are a mod, right?"

brave fable
#

[08:55:50 TRACE SMAPI] Broken code in BetterCrafting.dll: reference to StardewValley.ArgUtility.TryGetEnum (no such method).

calm nebula
#

Bluebs just pull and recompile

#

For that one

brave fable
#

a mono repo...

rancid musk
brave fable
#

i suppose that means i can ignore the bugs for a while

inner harbor
#

is it possible to add things to the wallet without C#?

uncut viper
#

the special items and powers tab? yes, but they dont provide any functionality on their own

#

all that tab is is a bunch of icons that are either greyed out or not based on a GSQ

inner harbor
#

nah that's cool, I want to add something unlocked via an event, but it would be nice to store a visual representation of it somewhere.

uncut viper
#

then yeah, thats easy peasy. Data/Powers

inner harbor
#

coolies, thank you!

brave fable
#

if you want them to appear anywhere other than the end of the list you'll need C#, but otherwise you can add to the end with CP

uncut viper
#

you can also reorder them with Special Power Utilities

brave fable
#

oh really? wonder if that'll override my changes

uncut viper
#

Special Power Utilities also replaces the entire powers tab, so probably

brave fable
#

one more thing to test i guess haha

uncut viper
#

but it will also by default try and put modded powers into their own categories so the order wont matter

#

if you disable the categories then they do get sorted via entries in customfields on the powers

#

(i mean they get sorted either way but its pointless when they get partitioned into their own categories anyway)

teal bridge
#

I just noticed that IslandLocation.getFish seems to have permanent side effects for the golden walnuts - has anyone looked at this and if so, is there an explanation for how it doesn't corrupt game state / make the nuts permanently missable if you don't respond to the bite on time?

uncut viper
#

i am unsure of the emotion that emoji reaction is meant to represent

brave fable
#

dorselessness

rancid temple
#

Reminds me of SDVpufferflat but from above

uncut viper
brave fable
#

it may surprise you to learn that pufferflat and pufferfush are one and the same SDVdemetriums

teal bridge
#

I don't think so? It gets called on isNibbling which is before you click (isn't it)?

uncut viper
#

its in the same bit of code in DoFunction that picks a fish and starts the minigame

lucid iron
#

if u want ESC to work as back in menu, do you just have to maintain the previous Game1.activeClickableMenu somewhere and do stuff on button press

brave fable
#

you probably want to add to this:

lucid iron
#

thank im glad i asked

teal bridge
#

That would work in reverse, no? You'd have to set nextClickableMenu in your custom menu to the parent menu in order to fake a "back".
I thought SetChildMenu was for menu hierarchy.

brave fable
#

maybe! i don't know anything about sdv ui

#

speaking of, how come having Better Chests installed hides the cursor in GMCM

#

@ matt please fix

teal bridge
#

I'll go with "Harmony madness"

#

I actually had an issue some time ago where the cursor sometimes didn't show up. I don't remember how I fixed it, though.

brave fable
#

uninstalled better chest? SDVdemetriums

teal bridge
#

No, I mean for my own menus, not GMCM.

#

I never had Better Chests installed.

lucid iron
#

better chest gmcm is the necronomicon

brave fable
#

that would explain it, yep

loud ice
#

Hello?

tiny zealot
#

hello!

loud ice
#

Hi I am rose

#

I am new mod author

#

I am having trouble with my mod

#

I thought come here with to get a experienced mod author to help me 😅

rancid temple
#

What kind of mod is it?

loud ice
#

It’s a Mod adds crops

#

I am booting up my game

rancid temple
#

So is it a CP mod?

loud ice
#

Yes it’s a Cp and spare core

velvet narwhal
#

oh, an animated texture? SDVkrobusnaughty

lucid iron
#

you should post a log if there's error

loud ice
#

It’s cooking recipe it goods crazy when I open the cooking menu

#

Give me sec

lucid iron
#

!json for your content.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.

rancid temple
#

!log for the log

ocean sailBOT
#

Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.

Please share your SMAPI log file. To do so:

  1. Open this page: smapi.io/log.
  2. Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
  3. After uploading, it will show a green box with a URL to share. Post that URL here.

Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didn’t occur in your last session, please load the game to the point where the issue occurs, then upload the log.

loud ice
#

Oh

brave fable
#

just upload your mod files to each of those respective sites and share here SDVpufferthumbsup

#

from the sounds of it it's just a malformed list of ingredients in the recipe

ocean sailBOT
#

Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on Microsoft Windows 10 Home, with 9 C# mods and 1 content packs.

calm nebula
#

So, anything currently on fire?

uncut viper
#

my motivation to write docs for my next version of betas which is the only thing keeping me from uploading it

lucid iron
#

is it the footgun update

uncut viper
#

yeah plus some other misc tiny stuff

velvet narwhal
#

wait what is the footgun update, i thought the harmony thing was gonna be put into SPU

#

as your sole contributor, i am afraid ™️

uncut viper
#

nah i moved it over

velvet narwhal
#

oh

#

yeah i can see why you don't really want to do the docs on that except hard linking harmony

brave fable
#

the error there implies there's 2 recipes with the same name, or 2 ingredients in the same recipe with the same name SDVpufferthinkblob but it looks alright

#

maybe the issue is with Roseloves109_BBQ Sauce using a space

uncut viper
#

is it because of the "s" before the Farming requirement? <--- doesnt know much abt recipes

lucid iron
#

do you have another json included

#

since this one doesnt have Format

uncut viper
#

oh no the s is fine i missed that on the recipe data page

brave fable
#

ok yeah the issue is with Roseloves109_BBQ Sauce

loud ice
#

i see

brave fable
#

rename that to BBQSauce and update all the recipe ingredients and it should be fine?

#

i think your sweet-and-sour pork recipe parses from:
Roseloves109_Pork 1 Roseloves109_MeatSeasonings 1 Roseloves109_BBQ Sauce 1 423 1
to:

1: 423
1: error
#

which would explain the error An item with the same key has already been added. Key: 1

uncut viper
#

im surprised it doesnt try parsing the Sauce as a number first

brave fable
#

same actually, but i won't question it hahah

#

probably a tryparse in there that just fails out quietly

loud ice
brave fable
#

another case where a CraftingRecipeData model would save a life...

uncut viper
#

oh, it just returns a default value of 1 if it cant parse the number...

#

this.recipeList.Add(ingredients[j], ArgUtility.GetInt(ingredients, j + 1, 1)); so it will never fail at the ingredient count

calm nebula
#

1.7 maybe

uncut viper
#

i wouldnt have expected GetInt to even allow a default value, i thought soft failures like that were usually saved for TryGetInt, which is also in ArgUtility

calm nebula
#

I'm really happy about Span split enumerator

#

In net 9

brave fable
#

maybe one day we can replace int quantities with strings just like item ids SDVpufferpensive i want to craft sauce amount of bbq

brittle pasture
#

important question: ||imperial or metric||

brave fable
#

what measurement system is pixels and tiles?

vernal crest
#

Metric

uncut viper
#

i want whichever one uses furlongs

brave fable
#

i suppose imperial uses slugs as measurement, which is a very farming thing to do

tiny zealot
#

.

lucid iron
tiny zealot
#

i don't actually advocate for imperial/us customary measurements, except that fahrenheit is Fine and Not Worse Than Celsius for standard uses (weather, cookery) (obviously for doing science it's worse)

calm nebula
#

Please, ichor, it's currently 298 kelvin

lucid iron
#

i dont like how C and F both use degree

brave fable
#

but celsius is perfect for cooking given how much is done with boiling or freezing temps

#

0 to 100...

tiny zealot
#

shrug. it has never mattered to me when cooking that water boils at 212. it's academic

lucid iron
#

ppl will be like oh its 90 degrees and im like wow you about to boil (literal)

#

that or about to become a right triangle

uncut viper
#

my preferred unit of measurement for cooking is whichever one my oven uses. beyond that its irrelevant to me

rancid temple
#

Well, when it hits 100 it does feel like the juices in my skull are boiling

patent atlas
#

i measure when the water is boiling by looking at it and seeing it's boiling

brave fable
#

btw button if you're spiderbutton you might want to mention how to move things to the vanilla category in SPU

uncut viper
#

100 degrees is my sit outside and relax temperature

#

the example pack mentions that

brave fable
#

i don't want to add a new separate sprite just for the tab category so i want to stick it in vanilla because im lazy

uncut viper
#

i think the docs do too? been a while since ive looked at them

brave fable
#

"Stardew Valley" and "StardewValley" still make my own tab it looks like

#

oh no nvm hold on

#

sorry ive never looked at the code for loc, turns out this thing has like 5 powers entries for the same item

uncut viper
#

also if you dont provide an icon for the tab it just chooses a random icon

brave fable
#

it looks deterministic tho, i got the grey cat

uncut viper
#

(it pulls the first unused icon from a list and when it runs out of icons it uses pufferfish)

#

(so if another mod also takes a random icon and comes before yours it might not be cat)

brave fable
#

they'll have to prize this cat from my cold dead hands (unless i just put the powers into base)

#

imo it makes sense for the powers to be uncategorised by default, since most mods aren't likely to add more than 1 or 2 if any

uncut viper
#

theres a config option to disable categories if they arent explicitly set

brave fable
#

oooh or you could make it a scrolling list with horizontal dividers (like the discord emoji list SDVdemetriums )

#

that feels like a good default behaviour imo

uncut viper
#

i am not keen on doing any fancier UI stuff within stardews UI system,

brave fable
#

aw it's as simple as Utility.drawLineWithScreenCoordinates though

uncut viper
#

the controller support alone with the neighbour IDs is what would be the biggest pain

#

the vanilla powers tab is already a lil bit broken in that regard

#

besides, the categorization was like, 90% of the point of the mod in the first place

brave fable
#

truuue

#

yeah gamepad nav is a pain at first, for things like these contextual lists you often need to have some weird extra behaviour tacked onto the usual neighbour system too

uncut viper
#

i tried very hard to implement it nicely with SPU and it is, at least, not more broken than vanilla. good enough SDVpufferthumbsup

#

(the snapping gets fucky if you move to a next page and some icons disappear as a result and the controller snaps to icons that are no longer there, but the collections page and vanilla powers tab also do that, which is very minor. otherwise it all works i think)

#

also it wouldnt be as simple as adding a horizontal line bc it'd also need to introduce scrolling, which is hell on earth

loud ice
brave fable
#

i think the reason it snaps to nonexistent icons is due to the game making all traversals two-way if done by neighbour id, adding the current to the next as a new opposite neighbour

rancid temple
#

It took waaay too long to get this working lmao

#

I think I need to take a break, my brain is refusing

uncut viper
#

i know why it snaps the way it does, its just not what it reasonably should do, but i cant be bothered to fix it

brave fable
#

it's not worth fixing 😌

uncut viper
rancid temple
#

I'll test, I intentionally removed the gold for that test

brave fable
calm nebula
#

I will put a nonbreaking space in this item ID

#

Blueberry

lucid iron
#

btw you should use {{ModId}} token

rancid temple
brave fable
#

fond memories of ppja using french diacritics in item ids

lucid iron
#

prismatic cat mod when

loud ice
rancid temple
#

Ugh, patching draw

brave fable
#

thank you! i'll have a 60% cut of the profits and exclusive movie rights 😌

rancid temple
#

Actually, SpaceCore animations could probably make a slightly janky prismatic cat lol

lucid iron
#

oh i thought there was a framework

brittle pasture
#

someone made a prismatic everything framework

lucid iron
rancid temple
#

Oh lol, awesome

lucid iron
#

pets should work they only suffered in farmer renderer

loud ice
rancid temple
#

Love all these CP frameworks lol, nice to not have to deal with a bespoke content pack

brave fable
tiny zealot
brave fable
#

then people could pass in like Cursors or Cursors1_6 and grab any sprite in the game, too

rancid temple
#

My fish pond color mod that is handled by CP in 1.6.9 is using content packs but only because I didn' t know I could make custom assets for CP lol

#

But with 1.6.9 I can finally just gut all that stuff I didn't want to work on anyways

lucid iron
#

hm the content pack for thing does have access to mod file internals?

uncut viper
#

being the ContentPackFor does let you get the mod folder files directly

lucid iron
#

but i feel its better to make ppl go through cp

uncut viper
#

but unless you plan on saving a file into it i don't think its very necessary most of the time

lucid iron
#

so that their stuff gets into content pipeline

uncut viper
#

that too yeah. lets others edit it with CP

brave fable
#

a bespoke non-CP content pack does also let you sidestep all the Format and Changes stuff in the file

brittle pasture
#

My toggle items mod used a custom pack too, also because I didn't know I could use CP assets
luckily I'm also literally its only user

lucid iron
#

i hope more olive oil mods come out

uncut viper
#

using a custom content pack format also means abandoning everything that is tokens and When conditions and whatnot

#

unless you wanna reimplement it yourself

brave fable
#

yes, i believe i will reimplement the CP content editing structure

tiny zealot
brittle pasture
#

it seems we know what ppl's favorite herb is

teal bridge
lucid iron
#

do u think ppl should be able to turn off DayUpdate machines

uncut viper
#

i think users should be allowed to fuck things up if they want to. sometimes.

brave fable
#

i think users should be seen and not heard

teal bridge
#

(as long as you don't have to fix it for them, right?)

uncut viper
#

if you give someone a hammer and they break their drywall thats not your fault

teal bridge
#

It is not. But they'll call you about it anyway.

lucid iron
#

hm i just dont know how much ill have to patch bolbthinking

#

the worm bin is confusing

uncut viper
#

if you give someone a hammer and point them at the wall thats your fault

lucid iron
#

ill just try it tho if it works it works

brave fable
#

why would somebody want to turn off the machine though?

#

do the worms need a day off

lucid iron
#

yea they are unionizing

teal bridge
#

I would still say that's their fault for not knowing they were supposed to use a nail instead of hammering a giant hole in the wall.

uncut viper
#

chu's mods whole point is turning on and off machine rules

lucid iron
#

its companion mod to automate/junimatic

brave fable
#

what do you mean f

teal bridge
#

What happens if you actually try f?

brave fable
#

surprisingly, the same thing? not sure what you hoped hahah

teal bridge
#

Didn't hope for anything in particular. Just would have been funny if it recognized f after telling you that.

brittle pasture
#

actually, hmm, that wouldn't work if the machine has more than one rule

#

(but why would it)

#

actaully just patching CanApplyOutput should work globally?

rancid temple
#

Can EditData Fields be used to jump into a list?

lucid iron
#

im doing silly transpilers

#

well not that silly, i rate it 3.5/5

rancid temple
#

Slightly more silly than usual

#

Or is 0 the usual?

lucid iron
#

i did go and implement per item disabling tho

brittle pasture
#

if it's a list of strings you can use the strings themselves (since CP 2.3.0)

#

if it's neither I think you're stuck with the index

lucid iron
#

say there's not really good reason to add jump to existing block of instructions when u can just add instructions again right think

rancid temple
#

Thanks. Uses Id I just haven't figured out what the right format is I guess

brittle pasture
#

though out of curiosity/ignorance what do you need transpiler for? if you postfix CanApplyOutput that should work for disabling trigger rules?

lucid iron
#

the rule drills down to per trigger

#

which is in a loop in CanApplyOutput

brittle pasture
#

ah, forgot you can have multiple triggers in one rule
brainfart moment

lucid iron
#

doing it by transpiler did let me do error message in a clearer way so its fine

uncut viper
#

if you dont define iconsourcerect it just defaults to the entire image it finds from IconPath

#

(ideally you still define a square sourcerect but like SPU has never stopped you from not using a square image. it'll just look ugly if its not)

brave fable
#

@ivory plume as promised, behold the fruits of your labour SDVdemetriums somehow the trashcan looks like an ill-fitting lifejacket with frame 117 tho

uncut viper
#

that looks sick as hell

velvet narwhal
#

I'll join blueberry university just to learn that

rancid temple
#

I give up, two separate TargetFields it is

#

Or I guess one TargetField and one Fields or TargetField

#

At least for custom pets it can all be done together

past knot
#

i finally am almost finished with my mod. my main problem now is figuing out how to add custom items to the game and shops

brittle pasture
rancid temple
#

Trying to edit the CustomFields field and any of the Breeds AdoptionPrice

#

In one patch block

grizzled marlin
#

Hi everyone, I had an idea for a mod that is probably too complex for how simple it sounds. I want to pick up and throw bombs, like bomberman. Roughly how complex would it be to change this item type to something the user can interact with? I have no concept of where to start reading

uncut viper
#

bombs are just animated sprites on the ground so like, with C# anything is possible ofc but its not gonna be a simple change

rancid temple
#

Since they're on different levels, I can't use just one TargetField and I can't figure out how to edit lists with Fields

past knot
#

does anyone have a tutorial or guide on adding in custom items?

velvet narwhal
#

stardew-wiki you ok?

rancid temple
#

I have a tutorial on adding a fruit tree, which has some adding an object in it

uncut viper
#

the content patcher docs for EditData and TargetField are enough to know how to add items to shops

rancid temple
#

I still haven't done a simple adding an object and adding a regular object to a shop

brittle pasture
velvet narwhal
#

i have both objects and shops

rancid temple
#

I also have adding a recipe to shops

calm nebula
#

Button pressed handler. Parabolic arc

#

Little bit of art

rancid temple
calm nebula
#

I have no clue how you draw a parabola in monogame

uncut viper
#

theres probably some weirdness with making that parabolic draw synced in multiplayer too isnt there

#

actually i wonder if you can just reskin a slingshot

velvet narwhal
#

(oh cloudflare itself is down)

brave fable
#

spu icon scaling looks a liiiiittle funny even at 16x16. what size is it drawing to?

uncut viper
#

i meant moreso the bomb flying across the parabola than the action of tossing itself

calm nebula
#

No. That is easy

tiny zealot
#

atra, let me know about it so i can fix vanilla's baby toss, which does not sync over multiplayer in my experience

calm nebula
#

(I can't find my gif)

#

Drawing a spline in monogame I have no knowledge about

#

I assume it's possible

uncut viper
#

most of the default icons it uses are 16x16 (just not that concernedape one)

#

the tab backgrounds end up at 64x64 pixels in scale so it just tries to take whatever image you put in it scale to slightly less than 64x64

#

to fit over the background nicely

brave fable
#

hum, i figured you'd just use some destinationRectangle: new(x, y, 16, 16)

uncut viper
#

that would only allow for 16x16 icons to be used

brave fable
#

it squashes down the icon to 16x16, basically the same as what you have

#

but like, different size haha

#

either way it's funny it ends up slightly off when it looks fine there. wonder how 64/16*1.5 ends up like that

uncut viper
#

what would squash it down? the sourceRect argument in the ClickableTextureComponent constructor just defines what space on the source texture to use

brave fable
#

oh the icons are clickablecomponents, not just the tabs? i should probably actually look at the code haha

lucid iron
#

jokes worm bin isnt even day update its OutputCollected, MachinePutDown

uncut viper
#

i guess technically the icons didnt need to be, but they are bc i was copying a lot of the code from the vanilla collections page

#

just didnt bother separating them

#

what is your skill icon supposed to look like, though? bc it doesnt look off to me bc i dont know what the original is

brave fable
#

it's a little more obvious zoomed-in:

uncut viper
#

i mean, that looks fine to me. but i dont know what the source image you're using is

#

or, wait, i see, it has a background with it and isnt transparent

#

i didnt notice that at first and probably never would have had you not made me SDVpuffersquee

brave fable
#

left is in menu, right is source 16x16 at 300% scale

uncut viper
#

the 1.5 in that formula from earlier was just from trial and error with just me subjectively judging what magic number made the icons look best

brave fable
#

it's a bit squished lol

uncut viper
#

look best on average across all the icons i tried* rather

#

since i thought a lot of em didnt look so great if they lined up right with the borders of the tab, but also didnt want them too small either for obvious reasons

brave fable
#

hmmm the only way i'd think to solve it would involve replacing tabicons which would suck

#

wonder why the other icons look better than mine

uncut viper
#

they all have transparent backgrounds and a small bit of transparent buffer zone around them

#

so its just a lot harder to notice that theyre not pixel aligned

brave fable
#

this'll do SDVpufferthumbsup thanks for the update!

teal bridge
#

Anyone else had the game get into a confused state when exiting a title submenu? I've tried just about everything I can think of, including exitThisMenu() and TitleMenu.subMenu = null and they're all epic fail. Somehow it works with GMCM.

#

It also goes screwy hitting the "back" button that the game itself adds.

tiny zealot
#

i have had child menus get fucky, but i don't recall exactly how.
i think what i have currently is just calling SetChildMenu on the parent menu, and then not doing anything special beyond that, letting the default code handle it

teal bridge
#

That's what exitThisMenu seems to do as well; unfortunately didn't work in this instance.

#

I did just find that forcing a transition back to the GMCM list without ever setting null seems to survive, so... I guess that's a workaround.

#

Oh, nope, I lied, that only works using the menu's own back button, not the built-in back button on the title screen.

lucid iron
#

does that mean i should just track the menu stack blobcatgooglyblep

#

instead of using SetChildMenu

teal bridge
#

Pretty sure whatever this is is specific to the title menu.

lucid iron
#

shenanigans

brave fable
#

you may in fact want to use nextClickableMenu hahah

teal bridge
#

I don't think that's at all applicable here. TitleMenu doesn't use that, GMCM doesn't use that.

#

nextClickableMenu only controls activeClickableMenu.

brave fable
#

oh i meant more for chues use than your issue

teal bridge
#

This. Like, what the actual fuck. And while it's doing its crazy dance (which never stops), none of the buttons are clickable.

tiny zealot
#

oh yeah, i saw that once. can't offer any more advice though; i only open my title screen menu directly from GMCM

teal bridge
#

Somehow the titleInPosition gets set to false, and in this very fun logic that prevents isTransitioningButtons from ever becoming false, so that explain why the buttons are unresponsive. Funny thing is I can click on the windowed-mode button or the mute button just fine, because they're outside that condition.

#

But I don't get it. There is only one line in the entire SDV code that sets titleInPosition = false, and I put a breakpoint there, and it does not get hit at any point during the above series of events.

next plaza
#

You’re welcome

#

(I forgot that line was there… would’ve forgotten why too if not for the comment)

brave fable
#

// This hack lets us cause unimaginable chaos

teal bridge
#

Haha, well at least we're maintaining a sense of humor about it. I think the reason it does not break other mod pages is not because they're doing anything different, but because GMCM disables the "Back" button by overriding isReadyToClose.

#

If I do the same thing, disable the back button, and avoid ever nulling out the subMenu and instead force it directly back to GMCM, then everything plays nice. Fragile, but not broken.

next plaza
#

/me releases GMCM 473.0.0, causing 472 semantic versions worth of compat woes

#

Dang it mobile

#

Failed me with /me again

#

In all seriousness the plan was to do 2.0 with 1.6 since c# mods were breaking anyways - if I were to do that now I’d have to maintain compat with the 1.0 API

teal bridge
#

This is actually far less of an invasive integration than the RadialMenu version. I just prefix OpenModMenu to redirect, and then have to call OpenListMenu when it's closed.

#

Of course those methods and the class they're in are all private, but eh, details.

next plaza
#

Maybe I should just add a method for opening a custom config menu with your mod entry

teal bridge
#

Oh, and I have to add one dummy option so GMCM doesn't think it's title-screen only.

next plaza
#

“Your” being in the api

#

Not you specifically

teal bridge
#

Well, that would definitely be a nice addition to the API, though SpecificModConfigMenu does some... interesting things that users would have to replicate.

next plaza
#

In theory 2.0 would alleviate the need for that a lot anyways, since it’d have better custom widget support

teal bridge
#

Perhaps so, although I can't imagine trying to replicate all the stuff I've personally done over the last week in any kind of Pintail API, it's just far too complex.

#

But I'm the 1% case, not the 99%

vernal crest
#

I know that dynamic tokens can't be refreshed with patch reload, but I'm not sure when the game actually loads them so I don't know if I have to exit the game entirely or if going back to title screen is enough?

vernal crest
#

To answer my own question, going back to the title screen is enough, hooray!

boreal fern
#

hey all, not sure where to post this but I was musing on a mod idea and I'd like to know if it's feasible to implement.
For language learning purposes, whenever there's a dialogue box, I'd like to parse each word and underline it, making it clickable as well.
On click, a sub-menu opens where I can mark the word from a few options (e.g. unknown, known, unsure, etc).
Then that word gets saved into a local sqlite db and is used to color the underlined words accordingly.

velvet narwhal
boreal fern
#

yeah I am. I wrote some tiny mods eons ago with storm api

velvet narwhal
#

from the minimal i know of c#, it would probably be better to parse the sentence string rather than individual words, since they're broken up either by commands or completely new dialogue strings

boreal fern
#

yeah that makes sense. so once I run my custom parser, how would I go about making the words clickable with a menu opening?

velvet narwhal
#

i imagine you'd have to reimplement the dialoguebox ui with your own variation so that they have clickable reactions rather than what it is right now SDVpufferthinkblob

vernal crest
#

I don't think any of the programmers are around right now so it might be worth asking again later today (everyone starts getting very active when I go to bed lol)

velvet narwhal
#

i can only spitball, the c# coders are well tucked in and asleep

boreal fern
#

fair enough lol, i'm gmt+9 so when i'm awake people are usually asleep and vice versa

vernal crest
#

You're only an hour behind me!

finite ginkgo
#

You would probably have to reimplement the Dialogue box UI yes, my only iffy part is how do you handle questions (where there's already clickable components over the words)

boreal fern
#

seems like a chunk of work.
other methods could work too, e.g. if it's possible to hit a hotkey and have a window pop up. what I mainly care about is marking words in some way with colors, particularly the underline if possible

velvet narwhal
#

SDVpufferthinkblob i imagine you'd still have to do the reimplementation even if you did a hover-over style since there isn't really anything except questions that have 'interaction' (aside from clicking)

#

oh so a similar implementation of swapping languages on the fly, maybe? though we've tested debug language hotswaps and tool strings are acting strange unless the game is restarted

boreal fern
#

it's more orthogonal, but language switcher or side-by-side viewer mods would also be helpful.
in my case I play multiplayer and I want to log words into sqlite for later viewing, as well as spotting new unknown words

#

looking at that discussion, my initial assumption is the game only loads specific fonts based on the language chosen, so attempting to render a different fontset is causing those glyphs

wise berry
#

Might wanna look into this mod with a related concept https://www.nexusmods.com/stardewvalley/mods/23834

Nexus Mods :: Stardew Valley

This mod automatically puts any dialog or read journal entries into the computer clipboard. I created it to help translate things when playing in Japanese while I'm learning the language. This mod sho

boreal fern
#

ah i wish i had known about this lol, i've been playing with a second laptop to the side and transcribing paragraphs manually

finite ginkgo
#

You could possibly add a new childmenu to DialogueBox that you open with a keybind that grabs the current dialogue (might need custom parsing for questions) and then does your functions with it;
SDVpufferthinkblob

velvet narwhal
#

i now have experience with counts on fingers 4 frameworks now SDVpufferclueless

light verge
#

Hi, I'm trying to add "Big Fish Pond" as a mod and when I can do most things with Content Patcher, there are few things I cannot overcome without modyfing original gamecode - placing Legendary Fishes in Big Fish Pond but not in regular one.
I'd like to change condition in StardewValley.Buildings.FishPond.GetRawData() from:

if (contextTags.Contain("fish_pond_ignore))

To sth like this:

if (contextTags.Contain("fish_pond_ignore) && Building.Name != "Big Fish Pond)

But I have no idea how to get fish pond name/id reference, tried with different approaches but nothing worked, anyone can explain what to do?

rancid temple
#

You're gonna want to harmony patch the method

#

(Though, also because of how it works this is usually assumed and just trying to access one of the variables on that class is usually good enough)

#

In other news, I finally reached 30k downloads, so lifetime premium yay! (I can't enable it because I still have premium going lmao)

tiny zealot
#

congrats!

rancid temple
#

Thanks! It feels like getting mod author lol, now my download numbers matter as much as my server level SDVkrobusgiggle

tiny zealot
#

maybe one day i will also get mod author

vernal crest
#

Maybe ichor is colourblind SDVkrobusgiggle

tiny zealot
#

(i'm referring to getting 30k UDLs on nexus)

rancid temple
#

Ah, is that the criteria for getting recognized as a mod author on there?

calm nebula
#

Lacey deserves the world

rancid temple
#

I guess they don't link it with that number, though I do see what you meant

vernal crest
#

You only need 1,000 UDLs to be given the "hooray you're a recognised mod author" message on Nexus though?

tiny zealot
#

recognized mod author is 1k. 30k is lifetime premium

rancid temple
#

Ah lol, I really glossed over those messages for a while

vernal crest
#

You are just out here to confuse everyone on purpose huh :P

rancid temple
#

I had a few free premiums before I even realized that's what they were sending me emails about lol

tiny zealot
#

sorry, when you said getting lifetime felt like getting mod author i tried to make a joke. i'm sorry, i'm sorry, i'm trying to remove it

vernal crest
#

I am easily confused, ichor!!!

#

Sorry I am just teasing you

#

Ooh roku I didn't even think about it but I was successfully barging into people's homes today!

rancid temple
#

Nice nice

#

Took me a moment to remember why that was good lmao

vernal crest
#

Heheh

#

Is there any way (with CP only) to tie a config option's value to another config value? Like if a user selects "brown hair" then "sprite replacement" is automatically chosen?

tiny zealot
#

i don't think you can link the chosen values, but you could do some dynamic-token-fu to make the results link

rancid temple
#

Yeah, in CP you would just have to use dynamic tokens

tiny zealot
#

i.e. for whatever controls "sprite replacement", have it check for the brown hair option and prefer that over its own

vernal crest
#

Thanks. Trying to decide if it's going to be better to do that or just give the user control and hope they don't fail to understand what's going on.

rancid temple
#

I'm leaning more towards less for the user to do because it's bad enough when they don't have to do anything extra

tiny zealot
#

do they need to be separate config options at all? could brown hair just control both?

vernal crest
#

I don't necessarily need to have the sprite replacement as an option, but I feel bad about it because it was originally meant to be a portrait mod for people who were actually using Emyn's Diverse Ginger Island and if I include the sprite replacement then a person doesn't need EDGI at all. And even though Emyn's permissions allow it, it feels a bit rude :/

#

I can't just ask Emyn about it because they haven't been around for ages and haven't responded to my original DM about the mod.

rancid temple
#

Could just EditImage Overlay the parts you're changing if you want to keep the requirement

vernal crest
#

But Emyn's original sprite was broken (or broke in a later update of the game, not sure) so bits of the bird appear and I don't want that happening with my brown-haired version because it will look like something I am doing wrong haha

rancid temple
#

Ah, that is a problem

oak dragon
#

heeelp I want to draw all NPC portraits in my mod, and I know the game should already have the portrait loaded, what method should I use to access it?

vernal crest
#

I feel like I am just being a sook about this but it's an area where I don't have a good grasp on the social rules and therefore my autism is running around in a panic lest I break a rule and be ostracised forever (catastrophising) lol

oak dragon
#

oh just now I tried to search "NPC", Strawvalley.NPC seems like something I'm looking for

tiny zealot
vernal crest
#

Okay I am just being a sook. Emyn's permissions clearly allow modifications and asset use without asking as long as I turn DP off and I am going to be very clear about credit. If Emyn comes back and does have a problem, I will respect their wishes.

rancid temple
#

Any more specific than that? I'm not sure what you mean there

oak dragon
#

Draw portraits of NPCs using assets that are already loaded in the game

vernal crest
#

Isn't that just going to happen anyway as long as they're NPCs?

tiny zealot
rancid temple
#

I am trying to think if I've ever seen a portrait separate from a dialogue box, I'd be surprised if they aren't hardcoded together

calm nebula
#

They are a little abstracted!

#

For the appearance system maybe

oak dragon
tiny zealot
#

you can find out how that mod does it in the source code

oak dragon
oak dragon
rancid temple
#

I am wondering if this is vanilla behavior lol, trying to think if I have any mods that would make that info pop up

hollow hazel
#

it is, im pretty sure

rancid temple
#

If the gold cost wasn't on that pop up, it would be partially visible under it, but that's still kind of awful lol

hollow hazel
#

ill check one sec

#

yep completely normal

rancid temple
#

Cool thanks!

hollow hazel
#

np!

rancid temple
#

Okay Nexus, that's cool, I didn't want to be able to edit this new mod page anyways SDVpetcatangy

#

Wiki slow as hell, maybe I should give up on modding today lol

calm nebula
#

The outside world is pretty

rancid temple
#

The weather is nice this morning, but my health doesn't afford much in the way of actually enjoying the outside anymore

whole raptor
#

Oh, DP reports with the new system dropped, I did not expect them so soon

noble jolt
#

omg..... I found this in the farm.cs file...

else if (Game1.whichFarm == 7 && Game1.whichModFarm.Id == "MeadowlandsFarm")
        {
            for (int x = 47; x < 63; x++)
            {
                base.objects.Add(new Vector2(x, 20f), new Fence(new Vector2(x, 20f), "322", isGate: false));
            }
            for (int y = 16; y < 20; y++)
            {
                base.objects.Add(new Vector2(47f, y), new Fence(new Vector2(47f, y), "322", isGate: false));
            }
            for (int y = 7; y < 20; y++)
            {
                base.objects.Add(new Vector2(62f, y), new Fence(new Vector2(62f, y), "322", y == 13));
            }
            Building b = new Building("Coop", new Vector2(54f, 9f));
            b.FinishConstruction(onGameStart: true);
            b.LoadFromBuildingData(b.GetData(), forUpgrade: false, forConstruction: true);
            FarmAnimal starterChicken = new FarmAnimal("White Chicken", Game1.multiplayer.getNewID(), Game1.player.UniqueMultiplayerID);
            FarmAnimal starterChicken2 = new FarmAnimal("Brown Chicken", Game1.multiplayer.getNewID(), Game1.player.UniqueMultiplayerID);
            string[] chickenSplit = Game1.content.LoadString("Strings\\1_6_Strings:StarterChicken_Names").Split('|');
            string chickenNames = chickenSplit[Game1.random.Next(chickenSplit.Length)];
            starterChicken.Name = chickenNames.Split(',')[0].Trim();
            starterChicken2.Name = chickenNames.Split(',')[1].Trim();
            (b.GetIndoors() as AnimalHouse).adoptAnimal(starterChicken);
            (b.GetIndoors() as AnimalHouse).adoptAnimal(starterChicken2);
            base.buildings.Add(b);
        }```
#

THIS is how he added the coop to the meadow farm.

rancid temple
#

Yeah, Meadowlands do be like that

lucid iron
#

there was mod for that i think

#

adding buildings on farm create

rancid temple
#

SpaceCore I think lets you do that?

noble jolt
#

oh?

rancid temple
#

There might have been another, I'm coming up blank though

noble jolt
#

is the documentaion on the nexus page?

lucid iron
rancid musk
noble jolt
#

With this I can update my modded meadow farm map to have a coop. ♥

lucid iron
#

the docs r on github, linked from nexus

oak dragon
# oak dragon heeelp I want to draw all NPC portraits in my mod, and I know the game should ...

Referencing “lookup anything”, I finally solved the problem: using "Utility.getAllCharacters(). Distinct()" to get a list of all NPCs, then iterate through the elements in it (SDV.NPC type), it has a method "someNPC.Sprite.Texture" to get the texture of a certain NPC, and finally use sprite to draw directly. I don't know if this makes sense, but still give feedback (And that is how lookup anything does it)

lucid iron
#

oh i think LA did that mainly because npc data was quite different before

oak dragon
#

What is the difference?

lucid iron
#

iterating through Data/Characters might be faster, not sure Bolb

#

its loaded as Game1.characterData

oak dragon
#

Iterating data/ is a more straightforward way, but this requires reloading the texture, which I try to avoid by directly using the already loaded texture

royal stump
#

the loading's generally not an issue (especially with mods potentially editing them anyway), but at a glance, I'd guess iterating once to get all NPCs, caching them, and referencing NPC.Portrait would be the more efficient route SDVpufferthinkblob

oak dragon
#

I don't know if reloading the texture will hurt performance (even if it's a slight one), but I think now that the texture is loaded, just use it

royal stump
#

(Portrait being the field for the dialog box texture, whereas Sprite is usually their overworld sprite or w/e it'd be called)

#

the NPC fields should already have the reloaded textures whenever they change, whereas you'd need to track edits or reload on-demand if using data directly

#

contextual, but it sounds like just getting the NPCs once would be quick

lucid iron
#

if its not that slow then just use ur current code kyuuchan_run

#

caching means u gotta handle invalidate

spice inlet
royal stump
#

caching the NPCs alone should be safe at least for a given game day, I think SDVpufferdizzy

#

getAllCharacters() or -Npcs() into a list, then checking their portrait per tick or w/e the usage is

oak dragon
#

sorry but what is w/e XP

royal stump
#

shorthand for whatever

#

(and whichever, whoever, etc, sometimes SDVkrobusgiggle)

oak dragon
#

got it

proud wyvern
#

oh and there are even worse cases

#

oof for these people

#

unless they were "gaming the system", then not oof

lucid iron
#

well, at least those mtl dp farmers r impacted too

oak dragon
lucid iron
#

ig this is to encourage tl to go on main page with dp share setup?

royal nimbus
#

where would spouse portraits be located? i didnt see them in the furniture png

brittle pasture
#

one of the new 1.6 tilesheets

lucid iron
#

TileSheets/junimo_furniture.png

royal nimbus
#

ah thank you!

royal stump
lucid iron
#

yea and i wouldnt know what s a fair % share to put KasumiDerp

#

ig its not important for me who dont make narrative mods

brittle pasture
#

looks like you need to start making some to get an answer

royal stump
#

(I feel kinda guilty that so many t/ns exist for FTM's config, only one option matters at all)

vernal crest
upper rune
#

First time trying to mod, trying to add some crops. Keep getting errors when I try to load it. Any way I could post the files and have it proof-read? I don't know what I'm doing I pretty much just copied and edited the code of another small crop mod.

brittle pasture
#

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

brittle pasture
#

posting the error you had could also be useful

#

!log

ocean sailBOT
#

Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.

Please share your SMAPI log file. To do so:

  1. Open this page: smapi.io/log.
  2. Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
  3. After uploading, it will show a green box with a URL to share. Post that URL here.

Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didn’t occur in your last session, please load the game to the point where the issue occurs, then upload the log.

upper rune
#

Ok, looks like this might be the problem. How would I fix it?

brittle pasture
#

You're missing commas between the entries in Season

#

You have it right in DaysInPhase below

rancid temple
#

(Also you can just share the website link here)

#

I guess they changed permissions on this channel, Villager's didn't used to be able to post images here lol

brittle pasture
#

I recall you have always been able to post images in making mods and (old) modded support
(And by always I mean 'when I joined back in Feb this year')

rancid temple
#

Yeah, there was like a relatively short period of time where Greenies were complaining about not being able to share images and were being directed to post in the images channel

#

Maybe to avoid that specifically lol

uncut viper
#

i also recall making mods being an exception to that by the time i joined

brittle pasture
#

Also @upper rune what text editor are you using? You should use one of the editors with JSON syntax highlighting so you can catch these issues in real time

royal stump
#

probably a temporary/cancelled moderation thing at some point? one of my first 10 20 posts was an image here in 2018

upper rune
#

Visual Studio Code

brittle pasture
#

that one should work. do you have JSON syntax highlighting?

plucky reef
#

VSC is good, Notepad++ has a JSON plugin too although I don't like their pretty print option.

upper rune
#

it's definitely highlighting the brackets. i haven't looked at the settings

oak dragon
#

VScode can hightlight your json format error

rancid temple
#

(now I'm wondering if I hallucinated the entire thing, discord search fails me yet again)

oak dragon
vernal crest
#

Maybe you accidentally fell into modded-farmers for a few days lol

#

I only learned that there was an image posting restriction anywhere in the server in the last week or two haha

upper rune
#

I updated the commas, still getting this block of red text 💀

rancid temple
#

Missing a closing brace ] for Changes it seems to think

brittle pasture
#

you need to put the last ] below the last }, and put another } below that ]

#

make sure every opening bracket has a matching closing bracket in order

rancid temple
#

VSC should have little red squiggles where you've misplaced things

#

As long as you have the language set to JSON

oak dragon
#

Hover over the squiggles to see what you should modify

upper rune
rancid temple
#

Looks right

upper rune
#

There is less red text now but still not working right

rancid temple
#

That's for a different json

#

data/Objects.json

upper rune
#

oh I see

rancid temple
#

Looks like misplaced ]

oak dragon
#

In your VSCode are there some squiggles like this?

upper rune
#

there were some commas after brackets highlighted like that. I deleted them. But seemed like it was missing brackets that was the problem. No red text now, checking that the shop has the seeds

rancid temple
#

Yeah regular json complains about hanging commas, but you can actually ignore those for newtonsoft (the thing SDV uses)

#

If you switch the language to JSONC you can actually use comments and leave hanging commas without it complaining at you

upper rune
#

oh ok

rancid temple
#

Anything commented in the code will be ignored, unlike normal json

upper rune
#

Was able to purchase the seeds but they aren't able to be planted

rancid temple
#

Sounds like you didn't link your seed objects and crop id correctly

vernal crest
#

It will still grump about hanging commas with jsonc, unless I'm just doing something wrong.

rancid temple
#

Oh I thought it suppressed that, to be fair I don't leave hanging commas so I'm not super sure on that

#

I despise them

uncut viper
#

json5 doesnt care abt commas or comments

vernal crest
#

Heh almost every single file of mine is yellow because of all its complaints

rancid temple
#

No yellow, this is cursed

vernal crest
#

Hmmm I must examine mine then because I have given up removing hanging commas

upper rune
rancid temple
#

Depends on how you're doing it

#

You shared a separated crops earlier, so if your objects are like that too, you need to share both of those

#

I love Include for organization, but I hate it for how annoying it makes to diagnose issues

rancid temple
#

Is the crops you shared earlier still accurate?

upper rune
#

yes

rancid temple
#

Mk then yeah, you named your seed object Houndstongue_Seeds but your crop WitchGarden_Houndstongue_Seeds they need to be the same

upper rune
#

Let me try that

plucky reef
#

that was my map issue, I was tearing my hair out trying to see why it wouldn't load farmhouse furniture but it was because I loaded the additionalfarm part with a Teoshen_GladeFarm and the editmap part with Teoshen.GladeFarm.

rancid temple
#

When working in CP I like to just use the {{ModId}} token, then I never have to wonder if I typed it right each time

#

Sometimes in C# if I find myself using a string a lot I'll just make it a const lol

plucky reef
#

{{ModId}} is good tech.

upper rune
#

It looks like it's working! Seeds in the ground. Thank you guys so much

royal nimbus
#

hey does traveling merchant have a name? i noticed they called her suki in sve but im not seeing anything official. wondering cuz i made a portrait for her

rancid temple
#

In vanilla no

royal nimbus
#

ah so we can just name her whatever for mods then?

rancid temple
#

I guess if you don't plan on supporting SVE

royal nimbus
#

or should i call her suki like sve does?

#

my mod will be compatable with it

tiny zealot
#

up to you. if you just made a portrait i don't think you even have to choose, do you?

rancid temple
#

I can't remember if she's like a full on NPC in SVE

royal nimbus
#

idk. i dont think so?

royal nimbus
rancid temple
#

I thought she was like an anti social one or something but it's been a month or two since I was diving in that code

royal nimbus
#

i might just call her suki cuz im making my mod work with sve

brittle pasture
royal nimbus
rancid temple
#

Ah, well thar you go

tiny zealot
#

who's working on the turn-the-map-sprite-into-an-npc mod for her? /lh

rancid temple
#

Sounds like a companion mod for Lacey :P

tiny zealot
#

oh, not for me. i'm too busy with that one /lh

next plaza
# proud wyvern ouch

Oh, I didn't realize these were out. Mine's not as bad as I was expecting (unless you compare to March instead of the general average before/after that, in which case <1/2)

royal stump
#

on top of the math change, stardew's DP share has been all over the place this year SDVpufferdizzy

rancid temple
#

Pumped some more into it for the update I guess

lucid iron
#

i wonder what the 2nd peak in july is about

next plaza
#

Ah, that explains why July was higher than June/August for me

royal stump
uncut viper
#

my guess would be that stardew didnt actually dip in mod popularity that much in april, it just got shoved down proportionally by fallout

#

since its still based on like, proportions right, even with the new system. like every game still takes from the same money pool proportional to how many downloads they got

royal stump
#

yeah, there's a set amount put in by nexus each time, so it gets divided up by (relative) popularity however they do it

calm nebula
#

(I have not looked at my Nexus account in half a year.)

#

(I assume my dp is 0 these days.)

#

(Good.)

royal stump
#

yeah, not what I expected, but it's a weird system to get any sense of scale on

uncut viper
#

i still get dp for my broken and useless 1.5 mod so your dp is probably not 0

royal stump
#

still getting a decent share from Exclusions even though it's just for legacy support now SDVpufferdizzy

calm nebula
#

I keep on forgetting to set up a recurring donation to against malaria

#

(Part of the "leaving modding" thing that I legit feel guilty about.)

royal nimbus
#

hey kind of a silly question but are we able to use a single png in more than one instance? i think i heard that you can't and every png can only be assigned to one thing via the content json.

for example. i have one portrait that id like to use for a season variant as well as the regular variant. can i do that? or do i need to make a season variant for it?

royal stump
#

I haven't worked with seasonal data myself, but generally you can just load the same png in both places and it'll be fine

#

using the same logic you'd use if there were separate images

royal nimbus
#

okay ;o

uncut viper
#

no reason you cant reuse it

lucid iron
#

the thing you can't do with just content patcher is copy an already loaded target to another target

royal nimbus
lucid iron
#

but if you just want to load 1 png to 2 different targets then yea go for it

royal nimbus
#

k cool

#

ty

tiny zealot
#

depending on your setup (e.g. the npc appearance system), you can probably also load the png just once, and reuse the game asset you loaded it into

vernal crest
#

I have mods from 2017 in my current playthrough list so I am out here helping all the retired modders!

velvet narwhal
shut loom
#

Just saw my last three month report... 🫠💀

lucid iron
#

cus i figured they can just post it separate if they cared about that

velvet narwhal
#

oh wow okay-- time to see what i'm doing

royal stump
#

(oh, just realized i misread that comment earlier, as "they want translators to put everything on a single mod page of their own" SDVkrobusgiggle)

velvet narwhal
#

my zh translator ahead of the curve, i asked them if they wanted their own page and they politely declined SDVkrobusgiggle

brittle pasture
#

Also the one who translated my poop mod 40 minutes after it went live, no DP enabled on their tl

rancid temple
#

I don't blame them for not wanting to have to manage their own Nexus page

shut loom
#

I am thinking about compiling all my anthro portraits made so far (without collab) into one mod. Is this a good idea? (Sorry, bad english)

royal stump
#

I don't think it'll affect DP much, but if they're related and users would usually download them all, merging could be convenient

velvet narwhal
#

i don't recall all the reasons why they did this dp change, but i think it is because of people with multiple mods that just have like 1-2 items? as well as, y'know, pathos being the driving force for stardew modding so the contribution factor is higher for framework authors?

#

this is my vague and hazy remembering though

next plaza
#

Framework authors are earning less now

#

Not that they targeted them, just the way it happened

#

I got a DM from Picky about how I'd be earning significantly less a few months back

velvet narwhal
#

(well ig my memory was too hopeful then)

shut loom
uncut viper
#

i dont think stardew itself was a main factor in the change either other than the usual "its got a big community" status that the other homepage games share

#

but yeah they really wanted to cut down on DP farming

royal stump
#

part of the new (hidden) math is meant to discourage people intentionally splitting up mods into as many pages as possible, since unique DLs encourage having more mods
(so now, one user downloading several of your mods won't give you as much extra DP as before) (supposedly)

next plaza
#

There is also this though (re: frameworks):

uncut viper
#

i dont mean stardew and smapi werent considered, i just dont think theyd make such a big change just cause of pathos/smapi when its got about the same amiount of downloads as the top mods in, say, skyrim

#

a factor vs a majority factor

vernal crest
#

That's nice about wanting to support framework creators because you do support the rest of us so much SDVpufferheart

uncut viper
#

i wonder what "later in the year" means in that

rancid temple
#

Only got a couple months left at this point lol

velvet narwhal
#

(10,000 years later)

royal stump
#

I assumed "january" when I heard about it SDVpuffermlem

rancid temple
#

Later in the fiscal year

velvet narwhal
#

fiscal year? damn, may it is

rancid temple
#

May update: "We're still working on it, looks good"

royal stump
#

-> system: mods that say "framework" in the page title get +50% shares

#

(FTM is now Framework Type Manager) (this honestly might be less confusing)

velvet narwhal
#

it's hard to determine, while yes, i am trying my damnedest for the frameworks i've supported, it's also like, there could be absolutely bad frameworks that do the harmony.UnpatchAll thing SDVkrobusgiggle

indigo yoke
rancid temple
#

(NGL I didn't know FTM could do stuff outside of the farm for a while)

velvet narwhal
#

esca got me on the "persistent boss health after a few days" so that's the next framework to tackle SDVpufferclueless

royal stump
#

I'd have changed the name years ago if it weren't deeply entrenched in manifest and nexus stuff SDVkrobusgiggle

rancid temple
#

The woes of making something good :P

uncut viper
#

i mean theres not like a checkbox you put on your mod page to say "this is a framework"

velvet narwhal
#

only the category which is meh at best

uncut viper
#

its also only going to be selected users

royal stump
#

iirc from when i last heard about it, they intend to manually decide what counts as a framework for bonus funding

rancid temple
#

So SpaceCore and SMAPI for SDV /j

velvet narwhal
#

counts on fingers ok so like, 4 people

rancid temple
#

Maybe CP, but I dunno if they wanna double dip for Pathos like that

royal stump
#

probably just whatever stands out as being in a lot of requirement lists SDVpufferdizzy

#

but yeah, unclear how many they intend to pick

velvet narwhal
#

it's time for stardew to rise up and overcome the other categories

next plaza
royal nimbus
#

i asked this yesterday but i dont recall getting an answer. how can i code a color change for a wine/jelly variant for a specific fruit?

rancid temple
#

Doesn't 1.6.9 have like specific coloring now?

vernal crest
#

You did get an answer. Context tag of the fruit

rancid temple
#

I kind glossed over it because it's not something I'm doing actively

finite ginkgo
royal nimbus
velvet narwhal
#

everyone with spacecore apis, gripping the chair

uncut viper
finite ginkgo
#

Would spacecore become KittyCore

velvet narwhal
vernal crest
next plaza
uncut viper
#

no we are 16 million behind cyberpunk

next plaza
calm nebula
rancid temple
#

I don't actually know if/how you can use this information, but I did see it lmao

calm nebula
#

You could just have two core mods

uncut viper
#

we are about 5 billion behind skyrim SE

royal nimbus
#

sorry for delayed response but how do i do this?

finite ginkgo
#

:p

noble jolt
#

So glad my meadow farm mod can have a starter coop now. That was one thing that kinda bothered me.

brittle pasture
#

Look in the ancient fruit's entry in Data/Objects, TargetField to the ContextTags field, and replace the existing color context tag with something else

finite ginkgo
rancid temple
royal nimbus
#

this bit of code is breaking the mod lol. anyone see anything i should change? cuz idk and this is for changing the ancient fruit products to be pink

uncut viper
#

you need to use TargetField to target the ContextTags of that item

#

or just Fields

#

instead of Entries

royal nimbus
#

ahhh

uncut viper
#

but if you use Fields alone then you'll still be overwriting the whole ContextTags list

royal nimbus
#

ima try targetfield and see if it fixs it

uncut viper
#

but, just using Entries like that means you are replacing the entire 454 object with what you wrote. so, you only wrote the context tags, and everything else gets set to the default values

royal nimbus
#

its still breaking things

vernal crest
#

Misspelled field

royal nimbus
#

x'DD

#

well fuck lmao

brittle pasture
#

also your syntax is wrong

uncut viper
#

that is also not how you use TargetField

royal nimbus
#

okay

#

ah okay i will give that a try

iron ridge
#

to get a map property from a GameLocation, do I just do <instance>.map.Properties.TryGetValue('key')?

rancid temple
#

TryGetValue("key", out var name);

#

or just out and whatever variable if you already have one you want to plug it into

#

I thought I had a project where I was checking map properties so I could verify that syntax but I can't remember which/if

calm nebula
#

There js also a helper method somewhere

#

(I know. I'm helpful.)

rancid temple
#

(atra the helper helper /lh)

uncut viper
#

GameLocation.TryGetMapProperty

#

and also TryGetMapPropertyAs for various types like bools or vectors

royal nimbus
#

so i did like this and something's still not right

uncut viper
#

you havent followed the example

#

the link that roku posted that selph replied to to say to use has an example of how to use TargetField

royal nimbus
#

i did one of them

#

k im trying the second one in there now too

uncut viper
#

there is only one example of how to do it because there is only one way to format TargetField

rancid temple
#

The first block is the original code that's being patched

#

The second block is the example code to patch the first

royal nimbus
#

this is what i tried now and its still breaking. if im looking at the wrong example pls show me a screen shot of the right one

rancid temple
#

That should be right, got an error log?

#

!log

ocean sailBOT
#

Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.

Please share your SMAPI log file. To do so:

  1. Open this page: smapi.io/log.
  2. Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
  3. After uploading, it will show a green box with a URL to share. Post that URL here.

Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didn’t occur in your last session, please load the game to the point where the issue occurs, then upload the log.

royal nimbus
ocean sailBOT
#

Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on Microsoft Windows 10 Home, with 21 C# mods and 12 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

rancid temple
#

!json share your file, looks like there's an issue outside of that snippet you sent

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.

royal nimbus
#

once i cut it out everything's fine so it just seems to be with that. also the 'nonexistant file' errors arent rly relevant rn

uncut viper
#

1600 line content.json SDVpuffereyes

#

if it works when you cut it out then it seems like you have misplaced braces/brackets/commas

#

misplaced or missing

royal nimbus
#

ah yeah

rancid temple
#

I'm thinking probably an extra ]

#

Closing Changes too early

#

But I can only guess with the snippet

royal nimbus
#

i think i fixed it. seemed to have extra brackets yeah

#

now to see if this change works

faint ingot
#

apparently you should not use npcname_sleep for "naps" or your NPC will only interact with ZZZs for the rest of the day

rancid temple
#

Yeah sleep disables them for the rest of the day lol

royal nimbus
#

yo it worked!

#

tysm for the help. i honestly feel pretty dumb sometimes -o-;

uncut viper
#

modding is confusing sometimes! giant content.jsons prooobably dont help so i'd might look into separating that into Includes one day if you plan on adding more to the mod SDVpuffersquee

plucky reef
#

add lots of comments so that future you can add more stuff easily.

calm nebula
#

//Hi

#

# if you're reading this I'm sorry

rancid musk
#

atra that's a syntax error and you know it

calm nebula
#

🐍

velvet narwhal
#

(yaml?)

lucid iron
#

do you think it's worth profiling the various content patcher calls bolbthinking

#

to find out which Action is the most expensive

#

not really sure how to go about that

velvet narwhal
#

are actions expensive? i figured it was update that has the highest

lucid iron
#

updates are Actions applied in certain moment

#

like action: EditImage, update rate: location changed

velvet narwhal
#

oh i was thinking you meant like, editimage vs load vs editmap

lucid iron
#

that is what i mean yes Bolb

velvet narwhal
#

ig the running test alongside that would also be: is it the call that is expensive, or is it the data, or is it both
i assume you could just throw a 1x1 px of every action as a baseline, then gradually make the images bigger to see if there's some kind of curve to it?

calm nebula
#

Images can be pretty bad tio

velvet narwhal
#

(or atra just knows SDVpufferclueless )

lucid iron
#

is editmap expensive for all cases tho

#

since there is just adding map or tile property vs adding tmx with layers

past knot
#

hey yall are spouse portraits added just like custom items? if not how can i add them in

lucid iron
#

do you mean those furniture items

past knot
#

yep

lucid iron
#

they are furniture so not quite like normal items, check Data/Furniture

#

then u need to add them to traveling cart or some other shop

pine ermine
#

Did someone say YAML?

rigid musk
#

Hel-lo, I have a quick question: If I wanted to send a weapon via mail would I have to use the Mail Framework Mod or can I just do that with content patcher?

rancid temple
#

Pretty sure you can do that with %item id (W)itemId %%

rigid musk
#

I have realized that I made a grave(stupid) mistake in formatting

#

I put brackets around the item id 😬

#

every time I ask a question after getting fed up trying to fix it myself I always figure it out two seconds later ... I appreciate the help though :3

rancid temple
#

I don't think it's stupid, it's a common enough mistake that I try to remember to specify to remove brackets

rigid musk
past knot
hallow prism
#

@ivory plume hi, i wondered how custom items worked in special order PICK_ITEM feature, wiki indicates it uses internal name, is it still accurate? Is there a way to ensure it will pick between a specific selection if there's several items with same internal name?

#

(i would prefer pick id so i'm asking in case adding a PICK_ID feature is like, somehow in scope AND not breaking change. It's possible that the items i want to use have unique internal names enough to make it uneeded, but i figured i would ask to not miss something)

brittle pasture
past knot
brittle pasture
#

You'd use a Load action to load your new image into a new asset

#

then in your furniture definition point to that asset as the tilesheet

past knot
#

in other words i wont need the "Patchmode" line, but should i keep the "to area" line?

#

im sorry to ask but would anyone ba able to show me how that would be formatted..?

brittle pasture
#

You'd do something else entirely

#

Load into a new asset instead of patching an existing one

#

just to clarify, you want to add new items to the game, yes?

past knot
#

correct

brittle pasture
#

then follow that guide
You should patch an existing asset only if you for example want to change Leah's portrait (and Leah herself) to be something else

past knot
#

Ah that makes a little more sense

#

kinda...

ivory plume
hallow prism
#

wonderful, thanks 🙂

#

i will mention that on the wiki then, time for some slight rewording of a discord answer 😄

old edge
#

Hello

#

In the caldera.tmx map concernedape uses tiles with water properties. How does he alter it to appear like lava?

brave fable
#

Caldera.cs overrides the drawWaterTile method for its own wicked ends

old edge
#

Ok

#

Makes sense now

#

Now just need to figure out how to make it sizzle wit the water.

lucid iron
#

yea
StardewValley/Locations/Caldera.cs
drawWaterTile

#

and water color is set to white so that the og texture is drawn

old edge
#

Then lava beast

lucid iron
#

did u want watering can + lava i forget

old edge
#

Yeah the wateringCan should only be able to turn to steam

#

When it interacts with lava

lucid iron
#

then u need performToolAction and CanRefillWateringCanOnTile from that class too

#

i wonder if you could just set your location to caldera class

old edge
#

How in tiled?

lucid iron
#

Data/Locations

"CreateOnLoad": {
  "MapPath": "Maps\\Caldera",
  "Type": "StardewValley.Locations.Caldera",
  "AlwaysActive": false
},
old edge
#

Basically just want to customize that map

brave fable
#

this is very not-tiled type stuff haha

lucid iron
#

this is how game assigns special class to locations

#

not sure if it has further side effect though, here is hoping game isnt expecting exactly 1 Caldera blobcatgooglyblep

old edge
#

Hmm but my map is custom_keymaze

lucid iron
#

yea replace MapPath

old edge
#

Got it

lucid iron
#

with your tmx load target

brave fable
#

i'm not quite sure you want to assign this as the caldera, it has a bunch of specific behaviours about player progression, not to mention hardcoded coordinates

lucid iron
#

you are use Data/Locations right

old edge
#

Well at least I know this volcano lava logic in depth now

#

Oh true

#

I just need the lava logic

lucid iron
#

ig u can subclass caldera and override resetLocalState

#

without calling the base blobcatgooglyblep

#

or u know, just copy the important lava part to your own gamelocation subclass

brave fable
#

it'd be cute if all the volcano water behaviour was moved up and out of the specific classes so any map could use it, but the lava sprites are saved to the caldera map tilesheet soooo maybe unlikely

calm nebula
#

Lol

lucid iron
#

yea i had thoughts about using the volcano dungeon lava mechanic for some custom map stuff

#

but it is not very reusable atm

old edge
#

So far I added some rudimentary lava

calm nebula
#

To be fair not very reusable is fine

#

At work I have the policy that I will write thr code to be reusable when I want to reuse it lol

severe flare
#

Sorry if I’m intruding rn
Hello, I’m very unfamiliar with discord and I think this is where I go for modding help..?

lucid iron
#

it is good thing that you are not vendor then medlook

uncut viper
severe flare
#

Make

uncut viper
#

then this is the place yep

severe flare
#

Ok, ah
I’m currently making a content pack mod and am running into some issues with a custom animal

lucid iron
#

!log

ocean sailBOT
#

Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.

Please share your SMAPI log file. To do so:

  1. Open this page: smapi.io/log.
  2. Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
  3. After uploading, it will show a green box with a URL to share. Post that URL here.

Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didn’t occur in your last session, please load the game to the point where the issue occurs, then upload the log.

lucid iron
#

if you got error send log through this

#

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

and show us content.json with this

severe flare
#

My custom animal is pretty large, and when it walks up to walls/objects it clips into them.
It’s hit box seems to be tiny in comparison to the full sprite, so it’s front body just clips into objects and looks very weird

Is there any way for me to adjust this? I tried using UpDownPetHitboxTileSize and LeftRightPetHitboxTileSize, but that hasn’t changed anything as far as I can see and the animal still clips into walls..

calm nebula
#

How big

severe flare
#

80 width and 48 height

lucid iron
#

5 tile by 3 tile then bolbthinking

brave fable
#

that's a very large animal hahah

lucid iron
#

you need a bigger door to even let them out

severe flare
lucid iron
#

new custom building prob

severe flare
#

It has also been getting trapped in the barn wall when it tries to leave.. hmm

calm nebula
#

Yeah

#

Pretty sure the pathfinder code is not set up for that lol

lucid iron
#

assuming you really do want big ol farm animal then yea they need big ol building too

calm nebula
#

3x3 maybe (atra has doubts)

#

You need a big ol building and even then it might not work right

brave fable
#

see in my mind this has to be an actual mammoth to be 5x3, or maybe just an absurdly large chicken

severe flare
#

It is actually lol, it’s a raptor

brave fable
#

so if 1 tile is 1 metre, given the player's about 1.75 tiles tall

#

this is a very big dino lol

#

it'd definitely help your pathfinding issues to size it down some

lucid iron
#

does sprites in detail work for farm animals

severe flare
#

I tried doing that awhile ago, but then I lose too many details and quality with the sprites

lucid iron
#

if they wanted smaller animal but same sprite detail

calm nebula
#

Anyways

#

Pathfinder collision almost certainly doesn't work with anything bigger than3x3

#

And I even have doubts on that lol

brave fable
#

the game's very much built on smaller sprites, you'd be surprised how much you can fit into even 2x2, let alone 3x3

calm nebula
#

This is how the game is

#

Tbh

#

As we say - hospital door at 10,5 energy

brave fable
#

of course a raptor is going to be quite long, so it leaves a lot of empty space where a rounder dino like pepper rex is going to be filling it in

#

so i see how you'd be losing out in 3x3

lucid iron
#

is the 3x3 limit for sprite or for collision

severe flare
#

Can I send a photo of it?

brave fable
#

the sprite has no limit, 3x3 is for collision's sake

#

sure!

severe flare
lucid iron
#

so if u r fine with the tail getting clipping sometimes then u can go for 3, 3

severe flare
#

Long boy

lucid iron
#

the collision is centered based on sprite

brave fable
#

it'd be a bit of a compromise, but if you move the neck to be a little more birdlike (s-shape with the head more above the body) you could cut the front down by a tile

lucid iron
#

gotta leave a lot of empty space to make sure it fit

brave fable
#

not sure how we'd fit the tail in

#

curly tail...

severe flare
#

I’m gonna try it with 3x3.. I think I’m gonna experiment with it for awhile, if I have any other problems I’ll come back

brave fable
#

good luck!

brittle pasture
#

Didnt someone made a chonker 4x mammoth and had to make a custom animal house with door big enough for it to even leave

lucid iron
#

do u think its sinful to do skipping prefix on FarmAnimal.setRandomPosition

#

surely it is smol enough Bolb

uncut viper
#

skipping prefixes are always sinful its just a matter of how much forgiveness you wanna ask for

brittle pasture
#

is this for the animal house chamber thing

calm nebula
#

So how much time do you spend in a catholic church for a skipping prefix on game1.update

uncut viper
#

not enough

teal bridge
#

I used a skipping prefix for GMCM and regret nothing.

#

I think it really depends on what you expect the skip to accomplish, and/or the consequences of your own skip being skipped.

brave fable
#

see, this is why casey adds these bugs for you

lucid iron
#

i am make farm animal position less random basically

#

map maker can add tile props to say "prefer this spot" for animal placement

#

in the animal house

#

and it falls back to original function if it fails to find a tile prop spot

teal bridge
#

As for the skipping prefix on update... that's definitely one of the seven deadly sins.

calm nebula
#

Which one?

lucid iron
#

Ichor did a button inside the gmcm for nightshade

calm nebula
#

(For clarity for the crowd- I have not done this. I will not do it.)

teal bridge
#

Good question. Sloth would seem to fit, since it would make the game run very, very slowly.

calm nebula
#

Pride?

rancid temple
#

Sounds kind of wrathful to me

teal bridge
#

Maybe it's more than one. Maybe it's all seven.

lucid iron
#

I think it's pride

#

Pride that your spaget deserves this more than all other spaget

calm nebula
#

My spaget is well made chue

#

Fully docstrings

teal bridge
#

Stardew is spaget, a lot of the time. The only solution is to stick a fork in it.

#

Hey, are there skill names in Cursors, or did I hallucinate them? I could swear I remember seeing them but all I can find now are the season names.

brave fable
#

skill names are in a skillTitles spritesheet, though there's only 3 of them and they're being removed in sdv 1.6.9

calm nebula
#

The profession icons are in cursor though

teal bridge
#

Perfect. I don't need it for the actual mod, just some cheesy mod art/memery.

brave fable
#

sdv 1.6.9 request: OS dark theme title bar for consistency SDVpufferwaaah

lucid iron
#

isnt that set by system

#

i get dark bar smapi think

#

so i assume wayland has the say there

brave fable
#

i thought so too, i only noticed now since i updated tiled and it gained a dark title bar

#

given windows is windows i'm not surprised at all if everything has to manually include title bar theme logic

calm nebula
#

Wouldn't this be a request to Pathos

#

For smapi

#

Are up max

brave fable
#

aren't base game requests also requests to pathos SDVdemetriums

brittle pasture
#

I didn't even know you can change Windows theme

calm nebula
#

I'm sleep deprived and in pain, bbluebs

lucid iron
#

they could be to other ppl in theory blobcatgooglyblep

calm nebula
#

Let me be dumb

brave fable
#

oh you're allowed to be dumb, i'll just check you for it 😌

#

i say with a truly incredibly dumb message history looming over me

brave fable
lucid iron
#

it is slightly working but the collision check doesnt seem to work on other animals

#

is this how it works in vanilla too

brave fable
#

you certainly did make spawn positions less random SDVpufferthinkblob

lucid iron
#

ok it work now

lucid iron
#

To use it, set tile property mushymato.MMAP_AnimalSpot to T (or whatever) on desired tiles

#

must be done separately for each tier of the animal building map

brittle pasture
#

oh good, another entry for the framework page

#

it will consume all

brave fable
#

more of a utility than a framework really SDVpufferthinkblob

lucid iron
#

yea this is the mod where i put random things map ppl want LilyDerp

#

since i am up to 3 things now

uncut viper
#

can you make me a map tile property that adds a harmony patch when i step on it

#

please and thank you

velvet narwhal