#making-mods-general

1 messages ยท Page 108 of 1

calm nebula
#

I don't care is not in discord api

#

We will figure it out

brittle pasture
#

the 2 winners here already have different colors than the rest lol

rancid temple
#

Which makes me wonder if there's any other scroll bars that make noise lol

hard fern
#

i knew this fun fact >.<

uncut viper
#

yeah if anything it made the colours less varied

lucid iron
#

cant believe the junimos specifically targeted the ourples

uncut viper
#

SO YOU ADMIT ITS PURPLE

lucid iron
#

i do

velvet narwhal
#

i don't, that shit blue

lucid iron
#

was that a doubt

brave fable
#

icon is purple shorts. ergo is purple role.

uncut viper
#

idk i dont remembver anymore

#

ive already forgotten my previous role colour

velvet narwhal
#

bluebs was purple shorts, button wasn't shorts yet

lucid iron
#

i think u (were) ourple

brittle pasture
uncut viper
#

i mightve gotten our positions on it confused

#

i genuinely have not paid attention to the colour since then

#

so i dont actually remember if i thought it was blue or purple

brave fable
#

oh, you're colourblind? SDVdemetriums <-- what colour is this???

uncut viper
#

demetri

lucid iron
#

i looked it up

velvet narwhal
#

demiti

lucid iron
#

i was saying that ur color's css name is blue

#

which is roughly true

#

but i dont agree with a system that makes dark gray lighter than gray so

brittle pasture
uncut viper
#

tbf, i mostly just wanted to jump at the chance to reference that convo again

lucid iron
#

oh

velvet narwhal
#

iwillnotbebaitediwillnotbebaitediwillnotbebaited

lucid iron
#

blueberry u can have a paprika icon now

uncut viper
#

my principles are "i go where the bit takes me"

brave fable
#

oh my god you right

velvet narwhal
#

subtle ad for my dialogue mods having good writing ig KEK

lucid iron
#

better put that in ur marlon mod DokkanStare

uncut viper
#

shouldve had marlon look directly into the camera and say "By the way, download my mod for more stories like this."

velvet narwhal
#

where's the fairly odd parents thing one second

#

i already got like, different authors holding my arm behind my back for the "make marlon date other old people SDVpufferpensive " what's one more

hard fern
#

make marlon date me

brave fable
#

you right. grandpa's single

hard fern
#

...im sure there's a romance marlon mod out there though right

velvet narwhal
#

mine will definitely not be compatible with it though SBVPensiveButt

brittle pasture
hard fern
velvet narwhal
devout otter
#

How does SMAPI purpletext "you can update these mods" thing work, anyway? I erased UpdateKeys from my manifest and it seems to still check the previous Nexus page.

lucid iron
#

what if you change your unique id too

uncut viper
#

dont quote me on this

next plaza
#

I think it does as well

brittle pasture
#

though thats only for c# mods right

lucid iron
#

what r u hoping to accomplish dolphin?

next plaza
#

Correct

lucid iron
next plaza
#

Ah, yeah, SpaceCore needs some fixes for split screen

uncut viper
#

feels like you can say that about most mods

next plaza
#

Most mods I've worked on I'm pretty careful with it

devout otter
#

The main files has two mods in it and I want to disentangle one of them from update notification. The optional files I just want the manifest key to work, which doesn't seem to be working too.

lucid iron
#

oh i dont think smapi checks for optional files

brittle pasture
#

actually it does check for optional files, but only if its version number is higher

lucid iron
#

you will need to make it either another main file (which has annoyances when ur versions are out of sync) or separate page

devout otter
#

Oh huh. Then I should make it a main file too?

brittle pasture
#

(or I may have misunderstood your statement)

lucid iron
velvet narwhal
#

from previous grievances, opt files with higher ver will infer that "main mod can be updated"

lucid iron
#

still i see u got 1.7.0 and 1.0.0

#

separate page is for the best

brittle pasture
#

and yeah you must ensure that the optional files have a lower version number than the main one

next plaza
devout otter
#

I has basically nothing in it. Not big enough for a separate page. ๐Ÿ˜”

lucid iron
#

i do see u put @HD

#

did not not work bolbthinking

devout otter
#

It doesn't, unfortunately.

#

Weirdly it works for Stardrop.

velvet narwhal
#

good nuff, ship it

brittle pasture
#

huh weird, your file manifest and nexus description looks fine

lucid iron
#

blobcatgooglyblep did this feature get yeeted

velvet narwhal
#

if you're talking about vortex? maybe? i haven't been paying attention to the stardew-centric mod manager from vortex tbqh

brittle pasture
#

I literally just checked with my own example, it still works?

devout otter
#

Wait. I changed to my laptop and it works there.

#

Does SMAPI keep a client-side database, maybe?

lucid iron
#

is ur laptop different os blobcatgooglyblep

devout otter
#

Because when I launched it first on my PC I forgot to add the Manifest Key to the mod page description. So maybe SMAPI just checks for manifest key once and remembers it for my PC?

devout otter
#

(Oh sorry for ping..)

tiny zealot
#

some caching is involved with smapi's update checks, to avoid hammering nexus et al

velvet narwhal
#

looks at ichor's role tags, sees cheeto usurps all SBVPensiveButt

shut bane
#

Where is the field for controlling when a seed/tree is available? Like red cabbage is only available year 2 onwards

velvet narwhal
brittle pasture
#

if you look at seedshop in Data/Shops you can see the condition field for red cabbage seeds

velvet narwhal
#

data/objects and prrrrrrrobably shops

brittle pasture
#

I think crop_year_2 is a purely informational context tag

velvet narwhal
#

fair 'nuff

devout otter
shut bane
#

Well dang. I don't know why I apparently looked everywhere else, but it's in Data/Shops

brave fable
#

what's the c# method to parse a vector2 from a string format of '{X:29 Y:42}' SDVpufferfush

shut bane
# brave fable what's the c# method to parse a vector2 from a string format of `'{X:29 Y:42}'` ...

I haven't vetted this, but I found a stack overflow post about doing this in C#
https://stackoverflow.com/questions/11170541/c-sharp-parsing-a-vector2-from-string

lucid iron
#

although hm, smapi has that custom thing right yggy

brave fable
#

two methods of doing it and both mean instantiating a serialiser haha

#

if it's not simple i'll just manually save the v2 to moddata as a space-separated string

lucid iron
#

well if it was me i'd just

brave fable
#

easier that way SDVpufferthumbsup

lucid iron
#

$"{vec.X},{vec.Y}"

#

and split ,

#

cant be worse than alternatives blobcatgooglyblep

brave fable
#

i'm sure i could come up with a couple ๐Ÿ˜Œ

calm nebula
#

I'll just reinterpret cast the vector as a string thanks

lucid iron
#

man i wish i looked at fish pond draw more during 1.6.9 beta

velvet narwhal
#

is it screwed again

lucid iron
#

theres so much it ought to be using data for

#

naw

velvet narwhal
#

oh you wanted the miniponds didn't you

lucid iron
#

the only visible bug was the shadow draw thing

#

would have been good chance alas

#

nothing a transpiler cant fix (button voice)

brave fable
#

oh you can pack it with string str = $"{tile.X} {tile.Y}"
and unpack it with ArgUtility.TryGetVector2(str?.Split(' '), 0, out Vector2 newTile, out string error)

uncut viper
#

since when was there a TryGetVector2

lucid iron
#

might be new in 1.6.9

uncut viper
#

i hope so

lucid iron
#

should i nop 4 ops or make a branch blobcatgooglyblep

#

i need to switch this for getsourcerect

// IL_00b2: ldc.i4.0
// IL_00b3: ldc.i4.s 80
// IL_00b5: ldc.i4.s 80
// IL_00b7: ldc.i4.s 80
// IL_00b9: newobj instance void [MonoGame.Framework]Microsoft.Xna.Framework.Rectangle::.ctor(int32, int32, int32, int32)
brittle pasture
#

branch for best compat, yeet them if you're lazy and overconfident like me

brave fable
#

does removing from the list not preserve branches?

#

i may or may not have a clickcraftingrecipe transpiler that tears out all the seasoning behaviour entirely

tiny zealot
#

at this point, who doesn't have a clickcraftingrecipe transpiler

uncut viper
#

i don't and never will

brittle pasture
#

smh you're not a real modmaker /s

tiny zealot
#

