#making-mods-general

1 messages · Page 613 of 1

severe cairn
#

I kinda did that but only cus i was too lazy to do side view for himeko SDVIridiumKek she a monster tho, spoiled a monster child

cyan jungle
#

okay so no more errors from smapi but when i tried gifting i got the no translation string line thing SDVpufferping

round dock
#

Roxana, for ease of debugging, I think it would be best to show people what both your i18n and content.json (or whatever it's named) look

cyan jungle
#

of course

whole prism
#

listening to relaxing animal crossing new leaf music helps me mod fast SDVpufferwow

severe cairn
#

Good news: town loaded
Bad news: loaded wronk

whole prism
severe cairn
#

good news: only texture wise
bad news: thats the only thing i messed with anyway

severe cairn
#

ah yeah

#

everything {{i18n:[here]}} has to match a key (string left side) of the i18n json

round dock
#

Your i18n key doesn't match

severe cairn
#

It's trying to find "Dialogue.Osmar.AcceptGift_(O)MissAnaira.VanillaCookingRecipes_StrawberryCheesecake"
but your i18n only has "AcceptGift_(O)MissAnaira.VanillaCookingRecipes_StrawberryCheesecake"
🙂‍↕️

cyan jungle
#

weird. i thought i removed all the dialogue.osmar. confusion

verbal glacier
#

you might not have sent the updated dialogue.json cause it still has the period

cyan jungle
#

oh that could be! silly me

#

sorry abou that ;-;

severe cairn
#

btw, you can still keep dialogue.osmar in the i18n key, just make sure the keys in the json you use for dialogue matches whatever is on the wiki, cus the game reads those and uses it to decide stuff
your i18n keys are used to just find what text to insert, so it can have any name as long as its unique in the i18n file

cyan jungle
severe cairn
#

nod nod

#

makes sens

cyan jungle
#

update: it worked!! SDVpufferparty

severe cairn
#

wee

cyan jungle
round dock
#

You can put in whatever i18n key you want, just make sure they match

severe cairn
verbal glacier
#

also sidenote he looks really cool

cyan jungle
#

now, is there anyway to overwrite stardrop tea dialogue?

cyan jungle
severe cairn
#

aww

round dock
#

Roxana, are you using Nomori's i18nifier? It's made working with i18n more effortless.

severe cairn
#

Me: why doesn't this work
Also me: "BackTextureTexture" (instead of just BackTexture)

verbal glacier
severe cairn
#

coding is just "guess how many times bugs are minor human errors" (most of the time)

round dock
cyan jungle
#

omg this looks awesome... where has this been

round dock
#

I highly recommend you just use this moving forward.

cyan jungle
#

also, is there anyway to overwrite stardrop tea dialogue?

whole prism
verbal glacier
cyan jungle
severe cairn
#

grwrrerrrr doing C# got me forgetting to build.. and also forgetting when i last built... was the minute displayed right now or 20 seconds ago before i fixed the bug

round dock
#

Do the tokens match now?

#

(for your stardrop tea dialogue)

cyan jungle
whole prism
#

cause when im done eating idk if i built or not and if the bug is still present

#

cause 3 pounds of chicken is alot of food

verbal glacier
cyan jungle
#

oh..

severe cairn
#

i just forget every second, no need to get up or do anything i start up the game and immediately forgets everything ive done

verbal glacier
# cyan jungle oh..

also for the hated gift response you have AcceptBirthdßayGift_Hated which should be AcceptBirthdayGift_Hated

sour sapphire
#

Is it possible to dynamically add to a ConfigScheme using DataEdit or something similar? I’d like to add config options to an animal template so I don’t have to hardcode the same options for every animal in the config schema.

dim chasm
#

Is C++ used for mods?

uncut viper
#

No, C#

dim chasm
#

Ok

cyan jungle
uncut viper
#

Or json if you're making a content pack for a C# mod to use

uncut viper
#

All config must always be present.

sour sapphire
#

Dang

round dock
#

-# Currrent

severe cairn
#

me documenting errors I had debugging yesterday (C#)

error 1: i forgor i changed something to a list
error 2: i forgor to delete a closed bracket when changing a different section from a list to just a class, and also forgor to add an open curly bracket lol
error 3: i forgor to change the other block that i copy pasted that had the same errors
Game launches without errors now!
error 4: i accidentally put a variable somewhere before it gets overwritten instead of after
error 5: i accidentally put something in OnSaveLoaded so some variables were still null
error 6: i forgor to load a whole variable in general lmao
error 7: i forgor too mny things to name ngl, also cus i forgor what the issues were 😭
IT WORK!

TL;DR:
pre-launch errors: i forgor SDVpufferwaaah
post-launch errors: had to move stuff around, and also i forgor

#

there were more errors after 7 but as mentioned i forgor

cyan jungle
#

success

round dock
#

Had to take a lot of self-restraint not to put I made an oopsie teehee on my patch notes lmao

severe cairn
#

same

#

every time i write "i made an oopsie" and i gotta sadly delete it

#

i can at least be sillier in my posts tab than the changelogs SDVIridiumKek like "Fixed tile issues with the carp" vs "Now the carp won't eat the tiles and will be behaving"

sour sapphire
brittle pasture
#

skill issue, I never make mistakes aside from all the times I did

round dock
#

ver. 2.0.1: I made this mod at 5 am and made it everyone's problem. Here's the fix.

severe cairn
#

I think my silliest in the actual changelogs and not the posts was "Unbroke the mod after the hotfix"

#

my hotfix was so hot it broke stuff 💔

sour sapphire
#

Update: made the fix even hotter

severe cairn
#

born to be SDVpuffersquee forced to be SDVpetcatsad

whole prism
#

Carp... eat tile? SDVpufferfear

severe cairn
#

what i wish i could add in my changelogs 💔

verbal glacier
severe cairn
#

"this is why you should've just eaten it"

round dock
#

Stopped a guy from fishing through her house. shouldn't be as funny as it is to me rn lol

severe cairn
#

he was fishing in her window SDVIridiumKek

whole prism
severe cairn
whole prism
#

doing a ton of moves

whole prism
round dock
#

He needs to be stopped, clearly SBVLmaoDog

whole prism
#

looks like hes checking the integrity of your house

severe cairn
#

i took his fishing rod privileges from him (patched the image during squidfest specifically to not have a fishing rod anymore SDVIridiumKek )

round dock
#

You should make that part of her lore SBVLmaoDog maybe insert one special unique dialogue about catching a guy fishing through her window. /lh

whole prism
#

the only funny bug I had was when red coral when fished up turned into pearls

#

to this day idk why that happened

round dock
#

winter_7: The Fishing Derby still makes me feel... queasy. I've had recurring nightmares about a man fishing through my window, @

#

-# i'm making this a Narumi problem duck, shhhhh

verbal glacier
#

-# it's gone now

#

-# also Arumi*

verbal glacier
#

or is that nassi + arumi's fusion name

fossil osprey
strong kite
#

Question: How hard might it be to add a better tier of sprinkler with content patcher

uncut viper
#

Not possible.

strong kite
#

dang...

#

Guessing it requires C#?

uncut viper
#

Correct.

strong kite
#

Well shoot... how complicated would it be in C#?

uncut viper
#

You'd have to ask someone else that because I'm not too familiar with sprinkler code

strong kite
#

Ah, fair enough. Well alrighty!

#

I'm once again back to figuring out rewards for completing bundle books and out of 6 I need I only have ideas for 2, though one is a hat which I've heard will most likely want a framework for

brittle pasture
#

I recall it's just one function you need to override
figuring what function that is is an exercise left to the reader because I'm on my phone rn

#

-# but really you should try figuring it out; it's good practice

severe cairn
#

searching sprinkler in visual studio would help :P

strong kite
#

Would also def help looking at another mod that does it, but the only one I know of is Prismatic Tools which is.. you know.. 8 years old heehee

#

There's also Prismatic Tools Continued, but I don't know how to view DLLs

patent lanceBOT
calm nebula
#

Trivial in c#

#

Up to a point

#

Animations are fun as always

strong kite
#

I'll just install Visual Studio lol

#

I'm only doing this because I can't imagine adding ONE item with C# could be that hard, especially with a reference to go off of

uncut viper
#

Adding an item is dead easy. It's making it do the sprinkler things that can't be done in CP that requires a little bit more work.

strong kite
#

Yee, I imagine that part will be a lot easier with another mod to look at for reference

#

I just.. gotta figure out Visual Studio 😭

#

Googling is straight up not helping, all Im tryna do is look inside a DLL or decompile it or literally anything Azusob

calm nebula
#

!decompile

ocean sailBOT
strong kite
#

Holy thank you, now I can finally start getting somewhere

#

unsurprisingly, looking at a coding language I'm completely unfamiliar with is incredibly intimidating LUL

urban patrol
#

!yellowbook

ocean sailBOT
strong kite
# urban patrol !yellowbook

I'ma be honest, learning like this just does not work for me with my ADHD. Even if it does teach me, it will not be without severe frustration that more than likely will outweigh the knowledge retained

#

I'm realizing that this probably just isn't gonna work out for me. Even with a reference, there's a whole ton of extra information that I don't know what's needed for what I need and what isn't and just... I think I'm gonna just scrap the idea of adding a sprinkler

brittle pasture
#

what is your style of learning then /genq

strong kite
#

Hands-on, but this is also just so foreign to me that it's just too intimidating

brittle pasture
#

there are plenty of stuff out there; C# is a pretty popular language after all

#

hmm probably some sort of video programming courses from first principles

calm nebula
#

boot .dev is popular apparently

strong kite
#

Well that's the thing, following anything feels darn near impossible for me. I get distracted, or I just straight up don't retain the information and get frustrated incredibly easily. It frustrates me because I know it should be helping but it just doesn't for me, and it ends up in this sort of frustration feedback loop

brittle pasture
#

back when I was a kid we had programming courses at the library
kind of a drop in write your first program in Pascal (yes really) with instructors

blissful panther
#

There are almost certainly some interactive C# courses out there, at least. I don't know any of them to recommend though, unfortunately!

blissful panther
brittle pasture
#

the only one available

blissful panther
#

Risking veering into #programmers-off-topic myself here, but I miss the blue. SDVkrobusgiggle

But yeah, I just wish I knew some interactive C# resources to recommend.

strong kite
#

It's also worth noting that I can be pretty stubborn too HehSweatCloseup
So... sorry for being difficult Tiredkip

blissful panther
#

There are a few results if you Google "interactive C# course". Maybe worth taking a look to see if any of them are free, or at least maybe have some free basic stuff?

calm nebula
#

Or just bang your head on it until u succeed

#

A lot of people in this channel have adhd

strong kite
rose bobcat
#

i have no idea how "real programmers" feel about it though, i'm like 99% self-taught and also very bad

blissful panther
#

Oh, perfect then! That'd suffice if it agrees with your learning style.

terse warren
#

(Hi, I made Warm Stalls and Cozy Boxes.) I had a user report, and I've confirmed this myself, that Mizu's Reindeers don't seem to respond to MMAP AnimalSpot tile properties. What makes them different from other modded animals? Mizu yaks, buffalo, deer all work fine.

brittle pasture
#

anything in logs?

#

also @lucid iron

#

as far as i can see in the files they're just like other regular barn animals

#

ok it seems per the report the reindeer was obtained via the special animal adoption event

#

it could be a genuine bug SDVpufferthink

terse warren
#

Nothing in logs. I assumed it was something with the new wildanimal function in Livestock Bazaar, but then I discovered I can't get the ones purchasable from Marnie to work either.

#

Spent a couple hours squinting at this before I thought I'd ask here

wintry aurora
#

Somebody in the other modding chanel mentioned that Content Patcher Animations was a bit outdated? Is there asomething more effitient that I should use? and would anyone know of any guides? I'm trying to put together an animated portrait pack but I'm a bit lost on the CP side of things.
tysm

ornate trellis
barren tapir
#

What qualifies for an "expansion" mod tag for Nexus

hard fern
brittle pasture
hard fern
#

"Expansion" is just a fan made term that we have 0 real criteria for

ornate locust
#

nobody knows

hard fern
#

I can turn pelican town into shrimp and call it an expansion

proven spindle
#

If my raccoon mod can use it then whatever you've got probably can too

ornate locust
#

Yeah, but then would people looking for something like it go to that category and find it?

barren tapir
#

It is probably the biggest update I've ever made to one of my published mods

strong kite
#

Alright uhh.. this is problematic... I didn't notice this before releasing the update but the recipe I made for the Golden Pumpkin is bugged like completely

barren tapir
#

It's also why I asked about the expansion category. I feel like adding new monsters, locations, lore, and trinkets is a bit beyond a mod that just adds some new books (granted, "some" is relative here, as it's sitting at somewhere between 17 to 25 different books 😅 atm)

strong kite
barren tapir
#

GIVE ME A SEC TO FIND IT

#

!tag torch

#

Nope

strong kite
#

!torch

#

Not that either dang

barren tapir
#

Yall, what is the command linking you to the message talking about how to fix this bug?

#

Regardless, the recipe will work. Its just displaying the torch recipe as the shop preview item

calm nebula
#

!cookies

strong kite
#

But the other item I added as a crafting recipe is working it seems

hoary tartan
strong kite
#
            "Action": "EditData",
            "Target": "Data/CraftingRecipes",
            "Entries": {
                "{{ModId}}_GoldenPumpkin": "276 1 {{ModId}}_GoldNanabBerry 1 {{ModId}}_GoldPinapBerry 1 {{ModId}}_GoldRazzBerry 1/Field/(O)373",
                "{{ModId}}_ParsnipCrown": "24 1 {{ModId}}_SilverNanabBerry 1 {{ModId}}_SilverPinapBerry 1 {{ModId}}_SilverRazzBerry 1/Field/{{ModId}}_ParsnipCrown",
            }
        },```
There is also another issue related to SpaceCore with these but one step at a time
barren tapir
#

ShopData casino = data["Casino"];
casino.Items.Add(new ShopItemData()
{
Id = $"{ModEntry.ModId}_Launcher (Recipe)",
ItemId = $"{ModEntry.ModId}_Launcher",
Price = 2500,
IsRecipe = true,
ObjectInternalName = $"(O){ModEntry.ModId}_Launcher"
});

#

That is how I added my firework launcher mod to the casino shop

strong kite
#

uhhhh- is that C#..?

barren tapir
#

yes

hard fern
#

Yu

strong kite
#

Had a feeling
That doesn't help me pichusad but ty

barren tapir
brittle pasture
#

show your full code including shop and object data?

clever monolith
#

that was the fastest remove on earth

strong kite
barren tapir
#

$"388 25 390 25 335 1/Home/{ModEntry.ModId}_Launcher/false/null/"
"{{ModId}}_GoldenPumpkin": "276 1 {{ModId}}_GoldNanabBerry 1 {{ModId}}_GoldPinapBerry 1 {{ModId}}_GoldRazzBerry 1/Field/(O)373"

Your recipe should be:
<Items>/Home/(O)373/false/null/ (I think)

brittle pasture
#

just shop then

strong kite
#
            "Action": "EditData",
            "Target": "Data/Shops",
            "TargetField": ["QiGemShop", "Items"],
            "Entries": {
              ...(other irrelevantitem)
                "{{ModId}}_GoldenPumpkin_Recipe": {
                    "Id": "{{ModId}}_GoldenPumpkin_Recipe",
                    "ItemId": "(O)373",
                    "TradeItemId": "(O)858",
                    "TradeItemAmount": 40,
                    "IsRecipe": true
                },
              ...(other irrelevantitem)
                },
            }
        },```
