#making-mods-general

1 messages · Page 465 of 1

uncut viper
#

it's still just as possible to not go anywhere near content patcher at all for your mod, even discounting C#

tiny zealot
#

vanilla can do that lmao /lh

uncut viper
#

its not the only option and its not the starting line, its simply an option

hard fern
#

well im sorry i forget clothes grow on trees...

#

also: hm.. i dunno what to do... like, i wanna make a museum mod, but i have two separate ideas that i don't think really mesh well. One is a more story based mod that centers around a museum, and helping revitalize it unlocks more of the story.. but another is i just want more rocks.

#

but i kinda... dont want to make two museums.

autumn tide
#

i mean

#

more shinies is always a plus

#

maybe the museum has a minerology wing?

#

you could try to tie that into to the general musem lore by using it to like, idk expand stardew valley's past as a mining settlement?

hard fern
#

well it's a completely different museum

#

in a different town

#

not pelican town

autumn tide
#

OH

hard fern
#

i had originally thought of my original idea + a separate geology museum but well who wants two museums.

autumn tide
#

..me

hard fern
#

so i guess yeah your idea of a separate wing sounds better

autumn tide
#

but irl ig-

hard fern
#

but then i need more museum wings.. lol

#

🤔 hm,, fish museum.

#

wait thats just an aquarium

#

nvm

autumn tide
#

give it so many wings it's a biblically accurate angel

autumn tide
lucid iron
#

the fish zones

calm nebula
lucid iron
#

u can make a aquarium where player could leave fishies

#

with ftm

#

it just wont rly have rewards until you find way to check whats in a tank

hard fern
#

🤔 hmmm

#

i dunno if i could have like... a special order.. submit fish,, then a map patch to make the aquarium Fish-ified

quick sand
#

awwwwww maaaaannnnnn!
it feels good to finally publish a mod and be done working on it

ornate locust
urban patrol
#

is there a way to ban a flower from honey like you can ban seeds from the seed maker?

lucid iron
#

you can make it forage instead

#

but yea its gotta be not a flower i think

brittle pasture
#

have to change its category to something other than -80

quick sand
#

best i can think is editing the condition field to exclude the flower and see what happens

lucid iron
#

maybe u can make a special category with sc to justify it Dokkan

brittle pasture
#

you can give it the category_flower tag to possibly hijack some modded machine rules that expects flowers

#

and yeah + fake it with SC

uncut viper
#

you can also delete the bee house from the game to prevent people from using it to make honey with your flower

brittle pasture
#

that's not how flower honey works

quick sand
#

oohhhhhhhh nvm

brittle pasture
#

it has just one output item, which calls some C# to get a nearby flower

urban patrol
#

maybe this is a case where i tell players "if you don't want flower honey don't put bee house near flower"

elder kite
#

new winter tilesheets are done and 2.1.0 is out now ;)

#

took a whole week of trial and error, but its finally done

north plover
#

I have a question. If two mods using CP edit the same file, how can I ensure that one mod wins out over the other in editing the file?

elder kite
#

priority

urban patrol
north plover
#

That would be something that goes in the manifest, correct?

elder kite
#

No

#

WEll

#

The dependency can be put in the manifest

#

Depends on if you want all your changes to apply

hard fern
#

!loadorder

ocean sailBOT
#

When two mods edit the same dialogue or images, whichever edit is applied last "wins" and is the one you see in the game.

If the mods don't set edit priorities (which most don't), that order is mainly determined by the order the mods were loaded by SMAPI. You can change that mod load order to influence the edit order.

north plover
#

Thank you, I'll check that out!

narrow owl
#

what p ng file are the trinkets in

elder kite
brittle pasture
narrow owl
elder kite
#

HasMod

The installed mod IDs (matching the UniqueID field in their manifest.json).

north plover
#

Aweome, setting a priority worked perfectly. Thank you all again!

drowsy shadow
#

So from what I've read in the chats, "skipping reload for asset because underlying asset no longer exists" can often be attributed to using a token that is save-related and is more or less harmless. (e.g "Spouse |contains=Abigail". ) But is there a way to stop the message from appearing at all? E.g. a different token mechanism to use? I've tried "relationship:Abigail": "Married" and a few others, but the message still appears. Again, it doesn't hurt anything, it's just kinda annoying.

hard fern
lucid iron
#

at least one of them

#

if you use priorities then you can make other conditional loads that r higher prio

#

or you can use EditImage/EditData on the thing you loaded

#

it depends on what you r trying to do really

drowsy shadow
#

Just modifying a sprite based on marriage. That gives me plenty to try.

#

Thank you!

lucid iron
#

Yeah in that case I'd do EditImage

#

Especially if it's a sprite that exists in vanilla

drowsy shadow
drowsy shadow
drowsy shadow
#

For anyone else who looks up this same error "the underlying asset no longer exists".
If you're like me then I was trying to put conditional values on a load for a custom character when I needed to load a blank sprite first and then afterwards do an "editimage" on it with the conditions.

Here was my issue:

\\ Load 1
"Action": "Load"
"Target": "Characters/Djinn",
"fromFile": "Image 1",
"When": {"Spouse |contains=Djinn": false}

\\ Load 2
"Action": "Load"
"Target": "Characters/Djinn",
"fromFile": "Image 2",
"When": {"Spouse |contains=Djinn": true}

Here was the fix:

\\ Load 1
"Action": "Load"
"Target": "Characters/Djinn",
"fromFile": "Base Sprite Image"

\\ Edit 1
"Action": "EditImage"
"Target": "Characters/Djinn",
fromFile: "Image 1",
"When": {"Spouse |contains=Djinn": false}

\\ Edit 2
"Action": "EditImage"
"Target": "Characters/Djinn",
fromFile: "Image 2",
"When": {"Spouse |contains=Djinn": true}
drowsy pewter
#

very kind of you to write it out for people to search for

heavy pewter
urban patrol
heavy pewter
#

Tysm

devout otter
heavy pewter
urban patrol
#

that would be even more efficient

#

however i don’t know furniture so someone else will have to weigh in on how

devout otter
heavy pewter
#

Aight, thanks everyone for helping

devout otter
#

Local Token is a pretty new feature that can be a bit confusing. So please don't hesitate to ask if you need some concrete examples!

tight rivet
indigo yoke
#

hmmmm, on the fence about this. dust cloud while sprinting? yay or nay?

drowsy pewter
#

i like the idea of a dust cloud, but i think vanilla would do a particle that rotates and moves up slightly while fading SDVpufferthinkblob

#

like the difference between the walk and sprint clouds looks clear to me

indigo yoke
#

time to go yoink that and just make that larger

drowsy pewter
#

work smarter not harder !

#

just that but a little whiter/stronger+larger would be perfect

woeful lintel
elder kite
tawny lily
#

in travelling skill there's a sprint proficiency that lets you run faster after running for a second or so, but there's currently no visual effect for it.

#

I forgot to ask the question lmao: could I take some inspiration from this?

tight rivet
devout otter
#

Got the various versions of events working without the When conditionals!

#

Look at this monster of a event precondition key SDVpuffersweats "DolphINaF.AdoptLeo_Event2/GameStateQuery mushymato.HaveMoreKids_WILL_HAVE_CHILD Player Leo, ANY \"PLAYER_NPC_RELATIONSHIP Current Abigail Engaged Married\" \"PLAYER_NPC_RELATIONSHIP Current Alex Engaged Married\" \"PLAYER_NPC_RELATIONSHIP Current Elliott Engaged Married\" \"PLAYER_NPC_RELATIONSHIP Current Emily Engaged Married\" \"PLAYER_NPC_RELATIONSHIP Current Haley Engaged Married\" \"PLAYER_NPC_RELATIONSHIP Current Harvey Engaged Married\" \"PLAYER_NPC_RELATIONSHIP Current Leah Engaged Married\" \"PLAYER_NPC_RELATIONSHIP Current Maru Engaged Married\" \"PLAYER_NPC_RELATIONSHIP Current Penny Engaged Married\" \"PLAYER_NPC_RELATIONSHIP Current Sam Engaged Married\" \"PLAYER_NPC_RELATIONSHIP Current Sebastian Engaged Married\" \"PLAYER_NPC_RELATIONSHIP Current Shane Engaged Married\"":

vernal crest
#

Beautiful

obtuse wigeon
#

terrifying

uncut viper
#

you could shave off 24 whole characters if you swapped to single outer quotes

vernal crest
#

You use N++ iirc Button?

uncut viper
#

unless im feelin real lazy and already have Rider open, yeah

#

why

vernal crest
#

VSC flags single outer quotes as errors and I wondered if maybe N++ doesn't do that

#

(I know they're still accepted by the game even if VSC complains, I just don't like VSC complaining about them)

#

Hmm no N++ is complaining even more blindingly than VSC does

uncut viper
#