(i probably won't either)

brave fable
#

you're missing out

tiny zealot
#

joke's on you selph i already know i'm not real

uncut viper
#

who needs a transpiler when you can just poll every tick to see if they crafted something and then just edit the item in their hand instead

lucid iron
#

isnt that just

brittle pasture
#

jokes on you YACS adds to inventory directly

lucid iron
#

smapi inventory changed

brittle pasture
#

fak

uncut viper
#

this may surprise you but the inventory can be changed by more than just crafting

lucid iron
#

well, bseides not really being able to tell if its new

#

u would listen the event on menu open and unlisten on menu close

uncut viper
#

wouldn't work

#

you can still receive items with the menu open

brave fable
#

what if you have a tile action in the world that goes to clickcraftingrecipe directly huh

uncut viper
#

from other sources

uncut viper
velvet narwhal
#

shrimply avoid it all and make it into machines that take multiple inputs

uncut viper
#

im more fond of the idea of having to talk to an NPC who will quickQuestion you to ask what you want her to craft for you, who will then take your items and give you a new crafted one in return

#

via dialogue commands and $action

brave fable
#

why are you looking at my ideas

tardy adder
ocean sailBOT
#

Log Info: SMAPI 4.1.7 with SDV 1.6.14 build 24317 on Microsoft Windows 10 Home, with 18 C# mods and 7 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

uncut viper
#

because you have good ones

next plaza
#

flashback to the MCN crafting system

uncut viper
#

or great minds think alike or w/e

brittle pasture
next plaza
#

(It was gonna be like Rune Factory does)

uncut viper
#

dont forget dynamic tokens too ๐Ÿ˜Œ

#

i was more thinking of specific items anyway

#

ive never played rune factory so means nothin to me unfortunately

uncut viper
calm nebula
#

Please, write a stamina skill mod

#

Where you level up by getting steps on your phone

brittle pasture
#

fitness skill tree, two branches at level 5: cardio vs strength

#

what will you pick

next plaza
#

Brb adding skills for literally everything like Rune Factory

velvet narwhal
#

i mean technically you could with stepsTaken right?

rancid temple
#

Increased stamina or damage?

calm nebula
#

And a knitting mod where you have to knit the sweater irl

velvet narwhal
#

just every threshold gives a +1 stat

next plaza
#

Swords? Yes. Damage Resistance? Yes. Walking, sleeping, and eating? Also yes

velvet narwhal
#

"standing there, menacingly? yes"

brave fable
#

more runescape skills in sdv would be funny. firemaking somehow even more useless than before

next plaza
#

You might think I'm joking or being silly

velvet narwhal
#

i played rf5 and was not happy with the gameplay loop SBVPensiveButt

next plaza
#

For those that don't want to click the link:

tardy adder
next plaza
brave fable
#

do the Sleeping and Resist Sleep skills cancel eachother out

calm nebula
rancid temple
calm nebula
#

I fail sleeping

brittle pasture
next plaza
velvet narwhal
rancid temple
#

I don't do any of those three properly lmao

brave fable
#

bathing skill???

#

Skill that increases when you take a bath.

velvet narwhal
#

yeah make sure you scrub your bum

next plaza
#

Well sure, if you've never bathed before you probably wouldn't do a good job at it /s

brave fable
#

unskilled bathers will never maximise their vitality

velvet narwhal
#

level 0 means you miss spots, much like when you come out of the shower and you rub your skin and you get that wet dirt

rancid temple
#

The higher your bathing skill the more friendship you get for talking to NPC's every day

velvet narwhal
#

npcs just straight up don't talk to you if you have low bathing skill, new hardcore mode

tardy adder
# tardy adder I am probably using "leclair.morenightlyevents_ForceEvent [event]" wrong https:/...
            "kath.weathering_NadoSummoned": {
                "Id": "kath.weathering_NadoSummoned",
                "Trigger": "spacechase0.SpaceCore_OnItemUsed",
                "Condition": "ITEM_ID Input Totem.tornado",
                "MarkActionApplied": false,
                "Actions": [
                    "leclair.morenightlyevents_ForceEvent kath.weathering_NadoSummonedDanger",
                    "spacechase0.SpaceCore_PlaySound thunder local",
                    "spacechase0.SpaceCore_ShowHudMessage \"{{i18n: Totembroken}}\" (O)TotemBlank",
                    ],
                },    
            "kath.weathering_VolcanoSummon": {
                "Id": "kath.weathering_VolcanoSummon",
                "Trigger": "spacechase0.SpaceCore_OnItemUsed",
                "Condition": "ITEM_ID Input Totem.eruption",
                "MarkActionApplied": false,
                "Actions": [
                    "leclair.morenightlyevents_ForceEvent {{VolcanoSummonPower}}",
                    "spacechase0.SpaceCore_PlaySound KathQuake local",
                    "spacechase0.SpaceCore_ShowHudMessage \"{{i18n: Totembroken}}\" (O)TotemBlank",
                    ],
                },
next plaza
tardy adder
#

it's outta a long list, the other actions work 9-9 so I probably need to ask Khloe

rancid temple
#

Are RF games supposed to be fun?

next plaza
#

I don't think you're meant to max out everything ๐Ÿ˜›

#

There's a story

#

It's much less sandboxy than stardew

rancid temple
#

Psh, if number go up, I must

next plaza
#

I enjoyed RF4 a lot back when I played it on 3ds

velvet narwhal
#

tbh with the downfall of harvest moon is the reason why stardew is still the most popular farming sim aSDVdemetriverse

brave fable
#

this does sound more and more like runescape

rancid temple
#

I mean, I tried to play Harvest Moon again as an adult, it doesn't age well lmao

velvet narwhal
#

i still want the grand bazaar feature as a mod

#

although i think someone made ...a restauranteur one?

calm nebula
#

Brrrrrr

brave fable
#

Cooking
Higher skill levels increase the number of recipes you can use, and makes it easier to learn new ones.
what do you mean makes it easier to learn cooking recipes

rancid temple
#

The more you cook, the better you get at cooking, so I've heard

next plaza
#

Oh yeah

#

That was fun

#

Recipe bread

sweet sphinx
next plaza
sweet sphinx
#

I ain't walking my tired lil butt all the way to the mountain just to bathe

rancid temple
#

Gotta ask fireredlily to install one for you

next plaza
brave fable
#

i'm sorry what do you mean eating plain bread inspires me to learn new recipes

next plaza
#

I don't see it on this wiki page but you also had to be certain levels of cooking for certain recipes, or the bread wouldn't give it to you

velvet narwhal
#

hard(tack) times call for desperate measures

next plaza
brave fable
#

visions of complicated banquets unfold in my mind as i gnaw on stale bread

rancid temple
#

If you eat enough plain bread, the depression of eating plain bread will inspire you to do anything to stop eating plain bread

sweet sphinx
#

XD

rancid temple
#

This I know from experience actually

velvet narwhal
#

i just implement cooking bread but it just sends you cooking recipes you're missing

sweet sphinx
#

you're wack, I hecking love plain bread, and buttered bread(and toast)

next plaza
#

Also it's not just cooking if I remember correctly

brave fable
#

this seems more like thinking bread than cooking bread

calm nebula
#

It doesn't help that rf is radio frequency

next plaza
rancid temple
#

This game is wild lmao

next plaza
#

Every crafting type has a corresponding recipe bread

brave fable
#

??? ? ?? ?

tiny zealot
#

hey everybody what the hell is going on

rancid temple
#

Someone is obsessed with bread on that dev team

#

It's #making-mods-off-topic hours

tardy adder
#

@rancid musk Sorry for the ping, but I believe I am stumped with MNE's "leclair.morenightlyevents_ForceEvent" and perhaps I might be using it wrongly as the events do load correctly and can call them with mne_test. Also wanted to ask for CS Critters, what are the parameters of Chance?

calm nebula
#

You level up by sleeping

#

I do bad at this

next plaza
#

(ie. there's also Accessory Bread and Medicine Bread)

tiny zealot
calm nebula
#

what bread

brave fable
#

incredible that i can live out my wildest fantasies in Rune Factory IV by eating bread and sleeping

calm nebula
#

accessory bread, a bread earing?

rancid temple
#

Gachapon bread

brave fable
#

gacha-pan ๐Ÿž

hard fern
next plaza
#

Me toooo

calm nebula
#

I have learned a lot from making bread

#

like.

#

patience. is a virture

next plaza
#

(Though to be fair in RF4 the bread only taught you recipes - you still had to level up the skill yourself)

calm nebula
#

and don't fucking start bread at 8pm you will regret it

next plaza
#

Like, if eating some bread taught you the blueprint for a time machine, you wouldn't suddenly understand how to make it

#

(I guess time machine comes to mind because I'm watching doctor who right now ๐Ÿ˜› )

lucid iron
#

making-breads-general

tiny zealot
#

that is a channel i would visit

brave fable
#

baking-mods

calm nebula
#

Do u like garlic bread

#

Or are you a heaten

lucid iron
#

i like the bread with the swirly red bean

calm nebula
#

I like mantou

lucid iron
#

that seems like

#

chaotic neutral on the bread alignment chart

brave fable
#

i like bread

true coyote
#

well, I've recolored the sve small hardwood fence to my liking but now... I am unsure of what to do next to implement it. That's probably a task for tomorrow me

rancid musk
tardy adder
#

MNE works for 1.6.9+ as far as I've been testing SDVpufferthinkblob except for the trigger action not wanting to trigger

wheat finch
#

Can I do multiple $action triggers on the same dialogue? i.e. $action AddFriendshipPoints <NPC name> <count> $action AddItem <item ID> [count] [quality] There's probably formatting I'm missing to make it work?

velvet narwhal
#

i think you'll need #$action but i'll have to go check

tiny zealot
#

i think it's one $action per piece, so you need # between them, but i'm not sure

wheat finch
#

TY both. I've got 8 tabs open right now to piece together all the parts I've been working on for this mod update lol. Going cross-eyed at this point.

velvet narwhal
#

i can't even remember which one of my mods had the dual action so gimme a sec KEK

rancid temple
#

Oh hey look, an example

#

I'm actually really surprised that was on there lmao

#

It's on the trigger actions page of all places

wheat finch
#

I have to iterations of the trigger actions page open rn and didn't see it ๐Ÿคฆโ€โ™€๏ธ

rancid temple
#

It's like right above the C# section lol

#

I honestly would not have expected it to be there

wheat finch
#

Wait. Can I use %item quest <quest ID> true %% in mail? Or does it have to be the trigger action %action AddMail <player> <mail ID> [type]? Migration guide says the latter was added but the mail page still lists the former. Will either work? I'm using the former currently (haven't opened the game to do a test) but now I'm lost.

velvet narwhal
#

p sure you can do either or

tiny zealot
#

in most cases, whatever used to work still does

tardy adder
#

Well... time to do it in my convoluted way, abuse the trigger actions

tardy adder
#

Remind me in 8 hours to abuse of the trigger actions and change the totem call again, and to recheck the animal edit and schedule

patent lanceBOT
#

Got it, 13midnight (#6362909) (8h | <t:1731674267>)

lucid iron
#

i need a mod that let you just keep putting signs in signs

versed wyvern
#

Is there a way to update an NPC's outfit/appearance immediately upon triggering some requirement or mod event, like, hypothetically, giving them a new outfit item? During testing I noticed that if I used a cheat to change the season NPCs would only re-evaluate their seasonal outfits when they changed locations so I'm a mite concerned we can't change them in real-time ThinkO_O

uncut viper
#

NPCs only re-check their appearances on location change, that is correct

versed wyvern
#

And we haven't found any way to get around that?

uncut viper
#

theyre not supposed to in vanilla, theres nothing to get around. you can force them to update it with a mod, but you can already do whatever you want with C# anyway

#

you could try just editing their sprite/portrait sheets directly i suppose but thats different from the appearances system

#

and it'd need to be OnTimeChanged

#

so still not always instant

latent mauve
#

Button beat me to what I was gonna say xD

uncut viper
#

and not so great for performance

latent mauve
#

Better option: Give them the item and have them respond like "I'll wear it tomorrow" so that it won't have to trigger immediately. >_>

versed wyvern
uncut viper
#

technically my mod BETAS does have an action that will force update their appearance immediately however it doesnt sync with farmhands

#

there is no way to do it with content patcher alone, no

brave fable
#

i suppose the question to ask is 'what're you trying to make your character do'

versed wyvern
#

Well, shucks. Thanks for the info, anyhoo remFive

uncut viper
#

make them put on a necklace or sunglasses or something, i assume

#

or similar accessory

latent mauve
#

If this is for an event, you might be able to use a temp sprite change, but outside of that... yeah, you're bound to the OnLocationChange logic with the appearances system.

uncut viper
#

lotsa reasons i can think of for wanting to update their appearance after talkin to em

brave fable
#

really if i gave an npc an accessory or a shirt i wouldn't expect them to wear it until the next day anyway, unless they're gonna get changed right in front of me

#

which you know, maybe we have like 8 hearts. maybe they're cool with it

uncut viper
#

if i gave someone a necklace i would be surprised if they didnt try it on

latent mauve
#

If I gave someone a necklace and wanted them to try it on, I'd code it as an event

versed wyvern
#

Ye, the specific thing I was thinking of doing was adding a contact lenses item that could be given to Harvey and Maru to enable a glasses-less portrait but then I started thinking about more general use cases too

latent mauve
#

I feel like that only happening on a location change would be a pretty minor nitpick

knotty phoenix
#

putting on contact lenses is a whole production tbh

latent mauve
#

Most users likely wouldn't care if they had to enter the room and come back in.

versed wyvern
#

Yeah there are ways around it, like the original plan was just to switch "later" or "tomorrow", just felt like the ideal implementation for this kind of thing would have been an immediate change

latent mauve
#

Could even reason it as a "could you step outside for a minute while I try them on? It'll only take a minute."

#

To prompt the player to walk away and back in

versed wyvern
#

It's actually the NPC who has to change location

brave fable
#

"could i step outside for a minute to try them on"

latent mauve
#

^

brave fable
#

"in like an hour or two"

latent mauve
#

But for the spritesheet conditional patch (not Appearance system), that would actually be on player location change

#

So either way works

lucid iron
#

does event not count as location change for purpose of appearnce

#

big n awful transpiler MitsuYawn

latent mauve
versed wyvern
hard fern
#

is this the fish pond dilemma ๐Ÿค”

uncut viper
velvet narwhal
versed wyvern
#

My base assumption with modded playthroughs is that something broke multiplayer along the way already so that's cool with me vibee

valid folio
#

Hello again. I am confused. I don't understand how the selling prices of the objects work, I put an item in my mod with a selling price of 100 and in the game it appeared 550, I went out, edited the mod and put 550 as selling price, I loaded the mod and it appeared in the game with a price of 100.

#

By selling price I mean the price at which I sell it, not the price at which I buy it.

latent mauve
#

Sell price is coded to be half the price you buy it at, right?

#

I vaguely remember that being how it is determined

#

But then, some shops also have their own Price Modifiers that apply

uncut viper
#

the price you sell it at is just the price in the object data

#

its the other way around, that shops are coded to sell at twice that price

latent mauve
#

ah, gotcha. Wiki misled me then

uncut viper
#

not accounting for additional modifiers like Pierre with another 2x

#

the end result is the same so its more just semantics

#

assuming you dont set shop prices specifically anyway

#

it does matter at that point

merry nexus
#

anyone got any tips for getting into designing farms? CatYippe

valid folio
uncut viper
#

if you put 1000 in the object data then you will get 1000 when you put it in the shipping bin or whatever

brittle pasture
#

did you make sure to trash all existing instances of that object before reloading

valid folio
uncut viper
#

items that already existed will not update

valid folio
valid folio
# uncut viper items that already existed will not update

It still does not make sense because I only modified one object to test, the others I did not alter and they still appeared with the wrong price and now those same objects that I had not modified now have the correct price, too.

uncut viper
#

its possible that you'd just forgotten to save the file the first time, maybe

#

or didnt do a patch reload if you didnt close the game

ocean sailBOT
#

If you want to make mods that add or edit maps:

  1. Use Tiled to edit .tmx or .tbin files.

  2. Refer to the Maps wiki page for details on how maps work in Stardew Valley.

  3. Content Patcher allows you to create custom locations through editing Data/Locations

  4. Vanilla Maps can be edited via Content Patcher as well: EditMap

tardy adder
#

Remind me in 12 hours to do retexture obelisk and Kisaa's channel, and to stop scope creeping

patent lanceBOT
unique sigil
#

@merry nexus getting into designing farms to me is just the desire to cook my own food. also, take the time to learn how to do stuff from other people's farm maps, and learn how Farm Type Manager works if you want your farms to spawn ores, forage, etc.

https://github.com/Esca-MMC/FarmTypeManager?tab=readme-ov-file#large-object-spawn-settings

GitHub

A mod for the game Stardew Valley, allows players and modders to spawn customizable features from each of Stardewโ€™s farm types. Requires the SMAPI mod loader. - Esca-MMC/FarmTypeManager

valid folio
# uncut viper or didnt do a `patch reload` if you didnt close the game

I know I saved the file because the price of the modified item had changed every time I modified it, it was not the correct one but it had changed and I did close the game together with SMAPI.

Anyway thanks for the help, the community of this discord is always helping me, as I did before, when I upload the mod I will mention them in general because I don't remember all who helped me but it is really appreciated.

valid folio
#

Good night, It's time for me to go to bed ๐Ÿ˜

unique sigil
fossil bear
#

hey does someone know the ID for "The Wind Can Be Still" during winter?

#

I thought its cyclops but my music doesnt change.

#

nevermint its winter2

#

nevermind*

round dock
#

Question, can eventSeen_n_memory_n dialogue fall under Marriage dialogue or is it strictly under regular dialogue? Thank you bongo_cat_heart

hallow prism
#

i don't think so, the latest added was cyanotype, i don't remember when it was added but it was possibly part of initial release

long jungle
#

Hello! Does anyone here have any experience on modifying monster spawn rates?

#

I am not aiming to make new monster types or make them spawn where they don't normally spawn,

I only need to increase the base spawn rate permanently. Like how a Monster Musk does, but permanently and not player-dependent.

rancid temple
round dock
#

(not sure if what Iโ€™m doing is right but I did put the custom gift dialogue over there, too)

rancid temple
#

Well if Avi says it I'm inclined to believe it'll work dogekek I don't have any experience with NPC's to pull from for this lol

rancid temple
#

I feel like I'm missing some part of this, can't find where any of this is actually being used lol

patent lanceBOT
tardy adder
#

AH RIGHT

#

The trigger actions

calm nebula
#

Steam says fhere is a cooking fest

#

A bluebs may be interested?

modern sand
#

Is there such a thing as a mobile mod maker?

#

Or is there just no more modding on mobile?

tiny zealot
#

mobile (android) mods used to be a thing but it is doubtful they ever will be again

modern sand
#

That sucks

tiny zealot
#

sorry to be the bearer of bad news

modern sand
#

Yeah itโ€™s sad because it could have happened but itโ€™s been left behind

woeful lintel
#

kind of a hell to maintain both a PC and mobile version of all modding tools and mods...

tardy adder
#

Why dis brown cow always warn me about the sprite when I am not even changing you >->

rancid temple
hard fern
#

how do i make an npc "locked" for romance until a certain point? is it something like just writing something to change that part of their disposition upon meeting conditions?

slender badger
#

Yep, you just have a patch editing the CanBeRomanced field with a When condition

#

Although keep in mind that that'll allow players to reach 10 hearts with them if they haven't met the conditions yet, so you'll want to also lock any 8 or 10 heart romantic dialogue or events behind a dating check

#

Here's the code I did for Don't Date Relatives, which does the opposite (changes them to non-romanceable if the condition is met) but you can just flip the false to true

        {
            "LogName": "Haley Datable Change",
            "Action": "EditData",
            "Target": "Data/Characters",
            "Fields": 
            {
                "Haley": 
                {
                    "CanBeRomanced": false
                }
            },
            "When": 
            {
                "Relationship:Emily |contains= Dating, Married, Divorced": true,
            }
        },
rancid temple
#

I'm over here trying to figure out how to avoid checking how many stardrops the player has too frequently, meanwhile base game is checking it in draw whenever you have the skill page open SDVpufferpain

true coyote
#

ree why does this AT file work but mine set up the same way doesnt

rancid temple
#

AT finnicky

gaunt orbit
#

@pine elbow could be done with c# without too much difficulty I think. would be much more complicated to do it with CP

#

(though getting it to work automatically with other mods could be trickier)

fickle garden
#

is there any mod with similar functionality to scale up 2 and hd portraits? (cant use portraiture plus because i dont think itll work for my mod) rowlet

rancid temple
#

I think those are the three really lol

fickle garden
#

SDVpuffercry thats what i was afraid of lmao thanks

rancid temple
#

Technically, none of Portraitures content pack stuff is working, so it's only able to be used for the drop in Portrait folder method

tiny zealot
#

looking to add an item to a shop for one-time sale. there's a real Data/Objects entry behind it, but i would like it to vanish and set a mail flag when purchased, sort of like the key to the town from qi's gem shop. i can set the mail flag via ActionsOnPurchase, but is there a way in the shop data to have it not give you the item?

rancid temple
#

Scale Up 2 uses CP though, so it has all of CP's functionality backing it up

fickle garden
#

rip, i cant use portraiture because I have a lot of seasonal outfit variations so relying on just _season wasn't enough for my purposes

calm nebula
#

Like thr class SpecialItem

tiny zealot
calm nebula
#

Iirc

#

This is safe to subclass since it won't hit the serializer

tiny zealot
#

i just prefer to use data when it's available

#

actually maybe i can implement the inventory trigger or whatever it is, like when you get qi gems in your inventory they disappear and go into your currency value

gaunt orbit
brittle pasture
#

Does trigger action happen before or after the item enters inventory
Since there's RemoveItem

#

if before then rip

tiny zealot
#

actions run when you click to purchase, but when you buy items they are held and not in your inventory yet iirc

fickle garden
brittle pasture
#

Item Extensions has a "on being held" trigger

rancid temple
#

You can patch Object.actionWhenPurchased and do what stardrops do lmao

calm nebula
#

(You can even subclass for that)

#

Because it never hits the serializer

fickle garden
#

if its possible to conditionally patch one over the other that'd be cool, but i thought portrait just read png files

tiny zealot
#

yeah, one of those, or hook into whatever walnuts/qi gems do to go poof. thanks, all

brittle pasture
#

this is assuming we want to stick with CP as much as possible, because yeah I'd just patch lol

gaunt orbit
#

I think for shops it's so that way you can purchase non-physical items, but everything else normally uses that one method that runs when stuff gets put in a slot

rancid temple
#

Portraiture is fairly specific about which portraits it'll override

gaunt orbit
#

I forget the name but I've patched it for other stuff before

tiny zealot
true coyote
#

ha got it

brittle pasture
#

Farmer.OnItemReceived?

gaunt orbit
#

that's the one

fickle garden
calm nebula
#

Tbh I don't think it's an issue to handle this stuff in the code

#

Data is good for when you want data modders to perhaps change a thing in your mod

rancid temple
fickle garden
gaunt orbit
#

addToInventoryBehavior or whatever it's called is also useful, because you can supress pickup messages and make it so you can pick it up with a full inventory

rancid temple
#

Uhh, pretty sure Scale Up 2 still works in the latest

#

I don't have any errors for it and I'm using it

fickle garden
#

nah i just checked it it doesn't seem to work, it has no errors, but doesnt work in practice

gaunt orbit
fickle garden
#

there is a comment under scale up 2's page saying it doesn't work for them either

fickle garden
rancid temple
#

Yeah I don't trust users

fickle garden
#

lol fair

#

well i can definitely say my patches applied prior to the new game updates

brittle pasture
calm nebula
#

@outer glacier

pine elbow
#

anyone know how I would even begin to implement a bilingual mod? I'm learning Hungarian but I'd like all the strings to display both English and Hungarian

wooden junco
#

Thank you lol

tender bloom
#

Youโ€™d need to mess HEAVILY with a lot of the text display systems

#

I would pick one place text is displayed and start there

#

Dialogue, for exampleโ€”and just start reading the decompile

#

See if you can get it to use both fonts at once as a start maybe

drowsy pewter
#

English can be typed with Hungarian font so you could possibly implement a custom Hungarian language with much smaller font (to prevent dialogue crowding) and just type every string twice. It's not gonna look good but the alternative is doing witchcraft with C#

#

It doesnt sound like an easy or fun project either way

pine elbow
#

๐Ÿ˜‚๐Ÿ˜ญ๐Ÿ˜ญ๐Ÿ˜ญ totally fine with it not looking good

drowsy pewter
pine elbow
#

there's not a way for me to tell the game to output every string twice? once in English then again in Hungarian?

rancid temple
drowsy pewter
#

No there isnt

fickle garden
#

can you link me the mod for that? wanna cross compare our code lol

pine elbow
#

is that because of the way Stardew is coded and outputs strings?

fickle garden
#

(also thanks for checking!!)

drowsy pewter
rancid temple
#

I'll upload it to the validator, it's one I made lol

pine elbow
tardy adder
#

Ok then >:|

rancid temple
#

Aside from the portraits, another reason I can't just release it lol

fickle garden
fickle garden
#

i didnt have scale up installed...

gaunt orbit
rancid temple
#

Oh SDVpufferpain that would do it

fickle garden
#

i guess i accidentally deleted it when updating all my mods just earlier SDVpuffersob

#

time to reboot

rancid temple
#

I have definitely been in the process of deleting mods to install their updates and then just forgot to move the new one in

fickle garden
#

SDVpufferthumbsup even worse when you realize there was no scale up update

gaunt orbit
#

the magic of stardrop ~

fickle garden
#

maybe i butterfingered updating spacecore

#

LOL

fickle garden
drowsy pewter
# pine elbow very limited, used to have more but it's been years

So hypothetically it's possible for you but you'd need to figure out a lot of stuff. Maybe one of the C# modders has a specific idea but like elizabeth said you'll also have to think about what you want the actual output to look like and figure out the text display stuff. I don't think its as simple as just "telling the game to do this"

#

because the "how do i tell the game to do this" is what making a mod involves figuring out LOL

fickle garden
#

SDVpuffersquee wow scale up 2 suddenly started working... i wonder why.... haha.......

#

SDVpuffercoolest welp ty for listening to my booboothefoolery

gaunt orbit
#

To get it working with vanilla, you could potentially load both language files, and then use an asset editor to combine them.
to work with mods, though, is a little more complicated, since most of them use SMAPI's language service and ignore the language of the asset. I don't know for sure, since I haven't looked at that part of SMAPI's internals, but I strongly suspect you would need to use harmony to change how that works

fickle garden
#

mystery solved

rancid temple
#

Works out, now I know for sure that it's still working instead of just assuming lol

drowsy pewter
#

Hey gervig!

rancid temple
#

Ugh, why do I keep finding out my mods are broken so long after I updated and fixed them

chrome mountain
#

Can someone help me out with some NPC stuff? I have this anti-social NPC called Goldie. For some reason if a game is started in some languages, for example chinese. Goldie will spawn at Town (29, 67). But if the game is either started in english or changed to english, Goldie is moved to the correct location at Gervig91.StardewAquariumCP_FishMuseum (15, 46).
Content.json for NPCs: https://smapi.io/json/none/b05f378fccf14c90b343b41a737d9912
chinese translation file for NPCs: https://smapi.io/json/none/8cd6cb9c5eb440d9bd1226d7ea9616d5
SMAPI log where I load and change languages and check where Goldie is using where is <npcName>: https://smapi.io/log/db2efb8292ec40759c0bc6d8a30c2697

ocean sailBOT
#

Log Info: SMAPI 4.1.7 with SDV 1.6.14 build 24317 on Microsoft Windows 11 Home, with 41 C# mods and 20 content packs.

calm nebula
#

On the chiense translation file

#

Line 7

#

Replace "Entries" with "Fields"

chrome mountain
#

Thank you atra! SDVpufferheart that fixed it

pine elbow
pine elbow
lucid iron
#

Oh it's the bilingual sdv problem once more DokkanStare

pine elbow
lucid iron
#

The reason why it is hard is cus sdv only loads 1 locale's content at a time

calm nebula
#

You can actually load another locale fine

#

It's doable just annoying

#

For vanilla

#

For modded it isn't happening

lucid iron
#

Yeah smapi has its own locale i18n thing

gaunt orbit
#

you could probably harmony your way into it with mods, but it sounds unfun

lucid iron
#

But hm is Hungarian a supported language rn

pine elbow
# calm nebula For modded it isn't happening

totally fine. I had envisioned modding in more Hungarian specific words like dishes and what not I need to learn (I just moved to Budapest, my great grandfather was Hungarian, working towards citizenship) but that's a whole other endeavor

fossil osprey
#

Which is a very good idea on the paper and would be awesome as a flexible framework, but that indeed would require tremendous amounts of work

#

Oh now that I think about it, you know what you be absolutely awesome? Being able to hover over a word and have a tooltip showing the word translated into another language

lucid iron
#

Yes I understood that part

#

But I wasn't sure if sdv has a hungarian translation

fossil osprey
#

Oh, I'm the one who misunderstood xD
I thought you said it was already supported, because maybe you thought they wanted to add it ^^'

tardy adder
#

ok I think I have finally fixed the volcano eruption I had broken

#

Let me not touch this again

drowsy pewter
drowsy pewter
hard fern
#

this might sound weird, but.. ;-; is there a way to specify specifically like... 60 millisecond pause in an event

#

idk im looking at the stuff on the wiki and

#

am so confused

rancid temple
#

Isn't pause in milliseconds?

hard fern
#

it is, but it says here that 400 = 4 milliseconds

#

but apparently 4000 is 4 seconds.

gaunt orbit
#

hmmmmm

rancid temple
hard fern
#
Stardew Modding Wiki

This tutorial breaks down Sunberry Village's simplest and shortest event to help explain each command.

โ€œ20031402โ€: This is your event ID. Make sure itโ€™s unique. You can prefix it with your update key (AKA the number on the link to your mod page). The way event IDs are formatted will be changed in 1.6 to look something like this: โ€œskellady.SBVC...

tiny zealot
wheat finch
ocean sailBOT
#

Log Info: SMAPI 4.1.7 with SDV 1.6.14 build 24317 on macOS Unix 12.7.6, with 17 C# mods and 5 content packs.

brittle pasture
tiny zealot
#

your mail edits have "When" at the wrong level

brittle pasture
#

move it outside

rancid temple
#

When goes on the same level as Action

hard fern
#

๐Ÿ˜”

rancid temple
#

It's a condition for the patch block to exist in its entirety

wheat finch
#

TY. This is what I get for editing when tired and waiting for the sleep aid to kick in.

tiny zealot
wheat finch
#

Conversion from quest framework. Will double checkt he when token after this meeting.

rancid temple
#

Hearts most likely is what you'll want

#

Also the Krobus 10 is wrong format for CP When too

#

The page I linked has an example for Hearts though

patent lanceBOT
rancid temple
#

The urge to yeet this fucking transpiler and just do a skipping prefix is biting me hard today

tardy adder
#

ah shoot I had forgotten the sprites

deep cypress
#

Is anyone else having crazy lag?

latent mauve
#

where?

#

In game, on NexusMods, in Discord?

rancid temple
#

Wiki for me lmao

latent mauve
#

In life for me right now, lower back pain hit me hard

deep cypress
#

Game

#

Like crazy lag.

rancid temple
#

Kind of a hard thing to compare since everyone has pretty wildly different mod lists

#

And hardware set ups

lucid iron
#

do u mean nexus lag

#

which is happening yes

rancid temple
#

I haven't noticed any difference in frames or delay over the last couple patches

hard fern
#

my game has always been lag

rancid temple
#

Playing right now to test my prefix, running smooth

deep cypress
#

Game lag... I got lots of new lag. Am trying to figure out what happened...

rancid temple
#

Really mad that this prefix worked immediately when I don't know how I fucked up my transpiler lol

lucid iron
#

tbh i always feel that the hardest part of transpiler is never writing the il

#

more making sure im putting it in right place

deep cypress
#

The beauty of prefix!!! I love those!

lucid iron
#

crimes

deep cypress
#

Be Gay Do Prefix.

lucid iron
#

anyways apryll try using profiler to see what is big loop?

deep cypress
#

profiler is in VS, yes?

lucid iron
#

nah the mod

#

sinz profiler

deep cypress
#

I see! Will get it.

rancid temple
#

Yeah, normally when I mess up the IL it's relatively easy to fix, it's when I forget to do stuff like move labels that's a problem lol

#

Not entirely sure what I did wrong here, half of my transpiler is still working correctly

#

Trying to figure out what I changed/if this method changed somehow

tardy adder
#

I has a question from a friend, is it possible to {{TOKEN}} a context tag in your own modded object?

brittle pasture
#

yeah you can

tardy adder
#

๐Ÿ˜„

#

thanky selph

next plaza
#

Someone asks for help with SpaceCore not loading saying they already updated everything and gave a log.

They did not, in fact, update everything. (SMAPI as well as two unrelated mods)

lofty ruin
hard fern
#

i dread testing this npc

#

sig

blissful panther
lucid iron
#

0g

#

so the hopper is innate huh

brittle pasture
#

I think it's just because building upgrades don't remove existing built in objects?

blissful panther
#

I think that's it, yeah. Probably because of the (pretty reasonable) assumption that you're not going to be removing functionality from a building with an upgrade. SDVkrobusgiggle

zenith robin
#

If I am just redoing my mod to use I18n instead of being hardcoded, what number do I increment for the version?

uncut viper
#

the number does not matter in terms of functionality so long as it only ever goes up, but the recommendation is to follow semantic versioning
https://semver.org/
so, id do the last one personally

fossil bear
#

Hey i installed a recolour, what are those spots?

hard fern
#

recolor lacks new update compat

zenith robin
#

Tiles the recolor doesn't change. It might be old or they could be non vanilla.

ocean sailBOT
#

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

calm nebula
#

(Is there such a thing as an amateur octopus)

hard fern
#

so what's a senior octopus...

#

a professional in the field

light lily
wheat finch
ocean sailBOT
#

Log Info: SMAPI 4.1.7 with SDV 1.6.14 build 24317 on macOS Unix 12.7.6, with 17 C# mods and 5 content packs.

sour walrus
#

Need a bit of guidance if someone could kindly help me out.
As a mod maker, what do I need to do after each new SMAPI update so that my mods show as compatible?

brittle pasture
#

do you make content packs or C# mods

hallow prism
#

Are they C# or content packs ?

brittle pasture
#

For C# mods, usually rebuilding against latest SMAPI/game version can work. If errors crop up you can follow them to see what broke and fix them

lucid mulch
#

In the log file there will be trace logs explaining why it was marked as incompatible

#

Content packs pretty much can't be marked as incompatible unless it's in the manual blacklist for known breakage, so bumping the version in that case is enough

latent mauve
#

Content packs just need to be updated to the newer Format values unless you're making use of the rewriters for old data types. And if you're using old data types, consider updating them to the new ones via the "Migrate to version x" docs that pop up on the wiki everytime there's an update on the way.

sour walrus
#

C# mod, thanks for the info ๐Ÿ™‚

tender bloom
#

If your mod shows up as incompatible, first thing to do is check trace to see what the complaint is

#

Typically then you can cross-check against the wiki list of changes or the decompile

#

And figure out what it needs

sour walrus
#

So I don't need to release a new version just because a new SMAPI is out?

lucid mulch
#

no

tender bloom
#

Not necessarily, though if the game has updated sometimes you do need to

sour walrus
#

Awesome thanks

tender bloom
#

SMAPI changes also typically are not breaking changes unless it's a major version change

lucid mulch
#

Profiler is still on a 1.5.6 compatible build due to how little of Stardew it actually touches

lucid iron
#

secretly a smapi mod DokkanStare

tender bloom
#

Honestly I personally wait for people to complain at me, but I'm in kind of a busy stage of life rn

calm nebula
#

Neither of us will actually have the time

final arch
#

Failed loading PDB for 'AlternativeTextures.dll'. Technical details:
tons of ppl report that, whats up with that?

next plaza
#

What are the technical details?

ocean sailBOT
#

Log Info: SMAPI 4.1.7 with SDV 1.6.14 build 24317 on Microsoft Windows 11 Home Single Language, with 48 C# mods and 49 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

final arch
#

I got logs like this from some ppl with "RSV" doesnt load

#

tons of mods dont load because of outdated (?) .pdbs

#

I just told ppl to delete all pdbs but thats rather inconvenient

#

@cyan marsh your unique respone core breaks all birthday gift dialogue, and its not very obvious that its your mod. Could you look into it possibly? all NPC mods like SVE and RSV get reports about it

deep cypress
#

(I get a fair number of PolyamorySweet reports of vague dialogue issues too, when people are using it.)

final arch
calm nebula
final arch
#

afaik no

calm nebula
#

Smapi changed from separate to embedded

#

Oh

final arch
#

but I actually never got feedback ๐Ÿค”

calm nebula
#

No cluse theb

#

Have fun!

#

Enjoy modding ๐Ÿ˜›

cyan marsh
final arch
#

I left a log on your modpage a few days ago

#

basically the issue is you patch invalid dialogue as birthday dialogue

brave fable
#

is there a method to format dates other than Utility.getDateStringFor or does the game just not bother

cyan marsh
brave fable
#

Day 23 of Spring, Year 3 is a bit long but i guess there's not going to be some wild localisation method that makes stuff like 23rd Spring, Year 3

final arch
#

thanks SDVpufferheart

#

maybe SDate from smapi has a Displaytext method? not sure tho

calm nebula
#

Raspberry, what are you trying to do

brave fable
#

oh wow i really wasn't expecting localised text in smapi

cyan marsh
#

hmm

brave fable
#

SDate.ToLocaleString gives Spring 23 in year 3 which is probably as good as it's gonna get haha

#

good suggestion SDVpufferthumbsup

brave fable
#

sometimes you just make a menu and then realise you don't actually know how you'd ever bring it up SDVdemetriums

deep cypress
#

I'm mad at Photoshop; more specifically, Adobe. Creative Cloud has to be installed, but... takes a HOARD of resources up.... Imma try GIMP.

brave fable
#

maybe this can be a calendar or something

#

my photoshop works fine without creative cloud, you just have to disable the services that're trying to run it (on windows)

cyan marsh
#

hmmm.. everything seems okay with that

brave fable
#

gimp is not an adequate substitute for photoshop lol

blissful panther
#

Sadly, there's like... one kinda close substitute, and it's annoying.

calm nebula
#

Affinity!

brave fable
#

i'm always going to push photopea as an alternative since it's actually trying to be a 1:1 substitute, but it's also online-only (which is a benefit if you want something portable)

#

man the absolute number of new classes and files and changes needed just for this one silly quest lol

deep cypress
#

I disabled the services using C-CLeaner, but... It kept starting up and running anyways....

cyan marsh
#

@final arch i'm not seeing the issue here

#

does the NPC Kimpoi have their own text?

brave fable
#

i might've also deleted a while bunch of annoying exe files in the adobe folders to properly kill creative cloud lol

#

annoying service

final arch
#

you can gift npcs on their birthday with your mod installed?

cyan marsh
#

hmm let me try

#

I have to set up everything.. so i can test it first xD

brave fable
#

ah, the eternal question. to subclass furniture, or patch furniture.checkforaction

#

interesting that technically all furniture is sittable. tvs, paintings, cacti, you name it

blissful panther
#

Similarly, I find it interesting that the shipping bin can have an interior location.

brave fable
#

now that's a better mod idea than 'sit on cactus'

cyan marsh
#

seems to work fine

deep cypress
#

Sit on Cactus? 25 percent chance of damage?

cyan marsh
#

but that' s not the dialogue i put in

brave fable
#

chance? you sat on a cactus. you knew the consequences

cyan marsh
#

hmmmm

lucid iron
cyan marsh
#

@final arch I downloaded an NPC to check... there is no issue here

#

i need to make dinner but I'll look deeper

wheat finch
rancid temple
#

How are you sending the mail?

wheat finch
uncut viper
#

that doesnt send it

rancid temple
#

Ah, that's not how mail works

uncut viper
#

mail simply existing in the data does not mean it gets sent

rancid temple
#

You have to use a trigger action

#

Or I guess any of the other means

uncut viper
#

the game does not at all look at When conditions, those are only a content patcher thing

rancid temple
#

Probably some way to do it in events and dialogue

uncut viper
#

they determine when the data exists in the game at all

#

as it is, your mail does not exist in the game whatsoever, not even internally, until you have 10 hearts with krobus

#

then content patcher will add it

rancid temple
#

Yeah, you can remove that When from the mail and use a condition for the trigger action instead

wheat finch
#

TY. Quest framework had the trigger for sending the mail baked in. Still getting used to all the 1.6 changes.

rancid temple
#

Specifically with the Condition field, rather than a When field

#

Which uses Game State Queries instead of CP tokens

uncut viper
#

essentially with When conditions, if the requirements of that condition are not met, its effectively like it does not even exist in the content.json

#

you can, however, use CP tokens in Game state queries

#

if they resolve to true/false

calm nebula
#

Button, you're red!

uncut viper
#

or well, if they resolve to anything, but if you want just true/false then it needs to be that

#

i am red!

#

snuck onto the 1.6 dev team /j

calm nebula
#

You would do well SDVpufferthumbsup

uncut viper
#

possibly the biggest compliment i can think of

rancid temple
brave fable
#

you'll do less damage editing the source code directly than with all your transpilers

halcyon crescent
uncut viper
rancid temple
#

I don't think you have any proof that Button has done any damage with her transpilers

uncut viper
#

ive done damage to my own mods, does that count?

rancid temple
#

Only if you're willing to press charges

uncut viper
#

i dont think i can compel myself to testify

#

dont have it in me

calm nebula
#

Raspberry, you too

#

Congratulations!!!!

uncut viper
#

i like the name change

brave fable
#

clearly cranberry-coloured

uncut viper
#

that i would agree with

brave fable
#

candy crimson tho

uncut viper
#

cranberry paprika blueberry

tender bloom
#

That sounds like an awful pie flavor

rancid temple
#

Just don't put too much paprika lmao

#

It'd be a slightly earthy mixed berry pie

tender bloom
#

I think the earthiness is what I object to

#

And I could maaaaybe pretend it's not awful if it was one berry, but two berries seems like a lot of flavors bouncing around

uncut viper
#

but consider, twoberry rhymes with blueberry

brave fable
#

mace is basically paprika but nutmeg

#

you just need to be a little open-minded and not taste it while u eat it

rancid temple
#

Like... mace the self defense spray?

brave fable
#

mace is made of mace

#

hence the name

#

in the same way pepper spray is made of pepper

#

actually you know what it's probably not

#

mace is nutmeg and even though nutmeg has a lethal dose it's probably not nutmeg lol

uncut viper
#

so... bear spray is made of bears...

rancid temple
#

Well, you have a cooking mod so I'll take your word for it lizDerp

calm nebula
#

Speaking of cooking mods

rancid temple
#

atra heel turn to ask when LoC release date

brave fable
#

it's probably too late to add a demetriums to pretend i didn't think mace was made of mace isn't it

calm nebula
#

Steam is apparently having a cooking sale

#

I will assume this means baozi are half off

calm nebula
#

Ugh apparently epu broke sometjme

rancid temple
#

I tried to search baozi on Steam and nothing came up so I don't know what's happening anymore

tender bloom
#

baozi is IRL food

#

Atra does not know video games

#

Well, usually not

#

Occasionally yes

rancid temple
#

Or, does atra just like to troll us

tender bloom
#

But I suspect atra meant real baozi

#

I kind of want baozi now...

#

I got some funky ones at the vietnamese store

uncut viper
calm nebula
rancid temple
#

Oh, I love these, though I don't think I've ever had any handmade ones lol

calm nebula
#

They are steamed, see?

tender bloom
#

They had not just pork and cabbage, but also a chunk of sausage and A WHOLE QUAIL EGG

calm nebula
#

Get it?

rancid temple
#

I do, v funny

tender bloom
#

like it's so disconcerting to eat something with a surprise quail egg

uncut viper
#

i dont get it, please explain

jolly bane
#

hiya so I'm attempting to make a marriage schedule for a custom npc but I keep getting the error "NPC 'npcname' failed to parse master schedule 'marriage_summer_21' with raw data '1340 Beach 42 24 2/1900 bed/2200 npcname_sleep'. IndexOutOfRangeException: Index was outside the bounds of the array. at StardewValley.NPC.parseMasterScheduleImpl(String scheduleKey, String rawData, List'1 visited) in D:\GitlabRunner\builds\Gq5qA5P4\2\ConcernedApe\stardewvalley\Farmer\Farmer\NPC.cs.line 6217". Curiously this error only happens when I put "marriage_" at the start of the schedule day, does anyone know what this means? Thank you!

brittle pasture
tender bloom
#

Unfortunately the error is a bit nonspecific

uncut viper
#

discord formatting strikes again

tender bloom
#

but it means your schedule is wrong

rancid temple
tender bloom
#

I am not personally very familiar with schedules

uncut viper
#

index out of range makes me think an argument to smth is missing but i also dunno schedules

tender bloom
#

The sleep one needs a location perhsaps

calm nebula
#

I don't understand the 2200 npcname_sleep

#

Remove that

tender bloom
#

the wiki is saying things like 2200 SeedShop 1 9 3 abigail_sleep

#

which is different

calm nebula
#

You have already sent the npc home with bed

latent mauve
#

If you set bed, you don't need npc_sleep

calm nebula
#

You do not need to add the sleep command

latent mauve
#

It's automatically included

tender bloom
#

sounds like try deleting the last command then

latent mauve
#

<time> bed tells the NPC to navigate to their bed and run the sleep animation

calm nebula
#

(Unless it is a spouse)

tender bloom
calm nebula
#

In which case they just return to the farmhouse

latent mauve
#

No, even if they're a spouse, then 'their bed' is the farmhouse bed. ๐Ÿ˜›

calm nebula
#

And sleep at their normal time

rancid temple
#

Normalize sending NPC's to the bed spot and playing an animation of their eyes closed, so I can give them gifts when they're supposed to be asleep

calm nebula
#

It forces sleep?

latent mauve
#

Yes, it forces sleep

brave fable
#

is there actually anything ingame that tells the player they can interact with a Calendar in the house?

calm nebula
#

Huh

rancid temple
#

Like a tutorial?

brave fable
#

i can't give my custom thingo a description

uncut viper
#

i think just the fact thast it looks like the town one

#

so not really

brave fable
#

all paintings just say This furniture cannot be placed outside

rancid temple
#

Isn't there a calendar sold at Robin's?

uncut viper
#

maybe the item description itself?

latent mauve
#

Yep

brave fable
#

the item has no description haha

#

it's a painting

uncut viper
#

oh

latent mauve
#

I buy a calendar from Robin in every playthrough. xD

tender bloom
#

you can use spacecore to add a description

rancid temple
#

Does it have a description when you're buying it?

tender bloom
#

although this may break your no dependencies goal

brave fable
tender bloom
#

I've added spacecore optional dependency to my bonsais so they can have a description if users have spacecore

rancid temple
#

Lmao

tender bloom
#

For some reason furntirue is just whack and doesn't have any info

uncut viper
#

send a letter explaining it after purchase, i guess SDVdemetriums

rancid temple
#

That is wack

next plaza
latent mauve
#

This reminds me of when I learned that wallpapers and flooring don't have their own names

brave fable
#

oh yeah they're all just Wallpaper lol

tender bloom
#

I mean an optional dependency doesn't hurt...

next plaza
#

(And for a C# mod? Well, there's SMAPI)

#

(There is no escaping dependencies)

tender bloom
#

Blueb is doing C# p sure right???

brave fable
#

cp+cs

tender bloom
#

Ahh

next plaza
#

Ah, I missed it was blueberry because of color changes

tender bloom
#

blueb-now-redb

calm nebula
#

Raspberry

next plaza
#

Remember when blueberry's discord ID said rhubarb? Pepperridge Farm remembers

calm nebula
#

Or cranberry

brave fable
#

redbs doesn't sound so good

calm nebula
#

Can't decide.

tender bloom
#

but I know blueb CAN do C# and has mentioned dependencies are hisss

#

Cranberry

#

I remember rhubarb

#

Does that make me old?

calm nebula
#

Bluebs is already using spacecore

uncut viper
#

redbs sounds like a database service

calm nebula
next plaza
#

Back in the days of usernames with a discriminator at the end

calm nebula
#

Maybe it's boba time

tender bloom
#

I like to say I'm old as the hills

brave fable
#

i don't like to say that

next plaza
calm nebula
#

Bluebs here to tell us it's less funny when you're actually old?

latent mauve
#

A beloved fixture of the community, a monument to what came before. SDVpufferheart

brave fable
#

i'll probably just explain it via dialogue when you receive the furniture

#

if nothing in the game has a description anyway then no point bucking the trend

tender bloom
#

At least on the internet I can more convincingly pretend I'm old

#

It works much worse in person when people see my face

calm nebula
#

Nah

brave fable
#

bizarre that calendars are unexplained sittable paintings

tender bloom
#

I was mistaken for a freshman, the horrors

calm nebula
#

Instead, do an audio description

next plaza
tender bloom
#

painting I can get behind

#

but sittable?????

lucid mulch
next plaza
#

Yeah, I think you're right

tender bloom
brave fable
#

anyone's welcome to make the sittable cactus transpiler, i'll be collecting royalties

tender bloom
#

Idk I feel like users know what the phrase "optional dependency" means (the ones that can read)

next plaza
#

Smh, blueberry thinks just because something implements ISittable means it can be sat on

tender bloom
#

In practice I forget what I did on the technical side I just know it works

next plaza
lucid mulch
#

dependencies in the manifest control load order (but content packs are in their own sorted pool and loaded by their parent mod)
regular dependencies dont get on the lists if required dependency is missing
both dependencies and optional dependencies dont get on the list if their version constraints aren't met

#

So if you don't need to control load order, and you have runtime guards if its missing or bad version, optional dependency isn't needed

tender bloom
#

Atra is making me want boba

rancid temple
#

Boba and bao

calm nebula
wheat finch
#

Dear i18n I hate you right now. I'm gonna go nap and hope you decide to play nice later.

zenith robin
#

It won't.

brave fable
#

i18n always does exactly what you tell it to โ˜€๏ธ

#

you're just getting lost in translation SDVdemetriums

wheat finch
#

"no translation ESVGP.WizardLetterStart" but guess what i18n? That key is there exactly that way in both the mail patch and the default file...

#

And of course once again no errors to the log so I can't even go there for help.

uncut viper
#

you can post your jsons

brave fable
#

well you could always post your files here for us to look-over

uncut viper
#

well, theres the problem, your i18n doesnt have those keys

#

your i18n has the key {{i18n:ESVGP.WizardLetterStart}} not ESVGP.WizardLetterStart

#

and beyond that, you cant use tokens like that in i18n files

rancid temple
#

Can you put commands in the i18n?

uncut viper
#

the i18n token will load a keuy from i18n json with whatever key is after the i18n:

#

you can put whatever you want in the i18n

rancid temple
#

Like will mail commands work from it though

uncut viper
#

ideally you dont bc translators might mess it up but the token in the content.json just gets replaced with the text anyway

rancid temple
#

Probably they shouldn't be in there regardless so they don't get translated

wheat finch
#

It's always something stupid with me. I was ignoring the curly braces in my default going "yes it does exist"

uncut viper
#

from the games perspective a token is never seen

#

its just resolved as text

#

its not just the curly braces

brave fable
#

poor i18n, so unjustly accused of not working

uncut viper
#

you need to remove the i18n from the keys in default.json too

cyan marsh
#

so.. anyone wants to dabble in some Event stuff with me... I have a conundrum I need to figure out :3

rancid temple
#

Unless you do something dumb like try to use tokens directly in Tiled SDVpuffersquint

wheat finch
#

Yeah working on that now. My brain is clearly out to space today.

uncut viper
#

"ESVGP.WizardLetterStart": "@,^I see you have become [...]"

#

this is what you want

cyan marsh
#
Monitor.Log($"Current Event: {Game1.CurrentEvent.id}", LogLevel.Debug);``` This is spamming the console.. I need to figure a way to make it only show once per event
lucid mulch
#

where is the monitor log?

uncut viper
#

if its spamming the console it means you must be calling it repeatedly, is it on an UpdateTicked event or something

cyan marsh
#

OnEventStarted

#
        private void OnEventStarted(Event @event)
        {
            
            Monitor.Log($"Current Event: {Game1.CurrentEvent.id}", LogLevel.Debug);
            LastPlayed = Game1.CurrentEvent.id;

            if (ShowEventIDs)
            {
                Game1.addHUDMessage(new HUDMessage($"Current Event: {Game1.CurrentEvent.id}!"));
            }
            Game1.CurrentEvent.eventCommands = this.ExtractCommands(Game1.CurrentEvent.eventCommands, new[] { "forgetEvent", "forgetMail", "forgetResponse", "timeAdvance" }, out ISet<string> extractedCommands);

            foreach (string command in extractedCommands)
            {
                // extract command name + raw ID
                string commandName, rawId;
                {
                    string[] parts = command.Split(' ');
                    commandName = parts[0];
                    if (parts.Length != 2) // command name + ID
                    {
                        this.Monitor.Log($"The {commandName} command requires one argument (event command: {command}).", LogLevel.Warn);
                        continue;
                    }
                    rawId = parts[1];
                }

                // handle command
                switch (commandName)
                {
                    case "forgetEvent":
                        Game1.player.eventsSeen.Remove(rawId);
                        break;

                    case "forgetMail":
                        Game1.player.mailReceived.Remove(rawId);
                        break;

                    case "forgetResponse":
                        Game1.player.dialogueQuestionsAnswered.Remove(rawId);
                        break;

                    case "timeAdvance":
                        if (int.TryParse(rawId, out int hours))
                        {
                            int newTime = Utility.ModifyTime(Game1.timeOfDay, hours * 60);
                            if (newTime < 2600)
                            {
                                Game1.timeOfDay = newTime;
                            }
                            else
                                this.Monitor.Log($"Cannot advance time! {hours} would put the time to {newTime}!  Command ignored!", LogLevel.Error);
                        }
                        else
                            this.Monitor.Log($"Time advancement failed: invalid number '{rawId}'.", LogLevel.Warn);
                        break;

                    default:
                        this.Monitor.Log($"Unrecognized command name '{commandName}'.", LogLevel.Warn);
                        break;
                }
            }
        }
#

it does more than monitor the event id

#

it also handles my custom event code

uncut viper
#

where are you calling this function from

lucid mulch
#

what is call-

cyan marsh
#

<.< what you mean

uncut viper
#

what calls OnEventStarted

#

what causes that function to run

cyan marsh
#

Events

#

when they start

uncut viper
#

OnEventStarted is your own code and not a vanilla thing or a SMAPI thing, it doesnt just magically run without something calling it

#

what makes an event call that function when it starts

cyan marsh
#

ah.. it's checked on OnUpdateTicked

uncut viper
#

is this for Event Repeater?

cyan marsh
#

yeah

uncut viper
#

yeah thatll do it

cyan marsh
#

it's a hiccup i didn't notice

#

I was thinking about a bool to just silence it.. but I am not in the mind to think of how to untick the bool after the event ends

lucid mulch
#

also wouldn't all of that logic immediately run, not when the commands are meant to happen, as events have control flow to skip sections or short circuit early

rancid temple
#

This whole thing running in Update is giving me the willies lmao

cyan marsh
#

yeah.. i don't remember it doing that.. so it's a recompile issue i suppose

wheat finch
#

Yay. Got the translation thing fixed. Now to fix the issues with the quests...

cyan marsh
uncut viper
#

for what

cyan marsh
#

mcsrs oh... nvm mceheh

lucid mulch
#

if you are just trying to add commands, just use Events.RegisterCommand(string name, EventCommandDelegate action)

cyan marsh
#

<.< not the lane

#

all that is figured out

#

all i wanted to do is stop the Current Event: <ID> spam in the console

lucid mulch
#

(also timeAdvance command wont behave well in multiplayer)

cyan marsh
#

no one really messes with it

#

especially because of CP intergration

#

alright.. i fixed it

#

I just added a bool in the code

#

if Game1.currentEvent is null (thus, no running event) then set to false If an event is running do the thing then set it to true so it doesn't repeat the action

wheat finch
#

Hahahaha. Something went awry with my rewards. But good news is that everything to this point in the mod is now working.

#

I think I just need to put a # between my portrait command and my action command.

uncut viper
#

seems like you forgot a #

wheat finch
#

Jinx lol

cyan marsh
#

interesting thought: Can you extract the dialogue ID when interacting with a NPC.. Like you talk to it and the console says "Mon4"

wheat finch
#

Hmmm...I fixed that so it's "Thank you, @. Now I can finish this item the Witch taught me to make.$1#$action AddFriendshipPoints Wizard 50 #$action AddItem (O)808 1" But it still showed the gold coin icon, and the text for adding friendship points. And didn't add the item that I checked.

#

And it didn't use her happy portrait.

uncut viper
#

Dialogue objects do store a TranslationKey field

cyan marsh
#

hmm.. i wonder if this could have utility tho

wheat finch
#

No. I closed the game when I got the issue the first time, fixed the json, copied the fixed version to my mods folder, and went back in to the game.

uncut viper
#

i would double check you actually saved/the file copied over correctly then but beyond that im not familiar enough with dialogue to be able to spot something wrong there if there is anything

brave fable
#

when is the dialogue triggered?

wheat finch
#

It's the reaction dialogue when I give the quest item to Leah on the third quest in the quest line. Give her a gold bar, get the dialogue and the dialogue window is showing the first action string and not using her portrait I wanted used. (Unless her neutral and happy are the same. I haven't checked that in a hot minute.)

#

So it triggers from the last entry in the slash delimited string for the quest which uses an i18n key and the actions are in the default json alongside the dialogue. Should they perhaps be in the quest string instead?

#

The quest string only allows for no reward or gold not items and friendship points which is why I was trying to use the dialogue commands to trigger the friendship points with the wizard and the item (void ghost pendant). For some reason the second action command isn't displaying in the dialogue. Which is as it should be but I didn't check if I got the item.

uncut viper
#

from a technical standpoint there is no difference between you putting your i18n in default.json and loading it with a token there and you just putting the dialogue directly in the quest data

#

from a technical, from-the-games-pov standpoint i should say

#

that said

wheat finch
#

Maybe I'll test it without an i18n key to see if it's truly formatting or if the quest doesn't like using actions in the reaction dialogue.

uncut viper
#

did you already have this quest?

#

because once a quest is added to your log, its saved as is

wheat finch
#

I triggered it afresh by completing the two quests that precede it.

brave fable
#

i'd like to say the initial dialogue emote portrait on quest item received is forced

uncut viper
#

but i mean, did you delete that quest and get it again after making your changes?

brave fable
#

but i'm not sure

wheat finch
#

The only quest in the line that was triggered so far in this file was the first one. I completed it to trigger the second one and then completed that one to trigger the third. I wouldn't have had the quest flag in the file but I can try again on a fresh save.

teal bridge
#

Has anyone ever tried to look into why asset loading is so slow and janky? Is it the file I/O itself, texture decoding, or texture upload to the GPU?

#

I know MonoGame is really aggressively single-threaded but wondering if in some cases it's possible to do some of the work async beforehand and pass the partially-finished result into MonoGame.

rancid temple
#

I didn't know asset loading was slow and janky lmao

teal bridge
#

Can't say I'm super optimistic, but I'm annoyed that in trying to optimize a 200ms frame, almost 100 of that is just asset loading.

brave fable
#

he didn't know SDVpufferpensive