#making-mods-general

1 messages ยท Page 555 of 1

uncut viper
#

More Books is the name of the other books mod

ornate locust
#

if you need a framework to do the thing you want, then use the framework, don't cut down your mod

torpid sparrow
#

betas my beloved

merry river
#

I'll see if I prefer FTM or Space Core for the thing I'm trying to do

ornate locust
#

If someone complains about the framework, tell them to code the C# for you and you'll be able to remove the framework

barren tapir
#

OMG A famous person!

I have a long list of mod ideas, most of which are wildly outside my current skillset (I am still very new to modding). But one of the things I want to eventually add are some extra power books. Are there any guides on how to do this?

-# Also, huge fan of both of the book mods.

ornate locust
#

like you can either code the thing you want or use the already-existing code someone made for everyone else to use, I don't know why we must always reinvent the wheel

torpid sparrow
#

Button is most well known for her other accomplishment, fastening fabric

uncut viper
barren tapir
#

For me, it was primarily a case of not being overwhelmed ๐Ÿ˜…

merry river
uncut viper
#

If you can achieve an effect with CP, you can easily make it a power book by just making it active based on a stat/mail flag

#

Since all a power is, is just an icon on a screen. The power itself does nothing

lucid iron
#

If u are in C# land regardless I think it's more helpful to think of the powers as a "hey look player you have this upgrade"

uncut viper
#

Anything custom though you'll need C#

ornate locust
#

Frameworks are quite invisible, they generally just make mod components work.

#

but I can understand why many file would seem more complicated

blissful panther
#

I should make a framework for frameworks that just adds a border around the screen for each framework mod that's loaded. /j

barren tapir
# uncut viper <:SDVpufferheart:544718683486814228> Power books are tricky, and it highly d e...

I need to look through my notes, but I know for a fact that the simplest book idea I had was one that would increase the price of petrified slime items (the mod I'm working on atm adds several colors) by some amount (probably 20%).

I'm hoping I can come back to this mod as my skills progress, as I've created a rough outline of tasks to tackle once my skills improve! If I remember correctly, I marked adding books as the first intermediate addition ๐Ÿ˜…

ornate locust
#

Oh like when my mom installed a billion toolbars in her internet explorer

merry river
uncut viper
#

Only if you let me customize the border by targeting DecidedlyHuman.FrameworkFramework/Border

#

Or add my own extra borders

blissful panther
#

Naturally!

uncut viper
#

Otherwise it's not a framework

cedar thorn
#

i don't really mind about frameworks too much but i am a bit of a minimalist and like to keep my amount of mods as low as possible (also ftm and spacecore are weird on mobile)

uncut viper
lucid iron
#

Many mods are weird on mobile

#

Underlying codebase differences

uncut viper
#

Really can't emphasize enough that the actual Power Itself On The Powers Menu is 100% functionally useless. It's just there to show the player they have a power, as chu says

merry river
#

i still dont understand why anyone would subject themselves to playing video games on mobile but thats a me problem

barren tapir
lucid iron
#

I should make some icons for merchant upgrades...

ornate locust
#

I just don't think several mods that have bespoke C# to do the same things is better than several mods that use the same framework to do that thing, it seems like you have more things that could possibly go wrong with five mods doing the same thing in different code

lucid iron
#

Instead of stealing pierre stock list lol

uncut viper
#

You would just make conditional edits to either the items themselves or every shop's price modifier, if price modifiers can allow checking the item in question via GSQ (I don't recall if they do)

merry river
barren tapir
royal stump
# merry river I'll see if I prefer FTM or Space Core for the thing I'm trying to do

fwiw if your goal was to spawn anything in the skull caverns (skimming), I'd look at spacecore before FTM until the FTM 2.0 beta stuff is ready
currently FTM can only spawn things on temporary maps by choosing a time range, and then it'll randomly spawn there if someone happens to be there
e.g. you can spawn forage at random times, but if nobody's on that floor of the cavern, it won't appear
or you can make it appear if people happen to be in the cavern at a specific time, but it won't be there if they come in later, etc

merry river
barren tapir
blissful panther
royal stump
#

(I'm not sure what spacecore's specific options are, but being trigger-based, you can probably do mine stuff better)

merry river
#

Ohh I see! Thanks, Esca SDVpufferheart That saved me a bunch of time

upper linden
#

Help! I created a krobus style npc that just stands there. Everything is fine except for one thing: the shop. I don't understand why it won't open. When I use "debug shop," it opens, but not when I talk to the npc..

lucid iron
#

Krobus's shop is hardcoded as hell

#

I recommend just giving your NPC a shop counter

barren tapir
lucid iron
#

Then you can use the OpenShop map action to open the shop, and also talk to the NPC directly

torpid sparrow
#

my closedmessage wasn't working but i couldnt be bothered to fix it

upper linden
torpid sparrow
#

send json

#

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

barren tapir
cedar thorn
cedar thorn
patent lanceBOT
barren tapir
# cedar thorn i don't have a computer or laptop to play on unfortunately and also now i'm used...

TBF, there are also some beautiful gems of mobile games... It's just finding them is the issue.

