#making-mods-general

1 messages · Page 530 of 1

gentle rose
#

sins?

brittle pasture
#

hello there Es-in-Zee

calm nebula
#

You're sin(z)

gentle rose
#

oh I guess also sin-zee and ess-in-zee

calm nebula
#

Where z is a complex number

gentle rose
#

atra is in the fourth camp

calm nebula
#

Hi esca!

fierce vault
#

Ahh-bah-Gah-yaw-nee

uncut viper
#

its sin-zed

calm nebula
#

Hey at least I have a pronouncable name

lucid mulch
brittle pasture
#

british people detected

gentle rose
royal stump
#

(my brain: eye core, E row, and sinzy)

calm nebula
#

"Handknit Bear Plushie"

calm nebula
fierce vault
#

(My names a parsnip "pun" btw)

haughty charm
pale river
#

😔 eh row

brave fable
#

S in Z. it's set theory

uncut viper
#

My name is very pronounceable, yet surprisingly hard for people to spell

calm nebula
#

"Ick-core", "eye-row" and "sine zed"

uncut viper
#

Also on a more on topic line of thought since there's a lot of sharpies here right now, has anyone extensively messed around with Monogame's DynamicSoundEffectInstances before in their mods?

calm nebula
#

Nope!

uncut viper
#

Sad times for Button

tiny zealot
#

re: sinz

royal stump
uncut viper
#

The documentation on them is not so helpful and I am stuck and I feel like I'd be a lot less stuck if I understood pcm audio better but alas

calm nebula
#

I cant be helpful but I offer you a 🫂 emoji

vernal crest
# fierce vault Ahh-bah-Gah-yaw-nee

Oh wow that's an interesting way to read it! Do you pronounce the word "Gaia" as "gah-yaw" too?

It's pronounced "ah-bah-guy-ahn-yuh" (it's an Ayleidoon word and luckily for me is said a couple of times in the Elder Scrolls games)

But then I pronounce Aba like "ABBA" haha

calm nebula
#

That's all I got

uncut viper
#

That's helpful of a sort!

hollow root
#

What's the X and Y location for the tile right in front of the bus? Can't open the game rn to check

#

Bus entrance i mean

brave fable
#

happy aba gaia new year's eve

hollow root
royal stump
#

all I remember about XNA/MG sounds is that wrappers help and errors escape try-catch blocks SDVpuffersquint

lucid mulch
#

My memory is its like 20 layers of OOP deep before something actually happens

uncut viper
#

can't escape from a try-catch if I dont have any

calm nebula
#

Same tbh

uncut viper
#

I might just throw in the towel with the half-finished thing I've got now and call it good enough, since I don't think anyone would expect perfection anyway

#

Otherwise I think it's gonna take me another 100 years

lucid mulch
#

I initially looked into it for speedy solutions to try and get hints of what made the cue but then gave up and decided to just diff incoming vs cached AudioChanges instead

uncut viper
#

i just wanna know what the heck "the audio format" is

#

like. im generating raw bits from nothing here what are the alignment requirements

hollow root
#

Does Ridgeside Village change the location name for the Bus Stop because of the path it adds at the top?

hard fern
#

I always pronounced it

ah-bah-guy-an

in my head because it was today i realized i'd been reading it wrong and the y is not silent

pale river
uncut viper
vernal crest
fierce vault
tiny zealot
uncut viper
#

I also couldve sworn I read somewhere about my buffer samples needing to be 16 bits long but I cannot even find where I read that anymore

#

I mightve just made it up

hollow root
#

Would this be correct?

calm nebula
gentle rose
uncut viper
#

Can't believe I'm so desperate I'm clicking on a share.google link

royal stump
#

as of like 1.5 or w/e I implemented spawn sounds, anyway

calm nebula
#

There appear to be options here

#

Don't worry I'm slowly talking to my phone so Google shows me better ads

pale river
#

if the decompile doesnt change the files i can look at the format the music in stardew is in

calm nebula
#

So far, repeating the words "1/5th horsepower sump pump"

uncut viper
#

It's still difficult for me to wrap my head around the idea of audio having frames

pale river
uncut viper
#

Also none of these in the table are mono

tiny zealot
brittle pasture
#

(if you asked the me that wrote a music player 8 years ago I would know exactly what those words mean)

royal stump
#

sounds like a 'note' that lasts X time period, but I was very bad at music theory, so

calm nebula
#

Thanks

#

There are definitely options

pale river
#

if you have the original file of the music I can just upload it to my software and check the format for you

uncut viper
#

I actually need to double check if I can even share what I was working on in here

calm nebula
#

Nyquist–Shannon sampling theorem - Wikipedia https://share.google/UI3eZmjO3jDJrlzES

The Nyquist–Shannon sampling theorem is a theorem in the field of signal processing which serves as a fundamental bridge between continuous-time signals and discrete-time signals. It establishes a sufficient condition for a sample rate that permits a discrete sequence of samples to capture all the information from a continuous-time signal of f...

pale river
#

but i would try 44.1 or 48kHz sample rate

uncut viper
#

I'm like 75% sure I have no choice besides 44.1

calm nebula
#

Button doesnt the cue save this info somewhere....

uncut viper
#

I am not working with Cues

pale river
fierce vault
calm nebula
#

Ichor i love this

#

I really love this

#

Anyways, I will assume ichor is right, shorts (16bits) is correct

tiny zealot
#

thank you! i was trying to be conscientious

pale river
#

concerned ape only used his mouse and the software so he wouldnt use anything else other than that

calm nebula
#

Okay, further search supports 16bits being a common depth. Dunno what monogame does

pale river
#

😭 it's a common depth because it's the limit of the ASIO driver!!!

#

you'd need external hardware if you wanted to go higher

uncut viper
#

This is a NES emulator I made to stuff into an IMinigame

#

and have been trying to figure out how to Audio

#

it works nicely here in this game? but I don't know if its missing any sounds, and it definitely does not work entirely right in other games

calm nebula
#

Qh!

pale river
calm nebula
#

Okay I spent a bunch of time listening for music

brave fable
#

i would like to extend my congratulations to Button for receiving the 'wat' award for excellence in doing unexplainable thing to stardew valley

fierce vault
#

I think I'm multilining wrong SDVpufferthinkblob

uncut viper
fierce vault
patent lanceBOT
vernal crest
fierce vault
#

ah, ok. Back to the wiki to understand that I guess 😅

pale river
# uncut viper and have been trying to figure out how to Audio

if you have any questions about the music in NES things you can ask them to me and then I can ask my friend, he has his own chip that he uses to make music; he's just asleep rn; However the sample rate of that type of music is 44.1khz so you'd be fine

uncut viper
#

Glad to know I evidently didnt make up the 16 bits thing thoug, thats nice

brave fable
#

you don't need one command per line, but you can insert lines in some positions without breaking the event parsing in order to improve readability

vernal crest
#

That is true

uncut viper
#

The problem I was tackling is that the music in the other game I was testing worked fine, but the jumping noises... made me very much regret having headphones on at full volume. And I don't really know why, since they both use the same square wave generators

#

the "wat" award is also why I felt it was probably fine to give up though because I hope no one expects 100% accurate or functional NES emulators in their stardew mods

vernal crest
royal stump
#

I know playing multiple sound cues in the same frame did (& probably still does) amplify their volume to dangerous levels, so my random guess is multiple copies of a sound played simultaneously during jumps? might not be how that works, though

brave fable
calm nebula
#

Is it mono or stereo

uncut viper
#

i.e. no murky legal waters

calm nebula
#

Mono or stereo?

uncut viper
#

Mono

brave fable
#

sellout SDVpufferpensive the old button wouldn't bat an eye at copyright violation

calm nebula
#

You're encoding as one channel i assume?

uncut viper
#

The old Button was already planning on asking bouncer if it was okay, and that was before I was a junimo myself!

gentle rose
uncut viper
calm nebula
#

Can u describe how the audio hurt

uncut viper
#

Spiritually

calm nebula
#

I'm going to sleep kthxbai

uncut viper
#

Just very high pitched beeps and buzzes when there should be a nice jumping sound, that mixes very strangely with the music at times because both pulse channels are mixed

calm nebula
#

Can u Fourier transform the audio

gentle rose
#

and you guys wonder why I refuse to acknowledge the existence of audio

uncut viper
#

Atra are you familiar with the audio processing unit of a NES

calm nebula
#

Iro i need to make my signal analysis professor proud

#

Given i once tried to randomize the phase angle of a song to see what that did

#

Dont do that

#

It's noise

uncut viper
calm nebula
uncut viper
#

They do!

calm nebula
#

How are u convert to short

pale river
uncut viper
#

There is no file for it

#

It's generated by the APU

pale river
#

high pitched sounds make me think its a filter problem, so if you can figure out how to put the sound through the low pass filter it should cut those sounds out

