#making-mods-general

1 messages · Page 168 of 1

finite ginkgo
#

Hey would you mind sharing your mod as-is (either here or in DMs) so I can test a few things? ty

teal bridge
#

Yup, exactly, I'm looking for something exactly like those but pixelated and with shading that at least vaguely resembles Stardew, doesn't have to be perfect.

#

Well, not exactly like the middle one because that's the error item sprite.

latent mauve
#

What's the intended use case here? A UI thing? An emote?

teal bridge
#

Anyway, I guess any open license, just CC ones are the most common.

tardy adder
teal bridge
#

Yeah, it's UI. Just next to a warning line.

finite ginkgo
#

(I assume it's something to do with the delivery objectives? Since i see an error in your log mentioning one)

gentle rose
#

there is a ! character in the base game so making a warning triangle from scratch shouldn’t be too hard if you can’t find anything ig?

teal bridge
#

Something like one of these two would be ideal. But obviously these are paid.

(I honestly don't care about paying a few bucks, I just really don't want to deal with the hassle of redistribution rights)

latent mauve
#

There should also be a cancel sign in the base game that you can modify, it's used on the animals icon I think?

tardy adder
gentle rose
#

how big do you need the icons to be?

teal bridge
#

Just 16x16 or smaller.

tardy adder
#

Its always me forgetting or me commas

finite ginkgo
#

I see i see, that would make sense, glad it's fixed now though

latent mauve
#

Time to review Cursors again

teal bridge
#

The cancel icon is like 🚫 which is one of the few wrong choices here.

#

That doesn't communicate "something's wrong", it communicates something more like "can't do that" or "disabled" or, well, "cancel" or in the game's case even "exit".

#

Believe me, I have searched Cursors through and through, including Cursors1_6 and Cursors2.

tardy adder
#

You need art for a ⚠️ ?

teal bridge
#

Yes, as silly as that sounds. Doesn't seem important enough to start a whole commission request over, I just figured somebody might have one tucked away.

tough crater
#

I can try to whip something up! Just a 16x16 ⚠️?

teal bridge
#

If it's pixelated and semi-consistent with the game's shading then yes, that.

cobalt cape
#

made a quickie, not sure what kind of sign you wanted

#

oh that is SMALL

velvet narwhal
tough crater
#

Discord really said "no sharpness" 💀

velvet narwhal
#

banished

teal bridge
#

Haha, small is good in this case.

tough crater
#

Discord needs a nearest neighbor setting 😂

velvet narwhal
#

i can drop mine here too, i'm using them for other things

teal bridge
#

Trying to tell if it's circular or octagonal though.

cobalt cape
#

i'm learning to use aseprite 🙂

tardy adder
#

It cute

teal bridge
#

Let me see real quick if that fits (thanks!)

velvet narwhal
#

had to open up the tablet lmao

frigid hollow
#

there's also this from the build menu that could be modified

velvet narwhal
#

i did not realize how crispy that is

teal bridge
#

(This is taking me a long time because I didn't realize the aseprite trial version doesn't let me save. I'm still trying out that first image)

#

Hmm, my eye isn't very well-trained for this but it seems like something's just a little bit off around that top-center/top-right section? It's pretty good, though I'll try Avi's as well.

gray bear
teal bridge
#

I think I like this one better. Thanks to both though!

frigid hollow
#

yeah the highlights are blending into the background

gray bear
#

i prefer to red one tbh

teal bridge
#

They're both a lot better than a vector style icon, or repurposing an unrelated game icon, or anything I'd have tried to do myself.

gray bear
#

they're very cool i agree

blissful panther
#

Splicing of these two.

teal bridge
#

Interesting... can give that a try too. Might be slightly oversized for the use case (17x17 and all edges are used).

#

Side note, Discord really mangles the hell out of these images, doesn't it?

calm nebula
#

has anyone tried making the greenhouse a decorable location yet

tough crater
tough crater
#

It's VERY useful!

#

I have a silly idea. I'm sure it involves replacing the audio file(s), but has anyone made a mod that replaces the "speaking" sound effect with the Animal Crossing voices?

calm nebula
#

I realize that is not what most people think of as "decorable".

cobalt cape
#

I'm thinking, how would one even do that... like make the Greenhouse location inherit from DecoratableLocation

calm nebula
#

that's the fun part! the greenhouse is a normal boring gamelocation

teal bridge
gray bear
#

oooo

teal bridge
#

I mean, I know the game makes it look like the "greenhouse" has solid "walls", but that's going to compromise the green-ness of the greenhouse.

gray bear
#

i mean the wall it does have is uh

lucid iron
#

I think it'd be nice if only for purpose of sticking doors in there

#

To pif rooms

cobalt cape
#

Maybe flooring might be more of use

gray bear
#

a bunch of windows

teal bridge
#

It does have window-ish things in vanilla. (As it should)

gray bear
#

pls ignore the cursed sprinkler layout (this is from the wiki)

#

i mean i find it cursed i guess it's optimal. but yeah i wouldn't say this is a wall

teal bridge
#

Low-tier sprinklers in greenhouse are an abomination.

tough crater
gentle rose
tough crater
gray bear
#

this design is painful to observe...
please don't ping me in replies

calm nebula
lucid iron
#

TIL C# supports this kind of switch

Action<Vector2, bool>? shakeFunc = feature switch
{
    Bush bush => bush.shake,
    Tree tree => tree.shake,
    FruitTree fruitTree => fruitTree.shake,
    _ => null
};
gray bear
#

what does that do

gentle rose
#

I wish we could mod in Scala. I liked scala

iron ridge
uncut viper
#

that kind of switch has been very useful for me I like it

lucid iron
#

yea it make sense that u can do it given the general pattern matching stuff

#

i just havent ran into a chance to try until now

#

see this wouldnt have been needed if all 3 shakable things r just implementing (the nonexistant) terrainfeature shake or smth

teal bridge
#

Pattern matching is great. You can also use {} for "non-null thing" with type inference, or specify properties with pattern matching like x is Foo { Bar = 42 } or Baz { Quux = "abc" }.

#

Though the rules can be a little ambiguous and fail in mysterious instances.

dim yew
#

You know it's bad when your save file names go from "Test" to this

fallen coral
#

Hey, made a custom farm and everything seems fine but I can't seem to move the farmhouse when in-game, building and moving every other type of building is fine but the farmhouse just refuses to be placed anywhere, I also can't build paths under it and in one tile in front of it oddly.

Any suggestions? been tearing my hair out with this and am absolutely sure I missed something super obvious.

finite meadow
finite meadow
#

im a blind noob

fallen coral
#

LMAO

drowsy pewter
#

Lol

finite meadow
#

why did I THINK I WAS IN SEASONAL FARMERS

fallen coral
#

I appreciate the gesture 😂

finite meadow
#

o my !!!!!

#

Not sure though, I set farmhouse using tiled, and haven't had that issue

fallen coral
#

Same here

finite meadow
#

there was a time I used an author's custom farm to help him update t 1.6 and under the farmhouse he had some weird building tiles

#

I just removed those and solved the issue, but idk if it's your case

fallen coral
#

Yeah, nothing but back tiles on the spots I'm having issue with

royal stump
#

tiles under the farmhouse also need the Buildable property on the Back layer, unless you have the LooserBuildRestrictions T map property instead

#

normally that's attached to the tilesheet, I think, but if you customized the space underneath the farmhouse, it might not be there

fallen coral
#

That might be a good shout, I'll test it.

finite meadow
#

oh true

fallen coral
#

My farm map is quite abnormal as well, so I've been having a million and one strange issues

royal stump
#

buildable/diggable and the Type properties are mostly what make random stuff weird, aside from invisible layer debris

fallen coral
#

didn't work

#

tiles are all green, I'd have assumed that the farmhouse would be able to be placed but it just won't let me.

#

says I can't build here, but I can build every other building on the spots it tells me are invalid.

#

Also my tiles were already marked buildable, I was so hopeful that it would've just been that T_T

#

looser building restrictions also didn't work sadly.

#

What's confusing me the most is why this is exclusive to the farmhouse.

scenic igloo
#

Would there be a way for me to make it so I can use Generic Mod Config Menu to have a way to switch between the options I have for Daia? Because I want to be able to switch between two in config and I'm unsure as to how to go about trying to be able to do so. I was messing around with replacing the Seasonal RSV files for Daia to the ones I have and that has worked as I wanted it too but if I could learn how to make it so I don't directly move and replace the files every time I want to change Daia, I would be happy.

tough crater
# fallen coral

I have never seen this bug before. Are there any mods that need updating or maybe the base game needs an update?

fallen coral
#

I've got a seperate stardew install with only my mod and it's requirements for testing that I make sure is up to date

tough crater
#

You've also tried on new save files?

calm nebula
fallen coral
tough crater
#

I'm out of ideas then 😭

fallen coral
#

is pathing access to a warp a requirement for moving the farmhouse?

#

If so, is it any warp at all or the bus stop or something?

frigid ermine
#

can someone please help me i trying to create a make and it keeps saying "[Content Patcher] Ignored Emalona > custom location 'Emalona': the Name field must be prefixed with the mod ID (like 'Uniqqxli.Emalona') or 'Custom' to avoid conflicting with current or future vanilla locations."
Help Please
SDVpuffersob

uncut viper
frigid ermine
#

im not sure how to. i using a turorial from the guy that created downtown zuzu. its my first time creating a mod

uncut viper
#

that tutorial is likely outdated

fallen coral
# calm nebula I am headed out the door immediately so I can't stay to check but one possibilit...

Thank you SO much for this breadcrumb.
I was so incredibly worried that the whole concept of my farm would function at all but this was the issue!

For anybody searching for the same issue, the issue was that I had a custom exit to my map and no technical warp to the BusStop, and this prevented the Farmhouse from being moved within the map, but the addition of an NPC Warp to the BusStop fixed the issue.

latent mauve
uncut viper
#

any tutorial made before march of last year is almost definitely out of date

frigid ermine
#

SDVpuffersob you know any updated tutorials?

uncut viper
#

the wiki page fireredlily linked tells you about the Data/Locations asset which you will edit with Content Patcher

#

otherwise you need to look at the Content Patcher documentation

#

im not aware of any location specific tutorials for 1.6

tough crater
#

Maybe I should make some YouTube tutorials on some simpler aspects of CP mods

uncut viper
#

(doesnt mean there arent any. i just dont know any myself)

latent mauve
frigid ermine
#

ill figure it out some how, cause the wiki is a bit confusing for me

uncut viper
lucid iron
#

its also not qol to copy paste code out of a video

#

you r welcome to write a guide tho, we have a modding wiki on wiki.gg for this type of thing

tough crater
rigid oriole
#

I mean if you're following a tutorial, i think it's kinda expected to copy/paste some code once you understand it since you typing out, say, a bunch of boilerplate, just takes a lot of time for not much benefit

#

When I write my c# mods I totally just borrow the mod entry template from the wiki every time (or a mod I've already written lol)

lucid iron
#

dont condemn ppl into hell of missing a comma blobcatgooglyblep

#

there is definitely some level of demand for video tutorials, but my arguments against is not "tutorials shouldnt exist" but "text tutorials are easier to read, and less work to update as things change"

gaunt orbit
#

I just manually add the inheritance and let vs add the method stub. Everything else I do manually

#

Though I do use khloe's package so I never have to write a manifest again

ivory plume
#

(The upcoming Debug Mode 1.14.0 now shows dialogue keys, to help with dialogue testing.)

rigid oriole
#

👀👀👀 I'm about to write a buncha dialogue and events, super excited for that

uncut viper
#

(does it just show null if there is no dialogue key)

ivory plume
#

(It omits the 'dialogue key' line if there isn't one.)

blissful panther
#

(Am I misremembering, or was that temporarily a thing in Debug Mode when you were making the dialogue changes during the alpha?)

ivory plume
#

(Yep, it's an old test change that I'm polishing and releasing.)

blissful panther
#

(Thank you again for those dialogue changes, by the way!)

dim yew
#
                    "Appearance": [
                        {
                            "ID": "RydenDefaultOutfit",
                            "Portrait": "Portraits/{{ModId}}_Ryden",
                            "Sprite": "OverworldSprites/{{ModId}}_Ryden",
                            "Condition": "LOCATION_NAME Target Custom_Malha_Castle Target Custom_Malha_Malha"
                        },
                        {
                            "ID": "RydenSurfaceOutfit",
                            "Portrait": "Portraits/{{ModId}}_Ryden_surface",
                            "Sprite": "OverworldSprites/{{ModId}}_Ryden_surface",
                            "Precedence":"-1"
                        },
                        {
                            "ID": "RydenSwimmingOutfit",
                            "Portrait": "Portraits/{{ModId}}_Ryden",
                            "Sprite": "OverworldSprites/{{ModId}}_Ryden_swim",
                            "Condition": "IS_EVENT festival_summer28 festival_summer11 festival_spring13",
                            "Precedence":"-10"
                        }```
#

Does this look correct to load the first outfit only in those two custom locations?

uncut viper
#

no, remove the second Target

dim yew
#

omg nice

#

No wonder it wasn't working lol

uncut viper
#

well. technically it shouldve still worked

ivory marten
#

Can someone help me? When I join in a MP game my game crash, and I don't know why

uncut viper
#

it wouldve just been checking if the location name was "Target"

ocean sailBOT
#

For help with modding issues, please ask in #1272025932932055121! When asking for assistance there, sharing an error log will help others identify your issue (see https://smapi.io/log for instructions).

dim yew
uncut viper
#

your precedence is making it look at the other two first

dim yew
#

Does it load the first outfit checked or last outfit checked?

round dock
uncut viper
#

it stops after finding the first valid appearance

dim yew
uncut viper
#

sorted by precedence

#

(lower = higher priority)

dim yew
#

I assumed that the outfits loaded "on top" of each other

#

last outfit wins so to speak

latent mauve
#

Easiest way to do it is to put your Default/no conditions appearance at the bottom

uncut viper
#

as long as the other ones above it actually have a lower precedence than 0 to be checked first

#

the actual order in the list of appearances doesnt matter

#

it just finds all the ones with the lowest precedence number and puts them in a list of options to randomly choose from

gritty furnace
#

the BigCraftable has a key for "IsLamp" - but does that actually make it light up?

#

I'm trying to make an existing bigcraftable item give off light using content patcher. How do I target the item and how do I make it light up?

uncut viper
#

(so i should clarify, when i say "stops at the first valid found" it was bc your list had all different precedences)

dim yew
#

Do the same precedence rules apply to NPC homes?

uncut viper
#

(so there is only one valid one bc only one has the lowest precedence)

lament shell
#

if you have multiple tilesheets, how do you make the furniture only target a specific one? rat_in_cheese

uncut viper
#

home data doesnt have a precedence field

#

home data does have the order matter

dim yew
#

I did the entirety of my mod in 1.5 and waited way too late to learn all this 1.6 stuff lol

uncut viper
# uncut viper it stops after finding the first valid appearance

(to clarify more bc i backread myself and realized i accidentally misspoke here (i had it right in my brain but not in my typing SDVpufferflat), if it finds a low precedence number (with a valid condition), it will stop looking at higher precedence numbers (and remove any it found previously), bc appearances with a higher precedence are not valid options anymore. in your appearance list your precedences in order went 0, -1, -10, so once it found the -1 appearance, it ignored the default appearance, and -10 didnt have a valid condition, so the first valid one it found was the middle one, hence why it stopped there)

dim yew
#

ah ok! I understand now. Thank you so much for the help

acoustic lintel
#

Hey guys, just checking before I spend too much time on something, I can add more than one NPC to a basic mod, right? I got one npc loaded and fully working. Then tried to add a second npc with basic schedule but he won’t load in. Either im missing something or id need to do something more complicated to have two idk 🤷🏻‍♀️

nova gale
uncut viper
#

any amount of content patcher mods can be combined into one content patcher mod if you so choose

#

so there is a separate issue causing your second npc to not load

acoustic lintel
#

Ah ok gotcha. I’ll check through everything again I just can’t see where I’ve gone wrong and smapi doesn’t flag any errors 😮‍💨

nova gale
#

@gritty furnace here is my lamp item:

{
      "LogName": "Add new big craftables for Darkest Depths.",
      "Action": "EditData",
      "Target": "Data/BigCraftables",
      "Entries": {
        "{{ModId}}_Glowsap_Lamp": {
          "Name": "Glowsap Stones",
          "DisplayName": "{{i18n:BigCraftables.Glowshroom.Torch.Name}}",
          "Description": "{{i18n:BigCraftables.Glowshroom.Torch.Description}}",
          "Price": 0,
          "Fragility": 0,
          "CanBePlacedIndoors": true,
          "CanBePlacedOutdoors": true,
          "IsLamp": true,
          "Texture": "Mods/DarkestDepths/GlowshroomTree",
          "SpriteIndex": 43
        }
      }
    },
gritty furnace
#
  1. is there something that can target the radius of how bright it is?
#
  1. What's the right way to write the ID for a vanilla item I am editing?
nova gale
#

not that I saw, my trees I made glow by making them add a light source on placement, and deleting it when they are removed, but that requires a c# mod, but for the lamp I didn't see much configuration

#

I didn't see any obvious way to alter color or radius

#

the ID you would just put in the ID of the item where I have {{ModId}}_Glowsap_Lamp, but I don't have an example of that

#

and obviously you could conflict with any mod that also alters the same items

uncut viper
#

if you use Fields instead of Entries you can edit just specific fields and maintain compatibility

#

(unless of course someone else edits the same field, obviously)

latent mauve
nova gale
#

yeah, a better way to handle it, I have an exmaple of that editing shops, but not bigcraftables

topaz zenith
#

I’m hurrying on writing an npcs dialogue so I can refine it

uncut viper
#

the ID concept is the same, though

topaz zenith
#

The Npc im writing for almost has a finished ref sheet so I gotta hurry so I can do her sprites SDVpufferwaaah

acoustic lintel
nova gale
#

You can also use EditData with a "TargetField" entry, right?

#

or will that only add new entries to an existing list on an item?

uncut viper
#

you can use TargetField with EditData yes

topaz zenith
#

I might share the ref sheet progress since I was told I could with credits

uncut viper
#

(TargetField essentially just makes whatever field you stop at the top-level field, so from there you can do the same Fields or Entries stuff)

nova gale
#

yeah, I mostly use it when adding entries to shops and machines

topaz zenith
#

Would yall wanna see the ref sheet im gonna be basing my sprites on

uncut viper
gritty furnace
topaz zenith
#

I’m just wondering it it’s worth sending LOL

gritty furnace
#

this has the IsLamp: true again, but I don't see the key for the radius

#

or light source effects

uncut viper
#

if you dont see it its bc it doesnt exist to edit

nova gale
#

again, there isn't one, as i said above

rotund elm
#

So I got a quick question, logistically speaking how hard would it be to make a puzzle on a map I have made using only CP or CP & SC, and if it is definitely doable what ways might I go about this? I am not picky

nova gale
#

you can't control radius or color based on anything I can see in the documentation

#

if you want to control things to that level you'll probably need to make a C# level so you can control the light sources manually

uncut viper
latent mauve
#

Somebody was working on a light source mod but I blank on what it was.

gritty furnace
#

I suppose I will give up on trying to have it be a light source then

#

it simplifies the scope and I can use Alternative Textures

topaz zenith
#

Ok I plopped the ref into the channel. Yippeeee

rotund elm
# uncut viper "puzzle" can mean like a million different things

Yea its hard I just want to add some more depth into the mod, completing a puzzle for example like the gemstone one on ginger island, would unlock a certain area or item etc. It could be like the gemstone one if that is possible or it could be like interacting with 3 different objects on the map in a specific order, idk, the only thing I could think of is by doing like a quest or something, but that seems lack luster

gritty furnace
#

thanks for the knowledge

topaz zenith
#

Does anybody know from the ref sheets if my ocs sprites would be hella complicated?

#

Or just moderately

hard fern
#

you're gonna be sacrificing a lot of detail

#

just in general

uncut viper
#

i mean the people in the art channel would be the better place to ask that too, theyre the artists

topaz zenith
#

Ah. That’s fine if I can convey the basic design

uncut viper
#

people have been able to fit a lot into the small sizes, tho

hard fern
#

also yeah the art channel is better for this, probably

topaz zenith
hard fern
#

?

uncut viper
#

the people in the making mods art channel?

topaz zenith
#

I mean the normal art channels

uncut viper
#

yeah, im not talking about those

topaz zenith
#

I didn’t know we could ask stuff in the mod art channel

uncut viper
#

im talking about #making-mods-art is generally the place for discussion of art assets for mod making

#

not that you strictly cant ask that question here, its just that you'd get a lot better answers from the people more knowledgeable about it SDVpuffersquee

topaz zenith
#

Yippeee

#

Her schedule usually involves sitting in the mines

hard fern
#

😔 back to me beating my dialogue into shape

topaz zenith
#

Usually the enterabce or down to at max floor 5.

nova gale
#

can you schedule an NPC into the lower mine levels? I can't recall

topaz zenith
#

I think with enough c# surely

uncut viper
#

the mine floors dont exist until theyre created, so probably not

nova gale
#

the mines are a unique and tricky beast in many ways

topaz zenith
#

Okay so she’ll sit at the enterabce then lol

uncut viper
#

(i mean that sounds obvious now that i reread what i wrote but i meant, they dont exist until someone goes in them)

hard fern
#

can you spawn an npc at one of the fishing floors?

nova gale
#

yeah, entrance is just a normal map, it works fine

topaz zenith
#

She likes rock crabs

uncut viper
#

the fishing floors arent special either, they dont exist until walked into

nova gale
#

I know I tried to do events at the lower mine levels and struggled to get it to work

topaz zenith
#

She mentions sitting in the mine enterance to try and lure rock crabs out so she can pet them

hard fern
#

hm

#

got it

topaz zenith
#

She loves them :D

hard fern
#

but in vanilla, can't you encounter abby on one of the floors?

ornate trellis
nova gale
#

I know you encounter her at the entrance, and level 100 in the skull caverns has an event, but i think it's baked into the mine class

topaz zenith
#

Sylvestra whenever a rock crab: E_yippee_hug

hard fern
#

ooh fake mines..

#

i forget you can just. make a map

uncut viper
#

Abigail can be found at Lvl 20 in the Mines after her 10 heart event

#

but it is very hardcoded into the class mytigio is correct

nova gale
#

yeah, I ended up making some custom maps and using the entrance for all of my stuff because i didn't want to harmony patch the mine location class

uncut viper
#

(also doesnt happen in multiplayer)

calm nebula
#

She is a clone

hard fern
#

SDVpufferflat hardcoded...

uncut viper
#

atra

topaz zenith
#

I love Sylvestra so much 😭

calm nebula
#

It is more accurate to say a clone of Abby appears in the mines 😛

topaz zenith
#

She’s just rock crab bestie

uncut viper
#

i know! thats why i did say that!

#

you just werent patient SDVpuffersquee

topaz zenith
calm nebula
hard fern
#

i guess i can't CP my way out of everything 😔

nova gale
#

you can CP a suprising amount though, honestly

teal bridge
#

Found my first true Heisenbug in Stardew modding today. 100% repro normally, 0% repro with debugger attached.

topaz zenith
#

I wanna make a mini cutscene where you find Sylvestra in the mines enterance hugging tons of rock crabs

hard fern
#

🤔 heisenbug...

#

gah i need to fix my npc's gift tastes

nova gale
#

you could probably go start on the event scrpting for your crabs with a stand in NPC until your sprites are ready, the event system takes awhile to get the hang of

topaz zenith
#

Typically she sits in the adventurers guild if she’s not in the nine enterabce

nova gale
#

and dropping a different NPC into the event once it's ready would be a simple replacement process

latent mauve
#

Something I have to think about to determine if it's possible same-day: if I want to put a doorway behind the Dwarf that they will move out of the way of after an event, would that have to be a schedule change that happens on the next day to unlock the door? Or should I make the event trigger automatically on entrance on a day when the Dwarf is already unblocking the door once the event fades out?

ivory plume
#

(New feature in the upcoming Lookup Anything 1.47.0: NPC schedules, thanks to @upper jackal!)

topaz zenith
#

She really really likes rock crabs

rotund elm
#

Bless

topaz zenith
#

They’re her favourite critter because she thinks they’re “neat”

nova gale
#

assumes where they should be, for the sake of not doing constant NPC location checks, but who knows! :P

ivory plume
#

It says where they start walking to at the listed time (which is why it's phrased as "walk to <location>"), since there's no realistic way to programmatically predict where they're actually be at a given time.

nova gale
#

makes sense

latent mauve
#

What about if the schedule entry uses the arrival time instead?

topaz zenith
#

I might make my Npc spouse room early

#

She’s gonna have a rock crab themed room 🦀🪨

ivory plume
#

Schedules don't have an arrival time, so far as I know? Each entry is just "at <time>, start walking to <location> and tile position <tile>".

#

(Which is why they can do weird things like walk into the void forever if anything goes wrong.)

topaz zenith
#

Spouse rooms are fun to look at to be honest

latent mauve
#

Referencing this: The time may be preceded with the single character 'a' to indicate that the event should end (that is, the NPC should arrive at the destination) at the given time.

#

As per the wiki, it is a potential use case, though I don't know anyone who has used it off the top of my head for a custom NPC

warm imp
#

emily uses it for her scheduling on sandy's birthday

ivory plume
dim yew
#

does anyone have any idea why an NPC might be getting stuck right before the warp tile (which is on y = -1)? Are warps off the map still valid in 1.6?

round dock
#

AAAAAA bless these new features SBVWahSob

hard fern
#

SDVpuffersweats oh i think i used arrival times a bunch

nova gale
#

that one is especially complicated because it can't be evaluated before the previous segment of the schedule has started, so it can cause the first segment to fire, then immediately the arrival time segment

latent mauve
#

Sorry Pathos! SDVpuffershy

topaz zenith
#

What’s the basic stuff most spouserooms have?

tough crater
#

It normally looks like a bedroom

latent mauve
#

Something relating to the NPC's hobby or personality, for the vanilla NPCs, it tends to be their bedroom without a bed

#

Elliott has a library, for example

calm nebula
hard fern
#

"basic stuff"
a spouseroom can be anything if you really want?

calm nebula
#

arrival times are just real simple

topaz zenith
#

Oo so

#

Maybe I’ll make Sylvestras look like an armoury with rock crab influenced

hard fern
#

krobus brings the sewers to you if you roommate him

calm nebula
nova gale
#

if you want to look at all of them easily

topaz zenith
#

Oke

nova gale
#

they are all in one big file, so you can see them all at once

#

krobus' is the funniest to me, it's like to took a bunch of sewer tiles and puts them in your house 😛

#

they're even broken

hard fern
#

speaking of spouse rooms, i. still dunno how they work

latent mauve
#

I had to add a custom wallpaper and floor to add the sewer tiles for one of my multiplayer partners' houses because they wanted to match Krobus. xD

nova gale
#

they're a map edit, you specify the spouse room map as part of the NPC record if I remember right

calm nebula
#

I wonder how hard it would be to make the spouse rooms wall-paper-able

#

and floor-paper-able

#

(I know, be the change.)

#

(the change needs a shower though.)

topaz zenith
#

Sylvestra with the peak design (rock crab plushies, and a living one in an enclosure.)

calm nebula
#

tbh I actually think the ansewr is "pretty easy actually but it won't be automated so npc mod authors have to opt in"

topaz zenith
#

Her spouse room has a non animated living rock crab in a fish tank

latent mauve
#

I think someone has done a decoratable spouse room mod before (for vanilla NPCs), unsure of it is still working in the current version

hard fern
#

i know of spouse room renolocaion but that doesnt let you wall and floor paper them

calm nebula
#

decorable is not floor-paper-able

#

or wall-paper-able

latent mauve
#

I meant decoratable as floor and wallpaper in this case

gentle rose
#

atra your IDE font makes me cry

calm nebula
#

that's just my ilspy font

latent mauve
#

But I could also be mistaken as to how that mod worked

topaz zenith
#

Sylvestra stop keeping rock crabs in ur room /j

hard fern
#

will staring at my dialogue make it scared so it will write itself

gentle rose
#

non monospaced fonts just feel wrong

gentle rose
hard fern
#

...

calm nebula
#

this is my ide font

hard fern
gentle rose
#

as long as it's mono it's fine by me. You could be using monospaced comic sans for all I care. Wingdings Mono

calm nebula
#

did not come with wallpaper

#

it was an Aster mod

latent mauve
#

I just looked up two of them, they both mention wall and floorpaper being able to be changed

#

Neither was an Aster mod, that's not what I was thinking of

calm nebula
#

huh, okay, cool!

topaz zenith
#

Ok so I’m gonna draw the spouse room on paper first

#

So I have a basic rundown

calm nebula
#

huh, so, like, I thought it was C# land lol

latent mauve
#

Thankfully not anymore!

latent mauve
rotund elm
#

does anyone know where this tile is located...... This is from my custom sprite sheet where I animated it and I cannot find the unlit version for the life of me X|

#

nvm I give up I'll just make an unlit version myself X_X

gentle rose
lucid iron
ivory plume
rotund elm
#

I swear if it is I'll go crazy LOL, I don't remember ever opening them so I don't believe so, but I already made an unlit version, I hope it doesn't bug people not looking like the games original one... XD

nova gale
#

oh, that's on the side of a mine entrance thing, nm

#

it's similar, but it has a rock wall behind it

rotund elm
#

Yea I just referenced that when making my own

#

The grey pixels are 50% transparent so I think itll work as intended

latent mauve
#

Double-check furniture?

rotund elm
#

that may be it actually I didn't think to check

nova gale
#

someone already checked Cursors right? 😛

latent mauve
#

There's a lantern furniture item that can sit on a table, and that looks like it

#

You get it in one of the starter farmhouses

hard fern
#

hm question, for these bushes, there's a little one and a big one, do these when spawned in-game, extend to the right?

nova gale
#

the mining one, yeah

latent mauve
hard fern
#

got it

nova gale
#

yup, it's on furniture

latent mauve
#

(I found that out the hard way with my initial Pelican Valley Loft entrance)

nova gale
#

below the big 3 part skeleton a little to the right of it

dim yew
#

Are there any sneaky requirements for an NPC to be giftable other than the NPC is sociable and has an entry in NPCGiftTastes?

#

I can talk to my NPC and giftable is true but I can’t gift him anything 💔

#

I copy and pasted a vanilla NPC’s gift taste just to make sure nothing was wrong

latent mauve
#

Double check your log for errors

#

Odds are good that your JSON isn't being parsed properly, since CanReceiveGifts is true by default.

dim yew
#

I’m looking at my log, and it says that NPCGiftTastes was edited. So it’s definitely being added

#

I can also verify my json rq

#

yup no errors found. That sucks lol

#

I can send the link to the json I just validated if that would be of help

hallow prism
#

yes

#

you may verify you are targetting the right stuff too

#

typos are a leader in issues like that

dim yew
#

Figures

hallow prism
#

what is the token that is related to the socialize part?

dim yew
#

It's true at the point I'm testing at

#

I set it to true always for testing

#

oh my god nevermind I found the typo

#

dead

hallow prism
#

"{{ModId}}_Ryden": "*gasp*... This is absolutely marvelous!$u#$e#You've made an old lady very happy./72 220 239 284 591 595 Raisins/Oh my, it looks wonderful! That's very kind of you./-6 18 402 418 170 forage_item_beach/Um, Where will I put this?/16 80/...it smells awful./225 226 227 228 219 396 248 296 -4 330/How nice. Thank you, dear.//"
i wonder if there's an extra slash here

dim yew
#

I put a typo in the conditional name

#

also I copied Evelyn's gift taste pfft

#

It’s always typos

hallow prism
#

ok the extra slash sounds it's on vanilla too

#

so probably normal

dim yew
#

In between the slashes would be their neutral gift tastes

hallow prism
#

copying vanilla stuff isn't a bad approach anyway

dim yew
#

But Evelyn doesn’t have any specific

hallow prism
#

yeah

dim yew
#

So it’s just a blank spot

hallow prism
#

that i figured, i didn't remember the last things being ended by a slash

#

aka /neutral/ rather than /neutral

dim yew
#

I wanted to make sure I hadn’t made a typo in the actual gift taste so I temporarily pasted hers

hallow prism
#

yeah that is a good approach

hard fern
#

cracks knuckles now it's time to figure out what the hell im doing with this map patch

lucid iron
#

any way i could express the purpose of this ability better

# Nop

Does absolutely nothing.

Exists to act as a container for various generic proc effects, without doing anything as an independent ability.
gaunt heath
uncut viper
ivory plume
uncut viper
lucid iron
#

yea ability is a trinket tinker concept for "things that happen in response to other things"

#

how about Does absolutely nothing by itself, will activate any generic ability proc effects.

#

the proc effects in this case is like, play a sound, show a temp anim sprite etc

ivory plume
#

So this would be the AbilityClass value?

lucid iron
#

yea

gentle rose
#

I think "Does absolutely nothing. Can be used with various generic prop effects." is a good summary too?

ivory plume
#

I would suggest renaming it (since nop is a bit technical); maybe something like this?

# Default
Applies the generic ability fields you specify (like `ProcSound`), but has no special behavior beyond those.
lucid iron
#

This is true but i used nop in 2 other places already blobcatgooglyblep

#

Listing what count as proc effect makes sense here though I'll do that

onyx flame
#

Is there a onBuffEnd type of event?

#

mmm I can just check if player.hasBuff in tickUpdate. any better solution? lumithonk

lucid iron
#

harmony patch Buff.OnRemoved()?

brittle ledge
#

okay, so something occurred to me: can you do a machine with multiple skins? In CP, without AT?

lucid iron
#

a simple postfix should do it see BuffManager

brittle pasture
#

nope

brittle ledge
#

ahahahaha I have played myself, then

brittle pasture
#

you technically can have "have different skin depending on what it's processing"

lucid iron
#

i think u sorta can actually

lucid iron
#

since BETAS has a thing to change sprite index right

brittle ledge
#

👀 does it?

lucid iron
#

and i believe big craftables behave like objects in that the data's sprite index has nothing to do with the actual spawned item

#

this is all very "in theory" though sleep

brittle pasture
#

It would be rather tricky since machine code liberally call ResetParentSheetIndex

#

unless BETAS all have triggers for every possible cases where the machine resets its index

lucid iron
#

unlikely DokkanStare

brittle ledge
#

mmm so if I wanted to have two machines have different appearances, I'd basically have to make two machines with identical rules, yeah?

brittle pasture
#

yeah that's the most reliable approach

uncut viper
#

you can choose what field, so you could have a CP patch change what the field should be, and then update every machine in the world to match, but that doesnt sound like it'd be helpful here anyway, even if it didnt get resetparentsheetindex called all the time

#

that said if it did you could just BETAS harmony patch ResetParentSheetIndex to always run the action that reloads its item fields anyway

#

though, that would be pointless since that also does the same thing the action does anyway

lucid iron
velvet narwhal
#

lurkexcalibur was the hornet's nest kicked

uncut viper
#

fixed in the upcoming BETAS 2.9.2 btw SDVpufferthumbsup

velvet narwhal
#

you found out what that was?

#

cause i still have no idea what that was KEK

uncut viper
#

(it wasnt actually anything wrong with your code still, i just saw this message again when trying to debug it, QuestAdded has been broken for daily billboard quests and ive never run into it myself and no one else has ever reported it to let me know it happened, let alone that it happened for daily quests specifically)

#

(until recently)

velvet narwhal
#

ah fair enough

uncut viper
#

idk if it broke with the 1.6.9 quest changes or if i just made a change at one point and forgot to re-test on daily quests but i was pretty sure i tested it on the billboard and it was fine when i originally coded it

#

but i did not know that daily billboard Quests apparently get null for their Quest.id...

velvet narwhal
#

i still find it funny that i'm completely unrelated to the warning message so we had a fun lil game of telephone about it

#

that reminds me

topaz zenith
#

I wonder if it would be possible if you marry my npc her pet rock crab can wander around the house

#

Rather than be confined to an enclosure

#

Or maybe I’ll make it so it’s a reskin you can get for ur pet

rotund elm
#

Ok so I got my lampposts to work with the day/nighttiles property, but I cannot get the lanterns from my custom sprite sheet to work? I added them the same with the proper layer and tile index for on and off but nothing

#

Any ideas as to why

#

I am assuming it has something to do with it being a custom made tilesheet, but that's all I can come up with

lucid iron
#

did u put the animated tile

rotund elm
#

Yea, is that not compatible

lucid iron
#

it looks like u put the second one but this shit is hard to see

velvet narwhal
#

you'd have to editimage on the originals, no?

rotund elm
#

The animated tile is 56 and the off is 59
Front 32 33 369 Front 44 24 369 Front 79 10 369 Front 87 16 369 Front 100 18 369 Front 87 37 369 Buildings 2 1 59 Buildings 8 1 59 Buildings 14 3 59 Buildings 21 1 59 Buildings 27 2 59 Buildings 33 3 59 Buildings 38 2 59 Buildings 45 2 59 Buildings 51 2 59 Buildings 59 1 59 Buildings 67 2 59 Buildings 73 3 59 Buildings 79 2 59 Buildings 86 1 59 Buildings 93 1 59 Buildings 100 2 59 Buildings 22 15 59 Buildings 38 7 59 Buildings 27 39 59 Buildings 52 28 59 Buildings 99 16 59 Buildings 90 24 59 Buildings 100 33 59

uncut viper
#

that definitely looks like what chu says and that you put the non animated tile down

rotund elm
#

the only difference is the tilesheet index for nighttime tiles

velvet narwhal
#

afaik you can't have custom tilesheets for daytile/nighttiles, so you'd have to force an editimage on uhhhhh spring_OutdoorTiles

rotund elm
#

In tiled it shows theyre animated?

velvet narwhal
#

that was next on the dock of my tirade but i had higher priorities suslysella

rotund elm
#

Ok so editimage and add both animated tiles and the off tile for the lantern?

velvet narwhal
#

did you make the animation cause you wanted it to light up? or do you want to have some kind of flickering effect

rotund elm
#

its for flickering, the light is just added via the light property

velvet narwhal
#

oh, then tbh you don't need daytile/nighttile

half tangle
#

I'd like to run code when the player presses the action button while holding a specific item but also for the code not to run if another action takes place instead - e.g. opening a chest, shaking a bush, talking to a villager, etc. I have added a postfix to pressActionButton but even if I use different logic with the __result, it causes my code to run every time (with the held item).

Is there some other way to handle this so that my action is in effect the lowest priority? All I can think of is a transpiler which, fine, but it'd be nice to know if there's something I'm not thinking of.

rotund elm
velvet narwhal
#

does MMAP force lights no matter the time, chue?

lucid iron
#

it follows normal game rules about lights

#

since it only places them and nothing else blobcatgooglyblep

velvet narwhal
#

yeah so daytile/nighttile gives the "godray" effect of windows, changing lamps

#

if you have a flickering lantern thing that isn't affected by the game's current time, then it'd be unnecessary as a daytile/nighttile

#

if you want it to only flicker during night, you can probably just uhhhhhhhhhh suslysella

rotund elm
#

Do you mean flickering as in the light source size is expanding and contracting or just refering to the animation the lantern has from the tilesheet

uncut viper
velvet narwhal
#

i mean the animation from the lantern flickering

rotund elm
#

sorry I am slow at understanding things X|

velvet narwhal
#

you can probably editmap with a when patch at a specific time, but usage may vary suslysella i try not to do those kinds of patches

half tangle
lucid iron
#

well u can just do location change update

#

im sure most ppl r fine with lamps being a lil weird until they exit map

rotund elm
#

My ocd would not X| lol

#

I see what you mean tho

uncut viper
rotund elm
#

So if I remove the animation it should work fine?

lucid iron
#

what if u patch Object.performUseAction instead (for cam's problem)

rotund elm
#

Never heard of that

velvet narwhal
#

if you want the godray/lantern effect, you'd have to editimage a different lantern from probably a different tilesheet(?), do the daytile/nighttile of the one you're replacing

half tangle
half tangle
uncut viper
#

well, it seems like it returns true if no action occured, but were you remembering to actually change the result to false after your code (and only running if the result was true originally)

rotund elm
# velvet narwhal if you want the godray/lantern effect, you'd have to editimage a different lante...

I can, but I really don't want to mess up someone elses mod by doing so, I guess the best plan of action would be to do a map patch for the lanterns, but I would need to make it conditional for the time lights change and specifically for each season as that time is different. If i did that would the map patch apply if the user was still in the location or would they also have to leave and come back after said time

velvet narwhal
rotund elm
#

Lol understandable

velvet narwhal
half tangle
#

alright, yep, Object.performUseAction was the right solution here - thanks, both!

finite meadow
#

mb wrong channel

#

im drunk today! yey

rotund elm
#

I have done it again! Creating something out of nothing......

#

These tiles all appear to having something blocking you from walking on them but as if it were an npc so running into it long enough will allow you to pass. The tiles are on the buildings layer but have the passable property set to true and no tiledata or anything else is interacting with those tiles

#

this applies to every wave tile placed except a select few that work absolutely fine

#

I also tried to just remedy the situation by adding passable TileData sections on the back object layer to see if that would work as a temp fix but that did nothing either

#

Also some of the tiles are not passable at all even if you continuously walk into them

lucid iron
#

i was thinking of providing a trinket tinker C# api like this, for custom abilities

public delegate bool AbilityEffectDelegate(Trinket trinket, Farmer owner, Vector2 position, object? rawArgs);
void RegisterAbilityEffect(string abilityEffect, AbilityEffectDelegate abilityEffectDelegate);

is there any point do defining a delegate type vs just using Action<...> generic

#

i copy this from some of the game's delegate

latent mauve
rotund elm
#

Yes

latent mauve
#

On the buildings layer, it makes things passable instead

rotund elm
#

Yea I have it set the exact way as the beach.tmx

finite meadow
latent mauve
#

I believe the beach tileset natively has a tile property on the tile itself (baked into the tilesheet)

rotund elm
#

Yea thats it

finite meadow
#

Let me help you with something that works amazing, look

#

check this

latent mauve
#

Are you using the vanilla beach map and creating a copy to make edits to, or are you starting from something that didn't have the beach tilesheet in it already?

finite meadow
#

you see the tile I marked in blue in the tilesheet?

#

that's my trusted ''nothing'' tile. mark it and draw on top of the water on front of the waves with the building layer

#

It will make it work, and you can still place crabpots

#

problem solved

latent mauve
#

Gross, invisible tiles. SDVpuffersquee /joking

rotund elm
#

XD Ok I am kinda following and yes it is a map from scratch, but I have made no errors with the properties for the tilesheet or map

lucid iron
#

personally i used a bunch of TileData LilyDerp

#

it was easier to see

rotund elm
#

I tired that but it didnt work either

finite meadow
#

use that invinsible tile in front of each animated wave, NOT on top of the wave tile

lucid iron
#

invisible tile is what game typically does though

latent mauve
#

Yeah, I used TileData objects one out into the water on the Back layer to block travel

rotund elm
#

I have used them, but the issue is still gonna be present as I cant have the waves on back or back 2

rotund elm
#

I'm just confused as to why its happening at all, Ive made 2 other beach maps with the same layering and tiledata usage and no issues

latent mauve
#

I personally don't mind being able to walk into the wave so long as I can't walk deeper

finite meadow
#

the only issue you could encounter using invinsible tiles is if the water tile height is less than 2y. For instance, on these bottom tiles, it works, but makes placing crab pots more tedious. The solution is just increasing the water area to -2 y axis and that should fix it, otherwise u can leave it with -1y height and still works, but placing crab pots it's annoying for the player ye..

rotund elm
#

this is the buildings layer

#

the tiledata is on back and for passable f

latent mauve
#

...

rotund elm
#

There is nothing else on any layer so it has to be an issue with the waves themselves

finite meadow
#

it is

#

beause u gotta remember waves aren't a tile, they're a whole set of tiles

latent mauve
#

Try changing Passable to T on back layer?

#

I have a thought

rotund elm
#

I did that as well with no luck

rotund elm
latent mauve
#

Make absolutely sure it's on back layer with a tile on Back to apply to

finite meadow
#

if u check the beach farm itself it doesn't have those tile data areas on the shore, I legit think even the vanilla beach has invinsible tiles

rotund elm
#

they use either water tiles on the buildings layer or invisible tiles, I prefer tile data

latent mauve
#

Specifically Back, Back2 will not cut it

finite meadow
#

because if you try to fix the issue with the waves, what's gonna end up happening is, you won't be able to walk on the wave tile

#

which you are supposed to do

latent mauve
#

My suggestion is for the water tile one out, not the wave

#

The wave absolutely can be on a Back layer, I have done it.

rotund elm
#

I think I incorrectly highlighted the tiles when doing properties so a few that were not the animation tile themselves did not have 1 or the toher property given

finite meadow
#

remember water is walkable in stardew valley, always has been, if you perform the sword swing in vanilla, you see you'll be able to walk around water anywhere, except the ones near the edges

rotund elm
#

I just redid it to make sure and Im testing

#

I didnt know that

finite meadow
#

this is why I say open and unpack the beach farm from vanilla

#

you'll see it doesn't have those tiledata areas around water

#

I'm a beach enthusiast, I love beach farms lol

rotund elm
#

I always check the vanilla maps per type of map I am making, I just really like being able to see the border with the tile data and if I do want to or need to place something on the buildings layer in those spots it I don't have to worry about tile properties

latent mauve
#

This is immediately relevant

rotund elm
#

I am a bad about my habits

#

god I love setting my speed to max in CJB to get to where I need to go for testing lol

finite meadow
#

see? I told ya! I knew it!! CA did it that way! invinsible tiles all the way! SDVpufferheart SDVpufferheart SDVpufferheart

hard fern
#

SDVpufferdead speaking of invisible tiles i had to remove some earlier on a map patch

latent mauve
#

CA absolutely uses them, but I try to avoid them as a rule because they can be a nightmare for crossmod compatibility with patches later xD

rotund elm
#

Ok that fixed the majority of my issues but I still have a few tiles not being passable when they should be and 100% all tile properties are correct now

finite meadow
#

which ones?

finite meadow
#

hopefully it never gets updated!

latent mauve
#

It's not even the tilesheet being updated that is the concern for me

rotund elm
#

where the red line is

latent mauve
#

It's if someone does an overlay patch not realizing there's an invisible tile there

finite meadow
#

i'd say remove your tiledata areas

rotund elm
#

I will for testing purposesSDVpufferconstruction

#

the boat tile data is for a warp so it should mess with anything

finite meadow
#

I use the warp property for that, tbh I only use tiledata for uhh cabins! anyway, bear asks if you marked these as invinsible tiles?

hard fern
#

SDVpufferchickcry omg i just wanna finish dialogue so i can test this npc-

rotund elm
#

I havent put any there just the tile data for not being passable on the back object layer. but right now they have been deleted to see if I can even walk in the area with nothing there

finite meadow
#

remove em' tile datas and put invinsible building tiles there, try

rotund elm
#

the tile data i mean has been removed

#

I will just for you after I test this

#

I STILL CANT WALK THERE SDVpufferwaaah

#

I also cant walk onto my dock and there isnt even tiledata or anything on the building layer for those tiles

#

wHaT iS HaPPeNinG

finite meadow
#

bear asks if, are you using the animated waves in the ''building'' layer, and also, did you modify anything in the tilesheet properties? (did you edit em'?)

rotund elm
#

I did to add the passable tile property

#

and type dirt

finite meadow
#

you don't have to modify em' at all

rotund elm
#

But since theyre on the building layer wont it prevent walking

#

vanilla spritesheet has the same properties

finite meadow
#

some tiles can be placed in the building layer without you having to edit them and you'll be fine walking on them

#

like bridges, the stepping stones in the beach farm, waves

rotund elm
#

Alright I'll give it a shot rq

#

but that still wouldnt explain why I cant walk onto the first part of the wood

finite meadow
#

the wood would count as back layout

#

even the one around water

#

so you use invinsible tiles around it

rotund elm
#

the wood is on buildings 2 so it shouldnt be collidable at all

#

and it has no tile properties

finite meadow
#

0 tile data for building layer

#

This is done doing just invinsible tiles, you can also (if you're creating a custom farm) use the map properties at ''warp'' and use ''farm'' tag to use boats as tps

rotund elm
#

I just used the same tiledata as an exterior door I have replaced with invisible tiles and still ran into the issue, now I have made 3 more back layers....... If this doesnt work

finite meadow
#

I ran through the same you're experiencing long ago because I was editing the tilesheets, had to redo the map without modifying them using invinsible tiles and all was good

rotund elm
#

I am assuming Im gonna have to start the map from scratch if this is a no go so thank god it was a smaller map if it was the 180*100 beach map I had to make I would be sobbing

finite meadow
#

do not try to copy and paste from a tile file to another also

rotund elm
#

I learned that lesson already thank god XD

finite meadow
#

it actually pastes the whole thing with the modified tilesheet lol

rotund elm
#

Starting from scratch because im a ditz SDVpufferconstruction

finite meadow
#

The hard part tbh is not building, is the freaking fishing thing that changed in 1.6

rotund elm
#

What is that I am a fishing expert

#

My mod is entirely fishing related

finite meadow
#

in 1.5 we had a tile property to modify the fishing aspect easily, now it changed so you have to edit the content file

#

if you don't, it's gonna just spawn sun fish

rotund elm
#

?? wHaT

finite meadow
#

for instance:

#

}, "Fish": [ { "Id": "Green Algae", "ItemID": "(O)153", "Chance": 0.2, "Condition": "LOCATION_Season Here Spring" }, { "Id": "Flounder", "ItemID": "(O)267", "Chance": 0.9, "Condition": "LOCATION_Season Here Spring Spring Summer" }, { "Id": "Sardine", "ItemID": "(O)131", "Chance": 0.3, "Condition": "LOCATION_Season Here Spring Winter"

rotund elm
#

This is your location data right

finite meadow
#

feel free to use it, you can add more and more fish using the same format, this is so you add what fish / loot, season, % to catch

rotund elm
#

Oh yes I already got all that

finite meadow
#

ah great!

rotund elm
#

Sorry I only started modding in 1.6

finite meadow
#

you can also use items there btw

rotund elm
#

So I am only accustomed to the new formatting and way of life

finite meadow
#

you can catch an iridium needle if you wanted to

rotund elm
#

Yea I added a magical stick to my mine

#

It’s just a stick that’s magical

#

Nothing else

finite meadow
#

great. You also can modify the starting pack through tiled

rotund elm
#

Starting pack?

finite meadow
#

the box u open on day 1

rotund elm
#

Omg I can make it magical sticks

#

I’m kidding I’m not that means ☠️

finite meadow
#

yes, add this property in tiled:

rotund elm
#

LOL

finite meadow
rotund elm
#

So you can add multiple items to?

finite meadow
#

yes

#

you can start with 999 iridium bars

#

or 500 iridium slingshots

#

whatever u want

#

even big furniture like furnaces

rotund elm
#

Oh wow that is actually kinda nice

#

I wasn’t aware

finite meadow
#

well, there u go!

rotund elm
#

I wish there was ai for map making I have about 15 I have to make and a few of them are quite large

lucid iron
#

u can always make less if u dont want to

#

and theres tiled extensions that can help with things

brittle ledge
#

What the heck do you need 15 maps for if you don't know what you want to put on them? SBVSterlingConfused

hard fern
velvet narwhal
#

i am also lost in the premise here

gentle rose
#

there isn't a single mod I can think of that has "15 quite large maps" rn and that includes ridgeside and sve, they each have like 5 of the large maps and a bunch of small/indoors ones, so idek what you would do with 15 large outdoor maps tbh

#

and tbh from a play perspective, I kind of hate massive, overly spacious maps. They're annoying to navigate and take ages to travel through. I prefer when mod authors use their space efficiently for the most part

teal bridge
#

I don't have the soundbanks on this machine and don't think I can run unxwb, can anyone point me to the "phbt" sound that hovering over the title screen buttons makes? (The name of the cue, that is)

gentle rose
#

(which is easier to design too because there's less open space for you to have to decorate)

teal bridge
#

I can also try to make a few guesses if anyone's got the link to that Google spreadsheet with all the sound names... I don't have that with me either.

lucid iron
#

Cowboy_Footstep

#

based on TitleMenu.cs at least

teal bridge
#

Yep, that's a match, thanks.

#

What an intuitive name, totally sounds like a cowboy's footstep...

ivory plume
teal bridge
#

Oh, that is useful. Will definitely use that for the sounds I can remember how to trigger.

ivory plume
#

Content Patcher 2.5.0 is now released!
This adds a new local tokens feature, improves NPC token validation, and reduces warnings when using MoveEntries. See the release highlights for more info.

drowsy pewter
#

Oh nice! Less MoveEntries warnings!

velvet narwhal
#

ooh you did push through with the local tokens thing

rough lintel
#

hello gaymers, i have a question about event modding and forks.
so, in penny's bathhouse event, it mentions a fork titled pennyHeartbroken but it's never specified as a response ID or anywhere else in the event as, like... the fork. so i was wondering where that even got set?

  #$r -1 0 event_pool4#I feel the same way about you.
  #$r -1 -1500 event_pool5#Sorry, but I don't like you in that way...\"
  /fork pennyHeartbroken```
drowsy pewter
#

Thank you Pathos

brittle ledge
#

Can't believe Elliott was not the example here SBVLmaoDog

#

!elliot

ocean sailBOT
#

Elliott has two t's in it...

ivory plume
#

Fixed!

drowsy pewter
#

Hahahaha

rough lintel
velvet narwhal
rough lintel
#

ok yes but how does it know what response makes the fork

#

thats my question

ivory plume
#

(Note that it's using the /fork command, not /question fork<id>.)

rough lintel
#

furrcry whats the diffwence

velvet narwhal
#

the $q answer, that being the 2nd command where it says "Sorry I don't--"

ivory plume
#

When the /fork <id> command is run, it immediately ends the current event script (so the rest of it is ignored), loads the specified event ID, and continues from the start of that script.

rough lintel
#

uh huh

ivory plume
#

That's used to have two different endings to an event. If that command is skipped (e.g. because it's only run for one branch of a $q), the current event continues instead.

rough lintel
#

oh, wait, i- ok. so how does it... skip or not skip?

#

do you fork at the end of a q?

#

like uh

#

hold on

#

ok i thought i got it and i still dont 💀

#

if you choose event_pool4, it knows not to fork, even though the fork command follows it... if that makes any sense

#

sorry i probably sound stupid this makes zero sense to me 😭

ivory plume
#

In that script, $q starts a question, with several $r responses which the player can choose from. If the player chooses "Sorry, I don't like you in that way..." it triggers the /fork pennyHeartbroken command to switch to the heartbroken variant (you monster).

rough lintel
#

uh huh

#

why does that one specifically trigger it? because it's second?

#

in the response order or whatever?

#

it just doesnt follow the format of the event data question fork OR the dialogue formats on the wiki, which is why i'm like "bweh?"

brittle ledge
#

SDVpufferthinkblob is there a GSQ for number of mystery boxes opened or a GSQ/mailflag for having opened at least one?

uncut viper
#

theres a player stat for MysteryBoxesOpened

ivory plume
brittle ledge
#

okay so the list on the wiki for player stats is not a full list, yeah?

rough lintel
#

ahh, that's ok. i'll just follow the question fork example on the wiki then

#

whatever CA does in his game is black magic at this point

velvet narwhal
#

i'm mildly confused about the difference between the $q iteration, because a question fork runs:
Answer1 -> fork
Answer2 -> ignore fork

rough lintel
#

i checked the sebastian event with the dnd thing too, made zero sense how it knew to fork

uncut viper
velvet narwhal
#

i have a very very short exerpt of question fork but honestly quickQuestion my beloved

gentle rose
rough lintel
#

me after question forking

uncut viper
velvet narwhal
#

i tend to not use $q and such in events though so suslysella

velvet narwhal
#

tbh reading the event and my own working example, it seems like $q runs as
answer1 -> ignore fork
answer2 -> fork

rough lintel
#

pathos, i thought we were on a first name basis! after all this time, you call me my full government name? 😔

gentle rose
#

black magic, got it SCyes

#

I have to learn all of these things so that when I write my own mods, I can use the most obscure and cursed syntax possible to achieve any given result, you know? /lh

velvet narwhal
#

listen, just use YAML

#

that's cursed enough suslysella

rough lintel
velvet narwhal
gentle rose
#

I do know yaml a_sideeye

brittle ledge
uncut viper
#

technically yes but in this case its as easy as just opening ILSpy, searching for "StatKeys" and then clicking on it to see a list on the side

velvet narwhal
#

i literally sent you a screenshot of it

ivory plume
#

(If you have access to the decompiled repo: StatKeys.cs.)

uncut viper
brittle ledge
#

I do not but I think I could request it?

velvet narwhal
#

cheeto in spirit, lofty goals of pants

uncut viper
#

just need to be a level 50 cheeto

brittle ledge
#

I'm uh

teal bridge
#

Huh, wonder what CheeseMade is used for.

brittle ledge
#

level 500 SBVLmaoDog

ivory plume
#

Yep! You just need to ask for it here to get it.

brittle ledge
#

Will you let me in then, please? SDVpuffersquee

drowsy pewter
#

I think he needs your github

supple cove
#

Are there any good tutorials out there on making your own portrait mod?

velvet narwhal
#

uhhhh probably yeah, lemme dig into the wiki.gg

ivory plume
velvet narwhal
uncut viper
#

i think there should be an exception to the cheetos only rule for mod jam contest winners /j

teal bridge
#

Twist: it's only valid while you have the role.

uncut viper
#

well you keep the winner role forever

gentle rose
#

there should be an Honorary Cheeto role for people like Button and Blueberry

teal bridge
#

Do you? I see no such role on your profile.

gentle rose
#

who are insisting on eschewing their cheeto tendencies

velvet narwhal
#

but wait

#

contest could mean anything suslysella

teal bridge
#

Oh, "Contest", right. I was looking for the phrase "mod jam".

uncut viper
#

but its verifiable through the announcements channel!

ivory plume
#

(The specific roles like 'mod jam winner' are temporary, the generic 'contest winner' is longer-term.)

uncut viper
#

its a purple role i got for winning a mod-jam-in-all-but-name-kinda so thats good enough for me SDVpuffersquee

teal bridge
#

Anyway, your user name is not red, so it doesn't count.

velvet narwhal
#

if only the red was permanent SDVpufferpensive

uncut viper
#

not yet

teal bridge
#

You have to be either orange or red.

uncut viper
#

theres still time for me to become a 1.7 developer

ivory plume
#

You have to be warning- or error-colored unfortunately.

teal bridge
#

(Or green, I guess)

uncut viper
#

pumpkin orange warnings...

velvet narwhal
#

are the junimos hosting a council meeting for the a new summoning? (are more junimos getting onboarded?)

uncut viper
#

p[ff

teal bridge
#

I'm fully onboard with error coloring. Let it be a danger sign to the masses.

gentle rose
#

dibs on being the next junimo! /lh

velvet narwhal
#

god i miss the blaringly yellow text from the halloween event though

uncut viper
#

i would sooner become a cheeto than a junimo
not because i have anything against junimos, but because i know i would absolutely not want to be one nor would i make a good one

velvet narwhal
#

ah yes, m-f finally got hit with the notif to update cp lmao

hard fern
#

lol

#

"pathoswave"

gentle rose
#

also I'm officially level 100 now which means I can theoretically create a million stupid commands and unleash them on modded farmers. I am surging with the power I wield right now

velvet narwhal
#

i'm pretty sure that's a fast track to being licked clean of cheeto dust

gentle rose
hard fern
#

SDVpuffersweats so to get your cheeto dust removed, it is licked off? by bouncer?

pine ermine
uncut viper
#

who's bouncer?

velvet narwhal
hard fern
#

my mistake, *boncher

uncut viper
#

thank you

gentle rose
#

I assumed it was washed off using condensed air or something

#

like how you clean keyboards

uncut viper
#

(tbh i much prefer json to yaml but if you know one you basically do know the other)

gentle rose
#

I only know yaml because of a tool called ansible

velvet narwhal
#

i don't wanna know, i am blissfully unaware even though i let link use my custom npc template as a yaml guide SDVpuffersmile

uncut viper
#

its just minimalist json

teal bridge
#

It's technically, historically a superset of JSON, so wouldn't that make it... maximalist JSON?

gentle rose
#

json after it read The Zen of Python

uncut viper
#

technically maximalist, visually minimalist

teal bridge
#

MAX POWER JSON

ivory plume
#

It's like JSON, except that it breaks when you forget a space instead of a bracket.

gentle rose
#

luckily, tabs and spaces have never been something people have messed up

uncut viper
#

it also breaks if you space too much

#

yoba help you if your IDE auto converts spaces to tabs or vice versa, too

teal bridge
#

Either way you have to use a validator/syntax highlighter. It's just a question of which one hurts your eyes less.

uncut viper
#

(not that it should if it detects you have a yaml file open, tbf)

gentle rose
#

my fave files are the ones where there are both tabs and spaces as indentation on the same lines

#

that's when you really have to wonder what cursed series of IDE swaps took place

velvet narwhal
#

me formatting my stupid nexus BBC:

calm nebula
#

Never mind. I don't need to know

gentle rose
#

making spam commands. like, say, making a command for a specific year

hard fern
#

XD i was about to ask what the british broadcasting corp had to do with this for a second

velvet narwhal
#

.q 6284

patent lanceBOT
#
#6284

y'know i'm glad atra is retired

calm nebula
#

Enjoy your British broadcasting company I'm drinking my Chinese cold medicine and going to sleep

ocean sailBOT
#

Ask your question or describe your issue here, and someone will help if they can!

hard fern
#

!2020

ocean sailBOT
#

That was five years ago, mate.

gentle rose
#

!boncher

ocean sailBOT
#
bonch

He bonched too close to the sun. Boncher, you will be missed.

velvet narwhal
#

nope that stays in m-f

teal bridge
#

I like how that command explains literally nothing.

velvet narwhal
#

i have a cursed idea, i am off to your thread

gentle rose
brittle ledge
#

okay, so opening Artifact Troves increments the geode counter and there is no separate counter for artifact troves, yes?

uncut viper
#

there does not seem to be one no

brittle ledge
#

Okay, I don't completely suck at reading this UWolfYay

teal bridge
#

Well, that's a function I wish I hadn't looked at. Important pieces of game logic tied to specific NPC animation frames.

calm nebula
teal bridge
#

That seems somewhat less toothachey to me. Still somewhat, but not as much.

#

It makes some sense that the game would have to respond, with some delay, to player action. NPCs are already following a script, though.

pine elbow
#

I have a question!! I am not blaming any modder but why every song mods or audio mods always have weirded codes on theirs Content Patcher?

calm nebula
#

Yes, except the animations can take a delegate

pine elbow
#

I meant

#

why the code looks like this

#

I need to rewrite it everytime I want to make it more compatible with another platform

gentle rose
#

which part of that do you consider weird?

teal bridge
pine elbow
#

the line the space the coordinate the . Before the { idk what are these

#

but I only know it will give errors if we didn't run it on PC

#

but if I fix it to the format I done it will be no error

uncut viper
#

seems like some sort of weird unicode encoding error or something?

pine elbow
#

YYes

teal bridge
#

Oh, that's probably a BOM.

supple cove
#

What’s the manifest json for in mod folders?

uncut viper
#

probably not something that the mod authors really at fault for

uncut viper
pine elbow
uncut viper
#

required in order to actually load the mod

supple cove
#

Aaah ty

gentle rose
#

are you sure that problem isn't with the editor rather than with the file?

pine elbow
#

I changed many editor it still the same

uncut viper
#

they meant the text editor you're using on your phone

teal bridge
#

It's not a "problem", some editors just add BOMs and most JSON parsers should be able to handle it.

#

Well really, not even the JSON parser, rather the underlying text reader.

gentle rose
#

regardless, mods aren't really written with mobile in mind right now, so there could be a lot of reasons why they break when loaded on mobile other than encoding/BOMs

pine elbow
#

it's only happen when we download song replacement mods

#

it's never happened on another

uncut viper
#

then its coincidence

teal bridge
#

I really doubt that, unless it's because some/all the mods are derived from one template they all copied.

gentle rose
#

or it's all one mod author or something

uncut viper
#

it being a music replacer mod has no effect on that

pine elbow
teal bridge
#

If it's maybe a half-dozen mods then I could see it being a copy-paste situation.

gentle rose
#

I guess I wasn't here, I'm sorry

rough lintel
#

silly of me, maybe: in quickQuestion, what exactly is a (break)? do you literally type (break) or is it just ..../? some other character

#

also if bonchoen is still here im looking at your tutorial, so helpful with the switchevent thing, ily

pine elbow
uncut viper
#

opening up their mod does have N++ open it in UTF-8 BOM by default unlike my other jsons though, which is interesting.

#

are you sure its not just happening with that mod authors mods specifically

teal bridge
#

Yeah, it just depends on what editor was used to create it and/or what settings the editor was configured with. BOMs are legal but not required.

pine elbow
#

ok

lucid iron
#

if this is for android smapi, check the version of json.net it's using maybe?

pine elbow
#

I dont need to ask more maybe chat GPT is better option

uncut viper
#

like focustense says, its just a quirk with both the mod authors editor and your text editor/smapi android not being able to parse it

#

but not music mods specifically

#

chat gpt is always the worst option

gentle rose
#

if it prevents the mod from working on PC too, it could be worth reporting to the mod author. If it works on PC, unfortunately mod authors just aren't writing with android in mind right now, so they probably won't be willing to fix it especially for that

lucid iron
teal bridge
#

...we answered your question. Some editors add a BOM, some don't, some depend on config. It's still totally valid UTF-8 JSON. Most code shouldn't choke on it. If Android chokes on it, then that's a problem with the Android code. It's got nothing to do with music mods in particular unless they're all from the same author or all the authors copy-and-pasted from the same template. What more do you want to know?

versed wyvern
#

Does anyone know if the vanilla spouses still use stuff from MarriageDialogue.xnb or was all of that moved to the character-specific marriage dialogue xnbs?

pine elbow
#

it's not editor problem it seems because I can open any json file without errors I have mentioned these

#

and I use more than 200 mods

teal bridge
#

It's not a problem, period.

gentle rose
#

does it actually prevent the mod from working until you edit it? if it does, the issue is with android's handling of something

#

we can't help with that

uncut viper
#

the json having the weird character is not a problem, because its something that should be handled gracefully by other software

velvet narwhal
uncut viper
#

this is an issue with SMAPI android, not with the mod

teal bridge
#

Honestly, I get the sense that you are fishing for a particular answer, which is probably the wrong answer, and in any case we don't know what you're trying to catch. If deleting the BOM solves the problem for you on other platforms then delete it. Or ask the mod author to release a version without it for that reason. But it's not invalid JSON, it's just something that specific platforms aren't handling well.

velvet narwhal
#

i was backreading what happened i just skyrocketted

uncut viper
#

and there is a different server for SMAPI android now i believe, so whoever's maintaining/updating it there would probably be genuinely interested in knowing this breaks it

teal bridge
#

All this "I looked at a hundred other mods and they didn't have it" is just noise. So what? A BOM is a BOM is a BOM, it's either there or it isn't, depends on the editor and the author.

gentle rose
pine elbow
#

when i literally tried all app

#

so I assume it as OS issues

#

that's the end

uncut viper
#

we're telling you that we already gave you the correct answer

#

and that its not an issue with the mod

lucid iron
#

The byte-order mark (BOM) is a particular usage of the special Unicode character code, U+FEFF ZERO WIDTH NO-BREAK SPACE, whose appearance as a magic number at the start of a text stream can signal several things to a program reading the text:

the byte order, or endianness, of the text stream in the cases of 16-bit and 32-bit encodings;
the fac...

teal bridge
#

There's no "issue" here. Some editors won't display the BOM (on purpose).

gentle rose
uncut viper
#

ive never looked into it

velvet narwhal
#

well a thai person wrote the androidsmapi

gentle rose
rough lintel
#

or wherever it left off?

uncut viper
#

i imagine that channel is a two-way street and that both servers need to agree, not just this server adding em willy nilly

lucid iron
#

is it cus thai is not actually official sdv translation language

#

i do think it'd be useful ofc, to redirect ppl there

velvet narwhal
rough lintel
#

in the switchEvents and you section is where i am at

gentle rose
#

I think vietnamese isn't either iirc but that server is in the friends channel? I could be wrong about both though nope

velvet narwhal
#

it's not necessary to call it transition of course, that's just my brain speaking lmao

gentle rose
#

I am indeed wrong

velvet narwhal
onyx flame
#

making mod is kinda addicting. Just finished one and already moved on to next idea Chuchuggers

#

I'm pretty sure i spend more time testing/debugging mod than actually playing

oblique frost
#

Hi! Im new here and wanting to make my first NPC mod. I followed the guide here in "Full NPC" to create a test, but it didnt show up in game. I used Abigail's dialogue, schedule, portrait and sprites to replace later, but only the real Abigail showed up in game. https://stardewvalleywiki.com/Modding:NPC_data

Stardew Valley Wiki

← Index

#

Is this section of the wiki not 1.6 friendly? Or is there a better guide somewhere?

velvet narwhal
#

yeah we have a command for it

#

!npc

ocean sailBOT
#
Creating a Custom NPC

Keep in mind that making NPCs is a complex process that requires learning many different aspects of Stardew modding.
Here are a few links that can help get you started on all that you need to know:

velvet narwhal
#

npcs are one of the things that has a lot of moving parts

uncut viper
#

(tbc the "yeah" is bc theres a better guide, but that page IS 1.6 friendly)

oblique frost
#

Thank you! Ill check it out. And I just realized I have this error, can anyone tell me whats wrong here?

velvet narwhal
#

looks like your syntax is wrong somewhere

#

!json

ocean sailBOT
#

JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.

If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.

When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.

uncut viper
#

!json

ocean sailBOT
#

JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.

If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.

When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.

uncut viper
#

oop

#

(brain lag my bad)

oblique frost
#

Which json file is it saying is incorrect?

uncut viper
#

content.json

fervent horizon
#

Does a texture2D load need the full path or just the asset path?

oblique frost
#

I copy and pasted directly from the wiki into content

uncut viper
#

please upload your json and send it here regardless

oblique frost
uncut viper
#

use the uploader next time please, but regardless, you've extra stuff at the top prior to what you copy pasted

oblique frost
#

Sorry about that! and yeah I see what you mean, I copy and pasted that from the wiki too so I thought I needed both