brittle pasture
#

so when you buy a recipe item, the game unlocks the recipe with the same internal name as the bought item

strong kite
#

Ohhh, so do I need to change it to its Id?

brittle pasture
#

because the golden pumpkin's internal name is "Golden Pumpkin" it will unlock a non-existent recipe with that Id

#

you want to override the shop entry's ObjectInternalName field to be your added recipe

#

since it is obviously not recommended to add a recipe with just "Golden Pumpkin" as the Id

strong kite
#

Alright

#

my mind is blanking on how exactly to do that

#

Today's been kind of taxing HehSweatCloseup

brittle pasture
#

one more line below IsRecipe

#

[[Modding:Item_queries]]

strong kite
#

gahhh I always forget about that wiki page 😭

#

So would that be like "{{ModId}}_GoldenPumpkin_Recipe": { "Id": "{{ModId}}_GoldenPumpkin_Recipe", "ItemId": "(O)373", "TradeItemId": "(O)858", "TradeItemAmount": 40, "IsRecipe": true, "ObjectInternalName": "{{ModId}}_GoldenPumpkin" },?

brittle pasture
#

that should work

strong kite
#

Awesome! Ty!

#

Getting to type "QiNutRoom" for debug warping has been fun at least heehee

#

Hooray!

strong kite
#

Oh, sweet! AND the SpaceCore Patch actually works when in the crafting menu!

#

For some reason the override for my other item doesn't work and I'm not sure why 😭

#

This isn't as important, the default recipe I gave for it still works well and I've actually got a more pressing issue to contend with right now

#

For some reason on one map from my mod as far as I'm aware, sprites on buildings2, buildings3, and buildings4 aren't having collision Tiredkip

calm nebula
#

That's how it aoejs

strong kite
calm nebula
#

Goes

#

Only Buildings the original has colljsions

#

Any numbered layer is cosmetic only

strong kite
#

Is it?? I swear I have other maps where the other buildings layers have collision...

ornate locust
#

If there's already a tile on the cosmetic building layer, it'll work either way, of course

strong kite
#

Oh wait yeah I can totally just have invisible tiles on the building layers where I need them

ornate locust
#

You can also just put your thing on the building layer. Or change the tile data to be impassable

strong kite
#

Well the reason they're on different building layers is because the vertical fences overlap

