#making-mods-general

1 messages Ā· Page 556 of 1

onyx panther
#

... can you overlap a jump and move command?

#

to make it look like an npc jumped over a thing?

torpid sparrow
#

errrrrrr you can set move continue to true

#

and put jump after it

#

but

#

i have no clue

onyx panther
#

so does that work?

torpid sparrow
#

you'd have to test

#

no clue

onyx panther
#

yeah I'll test it later

brave fable
#

yeah you can do jump and move, i put a character getting shoved off a cliff in an event by doing advancedmove + frame + jump + jitter + batscreech

patent lanceBOT
brave fable
near imp
#

Unfortunately I am but a simple peasant SDVpuffercry /lh

tender bloom
#

I think someone made mod to do that user-side

lucid iron
#

yea u can just use better crafting

tender bloom
#

no a single purpose one

#

it was someone i talked to here on discord

#

i thought it would be hard, they were like "nah i'm going to do it" and it took like a day

calm nebula
#

It's not hard but also search feature good

brave fable
#

there's nothing much stopping you from just doing the loc method above hahah

karmic gust
#

I'm trying to use the changePortrait event command to switch Maru from her hospital clothes to her regular clothes in an event in the clinic but her portraits remains the hospital version even with the command. Is this how I'm supposed to be doing it?

Here is the relevent bit: https://smapi.io/json/none/e7964688a0ce4538aad75fff44a5bab0

brittle pasture
#

I believe if Maru's base appearance before you start the event is the hospital entry then it'd just switch back to it

#

you need BETAS's change appearance action thing

uncut viper
#

You can specify a suffix to load a somewhat specific portrait in the event command

#

changePortrait Maru MySuffix will load Portraits\Maru_MySuffix as her portrait rather than looking in her appearances

#

So you can alternatively re-load her base portraits there I suppose

#

Otherwise yeah BETAS should work

onyx panther
#

what is betas

brittle pasture
calm nebula
#

I was gonna suggest doing a change to temporary map of the hospital map itself

#

But if it's a map property I guess not

uncut viper
#

Hospital doesnt have any portrait map properties on it

#

So that should also work

#

Life has many doors

karmic gust
#

Ah okay, I'll try that then. Thanks!

#

ChangeToTemporaryMap did the trick!

calm nebula
#

God we're insane

slow basin
#

i have never used quick question before but i am trying to get it to work lmao

opaque cobalt
ocean sailBOT
#

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

slow basin
#

ooh im trying so hard, ik i almost have it lol

#

ok time to get some help wormnod1

tardy pivot
#

I have a quick question about adding npc warps. For some reason, my npc can only path when I use addwarps but for some reason when I change it to addnpcwarps the npc cannot path to the next location. Is there some kind of condition to using npc warps that is different from just normal warps?

brave fable
slow basin
ocean sailBOT
#

Log Info: SMAPI 4.5.1 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 6 C# mods and 3 content packs.

brave fable
#

the actual cause is that you're using "Target": "Kent_Class_A_Green_Sprite", when the game expects an asset named "Portraits/Kent_Class_A_Green_Sprite", which 1) shows that your target is missing the leading path, and 2) shows that at some point you've used the Sprite asset name for a Portrait asset

ornate trellis
slow basin
#

aaa ok

urban patrol
slow basin
#

aah so removing that was the problem tys

ornate trellis
#

I always have nifty bits of stuff at the bottom of my events.json in a commented out section, maybe keeping a template for that would be a good thing for future events or something

#

also i guess i am stuck in this channel cuz both my cats are here on my desk and locked me into position

slow basin
#

oo probably ill try doing that

ornate trellis
#

i also keep the numbers for the emote bubbles there

urban patrol
ornate trellis
#

oh yeah i checked later that my template had the id deleted lol

slow basin
#

break over back to making events

#

yippeee

gaunt orbit
uncut viper
#

Perlin my beloved?

gaunt orbit
#

voroni actually

#

but yes it is cellular noise

slow basin
#

hm

#

I added a line to my first event, the one needed to make it wher eyou need certain friendship levels for it to work but like it wont work even after i give myself 2 hearts XD

#

its the first heart event the 2 heart one

uncut viper
#

Voronoi my also beloved

brittle pasture
slow basin
#

:0

#

ty selph efkasld idk how i missed that

obtuse wigeon
stark ocean
#

does anyone know if there's a way to change the kid's hair colors to match my custom npc? i'm thinking of the romaceable rasmodius mod and how their kids had purple hair SDVpufferthinkblob i just have no clue where to start with that

hard fern
#

First start with unpacking

mellow laurel
#

said threateningly

hard fern
#

!unpack

ocean sailBOT
#

Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!

mellow laurel
#

edit the children

hard fern
#

There's the children asset so you can go in and recolor their hair

#

Then use content patcher to make a simply cp pack to edit them

#

!startmodding

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.

barren tapir
#

patch reload Nullnnow.ESR

hard fern
#

Uhh

#

This is not your smapi console šŸ˜…

barren tapir
#

Wrong window šŸ˜…

stark ocean
hard fern
#

