#making-mods-general

1 messages · Page 514 of 1

urban patrol
#

(randomly)

next plaza
#

@finite ginkgo @tame burrow Sanity check this SpacECore build to make sure it doesn't break existing mods using the dungeons stuff? I'm not entirely sure how it's working to begin with but anyways (ping on reply, if you don’t mind)

#

Unless y'all moved off of spacecore I guess

#

I haven't heard of any other mods using the dungeon stuff yet though

#

Mainly just want to avoid releasing it and y’all suddenly get bug reports and having no clue why it broke suddenly

urban patrol
#

(there's no rush on releasing it on my end, i'm months and months away from this being done)

next plaza
dusk mulch
#

I'm trying to make it so when you read "Note4" it sets a tile property at 31, 95 in the forest and you right click it to get an item (done with PEEM and SNFW) yet when I read the secret note nothing happens. PEEM is working fine it's the "when" that is the issue since you can get it from the tile without it

https://smapi.io/json/content-patcher/1c9ce2357f114f87ba04fa82ce1a2211

#

i've tried game restarts, sleeping, leaving the area and going back, patch reloads

#

lines 133-167 are the important ones

brave fable
#

peem and snfw

#

i must be getting old

tiny zealot
dusk mulch
#

sure just give me one sec to load the game again

#
Metadata
----------------
   raw value:   {{ichortower.SecretNoteFramework/HasModNote}}
   ready:       True
   mutable:     True
   has tokens:  True
   tokens used: ichortower.SecretNoteFramework/HasModNote

Diagnostic state
----------------
   valid:    True
   in scope: True
   ready:    True

Result
----------------
   The token string is valid and ready. Parsed value: "NotAGardener.MoreSecretNotes_Note14, NotAGardener.MoreSecretNotes_Note10, NotAGardener.MoreSecretNotes_Note9, NotAGardener.MoreSecretNotes_Note8, NotAGardener.MoreSecretNotes_Note15, NotAGardener.MoreSecretNotes_Note7, NotAGardener.MoreSecretNotes_Note5, NotAGardener.MoreSecretNotes_Note4, NotAGardener.MoreSecretNotes_Note12, NotAGardener.MoreSecretNotes_Note03, NotAGardener.MoreSecretNotes_Note02, NotAGardener.MoreSecretNotes_Note01"```
next plaza
dusk mulch
next plaza
#

Another version? Was there a fork or something?

tiny zealot
dusk mulch
tiny zealot
#

i.e. you have a maptile to do the peem interaction to give an item, but then you also patch peem's itempickups and tell it what tile to use

#

so maybe you only need one of those?

dusk mulch
next plaza
#

Did DH come up with that naming convention for the beta

dusk mulch
#

I guess it was just the acronym, I'm not sure

tiny zealot
#

Papping Extensions and Extra Mroperties

next plaza
#

@blissful panther Is PEEM the beta for MEEP? And if so did you come up with that name for it?

next plaza
dusk mulch
#

Wait...

#

I might have an idea of what it is.

next plaza
dusk mulch
#

Nope.

urban patrol
#

ugh. how do i say in trigger action "one and only one of these doors spawns treasure; the other two spawn monsters"? i was thinking i could use pinned keys but i'm completely lost with how to format that. if context helps, here's the trigger action in progress:

    "Id": "{{ModId}}_DungeonDoors",
    "Trigger": "Manual",
    "Actions": [
        "Spiderbuttons.BETAS_WarpFarmer [Spiderbuttons.BETAS_CharacterLocation Farmer] [Spiderbuttons.BETAS_CharacterCoordinate Farmer X] [Spiderbuttons.BETAS_NumberOffset [Spiderbuttons.BETAS_CharacterCoordinate Farmer Y] -3]",
        "mushymato.MMAP_UpdateMapOverride + {{ModId}}_Door1Override", // remove override on exit
        "Spiderbuttons.BETAS_TriggerAction {{ModId}}_DungeonDoorSpawnChance" // separate traction with condition 0.33? should be pinned key or smth instead?
    ]
},```

rn each door runs the same traction, but i could give each one its own traction. i could also potentially not do it in this traction and instead do it in tile actions on the map, but same deal, how would i say "1/3 is treasure and 2/3 are monsters"?
#

i guess i could have a spawn group with .33 treasure and .66 monster chance? it's not perfect though

#

i'm not smart enough for crimes :/

sleek flint
#

Does anyone know where I can find cave lanterns or torches? SDVpufferthink

#

In the game's files.

urban patrol
#

torches are a spring object, their flame is in cursors, and lanterns should be on cave tilesheets iirc

dusk mulch
#

ohhh torches

sleek flint
#

ok thanks

dusk mulch
#

i thought they meant these

dusk mulch
tiny zealot
#

well, i'm not sure what other help i can be here. afaict SNF is working correctly, so my guess is something is misconfigured on the PEEM patches

#

it could also just be something difficult to notice, like a minor typo

dusk mulch
#

well when i remove the "when" bit it works fine and PEEM's purpose is to give me an action so i can pick up items from a tile

#

ill copy and paste every ID needed so I can tell if there are any typos

#

hold on, is it supposed to be "contains:" or "contains="?

urban patrol
#

=

hard fern
#

peem. lol

sleek flint
dusk mulch
#

Oh, In that case it is Maps/Mines/mine.png

sleek flint
#

Ya I already found them. Thanks again.

tiny zealot
#

