#making-mods-general

1 messages · Page 247 of 1

cunning kiln
#

It says contact the author for permission to use their assets. (Also, I'm impressed with how many conversations everyone is juggling!)

gentle rose
#

yeah, my question is where it looks for them - say mod A is referencing mod B as if they're both in the Mods folder, but the user has mod A inside a subfolder instead. Would that break?

cyan venture
#

whether i leave it or delete it in my mod folder the mod still loads and runs normally

rancid musk
#

It shouldn't.

cyan venture
#

yep

#

hmm but if i dont Ref those mod DLL

#

my code will have errors

rancid musk
#

On a related note, blatant plug: The ModManifestBuilder nuget package makes using hard references easier since you can just reference mods by their unique ID and it makes sure everything in your manifest + project is set up correctly.

gentle rose
# rancid musk It shouldn't.

so it's not too unsafe to reference DLLs then, in the sense that it's not just going to break 50% of the time like I assumed until now SDVpuffersquee

uncut viper
#

There shouldn't really be anything in Content Patcher or GMCM that you need to hard reference, 99% of the time

rancid musk
#

Yeah. That's why I want to know what tutorial you were using.

#

The tutorial sounds incorrect at best and harmful at worst.

uncut viper
#

You're not meant to call their functions and whatnot directly. You're supposed to use their APIs

lucid iron
#

here's a example of using GMCM via the api

gentle rose
#

what if I want to make a content pack using content patcher features in c# though /j

uncut viper
#

(I mean you say /j but I'm pretty sure its conditions API does require a hard reference I think?)

gentle rose
lucid iron
#

i have a few mods with dll reference to newtonsoft json LilyDerp

#

for reasons™️

gentle rose
rancid musk
#

Referencing DLLs that come with SMAPI or the game is fine.

uncut viper
#

for its conditions api

#

I also reference newtonsoft for a couple of mine

rancid musk
#

Referencing DLLs from other mods is where it gets borderline.

lucid iron
#

hm can i reference cecil

#

to do Things

#

it comes with smapi medlook

gentle rose
uncut viper
#

as soon as you hard reference your code fails if the mod isnt installed

gentle rose
rancid musk
#

It means the other mod needs to be present for your mod to load at all.

#

So if it was just an optional dependency, oops, no it's not. It's required.

gentle rose
#

ah, ofc that makes sense

lucid iron
rancid musk
#

And if that mod updates in a way that breaks the ABI, oops your mod can't load.

lucid iron
#

hence why using HarmonyLib works

rancid musk
#

(... actually I haven't tested breaking changes like that, it probably just explodes at runtime I guess)

lucid iron
#

oh it gets detected actually, sometimes

gentle rose
#

is quarter past one am too late to be talking about ABIs?

#

I feel like it might be SDVpuffersquee

lucid iron
#

i have a mod that has hard ref on StardewUI for reasons™️ so whenever a constructor changes it explodes

#

but it correctly shows no longer compatible

#

rather than blowing up at menu launch

modest pumice
#

My new mushroom item is defaulting to pickleable, is there a context tag or something I can give it to disallow pickling?

hot gale
#

Does your pickle have a tag like vegetable_item etc

#

Pretty sure the machine takes all categories of certain things like fruit/veggies

modest pumice
#

just mushroom_item and edible_mushroom

hot gale
#

mushroom_item I bet is whats doing it

#

The machine likely accepts any mushroom_item

vernal crest
#

To add to what Button said, you shouldn't need ATA to use HxW Tilesheets or DaisyNiko's Tilesheets anyway because they load the tilesheets into maps. That lets you use them the same way you use vanilla tilesheets. On top of that, you don't need ATA to use your own tilesheets either because you can also load them into maps.

You only need ATA if you want to use a tilesheet that isn't in maps (like vanilla furniture.png) - though to use a non-vanilla one I would personally try to get permission from the mod author anyway since they probably wouldn't have been expecting that it would be possible to use their assets when they published the mod due to ATA being relatively unknown still.

modest pumice
hot gale
#

No problem :D Shooting from the hip here but that sounds like the culrpit to me

uncut viper
vernal crest
modest pumice
#

nope, still pickleable lol

uncut viper
#

it has always been possible to use any loaded asset, ATA has not suddenly made something possible that was completely impossible before. it's just a Game.content.Load("hime.tilesheet")

#

there was nothing stopping people from already doing so, ATA just makes it possible to do so in Tiled itself

lucid iron
hot gale
vernal crest
#

I'll edit my message to say "I would personally ask for permission" because I still would

hot gale
#

and cross examine whats similar in your mushroom

#

Its only pickling because somethings telling it to

faint grail
#

Hi, does anyone know how I can change the color of the normal letter to the letter Rasmodius sends you?
I've been looking through the vanilla files, but I can't find one that changes the color.

uncut viper
#

(that said ofc the part about "you dont need ATA for this anyway the tilesheet should already be loaded by them" is still correct, i just glossed over it bc my mind focused in on "error with my mod" and not "why are they using my mod" lol)

modest pumice
#

I think it's because the category is forage

primal cypress
#

I was mostly using it to keep mod tile sheets separate from vanilla to organize things... SDVpufferblush

lucid iron
#

you should really just load your own sheets to Maps

lucid iron
#

Maps/modId/thing if you will

tiny zealot
#

hmm, it looks like maybe i wildly misunderstood what this function does and my shit worked anyway? big if true

uncut viper
#

ATA is not and should not be used for purely organizational purposes

uncut viper
#

ATA's only purpose is to allow using images that are not found or loaded to the Maps/ folder. if you are not using it for that specific and exact purpose, do not use it

modest pumice
dusk mulch
#

ughhhh i have to make more events but i dont wana :(

primal cypress
#

I am using it for loading vanilla non /maps stuff as well, I'm fixing my stuff now SDVpufferchickskeleton

cyan venture
#

omg

#

im

#

so

#

dumb

tidal stone
#

does making festivals for a mod use C# or content patcher

cyan venture
#

i just tweaked something in csproj and broke the solution

tidal stone
#

like new festivals

cyan venture
#

luckily i still have the mod dll and decompile it

tiny zealot
uncut viper
#

festivals are mostly C#, not much you can do with CP alone

rancid musk
#

A festival festival still has to be C#, but passive festivals are CP

uncut viper
#

like you CAN do it

#

(passive festivals tho are fine yeah)

tidal stone
#

passive festivals?

gaunt orbit
#

passive festivals can be done with only CP
technically you can do regular festivals with just CP but because of Jank, C# is recommended

uncut viper
#

like the trout derby

#

or desert festival

tidal stone
#

Oooohhh

brittle pasture
#

I think festival festivals, as long as you don't do anything fancier than shops or dialogue, are also doable with CP- yeah

tiny zealot
#

passive festivals also are great and you should choose them if possible

uncut viper
#

things that are just There but dont require a fade in and frozen time and stuff

rancid musk
brittle pasture
#

(but active festivals also take over an entire part of town and closes down shops, so they are not recommended over passive festivals)

tidal stone
#

I could do a couple passive festivals based around little festivals ive been too growing up hrm

#

i just dont want my future expansion mod to be a bunch of do nothing npcs that have no life in them in their own town and rely solely on pelican town for any kind of festivity

uncut viper
#

keep in mind though you are still ofc very limited in what you can actually do with a passive festival thats different from just non-festival patches

uncut viper
#

i think the only thing that Data/PassiveFestivals really exposes for you that you couldnt otherwise do is just making it appear on the calendar

#

technically, you can run any C# function to start and clean up a passive festival, but thats... not much use to a content pack author

cyan venture
#

somehow now it contain other mod file

#

ugh

rancid musk
#

Your project file without bad things: ```xml
<?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<EnableHarmony>enable</EnableHarmony>
</PropertyGroup>

<ItemGroup>
    <PackageReference Include="Pathoschild.Stardew.ModBuildConfig" Version="4.3.2" />
</ItemGroup>

<ItemGroup>
    <Reference Include="ContentPatcher">
        <HintPath>$(GameModsPath)\ContentPatcher\ContentPatcher.dll</HintPath>
        <Private>false</Private>
    </Reference>
    <Reference Include="GenericModConfigMenu">
        <HintPath>$(GameModsPath)\GenericModConfigMenu\GenericModConfigMenu.dll</HintPath>
        <Private>false</Private>
    </Reference>
</ItemGroup>

</Project>

tidal stone
#

immediate festivals i think of is

  • woodworking festival (based on an art festival in my home town) (have art for sale and have musician npcs

  • Jazz festival (music and food festival (sell food and have musiucian npcs)

  • a flower festival (just decorate everythigng with flowers? maybe sell hard to get flowers for a limited amount)

rancid musk
#
  1. You shouldn't reference Lib.Harmony, ModBuildConfig does that for you.
  2. Added <Private> to the mods so their DLLs won't be included in output
  3. Removed a couple weird "don't compile file X" blocks that I have no idea how you got them there
tidal stone
#

idk how doable those are with cp versus C# though

cyan venture
#

i installed Lib.Harmony in NuGet

tiny zealot
tidal stone
rancid musk
wooden hornet
#

tires burning in front of joja would be a cool event

uncut viper
#

fwiw however all of those festivals are doable in CP

rancid musk
#

I wasn't even thinking about that because I saw the packagereference and thought "No, bad"

cyan venture
#

oh okay

tidal stone
#

Ack sorry i @'d you button 😭

cyan venture
#

so the gamemodpath is my path right

uncut viper
#

i prefer being @ 'd

tidal stone
rancid musk
#

Yup. ModBuildConfig sets that for you.

uncut viper
#

but im not fussed either way im not gonna say "please @ me next time"

tidal stone
#

understood ^-^

cyan venture
#

wow yea its work

rancid musk
#

Speaking of Button, did you see that I hit you with another PR yesterday? 😛

wooden hornet
#

hi guys is it much harder to make mods using c# directly for smapi vs cp? i tried to make a mod using chatgpt but code isnt working i wanna try and do it manually but im not a good coder. the code chatgpt gave me looked simple though

brittle pasture
#

!chatgpt

uncut viper
#

i did! I gave it a glance, just haven't been able to get to it yet with school priorities, but im very appreciative of it SDVpufferheart

vernal crest
vernal crest
uncut viper
#

please do not ever use chatgpt

vernal crest
#

It is the lying machine that lies. It will give you rubbish.

brittle pasture
#

!chatgptcode

ocean sailBOT
#

Please stop trying to get ChatGPT to write your C# mods for you, especially if you don't know how to write C#. It won't work without heavy editing, and it wastes everyone's time.

Large language models fundamentally are reguritating something from their input—which is roughly speaking, the written output of humanity up until 2021 or so, for ChatGPT. For specific, niche topics like "is this framework going to do what I want" or "which things does Game1.cs have access to", it probably has no idea! But it's good at detecting that people in the past have....said things about frameworks and written things in C#, so it does its best to assemble words and symbols into a nice order for you. Sometimes it tells you true things, and sometimes it tells you false things, and if you can't detect when, you're in trouble. When you're writing code, this usually produces garbage, because you can't be "sort of similar", you have to be exactly correct or it won't work.

brittle pasture
#

that command should probably mention CP as well

vernal crest
tidal stone
#

i didnt know people used chatgpt for coding what

wooden hornet
#

i was just trying it out

#

i want to make a simple mod

brittle pasture
#

oh, people very much do, and then it gives them code that doesn't work, because it doesn't know anything

vernal crest
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.

tidal stone
#

if you want help making a mod everyone here would be happy to help

rancid musk
#

Admittedly, chatgpt can give you ideas if you already know what you're doing. But knowing what you're doing so you can validate that it gave you something sane is very important.

brittle pasture
#

(I know because those code have been posted here)

rancid musk
#

(And even then it's still... why not just google things normally?)

wooden hornet
#

i dont really see the appeal to use a framework tbh but maybe there is one for custom storage?

tidal stone
#

im actually curious what kinda code it would make without like a lot of extensive knowldge hm

uncut viper
#

(it is embarrassing seeing just how much the SPU performance was improved though... i mentioned it before but yeah, im very not proud of its codebase today lol. dont know what possessed me to make it like my second mod after i learned the basics of C#)

tidal stone
#

i dunno if it could do a monkey and typewritier thing though

rancid musk
brittle pasture
#

the appeal to use a framework is if it has a feature you want that you don't want to reimplement yourself

tidal stone
#

framewokrs my beloved

cyan venture
#

@rancid musk when i compile my mod it contain the same mod folder but inside my main folder. what happened

rigid musk
#

^ Frameworks can do a whole lot and make things far easier especially if you 'aren't a good coder'

#

I love frameworks and the people who make them, such big brains

rancid musk
gaunt orbit
#

does anyone offhand know the mail flag for unlocking the deluxe rarecrow?

tawny ore
#

Frameworks aren't just about making things easier, but also perhaps more importantly, it's about certain changes happening in a consistent way between mods to reduce potential conflicts

wooden hornet
#

they just tend to have annoying side effects for big mod lists when some stuff are incompatible with dependencies i want maximum compatibility but yeah they do make it easier to dev

tawny ore
#

A bunch of mods attempting to make the same changes/patches to the same code can often result in them clashing with each other

cyan venture
#

Thanks you so much

vernal crest
tawny ore
#

A single framework doing the work helps eliminate those conflicts

cyan venture
#

you really saved me, if i had to figure it out on my own i think it would have taken me all day today

uncut viper
rigid musk
#

And if you think about it, if you try to write a C# mod that changes the same code that a whole framework changes... then you're completely eliminating compatibility with all of those mods (like Matt mentioned)

cyan venture
# rancid musk RarecrowSociety?

by the way do you mind if i rep-ping to you? i see you dont usually rep-ping to people. or is it because you have turned it off

uncut viper
#

remember theres a big difference between mods that just adds the same things and mods that are frameworks for something

brittle pasture
#

hey matt since you're here I have a feature request for custom bush: a function in the API for "run day update logic for this custom bush"
reason being I may have bushes that are stashed away in neither a location's terrain features nor an indoor pot, but a secret, nefarious third place
this is absolutely neither urgent nor necessary, so no need to rush on my part!

uncut viper
#

like Lily i cant really think of many (any?) incompatible frameworks

#

that do the same thing

tawny ore
#

I can't imagine how screwed modding would be if we didn't have Content Patcher, for example. If everyone just willy nilly attempted to do their own injections into the content pipeline without the caching or dependency management that Content Patcher handles.

rancid musk
#

At this point I don't really mind reply pings. It can be a bit annoying if someone does it while I'm clearly still around and responding, but I've gotten used to Discord's stupidity.

lucid iron
#

if anything if you are make mod that intend to be framework, compat is higher on the mind

uncut viper
#

compat and marketing /j

lucid iron
#

marketing...

tidal stone
#

is there a way to make @ pings off on default anyway

wooden hornet
#

i wanted to turn a decorative item into a chest that shares inventory between all versions but every new one that is placed down requires a gold fee before it becomes functional

rancid musk
#

Hold shift while clicking Reply and it starts off.

rigid musk
#

That... is an odd but interesting concept

#

like an expensive junimo chest

tidal stone
#

mm dissapointing its not just default but ill try to get in the habit of that

lucid iron
#

im not sure whats the difference between that and just paying for a new chest think

wooden hornet
#

its a shame the joja vault is purely decorative i want to make it a minecraft ender chest but pay to prevent placing them anywhere in mine runs

uncut viper
#

im imagining like an animal crossing style donation box you gotta fill up first

tawny ore
#

Creating Chests in C# is actually not too bad in 1.6. It used to be awful in 1.5. Now you mainly have to make sure that you're using the same frames as offsets in the spritesheet.

dusk mulch
#

What is the name of the :3 emote?

rigid musk
#

are you just trying to make a junimo chest that's bigger... and costs more?

cyan venture
rigid musk
wooden hornet
#

idk what junimo chests are but chatgpt referenced it as a class lol

dusk mulch
gaunt orbit
#

is there a way to get vs to stop auto-formatting my json? It didn't do this before

tiny zealot
#

i love how many different kinds of storage mods there are. seems like everybody's got one. stardew valley is storage mods georg

uncut viper
#

it would be better if you abandoned any memory of what chatgpt told you

rigid musk
#

Junimo chests are literally ender chests

wooden hornet
#

XD

tawny ore
#

Some stuff is hardcoded that Expanded Storage makes available like customizing the sounds, sprites, animations, and making them colorable, but if you stick to most of the hardcoded values, you can mostly add chests using a custom BigCraftable and just creating the chest instance.

gaunt orbit
#

ah I found it

rigid musk
lucid iron
#

in your case it'd be a global inventory anyways

rigid musk
#

I don't remember what the wiki command thing is but that's the link to it

lucid iron
#

can skip the Chest part if u want

wooden hornet
#

yes im mostly wondering how i can create the pay per item prompt

tawny ore
#

Junimo Chests in 1.5 were just a special chest type like the hopper. They're still a special chest type in 1.6, but they're backed by a GlobalInventoryId of "JunimoChest"

brittle pasture
wooden hornet
#

im sure ill find solutions for storage

rigid musk
#

the only difference between what you're talking about and a Junimo chest is that you just buy them from Qi, and you can't craft them (you could add a crafting recipe for them though... i wonder if someone's done that yet sideeye )

wooden hornet
#

there is joja catalogue that gives them for free thats why i want ppl to pay

uncut viper
#

i cant think of a non-C# way to do the payment part

tawny ore
#

Check out Crystalline Junimo Chests source code for a mod that makes custom junimo chests which involves a dialogue prompt and the player paying an item to access them.

#

Crystalline Junimo Chests does all of that already

orchid glade
#

Yay! I am pretty proud of this!!

tawny ore
#

(And it uses Expanded Storage as the framework for actually adding the chests)

rigid musk
#

I am 95% certain that junimo chests can not, in fact, be purchased from any catalogue

wooden hornet
#

no the vault

rigid musk
#

Oh OH

#

you want to turn the vault into its own chest

wooden hornet
#

yes

rigid musk
#

My brain was not computing that lmao I was like 'wdym you can get junimo chests from catalogues'

wooden hornet
#

i need to finish a cc route some day i keep going joja to unlock greenhouse faster

cyan venture
#

does any1 know how to expand this box?

#

i mean this box

brittle pasture
#

make a pull request to GMCM probably?

cyan venture
#

so we can't do anything about it..

uncut viper
#

if you're in C# you could write your own custom menu for GMCM. seems like a lot of work for something of relatively little import though.

tiny zealot
#

you can create a complex widget and do its rendering yourself. lots of work though

brittle pasture
#

are you in C#? it looks like you're adding a list of items

uncut viper
#

theyve been talking about compiling and their csproj and stuff

cyan venture
brittle pasture
#

ah I rember now, congrats on the release

cyan venture
#

but i asked a friend to teach me some basic c# for 2-3 days or so and now i have my mod done

lucid iron
#

well u can just make many boxes

cyan venture
#

now i'm trying to polish the mod a bit

lucid iron
#

wood stone etc

tiny zealot
#

if i had time i'd consider a GMCM PR to allow overriding the (hardcoded, in SpaceShared) padding value on every widget, which increases the page height/next widget position even if you render it out of flow

lucid iron
#

or you dont let user deal with this at all and let ppl make content pack kyuuchan_run

cyan venture
#

I don't think I'm capable enough to open that box myself, so I'll let users add item IDs themselves via config.json

lucid iron
#

i think making many boxes is not that bad

#

or many sliders

#

if u want to just have it be wood stone hard wood X number that should be fine

cyan venture
#

I mean expand that little box that SpaceChase gave everyone in GMCM haha

uncut viper
#

have them write the name of the item and then do a fuzzy search over Game1.objectData SDVpufferthumbsup

lucid iron
#

yea the suggestion is

#

change to number option

#

which gives u a slider

#

if you supply min and max

uncut viper
#

i dont think they know how many items the person would want to configure though

#

like, how do you know how many sliders to add

cyan venture
#

no i want people to be able to add whatever items they can into the farmhouse upgrade blueprint

lucid iron
#

cursed fuzzy search box that push more sliders into gmcm bolbthinking

#

ig that should be doable?

cyan venture
#

yes i did it

lucid iron
#

if u r just add a new number item in the setvalue part

uncut viper
#

thats not what you have here

#

honestly for a first mod i think just leaving it at this is fine, you can always come back to it later

lucid iron
#

but yea these r all suggestions in the name of weh i dont wanna make custom gmcm option SDVpufferpensive

uncut viper
#

just link em to the item id spreadsheet/website in your nexus description

cyan venture
#

I mean I'm seeing the box where people can add stuff via GMCM is pretty small and it might be inconvenient, so I'm asking if anyone here knows how to expand it. But it seems pretty difficult and I don't think I'll do it.

dusk mulch
#

Another event done, yet I just realised I forgot to put the NPC names through the i18n

true coyote
#

Just out of curiosity, is it possible/how difficult would it be to tweak torches to only light at night? There's a couple of replacer mods I like but I'd prefer them to only be lit/show at night SDVpufferthinkblob

cyan venture
#

my mod is now complete

uncut viper
#

well we gave the answer, its write a custom GMCM menu

#

not worth it imo

lucid iron
lucid iron
#

this is what i meant by the slider btw

uncut viper
#

how bad of an idea is it to simply EditImage the lightmap with TimeChanged

lucid iron
#

then you have a text option at top whose sole job is to add more slider

lucid iron
#

night tile for the tile part?

brittle pasture
#

I thought they were referring to the torch item

uncut viper
#

i also assumed this

lucid iron
#

oh those things u place ok

#

torch framework Dokkan

#

i remember torchs being very cursed and i dont want to touch them at all

true coyote
#

Yeah torch item I believe. There's a lot of candle mods and orange blossoms firefly replacer, but I'd like the candles to not be lit in the day and fireflies not even appear during the day

uncut viper
#

torch framework that lets you finally make differnt torches that give you luck buff if you place the right torch in the right location but debuff your luck otherwise

true coyote
#

(For whichever one I'm playing with at the time)

brittle pasture
#

you can patch away the flame sprites in cursors I think, and the glow shouldn't show during daytime

uncut viper
#

i was thinkin terraria

cyan venture
lucid iron
#

yea the suggestion is to make it reactive

true coyote
#

Anyway, bed time. Good night SDVpufferthumbsup

lucid iron
#

by having text box for adding new slider at least

brittle pasture
#

if the light still does show, patching the light map as button suggested might just work SDVpufferwoke

lucid iron
#

removing an option in gmcm is death though

tiny zealot
cyan venture
#

with my stupid brain, applying i18n and creating GMCM menu has exhausted me

#

my friend when i asked about some things i don't understand in c#, he also wanted to punch me dozens of times haha

hot gale
#

What day of the week is the first day

tiny zealot
#

spring 1 is a monday

hot gale
#

[game] Unknown precondition for event Zach.MeadKegAcquire: AddMail Mail.MeadKegAcquire tomorrow

"Zach.MeadKegAcquire/Skill Farming 4/AddMail Mail.MeadKegAcquire tomorrow": "null",

#

Not quite sure what I did wrong here

brittle pasture
#

AddMail is not an event precondition

#

you either want LocalMail, or if you meant to give the mail to the player, that's part of the event body

vernal crest
#

And if you're doing this just to send mail, use a trigger action instead.

hot gale
#

Yeah Im trying to get an NPC to send players mail

vernal crest
#

Then a trigger action is the way to go.

#

Very easy, very beautiful, very powerful.

tiny zealot
hot gale
tiny zealot
#

yes, i think you crossed a couple of wires

hot gale
#

Am I not using trigger actions? lol

vernal crest
#

It is correct when used as a trigger action

hot gale
#

My ignorance is showing rofl

tiny zealot
#

what you have done is paste the trigger action into an event precondition

vernal crest
#

No, you need to edit data/triggeractions for that

tiny zealot
#

for this, do not use an event. edit Data/TriggerActions like aba said

hot gale
#

Oh

#

Yeah I think I mixed something up somewhere

#

Thanks y'all

vernal crest
#

There's an example for how to do it further down the trigger actions page

hot gale
#

This?

vernal crest
#

Yup that's it. It's even an addmail one, handy.

hot gale
#

Thanks for the help :)

last plume
#

trying to install SMAPI and SDV back onto my computer since I am returning from a hiatus. however. I am getting a block from opening SMAPI on MacOS 15.3.1.

anyone know how to bypass it?

i already bypassed during installation, but now can't open game

tiny zealot
#

!macsmapi

ocean sailBOT
#
MacOS thinks SMAPI is Malware

There is currently a known issue with certain MacOS versions flagging SMAPI as malware and forcibly moving it to the trash, disallowing users from installing SMAPI.

If you are experiencing this issue, please read through the solutions in #1318323302779060324, which gives detailed instructions on how to resolve it.

If you are still experiencing issues after attempting the solution in common-bugs, please post a new thread in #1272025932932055121

last plume
#

its showing the channel as unknown fyi

uncut viper
#

click it anyway

tiny zealot
#

discord moment

vernal crest
#

You can still click it. It will stop being unknown once you go to it.

uncut viper
#

you have the channel category hidden/muted i presume

vernal crest
#

It showed as unknown for me without being muted, I just hadn't been there for a while.

formal crown
#

Discord dislikes threads SDVpufferpensive

uncut viper
#

self-hiding

hot gale
#

Player learns recipe at level 4

vernal crest
#

So once they know the recipe, send them the letter the next day? Looks ok to me

#

Though unless (BC) is part of your keg's recipe ID, I don't think that should be there.

wary kite
#

Hi i would like to make a mod that changes a npc sprites speech likes and dislikes etc i dont exactly know where to start as im not sure if a content patcher would cover all of this can anyone help

dusk mulch
#

its cool looking through the game files, i just found an unused map that was supposed to be a secret part of ginger island

vernal crest
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.

wary kite
#

tysm ^^

last plume
uncut viper
#

i meant the unknown channel btw not smapi

last plume
#

so it worked. i finally got it working. tho i had to uninstall and reinstall smapi after putting in the fix. but now it worked.

cyan venture
#

i just found out that players can upgrade houses at the same time in multiplayer, is this normal

uncut viper
#

yes

brittle pasture
#

yes

cyan venture
#

I thought it was my mod

#

is there anything i can do about this? i mean i want to limit it to only one person getting upgraded like when upgrading Co-op or Barn

#

is it possible

lucid iron
#

why

uncut viper
#

i mean with enough c# anything is possible but im not sure why you'd want to. you can upgrade multiple coops/barns at once too in multiplayer

cyan venture
#

heh?

#

really, i didn't notice it

lucid iron
#

selph does EAC have a api

uncut viper
#

i wouldnt expect a mod i downloaded to make the price configurable to alter that either

brittle pasture
uncut viper
#

an API clearly /j

lucid iron
#

produced items

cyan venture
#

If this was a feature of the game in Multiplayer, I would leave it as is. I thought it was my mod that caused

uncut viper
#

well, we told you its normal

cyan venture
#

but well just leave it as is

brittle pasture
#

do you just need to know the item queries for the main/secondary produce

lucid iron
#

yea

#

im finally adding these so i rmbr LilyDerp

#

altho idk what do about alt purchase types rn

brittle pasture
#

is there a limit (re: the omni chicken)

lucid iron
#

well you just give me the query no?

#

i decide how many to pick

brittle pasture
#

yeah that's what I mean lol

lucid iron
#

i.e. its a api that returns ISpawnData which we both have access to

brittle pasture
#

I was joking on whether you're displaying every output

lucid iron
#

oh well i could

#

it'll scroll by super fast

#

anyways im gonna release this version for vanilla produce for now (theres a separate bug that need fix)

#

so no rush on ur api either Dokkan

brittle pasture
#

hmm maybe I should just make the API expose the entire asset for reading
pintail spoopy though

lucid iron
#

if it is an interface then i'd have to copy the whole thing blobcatgooglyblep

uncut viper
#

have fun with that

lucid iron
#

tho i think im allowed to have less fields?

#

if i was bothered by it

uncut viper
#

same as api stuff i imagine

brittle pasture
#

yeah, because I'm going to add more fields to the class eventually

#

and then I have to do stuff like AnimalExtensionDataV2 : AnimalExtensionData?

lucid iron
#

so adding new field is fine

#

if you remove fields then u need that

#

(fields or props)

vernal crest
#

Does anyone know off the top of their head any C# mod with a dropdown in its config that has a source I can look at?

regal knot
#

Which one should I choose for Stardew?

uncut viper
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
#

AddTextOption with AllowedValues set should turn it into a dropdown

vernal crest
#

I have already got that but I am getting a null object reference error so I am doing something wrong.

lucid iron
#

that doesnt sound like gmcm thing

#

post log?

#

and code u r trying to deal with

vernal crest
#

My guess is that I am doing something wrong in my ModConfig class so I want to peer at someone else's lol

uncut viper
#

does your config have an initial/default value for the things you are configuring

#

before you are accessing them

vernal crest
#
public sealed class ModConfig
{
    public bool ExampleCheckbox { get; set; } = true;
    public int ExampleNumber { get; set; } = 5;
    public string ExampleString { get; set; } = "Default string value";
    public string ExampleDropdown { get; set; } = "choice A";
}
ocean sailBOT
#

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

uncut viper
#

then yeah probably a log and code needed here, i also dont think it sounds liek a gmcm thing

#

i wouldve thought GMCM would have like. catches/checks

#

is your code on github?

vernal crest
#

No, is that the best place for me to put it?

uncut viper
#

s'where most people host their repos. could put it on github or in a gist or pastebin or tbh a screenshot of your config option code might work fine enough too

#

to clarify for just generally storing your code a git repo at minimum is nice and github at least better still so you dont lose everything if you lose your actual files. some peopple prefer like, gitlab or gitea or w/e tho

vernal crest
#

I do put it on github, it's just private lol

#

To protect my modesty

uncut viper
#

does your IDE warn you about any potential null references anywhere

#

they wont necessarily be errors, Rider gives me yellow squigglies for em

cyan venture
vernal crest
#

I have so many null warnings lol

#

But most are them for the IGenericModConfigMenuApi.cs code I downloaded from GMCM

cyan venture
#

.....

vernal crest
#

I just downloaded this whole thing and put it in my mod folder

cyan venture
#

u are using GMCM API example code?

hot gale
lucid iron
#

i have a null fixed up version of the api

#

that i just keep copying between mods

vernal crest
#

It may be relevant to say that I deleted these two lines from the ConfigMenuApi because the framework line was giving me an assembly reference error and the suggested fix was to just delete them so I gave that a go. The other three config options work (insofar as editing them in GMCM goes, I haven't used them for anything).

using System;
using GenericModConfigMenu.Framework;
uncut viper
#

deleting the second line is correct, if none of the things you're using use System then deleting that is also fine

#

your IDE would make it clear if deleting one was an issue

vernal crest
#

I know I can add question marks to things to make the null reference warnings go away, but I didn't know if it was a good idea to actually do so and thus haven't been.

uncut viper
#

what are the other three? which one did you add when it started breaking

vernal crest
#

I didn't know if it was a good idea to make things nullable william-nilliam.

#

It only breaks on ExampleDropdown. ExampleCheckbox, ExampleNumber, and ExampleString seem fine.

#

But I added them all at the same time. It's only when I go to try to change the dropdown value that it errors.

regal knot
#

what is the most convenient way of debugging my own mod only? Do you always move all the other installed mods to a separate folder

vernal crest
#

The only change I made to the GMCM code is to add a tooltip, which is why I think the problem is in my ModConfig class.

vernal crest
uncut viper
#

does it null error if you delete your config.json manually and try again

vernal crest
#

I will see

vernal crest
uncut viper
#

im guessin you had a previous iteration of your ExampleDropdown before you got the code right and i guess whatever value was in there was Incorrect as far as GMCM was concerned

#

bc it was erroring on accessing its cached value

vernal crest
#

Yes that makes sense

uncut viper
#

which is gotten from reading the value initially or smth

#

doesnt matter now anyway

vernal crest
#

Now to learn how to use those config options in dialogue SBVMischief

uncut viper
#

did you want guidance on the correct path there

regal knot
#

When it says "add to your project", is it referring to this folder (pic2)?

lucid iron
#

yea

#

ShoppingList/
manifest.json

#

what kinda mod r u make

vernal crest
lucid iron
#

is there such a thing as correct path here...

uncut viper
#

there are many ways to incorrectly use config inside a dialogue string

#

dont harmony patch the dialogue constructor

#

will tell you that one for free

vernal crest
#

xD

regal knot
#

I did follow every step in "create the project" but I still can't see my own project in Mods?

#

wait is it because I haven't compiled it

uncut viper
#

thats what building does

regal knot
#

Should I build through this

vernal crest
#

Is that VSC?

regal knot
#

Yeah

vernal crest
#

Are you very confident in programming in it?

regal knot
midnight sand
#

I would recommend to change Visual Studio Code for Visual Studio or Rider when working in C#

uncut viper
#

are you on a mac?

regal knot
#

yea, just downloaded Rider

uncut viper
#

ah yeah. rip VSCommunity on mac

regal knot
#

Btw which way should be used to build a mod in VSCode? I've seen different sources say different methods

uncut viper
#

ive not a clue since ive never tried to build something with vscode and never would if i could help it. i imagine dotnet build

#

so the first one, likely, but i dont know

regal knot
uncut viper
#

i would still recommend Rider in the future though. a lot better to use a full fledged IDE than a glorified text editor

#

(a very good glorified text editor, but still)

vernal crest
uncut viper
#

you'll want to invalidate that asset in your GMCM save function

#

Content Patcher is nice and handles invalidation for you

#

if you invalidate it after changing the value, the next time the dialogue needs to show up, itll be run through AssetRequested again

#

there are other ways too. you could turn it into a Tokenizable String and have your tkstring parser grab the config value fresh every time

#

thats more effort than just invalidating the asset though

#

(also to be clear: always edit assets like that in AssetRequested. dont edit them anywhere else)

vernal crest
cyan venture
uncut viper
#

setValue: value => this.Config.ExampleDropdown = value, thats your save function!

brisk wedge
#

Anyone willing to do code review for a mod I wrote? Mostly looking for sanity checks since I'm pretty new to making mods, afaict it does do what I want it to do

uncut viper
#
setValue: value => {
  this.Config.ExampleDropdown = value;
  ModEntry.ModHelper.GameContent.InvalidateCache("Data/Whatever");
}

like this

uncut viper
cyan venture
lucid iron
cyan venture
lucid iron
#

your changes dont save until you press save

uncut viper
#

there is no reason to have a temp config made

lucid iron
#

its already a gmcm feature isnt it think

cyan venture
#

I know but somehow even though I didn't save and pressed cancel, my mod still saved what I edited even though I didn't press save.

#

If so then it is my code causing the problem haha

#

but that's ok a little more code doesn't hurt anything, glad others don't have the same problem as me

brisk wedge
cyan venture
#

hey wait

#

i figured out something

#

@uncut viper

cyan venture
#

are you Spiderbutton in Nexus?

vernal crest
#

She is

uncut viper
#

i am Spiderbuttons yes

cyan venture
#

oh yes

lucid iron
cyan venture
uncut viper
#

if its to report something broken about it, i have no plans to get to it in the immediate future

cyan venture
#

the some of the icons/silhouettes stacked on top of each other. one

lucid iron
#

that is more likely to get response than "pls audit code"

uncut viper
#

i havent touched that mod since before 1.6.9 and was never able to recreate issues people reported even back then, so, its very low priority

cyan venture
#

I use it quite a bit so it's sad that it's broken

lucid iron
#

did you open source that one button?

uncut viper
#

i honestly dont remember

lucid iron
#

i thought it needed better game menu changes

uncut viper
#

it has one patch to GameMenu that likely does not even need to be there

lucid iron
#

i was gonna say if it is open sauce then rias can attempt PR if they want

cyan venture
#

well if Button allow me

uncut viper
#

i have only had the chance to open up Rider like 2 times in the past couple weeks so most of everything mod-related is low prio for me right now

uncut viper
# vernal crest Why is this, btw?

because edits made outside of AssetRequested will get overwritten next time AssetRequested happens after the asset is invalidated. thats a big reason but not the only

lucid iron
#

i edit them elsewhere a lot but only on a cached copy kyuuchan_run

#

and usually its more like

uncut viper
#

caching it yourself for other purposes is fine but like, dont go editing Game1.objectData

lucid iron
#

this value is bad, set it to null so we skip the check

uncut viper
#

you can read from the game's caches just dont write

vernal crest
#

Okay that makes sense, thank you. I do not know what it means to cache things yet beyond the general idea of "store this" but hopefully when I need to use that I will be at the point of figuring out what to do lol

uncut viper
#

thats basically what it is. store something so you dont have to keep getting it/generating it later

#

like a texture, for example. you can grab a .png file from the computer every single time you need it if you want. but why do that when you can grab the .png file once, save its data, and then just grab that data whenever you need it instead

lucid iron
#

looking up a dict has cost

uncut viper
#

speaking generally about caching not necessarily stardew specifically

#

looking up in a dict has a very very minor cost, though

lucid iron
#

but if u know u r always look up this one thing, u can hold it so u dont lookup again Dokkan

#

yea its not a big cost, adds up if u r doing it every frame or something like that

uncut viper
#

i think the miniscule differences in those scenarios is not so much the best to describe the efficiency of caching

#

getting it from a dict is practically close to O(1)

vernal crest
#

Caching is the reason I had to invalidate Abigail's dialogue asset for the token value to change? Because when the asset requested it was cached?

uncut viper
#

correct

#

its cached so that when every mod or the game asks for abigails dialogue it already has a copy ready to hand out instead of reading the .xnb again

#

or making it go thru assetrequested every single time

vernal crest
#

And theoretically I could also cache it somewhere else and then edit that? And that edit wouldn't affect the actual Characters/Dialogue/Abigail asset?

#

(I have no idea why I would want to, just trying to understand what chu said about editing a cached copy.)

uncut viper
#

if you ask the game to give you that asset then you can do whatever you want with it

#

and it will not affect the original bc you'll be loading it into your own dictionary

#

but be careful to not assume that every time you ask for a thing that edits wont affect the original

#

like, for C# in general not smapi assets or anything

lucid iron
#

yea it is by reference too

#

im not actually sure if Game1.content.Load gives you a reference or a copy think

#

i wanna say reference

vernal crest
#

If it gives a reference, would that mean my edits are affecting the original?

lucid iron
#

[i do edit only when] this value is bad, set it to null so we skip the check in future
but that is also where the use case comes in

#

i dont try to change stuff to different valid value

uncut viper
#

(also i just downloaded Searchable Collections Page and ran it and it still works perfectly fine for me so. shrugs)

dusk mulch
#

I think I figured out what a boolean is.

(get it... boo-lean? he is doing a peekaboo thing?... ha ha?)

uncut viper
#

the last time someone reported it they didnt send a log so i commented asking for a log, then someone else replied to that comment saying they had the same issue... and didnt provide a log. so i guess @cyan venture if you had a log that would probably be helpful

cyan venture
#

that time i was on phone so i cant have the log with me

uncut viper
#

i cannot do anything with a report without a log

cyan venture
#

wait i'll give you one

#

i need to start my game and use SCP first

ocean sailBOT
#

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

uncut viper
#

and that happens as soon as you load the collections page at all, or a specific tab?

#

(oh hi Khloe. i fixed the BGM compat for Searchable Collections Page. that patch didnt need to go on GameMenu)

rancid musk
#

(:D I was just thinking about that cause of this log)

deep cypress
#

Just to check: I am trying to make a compatibility thing for someone. I am trying to make sure they can read it as in Content Patcher.

__instance.modData.Add("PolyamorySweetWeddingDate", friendship.WeddingDate.ToString());

This is a safe thing to do, as in, it will not screw the NPC up which it is added to?

cyan venture
#

it happen when i search at any category in collection page

uncut viper
#

oh, wait, rias, do you use any mods that add more tabs to the collections page?

cyan venture
#

oh hmm i think yes

rancid musk
#

Messing with moddata is fine, yeah.

cyan venture
#

i consider more book button or something like that

uncut viper
#

that doesnt add anything to the collections page

#

thats the powers tab

deep cypress
#

Yay!!! And the world date is as I believe, "Year int Season int", correct?

uncut viper
#

unless im confusing which mod you mean

cyan venture
#

i have to start my game again wait

uncut viper
#

actually i might be confusing what mod you meant

lucid iron
#

season is an enum

uncut viper
#

unless the mod author name is just different from nexus

#

but yeah if you could tell me if you have more tabs on the collections screen and which mod adds it thatd be great

cyan venture
#

before that i was still using your mod with this mod folder in july 2024 and now i play again it is broken

lucid iron
#

since you get this with ToString $"Year {Year}, {SeasonKey} {DayOfMonth}, {DayOfWeek}"

#

i'd probably do a different serialization without the leading Year

cyan venture
#

Do you have any thoughts about last July?

hot gale
#

Im not too familiar with NPC stuff yet, can I insert a liked/loved item to an existing NPC only? Like, can I insert my mead as a liked/giftable item to an NPC without disrupting other stuff?

lucid iron
#

{Year},{Season},{DayOfMonth}

#

this much shold be enough

uncut viper
#

i mean any of your other mods could have updated in the meanwhile

cyan venture
#

im almost done load my save

#

i'll look if i have any mod that add more tabs

#

i think nope

#

this is normal collection page right?

uncut viper
#

nope

#

dont know what that hammer is

cyan venture
#

crafting page

#

im using vanilla tweak

rancid musk
#

Think a mod that adds crafting recipes, yeah.

uncut viper
#

this is where just copying from the vanilla code bites me in the ass once again

cyan venture
#

oh i found it

#

crafting collection page

uncut viper
#
int[] widthUsed = new int[8];
...
widthUsed[collection.Key] = 0;
IndexOutOfRangeException: Index was outside the bounds of the array.
deep cypress
#

Hammer Time! Drop the hammer! (Thor Voice): Hammer!!!! (Too many hammer memes come to mind! Sorry!!!) (Justin Hammer!!!0

cyan venture
#

but i'm not sure the guy who report this problem in your mod page first have the same mod as me

uncut viper
#

the world may never know

#

give me a minute

lucid iron
#

so if u remove that page does it load

cyan venture
#

yea he just report and disappear haha

#

ill remove the mod and try

lucid iron
#

er, that other mod

#

yea Dokkan

uncut viper
#

oh, hey

dusk mulch
#

such a big mod guys, this is my content.json, so big right?

#

./s

uncut viper
#

i was confused bc the tab it added with the hammer didnt even show up for me

#

i assume its looking for GameMenu to be opened to add to the list

rancid musk
#

Ah, lol

#

Closed source mod, I can't PR it. Honestly people should just use Better Crafting's dynamic categories anyways /s /but-not-that-s

uncut viper
#

oh, lord, wait a minute

#

hold on i need to crack it open in ilspy

cyan venture
#

yea you can do it..

#

and yep

#

if i remove CCP your mod work perfectly

rancid musk
#

\o/

#

It patches CraftingPage.receiveLeftClick

#

another one for the pile

uncut viper
#

ah.. it does look for GameMenu to add a new tab. it adds it with an id of its mod id

#

yeah i wonder why widthUsed[21620] is out of range

rancid musk
#

This, uh

#

lmfao

uncut viper
#

its not technically incorrect to do, i guess

rancid musk
#

Patches CraftingPage.receiveLeftClick, and if you click to craft something, it tries to find the collections page and update it live.

#

I guess is technically works, but

uncut viper
#

i was wondering why it even touched craftingpage

#

i mean i guess without Better Game Menu , it makes sense?

#

it's not like it's going to update otherwise when you switch tabs, its already created

#

id really rather nooot initialize an array of size 21620 just for this...

rancid musk
#

Sounds like it is time to use the page indexes as keys and not indexes.

uncut viper
#

yeaah

#

which, i shouldve really done from the start. again... copying from CA. blame him /j

vernal crest
hot gale
#

Oooh didnt know Append was an option very cool

#

Thanks!

rancid musk
#

(Also I hope you've been liking BGM since you apparently test with it :D)

uncut viper
#

easy enough fix though, and hey, the search actually works with it

#

i am very pleased with how snappy it opens

#

is the strange gap on the right of the existing tabs temporary

rancid musk
#

Hmm?

uncut viper
#

other than that (and the loss of my gmcm button for now) i do like it

#

lemme re-add it rq

rancid musk
#

You can disable it in GMCM btw, to avoid needing to remove it and re-add it

#

Though I guess it'd help if I sent you a GMCM build with it working

uncut viper
#

yeah i was unable to open gmcm

#

lol

#

also Rias if you're still lurking ill post an updated version soon of searchable collections page with the bug fixed

cyan venture
#

yes

#

thanks you

uncut viper
#

this is what i mean with the strange gap btw khloe. between the 🚫 and the X

cyan venture
#

that definitely strange

rancid musk
#

Ah. Yeah, it's to do with a different way I'm handling the child menu size vs the game menu size.

#

Anyways, I uploaded an unofficial SpaceCore + GMCM build here on GitHub.

#

Make sure to use the right-click menu option to open Mod Options 😛

cyan venture
#

i need BGM too right?

rancid musk
uncut viper
#

(but not for my bugfix if thats what you mean)

cyan venture
#

hmm spacecore add any game menu?

rancid musk
#

SpaceCore replaces the Skills page, but it doesn't add a new menu.

cyan venture
#

oh

rancid musk
#

The more I mess with it the more the ability to quickly change tab providers is one of my favorite features.

cyan venture
#

Khloe

#

your Theme Manage mod

#

maybe, just maybe have some issue

#

it said something about Memory issue

#

but i cant see it in smapi log

#

and the issue make the game close immediately

#

=)) what is this

#

uhh i lost all of my map

#

even RSV in the left cant access

rancid musk
#

Yeah, there's a lot of mods that still need updates.

#

RSV is one of them. A few map mods are there.

cyan venture
#

oh yea

#

i see

#

World Map Everywhere is what im using rn

rancid musk
#

Right. That mod is closed source. I've reached out to the dev about support.

cyan venture
rancid musk
#

Haven't heard of that one before, but it's just a content pack so it should be fine.

#

I do appreciate people loading up with big mod packs to see what they notice though.

#

I hope it loads noticably faster for you than the normal game menu does.

#

(Mostly the first time, admittedly.)

cyan venture
#

i have all of big mod with me rn

#

did you make PR for Button SCP?

#

i cant click into the search box

uncut viper
#

SCP has not changed yet

rancid musk
#

Button still needs to release that, I think?

uncut viper
#

but clicking into it shouldnt be an issue

#

you are using your mouse, right. controller is not supported

cyan venture
#

mouse ofc

#

it work perfectly before i install BGM

#

but now i cant click into the search box

uncut viper
#

that is not an issue i am able to recreate

#

but i just uploaded a new version to nexus anyway

cyan venture
#

hmm but in console it dont have any error tho

uncut viper
#

because your crafting collections tab isnt there

cyan venture
#

i mean BGM and your mod

#

ah yea this is old version

#

UI Info Suite 2 Menu disappear is normal?

uncut viper
#

remember that BGM is still in beta. Khloe has made PRs and reached out to devs but not all mods are updated for it yet

cyan venture
#

yea im testing it

uncut viper
#

you can check compatibility status here

cyan venture
#

i just asked incase of she made a patch but i wont work

uncut viper
#

you can see the status of UI Info Suite 2 on that page

#

the same page you got the GMCM and spacecore builds from

cyan venture
#

i see it

#

wait

#

if she made a PR for bigger backpack

#

im using Morebackpackupgrade

#

i'll grab the mod link

#

did this need it too?

uncut viper
#

.. have you checked?

cyan venture
#

i dont see it in github

uncut viper
#

manually checking every single mod out there that may be affected is a huge order. a significant portion of the intent of the open preview is for people to report it if they notice it, not just report that they think something may or may not be affected

cyan venture
#

what BGM affect to GMCM

#

I don't see any change.

#

wow

#

and my save load very fast

#

(I don't know if it's the BGM but it really loads much faster than before)

#

SCP work perfectly now

#

even the morebackpackupgrade is smoother by somehow

#

so amazing mod

hot gale
#

Shameless plug 🤣

hot gale
#

Is there a guide for adding support for earthy etc

#

to a custom map*

#

My insertion looks mad goofy with earthy haha

vernal crest
hot gale
#

Oh dope

#

Thanks!

vernal crest
#

Are your grass/fence tiles custom made ones? If not, you should just be able to use vanilla tilesheets anyway.

hot gale
#

They are vanilla assets O.o I mean the grass and fence at least

vernal crest
#

Then you shouldn't have to recolour them manually.

#

Are you including them in your mod folder?

hot gale
#

no

#

oh wait

#

Shit i am forgot to take them out of my repo folder

#

derpp

#

I knew I wasnt going to when I released it, brainfart lmao

vernal crest
#

If you prefix them with a period, the game will use its own assets rather than the ones in your map folder.

#

Still better to remove them before publishing, but it can be helpful for testing to avoid having to remember to move them around.

hot gale
#

:P

#

oh hmm what is this o.O

vernal crest
#

You appear to have a random tile in the middle there

hot gale
#

yeah just noticed that

#

Odd

#

wasnt there before

#

think its medieval buildings doing that

vernal crest
#

Did you draw the building, btw?

hot gale
#

No no, its from a public tilesheet

vernal crest
#

Oh, Lumi's?

hot gale
#

I believe so

vernal crest
#

Hers is the only one I can remember with buildings. I was going to say it's a nice building xD

hot gale
#

It is! Her sheets are stunning

#

Inside the saloon

#

I may end up changing the layout, its kind of basic as far as the path to the bedroom

#

My first venture into making maps

vernal crest
#

Nice :) Very exclusive only allowing one table at a time xD

hot gale
#

I dont really plan on having the NPCs move around or do anything aside from tend the shop so I didnt think locking their bedroom up was necessary essentially - I may change my mind though

#

Haha good point

#

Saloon renovations in next update after this lmao

vernal crest
#

It's a very upper class saloon

#

By appointment only

hot gale
#

Actually might just add more rooms via doors

#

maybe a backyard for tables

#

put up a bunch of string lights

#

Xiddav was clutch with the giant keg and barrel stacks

#

Really brought the saloon together imo ;p

vernal crest
#

Yes it's very thematic

#

Tilesheet mods are awesome

hot gale
#

unsung (maybenot, idk tbh) heroes tbh

#

A lot of time to sink into something to 'give away' like that, mad respect

#

an NPC was in my saloon O.o

#

Didnt know they could path to places unless you told them

vernal crest
#

How many warps in and out of your saloon are there?

hot gale
#

Just the one, and its an action warp

#

Fixed the hovering tile

#

invisible with vanilla assets apparently

vernal crest
#

They normally do not go to places unless they are told.

hot gale
#

Jas was in my saloon

#

Think she is from SVE?

vernal crest
#

Is your saloon where the tree with the swing normally is?

hot gale
#

yes 😭

vernal crest
#

Jas is a vanilla NPC

hot gale
#

lmao she clicked on my door

#

I knew I might have issues putting the saloon there, darn

vernal crest
#

Her schedule does send her to that tree (at least in my game, not sure about vanilla).

hard fern
#

It does

vernal crest
#

I know of at least two mods that have events there too.

hard fern
#

Your door probably lines up where she needs to stand

hot gale
#

Well damn. Hmm now what

vernal crest
#

If your NPCs do not need to leave, you have more options than people frequently do because there's no need for it to be close to town.

hot gale
#

True

#

They dont even get into bed :p

#

The saloon is open 6pm-2am so not like anyone would see them do it anyway

vernal crest
#

You could put it on its own map and have a TouchAction (player-only) warp that implies that the player wandered down a little lane to get there.

hot gale
#

Might do like 6am-5am since I primarily use night owl plus anyway, might be cool for a shop to be open overnight

vernal crest
#

Then your vanilla map patch would only be a few tiles, much easier for compat.

hot gale
#

Like Lunna

#

or Lost in the woods

#

I was hoping to better integrate to the main maps but I may have to end up doing that

#

Maybe i can make an exit off Walk to the Desert REDUX ;p

vernal crest
#

It depends on how much you care about compat with other mods - and whether you think people are likely to keep yours over whatever it clashes with xD

hot gale
#

Yeah not holding my breath on that Im realistic lol

vernal crest
#

You could also do various options that change depending on config choice or even automatically depending on which other mods are installed.

fathom rapids
hot gale
#

Please do

fathom rapids
#

theres sooooo much empty space. you dont need hallways that wide. modded maps keep doing this and like. have you noticed how economical vanilla indoors are?

vernal crest
#

Again, not having NPCs having to path from there makes your options much more flexible than others'

hot gale
#

This is my first attempt at making a map wholly by hand

fathom rapids
#

💪

#

you can do it!!!!

hot gale
#

Im happy with the lower half, not so much the top

#

As you said the hallways are bleh

fathom rapids
#

yeah the lower half looks good!

#

the hallways, just make them 1 tile tall

#

or 2, with the invisible one

#

(covered by the front layer of the wall in front of them)

hot gale
#

My girlfriend and I designed our halves and I like the juxtaposition

fathom rapids
#

and 2 tiles wide

hot gale
#

Thanks for the input!

#

It helps a lot

fathom rapids
#

like the top looks good too! in the parts where its not empty

#

and the bedroom will look roomy and non-cramped even after removing the extra space at the bottom you know?

#

yay ^^

hot gale
#

I agree :D

#

I originally wanted to mimic the vanilla style with the really thin hallways, but I am very NOT artistic so thats what I got 🤣

#

Took me way longer than I care to admit to even get the room borders working properly

#

w/e you call them

#

the ceiling liner

vernal crest
#

It took me a long time too. It takes a while to get used to how the layers work and where the tiles are.

hot gale
#

my girlfriend having tons of PS experience picked it up immediately

vernal crest
#

I always have a vanilla map open and swap over to it to find the tile that I want and then right-click it to find where it is on the tilesheet and then go back to my map and find it on the tilesheet there.

hot gale
#

She was just like yeah its layers and took off

vernal crest
#

I didn't have any issue understanding how the layers work in terms of draw order but I still get the collisions or Front stuff wrong sometimes.

hard fern
#

I black out and when i wake up i have finished maps

vernal crest
#

But it doesn't bother me because I learn best by trying something and then learning why it does or doesn't work anyway so I just do my map how I think it's going to work and then run around it and update the bits where I'm wrong.

hot gale
#

Ive been working on a huge (for me) expansion to my mead mod

vernal crest
#

I'd probably give up on maps if patch reload wasn't a thing though.

#

I'm not about to restart the entire game because I put one single tile onto Buildings instead of Front by mistake lol

hot gale
#

I just strip everything but what im testing and frameworks/mod tools, booting is pretty quick with like 25 mods where most arent actively doing anything

#

that being said, I do patch reload it just doesnt work for everything

vernal crest
#

I do that too - I have mod groups set up for it - but it would still be too long if I couldn't patch reload,

#

Patch reload works for almost everything except config and dynamic token changes.

hot gale
#

Yeah all my i18n dont update I believe

vernal crest
#

There's a separate command for that.

hot gale
#

Ahhhhhhh

vernal crest
#

reload_i18n and then patch reload

hot gale
#

well hot damn

#

goodbye rebooting

#

Wonder how many places edit this area

#

Im actually more familiar with the SVE map, but afaik the bookseller doesnt go this high up

vernal crest
#

If you can see it on a vanilla map, there is at least one mod editing it lol

#

I wish there was a Te Reo Māori translation of Stardew so I could practice learning it when I was testing my i18n.

#

Wow, my idea for how to use i18n and a config token together in a dialogue string worked first go.

vernal crest
hot gale
#

Still pretty dope

vernal crest
#

Man I really need to get rid of the Fast Forward mod

#

Every time I hit the key by mistake I end up unable to do anything in game

#

Sticking with Event Tester instead

hot gale
#

Whats that do, Fast forward?

#

Makes time accelerate?

latent mauve
#

You could possibly create an extra break in the trees somewhere for a path to a new map

#

Over by Clint/the museum/JojaMart

hot gale
#

Yeah I am actually looking at the east of Joja

latent mauve
#

You only need enough space for a path block to imply a route

#

Anything on map edges has the benefit of avoiding issues with vanilla NPCs walking over it

fathom rapids
#

lol I didn't know about patch reload when I was making my map mods 🤣

hot gale
#

Or areas that have no access

#

Maybe?

vernal crest
# hot gale Makes time accelerate?

Yes, it makes everything speedy. Helpful for testing schedules. But Event Tester does it too and also does other things like plays events automatically and checks mail and dialogue and GSQs and stuff.

latent mauve
#

I have to be very careful with patch reload because I have home/schedule changes to vanilla NPCs that will reset and cause NPCs to mow down trees

vernal crest
#

Every time I was testing my shop and reloaded, Linus (my test owner) walked off so I couldn't open my shop anymore. Rather than edit my shop to not require an owner (the most sensible solution) I just ran to his spot and used debug wctm Linus every single time lol

#

Hooray, today's C# learning was very successful!

last plume
#

Morning, anyone know how I can reach Airyn? I want to ask him permission about creating a compatability patch for a mod of his.

calm nebula
#

(Just @ him here)

scenic jetty
#

If I wanted to make a translation of the game in a language that isn't supported rn, could anyone tell me how to get started with that? (making it as a mod I guess)

vernal crest
# scenic jetty If I wanted to make a translation of the game in a language that isn't supported...

This page explains how to set up a custom language. https://stardewvalleywiki.com/Modding:Custom_languages

Once you have set up the language you will need to patch every text asset in the game to translate them. Unpacking it will help if you haven't already done so. Instructions for how to do that are here https://stardewvalleywiki.com/Modding:Editing_XNB_files#StardewXnbHack

Just because I'm curious, what language are you considering translating it to?

scenic jetty
vernal crest
scenic jetty
vernal crest
last plume
#

good morning airyn, i saw in your custom wedding ceremony mod that you dont provide sve support. however i am wondering if you give me permission to create patch mod if i give you credit for it. i'd call it "Custom Wedding Ceremony - SVE Compatibility"

again i would give you credit for original mod, just wanted to ask if I can make this compatibility patch. I thought it be a good opportunity to learn and practice C#

slender badger
#

Sorry, but no. You're welcome to do your own custom ceremony for SVE if you like (without using my code or assets), but I don't want my version edited for SVE compat.

#

You also don't need C# for that

last plume
#

oh ok. is custom wedding ceremony a CP mod? I thought it would require SMAPI.

and that's fine, i respect that. I might do that, but i will ask flash first

slender badger
#

It's CP, yes. All my mods are, with the exception of DSV Core

last plume
#

ok. thanks. have a good day.

deep cypress
#

Hi loves! Is this the correct format for Winter Star GIfts?

    "WinterStarGifts": {
                "ID": "LantanaWinterStarGift",
                "RandomItemId": [ "(O)341", "(O)394", "(O)797", "(O)873" ] 
        },
cyan marsh
#

how is everyone doing today

hard fern
#

Tummyache central

cyan marsh
#

that was me last night e.e

deep cypress
last plume
#

oh interesting. thanks for clarifying. i had no idea before

regal knot
#

Otherwise I will only be able to make mods 50,000 years later

#

Just realized my real name exposed

brittle ledge
#

You can make CP mods without coding experience pretty easily. (Copilot won't know anything about CP, so don't bother trying)

regal knot
#

I was thinking why CP is so productive

lucid iron
#

You need to be in a drawing context to draw things yes

brittle ledge
#

Nope, it's Content Patcher, which is what about half the content packs of Stardew use.

regal knot
#

can you add new item in CP?

lucid iron
#

Pick one of these render events

#

Yeah

regal knot
#

Oh

modest pumice
#

I had a lot of fun updating my mod and now I've got the bug but all my ideas require me to be better at art. Tragic.

vernal crest
brittle ledge
#

I overcame it by paying other people to do my art SBVLmaoDog

#

(Which is also a valid option, to be clear)

vernal crest
#

It totally is! I strongly encourage it also. I have paid for art for one of my mods too.

regal knot
#

What kind of art?

#

Aren't there a lot art people in this server too

brittle ledge
#

Yep!

#

!commissions

ocean sailBOT
vernal crest
#

Yes, they're the people we're paying, usually lol

regal knot
#

Sometimes I like art more than programming

#

If the workload is not too big, I can help with it maybe

vernal crest
#

I commissioned a portrait pair from my friend Pau for my Trader Sialia mod.

brittle ledge
#

Yeah for example, I've commissioned Taiyou (author of Vanilla Tweaks) for my recent Little Free Library mod and Airyn (author of DSV) for my NPC portraits and sprites.

modest pumice
#

Haha I definitely should find some low stakes stuff to practice with I think. I don't really want to commission as many fish as I want to make so practice it is!

vernal crest
#

I have found it very satisfying learning to draw for Stardew. I find pixel art at this size much easier than any other drawing endeavour I've ever attempted.

brittle ledge
#

Fish are probably one of the easier things you can do! Speaking from experience as that's about the only thing I've successfully sprited SBVLmaoDog

modest pumice
#

I've done some very simple pixel art for cross stitch patterns before, but it was mostly doodles and text lol so this is a change

brittle ledge
#

Cross stitch basically is pixel art so that's a leg up kyuuchan_nod2

vernal crest
#

I enjoyed drawing my fish the other day except for having to look at all the pictures of fish for reference. That was too sad so I have sworn off drawing fish.

hard fern
#

stardew was the first time i ever tried pixel art

#

absolutely no experience or knowlegde of how it's even supposed to work 😭

brittle ledge
#

You had prior art experience in general, right?

hard fern
#

uhh, idk if i'd call it "experience" in a formal sense

#

but ive been drawing for practically my whole life?

shut mountain
#

I had an idea like 2 years ago that I feel like acting on now

reef kiln
#

Snake milk counts as a special power right? So I can't just add a mod with a 2nd snake milk to get the buff twice. I would have to make a whole new special power and stuff right?

shut mountain
#

Also I'm not entirely sure what you're asking. I'm just going to spawn multiple snake milks and see if the effect stacks

reef kiln
#

I don't think the snake milk is an item. It is just something mr qi gives you on floor 100.

hallow prism
#

it uses some mail thing to give the boost

shut mountain
#

Oh. Then what's iridium milk?

reef kiln
#

Iridium snake milk i think is what it is called. I may be wrong.

shut mountain
#

Ah, then I can spawn multiple and drink them :D

latent mauve
#

Been a while since I did them, but that's how I coded them on my winter star gift helper in the NPC builder.

brittle pasture
#

the iridium milk item has no special capabilities. it only exists to serve as a sprite in the special level 100 skull cavern event, which is the actual thing that gives you the boost

reef kiln
shut mountain
shut mountain
shut mountain
shut mountain
latent mauve
#

Also apparently nobody reported to me that I didn't code the gift helper formula to support RandomItemId, so I will get that fixed later today xD

brittle pasture
shut mountain
#

All that's missing is the milk then

brittle pasture
#

that's "saw the level 100 event"

shut mountain
#

I know