N++ doesnt complain but syntax highlighting in general breaks with long keys

#

you could always add json5 to VSC

vernal crest
#

Mine is definitely complaining and it is set to json5

uncut viper
#

thats vsc?

vernal crest
#

Nope N++

uncut viper
#

well i didnt say you could add json5 to n++ 😛

vernal crest
#

(There is no json5 available for VSC but it does have jsonc which I think? is basically the same thing)

#

But...N++ does have json5

uncut viper
#

vsc has extensions

vernal crest
uncut viper
#

well did you add it

#

or was it simply there

vernal crest
#

I know and I use them extensively (ha) and there is no json5 extension

uncut viper
#

my N++ never highlights any errors whatsoever anyway

vernal crest
#

I don't remember tbh

uncut viper
#

i literally just installed a json5 extesion

vernal crest
uncut viper
vernal crest
#

Curious

uncut viper
#

works great too

vernal crest
#

Does it do any error checking?

uncut viper
#

yes, it doesnt disable anything

#

it just uses the json5 spec

vernal crest
#

(Time to google the difference between json5 and jsonc to see if this is worth me pursuing for myself)

uncut viper
#

otherwise itd be kinda pointless

obtuse wigeon
#

VSCodium doesn't have a json5 extension, but I use jsonc, it's effectively the same, at least as much as ive noticed

uncut viper
#

jsonc doesnt allow the issue that is the whole point of this discussion

#

which is single quotes

#

json5 is a lot different from jsonc

vernal crest
#

"JSON5 allows comments like JSONC, but goes further by supporting trailing commas, unquoted object keys (which are valid JavaScript identifiers) and single-quoted strings."

uncut viper
#

as well as a handful of other things

#

like hexadecimal numbers, trailing decimals, infinites, and iirc with json5 you can write +5 for example instead of just 5

vernal crest
#

I wonder what's up with my N++ complaining about it then

#

Hrrrrrmmmm I wonder if this will get me my multilined events with error checking

uncut viper
#

keep in mind though that Newtonsoft =/= JSON5

calm nebula
#

G {{Spouse|contains=long list of vanilla NPCS}}

uncut viper
#

that was already suggested yesterday

#

i presume Dolphin went with the explicitly defined GSQs for clarity

#

and ease of copying for other mod authors for compat

calm nebula
#

You could also back that out into a token

vernal crest
calm nebula
#

Morning, button!

uncut viper
#

Newtonsoft allows most of the JSON5 spec

#

but not all of it

vernal crest
#

Not unquoted keys I'm assuming?

uncut viper
#

no it supports those

devout otter
#

The worry was using a token would make it not easily patched by another mod.

vernal crest
#

Interesting

uncut viper
#

the things it doesnt support are unlikely to be used, to be fair

uncut viper
calm nebula
#

You cant patch it anyways ool

#

Since it is in the key

#

You can play tricks like usijf spacecore to launch the event in special circumstances

#

Or removing the event in others

devout otter
#

Wait, it can be patched if using the same key, right?

uncut viper
#

well, yes

#

but they cannot change the preconditions

#

because the preconditions are in the key

devout otter
#

Well yeah that's hopeless.

uncut viper
#

theres literally no difference in patching between token and non-token

#

they would just use the same token in their patch

hard fern
#

oh my god i have an ugly baby??

uncut viper
#

if Event Lookup wanted to show the preconditions though a "GSQ true/false" isnt very helpful compared to a list of relationship preconds though

hard fern
#

help wait no this is the modding channel

#

😭

calm nebula
#

The modding channel can be helpful

#

You can draw a skin for that baby

sly quartz
#

Babies are ugly, it's just the hormones that prevent you from seeing it as young parents

#

Trust me, i'm a parent 🤣

#

It's just cute because of chubbyness

merry river
#

literally how do i prevent some tiles from being passable? i tried so much, from adding in tiledata tile by tile, by editing the properties in the tile sheet, but there's still some tiles that are passable. some of them let me walk on the water. guess my npc turns you into jesus or something

oblique meadow
#

Put a tile on the buildings layer.

#

No longer passable

merry river
#

so basically put the same tile on two separate layers?

oblique meadow
#

You can. Or think of it like a cliff. You don’t want to walk on a cliff so you only put it on the buildings layer. Doesn’t affect the look. Only function

#

But anything put on the buildings layer is non passable by default

devout otter
#

Yeah, you can just put one tile on the building layer. Unless you have a reason to also put it on another layer?

merry river
#

mostly just overlapping tiles that cancel each other out my description makes sense

urban patrol
#

do you have a bridge? there are special water tiles for bridges that prevent passing

vagrant oxide
#

is there any good mod managers that arent vortex? i just dislike that i have to manually update each mod instead of just being able to click a button that does it for me. Curseforge has that, but it's missing a lot of mods

obtuse wigeon
#

Theres StarDrop but you need nexus premium to update from within it, however if you click the update button it takes you to the mods nexus page

#

!stardrop

ocean sailBOT
#

Stardrop is a mod manager written specifically for Stardew Valley. See the Stardrop wiki for installation and usage.

See this tutorial for connecting Stardrop to Nexus or updating mods in Stardrop.

If you have issues with Stardrop, see the issue report guide.

obtuse wigeon
urban patrol
vagrant oxide
obtuse wigeon
#

no worries at all! unlike mod authors, they tend to play the game a lot more than us XD

vagrant oxide
#

yeah lol, i appreciate you responding to my question anyway though

merry river
#

I can still walk through tiles despite adding things to the buildings layer, setting passable to false and whatnot. I need a break. I hate maps SDVpufferwaaah

uncut viper
#

you shouldnt be setting anything on the Buildings layer to "Passable", regardless of what you write in the value, if you want it to be impassable

#

anything put on the Buildings layer is by default impassable

#

by putting a property with the name "Passable" on it, you are making it passable. it is not checking what you wrote in the property value, it is only checking for the existence of the property

merry river
uncut viper
#

i.e. you cant "set passable to false"

#

you do not need tiles on two layers, either

#

you only need your fountain painted on the Buildings layer

calm nebula
#

Au contraire, swimming in the fountain is fun

merry river
#

more map unfucking for me tomorrow SDVpufferwaaah

faint ingot
#

So I have just learned nearly a year past releasing my mod that there are some orphan dialogue keys without the required translation entries (when I was getting started I worked from a template without fully understanding what I was doing). Is there a way to systematically find all of these keys?

calm nebula
#

Patch export every file you touch

hallow prism
#

sheku made a tool at some point

faint ingot
#

Yeah I thought I remembered something like that but I can't seem to find it. Thank you though. I may be able to use coding AI to compare certain parts of my dialogue files to my i18n keys.

opal hull
#

So my split-screen co-op compatible version of this one Farmer Portraits content pack is only partially working. The "emotion" portraits are showing up, but the "default" ones are not. And SMAPI and the JSON validator aren't giving me anything to go on. Does anyone have a guess about what the issue might be? Or would be able to take a look at a couple of my JSONs? I'm probably overlooking something obvious, but I've checked over them so many times these past few days and am just not seeing it 🫠

calm nebula
#

Feel free to; i dont know that framework so I cant help but maybe someone else can

gentle rose
#

also, did you use AI in other places in your mod already?

opal hull
# calm nebula Feel free to; i dont know that framework so I cant help but maybe someone else c...

Okay, I'll put the Google Drive link here if anyone wants to look: https://drive.google.com/drive/folders/1n354-W6RmD_JJRTfUC85jr73CzTcU0e5
I wouldn't ask anyone to bother with checking all the JSONs, but if someone could look at the main content one and the locations one in the assets/data folder and see if anything looks wrong, then that would probably tell me what's wrong with the others. Each section has headers at the top. The sections in locations with "default" in the label are the ones that aren't working, whereas the sections with emotions in the label like "neutral, happy, sad, etc." are functioning as intended.

Also, I absolutely forgot about an appointment I have to go to now lol, so if anyone replying could @ me, then that'd be really helpful so I can come back and look later 😅

gentle rose
#

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

gentle rose
#

(google drive has a tendency to doxx people)

quick sand
#

really need help closing the gap on my knowledge for c# moddng.
i grasped sending messages to monitor and hud but i cant quite figure out how to add a buff 😭

#

looking at the wiki for modding buffs gives what i think goes under some sort of private method? but im not even sure which private and public to use

urban patrol
quick sand
#

yeah im looking at that too but everything is telling me how to make something happen when something else happens.
i just wanna add an entry to data/buffs

urban patrol
#

do you need to do it in C#?

quick sand
#

technically no. i could easily do just this in content patcher. im specifically choosing to do this because i know how to do it with cp so i feel i would gain better understanding of how things are handled differently between c# mods vs cp mods

#

that way i can hopefully understand how to do more advanced things with c#

urban patrol
#