There is still one mobile game (that I won't mention) that I'm still so disappointed in. It was probably the most creative Tower Defense game I've ever played... It was also by far and away the most textbook definition of "ways to psychologically manipulate people into spending too much money." Just as one example, the game had over a dozen different currencies.

dire canopy
#

!patchexport

ocean sailBOT
#

A patch export makes a copy of specific stuff in your content folder so you can see what changes have been applied.

  1. Load up a save (with Content Patcher installed)
  2. Type patch export <FILEPATHOFTHING> in the SMAPI console and hit return
  3. Look in your patch export folder in the game folder for the relevant json file or image
  4. If it's a json file, you can share it via smapi.io/json. If it's an image you should just be able to look at it.
cedar thorn
#

it's my pet peeve lol

elder scarab
#

Could someone send me the wiki for creating a new map and putting it into the game?

tender bloom
#

there are a few pages you might mean

#

!mapmaking

ocean sailBOT
#

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

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

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

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

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

onyx panther
#

I'm guessing that the best way to make custom animations for NPCs during events is to use a sparate sprite sheet specifically for that event

calm nebula
#

Yup

onyx panther
#

sounds easy enough

elder scarab
#

!mapmaking

ocean sailBOT
#

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

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

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

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

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

elder scarab
tender bloom
#

I don't know what you mean

lucid iron
# ocean sail

If you click on the blue text this will take you to the wiki page

#

Besides that I also do not understand your need sorry

tender bloom
onyx panther
#

I think imma add a click action on Abby's trans flag in my mod

#

specifically just a message

#

"It's Abby's transgender flag" (if you've seen her coming out event) or "What a pretty flag!" (if you haven't)

hard fern
onyx panther
#

yes

#

it's already there tbh, I just need to add the action lol

onyx panther
#

ok for whatever reason when I try to add map patches they don't also add tile actions

torpid sparrow
#

r the tile actions done right

onyx panther
#

wdym are they done right?

torpid sparrow
#

true that was a bad question

hard fern
#

are your tiledatas done correctly, like named properly, in the right places, etc

onyx panther
#

idk does anything about this look wrong?

torpid sparrow
#

but i asked it bc if ur map worked and the tile actions don't it's the tileactions that are the issue

hard fern
onyx panther
#

yes

urban patrol
#

i should write a "troubleshooting tile actions" checklist

hard fern
#

and you added your message string to the strings asset right

onyx panther
hard fern
#

StringsFromMaps

onyx panther
urban patrol
#
  • is your TileData snapped to the grid
  • is it named TileData
  • is it on the pink Buildings layer
  • is there a corresponding tile on the blue Buildings layer
  • does lookup anything show it having tile data when you have tile lookups turned on
torpid sparrow
#

Wouldnโ€™t be a bad governor command

hard fern
# onyx panther

did you spell your mod id correctly? (im only asking because you have it spelled there with an e in "annebeth" while your username has it with an a)

urban patrol
#

oh good eye forsy

onyx panther
torpid sparrow
#

Wdym source map

hard fern
#

yeah

torpid sparrow
#

Ok man

onyx panther
onyx panther
#

that's confusing

torpid sparrow
#

YOUR map needs a buildings tile

onyx panther
#

... so the source of the patch then?

urban patrol
#

yep! maps look kind of weird in Tiled compared to how they are in game; in the game, there's no real difference between tile layers (blue) and object layers (pink), so you need to have both a tile and an object at those coordinates on those layers if you want an action to work

onyx panther
#

which is my map

torpid sparrow
#

ok then yes I guess

#

I thought you meant like where the map is meant to go

onyx panther
#

so could I do an invisible tile and it works (and also if I do overlay it won't replace buildings layer tiles)?

urban patrol
#

your Buildings tile can just be whatever normally goes there if you don't want to change the visuals

#

does it need to be passable?

onyx panther
#

ok but what if I want to have compatability with other mods that may change those tiles?

hard fern
#

ok wait what exactly are you patching?

urban patrol
#

compatibility is a whole nother beast

onyx panther
hard fern
#

where?

urban patrol
#

you'll have to identify or ask others (probably modded farmers) to identify mods that patch whatever rectangle you're patching

hard fern
#

and yeah, like nic says, compatibility with maps is notoriously tricky

urban patrol
#

...or i guess search the whole mod decompile yourself but i wouldn't even know where to begin with that tbh

hard fern
#

you're almost always going to patch over someone else's patch, or get patched over, since there's no way to guarantee every map patch will be compatible. i'd say the best you can do is account for a handful of popular mods that edit interiors ๐Ÿค” since those would probably be the ones people ask for

urban patrol
#

the most effective way to find out what mods need compat is to release as is and see how many complaints you get

onyx panther
#

ok I made it work

#

ok so now how would I do this while also making tiles passable?

lucid iron
#

uh if u put Passable T it should work?

urban patrol
#

(on the Buildings layer specifically)

hard fern
#

tile property passable T on whatever tiles u want passable

urban patrol
#

(Passable T on the Back layer makes it not passable ๐Ÿ˜ตโ€๐Ÿ’ซ )

hard fern
#

(is it because they're already passable by default? )

urban patrol
#

yep

hard fern
#

(so putting anything there makes them unpassable)

urban patrol
#

it might be easier to remember if we put Passable F on the Back layer, because T/F doesn't matter, any value at all there will trigger the property

fierce vault
#

would using beginSimultaneousCommand be the best option to make two npcs move at once?

torpid sparrow
#

move works

#

you can move multiple npcs at once

#

You can also move multiple people at a time in a single event command with move - an example of /move Abigail 1 0 1 Sam 0 1 1 Sebastian 2 0 1/ will have Abigail, Sam, and Sebastian all move at the same time in their respective directions.

fierce vault
#

oh, ok. Thanks!

onyx panther
#

also, you don't necessarily need it to have, say, one npc doing and emote while another moves

#

just for move Abigail 1 1 1 true/emotePierre 8 for example

#

wait that doesn't work

#

because the move command is wrong

#

move Abigail 1 0 1 true/emote Pierre 8

#

would make Abby move while Pierre emotes

opaque field
#

I keep seeing the error message 16:24:58 Ignored Dessert Animals > Include Data/GingerbreadGoats.json > invalid: must set the Action field.

but this is what my content.json looks like and I double checked that the file is in the correct place and etc https://smapi.io/json/none/209afec5b753416b839ea2aa4957b90d
I can't figure out how to fix it

ornate trellis
#

you gotta check the GingerbreadGoats.json not your content.json

onyx panther
#

yup

opaque field
#

okie will do

urban patrol
#

is there a cap to friendship points? like if i set it to 20,000 will it take forever to decay

uncut viper
#

It's capped at 2749

brittle pasture
#

also friendship already stop decaying at max

uncut viper
#

For non marriagables

urban patrol
#

it does??

#

that's wild i never knew

uncut viper
#

It does keep decaying with your spouse though

urban patrol
#

i'm gonna tweak this slightly then because this questline doesn't start until you have 10 hearts with these NPCs

#

but after you complete the quest it's like "i owe you a life debt" levels of friendship

#

no spouses here so no worries there

uncut viper
#

I would check for spouses there first, or alternatively worries here, before being so confident

urban patrol
#

these characters aren't romanceable though

hard fern
#

its like checking for mice but it's spouses

urban patrol
#

"hellooo? any spouses hiding in the walls?"

uncut viper
#

(just a dumb joke on "no spouses here so no worries there")

urban patrol
#

ohhh my bad lol

#

joke
my head

uncut viper
#

It's ok when you make as many bad jokes as I do you just accept that sometimes they'll be so bad they don't even come across as jokes

urban patrol
#

actually i just realized, knowing the exact max number lets me just set the friendship level to that with BETAS! way better than adding an arbitrary big number

calm nebula
#

Until someone adds a mod that lets spouses go to 29395838 hearts

urban patrol
#

in that case their love cannot be contained by any mere video game

#

pah

hard fern
#

what if they hit the integer limit

uncut viper
#

A mod doesn't need to use integers

fierce vault
#

so, I've been doing simultaneous move commands for my npcs, but I've realized it's not really working because I want one npc to belatedly follow the other smoothly. Would advancedMove be good for this, because I assume I can put two npcs on the same line like with the regular move, right?

calm nebula
#

I wouldn't assume that

buoyant moon
#

time for a mod that has friendship using scientific notation

hard fern
#

mod that removes friendship altogether because why should relationships be defined by an arbitrary scale? (incompatible with everything)

fierce vault
#

ok, well I didn't assume it enough to not ask here first at least ๐Ÿ˜…

#

w h a t

buoyant moon
#

event list turns into everything everywhere all at once

fierce vault
urban patrol
#

movement is really difficult to prescribe anything sadly

#

i usually just play around for a while until i find something that works

fierce vault
#

ok. guess I'll try advanced move and see if I can do both npcs at once then

calm nebula
#

I think advance move may be nonblocking by default

urban patrol
#

yep that

calm nebula
#

Or have a parameter for nonblocking

fierce vault
#

nonblocking ?

urban patrol
#

it doesn't pause executing event commands while the current command is happening

fierce vault
#

Oh, so I could probably just have two advanced moves on separate lines at once then

#

(I'm currently a multiliner)

#

thanks

opaque cobalt
#

question, since I've learned and been shown recently that marriage is run as a script, is it still possible to have a tag in appearance modding that works for wedding ceremony. NPC in question is just an attendee so does not have it as natural sprite.

Used this site, but unless I am the extra mind blanking, it seems more how to mod in a unique wedding event rather than determine what outfits NPCs wear at the wedding.
https://stardewvalleywiki.com/Modding:Custom_wedding_events
Additionally, referenced this site and may have been control+f command poorly, but saw no mention of wedding or marriage to base off of
https://stardewmodding.wiki.gg/wiki/Tutorial:_Adding_Seasonal_Outfits_via_Appearances

Stardew Valley Wiki

โ† Index

Stardew Modding Wiki

Last edited by AirynS on 2025-10-23 07:04:19
If you want to add seasonal outfits for your NPC, there's two ways you can do this: the token way or the Appearances way. Appearances is a new code structure added in SDV 1.6, so if you're looking at an older NPC's code for reference, they'll most likely be using the token way. The main difference bet...

calm nebula
#

Wedding has an event id

#

Of which I've forgotten

#

But DSV probably knows

inner harbor
#

its in data/weddings

#

key is "default" but you can also use the NPC interneal name.

opaque cobalt
#

Okay thanks. I guess I missed to the event id part in the file

sullen rain
#

Hey guys. I'm attempting to get a pond to work indoors in an animal building. Like the ducks can swim in it and everything like they do outside. Setting the property as water doesn't seem to be enough. Does anyone know what other properties would get it to work?

#

Wait hang on nvm

#

I got it working

fierce vault
#

I've been working on the same intro for days and I think I'm getting a little tired of it...

#

still need to write and code the end part, but it hopefully shouldn't be too much longer

slow basin
#

hm
ran into an issue with scheduling where my npc doesnt move but then at 1200 walks off intot he wall then turns and walks away into the void FerretThink

#

welp

torpid sparrow
slow basin
#

im not seeing any overt reasons why this should be happening lmao time to reheck my content json

calm nebula
#

Is there smth in the log

slow basin
#

i didnt see anything but let me relaunch and double check

#

nope no errors and the log doesnt seem to have any insight hm

#

whats weird is a simpler schedule i made doesnt have that problem

#

it appears to have only appeared after changing it to season and day

urban patrol
#

you might have a secret warp somewhere

#

no way to know without seeing your json and potentially also map

buoyant moon
#

Is it not possible to use tokens for config name via i18n? In this case I'm looking do something like this and have the display name of the character used rather than hard-coding it in case it's changed by something else:

{
  "config.abigail_sword_enabled.name": "Show [CharacterName Abigail]'s sword"
}

But in the mod config menu it shows that literally (Show [CharacterName Abigail]'s sword) rather than the using the value like I want, e.g. Show Abigail's sword

slow basin
#

could the error be happening because the schedule is only half done (only have one season done so far)

onyx panther
#

is this npc in a custom map?

teal stratus
#

Hey I wanted to ask is this the right channel to ask for help regarding mods?

teal stratus
teal stratus
onyx panther
#

if you ever wanna make a mod tho, definitely come in here :3

brittle pasture
buoyant moon
#

Figured that was the case but wanted to check in case I was missing something, thanks.

calm nebula
#

PR casey?

#

:ducks:

brittle pasture
#

no u

onyx panther
#

no u

calm nebula
#

no u

patent lanceBOT
#

no u

lucid iron
#

no u

half tangle
#

might be nice if someone broke this train, u no...

calm nebula
#

I said it only to get botto to respond

torpid sparrow
#

does it repeat any message that has been sent 3 times

calm nebula
#

Yeah. Actually

fierce vault
#

is there something wrong with this, jump farmer 10/ emote farmer 16/ move farmer 0 0 0/ action AddFriendshipPoints Evelyn 100/ because I'm getting these errors```action AddFriendshipPoints Evelyn 100' which reported errors: required index 2 (Point tile > x) has value 'AddFriendshipPoints', which can't be parsed as an integer.``````ERROR game] Event 'parcy.jack_intro' has command 'move farmer

torpid sparrow
#

do u need action

#

idk

#

i check

fierce vault
#

AddFriendshipPoints <NPC name> <count>

#

uh

#

I think so?

torpid sparrow
#

friendship <npc> <amount>

#

you dont

#

thats the command within an event to add friendship points

#

i mean i guess you could do the traction

fierce vault
#

Oh, I thought I did because I was directed to that page when I saw the action command

#

I thought it was a prerequisite lol

torpid sparrow
#

i mean im sure the traction one works although i dont understand the error

fierce vault
#
action SetNpcVisible {{ModID}}_Jack``` works though
#

you're saying traction, is that separate from action or an error?

torpid sparrow
torpid sparrow
fierce vault
#

Oh, ok

#

idk why this would freak the event out

#

I've have these action adds sitting in it for a while

torpid sparrow
fierce vault
#

just what it says I think. I have a billion of the same errors

#

ERROR game] Event 'parcy.jack_intro' has command 'move farmer

torpid sparrow
#

thats it?

fierce vault
#

I think so action AddFriendshipPoints Evelyn 100' which reported errors: required index 2 (Point tile > x) has value 'AddFriendshipPoints', which can't be parsed as an integer. [ERROR game] Event 'parcy.jack_intro' has command 'move farmer

torpid sparrow
#

wtf

#

we need an adultier modder

royal stump
#

uploading your log file might help because that's missing a lot of text

fierce vault
#

Idk, but I don't think the game likes me moving the farmer now SDVpufferchickcry

#

yeah, I'll grab it

torpid sparrow
#

also why are you moving the farmer nowhere

fierce vault
#

Oh, I'm just turning the farmer's direction through a move command

#

works for npcs

torpid sparrow
#

you can do faceDirection as well

fierce vault
#

Ik, but they both seem to work

torpid sparrow
#

fair enough SDVpuffersquee

fierce vault
#

lemme check if I'm doing that anywhere else to the farmer

#

yeah, I am

#

that shouldn't be it

#

I'll upload my log

#

Ok, sorry that took a while. My log was also so big that there was a small delay in copypasting the whole thing over to smapi, so I accidentally copypasted it multiple times and before I realized what I had done. I had to fix that more than once lol, which definitely made the time it takes to get the log ready even longer https://smapi.io/log/696e1bab3b3241e683b51c25a679e0d9

ocean sailBOT
#

Log Info: SMAPI 4.4.0 with SDV 1.6.15 build 24356 on macOS Unix 15.6.1, with 17 C# mods and 6 content packs.
Suggested fixes: One or more mods are out of date, consider updating them, SMAPI is out of date, consider updating it

fierce vault
#

did a patch summary, but it's likely not needed here

#

smapi did make it more readable though

royal stump
#

parcy.jack_intro seems to have some line break issues or some such, afaict from the log itself
could you upload the file with the whole event? there might be syntax issues or invisible characters sometimes

#

patch export might also help check what the game sees vs what your file says

fierce vault
#

patch export?

#

like in the terminal?

royal stump
#

yeah, it's a CP command, patch export <the target used for the asset>

#

it creates a copy of the target asset in Stardew Valley/patch export

#

your json file is probably enough, but sometimes if you misplace {} or use the wrong key, etc, it'll show missing fields or weird formatting

fierce vault
#

hmm, when you say line breaks are you refering to spaces as well? Because I do have occasional spaces aside from the multilining I'm doing, like this:``` AddFriendshipPoints Evelyn 100/
AddFriendshipPoints Vincent 100/

                action SetNpcVisible {{ModID}}_Jack/
                pause 1000/```
#

it wouldn't have caused any problems until recently though

#

if it is an issue at all

royal stump
#

the errors are treating multiple lines as the same command, like thinking one of your commands is just
.../Come along now vincent, it's time we get you home. action AddFriendshipPoints Evelyn 100/...

fierce vault
#

oh no

royal stump
#

it's hard to speculate why without seeing the json text as-is in the file*

fierce vault
#

was that in the log?

royal stump
#

yep

fierce vault
#

ah, is other dialogue in the log?

deep cypress
#

Why are people telling me on my mod Spacecore is abandoned. I see no indication of that anywhere. Is there something I do not know? I want to reply but be not rude to them. This feels like a spurious claim, but I want to be sure.

royal stump
#

just the error parts

fierce vault
#

oh

royal stump
fierce vault
#

That's old

royal stump
#

spacecore might split into two separate mods later, but I kinda doubt they'd understand that if mentioned SDVpufferthinkblob
(local vs multiplayer feature reasons, iirc) (it's a ways out yet)

fierce vault
#

I fixed that issue, it was just a line I had not formatted at all

deep cypress
#

Thank you Esca. I suspected this is true, however, I have had a lot going on in my life, and been quite busy beyond busy IRL.

fierce vault
#

Ok, well, thanks for the help, but I'm going to have to get back to this issue a bit later now. bye

slow basin
#

i think i have pinpointed my problem possibly

loud sandal
slow basin
#

i think i had the wrong schedule loaded into vs code and was editing it and not the one in the folder

#

oop nope that wasnt it i illusioned myself
I think i surely put in a command wrong tho

deep cypress
#

I told them SpaceCore is the Greatest Mod and Pathos would work on it even if something happened to Casey. Perhaps Greatest Mod was hyperbolic, but I really love it.

buoyant moon
#

If I have two character sprites overlapping, is there a way to consistently render one above the other? I've noticed there's some flickering, context is in an event with a dialogue box open so there's nothing else currently happening.

loud sandal
calm nebula
buoyant moon
loud sandal
#

If it's not that, then like descending into insanity said, it's their tile/Y position relative to each other, so you'd adjust that

tiny zealot
#

-# atra it's so funny when people call you by your display names /lh

calm nebula
#

Just positionOffset one of them tbh

buoyant moon
#

that's how they got into that position in the first place

loud sandal
buoyant moon
#

guess I have to keep them farther apart

#

Was messing around with Leah's 10 heart event just to see how things work and got this, but their hair gets in the way

loud sandal
#

Doesn't look that bad tbh

jaunty shuttle
buoyant moon
#

static it's fine but the problem is sometimes Leah goes behind instead of staying in front

#

uses showFrame for each then positionOffset to push them together

half tangle
#

I don't know if you've coded those as temporary sprites, though

#

(I do C# so I can just tell the draw code to do whatever I want)

loud sandal
#

Yeah me personally I'd make my own custom version of that, so that issue doesn't happen

buoyant moon
#

fair enough

half tangle
#

making your own version gets into compatibility issues that you may or may not want to deal with

loud sandal
#

But it is more work than needed if it is just a small visual layering bug

#

I mean I'd just fake the pose with custom sprites instead of relying on the draw order, so temporary sprite would be the way to go

buoyant moon
#

they're stock from the character spritesheets, so unless it's possible to load those as temporary sprites I dunno if I'd bother any time soon

loud sandal
#

You can load them as temporary sprites, but they'd be a modification of the stock sprites - you'd be doing the spritework yourself using what is there

stark ledge
#

I am attempting to make a mod to amplify forage spawns of everything (Even modded forageables) How would I go about doing that? I do not know how to make, open, or edit a dll. And I understand if no one wants to help, it is perhaps not very easy to do or teach

tiny zealot
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.

buoyant moon
tiny zealot
#

(you would want to start at the C# links, but if you do that and you don't know what you're doing yet i recommend following the "my first mod" tutorial on the wiki there)

half tangle
tiny zealot
#

you should be able to specify any texture you want for a TAS, so you would just put the character's normal sprite sheet i imagine

stark ledge
loud sandal
buoyant moon
#

it's funny dropping in other characters for the farmer in one on one scenes because they're mostly one-sided conversations with an occasional question

stark ledge
loud sandal
fierce vault
#

I closed the game, got rid of some spaces between my multilined commands (which probably wasn't the issue since I have a ton of those) and I got rid of the actions before the add friendship points... which is odd, because they weren't causing a billion errors all the other times I played the event. Idk why move farmer was being quoted as an issue either, unless the game somehow got stuck on the fact that I gave the farmer nothing to do (which I fixed).

This whole thing is weird

#

I definitely left smapi running a while though

#

need to fix some warp errors now

#

oh huh

#

Event 'parcy.jack_intro' has command 'AddFriendshipPoints Evelyn 100' which couldn't be parsed: unknown command 'AddFriendshipPoints'.

#

the friendship points do not appear to be fixed after all

#

Are we sure it doesn't need an action before it?

tiny zealot
#

it does if you spell it that way

fierce vault
#

uh oh, what'd I do?

uncut viper
#

AddFriendshipPoints isn't an event action, so it does need action before it, since Action is an event action
Friendship is an event action though

tiny zealot
#

if you just write friendship Evelyn 100 then it will find the event command called friendship

uncut viper
#

AddFriendshipPoints is a trigger action action

fierce vault
#

oh, that must have been what wem was trying to tell me!

#

I did have an action because it was a trigger action command, but wem said that it didn't need that.

#

Wem must have just meant friendship Evelyn 100

#

Ok

#

I'll do that since I don't even need a trigger action apparently lol

#

finally tried the event tester which let's you speed through certain parts of long events, and I'm glad I did!!

onyx panther
#

hey, is there like a tool where you can put newlines between commands automatically when you give it an event script to make it more readable to figure out what it actually does easier?

uncut viper
#

Can probably just find & replace / with /\n or somethin

onyx panther
#

I mean yeah put that just inserts \n in the file a bunch if you do it on like notepad++

uncut viper
#

That's what a newline is though

stark ocean
#

holaaa am having issues with movie reactions not going through. i have it included in my content.json and even did a blank load in case that was the issue. here is the log of the MovieData.json for him. if anyone has pointers pretty please let me know!! he does not speak before or after the movie, nor do his custom mid-movie reactions appear https://smapi.io/json/content-patcher/34fdc1ed429e4a26b2595d9a49f5ae03

vernal crest
#

There's a VSC extension called Stardew Syntax that lets you convert single line events into multi line ones

urban patrol
#

do you have a patch that Includes this file?

#

also, you can combine these patches into one

stark ocean
stark ocean
urban patrol
#

yep, in your content.json

stark ocean
#

oooh yes i do indeed

urban patrol
#

also a good way to answer "do i need a blank load?" is "does this file exist in the unpacked data?" since data/moviereactions already exists, we don't need to load a blank for it

stark ocean
#

that checks out!!

stark ocean
urban patrol
#

you're editing the same target a bunch of times with no different conditions, so you can just have

    "key1": "data",
    "key2": "data",
}```
etc
#

actually you would put them all under Reactions: [

stark ocean
#

oooooh i see. let me edit a bit brb

urban patrol
#

i think there's very little chance that's your issue, but it still makes it nice to read

#

...actually, could that be your issue? this is so many deeply nested fields idk if it's being overwritten each time

#

help help i need a smart mod author

#

what movie are you testing?

stark ocean
vernal crest
stark ocean
#

HOLLUP IT WORKIN

#

we good gang

urban patrol
#

that WAS the issue omg

stark ocean
#

thank u once again nic you are my savior

urban patrol
#

okay so yeah your only patch that was applying was the last one, because it was being overwritten by the next entry each time

#

aba is right, i should have asked you for a patch export which would have shown exactly which patches had applied

stark ocean
#

i should have thought it too !! at least it's all figured out

slow basin
#

does anyone know if schedule data is caps sensitive

fierce vault
#

anyone know how the spriting for snowing weather works? I'm assuming there is not a screen sized png of the snow falling down because my folder search only brought up dirt when I searched for snow

#

I wanted to use it for an art piece if there was one ๐Ÿ˜…

#

oh I found rain in the tilesheets

#

not snow yet tho

#

they can't be hidden in cursors, they can't... it wouldn't make any sense, especially when rain gets it's own png

#

also assuming that the snow is just a couple of pixels, a bit like the rain

urban patrol
#

p sure this is it

fierce vault
#

that's cursors isn't it SDVpufferwaaah

urban patrol
#

yup

fierce vault
brave fable
#

cursors at 368, 192, moving rightwards over time ๐Ÿ™‚โ€โ†•๏ธ

slow basin
#

i still dont know why my schedule isnt working but im just gonna finish filling it all the way out to make sure its not because it wasnt completely finished

fierce vault
#

Funny because I literally gave up and started checking cursors right before nic showed me the snow

#

well thanks for finding them

#

man, the snow's actually really pretty

#

reminds me of glitter

#

we need a puffer santa sprite

#

random thought

#

Can anyone just submit new puffer sprites for approval?

slow basin
#

im gonna send a copy of log, my content.json and my schedule.json in a minute ๐Ÿ˜”

half tangle
#

it's worth assuming in general that everything is capitalization sensitive

slow basin
#

wait i think he's working ๐Ÿฆ

#

i think your right

wet robin
#

hi good afternoon, its me again. My problem last time was that I didnt have a blank load(which was why my custom npc wasnt moving but she is now), and rn it currently has the attached image. If I were to add an object do I put it there as well? Like "Data/Objects/((ModId}}_Object"?

urban patrol
#

no, if you're editing an asset that already exists in vanilla, you don't need and in fact should not load a blank lest you overwrite everything

wet robin
#

Its a custom objectSDVpufferheart

vernal crest
#

Like Nic says, you're editing Data/Objects to add your custom object and that is an existing vanilla asset so you should not be doing a blank load for it

#

The only things you blank load are NPC schedules and dialogue, and events set in locations that don't already have events in them.

#

(And festivals which are a kind of event anyway)

wet robin
#

ohhh, i see i see

#

thank you again!:D

vernal crest
#

You will want to load the texture for the object, but that needs to be in a different load patch

wet robin
#

im following the tutorial on the wiki

stark ledge
#

I've run into a stump. How do I make a manifest for the Visual Studio mod? Is it the same as content packs? Going through the options, it only has txt etc. and not JSON that I can add (Yes, I read the wiki, no it does not specify, and that is the problem I am facing, it was not clear on how to add one to a C# mod)

fossil osprey
#

Haven't dabbled into C# mods, but iirc it's the same as CP mods

#

You just won't say it's a content pack for CP

urban patrol
#

look into mod manifest builder (i think it's by khloeleclair?) if you want it to be automated

half tangle
#

if it's helpful, here are the settings I use for that in my .csproj:

  <PropertyGroup>
    <Version>0.0.1</Version> NOTE: change this with each update
    <Name>[mod name]</Name>
    <Authors>[your author name]</Authors>
    <Description>[short mod description]</Description>
    <UniqueId>[id]</UniqueId>
    <MinimumApiVersion>4.0.0</MinimumApiVersion>
    <UpdateKeys>Nexus:-1</UpdateKeys> NOTE: change this when you create your mod page
    <BaseManifest>new</BaseManifest> NOTE: this forces the manifest to rebuild fully each time so if you change things the old data doesn't linger
    <MinimumApiVersion_Behavior>UpdateFull</MinimumApiVersion_Behavior>
    <MinimumGameVersion_Behavior>UpdateFull</MinimumGameVersion_Behavior>
    <Dependencies_VersionBehavior>UpdateFull</Dependencies_VersionBehavior>
  </PropertyGroup>
lucid mulch
#

thats a lot more verbose than needed

half tangle
#

(and get rid of the notes before you use that)

#

I copied and modified it from someone... what's overkill in there?

#

(don't remember who)

lucid mulch
#
  <PropertyGroup>
    <Name>SinZational Speedy Solutions</Name>
    <Authors>SinZ</Authors>
    <Version>1.1.0-alpha3</Version>
    <Description>A mod that implements performance optimizations</Description>
    <UniqueId>SinZ.SpeedySolutions</UniqueId>
    <MinimumApiVersion>4.1.3</MinimumApiVersion>
    <UpdateKeys>Nexus:37301</UpdateKeys>
  </PropertyGroup>
half tangle
#

the dependencies are definitely only if you need them and arguably the minimum game version might get you into trouble with updates, but I really appreciate what BaseManifest does

lucid mulch
#

minimumgameversion is only needed if the smapi version range doesn't imply it

half tangle
#

oh, true

#

meh, it's a set it and forget it thing for me

stark ledge
#

I appreciate the help SDVpufferheart

#

Also, what is a .csproj...? I would assume it is the project itself, but I don't remember it being mentioned, just .cs, and I am about to reread it

fossil osprey
#

It's a Visual studio thing

half tangle
#

when you create a new project in VS or VSCode, it gets created as a way of telling the compiler how to compile your code

#

you can edit it as much or as little as you like

#

it's not something to worry about much if you're newer to this, but it's useful to be aware of

stark ledge
half tangle
#

that should be helpful for getting started, but as you run into questions feel free to ask folks here

stark ledge
#

I read that, that's why I am here

#

It says to make a manifest, doesn't tell me excatly how or exactly where

fossil osprey
#

Simply put the .csproj at the root of your project

#

Same for the manifest

half tangle
#

to that question, you can just copy and paste it (or SinZ's version) into your .csproj file

#

it's all just text files with careful formatting

stark ledge
#

Maybe the reason why I am so confused is because I see nothing that says explicitly ".csproj" anywhere

fossil osprey
#

If you need help understanding how the file structure is organized, the best way would be to download a C# mod and looking inside the files SDVpufferheart

#

(although it would be compiled, so no idea how useful it would actually be...)

half tangle
#

!fileextensions

ocean sailBOT
#
Hidden File Extensions

Windows and Mac hide most file extensions by default. If you are creating or updating mods, it's helpful to show file extensions so that you can be sure all mod files are named correctly.

To show file extensions on your computer:

On Windows 10, open File Explorer, click on the View tab, then check the File Name Extensions box.

On Windows 11, open File Explorer and click on View > Show > File Name Extensions.

On Mac, open Finder, and in the menu bar, click on Finder > Settings (or Preferences) > Advanced, then check the Show all filename extensions box.

half tangle
#

that might be the issue

#

I also use VSCode so I have no idea what the interface of VS looks like, so I can't really give specifics there

#

(and I have to be going now, but others can help and also there's no rush)

stark ledge
#

I finally figured it out, thank you, I was looking at it from the application, not file explorer so it didn't tell me

old edge
#

have this idea to replace the sprite in the intro desk scene for the farmer sprite but my code just crashed the game

weary comet
#

hey all, I'm curently trying to use Sound Tweaker to mute the sound of the kegs. I already tried another mod that supposedly does that but it didn't work. Same went for using ST and a custom content patcher mod that talks to ST to mute it. I followed the very vague instructions in the description, but haven't gotten it to work. This is my content.json:
{ "Format": "1.23.0", "Changes": [ { "Action": "EditData", "Target": "aedenthorn.SoundTweaker/dictionary", "Entries": { "bubbles": { } } } ] }
According to the description this should be all that's needed to mute the sound but it hasn't worked. This is my first time making a "mod" and don't really dabble in programming often so I'm not entirely sure what I'm doing lol.

I also tried to use the sound indexes to call both the sounds that play, but they have the same name so I'm not sure if its even necessary or if I'm using them correctly.
https://www.nexusmods.com/stardewvalley/mods/14767 heres the Sound Tweaker nexus page

Nexus Mods :: Stardew Valley

Provides advanced customization of the game's sound cues. Lets you combine or replace tracks with other cues, indexed sound tracks, or custom audio files; silence sound cues; change pitch and volume o

#

the sound the kegs make is quite frankly awful (no offence ConcernedApe all of the other sounds and songs are genuinely a masterpiece). For whatever reason the sound just makes me feel sick, and grossed out, and would rather not play muted.

slow basin
#

ok time to see if i can figure out the events now wormnod1

#

wow i sure did something

opaque field
#

ah yes, the beloathed errortexture XD

slow basin
#

ok i fixed that but now no matter that i do even with no seeming errors in smapi farmer walks off to one direction forever XD

#

im gonna grab the json

#

where he goin

#

hm ig ill work on other things until i figure this out FerretThink
I dont wanna finish out all my events if i messed something up and will have to fix it XD

#

i think ill work on the storyline for Rain next wormnod1

opaque field
#

which event is it? ๐Ÿ‘€

slow basin
#

This is the two heart event for my custom npc kandi

opaque field
#

I think it's your last move command( move farmer 1 1 1) bc it has both an x and y axis listed instead of just one plus the facing direction

slow basin
#

Ooh

#

Lemme try to fix it :3

#

Tyy

opaque field
#

good luck! Kandi is so cute btw โค๏ธ

slow basin
#

Tyyy

#

hmm that appears to have partially fixed the issue

opaque field
#

partially - progress - is the farmer still just like, walking off the edge of the world?

slow basin
#

yea

fossil osprey
#

Isn't there an advancedMove command that's usually recommended to use instead of move?

slow basin
#

oh is there?

#

lemme look it up in the events modding data

opaque field
#

the only thing I'm seeing in the json is there's a space before the initial viewport setting and then Kandi has a 2 2 2 movement command and the e in end is capitilized that could potentially cause anyting weird (I could also be missing something)

brave fable
#
/// <remarks>Note for mods: this method deliberately doesn't allow custom types that aren't part of the game code because that will cause crashes in multiplayer or when saving the game. If you patch this logic to allow a custom class type, you should be aware of the consequences and avoid permanently breaking players' saves when your mod is removed.</remarks>
protected Tool CreateToolInstance(ParsedItemData itemData, ToolData toolData)

the developers. they quietly turn my custom tools into error items. they force me to make more item data definitions

slow basin
#

ok im gonna try another thing to try and fix it

#

didnt work ๐Ÿ˜”

opaque field
#

hmmmm what about changing Farmer Emote 8 to emote farmer 8? (throwing whatever I can find at the wall) - unfortunately I have been up for almost 2 days and must now go crash but I hope you get the event de-bugged โค๏ธ

slow basin
#

ty sm!!

brave fable
#

with every passing second i remember more of why my last tool was just an object pretending to be a tool

cobalt lance
# slow basin ty sm!!

have you used the proceedPosition command at all? try putting that in a few places inbetween

slow basin
#

oh lemme look up how thats used wormnod1

cobalt lance
#

I had a similar issue before and this fixed it for me. I had no idea why my NPCs kept moving beyond what I told them to... weird but yk

slow basin
#

its worth a try!

#

aw ok that didnt work

cobalt lance
#

Can I see what you tried?

slow basin
#

sure one sec let me redo it so that i can reconfirm before sending you a log

cobalt lance
#

I'm not sure if this would be enough to change anything, but it seems your first proceedPosition doesn't do anything because Kandie isn't moving yet when you use it. And then there's one spot where you forgot to use a /

slow basin
#

oops!

cobalt lance
#

I DM'd you a version I think might work? but the pacing might be off depending on if you wanted the characters to be walking and talking or something

slow basin
cobalt lance
#

if it doesn't work, I wish you luck in experimenting o7

slow basin
#

๐Ÿ˜”

#

he do be keep walkin

#

im gonna try to narrow down the culprit to the continued walking

#

ok ive narrows it down to the command

#

move farmer 1 5 0

#

will now be messing around with it

#

hm FerretThink

#

characters seem to just

#

not stop moving ever

#

weird

brave fable
#

if i were you i'd split that into move farmer 1 0 0/move farmer 0 5 0

slow basin
#

oh

#

ty!

#

nopw to remap every movement

brave fable
#

i struggle a lot with farmer animations

slow basin
#

its 5 am im going to go to sleep and fix my event movement in the morning

#

night stardew valley

orchid glade
torpid sparrow
#

hmm setting when conditions on map loads might cause problems right

#

maybe i'll just make two locations instead of one switching the warp

#

or i could patch the entire map lol

#

no its fine i'll make another location

wet robin
#

hi!good evening. i just want to ask since im making a new item in stardew and its drinkable, what are the IDs for the buffs? do i just put the name outright or?

lucid iron
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!

lucid iron
#

Look at Data/Buffs

torpid sparrow
#

GUH it works until it doesnโ€™t

wet robin
#

oki okie, thank youuu

torpid sparrow
#

I think I might just change the map warp and make a second location

#

I feel like thereโ€™s less to mess up

#

And everything is loaded always

lucid iron
#

What is the goal here

torpid sparrow
#

Switch interior map after reading mail

#

And what I did was conditionally load two maps

vernal crest
#

Like Chu said you need the first one to be unconditional

torpid sparrow
#

Hmm ok I was worried there was going to be a conflict

vernal crest
#

Make the conditional one higher priority and it will take over when the conditions are met

torpid sparrow
#

Ah ok yes

vernal crest
#

Neither can be exclusive priority

torpid sparrow
#

Will do that today :3

#

Ty both

#

Oh hm yeah bc the previous version didnโ€™t have a condition and then i put one on it

#

One day Iโ€™ll catch everythingโ€ฆ.one day

fast knoll
#

I think i figured out the problem with my Discard Mail mod..
might be able to make the contest deadline afterall ๐Ÿ˜ฎ

inland rain
cobalt lance
#

Hey, when I'm making SVE versions of events that include the wizard- is there a different id I should use instead of Wizard? I tried Magnus but that seemed to break things? Anyone have any insight?

torpid sparrow
vernal crest
cobalt lance
#

ty o7

cobalt lance
gaunt orbit
#

so I tried installing that version, but it still shows as being too new

gaunt orbit
#

okay something's fucky. I opened up the shader file in a hex editor and checked it against the decompiled monogame code and the the version number does match

#

ah, I see, the file isn't being copied correctly

crude rose
#

Hello! I'm new to modding and I'm currently trying to make my own custom NPC. I read the wiki tutorials on that and tried my best but i have a problem or few (Please ignore the fact that the NPC in question is a white block of nothing, i wanted to work on placeholder to ensure the code is working). I read that the npc isn't "functional" without their gift tastes, so i wrote very basic schedule (literally them standing on the bus stop) and dialogue to ensure that the gift tastes work. Well they don't. And after adding them the portraits don't work either (they did). There is no mouse icon with a chat icon when hovering over the "npc" and after gifting anything, there is a popup saying "You've already gifted 2 gifts this week" and then the smapi red text happens. I did some sanity check and checked every file i have in the npc folder but i'm out of ideas. Sorry if the answer is obvious and right there in the code SDVpufferwaaah SDVemoteheart

torpid sparrow
#

where's ur actual npc code?

#

i dont see the patch where you create them

brittle pasture
torpid sparrow
vernal crest
torpid sparrow
#

that works?

crude rose
torpid sparrow
crude rose
#

I think it refers to the time the npc will arive at the point

vernal crest
# torpid sparrow what is the a?

Arrival. Instead of leaving their previous schedule location at 2400 to go to the new one, they leave their previous location at whatever time is needed to get to their new one by that time

torpid sparrow
#

oh interesting

crude rose
#

i did it to just ensure the white block doesn't go anywhere lol

hallow prism
#

you need a slash between text and number

#

hmm

vernal crest
#

It can cause real problems if schedule points are too close together because an NPC can end up with their leaving time being the same as an earlier schedule point, but that's not a risk here

hallow prism
#

discord didn't scroll fully

crude rose
hallow prism
#

sure, late to the party but the intent was here all the same ๐Ÿ˜„

crude rose
#

I always feel silly after posting here because it's always a matter of a slash or coma SDVpufferwaaah But thank u all!

vernal crest
torpid sparrow
#

oh yipes

vernal crest
buoyant moon
#

That kind of thing is why I'm aiming for better validation tools on my end

vernal crest
# torpid sparrow what happens in that case

Worst thing with it is that you can have exhaustively tested it and still get a bug report because a player has a mod you didn't test with that made the NPC's journey take longer so the leave time shifts and voila, broken

buoyant moon
#

If I'm gonna write a few hundred events I want to have to think about syntax as little as possible

fossil osprey
#

Hundreds??? Wow

#

That's a whole lot, good luck

torpid sparrow
#

Few hundred??

buoyant moon
#

Long-term goal that can easily be divided into dozens of smaller chunks, fortunately

#

Also gonna be a fun creative writing challenge

torpid sparrow
#

What is the actual mod?

buoyant moon
#

The idea is rival hearts for every pair of romanceable villagers

#

..aside from the siblings

torpid sparrow
#

Whew

#

Good luck

buoyant moon
#

But it can be divided into parts like "here's Abigail x Leah" as its own release

tiny zealot
#

i'm getting dizzy even contemplating such a project. good luck is right (sincere)

buoyant moon
#

Yeah, I don't have any confidence in getting it done any time soon but it's a thing I could chip away at over time

tiny zealot
#

alternate option: consider teaming up with whoever was thinking about doing rival hearts mad libs (was it irocendar?) and cut down on your workload that way

gaunt orbit
#

god I wish the msbuild docs weren't ass

#

how do I apply a command to all files with a specific extension on compile? apparently nobody knows!

buoyant moon
#

I saw the mix and matchmaker idea in #1263202101803352106 but don't mind that being its own thing, think we might have different approaches in mind

#

Even one pair a week would take more than a year just to get all the ones not covered by other mods like Life Cycle and Star Crossed SDVpuffersweats

torpid sparrow
#

gonna add custom mail paper i need to 1. load the asset from texture 2. call that asset in the mail i think

#

oh god i need two rows

buoyant moon
#

But yeah, short term goal is to get one pair done for modfest then get my workflow better figured out to make the rest easier (and easily support things like i18n and compatibility with other mods)

torpid sparrow
#

oh now im confused

#

what does " and one with 24x24 pixel button backgrounds shown behind attached item" mean

#

im confused about this

#

i have the mail paper done, not sure what the 24x24 means

tiny zealot
#

there's one row of backgrounds, then one row of item buttons (the 24x24 bit), then more rows of backgrounds as needed

torpid sparrow
#

oh i see

#

i think

#

what would the index numbers be?

tiny zealot
#

index into list of thing, as always for textures. 0 is first, then 1, 2, etc.

torpid sparrow
#

so if i had one 320x180 background, that entire thing would be 0, and then 3 tiny mail icons would be 1, 2, and 3?

tiny zealot
#

pretty sure the index is shared, so [letterbg <asset> 0] uses the first background and also the first button texture

torpid sparrow
#

ohh i see

#

ty

#

guh i need to draw that little button texture

gaunt orbit
#

uuuugh finally

#

now is there a way to get smapi to ignore my .fx and .pdn files...

#

hmmmm, I can see that it has properties for ignoring files, but I can't seem to get them to work

#

oh it's regex, that makes sense

lucid iron
#

If u just dont put it in assets it wont be deployed right

hard fern
#

Hmm ok weird question but if i wanted 2 NPCs in one, what would be the best way to go about that ... Could i "clone" the npc and just hide one from the player occasionally?

gaunt orbit
hard fern
#

Uhh ok maybe it only made sense in my head

vernal crest
#

Are they like Dr Jekyll and Mr Hyde?

blissful panther
#

In that case, a bunch of conditional edits might be easier! Unless they need separate friendship and such?

gentle rose
#

it depends what you mean and exactly how you want it implemented - if you want them both to have separate friendships, separate npcs are probably betterโ€” dammit dh

hard fern
#

๐Ÿค” yeah, theyd need separate friendship

lucid iron
#

You can just make 2 npc then, and hide one of them in NPC waiting room

tiny zealot
lucid iron
#

You do need to watch out for stuff that pick random npc though

hard fern
#

Ok so my initial thought was on track then...

lucid iron
#

Like u should probably exclude them from desert fest schedule

#

If u don't want them to even appear together

hard fern
#

I can exclude from stuff like fetch quests cand winter star and etc

lucid iron
#

-# And exclude them from merchant

gentle rose
torpid sparrow
#

i set load priority to my original map to be low and my renovated map to high and it seemed to work. is that right?

#

i feel like it is but i dont wanna upload without some assurance SDVpuffersquee

vernal crest
#

Yup once the condition for the renovated map is met that load patch will take over next time the asset is reloaded by CP

torpid sparrow
#

yay thank u

weary comet
gentle rose
#

when I made the generator

#

I also counted how many possible overall combinations of pairs there could be

#

iirc it's 64 pairs

#

and roughly 9000 combos?

#

yup, 64 pairings and 8,610 possible combinations of pairings in vanilla

#

before adding Clint or Sandy SDVkrobusgiggle

hard fern
#

Clandy

opaque field
#

That is, so many events haha - good luck though that sounds really cool!

#

I think I'm at... 77 events now for this one mod I have? Just added some playerdeath events. XD

jaunty shuttle
#

Omg cara SDVpuffergasp

opaque field
#

-# don't look at me in that tone of voice guys lmao I know I have a problem.

#

man I miss having Nitro so that I could use my 'called out' emoji XD

slow basin
#

even though im working on three mods in rotation I dont think my plan is gonna be to release them all at once porobably with a week or more in between wormnod1

#

i just realized this as i was getting ready to work on my kandi mod

#

I dont gotta try to get them all done quickly LMAO

#

how do you have a character do an animation during an event hmm

#

oh i found it i think

gentle rose
#

(I'm really sorry but I'm not sure what this means?)

opaque field
#

I'm pretty sure it's the animate command and then you have actor flip loop frame duration and frames within that

buoyant moon
gentle rose
#

I have a calculator and a random generator that includes both a couples only mode and a polys allowed mode SDVkrobusgiggle

buoyant moon
#

yeah, poly stuff is an extra aspect I'm ignoring for now

gentle rose
#

(for the entire town. so you get a list of all the couples basically)

fossil osprey
#

If you ever need help actually writing the events/storylines, don't hesitate!

orchid glade
buoyant moon
mortal blade
blissful panther
hard fern
#

I still can't believe nobody has made seb/alex rival hearts

mortal blade
gentle rose
mortal blade
#

It literally has no meaning. Seriously. No innuendo!

buoyant moon
#

That's part of why one of my earlier questions was about all lines of dialogue a villager has (including events), so I'd be able to reference if Maru has ever talked about/to Alex before and the like

orchid glade
#

I don't think NPCs talk to each other.. at least not in dialogue, it would only be in events I think?

opaque field
#

I don't think Maru has talked about Alex - but some of them do have lines about each other. if you have the unpacked game files its under character/dialogue/npcnamehere

buoyant moon
#

that's the easy part, it's the event scripts that I want in more of a dialogue format by character in addition

opaque field
jaunty shuttle
#

Ik alex has lines about seb calling him weird

#

That would be an interesting pairing lol

buoyant moon
#

maybe my next tool should be an event script parser SDVpufferthink

opaque field
#

Maru has a line about her and Penny doing a book club that's just the two of them over the summer - uhhh - mind goes completely blank

slow basin
#

me watching the same event intensley for errors: SBVSusEyes

opaque field
#

me: staring at an unfinished event script while I fight the urge to draw instead

slow basin
#

ive done 4 events
2,4,6,and 8 now im just checking them before finishing out the other 4

#

the other 4 becing 10 heart event aka date
and then the other 3 being little events you can stumble onto after the 8 heart for ambience

opaque field
hard fern
slow basin
#

yeee, there are 4 "Birthday party" events

1 for abigail which you HAVE to see
then 1 for vincent, george, and jas :3

opaque field
merry river
#

I'm back with the quest item I wanted to spawn in the Skull Cavern, but looking at Spacecore's documentation, I am not sure if it's even possible? At the very least, I don't know how I am supposed to tell the game to spawn my item wherever in the dungeon

hard fern
merry river
# merry river (It's a trigger action)

and this is what my patch looks like

                {
                    "ID": "{{ModID}}_Trigger_SpatialGemSpawn",
                    "Trigger": "DayEnding",
                    "Condition": "PLAYER_HAS_MAIL Current {{ModID}}_GemQuestFlag Received, SYNCED_RANDOM day SpatialGemRandomKey 0.1",
                    "MarkActionApplied": false,
                    "Actions": [
                        "spacechase0.SpaceCore_TriggerSpawnGroup {{ModID}}_SpawnGroup_SpatialGem 120 16,5,2,2" //120 is the only skull cavern map but i can't put in any coordinates as it's supposed to randomly spawn
                    ]
                },```
calm nebula
#

Make the trigger the one where the player changes maps

#

And use the gsq for location is skull carvern

#

Skull cave does not exist until the player steps in

buoyant moon
merry river
slow basin
#

gets another idea for later expansion I want to do

urban patrol
#

since it takes a location not a map

uncut viper
#

(Does Skull Cavern not use the Underground## naming like the usual mines?)

merry river
#

I wish I knew, I can't find any documentation on adding a spawn to it SDVpufferwaaah

slow basin
urban patrol
#

what does LA show the location name as being when youโ€™re inside

#

i just said SkullCavern assuming

calm nebula
#

(It does)

#

Try Here maybe

unreal falcon
#

Can someone help me? I'm making a content patcher mod, but it keep saying that the dll doesn't exist, i don't even know what it is
Sorry for the bad english, i don't know it very well

terse stratus
#

Made a mod who create a new locations to test things ! What features do you think i can add ?

merry river
#

I got this SMAPI warning now: [Content Patcher] Ignored NPC Pei Ming > Include space core spawnables > data/spawnables/spawnables.json > Spatial Gem spawn group: must set the Action field.

I guess it's because I didn't set any coordinates but how am I supposed to add coordinates to that

terse stratus
urban patrol
half tangle
orchid glade
gaunt orbit
#

might I suggest a traditional checker grid?

merry river
# urban patrol whatโ€™s your traction look like
            "LogName": "Spatial Gem spawn trigger action",
            "Action": "EditData",
            "Target": "Data/TriggerActions",
            "Entries": {
            "{{ModID}}_Trigger_SpatialGemSpawn":
                {
                    "ID": "{{ModID}}_Trigger_SpatialGemSpawn",
                    "Trigger": "LocationChanged",
                    "Condition": "LOCATION_IS_SKULL_CAVE Here, PLAYER_HAS_MAIL Current {{ModID}}_GemQuestFlag Received, SYNCED_RANDOM day SpatialGemRandomKey 0.1",
                    "MarkActionApplied": false,
                    "Actions": [
                        "spacechase0.SpaceCore_TriggerSpawnGroup {{ModID}}_SpawnGroup_SpatialGem Here" //I tried using "Target" and "SkullCavern" as well
                    ]
                },
            }
 }```
terse stratus
orchid glade
gaunt orbit
terse stratus
#

I'm going to merge this mod also with a mod to launch directly the game into a stardew valley test save file -> directly into this location (but i dont know how to avoid people manually creating .bat files in main stardewfolder + adding a save file in their folders in order to use the mod)

urban patrol
uncut viper
#

Where are .bat files even coming into play

orchid glade
lucid iron
#

All in 1 C# mod

terse stratus
uncut viper
#

I don't know why someone would ever do that

#

Or how a bat file would accomplish it

merry river
#

I'm still getting the same error even after adding some arbitrary coordinates

#

or well, warning, not error

urban patrol
#

hmmmm log pls

orchid glade
lucid iron
#

I do actually launch smapi from command line with a small shell script for mod group reasons SMCPufferjail

terse stratus
lucid iron
#

But that's like for my own purposes

terse stratus
#

and if people want to use my mod they need this here

uncut viper
#

I don't know what I'm looking at

terse stratus
#

tools in vortex app

lucid iron
#

I think you'd have to explain why you need to do all this in a .bat instead of just handling things in ur mod's GameLaunched event handler for me to trust it

uncut viper
#

A mod should not need external files to make a save, though

terse stratus
#

Yeah i'll try things to fix this

uncut viper
#

People especially will not at all want to use vortex just for this. The Stardew modding community is not big on vortex, fair warning

unreal falcon
daring skiff
ocean sailBOT
#

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

merry river
#

I don't really see anything happening here

gaunt orbit
#

huh, weird

unreal falcon
#

Thank you

lucid iron
#

I think mod managers are usually kind of annoying for mod dev anyways

uncut viper
lucid iron
#

Since it's in conflict with me just building stuff

gaunt orbit
#

using BitIncrement still creates depth fighting, even though it should be a different value

lucid iron
uncut viper
#

Is bit increment the thing you use to do like ++ for floats

unreal falcon
lucid iron
#

The specific shell script thingy I have sets the env var that makes smapi use same console and also fiddles the symlink that changes saves from the actual playthrough dir to the test mods dir

uncut viper
urban patrol
calm nebula
orchid glade
#

I want to find a better mod group solution because I'm not enjoying Stardrop. But what I also really want is the ability to link a save file to a mod group - is that something anyone is doing?

lucid iron
#

Im sure I could write all that in 1 line with ;

calm nebula
#

Wren, I just popped in, smth about z fighting?

uncut viper
calm nebula
#

I think of ++ as add 1 SDVpufferthinkblob

uncut viper
#

Don't care if that's not technically correct on a code compilation level

calm nebula
#

But I'm not a Real Programmer

half tangle
unreal falcon
#

Okay

calm nebula
#

Apps or smth

merry river
urban patrol
unreal falcon
#

Can someone help me? the item sprites are not showing, i don't know what i am doing wrong

urban patrol
#

the error youโ€™re getting is thrown by CP not spacecore so

lucid iron
merry river
urban patrol
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.

merry river
#

I wonder if there's mods that add item spawns to the skull cave so I could take a look at the code but I don't remember any from the top of my head

calm nebula
#

Since it's $APPSsmth in windows

urban patrol
opaque field
#

most I've done is made a lil script to launch waterfox haha but I do kinda want to try this one script someone shared with me for swapping mod folders for Stardew

uncut viper
merry river
merry river
gaunt orbit
#

it's not a very impessive shader yet but It Worksโ„ข which itself has been a lot of work

uncut viper
terse stratus
gaunt orbit
# uncut viper Hell yeah!!!!!

by the way, do you know of a VS extension that adds .fx syntax support, or did you just wing it like I've been doing

uncut viper
#

I don't use VS so no

#

The one I found for Rider kinda works if all I care about is syntax highlighting (I don't, I was hoping for auto fill stuff but alas) so I've also mostly been winging it

#

And by fx support I mean I found an hlsl one

#

And just made Rider think .fx files were hlsl files

gaunt orbit
#

vs has some hlsl ones but they only work for .hlsl files

#

maybe I can find a way to extend that to .fx

uncut viper
#

Not even if you tell vs to associate files ending with fx with hlsl?

gaunt orbit
#

I can try?

uncut viper
#

Tbh

#

Do they even need to be .fx

#

You're compiling them into a separate file anyway

#

Surely it doesn't care about the literal file extension... Right? Just the bytes?

gaunt orbit
#

mgfxc doesn't care, no

#

I just wanted to stck with convention

terse stratus
gaunt orbit
#

very nice!

onyx panther
#

... pickled fish mod

gaunt orbit
uncut viper
#

mood. it aint any better with rider

gaunt orbit
#

if nothing else this project has taught me a lot about how msbuild actually works

uncut viper
#

did you set up automatic shader compilation and copying whenever you build

gaunt orbit
#

yeah

#

well not when I build, just when the files change, and only in debug mode

uncut viper
#

I thought about it but then thought "the time itd take me to figure out how to set that up will last longer than the time i spend recompiling and copying shaders manually"
I was of course wrong but I've still not gone back and done it yet bc I've not done shaders in a bit now

gaunt orbit
#

and it does it for all of my assets, not just shaders

uncut viper
#

Have you figured out a good way of hot reloading shaders

gaunt orbit
#

yeah, I use a filewatcher to detect changes, compile, and then copy

uncut viper
#

SDVpufferthinkblob how are you actually reloading the files though? because when I tried it didn't seem like it did anything, even if I repeated the code that loads the mgfx files into my Effects

gaunt orbit
uncut viper
#

(i did make sure I was moving them into my compiled mod folder that was being used by smapi as well)

#

strange... wonder why I was having issues then

#

Earlier on I was also having issues when trying to hot reload with parameters being already in use or something that I also couldn't figure out but it mysteriously went away at some point

gaunt orbit
#

I also set up the build so that in release mode, the effects files are embedded in the assembly, so I can avoid using File and getting warning-flagged by SMAPI. Later I want to try PRing effect support into SMAPI itself, but for now I'm focusing on my modjam mod

#

also the hot reload thing will eventually be part of my mod tool package, but again, focusing on the modjam mod for now

crude plank
#

@nimble marlin Hi! are you the person currently maintaining Season Affixes? if so i'm Scarlett from the bug report about Overgrowth and i thought it would be much easier to communicate over discord since i missed your last reply on nexus, please ping me here or DM me

near imp
#

Can we change how recipes are ordered through Content Patcher? I added two alternate fiber seed recipes, but they show up at the bottom of the list like most custom recipes seem to do. I tried MoveEntries but SMAPI says CraftingRecipes isnt an ordered list. Am I out of luck?

lucid iron
#

Yeah u can't order dictionaries

near imp
#

Thanks Chu SDVpufferthumbsup (is there really anything you -dont- know SDVkrobusgiggle )

crude plank
#

how to not hotmod clearly

uncut viper
#

Not being able to order dictionaries is the reason I made Special Power Utilities initially

#

So there's always the option of completely redoing the menu from scratch ๐Ÿ˜Œ

brittle pasture
lucid iron
#

well there is that one cursed mod that just loaded xnb into crafting

#

yea selph ninja me

near imp
#

even i know we're not supposed to do that stuff any more SDVpuffersquee

median gull
#

hihi, idk if this is the place i'm supposed to ask or not but i really want to make a dark, desaturated recolor mod similar to kittentymeโ€™s gloomy recolor, or even remake their mod since they gave permission. but i have almost no mod knowledge. i know i need to edit the xnd files. but how do i make a recolor mod json and also have it compatible with other mods? like simple foliage for example.

brittle pasture
#

honestly we should petition 1.7 to migrate to some ordered dictionary impls; way too many part of the game uses dicts for things that are orderable (only half /s)

brittle pasture
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.

urban patrol
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!

brittle pasture
#

look at the content patcher tutorial, and also look at how existing recolors do it

uncut viper
#

The only reason I can think of for wanting to reorder recipes is aesthetics

brittle pasture
#

deconstructor

uncut viper
#

whats your point about the deconstructor

median gull
brittle pasture
#

it picks the first recipe that makes the input for the purpose of determining the output and ok I'm just pulling me own leg

lucid iron
#

i actually think when recipes become a data model (load bearing when here) it should become a list

brittle pasture
#

also the statue that makes NPC birthday gifts

near imp
lucid iron
#

so that ppl can make multiple recipes for same item if they want

brittle pasture
#

the ordering of the location list also has some implications for pathfinding (which again only matters in extremely niche cases mainly involving loops)

near imp
# median gull okay thank you! :3

no problem ๐Ÿ™‚ right now youll need to read the wikis for making content patcher mods, id start with the links the people above provided. later on, when you are looking to add compatibility for other mods, there are conditions that can check whether a user has a certain other mod installed (like Simple Foliage), and your mod can be set up (with things like "When") to use an alternate version for those users. But keep in mind that in order to recolor others mods assets (meaning that a version of them would be included in your mod) you need to check the permissions for that mod, if they allow such use

brittle pasture
#

the biggest offender though is crab pot data, but tbh that one's down for a total overhaul

near imp
brittle pasture
#

ah yeah I saw that one the other day, haven't got time to investigate yet (should be quick though) SDVpufferheart

orchid glade
#

Okay I need help interpreting a json validator error: Changes[6].Fields.BabyTexture Invalid type. Expected Object but got String.

This is the relevant block:

        "Action":"EditData",
        "Target":"Data/FarmAnimals",
        "TargetField":["Duck"],
        "Fields":{
            "BabyTexture":"Animals\\{{ModId}}_BabyDuck"
        },
        "When":{"Joja Ducks":true}
    },```
uncut viper
#

You need Entries, not Fields

#

Since you've already used TargetField to go into just Duck specifically

#

You can alternatively remove the TargetField line and continue using Fields

#

Otherwise with the way Fields works, it is looking for the Fields inside BabyTexture. which has no fields, since it is not an object but just a sttring texture name

orchid glade
#

Cool okay... I think I asked this yesterday any was told it was fine ๐Ÿ˜ฎ but I can do either targetfield+entries or just fields ๐Ÿ™‚

uncut viper
#

TargetField and Fields together are completely fine

#

But BabyTexture has no fields inside of it

#

You could do TargetField into Duck, and then use Fields to change just the X coordinate inside the EmoteOffset object if you wanted

#

as an example

orchid glade
#

I thought it meant BabyTexture was the field !

uncut viper
#

BabyTexture is a field inside the Duck entry, yes

orchid glade
#

Like, that was my intent, but complete misunderstanding

uncut viper
#

But using Fields in content patcher is CP asking you "what entry should i look at, and what fields inside that entry should i change?"

orchid glade
#

Oh cool

uncut viper
#

But you already made sure Duck was the entry you were looking at with TargetField so it was redundant and thus causing errors

orchid glade
#

Okay I was just gonna type what I thought I should change it to but I got stuck so I'm going back to the CP author guide ๐Ÿ˜‰

uncut viper
#

You can just change literally just the word Fields into Entries instead

#

Everything else can remain the same

orchid glade
#

Oh yes... I want to see how it's formatted the other way too.

#

I feel I have a better understanding of fields/entried now, thank you ๐Ÿ™‚

rancid vortex
#

Can you make an event with Junimos moving?

#

I'm currently trying but it keeps glitching and the junimos never stop running

rancid vortex
#

nvm someone had the same question as me exactly 1 year ago lmao

#

Can you have multiple junimos in a scene at once?

lucid iron
#

i think the best way is to make them temporary animate sprites

subtle condor
#

I've noticed that I have been making my C# mod with the language version 12.0, but when I created a new project, it defaults to 10.0, so I have been using the "wrong" language model. My mod has been working fine, do I have to worry about some coding issues or is it generally not a problem with programming languages to use a higher version?

uncut viper
#

As long as your csproj says its targeting 6.0 you're fine

barren tapir
#

How would you add the monster musk buff to an object?

lucid iron
#

so theres 2 versions at play for sdv modding

  • <TargetFramework>net6.0</TargetFramework> u die if u go above 6
  • <LangVersion>default</LangVersion> u can do whatever u want
uncut viper
#

It'll compile down any newer features to 6.0 compatible versions if it needs to, and give you errors about the ones it cant

subtle condor
#

The net version is for sure on Net 6.0

lucid iron
#

i use default which is the latest major version of C# (15.0 apparently)

brittle pasture
lucid iron
#

but smapi/game is only for .net 6 rn

barren tapir
subtle condor
#

Ty guys SDVpufferheart

brittle pasture
#

24
it's in Data/Buffs

barren tapir
#

Thanks!

lucid iron
#

buffalo mod when selph

barren tapir
mortal blade
#

"Everybody's got a water buffalo!"

brittle pasture
#

in the unpack

median gull
#

another question, when i'm editing the pngs for buildings do i need to apply the same effects to the paint masks?

brittle pasture
barren tapir
brittle pasture
#

lucklevel is luck increase yes

barren tapir
#

Great! Thanks!

torpid sparrow
#

For some reason Tilly walks to the CC door (inside), pauses, and then walks off the grid

onyx panther
#

who's Tilly?

torpid sparrow
#

anyone know why that could be?

#

my npc

onyx panther
#

what's her schedule look like?

torpid sparrow
#

her first command is going to the cc and it breaks

final arch
#

are you missing a facing direction in the first command?

torpid sparrow
#

that's it thank u

onyx panther
#

also that first command has coordinates in the void...

torpid sparrow
#

oh wait its because i didnt space between 5 and 0

onyx panther
#

lmao

torpid sparrow
#

hands going off

onyx panther
#

yeah that'd do it

torpid sparrow
#

is this enough of a bug to update...meh

onyx panther
#

so Tilly goes to the like little kitchen area then?

torpid sparrow
#

yes

#

its working now

onyx panther
#

cool

onyx panther
torpid sparrow
#

its only a day

#

and idk how many people have finished the cc

#

only lunette has reported it

onyx panther
#

gotcha

torpid sparrow
#

thanks guys

onyx panther
#

yeah, I'd say go squash a few more bugs if any and add whatever else you wanna add, then update lol

torpid sparrow
#

my brain and my hands run away from me

onyx panther
onyx panther
torpid sparrow
#

yeah theres 2 other things i fixed but they're also suuuper minor

onyx panther
#

jumpAbigail is not a real command

torpid sparrow
#

and i just updated today

onyx panther
#

maybe jumpAbigail should be a real command

#

one made just for me because I love Abby so much

#

specifcally makes her do a happy little jump because she's just so cute

torpid sparrow
#

jump Abigail and jumpAbigail

#

we need both

#

1 isn't enough

onyx panther
#

exactly