calm nebula
#

(I asked about length to guess whether or not it was a frequency issue or a decoding issue)

uncut viper
#

Let me see if I can find another game that can demonstrate the issue

#

The thing is the music you heard in that clip is coming from the same exact channel as the other noises

#

Because I only have the square wave generators implemented

#

They use the same exact class

#

I tried implementing the other channels and had... limited success, and they didnt change the sound of the jumps either

pale river
#

not even the filter one?

uncut viper
#

I'll be honest I don't really know enough about what I'm doing to answer that or even confidently know what you mean by "filter one" here, since all of my APU stuff so far has just been reading the nesdev wiki and trying to parse it into C#

#

Not very much understanding going on, mostly just throwing stuff at the wall attempts at transliteration

lucid mulch
calm nebula
#

Congratulations button you have successfully nerd sniped me

fierce vault
#

I forgot to get the extension and was wondering my all my attempts at multilining were breaking because I was confusing it with the schema (again) 😅

uncut viper
#

a fully functioning one that is

calm nebula
#

Absolutely fucking not I'm retired

fierce vault
#

Should I leave auto updates for extionsions on, btw? Is there any more of a safety risk doing that if I'm not going to understand the source code either way?

uncut viper
#

The duty cycle is the easy part!!

calm nebula
#

Do u have the DMC

uncut viper
#

Nope!

calm nebula
#

It counts backwards that's weird!!!!

vernal crest
fierce vault
#

My vanilla event may be malfunctioning every time I touch it because it's not set up to run in the game then. I can pull an example that I think should work based on the samples you both showed me, but isn't

vernal crest
#

Sure

#

If you remind me which event it is, too, I can try to multi-line it myself

fierce vault
#

It's the first bus stop event in the bus stop event json

dusk mulch
#

what notepad++ plugin is recommended for json formatting or event formatting?

fierce vault
#

I cut the line off just like blueberry did

#

And I'm guessing it's because I'm missing the other stuff

vernal crest
fierce vault
#

Because this wouldn't run ingame by itself

fierce vault
#

the schema also is messing up the other entries just by existing

vernal crest
#

The schema does not mess things up

#

But

#

You appear to have it in the wrong place

#

Are you Loading that file?

#

I don't see an EditData patch

fierce vault
#

I am not, I'm only trying to edit it to make the multilines work for readability. That's probably the problem?

#

I should add extra stuff like it was going to get patched in the game right?

vernal crest
#

Ah, okay, I think I have finally clicked what you're struggling with. You want it to stop having the red squigglies?

fierce vault
#

yeah 😅

#

Cause those are bad right?

vernal crest
#

Normally

#

In this instance, they are incorrect

fierce vault
#

oh

vernal crest
#

The schema doesn't stop those from happening and nor does the extension

fierce vault
vernal crest
#

I think only setting your file language to jsonl will stop it

#

The issue with that is that it takes away all your error messages for the whole file

#

Like you can see here that I've removed the comma after the Target line. The syntax highlighting has change for the Entries line but there's no red squiggly and no error listed in the bottom left of the screen

fierce vault
#

So this is normal then? You all just ignore these red squigglies on a regular basis? Or am I being sloppy and triggering unusual ones?

vernal crest
#

I don't ignore the squigglies, I set my files to jsonl

fierce vault
#

oh

vernal crest
#

Because I don't need the error checking

#

But you can just ignore the squigglies and the error messages that refer to lines inside the event

#

Sorry that I wasn't more thorough in explaining this when I first mentioned multi lining to you. I don't always have the energy to go over the caveats but I really should because it is a dealbreaker for some people.

fierce vault
#

Don't worry about it! You've always helped me out a bunch anyway.

#

The smapi schema would also catch the relevant errors that would break the json in game, wouldn't it?

#

So jsonl shouldn't remove anything I'd really need?

vernal crest
#

Nope, jsonl prevents the schema from checking anything. Or reporting it, IDK.

#

My approach is to just ensure I've got a separate file for events that I set to jsonl and then the rest of my files are jsonc

fierce vault
#

Oh, hmm, ok. So I'd install it a little differently then, right?

vernal crest
#

Sorry, install what?

fierce vault
#

jsonl

#

Add it I guess

vernal crest
#

You do not need to install anything

fierce vault
#

Install was the wrong way to put it

vernal crest
#

You can just click on the language name at the bottom right of your screen and then type the one you want

#

I also have a file association set up to automatically show files called ⁨events.json⁩ in jsonl instead of jsonc like the rest of them

fierce vault
#

Oh, yeah, that's what I was wondering about! Whether I should set up an association the same way I did with jsonc

vernal crest
#

Maybe try manually setting to jsonl at first to see if you like it

#

But up to you. It's easy to set up another association now you know how to.

fierce vault
#

Ok, I'll try it manually on the bustop json first. Thanks!

vernal crest
#

Oh and to explain the schema - that only works for CP, so it can only go in files that have CP patches in them

fierce vault
#

Oh 😅

vernal crest
#

If you have it in Includes, you'll get a warning that you're missing the Format field (which you should ignore, because only the content.json should have the Format field)

fierce vault
#

Ah, I might need to do the setting a file association between .json and .jsonl thing, because my mac wouldn't let me open it when I set the file to jsonl by renaming it

vernal crest
#