sorry i got pulled away. my very elementary understanding is that you could just add it to the dictionary if that's the case, but everything in C# has to be tied to events

#

so like when game loaded, access the dictionary and add this information

quick sand
#

yeah thats whats tripping me up

#

am i using this method?

lucid iron
finite ginkgo
#

In C# you've got a few options, you could either manually initialize a Buff instance with whatever arbitrary data you want and apply it to a player at any time, or apply the data edit it Data/Buffs with the AssetRequested event

lucid iron
#

for buffs there's not really a difference between how you might define it in C# vs how you might do it in data, until you need an effect that vanilla doesn't provide

quick sand
#

oooohhhh i did not know "asset" could be a dictionary. i assumed it had to be an item/building/etc

#

so here data/objectswould be data/buffs.
data/buffs is the asset the game is requesting...

finite ginkgo
#

Most (all?) the vanilla assets are more or less Dictionaries, usually some sort of Dictionary<string, string/specific Type>

quick sand
#

ok so then i just delete the foreach block of code and drop in

#

idk im disconnecting again

#

maybe actually also the line above the foreach block should also be removed

lucid iron
#

This is the manually create buff approach that tedi mentioned

#

Rather than editing the data

#

It's a bit more complicated but at the core content patcher is big ol AssetRequested handler that takes all ur json and put the data into game

#

When you do things via AssetRequested you are loading your data to the content pipeline and allowing other mods to make edits to it

#

This is generally beneficial for compatibility

quick sand
#

ok so after the e.Edit line, in the brackets>
var data = asset.AsDictionary<string, BuffData>().Data;
followed by the same thing i would do in CP started with the entry key/buff id?

#

actually string should be int since the buff ids are all integers?

faint ingot
#

Using it to find i18n strings that I missed implementing is an example of this.

finite ginkgo
quick sand
#

actually since theyre in quotes i shouldve known better

indigo yoke
ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 12 C# mods and 10 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

urban patrol
tidal spade
#

Hi, im trying to create a NPC using Content Patcher, but i'd like this NPC to disappear during the summer because he is supposed to be "exploring the world". But i don't know how to do that, does anyone have any idea?

quick sand
#

nope. gonna rewrite it and see what happens

calm nebula
#

Every day in summwr

tidal spade
quick sand
#

Ah nvm i need to change the format from : to = apparently

brittle pasture
#

the data model is a dictionary of string to BuffData objects, but you're still trying to assign Buff objects

quick sand
#

hopefully this works

#

not sure whats different in the system but when i choose "show potential fixes" it makes things worse. when i choose fix with copilot it actually points me in the right direction and explains why

lucid iron
#

show potential fixes is pure language server stuff

#

in this case it might not have enough info to say "yea you need BuffData"

quick sand
#

that makes sense

lucid iron
#

if you don't feel like you have a good grasp on C# fundamentals though it may help to do some general C# courses

#

sdv modding C# has a number of quirks

#

not in terms of syntax just what is available via api kinda thing

quick sand
#

yeah im working through microsoft's C# course

#

recently learned do while which was pretty fun to play around with

lucid mulch
#

for reference, everything vanilla in the content manager due to the quirks of the xna/monogame content pipeline system means all the types referenced in the xnb need to be in the separate StardewValley.GameData assembly which can't reference anything in the main stardew assembly to avoid circular dependencies

#

which is why many things have a <Type> and <Type>Data separation

quick sand
brazen arch
#

Hello guys. I'm trying to make a retexture of the bushes in Cornucopia More Flowers, but for some reason my code isn't working despite there being no errors (to my knowledge).

#

The bushes currently look like this

#

When they're supposed to look like this

ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 130 C# mods and 792 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

brazen arch
#

Here is the code I'm using for this mod. The retextured flowers and crop growth stages work for everything else but the bushes themselves.

brittle pasture
#

easier to view

brazen arch
brittle pasture
#

no season token

#

Cornucopia.MoreFlowers/teabushes_indoors is correct though

brazen arch
#

Oh, really? I thought that there were seasons because when I looked at the assets folder, there was a season for each teabush png. Ok I'll try this out and report back on what happens. Thanks!

brittle pasture
#

always check the original mod's content.json

#

in this case it has 4 assets but only load one at a time into Cornucopia.MoreFlowers/teabushes depending on the season

brazen arch
#

It works! Thank you again for your help. God bless and have a blessed week!

quick sand
ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26100.0, with 12 C# mods and 10 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

quick sand
#

thought it was this
Texture2D texture = Helper.ModContent.Load<Texture2D>("assets/candy.png");

#

if thats right then maybe i need to change how its written in the data?
IconTexture = "assets/candy.png",

lucid mulch
#

IconTexture needs to be the name of the asset that is in the content pipeline

quick sand
#

so just candy.png?

lucid mulch
#

assets/candy.png is a filesystem path in your mod folder, not the content pipeline

quick sand
#

i thought the ModContent.Load line was putting it into the content pipeline with that as the name

lucid mulch
#

or if you want to use internal asset keys, you can do IconTexture = Helper.ModContent.GetInternalAssetName("assets/candy.png").Name which will make a magic asset name that tells smapi to read your mod folder directly, but CP and other mods wont be able to edit it further (without replacing IconTexture to point to an asset in the game content pipeline)

#

ModContent is a separate instance of the content manager aimed at your mods folder directly with no cache, which is different from the main game content pipeline

#

its the main difference between Helper.GameContent and helper.ModContent

quick sand
#

ok so i need to load my file into the game content pipeline?

lucid mulch
#

yes, otherwise the vanilla buff code wont know how to find it, as it only knows what Game1.content.Load<Texture2D>(assetname) is

quick sand
#

which makes sense in this example since theyre loading their custom image whenever the vanilla one is called

#

how do i do this for a nonvanilla item?

lucid mulch
#

from a content pipeline perspective, there isn't a difference

#

just replace Portraits/Abigail with some other value that you also use in the IconTexture field

#

the main difference between a vanilla asset and a custom asset, is that you need to convince the game to want to load the custom asset to begin with, which the IconTexture field in buffdata is doing

urban patrol
#

is this the same concept as having to use the target of a load as a texture, instead of using a png?

lucid mulch
#

yes

quick sand
#

@lucid mulch @urban patrol holy crap that helped connect the dots

#

it actually worked

#

basically telling the game when youre told to use "texture x" load it from "this file"

urban patrol
#

i'm so glad that helped, because i wasn't sure if the concept would communicate lol

#

i also wasn't sure about it in general which is why i asked

quick sand
#

its weird because i feel like i understand CP pretty well atp but it doesnt really translate to C# in my mind

urban patrol
#

yeah that's exactly what i'm dealing with right now trying to learn it

lucid mulch
#

One way to think of Content Patcher is that its a fancy engine to just do OnAssetRequested and maps the Load and Edit calls based on what the content packs want

quick sand
#

i really appreciate you basically holding my hand through this

lucid mulch
#

the fancy part of CP is the update logic to know when to invalidate the assets

quick sand
#

if you run for president ill vote for you

thorny jasper
#

I wonder how y’all even make mods in general

urban patrol
#

while you were farming... i studied the blade... /j

quick sand
#

i just throw spaghetti at the wall until something sticks

lucid mulch
#

modding is taking the current state of the game, and making it the desired state of the game.

the basic way is replace the physical files (ie XNB mods)
the more interesting way is to intercept those reads via the content pipeline with the loads and edits

thorny jasper
#

Keep misreading Demetrius’ name as dementia 😭

brave fable
#

i desire for the current state of the game to be broken 🙂‍↕️

brave fable
#

live, love, load conflict SDVpufferchickegg

urban patrol
ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.22631.0, with 20 C# mods and 2 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

frosty hull
#

@spice inlet Hi, sorry for ping
can you edit your nexus page of the mod QuickSave
about android support now on SMAPI 4.3.2.1++?

brittle pasture
#

I think the error is that it can't find a warp to get out of the map

urban patrol
#

i was gonna make it a temp map instead of a changeLocation but i had issues with the transition in the event

#

oh is it trying to dump the farmer at the warp instead of the default warp location

#

the map where the event ends (warp is at the trapdoor) and the warp out map (warp to the attic is at the blue square on the stairs)

#

the books on the stairs block the path there, but the warp does work, i tested it

uncut viper
#

the player needs to be able to leave the location via a warp for dialogueWarpOut to work

urban patrol
# brave fable elaborate 📝

it was just ugly, i couldn't put the viewport at -1000 -1000. instead it shifted as far left and up as it could go, which was like 3 tiles over and still showed most of the attic

hard fern
#

Then a touchaction warp is no good?

#

Wait

#

No

#

Wrong kind

urban patrol
#

yeah i have a buildings layer warp

brave fable
#

that's odd, i've been able to use temp maps with negative viewports. maybe it's to do with the map being indoors, since mine are outdoors