lucid iron
ornate locust
#

but you can do invisible tiles if you want on building, or the data layer thing

strong kite
#

I think I need to take a break for today now. I've been frustrating and stressing myself out a lot. I definitely gave myself too much more of a workload for this next update, At least way too soon after how much time I spent working on the 2.0 update

#

I didn't think adding a handful more maps and bundles would be too much but I'm definitely regretting my choices lol

#

I think I'll just take a step back and implement the basics of what I want without making them too complicated, just so I don't get overwhelmed. Needing so many Mudkip sprites was definitely getting to me lol

severe cairn
#

carpet eels

brittle pasture
#

hmm eel pedicure

void aspen
#

carpet eels my beloved

#

huh why is there a knight helmet

#

on an urchin

severe cairn
#

sea urchins can wear hats

ornate locust
#

you can put hat on urchins

void aspen
#

interesting

ornate locust
#

This is why

#

they like hats

#

They'll do it with shells, so people make little sea urchin-sized hats and put them in aquariums and the urchins put them on

calm nebula
#

Adorable

severe cairn
#

the dude who started it all also makes little sea urchin hats for others, the price is around the same as it costs to make them, cus he just wanna let others have whimsy

ornate locust
#

It's one of those things where the animal likes em and the human likes it, so everyone has a good time

severe cairn
#

his wife apparently also wondered if they were sensitive to UV and thats why they did it, cus they would drop the hats at night, and it sparked a research on it (they are sensitive to UV, but even sea urchins in the deep sea do this so there must be other reasons)

#

anyway i gave the sea urchins in Arumi's little fish pond something i feel like her kids would put on them, but even the one in her fish tank gets to have whimsy too

ornate locust
#

That's why Bill's sea urchin has a hat

#

yesss, more behatted urchins

hard fern
severe cairn
#

i am doing very scientific tests u_u

#

soon you can also have carpet eels

#

when i finally get myself to release this thing from testing hell

#

if anyone wanna help me test lmk lol

ocean sailBOT
#

Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24354 on Windows 10 (10.0.19045.0), with 21 C# mods and 2 content packs.

hard fern
#

eels in my carpet..

hard fern
ornate locust
#

It's more likely than you think

lucid iron
#

hm ok only mmap patches this

StardewValley.FarmAnimal.setRandomPosition
- mushymato.MMAP (prefix)
lucid iron
#

let me make you a build that prints more stuff

hard fern
ornate locust
#

I took the non-brave way out on my aquarium and just made it an animated image, that's way fancier

severe cairn
#

lemme test that out tomorw

severe cairn
lucid iron
#

make sure u walk into a coop and reproduce the issue

#

oh wait i should also print success

#

ping me pls

ocean sailBOT
#

Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24354 on Windows 10 (10.0.19045.0), with 21 C# mods and 2 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

inland rain
lucid iron
terse warren
#

Both are

lucid iron
#

neither of these went into any spots how strange

terse warren
#

I can throw in a working animal too hang on

lucid iron
#

nah ill prob just have to try it hrm

#

this mod right

terse warren
#

yup

#

yeah, I can see with the cow in the log it goes right to a spot

ocean sailBOT
#

Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24354 on Windows 10 (10.0.19045.0), with 21 C# mods and 2 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

terse warren
ocean sailBOT
#

Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24354 on Windows 10 (10.0.19045.0), with 21 C# mods and 3 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

lucid iron
#
"SpriteWidth": 32,
"SpriteHeight": 39,
terse warren
#

omg

lucid iron
#

game resolves them to bounding box of 48x48 Bolb

#

i.e. 3 tiles

terse warren
#

Well that explains it!

lucid iron
#

tbh im also no really sure why they end up so fat

#

code seems to imply they only get special width but the thing thats big is height :no

lucid iron
terse warren
#

yeah those sprites are big

lucid iron
#

yea i mean in C# land

#

since its not 1:1 from sprite width/height to bounding box

whole prism
#

idk how mizu is doing all of this it mustb e tiring

#

they updated 10 mods in 1 day

#

very tough

terse warren
ocean sailBOT
#

Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24354 on Windows 10 (10.0.19045.0), with 21 C# mods and 3 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

terse warren
#

Well, the baby cow moves still. But not the baby reindeer

barren tapir
severe cairn
#

Yea! Just customizable :3

barren tapir
#

Yall, trying to mod when your ADHD medicine has worn off is hard. I got on Nexus to lookup documentation on a certain mod, and an hour later I've still not searched for that mod on Nexus

severe cairn
#

Mood

barren tapir
#

I think I'm gonna call it a day. I'm almost completely finished with the dinosaur shrine - I just need to add the alternate vine version.

IDK what I'll work on tomorrow (I have a long list of todo items for this update). I'm going to say that I'll work on adding the new trinkets and finishing the robot monster class in the hopes of manifesting that into reality tomorrow.

#

If I'm feeling especially bold, maybe even the logic for the trap?!?

lucid iron
#

I have no idea why they are able to get outside the doors

#

How big is your stall

terse warren
# lucid iron How big is your stall

They're 32 by 32 with a 16 pixel door. The narrow stall door hasn't stopped the animals from passing through it. The stalls look a little bigger because of transparent pieces tbh.

lucid iron
#

yea hm ill look into it more i suppose

#

but it is fundamentally a quirk of the reindeers and not ur mod

terse warren
#

Well I can sleep easy knowing that. Thanks for looking into it

brittle pasture
#

which is different from their usual bounding box

lucid iron
#

but why would they be stuck thereafter

#

even in the build that yeeted the check

brittle pasture
#

uh pathfinding wackiness? idk lol

patent lanceBOT
subtle spear
#

Question! is it possible to make an NPC go invisible during a part of their day? I have my Custom NPC leaving for therapy every Monday and if the bus isn't repaired, I can't exactly have her stand there for hours doing nothing. I mean I could but it's not preferable lol

#

*only for say two hours, not for the rest of the day

severe cairn
#

You could make an animation use an invisible sprite

#

Tho they would still be interactive you could put them somewhere hidden

royal stump
#

a trigger action (so event, dialogue, etc) can make an NPC disappear for X days, but I think it's more common to schedule them just warping to a custom room that only NPCs can access

vernal crest
#

It is possible to make an NPC invisible during only part of a day but like Esca said it's more common to use the warp room.

#

I made my NPC invisible rather than using the warp room just because I wanted to figure out how to lol but I think it's worse for performance because it relies on a time-based trigger action

uncut viper
#

BETAS can make a trigger action happen upon reaching a scheduled point. But it doesn't have a corresponding one for when they leave a scheduled point, though, so making them reappear mid-day would be trickier.

calm nebula
#

make a schedule point take 1 square

uncut viper
#

Then she's just standing there for like 5 seconds

vernal crest
#

I use BETAS to make Hiria invisible when she reaches the right tile and then Spacecore to make her visible when the right time hits

calm nebula
#

like u don't stand there staring into space for 5 seconds every time I walk into a new room

uncut viper
#

in this case it'd be after getting off a bus

vernal crest
#

Mouse made up a song about me because of how much I just stand around lol

calm nebula
#

normal behavior

uncut viper
#

that she would be appearing two tiles away from

calm nebula
#

checking phone to get gps

ornate locust
#

Betas can... hmmm

uncut viper
#

if you stand completely still right outside the bus door when you get off, you are going to get barreled down

ornate locust
#

I have a janky-ass wizard teleport schedule, didn't think about using BETAS...

vernal crest
#

So it is a good thing she is appearing two tiles away /j

subtle spear
#

I mean I would like them to get on and off the bus if it's fixed but one thing at a time

uncut viper
#

if you stand completely still two tiles away from the bus door when you get off, you are going to get barreled down 2.4 seconds later

vernal crest
#

Leap from the bus and then stand stock still

calm nebula
#

tbh vanish from like, the one tile in the bus

uncut viper
#

to be clear the BETAS thing is when their current schedule is considered "arrived at" i.e. they have stopped moving and possibly doing their animation

#

not when they touch the last tile

#

probably easier to just put an npc warp there instead

#

though idk if that'd interact with other NPCs wandering near there

calm nebula
#

probably tbh

#

what about going behind a post in the train station instead

uncut viper
#

not in 1.7(?) at least when we get NPC specific warps

subtle spear
#

Shane eventually joins her since they're in the same therapy group so he'd also have to disappear eventually

#

could we warp them to -1000 -1000 like in an event?

uncut viper
#

you could but i wouldnt be surprised if that fucked with their pathfinding for any future points, even if you moved them back

subtle spear
#

okay makes sense

#

so use BETAS? that would make them "invisible" and then "visible" again?

uncut viper
#

I can offer what BETAS can do (trigger action upon arriving at a scheduled point) but I cannot myself make any recommendations for what you should do/use because I don't know enough about whats possible or what messes up NPC pathfinding