But as an easy rule of thumb: if there's no "Changes" field, you shouldn't be using the "$schema" field either (other frameworks may have their own schemas which would violate that rule, but for now it's good enough)

vernal crest
fierce vault
#

I misunderstood

vernal crest
#

When I said to change it, I meant click on the language that I've got circled in red

fierce vault
#

Oh, ok

vernal crest
#

That will change it just for that session. As soon as you close the file, it'll go back to being jsonc next time you open it. And the file extension should always be ⁨.json⁩ regardless.

fierce vault
#

Ok, gotcha

dusk mulch
#

Why isn't the paths layer giving me light?

brave fable
#

does this map have the ⁨forceLoadPathLayerLights T⁩ map property?

urban patrol
#

are you sure you don't want to set ambient light to a different value instead

brave fable
#

incidentally that is way too many lights hahah

dusk mulch
#

ill see how both looks

#

i was adding that many because i thought it wasnt showing up

brave fable
#

i figured that was more catharsis than anything else lol

urban patrol
#

person said LET THERE BE LIGHT

fierce vault
dusk mulch
#

or in this case... the light path tile god

fierce vault
#

I'm not sure how I'd do it it with extra specification

dusk mulch
#

and it still doesn't work

#

let me try something one sec

vernal crest
#

Did you start a new save or use RTF?

dusk mulch
#

i used patch reload

urban patrol
#

are you exiting and re-entering the location

dusk mulch
#

...ill do a new save

vernal crest
#

Paths layer things are only generated on new save

dusk mulch
#

oh

urban patrol
#

oh wait yeah i was thinking day/night tiles for a second

vernal crest
#

Or when using RTF to regenerate things, though I've never actually used RTF so I don't know if it applies for lights

fierce vault
#

Thanks so much Aba for all the time you spent on this with me I really appreciate it 😅 SDVpufferheart

dusk mulch
#

didnt work

vernal crest
#

You're welcome! Always happy to help people find ways to make modding easier/better

vernal crest
fierce vault
#

Alright, I'll go check out that thread

dusk mulch
urban patrol
#

this is a custom location, right?

dusk mulch
#

yeah

fierce vault
#

Oh! I just checked this out a couple minutes ago. What I wasn't sure on how to add was the specification of only targeting the events json. Sorry for the confusion! It's not just a manual I switch on everytime I open the file is it?

vernal crest
#

See how instead of ⁨⁨*.json⁩⁩ like with the jsonc one, it's ⁨⁨events.json⁩⁩? That means it only applies to files named ⁨⁨events.json⁩⁩.

fierce vault
#

Oh my bad!

#

Thanks 😅

#

Can't wait to get this stupid event somewhat functional in the game

#

And then edit it forever 😄

#

I'm definitely a few steps closer!

brittle sedge
#

Guess who might've figured out a solution to a sprite issue

#

I prob didn't but I think I found a way to replace the sprite image & portrait

#

Cause clint popped back up in winter

vernal crest
brittle sedge
#

How do I replace portraits and sprites?

urban patrol
#

in what context? for example, did you draw your own take on Haley and want to replace hers with yours?

vernal crest
#

Copy the patch that replaces his regular one and just add ⁨⁨_Winter⁩⁩ to the end of the Target so instead of ⁨⁨"Target": "Portraits/Clint"⁩⁩ it's ⁨⁨"Target": "Portraits/Clint_Winter"⁩⁩

vernal crest
brittle sedge
#

I swear to the gods above and below that this is gonna eventually turn into me making a compatibility patch

royal stump
#

(aside from maybe regenerating default lamp furniture in a farmhouse, specifically SDVpufferthink)

vernal crest
brittle sedge
vernal crest
# brittle sedge Hey so did I do something incorrectly?

Hmm. You don't need that winter check in the When field because NPCs don't use their Winter file in other seasons anyway. But that wouldn't be stopping it from working.

Can I see your log, please? Do you know how to share it?

vernal crest
ocean sailBOT
#

Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.

Please share your SMAPI log file. To do so:

  1. Open this page: smapi.io/log.
  2. Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
  3. After uploading, it will show a green box with a URL to share. Post that URL here.

Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didn’t occur in your last session, please load the game to the point where the issue occurs, then upload the log.

ocean sailBOT
#

Log Info: SMAPI 4.4.0 with SDV 1.6.15 build 24356 on macOS Unix 26.2.0, with 18 C# mods and 29 content packs.
Suggested fixes: SMAPI is out of date, consider updating it

vernal crest
vernal crest
#

Do you happen to have the headband set to trans?

brittle sedge
vernal crest
brittle sedge
#

Also the portrait does in fact show up

vernal crest
brittle sedge
#

Guess I'll be making sure nothing else is wrong in the morning. Goodnight y'all, and thank you so so much Abagainye for all your help!

devout otter
#

Is 1.6.16 going to allow non-dateable NPCs be available for flower dance, or did I imagine that?

devout otter
#

Wait, the migration wiki says Fixed NPC FlowerDanceCanDance field ignored for non-datable NPCs with no dialogue. Does this mean that it actually works now, as long is the NPC has dialogue?

royal stump
#

yes, that's apparently already a Data/Characters field in .15, it just doesn't work in that edge case

lucid mulch
#

the field was there and theres logic for it to work, but theres logic earlier in the function that short circuits if not datable

royal stump
#

oh, does that phrasing mean "if the NPC is not dateable, the flag is ignored and there's no dialogue"?
I parsed it as "if the NPC is not dateable and also missing certain dialogue, it's ignored" SDVpufferdizzy

lucid mulch
#

I think in 1.6.16 it changes from It never working ever, to if you have the field then as long as theres dialogue it'll now work

#

would need to double check though

dusk mulch
#

just wondered why something wasnt working just to realise i didnt even have the framework downloaded

dusk mulch
#

If I'm using UnlockableBundles is there a token or something I can use to check if the bundle is complete?

#

I can't see anything on its documentation

royal stump
shut edge
#
      "Target": "Mods/mistyspring.ItemExtensions/MenuActions/(T)Shears",
      "Entries": {
        "{{ModID}}_openredgiftchomp": {
          "TargetId": "(O){{ModID}}_redpresentchomposaur",
          "RetainQuality": false,
          "RetainAmount": true,
          "AddItems": {
            "(W)38":1, "(O){{ModID}}_redpresentopen":1},
            "RemoveItems": {
            "(O){{ModID}}_redpresentchomposaur": 1,},
          "PlaySound": "scissors"
        },```
#

anyone familiar with item extensions?

#

i'd like to made the additems have two items with a chance for each

#

currently it gives a weapon and a trash item, i would like to have it be two possible weapons and the trash item

#

just not sure how this is expecting that to be written out

#

tried a few different methods without success

#

the :1 is quantity i believe

royal stump
#

yep, that's stack size, and AddItems/RemoveItems seem to be ⁨Dictionary<string,int>⁩ without any other options

shut edge
#

yeah

#

if i have to i can just make different boxes and randomize it there i suppose

royal stump
#

I guess you could use the TriggerAction field to trigger the vanilla AddItems action?

shut edge
#

i was hopiong to use this same thing to do random fish and flowers tho too hmm

royal stump
#

since triggers can check random and such

shut edge
#

honestly i wonder if there are undocumented features

#

i think the docs are out of date

#

like ExtraItems would be handy here lol

#

trigger action is a good idea tho, thanks

royal stump
#

(everything from ⁨TargetId⁩ to ⁨AddBuffs⁩ are field names)

shut edge
#

ah, so i'm not crazy, this time

#
  "myPatchID": //can be any, it's used in case your patch fails
    {
      "TargetId": "(O)ItemToTarget", //can be any type definition. see here https://stardewvalleywiki.com/Modding:Migrate_to_Stardew_Valley_1.6#Custom_items
      "RemoveAmount": 0, //amount to remove of ItemToHover per targetId
      "ReplaceBy": null, //replace target by another item, e.g (W)0
      "RetainQuality": true, // (if replaced) retain item's quality
      "RetainAmount": true, // (if replaced) retain amount
      "TextureIndex": -1, //changes item's texture index
      "AddModData": {}, //adds mod data to item
      "QualityChange": null, //changes quality, e.g +1 goes up a level (silver to gold), -1 reduces, and just using a number sets it to that quality
      "Health": null, //add/set/reduce player health, e.g "add 5"
      "Stamina": null, //add/set/reduce player energy, e.g "reduce 5"
      "AddItems": [], //dictionary, adds items. e.g, { "QualfiedItem": 1, "AnotherItem": 3 }
      "RemoveItems": [], //same as above, but removes
      "PlayMusic": null, //changes map music (temporary)
      "PlaySound": "null", //plays a sound
      "TriggerAction": null, //triggers an action
      "Conditions": null, //GSQ for this to trigger. https://stardewvalleywiki.com/Modding:Game_state_queries
      "AddContextTags": [], //add context tags to the item
      "RemoveContextTags": [], //remove context tags
      "AddQuest": null, //adds a quest (if not done yet)
      "AddSpecialOrder": null, //adds a SO
      "RemoveQuest": null, //removes a quest
      "RemoveSpecialOrder": null, //removes a SO
      "AddFlags": null, //adds player mail flags
      "RemoveFlags": null //removes player mail flags
    }
}```
#

there's the template

#

it can do quite a lot

#

so of course i want the thing it can't lol

somber kernel
#

Coming in between for a sec here. The language here is C#, right? 👀

royal stump
#

yep, the game and almost all code mods are C#

#

(though probably-the-majority of mods are scripted with JSON files through framework mods)

shut edge
#

boy i sure wish the wiki would show more examples

#

can the trigger additem even do more than one?

#

wiki just says AddItem <item ID> [count] [quality]

near imp
shut edge
#

i guess the item id can be random

#

can i do like AddItem RandomItemID: [ "(W)38", "(W)39"]?

royal stump
#

no, AddItem only outputs one item/stack per run
and it looks like that field just runs one action, rather than triggering whole entry in Data/TriggerActions, I wasn't sure

somber kernel
shut edge
#

dang

#

hmm guess i'll look at more other mods to see if anyone cracked this

royal stump
#

though not terribly so, they can both access the game's shared assets either way

vernal crest
somber kernel
#

I’ll start reading up on things. I learned a bit of python and html/css in school so I know a little bit about computer languages, but they’re all different of course

#

Tho the code up here looks kinda similar to python

royal stump
shut edge
#

this started because EAC has issues dropping weapons from livestock btw lol

#

also geodes would be super easy but we can't change the break graphic...

vernal crest
#

It is unfair to blame that on EAC when it is vanilla's problem lol

shut edge
#

aaaaa

#

yeah

#

that's true

#

feels like anytime i want to do something a little random it's a different format

royal stump
#

...oh, it might just have what you're looking for, now that I read closer SDVpuffermlem
not in the template or readme, but the C# class has this
cs List<string> RandomItemId

shut edge
#

oh really

#

that would help

royal stump
#

so "RandomItemId": ["thing 1", "thing 2"] should use one randomly instead of "ReplaceBy"
though idk what the exact logic is

shut edge
#

replaceby seemed to not actually be real when i was testing yesterday

#

i could have been mistaken

#

i can mess with it tho, thank you

#
      "Entries": {
        //**********Begin Pies**********
        "{{ModID}}_PumpkinPie": {
          "Name": "{{ModID}}_PumpkinPie",
          "DisplayName": "{{i18n: pumpkin.pie.N}}",
          "Description": "{{i18n: pumpkin.pie.D}}",
          "Texture": "Mods/{{ModId}}/pumpkinPie",
          "SpriteIndex": 0,
          "Width": 1,
          "Height": 1,
          "Health": 4,
          "ItemDropped": "{{ModID}}_PumpkinPieSlice",
          "MinDrops": 1,
          "MaxDrops": 1,
          "ExtraItems": [
            {
              "ItemId": "{{ModID}}_PumpkinPieSlice",
              "Chance": 1,
              "MinStack": 0,
              "MaxStack": 2,
              "Quality": 0,
              "IsRecipe": false
            }
          ],```
#

hey what

#

so it DOES support extra items?

near imp
#

secret features!? im getting annoyed and i dont even use this framework(yet)

shut edge
#

lol

#

yeah i'm afraid they may want to consider updating some docs

#

ok, that's two ideas to chase then, thanks yall

#

i thought it was weird that it didn't seem to do these

royal stump
shut edge
#

oh right, that's what it was

royal stump
#

(not quite sure which extensions apply where in IE, personally)

shut edge
#

i'm just gonna throw it in there and see if it works anyway

#

the traditional method

near imp
vernal crest
#

It's hard to write documentation

shut edge
#

oh no doubt

near imp
#

yeah my annoyance is at a very shallow level SDVpuffersquee the rest is happiness that we've got so many cool frameworks to do a bunch of the heavy lifting for us

shut edge
#

absolutely

#

yall are heroes for having any of this stuff

red egret
#

How to center a cell in the modding wiki for comms? I am adding myself there and cant find how to center the green tick.

fossil osprey
#

no idea how the wiki work, is it markdown?

hallow prism
#

IE has some doc, it's just a bit scattered between the documentation and the examples

#

not the worse doc i saw overall

red egret
#

aha in source, thanks

shut edge
#

hmm feels like the extraitems isn't doing anything

red egret
#

thanks!

shut edge
#

oh that's weird

#
          "TargetId": "(O){{ModID}}_redpresentchomposaur",
          "RetainQuality": false,
          "RetainAmount": true,
          "AddItems": {"(O){{ModID}}_redpresentopen":1},
            "RemoveItems": {
            "(O){{ModID}}_redpresentchomposaur": 1,},
            "RandomItemId": ["(W)38", "(W){{ModID}}_magicfrypan"],
          "PlaySound": "scissors"```
#

doing it this way, cutting open a box just deletes the whole stack of boxes and gives me the magic pan

#

yeah weird, it works, but now it's ignoring the retain amount

vernal crest
#

Why the heck are grass sprites 15x20px

near imp
#

to keep us on our toes is my only guess

shut edge
#

yeah that's annoying lol

#

stop eating the stacks aaa

#

lol, if i set a remove 1 it works....by eating the shears

#

remove 0....back to eating the stack of presents. why

#

null doesn't work and -1 does the same as 1

#

telling it to give both in the usual additem field, works fine. so seems like randomitemid is like....sort of but not really working

#

which makes sense if it's not an actually intended use

#

let me just throw an OR in the additem or somethin lol

shut edge
#

doing a patch export shows me even the default entry does have a randomitem field so shrug?

shut edge
#

here's the problem behavior if that helps explain myself

#

it should turn one box into an empty box and also a pan

vernal crest
#

Does it work if you change it to two (O) items instead of two (W) ones?

shut edge
#

it seems to only eat stacks when i use the random ID

#

so yeah (O) items did the same

#

seems like it's doing weird counts to the 999 stack too

#

hm

#

perhaps i misunderstand stardew stacking here

#

here's one working (mostly) correct with an error item cuz it's not finished

#

but that's not using the random function

#

i have one that makes dusty skulls as well and that one behaves fine

vernal crest
#

What does it do if you comment out the AddItems but keep the RandomItemId?

shut edge
#

i'll try

vernal crest
#

This is a patch export of ⁨Mods/mistyspring.ItemExtensions/Data⁩?

#

Ah, no, ⁨Mods/mistyspring.dynamicdialogues/MenuActions

shut edge
#

right

vernal crest
#

Sorry if I am asking things you've already mentioned trying, I tried backreading but I am a bit fuzzy brained

#

Have you tried to use ReplaceBy instead of RemoveItems?

shut edge
#

i've tried several combinations yeah

#

i forget which at this point

#

i can attempt again

vernal crest
#

So no AddItems, no RemoveItems. Just RandomItemId for the pans and ReplaceBy for the open box with RetainAmount set to true.

shut edge
#
        "TargetId": "(O){{ModID}}_redpresentchomposaur",
        /*"AddItems": {"(O){{ModID}}_redpresentopen":1},*/
        "ReplaceBy": "(O){{ModID}}_redpresentchomposaur",
                "RandomItemId": ["(W)38", "(W){{ModID}}_magicfrypan"],
                /*"RemoveItems": {"(O){{ModID}}_redpresentchomposaur":1,},*/
        "RetainQuality": false,
        "RetainAmount": true,```
#

that look like what you are suggesting?

#

doing that code makes it eat the stack and not give an empty

vernal crest
#

No, the ReplaceBy should be your open present

#

Though I'm not hopeful it'll work

shut edge
#

oh you are right

#

yeah clicking a stack just makes it into a pan with no empty

#

and it doesn't like adding a :1 to the end so i don't thinkit wants that

#

this does seem weird, right?

vernal crest
#

Okay, that is definitely not ideal. My next suggestion suggestion is to use the BETAS ⁨RandomAction⁩ trigger action action to add the pans, while using AddItems for the open present again.

shut edge
#

i will look into that then, thank you

shut edge
#

surprised i wasn't already using BETAS, huh

shut edge
#
        "TargetId": "(O){{ModID}}_redpresentchomposaur",
        "AddItems": {"(O){{ModID}}_redpresentopen":1},
        /*"ReplaceBy": "(O){{ModID}}_redpresentopen",*/
                /*"RandomItemId": ["(W)38", "(W){{ModID}}_magicfrypan"],*/
                "RemoveItems": {"(O){{ModID}}_redpresentchomposaur":1,},
        "RetainQuality": false,
        "RetainAmount": true,
        "PlaySound": "scissors",
        "TriggerAction": 'Spiderbuttons.BETAS_RandomAction "AddItem (W)38" "AddItem (W){{ModID}}_magicfrypan"',
        },```
#

this seems to actually work as intended

#

thank you

#

feels a bit odd that i needed to involve another dependacy just for that but ok

#

if mistyspring gets back to me i'll ask if it's a reasonable feature request

shut edge
#

works for my random fish boxes too, hell yeah

vale holly
#

is there a fast way to get a list of diggable tiles in the current location, right now im getting the display width and height of the current map and checking every tile which takes a while.

gentle rose
#

pretty sure that’s the best way (are you the one who asked the other day?)

#

(if not, weird coincidence haha)

lucid iron
#

You can do only Back layer

#

But yes no better way than this

#

It's O(N) in the end

gentle rose
#

luckily it’s the kind of thing you can cache

calm nebula
#

That....should not be taking a while

#

Unless you're doing the entire game world

gentle rose
#

or memoize, to use a term casey loves

blissful panther
#

And even then, fast enough for a daily check.

calm nebula
#

Or you're doing it repeatedly

gentle rose
#

(yes please don’t do this every tick)

calm nebula
#

Fucking love @lru_cache lol

shut edge
#

hmm some of my items are still showing up with quality despite telling them not to in EAC. oh, i forgot to qualify them, that's why

finite ginkgo
#

Wait, that's not right, 256 times bigger

halcyon finch
#

Hi! I am making a sprite edit for an NPC, and I incorrectly assumed the sprite sheet represented a 1-frame idle and a 3-frame walk, instead of the actual 4-frame walk(with a duplicate frame), and the first frame of the walk gets used as an idle.

The thing is, I like the idea of a unique Idle pose. I would like to know if it's possible to change what frames walking uses. Or possible workarounds, like if I somehow can change the time of frame 1 to zero, would it be skipped during walk? I looked for the animation data for it but it seems walking does not use easily accessible data files.

lucid iron
#

Idle animation as you call it don't really exist because NPCs don't intentionally idle

#

What you may want instead is a schedule animation (e.g. abigail playing the flute)

shut edge
#

i seem to have made my mammoths like garlic, pumpkins, and bananas as treats and i don't recall why

#

seems like they should probably eat mostly grass and flowers and maybe tree material

hallow prism
#

well, banana is the fruit of grass, so that works 😄

shut edge
#

haha

halcyon finch
#

Am I able to call on schedule animations whenever the character stops walking, with the correct orientation?

Sorry for the confusion, what I meant by idle is just a single frame pose, I don't need a fancy Idle animation. I notice they will play frame 1 of walk when they stop, that is good enough for me, but they will also play it while walking, of course. So I was wondering if I could clamp walk to frames 2 to 4 and keep 1 as a unique idle.

I already made one of the sprites for testing, and she correctly uses it in-game when she is stopped, but she also uses it while walking in a loop. I like the asymmetrical pose, and I am looking for a way to keep it as an idle pose.

shut edge
#

i set my carnivorous dinos to accept meat category as treats but maaan those get pricey enough to be kind of unbalanced

#

like 4 whole hearts off one

fossil osprey
#

Wow long leg leah

shut edge
#

but that also seems like...players can decide to not do that

#

they'll also accept fish and eggs so that's the "cheap" option there

vernal crest
# halcyon finch Am I able to call on schedule animations whenever the character stops walking, w...

Well, you could probably rewrite the entire animation code if you know enough C# and Harmony and have enough determination. But without that your only option is schedule animation, which you'd just add to every schedule point. They're not going to stop walking outside of schedule point stops anyway, unless it's because something is in their way or whatever and they're pausing before stomping on it lol

shut edge
#

ok yeah ancient fruit is also a ton of friendship on herbivores so shrug then lol

halcyon finch
halcyon finch
#

Also sorry to keep bothering, but is it really rewriting the ENTIRE animation code?

vale holly
#

thanks everyone

vernal crest
vernal crest
gentle rose
halcyon finch
#

I suspect i could do in a way it does not break any other npc, as frame 1 is a duplicate of frame 3, so excluding it does not remove unity frames from the animation.

#

Thanks I will look into this harmony thing.

gentle rose
#

well, you assume that’s the case for all modded npcs, but are you sure it is?

halcyon finch
gentle rose
#

best way to find out is to check GooseBonk

#

(but also do what you want tbh, as long as you’re clear to users about what you’re doing!)

halcyon finch
#

It is quite odd that they have a repeated frame, some NPC might have a asymetrical walk.

vale holly
vernal crest
#

All the cold-DMs are scams tbh

halcyon finch
#

the player has a 4-frame, non-duplicates, walk cycle right? maybe they all use the same code, that would be a problem.

vernal crest
#

The player animation is totally different to NPCs

shut edge
vernal crest
#

Yep, just report to Bouncer and delete

shut edge
#

sucks since sometimes we do actually legit want to do that here

vernal crest
#

Fortunately we have legit ways of advertising comms (modding wiki) so we have an easy way to point people to reputable options

#

Plus people are always happy to offer recs for specific people if someone asks

shut edge
#

yeah

#

anytime i have to do it i always say what i want to talk about which helps

#

the bots are always just the same vauge junk

vernal crest
#

If I want to DM someone in the server I always ping them in a channel first to ask permission

#

That way they know to expect it and I know they're ok with it

shut edge
#

smart

vernal crest
#

Speaking with my non-Juni hat, that is. I'm never going to ping someone to ask to speak to them for moderator things.

lucid iron
#

Schedule animations are vanilla and basically let you use any frame on the sheet but for a vanilla NPC there's potential for conflict here

#

If you wish to be fancy about it you could use BETAS and do it like: when NPC arrives at a tile, change their Appearance to the posing version

#

I don't think it's very different bc you still need to know their tile ahead of time blobcatgooglyblep

#

Lastly if u wish to do a tiny bit of C#, you can modify their parsed schedule points to just tag every point without animations with the posing schedule animation automatically

#

This won't need any harmony

halcyon finch
lucid iron
#

Well i think you need to first know C# before you even consider using or not using harmony here

#

Try setting up the button press mod example from the tutorial

#

Come back here after u got Thing That Builds AquaThumbsup

halcyon finch
#

I've been coding in C# for more than 10 years, I just don't know the mod tools for Stardew very well yet.

floral sequoia
#

Hello wave i am shy to ask this since i am a newbie but how did you guys get the sprite for custom npc 😭 pandalifeonsupport

lucid iron
#

Yeah still, setup the csproj stuff for sdv first

#

It's slightly funky compared to actual enterprise C#

#

But you can use debugger and hot reload in VS dw

#

Also go decompile the game

vernal crest
tiny zealot
#

(after all, smapi ships it for a reason!)

lucid iron
tiny zealot
#

no disagreement there, chu

lucid iron
#

Bc you just need to modify npc.Schedule

tiny zealot
#

i just like to tell people not to trust the wiki saying "please don't use harmony, it bad"

lucid iron
#

At DayStarted which should be after the schedule parsing

tiny zealot
#

harmony is Fine™

vernal crest
#

How will modifying NPC schedule achieve their goal of changing NPCs to use a walk cycle of only 3 frames?

lucid iron
#

Nah we just make it a regular ol schedule animation (4 of them actually)

hard fern
#

I feel like i remember there being a meme with harmony where it was the cycle of "it's working" "now it's not"

shut edge
#

i'm always working hard to make my problems easier to achieve

hard fern
#

But i can't find it lol

vernal crest
lucid iron
#

And then instead of doing the editdata, dynamically apply it in C#

shut edge
#

while i'm looking at itemextensions, anyone used the eating animation feature?

floral sequoia
lucid iron
#

This would achieve the desired effect of "change to the pose at every point where NPC stops"

vernal crest
#

But they have said they don't want to use schedule animations

hard fern
lucid iron
#

Without having to deal with actually editing schedules directly bc we would do it after NPCs get their schedule parsed into the C# data structure

halcyon finch
#

Oh god i've started something i didn't intended, sorry...

#

I didnt dismissed anything just yet, i just wondered if i could change the animation logic

lucid iron
#

Dw I think it's valid to ask for justification on why i am recommending any specific approach

brittle pasture
#

has anyone suggested the evil solution (spacecore anim) yet

halcyon finch
#

i read somewhere the reason it works like that is because the dev tied walking to movement and did a modulo loop on the 4 frames, from my experience i can just change that modulo loop to be from 2 ro 4 instead of 1 to 4. But sure, i dont know untill i see the code.

lucid iron
#

If you actually want to change it to 3 frames for reals that is going to be annoying because so much code is assuming 4 frame walk cycle

#

It's not impossible but seems overkill for the desired goal imo

halcyon finch
#

But i dont know what i dont know i am just looking for the simpler way. I am not afraid of coding in C#, but i do want to make the mod easy to install and not cause problems.

calm nebula
#

!decompile

ocean sailBOT
calm nebula
#

Nike logo

lucid iron
#

Dw C# mods are also just drag and drop into Mods

#

End user won't notice a difference

halcyon finch
#

I will go do the Harmony tutorial now. I am thankful for all the help and suggestions people are sending my way!

#

I've made games before, but i very rarely mod. So It does confuse me a little bit what sort of access mods have to any particular game.

#

When I heard I can just override code, that is something I understand, that is why I was looking into it first.

lucid iron
#

I think it's helpful to look at NPC and AnimatedSprite classes in the decompile first

halcyon finch
#

But the bottom line is I just wanted to have a sassy idle, that was not part of the walk cycle. If people know of an easier way i will consider it too.

shut edge
#

AddItem <item ID> [count] [quality]

#

can this count be a range?

lucid iron
#

Often you can set the fields to whatever you need and it work

#

SMAPI itself is pretty minimal but you do get events to run code at start of day or on tick etc

royal stump
shut edge
#

ah ok

vernal crest
royal stump
#

you could use random tokens or some such, but that'd be on CP's token refresh rate, so not ideal for that lootbox thing

shut edge
#

yeah this is for the boxes

lucid iron
#

That's also another reason to use geode Dokkan

shut edge
#

i could just like...make multiple copies with the different values? lol

lucid iron
#

You can use PeliQ tho then u get item query in general

shut edge
#

like just do the same additem three times with different quantities

#

setting up some boxes that give you random flowers

#

so like a pink box can give you any spring flower

#

"TriggerAction": 'Spiderbuttons.BETAS_RandomAction "AddItem (O)597" "AddItem (O)591" "AddItem (O)18" "AddItem (O)22" "AddItem (O)597 3" "AddItem (O)591 3" "AddItem (O)18 3" "AddItem (O)22 3"',

#

maybe there's a saner way but that should work yeah?

royal stump
#

afaik that should work for one random item out, yeah

#

(or one stack for those options)

shut edge
#

trying to think if there's specific amounts of flowers that would be particularly beneficial

royal stump
#

incidentally, if you made the boxes unstackable, I imagine IE's random item thing would work as-is

shut edge
#

the forage ones for quests maybe, although i dunno if this would count there

#

i considered that

royal stump
#

but I'm running on no sleep so backreading is hard SDViconghost might've misread the replace issues

shut edge
#

i just wanted them stackable lol

#

these were already a workaround for unstackable item drops so yea

#

this way you can hoard as many as you want until ready to open them

royal stump
#

make sense, yeah
the geode style options would work with vanilla, but for IE's use-item-on-item thing, that (or chu's route) is probably the best option

shut edge
#

i would have gone geode if i could have changed the breaking graphics haha

#

all this work i gave myself over minor graphics buggin me etc

#

but hey i like how these are turning out and i learned some stuff maybe

royal stump
#

I think a machine was suggested last time someone was doing random-item stuff? not familiar personally though

#

(which I'd assume doesn't use geode anims but idk)

shut edge
#

yeah that would probably also work

royal stump
#

oh, and spacecore's item use trigger action stuff

shut edge
#

i know you can restrict from the geode crusher, i wonder if you can do the opposite and make clint ignore them but the crusher not

royal stump
#

lots of framework options, but vanilla's slightly more roundabout

shut edge
#

yeah i may look through spacecore more and see if i could cut a depenancy but ehh frameworks ain't that big

golden basin
#

is this how this map tile property is written???

royal stump
#

yeah, I don't really advocate for trimming dependencies (selfishly SDVpuffermlem), but it's got an item-used trigger event or some such fwiw

golden basin
#

theres nothing really about it onn the wiki so im checking here

shut edge
#

works, nice

#

seems like it even just gives one color which is maybe a surprise but i'm ok with that

royal stump
golden basin
#

okay ill do that

brittle pasture
vernal crest
royal stump
#

(also by vanilla maps I mean "only Island_Shrine", now that my scan finishes)

golden basin
#

thank you both, the wiki has nothing listened

#

listed*

vernal crest
#

I will fix it in the wiki

golden basin
#

thank you aba ❤️

vernal crest
#

(I found it by doing a find in files through the maps haha)

shut edge
#

i love the collaborative nature of this community

golden basin
#

it worked!!!!

autumn tide
#

oh yeah it's so nice here :)

golden basin
#

no more pathing through my wild trees and breaking them

autumn tide
#

ooh congrats fellowclown!

shut edge
#

thanks for putting up with me making my problems everyone's problems etc

vernal crest
#

Me too. The way we share and help each other out is what makes me love it here.

golden basin
#

this community is just the best thing to ever happen to me

autumn tide
#

awww :)

golden basin
#

its taught me how to socalize in ways that no one in my close life has managed and that has helped me navigate my life even more.

#

before this community I could only really communicate in outburst and angry rants so i owe the people here in this server a lot of love

#

its why im constantly giving away assets actually

autumn tide
#

for me it's honestly been such a refuge too, I lack many opportunities to socialize irl, so it's been really nice connecting with ppl here SDVpufferheart

golden basin
#

i honestly adore you already so

#

i see you typing and my brian goes !!

#

brain*

autumn tide
#

me rn: SDVpufferwow

#

me too :)

shut edge
#

modding as a hobby has been a good mental health exercise for me i think. most of the time, lol

golden basin
#

i have adhd and autism and like learning disablities too, so ppl here being so chill is awesome

autumn tide
#

oh same, fellow disability maxxer here LOL

golden basin
#

🤝

#

oH CLAUDE

#

i was wondering if like you wanted to do a mod cross over ?

autumn tide
#

ooooh?

golden basin
#

between dwarf and yamay village

autumn tide
#

HMMMMM

golden basin
#

theres a race of people i think hed know about?

shut edge
#

on that note i'm always open to discuss collab stuff or cross-mod compat if anyone wishes to

golden basin
#

the Dwarven Cyclops race

autumn tide
#

oh same here I adore collabs

#

ooh?

golden basin
#

: O id love that cryo

#

do you wanna see my cyclops ppl

autumn tide
#

yesss

shut edge
#

our animals could get along you drew half of mine lol

#

fall and winter flowers are gonna share a box

#

this is nice now that it's working smooth

late gust
#

good luck

shut edge
#

lots of items but i'm sure it's fine lol

#

the boxes are all fairly rare

#

prob a good stopping point for today

#

thanks for the help as always yall

soft lance
#

None of the fish are present for the modded map, its likely how I am using local tokens in the screenshots, nothing with the fish code at all (fish code worked when it was directly referring to the map, but with local tokens it doesnt apply oddly, i assume i am using it wrong)

vernal crest
soft lance
vernal crest
soft lance
#

sorry, new to this lol

vernal crest
soft lance
#

but its not there

vernal crest
#

No, not patch export

#

!log

ocean sailBOT
#

Important note: Your computer username may appear in the log. If your username is your full name, please be aware of this before uploading it.

Please share your SMAPI log file. To do so:

  1. Open this page: smapi.io/log.
  2. Follow the instructions at the top of the page to upload the log file. (Don't copy & paste from the console window!)
  3. After uploading, it will show a green box with a URL to share. Post that URL here.

Please do it even if you don't see any errors. This has useful info like what mods and versions you have, what the mods are doing, etc. If the issue didn’t occur in your last session, please load the game to the point where the issue occurs, then upload the log.

ocean sailBOT
#

Log Info: SMAPI 4.3.2 with SDV 1.6.15 build 24356 on Unix 6.12.63.13, with 16 C# mods and 13 content packs.
Suggested fixes: One or more mods are out of date, consider updating them, SMAPI is out of date, consider updating it

soft lance
#

(ignore the north west update, the mod is actually up to date, just their manifest is reporting wrong)

vernal crest
vernal crest
#

But I see you do have a full patch summary so I can find yours, it'll just be trickier.

soft lance
soft lance
#

(Sadly yes ASF is my ID, too late to change that, story for antoher day)

vernal crest
#

It shouldn't make a file

#

It should print out the patch summary in the console which you can already see in your existing log file

autumn tide
#

aba what time is it for you? checking if it's appropriate to bully you into going to bed SDVpufferheart

vernal crest
#

But I can already see your patches and it says that your patch is applying:
[X] | [X] | [X] | Default | Include compat/index.json > Include compat/templates/ocean.json > EditData Data/Locations

#

How many times are you doing that Include? Just the one?

soft lance
#

and just that map for now for testing

#

ima take a closer look real quick

merry river
autumn tide
#

oh heavens

vernal crest
#

It's 2:30am

autumn tide
#

not that bad by your standards!

merry river
#

ok not 12 hours SDVpuffersquee

soft lance
vernal crest
#

It's far easier to check that than by actually fishing, which is way too random to be useful

soft lance
merry river
#

lucy whats your fishijg skill level

soft lance
vernal crest
merry river
#

okay SDVpufferthinkblob

soft lance
vernal crest
vernal crest
#

If I can't see the issue straight away I'll have to just go to bed without helping anymore

sudden sluice
#

id like to ask something.. theres a new smapi version, how do i update it? im new to modding

autumn tide
#

three cheers for sleep schedules!

autumn tide
sudden sluice
autumn tide
#

nope!

#

oh, and for future refernece, this channel is for making mods, not using them, you might wanna check outhttps://discord.com/channels/137344473976799233/933546639669493791 :)

vernal crest
soft lance
#

sure one sec

sudden sluice
vernal crest
#

Validator is not enjoying that file lol

autumn tide
#

no worries :)

vernal crest
red heart
#

So there's this mod called the Northern Gulf that I'm trying to fix (It's not mine and it's no longer being worked on). The quest framework mod that it used is no longer available and it overlaps with the Downhill Project's pathway. Can anyone help? The file is on Nexus if anyone is interested

brittle pasture
#

[[Modding:Quest_data]] oops

brittle pasture
#

as for the overlap you can try moving the map patch/warp elsewhere

vernal crest
# soft lance

Thanks. Unfortunately, I am not seeing what is wrong. Your token name matches, the location name in the token value is correct, the Include is being included, the patch is being applied. It's just...silently failing.

Like I said, I have to go to bed now. If you don't get it figured out by tomorrow (for me, lol) feel free to send me your mod if you want me to try to have more of a poke around. I know there's got to be a reason it's not working, I just haven't seen it yet.

soft lance
hollow root
#

must get home. must Mod. need to Mod. i need it

ocean sailBOT
#

@hollow root You leveled up to Cowpoke. You can now speak in our voice channels and share images in all channels!

solar heron
#

would this be the best spot to ask if specific mods exist?

uncut viper
solar heron
#

precaite it

latent mauve
#

Case sensitivity issues happen more frequently on Unix/Linux machines but it's something to check maybe

red heart
brittle pasture
#

!startmodding I'd look at the content patcher tutorial

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
#

the hardest part is probably translating all the old quests from the mod into the new system, especially if you're unfamiliar

soft lance
red heart
brittle pasture
#

you'd add a block with the EditData action, targeting the Data/Quests asset to add your new quest

#

into the mod's CP component (the content.json file)

#

and yeah you're basically making your own mod at this point

latent mauve
#

I have to head into work so I can't dig deeper right now but it may help others who decide to take a crack at it

soft lance
hexed sand
#

Hi! I'm trying to add a new map, but when I load the game, it says it can't be loaded or found. Any ideas on how I could fix this? SDVpufferowo

hollow root
#

What’s the difference between #$e# and #$b#?

calm nebula
#

U have to click on npc again to continue conversation for #$e#

hollow root
#

Ohhhh ok! Thanks!

urban patrol
hollow root
#

Do spaces matter? I see some people put spaces before and after #$b# and others don't

urban patrol
#

the spaces will be tacked onto either dialogue if you include them. you probably don't want that

hollow root
#

Ok!

#

Do I need two of $0 or will it keep the same expression from the last interaction?

urban patrol
hollow root
#

I see
Thank you

urban patrol
#

but in general yes if you wanted him to be sad for both you would need $s both times

round dock
#

Yep, $0’s the default. However, if you wanna maintain a happy expression at for example $1, then use both before each conversation line.

urban patrol
#

(after, i think before has the possibility to cause issues)

soft lance
# latent mauve I tried to look through your Local Tokens code but it's a mess to find since it'...

Issue: Local tokens are not working/applying correctly.

compat -> index.json: https://smapi.io/json/none/d34e77e56baa4cc78fdc49a6baaff625
index.json loads correctly, it worked up until i changed it to a local token instead, I only put one mod in there for now so it is easy for anyone to diagnose. I did not add a When field for detecting the template mod to make it easier to diagnose, since on my machine it is installed (Northwest Coast)

compat -> templates -> ocean.json: https://smapi.io/json/none/1ed451b223ad47bcb8f1671cc44a2999
this holds all the fish for the ocean, and is right now only used for adding compatibility for other modded maps.
an important note is that this entry worked, and is a valid way to add fish, however, once the map name got changed to a local token, it no longer worked

Data/Locations: https://smapi.io/json/none/1a976bfa5c2b48348032dad6db1e3660
the map we are testing right now is Custom_Northwestcoast, a fully working map added by a mod, a reminder is that this worked before changing our technique to local tokens. If the Data/Locations json does not load on the website's end, then feel free to use the Data/Locations attached to this message.

The token name matches, the location name in the token value is correct, the Include is being included, the patch is being applied, though it seems to be silently failing. The index.json and ocean.json have been shortened to make it very easy to look over and review. If you need to see the mod yourself, I can DM you it.

urban patrol
#

unless that's outdated info

round dock
#

e.g. Hello.$1#$b#I like sushi.$2

ocean sailBOT
#

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

hexed sand
#

I can also send the content.jsonSDVpufferthumbsup

urban patrol
#

what tutorial are you using to make your maps?

#

i'm curious why it's a tbin and also is prefixed with Custom

hexed sand
#

Now that I think about it, it sounds dumb

urban patrol
#

each layer must be named very specifically. you can have multiple Buildings layers, but they must be Buildings2 Buildings3 etc. also, only Buildings has the inherent properties like not being passable. Buildings2 etc draw over Buildings and under Front but don't have the same properties. [[Modding:Maps]] for a deeper dive

hexed sand
urban patrol
# hexed sand I'm using 2, one from HEXus and the one from The jefri T

are those video tutorials? in general we don't recommend those because they very quickly become outdated. your best resource is going to be the wiki, and the modding wiki will be second best as long as you make sure the page has been updated since 1.6 came out. i'll link you to a good tutorial to adding a custom location because i highly suspect yours is outdated

near imp
#

would i be correct in assuming that every tile that can fit on the regular Buildings layer should be placed there as a part of good practice (clean process and all), while Building2, 3 etc should be used more for cases where you need to overlap tiles to create a specific look, like cliffs for example

urban patrol
#
Stardew Modding Wiki

Last edited by AtlasVBot on 2025-09-13 18:56:11

Stardew Modding Wiki

Last edited by AtlasVBot on 2025-09-13 18:57:52
Tiled is understandably one of the most unintuitive/intimidating programs to use when making maps or patches for your mod. This tutorial aims to break it down into very simple steps with pictures! This tutorial will use the example of making an NPC house to teach you how to make a map patch (for ad...

near imp
#

so only a minimal amount of tiles should go on the extra layers

urban patrol
#

pretty much! the extra layers are purely visual

urban patrol
#

i have a meeting now brb

latent mauve
#

(if anyone else can confirm that Local Tokens don't care if the name matches a built in CP token, that would be helpful)

uncut viper
#

As far as I understand it you are not allowed to name a local token the same as an actual token, same as you can't with dynamic tokens

leaden cave
#

Hello everyone could someone pls point me out to where exactly the images of the CC interior as well as the Joja mart interior

#

I mean where they are located in the inpacked images files

urban patrol
blissful panther
#

Almost certainly townInterior.png if you mean the textures?

leaden cave
#

OO okey thanks a lot everyone

blissful panther
#

Mostly bottom left!

leaden cave
#

Nice thanks a lot

#

Time to get back to searching for clues I guess

dawn moth
#

Hey, when creating a map patch with a "When" condition tied to a game state (For my situation, it is "Player_Farmhouse_Upgrade Any 3"), when does it load that map patch then: On change of state, after sleeping (What I thought it was), or after a reload?

I'm trying to have a map patch elsewhere load after any player upgrades their house to have a cellar

uncut viper
#

When conditions will be re-evaluated at whatever update rate you've set the patch to. By default, that is every time a new day starts, but can be changed to every time you change locations or every time the time changes
That said, PLAYER_FARMHOUSE_UPGRADE is a game state query and cannot be used in When conditions

brittle pasture
#

FarmhouseUpgrade is the correct token name

uncut viper
dawn moth
brittle pasture
#

it gets turned into the upgrade level so you'd do something like When:
"FarmhouseUpgrade": 2

#

or 3

uncut viper
#

probably ⁨"FarmhouseUpgrade": "2, 3"⁩ if you want to cover both cases

calm nebula
#

Is that the current player

uncut viper
#

good point

brittle pasture
#

yeah for MP you probably want to specify host/any

uncut viper
#

"FarmhouseUpgrade:anyPlayer": "2, 3"

calm nebula
#

Can u use anyPlayer....

uncut viper
#

You can!

dawn moth
#

I'll test it right now

calm nebula
#

Jinx I owe u a soda

#

But u probably dont want a soda from me I'm running a fever

uncut viper
#

(also to be clear my "2, 3" was just going off Selph's comments but 3 is the one that specifically adds the cellar)

#

(so only use 3 if you only want the cellar)

calm nebula
#

Also just fyi if u add a warp to cellar that will be the host player cellar

#

Not sure how to warp to farmhand cellar from CP mod

blissful panther
#

I dunno if you do without some C# mod to get you the actual warp name...

calm nebula
#

Nomination to u, DH

dawn moth
#

I just made that for this specifically

uncut viper
#

The FarmHouse code seems to change the cellar name to ⁨Cellar<farmhand number>⁩ i think? But yeah I don't know how you'd reliably work with that via CP

blissful panther
#

That's better than Cellar<farmhand_uuid> or whatever it was when I last encountered it accidentally.

uncut viper
#

Actually, it's worse I think!

#

Because Content Patcher has a {{LocationOwnerId}} token you could use to get the UUID of the person who owns the farmhouse you're in

dawn moth
#

Just checking, do I need to also create the map patch as a location and then subsequently load it?

blissful panther
#

(Oh, nope, I was thinking of the instanced building interiors.)

dawn moth
#

No right?

calm nebula
#

No, no need

uncut viper
#

Not if you're just editing a map, no

dawn moth
#

(This is just the segment of code tied to the edit)

hallow prism
#

hmm, i have a bit of strange situation, i have this as conditions for an event :

        "Lumisteria.MtVapius_Gavin6H_OrchardIntro/e Lumisteria.MtVapius_Lodge_Gavin6HFollowUp/A eventseen_Lumisteria.MtVapius_Lodge_Gavin6HFollowUp": ```
But it played immediately after seeing Lumisteria.MtVapius_Lodge_Gavin6HFollowUp. Is there something wrong with my CT? Is it possible that somehow the event is set at the end of event, but the CT isn't?
uncut viper
#

Ideally the whole relevant json should be sent
But also to be clear if the upgrade happens mid-day you do have to sleep for the patch to take effect

#

So make sure you've slept

dawn moth
zenith steppe
#

Hi everyone! I'm working on converting an old CON mod to Item Extensions.

On the CON .json, it says "spawnChance: 2"

Is that 200%? 2%? Halp pretty please!

hallow prism
#

hu, i hated when trying to convert that value

zenith steppe
#

I'm sorry you struggled with it but I'm also grateful I'm not the only one!

uncut viper
hallow prism
#

i'll do, thanks

#

it is possible i made a typo and didn't notice

#

then copy pasted it a few time

hallow prism
uncut viper
#

I'm 85% sure CTs are just case sensitive and event ones get generated with the capital S

hallow prism
#

i'll test that if i can 🙂

zenith steppe
uncut viper
#

(Also sorry LadySolystra I'm not sure why your patch wouldnt be applying in this case, but the whole json may help me or others spot the issue if its actually somewhere else causing the patch to not apply. A log with a ⁨patch summary⁩ done wouldn't hurt either!)

hallow prism
#

then i suggest testing with a similar value, and see how it is in game and adjust from there

zenith steppe
#

Thank you super kindly! I appreciate you -tons-!!!!

hallow prism
#

Button : looking at a quick patch summary, the CT is listed so hopefully this is just a matter of typo (easy to solve) rather than asynchronous setting of CT

hollow root
ocean sailBOT
#

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

dawn moth
ocean sailBOT
#

Log Info: SMAPI 4.4.0 with SDV 1.6.15 build 24356 on Windows 10 (10.0.19045.0), with 26 C# mods and 1 content packs.
Suggested fixes: One or more mods are out of date, consider updating them, SMAPI is out of date, consider updating it

brittle pasture
hollow root
#

OHHHHH

#

ty!

old edge
#

I'm working on C# for a bit today

hollow root
#

I fixed it! He's not moving or talking but he's real!

latent mauve
dawn moth
hollow root
ocean sailBOT
#

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

dawn moth
hollow root
#

;-; oof, lemme check

uncut viper
#

(a bit confusing, I know)

hollow root
#

💀 ok added

#

I added gift tastes and he is refusing to talk to me, the log didn't give me any errors

#

He learned to use his legs though

#

I also cannot gift him

dawn moth
#

Got my problem working, it was a targetting issue (bane of my existence sometimes lmao). Thanks for the help again folks

hollow root
#

I am confused about what the formatting error is

dawn moth
#

You need a Format section

hollow root
#

Ah

urban patrol
#

but only if this is content.json

hollow root
#

this is dialogue.json

urban patrol
#

if it's an included file, then no

#

yeah no format

dawn moth
#

Ah yeah then no format

lucid iron
#

Did u load blank.json

hollow root
#

yes

brittle pasture
#

what's your NPC's ID? because I saw you're loading his portraits into {{ModId}}_MinosNPC earlier, but your dialogue file is referencing just MinosNPC

hollow root
#

It should just be MinosNPC

brittle pasture
#

(this is the point I recommend you use a Dynamic Token, ie. define {{MINOS}} as {{ModId}}_MinosNpc, and then you can just use {{MINOS}} whenever you need the ID)

#

no, I need the Data/Characters patch

#

the name in the manifest doesn't matter

hollow root
#

oh one sec

#

i'm sorry which patch 😭 im bad at this

uncut viper
#

Look at the "Target" line, that's what Selph is referring to, Selph wants the one that shows you editing "Data/Characters"

brittle pasture
#

(I had to take a call earlier, thanks Button SDVpufferheart )
but yeah, in your patch that edit Data/Characters to insert your character, the key in the Entries block is the internal name the game knows your NPC by

#

you need to use that name everywhere your NPC is referenced

hollow root
#

I FIXED IT

#

i had to add {{ModID}}

#

thank you

verbal narwhal
#

can someone direct me to a repo of a mod that uses moddata net fields? so i can take a look how/what to do better?

brittle pasture
#

you just read from and write to it when you need to

uncut viper
#

For all intents and purposes you just use it exactly as you would any other dictionary, just with the knowledge that other players will have it synced to them when appropriate

rancid sierra
#

Hi, I'm new to modding SV but not necessarily new to modding in general, I have a curious(?) question... is there any way to reload the mod without closing the game? or a way to load the game faster for testing the mod? 🙂

ivory plume
#

(Though the mod data dictionaries are shared with other mods, so make sure you prefix your keys with your mod ID in the form <mod id>/<key>.)

ocean sailBOT
#
How do I reload my changes while I'm still in game?
  • Content Patcher pack: enter patch reload <your_mod_id> in the SMAPI console window. This will reload and reapply all your patches (but won't recalculate the ConfigSchema or DynamicToken sections if you use them).
  • Translation files: enter reload_i18n in the SMAPI console window. If it's for a Content Patcher pack, also run patch reload afterwards.
  • C#: see the Visual Studio hot reload or Rider hot reload feature.
ivory plume
#

(And welcome to Stardew modding!)

rancid sierra
#

brilliant, thank you ❤️

old edge
#

need help with my C# mod

#

I have a ring that works when unequipped and I'm trying to make it retrigger onDayStart if the player has it somewere in their inventory the backpack

#

how can i fire a trigger action manually from C#?

brittle pasture
#

though isnt there a GSQ for "player has item"

ivory plume
#

Do you need a trigger action though? C# mods can also just run their code in the DayStarted SMAPI event.

brittle pasture
#

I assumed they wanted to run an action string manually SDVpufferlurk

lucid mulch
#

ah a trigger action action

gentle rose
#

traction action, if you will

autumn tide
#

trigger (action)²

old edge
#

I used trigger actions to add my ring buffs and I had an experimental feature unequipped rings that still work without equipping

tranquil surge
#

So I've swapped over the code from the CFL map I made and made it into a CP map. I believe that I've done everything that the wikis say I should do, the map I made is loading in correctly, the JSON validator is saying that the code is good, and I'm getting no errors in SMAPI, but still nothing is spawning on my farm map when a new day starts even when I set the spawn chance extra high for everything...

What am I getting wrong here?
CP Code (map should be flooded with spawns) - https://smapi.io/json/content-patcher/2b83acfcf9434d08a8c6f9b1953baecf
Manifest Code - https://smapi.io/json/manifest/d8a0b5038f274a94abb66b7d0b3722a3

#

And yes, I am making sure to save and cloes the file before opening SDV to test it.
I just can't figure out why nothing is spawning...

lucid mulch
#

What wiki page were you using for that data/Locations entry?

old edge
#

yes it doesn't look like mine it looks different

#

hmm somehow I have managed to solve my unequipped active rings code

tranquil surge
tranquil surge
uncut viper
#

For context, they are trying to convert a Custom Farm Loader map, which is where a lot of that structure comes from
But, you can't just transplant the data in there wholesale

tranquil surge
uncut viper
#

Two different data formats can't be combined like that because CFL completely made up its format, it's not a format the game is using

#

So there is no such thing as something like "DailyUpdates"

#

(And dw I was just saying that "for context" part for SinZ and dreamygloom because I missed at first that you'd already mentioned CFL)

uncut viper
tranquil surge
uncut viper
#

This is the format for location data. If it doesn't exist on this page, it is not valid vanilla data that can be applied with Content Patcher

tranquil surge
#

Why is this so difficult? I just want my farm to spawn a little bit of everything...

uncut viper
#

Well, because farms aren't meant to do that initially! People often use something like Farm Type Manager for it

brave fable
#

it's difficult because the usual SDV farms simply don't have that feature, so there's never been a need to support it in the native data models

#

all the bespoke spawns like the mountain farm quarry and the forest farm stumps are hardcoded, since it's quicker and easier than modelling it for a single farm

uncut viper
#

That's why things like Custom Farm Loader and Farm Type Manager and such need to exist in the first place

tranquil surge
#

So I need to start over. Again.

uncut viper
#

If the CFL format still works for you and you're fine with the possibility of it breaking in 1.7, you can keep using it

#

You don't have to convert to Content Patcher

brave fable
#

though they're also fairly convoluted since they have unique spawn rules based on skill levels and the likes, so it'd be rather unintuitive as a base game model, but not out of the realm of possibility for the likes of FTM

uncut viper
#

Though that really only applies for personal use stuff, for published mods people would probably really expect you to use Content Patcher nowadays

#

(Not that you necessarily need to care about that)

tranquil surge
#

This is just for my personal use too. I just want my farm to spawn a little bit of everything...

brave fable
#

unfortunately that still holds true, since i've never used (or heard of) CFL, and as far as i knew FTM was the go-to spawn-things-on-the-farm-inator

uncut viper
#

Yeah, thats just kinda an unfortunate decision you have to make, balancing between available help and familiarity

tranquil surge
#

Seriously? Now I have to learn a 3rd language just to get what was working perfectly fine 2 years ago working again?
FTM, CFL, CP

Is there a 4th code I need to learn too?

uncut viper
#

The game changed a hell of a lot roughly 2 years ago

#

1.6 was an absolutely massive change with how a lot of mods worked

brave fable
#

yep, most mod authors had to do some pretty dramatic changes for 1.6, frameworks and otherwise

#

i've still not updated a couple of my mods for the changes

lucid iron
#

Fwiw it's not really a new language

#

JSON is a kind of human readable structured data and the most common way to tell C# mods to do things for you

tranquil surge
#

I'm sorry, I'm just complaining. I was hoping to jump into SDV and finally relax for the first time in half a year, and it's just adding more to my plate...

brave fable
#

true, it's closer to filling in a form than learning a new language, but there's still the required knowledge since you're writing the form as you go

tranquil surge
#

Thanks for the information. Guess I'll learn the new coding language/dialect/whatever when I have more spoons.

lucid iron
#

It's your personal project in the end, fine if you wanna leave it as is and go play bolbsun

#

The author of CFL is on this server too, just unfortunate truth that most people don't know how to use it bc it's uncommon framework at this point

uncut viper
#

That's understandable! It can be overwhelming. I'm sorry that there's not really a perfect solution here. There are so many people in this channel familiar with CP though (since its literally over half the modding scene) that you'd have no trouble finding help at whatever pace you wanted. A lot of the Content Patcher format comes pretty easily once you get a bit used to it

tranquil surge
ornate locust
#

oof, I may need some help here

brave fable
#

for sure, if you pick it up again then be sure to ask here and we'll give it another look