urban patrol
#

perhaps? it's something that's happened before and i've just chalked it up to events are weird

uncut viper
#

does the map you used clamp the viewport?

urban patrol
#

oh it does, do you think that's it? i'll take that out

brave fable
#

that would be it

urban patrol
#

i didn't think that would apply in an event where i manually set the viewport but oh well

#

that's a relic from when i was going to have the map be accessible

#

although back to the original issue: does warpOut dump the player at the end point of the warp, or the default warp location?

brave fable
#

i don't believe you'd need it for a small indoors map either way, it's only used for the busstop

urban patrol
#

i added it for a reason but i don't remember why

#

i have one for another indoor map as well

brave fable
#

iirc indoors locations already clamp by default for small maps

urban patrol
#

interesting

brave fable
#

i could also just be imagining that though 🙂‍↕️

urban patrol
#

okay i just tested it again and i don't think an Action Warp works for end dialogueWarpOut. i added a map property Warp and now end dialogueWarpOut is working

upbeat zephyr
#

How would one go about adding the gender tokens from gender neutrality mod into other mods ?

brittle pasture
#

For Modders: To use this mod simply install Content Patcher and call the tokens listed in the config file in your content file. For example, if you wanted the dialogue to say "I like them/her/him" You would write "I like {{Hana.GNMTokens/ObjectivePronoun}}" and it would replace the token with whatever the user provided in that config slot. Further use details will be added later.

brittle pasture
#

it does assume you're familiar with basic CP modding and tokens

quick sand
#

can c# use tokens? specifically {{ModId}} or will i need to just type it out

urban patrol
#

{{ModId}} is specific to content patcher only

brave fable
#

C# mods can tokenise strings in their own way, and cannot use CP's tokens.

calm nebula
#

Usually you stick your mod id into a const str somewhere

brave fable
#

or use this.ModManifest.UniqueID from within your Mod instance

#

e.g. string message = $"You have {ModManifest.Dependencies.Length} dependencies in mod {ModManifest.UniqueID}"

quick sand
upbeat zephyr
#

Watch my files explode LMAO

versed wyvern
#

There isn't anything out there that would let me move the layout of interface elements like shop stuff via Content Patcher, is there? Would probably need C# to mess with UI?

brittle pasture
#

yeup

quick sand
#

is that not what the visualtheme field does?

brittle pasture
#

that allows you to change the theme (colors, appearance, etc.)

#

to mess with how everything is laid out in the first place you gotta get in the C# mines

quick sand
#

oh right 🙊

#

how bad is it to use GameLoop.UpdateTicked? is it frowned upon?
in my mind it might be taxing to run something so often

brittle pasture
#

the answer, as is oft the case, is "it depends"

#

if your logic don't have to be run every frame then don't

lucid iron
#

a tick is 16.66ms approx

#

if whatever you are doing + the existing draw and update work is higher then game starts feeling laggy

lucid iron
brave fable
#

yeah there isn't much of a concept of 'interface elements' beyond clickable components and regions

#

there's design tools to make structured interfaces, but nothing in the base game is structured and cannot be edited simply

brittle pasture
#

welcome to SDV UI modding, we draw directly to the screen here, take your MVC back to QML or whaevs

versed wyvern
#

All I wanted to do was toy around with moving some of the elements left or right to get more space for other shenanigans SonicFuckingDies

lucid iron
#

well it's never too late to learn C# 😌

brave fable
#

impossible with content patcher 🙂‍↕️

lucid iron
#

idk what is the menu anyways

#

"editing existing menu" is one of those things thats extremely unlikely to get a framework for what it's worth

brave fable
#

(better game menu)

lucid iron
#

see that one isn't generic either

#

and not for content blobcatgooglyblep

brave fable
#

well no but it's about as good as you can hope

brittle pasture
#

I guess there's SpaceCore guidebooks

lucid iron
#

what you want to do may not be that bad though, if you just want to reposition things it could be done in a menuchanged event Bolb

#

unless it's not on a clickablecomponent then ur doomed

woeful lintel
#

Just thinking about implementing a data driven UI makes my head hurt

lucid iron
#

stardewui is a data driven ui basically

#

but it's also not for content cus u need to write the model in C# kyuuchan_run

woeful lintel
#

I'll have to use it some day, so that's good to know

lucid iron
#

i was speaking mainly of existing menu which r kinda set in stone

brittle pasture
#

before StardewUI there's also like 3 different UI frameworks that no one but their author use

lucid iron
#

a lot of other games do just use data driven ui of some flavor

woeful lintel
#

What I was saying was just "I don't want to be StardewUI's dev"

brittle pasture
urban patrol
#

oh my god, because fishing needed to be harder? that's horrific i love it

brittle pasture
#

well good news, if you want it in your life the mod's already out on Nexus

quick sand
#

assuming the "using xxx" list at the top of a mod file is a list of subclasses.. what subclass is needed to use vectors?

brittle pasture
#

correction: those are namespaces
and IIRC Microsoft.Xna.Framework? somewhere in XNA

quick sand
elder kite
#

Is health restoration calculated automatically from the Edibility value?

brave fable
#

if you just write out Vector2 it'll automatically add the namespace if you use either the intellisense(tm) popup, or press ctrl+. (or click the 💡) on a reference with a namespace available.

#

yes, items have 2 methods for getHealthOnConsumed and getStaminaOnConsumed or somesuch

#

you can override these in data with spacecore, though

quick sand
quick sand
elder kite
#

i definitely dont bring it up on this server

brave fable
#

intellisense(tm) is pretty much just autocorrect for your code, it won't write the thing for you

#

copilot and the weird annoying predictive text in VS is generative ai, however, which i don't bother using

quick sand
quick sand
tight rivet
#

"this is the mod that never is working" hums

#

opens up notepad again

#

first theory is spacing. >_>

elder kite
#