vernal crest
# subtle spear so use BETAS? that would make them "invisible" and then "visible" again?
                // Hiria's 'leaving' for the dentist - she becomes invisible as soon as she arrives at the specified coordinate on the BusStop map
                "{{ModID}}_Dentist_Go": {
                    "Id": "{{ModID}}_Dentist_Go",
                    "Trigger": "Spiderbuttons.BETAS_NpcArrived",
                    "MarkActionApplied": false, // This part is just because I want it to happen yearly
                    "Condition": "LOCATION_Name Target BusStop, ITEM_ID Target {{ModID}}_Hiria, Spiderbuttons.BETAS_ITEM_MOD_DATA Target BETAS/NpcArrived/X 22, Spiderbuttons.BETAS_ITEM_MOD_DATA Target BETAS/NpcArrived/Y 10",
                    "Actions": [
                        "SetNpcInvisible {{ModID}}_Hiria 1"
                    ]
                },

                // Hiria's 'return' from the dentist - she just becomes visible again. Time is set in the SpaceCore TriggerActionExtensionData edit below.
                "{{ModID}}_Dentist_Return": {
                    "Id": "{{ModID}}_Dentist_Return",
                    "Trigger": "Manual",
                    "MarkActionApplied": false,
                    "Actions": [
                        "SetNpcVisible {{ModID}}_Hiria"
                    ]
                },
        // Additional code block needed to add the time for Hiria's dentist return trigger action
        {
            "Action": "EditData",
            "Target": "spacechase0.SpaceCore/TriggerActionExtensionData",
            "Entries": {
                "{{ModID}}_Dentist_Return": {
                    "Times": [ 1800 ]
                }
            }
        },
calm nebula
#

breathing on the pathfinder

terse warren
# lucid iron even in the build that yeeted the check

I did a couple of tests and eventually found something. 3x3 stall worked but only if I had the spot in the top right corner. Then I tried moving the spot one upward on a regular 2x2 stall and suddenly the Reindeer can move freely again

subtle spear
brittle pasture
#

and the reindeer being an chunker might be able to shift that square into the walls

ornate locust
subtle spear
#

another question, do the animations have a limit of how many frames to use? I'm using one that uses 8 and it doesn't seem to work except in cut scenes. It just freezes

vernal crest
#

Can you share what the animationDescriptions entry looks like?

subtle spear
#
            "Action": "EditData",
            "Target": "Data/animationDescriptions",
            "Entries": {
                "stardewaly.rosalie_Rosalie_sleeping": "39/39/39",
                "stardewaly.rosalie_Rosalie_crying": "24/24/25/25",
                "stardewaly.rosalie_Rosalie_singing": "22/23/18/19/20/21/22/23",
                "stardewaly.rosalie_Rosalie_standup": "34/34/35/34/34/35"
            }
        },
#

specifically the "singing" one

vernal crest
#

You have the format incorrect

#

It's not meant to be one forward slash between each frame, it's one forward slash between each field.

The format is: entry frames/repeat frames/leaving frames/message key/laying_down/offset X Y

subtle spear
#

Okay this was what I copied from a tutourial though it may have been for events as well as for sleeping... so i have to that for each frame?

vernal crest
#

No

uncut viper
royal stump
#

if you look at the unpacked Data/animationDescriptions, you can see some longer examples like this

