#making-mods-general

1 messages · Page 234 of 1

tidal stone
#

do i save my event string as event json?

#

or does it matter

vernal crest
#

Are you writing it as an include file?

#

Because the file name doesn't matter as long as you refer to it correctly in your Include code block

tidal stone
#

i was thinking of writing it like the action things in my content json

#

Action: include
target
fromfile

#

Im not sure if thats correct though

vernal crest
#

There's no Target in an include but yes you can do that.

tidal stone
#

ok i popped it in and i did something wrong back to the drawing board it says it cant parse the json file

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.

tidal stone
#

I see where its telling me my code is wrong but im not 100 on how to fix it

vernal crest
#

What text editor are you using, by the way?

vernal crest
#

Where is the rest of the file?

tidal stone
#

i only did what the tutorial showed and that line of text was all it showed

#

oh wait

#

it didnt copy everything

#

it cuts it off unless you go into edit on the previewer weird

vernal crest
#

You need something like this in your file.

{
    "Changes": [
        {
            "LogName": "Hiria's National Park events",
            "Action": "EditData",
            "Target": "Data/Events/{{ModID}}_NationalPark",
            "Entries": {
                          "EventNameAndPreconditions": "EventScript"
                        }
                }
      ]
}
tidal stone
#

Oh does that go into events.json or content.json?

vernal crest
#

That goes into events.json

#

The bit in content.json looks like this

        {
            "LogName": "Include Events",
            "Action": "Include",
            "FromFile": "data/hiria_events.json"
        },
tidal stone
#

ok where do i put the line of code for the events? just between the brackets

vernal crest
#

Yes, like in my example.

tidal stone
#

OH

#

is that what event spcript means ok ok sorry early morning slow brain

#

ok now i only have one error and its that i have a : but if i dont have the : then the rest of the sentence goes red

#

WAIT

#

i fixed it it hink sorry

#

why is it when you fix one error 3 more show up

flat sluice
tidal stone
#

i changed a : to , and it fixed the script but now my brackets dont work right and it wants me to change one into a :

vernal crest
#

Changing any colon to something different was probably the wrong move, but you can share your json again if you want help with it

tidal stone
#

ok lemme change it back and resend

vernal crest
#

I see why

#

You have put your event name and preconditions inside the spot for the event script instead of replacing the words EventNameAndPreconditions with your own event's name and preconditions.

tidal stone
#

Oooh

vernal crest
#

This part is your event's name and preconditions "KandiKraze.Kraze_Spr1ng/w sunny/z spring/t 630 1200/f KandiKraze.KrazeNPC 500"

#

The bit after the colon is your event script.

tidal stone
#

My bad

vernal crest
#

Sorry for confusing you with that.

tidal stone
#

oh no your fine XD im just silly

flat sluice
#

That line with your event should then look like this:
"KandiKraze.Kraze_Spr1ng/w sunny/z spring/t 630 1200/f KandiKraze.KrazeNPC 500" : "50s/-1000 -1000/KandiKraze.KrazeNPC 20 62 3 farmer 14 55 1/skippable/viewport 21 54 true/move farmer 14 62 1/textAboveHead KandiKraze.KrazeNPC \"Oh!$3 Hello @, How are you today?$1\"/pause 500/move KandiKraze.KrazeNPC 14 630 /speak KandiKraze.KrazeNPC \"I was just looking at the flowers, their so pretty this time of year, and the vegetables I buy at pierre's are just as good looking. Spring really is the best if you want fresh veggies.\"/move KandiKraze.KrazeNPC 12 64 2/speak Penny \"I like living in the valley because its peaceful here and the people are warm, in the city no on knew my name but here? here I get greeted everyday just by going to the store! It's great.\"/move KandiKraze.KrazeNPC 12 64 0 \"Living alone far from my parents is lonely but, I have some good friends like you so it's ok. *smiles*\"/pause 800/viewport -1000 -1000/end"

vernal crest
#

Your event script itself is also going to break in at least one place, but we will get it in the right place before we address that.

flat sluice
#

And also fix the target, if {{ModID}}_Spr1ng is not your custom map.

tidal stone
#

i thought that was the id code not a target should i set it to the map ill be standing in for my event then

flat sluice
tidal stone
#

should i change it at the beginning of the script 2

vernal crest
#

What do you mean?

tidal stone
#

"KandiKraze.Kraze_Spr1ng/w sunny

vernal crest
#

That's the name/ID of your event. You can call that whatever you want as long as it's unique (so keeping your mod id as a prefix is a good idea).

tidal stone
#

ooh ok

vernal crest
#

Although I don't know if using a 1 in place of an i makes much sense to me.

tidal stone
#

event 1 spring

#

that way i dont have to use as many words

vernal crest
#

What's the problem with using words?

tidal stone
#

i just like shortening things

vernal crest
#

Ok as long as it doesn't get confusing for you or anybody trying to understand your event names. Users using mods like Event Lookup will get to see them.

#

I mean, you don't have to care about what your users will think. I just am one of those users who reads mod authors' event names while I play to figure out what events I'm meant to be seeing so I have opinions lol

tidal stone
#

fair

#

its mostly just a standin because i didnt know what else to call it atm

vernal crest
#

Understandable! And it is your call in the end anyway.

#

Now, you've got your portrait commands in the middle of your dialogue lines again so that's going to break the dialogue again.

tidal stone
#

oh thats right i need to do #b# right

vernal crest
#

Yeah

uncut viper
#

though one of those is a textabovehead anyway

calm nebula
#

Good morning modders! How goes the modding

uncut viper
#

moddingly

tidal stone
#

i think i got all the spots, tried to run it and the event still doesnt start though sadge XD

#

good morning

#

i am trying to fgiure out events 😄

vernal crest
#

So it is. Yeah, portrait commands aren't going to work in textAboveHead because there's no portrait to change.

uncut viper
#

(i dont think the @ will work in it either but id need someone more event prone to confirm or deny that assumption for me)

calm nebula
#

@ won't work either

tidal stone
#

oooh should i use {{Player Name}} instead?

uncut viper
#

i believe {{PlayerName}} (no space) is your only option there

vernal crest
#

Yeah Dennis pointed out before that textAboveHead needs PlayerName

tidal stone
#

aa ok

calm nebula
#

huh, there isn't a tokenparser for it

#

I'm surprsied

#

{{PlayerName}} it is, but you'll need to handle that special for i18n

uncut viper
#

i was also about to say the same thing, even tho i know tokens wont be parsed either

calm nebula
#

I thought events parsed tokens

#

at the top level

uncut viper
#

maybe one wasnt made just bc if you're in a place tokens work and you need the player name, @ is there

vernal crest
#

Dennis gave an example of how to do it with i18n before as well

tidal stone
#

im removing the name until i know what an i18n is

calm nebula
#

events parse tokens

#

which is nice

uncut viper
#

oh, huh

#

good to know

vernal crest
tidal stone
#

aaah i see

uncut viper
#

hm, so could i theoretically store an entire script into one asset and just place a single [LocalizedText ModId/MyStrings:script] token? since it splits it after the parsing

calm nebula
#

sure!

uncut viper
#

fun

calm nebula
#

but it's more useful for moving out translateable text

uncut viper
#

easy gender-based command sequences, actually

tidal stone
#

it still didnt work mind if i send my log?

vernal crest
#

Yup, go for it

tidal stone
ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Pro, with 4 C# mods and 1 content packs.

vernal crest
#

There is nothing in that log, including any debug command to run your event.

#

Well, nothing except you loading a save and going to town.

tidal stone
#

i thought it would auto pop up if i set the conditions correctly 😦

hallow prism
#

so yes, but we do usually test events with the command to see if they are properly added

#

this helps narrowing down WHERE the issue is

tidal stone
#

Oooh ok

#

how do i put in a debug command

hallow prism
#

try typing debug ebi youreventid in the smapi console when you have loaded a save

vernal crest
#

It would, but you've set it to run if it's NOT spring and your save file is in spring.

tidal stone
#

I did D:

#

i thought i specified it HAD to be spring weird

vernal crest
#

So you'd do debug ebi KandiKraze.Kraze_Spr1ng for this one (unless you changed its name).

#

No, you're using the z precondition which means NOT season.

tidal stone
#

Ah ty

vernal crest
#

It might be easier for you to be sure you're using the right ones if you switch to the new way of writing preconditions out by name instead of letter.

#