I thought I was doing this right but the energy control isnt working correclty. Anyone know what I'm doing wrong here?

        {
            "Action": "EditData",
            "Target": "Data/Objects",
            "TargetField": ["253"],
            "Entries": {
                "Buffs": [
                    {
                        "IconTexture": "TileSheets/BuffsIcons",
                        "IconSpriteIndex": 9,
                        "Duration": "{{Espresso Time}}",
                        "CustomAttributes": {
                            "Speed": "{{Espresso Pace}}"
                        }
                    }
                ],
                "Edibility": "{{Espresso Energy}}",
                "IsDrink": true
            },
            "When": {
                "Enable Espresso Changes": "True"
            }
        },```

sample from the mod
brittle pasture
#

that code looks correct; what does Espresso Energy evaluate to

elder kite
#

Just setting it as a number, I changed them all to 10 and nothing changed in game

brittle pasture
#

did you spawn new items

elder kite
tight rivet
#

"{{ModId}}.MyoldfriendsN15": "{{i18n:MyoldfriendsN15.text}}%action AddItem {{ModId}}.CherryPaifait 1 2 %%%item cookingRecipe {{ModId}}.CherryPaifait%%[letterbg Mods/{{ModId}}/backgroundN 0][#]{{i18n:MyoldfriendsN15.title}}", I assume what I need to do is space things out so they're properly evalulated?

elder kite
brittle pasture
#

SDVpufferthumbsup edibility is one of the fields baked into item instances, meaning you have to create new instances when testing

#

others include category, price and some other stuff

elder kite
#

Maybe I could do some sort of conversion of the edibility value so in the config it directly translates to energy

#

Cause currently setting a value of 10 gives 11 energy, 20 gives 22, 100 gives 112 etc

brittle pasture
tight rivet
#

hm..

#

"{{ModId}}.MyoldfriendsE14": "{{i18n:MyoldfriendsE14.text}}%item cookingRecipe {{ModId}}.SichuanBoiledFish%%[letterBG Mods/{{ModId}}/backgroundE 0][#]{{i18n:MyoldfriendsE14.title}}", this line evalulated to no cooking recipe and the title was screwed up, so that's why I'm trying figure out what happened. >_>

brittle pasture
#

you could try patch export Data/Mail and see the final form of your letter

tight rivet
#

ah, that makes sense

#

will do, thanks!

quick sand
elder kite
#

hmm okay Ill have to give those docs a read

tight rivet
#

I found the culprit. :S

#

"^^Ethan [#]%item cookingRecipe RayAmier.MyOldFriends.SichuanBoiledFish%%[letterbg Mods/RayAmier.MyOldFriends/backgroundE 0][#]Fishing Apprentice",

#

i bet the [#] wasn't stripped out

#

it was not

#

fixes it

short ice
#

Are there add ons for console??

brittle pasture
#

if you mean mods, no

#

PC and Android only

short ice
#

🫤

#

The game is SOOOOO good but the dialogue is so boring only being able to talk to each villager once a day. And once you marry it's annoying that they kinda just stand there and do nothing.

tender bloom
#

Blame Nintendo

#

Steam deck can do mods (because it’s Linux on the inside)

brittle pasture
#

well there are definitely mods that change those, and more... as long as you're on PC or Android 😌

#

(I recommend PC, it's more stable and more mods are supported)

short ice
versed wyvern
#

None of the consoles are gonna let you just add arbitrary code and such

uncut viper
#

you CAN mod the switch, very very basically, if your switch is modded

lucid mulch
#

Tbh it's not Nintendo specific, Sony are also not a fan of any user code running

brittle pasture
#

abitrary user-created content on consoles is the exception, and nowhere near the norm

lucid mulch
#

And Xbox also isn't a huge fan unless it's heavily sandboxed

brittle pasture
#

and definitely never to the extent of what SDV mods can do

short ice
brittle pasture
#

the game doesn't have native modding support in the first place; the modding API was created by a third party

lucid mulch
#

A vanilla mod system would have a subset of content patcher with none of the framework mods assisting it

short ice
#

Maybe it's time to upgrade to a PC for games like this

lucid mulch
#

There are only a handful of console games that have modding, and none of them are as feature rich as the PC modding equivalent with Skyrim being the textbook example

short ice
#

Yeah I'ma just get a gaming laptop to do my studies and play stardew ngl 😄

versed wyvern
#

And even Skyrim needed a third party code program written for it to enable a lot of things the base tools didn't

obtuse wigeon
#

Even though skyrim has a built in mod system, it's still horrifically poor, I think really the only game I've seen that has a pretty good built in mod system is Factorio, but even then you can't define custom machines type for instance, but you can get pretty close

tight rivet
#

the CK's not that bad. It's just not great at what people might want to do for major mods

elder kite
#

Registering a custom token in GameLaunched and it logs as registered, but Content Patcher says it can't find it when processing a content pack that depends on my mod.

The content pack uses: {{MinutesToGameDuration:{{config:Coffee Duration}}}}
I see: Successfully registered token: {{MinutesToGameDuration:<minutes>}}
Then: '{{MinutesToGameDuration:{{config:Coffee Duration}}}} can't be used as a token because that token could not be found.

Basically I'm trying to make a helper function using a C# helper mod as a dependency. Is this a timing issue, or am I missing something? How do I make sure the token is available when Content Patcher processes the content pack? Sorry I'm very new to coding and especially C#, so bear with me if you can xd

spice inlet
lucid mulch
#

iirc it should be the C# modid prefixed

#

so it would be {{MyC#ModId/MinutesToGameDuration:{{CoffeeDuration}} }}

obtuse finch
#

Hello, I'm not sure how to add personal gift taste to NPC? Like a new dialogue for a specific item. I've read the wiki and they don't explain it, I dont think

vernal crest
#

Sorry, I missed you saying the dialogue for a specific item because I don't consider that gift tastes.

obtuse finch
#

I do get the general gift taste, I'm looking to add more reactions, something like Elliot's hate toward Super Cucumber but he didn't use the default Hate dialogue

vernal crest
#

They go into your NPC's Characters/Dialogue/<npc> asset just like the rest of their dialogue.

#

If you want them to accept it but hate it, you want to use AcceptGift. RejectItem is for when you want them to not accept the gift at all.

gentle rose
#

guess who has enough energy to be at their pc rn

obtuse finch
upbeat zephyr
#

the hardest part of making mods compatible with gender neutrality is remembering the difference between subjective, objective, and possessive pronouns

#

finally putting this english degree to use

#

i would do it in native tongue but then i would have to translate 45 more mods

gray bear
#

simply avoid the topic of gender all together

#

gender is farmer SBVMischief

upbeat zephyr
#

well thats,,,

#

what im doing asvffajshvjhvsfa

#

im making it gender neutral

gray bear
#

think smart not hard

upbeat zephyr
#

i uh

#

am

#

lol

gray bear
#

whoever does do the work to make it compatible is a trooper don't get me wrong, but i don't think I can. not that isn't important for my mod anyway but yeh

upbeat zephyr
#

im making 5 mods compatible now

#

for i want fem farmer body but he/it pronouns

gray bear
#

ooh that's so cool

#

kinda like me hehe

upbeat zephyr
#

i thought i might as well try and make the mods compatible and then i can give them to og creators maybe ?

gray bear
#

hmm I'm pretty sure the gender neutral mod doesn't actually change the bodies? or...

obtuse wigeon
#

All my mods are compatible, entirely bc they don't have a single mention of gender

upbeat zephyr
#

but you can pick your pronouns no matter the body

hard fern
#

SDVpufferflat speaking of i have to do some crazy work. basically writing 3 sets of dialogue

#

one for m/f, and then one more for neutral

vernal crest
#

I love it when mods are compatible with GNMT SDVpufferheart

hard fern
#

probably the reason im avoiding it

vernal crest
#

Why three sets instead of using GNMT?

hard fern
#

because i want actual differences

#

i figure it would be awkward if someone was using gnmt but was getting dialogue intended for a male farmer because they chose that body

vernal crest
#

Fair enough

upbeat zephyr
#

oh, i have a question for anyone who knows GNMT-
is there a way to change honorifics, or would that have to be manually set to gender neutral stuff each time ?

hard fern
#

the third neutral set i plan to use gnmt though, and just have it be a config option for if it's chosen or not

hard fern
#

im pretty sure it was a token

upbeat zephyr
#

oh, is it ??

#

maybe i missed it

vernal crest
#

It's called Title

upbeat zephyr
#

would that work for other added NPC mods as well ?

#

or would i still have to do it by hand since the mods arent compatible ?

vernal crest
#

If the NPC wasn't given GNMT compatibility by the mod author and you want it you'd have to add it in

upbeat zephyr
#

for honorifics as well ?

vernal crest
#

Yep

upbeat zephyr
#

okay, thanks !!

vernal crest
#

I got lots of "Hello Mr. Omondi!" in the mods that weren't GNMT-compatible when I was playing with "Mx." as the title I'd chosen in the GNMT config (male body)

upbeat zephyr
#

ah alright

#

well i have encountered a new problem, my stardew will not launch at all

hard fern
#

uh oh

#

log?

upbeat zephyr
#

i have not added anything since i played this morning,,,,,,,

vernal crest
#

It sucked but that's what I get for indiscriminately installing every dialogue mod out there lol

#

!log We can help you fix that

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.

upbeat zephyr
# hard fern log?

gonna restart pc first then if still not working i will make forum post :)

vernal crest
#

If it's crashing before the point of even generating a log, I can (hopefully) help with that too

upbeat zephyr
#

smapi comes up, but then closes and goes back to stardrop, lol

vernal crest
#

Is it too fast to read anything?

upbeat zephyr
#

yes

vernal crest
#

Might have to open with powershell then if restarting doesn't fix it

#

Might just be an AVE

obtuse wigeon
#

you can launch it through powershell on windows or terminal on OSX and linux and it will stay up when it crashses

#

(actually not certain about the OSX, but I can't image it would be that different?)

upbeat zephyr
#

oh wait

#

HAHAHA

#

i had a content file open so when i tried to launch stardew, it had heart attack </3

#

closed file, now it runs perfect

vernal crest
#

Does that happen with Stardrop?

upbeat zephyr
#

i forgot it was open lol

#

yes

#

idk

vernal crest
#

How do modmakers work with Stardrop then?

upbeat zephyr
#

close files before playing ?

vernal crest
#

I'd never close all my json files to run Stardew and then have to open them to edit them and then close them again

#

I edit constantly with the game running

upbeat zephyr
#

im not sure, this is my first time trying to edit/make mods

#

maybe is because my computer is old and has a lot of stuff open

#

oh i had assets file open, not content

#

my bad !

obtuse wigeon
#

that's certainly not something that should happen with stardrop, I edit mods all the time with stardrop and the mods open

upbeat zephyr
#

is it because it was an asset file ? i mispoke originally, my bad

vernal crest
#

Nope

upbeat zephyr
#

weird

#

i manage to break everything in the weirdest ways hjvfjahsvfjah

vernal crest
#

If it was an AVE, they happen unpredictably and go away seemingly randomly so that might have been it

obtuse wigeon
#

AVE?

vernal crest
#

(Access Violation Error, it's a problem that happens sometimes with Harmony in C# mods)

upbeat zephyr
#

sorry i have another question-

obtuse wigeon
#

Ohhh ye I've had a few of them, especially on linux

gray bear
#

shoot

upbeat zephyr
#

where is the option to change honorifics ? i do not see in config anywhere

gray bear
#

aba said it's title

vernal crest
#

Title?

upbeat zephyr
#

yes

#

i do not...see it

hard fern
gray bear
#

thonk are u editing it in game or the json file

upbeat zephyr
#

...in game

#

LOL

#

that would be my issue

gray bear
#

might be a different name? I know it can be changed with i18n

vernal crest
#

Nope you should be able to edit it in game too

gray bear
#

fifth option anyway

upbeat zephyr
#

is this editing the base game things ? or is it for a specific mod

gray bear
#

nah it's mod options

upbeat zephyr
#

okay...

#

man this is confusing lol

vernal crest
#

Have you got Gender Neutrality Mod as well as GNMT?

upbeat zephyr
#

yes !

gray bear
#

which ones config do u edit?

vernal crest
#

Are both up to date?

upbeat zephyr
#

they are

#

i um...dont know where to go to open it

#

i thought you meant mod config menu, which was silly of me

#

sorry, i am very new to this

vernal crest
#

No it wasn't, usually everyone edits configs inside GMCM

#

And if it's available in a config.json it should usually be available in GMCM (although C# mods don't have to have GMCM support)

gray bear
#

should be a "mod options" button on the game menu/cog in start menu

vernal crest
#

I am just hopping in game after having added GNMT to my 1.6.15 folder and I will have a look

upbeat zephyr
#

thank you all for holding my hand through this </3

vernal crest
#

You're welcome, it's what this channel is for!

#

Okay this is the GNMT config menu in game

#

I wonder if you were maybe accidentally looking at the GenderNeutralityMod options instead?

gray bear
#

oh no, pronouns

patent lanceBOT
gray bear
#

I'd use GMMT if me and English ever had an understanding of how stuff works

upbeat zephyr
#

oh i was looking at the wrong one,,,, what a fool i am

#

at least i dont have to replace gerunds or anything fancy

gentle rose
#

how many languages do you speak, Bea? I know about two I think

gray bear
#

~~mind u I've annoyed people by using they/them in Hebrew bc "that's for multiple" sigh ~~

#

2 and im good at neither

upbeat zephyr
gentle rose
vernal crest
#

Every time anyone tells me that "they" is plural only in English I am like 🩴

gray bear
#

omfg ur right

#

I hate it here

#

we literally have a separate they for female and male

gentle rose
#

you can't escape gender in hebrew

and before anyone asks, it/that is ALSO gendered

#

there are simply no ungendered pronouns SDVpuffersquee (zeh/zot(i))

gray bear
#

Hebrew: gender neutrality? I don't know her

upbeat zephyr
#

russia 'it' is kind of confusing

#

but eto is basic go to

#

though...it is also gendered

gray bear
#

I think when it comes to gender naturality English is one the best

upbeat zephyr
#

oh/oha

#

cringe pointless gendering

#

BUT

vernal crest
#

Te reo Māori handles this so much better. No gendered pronouns!

upbeat zephyr
#

oho >>>>>

gentle rose
upbeat zephyr
#

the many forms of 'it'

gray bear
#

why would u gender a pronoun? the table doesn't need a gender

vernal crest
#

Most pronouns are used for people

gray bear
#

actually table isn't a pronoun it's uh

vernal crest
#

And lots of people feel very strongly about gender

gray bear
#

e_stares idk

vernal crest
#

table is just a noun

gray bear
#

the nouns are gendered and so are the adjective

upbeat zephyr
#

table could be a pronoun if you use neopronouns :)

obtuse wigeon
#

Welsh also has issues with gender neutrality, they and them do exist in welsh, but only for multiple people, and the soft mutations welsh has also don't have a way to ungender them, it's a pain at times XD

gray bear
#

So I have been told me saying "the table is round" is wrong

#

(to be clear I mean in Hebrew)

drowsy pewter
#

thai is not gendered in third person but you have to gender yourself in first person speech, which is a different kind of anxiety

gray bear
vernal crest
#

I would flippity floppity if I had to use gendered first person pronouns I think

gentle rose
#

me when someone asks me what gender "bird" is and I have to explain that a singular bird is feminine but multiple birds use the masculine plural suffix

upbeat zephyr
#

russian is relatively neutral but technically using the pronoun они incorrectly but who cares

gentle rose
gray bear
#

singular and plural yeah

#

yeah being nonbinary when speaking Hebrew is like impossible

upbeat zephyr
#

with russian its fun to make up neopronouns

hard fern
#

fascinating

gray bear
#

sometimes people just switch between female and male but that's "confusing"

obtuse wigeon
gentle rose
#

the biggest issue with first person being gendered is that flipping to multiple, even if that works (which in hebrew it doesn't), requires you to start referring to yourself as "we"

hard fern
#

just like. idk get posessed by an evil spirit

gray bear
#

we are sad iro

hard fern
#

then its accurate

obtuse wigeon
#

I might refer to myself as a plural, sounds quite fun!

gentle rose
vernal crest
#

Referring to oneself as plural sounds very natural to me because of my best friend having DID so they frequently do that (and are they/them plural, not singular)

gray bear
drowsy pewter
upbeat zephyr
#

russian 'I' is gender neutral thankfully

obtuse wigeon
#

I wonder how hiveminds and other linked brains are portrayed in Hebrew because of the gendered we

gray bear
#

sometimes I switch male nouns with female adjectives but that's "incorrect" and "not how you do it"

gentle rose
#

respect/age based language would drive me up the wall. how can I maintain my casual and incredibly cool reputation of respecting nobody

upbeat zephyr
gentle rose
gray bear
#

well yeah at least Hebrew doesn't have respect based language

upbeat zephyr
#

booo men taking over everything /j

gray bear
#

mostly cause we all lack it

obtuse wigeon
gray bear
#

see in a group;
all female: fem
100 fem, 1 male: male

upbeat zephyr
#

masculine hive mind but usually hive minds are mostly female/female ran, like bees, and ants

#

very funny languages hehe

gentle rose
# gray bear mostly cause we all lack it

did you know that that's genuinely one of the biggest issues of hebrew speakers communicating in english pffft the lack of politeness/respect doesn't come across well

gentle rose
gray bear
#

yeah that checks

obtuse wigeon
#

Welsh also is respect/age based, i.e. ti is used for peers and those younger, aswell as informally, and chi for elders, people you have respect for, and formally, it's so confusing, especially when you have someone you respect but are your peer, or don't respect and are an elder

gentle rose
#

hebrew is disrespect based. you must speak with spite /j

gray bear
#

the difference in Hebrew is if u say dude or sir and no one says sir

obtuse wigeon
#

formality however does take precedence in Welsh

upbeat zephyr
hard fern
#

i think thats just a teacher difference

gentle rose
#

the only thing I associate the hebrew equiv of maam/lady with is a kids' song about a woman who takes up all the seats on a bus with her groceries

gray bear
#

I have never referred to a single person by last name

upbeat zephyr
#

mayhaps ?

obtuse wigeon
upbeat zephyr
#

we use last name for EVERYONE in russia, especially someone of authority, but here, even people you dont know are refered to by first name so casually ?

gentle rose
#

it's so catchy. got stuck in my head as soon as I thought about it

#

hi button

gray bear
#

u don't even call ur boss by their last name

uncut viper
#

how're the mods goin y'all

hard fern
#

younger grades (in america) expect you to call them by their last name, like "Ms. Anderson" but in college you can honestly get away with calling them literally whatever they say you can

upbeat zephyr
drowsy pewter
hard fern
#

bad

gray bear
#

teacher don't tell students their last names lmao

obtuse wigeon
vernal crest
#

I figured out how to accessify my map! (With 6480's help)

gray bear
#

great work!

uncut viper
#

goodbye

drowsy pewter
#

6480 is lying sick in bed trying to meet a mod deadline

upbeat zephyr
#

im talking about pronouns while trying to figure out what 'it' would translate to as an honorific

obtuse wigeon
hard fern
#

oh this reminded me of the weirdness when it came to making my language. It's just like.. <subject> , <object> but being me i have no idea what a grammar is... so a sentence like
"I like beans" would be <subject> <object> <Liking beans>. why are writing languages hard? this is so boring. i have to imagine the word for beans.

gray bear
#

feel better soon t_pray

gentle rose
#

button do you want to write my mod for me

gray bear
#

grammar sucks

vernal crest
obtuse wigeon
vernal crest
#

And "I" is the subject

upbeat zephyr
#

should i create new honorific for alien creature ?

#

that could be more fun

hard fern
gray bear
#

apparently there's a way to number when using more than one adjective

gentle rose
#

object = thing that an action is being done to
subject = thing doing the action

gentle rose
vernal crest
#

And since your language apparently doesn't have verbs, I would say that it needs to modify "beans" depending on whether it's liked or disliked

hard fern
#

yes, i have ... something like that

#

a modifier, basically.

upbeat zephyr
#

beans (boooo)

obtuse wigeon
#

this sounds like a very fun language, complete with things Welsh uses often XD

gentle rose
#

forsy's language has gift taste data built in (that's right, we circled all the way back to mods)

gray bear
#

like how am I supposed to know it's 'size' 'color' 'other'

vernal crest
#

Now Forsy has to make new objects for every possible modifier beans could have

gray bear
#

tbf I did get a 70 in hebrew-

obtuse wigeon
vernal crest
#

So that when you give an NPC the beans you're giving them the correctly named ones

gray bear
#

atlas that's awful and I hate it

upbeat zephyr
#

most cyrillic languages have so many gender... but its the 2 'main' genders plus it, and you mix and mash them together very pointlessly a lot

#

which is why making more pronouns is fun

gray bear
#

also what's opinion

gentle rose
#

good/bad/useful etc

gray bear
#

in Hebrew I can't figure out if the adjective goes before or after the noun most of the time

obtuse wigeon
# gray bear atlas that's awful and I hate it

I have more info that will make you hate it so much more, basically they are paired and can be reverse at any point, so opinion and size can be swapped, age and shape, colour origin, etc

upbeat zephyr
#

what if i make honorific Majesty because there are no 'it' titles :(

gray bear
gentle rose
#

-# I wonder if I can build a map in c# without a map file

upbeat zephyr
#

yes lol

gray bear
#

-# iro commit crime

obtuse wigeon
vernal crest
#

Why not? It's your game!

upbeat zephyr
#

my last name is also a royal title anyways, so, could be funny play on it hehe

gray bear
#

-# map crimes 🦹

gentle rose
gray bear
#

I like the gender neutral emojis they are so good

hard fern
# hard fern a modifier, basically.

well i have two. one is <deny this thing> so you can write a sentence like "I don't like beans" (as in, "no, i do not like beans") as <subject> <object> <deny> <liking> so it would be
<I> <beans> <deny> <like>
and then theres a <the opposite of this thing> so the sentence "I dislike beans" would be <subject> <object> <opposite of> <like> to be
<I> <beans> <opposite of> <like>

but you can't just say "the opposite of dislike" because dislike doesn't exist. idk why i did that. only the "positives" of a thing exist, like, the presence of [feelings of fondness] towards beans.

gray bear
#

🦹

vernal crest
#

Stardew Access hardcodes its water trough locations :(

#

So I trot through my monster hutch and all of a sudden "empty water trough"

obtuse wigeon
#

programatic map creation sounds so much, might give it a go why not

hard fern
#

how does stardew access actually work? does it like, scan the map and gives you information?

vernal crest
#

And I think the easiest way to fix this is just going to be moving the actual water troughs in my map

#

It mostly just tells me about the tile right in front of me

#

There is a radar option but I did not understand the pattern behind its pinging

hard fern
#

🤔 so how do you know where you even are? like do you just hope you're walking in the right direction?

vernal crest
#

Some of the players in the Stardew Access server were saying they memorise the layouts of maps

hard fern
#

oh

#

well, thats one way i guess

#

but i guess not really a solution for new maps

vernal crest
#

I don't know if there's a whole lot of playing with other mods happening so far

#

I think there's also a tile viewer thing where you can enable it to move just the cursor around to have it read out what's there

#

Oh yeah it's telling me "empty 4 8"

#

And now "blocked 0 8"

#

Meanwhile a green with envy slime is trying to murder me

upbeat zephyr
#

what does it mean by singular ?

vernal crest
#

If you hover over it, it tells you

upbeat zephyr
#

you are correct HAHAHA

#

so for it, i would use singular

#

okay i see, thank :)

vernal crest
#

Usually, yeah

#

And I'm a they/them so not singular because "they is" sounds too weird for me

#

It won't tell me where my hutch door is 😭

finite ginkgo
upbeat zephyr
#

broke my brain for a second there

inner adder
#

can anyone tell me how the mini quarry on the 4 corners farm work? Similar to the quarry but with less chances? I do know ores spawn depends on mining level but that's it.

#

percentage chances/spawn per day helps too

vernal crest
#

Are you asking because you're planning to make or edit a mod?

inner adder
#

no, my challenge broke me, and I need knowledge for a fast way out SDVpufferrise
and I heard from someone code readers are here. Info that's are not in the wiki

#

oh wait, let see... I found something on the wiki

vernal crest
inner adder
#

welp, at least it got the chances. Yeah that

#

not how it spawns or if existing rocks can block spawn. hmm, probably yes for the latter (assuming it works the same as the regular quarry)

#

yep, hilltop farm does mention spawn limits. Cool, hopefully that works the same more 4 corners. SDVpufferthumbsup

fast plaza
#

gah I cant never remember what to do to properly convert to local position

#

trying to draw the bounding box of an NPC so I can adjust it a bit better and the math hurts my very soul

#

plus remembering what is in world space and what is in local space

subtle condor
#

Just a quick tiny question, is it possible to copy all the custom property data on a tilesheet thats used by the game? I use the same tilesheet for my map, but the tile's custom properties doesn't come with it, do I just have to manually set them again?

vernal crest
#

You can export the tileset as a .tsx file and then import that and embed it into your new map! That will bring all the tile properties and animation with it.

subtle condor
#

Okay, I'll try that, thank you SDVpufferheart

vernal crest
subtle condor
#

Ooooh now I understand what a tileset is XD I was kinda confused about it, but now everything makes sense XD now I can also use the Wiki better, thank you SDVpuffersquee

#

"They are confusingly named and often used interchangably", I see XD

vernal crest
#

Haha yes indeed

elder kite
#

Man this C# helper mod is gonna be the end of me 😭

subtle condor
#

Wait, there is a whole unused secret Island map in the files? 😮😮😮 so unfortunate that such a big and basically finished map hasn't been used

elder kite
#

I guess I should start with the simpler side of things, trying to use spacecore to override the health and stamina gained from certain foods

hard fern
elder kite
#

Is there a syntax error or something?

hard fern
#

looks similar to the island west we have

elder kite
#
      "Action": "EditData",
      "Target": "Data/Objects",
      "TargetField": ["395"],
      "Entries": {
        "Buffs": [
          {
            "IconTexture": "TileSheets/BuffsIcons",
            "IconSpriteIndex": 9,
            "Duration": "{{7eventy7.CoffeeConfigHelper/MinutesToGameDuration:{{config:Coffee Duration}}}}",
            "CustomAttributes": { "Speed": "{{Coffee Speed}}" }
          }
        ],
        "IsDrink": true
      },
      "When": { "Enable Coffee Changes": "True" }
    },
    {
      "Action": "EditData",
      "Target": "spacechase0.SpaceCore/ObjectExtensionData",
      "Entries": {
        "395": {
          "EatenStaminaRestoredOverride": "{{Coffee Energy}}",
          "EatenHealthRestoredOverride": "{{Coffee Health}}"
        }
      },
      "When": { "Enable Coffee Changes": "True" }
    },```