"elliott_drink": "16/16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 18 18 18 19 19 18 18 19 19 18 17 16 16 16 16 16 16 16 16 16 16 16 16/16",```
vernal crest
#

If you want to have a unique bit that happens once when she arrives, you put those frames into the entry frames field. Then any parts that should repeat during the time that she's at that schedule point should go inside repeat frames. Then any unique ones to happen once before she leaves go into leaving frames.

subtle spear
#

ooooohhhh I see!

#

what is the "lying_down" part?

vernal crest
#

It removes the shadow

royal stump
#

(make sure you write laying_down specifically if you need that one)

subtle spear
#

ah I see! thank you ❤️

lucid iron
deep cypress
#

Can one use the Content Patcher to export the farmer spritesheet with the farmer on it all regularlike?

royal stump
#

you can export the farmer base sheets, but there's no asset that contains an assembled farmer appearance

#

(also it's a pain to figure out even in C#, last I tried)

tiny zealot
#

the farmer is rendered live from parts like a paper doll, so what esca said

deep cypress
#

Oh well, thx tho!

wintry aurora
#

are there any good Spacecore framework guides? Trying to replace portraits with animations with the "spacechase0.SpaceCore/TextureOverrides" function.

#

I'm very new to content patcher SDVpufferwaaah 🙏

#

I read the github's README

vernal crest
#

The spacecore docs usually have examples, though they aren't always linked to in the docs themselves

wintry aurora
#

but if anyone knows something with examples of some sort I'd be so gratefull

#

lol

#

alright, I'll try to find them

vernal crest
#

You can also search this channel for "textureoverrides"

wintry aurora
#

oo

#

I'll do that for sure

#

tyy

vernal crest
#

Also I just remembered that I helped someone with this the other day so you can ask me for help if there are specific bits you are stuck on

wintry aurora
#

This is from "Animated Nyapu's portrait Mod" that I was using as a reference for spacecore along with the spacecore and content patcher githubs.
What specificlly does "Entries": do? I can tell its specifying what files are being swapped but I'm a bit confused about "{{ModId}}_Wizard_1": and whether or not I need the change whats in the curly brackets.

Also the 0..39@6, I'm pretty sure the 0 is the starting frame and after the .. if the timing but I don't know what I should put for the timing.

royal stump
#

there's some additional info here:
https://github.com/Pathoschild/StardewMods/blob/develop/ContentPatcher/docs/author-guide/action-editdata.md
but in general, CP's "EditData" action almost always has either "Entries" or "Fields", which is the set of things it's editing inside the "Target" asset
so in this case, it's adding an entry to spacecore's TextureOverrides asset; the entry's name is your mod ID (swapped in there by CP) followed by _Wizard_1, and inside that are those texture data fields

#

(I'm not actually familiar with the @ part SDVkrobusgiggle)

vernal crest
#

The 0..39@ is saying that for frames 0 through to 39 they should all have the same animation duration of 6 (not sure what unit that is - 6 seconds?). So if you have 3 frames and you want them all to have the same duration of 5 seconds, you'd write 0..2@5.

If you want them to have different durations, then you'd write each one separately like this: "{{InternalAssetKey: <your asset file path here>}}:0@5,{{InternalAssetKey: <your asset file path here>}}:1@9,{{InternalAssetKey: <your asset file path here>}}:2@3"

#

(I guessed you were explaining the Entries bit Esca so I went straight for the animation duration ^_^)

vernal crest
#

Could be, yeah. I can't remember how long a tick is.

wintry aurora
#

1/60th of a second for sdv I'm pretty sure.

#

I read on one of the other guides I was trying to use

royal stump
#

approximately that, yeah

wintry aurora
royal stump
#

yes, anything formatted like {{words}} is a "token", which CP will replace with other text before the game (or spacecore) sees it

#

so just typing {{ModId}} in any text will be replaced with your mod's ID from the manifest.json file, etc

wintry aurora
#

ok ty

stoic chasm
#

Hello people way smarter than I. I have a (probably) extremely complicated question. Is there any way to make it so you can be roommates first then married in SDV?

hard fern
stoic chasm
#

Ah damn, okay.

hard fern
#

I mean with enough beating the code with a hammer i think anything is possible

marsh reef
marsh reef
hard fern
#

🤔 is it even possible for an NPC to be roommateable and marriageable at the same time

marsh reef
#

bc roomate is just marriage with no kissing or wedding and less hearts no?

hard fern
marsh reef
#

wedding ring maybe 😎

#

this lil thang

hard fern
#

🤔 well that's for mp marriage

#

But i see what you mean

marsh reef
#

🙂‍↕️ i know but if you're not in mp, and you're roomating, it could definitely be used to trigger wedding by mod

#

bc sp has no use :3

hard fern
#

Maybe it's possible to roommate an NPC, and then after triggering a certain event, then use magic to change the relationship to married behind the scenes...?

marsh reef
#

also logisically that is an unreasonably massive stone 🤣

marsh reef
hard fern
#

I don't think so?

marsh reef
#

i think all bro needs is to figure how to force change from hugging to kissing and vice versa with a mod, then be able to cancel the wedding until trigger 2 is tripped

hard fern
#

Well obviously not at the same time

marsh reef
#

i think it's either marry, roomate, or neither

hard fern
#

By roommating you lock yourself out of marriage, basically

marsh reef
#

only one each npc

#

🤔 hmmm, idk, idk a lot about stardew but ive never seen anyone roomate a marriage candidate

hard fern
#

Not in vanilla ofc

#

You can do it with mods if you add in a custom roommate proposal item

marsh reef
#

huh

#

okay bro 🤣

#

yes that is what the original question was, can you force roomate, then trigger wedding event and switch hugging to kissing after that

hard fern
#

Im confused as to what you're saying lol

marsh reef
#

npc > fren > roomate (marriage without kissing bc thats what roomates do, they dont kiss) > propose with modded item > trigger wedding > married (marriage with kissing this time)

#

alr gn

spark wharf
#

when adding items to a fish pond data's ProducedItems, can these items have a Condition?

royal stump
spark wharf
#

Ah thanks very much

wraith aspen
#

hello everyone, i want to try my hand at a simple furniture mod, does anyone know off the top of their head what size canvas i would need to make art for an item similar to a futan bear? like that size?

hard fern
autumn temple
#

Anyone familiar with SpaceCore custom dungeons?

I’m making a custom dungeon, and the entrance triggers, but SMAPI/Content Patcher fails when loading the dungeon map because it can’t find the tilesheet:

invalid tilesheet path '../Tilesheet/summer_town.png'

My map is here:

assets/Maps/Dungeon/moon_dungeon_early_01.tmx

The tilesheet is here:

assets/Maps/Tilesheet/summer_town.png

The TMX uses:

<image source="../Tilesheet/summer_town.png"/>

Should this path work, or does SpaceCore need dungeon map tilesheets handled differently?

royal stump
wraith aspen
#

@hard fern @royal stump ty both!!

urban patrol
ocean sailBOT
#

When creating or editing maps in Tiled, one common error is tilesheet climbing, marked by red text containing "invalid tilesheet path '../../..'. This is caused by SMAPI not being able to find the tilesheets needed by the map file. To prevent this error, make sure that you have a copy of all necessary tilesheets in the folder containing your WIP tmx file. Copies of vanilla tilesheets can later be deleted, but must be present while working on your map.

If you get this error with a completed map, an easy way to fix it is to open your tmx file in VS Code or a similar text editor, find all of the places with <image source=, and remove the filepaths to so that only the tilesheet names remain. For example, if the code says <image source="Content (unpacked)/Maps/townInterior_2" width="512" height="64"/>, change it to just <image source="townInterior_2" width="512" height="64"/>.

urban patrol
#

unless that’s a custom tilesheet actually if it is then nvm

royal stump
#

iirc that applies anyway, it'd just also need to be loaded as an asset

devout otter
autumn temple
#

will test thx

#

worked!

urban patrol
#

while we’re on the subject of spacecore dungeons btw you may want to download the zipped version casey sent in here some months ago instead of the version on nexus. there was a bug with map load order and setpieces if you’re using those

pastel tusk
#

Hello hello hello

gentle sorrel
#

How do Foragabels work? they are not placed on the map in Tiled like Trees are

dawn ore
#

Where is the train sprite located?

dawn ore
verbal glacier
dawn ore
#

ok great.
I am wanting to make the train electric, and thus add overhead pantographs. Please enjoy my tempory demonstration (I havn't made the sprites yet). This means the sprites would then be bigger than the currently allocated space that would be called by the game gode when it genreates a train. havn't done asset edits where I'm replcing it with a differnt size, would that be possible? I am open to CP or C# as needed.

gentle sorrel
dawn ore
spice inlet
dawn ore
#

working on a prefix patch, but yeah same idea. New to me but I'm reading and working on it 🙂

gentle sorrel
midnight sand
dawn ore
#

I want to replace the train sprites fully, sorry I wasn't clearer.

calm nebula
#

Iirc the train draw code also handles the train drops

devout otter
#

Is there a plan to make an NPC's vendor expression CP-customizable in a future update, or did I hallucinate that...?

#

I really feel like I've read a discussion about it here, but I couldn't find anything in the Migrate to 1.6.16 / 1.7 page.

terse warren
spark wharf
#

Is there a Condition for if the current active player has a specific quest active? I'm looking at this page on the wiki and can't seem to find one

devout otter
#

Not in base, but BETAS has it.

spark wharf
#

Thank ya

severe cairn
#

people say notepad is cursed but i think if anyone mods in firefox i would be scared

iron ridge
#

firefox modding is great

severe cairn
#

oops i forgot i was searching discord and didnt realize this is ancient

iron ridge
#

-# xnb.pillow.rocks

lusty halo
#

I can't believe the worst part about updating my hedges is the NAMES. I have three heights (Tall, Medium, Short) which work well enough, but the two available width sizes are stumping me. Do I got for Thick and Thin? Large and Narrow? Wide and Slim? What pair sounds good? Too many words... SDVpufferdizzy

dawn ore
#

narrow and wide would be my 2 cents

autumn temple
#

Does anyone happen to be sitting on some C# code, examples, or references for generating custom mine/dungeon levels? Blank map the engine generate random set up

dawn ore
#

Does anyone know how to swap out a specific audio file using c#? I want to replace the distantTrain whislt with a horn type sound effect, but am struggling to get it to work

vernal crest
lusty halo
#

@dawn ore @vernal crest thank you both! I realized Thick and Thin sound and look a bit too similar and may confuse people, especially non-English ones like me. Wide and Narrow sounds better since they are different enough in length and letters, so I think I will go with that. Thanks very much again! SDVpufferheart

severe cairn
#

void carpet eels... (can now tint background and foreground texture)

orchid glade
verbal glacier
#

the void eats you

lusty halo
#

...It is kinda funny how the longest world (Narrow) means small width, and the opposite with Wide. though. 😂 English is kinda weird sometimes. 😂

severe cairn
oblique meadow
void aspen
#

silly how content has the whole folder just for volcano layouts and theres only one file SDVkrobusgiggle

jaunty osprey
#

I wish I was smart enough to understand code

jaunty shuttle
#

!anyonecancook

ocean sailBOT
#
jaunty shuttle
#

Being "smart" doesn't matter, if you want to learn code then learn it!

#

The only thing that matters when learning/making things is determination

#

Stardew modding is a great way to get started with basic coding concepts too, since (for the vast majority of things) you don't have to deal with actual code at all, it's done with json editing

wintry aurora
#

a silly example is that I never learned to write out long division, lol

#

by god I've tried, as have my teachers and mom

wintry aurora
#

Speaking of struggling to understand....... >:/
I'm still struggling to get the JSON I'm writing to actually do anything

#

I might have an idea.

#

I think I need to replace the texture for SVE's wizard instead of the vanilla one.

#

its worth a try anyway

#

if that's the case. would I put the whole path through SVE's assest into "TargetTexture"?

urban patrol
#

what are you trying to replace the wizard’s portrait with?

#

an animated/oversized portrait?

wintry aurora
#

yea

#

the text sprites are 64 x 64, but I eventually want to make them bigger. I just got to get it to actually work first

urban patrol
#

does SVE change it to be rasmodius or something

wintry aurora
#

Wizard_Test.png is in the assets folder for the pack I'm making

wintry aurora
urban patrol
#

unless SVE hides vanilla wizard and replaces him with a clone NPC, you won’t need to target anything besides Portraits/Wizard

wintry aurora
#

hmm

urban patrol
#

you can try patch exporting Portraits/Wizard to see if your changes applied

#

you can also try a patch summary

brittle pasture
#

pretty sure that doesn't work for SC overrides

urban patrol
#

the export?

#

:(

wintry aurora
#

darn

#

well, I might as well try replacing sve wizard. if that doen't work, then... I'll figure something out.

ornate locust
#

"Replacing SVE wizard" isn't a thing

wintry aurora
#

ah.

ornate locust
#

SVE wizard also writes to Portraits/Wizard

brittle pasture
#

the code looks correct; is this loaded into a mod via your log?

wintry aurora
brittle pasture
#

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

marsh reef
#

Hi guys

wintry aurora
#

there's no error log

uncut viper
#

that is the correct log to show here

wintry aurora
#

ok

ocean sailBOT
#

Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 29 C# mods and 26 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

wintry aurora
#

Sighless' Animated Portrait Pack 1.0.0

#

is mine

#

says failed to load.

urban patrol
#

look at what the warning says about the manifest and fix that

wintry aurora
#

:/

#

ok

#

lemme try and fix it

#

i put a space.

uncut viper
#

It looks like you also put an apostrophe

urban patrol
#

i’d say a good 60% of the problems in here are something like that lol

wintry aurora
#

ook

#

no spaces. no apostrophes

#

let's try again

#

Nope

#

I'll try another log

barren tapir
#

Let's see... what should I tackle today...

#

I think I'm gonna start by finishing the shrine, then work on the trinkets

wintry aurora
ocean sailBOT
#

Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 29 C# mods and 27 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

wintry aurora
brittle pasture
#

13:11:53 ERROR Content Patcher Could not load content pack 'Sighless' Animated Portrait Pack': unsupported format version 2.9.0, you may need to update Content Patcher.

brittle pasture
#

your content patcher is 2.8.1, you need to update it or simply change the format in your code to 2.8.0

wintry aurora
#

tysm

barren tapir
#

I see it, or at least its mentioning that it doesn't have an update key

#

I see selph has found the problem already

wintry aurora
#

yes ty selph

barren tapir
wintry aurora
#

lol

#

I want to share it when it's working

#

I can draw the sprites easssyy

#

but I'm very new to making mods

barren tapir
#

That's fine! We all start somewhere!

wintry aurora
gray bear
#

scrunklgy

wintry aurora
#

lol

#

he's not blinking. but this is a step. maybe I just botched the frames/timing?

#

its displaying tho

strong kite
#

How recommended is it to use Fashion Sense for adding a hat? I'd just want to add 1 (relatively) simple hat and don't think I'd want to add a whole framework just for one hat

gray bear
#

you can add hats with just CP

#

people will ask you to also make an FS version

#

but that's a them problem /lh

wintry aurora
#

lol

strong kite
#

is Fashion Sense just completely incompatible with Vanilla/Content Patcher hats?

gray bear
#

there are mods that add vanilla stuff to FS but generally yeah

#

they CP hat will show up if the player isn't using an FS hat at the same time

strong kite
#

Well then uhhhhhh I guess I'll cross that bridge when I get there

gray bear
#

its not incompability as it is just, how they work™

#

CP hats work fine

strong kite
#

Ye I just like compatibility

#

So if I'll need to make a Fashion Sense version, I'll cross that bridge when I get there

gray bear
#

its more convience than anything else

wintry aurora
#

Naturally. people are just like that lol

brittle pasture
#

FS uses a completely separate system than vanilla items

#

FS items basically don't actually exist

strong kite
#

Ahhh, good to know

#

On a completely separate note, how difficult is it to work a small bit of C# code into a Content Patcher mod? I'm still thinking about the possibility of adding a custom sprinkler to my mod lol

brittle pasture
#

C# mods have an option for bundling content packs

#

the difficulty is coding the C# code in the first place, CP mod or no

strong kite
#

Ah- Well- shoot that puts a bit of a dampen on that plan

jaunty shuttle
#

Is it difficult to convert clothes between CP and FS?

#

Both ways

strong kite
#

Sounds like it'd be not as simple as just including the small bit of C# that I need, I'd need to basically run the whole mod through C#?

brittle pasture
#

no, you can keep your CP pack

#

you'd just have a bundled C# mod

#

the CP pack takes care of the stuff you don't have to repeat in a mod that's C# only

#

like defining the item and adding it to shops

strong kite
#

I feel like my brain is making this harder to understand than it actually is-

brittle pasture
#

I think you should just follow the example C# mod tutorial on the wiki before proceeding

#

or deciding whether to proceed

gray bear
#

there's like, some converters

strong kite
#

Alright alright I'm gonna end up screwing myself out of the rest of today if I try looking into this now, I'll come back to this after I've finished the map work

barren tapir
#

Will adding new trinkets automatically add them to the potential loot pool of monsters?

gray bear
#

don't think so

barren tapir
#

Great!

#

Also, does anyone know off the top of their head if the basilisk claws can be used on the anvil? My laptops taking a bit to boot up

cyan jungle
#

what can you do with c# in terms of modding? is it for more complex stuff?

barren tapir
#

Pretty much anything

cyan jungle
#

but what is it most useful for?

barren tapir
#

Complex logic you can't add via JSON, also it can be a preference for some over JSON

wintry aurora
#

ok Im back from doing dishes. I'm running into trouble getting the animation to play. right now it's just a static portrait.

#

I took another look at the animated Nyapu portraits and looked at the little timing thing, i think it was
0..39@6. so I figured the first frame was considered frame 0 and I changed mine to 0..9@6 becuase mine has 10 frames and the Nyapu one has 40 frames but mine still seems to be static in game.

#

I fixed it

#

There was a space

#

JSON hates spaces

#

its a bad gif. looks better in game

barren tapir
#

Let's say you have a map that uses the tile set "z_TileSetA". How would a C# mod change the map to instead use the tile set "z_TileSetB"?

#

And/or is there an easier way to tell the map which option to display based on a config value?
(Either the skull with no vines or the skull with vines)

wintry aurora
#

Give me 1 moment

ornate locust
#

I don't know a thing about C# and I don't know if how it's done with content patcher would cause a problem if you are doing things with C#

lucid iron
#

normally u just change the textures yea yggy

#

changing it in C# is not that hard tho

wintry aurora
barren tapir
#

I'm using C#

lucid iron
#

yea ik i was just looking through me spaget for this

#

still this has some jank mp implications, i dunno if i recommend it SMCPufferjail

barren tapir
#

Seeing as I can just change the map texture, I think I might have a solution

whole prism
#

hi quick question

#

for a farm map, how hard is it to add barriers to some areas

#

im playing a farm map, and i wanted to patch something in it

#

the red is the tiles where u can freely walk into the water

#

these tiles should not be able to go through:

#

100,32
101,32
102,32
102,33

barren tapir
#

I got the shrine texture change working!

#

Time to begin working on the trinkets!

barren tapir
#

I currently have the following:

private static void EditTrinkets(IAssetData asset)
{
    IDictionary<string, TrinketData> data = asset.AsDictionary<string, TrinketData>().Data;
    TrinketData dragonClawData = new TrinketData()
    {
        DisplayName = ModEntry.StaticHelper.Translation.Get("Trinkets.DragonClaw.Name"),
        Description = ModEntry.StaticHelper.Translation.Get("Trinkets.DragonClaw.Description"),
        Texture = TrinketAssetPath,
        SheetIndex = 1,
        CanBeReforged = true
    };
    TrinketData lightningSpurData = new TrinketData()
    {
        DisplayName = ModEntry.StaticHelper.Translation.Get("Trinkets.LightningSpur.Name"),
        Description = ModEntry.StaticHelper.Translation.Get("Trinkets.LightningSpur.Description"),
        Texture = TrinketAssetPath,
        SheetIndex = 0,
        CanBeReforged = true
    };
    data.Add($"{ModEntry.ModId}_Trinkets_DragonClaw", dragonClawData);
    data.Add($"{ModEntry.ModId}_Trinkets_LightningSpur", lightningSpurData);
}
#

However, whenever I right click while holding one of the trinkets, I get a NRE

#

[game] An error occurred in the base update loop: NullReferenceException: Object reference not set to an instance of an object.

whole prism
#

quick question for porch cutscenes

#

on custom maps, do all the porch cutscense typically no longer work anymore

#

or is there a workaround, since 64, 15 (position of the porch) is not consistant at all with custom maps

strong kite
#

Which png are the breakables in the mines in?

torpid sparrow
brittle pasture
wintry aurora
#

ahh hardcoding. we love that

brittle pasture
#

you don't even need a custom farm map, you can move the farmhouse now

brittle pasture
strong kite
#

Ah, of course they're there, makes perfect sense heehee

#

Thank you

#

They're 16x32 sprites, right?

#

Or at least some of them are?

#

OH- WAIT NO no, wrong breakable objects

#

I mean like the crates and barrels not the rocks

#

That's my bad

#

These things

ornate trellis
#

those are on the craftables sheet afaik and are 16x32

cyan jungle
#

can someone pls help me figure out why my npc isnt going to trout derby :(

ornate trellis
#

maybe if you post the schedule code for it

cyan jungle
#

the festival.json?

ornate trellis
#

trout derby is passive theres no actual festival

cyan jungle
#

ohhhhhhhhhhhhhh

ornate trellis
#

you use specific schedule keys like in this case TroutDerby_1 and TroutDerby_2

#

the number is the passive festival day, 1 and 2 cuz its 2 days long

whole prism
#

i was scared that i had to make a unique pos for each map 😢

barren tapir
#

How would a C# mod add a trinket?

#

No matter what I try, I seem to get an error whenever right clicking my trinkets

ornate trellis
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.

ornate trellis
#

use the link to post your code

cyan jungle
#

i worked around it annd now the npc does go to where i want him to but now dialogue won't show up and idk why ;-;

ornate trellis
#

how did you add the dialogue

cyan jungle
#

in i18n and then referenced in dialogue json

barren tapir
#

Are you doing {i18n:KeyHere}?

brittle pasture
barren tapir
#

I think I may have fixed it?

brittle pasture
#

since the key you're using is year 1 only

barren tapir
#

I DID IT! Right clicking trinkets no longer causes errors!

#

I think I know what the next shrine added to the basement will be!

#

#Curse you scope creep

cyan jungle
cyan jungle
#

and now idk why the dialogue isn't showing up and i get a no translation string ;-;

brittle pasture
#

and that file is loaded in your mod?

cyan jungle
#

yes

brittle pasture
#

can you show the root content.json

cyan jungle
#

yes

brittle pasture
#

and what's the file above named

cyan jungle
#

content.json SDVpufferthumbsup

brittle pasture
#

no the dialogue file sorry

cyan jungle
#

ohh it's called OsmarDialogue.json

brittle pasture
#

and it's in Data/Dialogue?

cyan jungle
#

okay i reopened and it worked. i hate when you think the game loaded fine but you have to reopen the whole thing for it to workSDVpufferping

ornate trellis
#

thats why patch reload and reload_i18n is nice

devout otter
#

I have an NPC with schedule in the Movie Theater and I can't seem to get their dialogue working in there. Is there some hardcoded things that prevent it?

brittle pasture
#

I think those are all in Data/MoviesReactions

calm nebula
#

Even if u schedule them into the movies like how Claire works there

cyan jungle
#

how can you make different festival dialogue for different year?

brittle pasture
#

the unpack have examples since every vanilla NPC has alternating dialogues

cyan jungle
#

so like (name of festival)_y2?

devout otter
#

They just have the dialogue icon but don't actually talk when spoken to.

brittle pasture
brittle pasture
#

as mentioned look at Data/Festivals/spring13

brittle pasture
#

or... do you mean dialogue outside of the festival

barren tapir
#

What GSQ would you use to check if a player has the combat mastery?

brittle pasture
#

-# from the last time you asked

devout otter
brittle pasture
#

indeedeedin

barren tapir
#

NO WONDER IT WASN'T WORKING
...
It'd help if I spelled Mastery correctly

#

-# I had put "Mystery_4" instead of Mastery SDVpufferwaaah

wintry aurora
#

Lol

#

That's okay. I keep putting spaces where they shouldn't go

barren tapir
#

Every day I get more and more convinced I'm secretly dyslexic

cyan jungle
#

@brittle pasture is this correct: "Festivals.Osmar.StardewFair": "",
"Festivals.Osmar.StardewFair_y2": "",

wintry aurora
brittle pasture
#

no
dialogue in festivals are handled as edits to the festival data itself

#

including NPC placement

cyan jungle
#

well i wrote the dialogue in the i18n and referenced it in dialogue and it has worked so far

brittle pasture
#

active festivals I should clarify

cyan jungle
#

i just dk how it works with year variations

brittle pasture
#

sorry I mean that key doesn't look quite correct to start with, but appending _y2 would work if it is correct

#

I'm definitely doing a rather terrible job at explaining this

#

it would help if you show what you already have for the Fair dialogue

#

since I think we're confusing "dialogue on the same day as the festival" and "dialogue in the festival"

cyan jungle
brittle pasture
#

that looks like your i18n

cyan jungle
#

yesh

brittle pasture
#

in which case it doesn't matter what key you use as long as you spell them correctly in data

ornate locust
#

So let's say I have an event that ends with end warpOut. How do I make skipping the event still warp you out?

brittle pasture
#

are you using a template?

cyan jungle
brittle pasture
#

are you using an NPC template someone else made?

cyan jungle
#

yeah

brittle pasture
#

(there's nothing wrong with it, I just need clarification)

cyan jungle
#

oh wait hehe i found where i wrote the dialogue

#

now i just need to reference it again

upper forum
#

Hey, so I just got my farmer role and I've recently released my first mod. From what I understand I can request a mod author role now, right?

calm nebula
#

Yws

#

Dm bounchee

#

Bouncer

velvet narwhal
upper forum
#

ok, gonna DM bounchee

ornate locust
#

I want them to warp out, leave

#

Sorry shoulda been clearer

velvet narwhal
#

uhhh hold on i use a lot of frameworks that avoids this lmao

round dock
#

-# you’re back

velvet narwhal
#

hello suspicious

#

no

round dock
#

-# come back?

ornate locust
#

setSkipActions Spiderbuttons.BETAS_WarpFarmer Forest 5 27 2
I also tried this, but it threw no errors and just did nothing.

velvet narwhal
#

the only way i can think of avoiding it is doing changetotemp-

#

you're missing action before the trigger action

ornate locust
#

oh heck

velvet narwhal
#

wasn't sure if you were using BETAS so i didn't wanna suggest SMCPufferSquee

velvet narwhal
ornate locust
#

Nope, says that can't be parsed

velvet narwhal
#

ah it's not action hold on

#

what's the full error?

ornate locust
ocean sailBOT
#

Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 24 C# mods and 9 content packs.

wintry aurora
#

I got the expression switching to work, I forgot that vanilla wizard had like 2 sprites. And needed to check the position of the SVE wizard sprite sheet

ornate locust
#

Spiderbuttons.BETAS_WarpFarmer seems to be something it is looking for...

strong kite
#

I'm definitely having fun with making this environment, even if I've ended up breaking the structure of all of the other maps I've made

velvet narwhal
ornate locust
#

Yeah, it does nothing

velvet narwhal
#

can i see the event script

ornate locust
#

it has it in the list too, so I am very confused

#

sure, one sec

#

(let's just do the shortest, smallest event, it'll be easy, I'll worry about the fancier ones later... every time, smh)

velvet narwhal
#

weird, it looks correct

indigo yoke
#

for bundle data,
<string>Animal/BO FlashShifter.StardewValleyExpandedCP_Butter_Churner 5/186 5 0 182 5 0 174 5 0 438 5 0 440 5 0 442 5 0/5/6//Animal</string>

it is... item ID, amount, quality correct?

cyan jungle
#

do festivals count as indoors..?

velvet narwhal
#

(sorry i haven't dipped i'm just checking on my end if i can replicate with something smaller)

gentle rose
#

@upper forum

ornate locust
#

well, the event works otherwise, skipping just makes you be in the middle of the Wizard's house, which is strange because the event is like "oh this is a bad time, I have overheard things, I will leave now and not disturb him"

#

then you're STANDING REALLY CLOSE TO HIM, just an awkward end

upper forum
velvet narwhal
ornate locust
#

Eh, it can just be weird if you skip it

velvet narwhal
#

just sideeye

#

but yeah, even when i put a setskipaction with a mail flag, i don't think i got the mail flag until i left the area

ornate locust
#

Maybe I'll warp you NEAR the door?

#

let's see if that works

#

if not, they'll just have to be weird

#

Actually forget it, I have other variants to work about, skippers can be weird

velvet narwhal
# round dock -# come back?

i'll only come back if i get to make your life extra hell by giving you this dialogue key:
"{{Weekday}}": "[LocalizedText {{ModId}}/Dialogue/Daily:{{Weekday}}{{Hearts:{{NPC}}}}_{{Random:{{Range: 0, 3}}}} {{ModId}} [EscapedText action Spiderbuttons.BETAS_DialogueBox {{ModId}}_Fake \"] [EscapedText action Spiderbuttons.BETAS_DialogueBox Wizard \"] [EscapedText query PLAYER_HAS_SEEN_EVENT Current {{ModId}}_] [EscapedText query PLAYER_NPC_RELATIONSHIP Current {{Ngao}} Engaged # ] [EscapedText query PLAYER_NPC_RELATIONSHIP Current {{Ngao}} Married # ] [EscapedText action Spiderbuttons.BETAS_TextAboveHead {{Ngao}} \"] [EscapedText action Spiderbuttons.BETAS_TextAboveHead Wizard \"] [EscapedText action Spiderbuttons.BETAS_Message \"] [EscapedText action Spiderbuttons.BETAS_DelayedAction \"Spiderbuttons.BETAS_WarpNpc {{Ngao}} {{Room}} 10 10 0\" 1000] [EscapedText action Spiderbuttons.BETAS_FadeToBlack 3000] [EscapedText action AddMail Current {{ModId}}_YapperOff received] [EscapedText query PLAYER_HAS_MAIL Current {{ModId}}_] [EscapedText action Spiderbuttons.BETAS_Lightning ]]

velvet narwhal
velvet narwhal
vestal herald
#

I've been searching around and doing some testing.. Does content patcher update HasFlag conditions in realtime? The author of UI Info Suite 2 Alternative says it does in their docs for custom icons.

brittle pasture
#

huh it definitely does not work like that

vestal herald
brittle pasture
#

unless the author of UIIS2Alt does some stuff under the hood

vestal herald
#

I've tried this and it's not working. I reload the patch and it works. But realtime by itself no.

brittle pasture
#

like patching CP itself

#

and it doesn't seem like they do

#

the most often you can make CP reload its patches is on time or location changed (and you have to specify it)

vestal herald
#

I have what I thought would've been a little custom icon mod for myself. and that blub sent me down a rabbit hole lol

#

I did it in c# with a content pack, since that seems to be the only API for custom icons. Wish there was a API call into content patcher that allowed C# mods to trigger an update on a rule, so I could use my own events.

#

or I can't find one.

brittle pasture
#

yeah I think you have to do wacky stuff like reflecting into CP (obviously don't)

#

probably best to just do everything in C#

#

then you can control when to reload the assets

vestal herald
#

I can't find a c# api for ui info suite 2 alt though. seems to do it all via content patcher.

uncut viper
#

I believe Selph means do the icon edits in your own C# in your own asset requested events and invalidate as necessary

#

UIIS2A works through the content pipeline and not content patcher specifically, even if the docs use CP as an example

ornate locust
#

OKAY all three variants of this one tiny scene tested

barren tapir
#

I think I'm gonna call it for the day. Though I may try my hand at some trinket sfx, or on assets for the community upgrades

void aspen
inland rain
#

crazy colors

#

(red jazz)

round timber
#

does anyone know if the LOCATION_ACCESSIBLE game state query for the Railroad doesnt play well with skipping time with CJB or something? im using it as a precondition for an event (json: https://smapi.io/json/content-patcher/75b15678d1e24682acac12b75d843b55), and the railroad is currently unlocked but the event is not triggering and the gsq is returning false when i check it with the debug command

tiny zealot
#

yes, the in-game check for whether railroad is accessible is just how many days you've played

#
            case "Railroad":
                if (Game1.stats.DaysPlayed > 31)
                {
                    return true;
                }
                break;```