@dusk mulch i figured out the problem. SNF is returning the token data incorrectly (it looks correct, but it's not). i'll put out a patch fix when i can

#

in the meantime, you can use ActionsOnFirstRead to set a mail flag or something, and check that instead of the note status, to get it working right away

cinder ether
#

hey folks, is there a convenient way to search for textures already included in the game's content folder? Sometimes I find it difficult to pin down certain things (such as cooking recipe icons being in springobjects! took me ages to find that). Perhaps some sort of website that helps you search based on the texture you're looking for?

tiny zealot
#

.q 6218

patent lanceBOT
#
#6218

It's not in Cursors
There's no way it's in Cursors
... it was in Cursors

brave fable
#

there is no such way 🙂‍↕️

tiny zealot
#

that's a joke but the real answer is not really. ask the brain trust on here is the fastest way

brave fable
#

after a while you'll get a feel for it. helps if you're looking at all the spritesheets all the time

cinder ether
#

fair enough, I'll probably start keeping a lookup for myself so I can find them easily

dusk mulch
#

Are mail flags hardcoded?

tiny zealot
#

no, you can add your own mail flag whenever you want

dusk mulch
#

just realised how mail flags worked, idk how i didnt get that

#

ty!

lucid iron
lucid iron
#

so u are still only allowed to apply {{ModId}}_Chimkins_Relative one time to the map

#

and if u do remove it's still that id regardless of where u applied it at

urban patrol
#

but i could do {{ModId}}_Chimkins_Relative1 {{ModId}}_Chimkins_Relative2 {{ModId}}_Chimkins_Relative3 on one map?

lucid iron
#

sure

urban patrol
#

sick

#

let me test it

lucid iron
#

its just that i dont want ambiguity when it comes to removing

#

i may change this later tho, gonna sit on the thought for a while

#

helps if u can tinker and tell me what u want to do with it

urban patrol
#

what is it relative to? i'm calling it in a trigger action which is triggered manually by a tile action

lucid iron
#

it's relative to the player's TilePoint when it's a trigger action

#

(and relative to the tile of the tile prop when it's a map action)

urban patrol
#

hmm so i should make it a touch action then probably

lucid iron
#

yea its more stable that way Bolb

urban patrol
#

warp player with BETAS to touch action tile -> touch action reveals map

#

okay hang on let me rewrite stuff

lucid iron
#

i did also make wrphere take a relative arg

#

didnt test that so hoping it just works lol

#

mushymato.MMAP_WrpHere 12 32 -1 false true

#

the last bool is the one that says "this be relative"

urban patrol
#

while i'm at it i can test that too

#

i didn't test the BETAS version of it yet either

dusk mulch
#

I've managed to make the mail but it's just that... mail. How do I hide it so I can use it as a mail flag?

urban patrol
dusk mulch
#

So I use the addmail trigger action without giving it an entry?

brave fable
#

when you use AddMail or an equivalent action, it's setting the mail flag. it just so happens that if there's also a Data/mail entry for that same id, it'll be added to your mailbox

dusk mulch
#

alright, ty!

late pewter
#

Well shoot, I think I need to patch a map...

urban patrol
#

hmmm well big problem my tiledata don't seem to be working

lucid iron
#

are they not getting plonked down to the map bolbthinking

urban patrol
#

did i format these correctly?

    "Id": "{{ModId}}_DungeonDoors",
    "Trigger": "Manual",
    "Actions": [
        //"Spiderbuttons.BETAS_WarpFarmer [Spiderbuttons.BETAS_CharacterLocation Farmer] [Spiderbuttons.BETAS_CharacterCoordinate Farmer X] [Spiderbuttons.BETAS_NumberOffset [Spiderbuttons.BETAS_CharacterCoordinate Farmer Y] -3]",
        "mushymato.MMAP_WrpHere 0 -3 -1 true true",
        "mushymato.MMAP_UpdateMapOverride + {{ModId}}_Door1Override", // remove override on exit
        //"Spiderbuttons.BETAS_TriggerAction {{ModId}}_DungeonDoorSpawnChance"
    ]
},```
#

oh mismatch hang on

#

that would be why

lucid iron
#

usually i use LA with tile lookup on in game first

#

to make sure me data's in

urban patrol
#

let me turn that on, i was pressing f1 to no avail

#

let me make the trigger action play a sound or something to check if it's even triggering

#

however i don't even see the hand to interact

shut edge
#

"Query: '{{LocationName}}' LIKE 'DLX.PIF_MINE_cryomancer.fishfactory_FishFactory*'": true

#

if i wanted to add another location to this, how would that look?

#

a specific location at that, i'm making a building version of a PIF room

#

i guess they would just be cryomancer.fishfactory_fishfactoryT0, just not sure how the syntax goes there

brittle pasture
#

you can use OR

#

({{LocationName}}' LIKE 'DLX.PIF_MINE_cryomancer.fishfactory_FishFactory*) OR ({{LocationName}} LIKE cryomancer.fishfactory_fishfactoryT0*)

#

added parentheses just in case

shut edge
#

thank you

#

the tiers are just T0,T1,T2 so T* should be fine right

urban patrol
shut edge
#

i am also kind of assuming the game can handle me using the same maps for a PIF and a building, guess i'll find out soon lol

#

should i be concerned that your string is not getting the green formatting

#

i may have missed a comma or somethin

urban patrol
#

if it's >50 characters it turns white

shut edge
#

oh, weird

#

yeah validator says it's fine

urban patrol
#

yeah it's just a N++ thing

shut edge
#

well somethin there is borked i guess

#

worse it's not loading the maps so i'll work on that first

brittle pasture
#

oh yeah missing single quotes around the strings

#

('{{LocationName}}' LIKE 'DLX.PIF_MINE_cryomancer.fishfactory_FishFactory*') OR ('{{LocationName}}' LIKE 'cryomancer.fishfactory_fishfactoryT*')

shut edge
#

thank you kindly

#

ok yeah something with my dirs is funky

lucid iron
#

or was it TouchAction im eepy

urban patrol
#

oh i'm forgetting basics ofc it's that

lucid iron
#

we can both be eepy

shut edge
#

oh boy

#

how the f did i do that lol

#

that happens when i try to open the door into the building

#

PIF version still works at least

urban patrol
# lucid iron we can both be eepy

okay so good news the trigger action on the door works, except i get this error https://smapi.io/log/4d8d49b17f2948618a638ba07c2770ad the touch action still appears to do nothing. the traction is this:

    "Id": "{{ModId}}_DungeonDoors1",
    "Trigger": "Manual",
    "MarkActionApplied": false,
    "Actions": [
        //"Spiderbuttons.BETAS_WarpFarmer [Spiderbuttons.BETAS_CharacterLocation Farmer] [Spiderbuttons.BETAS_CharacterCoordinate Farmer X] [Spiderbuttons.BETAS_NumberOffset [Spiderbuttons.BETAS_CharacterCoordinate Farmer Y] -3]",
        "mushymato.MMAP_WrpHere 0 -3 -1 true true",
        "Spiderbuttons.BETAS_PlaySound crystal",
        //"mushymato.MMAP_UpdateMapOverride + {{ModId}}_Door1Override", // remove override on exit
        //"Spiderbuttons.BETAS_TriggerAction {{ModId}}_DungeonDoorSpawnChance"
    ]
},```
ocean sailBOT
#

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

shut edge
#

oh maybe i have to actually set some locations now that it's not just PIF

#

that could explain things

#

or wait is that even still a thing?

brittle pasture
#

i'm on bed now so cant help more but you shouldnt need to

#

(e.g. the vanilla sheds)

shut edge
#

have a nice rest, thanks again

#

yeah i was thinking i haven't needed to do that before

lucid iron
#

oh actually u missed an arg

urban patrol
#

well the warp doesn't happen :P

#

for which?

lucid iron
#

mushymato.MMAP_UpdateMapOverride Here + {{ModId}}_Door1Override

urban patrol
#

ahhh ok let me fix

lucid iron
#

oh u mean the WrpHere doesn't work?

urban patrol
#

correct

#

[SpaceCore] Trigger action handwrittenhello.dbda_DungeonDoors1 failed: required index 4 (string toPoint > y) has value 'true', which can't be parsed as an integer

lucid iron
#

oh yea why did i write it like this lol

#

i made the trigger action require 2 more args for origin point but that defeats the purpose kyuuchan_run

urban patrol
#

silly chu

lucid iron
#

didnt test this one either /lh

urban patrol
#

that's what i'm here for

lucid iron
#

truly this is fuck-around-and-find-out driven development

shut edge
#

isn't all dev

urban patrol
#

the worst part is i can't even test quickly for you because sc dungeon requires game restart + new save every time

lucid iron
#

if it still no work then it'll have to wait for tmr cus i actually eep right after this 1 thing

#

Ah shoulda mentioned it's misc files alas

hard fern
#

oh. inverted baby.

lucid iron
#

the ybab

urban patrol
#

pffft i was going too fast and it mayyy have worked? i can't seem to recreate it with the other two but i'll test more. in regards to the warp, it dumps me at the dungeon spawn-in point

#

i clipped thru walls and may have accidentally stepped on it

hard fern
#

is that a haunted apartment?

lucid iron
#

Hm sounds like some nonsense with points that I'm not handling correctly

urban patrol
lucid iron
#

Just use the betas one tbh

urban patrol
lucid iron
#

Oh actually

urban patrol
#

since it makes me define where to spawn

lucid iron
#

Maybe try false?

urban patrol
#

oh hm ok

lucid iron
#

False on arg 3, the mode that skips fade to black

urban patrol
#

WAIT i'm stupid i had commented out yours, uncommented out BETAS

#

so it's betas that doesn't work

#

let me reverse that

lucid iron
#

Oh i mean i think the mode that does the fade would work the same way

#

Only the no fade to black mode might make difference

urban patrol
#

no i mean literally i wasn't testing yours 🙃

lucid iron
#

Yeah and i was saying me and button probably both just call Game1.warpFarmer

urban patrol
#

oh i see

lucid iron
#

For the fade to black case

#

I made no fade to black bc it doesn't proc smapi warp events

#

Lets me go upstairs in kisaa farmhouse seemlessly

lucid mulch
#

one day I should go back to my Debugger mod, but I simply struggle with it as I don't actually make content packs myself

lucid iron
#

What's ur 2027 projects list sinz

lucid mulch
#

well I've stopped playing osrs until further notice, so its just a case of motivation to do so instead of playing the backlog of singleplayer games

lucid iron
lucid mulch
#

Debugger could automatically generate those red comments

urban patrol
#

it did take me moving to trigger the touch action but i'm more than ok with that

lucid iron
#

You can probably use BETAS delay action for that

#

Like just queue up the map thing for 100ms after

urban patrol
#

100 ms after touching it?

lucid mulch
#

Debugger is allowed to have semantic knowledge of assets and apply more semantic rules on them, and throwing a parser at it is possible.

though 1.6.16/1.7 only adds EventValidator metadata, not GSQ/Action

lucid iron
#

Does mean ppl might go zoom and mess up the room tho hrm

lucid iron
urban patrol
#

but it has to be on touch action for the relative points

lucid iron
#

Well it's known that

  1. No fade to black warp is essentially instant
  2. Farmer gonna be on the right tile after warp
  3. Trigger action version of map override is relative to farmer
#

Hm actually since the position of farmer already changed...

#

It might even just work™ with no delay?

shut edge
#

that looks cool

lucid iron
#

I dunno u can fiddle with it

urban patrol
#

ye you go sleep

#

i think this will work for now and people can just Deal TM. nobody touches a door and then just sits there in blackness forever, they'll move eventually

lucid iron
#

Do u actually have to move off the tile then back

urban patrol
#

no not back, just move at all

lucid iron
#

That's probably fine then

urban patrol
#

i think. the other 2 aren't working so i just have one data point lmao

urban patrol
lucid mulch
#

Debugger shows its info directly in vscode

urban patrol
#

👀 i'd consider switching for that

shut edge
#

man i can't seemt o track down this error

lucid mulch
#

been quite awhile since I've last worked on it it seems

urban patrol
#

oh sick it parses tokens?

lucid mulch
#

it technically doesn't parse anything, its exposing the runtime CP diagnostics back to the editor

urban patrol
#

still really handy to be able to quickly see their value

shut edge
#

hmm this problem persists if PIF is disabled even

lucid mulch
#

the debugger mod also has a schedule visualizer in it too

shut edge
#

so wtf is up with my building

#

that's cool lookin

urban patrol
# lucid mulch

oh my god if i don't have to spend 4 irl hours following these assholes around...

lucid mulch
#

I don't think I simulate void warping correctly, but that schedule visualizer code is ancient, it was a miracle how little changes it needed for 1.6 compat

shut edge
#

anyone see why my building doors would just error out from this?

lucid mulch
#

define error out

#

and im assuming all the buildings have the issue?

shut edge
#

these new ones i'm making all do it, yeah

#

none of my previous mods have ever done this

lucid mulch
#

what is the Warp map property in PIF/fishfactoryT0, PIF/fishfactoryT1 and PIF/fishfactoryT2

shut edge
#

where would i check that

lucid mulch
#

in their tmx files

#

a building interior needs a warp to leave the building to know where to put them into the building

shut edge
#

oh yknow that might be it

#

good call

#

i probably need to just clone the maps and change those to the usual farm data

#

cuz they are currently going to the PIF doors

lucid mulch
#

taking a brief look I believe its blowing up on this line

Game1.warpFarmer(interior.NameOrUniqueName, interior.warps[0].X, interior.warps[0].Y - 1, Game1.player.FacingDirection, isStructure);

where interior.warps is empty, so its trying to access a warp that doesn't exist and raises an ArgumentOutOfRangeException as a result

shut edge
#

makes sense

#

ok yeah you were correct, thank you

#

...now if i could remember how to change the spot you spawn in to aaa

#

that also seems like something i've not had to actually set before, hmm

shut edge
#

ok there's that. now i just need to actually make it so i can build in these things, lol

shut edge
#

hm was there really no other way than PIF to do building in indoor maps

#

...and now one of my exits is instant warping to bed??

#

maybe i'm too tired for this

tame burrow
blissful panther
deep cypress
#

The Horse: 1 wide right and left, 2 wide up and down. Is there a gameplay reason for this? Like, preventing trapping?

fossil osprey
#

No, it's just janky horse iirc

lucid iron
#

Arguably balance cus horse faster?

lucid iron
next plaza
blissful panther
#

My poor cow!

next plaza
#

vanishes when I'm needed the most

deep cypress
lucid iron
blissful panther
#

It was a sort of... tile interaction that gives you an item with a customisable cooldown.

#

Only reason it didn't get put into MEEP is because I didn't have time to come up with a nice... clean more feature-global cooldown type system. It felt wrong having a feature that relied on something like that without also making it something a future system could use.

lucid iron
# deep cypress Sure! Let me see what's going on!

The postfix there used to be a prefix and I patch it for compat reasons in have more kids, easier if i can use same patches for both
The mermaid pendant thing you have a PR for i think? It's somewhere inside the NPC try receive object patch

lucid iron
deep cypress
#

Utility_pickPersonalFarmEvent_Postfix This one, right?

lucid iron
#

Yep it's what i linked earlier

blissful panther
lucid iron
#

Yeah u can just incrementstat whatever you want

#

And when u incrementstat -1 down to 0 it automatically goes away

calm nebula
#

may I point out conversation topics are the general cooldown system teh game uses

#

I may point it out

#

it will, as usual, be ignored

lucid iron
calm nebula
#

emoji are annoying on PC

lucid iron
#

Same way i try not to acknowledge blank events used to be the mail sender AnnelieStare

calm nebula
#

eh, the entire game is like that

#

from "the dialogue box is blinking bat eyes" to "single pixel in the moon used for the drinking animation"

#

mailflags vs NetWorldState...

tiny zealot
lucid iron
tiny zealot
ocean wave
#

is the slime sprites 16x16 i cant tell

calm nebula
#

haven

#

stats been a thing since 1.5

ocean wave
#

is that to me

tiny zealot
#

or perhaps it wasn't a thing you could extend? like maybe there were just the n hardcoded stats

#

anyway the point is converting my thing to a stat is on the ol' todo list

calm nebula
#

Stats were weird

#

There was a giant class with properties but at the very end there was a string, uint dictionary you could use

vernal crest
# ocean wave is the slime sprites 16x16 i cant tell

No they are 16x24. You can check this sort of thing by opening the files in your art program and drawing a grid from the top left that encompasses the whole of one frame without containing any other frames, like this

lucid iron
#

Game was always counting up monster kills with stats pretty sure

calm nebula
#

Tbh their sync is also pretty weird

ocean wave
#

tyy! im using procreate so it doesnt show automaticly

calm nebula
#

So I dont blame you for not using them

vernal crest
deep cypress
#

Working on it, I see the pull request is like two years old… i am sorry indeed!!!!!!!!! Also, my kid stole my computer, so this is going to take a while. But to summarize: i need to change the prefix into a post fix, is the only on the first? And for the second, implement the pull request for item 460? (It’s a patch in my life right now, sorry for the fog brain, but i just want to ensure I am doing what is needed!) 🙂

lucid iron
#

The PR u can just press merge on i think? If no particular conflicts

tiny zealot
#

when you make it through so much of your crimes mod without harmony but it turns out that you probably need a transpiler on a terrible function SDVpufferflat

#

i don't mind patches or transpilers in general but it's nice to avoid, especially for a thing that's chiefly about adding event commands, which is generally not a crime zone

gray bear
#

everything is a crime when you do it! /lh

tiny zealot
#

i have an alternative, which is copy-paste reimplement the terrible function. i'm not sure which one i like less /lh

gray bear
#

which one would get you more time behind bars?

tiny zealot
#

unclear. for now i'm doing reimplement, since i'm irrationally attached to not having smapi warn people that this mod is dangerous

gray bear
#

the danger isn't the mod, it's the author /j

#

wait does smapi warn about harmony mods

tiny zealot
#

honestly, it's probably a benefit that reimplementing this one dodges anybody else's harmony patches on it, since i sort of need it to work how it does in vanilla

#

yeah it says "these mods change the game code and are more likely to be unstable and cause problems" and lists all the mods that have harmony enabled

gray bear
#

ohh so that's what that warning means

#

i mean i have a bunch of those and i care not usually

tiny zealot
#

the warning is true, but i assume every mod user doesn't even see it due to alarm fatigue at this point, since nearly everyone uses such a mod (e.g. spacecore), so i don't think it's useful

gray bear
#

spacecore has never hurt me

tiny zealot
#

i do not use it, but i picked what i assume is the most widely-used mod with harmony enabled

vernal crest
#

And then you get the users who see the warning and take nothing from it but "this mod is dangerous and will break your game!" so then they blame every single mod error on SpaceCore SDVpufferpensive

tiny zealot
#

also that ^

iron ridge
#

or the people who say spacecore has been useless for the last 19 months

gray bear
#

why must users

lucid iron
#

Across all of them

merry river
#

i dont understand enough about harmony to join the conversation in a meaningful way but i gotta love how sometimes harmony mods cause the game to fail until i remove one of them and add it back, sometimes with another. i do not understand what is going on. i am afraid to ask

tiny zealot
#

oh, nobody understands that one

lucid iron
#

!harmonybug

tiny zealot
#

sometimes if you do too much harmony the library goes "aw shit" and you get an AVE and it's not consistent

lucid iron
#

Where

#

Yeah sometimes i fix that just by recompiling the mod in release mode and im ??? about it

tiny zealot
#

usually just rebooting fixes it. or swapping mods in and out

merry river
#

the first time i encountered that error i panicked and thought i had broken(????) my game fr SDVpufferweary

tiny zealot
#

i have never hit it myself but i think i am usually way under the threshold (chronic few-mods user)

merry river
vernal crest
#

I just restart the game with no changes and that usually fixes it for me

merry river
#

i encountered it twice, restarting never helped so i had to swap out mods. harmony go brrr

lucid iron
vernal crest
#

I am lucky to have never needed to remove a mod even though I've had AVEs dozens of times

low marlin
#

Are HMK compatible with custom farmhouse maps like Aimon’s - Unlike LittleNPCs?

lucid iron
#

Why is littleNPC not compatible?

low marlin
#

Some users said if they use a farmhouse map like Aimon’s farmhouses, the child NPCs won’t be able to make their way out or something

lucid iron
#

Hm well i guess hmk would be compatible

#

The NPC version never enters your farm

#

If you see kid in farm or house then it's the real Child

#

I have seen the Child get stuck on trying to get out of house but it's a purely visual thing, NPC will be outside even if that doesn't work

low marlin
#

What do you mean in that case?

summer spoke
#

Is there a website that lists out the sprite's names or something? I'm trying to get Vincent to sleep, but I think I'm missing something.

lucid iron
#

hmk actually manages 2 entities that are your kid

  • the Child that runs around really fast in your house and farm
  • the kid NPC, who is a normal NPC in all regards except for where their character data comes from
#

Going outside actually means Child becomes hidden, kid NPC becomes visible

summer spoke
#

Or should I change NPCs to another one if that's what I'm going for?

lucid iron
#

If a Child fails to make it to the door in 10mins then HMK gives up on that and directly skips to toggling the visibility state

#

So there's no case where they'd be stuck at the door

ocean wave
#

where would i find mob drops,,

lucid iron
#

I imagine all this complexity explodes with quicksave/save midday mods tho

brittle pasture
# ocean wave where would i find mob drops,,

depends™; most drops are in Data/Monsters, but stuff like monster-agnostic drops and slime color drops are hardcoded, and any monsters spawned by FTM have drops defined in the relevant FTM pack

#

what's the context

ocean wave
#

TheVoices wanted to dumbify the slime dop texture

brittle pasture
#

the what

ocean wave
#

slime drops*

brittle pasture
#

I was assuming drops = actual loot drop

ocean wave
#

yea

brittle pasture
#

Maps/springobjects then if you're talking graphics

iron ridge
#

how would one go about manipulating the rgb values of drawn pixels?

lucid iron
#

Do u have to do individual pixels

#

I think this is usually a shader problem

calm nebula
#

Mathy mathy

ocean wave
#

im guessing its 12x12?

calm nebula
#

Or more mathy mathy

#

Or convolution math

brittle pasture
#

all object sprites are 16x16

#

set your editor's grid to that size and edit the coordinates of the object you want

ocean wave
#

i meant 16, mb

#

am looking at a video that was 12 mins

pale river
#

Jodi checks on him at 1am and he's not sleeping 😭

tiny zealot
#

i started getting baffling CIL invalid program and Bad IL Range exceptions from my normal C# code and i thought i fucked something up real bad but it turned out it was hot reload problems

#

sometimes a cold reload is the ticket 😌

ocean wave
#

arruu if i want to many edit images for code, how would one do that? im getting red lines when trying

fossil osprey
#

You forgot some comas

ocean wave
#

even then though

fossil osprey
#

And then, I think you can just fuse both Changes array?

#

I mean, it's an array, so you can put more than one dict inside

ocean wave
#

wdym,,

fossil osprey
#

Instead of

Changes: [
    {
        props
    }
],
Changes: [
    {
        props
    }
]

Do

Changes: [
    {
        props
    },
    {
        props
    }
]
ocean wave
#

OHHH

#

okay tyy

#

btw would it be charchters/monsters/igslime?

fading walrus
ocean wave
fossil osprey
#

if that's where it is, then yes

fading walrus
ocean sailBOT
#

Follow this guide to unpack the game's content files in order to see and explore how the game data is structured.
It's helpful when making your own mods, or just to learn about how the game works!

ocean wave
#

i have it up- i didnt know if it should e jsut chacters or monsters too

heavy pewter
#

How much overhead does state monitoring actually does when using UpdateTicked? Im checking if this boolean field is true before executing the logic

lusty halo
#

Some shenanigans are happening with the new CP Mask code. It is most certainly my fault, as the original woodpile texture should be fully hidden, according to the update, so I probably fumbled with the code somewhere. Ah well, back to coding...

tiny zealot
lusty halo
# calm nebula Can see code?

{ "Action": "EditImage", "Target": "Maps/townInterior", "FromFile": "assets/Accents/Accents_Mask.png", "FromArea": { "X": 0, "Y": 0, "Width": 512, "Height": 1088 }, "ToArea": { "X": 0, "Y": 0, "Width": 512, "Height": 1088 }, "When": {"UseMod": "True", "Farmhouse Accents Changes": "True", "LocationName": "Cellar"}, "Update": "OnLocationChange", "Patchmode": "Mask", }, { "Action": "EditImage", "Target": "Maps/townInterior", "FromFile": "assets/Accents/{{Cellar_Beams_Color}}.png", "FromArea": { "X": 0, "Y": 0, "Width": 512, "Height": 1088 }, "ToArea": { "X": 0, "Y": 0, "Width": 512, "Height": 1088 }, "When": {"UseMod": "True", "Farmhouse Accents Changes": "True", "LocationName": "Cellar"}, "Update": "OnLocationChange", "Patchmode": "Overlay", },

#

uh. looks weird sorry I forgot how to put code in here

tiny zealot
#

i tend to avoid updateticked unless i really need to do something every frame

lusty halo
#

it's basically what the example says to do in the patch notes but I often fail at reading code since English is my second language

#

ah heck I forgot, there's two layers, the one with the woodpile and caskets is after the layer for the floor.

#

so there's another mask and overlay sprite -under- the woodpile sprite, basically. not sure f it's relevant

#

I haven't split all the layers so they aren't supposed to be all the same color I'm basically testing the code before I do all that work

calm nebula
#

No that feels like it should be right

#

Is 512/1088 the full texture

tame burrow
lusty halo
#

yeah it was the easiest way to test the code

tiny zealot
#

(NPC shenanigans) how do the vanilla NPCs with no beach outfit entry in their Appearance data actually change into their beach outfits?
i'm doing some time wizardry and NPCs can get warped to ginger island (following their schedule), but they don't change into their swimsuits and calling ChooseAppearance() has no effect. any idea how i should tell them to change?

lusty halo
#

I will try to have these sprites in a separate smaller sheet later

calm nebula
calm nebula
lusty halo
# calm nebula (BTW, I dont think your doing anything wrong, I'm just remembering what the code...

so it turns out that the Mask covering sprites around the map borders (aka that 'spills over' to the black zone around a map ) need to be almost invisible- I put it to 1% opacity- or they show random textures, whereas the Mask that cover the insde of a map (like the woodpile and barrels -i remembered the right name- need to be fully visible -100% no opacity. For some reason. Anyway now it seems to be working?

gaunt orbit
patent lanceBOT
#

sorry to clarify how accurate do you need that reminder to be? (#7029650) (6d | <t:1768845252>)

calm nebula
#

Thanks, botto

lusty halo
#

see the floor spilling over, the Mask for that is 100% fully visible. If I out it to 1% it doesn't show up.

calm nebula
#

(The reason why I asked? Full width textures have a fast path.)

lusty halo
#

Ooooh coding shenanigans I will never understand but will always fully appreciate the work put into them to, well, work. It's fine and it's not urgent at all, it still works fine with a workaround so it's no problem even if it can't be adjusted. 😄

ocean wave
lusty halo
#

Forr the full width textures, I need to use it since the townInterior spritesheet has the textures all over the place, for the beams and floor for the farmhouse and cellar, so the new mask thing is perfect to save space and loading time since I don't have to write 20 separate codes anymore, so I don't mind if I have to adjust the opacity in weird ways for each layer so long as it still works. 😄

ocean wave
#

arruu with content patcher, is there a way to add a face to big slimes without c#?

calm nebula
#

No, what you want should work!

ocean wave
#

is that to me,,

lusty halo
#

If there's a spritesheet for big slimes you can do an overlay and add the smile on them with Content Patcher

ocean wave
#

i wanted to use the same expressions like the smaller slimes

lusty halo
#

It should be possible but I don't know where the big slime images are located in the game files so I can't check myself, but again, if they exist, they should be able to be edited. People edit the game monsters and slimes all the time

ocean wave
#

hey do have a sprite ! i made a custom texture but it looks so wonky without face

#

they*

lusty halo
#

You need to find out where the images for the big slimes are located in the game file, and edit them in your art program of choice to add the face to it.

ocean wave
#

would i do it on the side like the other slimes?

#

is the file

lusty halo
#

!ContentPatcher

ocean wave
#

i would draw it ON the slimes correct?

#

i know how to use content patcher, im just confused on how to add the face arruu

lusty halo
#

Copy the slimes, draw the face on them on a separate layer so you are sure they are positioned right, then delete the slime layer and keep the face one, then use CP to overlay the in-game slime sprite.

#

I cannot tell you how it would look like but that's how I would do it

ocean wave
#

im asking abt if i can do different expressions like the small slimes do

lusty halo
#

ah my English comprehension fails me once again

ocean wave
#

idk why its not showing that well but small slimes have different expressions. im asking if i can add that

lusty halo
#

My deepest apologizes. I have no idea if you can add different expressions that changes dynamically like the smaller slimes, at most you can add a "random" code so it is a different one each time you encounter them but that's all I can say about it, I'll leave the rest to actual coders. Sorry for wasting your time.

ocean wave
#

nono im sorry for wasting your time!! D:

lusty halo
#

it's not a waste, if I can help with something -and- I have the time to do it, I speak up, today I couldn't but it happens, don't worry about it. I hope you'll work it out eventually! 😄

ocean wave
#

cause liek you can see how it looks off

hard fern
#

If the big slimes have no expression, then i doubt you can give them one in the same manner as the small slimes

ocean wave
calm nebula
#

Possibly with spacecore texture overrides

verbal narwhal
lilac scaffold
#

Morning all. I recently updated my mod to use ItemQueryResolver.TryResolve(fruit, queryContext, logError: (query, msg) => monitor?.Log($"Failed to parse Fruit Tree item query '{query}': {msg}", LogLevel.Warn));, however I'm receiving some reports that players are now seeing this error from the game Failed parsing condition 'LOCATION_IS_OUTDOORS Target': no location found matching 'Target'. I assume it is because I'm trying to do this resolve at start instead of while in game. Is there anyway to suppress this error or change my TryResolve call to ignore whatever conditional parsing is happening?

brittle pasture
#

is there any particular reason to go that route, or is it a legacy thing from 1.5

#

because I recommend tearing all that out and just call FruitTree.fruit

#

same with wild trees and etc.

#

to answer your question, the error happens because mod authors can add conditions to fruit tree produce, one of which is whether the tree is outdoors or indoors, and if you're preemptively calculating that the moment the asset is ready (which will happen before a save is loaded) you won't get that data

lilac scaffold
#

The caching is done because I allow players to have config toggles for everything that could be foraged

#

And I'm trying my best to parse everything at launch time to allow for config with GMCM at title screen

brittle pasture
#

like you have config values for every possible fruit that could be produced?

lilac scaffold
#

yes

uncut viper
#

you'll never be able to guarantee a complete knowledge of what is forageable at launch

lilac scaffold
#

how do you mean?

uncut viper
#

the data can change at any time during gameplay

#

including adding new data that previously did not exist

lilac scaffold
#

Sure, that's fine. Any content files that are relevant I have watchers on. I'm tryign to get as much as I can at launch.

brittle pasture
#

though, hmm, if you're just calling TryResolve it shouldnt care about Condition, unless the mod author set PerItemCondition

lilac scaffold
#

¯_(ツ)_/¯

brittle pasture
#

do you know which mod caused the error? setting PerItemCondition to LOCATION_IS_OUTDOORS is probably an inadvisable pattern
but worse comes to worst you can extract just the ItemId and RandomItemId fields and TryResolve those, if you only care about what possible items a fruit tree can make for the purpose of forming a config

lilac scaffold
#

The one I got a report on is Visit Mount Vapius

brittle pasture
#

oh wait no it's not (just) from PerItemCondition

#

forgor about stack modifiers

#

but yeah what i said

lilac scaffold
#

Yeah I think for the trees that probably the best bet. I'll work on that change.

Thanks for the insights

brittle pasture
#

you can look at the source for TryResolve (item query version) and see how it calls the TryResolve (string version)

autumn tide
#

hm, should folder names in a mod (other than the main on that you plop into the Mods folder ofc) avoid using spaces, or just filenames?

autumn tide
#

thanks!

gaunt orbit
#

I think it's fine in file names too? but I would avoid it for asset names or ids

calm nebula
#

It's probably fine for both asset names and file names but I would personally avoid it

gaunt orbit
#

well asset names and ids I mention specifically because some things are still space-separated in stardew and having spaces makes it impossible to reference something in those contexts

uncut viper
#

yeah definitely do not do it in asset names

gaunt orbit
#

this has bitten me more than once with audio cues

#

(a few of the vanilla ones have spaces in the name)

pale river
#

am I doing the dependencies correctly?

brittle pasture
#

missing comma between the two blocks (note the red squiggles)

ornate trellis
pale river
gaunt orbit
#

it's gotta be that. I ran a regex and all the files have a json extension

uncut viper
#

(my search was even easier: find and replace ".json," -> ".json,\n", look for an odd line out SDVpuffersquee)

pale river
#

SDVpufferflatbread I looked through it manually...

ornate trellis
#

damn shinji

#

i was so focused on the filepath ending

pale river
#

if I want to test a mod without having the asset yet, how do I do that?

ornate trellis
#

hell yeah its fixed and everyone spawns in now, but i think this is time for a break

calm nebula
#

Smiley face?

#

Scribbles?

pale river
# calm nebula Bright magenta png?

good idea SDVpufferthumbsup , but im going to see if randomly picking a sprite index out of the default tilesheet does anything. I don't understand sprite index or tilesheet size

#

😭 it's just a lil mouse

#

is there a wiki section on tileactions?

hard fern
#

for example, in a 64x64 sized canvas (which is the tilesheet size) if i had my cursor on the very top left box, that is sprite index 0, because all of them start from 0 at the top left, and go left -> right and then down to the next row's left -> right

pale river
shut edge
#

is there an obvious way to make a building that can have buildings made inside it i am forgetting?

hard fern
shut edge
#

feels like i have definately seen that done before but all i can think of is PIF

#

that could work in theory, yeah

#

i just keep seeing all these map property options and i'm like....why are these not doing this fairly obvious thing

#

like there's CanBuildHere

#

but that has to be outdoors

#

and setting things to count as outdoors doesn't work?

hard fern
#

SDVpufferflat sigh

#

i guess not

#

oh

#

maybe it is possible

#

i know there's some additional farms magic

#

that lets you choose where to place buildings at robin's

shut edge
#

yeah

#

maybe some form of making it count as a farm works, unsure

hard fern
#

if you were able to make the interior of a building into an additional farm maybe it might work?

shut edge
#

there is also "IndoorMapType": "StardewValley.Shed",

#

so i dunno if that like overrides stuff or what

#

allegedly that field is optional tho hmm

#

maybe i'll go eat first before attempting brain usage

#

a last ditch option might just be to make a building without a door that you can slap a PIF door onto i suppose? lol

dusk mulch
#

just noticed that the letter where robin offers to upgrade your house doesn't have a title

autumn tide
#

huh

dusk mulch
#

unless its an SDE thing

shut edge
#

yknow a mod that would be nice is something to color code or categorize mail

autumn tide
#

the CP modders lie in wait, hoping their scope creep trap may ensnare a stray C# modder..

shut edge
#

lol

urban patrol
#

mail data hasn't even been dehardcoded yet nor is it on the 1.6.16/1.7 migration guides :(

shut edge
#

ah, boo

#

i was already starting to think of how to do the graphics lol

urban patrol
#

i mean i can think of a theoretical way i (not a csharper) would do it (maybe something like context tags) but i have absolutely no idea of how to implement it

shut edge
#

i'm surprised mail is still that locked down considering how much it's used

#

CanBuildHere T
(valid in any outdoor location)

#

Outdoors T²
(valid in any location)

urban patrol
#

i think it's sort of an iceberg situation where we don't even know the beast that lurks beneath (mail flags, for example)

shut edge
#

you'd think this would do what i want

brittle pasture
#

oh yeah i don't think you can build in instanced locations

shut edge
#

hmm

#

would "NonInstancedIndoorLocation": help?

calm nebula
#

There is a c# mod that allows you

brittle pasture
#

then every building will open into the same map

#

i also do recall some mod that changes that but i'll be darned if i rember

shut edge
calm nebula
#

Nope

shut edge
#

yeah this seems like a problem that's likely to have been solved by now right?

#

like PIF does all this stuff kinda

#

just not in the context of a buildable building

#

how 2 build buildings in my buildable building

brittle pasture
#

one of the screenshot shows a slime hutch inside a coop

shut edge
#

interesting

#

Jukebox still won’t work in the rain.

#

lol, odd

uncut viper
urban patrol
#

i misspoke, yeah data model is what i meant

#

still a string :(

brave fable
#

it's fine, jukebox usually doesn't work 🥪

shut edge
#

[game] Location fishfactoryT0buildingd8aff6bc-4155-496c-a6e1-36f8b1a26e8a has the CanBuildHere map property set, but its AlwaysActive option is disabled, so building is disabled here.

#

oh, that's interesting

#
      "MapPath": "Maps/PIF/fishfactoryT1",
      "Type": "StardewValley.Locations.DecoratableLocation",
      "AlwaysActive": true```
#

so the PIF version has this

#

but the building version doesn't have location data

brittle pasture
#

it's been established that you can't do what you want unless you scope creep a framework modder into adding it

#

or just tell ppl to use Build Anywhere idk

shut edge
#

yeah that doesnt' work because of the above, unfortunately

#

like i'm testing stuff and i can build in like, the farm cave, but not my new buildings

brittle pasture
#

because the farm cave is not instanced

#

what you can do as a workaround in the mean time is having your building's interior be non-instanced, albeit with a build limit of 1, and maybe a couple clones in the building/location data if you want your users to build multiple

shut edge
#

build limit would be ok i think

uncut viper
#

you also don't really want to make locations always active willy nilly

#

it does come with a cost, it's not a free solution

#

unless you care 0% about multiplayer I guess

shut edge
#

like performance?

uncut viper
#

yes, and in this case especially network performance

shut edge
#

oh hey PIF doors can indeed be placed on their own eh

#

maybe i will just do the dumb workaround idea i had earlier then

#

good to know btw Button, thanks

#

genius or insanity, who could say

#

totally works too lol

#

feels like this maybe changes the scope tho. perhaps i should splinter the building off to it's own mod like "PIF shell buildings" or such

shut edge
#

that could be another day's project tho

#

this reminds me of that idea i had of making a "pond" barn for water animals with no exit door

ivory plume
autumn tide
#

I have no clue what that means, but YAYYYY SDVpufferparty

ivory plume
#

The main benefits are...

  • Significantly improved security:
    • It eliminates the risk of hidden malware infecting SMAPI releases.
    • The GitHub builds include attestations and SHA-256 file hashes, which allow verifying that a file (a) was compiled from the code on GitHub and (b) has not been tampered with.
  • You can download a preview of the next SMAPI release anytime, since every develop commit results in an alpha build.
  • It simplifies future planned work like signing builds to reduces Windows/macOS antivirus alerts.
  • It lays the groundwork for doing the same for mod builds.
gaunt orbit
autumn tide
#

I still don't get it but YAYY SDVpufferparty SDVpufferparty SDVpufferparty /silly

gentle rose
#

signing builds would be amazing, might finally put !macsmapi to rest

shut edge
#

anyone used spacecore's cooking recipe stuff before?

#

i see that it's an override, does that mean you need to make like a dummy vanilla recipe first?

lilac scaffold
#

Ah I see the repo on StardewModders github. very cool

tender agate
ivory plume
#

An attestation is essentially a page on GitHub which includes all the info about how the release zip was created (Git commit, workflow file, build run, file hashes, etc).

You can download SMAPI, get the file hash for the zip locally, then double-check it against the attestation. If it matches, then it's guaranteed to be exactly what it says (e.g. nobody secretly compiled it from different code, added malware, tampered with the zip, etc).

tender bloom
#

Very exciting! I am personally excited about the possibility of signing in the future

#

(Do I compile mods….nooo…maybe later?)

lucid iron
#

Would mods basically do the same kinda github cicd setup

#

I vaguely understand that u need these reference assemblies of game

#

Since u r not build against real assembly of game

ivory plume
#

Eventually yes. It's not quite possible yet without a few hacks (e.g. you need reference assemblies for SMAPI too), but that's one of the upcoming things I want to do.

lucid iron
#

I wonder if u can do this to detect incompatibility with android game ahead of testing it for reals

#

If there was an android ref assembly too

#

That if is ofc load bearing as hell

ivory plume
#

Not really. You could build the code against the Android version of the game assemblies, but you'd have false positives for anything SMAPI rewrites for compatibility.

lucid iron
#

True, ig ultimately the goal should not be 2 separate per platform builds anyhow

nimble karma
#

Question

#

I'm writing a compatibility patch (I annoyed everyone about it yesterday, lol). Now, I don't have the time to fully test and see if every single custom animal is working as it should, but I'm going to assume that since my JSON is valid and I followed their instructions the patches should work.

#

However, I noticed that despite me changing the housing of several animals they're still allowed to be placed in buildings they can't feed in. Is there any way I can guarantee that the "house" field on the other mod is ignored? Priority wouldn't help would it?

brittle pasture
#

does your mod have a false dependency on the other mods

#

that ensures your edits run after theirs (provided they're not using manual priority, which is rare)

tender agate
nimble karma
#

You mean in the manifest?

brittle pasture
#

yes

nimble karma
#

Ah, no it does not. (I'm making configs for another mod, I always wondered what the dependency false thing was about!)

#

Well, let me test what would happen if I put a mod ID as false underneath

ivory plume
# tender agate oh so attestations is for manual auditing. how would that improve security for t...

There's three layers of security here:

  1. The security that the release packager (me) applies. For example, making sure that my computer isn't infected with malware when I compile the executables. Having the builds generated by GitHub automates this, since SMAPI releases are no longer affected by the state of my computer.
  2. The security that savvy players and mod authors apply. This includes checking attestations and file hashes. The vast majority of players won't do this, but if there's a problem someone will likely notice; so it's much harder to slip malware into a release with nobody noticing, and it guarantees that it matches the code so they can review that too.
  3. The security that most players apply. This involves things like downloading from a reputable site, running an antivirus, etc. Attestations don't help with this, but having a GitHub build pipeline simplifies signing builds which will.
tender agate
#

ohhhhh, thank you, that makes a lot of sense.

nimble karma
#

Alright, I'm testing one of the compatibility patches after I updated the manifest

#

Hmm, it was still allowing me to put the animal in the coop

#

Stupid question: would putting "RequiredBuildings": "the same buildings" lock it out of the option to put it in the coop?

#

I'm wondering if it's just adding the two other buildings as optional locations to put the animal on top of the coop as opposed to excluding the coop

brittle pasture
#

RequiredBuilding is the building the farmer must have at least one copy of for the animal to be available

#

tl;dr no

#

what's your animal data look like

#

maybe one of those other mods adds extra eligible animals to the coop

lucid iron
#

I have given it some thoughts and at current time i feel tje best approach is to give you direct control over the timing of the kid question event on any children via API of some sort

#

I'm not sure what to do about the night time dialogue stuff though

nimble karma
# brittle pasture what's your animal data look like
            "Action": "EditData",
                    "Target": "Data/FarmAnimals",
                    "Fields": {
                "Fellowclown.TAE_QuillbackSkunk": {
                "House": "HamioDracny.TCLE.CP_RabbitEnclosure, HamioDracny.TCLE.CP_BigRabbitEnclosure",
                },
            },
        },
        {
            "Action": "EditData",
            "Target": "selph.ExtraAnimalConfig/AnimalExtensionData",
            "Fields": {
                "Fellowclown.TAE_QuillbackSkunk": {
                    "FeedItemId": "HamioDracny.TCLE.CP_VegetableFeed",
                    "OutsideForager": true,
                },
            },
        },
#

This is just a snippet of it, the example data I'm trying to edit is from Arcanian Exchange

#

In that mod the skunk goes in the coop, so I've been trying to figure out how to get it to be unavailable for placement there so anyone using the patch doesn't fuck themselves over

brittle pasture
#

House only accepts one value, you can't have comma-separated values, I don't actually know if that's responsible though

#

by "it still goes in the coop" do you mean new animals or existing ones

nimble karma
#

the skunk in the mod arcanian exchange goes in the coop in that mod. In this mod, which makes it so that different animals eat different things, I am trying to move it from the coop to the rabbit enclosure, since I'm trying to edit it to only eat their vegetables

brittle pasture
#

you can also run patch export Data/FarmAnimals to see the final form of the asset

#

I mean if you buy new skunks with your mod does Marnie still allow them in the Coop

nimble karma
#

Yep, that'

#

s what's got me scratching my head

#

I should clarify, I'm making patches for Hamio's The Cowboy Life Expanded mod. It's not my personal work lol

brittle pasture
#

in that case pls run the command and post the file it generates on smapi.io/json

nimble karma
#

alright

#

I'm going to change the skunk's house value to remove the second part, maybe it just couldn't read the code?

#

Hmm, interesting. It definitely isn't reading any of my patches

brittle pasture
#

try patch summary asset "Data/FarmAnimals" and post the output

nimble karma
#

hold on, I may have figured it out

#

I don't know how tf I did this, but the content file wasn't updated but everything else was when I downloaded the mod. I think I'm missing a config

#

Therefore, the mod just ignores everything I ask it to do

soft lance
#

this one right here

#

i was wondering if it was in the base game

#

thanks in advance <33

brittle pasture
#

no, I do not believe so. for future reference the wiki has a list of every animal in the base game

soft lance
#

(and i hope u have wonderful day)

brittle pasture
#

(that was also a joke SDVpuffersquee )

nimble karma
#

Note to self: the simplest answer to all of my problems is that I simply copied or downloaded something wrong

shut edge
#

woo

#

starting to get there

nimble karma
#

[Content Patcher] Error loading patch 'A Vida de Vaqueiro Expandida > Include code/Compatibily/CustomAnimalsConfigs.json > Include Compatibily/DwarvenExpansion.json': file 'Compatibily\DwarvenExpansion.json' doesn't exist..

#

I'm so confused, why is it swapping the slashes then saying my file doesn't exist

urban patrol
#

did you mean Compatibility?

nimble karma
#

No, the guy who made the mod spelled it wrong and all the code references the misspelling lol

#

He's not english native so I'll allow it

urban patrol
#

so you named your folder that too?

nimble karma
#

Yes

urban patrol
#

ok just checking lol

brittle pasture
#

are you missing code/ at the beginning

#

seeing that your second log shows it

nimble karma
#

So, Compatibily is a folder inside the code folder

#

I'm wondering if there's an issue since there's a separate "compatibily" json made by the author in the folder of the same name

urban patrol
#

filepaths need to start at the same level your manifest and content.json are at

#

is A Vida de Vaqueiro Expandida your mod?

nimble karma
#

Nope

#

Sorry, read that too literally

brittle pasture
#

your mod does not care about how other mod organizes their files

nimble karma
#

Yes, it's the mod I'm patching

brittle pasture
#

unless these are just patches you're dropping into the mod folder as is?

#

but yeah what nic said

#

all paths are relative to the root

nimble karma
#

so, just change the filepath so that it's referenced to the CP folder's manifest

urban patrol
#

did you create a mod with your own manifest and content.json in its own mod folder?

#

or are you inside the A Vida de Vaqueiro Expandida folder?

brittle pasture
#

you mentioned a manifest earlier so I assumed this was a separate mod, in which case what I said earlier applies

#

you need not be beholden to the original mod's spellings or file paths SDVpuffersquee

nimble karma
#

I am testing it now, I just changed the path so it went back to the start of the CP folder

nimble karma
brittle pasture
#

hmm is this only personal

nimble karma
#

Maybe one day I'll make something really cool! But I'm not an artist and my wife isn't a pixel art girlie yet lol

nimble karma
brittle pasture
#

then proceed, but I'd say that porting all your changes into a separate mod is not that much of a step further, and would protect your changes (even if only personal) from further updates to the OG mod 😉

#

it's ultimately your choice SDVpufferrad

nimble karma
#

Obv a thank you or something somewhere would be appreciated

urban patrol
#

honestly, you might be doing them a favor by publishing your compat patches between mods as your own mod lol! but yes up to you for sure

nimble karma
#

You know what? You've got a point, I'll PM them

ivory plume
#

The promise: "PowerShell runs on Windows, Linux, and macOS".

In practice: SDVpufferpensive

if ($IsWindows) {
    # On Windows, mkdir creates parent directories automatically and the --parents argument isn't recognized.
    mkdir "$folderPath" > $null
}
else
{
    mkdir "$folderPath" --parents
}
shut edge
#

hmmm can i use a vanilla category for an ingredient item in a spacecore recipe override

#

just doing -5 didn't work

brittle pasture
#

you can't, have to use the category instead

shut edge
#

like as a context tag ingredient?

brittle pasture
#

yeah

#

a couple words got lost from that message

shut edge
#

ok that does work

#

thanks

#

guess i'll need to manually make a little egg (any) thing tho

uncut viper
#

(get fucked if you want to use any book in your recipe, then)

urban patrol
#

cornucopia recipes just did that i think

shut edge
#

yeah flexible cooking should make this mod i'm workin on easier to use

brittle pasture
#

sounds like a 1.6.16 ask (the book context tag)

shut edge
#

just annoying since vanilla HAS this

brittle pasture
#

yeah you do have to do it again

shut edge
#

but you can't use it in this context i don't think

uncut viper
#

i thought it had been but ive not downloaded 1.6.16 to check so i havent wanted to be the one to ask again

brittle pasture
#

it is definitely not in the (3 months old) source decomp

uncut viper
#

sounds like you get to be the one to ask again in february

urban patrol
#

does book_item not work?

uncut viper
#

sure, it works. what if i dont add it to my modded books tho

urban patrol
#

ah gotcha

brittle pasture
#

funnily enough that tag still gets a couple special checks in the code even though its presence is not enforced

shut edge
#

maybe i'll just set this to standard egg and the flexible can take the wheel from there

uncut viper
#

only two checks though and theyre very very inconsequential

brittle pasture
#

Flexible Recipes (if you're talking about the mod from six thousand four hundred and eighty) don't magically make your recipes work

shut edge
#

no, it will just be jerky + egg

#

but if you also have that, it should become any egg

#

if i understand correctly which is always a question

brittle pasture
#

if you're doing the work anyway why gate it behind another unrelated mod SDVpufferthink

shut edge
#

the context based cooking requires doing several extra steps

#

if i just use vanilla stuff mine will work fine but also optionally be enhanced by that mod yeah?

brittle pasture
#

so you're praying that 6480 makes a compat patch for your mod?

#

it's totally fine I just wanna confirm

shut edge
#

i don't think i have to even do that

#

i am adding context based jerky via my mod

#

as flex doesn't have that since it doesn't exist outside of this mod

#

i'm just using regular egg/cheese/vinegar etc and presuming flex will make those flex, i may yet be wrong

brittle pasture
#

no, I think you're severely misunderstanding how it works

#

Flexible Cooking is another CP mod using the feature

shut edge
#

if i could just use the category in spacecore i would

brittle pasture
shut edge
#

yes

#

it adds context tags to vanilla items

brittle pasture
#

eggs are already flex

shut edge
#

i could be wrong tbh

brittle pasture
#

like the game itself already has egg (any) recipes

shut edge
#

i did attempt to just add in the flex context tags but then you get in this situation where you need it's localization as well

#

yeah it does, which you do as -5 in a recipe

brittle pasture
#

hmm yeah that's more understandable (the string thing)

shut edge
#

maybe i should just try it, sec

brittle pasture
#

though for eggs you can just use the vanilla string in StringsFromCSFiles

shut edge
#

hmm that's an idea too

brittle pasture
#

LocalizedText my beloved (SC recipes do support it)

shut edge
#

i'll look at that next

#

thank

uncut viper
#

Swap different types of cheese, cooking oils, mushrooms, and anyt

brittle pasture
#

hmm red mushroom stir fried in truffle oil

shut edge
#

ok i am indeed mistaken

#

thought flex would like intercept the vanilla cheese use for some reason, my bad

brittle pasture
#

yes, that's what I meant by Flexible Cooking being just another CP mod

shut edge
#

i guess it probably "does" that, for vanilla recipes

#

as in they did that manually

#

"CraftingRecipe.cs.572": "Egg (Any)",

#

this what i want?

brittle pasture
#

yes (in LocalizedText form)

shut edge
#

"OverrideText": "[LocalizedText CraftingRecipe.cs.572]",

#

like that?

brittle pasture
#

need the asset name

#

[LocalizedText Strings/StringsFromCSFiles:CraftingRecipe.cs.572]

shut edge
#

thank you

#

that's just the override text though, how do i make that the ingredient value, hm

#

text does work, cool

#

guess i'll look at flex's docs

brittle pasture
#

you still need the icon

#

via override texture path and rectangle

shut edge
#

yeah that is easy enough

#

it's still just accepting standard egg though

#

oh i think i see

brittle pasture
#

with category_egg?

shut edge
#

there we go

#

so yeah the missing link here was the loc strings, thank you

#

uh oh no Cheese (Any) lol

#

that's ok i'll just make one

nimble karma
#

Alright, I've gotta go to bed soon so I'm not fixing the rest of this tonight. But I have a SMAPI log that confirmed that, while my patches were indeed read, not all of them were applicable

ocean sailBOT
nimble karma
#

However, notably this isn't every patch. Mods like SVE, East Scarp, and Camelus worked just fine for some reason

brittle pasture
#

you're probably missing the false dep for a fair few of them

nimble karma
#

Oh, I have it for none yet except, ironically, one of the mods in the didn't work pile

brittle pasture
#

probably should add for all of them then
the ones not working may also be because the animal in question is disabled

nimble karma
#

Disabled?

brittle pasture
#

some mods have configs to enable certain animals

#

just guessing though

nimble karma
#

It's so weird because a bunch of the patches clearly worked

#

hmm, I'll have to sleep on this. It's still progress, but I'm a little saddened lol

shut edge
#

hmm did my jerky context tag only work with flex enabled

#

that seems wrong somehow

#

oh, lol, opposite direction problem

#

didn't tag pork jerky with jerky_item

#

ah thats' a fun wrinkle, my recipe items are also tagged jerky_item and thus can be used to cook each other

#

not sure if that's wise

nimble karma
#

Wait, replied to the wrong one

#

It was adding the extra mod configs in the manifest

brittle pasture
shut edge
#

lol

#

i suppose i could change those to like, cooked_jerky_item?

nimble karma
#

Okay, well I'll play around with that tomorrow or Thursday, when I'm not dead tired. Thank you guys for your help!

shut edge
#

is there an existing convention for "this tag means this is a finished cooked item so don't use it"

brittle pasture
#

the item being category_cooking maybe

shut edge
#

"food_seafood" exists in vanilla it seems

#

andother similar ones, ok

#

so i'll just give those food_jerky

#

yeah there we go, rad. that's my cooking stuff done

#

now i just need to actually tackle my machine outputs aaaa

#

oh wait cheese_item is still being a hassle

#

right, cuz vanilla does not actually have a cheese_item tag or category

#

so either i make it just cheese as the regular item or i edit both cheeses to have the context tag, yeah i'll just go basic cheese then

shut edge
#

" invalid flavored item type (must be one of Wine, Jelly, Pickle, Juice, Roe, AgedRoe, Honey, Bait, DriedFruit, DriedMushroom, SmokedFish)."

#

is this stuff hardcoded?

brittle pasture
#

yes

#

if you want custom flavored objects use PreserveId/price modifiers/custom display name/custom internal name

#

cornucopia artisan machines has examples

shut edge
#

ah, smart. thanks

low marlin
#

For HMK, if I want to make a custom NPC kid that:

  • Must be adopted via the adoption registry
  • Isn’t adopted from a specific NPC

What can be inferred?

sleek flint
#

I am trying to think of a name for my mods. The first one is a framework that allows you to make custom channels, and the second is a mod that adds 2 new channels, with plans to update the vanilla channels too. Can someone help me? SDVpufferthinkblob

hard fern
#

Custom TV channel framework and New TV channels

shut edge
#

i think there is a custom channels mod already with a similar name

#

not updated for awhile tho

#

so maybe a new one would be nice yeah

sleek flint
# hard fern Custom TV channel framework and New TV channels

Custom TV Channel Framework is too close to Custom Channel Framework. And New TV Channels isn't that fitting because my mod right now only adds 2 channels, but in the future, I am gonna do much more, and it's supposed to be a channel overhaul more than just more channels. Which is why I have been leaning towards something like Better TV Channels, but it seems a bit boring.

shut edge
#

Channel Surfin, Stay Tuned, something like that maybe

#

Cable Package

sleek flint
shut edge
#

hell yeah good luck

sleek flint
ornate locust
#

If you're worried about Nexus search being ass, "Cable Package - Custom TV Channel Framework" or something like that is a way to go

sleek flint
#

I don't know why I didn't think of that SDVpufferclueless

#

Thanks everyone.

shut edge
#

hmmmm how many pieces of meat should it require to make a bag of jerky

hard fern
shut edge
#

lol

#

is that why it's so expensive

#

i think i've got it set to double the edibility and quad the sell price of a single piece of the base meat

#

so maybe 2 or 3?

#

never been great at the balance part of modding

ornate locust
#

mood

urban patrol
#

yeah 2 or 3 i think

shut edge
#

looks like all vanilla dehydrator things do 5 items into 1 dried item, huh

#

wonder how the prices change

#

grapes go 80x5 (400) to raisins 600

#

shroom is 200 ->325

#

yeah i'm just gonna go with three i think

hard fern
#

Cant u just look in machine code

#

And find the multiplier

shut edge
#

i am yeah

#

"PriceModifiers": null,
"PriceModifierMode": "Stack",

#

so shrug

#

well i can always tweak that stuff later

molten helm
#

Hehehehehe

shut edge
#

item ID 666 is bacon eh

molten helm
#

why the hell is the pants spritesheet so big compared to others

hard fern
molten helm
#

is it the different colours?

#

cause its a little hard to handle this for the 3ds

#

if i had everything in white i could just tint them

urban patrol
#

no it just genuinely is that many sprites

#

shorts, pants, long skirt, short skirt, grass skirts, bathing suit, etc

molten helm
hard fern
molten helm
#

ill have to figure something out

#

i could split those into seperate files though

shut edge
#

almost modded right through missing work oops

#

thankfully was reminded early enough

heavy pewter
#

Whats the field to look for if player has unlocked the walnut room

dusk mulch
#

give me a sec

#

There are 2 mailflags you could use, "FizzIntro" is raised when the player interacts with the perfection tracker for the first time and "HasTownKey" is raised when the key to the town is bought

#

both of which are in the walnut room

#

but they don't check specifically if the player has entered the room, just if stuff in the room has been interacted with

#

i love the mod list, makes it so much easier to find mod ideas and it helps people out

brave fable
#

as for unlocked, the game really does just check if you've collected 100 or more golden walnuts

dusk mulch
#

oh yeah

#

i forgot about that lol

#

i was using ctrl+f and searching for "walnut" on the Game_State_Query wiki page

heavy pewter
brave fable
#

you can use if (IslandWest. IsQiWalnutRoomDoorUnlocked(out int actualFoundWalnutsCount)) { ... }

west gyro
#

Hello, sorry to bother you again, but I tried doing exactly what you suggested — using SetProperties and setting the value to null — and unfortunately it still doesn’t work 🙁

The player can still dig on that tile. I tested it carefully.

I also tested teleportation on the same tile, and it works correctly, so the code itself is being applied and executed properly.

vernal crest
west gyro
vernal crest
west gyro
vernal crest
west gyro
#

I only have Lookup Anything installed, and I can press F1 on an item or a character to see information🤔

vernal crest
#

Then that's what will work, have you gone to the settings in GMCM and enabled tile lookup and data mining fields?

west gyro
#

Maybe I’m using a different version of Lookup Anything? 🤔🫠

#

One sec

vernal crest
#

It won't do anything until you enable those

west gyro
#

Aaaaaaa

#

i found it

vernal crest
#

So it should show in the tileproperties (I think the name is something like that) that it doesn't have Diggable anymore

#

You can compare with a tile that should be diggable to check

west gyro
#

Hopefully, I’ll be able to figure out what I’m doing wrong now. Thank you so much!
I’ll check the tiles.

west gyro
vernal crest
#

It might be worth having a look through the spring_outdoorsTileSheet to see if there are any tiles that still have the appearance you want but which don't have the diggable tile property.

#

What map is this? Is it a custom farm map?

west gyro
#

Yes
custom farm map

vernal crest
#

You can control it then. Open up your map in Tiled and have a look through your tileset to see if there are any tiles that either don't already have the diggable property or which you don't use in any other places and can therefore remove the diggable property from it.

west gyro
#

Hmm, I understand. So you can add a property to a tile, but you can’t remove it through an object. That way, on back you can have a non-diggable tile, and on back2 you can use the one you need for the visual.

Is it something like that?

vernal crest
#

That's a better idea than what I was suggesting lol. Yes, put a tile without diggable on Back and then put the one you want to see on Back2. It shouldn't allow digging because the numbered layers don't usually have any function.

west gyro
#

Thank you so much, you’ve been a huge help — I really didn’t know what to do🥹🥹🌸🥹🥹

vernal crest
#

You're very welcome! I hope that fixes things for you but if it doesn't I'm sure there are more options that someone else will be able to suggest.

calm nebula
#

Smh these used to be checked in order, @Pathoschild. Was that always undocumented behavior?

tiny zealot
devout otter
#

Can I get a pointer on how to do SMAPI's new feature of spritesheet referencing. I tried to set up a relative path to TileSheets/Craftables but I got this message: StardewModdingAPI.Framework.Exceptions.SContentLoadException: Mouse Friends in the Forest loaded map 'assets\Maps' with invalid tilesheet path 'TileSheets/Craftables.png'. The tilesheet couldn't be found relative to either the map file or the game's content folder.

vernal crest
#

It requires having ../ at the front, so ../TileSheets/Craftables

tiny zealot
#

it starts "in" Maps/, so the ../ (which means "up one directory") strips that off so you can go "into" other ones

#

(scare quotes are because the conflation of asset names and file paths is fraught with peril)

devout otter
#

Okay that works. Thank you!

devout otter
#

Can a tile property have more than one Action?

hallow igloo
#

how do I set a flag?

#

context: I want to test if my map patches work and they should be activated with a specific hasFlag

devout otter
#

You use the AddMail action, generally.

#

Through what do you want to set the flag?

hallow igloo
#

smapi preferably cause else I'll need to install another mdo first

tiny zealot
#

oh, if you're testing, run debug seenmail <your mail/flag id> in your SMAPI console to set it, then patch update to repatch whatever depends on it

hallow igloo
#

what does <your mail> mean?

#

oh wait

#

nvm

deft gazelle
#

ehi i'm trying to create a mod that allow me to plant and buy potato seed all year and to create seed maker at level 0 farming

hallow igloo
#

enjoy!

woeful lintel
#

!cp

ocean sailBOT
hallow igloo
#

check the wiki or content patcher and just read shit until you have an idea

woeful lintel
#

!startmodding is good too I guess

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.

woeful lintel
#

(you'll need the first point)

#

To give you some direction after you read some documentation: you'll need to edit the data of the potato crop and seed shop for the potato thing, and I think the seed maker thing is in the big craftable data (not sure about that)

deft gazelle
#

alr thanks

brittle pasture
#

the recipe (including unlock requirements) is in Data/CraftingRecipes, not Data/BigCraftables

ocean wave
#

where does one find this sprite? yes i have the game unpacked

hallow prism
#

some cursor for 1.6 or a similar file

tiny zealot
#

.q 6218

patent lanceBOT
#
#6218

It's not in Cursors
There's no way it's in Cursors
... it was in Cursors

ocean wave
#

TheVoices its one photo

woeful lintel
#

does indoor/outdoor NPC appearance not work? I assumed the game resolved both appearances on day start and switched between them when the NPC (or player) goes indoors/outdoors

#

but I just tested it, my patches are correct, and the NPC did not change portrait upon exiting the house

tiny zealot
#

indoor/outdoor works, i use it

woeful lintel
#

so if you first meet an NPC inside and then outside, you'll see 2 different portraits, correct?

finite ginkgo
#

Assuming they specify portraits for each appearance yes