theres the full code for one item
#

This is what I found on the wiki that led me to making it

Vanilla Asset Expansions

    Objects - These are in the asset spacechase0.SpaceCore/ObjectExtensionData, which is a dictionary with the key being an object's unqualified item ID, and the value being an object containing the following fields:
        CategoryTextOverride - string, default null (no override)
        CategoryColorOverride - same format as Json Assets colors, default null (no override)
        CanBeTrashed - true/false, also prevents dropping, default true
        CanBeShipped - true/false, default true
        EatenHealthRestoredOverride - integer, override how much health is restored on eating this item, default null (use vanilla method of calculation)
        EatenStaminaRestoredOverride - integer, override how much stamina is restored on eating this item, default null (use vanilla method of calculation)```
vernal crest
#

Is it just the spacecore part that's not working?

elder kite
#

Coffee Speed is the only part thats currently working properly, I still need to sort out why the C# helper mod isnt working for the duration

drowsy pewter
#

I'm sure a C# person will come in to tell me that I'm wrong in a second, but I wonder if having the tokens in the override values makes the number value be a string instead of a integer

subtle condor
vernal crest
#

I use tokens in int fields a bunch but I would personally remove the tokens to test, yes.

#

What does the patch summary say the spacecore patch is doing>?

elder kite
drowsy pewter
#

i also just noticed that with this model, two mods cant write spacecore extension data to the same object without conflicts, which is unfortunate

vernal crest
#

Or rather, the log parser

#

With your whole log

elder kite
ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Microsoft Windows NT 10.0.26200.0, with 20 C# mods and 11 content packs.

vernal crest
#

None of your data/objects patches are being applied because of invalid tokens but the same isn't happening with the spacecore ones. Try using int values instead of the tokens in the spacecore patch temporarily.

elder kite
#

Well this is embarrasing, this modlist didnt even have spacecore in it

#

3/4 functions done then xd

vernal crest
#

Haha no it didn't

#

Might want to add the dependency to your manifest to avoid that happening again lol

elder kite
#

Will do

calm nebula
drowsy pewter
#

but you cant use fields to add the first entry

calm nebula
#

you..can't?

#

huh

#

til

drowsy pewter
#

yeah it looks for the entry with the key name and then goes wahh i cant find it help

calm nebula
#

(I thought it was changed early 1.6)

#

okay, hmm

drowsy pewter
#

Well maybe it did change

#

Its not like i repeatedly try things that didnt work before haha

calm nebula
#

neither of us are gonna test it now, right?

drowsy pewter
#

nope

calm nebula
#

I'm gonna coffee and touch grass 😛

autumn tide
#

uhhh how can one make a map larger in tiled?

calm nebula
#

right and down only

autumn tide
#

oh, I'm on mac and that option doesn't show-

#

I'll keep looking LOL

iron ridge
#

Do you not have the top options at all at the very top of the screen?

elder kite
#

If anyone here is experienced with C# modding I could use a bit of help, this should be stupid simple but I'm doing something wrong and just cant figure it out. I can post what info I have about the issue here, but it would probably be easier to just send the ModEntry.cs file and the mod its supposed to provide the supporting function for

autumn tide
uneven spindle
#

hello! sometime ago I got some advice to avoid doing many little patches to big assets like LooseSprites/Cursors but at the same time the NPCs there are scattered all over the place

#

any advice how should i tackle these edits?

autumn tide
#

hm, will there be any issues with expanding dwarf's cave to the right considering the other mine entrace on that map?

iron ridge
#

You might see one cave or the other?

autumn tide
#

hm

obtuse wigeon
#

You might be able to see either of the areas from the other, I'm not sure if theres any special features that map specifically has however, hopefully someone else with more knowledge can give a bit more detail

#

Everyone beats me to it XD

autumn tide
#

i might be able to expand the area to push that other cave further away and then do some locations data editing to make it so that it would still teleport to the correct tiles?

#

that sounds pretty ambitious tho

#

and might have compatibility issues

drowsy pewter
#

compatibility issues is my biggest worry

obtuse wigeon
#

Don't forget you can extend down too, extending down would probably be the least compat breaking method

drowsy pewter
#

if anything i would make a new map

autumn tide
obtuse wigeon
#

actually scrap my idea, 6480's idea is a much better idea

autumn tide
#

i already have this

#

uh, hello?

drowsy pewter
#

I'm not here, I'm sleeping. Sorry

#

my suggestion was not me saying I was helping

autumn tide
#

oh okay lol, no worries, and also gn!

dull schooner
#

hey, I've made a new map! I can help!

#

I've been working on my NiGHTS Custom NPC mod since it broke when version 1.5 dropped. Yeah. It's been... a hot minute. But I'm back in the groove again, and it's been going

#

I might've bit off more than I can chew with the idea of unlocking NiGHTS' dialogue through scroll items akin to the Dwarvish Translation guide...

#

that might be an update thing

latent mauve
#

How so? Are you just trying to add new dialogue based on acquiring an item?

dull schooner
#

no, like... you know how you can't speak to the Dwarf until you get all 4 scrolls and gain access to the Dwarvish Translation guide?

#

similar thing

autumn tide
latent mauve
#

Oh, so you would want the NPC to be nonsocial until that point

#

So CanSocialize in the Data/Characters would be false and you make that true with a patch once the scroll condition is met

dull schooner
#

right, I get that, the thing is actually implimenting the scrolls is kinda scary to me. Again, the last time my mod was working was during version 1.4

autumn tide
#

hm, there is a language thing in character data, where you can have a charcter speak either dwarvish or the default language

dull schooner
#

I'd hopefully make an entirely new language, since that's what NiGHTS speaks in their original game

#

and you can see why I'm starting to hesitate on that idea

autumn tide
#

hmmm i have an idea, lemme see if it's feasible

dull schooner
#

anyway, Claude, what do you need help with?

autumn tide
#

oh, I want to edit dwarf's cave to make it larger, I'm not sure how to go about it since the same map also has the quarry mine entrace connected to it

dull schooner
#

gotcha, and I see someone suggested making a new map

autumn tide
#

yup! no clue how though, or how i might implement it

vernal crest
#

Look at the wiki for how to make maps?

dull schooner
#

I can try and help- the wiki will be really useful, but then I can help with the coding aspect.

#

because that's where the wiki kinda lost me

autumn tide
#

Yeah, i'm just not sure on how to implement the map into the game, like would i re-do the whole mine entrance?

dull schooner
#

last I checked it didn't mention that you need a blank .json file. That sounds super dumb, but it's important. I learned this from the Stardew Modmaking Discord I used to be in

latent mauve
#

For coding, you want to use the Location Data wiki page for an entirely new map

autumn tide
#

uh huh

latent mauve
#

Well, blank.jsons AREN'T actually required, unless you are intend to use tokens, they are just a best practice

dull schooner
#

ah, yeah, I'm using tokens for my custom npc

dull schooner
#

it's been a few months since I last worked on my mod

latent mauve
#

You can just load the actual entries directly to the new JSON instead of using a blank.json but if you are using {{ModId}} which is a token, it won't parse the token properly.

dull schooner
#

gotcha, thank you for correcting me

latent mauve
elder kite
#

ive gone mad

#

xD

dull schooner
#

that's... a lot

latent mauve
#

Is it something that would make sense to have an alternate mine/cave entrance, or a door/opening in the existing mine map that leads to your custom map?

autumn tide
#

i want to make their cave larger, add more decor, add those item interact things so you can learn more about their hoard, and add a super primitive schedule

#

hm

#

i'm not sure

#

my first instinct is the second

latent mauve
#

As an example: for my Zelda mod, I am intending to have the Dwarf (reskinned as a Goron) block a doorway deeper into the mines to get to the Goron cave

#

And that doorway is unblocked when you get enough friendship

autumn tide
#

huh

latent mauve
#

Feel free to yoink that idea

dull schooner
#

nice! For my NiGHTS Custom NPC mod, it made more sense to have a warp space to their custom map because... well, their custom map is really cool

autumn tide
#

maybe I could add a basement instead of making the cave bigger?

#

with like an interactable trap door, similar to the NPC room things?

dull schooner
#

the custom map, if anyone's curious

#

but yeah, the basement idea sounds good!

autumn tide
#

thanks for your guys' help :)

#

now to figure out how to do this..

dull schooner
#

the wiki is a great resource

latent mauve
#

Yep, you could easily do a trapdoor or ladder with a lockedDoor warp

autumn tide
#

oh, yeah i adore the wiki

autumn tide
dull schooner
#

lockedDoor warp is what keeps you from accessing an NPCs room/area without enough friendship, or a shop when it's closed

autumn tide
#

hmm okay

latent mauve
#

A lockedDoor warp is the thing all the friendship locked doors use as a tile action!

autumn tide
#

okay

latent mauve
#

There's also a conditional door if you don't want it friendship or time based

autumn tide
#

still really new to maps so bear with me lol

vernal crest
#

Hey @dull schooner your other account is still a member in SMC. Have you lost access to that one completely now?

dull schooner
#

yeeep

#

it's gonna be deleted by discord staff eventually

#

yeah that account was hacked and it was rough

#

they said it'd be deleted within 15 days, so by the 13th of this month

vernal crest
#

Okay I'll chat to Elizabeth about removing it from SMC. Do you want an invite for your new account?

I'm sorry to hear that, it sucks to lose access to online amounts especially when you build up a lot of history with them.

dull schooner
#

yes please

vernal crest
#

Ok I'll dm you so I don't get bonked by the automod lol

dull schooner
#

and yeah, it sucked so much. My sibling got really angry about it- like, they don't emote much, but the sent a message in the discord server for my streams basically saying "I know the person who hacked [Alex] isn't reading this but I want them to know I hate them for what they put my sibling through" which is... more emotion than I expected

#

thanks!

royal stump
# elder kite ive gone mad

fwiw you could try a query in place of all that, depending on the intended formula
(though you might need to remove the spacing from the other tokens)

{
         "Name": "CoffeeTicks",
         "Value": "{{Query: {{CoffeeDuration}} * 86}}"
}```
elder kite
#

This could potentially work but when I tried to just calculate it out I ended up with some rounding errors

#

Some values showing up with 1 second less than the config specified

#

So the manual method might actually be better because I can specifically define the gameticks so it rounds correctly

native trench
#

I'm hoping to add just one weapon to the vanilla Stardew Valley. Of course, there's Smapi.

#

I really don't know anything about mod making. Can anyone help?

brittle pasture
#

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

brittle pasture
#

you can add weapons with just content packs, no need for C#

#

use Content Patcher, make a content pack that targets Data/Weapons

#

[[Modding:Weapons]]

native trench
#

I already have JsonAssets mods.

#

Will that help?

whole raptor
#

JA is a relic of the past

native trench
#

oh.

obtuse wigeon
#

Yes kinda, JsonAssets has been superseded by Content Patcher, but the way you write it is very very similar, so you should find it a lot easier than if you have had never used JsonAssets