round timber
#

so theoretically a normal player should have the event trigger normally?

tiny zealot
#

yeah, if they have gone to bed more than 31 times it will return true

round timber
#

hmm i feel like there is a better way to do this

#

hm maybe not actually, maybe this is fine, idk anymore lol

tiny zealot
#

surely the earthquake event that opens the railroad leaves some trace behind in the game state (so that it knows to change the mountain map), but i don't know what it is

#

(i would have made that location check look for that, rather than use the proxy of how many days it's been, but i'm not CA)

round timber
#

is that something that could be suggested in the alpha thread then lol

ornate locust
#

hm, lemme see how I do it. Iremember it sucking

round timber
#

foreboding

tiny zealot
#

upon further inspection, it looks like clearing the obstruction also just checks that it's been 31 days

ornate locust
#

Nah I did a daystarted trigger action with Location_Accessible Railroad

#

It does not leave anything checkable

round timber
#

so... is CJB doing something sneaky to make the event trigger even without playing 31 days?

ornate locust
#

at least, that I know of

#

Changing time with CJB can make stuff that relies on days played be... weird

tiny zealot
#

well, when you skip ahead days with cjb/debug, your daysPlayed counter does not increase

#

you have to go to sleep for that

ornate locust
#

Have you tried skipping to 30 and then resting a day? Because I HAVE had that work for, for example, checking this trigger action