(or i guess disable the mod for if you are playing a save where you aren't married to the wizard)

barren tapir
#

What's the duration conversion to time? Bc a duration value of 480 is giving me a buff time of 5:36

hard fern
#

(actually idk what the basic guide covers)

stark ocean
slow basin
#

my npc wont finish her sentences 😭

hard fern
slow basin
#

its an event dialogue so its using just i18n but they only say partial amount of the sentence

#

im checking the default.json but it looks fine

hard fern
#

And show your event Jason too

fierce vault
#

I feel like my writing is questionable again now that I finally gotten around to making the lines for my main character in the event I've been working on today. It's not terrible, but is good? That's rhetorical, because I can't share it with everyone šŸ˜…

lucid iron
#

just do other part of mod, u either forget about it and therefore it is good enough or u rememeber and come back to rewrite it AquaThumbsup

fierce vault
#

I was working a whole lot on the thumbnail earlier, actually!

#

You're right, it's good to switch things up

brittle pasture
#

should be fixed in Extra Machine Config's latest update, thanks for the report!

slow basin
#

im up to my eight heart event now

cobalt lance
#

congrats!!!

slow basin
urban patrol
#

does it play when you debug ebi it

slow basin
#

let me try

#

it doesnt recognize the event but it doesnt recognize the other events either but those have played

long jungle
#

Is there a way to make my mod load before another mod so that their edits can supercede mine?

slow basin
urban patrol
#

what are you putting into the console

slow basin
#

debug ebi {{ModID}}_Kandieight

urban patrol
#

the console doesn't recognize tokens

#

you have to type it out

slow basin
#

ooohh

#

ok it said script was invalid and then said the song i chose wasnt valid ig

#

let me change it and test again

#

figured it out i think :3

warped kite
#

Morning from Germany!

Quick heads-up: I don't really speak English, so I'm using a translator to talk to you right now. Kinda funny, since I'm literally building a translation tool! XD(And sorry for the wall of text!)

After 16 hours of coding straight (and 5 days on this project), I’m totally exhausted, but I had to show you this before I crash. This is an early Alpha and I’m not 100% sure if I’m in the right channel—please don't be too hard on me if I'm not! ^^ I just wanted to see if there’s any interest in a tool like this?

I’m developing the Bhanshee Translate Tool for Stardew mods (JSON/JSONC).
Why? Because as a gamer in my late 30s, I often struggle with English, and there aren’t many simple tools out there that work without a lot of manual tweaking.

Highlights:
Vanilla Dictionary: Uses original game strings (via an optional external tool) for perfect consistency with the base game(optional)
Analysis Mode: Automatically detects technical IDs and protected areas so nothing gets broken during translation.
Smart Exceptions: Already filters out paths, Action keys, etc.

But here’s where I need you: Since I’m not a modder myself, I’ll eventually need your expert knowledge. Which keys, tokens, or IDs are critical and should never be translated? Thank you very much and have a beautiful daySDVpufferheart and im so sorry for the Wall of Text

latent mauve
warped kite
# latent mauve My biggest worry with automated translations is for dialogue. Dialogue strings o...

That is a great point, thank you! -I’ve actually already implemented a Regex-based masking system for exactly that! My tool detects patterns like ($[^ ]|#$[^#]#|{[^}]}|%[^%]%) and replaces them with unique placeholders before the text is sent to the translator.
After the translation is done, the tool swaps the placeholders back to the original tokens. This way, the translator never sees the control codes and can't mess them up. Glad to hear I’m focusing on the right spots!"

slow basin
#

i love telling stories sm my only problem is hwo to ebgin it klfkjdsf

warped kite
# latent mauve My biggest worry with automated translations is for dialogue. Dialogue strings o...

Here is a quick look at the analysis in action! As you can see, it’s already highlighting and protecting tokens, but keep in mind it’s still an early Alpha.
I’m currently going through some mods I’ve downloaded to test everything, but if anyone could provide a JSON with the most common/complex commands and tokens you use, that would be amazing! It would help me a lot to use it as a test object to make the detection even more robust. Thanks in advance! SDVpufferwow

slow basin
#

2 more events and the events are packaged and ready lesgoooo

slow basin
#

ive done it!! all eventsd done!!! yay!!

tacit rose
#

Hello! I'm having trouble adding animations to the Joja Mart. I managed to replace the building with Content Patcher, but when I try to add animations with Content Patcher Animation (even with the unnoficial 1.2.5 patch), I just get a static object. I also tried with Tiled, but I couldn't get anything to appear in the game. Does anyone have a link to documentation on integrating animations or could help me?

cedar thorn
#

is it possible to add a simple, non-dyeable clothing item without using fashion sense?

slow basin
#

when making gift tastes do i have to go through and list every single individual item O_O

fossil osprey
slow basin
#

gotcha wormnod1

#

well then

#

fun to say but I just gotta do schedules and then test the mod a bit and im done yippee

woeful lintel
#

So you'll have to wait for someone who knows how to edit maps, but that should give you some information

tacit rose
#

Yes, I'm talking about adding animations to the building outside, in the city. And ideally, having different versions for each season. I've started trying to use SpaceCore, but haven't gotten any results yet. Thanks anyway for the feedback!

slow basin
#

im glad i checked

#

LOL

brave fable
#

a conversion to real-time isn't really important since your day is obviously running on ingame time

slow basin
#

ok need help time to parse log

ocean sailBOT
#

Log Info: SMAPI 4.5.1 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 6 C# mods and 2 content packs.

slow basin
#

(if anyone answers this please @ me so i can see it later when i wake up ty)

subtle condor
#

How persistent are the functions ApplyMapOverride and RemoveMapTile? It seems like I only have to do this once per game loaded, but just to make sure, do I have to trigger those functions after a map is being reloaded or something? Or in any other occasion? Or can I really just trigger those functions once when SaveLoaded?

lucid iron
#

These are map changing helpers usually called inside MakeMapModifications

#

What are you trying to do

subtle condor
#

I added a Custom ParrotUpgradePerch and for its action function, I need to change some tiles on the Map and after that, I would just load the functions again when you load the save

#

I am doing a framework btw, so it has to be flexible

tiny zealot
#

also this is a decent time to mention that you will want to set up _y2 keys for the festivals as well, or your NPC will be missing in even years if any other modded NPCs are there

unreal falcon
#

Hello, someone can help me? I'm adding a fruit to the game, but the sprites doesn't appear, i don't know what i am doing wrong

fossil osprey
#

If it's only the sprite, chances are you're not pinging the correct asset
Mind sharing your json and log?

calm nebula
#

(And the image itself)

unreal falcon
#

One sec

torpid sparrow
#

!json

ocean sailBOT
#

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

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

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

torpid sparrow
#

this is an easier way to show ur json lol

#

u can copy paste into there and share the link with us

unreal falcon
#

I dont have discord on my notebook :/ don't know if its possible on cellphone

lucid iron
torpid sparrow
lucid iron
#

The reason why doing that is important is cus multiplayer

unreal falcon
torpid sparrow
#

it looks like ur loading from an Objects.png which i dont see

#

you have two separate fruit pngs

#

so you need to load from those pngs

#

assets/LaranjadeUmbigo.png

#

instead of assets/Objects.png

unreal falcon
#

Oh ok

torpid sparrow
#

and the same for the other fruit

#

unless u put both of the sprites into one png and name it Objects

subtle condor
torpid sparrow
#

ur loading from a png that you don't have, instead of Arvore.png

unreal falcon
#

I'm gonna fix it, thank you for the help

torpid sparrow
#

(and it would be 0 if you're using the one png for it)

unreal falcon
#

Ok

subtle condor
# lucid iron The reason why doing that is important is cus multiplayer

I haven't come to testing multiplayer yet, but yeah, I'll definitely have to look into that more closely. I also didn't think of seasonal changes so far, so since I have to meet every scenario, I'll definitely have to change my MapHandler function a bit XD thank you, this is valuable information SDVpufferheart

void aspen
#

anybody knows how rain is rendered in the game?

#

is it always front layer or something different

#

same with snow

gaunt orbit
#

I think somewhere in Game1 but I'm not sure

void aspen
#

Tyy

fallow musk
barren tapir
#

Is there a way to add the green smoke effect the cauldron has to a machine while it's active?

brittle pasture
#

you can play around with workingeffects (e.g keg bubbles)

barren tapir
#

Where can I find those? I'm away from my PC atm, so I can't look through the decompiled file names rn šŸ˜…

lucid iron
#

its part of machine data

void aspen
#

gotta change to swimsuit first Ig

#

can I do that or I need two separate tile datas?

lucid iron
#

need 2 tile data

void aspen
#

can they overlap

lucid iron
#

no

#

this is why a lot of maps have a thing to hide the changing

tender bloom
#

Also the tile action really only works going downwards

#

I was very annoyed but had to accept it

void aspen
#

pool entrance one?

lucid iron
#

the pool entrace shoots u downards

void aspen
#

good enough ig

#

I kinda wanna do some swimmable ponds but the way it only works from top to bottom is sad

lucid iron
#

i did make this which combines all 3 actions and let u decide direction

calm nebula
#

Chue high diving mod when

lucid iron
#

wdym thats just swim mod

void aspen
#

touch action that shoots several tiles down with a dive anim hm

void aspen
#

will check it out later ig

lucid iron
#

smh github

calm nebula
lucid iron
#

atra thats a stardew3d request

calm nebula
#

Casey high diving mod when?

tribal ore
# void aspen šŸ˜”

Getting this error for Content Patcher documentation as well. Seems to be a general GitHub thing šŸ™

gentle rose
#

github's been doing that lately, yeah SDVpufferpensive

lucid iron
#

u can try my chinese mirror i guess

tribal ore
#

Was trying to see if there is an easy way to list triggerActionsRun for a player. It doesn't show up when doing a patch summary full

lucid iron
#

its a lil slow over here but itll probably load eventually

tribal ore
#

Thank you so much!

#

It loads

lucid iron
#

i dont think it has anything for that tho

#

u could do debug gq PLAYER_HAS_RUN_TRIGGER_ACTION Current <triggerId>

tribal ore
#

Thanks! For some reason, I have a TriggerAction that seems to sometimes just not want to run for some players. It's OnLocationChanged and the only condition is that an event has been seen. That event is in their eventsSeen list, but the action either doesn't run or isn't doing all of the things it is supposed to do

#

Will ask them to run the gq for me and see

calm nebula
#

Is it worth asking Pathos about perhaps doing a gitlab mirror....

buoyant moon
#

dunno if readthedocs(.com) could be a viable option if it's mostly the docs that people hit up regularly and not the repo as a whole

latent mauve
#

I am specifically getting the rate limit error if I get there via a search, direct links seem to be working fine for me still.

#

(the rate limit from entering a search term seems to be GitHub-wide)

lucid iron
calm nebula
#

No idea!

#

Link me one plz

latent mauve
#

(logged in users don't appear to get rate limited at all so that is also a factor for some-- I am intentionally not logged in)

gaunt orbit
jaunty shuttle
lucid iron
calm nebula
jaunty shuttle
#

I can get onto that page as well

latent mauve
#

Is this some sort of tree isolation pod to prevent things from stopping its growth?

gaunt orbit
gaunt orbit
#

it's meant to increase the profitability of fruit in the late game

gaunt orbit
void aspen
#

How did you make that glass shine effect

gaunt orbit
#

the magic of shaders

void aspen
#

Wild

jaunty shuttle
gaunt orbit
jaunty shuttle
#

Ah I didn’t realize that was a discord message link in your other reply. Ty ty!! They look so cool love your work SDVpufferheart

latent mauve
#

Can anyone who's familiar with PaintMasks help me understand something?

The wiki says that building textures have their own paint masks and that the Data/PaintData file uses the building name, but I noticed for the farmhouse in particular, it uses "houses" in the paint data (which is the name of the building texture, not the building itself). Is that behavior consistent with modded buildings or building skins, in that the name of the texture is what's meant to be used rather than the building ID?

#

context: I made a new skin for the farmhouse and it wasn't paintable at first.

lucid iron
#

I believe all paint masks uses the texture name yeah

calm nebula
#

It uses iirc the building name or skin name

#

I think?

#

Not absolutely sure

void aspen
#

I wonder if first tiers of farms houses are unpaintable cuz ca was lazy, since their mask have space in the texture but no color itself

#

šŸ˜”

tawdry orchid
#

im working on a project to see if i can make an npc mod should i work on the portraits first?

calm nebula
tawdry orchid
calm nebula
#

NPCs are a marathon not a sprint

#

Work on what you want to

tawdry orchid
#

yeah twin im indecisive thats why im on here

#

lmao

latent mauve
#

Alright, if the paintmask/paintdata is supposed to be the texture name, that's fine, the wiki wording was just a bit misleading for me.

#

In the base game, most of the building names and texture names are identical anyway, but the farmhouse is the outlier, so I wanted to make sure.

#

Also the paint data information on the wiki only exists in the 1.5 migration guide, should that be split off into its own page or a subsection of the Buildings page at some point?

barren tapir
#

how do you make an item that can be aged in a cask?

sinful vector
#

if i get the mod author role some day, can i then promote the mods I've already made but never promoted?

rough swan
#

hey guys

#

just joined

#

how do i find someone to play with ?

brittle pasture
sinful vector
# torpid sparrow i think so

right after i sent this, i realized i could probably make normal updates and publish those anyways

or if i don't get mod author before 1.7, I'll have to update then anyways x.x

barren tapir
#

Thanks!

torpid sparrow
#

the actual role just comes at farmer level

sinful vector
#

oh cool 😮 thank you for the info

void aspen
#

wait wha is that a thing in the game

royal stump
#

it has a data entry/sprite but can't be found in-game, according to the wiki

tawdry orchid
#

im working on a project to see if i can make an npc mod should i work on the portraits first?

sinful vector
void aspen
#

Or the opposite

tawdry orchid
#

i did already ask but i came here for an opinion not just "go do whatever you want"

#

😭

sinful vector
#

give us more info on what you're thinking and maybe we can give a different answer

uncut viper
#

That is an opinion. There is no right answer

void aspen
#

Okay uhh do you know how to mod in general

#

Like how to implement it and stuff

sinful vector
#

like do you have any thoughts on the character? do you know how to make a portrait? etc.

tawdry orchid
#

uhh

void aspen
#

fair enough

tawdry orchid
#

idk i had a basic idea

sinful vector
#

lol

tawdry orchid
#

🐱

brittle pasture
void aspen
#

a shame warrior mastery doesn't use that

brittle pasture
#

you can make your own mod that readds it of course, only thing you need to worry about is how to make it obtainable to the user

void aspen
#

like fishing and farming

brittle pasture
#

since it's functional just unused

buoyant moon
#

I don't have any aspirations to make a new NPC myself but if I did I'd focus on appearance and personality at a higher level first, get a basic design and outline down before going right to making specific assets

void aspen
#

I went to weapons data to kinda check how it works generally

#

surprised it has some stuff

#

I never seen

latent mauve
# tawdry orchid idk i had a basic idea

I find it easier to do the portraits first so I know which key elements of the character I want to be on the sprite, since the sprites have less pixels to work with and often need to be simpler as a result. However, that is my personal preference.

sinful vector
#

i'd write all dialogue first SDVdwarf

void aspen
#

if you had no experience in modding then making npc right away may be an overwhleming task tbh

#

its so many things to keep track of

sinful vector
#

i think making an npc is the suggested first mod? but i don't remember for sure

void aspen
#

oh mb

uncut viper
#

Making an NPC is like the opposite of a suggested first mod

hard fern
#

It is not

void aspen
#

okay good

hard fern
#

It is pretty complicated

void aspen
#

the best first thing for me was making a custom map

#

a content pack in general

#

even easier

uncut viper
#

It is one of the more time consuming things you can make that involves a ton of different elements to put together

void aspen
#

some recolors resprites stuff like that

latent mauve
#

There are different levels of NPC complexity though, so the map tile NPCs will be less of a challenge than a full-fledged social/romanceable NPC

calm nebula
#

I would draw an X on a png and put a stick figure in the game first, personally

hard fern
#

Something with less moving parts is probably better for a first time mod

void aspen
#

try just retexturing existing npc probs

calm nebula
#

And continue from there

tawdry orchid
#

im trying to do a replacement npc and yes i am a complete beginner u guys and

void aspen
#

its the easiest thing for now

tawdry orchid
#

i dont feel i have enough info to go off rn

#

but i started with visual studio

latent mauve
#

!npc

ocean sailBOT
#
Creating a Custom NPC

Keep in mind that making NPCs is a complex process that requires learning many different aspects of Stardew modding.
Here are a few links that can help get you started on all that you need to know:

buoyant moon
#

I guess my next question is why do you want to make a replacement NPC?

void aspen
#

into unknown thread

#

😭

tawdry orchid
#

just to see if i can

latent mauve
#

Those will at least give you a baseline of how many parts you are dealing with, but for a replacer, if all you are doing is visual, it's not that much different than a portrait or seasonal outfit mod

latent mauve
void aspen
#

loaded for me now

#

doing just the portraits and sprites is already a week consuming task if you're really into it lowk

#

With cp tho its not that hard to replace some other npc files with it for starters

near imp
#

oh wow. trying to untangle FarmAnimal spritesheets. currently looking at some ponies that appear ingame to use both flipped right sprites for left, AND proper left sprites. bruh what. they have "UseFlippedRightForLeft": false in their entry. i dont think i would have caught this if i didnt have indices on the sprite sheet for testing purposes, and theyre showing up with mirrored numbers. are FarmAnimals cursed? SDVpufferthink

tawdry orchid
#

u guys im in online school you have no idea how much free time i have

#

🐱

buoyant moon
near imp
#

(ponies are from Shetlands by Saurianne, using for tilesheet learning purposes)

#

if they had "UseFlippedRightForLeft": true all the instances of that mirrored 14 should have been mirrored 6.
if they had correct "UseFlippedRightForLeft": false the mirrored 14 shouldnt show up at all, only the non mirrored 14.

#

they just be out here doing some hybrid thing SDVpetcow

#

time to go look at the cows and see if they're equally disobedient

latent mauve
#

Looking at making more skins for the farmhouse, and I'm only just noticing that the stone cabin goes from rock/cobblestone walls to stone bricks, and then back to rock/cobblestone walls for the upgrades xD

#

Kinda tempted to make a cabin variant with just the stone brick look now as an option, too, since it wasn't consistently carried through

gaunt orbit
#

how is this error even possible

uncut viper
#

Is that the right amount of underscores? I also don't see any Net HashSets with that name when I search for it

gaunt orbit
#

it's a private field with a single underscore prefixed with 3 more underscores so harmony will give it to me
also I can see that it has a value when I hover over it

#

(in the screenshot)

uncut viper
#

(I know about the private field thing but you're a better programmer than I if you can accurately count the underscores from that screenshot alone šŸ˜›)

gaunt orbit
#

I can't, but that's why I included the tooltip that shows the value

uncut viper
#

The only way I can see it being possible is if the hashset itself is null, so I would assume something to do with Harmony despite what the debugger says

gaunt orbit
#

I think maybe the internal hashset inside the netfield is null? but then it wouldn't make sense that it still "has values"

lucid iron
#

r u sure its not the exception lying about which line threw

rancid musk
#

appliedMapOverrides isn't a NetHashSet but just a normal HashSet, isn't it? Talking about the one from GameLocation?

gaunt orbit
#

let me double check

#

that would do it if that's the case

uncut viper
#

That's why I brought that up!

gaunt orbit
#

oh it is a regular shaset

#

why does harmony even apply the patch then?

barren tapir
#

Yall, I think I'm almost ready to release version 1.0 of my Expanded Slime Ranching mod! I only have the following items to do:

  • Add the machine rules for the 13 remaining potion recipes
  • Add at least 1 more special order

I may also add the alchemy table first (in which case I'd also need to add the other special order I have planned).

gaunt orbit
#

the whole "wrong parameter types" thing has bitten me before but in the past it was only when I fucked up my own transpiler

uncut viper
#

Harmony appears to just do a generic AccessTools.Field(<Type>, <The thing you put after the underscores>) without checking what type you actually said it is, and then just emits a Ldfld for it

barren tapir
#

As someone who never uses food buffs in Stardew, I'm actually quite pleased with most of the potion effects I've created.

I'm still probably not going to use them, but I think they (for the most part) provide some niche uses. One of my favorites probably being a potion that increases your weapon speed.

gaunt orbit
uncut viper
#

What a world it would be if all people were as trusting as the JIT...

barren tapir
#

UGGHHH, I just realized I forgot to add the likes and dislikes šŸ˜…

near imp
#

screw the villagers

barren tapir
near imp
#

oops SDVkrobusgiggle well in that case

patent lanceBOT
barren tapir
#

Anyway, I'm hoping to at the very least finish the final special order later today and hopefully do the likes/dislikes.

But I think I'm gonna take a break to work on my SVE playthrough.

This is the first mod that I've been actively excited to publish! I also think I have good lists of items that I can come back to work on with it as my modding skills improve. Of these tasks, the one that is both probably the most ambitious but most exciting is a change that has slimeballs slowly change color to match that of the slimes in the hutch, with the goal of having them drop gems based on that color!

brittle pasture
#

(Error: FileLoadException: Could not load file or assembly 'C:\Users\DELL\AppData\Roaming\Stardrop\Data\Selected Mods\ExtraMachineConfig\ExtraMachineConfig.dll'. An Application Control policy has blocked this file. (0x800711C7)

I wish Windows a very die

patent lanceBOT
torpid sparrow
#

should i add my dependencies to my manifest? its already on nexus and i feel like if ppl are missing a dependency and the mod doesnt load at all theyre just gonna yell at me about the mod not working at all whereas an error would actually tell them

gentle rose
#

dependencies should always go in your manifest

#

arguably more important than nexus

brittle pasture
#

"this mod is not loading because the dependency is missing" message is infinitely more useful (and leads to less nexus posts) than a "this mod kaboomed because <mysterious tilesheet name/trigger action/etc.> is missing" message

torpid sparrow
#

ohh ok i thought it just wouldnt load

#

will do

sinful vector
#

where do you put dependencies in the manifest?

iron ridge
#

the dependencies section

#

[[Modding:Modder_Guide/APIs/Manifest#Dependencies]]

sinful vector
#

nice! i tried looking up "manifest" and didn't find it

#

wait, so if my only dependency is SMAPI i don't need that

gaunt orbit
#

correct

uncut viper
#

Don't need to say it needs SMAPI if SMAPI is the only thing that loads your mod in the first place

gaunt orbit
#

SMAPI is what loads your mod, so if it's not installed, there's nothing to find your mod and tell the player to install smapi

uncut viper
#

All mods require SMAPI by default for that reason

gaunt orbit
#

might be different if we had multiple competing modloaders, but we do not

sinful vector
#

agh oh no i have csproj not dll

uncut viper
lucid iron
#

Did you go through the start modding tutorial

#

!startmodding

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.

sinful vector
#

i actually did

lucid iron
#

The C# one

#

Then you should have a dll compiled

sinful vector
#

weird the dll is in the manifest but it wasn't pushed with my code

#

oh duh, I need to upload from the compiled mod not from my source repo

lucid iron
#

Well u wouldn't want to commit the binary

#

Modbuildconfig would have made a zip in the bin folder for you to upload

kindred falcon
#

So I am trying to make some changes to a modded map to use with multiple farms for multiplayer and having some issues. I think partially it is that the map has a bunch of patches. Can I just bake in all the applicable ones? Also what is the best way to do that? (So far I tried just editing the warp points, but the map fails to load after I change the base one.)

sinful vector
gaunt orbit
#

if you don't see a net6.0 folder it means you're targeting the wrong version of .net

sinful vector
#

HA GOT IT

gaunt orbit
#

What was wrong?

sinful vector
#

well i just needed to hit rebuild

#

oh wait... huh was my file sitting in debug that whole time? I'm not sure haha but I switched it to release and rebuilt anyways šŸ™‚

#

hm, for mods with params, do devs usually put a blank config in it somehow? I have defaults so it can be run without a config.json, so I'm just uploading it for now

#

I haven't downloaded new mods in a couple months, and I forgot if I had to add the config.json myself or not

ornate locust
#

You do not

near imp
#

best not to include a config

ornate locust
#

Ideally you don't put one in or it'll overwrite people's configs every time they update

lucid iron
#

If you do that it will make a config.json with default values if no config.json exists

sinful vector
#

is that related to being able to edit mod configs inside the game, too? I want to add that as well

lucid iron
#

That's a gmcm integration thingy

#

This mod has simple example of setting up gmcm

sinful vector
#

wow thanks, folks

lucid iron
#

Config is a smapi system while gmcm is a mod that show it to user as long as u do the registration stuff

uncut viper
#

(I would absolutely make switching to the config helpers a high priority, config wise)

lucid iron
#

Technically gmcm doesn't have to be backed by config

#

But usually it's the expectation

sinful vector
#

alright, I'm gonna add the config helpers first, and then look into that fish link

#

not to be confused with fishy links

#

this is my mod, if any of you try it lmk https://www.nexusmods.com/stardewvalley/mods/43620 it takes away energy when you socialize!

I'm a long time coder, first time modder, so this has been very fun and I'd love feedback (if it's broken, another excuse to work on it some more šŸ‘€)

Nexus Mods :: Stardew Valley

Socializing now costs energy. For anyone looking to make socializing more difficult or hoping to roleplay an introverted or antisocial farmer!

lucid iron
#

Do u want a showcase?

sinful vector
#

that's a scary thought

lucid iron
sinful vector
#

ig it's okay if people look at it and it's broken, i'll have time to fix it tonight -- and I did just test it

#

so sure if you're willing

near imp
#

Does this look correct for animal sprite indexes / animations?

#

trying to get an overview, the left and the rightmost examples are used by vanilla animals, so can be confirmed with a high degree of certainty. i found some modded animals that use the second leftmost setup, but inconsistently. and cant find any examples to confirm the unique animation layout of the second rightmost setup

#

also, does anyone know if getting access to the modding wiki is difficult? i was thinking of adding these or a text version or something once they're fully confirmed. i found the existing documentation slightly confusing SDVpuffercry

#

based on the variety of sprite animation layouts im seeing on custom animals it seems like i may not be the only one

brittle pasture
#

looking at the code it seems like unique frames are always 20/18/16/22 if UseDoubleUniqueAnimationFrames is true and 15/14/13/12 if false (change 12 to 14 if UseFlippedRightForLeft true)

#

meaning it could overlap with walk left sprites if they exist

near imp
#

20/18/16/22, what does this correspond to in up, down, left right?

brittle pasture
#

could be wrong though

#

up/right/down/left

near imp
#

In setup number three, UseFlippedRightForLeft true & UseDoubleUniqueAnimationFrames true, do you know if the game still uses frame 18(and19), since its using flipped right sprites for the general left walking cycle?

kindred falcon
#

I am trying to bake .tmx patches into the main map of a mod, but I don't know how. Can anyone tell me at least how I can find where on the full map to put the 4 tiles in the patch?

brittle pasture
#

as far as I can see yes

#

yeah farm animals sprite setups are cursed

near imp
#

the game is being inconsistent SDVpufferglare

#

i discovered earlier today that the game uses both "flipped right version for left" and "left versions" at the same time on an animal that has UseFlippedRightForLeft false

#

two sets of left walking cycles, used interchangeably šŸ¤·ā€ā™€ļø like why

near imp
kindred falcon
#

Do I need to copy-paste each layer 1 by 1 to the main map now?

near imp
#

im not an expert but i would assume only the layers that contain something. havent played around with patches much yet but you may want to keep some of the layers of the base map, and use just the relevant layers of the patch

slow basin
#

back to testing the events and festivals look good before i drop this clown in on ya'll!

#

aw man clearly did somethign wrong adding in the _y2 festival events

#

i feel like im making it worse >.>

near imp
#

i feel like occasionally making things worse is a big part of working out the issues, since you have to change things to figure out what the broken bits are

slow basin
#

i think i fixed it!!

#

now back to testing

void aspen
#

As if some ape did that

#

There's a lot of inconsistency in the game design but well it's forgivable

near imp
#

not to blaspheme toooo much, but sometimes when im stuck really obsessing over a very minor detail in a bit of custom content i try to stop and ask myself, what would vanilla game do? SDVkrobusgiggle theres a lot of little things and everyone still loves it regardless

#

sometimes i wish there was an easy way to give oneself the same grace one gives everyone else SDVpufferpensive maybe theres a debug command SDVpufferthink

zinc pelican
#

is it hard to add a new villager in programming wise? ive been having a lot of fun with mods so id like to try it but im useless with coding

ocean sailBOT
#
Creating a Custom NPC

Keep in mind that making NPCs is a complex process that requires learning many different aspects of Stardew modding.
Here are a few links that can help get you started on all that you need to know:

torpid sparrow
near imp
#

its not hard per se but it is an extensive project. a lot of people start there it seems though! so its doable if you have some determination šŸ‘Œ (was trying to remember if the command was just ! npc lmao thanks Ketchup SDVkrobusgiggle )

zinc pelican
#

ooohh it doesnt seem too hard

hard fern
#

the tedium is also determined by how complex you want them to be

zinc pelican
#

i guess ill start with art and writing and then try to actually implement it

#

what do people who arent adding npcs to preexisting big map mods do? can you add just one map for t he npc to sleep or something?

torpid sparrow
zinc pelican
#

its a little scary but i guess i can just try and then give up if it gets not fun

gaunt orbit
#

Most npcs that aren't part of an expansion per se are either addons for expansions (mostly scarp, sunberry, or sve) OR they add their own little offshoot map on the edge of one of the existing ones

zinc pelican
#

I think I'm too scared of people to dare to add my silly project onto an expansion lol

torpid sparrow
#

you'd have to ask (except for SVE)

zinc pelican
#

And thats why its scary šŸ˜”

#

I was thinking of making the map an abandoned mall

torpid sparrow
#

ouu

#

wait like the town

#

or a new map

fierce vault
ornate locust
#

trust me, do not put it on the main Pelican Town map if you care about compatibility at all

zinc pelican
#

A new map thats accessible from pelican town

ornate locust
#

I did it because the building made no sense elsewhere, DO NOT DO WHAT I HAVE DONE

fierce vault
zinc pelican
#

You know those tiny liminal ass malls

torpid sparrow
#

probably 1/3 of my comments are complaining compat

ornate locust
#

The forest is not better

torpid sparrow
#

i simply dont care

ornate locust
#

trust me

fierce vault
#

That’s when my mod idea was still an entirely personal project

ornate locust
#

everyone goes "well if not town, forest!" and then they all step on each otehr

#

Yeah, just for the person considering a place to be, it is a nightmare if you care about compatibility LOL

slow basin
zinc pelican
#

I was thinking like way before the events of the game someone tried to build a mall in the valley near pelican town and it imploded because the customer base was three people and a wizard

torpid sparrow
#

kandie i thought u fixed it LOL

zinc pelican
#

But the rent is cheap because it would cost more to tear it down so my silly little guy would move in

slow basin
#

ty tyt

I thought i did too but apparently it doesnt show up as an error in log

#

XD

ornate locust
fierce vault
#

I do unfortunately care about compat. It’s actually helped me make what are probably better choices for the mod overall though.

near imp
ornate locust
#

That aims it at "Entries/MainEvent_additionalCharacters/MainEvent_additionalCharacters_y2"

torpid sparrow
#

youll need to do two separate patches i think

ornate locust
#

You need to do separate ones for Y1 and Y2

torpid sparrow
#

one for default one for y2

ornate locust
#

yeah

slow basin
#

ooh ok

ornate locust
#

Target is aiming it at a path basically, put a slash between each part of target

#

So you want one for "Target": [
"Entries",
"Set-Up_additionalCharacters"
],

#

and one for that but with _y2

torpid sparrow
#

time to write inconsequential events

#

for no reason but Fun

near imp
ornate locust
fierce vault
#

I’ve got to finish my modfest project’s first event still lol

#

I’m new to event making though, so there is a learning curve

torpid sparrow
#

i feel bad for locking tilly's final arc behind marriage so im compensating with more events

near imp
ornate locust
#

I did a turbo modded campaign yeah, just to see what broke and needed to be adjusted and what I wanted to do dialog for

lucid iron
ornate locust
#

I am not

#

since SMAPI can just do the thing now

lucid iron
#

what did u use it for before?

#

also i didnt mean arbitrary tilesheet access

ornate locust
#

I think it was something Arbitrary Tilesheet Access could do but I misunderstood it being able to do it

#

and if in doubt, the answer is "the Haley's Bakery patch"

near imp
#

@brittle pasture the 1.0.1 Luremaster B Gone is getting a red smapi error SDVpuffereyes "These mods could not be added to your game.
[SMAPI] - Luremaster B Gone 1.0.1 because it's no longer compatible."

lucid iron
#

kattia u should send the whole log

ornate locust
#

haley

#

er

#

Haley's Bakery does not load its tilesheets and this was an eternal struggle

#

i wasn't even changing them, I just wanted to not shave off part of the building since I'm behind it SDVpufferchickcry

brittle pasture
#

gimme a moment to fix

near imp
#

figured it was just a butterfingers type thing, hence i didnt bother with the log and the whole rigamarole SDVkrobusgiggle

dawn ore
#

I'm making a recipe, and of course normally you just use use item id's like 282, but I want this to require specifically Dried cranberries, but the item is just called [Dried Fruit], how do i make it require dried cranberries specifically?

lucid iron
#

u need to use spacecore if u wanna do that

dawn ore
#

really? bummer

lucid iron
#

since the only way to reference a flavored item is by context tag

near imp
#

well in honor of all of Selph's efforts i have given myself a new title

lucid iron
#

another approach is to make a Dried Cranberries item that is not dried fruit

#

so u have whole new production line leading to ur recipe blobcatgooglyblep

#

i would personally just be lazy and accept normal cranberries

dawn ore
#

ok, thanks, good to know

near imp
torpid sparrow
#

well i hate it

lucid iron
near imp
#

sorry, lame joke SDVkrobusgiggle read as a sort of "rail against the injustice of this vagueness" kind of thing

brittle pasture
near imp
#

ill take the dedicated supporter title over bothersome harasser any time šŸ‘Œ SDVpuffersquee

slow basin
#

im putting them isnide of { } but i wonder if it should be the [ ]

#

im gonna try that just in case šŸš¶ā€ā™‚ļø

#

šŸš¶ā€āž”ļø

#

that was not it apparently

torpid sparrow
#

ok attempting very simple config for the first time; do i have to use two different jsons or is the token on the patch enough

uncut viper
#

Well there is never a need to use anything other than a singular content.json

#

But there's not enough information to say what "enough" is without knowin exactly what you're doin or what you're trying to do

latent mauve
#

(I am guessing that you are testing in year 1)

slow basin
#

oh

#

yea

#

i was lmao

#

i was so confused mfldf

near imp
#

that was a load-bearing "oh" SDVkrobusgiggle very relatable that

latent mauve
lucid iron
latent mauve
#

Main-Event_additionalCharacters for the Festival of Ice, it's different than the others as noted on the wiki. šŸ™‚
Still include both year variants if you use _y2 though

torpid sparrow
#

not for that mod

slow basin
torpid sparrow
#

for my Special For Claire mod

#

By Claire's Request mod

lucid iron
#

the thought process behind this sort of thing is that if you need to do When { somecondition } like 20 times for a particular feature

#

u can do it one time with a include and it'll be more perf from content patcher's pov

torpid sparrow
#

yus

#

i will be doing that in the summer

lucid iron
#

but u can also just use a config token as a normal token

torpid sparrow
#

ugh i finished my Claire mod but now i have to do the modpage grumble

lucid iron
#

like if i wanna make a character whose display name is editable i could just "DisplayName": "{{SpecialNameConfigToken}}",

torpid sparrow
#

ou

#

what the heck

lucid iron
#

they r just tokens Dokkan

#

u can use them in a When bc they are tokens

latent mauve
#

(Keep in mind that it would not change the character's name in dialogue from other characters that say their name, unless those dialogues are calling the Localized Text for the DisplayName)

lucid iron
#

(yea but if this is custom npc i would also use {{SpecialNameConfigToken}} in all dialogue)

latent mauve
#

(someone's probably gonna look this up one day and try to use it for a vanilla NPC and get confused, so I figured it wouldn't hurt to clarify for the future)

gaunt orbit
buoyant moon
#

Hm.. seems like it's not really possible to have a dynamic config in GMCM where one bool controls the visibility of a section, e.g. to hide irrelevant options if a feature is disabled entirely?

slow basin
#

hm FerretThink my npc schedule appears to be messed up somewhere as my npc does not wish to follow it XD time to inspect

uncut viper
#

Nothing officially supported, anyway

#

You can probably do some stuff if you make a completely custom widget though

buoyant moon
#

true, maybe down the road

slow basin
torpid sparrow
#

spring_Thur should be spring_Thu

#

everything Thur should be Thu

#

winter_fri is missing a capital for Fri

#

and so is winter thur, and sun

#

and fall thur and fri

lucid iron
#

hm when u are at AssetReady is it safe to load the asset yggy

slow basin
#

ig it was that shrimple of a problem 🦐

ty wem

torpid sparrow
#

oh i dont know if thats THE problem

#

if spring_Tue isn't working i dont know why

slow basin
#

let me ouble check

uncut viper
slow basin
#

hm FerretThink that wasnt it but at least everything loksneater

latent mauve
#

So every entry with that mistake in it is failing

slow basin
#

thank you fireredlily 😭

latent mauve
#

No worries, I am probably the best person to troubleshoot that particular issue xD

gaunt orbit
#

god the default json editor for vs is so unbelievably ass

#

maybe I should just use np++

latent mauve
#

Also thank you for using the Pelican Valley Loft apartments for Kandi ā¤ļø

slow basin
#

OFC!!!! thank you for making it!!

cobalt lance
warped kite
#

Since I'm not a modder myself, I built this test JSON for my translation tool—but I’m not sure if it’s 100% accurate.
Everything in red is locked by the tool and won't be translated. Does this look correct to you, or should things like spacing etc. be handled differently? Is there anything else I'm missing as a non-modder?Thank you

slow basin
#

hm FerretThink my schedule still isnt working and i know not why

vernal crest
half tangle
#

general C# question... if class A has a protected field and class B implements class A, can I change that field's value for class B?

context is that I'm trying to change the menu close sound for my specific menu and closeSound is protected in IClickableMenu

torpid sparrow
ornate trellis
#

Analyse: angezeigt

ornate trellis
#

insert anzeige ist raus joke

ornate drift
#

so uh

im back from my long modding hiatus

slow basin
#

i started a whole new save and the first day works hrm let me try something

ornate drift
#

how do you add a schedule again....???

half tangle
#

I tried this.closeSound and that didn't work

torpid sparrow
slow basin
#

!npc

ocean sailBOT
#
Creating a Custom NPC

Keep in mind that making NPCs is a complex process that requires learning many different aspects of Stardew modding.
Here are a few links that can help get you started on all that you need to know:

slow basin
#

you can find how to add a schedule on the tiakall one!

#

thats the one im followin

uncut viper
half tangle
#

I'm subclassing IClickableMenu

uncut viper
#

Ah sorry, missed the second half on mobile

warped kite
half tangle
#

no worries, I'm trying to "override" protected string closeSound = "bigDeSelect"; to be something else for my menu

slow basin
# torpid sparrow did you sleep a day to test

ok i tested it by sleeping a day instead of fastforwarding then sleeping (to test if my messing with time was the culprit), but it still didnt work šŸ˜” only the first day works for some reason

warped kite
ornate drift
#

do i make the schedule like

a completely different json

slow basin
#

yee

ornate trellis
torpid sparrow
#

i prefer to

tiny zealot
vernal crest
tiny zealot
#

the trick is not to forget which of your dozen files the thing you are looking for is in (allow me to introduce my friend grep /lh)

ornate drift
#

why load a blank json?

#

i mean boxosoups base already has it but im curious as to why the game actually needs to load it

vernal crest
tiny zealot
#

EditData won't work on an asset that hasn't been Loaded, and content patcher won't parse your tokens on a Load

slow basin
#

hi aba wave

uncut viper
ornate drift
#

okay, noted!

#

do you load the blank in content.json

tiny zealot
#

where you do your patches is entirely up to you

vernal crest
#

You can load it wherever you like but content.json is probably easiest

tiny zealot
#

(but order matters sometimes, so keep that in mind)

half tangle
uncut viper
#

Could always go overkill and pull out the publicizer

ornate drift
#

maybe its better for me to start over from scratch

#

bases can be hard if i dont know where everything is located

#

i can probably make up a small NPC base with the knowledge i already have, maybe

hard fern
#

starting over from scratch isn't so bad, imo.

tiny zealot
hard fern
#

that way you can make your own templates for things, and control them in the way you want

uncut viper
#

Publicizer is my default at this point

ornate drift
#

i already have the sprites and portraits i just need the code atm

uncut viper
#

Everything in the game dlls and SMAPI is publicized for me in my csproj template

half tangle
#

I'm unfamiliar - I see what that can do, but looks like I'd have to set that up

slow basin
#

omg i might have found the problem with my schedule?

#

time to check

lucid iron
torpid sparrow
lucid iron
#

i am kinda surprised that it doesnt work tho

slow basin
#

nvm it was a false alarm, i found where i was missing a number and thought in a few of my entries and thought that might fix it but it didnt šŸ˜”

#

i legit cant seen what im doing wrong XD

torpid sparrow
#

when u lookupanything ur character, what does it say for the schedule?

half tangle
#

it's not marked as public which I assume means it's private, so that would make sense

slow basin
#

lemme download lookup anything and check

torpid sparrow
#

oh yeah u need

lucid iron
#

but u are a subclass of IClickableMenu NotteThink

warped kite
lucid iron
#

but yea i was just suggest u override exitThisMenu and receiveLeftClick to play ur sound

half tangle
#

Button, is your csproj template somewhere I can see steal from

uncut viper
# half tangle I'm unfamiliar - I see what that can do, but looks like I'd have to set that up

This is the one I use if you do get curious enough: https://github.com/krafs/Publicizer
Then I just have this to my csproj:

<ItemGroup>
  <Publicize Include="StardewModdingAPI"/>
  <Publicize Include="Stardew Valley"/>
  <Publicize Include="StardewValley.GameData"/>
</ItemGroup>
<PackageReference Include="Krafs.Publicizer" Version="2.3.0">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
ornate drift
#

is dispos just the description of your character?

half tangle
#

that was easy lol

lucid iron
#

while making the original sound not play by altering the playSound arg to false

uncut viper
#

I will warn you

#

If you publicize too greedily and too deep, you will run into annoying and difficult to get past "Ambiguous match errors"

#

as overloads or generics that were previously inaccessible are now suddenly an option to you

#

With the base game and SMAPI though I don't think I've run into this

#

Mostly when I was publicizing things like Harmony, xtile, newtonsoft, etc

half tangle
#

good to know... yeah, makes sense. I think I'll go with chu's idea in this case, but I'll keep that in mind as a tool to consider in the future

lucid iron
#

tbh for 1 field i just do reflection or dynamic method most of the time blobcatgooglyblep

uncut viper
#

This has been in my csproj for my last like 15 mods though so it's at the very least pretty reliable

ornate drift
#
    "Format": "2.7.0",
    "Changes":
      [
{
            "LogName": "Blank JSON load",
            "Action": "Load",
            "Target": "Characters/Dialogue/{{ModId}}_Manny, Characters/schedules/{{ModId}}_Manny, Strings/schedules/{{ModId}}_Manny",
            "FromFile": "assets/data/blank.json",
        },     
        {
            "LogName": "Manny Desc",
            "Action": "Include",
            "FromFile": "assets/data/dispos.json"
        },

      ]
}```
#

does this look fine as the beginning

lucid iron
#

i never used publicizer because it seems sinful

ornate drift
#

cause im like trying to start over completely

half tangle
#

I was looking at your github and didn't see any csproj files to copy from... do you not add them to your repos?

patent lanceBOT
lucid iron
#

but perf wise, publicizer is better than reflection

uncut viper
#

I guess I don't because at one point I probably added it to my default gitignore without thinking about it

slow basin
#

@wem this is what lookupanything says =-=

lucid iron
#

i think it's about the same as a dynamic method?

calm nebula
uncut viper
#

Probably over a year ago at this point when I was less aware of the implications of doing so and before I really internalized the value of it

#

And then never thought about it again until you brought it up just now

half tangle
#

also good to know

calm nebula
#

Newtonsoft? Harmony? The standard library?

uncut viper
#

Tbf

lucid iron
#

dynamic method r kinda sinful in their own way though SMCPufferjail

half tangle
#

there's a reason we refer to our actions as crimes

lucid iron
#

so its like choosing ur crimes here

uncut viper
#

Aside from xTile, the other two I wasn't purposely publicizing them

patent lanceBOT
brave fable
#

why would you ever gitignore your csproj files SDVpufferthinkblob they're important

uncut viper
#

But that publicizer has an option for "Publicize literally everything my project references"

#

That I was using at one point

slow basin
calm nebula
#

It doesnt deserve ny attention

uncut viper
lucid iron
#

i think the main reason why i dont use publicizer is just cus i want to know what crimes im committing monS

half tangle
#

6am schedules can cause issues, iirc

#

I like to see csproj files... it helps me learn more about what I can do with them

calm nebula
#

Even if it's tax fraud

vernal crest
slow basin
#

lemme try changing the schedules from 6am wormnod1

lucid iron
#

yes in most cases?

#

i dunno go ask one of the modding lawyers

uncut viper
ornate drift
#

im working on the dispos!!!

brave fable
#

my mods simply won't build and deploy correctly without the same csproj fields, omitting them would make it way more annoying for anyone to fork and test

tiny zealot
calm nebula
brave fable
#

🫵 YOU need to remove csproj from your gitignore

uncut viper
#

That publicizer stuff is really the only important things that are different from the normal template on the wiki... I customize my translation class names with it but thats it

#

Otherwise its just the usual stuff

#

And nuget refs

lucid iron
#

i think its nice if the thing i commit can be compiled tho

uncut viper
#

Oh and my <StartArguments>--mods-path "$(GameModsPath)"</StartArguments> that ones nice

lucid iron
#

and itll become important with the mod build github action stuff

half tangle
#

yeah, that's part of my reasoning, too

brave fable
#

yeah nobody knows that's all that's different. they can just guess and build and try again

calm nebula
lucid iron
#

for me i keep all the special stuff in a sdv.props file

calm nebula
#

Bluebs plz play this

warped kite
lucid iron
#
<Import Project="$(MSBuildUserExtensionsPath)/sdv.props"
    Condition="Exists('$(MSBuildUserExtensionsPath)/sdv.props')" />
#

ofc i have realized i could just use the modbuildconfig stardew.targets thing but inertiaā„¢

slow basin
#

SHE MOVES!!!

ornate drift
# uncut viper Depends on whats in the dispos, but this seems fine to me. Maybe bump up the For...
    "Changes": [
        
        {
            "Action": "EditData",
            "Target": "Data/Characters",
            "Entries": {
                "{{ModId}}_Manny": {
                    "DisplayName": "Manny",
                    "Gender": "Male",
                    "Age": "Adult",
                    "Manner": "Polite",
                    "SocialAnxiety": "Neutral",
                    "Optimism": "Positive",
                    "BirthSeason": "Winter",
                    "BirthDay": "5",
                    "HomeRegion": "Town", 
                    "CanBeRomanced": false, 
                    "CanVisitIsland": false,
                    "SpouseAdopts": true,
                    "IntroductionsQuest": true,
                    "ItemDeliveryQuests": true,
                    "WinterStarParticipant": true,
                    
                    "Home": [  
                        {
                            "Id": "Default",
                            "Location": "Town",
                            "Tile": {
                                "X": 5,
                                "Y": 11
                            },
                            "Direction": "down"
                        }
                    ],
                },    
            }
        }
    ]
}```
#

thats a lot of brackets

lucid iron
#

can u post stuff using !json

ornate drift
#

oh ok srry

lucid iron
brave fable
torpid sparrow
#

oh

uncut viper
#

(Given that none of my mods are open source anyway and they're mainly only pushed to public repos anyway and not private is in case I want to show someone a piece of code, I don't find it all too pressing to go back and re-commit my csproj for every single project on there right now)

ornate drift
#

should i be using CP for the json format?

torpid sparrow
#

wdym

vernal crest
#

Yes

torpid sparrow
#

oh like the thing

#

yea

ornate drift
#

oh alr

vernal crest
#

But ignore the warning about a missing format field, because only the content.json should have a format field

brave fable
#

all the same none of my mods are licensed open source but i still appreciate that people are able to fork, change, test, and merge back into main

ornate drift
#

just gives me an error about the version

ornate drift
#

if its something like gifttastes or whatever

calm nebula
slow basin
vernal crest
torpid sparrow
calm nebula
#

And not after I spend 14 minutes in the skull caverns do I realize a reflection is mispelled

ornate drift
torpid sparrow
#

and if u put y1 they wont show up y3 im pretty sure

vernal crest
torpid sparrow
#

can u do the directions with "right"

#

i usually just do 0

#

or 1 2 3

#

but im not sure

ornate drift
#

right down up left

#

i think

slow basin
#

i was told to put y1 but ill remove it and try again
/
it was working b4 so idk

latent mauve
torpid sparrow
#

huh

#

did i do that

ornate drift
#

tiakalls tutorial has right in one of their strings

torpid sparrow
#

let me check

#

both work

ornate drift
calm nebula
#

Both should worj

uncut viper
#

Oh atra you're here

#

How expensive would it be to generate a new Random for every crop on a farm

latent mauve
#

I don't think y1 is the issue, did you use debug commands to get to the day before the festival date and sleep while testing? (Directed at kandie)

valid folio
#

Hello! How are you? A friend wants to try something and we’re not sure how to do it. She wants the player to learn a crafting recipe by increasing friendship with any NPC. Is that possible?

uncut viper
#

(In the grand scheme of things I imagine not much, but I am still curious)

torpid sparrow
slow basin
torpid sparrow
#

yes

#

thats possible

latent mauve
valid folio
latent mauve
torpid sparrow
#

^

torpid sparrow
#

uh i think u can do it just as a trigger action

#

MarkCookingRecipeKnown

latent mauve
#

Without mail and without an event is a less likely scenario to find an example of, because it's poor user experience to give them the recipe with no indication as to why

torpid sparrow
#

ive never used that but that would be it i suppose

valid folio
torpid sparrow
#

is there any context?

#

like is the player told they're getting the recipe

slow basin
#

maybe i should try captilizing y1 and y2

torpid sparrow
#

its not that

#

im staring at my own file rn

ornate drift
#

i put content json inside assets by accident

#

hold on

latent mauve
#

The only way you'd be able to guarantee a specific dialogue association would be the next one AFTER reaching the heart level, it wouldn't be the one that potentially triggered the change exactly (speaking does give a small portion of a heart)

#

So depending on what your friend wants...

valid folio
# torpid sparrow is there any context?

In the game, the player learns crafting recipes like fertilizers, the mayonnaise machine, the cheese press, or the seed maker by leveling up skills. Instead of using skill levels, she wants to use friendship hearts.

latent mauve
torpid sparrow
#

iirc flower dance

slow basin
#

egg festival

torpid sparrow
ornate drift
#

bro šŸ„€

slow basin
#

im going down one at a time XD

latent mauve
ornate drift
#

is there a way to see the town map with a grid?

torpid sparrow
#

um this might be dumb is ur npc internal name correct

latent mauve
#

And is there anything in the log

ornate drift
#

like including XY coords

torpid sparrow
#

but u can use debug mode

hard fern
ornate drift
#

oh wait i do have tiled

slow basin
#

let me test the others

ornate drift
#

hold on

slow basin
#

ik shes not at the flower dance either iirc but dik abouit the other seasons

latent mauve
#

Other thing to check would be that you aren't sharing positions with any other NPC, if so, you might be overlapping and thus hidden

hard fern
latent mauve
#

NPC will still probably be there in the case of an overlap but their dialogue is inaccessible until you exhaust the dialogue of the NPC that's on top of them SDVpuffersquee

near imp
ornate drift
#

ok i got the basics

#

its time for the dialogue

slow basin
#

its not looking like she shows up at any festivals

#

im already in winter šŸ˜”

torpid sparrow
#

i ask again but just to make sure

#

well actually if u dont have errors

#

umm

#

could u maybe do a patch summary

#

patch summary urmodid into the console

#

i think itll show up there im not sure

slow basin
#

oh some errors showed up this time

#

hold on lemme send log

torpid sparrow
#

oh great

slow basin
ocean sailBOT
#

Log Info: SMAPI 4.5.1 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 7 C# mods and 2 content packs.

torpid sparrow
#

oh thats from

#

cjb fuckery i think

#

its when ur on a festival day then switch the day to another nonfestival day

slow basin
#

aw šŸ˜”

torpid sparrow
#

so not from u

slow basin
#

i was hoping it could shed some light on the situation darn

torpid sparrow
#

could u try a patch summary

slow basin
#

whats a patch summary

torpid sparrow
#

it'll show u whether or not all of your patches have applied

slow basin
#

oooh ok

#

is that a debug command or?

torpid sparrow
#

in console just do patch summary urmodid

slow basin
#

ok ty

torpid sparrow
#

and im not sure if u have been patch reloading or restarting the game

#

but if u do patch reload urmodid it'll well reload ur mod

#

so u dont have to exit the game and restart it to see the changes

slow basin
#

ooh ok

#

ok i did it

#

i do not know what im looking at completely lmao

#

wait should i do it after a festival actually

#

or does it not matter when i do the command

torpid sparrow
#

Err shouldn’t matter unless there’s conditions

slow basin
#

aah ok

torpid sparrow
#

I think if you get the log

#

It’ll show the patch summary on there

#

And then I can see it

slow basin
ocean sailBOT
#

Log Info: SMAPI 4.5.1 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 7 C# mods and 2 content packs.

slow basin
#

here ya go

torpid sparrow
#

Oki one sec

#

hmm

torpid sparrow
#

if u have a separate one

#

where is that patch located

ornate drift
#
    "danceRejection": "",
    "divorced": "",
    "secondchance_Boys": "",
    "dumped_Boys": "", 
    "breakUp": "",
    "Resort_Entering": "",
    "Resort_Leaving": "",
    "Resort_Shore": "",
    "Resort_Chair": "",
    "Resort_Bar": "",
    "Resort": "",```
do i completely ignore this section if my NPC is non-dateable
#

OUTSIDE of the introduction and resort i mean

torpid sparrow
#

i think resort you should still have

#

oh

#

uhh

ornate drift
#

its the one on the island

#

right?

torpid sparrow
#

i suppose yeah

#

yes

ornate drift
#

okok

slow basin
#

oh no

#

i

ornate drift
#

i have literally never seen any NPC entering a resort though

#

like

slow basin
#

one second

torpid sparrow
#

i definitely have

ornate drift
#

none of the base NPCs go inside it

torpid sparrow
#

they do

ornate drift
#

ive been playing for like year 6

#

is it just to change to their resort outfit?

slow basin
#

i think i deleted the festival include

torpid sparrow
#

well

#

that will do it

#

we should have asked that 20 questions ago

slow basin
#

falls to the floor

torpid sparrow
#

resort_entering is when they get off the boat im pretty sure

ornate drift
#

oh lmao

gaunt orbit
#

Does BuildingListChanged also fire when a building is moved?

torpid sparrow
#

its not too hard to understand

#

did it load? were the conditions fulfilled? was the patch applied?

slow basin
#

mm i see

ornate drift
#

quick question
are there any examples of a dialogue string that shows the number of a portrait used (like $1)and #$b# as well

torpid sparrow
#

wdym?

vernal crest
torpid sparrow
#

"hi im wem$1#$b#hi im wem again$1"

ornate drift
#

so theres no space between the expression number and the breaker

torpid sparrow
#

no

ornate drift
#

got it tyty