(There are no up-to-date tutorials for events right now, so unfortunately following a tutorial isn't a foolproof way to make an event at the moment.)

tidal stone
#

i tried putting in debug in the command adnd it said its an unknown command

calm nebula
#

put console commands back

tidal stone
#

got the event to trigger

#

i am walking off the screen XD

tidal stone
#

What can cause your character to just keep walking forever in an event even if the correct coordinates are put in do i have to manually put in a stop command?

#

wait i think i have something out of order in my string and that might be it hm

#

nvm its correct XD ( i think)

vernal crest
tidal stone
#

ooh ok let me fix it then, ty ty

tidal stone
#

man im gonna make so many npcs

#

"so many" (i have ideas for 2 XD)

shadow pagoda
#

What's wrong with this json? I don't see any invalid characters in UniqueID

The mod's manifest.json file is invalid: manifest specifies an invalid ID (IDs must only contain letters, numbers, underscores, periods, or hyphens).```
```json
{
  "Name": "Instant Community Center Cheat",
  "Author": "Hawker",
  "Version": "1.0.0",
  "Description": "Adds the desired items needed to complete the Community Center to the player's inventory",
  "UniqueID": "Hawker.Instant Community Center Cheat",
  "EntryDll": "Instant Community Center Cheat.dll",
  "MinimumApiVersion": "4.0.0",
  "UpdateKeys": []
}
uncut viper
#

spaces are not a letter, a number, an underscore, a period, or a hyphen

shadow pagoda
#

ah

tidal stone
#

I got 1 event to work completely properly!!

hallow prism
#

congrats

#

it'll get easier from there

tidal stone
#

😄 i really appreciate all the help from everyone :3

tribal ore
#

I was really hoping that this would patch all the "Indoor_Day" dialogue at once, but it doesn't seem to:
"Indoor_Day_{{Range:0,4}}": "{{ i18n:dialogue.{{Random:{{Range:0,2}} }} }}",

#

Do I really need separate entries for Indoor_Day_0 , Indoor_Day_1, etc?

lucid iron
#

Range token here resolves to 0,1,2,3,4 i think

#

The literal string

#

The content modders yearn for the foreach

#

Atm you do have have to write all of em yeah

tribal ore
#

Gosh darn it. Thank you

#

Another question then: will "season_day" dialogue always be chosen over other marriage dialogue options? (Indoor_Day, Outdoor, etc)

tidal stone
brittle pasture
#

your second event is outside the Entries block

pine brook
tidal stone
#

i dont understand how to put it in the entries block correctly because if i just put in the line of code it gets mad

brittle pasture
#

did you add a comma at the end of the first event

#

entries must be separated by commas

tidal stone
#

:0 it worked

#

thank you 😭

#

let me see if it runs now

brittle pasture
#

!startmodding

ocean sailBOT
#

Making mods can be broadly divided into two categories:

Usually it’s easier to start with making content packs, since you don't need to learn programming.

forest bronze
#

I'm making custom map and i don't know how to make custom tilesheet update depending of season i have main.tmx file and 4 custom tilesheets

brittle pasture
#

if your tilesheet name starts with spring_ the game should automatically swap them out to summer_/etc.

#

so when you're editing your map, just add the spring_ one

forest bronze
#

i have tilesheet_spring so just rename it

brittle pasture
#

yes

tidal stone
#

if im wanting to do an event at the beach but my target is set to town, do i create a new target and label it beach?

#

or can i only target one thing

brittle pasture
#

only one thing, yes. you make another block with a different Target

tidal stone
#

Aah ok thank you

brittle pasture
#

did you load all the other tilesheets?

forest bronze
#

How

brittle pasture
#

in your content.json have a Load block for all your tilesheets that load them into Maps/spring_tilesheetnamehere, Maps/summer_tilesheetnamehere, etc.

outer cedar
#

I think I'm finally ready to upload my NPC mod today!

#

It's a WIP but it's finally at a point where I'm comfortable showing other people

forest bronze
drowsy pewter
#

That's why releasing a WIP mod with like, 50% of the final content might make people skip over it

forest bronze
#

im stupid plz help

lucid iron
#

hm does case matter

outer cedar
#

The only issue is it's probably going to be buggy but I kind of hope if people play it they can tell me about any bugs

drowsy pewter
#

I feel like in that case it sounds complete enough for people to be interested in playing with then

outer cedar
#

There's nothing game breaking I made sure of that!

drowsy pewter
#

There are also methods you can do to get beta testers, such as asking in modded farmers or posting a beta in a smaller community like the ES discord

tidal stone
outer cedar
hard fern
#

*east scarp

blissful panther
#

You could consider releasing a beta on ModDrop or something other than Nexus in the meantime.

hard fern
#

West carp expansion when-

outer cedar
outer cedar
#

I wanted to do nexus because I thought it'd be the best way to get some eyes on it for people to beta but I would regret it later if it's too unfinished for people to give a chance

rancid musk
#

Hmm. That is an interesting thought. Maybe I should put the preview release of Better Game Menu on ModDrop and not just GitHub.

drowsy pewter
#

I dont know how fast moddrop will bring in feedback

#

You might also have to advertise it here

brittle pasture
#

also make sure that every { has its matching }

#

(hmm your code actually has all matching brackets, I just added that advice because of the weird formatting causing them to not be visible haha)

outer cedar
brittle pasture
#

sure! there's no limitations on where the link has to be

lucid iron
#

you need someone with SDVpufferchick role to repost for you

#

tell us what blurb you want

brittle pasture
#

well unless it's a paywall (it's against the rules)
(and what chu said)

outer cedar
#

Okay gotcha

#

I didn't even know people paywalled stardew mods that's crazy

brittle pasture
#

(it's against nexus TOS so it doesn't happen often)

outer cedar
#

Question, is it okay if the mod has profanities in it? Nothing offensive just mild swearing

lucid iron
#

you can put content warning as you prefer on thy mod

#

server rule only prohibit nsfw mods

outer cedar
#

Ah okay that's good to know it's definetly not nsfw I'll put a content warning 👍

tidal stone
#

i think i like making npcs now that ive done it once just gotta get this first one the way i like it >:3c

#

Hm, ive run into an odd problem where my npcs sprite shows up like this

#

oh i think i named something wrong

cyan venture
#

Hi i dont find any forum for question about mod so im here to ask

#

Did anyone know mod that increase farmhouse upgrade cost?

cyan venture
#

Oh in that forum

#

Ok tks

thin lake
#

Is smapi still being updated for PC or no?

rough lintel
#

anyone familiar with DayTiles know if we have our layers like "Back +2" if we put the name as Back +2 x y id?

#

rather than just Back?

lucid iron
thin lake
brittle pasture
rancid musk
#

Hey, fellow mod devs! As some of you will know, I've been working on a mod called Better Game Menu for a little while now. This mod completely replaces the built-in GameMenu implementation with one that's a bit more efficient (namely, it doesn't load every page every time you open the menu) and that has a nice API for other mods to hook into it.

If you develop a mod that interacts with GameMenu, either to add a new page or to do things to existing pages, we'll need to work on compatibility so please check things out and write a patch, or ask me to write a patch to PR to you. And, of course, please let me know if there's anything missing from my API that you'd like.

Either way, please check it out. For now, you can find the preview release on my GitHub: https://github.com/KhloeLeclair/StardewMods/releases/tag/BetterGameMenu-Preview1

Users, I plan on releasing this properly in 2-4 weeks once other modders have had a chance to update things, and bugs are located. Please look forward to it.

blissful panther
#

(I anticipate more custom menu tabs once this is more known. We shall see if this holds true. SDVkrobusgiggle)

tiny zealot
#

hey khloe my first question off the bat is what happens if two mods pick the same order number in between two default tabs?
for example if two mods want to come between Skills and Social and they both pick 30

blissful panther
#

My vote is which page the tab activates is switched between all of the options every frame. /j

rancid musk
lucid iron
#

what is the solution for GMCM Bolb

#

ask me to write a patch to PR to you
i dont have a mod that need this but you are too good to us khloe puffer_heart

tribal ore
rancid musk
tribal ore
#

Also, for anyone with wiki editing priviledges, this is wrong:
funReturn_<spouse> Dialogue shown after 1pm when they enter the farmhouse but before reaching their target position, but only on Monday (any NPC) or Friday (if not Maru/Penny/Harvey).

The dialogue actually shows on any day that the spouse's schedule takes them off of the farm

#

I've modified Seb's schedule to take him off the farm when married on Tue/Sun, and always get funReturn_ dialogue when he comes back

brittle pasture
#

hmm do I move the fresh farm produce competition to its own tab

gentle rose
brittle pasture
#

the quest log is already a pretty decent place

tribal ore
#

Thank you!

gentle rose
#

nvm, atra got there first SBVLmaoDog

#

atra GooseBonk

lucid iron
#

newobj instance void StardewValley.Characters.Child::.ctor(string, bool, bool, class StardewValley.Farmer)

tribal ore
#

Still need an answer on Marriage Dialogue priority though

lucid iron
#

how do i match for this think

calm nebula
#

OpCode is NewObj

lucid iron
#

atm i have

#

new(OpCodes.Newobj, AccessTools.Constructor(typeof(Child), [typeof(string), typeof(bool), typeof(bool), typeof(Farmer)]))

#

but game didnt like that

calm nebula
#

that should work, huh

#

you sure the next thing isn't the problem

#

also usually I'm a bit finicky about editing around that

lucid iron
#

the nest thing is new(OpCodes.Stfld)

rough lintel
#

any specific reason why an NPC will walk right eternally into the void when their schedule pops rather than.. path out of their house?

lucid iron
#

oh im really just looking for the stfld

calm nebula
#

the next thing = the edit you're trying to make

lucid iron
#

so i can have the b a b y

calm nebula
#

oh, okay

#

hmm

#

that should work fine.

rough lintel
#

not sure what's doing it when everything looks right 😭

gentle rose
lucid iron
#

mabe my first match went too far

calm nebula
#

this is RenderDisplayRewrite's

    private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> codes)
    {
        var constructor = typeof(StaticTile).GetConstructor(BindingFlags.Instance | BindingFlags.Public, [typeof(Layer), typeof(TileSheet), typeof(BlendMode), typeof(int)])
                            ?? throw new InvalidOperationException("could not find static tile constructor");

        var replacement = typeof(RotTile).GetConstructor(BindingFlags.Instance | BindingFlags.Public, [typeof(Layer), typeof(TileSheet), typeof(BlendMode), typeof(int)])
                            ?? throw new InvalidOperationException("could not find rot tile constructor");

        int count = 0;
        foreach (var code in codes)
        {
            if (code.opcode == OpCodes.Newobj && constructor == (code.operand as ConstructorInfo))
            {
                code.operand = replacement;
                ++count;
            }
            yield return code;
        }

        ModEntry.ModMonitor.Log($"{count} instances found.");
    }
rough lintel
tiny zealot
gentle rose
lucid iron
#

im dum its a whole other transpiler that broke

#

ty atra for affirmation

#

why does everything about spouse in this game Succ

#

second only to FarmerRenderer i swear

rough lintel
#

there are no unexpected warps other than the one out of her house

#

heres the schedule json

#

she starts pathing to the sunberry warp room which should make her leave her house, go left in sunberry village and then go to said warp room, but instead she just void walks

tiny zealot
#

i have to go, but which day exactly is this happening on

rough lintel
#

wait hahahahahahahahahahahhahahahahaha (i fixed it)

#

as it turns out, half my coordinates were in fucking WALLS

#

i'm quitting

shadow pagoda
#

I'm trying to dynamically get all the bundles in the CC, along with what the player has and hasn't donated. I found a bundles variable which is of type NetBundles. I assume this is what I want, though I'm not entirely sure as the field/properties/methods don't intuitively seem like they are. Then again, the class itself seems to be a big dictionary that I can't seem to figure out exactly how it works. Maybe I'm looking in the wrong place. Could anyone tell me a section of the code that I can look at, or any documentation that better explains how the NetBundles class works. Or is this even the correct class I should be looking at

hot gale
#

Is anyone familiar with Advanced Melee Framework

#

Trying to understand why only one of the three weapons I'm modifying are actually doing anything

shadow pagoda
cyan venture
#

Does anyone know building increase cost is in which Mod Making Category

cyan venture
# gentle rose what do you mean?

I mean i want to request a mod that can increase farmhouse upgrade cost (Robin house upgrade) but i didnt know which category it should be

gentle rose
cyan venture
#

In this website

gentle rose
#

(which method it’s part of will change based on that)

cyan venture
#

I want to adjustable cost of upgrade Farmhouse but i dont find any mod can do that

#

So i want to request a commission for this

gentle rose
#

Hmm, I’m not sure if that’s done via content patcher or c#.

#

I’m guessing C#, so contact someone in the C# Code category.

cyan venture
#

Ok i’ll try

#

Thank you

gentle rose
cyan venture
#

It a little weird that we have mod can adjust building like Coop and Barn upgrade cost but dont have Farmhouse…

cyan venture
brittle pasture
#

because farmhouse costs is hardcoded in C#

#

building costs are easily editable with just a content pack

gentle rose
#

Probably because it likely requires C# code, because I’d imagine that’s hardcoded. But it’s pretty simple, so odds are just nobody wanted it yet. If you’re willing to pay for someone to make it, go for it!

cyan venture
#

Okay thank guys

gentle rose
#

hey uber remind me in 1 hour to look into adding myself to the commissions page

patent lanceBOT
#

now there is a quality reminder. if I converted all of that brain power of yours into a CPU, I'd still rather rely on the computational power of a tamagotchi. with a dead battery. (#6555778) (1h | <t:1740951165>)

lucid iron
#

can i patch a method that is overwritten in child to call it's parent think

silver sand
#

the first thing I see here is marunot absolutely SERVING

lucid iron
#

i attempted reflection but it didnt seem to do stuff

calm nebula
#

Sure but you have to use a transpiler

#

You have to emit the call to the method

lucid iron
#

i was trying to do this from a different method SDVpufferpensive

calm nebula
#

Reverse trnapsuwlr too

lucid iron
#

trnapsuwlr

#

well i guess thats ok

brittle pasture
#

I patched a bunch of methods in Furniture to call Object versions

lucid iron
#

could i do this IL gen in a postfix

brittle pasture
#

no transpilers needed

lucid iron
#

your linter is very aggresive about the line length zoomeyes

calm nebula
#

You know, sometimes I forget you can IL outside a transpiler haha

#

But yeah

#

That's the trick

#

You have to emit the il

#

And it has to use Opcodes.Call

#

Not opcodes.Callvirt

proud wyvern
#

sometimes i wish i could write inline IL for stupid stuff like that, but idk how that would work in a way that wasn't miserable to use

#

i think my most common DynamicMethod use is "i have a Type, but i want to call a generic method with that Type"

rancid musk
#

same

lucid iron
#

hm well im pretty sure i called the base method but it is still no work kyuuchan_run

#

the goal is make babies use appearance system

calm nebula
#

MakeGenericMethod my beloathed SDVpufferheart

teal bridge
#

If only .NET had structural interfaces.

teal bridge
urban patrol
#

is it possible for a heart event to permanently give the farmer a buff? the wiki mentions setting duration to -2 for it to last all day, but i’m wondering if there’s a way to increase defense by 1 for example

teal bridge
#

Someone wrote a framework thing to do infinite buffs.

brittle pasture
#

you can set a mail flag, and a trigger action to give that buff on every day start if that mail flag is set

teal bridge
#

(I don't remember what it was called)

urban patrol
rancid musk
#

Yeah, running a trigger action every morning seems like a good way to go about it.

brittle pasture
old edge
#

I have a predicament

lucid iron
#

i give up and i will simply make fake npc just to get sprites from seriousblep

old edge
#

it has become apparent that I find it exceedingly difficult to draw pixel art with the mouse. I had a program that worked with my ipad but not working anymore. Does anyone know of any pixel programs for ipad........

sour sleet
patent lanceBOT
rancid musk
brittle pasture
#

though fyi it's being rewritten to move everything to GMCM instead

rancid musk
#

Sounds like a good reason to put that at the bottom of my list.

#

Alright, picked a mod out of my hat. NPC Map Locations then

dusk mulch
#

Alex's face with pierres hair with kents body

ornate trellis
#

ponders

tribal ore
#

Tell me, would it be more tragic for unhappy spouses to give the player nice (but bland) gifts, or for them to give the player objectively bad gifts?

tribal ore
#

Is it possibly a LockedDoorWarp you need to change?

#

Buildings layer

cosmic thorn
#

no like its just a stand. Like the icescream one

tribal ore
#

Hmmmm. Idk then, sorry :/

#

Did you maybe make a change and forget to reload your patch?

dusk mulch
#

Pieres hair on alex's face on maru's hospital gown body

outer cedar
#

I've posted my NPC mod on moddrop now, was it that I needed to post a blurb in here and then a mod can add it to the mod showcase channel?

tribal ore
dusk mulch
tribal ore
dusk mulch
#

a single dad that wears those white shirts all the time

tribal ore
#

This is horrifying

outer cedar
tribal ore
dusk mulch
#

Alex's face with pierres hair in a straight jacket

outer cedar
sour sleet
dusk mulch
outer cedar
#

If a mod could posty blurb for me I would appreciate it thank you SDVpufferparty SDVpufferheart

hallow prism
#

well hmm, maybe for meme stuff or something then?

hallow prism
sour sleet
hard fern
#

😔 do i really want to make a pif version for my other greenhouse mod...

#

come to think of it, how to you add an optional file to your manifest?

ornate locust
#

It's a dependency but required is false

#

like the second one here

hard fern
#

i meant like, as an optional file on my mod page

#

i want to add it to the manifest so it has the same update key

ornate locust
#

Oh that kind of optional

#

that I'm not sure

hard fern
#

hm well i'll figure it out i guess

#

in the meantime i suppose i can work on my super totally cool configurable slime hutch mod

tribal ore
#

Hey, is there a way to reload i18n without restarting the game?

#

patch reload doesn't cut it

tribal ore
#

thank you!

cosmic thorn
#

Can i do smth like: "Condition": "DAY Wednesday, TIME 1100-1500" for the shop stand?

hallow prism
#

for adding it to the map, or for having shop not closed? second is doable

cosmic thorn
dreamy cedar
#

I'm having a problem in Junimatic with Kissa's Wildflower Acres Farm. I'm creating a new instance of NPC for the Junimo and setting it up with a new PathFindController. In the farm, many times PathFindController will fail to figure out how to make a path - including some ridiculously short paths - e.g. find your way from 75,18 to 75,14, when all those tiles are empty except for walkways. Strangely, they can find a path from 75,18 to 75,15. I know zero about map-making, but it feels like there are perhaps some boundaries set up in that map that's preventing PathFindController from working. Before I go digging into the rabbit hole, is there anybody who knows map-making that can give me a hint?

cosmic thorn
brittle ledge
#

Oh Nerm, while you're here, I had a question about Junimatic! I see you have a note that "many" modded machines are compatible with it, but is it that you did compat for specific ones or did you come up with a way to auto-categorize them?

harsh radish
#

Hello, everyone. I'm creating a mod that adds an NPC, but I don't want to make a whole room for them. Instead, I want the NPC to reach the final spot in their schedule and then disappear. I looked into examples of characters without a room who disappear at the end of the day (like Claire from Stardew Valley Expanded), and it seems she had a 'warp room.' How can I implement this?

harsh radish
#

Thanks a lot!

hallow prism
#

what?

dusk mulch
hallow prism
#

how?

#

you don't need to explain what they want, i understood this part, it is yours that i don't

hallow prism
proven spindle
#

There's also mods that add rooms for new npcs so you don't have to make your own btw, like the pelican lofts one

brittle ledge
#

Where did you get this idea?

rancid musk
# hoary lake This sounds fancy!

I hope so! I've just about got a PR for NPC Map Locations finished. After this I'm going to fix a small bug I've noticed, and maybe work on adding scrolling for tabs. 🤔

hallow prism
dusk mulch
harsh radish
#

Thanks! My NPC actually got really confused for being sent to -100 -100

dusk mulch
#

im going to get cooked by yall

brittle ledge
harsh radish
#

Hahaha, but that’s ok, at least you didn’t misspell “wrap room”

hallow prism
#

(at the minimal, mention it's a guess)

#

i once wrote "shedshop" and wondered why my stuff wasn't working

drowsy pewter
brittle ledge
drowsy pewter
drowsy pewter
hard fern
#

do i have to do anything special for the water troughs to get them to Work or no?

hallow prism
#

it's a slime hutch? i think it works by using the tile index or something

#

should be auto

#

test and see

hard fern
#

adding on, is it possible for me to make other buildings function as a greenhouse, or no

lucid iron
#

yea its very easy

#

just need IsGreenhouse=T

#

on map prop

hard fern
#

oh thanks

tidal stone
#

whats a Delimiter

brittle ledge
#

@dusk mulch while I've got you here, where did you get that NPC list you linked on the modding wiki the other day? Did you curate that?

brittle ledge
tidal stone
#

Yea

brittle ledge
#

It's basically what goes inbetween each entry, which should be a space iirc

#

if you're copying the code from somewhere (like my festival template) you shouldn't need to change it.

tidal stone
#

OH

#

your tutorial is very helpful

gentle rose
#

@dusk mulch to clarify why it’s important to know where the list came from, wikis require specific types of attribution, and external links in general need to be very well-selected to prevent outsiders causing trouble without anyone noticing

brittle ledge
#

Also I'm not really sure what the criteria for this list is, because it's missing some things and includes other things that aren't NPCs

dusk mulch
#

I talked with... I am not sure if they want to be named but I talked with someone from this chat about it and they said it would be fine

dusk mulch
rigid musk
#

pain Every time I get a comment about Qi getting stuck in the damn Casino I lose a year off of my life

brittle ledge
dusk mulch
dusk mulch
dreamy cedar
# brittle ledge thank you! Did I just miss this information on the mod page somewhere?

Sorry, I got called away. Basically machines that have simple input/output rules work. There's so many counterexamples it'd be hard to quantify the success rate as more than just "Most". E.g. there's a Soda Machine mod (I forget what now), which has a machine where the input and the "fuel" can be the same, which causes some mayhem. (But I think now the mayhem is limited to that machine just always getting fed that recipe because of how the search algo works.)

brittle ledge
rigid musk
#

I was thinking about doing mod commissions/putting myself on the commissions page but I don't actually know how to price those... nor do I know what exactly I would do FOR mod commissions pondering

hot gale
#

What are the constraints for size of craftables? Specifically bigmachines?

rigid musk
#

16x32

#

Iirc

ornate trellis
rigid musk
#

I should fix Qi's schedules... and the dialogue line that was reported... and his festival position with Sen installed... but I don't want to do any of that tbh_seen

That's a good point...

dusk mulch
#

no its not a portrait

rigid musk
#

If you mean portraits... I'm commissioning Pau for a reaso- ope

#

Uh well what is the pixel art because technically yes

#

Hi Iro hi Chu

lucid iron
rigid musk
gentle rose
#

also DM me your prices once you do decide them because I’m decent at telling people to raise those prices up immediately

brittle ledge
#

but also I'm going to get on my usual soapbox and say don't monetize all your hobbies

rigid musk
#

sideeye Look one of my other friends have been trying to get me to raise the prices of my art commissions for several years and I haven't done that ... so

ornate trellis
#

i jsut eyeballed mine, i dont really get comms and if i do its usually just for a portrait so im like i guess this is fine i jsut do it for funsies anyway

rigid musk
#

Also don't worry Tia I won't be doing it to the point where I won't enjoy it :3

gentle rose
#

lily I will sic like ten other mod authors on you

rigid musk
#

If they can't stop me no one can skedaddle

ornate trellis
#

that said 15 bucks an hour is more than i make irl but then again i cant price my art hourly because i have a weird schedule drawing my stuff

gentle rose
ornate trellis
#

googles dollar-euro coversion rate to check again

gentle rose
#

.wolfram 15usd in euros

patent lanceBOT
#

€14.41 (euros) (February 28, 2025)

hard fern
#

ooh so thats how people price it

#

i thought they just pulled a number out of a hat

ornate trellis
brittle ledge
#

yeah, the way I see it is, would you be better off spending that time working a regular job?

#

if you're making less in that time than you would flipping burgers, it's too low

gentle rose
ornate locust
#

My problem with commission vs time is that I lose all track of time when I work, so my idea of how long anything takes is like ???

gentle rose
rigid musk
#

I don't really think about that pensiveclown mostly because the things I do commissions for are also hobbies I enjoy so I don't really... care? I guess

ornate trellis
#

uh

brittle ledge
ornate locust
#

I just work and then it's 2 AM, time is hard

dreamy cedar
# lucid iron oh do you obey MachineDataUtility.CanApplyOutput

Tbh, I'm not sure. What usually impacts whether it can work or not is whether or not it can look at the input&output rules to figure out what item it's producing, and from there draw a line to what sort of Junimo ought to work on it. So if it's a custom machine using custom inputs and custom outputs where none of those outputs have Category tags, it's gonna get lost.

ornate trellis
#

20€..

rigid musk
#

I also have ADHD so ... something could take me 8 hours but it's only like 3 hours of actual work

#

and it's hard for me to gague that because my brain goes to a billion different places

gentle rose
# ornate trellis 20€..

a bit low considering the quality your art usually has, but if it takes you less than an hour, not terrible. I’d raise it to like 30eur but that’s just me

ornate locust
brittle ledge
#

yeah, that's one of the reasons I say don't monetize - doing it at a professional level requires a shift in mindset

ornate trellis
gentle rose
#

(don’t have a euro symbol on my keyboard lol)

brittle ledge
#

and when I say "professional level" I don't mean rolling out the red carpet, I mean basic courtesy like sticking to deadlines and charging a price that's fair to both sides kyuuchan_nod2

ornate locust
#

yeah, monetizing is a whole thing. That's why I don't ADVERTISE commissions, but I have done them when I saw someone wanting something done I knew I could do.

naive wyvern
#

(i reckon if youre at that point where things are easy for you, you SHOULD price higher kamo_laugh people are paying for not only your time, but also your expertise, and experience and style)

ornate trellis
#

i just feel like since i barely get comms anyway i shouldnt feel too snobby and be like i want a bazillion bucks if noone comms me to begin with(but i also dont advertise so its not me complaining here or anything)

lucid iron
hard fern
#

😔 people have asked me if i take commissions and i always have to tell them no lol

versed wyvern
#

The thing about pricing for commissions is that you unironically have to do the "for exposure" song and dance at first

lucid iron
#

It's kind of expensive and unreliable with a fake not actually placed anywhere machine

dusk mulch
hard fern
#

i have the world's worst time management

naive wyvern
#

Void has enough cred to charge higher imo (since void's prices were brought up id use that as an example)
(Typically portraits are around 45-60usd)

brittle ledge
lucid iron
#

For u it might not be as bad if have a connected chest to obtain list of inputs to probe on

gentle rose
dusk mulch
hard fern
#

oh right since more people are here: does anyone know how to add an optional file on your mod page to be included in the update key?

versed wyvern
#

The problem is even if you don't set low, many others will

tribal ore
#

Why. Is there. Dialogue. In the CS files?

"NPC.cs.4422": "Sometimes I wonder if I'm doing the right thing with my life...$s",

brittle ledge
gentle rose
#

wdym?

rigid musk
#

I'm pretty good at getting things done in a timely manner when needed (I.e. doing a 5 panel comic in 5 days) but I just don't know how long it actually takes me

ornate trellis
#

tho coming back to tias to not monetize every hobby comment...art being a hobby and WANTING to enjoy it is ultimately why I stopped persueing art as a career(since it make me hate doing art)

lucid iron
#

These used to be hardcoded strings

#

They got extracted

rigid musk
#

Speaking of portfolios I need to update mine... mine is from literal years ago

brittle ledge
#

there's lots of dialogue in StringsFromCSFiles yeah

ornate trellis
brittle ledge
#

all the stuff we used to have hardcoded

tribal ore
brittle ledge
#

What were you expecting to show up?

lucid iron
#

Yes...?

tribal ore
#

And I don't know a way to overwrite them

gentle rose
#

yeah, they’re meant to?

lucid iron
#

Just EditData them

naive wyvern
tribal ore
ornate locust
#

Yeah I think dealing with it in that way just hurts the whole market

lucid iron
#

Edit StringsFromCSFiles

brittle ledge
#

You shouldn't have to edit it though since most of those should be dehardcoded?

ornate locust
#

Not that I haven't made things for free, but I did that because I wanted and it was for a friend, you know?

versed wyvern
rigid musk
#

It's why my com prices are fair and not too low even if I don't like how high they are, because I know it hurts other people

rigid musk
#

I do enjoy making things for my friends

tribal ore
#

So I'm cheezed to see them show up

ornate trellis
#

hides my other comm prices from chat

lucid iron
#

They r dehardcoded in that they are now part of assets instead of built into the Stardew Valley.dll

ornate locust
gentle rose
lucid iron
#

But not in terms of having them called in a more formalized way

naive wyvern
#

friend pricing is different, I was speaking for general marketplace viewpoint kamo_laugh

tbh im too broke to commission people so what I do is I barter with my friends iudusafas

ornate locust
#

I have done commissions with basically zero notoriety for decent prices.

versed wyvern
#

Further complicated by the fact that many artists can do business out of countries with much lower cost of living thanks to the internet and you directly have to compete with their pricing

lucid iron
#

You should just replace the strings in the asset

ornate trellis
brittle ledge
#

Mud, this isn't the general market. There aren't a ton of people doing stardew comms and most of them have reasonable prices.

tribal ore
#

I can't believe they are showing up when I have a full set of Bad_0-9 strings in my file :((

gentle rose
#

I think some of you are overestimating how “competition” works in art - you have a style, and as much as there are many artists available, there are also a lot of people who want specific things

rigid musk
#

I miss the days when a rich person would take on an artist and basically have them do all of their art for them... dramatic sigh

versed wyvern
naive wyvern
#

stardew comms in this example is very niche

ornate locust
#

I think worrying about direct competition and "winning" competition is the enemy of getting anything done for an amount that is reasonable for your time

rigid musk
#

confused_mathlady it kinda isn't though with portraits? SDV has a specific portrait style you know? which means the 'market' for it is slimmer

#

AKA it's this market and this community - obviously you have a few other styles for portraits but it's still a very much smaller market than the overall 'art' community - even portraits for like... more realistic styles usually take on a specific stardew adjacent feeling

ornate locust
#

If you are working at basically a loss, that is never going to be viable. It just doesn't work that way. You don't work at a loss until ?? you can start working for a decent amount. And the people who buy commissions for style vs "it's cheap!" aren't the same people either. You're getting reputation with people who just want low prices

#

Raise your prices and enjoy your angry asshole old customers

rigid musk
#

Yeahh, I agree. I've always hated the idea of doing anything 'for exposure'

ornate locust
#

just gonna get stuck in a rut of being "the cheap one" and you can't change without losing your current customers

rigid musk
#

Exposure my arse, go away and find someone else. If you aren't going to pay me what I believe I'm worth then you aren't worth my time... that's my feeling anyways

brittle ledge
#

"for exposure" is something that's usually sold to you by people who can afford you and just don't want to pay

#

and also a lot of artists don't do the math on how effective that "exposure" will be

ornate trellis
rigid musk
#

Exactly - also if they can't afford your prices they probably shouldn't be getting art in the first place

#

It's a luxury not a requirement

#

same reason why I would never judge someone who makes blankets for charging hundreds of dollars. Materials, skill, time... all of it makes it worth it, and I don't NEED that blanket

versed wyvern
#

Bear in mind I'm not meaning working for free here, but that I think pricing for our worth by calculating by hourly wage often results in unrealistic expectations

ornate locust
#

I've got friends who do commissions for art, underpriced themselves through lack of experience, and tried to adjust to decent prices when their talent level pushed up their confidence. Absolute shitshow each time. Awesome way to get harassed.

rigid musk
#

(people make some amazing blankets...)

ornate trellis
#

this convo makes me feel like i should just ask yall what i should price for all i offer lol

dusk mulch
ornate locust
#

My favorites were customers who commissioned them and then tried to pay old prices, just acting like nothing had changed? Some of them tried to pull the "I've been a good customer" card

rigid musk
ornate trellis
#

exposure aint nutricious enough

brittle ledge
rigid musk
#

Any skill or thing you have takes time and effort to hone - it deserves to be rewarded with a proper amount of payment

dusk mulch
ornate locust
#

If people can't pay burger flipping numbers for your art, they can't afford commissioning

rigid musk
#

If you've been a good customer you can be an even greater one by paying the price we agreed on

ornate locust
#

People looove just being entitled as hell about art

rigid musk
#

It's such a weird thing. I hate when people say 'well I could get it for cheaper at [insert place or person or thing here].' Like okay... then do that then

brittle ledge
#

also if you're from a country with a weaker currency compared to the US/EU, that's more reason to keep your prices up. Let the strong currency make your life better.

hard fern
#

😅 are we allowed to showcase our mod again if we put out an update

brittle pasture
#

as long as you don't do it once every other day, sure

brittle ledge
rigid musk
#

Yeah! Usually it's for bigger updates but as long as you aren't spamming it or anything you're fine

hallow prism
#

Yes if its spaced reasonably

hard fern
#

i last showcased it like,,, mid february

versed wyvern
hard fern
#

is that too soon?

lucid iron
#

eh its fine Dokkan

ornate trellis
#

id say thats enough especially if other mshowcased a lot in between

rigid musk
#

I probably should have put out another showcase for v.1.0.3 of my Qi mod .... I did add his little museum thing

#

Mid february was a long while ago at this point, I've seen people do a mod once a week or so, so you're definitely fine

ornate locust
hallow prism
#

Sounds ok. If it was regularly two weeks i may feel different

versed wyvern
#

Well those people can suck an egg

rigid musk
#

Or people getting angry at you raising your prices in the first place

brave fable
#

i mean it's up to you if you think the update is worth showcasing, if it's bugfixes i'd probably skip it

rigid musk
#

If those people can suck an egg ... then why not just have your prices already priced at a good amount right from the start?

brittle ledge
#

if you're going to make your passion a job, you need to treat it like a job and that includes having a reasonable wage

ornate locust
#

if you're asking for money, it's not being a hobby at this time, it's being work.

hallow prism
#

I can do stuff for love at my own rythm and my own pressure

versed wyvern
#

I evaluate this kind of thing from what I personally think I can produce, and I create too slowly to make an hourly rate a realistic point of reference

rigid musk
#

There's also a difference between making your friends art and showing it off, and making art for yourself and showing THAT off, and then doing commissions and posting those for a reasonable price

hallow prism
#

Not everyone has to commission stuff

calm nebula
#

It makes for nice gifts though

rigid musk
#

I mean I can understand that to an extent (again something can take me 10 hours, but in reality it was probably more like 4 and six hours of that was me doing sweet FA)

brittle ledge
rigid musk
#

God I can't wait to get into crocheting...

#

I will make so many little junimos

ornate locust
#

Yeah I'm not open for commissions because I don't have the confidence in my work for it. I don't undercharge just out of lack of confidence, I just don't... do it

hallow prism
#

Also no one will come and be "wow you said it took 3 hiurs when it was five" but we give advices for the person' good and the community good

hard fern
#

now time to forget my nexus page exists for.... about like. another few weeks until i feel confident enough to upload my other mods 😔

versed wyvern
#

And what I do produce in that time feels equivalent to me to what a more skilled artist who actually can calculate by the hour may produce in less time

ornate locust
#

I have offered in specific circumstances when I was confident, and I got paid for my time. I've done freelance before, so I refuse to charge less than someone just working at a McDonalds no matter what I put out.

gentle rose
# calm nebula It makes for nice gifts though

it does but then you go on crochet communities and see people get annoyed that they gave someone crocheted baby booties as a “gift” and they dared not use them on their baby regularly pffft some people will always take things too far lmao (imo if you give a gift, you shouldn’t be giving a burden, just give it and let them do what they want with it)

ornate locust
#

there is nothing wrong with working minimum wage, but I think there is wrong with being paid under that

hallow prism
#

Anyway i should go to sleep. See you!

ornate trellis
#

if youree long enough into the game therell be a point where the lack of confidence becomes a lack of giving a shit and be like eh ill put it out there and if someone wants it thats cool if not then no harm done either

#

at least thats it for me :B

rigid musk
#

Bye bye Lumi!

ornate trellis
calm nebula
#

I basically will only gift superwash wool

#

Tbh

#

I'm not gifting someone a hand-wash anything unless they are a fellow knitter

ornate locust
#

and I'm currently unemployed to take care of family, it's not like I'm rich. I'll still ask what my time's worth at least

ornate trellis
#

my bro got me some socks one of his regulars(hes a hairdresser) made and I wear them often

ornate locust
#

Oh yeah. Washing can be... a problem with knit

gentle rose
rigid musk
#

home made gifts of any kind are ones that are close to my heart

#

even if they aren't like 'professional'

gentle rose
#

(I refuse to go as far as using acrylic ever again)

rigid musk
#

like oh my god you cared so much for me you MADE me a thing? what if i cried right now actually

ornate trellis
#

i miss the time my grandma made us kids so much socks n gloves etc

proven spindle
#

Anyone know if there's a way to set a flag at the completion of a monster slaying quest? I can trigger mailflags in the reaction dialogue of itemdelivery quests, but that doesn't seem to work for monster ones

ornate locust
#

Absolutely, I've still got a drawing a friend who I haven't seen in decades gave me in school. I can't understand people who think handmade stuff is a bad gift

ornate trellis
#

or like those pants or w/e you wear underneath when its winter

rigid musk
proven spindle
#

Basically I have an action addquest during an event, then the quest shows up in the journal to slay x monsters. But it doesn't seem to allow for custom reaction dialogue the way other quests do - it defaults to a string I didn't put there (I think it's one of the board defaults)

rigid musk
#

Huh... I did a slay monster quest and was able to have dialogue after it

#

let me see how I did that

#

"{{ModId}}_QiMonsterSlaying4.quest": "Monster/{{i18n:Aos.QiMonsterSlayingQuest4.name}}/{{i18n:Aos.QiMonsterSlayingQuest4.desc|QiNameTitle= {{QiNameTitle}}}}/{{i18n:Aos.QiMonsterSlayingQuest4.obj}}/Pepper_Rex 35/-1/15000/-1/true/{{i18n:Aos.QiMonsterSlayingQuest4.reaction|QiPlayerTitle= {{QiPlayerTitle}}}}",

I'm not sure what your string looks like but this is how I did mine

#

with the last i18n string being the reaction dialogue

proven spindle
#

This is what mine looks like, I did some guesswork since there wasn't a good example in the vanilla quests.json but it seemed to work up until the reaction dialogue part

Monster/Clear the Lair/Help Krobus by getting rid of the flies in the lair./Slay 100 flies./Fly 100 Krobus/-1/0/-1/false/Thanks @! Meet me in the lair tomorrow.#$action AddMail Current {{ModId}}_Intro4

#

Thanks! Let me see if there's any differences to yours

rigid musk
#

Hmm I don't think it needs quotes or else mine would have quotes around the i18n token...

#

I'm guessing it might have something to do with the add mail part

proven spindle
#

Well when I talked to Krobus at the end he said something like 'thanks for taking care of that problem for us', so the dialogue itself wasn't what I put lol

#

Worth noting I copied the action part from one of my itemdelivery quests where I do the same thing and it worked there

rigid musk
#

How weird... I wonder if it defaults to a generic reaction if you have something invalid but I can't see why what you put would be invalid

#

Do you have that dialogue written anywhere else

proven spindle
#

Your condition part of the quest string (Pepper_Rex 35) doesn't mention what npc to talk to for the reaction dialogue, how do you set that up?

unique sigil
# dreamy cedar I'm having a problem in Junimatic with Kissa's Wildflower Acres Farm. I'm crea...

hi! i do not use junimatic so i don't quite understand how it works, but does the pathfinding get affected by the NPCBarrier T tile property? i put those in my farm maps often, usually at both ends of a bridge/stepping stone path/stairs. and they do get placed in tiles that are seemingly "empty" (i.e. no tiles on the Buildings layer).

(i would open the map in tiled to see what's in the coordinates you mentioned, but im feeling rather unwell right now)

proven spindle
rigid musk
#

You know.. that's a damn good question pondering No one has reported any issues with the quests so I don't know... how I did that

#

give me a second

hard fern
#

ugh im pretty sure i have the wrong manifest in my mod but you know what ill just hope no one notices

hard fern
#

😔

brittle ledge
#

as in you didn't update the version number or you put in the manifest for a different mod?

hard fern
#

didnt update the version number

brittle ledge
#

oh yeah, we all do that. People might comment but you can tell them to change it manually and hold it til next update if you want

hard fern
#

😔 im never updating that mod again unless something breaks

brittle ledge
#

If you had the wrong mod's manifest in there THAT would be a problem you'd have to fix SDVpuffersquee

jade wing
#

Hi, does anyone know if its possible to create a custom cooking station which excludes the base game recipes using content patcher?

#

trying to make a cook top which only shows my custom recipes :3

brittle ledge
#

I think there's a mod for that but lemme look rq

jade wing
calm nebula
lucid iron
#

better crafting yep

#

for example see baubles and alchemistry

brittle ledge
#

Oh dang, I didn't know Better Crafting did that!

#

Listen to them then SDVkrobusgiggle

jade wing
#

I see so its only possible using another mod

lucid iron
#

yep

jade wing
#

Thank you so much for the help!

brittle ledge
#

Unless you're willing to do your own C# code for it, yeah

lucid iron
#

well, to be clear you use both content patcher and better crafting

jade wing
#

yh both together hahah

lucid iron
#

content patcher to target the better crafting asset that defines the station

hard fern
#

ooh... uhh 😓 did i fuck up by extending the slime hutch map upwards

lucid iron
#

did u fix warp

#

down is normally alright

hard fern
#

it should be fixed 🤔

hard fern
#

but alas it's spawning me 10 tiles up into the wall

lucid iron
#

try data layers?

hard fern
#

thats a mod right?

lucid iron
#

yep

#

one of the layers show u warps

astral oyster
#

After several hours of errors I need to ask, does Festivals just not work with NPC's using the 1.21.0 format in the current 1.6 version of the game?

tidal stone
hard fern
#

why are you using format 1.21.0?

#

the latest is 2.5.0

astral oyster
#

Because I don't understand the new format; after several weeks of trying to understand it I just went back to using the older NPC creator tool

uncut viper
#

i cant say for festivals specifically, but the further behind your format is the fewer guarantees you have that they will work as you desire them to

#

the NPC creator isnt updated for 1.6 so its unlikely to support the newer stuff for festivals, which i believe the setup-additionalcharacters stuff is? (i could be wrong)

ornate locust
#

If you can get it working, I suspect it'll only be every other year anyway since they added y2 stuff

uncut viper
#

you should really just learn the 1.6 way of doing things

#

you're always welcome to ask for help in here

tiny zealot
#

the year 1 additional characters fields worked in 1.5.6. but yes, using the old NPC creator these days is asking for this type of problem

hard fern
#

mhm, it's best to be caught up with all the latest functions

uncut viper
#

in the line that its pointing you to for the error

tidal stone
#

Oh no i must have erased it when i added the animation line >.< ty for pointing it out

tiny zealot
tidal stone
#

wait actually i dont know where this text operation line goes i thought it was the other one under flower dance but its still there

astral oyster
#

Well back to attempting to learning how to use the new format I guess; thanks for the help

tidal stone
#

I think I found where i put it !

hard fern
#

ok so... warp busted

#

i literally can't move

#

from this tile

#

and with the other one, same issue

#

let me try something

#

ok so apparently "EditMap" does not work for warps, only Load???

#

for... whatever reason

rigid musk
#

I could have sworn they worked before stare

hard fern
#

the thing is though, my water troughs won't work 😔

#

uh oh

proven spindle
#

It's ok, we can be bamboozled together 🫂

hard fern
#

oh my god please don't tell me the water is hardcoded

versed wyvern
tidal stone
#

ok i opened the game and smapi immediately told me it couldn't parse the json

#

which i dont get because it doesnt show any errors 😭

#

let me send the logs if anyones able to look

ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Pro, with 15 C# mods and 26 content packs.

hard fern
#

guess what everyone, apparently it's hardcoded 💀

#

i had to put them at the exact coords on the vanilla one for it to work

dusk mulch
tidal stone
#

id like to understand it so i can fix it

dusk mulch
#

So at line 60 you are using the wrong type of array, which means you are using {} or [] instead of the other one.

tidal stone
#

oooh

#

so they both do different things i take it

dusk mulch
#

Yeah, [] is a list, {} is for patches

#

Does anyone have a CP mod I can look at that has a config.json so I can understand the config system better?

uncut viper
#

to clarify there is only one type that is an array, thats brackets []
{} is for objects, not just patches

#

TextOperations takes a list of TextOperation objects

tidal stone
#

changed it but now the colons have turned red

uncut viper
#

it needs to look like the examples in the docs, with the right braces and brackets

rigid musk
#

hm I wish mail sent quests had flags I could use...

vernal crest
hard fern
#

well Loading it won't hurt anything, will it?

proven spindle
# versed wyvern So yours also displays a generic vanilla string?

Just sharing how it looks for me (in one image to avoid clogging chat):

  • 1 get the quest
  • 2 do the quest, it now correctly says to talk to Krobus
  • 3-5 Krobus says this
  • 6 quest shows this
    Code again, for reference (changed number of flies for easier testing):

Monster/Clear the Lair/Help Krobus by getting rid of the flies in the lair./Slay 1 flies./Fly 1 Krobus/-1/0/-1/false/Thanks @! Meet me in the lair tomorrow.#$action AddMail Current {{ModId}}_Intro4

vernal crest
vernal crest
# hard fern well Loading it won't hurt anything, will it?

Assuming that you're intending for your mod to be incompatible with any other mod that completely replaces the slime hutch interior and that you make it clear on your mod description that it will be incompatible (for the benefit of that one user who actually reads the mod page) then you should be fine.

hard fern
#

😅 yeah i hope people read... i can't fathom why anyone would install 2 mods that change the slime hutch interior completely and expect them to be compatible though

vernal crest
#

If replacing the slime hutch is the entire point of your mod, all good. If it's just an extra part of a mod that does a bunch of stuff I would suggest considering a config option so people can turn yours off if they want to use your mod with another slime hutch mod.

dusk mulch
hard fern
#

ah yeah no it's meant to replace it completely haha

vernal crest
tidal stone
#

new problem i cant talk to her XD

hard fern
#

😅 every day mod users surprise me with "this was not on my bingo card"

dusk mulch
lucid mulch
#

(please do the load rather than the 100% override via EditMap)

vernal crest
#

People absolutely do that. People also install two mods that replace the same asset completely without realising that's what the mods do, or forget they already have one and get a second, or misunderstand what "incompatible" means...

proven spindle
# rigid musk hm I wish mail sent quests had flags I could use...

If it's an itemdelivery quest you can add a mail flag. This is how one of my mods does it

ItemDelivery/Frog Habitat Materials/Sebastian needs a lot of moss to set up habitats for the Gourmand Frogs./Deliver 500 Moss to Sebastian/Sebastian Moss 500/-1/0/-1/false/Perfect!#$action AddMail Current Si_SF_M3
(Add 'received' at the end to bypass the mailbox)
It just doesn't seem to work for monster quests SDVpufferwaaah

lucid mulch
hot gale
tiny zealot
# lucid mulch

gotta be a toss-up between that and asking if smapi is sve compatible in the running for GOAT

lucid mulch
#

my favorites from the 1.6 alpha thread

tidal stone
ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Pro, with 15 C# mods and 26 content packs.

lucid mulch
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.

calm nebula
#

One thing I remind myself

#

The average stardew mod user is a child

calm nebula
#

Who barely can point the mouse in the right direction

dusk mulch
versed wyvern
calm nebula
#

If I'm not willing to be patient with them - and often I am not - I can go do other things

#

With user bases that are older, more mature, etc

#

More technical

tiny zealot
#

i don't think this behavior is specific to stardew players. every user base is like this, in my experience

versed wyvern
hard fern
#

somehow modding attracts some of the most stubborn people who won't listen to you when you say "no it doesnt work like that"

dusk mulch
#

this is the funniest stuff lol

proven spindle
#

I'd tried that initially and it didn't work then, but I've changed a few other parts of the code since then, let me give it another go

lucid mulch
tidal stone
#

Aaah thank you for you rhelp 😄

proven spindle
reef kiln
#

The fun of festival placement.

lucid mulch
#

festival placement is easier if you dont want to do fancy stuff

versed wyvern
#

How strange. Could monster quests be hardcoded to just be from Help Wanted requests? Has no one else tried to add a monster kill quest before?

proven spindle
#

That's what I'm wondering SDVpufferflat

calm nebula
#

Quests were through Quest Framework in 1.5.6

#

Very few people have tried quests in 1.6

proven spindle
#

There's only one monster quest in the quests.json, that's to unlock the guild. The rest are board quests

reef kiln
#

ES has a special order to kill crabs. Not sure if that helps.

calm nebula
#

Special Orders are entirely different

proven spindle
#

Fun fact, the guild one actually has the 'next quest' field filled out for a location quest that takes you to the actual guild, so you're actualy doing 2 quests when you do that one

tidal stone
#

Ok my only problem now is that the NPC is invisible

#

when you actually dance with them in the festival

rigid musk
#

Everything works with the monster quests except for the reaction dialogue which is... annoying

tiny zealot
tidal stone
#

i havean idea

reef kiln
tidal stone
#

yea i just realised i think i should put the name of the sprite sheet next to anime maybe?

#

*animate

versed wyvern
rigid musk
#

Anyways it's sleepy time. If anyone figures out anything for the quests please ping me 🕺💃🕺✨️✨️

reef kiln
#

Night

proven spindle
#

To my knowledge there isn't a 'talk to npc' quest type

#

And I can't set an event precondition for a sewer location event to occur only after this quest is done without a flag

tiny zealot
#

quests are a bit cursed

calm nebula
#

Could use the quest complete conversation topic

#

One second

versed wyvern
#

Well, if the initiation quest leads to a quest with the objective to enter the Adventurer's Guild, can you make your second quest's objective to enter the sewer?

calm nebula
#

questComplete_YourQuestID

proven spindle
#

Can I set reaction dialogue (and therefore a flag) for a location quest? I can try it, but since it would complete automatically upon entering the sewer without talking to him I don't know if it would fire

proven spindle
calm nebula
#

Conversation topic

#

Hell

versed wyvern
#

Conversation Topic sounds like it should work but that runs the risk of the player not talking to Krobus before it expires, doesn't it? ThinkO_O

calm nebula
#

You could check for the existence of that conversation topic

#

In a trigger action

#

If you're trying to set a flag

#

Hi ichor

tiny zealot
#

yeah, the auto CTs are great but unreliable as event preconditions since there's no precondition for "this CT was ever active"

#

there's only "active now"

#

(or not)

calm nebula
#

But it doesn't matter for a mod released in 1.6

#

Right?

#

Just put a data/triggeraction off that CT

tiny zealot
#

oh, true, yeah

calm nebula
#

Set a mail flag

#

Then use the mail flag

tiny zealot
#

annoying extra step but should work

tidal stone
#

i have a character sheet that goes 0 to 50 and im putting in the numbers but their still showing up as invisible D:

proven spindle
#

So something like "Condition": "PLAYER_HAS_CONVERSATION_TOPIC Host questComplete_questnamehere" ?

#

Awesome thanks! I'll give that a shot and report back

versed wyvern
#

I wonder if we should bug Pathos about this though

tiny zealot
versed wyvern
#

Since Quest Framework was believed to be obsoleted with 1.6 Monster quest turn-ins not working correctly seems like a problem

hot gale
#

Is anyone familiar with Advanced Melee Framework?

tidal stone
#
Stardew Modding Wiki

I put together a template for adding your NPC to custom festivals, mostly because I don't feel like coding everything from scratch each time I do an NPC. Just change the positions and add your dialogue and you'll be good to go! If anyone wants to add in code blocks for the festivals I haven't included, go right ahead!
Custom NPC Tiles is a gre...

proven spindle
#

Is there a process for reporting bugs like this to Pathos? Never done it before but I can make a quick writeup on what I found

versed wyvern
#

Flower Dance animations are coded to be specific frames iirc

tidal stone
#

ooooh ok

#

lemme remove this line of code and see if that fixes it then

reef kiln
# tidal stone ooooh ok

Look at one of the npc sprite sheets and make sure you flower dance frames are in the same palce.

lucid iron
#

is it a base game bug?

#

!officialbug if so

ocean sailBOT
tidal stone
#

i removed the line of code and their still ivnisible 😭

reef kiln
tidal stone
#

i used a sprite sheet i found in a tutorial on the wiki but maybe its out fo date how big is the sprite sheet for 1.6

reef kiln
tidal stone
#

i did and then i put everything in the same spot on a fresh sheet

ornate trellis
#

the one on the wiki should still be fine

tidal stone
proven spindle
# ocean sail

I think it might be a content patcher bug? Not sure where CP ends and the base game begins lol

tidal stone
#

the sheet number the sprites for the dace are on is uhhhh 40-47

tiny zealot
#

double-check that your NPC is set as female?

tidal stone
#

they are

versed wyvern
tiny zealot
#

males (and, i suspect, unspecified) use higher indexes for their dance

#

other thing to check is that you have edited the image in the mod folder and not just the one in your work directory

reef kiln
tidal stone
#

ty :3

#

im gonna try changing her gender specification and see if the images shwo up and maybe im using the wrong size sprite sheet

ornate trellis
#

if its this one its the right sheet

tidal stone
#

yea its that one

proven spindle
tiny zealot
#

tangent, but it's wild to me that the game uses directions in the order up-right-down-left (0,1,2,3) in basically every situation but character spritesheet facings are in a totally different order (down,right,up,left) for mysterious reasons

tidal stone
#

I found an error finally in my smapi

ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Pro, with 15 C# mods and 26 content packs.

tidal stone
#

it says that my character isnt a interger

reef kiln
#

Looking at that blank sprite sheet makes me want to make an NPC with everything backwards so they moonwalk everywhere. Does that make me strange

proven spindle
#

Do it

versed wyvern
#

Sounds like something that one glitch character mod would do

proven spindle
#

Call them Michael Chicksen

ornate trellis
proven spindle
#

Could be great for an april fools day mod in a month SDVpuffersmart

reef kiln
tiny zealot
tidal stone
#

oh

hybrid talon
#

Does anybody know why the game might be switching out of controller mode on the save select screen (when it's working fine everywhere else) or how to hook into that particular moment of the title screen process to switch it back?
It didn't do this before the most recent update

hot gale
#

Im trying to create a custom projectile for my weapon pack, but I can't figure out how to use CP-A properly and I havent been able to find great documentation on it

Trying to follow the formula of a popular CP-A mod, but I am not sure what to change for "TargetTexture": "Maps/springobjects",

https://smapi.io/json/content-patcher/e06a7a4dc51442ebb9831071e205625f

#

CP for the Projectiles;

#

projectiles.png

#

projectile_One

tidal stone
#

oh thats only durig the wallkaround phase?

hot gale
#

I am loading this in the CP section of my mod as well

{
            "Action": "Load",
            "Target": "bonghits.cp.WeaponPack/Projectiles",
            "FromFile": "assets/projectiles.png"
        },
tidal stone
#

ok so that wouldn't make me dance at the festival then ok

tiny zealot
#

oh. oh, of course, how did i miss that

#

you have to add your NPC to the main event or they won't be visible for the dance

tidal stone
#

i completely misunderstood what that code was XD

#

oohhh is that like a patch code i can do?

tiny zealot
#

yeah, go consult the tutorial again at the flower dance section

#

you need a standing position for spring24's main event additional characters

reef kiln
tidal stone
#

ok i think i fixed it im off to try it 07

#

SHe dance!

fierce vault
#

Can you make changes to a cp mod while the game and vs code are still open as long as you save the changes while making them?

proven spindle
#

Yep, use patch reload modid

fierce vault
#

So only with a special mod installed then?

tiny zealot
#

yeah, content patcher SDVkrobusgiggle

brave fable
fierce vault
#

Does it take a command to do so?

proven spindle
#

Patch reload is the command

tiny zealot
#

type patch reload your.mods.unique.id into your SMAPI console and hit enter (put your mod's id in the spot)

fierce vault
#

Oh, ok

#

Thank you

shadow pagoda
reef kiln
tiny zealot
#

wait till you hear about hot reload for C# mods

brave fable
#

RequireLocation<T?> is a safety net that throws an exception if the location is not found, or is not of the expected type T if provided

#

you're not required to use it, it just changes how you handle unexpected failure

pine elbow
#

hey guys i had a question, im wanting to add custom food mods but im not sure where to start and i cant really find any tut on them T^T

brittle pasture
#

you'd use Content Patcher for both. How familiar are you with modding in general?

reef kiln
pine elbow
brittle pasture
brittle pasture
#

!startmodding

ocean sailBOT
#

Making mods can be broadly divided into two categories:

Usually it’s easier to start with making content packs, since you don't need to learn programming.

reef kiln
brittle pasture
#

follow the tutorial for content patcher above

pine elbow
brittle pasture
#

a good place to start is downloading an existing food mod and see how they did it

reef kiln
#

After reading the cp tutorial I suggest downloading a mod that does something similar and looking at how they did it. To learn. That's how I learned. We are here to answer specific questions and issues you run into.

pine elbow
#

okieee thank youuu i will def look and see what they did first and go from there

rancid musk
#

Ah, users...

lucid iron
#

sometimes i wish the broken code in .dll was a higher log level

reef kiln
rancid musk
#

It is!

dusk mulch
proven spindle
tidal stone
#

im trying to talk to my npc after getting engaged to her, do i need to specify post engagement dialogue? i can't seem to talk to her

#

Also in the string of code for heart events, is it possible to make it where you can't see the others until youve seen the one before it?

tiny zealot
#

there is a precondition for having seen another event first, yes

tidal stone
#

oooh

#

because i want to try and add more character to this character but if you see the heart events out of order it might be a bit wacky XD

tiny zealot
#

/SawEvent <id>+/

hard fern
tiny zealot
#

so if you have {{ModId}}_2HeartEvent, then in your e.g. 4 heart event you can use /SawEvent {{ModId}}_2HeartEvent as a precondition and it will require having seen the 2 heart one

tidal stone
#

awesome idk what my characters story is yet but this will def help me tell it in a comprehensible manner XD

hard fern
#

Its good if you have a story that needs sequence

tiny zealot
reef kiln
#

If i want to make it so I can add a tapper to the trees from Passerby Cemetery is there a framework I can use?

lucid iron
#

Are they wild trees?

#

Vanilla let you define tap item so it's not technically required

reef kiln
#

It add non fruit 2 trees, I just want to be able to tap them. Sap is fine as a product.

lucid iron
#

TapItems

reef kiln
#

Thanks

dusk mulch
#

God if it took me 2 days to get 1 portrait done and I have 13 more to do and more for the other NPC's- wow.

versed wyvern
#

Welcome to drawing vibee

dusk mulch
versed wyvern
#

You get used to it genshin_oh

hot gale
#

Got some animations in finally :D

#

Going to use them for weapon effects

dusk mulch
hot gale