round timber
#

i went to summer 2 and slept

#

and that got me the little event and the opened mountain map

#

but not my modded event or the gsq

ornate locust
#

Yeah, that worked for me, anyway. Mine triggers a CT and it worked when I did that

#

but it's not always the case, sometimes it does seem to act weird in day-counting scenarios for me

#

I guess it's expected for jank to happen with a cheat time skip, but it's annoying for testing purposes

tiny zealot
#

hang on

#

i think there might be an oboe

round timber
#

what dat mean

tiny zealot
#

Off By One Error

tiny zealot
#

i don't have a good backronym for bassoon

round timber
#

ahh yes

#

i slept another day and the event triggered

ornate locust
#

(half of these are not oboes, they're CLARINETS or bassoons, I'll just go with close enough for the gif)

tiny zealot
#

anyway the game1 function (and thus the GSQ) is checking this, as above:
if (Game1.stats.DaysPlayed > 31)
but the mountain location is doing this:
if (Game1.stats.DaysPlayed >= 31)

round timber
#

gasp

ornate locust
#

that'd do it

round timber
#

thats definitely something that can be put in the alpha thread

ornate locust
#

I initially tried to open the CT if you had visited the railroad, but damn Sterling's railroad event that teleports you to the railroad even when it's blocked off messed that up

