#making-mods-general

1 messages Β· Page 285 of 1

lucid iron
#

I am joke ofc but it is an option for cases where u want something complex

orchid glade
#

Okay, I have tested using EditImage to replace an HD portrait with vanilla size portrait (in a mod that doesn't show the HD portrait in full), and it turns out that it does interpret the portrait as having multiple columns, so it works for $0 and $1, but then it starts showing zoomed in portions of the original HD portrait instead for $2, $3 etc.

lucid iron
#

Like start event when player moves past a tile

vernal crest
#

I want mine to have very specific requirements to unlock but then be incredibly easy to trigger. An event triggered by one single tile does not feel like it meets that requirement.

#

Although I appreciate your enthusiasm for complexity :P

vernal crest
lucid mulch
#

wouldn't you need a precondition anyway to make sure it doesn't activate itself until spacecore triggers it

lucid iron
#

I guess so, need FALSE

orchid glade
#

Forgot to do that, but I'm pretty sure it's the HD portrait, with one corner replaced with my smaller tilesheet. I ran a dialogue test for $0 to $11 and it looked like it was running through sequential blocks of 64x64 along the top of the HD portrait, with my portraits showeing at the start of each row.

lucid iron
#

Bezajel what are you trying to do

orchid glade
#

Anyway, now I try the Appearances method

lucid iron
#

What flavor of hd portrait is it?

orchid glade
#

Just a simple portrait replacement, but the original mod loads HD portraits instead of vanilla size

#

The flavour is just 512x512 portraits loaded in the mod as if they were vanilla size assets

lucid iron
#

That's gotta be scale up 2 then

orchid glade
#

(no PyTK, ScaleUp, or anything)

lucid iron
#

(there's like 3 different ways to do hd portraits rn)

orchid glade
#

Yeah and none of them are being used in the mod

lucid iron
#

That seems unlikely unless they have custom C#

vernal crest
#

Portraiture has a CP approach

orchid glade
#

It's none of those

#

trust me

vernal crest
#

Dacar does all their Portraiture portraits as CP

#

You can't have a working HD portrait without any of these options

lucid iron
#

Oh is it working again that's good DokkanStare

vernal crest
#

So either it is one of these or everyone using the mod is just seeing a tiny snippet of her actual portrait without complaining

orchid glade
#

Oh people are complaining πŸ˜›

golden spire
#

users always complain 😦

lucid iron
#

But if it's portraiture then u should be able to switch directly back to vanilla

vernal crest
#

If they're shipping the HD portraits in with the mod, they might intend people to use it with Portraiture and just not have explained that well

lucid iron
#

It could also be hd portraits (not updated)

orchid glade
#

It's not using portraiture

#

Yes Aba, I think that's it. Basically, they did not make any vanilla size portraits, so the mod uses the HD ones to load

#

But to get the HD portraits to actually work, people have to copy the portraits into Portraiture

lucid iron
#

How terror DokkanStare

orchid glade
#

It's actually the same thing Baldur's Village have done

#

Only it's a bit clearer in that case

vernal crest
#

I've seen some Chinese NPCs with the same

#

I load them into my game to test something and see a quarter of their face lurking in the portrait box

lucid iron
#

So if the original Load had Priority Low you can Load your portrait over

orchid glade
#

I think it's really common for the Korean mod community, everyone just uses Portraiture

lucid iron
#

But since that's not default it's unlikely PecoSmile

orchid glade
#

The original load has no priority set, therefore exclusive

#

I'm going to bypass with Appearances though πŸ™‚

lucid iron
#

Yep that should work

orchid glade
#

I'm also offering a PNG only download so people can just replace the portrait in the original mod, but I'm doing a CP too just to be extra

lavish fractal
#

Question. I’m trying to replace Clint with sans the skeleton.
His altered dialogue works perfectly, but his portrait is just Clint’s
Is that a json issue?

golden spire
#

without seeing your json or smapi log we can only guess

orchid glade
#

Or a compat issue

#

Eg. other mods that alter his appearance

lavish fractal
vernal crest
#

!json Please upload your json to this website and send us links rather than sending the file here or sending screenshots

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.

lucid mulch
#

(the indentation SDVpufferchickcry )

lavish fractal
#

like this?

vernal crest
#

That's it, thanks :)

lavish fractal
#

no worries. sorry about that ^^;

lucid mulch
#

missing a bunch of {

vernal crest
#

You're missing nearly every starting curly brace for each patch

golden spire
#

and as we saw in the screenshot you're using plain notepad, we recommend the text editors mention in the link above, which contain many useful featrues such as syntax highlighting

#

makes seeing issues like that easier to spot

vernal crest
#

Your targets for the images look correct, though it's curious that you're loading the sprites and using EditImage for the portraits.

gray bear
#

(do we have a command for this? thonk)

golden spire
#

recommened software? we do.. but I forget what it is

vernal crest
#

It's right there in the json command

gray bear
#

oh, it sure is. how did i not see that, heh

vernal crest
#

My guess is because we all use these commands so often that we stop reading what they actually say. I certainly do lol

golden spire
#

!software

ocean sailBOT
gray bear
#

i mean yes there's a software command but this is more useful

#

get ur hands on a notepad++, its free and will yell at you about missing brackets

golden spire
#

software is also art stuff/etc

orchid glade
#

ok it's bed time apparently, niiiight!

lavish fractal
#

idk what you mean by curly brace, but i assume it's the squiggly bracket?

gray bear
#

{ }

#

these suckers can hold so much code in them

golden spire
#

yes, americans don't call those brackets,

gray bear
#

brace and bracket are like, the same thing no? i dun actually know

golden spire
#

it's a mixture of differen english

#

to me this is a round bracket ( ) but Americans it's parentheses

#

[ ] square bracket

gray bear
#

its just prison for letters SBVMischief

tiny zealot
#

i ported over the 1.6 migration page part with the new event preconditions and i was pretty neutral about it. (i agree that the old ones are strictly worse but i didn't want to speak badly of people's existing work). pathos rewrote it later and put in a much stronger "you should not use the short aliases anymore"

golden spire
gray bear
#

how does you get those angle brackets? unless it's just <>

#

<>< fish

tiny zealot
#

it's just those

vernal crest
#

I have never used the word brackets to refer to parentheses.

gray bear
#

they look longer there

tiny zealot
#

in conclusion, "brackets" is a land of contrasts

gray bear
#

chevrons,,, such a cool name

vernal crest
#

HEY I used chevrons to describe them and I kept being told they are not chevrons!

#

This is very suspicious

gray bear
#

ok so

#

all arrow symbols are chevrons?

tiny zealot
#

i think unicode has a separate codepoint for chevrons and guillemets vs angle brackets <> but i'm not quite sure on that

gray bear
tiny zealot
#

guillemets for sure has its own thing

gray bear
#

vague descriptions if i've ever heard em

golden spire
#

well < and > are also just less-than, greater-than... at what angle do they become a different "symbol"

gray bear
#

^ is up and ,,i can't find the down ones on my keyboard

lucid iron
#

{ } in chinese is apparently just "big bracket"

gray bear
#

good name

tiny zealot
#

chinese with another W

golden spire
#

} is also a mustache ( }-8

gray bear
#

mustache man kyuuchan_nod2

vernal crest
# tiny zealot i ported over the 1.6 migration page part with the new event preconditions and i...

Do you think it's speaking badly of existing work to say that readable names are preferable? I think that writing a game you think that no one will ever play, let alone make mods for, is a perfectly understandable time to use practices that work for you but may not be as usable for a wider audience. And the fact that they got changed to more readable names at all is another example of CA's excellent commitment to us as a community by making an unnecessary but helpful change for us, imo.

lucid iron
#

Makes up for the L when u gotta say "english comma" so ppl don't use full width

gray bear
#

...is there not a down arrow? i can't find it but i could very well be blind. i was sure it existed

tiny zealot
#

v

gray bear
#

that's just a v

lucid iron
#

⬇️

gray bear
tiny zealot
golden spire
#

no it's upside down circumflex

vernal crest
# lavish fractal just downloaded it now

By the way, you should set the language for your json files to JSON5 instead of just JSON so it doesn't complain about trailing commas or if you want to add comments.

gray bear
#

βŒ„

#

that just looks wrong

#

oh damn, didn't know that was a thing

#

i only did jsonc for the comments

vernal crest
#

Did you have to download a plugin to use jsonc?

lavish fractal
#

i just wasn't able to type for 10 minutes. i accidentally did smth

vernal crest
#

Because I only see JSON and JSON5 available

gray bear
#

ah, well i'm not using notepad++

lucid iron
#

Jsonc is what vscode calls it

gray bear
#

oh wait really? BeaWow

lucid iron
#

Approx equiv to using json5 i think

vernal crest
#

Oh lol well I was giving specific instructions for N++ Bea

lucid iron
#

!jsonc

vernal crest
#

jsonc is sadly a little more strict than json5

lucid iron
#

!vscjsonc

ocean sailBOT
#
How to make VSCode not scream at json comments

In Visual Studio Code, go to File -> Preferences -> Settings, then search for "associations", and in the "Associations" setting, click the Add Item button to add an item with key *.json and value jsonc (see image).
If you are making a content pack for Content Patcher, you should consider using its json schema so that VSCode can tell you if your patches are valid, you simply have to add

"$schema": "https://smapi.io/schemas/content-patcher.json"

at the start of your content.json file.

gray bear
#

we dun have a command for that chu

#

oh we do

#

o-o

lucid iron
#

Here it is

gray bear
#

we got so many commands

lucid iron
#

Maybe we could get a nppjsonc for parity

vernal crest
lavish fractal
gray bear
#

~~should i add an associations for json5? e_think ~~

vernal crest
#

Oh yeah you can't use sub or super script probably

tiny zealot
gray bear
#

yeah special texts is restricted to higher levels

lavish fractal
gray bear
#

vscode complains about trailing commas

vernal crest
#

I can tell you how to make that stop

#

VSC can't/won't use json5

gray bear
#

ah, i see

lucid iron
#

You can probably get extensions

vernal crest
#

For json5?

#

I am pretty sure I've googled it before

lucid iron
#

Yeah it seems surprisingly difficult lol

vernal crest
#

Bea, in your vsc hit F1 and then type settings and then click "Preferences: Open User Settings (JSON)"

gray bear
#

okie

#

done

vernal crest
#

It will probably look something like this?

gray bear
#

mhm!

vernal crest
#

Add this after line 4 (make sure to add a comma to line 4):

"json.schemas": [
        {
            "fileMatch": [
                "*.json",
                "*.jsonc"
            ],
            "schema": {
                "allowTrailingCommas": true
            }
        }
    ]
#

Actually you don't need the "*.jsonc" bit since SMAPI doesn't accept .jsonc files but meh

whole raptor
#

I mean... why not delete trailing commas? SDVkrobusgiggle

gray bear
#

sometimes there's like, over 30

vernal crest
#

I used to but found that I always forgot to add commas when I added new lines and didn't find out until I tried starting the game

lucid iron
#

Trailing commas reduce git diff noise

gray bear
#

i don't use them but when im trying to make edits to other mods it's easier to find actual problems

lucid iron
#

But i actually just got ready good at ignoring the lil yellow squiggle

vernal crest
#

I was also good at ignoring it but when I found out how easy it is to make them go away I decided "why not?"

#

The squiggles and warning count, that is

whole raptor
gray bear
#

alright! ty Aba SDVpufferheart

whole raptor
#

I don't know why I'm converting More New Fish to not use MFM for myself... SDVpuffersquint

lucid iron
#

Are u gonna PR the mod

gray bear
#

feesh

vernal crest
#

MFM isn't even obsolete, Digus is actively releasing new features

tiny zealot
#

i have enmity with trailing commas (most of the time) so in an asset i expect to edit a lot, like i18n, i often include a dummy thing at the end whose only purpose is to have the no comma

"realKey": "realValue",
"anotherRealKey": "somethingICareAbout",
"EOF": ""```
whole raptor
vernal crest
#

I never identify with this "fewer frameworks" thing, especially as a user

whole raptor
tiny zealot
#

all things being equal, fewer frameworks is a win. but often the things are not equal

whole raptor
tiny zealot
#

(the thing i strongly identify with is "smaller frameworks" but i'm digressing from that in advance)

vernal crest
#

If I could choose a minor superpower it would be knowing which .cs file to look in to find the Stardew code I am looking for

lucid iron
#

Smaller frameworks is actually more number of framework tho

#

But hm i don't actually hear about "i chose not to download this mod because it uses framework I don't already have" very much

#

My version of this is "i chose not to download this mod because it's dependent on a personcore"

tiny zealot
vernal crest
#

I haven't seen a situation where I have thought a personcore felt really justified but it has never stopped me downloading a mod.

vernal crest
# tiny zealot my version of this superpower is called `grep` /lh

No but you see what if the thing you have to search for is something that will come up in MANY files but you only want a certain implementation of it and don't know exactly what that might look like? Like I was just looking for portrait and that got 274 hits.

#

Sometimes I know what I want to find but not any of the code to search for, too.

tiny zealot
#

ah. well, you see, (trails off incoherently)

tiny zealot
vernal crest
#

Why don't you like my rectangle, VS????

#

Oh because I hadn't finished entering the arguments. Why couldn't it just say that SDVpufferflat

lavish fractal
#

is there anywhere i can show off what i've done in the mod i'm making?

vernal crest
#

If it's art (visual or writing or music) you can share it in #making-mods-art. If you think it meets the rules for being additionally published to the #mod-showcase (check the pins in there for the rules) you can ask a cheeto (we orange folks) to publish it to there for you. Usually people just showcase their finished mods with a Nexus link but you can showcase media from unreleased mods, I think.

#

Since you're new and only a Villager, there are restrictions on where you can post images. You can do it in here, obviously, and I think you can in #making-mods-art too. If you wanted to share your work in #modded-stardew you'd have to post the images in #making-mods-art or #images-and-memes and then link to that post from modded-farmers.

vernal crest
# lucid iron DialogueBox?

Yes I actually did know where to look this time it just made me remember all the times I haven't known xD

lucid iron
#

I usually do like

lavish fractal
#

i'll put it in the mod art channel

vernal crest
#

(Just in case your mod had either of those things.)

lucid iron
#

Ctrl P and try to think of what the clas could be called

lavish fractal
#

nah, never did. don't worry

vernal crest
#

I wish the game could just know where I want to put menu things instead of me having to do mathy things

#

This is good enough, right? /j

#

Hiria says hello

loud iris
#

Is there any optimization mod for 1.6 ?

vernal crest
#

Scarlett saw significant improvement from using them but they're not really intended for general use right now I don't think so YMMV

unique sigil
#

i'll add khloe's Better Game Menu to that list too, though last i checked its still missing compat from some menu-related mods

vernal crest
#

Oh yeah BGM is good for speedy menus

whole raptor
#

It's nice to finally have a different answer to that question than just: nope SDVkrobusgiggle

orchid acorn
#

Sorry for the very late ping, but it appears I missed a random token while bulk doing i18n and it converted it to an import token

lucid iron
#

By name

lucid iron
vernal crest
lucid iron
vernal crest
lucid iron
#

There's no build for latest smapi though, you will have to merge and compile yourself

#

I believe it's not that advanced Dokkan

vernal crest
lucid iron
#

As in, i believe you can do it

vernal crest
#

But I can't, chu.

#

I already tried.

#

I am capable of learning more and then trying again but I am not ready yet.

lucid iron
#

But it is true that there's like, UI land specific abstractions in there

#

I think that is the cliff in the learning curve here

vernal crest
#

It is taking me everything I have to produce this dinky little thing #making-mods-general message and it's demoralising to be pushed to do better than I already am managing.

#

I want to be proud of myself but when you push me more it makes me feel like you think I'm not trying hard enough SDVpufferpensive

lucid iron
#

I don't want to push you to do anything though, frameworks are just tools to make something easier to accomplish

vernal crest
#

(I'm sorry, I didn't mean to suddenly get all serious and depressy at you - especially not here in public, but I've been struggling with it a bit)

lucid iron
#

Wanting to do something from first principles is not bad thing either cus it is for learning

tawny ore
#

I've got a StardewUI problem, but it's moreso that I lack imagination. I just can't conceptualize what I want to make.

lucid iron
#

What if you go make it in js first Dokkan

tawny ore
#

I kind of know what problem I'm trying to solve, but waiting for inspiration for how I'd want to solve it

vernal crest
#

I do want to use the frameworks and I'm definitely not intending to try to build something big from scratch, but when I tried using StardewUI there was just too much going on for me to know what to poke at. Same when I went to look at Khloe's BGM. I needed to start with the smallest, most basic possible way to make a menu to understand anything about how to make a menu. And I am adding in one tiny feature at a time so that I can understand each thing.

I'm not intending to use anything I'm doing now for an actual mod. When I know enough to make a mod I am going to be using the frameworks. But for learning the concepts the frameworks are a biiiiiig place to start.

tawny ore
#

I think my problem is similar, I'm not fluent enough to just mess with it and try a bunch of things out to see what works

#

I need the concept to exist before even getting into StardewUI so that I know what I'm trying to do

lucid iron
#

Yeah and the reason why i brought stardewui up here is that the primary thing it achieves is abstracting away the math involved in something like

tawny ore
#

And right now, messing around is easier for me to do manually than use the framework

lucid iron
#

"place these portraits in a list"

blissful panther
tawny ore
#

It's kind of like sketching before you go into full-fledged painting

lucid iron
#

Yeah i have a background where i used numerous ui framework with similar paradigm b4 so it's like ah i can do Qt like things in sdv now

#

Goes back to the cliff in learning curve

vernal crest
#

Thinking this way is all still so new to me that I am still wrestling with the idea that I have to define my thing and then also draw it too. I wasn't expecting that and spent a little while wondering why my button wasn't visible in game even though I'd said "it's here in cursors".

tawny ore
#

If I were fluent in StarML, I could probably work with it as fast as my mind works. i.e. I could make small tweaks and reload as part of my development process

blissful panther
vernal crest
#

They are incredibly tiny baby steps but the important thing is that they are still steps.

acoustic summit
#

Pain of making a replacement system you thought would work for mobile but doesn't actually work for some unknown reason (both the original and replacement work on PC!) cause you can't test it. SDVpuffercry

lucid iron
#

What's the problem you have?

acoustic summit
#

Donation menu is the only part that won't work on mobile :/

lucid iron
#

Oh for nitv right

acoustic summit
#

I guess inventoryMenus dont work correctly, yepp

lucid iron
#

Yeah menu is doomed for phones

acoustic summit
#

I tried to use a scuffed shopMenu instead, which I tested to work, but which also breaks on mobile

lucid iron
#

I think the only way to do it would be reuse ItemGrabMenu exactly with no change

acoustic summit
#

uh oh... back to the lab again SDVpufferwaaah

#

Thankyou! I'll check that out

lucid iron
#

Another idea i have is

#

Use the item pedestal

#

Or a item holding table

#

Dodge menu entirely basically

acoustic summit
#

Players place the creatures on the pedestal to donate?

lucid iron
#

Yeah Bug on the table please

acoustic summit
#

haha

#

Jodi mode:Bug on floor

brittle pasture
lucid iron
# acoustic summit Thankyou! I'll check that out

To elaborate on this, i meant like have a global inventory that people open via tile action perhaps and put Bug inside, do not attempt to subclass the item grab menu, not even a little bit, if you want this to work on phones

whole raptor
#

Wait... can we receive recipes in mail in 1.6? SDVpufferthink

lucid iron
#

Yeah

#

Wag recipes are delivered like that

whole raptor
#

Oof, that means I haven't wasted the last hour

#

Thanks

brittle pasture
#

hasnt that always been a thing

#

mail data is one of the things that wasn't (significantly) changed in 1.6

whole raptor
#

Was it? SDVpufferthinkblob I thought I remembered something about recipes and mail being problematic

#

Maybe I jus remember wrong

vernal crest
tawny ore
#

You can read that as "Go learn, cutie"

tiny zealot
#

that's also a no u. i am a dinosaur and refuse to learn things /lh

lucid iron
#

Can't believe none of the py bindings for qt is called "cutiepie"

reef kiln
#

@brittle pasture Is this an issue with your mod or better special orders? or both just working together? I get the same error in SMAPI every Saturday night/ Sunday morning when I sleep.
https://smapi.io/log/e0c6826f359441aeb446044ff80846f1
If it is not you I will report to the other mod. Thanks

ocean sailBOT
#

Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24354 on Microsoft Windows 11 Home, with 237 C# mods and 317 content packs.

thin lake
#

Question: is there a list of the current compadable mods as far as 1.6.15?

brittle pasture
tender bloom
#

Content packs are typically compatible if their frameworks are comptaible

#

Note that here "compatible" can just mean "loads into the game without crashing"

brittle pasture
uncut viper
#

fwiw ive seen that error a couple times before and BetterSpecialOrders was always involved

reef kiln
uncut viper
#

harmony will just list every mod ever that patches a function

calm nebula
#

(At some point you get to the point where you just become paranoid)

#

Really

uncut viper
#

even if they only do a postfix or even if they literally do nothing in their patch

lucid iron
#

Selph what if you leave journal

calm nebula
#

It's....not pleasant coding in a paranoid way

brittle pasture
#

FFP patches it but only runs its code if the key references the mod's specific special order key

lucid iron
#

Better Game Menu 3sSmolMiku

brittle pasture
#

Which in this case seems to be null

brittle pasture
lucid iron
#

Perhaps this is finally the usecase for machine Interact method too

rigid oriole
lucid iron
#

Make big craftable that is like a magazine that opens the FFP menu

rigid oriole
#

Can be caused by duplicate commas

lucid iron
#

I been wanting to use that for months but alas I have no inspiration

uncut viper
#

(i was typing that before your edit)

rigid oriole
#

I've had nres with getspecialorder before and the issue is potentially not even bso but a mod that adds an order

uncut viper
#

yeah im not saying its 100% for sure bso just that it wouldnt be one of the rewards

rigid oriole
#

Unfortunately the key is straight up an empty string which is not useful

rigid oriole
brittle pasture
#

the key is null, it shows as an empty string in the log since it does "msg" + key

reef kiln
#

So am I checking something or not? it happens ever single saturday/sunday on save and I lose one of my rerolls for the special order board. It is not a big deal as I don't tend to us the rerolls but I just wanted to report it to who ever would fix it.

rigid oriole
#

Does that not throw an error when u try to string null in c#

#

Is bso source available

uncut viper
#

theres a github yeah

rigid oriole
#

i still think a patch export would be good to see if there's truly a null order there

reef kiln
#

I can do that if you tell me how?

rigid oriole
#

patch export Data/SpecialOrders

#

then pop open the file and ctrl + f for the word null

uncut viper
#

theres going to be a lot of nulls

reef kiln
#

there are alot of null

rigid oriole
#

oh it'll do default fields too huh

reef kiln
#

thats the file

rigid oriole
#

null requestors are ok in special orders right

uncut viper
#

yes

#

a null special order also wont appear in a patch export, you cant have a null key as a dict key

#

it just wouldnt exist

#

BSO just doesnt check to make sure the special order it tried to create actually exists after attempting to reroll

#

GetSpecialOrder can return null and BSO doesn't account for that possibility

rigid oriole
#

that was why i said it

uncut viper
#

(and also, its been open as a bug report on BSOs page since December)

coral trout
#

hi dears anyone tried building mod with github actions?

uncut viper
#

yes, actually, someone was last night

coral trout
#

got this error prompted, wondering any way to walk around

rigid oriole
#

even if BSO checks for that null, it will only get rid of one of the errors, but BSO will probably be able to just skip it and still work properly

coral trout
#

wow thanks

rigid oriole
#

the first red exception is logged by the game in a try/catch

uncut viper
#

if BSO checks for null and aborts it will get rid of both errors

rigid oriole
#

sometimes things exist in data/special orders but can't be retrieved through getspecialorder

coral trout
rigid oriole
#

i'm potentially bring up a related bug and not the actual issue at hand here

#

like even if the key wasn't null, the first error could still happen

uncut viper
#

BSO calls GetSpecialOrder on its own. this is what returns null and makes the game log an error
Immediately after that, BSO calls SetHardOrderDuration on the order it just got back from GetSpecialOrder, without making sure its not null, which causes the second error

#

which then means it fails in its daystarted event

coral trout
#

awh amazing

lucid iron
#

The jank around this is mainly because mods depend on a entire game to build properly right

uncut viper
#

the github action downloads the entire game via steamcmd

rigid oriole
#

if you malformat a special order, it can't get parsed so even if they try to get a non-null special order it could still throw the game error

uncut viper
#

that game error can only happen if the key is null

blissful panther
#

Mods can be built with reference assemblies just fine. It's still on my radar to get a solution set up using just those, but time. SDVpufferwaaah

rigid oriole
#

not this exact one

uncut viper
#

then its not the first error

lucid iron
#

Something i thought about is hook that let me make a tag and then push a new release to github

uncut viper
#

the first error cannot still happen unless the key is null

rigid oriole
#

it's going to log an error from the same try/catch in getspecialorder. it will have a different message. it will probably still be an NRE

lucid iron
#

So i can just do it locally and be fine

tiny zealot
uncut viper
#

it isnt an NRE

reef kiln
#

it is funny it only happens saturday/sunday, or that when special orders refresh so that why it happens then?

lucid iron
#

Unfortunately git hooks seems complicated

uncut viper
#

thats why it happens yes

lucid iron
#

One day...

rigid oriole
#

*it will probably still be related to nulls

#

just trying to share a related experience that the author of this mod may want to be aware of

tiny zealot
#

i would probably want it to build the mod cleanly from the tag checkout though, so i guess i would also like DH's reference assembly for that

lucid iron
#

Ah like build against the exact smapi version specified in the manifest

calm nebula
#

Fucking special orders lol

uncut viper
#

BSO probably in reality wants to take another look aqt how it sets up its keys to choose bc i tried parsing it and couldnt really parse it easily but i imagine somethin there is not workin right. maybe something to do with oens already completed being removed frfom the pool

calm nebula
#

I hate how fragile the parser is

#

Fwiw, also, like

uncut viper
#

but, the mod creator has already been aware of it for months, so, they likely just arent all too bothered

calm nebula
#

I don't really see the point of building via github actions if I have to test the mod locally

blissful panther
#

The annoying thing is CA's okayed the hosting of the reference assemblies for building the mods, so it's a matter of just getting it all wired up.

And the main thing I want from it is to also automatically upload to Nexus, and have it verifiable that the built mod came specifically from the runner and a specific commit.

#

Overkill for mods? Absolutely! Kinda cool? Yes.

uncut viper
#

does nexus even have an API for uploading files?

blissful panther
#

There actually is a GitHub action for it if I recall, but it's... not using official methods, yeah.

uncut viper
#

scary

blissful panther
#

Yeah, reasons the uploading part won't happen until they eventually add the upload API...

uncut viper
#

i feel like automated file uploading is probably something they specifically dont want to add, for bot and malware reasons

rigid oriole
#

i think they said it's a potential feature but it does have a lot of .... concerns

blissful panther
#

Oh, it's on their radar!

#

It's just a matter of when.

uncut viper
#

is that on their radar as in they actually want to, or on their radar as in "we're acknowledging this but we dont seem like we're gonna try too hard"

blissful panther
#

Probably "on their radar, but astronomically low on the priority list".

uncut viper
#

i tried to find their post on the suggestion board but i guess when they changed their layout the old link in the google results no longer leads to the page directly :v

gaunt orbit
#

Honestly I would be more interested in improvements to the mod page ui

lucid iron
#

Just embed your mod in a self building definitely not a malware zip trust

gaunt orbit
#

Uploading the actual file isn't hard, it's just that everything else is full of fiddly bits that are annoying to work with

blissful panther
#

You know, SMAPI could just build the mods from source live like that. SDVkrobusgiggle

gaunt orbit
#

Would also be nice to be able to explicitly set a thumbnail

blissful panther
#

It knows where all of the important assemblies are...

uncut viper
#

the smapi knows where its important assemblies are at all times. it knows this because it knows where they arent

rigid oriole
gaunt orbit
#

Thank god

uncut viper
#

ill believe it when i see it

rigid oriole
lucid iron
#

The ploy to enforce C# open source by making the mod loader exclusively accept actual buildable sln/csproj

uncut viper
gaunt orbit
#

Honestly what would be nice would be an "import from github" button to automatically do changelogs and version numbers from github releases

uncut viper
#

its just called "primary image" instead

gaunt orbit
rigid oriole
uncut viper
#

the primary image thing has been there a long while

rigid oriole
#

i bet that one is far off tho

tiny zealot
uncut viper
#

i want nexus to add proper license selection in their permissions section :v i know people can just write the licenses in themselves but i think itd be nice if you could also just choose one

uncut viper
gaunt orbit
lucid iron
#

Well nexus has to stop providing it's weird perms first

gaunt orbit
#

... That is the wrong message

uncut viper
#

oh i was just stating my own independent thouight

#

oh

tiny zealot
#

nexus's mod description "editor" is a crime against god

blissful panther
uncut viper
#

that would also be nice. its like, acceptable when the github one is more permissive, but still sucks when nexus is just gonna remove you anyway if they complain and their nexus perms are more strict SDVpufferpensive

#

"acceptable" as in "ok well i guess this isnt TOO Bad since i can still use it..."

rigid oriole
#

I think a lot of things people put in their perms probably aren't legally enforceable but i do appreciate at least knowing what their stance is on what i do with their content

uncut viper
#

a lot of people put things that def seem not legally enforceable and honestly a lot of the times not nexus enforceable too i imagine
like im not looking to be an asshole purposely going against their perms bc i can or anything, i just think people should be more informed about it :/

blissful panther
#

(I would also like to normalise this being on mod pages. SDVkrobusgiggle)

uncut viper
#

(im still waiting on stuff to blow up in another modding community i pay attention to when people realize they cant actually retroactively change a license...)

tender bloom
#

i guess...

#

but you can't change the old uses!

uncut viper
#

these people defnitely seem to think you can!

tender bloom
#

I do think changing a license does something

blissful panther
tender bloom
#

(case in point: i changed mine)

tender bloom
blissful panther
#

Like that one is: https://img.shields.io/github/license/AlanDavison/StardewValleyMods

So if I change the license on my repo, it'll just automatically update.

surreal dew
#

@ivory plume Are typo/display text error reports from the forum something that is being looked into at some stage of the patching process, or is that not much of a priority right now?

I reported some (very minor) stuff some time ago and was wondering if I should bother sending in more in case I notice something.

uncut viper
#

without getting too into details bc its not wholly relevant here: they changed their perms basically from "you can do whatever you want with this" to "you can do whatever you want but you CANT make money off it after 6 months"
so going forward, sure, thats a license
but they just said its flat out the case for all uses of their thing now, and also didnt actually upload a new version of it, its still just the old file, so.... its not like they can prove someone isnt using the pre-license change version anyway

rigid oriole
#

you could throw a badge on your readme that links to nexus for literally no reason πŸ€”

#

badge is simply more fun than normal URL

ornate locust
#

Modders don't tend to know anything about licenses in general or specific licenses because they tend to just be random people, not actual coders or anything

rigid oriole
#

i feel like the average random coder also knows little of licensing

ornate locust
#

y'all definitely know more than literally any other modding community I've ever been in

uncut viper
#

i dont think you need to be a coder to know what a license is
(im not disagreeing with you just kinda adding on my own thoughts)
i think if you're gonna try and dictate copyright permssions and stuff on your things, you should probably know what a license is

#

not should as in "i expect you to" just. i think it would be beneficial if you did lol

ornate locust
#

But they don't even know enough to know what they should know, it's just rando Steve who sees a field of permissions and goes "okay" and fills it in

uncut viper
#

artists have to deal with licensing too

#

thats why i want nexus to add an actual license section!

ornate locust
#

From my experience, artists turned modders seem to know even less about it

#

Not universal

gaunt orbit
#

I don't disagree necessarily but I do think it leads to problems

ornate locust
#

but I have been in modding communities with a lot of artist-turned-modders and watching them grapple with it was a wild time

uncut viper
#

people who do commissions at the very least should absolutely be aware of it. again with the same use of the word "should"

ornate locust
#

The artists had the most immensely unenforceable ideas of licensing of all of them.

gaunt orbit
#

Not having a good grasp on licensing just makes Mod Drama even worse because nobody knows where the boundaries are

rigid oriole
#

every online community gotta have its drama huh

uncut viper
#

which can then be made even worse by nexus specifically if they enforce things more strictly than an actual license included in something, which makes people think that nexus's enforcement must mean its legally enforceable everywhere else, too

ornate locust
#

Yeah it's a mess. I don't know how you'd fix it without causing like twelve community upheavals at this point

gaunt orbit
#

That, and mods in particular are vulnerable to the sentiment of "if I can make it it's okay, and everything belongs to The People."

ornate locust
#

like I swear every game modding community has been a weird left turn in one way or another re: permissions, it's crazy. Each one assumes their permission desires are just the default and you're being an ass on purpose if you don't automatically understand the rules

#

or at least has a bunch of people like that

#

Had to sit down a modder once and say very slowly "Okay, but these unspoken rules that you say everyone knows, they don't know them. This is not true anywhere else."

uncut viper
#

permissions drama is the Great Filter of modding communities /j

ivory plume
gaunt orbit
uncut viper
#

ooh yeah of course. the legally binding Codes

gaunt orbit
#

"Why are you asking me to be nice to other people? That's virtue signaling, it has nothing to do with programming" asks the person who wants to contribute to a project being developed by a dozen other people

ornate locust
#

I have one reason I don't reeeeally like the idea of swapping to licensing. look, I can't get people to read much less text than a licensing agreement written in a style that people infamously just skip.

#

I'm sure it'd be enforced fine, but the length of dry legal text would cause riots

uncut viper
#

our minds went in two different directions there which I think speaks to how out there some of this stuff can get in some communities SDVpuffersquee

gaunt orbit
ornate locust
#

That would be ideal

#

I still don't believe anyone would read it, but you can at least point to a bullet point

uncut viper
#

switching to a license imo is less for the average person to understand it and more just protection for both me and the people who DO understand it, whether or not everyone else does

ornate locust
#

you can tell I had a mod where nobody read the giant bold "HEY HERE IS THE CAUSE OF 99% OF PROBLEMS" text, can't you

uncut viper
#

if someone is not going to use my stuff the license is irrelevant to them anyway. If they are, then I would expect them to learn what a license is. it's the least they can do

gaunt orbit
ornate locust
#

idiot teenage me like fifteen years ago: Okay but what if it's like... a different color? Bold? italics?

uncut viper
#

you could print it on the inside of some people's glasses and they would switch to contacts just to ask you again

gaunt orbit
#

One of the golden rules of humanity is that People Do Not Read. No matter how useful it is, no matter how obvious it is, it will be ignored by at least some people

ornate locust
#

I had people basically say "I read that but didn't think it applied to me"

#

SDVpufferchickcry it wasn't better

latent mauve
#

Aw, I missed Pathos. Was gonna ask if they knew about the NPC Map Locations thing (because I think they are the one maintaining it now?)

#

The wide Bookseller

#

Oh well, I saw Aba figured out a fix so maybe it got mentioned on the github

golden spire
#

Pathos never sleeps... he's always there

lucid iron
latent mauve
#

I can also put the issue on the github myself later, when I am able to log in

#

Having weird auth issues today

lucid iron
#

Instead of your own license that says "yeah you can use it but don't expect support and pls credit back" u can just say MIT

uncut viper
#

thats more legalese tho

#

MIT is a whole buncha more legalese than random Steve saying what you can and cant do

#

i thought more of the point of licenses was so that you didnt have ot write your own legalese and fuck it up bc you are most likely not a lawyer

lucid iron
#

Established legalese that someone's already read for you

uncut viper
#

but to the hypothetical user who doesnt know what a license is anyway i dont think itd make a difference if it was your own legalese or someone elses in terms of them understanding it

lucid iron
#

I do suspect sdv modding community is more into this stuff than most tho, maybe bc the loader is third party

#

For games that have first party equivalent of content patcher it's probably not something u organically come in contact with

uncut viper
#

of the 2.5 communities im in id say stardew and another are generally equally aware but in stardew it seems more enforced, socially speaking, for sure

#

(the 0.5 is the piece of that community mentioned earlier with the retroactive license stuff)

#

Pathos championing open source a lot in various places probably helps a lot

ornate locust
#

Outside of weird edge cases, I think it came up in the whole Boris fiasco in Skyrim

teal bridge
#

I'm thinking it's because a large proportion of SDV mods are code. If we were still in the dark ages of XNB modding, no one would care about open-source licenses.

cyan marsh
#

This time I got Nocturnal Ambiance, Songs of the Sand, Community Center, and Artisans and Ranchers put in

gray bear
#

hey i know i've asked before but i like, set everything up in regards to github implantation with vscode. how do i,,, add a folder to a repository haj_sweat

rigid oriole
#

do you have a github repo online that you want to add files to?

#

what's ur goal

gray bear
#

yeah

tender bloom
#

What tool are you using to interact with github?

rigid oriole
#

i only ever do git from the command line ngl. are you ok doing it that way?

tender bloom
#

Are you doing command line stuff?

rigid oriole
#

vscode has a gui i just odn't know it off the top of my head

gray bear
#

am using vscode and am confused. commands are fine

tender bloom
#

They have a desktop app I think, and some people just use the website (this is limited in functionality)

gray bear
#

maybe i'm just at the wrong place honestly

rigid oriole
#

oh you have the extension very fun

#

you need to link your local folder to the remote git repo

tawny ore
#

Try the sidebar icon three up from the one you have selected

#

Github is for managing your remote repo

#

The Git icon is for actually managing your code

rigid oriole
#

i think the remote repo has nothing on it so they'll need to git remote add origin (clone url)

#

so then they can git push -u origin main

tawny ore
#

You can do that from the UI too, either way works though

rigid oriole
#

ui is prob easier i've just never done it lol

tawny ore
#

On the git sidebar, you can get to those by clicking the three dots on top ...

lucid iron
#

Btw you cannot actually add "folders" to git, it only tracks files and figures out they r in a folder from there, no empty folder allowed

gray bear
#

how,,, do i do that

rigid oriole
#

Do note that whatever you pick will be visible by others

#

If you're concerned about privacy

gray bear
#

not really, honestly

tender bloom
#

GitHub has an option to anonymize somehow, I forget the details tho

gray bear
#

kinda more corncered about getting it to actually do the thingℒ️ lemme take a lot at the extension page

tender bloom
#

I set this up a really long time ago

tiny zealot
#

(you can pick whatever you want for name and email. they don't have to be real)

gray bear
#

(i don't know how to set them sad_panda )

uncut viper
#

(thats why i set my global config to be unset for both username and email by default for every project. kept accidentally committing to my Real Name Real Life github with this username/email and vice versa orz)

#

in your terminal you can type git config user.name whateveryouwant

#

same with email

gray bear
#

oh! ty

tiny zealot
#

i extremely never set the global one, so when i do a new repo and it yells at me i can set it up with the correct one

uncut viper
#

i didnt actually set the global to anything i just un set it from what it was... ive never been yelled at so i didnt even know it was like, something i could be yelled at by my software for SDVpufferthinkblob

#

how do i Extremely unset it

gray bear
uncut viper
#

i wanna be yelled at

#

if you're gonna use spaces it needs to be in quotes

gray bear
#

darnit

#

i believe i have very little idea to what im actually doing

uncut viper
#

gotta navigate the terminal to your git repository/project folder with the git repo in it

tiny zealot
#

"git-config flerps the working treelike and postulates the latest head reference"

gray bear
#

does the email need a @ in it or like

#

can i just put random text

tiny zealot
#

it probably needs an @ but it does not need to be an address that works

gray bear
#

perfect

#

urs is good too

rancid musk
#

(Keep in mind, if you're going to be putting your code on GitHub or something you'll want the email address in git to match one associated with your GH account, or gitlabs, or whatever)

gray bear
#

would it break anything if it wasn't?

rancid musk
#

Technically that's not required, but the UI might be weird about it

gray bear
#

fair enough

uncut viper
gray bear
uncut viper
#

visually at least

gray bear
#

real email it is

#

vscode is saying it's comitting the changes but like... unsure if anything is happening. might need to leave this for tomorrow or ask someone to walk me trough it honestly

uncut viper
#

it probably is committing the changes. but you'd then need to actually push them, if you want them to go to your github repo

#

otherwise its just a list of changes stored locally

gray bear
#

and then when i try to run pull

lucid iron
#

This is too much gui for me so alas i am useless

gray bear
#

am confused n lost. wouldn't call u useless chu

rigid musk
#

So I'm guessing the answer to this is going to be 'dynamic token' pain - but if I wanted one entry for my building/obelisk and I wanted it to change where it warped you seasonally (specifically this line: "DefaultAction": "ObeliskWarp AngelOfStars.Mrqifriendable_QiArena{{season}} 40 30 true",... would it have To be done with a defined dynamic token? or is just leaving it as season fine?

I think I already know the answer to this, but I figured I'd check before I went and did it and didnt need to do it

uncut viper
#

it would be updated every time the season changed

rigid musk
lucid iron
#

You don't need a dynamic token for that but do you have 4 locations named modid_QiArenaSpring and so on?

rigid musk
#

I do!

uncut viper
#

(also im kind of with chu here bea sorry, most of my git stuff is done either via command line or via Rider and if i cant figure something out i usuallyt just google things until i can which is much much easier to do when i would be the one seeing all the info and googling)

lucid iron
uncut viper
rigid musk
#

O: cheer

gray bear
#

yeah that's fair, i will see if i can figure it out

lucid iron
#

Yep it work

rigid musk
#

Yippie yippie that's so lovely

uncut viper
#

make sure as chu says though that you have 4 different Data/Locations entries

rigid musk
#

I already do :3

#

I did that immediately as i loaded into the summer map and saw a bunch of fiddle head trees and mushroom trees in the middle of my little oasis lakes...

lucid iron
#

It might be funny if u like

#

Can walk to the other 3 seasons

#

But they say out of order kid come back next season

#

You can make anything "mr qi might say that" if u just strategically insert kid

ornate locust
#

"psssh...nothin personnel...kid..."

rigid musk
#

'that's not in season, kid, get with the times'

lucid iron
#

I do feel like having preview would indicate to ppl that u should come every season

#

It wouldn't occur to me that a warp totem destination might change

rigid musk
#

Oh there's a cutscene that you have to go to where he gives you a brief description + preview :3

#

(he sends you mail to let you know that you have to go to see said cutscene)

#

Do locations still need to be loaded in the content json.. I remember that being a thing (or at least someone told me it was a thing) but I would like to just move it to its own json

#

It was probably a thing with the old way to add locations .. maybe... unless I was lied to with that too

lucid iron
#

CustomLocations is the deprecated thing that had to go in content.json

brittle pasture
#

CustomLocations was like that, but Data/Locations is just any other asset

rigid musk
#

cheer YEAHHH one less thing in my content json thank you

gray bear
#

i did it yay

#

thanks for the help guys. now...i sleep

uncut viper
#

gnini!

iron ridge
rigid oriole
#

wait pillow tell me more

reef kiln
#

If i want to change how often this fish show up it this the line I change?

brittle pasture
#

you probably dont want 1.25 (aka 125%) but yea

reef kiln
#

that is the default. I am catchign way to many so i am trying to decrease it

brittle pasture
#

ah I see, 125% would do that lol

latent mauve
#

I still put new entries to Data/Locations in my content.json, but that's only because I was running into issues with it running my locations changes too late in the priority order (after other patches that tried to use said location) because of where I had my Includes

#

Question: are the display names in Data/Monsters actually used anywhere? Because the adventurer guild board and the quest lines seem to not actually call on the values and just have the name written out instead.

#

Alternatively, is there a way to call a localized token or something that WOULD call the display name part of that slash-delimited entry?

gaunt orbit
latent mauve
#

Alright, so clearly I'm just gonna have to go in and find all the monster lines and replace monster names with i18n tokens. Noted. xD

lucid iron
#

Aren't they calling LocalizedText

latent mauve
#

It doesn't appear so

lucid iron
#

Rip

latent mauve
#

It doesn't look like anything in Strings/Locations calls upon LocalizedText.

lucid iron
#

Oh things in strings are what is called by LocalizedText Bolb

latent mauve
#

And nothing in Strings/StringsFromCSFiles, either, which is where the monster slayer quest lines are pulled from

#

Yep, and those are the bits where the monster names are written in directly and need to be changed.

lucid iron
#

Monster data continue to be Suck

latent mauve
#

There shouldn't be any issue with me changing things in Strings to use i18n tokens, correct?

#

For instance, this is one of the lines I need to change: "SlayMonsterQuest.cs.13711": "The monsters known as 'Duggies' are making a mess of the local mine! The holes they create could weaken the structural integrity of the mines. Could someone defeat {0} of these creatures?",

lucid iron
#

Not really, though if you are changing whole thing maybe just do a Load

latent mauve
#

The {0} bit probably needs to be omitted from the i18n, yes?

uncut viper
#

omitted how? bc it should still be in the i18n text but you dont like, translate it to anything else

#

the {0} will be replaced with a number

latent mauve
#

okay, so it will still parse correctly

uncut viper
#

i.e. "Could someone defeat 5 of these creatures?"

#

ye

latent mauve
#

That was what I was wondering, thanks. πŸ™‚

whole raptor
#

Is this a correct gsq for when Big Coop is built: BUILDINGS_CONSTRUCTED All Big Coop?
I'm not sure how it deals with IDs containing a space SDVpufferthinkblob

lucid iron
#

Need to quote it i think

whole raptor
#

Oh yeah, I missed that part on the wiki πŸ˜…

patent lanceBOT
golden spire
#

quoteception

brittle pasture
whole raptor
#

It's a personal edit, so shouldn't matter, but definitely good to know

#

(And I genuinely forgot it exists...)

urban patrol
#

what do you guys think about having it be next to pierre's as opposed to in the bottom left?

#

i'm hoping it won't interfere with too much? i know there are some schedules i would need to shift, like lewis looking at the calendar

hard fern
#

Any npc who enters the hospital or pierres would need their schedule fixed

#

As well as the warps in/out of the buildings themselves

urban patrol
#

moving the warps wouldn't automatically fix their pathing?

uncut viper
#

you dont define every step of the path, so if the warps are moved the pathfinding will work itself out

hard fern
#

Im stupid

#

I forgot

uncut viper
#

you will run into other issues though

#

if someone specifically stands in any of the spots youve affected theyd need to be fixed, like lewis, but also thats where many festivals place things

#

unless you just dont want your building there in the festival maps

#

also, the little ! that appears over the daily quest board cant be moved

urban patrol
#

yeah i was already planning on disappearing it during festivals, but i didn't know that about the !

uncut viper
#

it just completely disappearing during festivals would make it so jarring to me that id personally skip on the idea altogether just on its own

ornate locust
#

I don't think that would be very... compatible

#

Like Ayeisha stops at the mail slot at Pierre's, Cambria checks the help wanted board

#

if anyone stands under that tree, they'll be in a wall now

#

I really think across the street to the left would be a better spot

#

I know Bearfam has a cutscene that has Sig standing outside Harvey's which would definitely break with everything shifted over. heck, I have a cutscene myself that takes place as you leave Pierre's, so that'd break.

reef kiln
opaque cobalt
#

does giving a character a mermaid pendant immediately mark that NPC as married to the player?

lucid iron
#

I believe you need to have the wedding

uncut viper
#

it marks you as engaged instead yes

#

wedding later

#

so not married yet

opaque cobalt
#

okay, curious as I have this as event data:

"TL13.PennyExpanded_BusStopEvent2/O Penny/f Penny 2700/w sunny [Rest of Event dialogue]
However, one person on Nexus reported
Hi!
For some reason "A day of married life part 1 started just after giving Penny the pedant. 3 days before marriage πŸ˜„

ornate locust
#

actually I'm not sure if "across the street to the left" conveys what I meant so here is where I'm saying. If it vanishes during festivals, I can't think of anything where this would be in the way

brisk wedge
#

is it possible to patch a getter for a field?

uncut viper
uncut viper
#

something with weapons i think

ornate locust
#

Defense Division puts a building over there but more to the left

#

But that's one thing vs a really big inconvenience by shoving everything over

#

The bottom one also works, I was just suggesting it as an alternate if they really want the building up top with the others

uncut viper
#

it was defense division i was thinking of, thank you for saving me from being bothered i couldnt remember for hours SDVpuffersquee it does overlap with where you've put it, though

ornate locust
#

yeah. I'd still say it's better than budging everything over. I think the bottom one conflicts with the least things

#

I wanna say some mod had something there, but an older one that isn't updated for 1.6

reef kiln
#

Adding a building to town is so hard. You may just have to live with it not being compatible with some mods.

ornate locust
#

I think pushing the block over is the worst option though

#

pretty easily

#

That's deep in compatibility hell

reef kiln
#

I actually can't think of a place that is not used by some mod in town. Other then the bottom left place they had it in to start.

ornate locust
#

Yeah that's the most out of the way spot

#

I found a relatively empty spot for mine, but that building would look really bad there

opaque cobalt
tawny ore
#

@cedar turtle Re: Carry Chests - someone else came into my discord reporting the same thing, but I wasn't able to replicate their issue nor find out why it was happening to them. Perhaps if you could share a log, I could compare your mods lists to find any overlap if there's a potential conflict.

#

Oh wait, in their case they weren't clicking on the chest

#

With keyboard mouse, you actually need to click on the chest to pick it up

uncut viper
cedar turtle
#

I was. left and right mouse button. facing towards the chest in all four directions.
I was able to pick it up when enabling the 'overwrite tools' option.

lucid mulch
#

if you are asking questions about preconditions while using their legacy names, you should port them to their modern names first

cedar turtle
#

Give me like ten minutes or so to boot up the game and I toss you a log.
I changed my mod list and maybe removed whatever was causing a conflict

golden spire
tawny ore
cedar turtle
#

So you also got time to tell me whichever other command you want me to use

uncut viper
cedar turtle
#

It just didn't do anything

opaque cobalt
#

thanks a bunch, Button, very useful for folk like me that kinda stumble blindly and hope stuff works

cedar turtle
#

I think I saw the report and it mentioned unlimited chests, which I also have

uncut viper
#

id probably just swap it to the GameStateQuery precondition instead

tawny ore
#

Unlimited Chests shouldn't be the issue. The problem it can cause is with Junimo Chests as far as I recall.

cedar turtle
#

I don't have that

#

or those rather. Just plain normal chests

tawny ore
#

Otherwise, I'm not aware of other issues associated with the current public release of Unlimited

cedar turtle
#

hm..

#

loading into the save and trying it again

tawny ore
#

I'm pretty sure the known issues are fixed in the beta, which I just need to get around to releasing soon

cedar turtle
ocean sailBOT
#

Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Unix 6.8.0.57, with 156 C# mods and 353 content packs.

cedar turtle
#

inchresting

#

[01:06:44 TRACE SMAPI] Ignored loose files: Biscuit NPC [CP] 1.9.2, CarryChest, LoveOfCooking, LoveOfCooking [CP], LoveOfCooking [EN], MachineProgressionSystem, MasteryExtended.SC, Scarefroggos AT, Scarefroggos CP, [CCM] Machine Progression System, [CP] 24H Clock Language, [CP] Lore's Cove, [CP] mono's Portraits, [CP] Prophet's Kitchen, [MFM] Always Raining in the Valley, [TrainStops] Stardew Aquarium

huh... half of those mods aren't even enabled.. Is stardrop sym-linking doing weird things

tawny ore
cedar turtle
#

I think wren wants to read about this..

prisma python
#

New here, and new to stardew modding, i was wondering are there any good resources for people new to making mods. Any sort of guide for making a simple starter mod. I have ran into issue with it not working.

uncut viper
#

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

remote flume
#

how would one go about adding a new sword or tool

#

is there a guide for that specifically?

lucid iron
#

tools are hard if you aren't in C# don't think about it

remote flume
#

i assumed i needed to use C#

#

is there an example or something

uncut viper
#

there are a couple tool mods but i dont know of any off the top of my head for 1.6, but if you're in C# its kinda freeform anyway

#

up to you to write what they do

blissful panther
#

The tool item itself would be best added via CP, but the functionality would come from the C#.

Custom tools are... a rare breed.

remote flume
#

whaaat

#

stardew is so weird

#

im used to terraria

cedar turtle
#

stardew modding really isn't weird.
You just picked one of the more complicated things to do

lucid iron
#

u can make custom weapons at least

blissful panther
#

I came in assuming I would need C# for everything a good few years back now, too. SDVkrobusgiggle

remote flume
lucid iron
#

theres even a fun thing to make them shoot projectile

remote flume
#

thats something i wanted lol

uncut viper
#

i would think a modding scene would be weird if it was exactly like a completely different game

cedar turtle
#

Maybe, never really modded terraria.
Last time I checked I wasn't even able to because the modloader was windows only

lucid iron
#

for tools u can make them exist, but making tools do new things takes work

blissful panther
remote flume
#

tmodloader

lucid iron
#

so yea i guess it's dependent on what you wanna do here

remote flume
#

is there an easy way to clone ai

lucid iron
#

like monster ai?

remote flume
#

weapon ai

uncut viper
#

weapons dont have AI

remote flume
#

they do

lucid iron
#

idk what that word means in terraria

remote flume
#

like the swinging of the sword

uncut viper
#

no. there is no AI behaviour in a stardew weapon

lucid iron
#

but you gotta understand sdv weapons are simpler by a lot

uncut viper
#

thats not... AI

remote flume
#

yes huh

#

it totally is

cedar turtle
#

that's animations

#

not ai

lucid iron
#

i made a framework for doing stuff with trinkets which could do more complex behavior i suppose

remote flume
#

what causes the animations

uncut viper
#

code, which isnt ai

lucid iron
#

though honestly the combat portion is somewhat undercooked

uncut viper
#

there is no intelligence in playing a sword swinging animation on the screen

#

artificial or otherwise

lucid iron
cedar turtle
#

if hitkey
then playanimation

simple as that. no ai involved.

remote flume
#

damn i get it

#

jeez loweese

cedar turtle
#

well, the actual code isn't that easy of course but you get the idea

remote flume
#

where i come from weapons have ai

lucid iron
#

the animation stuff in sdv isnt very standardized into data

#

most of it is literal spritebatch.draw somewhere in the code

#

maybe it helps to play game and look at decompile Dokkan

remote flume
#

draw code is my worst enemy

lucid iron
#

!decompile

ocean sailBOT
remote flume
#

i hope the source code isnt as excruciating as terraria

lucid iron
#

it got better with 1.6

#

theres still bolbwaitwhat ofc

#

unfortunately you are going to have to look at TemporaryAnimatedSprite for your weapon anim stuff

rigid oriole
#

parts of the code are def a bit convoluted but i think it's unreasonable to expect perfect code cleanliness out of a game that's been around for nearly 10 years at this point haha

remote flume
#

oh my god

#

10 years>?

tender bloom
#

the code is like an old friend: definitely weird, but there's a logic to it once you get the hang of it

rigid oriole
#

well my quick google search saidd 2016 release date

lucid iron
#

time flies

remote flume
#

yeah 1 year is 4 months

tender bloom
#

like yes, all the weird stuff is crammed into Cursors.png, the objects are all in springObjects.png, and the farmer animations are hardcoded to hell and back, but if i were CA I also wouldn't want to touch farmer animations after I finished with them

lucid iron
#

pants :)

uncut viper
#

i mean the code was being written long before the release date

tender bloom
#

pants SDVpuffersob

uncut viper
#

so more than 10, really

lucid iron
#

yea but who knows how much of it survives to now

uncut viper
#

didnt 1.6.9 remove tilesheets that were literally never used from release onward

lucid iron
#

rip dobson

blissful panther
#

Including the bus-

lucid iron
#

angry roger is still there tho :)

tiny zealot
tender bloom
#

did they get rid of the cat monster?

remote flume
#

uh oh, lore i dont understand

lucid iron
#

still there

tender bloom
#

!unpack you too can behold the cat monster

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!

tender bloom
#

it's in with the rest of the monsters

lucid iron
remote flume
#

i unpacked

#

so i could see how the sprites work

#

i didnt expect all the tools to be on one spritesheet

lucid iron
#

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

lucid iron
#

i believe you can put other spritesheet into tools data now

tawny ore
#

I think somewhere in the combo of PFM and machine upgrade, it doesn't like the null item

lucid iron
#

matt it might be the vanilla bug

#

the one that wasn't ultra organized chest's fault Dokkan

cedar turtle
tawny ore
#

This particular error on my part is easy for me to avoid by just swapping the conditions, which is probably more efficient anyway since it avoids the overhead of performObjectDropInAction when the item is null or not a chest.

#

So I should make the change regardless

cedar turtle
#

I love magic

#

(what is code other than technomagic)

rigid oriole
#

Small annoucement: finished Conversation Topic Utilities 1.0.0! It's a framework for default and repeatable dialogue responses to conversation topics. For example, you can create a default dialogue line that any NPC can use in response to a specific conversation topic, but only if it's raining outside, or only if their name is included in the conversation topic key itself. You can match many conversation topics by prefix to avoid repeated code. It's a small mod, but I figured someone else may have some use for it so I wanted to share SDVpufferheart

https://www.nexusmods.com/stardewvalley/mods/33032

Nexus Mods :: Stardew Valley

An easy-to-use modding utility for Conversation Topics. Provides a framework for default dialogue lines and repeatable conversation topics.

gaunt orbit
cedar turtle
zinc pollen
#

Hello, good evening everyone, I'm looking for help, colleagues, I want to create a mod but I don't understand some things, if someone could help me, I would be eternally grateful

tender bloom
#

Please ask the question, and usually people reply if they know the answer

tiny zealot
zinc pollen
#

Excuse me, I don't think I made myself clear, I want to learn how to create mods for Stardew Valley, but I don't know what to do, I have Visual Studio 2022, .net 6, I installed NuGet and the DLLs but the code keeps giving problems

urban patrol
#

what do you want your mod to do?

#

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

zinc pollen
urban patrol
#

okay. to me that sounds like it'll involve C#, which i'm not experienced with, but that C# tutorial linked above sounds like the place to start. i believe there's even a beginner tutorial where it teaches you how to have mouse output or something

zinc pollen
rigid oriole
#

considering we have no idea what you've written, it's hard to help

lucid iron
#

Well i think the best way is probably harmony patch the tooltip code

#

Still b4 getting into all that

  1. Do you have prior programming experience?
  2. Have you tried following the wiki C# tutorial
gentle rose
orchid glade
#

Sorry to interrupt with a wee CP question, but if I do this: { "Action":"EditData", "Target":"Data/Characters", "Fields": { "Nari": { "DisplayName": "Nari", "Calendar": "HiddenUntilMet", "SocialTab": "HiddenUntilMet", "PerfectionScore": false, "EndSlideShow": "Hidden" } } },

#

Will it replace the whole of the "Nari" entry or just change those fields?. Or do I need to use TargetField if I just want to change those specific fields?

uncut viper
#

itll just change those fields

orchid glade
#

Perfect thankyou πŸ™‚

uncut viper
#

targetfield is if you want to only change some fields/entries of a nested item, but "Nari" is at the top level

orchid glade
#

I saw TargetFields is used on the Wiki for changing Appearances, is this needed because it's nested deeper than the above example, or could I still use just Fields?: { "Action": "EditData", "Target": "Data/Characters", "TargetField": ["NPCName", "Appearance"], "Entries": { "{{ModID}}.NPCName.Outfit1": { "Id": "{{ModId}}_NPCName_Outfit1", "Season": "spring", "Portrait": "Portraits/NPCName_Outfit1", "Sprite": "Characters/NPCName_Outfit1", "Indoors": true, "Outdoors": true, "IsIslandAttire": false, "Condition": "TRUE", "Precedence": 0, "Weight": 1 }, } }

uncut viper
#

that example has TargetField, so it's effectively turning the Appearance field inside NPCName into the data you want to edit, so just Entries is fine there

#

like how Data/Characters itself is just a dictionary where the keys are NPC Names and their values are the NPC data, so you can just use Entries to add your character
TargetField there is effectively making "Appearances" the outer-most dictionary, so its like your target is Data/Characters/Nari/Appearances, effectively

brittle pasture
#

if you use Fields it will replace all of Appearances with your entry, hence the need for TargetField to only add new stuff to it

uncut viper
#

(more or less, for the sake of brevity in explanation)

orchid glade
#

Here's what I had written before I looked up Appearances specifically. Is this okay? :{ "Action":"EditData", "Target":"Data/Characters", "Fields": { "Nari": { "Appearance": [ { "Id": "64x64 Portrait", "Indoors": true, "Outdoors": true, "Portrait": "Portraits/Nari_64", } ] } } }

uncut viper
#

if you only want that appearance and ONLY that appearance, sure

orchid glade
#

Oh right, In this case I'm adding appearance for the first time, rather than editing, so it should work, but if I were just changing one thing I would need TargetFields

uncut viper
#

but in that case you are setting the Appearance field to a value. that value is that entire list

#

but you're not adding to the list. you're writing down the entire list you want to assign to Appearance

#

so it will overwrite the previous list that was there

orchid glade
#

I do only want that appearance, but I can use TargetFields anyway just in case I refer back to this code for another project and copy is innappropriately..!

uncut viper
#

well if you want to add more it would be better to just switch to TargetField and Entries anyway, both so you dont forget you've done it and bc it would still depend on the order of your patches whether something later on gets overwritten

#

but technically you could keep this as is

#

up to you basically, as long as you remember what you did

orchid glade
#

Thankyou!

vernal crest
gaunt orbit
lucid iron
#

you can raise an issue at least

#

the normal flow of github stuff for open source is actually like

#

raise issue -> raise PR that resolves issue

#

so its fine if u do both Dokkan

latent mauve
#

I wonder if dropping the zoom down would allow for the hat to not get lost

vernal crest
#

I'm not sure if I'm skilled enough to try editing the draw code to make use of spriteZoom, but I'll try and see what that does.

#

There is not an overload for the draw method that uses destinationRectangle and scale. I am rapidly reaching the end of my abilities here.

lucid iron
#

what is the problematic code bolbthinking

calm nebula
#

(it makes sense there is not one that takes destinationrectangle AND scale)

#

because, well

#

if you know you're going from <this rectangle> to <that rectangle>

#

you can either express it as "scale of this rectangle" or "exact size of that rectangle"

#

but it's constrained so you can't really do both, you either give the same info twice or you contradict yourself

#

I hope that made sense

#

it's after atra bedtime

#

,...I assume it did not make sense

vernal crest
#

I'm not sure I grasp it properly but I think that's to do with not knowing the underlying mechanic of how this stuff works rather than your explanation.

uncut viper
#

i think atra just means you're already saying where you want to place it. you want to place it on the rectangle here. so obv the scale is just, gonna be whatever it takes to make it the size of that rectangle

vernal crest
#

Yeah, that part I did get haha

spring marlin
#

what is the mod that you can press a key(~ or ` by default can't remember which) and it will show you the cordnates and map of your mouse?

vernal crest
#

I have gathered that if I want to put a 16x15px sprite into a 32x30px rectangle, it doesn't just plop it in there at 16x15px and then put empty space around it, it actually scales it up to fit. But I do not know why it makes that decision.

vernal crest
#

I am also not sure why Pathos/Bouhm included a spriteZoom property that can't be used. I can guess that it might be to do with forgetting that it can't be used or something, but maybe there's a reason it's included that I can't see.

uncut viper
#

defining the destination rectangle is the part that tells it "i want you to fill this rectangle"

vernal crest
#

I wonder if that means it will make things super wonky if I change it from destinationRectangle to a Vector2 position

lucid iron
#

do you want it to not fill the rectangle (and respect 16x15?)

latent mauve
#

Is it viable to just change where the source rect is placed and use the other part of the Bookseller sprite in cursors (so the part including the tent)?

uncut viper
#

is there an overload that even lets you just place a top left pixel

vernal crest
#

(I am finding the code)

latent mauve
#

So that you can grab a bigger rectangle that is the right dimensions?

lucid iron
#

kind of

#

you can give an origin perhaps

vernal crest
#

I can change the source rect easily, yes

uncut viper
#

you probably could but then bookseller himself would be smaller relatively, and not match the other NPCs

latent mauve
#

The Traveling Cart lady is already smaller than the other NPCs

uncut viper
#

if thats not a bother then its probably no big deal

latent mauve
#

So it's not a complete mismatch if you consider that

#

I'm okay with them both being smaller

#

Since they're temporary

uncut viper
#

when was traveling cart lady added anyway bc she mightve been done like that just to match uiis tbh

#

added to npc map locations i mean*

vernal crest
#

The bookseller already doesn't match the other NPCs because he is both wide and squashed right now lol

uncut viper
#

but it is cropped to his face, which matches, right?

calm nebula
#

Ugh, mixels 😦

vernal crest
#

No

uncut viper
#

atra go to bed

vernal crest
#

Well, I guess it depends on what you mean by "matches"

#

This is extremely zoomed in, but this is his face in the version of NPC Map Locations that doesn't include my edits #making-mods-general message

uncut viper
#

i would count that as cropped to his face

vernal crest
#

Yeah but he's stretched really wide

#

So he looks bizarre

uncut viper
#

he is. but its the cropping part that i was saying matched

vernal crest
#

Then yes, it matches in that respect.

uncut viper
#

like i said, if its not a bother, then its no big deal. i was only pointing out why someone might not want to expand the sourceRect

vernal crest
#

This is how he looks on the actual map

#

Wiiide wiiide man!

uncut viper
#

i remember this! i just personally would prefer this to a smaller face expanded source rect version SDVpuffersquee

#

booookseller

vernal crest
#

I assume that Lily's sadness is because it means that her Zelda man is weird and wide too

latent mauve
#

very much so

vernal crest
#

Does the travelling merchant bother you then Button?

latent mauve
#

I put a screenshot in here when I first mentioned it

vernal crest
#

Since she could be weird and wide too but isn't?

latent mauve
#

Both Beedle and the Bookseller are visible in the map screenshot

uncut viper
#

im not sure theres a perfect solution since the bookseller man isnt a real npc

#

also the traveling merchant does actually bother me but not bc she isnt wide but bc shes not a cropped face

latent mauve
#

I don't really know of a solution that wouldn't involve creating a new asset of their faces without the background, since they draw from the Cursors sheets

uncut viper
#

you could do that programmatically, but it would be impossible to take into account modded retextures, like yours, so iunno what the solution could be in terms of removing the background

latent mauve
#

I mean, if it's a loaded asset, it could be targeted for a replacement/retexture, the same as any other. >_>

lucid iron
#

(unrelated but the zeldo mod is really coming along!)

uncut viper
#

im not sure how you'd remove the background from a replaced texture if you do not know what pixels are bookseller and which are bg?

#

unless you mean you're just suggesting that NPC Maps let content packs override its icons entirely instead of it using mugshotrect or hardcoded ones

latent mauve
#

I meant instead of using hardcoded ones, yes

uncut viper
#

which is not a bad idea, could be worth a PR

#

i dont remember, is NPC Map Locations one of the ones just on maintenance mode?

latent mauve
#

I think it might be, unfortunately

#

uncertain

vernal crest
#

Pathos has merged one of my PRs before

#

This is using his stall source rect

#

Very tiny

latent mauve
uncut viper
#

i dont even remember where to find pathos's list of mods

vernal crest
#

The list of all the ones he maintains?

uncut viper
#

yeah. i recall there being a list separated by like, "these are actively updated. these are maintained with low priority. these are just maintaned to ensure they launch" etc

vernal crest
#

Yeah me too

uncut viper
#

absoluteyl not a clue where that is now

zinc pollen
uncut viper
#

where the heck did you find it

#

oh it is on the priority list

vernal crest
#

I searched in this discord for a message from Pathos containing the word "maintain" and that had a link xD

uncut viper
#

then yeah. probably worth a PR then if Pathos is open to it

#

but it might involve making bookseller square in the first place anyway though

vernal crest
#

The trick is finding someone to do the PR

uncut viper
#

chu was just here, right?

#

itd probably be two PRs also, i think Pathos usually prefers PRs stick to one thing only if possible

vernal crest
#

I have reached the limit of what I can contribute, I'm afraid.

#

My last (and first) PR was one line of code and Pathos rewrote that anyway xD

lucid mulch
#

Pathos generally does that, though he is usually still good at crediting the author anyway

lucid iron
uncut viper
#

hi chu!

#

dont know what that frog is for, but anyway, we've got a PR for you to make

lucid iron
#

idk aba got it in the bag i feel

#

hm because im a silly person who has 6 different Events.GameLoop.SaveLoaded handlers in this mod it looks funny on profiler

vernal crest
#

Aba does not have it in the bag! Aba wouldn't even know what to do.

lucid mulch
vernal crest
#

Blargle why is it so hard to access a thing from one class inside another class.