round timber
#

hm idk how to report this im not equipped to explain C# things

tiny zealot
#

i'm writing it up

#

vin this is in 1.6.15, right?

round timber
#

thank you SDVpufferheart

#

yeah

tiny zealot
#

thanks

calm nebula
tiny zealot
#

good to know! seems the problem is a vanilla bug though

orchid glade
#

Hello people, does anyone know if there is a way, using CP, to find what the Farmer is wearing?

calm nebula
#

No

calm nebula
#

(There might be a gsq for it but there is unlikely to be a token)

brittle pasture
#

but yeah probably no token since it can change more rapid than any token reload time

orchid glade
#

Ah right, so that's a GSQ, the BETAS one?

#

Oh yes, scrolled to top of page and see it is

#

But I'm not sure it will work with what I have in mind. I'm thinking about something that can change Farmer Portraits with equipped clothing, similar to how there's one like that for fashion sense.

#

But anyway, it's a future sort of idea

inland rain
#

is there a reason why color sliders only go 0-99? that seems to result in values of 255 being impossible to select

brittle pasture
#

definitely a better idea to build that functionality into Farmer Portraits

inland rain
#

I can fix them, but I'm surpised to think this could be a bug

#

like in vanilla, it's only possible to get this close to white

orchid glade
#

Are the colour sliders direct values or scaled?

brittle pasture
#

hmm sounds like something worth raising a bug report for

inland rain
#

they are converted to 0-255 but can only get to 252

orchid glade
#

Oh I see, 0-99 but not 100

brittle pasture
#

probably no one noticed since it's so minor

inland rain
#

it's happening because the value is being cast from float to int, which rounds down

#

if I change the code to:

                    __instance.value = (int)Math.Ceiling((float)x / (float)__instance.bounds.Width * 100f);
#

it can go from 0 - 255 np

#

vanilla is:

                    __instance.value = (int)((float)x / (float)__instance.bounds.Width * 100f);
#

another interesting thing is the game refuses to draw white colored crops:

#
Color tintColor = this.tintColor.Value;
if (!tintColor.Equals(Color.White) && this.currentPhase.Value == this.phaseDays.Count - 1 && !this.dead.Value)
{
    b.Draw(this.DrawnCropTexture, position, new Rectangle?(this.coloredSourceRect), tintColor, rotation, Crop.origin, 4f, effect, this.coloredLayerDepth);
}
#

it only draws it if the color is not white

#

since we can now set custom crop tint colors, this for sure could be considered a bug I think

spark wharf
#

I'm having a lot of trouble trying to make my fish spawn only in the Cindersap Pond and not the pond AND river.. I've tried adding "Pond" under TargetField and also tried "FishAreaId": Pond and neither of these things work.. just one of several problems that have randomly popped up, I'm also having problems with time spawn requirements. here is my current Data/Locations json https://smapi.io/json/none/96e5870f01bf4f09ad5f0c542a2c2f14

brittle pasture
#

make sure to doublecheck with the unpacked data

#

and you want to use FishAreaId

spark wharf
#

argh I could have sworn it was counted as a pond... alright I will go see if I can find it to make sure, thank you

#

Lake was the magic word.... its funny because I had thought "maybe its Lake and not Pond.... naaah its too small it has to be a Pond" next time I'll tell myself to shut up and just do it lol. thank you for the help

inland rain
marsh reef
jaunty osprey
fossil osprey
#

It's really easy to understand if you want to start modding
The hardest part is syntax, which is always a bit touchy, but even that is simpler than most other languages

#

(I think someone in the community made a very comprehensive "JSON for beginner" guide? SDVpufferthinkblob)

proven spindle
#

!startmodding I think that was Button's guide, should be in the tutorials wiki

ocean sailBOT
#

Making mods can be broadly divided into two categories:

Usually it’s easier to start with making content packs, since you don't need to learn programming.

fossil osprey
wintry geyser
#

Is there an easier way to launch SMAPI other than through files? When I launch stardew on steam it doesnt load mods and if I try to use a desktop icon or launch it through the search bar, command prompt just pops up for a second then disappears

fossil osprey
#

!launchoptions

ocean sailBOT
wintry geyser
#

Oh I was confused what that text was tysm

fossil osprey
#

!playvanilla and this if you want to alternate between modded and vanilla

ocean sailBOT
#

You can still play the vanilla game after having installed SMAPI. There's a few approaches:

  • In your game folder, run StardewValley.exe directly if on Windows, or StardewValley directly if on Linux/Mac OS.
  • Or if you're playing through Steam or GOG on a Windows device: clear your launch options, then select play from your game client. See the !launchoptions command for more info.
  • Or change the name of your Mods folder to something else. Then launching the game will run SMAPI but with no mods loaded.
  • Or set up SMAPI as a custom game in Steam. See the !modgroups command for more info.
fossil osprey
#

Awesome modding people, how possible would it be (using only CP/CP-style framework) to put up a warning before triggering an event which would allow the player to back out without triggering any subsequential event flag or such?

As a context, I plan an expansion with an "end of story event", which most notably has as a consequence some NPCs disappearing, among them two potentially romanceable ones
I do plan on a config to prevent the event from triggering, but I know people don't read, and I don't want people coming at me when their spouse disappear, so I wanted to have a warning like "You are dating/married to XX. They will disappear forever if you continue with the event. Are you sure you want to proceed" with the indication you can disable the event in config
(also, I guess, how possible would it be to forcefully un-marry/un-date a NPC using only CP/CP-style framework?)

I can simply block the event or rework things if any of them are taken (I haven't started coding anything for now), but I would prefer to let the player fully choose

hard fern
#

So like

Setup event -> yes/no branch
If yes -> real event
If no -> ends

fossil osprey
#

I see, I hadn't thought about that! Thanks SDVpufferheart

hard fern
#

Ive asked this same question before and im pretty sure this was close to the answer i was given

fossil osprey
#

Alright, I'll keep it in mind for when I reach that point then SDVpufferheart

verbal glacier
#

You can use Spiderbuttons.BETAS_ChangeRelationship to force change an npcs relationship status

hard fern
fossil osprey
#

Yay I will be able to traumatise players SDVpufferparty /silly

verbal glacier