#making-mods-general

1 messages · Page 34 of 1

brittle pasture
#

(side rant, why isn't the horse flute a tool SDVpufferwaaah )

rancid temple
#

There's a mod for that, but yeah it's pretty insane lol

tiny zealot
#

i love when there's something bonkers in the code like this. must have been a "this is the first solution/workaround i thought of, it works, moving on" situation

rough valve
#

How would I do the trigger action now?

#

(copied from wiki)

tiny zealot
rancid temple
#

It works, there should technically be very little that could happen that would interrupt the process and cause issues

lucid iron
#

theres a Spiderbuttons.BETAS_WarpFarmer action

#

did spacecore have a item used action i forget

rancid temple
#

It does

#

spacechase0.SpaceCore_OnItemUsed

#

Was trying to find it

lucid iron
#

does that fire on tool usage is the question

rancid temple
#

Totems aren't tools

rough valve
#

I am just using a cp item

rancid temple
#

Or this would be an entirely different problem lol

lucid iron
#

the return scepter in the game is a tool

rancid temple
#

Right and he could make a custom tool but that's not as simple as using an established framework to do this hacky solution

lucid iron
#

yea blobcatgooglyblep

#

for what its worth i dont think C# warp scepter is hard mod to make

rancid temple
#

If he had shown interest in creating his own C# mod, I'd be suggesting different solutions

#

Ichor said the same, looking at it I agree, but it's not the only option so we'll see how this goes

velvet narwhal
plucky reef
#
  1. Make it work.
  2. Make it work good.
  3. Make it work pretty.

Most people finish 1 and move to the next feature with the intent to come back and finish it, and we know how that goes.

brittle pasture
# rough valve How would I do the trigger action now?

You would define a trigger action firing on SpaceCore's item used trigger, check that it is your totem item in the Condition field, and have the actions be "add that totem to inventory". Then in SpaceCore's Vanilla Asset Extension data set the item's UseForTriggerAction field to true

rancid temple
#

For this MarkActionApplied would need to be false right?

#

There's not something about how the action is triggered that would circumvent that, I assume

rough valve
#

I'll see if it works first

rough valve
#

When I right click the item it adds another one but does not get used as a warp totem. Also after doing this once, a error appears in the smapi console:

rancid temple
#

Should have kicked that error the first time, you do indeed have to supply either Target or Input to that GSQ

#

I think it's just Target, but I'm not sure

calm nebula
#

On one hand, yes, expedient

#

On the other you eventually bury so many landmines it's impossible to move

#

(But the little I understand of anything, apparently everything is like this.)

#

I'm currently trying to argue SharePoint into letting me see a file lol

#

My god

#

It's been half an hour

rancid temple
#

Hm, I guess it's Input, but the warp function doesn't seem to work

rough valve
velvet narwhal
#

I can pull up my spacecore doc but uh mines a recipe and doesn't give you a new one

rancid temple
#

It seems like it can't do both things at once

#

It can either do TotemWarp or be used for a trigger action

velvet narwhal
rancid temple
#

Which kind of feels like an issue on SpaceCore's side?

#

Since both of these are in that override

velvet narwhal
#

Can the item itself have the trigger action query

#

Nvm I remembered

rancid temple
#

There's no vanilla trigger action for an item being used

#

Maybe BETAS warp trigger action would work then lol

velvet narwhal
#

Wait is it because of that markactionapplied in the apacecore

rancid temple
#

Though when you consider having two frameworks to make a single mod work, making a fucking custom tool certainly sounds better

tiny zealot
rancid temple
#

I have MarkActionApplied false, I didn't check his code yet

#

That would be why it's only duplicating the item once though

tender flicker
#

So I think I messed up with my code a lot, but have zero idea what's wrong exactly.
Frankly, I don't know which file needs fixing or anything, I'm completely clueless.

velvet narwhal
#

Triggeraction and totem warp should be fine in the same space

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.

rough valve
lucid iron
#

as the message says the (CP) test1/content.json file is not vlaid

velvet narwhal
calm nebula
#

It's okay for games because fundamentally you don't need to maintain that long term

tender flicker
#

Ah i see. I'll see what to do to fix it then. Thanks!

rancid temple
#

Yeah, these two things can't both happen

#

The code checks if it should do the OnItemUsed and returns if so, then it checks if it should do the TotemWarp and returns if so

#

So if it should do a trigger action it'll never do a warp

velvet narwhal
#

SDVpufferthink I'd bother Casey then

#

But Casey is busy

rancid temple
#

I guess in the meantime that really does only leave C#

tender flicker
#

I did fix that content.json, but map isn't even there. I can't even teleport there via debug warp YourLocationName X Y dosen't work
I've got error "[game] No location with name test1"

rancid temple
#

!json share the updated 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.

tender flicker
velvet narwhal
#

Upgrade to data/locations, customlocations is depreciated

#

Actually is it a new farm, additionalfarm* instead

rancid temple
#

It's good practice to upgrade but custom locations should still work

#

Though really, they're harder to get help with because a lot of us never used them

tender flicker
#

If it helps, I just wanted to add extra location going from my farm to there and back

rancid temple
#

Oh, you should be doing debug warp Custom_test1

velvet narwhal
#

I have some remembrance of custom locations but it's not as flexible like being able to add fishing n stuff SDVpufferthink

rancid temple
#

I think you could edit that stuff in in a separate patch block

#

It's not as nice as just adding it in all at once, plus it has naming restrictions

tender flicker
#

I think I messed up with the whole thing xD
I changed it additionalfarm and didn't work, I did with locations and same issue
And I tried to warp there with Custom_test1 name

velvet narwhal
#

Did you try to use the warp prior to changing it around?

tender flicker
#

I just now changed it back to how it was and still nothing.
I'm not sure if there's something missing that I'm not aware of

velvet narwhal
royal nimbus
#

where could we find the dialogue from the start of the game?

hollow nest
#

what all do you need for your NPC to work? like the basics? I have the manifest, content, and dialouge but the little man will not work. I get a big old pop up telling me the mod failed, though I could just be doing it wrong

velvet narwhal
#

!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:

  1. Tiakall has a great tutorial on making a custom NPC for 1.6:
    https://stardewmodding.wiki.gg/wiki/Tutorial:_Making_a_Custom_NPC

  2. Custom NPCs received many improvements with 1.6. For changes made, see the migration guide:
    https://stardewvalleywiki.com/Modding:Migrate_to_Stardew_Valley_1.6#Custom_NPCs

  3. Some information on the NPC wiki page is still relevant:
    https://stardewvalleywiki.com/Modding:NPC_data
    Just make sure you're checking the migration page and tutorial first as this page still has outdated information on it as well.

  4. Aviroen has put together a template that will allow you to easily create a romanceable NPC:
    https://stardewmodding.wiki.gg/wiki/Npc_template

lucid iron
teal bridge
#

Has anyone looked at the "key polling" code in Game1? I'm not sure if I'm reading it correctly but it seems like half the keys have different delay/repeat behavior:

  • Direction keys count DOWN from 250 initially (milliseconds, I guess) and repeat from 70
  • Gamepad and left click ("mouse click") starts at 0, initially waits UP to 650 and then resets back to 600 (so delay is 50)
  • Right-click polling seems to start at 500 and always resets back to 500 (no difference between initial delay and repeat delay)

Aside from being insane, does this sound accurate?

royal nimbus
#

do u guys kno if its okay to add copywritted things to mods? like say a character from a cartoon and such?

royal nimbus
#

like they're just mods that are free so i dont think there would be any issues?

lucid iron
#

very likely to lose the lawsuit but hopefully they dont bother to sue you lol

round dock
#

Imagine mentioning Mickey Mouse in your mod and getting bonked by Disney SDVcharfortuneteller

plucky reef
#

copyrighted music will probably get more attention than a fan adapation of someone else's IP.

finite ginkgo
#

Technically speaking, legality is pretty gray in that area; however mods are usually small and aren’t usually targeted for copyright claims (at least in the stardew community) so you don’t really have to worry

royal nimbus
#

cuz i have a rly funny idea for a grandpa mod. so like since my mod is a big goth mod, i didnt kno what to do with the grandpa so i thought id make him edgar allan's ghost from south park xD

royal nimbus
#

like im putting some mentions of some goth bands here and there too via texture art and such

lucid iron
#

there's whole ass npc mods

finite ginkgo
#

Yeah it’s like, you’re likely to be fine, but just in case be ready to have to take the mod down if the owners of the IP randomly decide to file DMCA takedowns

lucid iron
#

feat. definitely copyrighted anime character

#

if you are really concerned then keep this separate from the rest of your mod Bolb

teal bridge
royal nimbus
#

i made this plant Rogue from Crüxshadows xD

plucky reef
#

I don't think south park people would mind a grandpa mod, they'd probably think it's funny.

royal nimbus
#

yeah i figured most ppl would ;p

plucky reef
#

that said, I got written permission from the artist of a game before getting a tattoo inspired from that piece.

rancid temple
#

When it comes to stuff like that, it's not the creators of the original content you have to be worried about, it's their fun sucking lawyers

royal nimbus
#

of course yeah

#

but yeah its just a stardew mod for a small community so i doubt anyone would cry about it like that

rancid temple
#

If the Gojo mod can stay up, I doubt you have anything to worry about lmao

royal nimbus
teal bridge
#

We're again into that silly speculative territory of "ok, maybe it's not legal but will I get caught/prosecuted?" We can't predict that, either you ask for permission or you take the risk and maybe later have to take down or beg forgiveness.

royal nimbus
#

right yeah

teal bridge
#

Copyrights are also not trademarks - just having a reference to some character from some game or show (for example) doesn't mean you've done anything wrong if it's not a registered trademark. Using their art, music, etc. directly though, clearly copyright violation.

royal nimbus
#

anyways. how do we get mods to go on mods showcase?

finite ginkgo
#

Someone with the mod author role can put them in there

royal nimbus
#

how to we submit one to them?

rancid temple
#

Ask nicely

#

And hope someone who isn't otherwise occupied is willing

royal nimbus
#

alright. i will inquire more once my mod's done

lucid iron
#

yea if you have nexus link u can ask someone to post on your behalf

#

example

royal nimbus
#

right yeah but i was wondering if there was a channel or ticket or something because ik not to dm ppl that i dont kno unless its very important

lucid iron
#

its a informal thing really

finite ginkgo
#

Usually people just throw it out there asking if anyone would be willing to showcase it

lucid iron
#

and mostly bc mod author is restricted to lv25

royal nimbus
#

thor_idle i see

teal bridge
#

As long as your mod isn't something very disturbing or controversial then almost anyone with the role will showcase it for you.
(And I don't think I've ever seen a request to showcase an un-showcasable mod)

royal nimbus
#

alrighty and yeah its nothing like that xD

teal bridge
royal nimbus
#

i do have some trolly mods i want to make but even those will be tame

rancid temple
#

I think the go to is usually it gets posted in farmers and then showcased from there

#

So max visibility

#

Though I didn't bother with my most recent mod since it doesn't do anything for non-mod creators

nova gale
#

is there a similar channel/process to ask for playtesters before a mod is released out of curiosity?

#

or do folks just ask in modded-farmers for that too?

rancid temple
#

Pretty sure it's just farmers as well

teal bridge
rancid temple
#

The cyclical nature of time and conversations lol

velvet narwhal
#

Throw into the sea of modded farmers aSDVpufferfast

#

I JUST REALIZED ICHOR NAMED IT TATER TOSS

rancid temple
#

Wow lol

royal nimbus
rancid temple
#

Well often people will ask here since this is where the mod authors live

velvet narwhal
#

If it isn't tagged as adult then you're fine to throw nexus links

rancid temple
#

And then the author will go post in farmers and showcase it, since you can only showcase your own posts

royal nimbus
#

sounds good

rancid temple
#

Well, "rot" is accurate but kinda rude

velvet narwhal
#

I prefer "hide"

copper wedge
#

hey, so... how can I share my mod to possibly get some feedback?

velvet narwhal
#

Tempting to have a beta testing thread lmao

rancid temple
#

If it's a C# mod, you can make a github repo and link it there

#

If it's just CP, I believe zipping it up and sending it here is fine

copper wedge
#

I mean, the focus is CP since it's the maps mod but it does have C# to make locations work...

rancid temple
#

Ugh, I remember why I haven't even entertained the idea of making a SpaceCore PR, I can't even get this damn thing to build

copper wedge
#

spacecore was pain, took over 30 hours to make work

#

just want to know if the size is too big or too bland, too hard or anything

#

btw most of the maps are unfinished, the almost done ones are the entrance cave, the after the cave and 2 to the right

teal bridge
#

#modded-stardew is likely going to be a better bet, your typical mod authors here barely have the time or inclination to play their own mods.

copper wedge
#

fair

teal bridge
#

(I do post unreleased stuff here occasionally too, but it's more of an "early access for friends/peers or just excited that it's done" thing than expecting anyone to test or give feedback.)

rancid temple
#

One of these times I'll try to figure out why AchtuurCore is throwing red again...

copper wedge
#

just swap your screen hue until it throw greem

lucid iron
#

several big mods patch stuff in there

rancid temple
#

I wonder if I'm fucking anything up by not letting the code do this lol

copper wedge
#

well, there IS a map cut

#

tried to make it work with stuff like expanded

lucid iron
#

i'd recommend minecart or bus access instead

#

to avoid this whole thing

copper wedge
#

what mod mess with backwoods?

velvet narwhal
#

Ridgeside possibly, SVE definitely

copper wedge
#

both works with my mod

lucid iron
#

jorts and jean iirc?

royal nimbus
#

i uploaded a short vid of me reading the modded grandpa lines, can i post that in here?

lucid iron
#

im sure ur current patch is fine with your mod list, just stuff for future proofing things

copper wedge
#

I'm using the system that replace a map area with other

#

and did just a small cut there

#

So it work with ridge metal stuff and expanded area

teal bridge
rancid temple
#

I haven't noticed any issues is the problem

lucid iron
#

works on my machine™️

#

what are you hoping to do

rancid temple
#

As little as possible to make it not consume totems

teal bridge
#

It's used like... everywhere in the game. If you're not noticing any issues, I would guess it's either because you are not consistently blocking it from running, or similar code is being run in some other place.

calm nebula
#

You're probably seeing input up when you shouldn't

#

Which you know

#

Would make this piffle sad if I was still bothering to upkeep mods

#

Input up isn't used particularly often

teal bridge
#

Oh, if you are blocking it for one frame to deal with item use then that might be safer. Still probably has subtle issues, but it's only going to miss one frame.

rancid temple
#

Oh I see why it's fine

#

By giving back false here, it skips past all this other stuff and then just sets those anyways

nova gale
#

has anyone used the new revive locations in the location contexts for 1.6?

#

I'm a bit confused, because it says if I add an event called "PlayerKilled" to the area, it should play after the player is knocked out (which it does) then it will apply the lost items/gold logic (which it doesn't)

#

I considered doing the specific event action that seems to get used in the PlayerKilled event for Harvey's clinic, but the wiki seems to indicate that will initiate something with Harvey

next plaza
#

There’s an event command you have to call for item gold loss if I remember correctly

#

Don’t recall what it is, just know I needed a custom one recently for someone

hallow prism
#

there are two, one named deathhospital and the other deathmine or something

#

i use...

#

minedeath

#

yeah close enough

#

without issue in VMV so far

nova gale
#

ah ok, I didn't use that because minedeath said "pulls up the dialogue box with Harvey. " at the end

#

I'll throw it into my playerkilled event and test, danke!

hallow prism
#

wiki is made by people so sometimes it's not accurate

#

and yeah

#

it has the dialogue as, the "i lost x item and z money" whatever thing

nova gale
#

oh, which I do want

#

and I suppose it could be that prior to 1.6 it really did do something with Harvey and that changed

hallow prism
#

possibly the hospital version says something about paying for surgery? but yeah, test and see which fit

naive monolith
#

how can i replace/add more soundtracks?

brittle pasture
velvet narwhal
#

i had a picture of what hospital death does id have to dig

#

re

nova gale
rancid temple
#

Red from Achtuur is it can't find the LooseSprites/buildingPlacementTiles asset anymore, redid my unpack and sure enough it doesn't exist now

#

Interestingly, building in game still shows the placement tiles, so I'm not sure where base game is getting them

lucid iron
#

wdym i have those

rancid temple
#

In the latest 1.6.9?

lucid iron
#

hm good point brb

#

ik there's similar tiles on cursors ( MitsuYawn )

rancid temple
#

Hm, maybe it was one of those files that just finally got purged lol

lucid iron
#

sad that they didnt choose to go with the not cursor asset

brittle pasture
#

cursors consumes all

rancid temple
#

Just to avoid having everything be on cursors? lol

lucid iron
#

yep its gone F

#

is achtuur active Bolb

rancid temple
#

Looks like they updated to 1.6 but haven't been active for 3 months

#

Until 1.6.9 it was all working fine, light source changes caused an issue but that was easy enough to fix and it was also only for a debug build specific thing so didn't really matter

#

Now I gotta figure out exactly what they were doing with this spritesheet to recreate it in cursors

lucid iron
#

the 2 sprites look identical, but buildingPlacementTiles is at 4x scale

plucky reef
#

quick question, for (1.6 spoilers) ||that one walnut on the island||, is it just looking for a projectile to trigger?

hallow prism
#

it's not a 1.6 spoiler,and yes i believe so

plucky reef
#

Oh I guess I haven't played in a bit lol.

next plaza
#

Gonna make a small GMCM update to fix... this...

#

Just gonna make headings for each mod instead of prefixing the mod name on the keybind name

#

Hopefully won't break anyone's GMCM hacks

velvet narwhal
#

re:casey, totemwarp and triggeractionapplied not working for spacecore in the same command

next plaza
#

I saw rokugin put in a PR on some related functionally, I'll take a look after I do this. (Though it probably won't be released until 1.6.9 is out)

finite ginkgo
next plaza
#

Well, at that point that's that mod author's problem 😂

lucid iron
#

oh i dont recall this interface is it new?

next plaza
lucid iron
#

wow DokkanStare

#

my brain decided it's button for virtual keyboard

#

and never investigated further

finite ginkgo
#

To be fair it also took me an embarrassingly long time to even spot the button, let alone click it

next plaza
#

I should probably also fix this crash that happens if you resize the window while GMCM is open...

finite ginkgo
next plaza
#

Apparently it only happens on the individual mod page, not the mod list

#

If you do it on the mod list, the keybindings button disappears

#

Oh, because I implemented it dumbly

#

Oh it's only the keybindings menu crashing on window resize

#

Huzzah

#

Now I kinda want to do the GMCM rewrite...

#

Must resist...

velvet narwhal
#

i think focustense already transitioned out of the hack and they're the only one i recall so far... SDVpufferclueless

next plaza
#

Remind me in an hour to look into the PR

patent lanceBOT
#

sure thing, bud (#6246017) (1h | <t:1726526570>)

rancid musk
teal bridge
# next plaza Gonna make a small GMCM update to fix... this...

Nnnnnnnnnnooooooooooooooooooooooooo

Ok it's probably fine as long as it doesn't change the underlying UI code. But if it does break the RM config screen, let me know, I'd either have to update the Publicizer assembly or start the migration away a bit early.

next plaza
#

RM config screen?

teal bridge
#

Radial Menu

next plaza
#

Ah

#

I'll reinstall and check

#

(Once I'm done with this last tweak)

teal bridge
#

I am going to migrate, I just wanted to finish the 2 other mods I'm working on first (one of which is in an intense week of yak-shaving)

#

Oh wait, this just updates the Keybindings screen?

#

I didn't write any hacks for the Keybindings screen. It's probably fine unless it interacts with the other mod config pages... somehow. Or unless publicizer'ed assemblies can't handle any binary change no matter how trivial.

next plaza
#

Pretty much yeah

#

It does read the existing registrations to get all the keybindings

rancid musk
#

So. Going back to look at some old Better Crafting bugs, and I find this when investigating why some SpaceCore recipes aren't showing as crafted. ```csharp
public virtual int GetTimesCrafted(Farmer who) {
if (Cooking) {
// TODO: This
return 0;

} else if 
teal bridge
#

I think we're alright. Panic subsided. As long as the game actually still launches with both mods active and doesn't crash immediately when opening its config menu, then the rest should be OK.

rancid musk
#

I have absolutely no memory of this, lol

teal bridge
#

TODONT FTW

brittle pasture
#

TODO(name of person who left the company 5 years ago)

rancid musk
#

Alan please count the cooked recipes

teal bridge
lucid iron
next plaza
#

Other tweak for next GMCM: Conflicts are shown in red (per Nexus suggestion)

lucid iron
#

do you think gmcm should be wider

next plaza
#

Probably but that would break people's complex widgets maybe

teal bridge
#

(If you happen to feel like opening up that API in the hypothetical V2, there are a lot of us who could benefit...)

next plaza
#

So better to wait until 2.0

brave fable
#

it'd definitely break mine lol

teal bridge
#

Yes, at least a read-only view of keybindings in use.

next plaza
#

Ah, right, that makes sense

lucid iron
#

or perhaps just aligning the right side closer to middle, if its relatively easy to do

teal bridge
#

That would still break people.

#

Since custom widgets receive the right column position as their origin.

#

If they then subtract the (hardcoded, constant) column offset to draw along the full row, then they'll be out of bounds, etc.

next plaza
#

@ focustense - Radial menu works fine with these changes

#

No crash on opening it's config

teal bridge
#

Thanks for checking.

next plaza
#

Did Nexus just accept the update but not upload the file

teal bridge
#

I've noticed that Nexus is weird about caching sometimes. If you open up an incognito window to the mod page you'll see that the update (file, etc.) is there; it just refuses to show that update to you, the author, while signed in.

next plaza
#

Oh great, now it's there twice

teal bridge
#

Haha, did you upload it twice, thinking that the first update didn't take?

next plaza
#

Yepppppp

#

Today in "debug code left in builds distributed to friends"

finite ginkgo
#

Why not, let spacecore meow

velvet narwhal
#

if you type in meow to the game it meows back at you

brittle pasture
#

there was a 5 minute period where ppl who downloaded one of my mod would have their console filled with BOOM and the occasional FUCK

brave fable
#

relatable, i think my code exploded often for various reasons

teal bridge
#

Speaking of breaking things, don't update StardewUI for a day or two, lol

small path
#

complete car brianed behavior, as well as same

patent lanceBOT
calm nebula
next plaza
frail plank
#

How can you suppress the item added to inventory notification when adding an item to a player's inventory?

teal bridge
#

Harmony.

calm nebula
#

Can't you just yeet the toast instance on the same ticj

teal bridge
#

That might work too. I did it with a postfix on GetItemReceiveBehavior.

frail plank
#

Thank you!

upbeat perch
#

Think something happened here xd, duplicate sophias

calm nebula
#

But yes

#

The game does that

tepid escarp
#

Hey! I’m trying to edit the spouse dialogue and want to put in the random spouse nicknames, but I can’t do it. I’ve tried using {AffectionateSpouseWord} but it will show the dialogue I write but without the random nickname . If anyone knows how to put it in successfully that would be hugely appreciated 🙂

tiny zealot
#

where did you get {AffectionateSpouseWord} from?

#

based on what i'm seeing in the code for 1.6.8, if you want the built-in random ones like "Ducky"/"Darling", you need to use %endearment or %endearmentlower

lucid iron
#

there is some kind of SendMessage limit right

zealous drift
#

can someone help me rq, im making my first mod, its just a simple hat, idk if its in the game, or even if its in the shop, how can i find out?

brittle pasture
#

lookup anything and search for your item

#

Shift F1 by default brings up the search bar

lucid iron
#

can also look it up with cjb item spawner

brittle pasture
#

Oh yeah that too. Better than LA since you can also spawn your item in

lucid iron
ocean sailBOT
#

Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on Unix 6.10.10.1, with 2 C# mods and 0 content packs.

lucid iron
#

also gmcm's main menu icon is invisible in 1.6.9

rancid temple
#

Yeah, mentioned that one earlier

lucid iron
#

ah might be more than just npcmaplocations bolbpopcornhat

foggy torrent
#

Hey I have a question... is it possible to make cutscenes, like an anime cutscene (lets just pretend I can draw)

vernal crest
#

I don't know what an anime cutscene is but you can make events that are pretty much just watching the screen like in Emily's event or Caroline's.

lucid iron
#

i dont think there's any framework for this kind of thing bolbthinking

silver pelican
#

hawo! its my first time doing custom locations and would like to ask if theres a difference in the placement of "z_" like for example fall_ztown vs z_fall_town

vernal crest
#

Does that mean you know what an anime cutscene is, Chue?

lucid iron
#

well it's animated and a cutscene i guess

#

shrug

teal bridge
#

It's a cutscene that's drawn in anime style, I assume.

lucid iron
#

for 1 frame cg there's that map trick but to make it animated u prob want to make your own speshul event

vernal crest
lucid iron
#

like caroline's thing

vernal crest
#

You definitely do not need a framework just to make an event with animation

teal bridge
#

I mean, to put anime in Stardew would first of all require much higher res, unless it's some weird pixel art/anime hybrid.

vernal crest
#

I don't know of any size limit to temporaryAnimatedSprite

teal bridge
#

It's not going to happen with 16x16 sprites.

lucid iron
#

shenanigans kyuuchan_run

vernal crest
#

You could maybe use sprites in detail if you wanted HD art in your event, I don't know

teal bridge
#

lol, 2560x1440 temporary animated sprite. I see no problem here.

lucid iron
#

dunno if this work atm but it's one way to put video in stardew

vernal crest
#

When used in a custom map, all of my custom tilesheets are prefixed with "Aba_" so I know they're mine lol. And any vanilla tilesheets that I pull from somewhere other than maps are prefixed with "vanilla"

rancid temple
#

Unless it's seasonal, I prefix everything with z_ just so it's all together at the bottom

vernal crest
#

Just for custom tilesheets?

rancid temple
#

Yeah, I do everything in Maps, with some oddities allowed for pulling in other peoples tilesheets for testing

#

Adding my name to that might be a good idea though because a lot of other people also use z lol

vernal crest
#

I don't think I have had to actually use "z_" because my only edit to a vanilla map so far has just used the same tilesheets as were already present.

rancid temple
#

Probably primarily for vanilla edits

#

But I haven't been keeping track really

#

If I didn't have to keep things all in the same folder, I would just organize it that way, naming it is the only way to get any control of the chaos

uncut viper
#

i thought it was specifically z because its not just not coming between vanilla maps but also not coming before them, i thought

vernal crest
#

Yes, I should've been clearer about that so I edited my message thanks Button

#

I used to think you needed "z_" for every tilesheet you added to any map

uncut viper
#

SDVpufferthumbsup (im adding an after-the-fact /gen to that too bc i promise i wasnt trying to be like, nitpicky, just genuinely wondering lmao)

vernal crest
#

Well it was worth being nitpicky about anyway but I am pretty sure you're correct that the vanilla ones have to come first as well

#

I'm about to do some vanilla map editing so I might double check that just for fun

plucky reef
#

Custom map is doing alright, but is not getting snow on the ground in winter. I'm wondering if I've mutilated the tilesheets it's using too much for the map to pull fall/winter sheets.

vernal crest
#

Are you getting errors in SMAPI about it not being able to load the fall or winter tilesheets?

plucky reef
#

No.

#

Well, there is the message on save load that says "smapi fixed things in the map but we won't tell you about it here."

#

No red messages.

vernal crest
#

If you enable verbose logging it might tell you what it's doing to fix the map

plucky reef
#

Is that an option inside smapi or in the json?

#

I also made one of my spring tilesheets a tsx, don't know if that would do something.

vernal crest
#

A tsx doesn't replace a tilesheet, it's an external tileset that contains the metadata about the tilesheet itself

#

I'd recommend embedding it into the map unless you have some pressing need to keep it separate

#

And for the verbose logging thing, it's in the console I think but I forget how, hold on

#

Are you using "spring_" etc prefixes for your tilesheets?

plucky reef
#

Z_spring yeah, but because of wrong folder shenanigans it's a little messy. It's all vanilla tilesheets but I made copies of everything.

#

That's probably it actually.

vernal crest
#

Did you edit the tilesheets?

plucky reef
#

Yes, added an animation to the bathhouse fountain and made the horizontal bridge passable on the building layer, both within the tilesheet.

#

No extra art added.

old edge
#

?

#

Can anyone help with my lava logic mod?

vernal crest
ebon nimbus
#

can someone help me, i’m a noob at modding, i’m editing a mod rn where the spouse’s have out of town work days. how do i make a spouse disappear for a whole day without being able to see them leave in the morning.

wise berry
#

Might wanna check out how Elliott does it for his 14 heart event

vernal crest
#

ooh I know this one!

#

You can use a trigger action to set the NPC invisible

ebon nimbus
ebon nimbus
vernal crest
vernal crest
# ebon nimbus how do u do that omg i sound stupid

This is my code for making Hiria (my NPC) invisible for 3 days. I've got the link to the wiki trigger actions page and the link to the GSQ page (for conditions on when it should happen) up the top.

// https://stardewvalleywiki.com/Modding:Trigger_actions
// "Condition" field is optional, but when used needs GSQs: https://stardewvalleywiki.com/Modding:Game_state_queries
{
    "Changes": [
        {
            "LogName": "Add Trigger Actions",
            "Action": "EditData",
            "Target": "Data/TriggerActions",
            "Entries": {
                "{{ModID}}_SpringTramp": {
                    "Id": "{{ModID}}_SpringTramp",
                    "Trigger": "DayStarted",
                    "MarkActionApplied": false, // Keep this if you want it to happen every year
                    "Condition": "SEASON_DAY spring 18",
                    "Actions": [
                        "SetNpcInvisible Aba.Hiria 3",
                    ]
                }
            }
        }
    ]
}

However, I have been told that NPCs will still show up on world maps if you're using mods like NPC Map Locations or UI Info Suite - I haven't yet tested that myself but I thought I should let you know.

vernal crest
# ebon nimbus TYSM!! 😭🙌

Okay, I have confirmed that unfortunately NPCs do stay visible on the world map if you use the SetNpcInvisible trigger action. I don't think there's any way around that without asking the mod authors of NPC Map Locations/UI Info Suite to make changes to their mods. If it's going to bother you too much that the NPC is visible on the world map then you will have to go the route of having an NPC "warp map" that you use a 0 schedule to warp your NPC into at the start of the day, I think.

frigid hollow
#

NPC jail....

ebon nimbus
formal crown
#

(Be aware that 0 schedules may cause issues like NPC duplication though, iirc)

vernal crest
#

Oh is that why people get duplicate custom NPCs?

formal crown
#

And various other bugs but I dont remember which atm USweatDrop

near garden
#

Is this a good channel to ask if a certain mod exists or not?

formal crown
#

Depends on what kind of mod

vernal crest
#

I wonder if I can poke around in the code for the map mods and see if I can figure out a fix to PR to Pathos and Abs0rbed

near garden
#

OK so I have SVE. I have a cat tree furniture. I'm trying to place it in the kitchen in a landscape position against the left wall and it won't let me. Is there a mod that lets you flip furniture?

formal crown
#

None that I know

finite ginkgo
calm nebula
#

I believe in you!

vernal crest
#

I think your belief greatly outstrips my skill and knowledge, atra, but I appreciate the encouragement xD I will give it a go anyway because why not

#

o.O my town-square just spontaneously unmuted

frigid hollow
#

it's been migrating randomly recently it seems

velvet narwhal
finite ginkgo
#

(I mean if Casey wants to I can test this secret spacecore build of 0 schedule fixes on marriage schedules if she just gives it to me, preferably with spacecore meowing at me ;p)

#

(Casey if you're seeing this, I still do not have access to a computer and won't for a few more days at minimum, I can not actually test it rn ;p)

tepid escarp
atomic moon
#

Hey, so I'm new to modding - is there a way to use CP or another framework mod to replace the farmhouse exterior with sprites larger than what's in houses.png? Or would that need to use C#? My idea is to turn the farmhouse into a treehouse using the giant trees in Cindersap as a starting point for the sprites.

finite ginkgo
#

It'd require C# yes (unless the house is in Data/Buildings for whatever reason?)

atomic moon
#

Thanks!

final arch
#

theres a farm mod that makes the house "bigger". it is the same size but the map around it is also part of the house. you just cant move the house then or it looks horrible

#

basically like this

#

and with AT you can reskin the house (or with CP obviously) so it fits

#

but yeah stuff like moving the house around wont work obviously :p

#

wouldnt need C# tho this way

#

the farmhouse is in data/buildings 👀

vernal crest
# tepid escarp Awe no way! Thank you! I was looking at a different mod that used that in there ...

The mod that you saw using {AffectionateSpouseWord} was the Happy Birthday mod, I'm guessing. That's a token specific to that mod (so you can't use it in your own mod unless it's a content pack for Happy Birthday) and is defined using C#, but it looks to me like it mostly uses the vanilla terms of endearment anyway so what ichor suggested will hopefully give you a very similar result in a much easier way.

tepid escarp
finite ginkgo
hallow prism
#

i added a skin for farmhouse as far as i remember so should have a good part in the data model at least

finite ginkgo
#

I really hope it's fully using the data model cause that would be so exciting for potential farmhouse mods

velvet narwhal
#

oh god

#

yeah- hold on

calm nebula
#

||add an animal door||

#

Anyways, good morning, good night,

finite ginkgo
#

Someone else please do us a favor

finite ginkgo
velvet narwhal
#

i mean it has "AnimalDoor": { "X": -1, "Y": -1, "Width": 0, "Height": 0 }, SDVpufferthink

#

why did it do that to me

finite ginkgo
#

-1 -1 might be the default value (and value for none I guess?)

velvet narwhal
#

now i'm afraid of atra's favor, is that an omen or is it a plea

finite ginkgo
#

Both

velvet narwhal
#

well now i gotta try it out--

#

okay not as ominous as i thought, i didn't add a sfx to it but i'm going to assume it just lets me usurp animals inside of the farmhouse

finite ginkgo
#

Let me have chickens in my farmhouse

#

(Cute idea: Farmhouse upgrades replace one of the rooms with a little chicken pen, chicken feed and all and add a side entrance for the chicks)

nova gale
#

ok, clearly lighting isn't my thing, I just put in code to hard set the game ambient light to a specific value on every tick and it STILL changes at 8pm

frigid hollow
#

when do animals with double unique frames actually use those frames? (or was i getting unlucky)

worthy rose
#

hey guys so my lil mod is alomst done and my gf cant live without it now, so my 1 playtester says its an absolute for hitting the mines/caves. But enough self glazing, i ahve an issue where if she quickly swaps between slots, like really quickly, items can disappear

#

anyone know why or how to prevent such a thing

wicked gulch
#

Hi everyone!

vernal crest
#

Hi @ivory plume, are you accepting PRs for NPC Map Locations? I have discovered that invisible NPCs (like Elliott on his book tour) are still visible on the map but I think I have identified a pretty easy fix.

ivory plume
#

Yep, PRs are always welcome! I'm mainly focusing on Stardew Valley 1.6.9 currently so it may not happen right away, but I'll review the PR for the next mod update.

vernal crest
#

Thanks! I've never done a PR before so I apologise if I do anything silly!

ivory plume
#

No worries! If there's any issue, we can discuss or I can just fix it directly in the PR.

unique sigil
#

hi, for anyone who's ever made a custom farm cave before: do the mushroom boxes from demetrius spawn in specific tile coordinates?

rancid temple
#

Haven't made a farm cave but looking at the code, yes

#

4, 5 6, 5 8, 5
4, 7 6, 7 8, 7

unique sigil
#

ooo thanks!

plucky reef
#

is that something that can be overwritten in the json?

rancid temple
#

Nope

plucky reef
#

good to know...

iron ridge
#

what's the best way to make a target ifle for content packs? just listen for the assetrequested event?

lucid iron
#

and do an exclusive load in there yea

iron ridge
rancid temple
lucid iron
# iron ridge i mean as a c# mod
private static void OnAssetRequested(object? sender, AssetRequestedEventArgs e)
{
    if (e.Name.IsEquivalentTo("MyCustomAssetForCPMods"))
    {
        e.LoadFrom(() => new Dictionary<string, MyCustomAssetForCPMods>(), AssetLoadPriority.Exclusive);
    }
}
rancid temple
#

Load types are still part of C#

lucid iron
#

i thought u want something for cp mods to edit

iron ridge
#

ah ty

tiny zealot
#

you may also wish to handle AssetReady (all other mods have finished editing the asset after it was requested) and AssetsInvalidated (some assets, maybe including yours, were invalidated and need to be reloaded)

iron ridge
#

is it possible to give it a default value even when it's a dictionary? do I just do it in the same place I do the e.LoadFrom() on it?

lucid iron
#

yea i gave it a empty dictionary

iron ridge
#

ah so e.LoadFrom(() => this.DefaultDictionary, AssetLoadPriority.Exclusive) will give it default values and let content packs exit it?

calm nebula
#

You should always give LoadFrom a new instance

#

New, clean instance

tiny zealot
#

yeah you want a new in there

#

for secret notes i have e.g.

            if (e.Name.IsEquivalentTo(NotesAsset)) {
                e.LoadFrom(() => new Dictionary<string, SecretModNoteData>(),
                        AssetLoadPriority.Exclusive);
            }```
iron ridge
#

so where would I fill in the defaults?

brittle pasture
#

var a = new Dictionary
then fill in a

iron ridge
#

makes sense, thanks!

#

ty atra/ichor/chu/e too!

calm nebula
#

Ichor, does the docstring say something about a new instance?

#

Pillow, you can also check east scarpe, which loads a default set of data from a json file

tiny zealot
#

i thought so. i remember hearing it somewhere

calm nebula
#

I recall so too but I'm afk

tiny zealot
#

(maybe from you. memory is unreliable)

iron ridge
tiny zealot
iron ridge
#

how do I call base from a prefix? as in the base class of a class, do I just call it by name?

iron ridge
#

ah ty

calm nebula
#

There was a lib I was looking at that would let you embed IL into a method

#

....never mind I'm wrong that wouldn't work either

iron ridge
#

I assume I name BaseMethodDummy the name of the method in the base class?

frigid hollow
#

is this correct or is it not supposed to have quotes

brittle pasture
#

I think that looks fine

#

the quotes aren't needed

rancid temple
#

We need a thread for complaining about these translators, that darthharlock person uploaded a new mod page for Avi's mod and put a troll ass image on top of the same image they were getting reported for using when they didn't have permission as last time...

noble jolt
#

Been digging around in the c# files, and I'm not seeing anything that would indicate being able to move crops to a new map via the upgrade.

#

i'm not sure it can be done

rancid temple
#

You would have to copy all the info and then put it into the new map using C#

noble jolt
#

I'm not familliar enough with programming to pull that off alas.

#

I'll have to put this project on hold.

calm nebula
#

Translator woes

north plover
#

Could I get a second eye on this SMAPI log, just to make sure I'm not missing anything. I got a report that the interior of the barn and coop weren't loading for my mod, but looking at the SMAPI log, I don't even see where my mod is loaded in their game. the mod in questions is [CP] More Buildings for Cute Valley Pink, and the SMAPI log is below

https://smapi.io/log/7eae1681b717408bbde1db87d6ebfcb3

ocean sailBOT
#

Log Info: SMAPI 4.0.8 with SDV 1.6.8 build 24119 on Microsoft Windows 11 Pro, with 28 C# mods and 105 content packs.

lucid iron
#

it doesnt look like your mod is installed

north plover
#

Okay, good to know, that's what I thought, but I wanted to make sure I hadn't just missed it somehow. Thank you!

lucid mulch
# iron ridge ah so `e.LoadFrom(() => this.DefaultDictionary, AssetLoadPriority.Exclusive)` wi...

this would have caused very annoying bugs because the asset pipeline relies on always having clean references.
Take the example of the load and 1 edit in CP with a condition that is currently true, and it mutates the dictionary.
The CP condition then goes false and so CP invalidates the asset and something then loads the asset again.
The load then returns the existing reference, and so the CP changes are still present.

#

its the hard part of trying to find ways to optimise expensive loads, because it has to be a deep clone of whatever you are caching, and the deep clone half the time is just as expensive as what was being cached

teal bridge
#

SMAPI docs are also pretty clear that you shouldn't cache anything you provide to an asset loader.

distant arch
#

I'm pretty sure that PFM has no clue where to find the texture, any idea where I need to place them?

brave fable
#

(is PFM still used in sdv 1.6 at all? you may want/need to convert your mod to pure CP)

brittle pasture
#

It is still usable

#

but yeah CP can do most stuff it does

distant arch
#

1.8.0
Updating mod to be compatible with Stardew Valley 1.6

I'm using PFM for the animation

#

I have 4 different texture if the output is wood and 4 if is mushrooms

#

WoodMaker (idle)

lucid iron
#

you can do this with vanilla if you want

distant arch
#

2-3-4-5 for the wood
6-7-8-9 for mushrooms and 10 for ready, but I have no clue why it's not working anymore, even if PFM doc has changed only for (BC) id
Can it be somewhat that I need to tell to CP for work? Like json assets with ReserveExtraIndexCount?

brave fable
lucid iron
#

though i forget if u can have different sprite for different output think

distant arch
brittle pasture
brave fable
#

The cosmetic effects shown when an item is loaded into the machine (for LoadEffects), or while it's processing the item (for WorkingEffects, based on the WorkingEffectChance probability). ... These consist of a list of models with these fields:
... you can check the input item (Input</samp) or output item (Target).
so you can have a selection of different sprites assigned as animations to your machine based on each different input/output item

#

simply by editing the Data/Machines asset with your custom machine and rules!

lucid iron
wise berry
#

Basically if you want to update to 1.6, your best choice may be to convert your machine to content patcher

#

It'll be less prone to breaking in the future that way I believe

distant arch
brittle pasture
#

and also much more compatible with other mods that work with machines

lucid iron
#

is there a pfm converter actually

#

not deprecated enough to get one blobcatgooglyblep

brave fable
#

i don't see one in the converter list, no

distant arch
lucid iron
#

the wood chipper has example of animation

#

cornucopia artisan machines do as well

distant arch
#

the fan

#

and the bottom texture

#

Thanks you all for help❤️

worthy rose
brittle pasture
#

do you have a code sample?

worthy rose
#

i can send u the entire code if u want

#

but its when i spam key combos quiickly one after the other that it sometimes YEETS an item

#

into the void

brittle pasture
#

only took a cursory glance, but I don't see anything that would mutate the player inventory in your code. do they have any errors in the console?

#

if you can replicate this and send a log it could be helpful

#

!log

ocean sailBOT
#

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

Please share your SMAPI log file. To do so:

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

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

teal bridge
#

NPC pathing sure is weird. I just watched Sebastian get blocked by a clam on the beach, turn around, and walk straight across the ocean and all the way off the map.

lucid iron
#

he's free

worthy rose
lucid iron
#

does smapi's harmony have this stuff

#

i am trying to get to end of an if block by matching the start of the if block and getting the label to the end

#

thats dum actually i should just match for end directly LilyDerp

shut edge
#

anyone know if there's a tilepropery that can make something in the map be storage?

#

like just if you click it it opens as a chest you can use normally?

#

wanna make that freezer functional if i can

brittle pasture
#

no tile property for storage afaik

teal bridge
#

This pathfinding logic, ugh... does anyone know how this works? If I'm reading correctly, it seems like NPCController is only used during events and PathFindController is used everywhere else? I'm trying to find the code that handles obstructions but it's eluding me. I even see a check for nonDestructivePathing but the code around it seems to have nothing to do with that (I see nothing that would lead to the question mark emote, or pausing, or clipping, or....)

#

(re: tile property storage, you could patch in a tile action and have the action open a storage container?)

plucky reef
#

I am struggling to find the part of the code that says that swimming gives 10 stam per second. I can find swimming, isactuallyswimming, and lots of references to stamina but not that specific happening.

rancid temple
#

Farmer.updateCommon

#

You can find it by searching Stamina++

plucky reef
#

ah ++, good to know

tender bloom
#

I’m a little rusty but I know there was extended storage (some kind of framework for new chest type items)

brittle pasture
#

you'd still need to code the tile action with XS

#

actually, I think FTM supports placing indestructible objects/furnitures on maps now?

#

so you can combine XS and FTM to spawn an indestructible freezer on your map

brittle pasture
teal bridge
#

Thanks, yeah, I've found bits and pieces of it scattered freaking everywhere.

#

It's very confusing. All I know is NPCs behave very oddly when (a) their speed is manipulated and (b) they're blocked. Hoping that maybe fixing the delay intervals will fix that issue, but maybe not.

There also seems to be some equivalence of speed 2 with "stopped" which I can't grok yet.

shut edge
#

eh i will prob just skip that, don't wanna make a lot of required mods for this, just a PIF room

#

thanks tho

lucid iron
#

if you make it passable the player can put their own fridge back there

brave fable
tender bloom
shut edge
#

possibly

teal bridge
#

Grrr, why do characters just decide to sprint in the opposite direction? This is totally wack.

#

The speed is accurate. The timers are now accurate after the other patches I just did. But about half the time, characters start running in the other direction (and across the ocean or any other obstacles) after the blocked timer is up.

shut edge
#

this will prob be the full size version

teal bridge
#

I think the clipping must be because of isCharging, maybe it bypasses collision checks. But the direction makes. no. sense.

shut edge
#

maybe i'll do versions with and without or something

tiny zealot
shut edge
brittle pasture
#

is this a custom farm building? you can have preplaced bigcraftables in that case

#

you can maybe even do a conditional appearance patch for the chest

shut edge
#

it's for PIF

#

which can do...something like that i think

#

hm

brittle pasture
#

oh yeah I forgot you mentioned PIF earlier. in that case hmm idk

shut edge
#

yeah looks like you can tell it to set initial items, and enable mini fridges to be placed

#

so maaaaybe i could set a bunch of fridges there and do an appearance patch? not sure

teal bridge
#

This is Stardew's pathing without any of the mod changes. Just straight up vanilla behavior. smh.

shut edge
#

hah

#

traffic clam

teal bridge
#

Well, putting in some logging, part of the problem seems to be that there is one stray call to SetMovingRight, so even though there are many calls to SetMovingLeft afterward, they'll just keep moving right because for some bizarre reason those states are tracked separately and right has priority over left.

tender bloom
#

Oh yeah that sounds plausible

#

I feel like "yeets off screen to the right" is a common report

teal bridge
#

Unfortunately tells me nothing about why SetMovingRight happened in the first place. Some weird stuff going on with bounding boxes.

tender bloom
#

I have this theory that CA got it working well enough and then was like "this fucking code, I'm calling it a day and coming back later to fight it again" and then got absorbed in something else

teal bridge
#

I could totally see that happening.

tender bloom
#

this theory of mine is based on personal experiences 😛

teal bridge
#

What's "interesting" is that even setMovingInFacingDirection doesn't try to prevent movement in the opposite direction.

#

There aren't a lot of calls to the setMoving methods though. Aside from the facing direction, there's just the pathfind:

if (bbox.Left < targetTile.Left && bbox.Right < targetTile.Right)
{
    this.character.SetMovingRight(b: true);
}

So... either the target tile is wrong, or the bounding box is wrong.

teal bridge
#

I wonder how many things I would break if I just patch that method to do what it seems like it's logically supposed to do... maybe NPCs would go into infinite loops of flipping direction every frame.

teal bridge
#

I think I actually have an idea what's going on. The clam is almost directly north or maybe exactly north of the entrance to Willy's shop, so the NPC overshoots just slightly in order to get past the clam, and then decides she should turn right.
She still has like, 25 tiles down to go, but decides it's more important to turn around and go back to where she was 1 frame ago.

#

I'm seriously wondering if I can fix this without rewriting the pathfinding code. Maybe I can Harmony-patch in a bug fix that says "no, please do not literally reverse direction when you can still cover distance at a 90° angle".

lucid iron
#

What would be the consequences of making path finding treat forage as impassable

teal bridge
#

It already does... that's why they're stuck.

brittle pasture
#

I think chu meant just make the pathfinder path around all forage and placed objects

#

of course that would cause problems if 3 apples spawn in a box formation outside a door

teal bridge
#

I'm not sure if the pathfinder even understands the concept of "path around".

#

There's probably something in there somewhere, but I think I'll try the lighter weight patch first.

latent mauve
#

Question: is it possible to run changeIntoSwimsuit and changeOutOfSwimsuit in the same tile, but toggled to only do one or the other based on whether or not you are in the swimsuit?

#

Or am I better off just using the two doors of the resort building to have one be change into and one be change out of?

spice inlet
#

you could probably create your own tileaction for that buf afaik thats not possible in vanilla

tender bloom
#

I think it's more "vanilla" to have 2 tiles

brave fable
spice inlet
#

not sure how youd prevent people touching the tile to wear swimwear and then just going the exact opposite way either

#

I mean it would probably work if you put a change out of swimsuit just in case players do that

brave fable
#

i suppose it could be combined with the jump-into-pool tile touchaction, where you add the swimwear on enter and remove it on exit

#

since it forces you to move through the tile on touch

#

you'd then have the player not in swimwear until they're in the pool tho

plucky reef
#

You can kinda overlap them a little but it's extremely touchy.

brittle pasture
#

usually people just place two tiles on each side of a hallway (maybe even next to each other) so the player always emerge one side clothed and the other side in swimwear

plucky reef
#

top is change out of, middle is change into, bottom is pool entry, but if your map making skills are better than mine you can hide it so the player doesn't tell the difference.

#

on the bathhouse map it does this (minus pool entry) but it has the changing room block over it

#

I could get them to overlap by about half but if I ran too fast it stopped working correctly.

latent mauve
#

Yeah, I don't really like the idea of leaving them open like that, which makes it more difficult vertically. One of my multiplayer partners pointed out that if you change the tiles too fast the farmer becomes topless for a second which is... Not ideal.

#

So I definitely want them behind a wall when it triggers

#

I'll figure something out later with the divider in the building, I guess

oak dragon
#

Help! If I want to store some information, like text input by player, should I save it directly into the game's save?

brave fable
oak dragon
#

very clear! thx

past knot
#

Hey could someone send me the tutorial on adding custom locations and the json for it? i seemed to have lost it..

rancid temple
vernal crest
rancid temple
#

I hate discord's redirect links

#

If you haven't actually been near the target location in a bit it'll fail to take you there the first time

vernal crest
#

Yeah I sometimes can never get to the message and I have to give up

unique sigil
#

hi guys, what does this error mean?

To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
Path ''..```
#

i'm trying to edit the fish spawns in my custom map. there are no errors in the code formatting, so idk why this happens

rancid temple
#

!json probably wrong brackets, easier to see with the code

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.

unique sigil
# ocean sail

checked with this... i copy pasted it directly from locations/data though. how could it be wrong?

rancid temple
#

Share the link to that page

#

Though based on that, could be wrong because the formatting of the data assets is not one for one with the way a CP mod has to be formatted

#

The data assets are the end result, whereas CP has to be a specifically formatted dictionary of changes you want to make to those assets

mighty ginkgo
unique sigil
#

i wrote the same thing like another mod's content.json that also replaced fish spawns and added fishareas....

mighty ginkgo
#

i'd try removing them to test if it makes it work

unique sigil
#

just the area names?

#

sorry im just confused why mine is experiencing problems and the mod i referenced didn't

#

is it because of the farm type im replacing? (beach)

mighty ginkgo
#

the "ForestRiver": and "Ocean": parts

#

might be that the mod is targeting different section in the location data i guess

#

since the FishAreas field has keys like that

vernal crest
#

I might be looking at this wrong but what I'm seeing is that from line 188 onwards you've got a bunch of stuff that's in the wrong place. FishAreas entries need keys, which you've got for lines 103 and 144 but then not afterwards.

But I think I'm saying the opposite of what Kristian is and I don't have the locations asset handy to check.

mighty ginkgo
#

yep, but it's a patch to Fish instead of FishAreas

hallow prism
#

some entries have a id key, but some don't

#

like, some are "ocean":{stuff} but some are just {stuff}

vernal crest
#

Oh you're right Kristian I read that section several times and thought it said FishAreas every time

hallow prism
#

    {
      "Action": "EditData",
      "Target": "Data/Locations",
      "TargetField": [
        "Default",
        "Fish"
      ],
      "Entries": {
        "Lumisteria.MtVapius_Trash_BrokenBottle": {
          "Chance": 1.0,
          "MinFishingLevel": 0,
          "MinDistanceFromShore": 0,
          "MaxDistanceFromShore": -1,
          "Precedence": 500,
          "Condition": "ANY \"LOCATION_CONTEXT Target Lumisteria_MtVapius_Main\" \"LOCATION_CONTEXT Target Lumisteria_MtVapius_Forest\" ",
          "Id": "Lumisteria.MtVapius_Trash_BrokenBottle",
          "ItemId": "(O)Lumisteria.MtVapius_Trash_BrokenBottle",
        }
      }
    },```
Is how i add a fish to a specific location, with the key "Lumisteria.MtVapius_Trash_BrokenBottle": prefacing the entry
#

you seems to mistake the kind of fishing ponds to keys

#

if you want your fishes to be added to one of the area you need to use :
"FishAreaId": "Ocean",

#

not make the id "ocean" (which wouldn't work since you want to add several)

#

(it's why the two first don't give an error, because they are prefaced by a (wrongly named, but the game can't guess that) key (that will not do what you want it to do by the way)

mighty ginkgo
#

(apparently i don't understand how TargetField works)

hallow prism
#

in what way?

#

i target "default" because it's an actual entry, and the target field on the example should work either since Farm_Beach exists too (and has a "fish" entry)

mighty ginkgo
#

oh i see

#

i still don't understand how the key works though

hallow prism
#

basically in this kind of "list" every thing in the list has an id

#

ex
"Id": "(F)2421",

#

and it's what is used usually as key to ADD to the list

#

"Lumisteria.MtVapius_Trash_BrokenBottle": {
Here

#

if you just had :

{
          "Chance": 1.0,
          "MinFishingLevel": 0,
          "MinDistanceFromShore": 0,
          "MaxDistanceFromShore": -1,
          "Precedence": 500,
          "Condition": "ANY \"LOCATION_CONTEXT Target Lumisteria_MtVapius_Main\" \"LOCATION_CONTEXT Target Lumisteria_MtVapius_Forest\" ",
          "Id": "Lumisteria.MtVapius_Trash_BrokenBottle",
          "ItemId": "(O)Lumisteria.MtVapius_Trash_BrokenBottle",
        }```
The formatting wouldn't work, because it needs this key thing
#

why, well, i can't explain 😄

#

it expects a certain format (which is pretty common on the new data model)

unique sigil
#

hmmm i seee

#

then i should just make one entry for Ocean

hallow prism
#

i mean, i explained what you needed to do so you need to reread discussion at your own rythm 🙂

#

but no

#

i have to go but feel free to ask questions about what was said means if you don't understand it 🙂 others may be able to explain it

rancid temple
#

Farm_Beach also already has an Ocean entry in its FishAreas so you don't have to include it

#

Seeing as how it doesn't look like you're changing anything on it

#

The reason the format needs a key is a bit technical, it's because the data type is a dictionary, which is a collection of <key, value> pairs

uncut viper
#

(well, Fish isnt a dictionary, but Entries from Content Patcher is)

rancid temple
#

Oh right, Fish itself would just be a list of models

#

The way that you make edits with CP is generally a lot of dictionaries (one for each block basically)

#

Again, really technical, way easier to just accept "it's that way because it has to be that way'

uncut viper
#

its just a matter of remembering that you arent adding things to the game directly, you're giving them to Content Patcher first, so you need to follow Content Patcher's data model. Content Patcher's Entries data model is just a dictionary of key value pairs, where you give it a key and the value is a data model from the game

#

so all entries need keys, bc you're creating a content patcher data model with a vanilla data model inside it

#

rather than creating directly the vanilla model

rancid temple
#

Hm, another field in this data that's not on the wiki No longer

royal nimbus
#

anyone kno whats with this extra scarecrow from the craftables png? im changing up all the scarecrows for my mod so i been looking them up on the wiki and this one doesnt seem to be on the scarecrow list just wondering where it comes from in game so i kno what to do with it for my mod

rancid temple
calm nebula
#

Has someone made a more scarecrows mod yet

#

And if so, have they discovered they can make one glow

rancid temple
#

See a lot of retextures. Do you just mean with the IsLamp field?

#

Super bright farm: set every big craftable's IsLamp to true

indigo yoke
#

Which makes me sad cause I like the originals but want moar

brittle pasture
#

most people just make AT packs

royal nimbus
tiny zealot
#

is it still a thing that scarecrows only work if their name contains "arecrow", or did it get moved to data? i'm feeling too lazy to check the code

calm nebula
#

I want my scarecrow to be seasonal

tiny zealot
#

hooray

calm nebula
#

I want my scarecrow to be a machine

#

I want my scarecrow to glow

#

Is this too much to ask

tiny zealot
#

normally i would say i want a haunted scarecrow that moves and changes its appearance (menacingly), but i'm pretty sure the mannequins do that

calm nebula
#

Fun fact

#

If you start the internal name of a bigcraftable with "Seasonal"

#

And it has a sprite index that is a multiple of 4

#

It will automatically increment them by season for you

#

Including respecting the GI hot girl summer

royal nimbus
#

nothing like breaking your mod by forgetting a comma -o-

royal nimbus
#

something weird. my modified buffs icons are no longer showing up and idk why. i think i just have the BuffsIcons.png in the TerrainFeatures folder and the bit on the json looks right. is there another place where there's buff icons? i was thinking somewhere in loosesprites but i didnt see it.

rancid temple
#

You mean TileSheets? That's all I see referenced in the code

vernal crest
rancid temple
#

Huh, why is there a BuffsIcons in TerrainFeatures lol

#

Far as I can tell, it's not used anywhere

royal nimbus
rancid temple
#

I see that, it's just not being used

royal nimbus
#

ah i see the one in tilesheets. ima check my json

#

okay yeah i see what happened

#

i have the unused one written for the mod so i will just switch that and it should fix it

rancid temple
#

Make sure your source image is for the one in TileSheets

#

They're different images

royal nimbus
#

it is

#

i have both but i will just delete the unused one

#

it does get tricky with all these unused assets sometimes

rancid temple
#

I wonder if that one will get the axe before 1.6.9 releases

#

buildingPlacementTiles got removed recently

royal nimbus
#

updates scare me lol. just dreading for things in my mod to get broken >_<

#

but yeah that fixed it

ivory plume
iron ridge
#

how does one load a content asset inside a prefix, if they have to be static and Helper isn't?

lucid iron
#

you will have to cache the asset to a static variable

rancid musk
#

Store a static reference to your Mod entry class (or anything else), or use Game1.content which is already static.

iron ridge
#

how come this places nothing? I assume the dummy method doesnt work but I'm not sure why

[HarmonyReversePatch]
        [HarmonyPatch(typeof(GameLocation), nameof(GameLocation.setObject))]
        [MethodImpl(MethodImplOptions.NoInlining)]
        static string setObjectDummy(StardewValley.Locations.FarmCave instance, Vector2 v, SObject o) => null;


        internal static bool SetUpMushroomHouse_Prefix(StardewValley.Locations.FarmCave __instance)
        {
            try
            {
                IDictionary<string, bool> positions = Game1.content.Load<IDictionary<string, bool>>($"Mods/{ModEntry.UniqueID}/Boxes");
                foreach (KeyValuePair<string, bool> entry in positions)
                {
                    // Continue if disabled
                    if (entry.Value != true) continue;
                    int[] numbers = entry.Key.Split(',').Select(int.Parse).ToArray();
                    // Confirm the correct length
                    if (numbers.Length != 2)
                    {
                        _monitor.Log($"Invalid mushroom box location {entry.Key}. Will not spawn.", LogLevel.Warn);
                    }
                    SObject mushroomBox = ItemRegistry.Create<SObject>("(BC)128");
                    mushroomBox.fragility.Value = 2;
                    // The first (0th) element is the y, and the second (1st) element is the x.
                    _monitor.Log($"Setting mushroom box at {numbers[1]}, {numbers[0]}", LogLevel.Info);
                    setObjectDummy(__instance, new Vector2(numbers[1], numbers[0]), mushroomBox);
                }
                setObjectDummy(__instance, new Vector2(10f, 5f), ItemRegistry.Create<SObject>("(BC)Dehydrator"));
                return false;
            }
            catch (Exception ex)
            {
                _monitor.Log($"Failed in {nameof(SetUpMushroomHouse_Prefix)}:\n{ex}", LogLevel.Error);
                return true;

            }
        }
calm nebula
#

Pillow, stupid questions time

#

Is the method you're trying to reverse patch virtual

rancid temple
#

setUpMushroomHouse is just a public void

#

(I looked at it yesterday to marvel in its hardcoded-ness)

calm nebula
#

Why are you doing this

iron ridge
iron ridge
calm nebula
#

You can't override a non virtual method

iron ridge
#

are you talking about setobject or setupmushroomhouse

calm nebula
#

You do the reverse patch BS if it is possible for the method to be overridden

#

SetObject

iron ridge
#

ah

#

how do I call it otherwise?

uncut viper
#

why do you need to change setObject at all if you're already prefix-falsing setUpMushroomHouse?

iron ridge
uncut viper
#

you can just do __instance.setObject

eternal mortar
#

does anyone know where I can find the dialogue for characters in unpacked content? I just need a reference (please ping me btw)

iron ridge
#

the original calls it on base though

#

wouldn't I have to as well?

uncut viper
#

ive yet to personally run into a situation where calling it on the __instance has mattered

iron ridge
#

ah

#

i'll try that then

#

that worked! ty

calm nebula
#

Decompiler artifact

#

I guarantee you they didn't write that

eternal mortar
#

yeah that layout was changed in the 1.6 update so now im lost, the character folder is just the sprites now. (I think)

iron ridge
uncut viper
#

schedules are in there too

eternal mortar
#

God im so dumb, thank you

vernal crest
eternal mortar
vernal crest
#

It can be easy to get lost in there sometimes lol

iron ridge
lucid iron
#

say i know you already made custom asset for this

#

but maybe it can just be map tile properties

calm nebula
#

Lol

#

"This meeting could have been an email" energy

iron ridge
#

but this is also me learning how to do this and it doesnt reallyyy harm anyone

#

nexus. I am publishing the mod, obviously it doesnt exist yet

#

"all changes have been saved"
immediately reverts my header

rancid temple
#

Nexus do gewd jawb

royal nimbus
#

anyone kno some quick code to where i can edit the shadow colors from buildings to be grey scale rather than pink?

hidden locust
#

I think you can find the shadow in cursors? SDVpufferthinkblob

iron ridge
#

can you really not delete a file before publishing the mod??

royal nimbus
#

is it this?

rancid temple
hallow prism
#

you can't really delete files anyway

iron ridge
#

i've just not got an option to delete it

rancid temple
#

Oh you can archive it

#

It is kind of funny that you can't delete a file on a mod that hasn't been published yet

royal nimbus
#

ah yes that was it. ty

rancid temple
#

But I guess they probably don't differentiate between not published at all and temporarily unpublished for editing

vernal crest
#

Yup I had to archive mine instead of deleting it when it was unpublished

iron ridge
royal nimbus
#

for the different wine flavors, the various colors are code based yeah? i take it since the grey bit. im wondering how i can code a spesfic color for one wine type

lucid iron
#

is it new ingredient

brittle pasture
#

you can change the input item's color context tag

royal nimbus
#

well i changed the ancient fruit color so id like the wine to match

brittle pasture
#

that'd change it for every artisan goods

#

For example ancient fruit has color_cyan, you can change it to something else

calm nebula
#

Tbh I wish the starfruit artisan goods were less

royal nimbus
#

yeah i just want to make it match my ancient fruit color

calm nebula
#

Yellow

royal nimbus
rough valve
#

How could I create a mod that makes all caves darker (like floors 31-39)

plucky reef
iron ridge
#

were you the person asking yesterday

#

ah you were

fair scaffold
#

I can't figure out why sprites only updates after the game resets instead of after saving the GMCM options

private void OnGameLaunched(object sender, GameLaunchedEventArgs e)
        {
            var configMenuApi =
                _helper.ModRegistry.GetApi<IGenericModConfigMenuApi>("spacechase0.GenericModConfigMenu");
            if (configMenuApi is null)
            {
                _monitor.Log(I18n.DisabledGmcm(), LogLevel.Info);
                return;
            }

            configMenuApi.Register
            (
                mod: _modManifest,
                reset: () => _config = new ModConfig(),
                save: CommitConfig,
                titleScreenOnly: false
            );
            
            configMenuApi.AddBoolOption
            (
                mod: _modManifest,
                name: () => I18n.TitleSimplyShirtless(),
                tooltip: () => I18n.TooltipSimplyShirtless(),
                getValue: () => _config.ModToggle,
                setValue: value => _config.ModToggle = value
            );

            configMenuApi.AddTextOption
            (
                mod: _modManifest,
                name: () => I18n.TitleSprite(),
                tooltip: () => I18n.TooltipSprite(),
                getValue: () => _config.Sprite.ToString(),
                setValue: value => _config.Sprite = int.Parse(value),
                allowedValues: new[] { "0", "1" },
                formatAllowedValue: value => FormatAllowedValues(value)
            );
        }

        private void CommitConfig()
        {
            _helper.WriteConfig(_config);
            _helper.GameContent.InvalidateCache("Characters/Farmer/farmer_base");
        }```
iron ridge
#

you were the reason i did it SDVpuffersquee

plucky reef
#

I'm blushing.

#

now I have to redo the farm cave to use it

#

(and to make the swimsuit change area make sense)
(and to make the whole thing more thematic to my other mod in development)

fair scaffold
frail elm
#

How would i make a dialogue replacement moD?

#

Im thinking of making a custommod for my family

tiny zealot
#

!startmodding check out the Content Patcher info in here

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.

tiny zealot
#

short version: you write your new dialogues, and write some instructions for Content Patcher to make those changes to the game data when it runs

round dock
#

The wiki for Dialogue was so helpful for me when I made my first dialogue mod honestly SDVpufferheart

fair scaffold
#

Does the game not check for updates on the farmer texture? I'm trying to load two custom farmer_base and choosing one with GMCM but AssetRequested stops triggering for the farmer_base after a save is loaded apparently

lucid iron
#

did you invalidate the asset

fair scaffold
#

I did

lucid iron
#

need to make sure FarmerRenderer.farmerTextureManager gets the updates

#

personally i wouldnt mind too much if this is a main menu only config

rancid temple
#

Well this took longer than I expected

#

Current solution is to make my own item query resolver for the purpose of building my own shop items

#

Tried to patch the resolver used to build the shop currently but I guess you can't patch IEnumerables

#

I wonder if I can just register my own query over the current one lol

#

I'm more leaning towards my current solution though, while it does mean having to build back the shop entirely it also means more granular control over every entry

uncut viper
#

(you cannot register over a query that already exists)

rancid temple
#

Ah well, decision made then lol

uncut viper
#

what do you mean about patching ienumerables though?

rancid temple
#

I dunno, when I tried it told me the type was not void or bool

rancid musk
#

What exactly were you trying to patch?

uncut viper
#

the patch needs to be void or bool but if its a postfix you can get the ienumerable it returns with just __result right?

rancid temple
#

This monstrosity from ItemQueryResolver

#

Hm, I was trying to prefix it and just add the OverrideTradeItemId and OverrideTradeItemAmount, didn't really consider postfixing it

#

The way these ItemQueryResults are structured really bothers me for some reason, hard to determine what the hell it's doing at a glance

uncut viper
#

you'd still use __result for that with prefixes too, the return type of your patch itself would still be void or bool

#

in this case bool

rancid temple
#

I see I was going about it entirely wrong lol

uncut viper
#

too long in transpilerland

rancid temple
#

I guess I'll give that a try again, because rebuilding the shop doesn't sound fun

ashen oak
#

SDVpuffersob <-- me after my fourth attempt to wrap an instruction with a try/finally via transpiler

rancid temple
#

And also thinking about it, being able to do more with these entries would actually probably introduce some issues since it needs to open the naming menu immediately and I dunno what you can fuck up by making it so you can buy multiple pets at once

#

Maybe nothing, maybe everything

velvet narwhal
#

(the item glitch?) @sleek flint (Chester)

sleek flint
lucid iron
#

would u need to patch enumerator move next in this situation

rancid temple
#

The like 3 minute lag where my brain refuses to pfp == profile picture

uncut viper
#

its not an enumerator function, its just returning an enumerable

brittle pasture
#

why not just return a new one with ref

#

item queries just return a list of items (wrapped with ItemQueryResult)

lucid iron
#

oh i see Bolb

rancid temple
#

I mean, if I had to pick just one reason, it's because I have no clue what I'm doing SDVpufferchickcool

uncut viper
#

im not wholly sure what you're doin already but adding to/changing the result is what i meant with the pre/postfix thing

rancid temple
#

Yeah, I'm gonna try a postfix because I like those the most

velvet narwhal
#

(I sent roku on a hole to dehardcode marnie's monopoly)

fair scaffold
#

postfix gang

rancid temple
#

The real struggle is going to be trying to figure out what I can do about her dumb farm animal adoption crap

brittle pasture
#

You may have better luck just reimplementing the animal menu

lucid iron
#

just write your own menu ez

rancid temple
#

Yeah, that's what I was thinking too lmao

lucid iron
rancid temple
#

Start my own menu with blackjack

uncut viper
#

what are you trying to do with the animal adoption?

brittle pasture
#

or use the shop one and do whatever the game's doing with the PET_LICENSE pseudoitem

lucid iron
#

the animal menu is kind of charming tho

rancid temple
#

I guess my two biggest goals with the animal menu would be unlinking it from being a Marnie only thing and making it so you can do it from and return to anywhere

#

But also being able to do the trade item thing would be neat

brittle pasture
#

if you reuse the shop interface that's handled for you

rancid temple
#

Does the animal menu scale up when you add too many things to it?

#

I know shops do, which is really appealing

brittle pasture
#

It scrolls down

#

Doesnt get wider or taller

uncut viper
#

admittedly im with chu on this one with the animal menu

rancid temple
#

Oh okay, so I guess it's at least not hopeless lol

uncut viper
brittle pasture
#

yes that's what I'm thinking as the simplest solution

calm nebula
#

Stupid questions time

uncut viper
#

and the PetLicense objects have custom functionality for on purchase

calm nebula
#

It's a fucking delegate in a dictionary

#

You can replace the delegate

uncut viper
#

im not sure what you're referring to here

rancid temple
#

Oh, I don't have to patch this, I can just make my own method that returns the same crap but with the overrides I want

#

Literally basically what I've already done with two extra things, so it'll do the same thing as the current method

uncut viper
#

if you don't patch the original PET_ADOPTION then you have to exclude breeds that are already accounted for by it

#

and also wont be able to change the trade items for those either

rancid temple
#

I was just gonna replace the original shop Items entry with mine

#

But for mine I need to create an override asset that people will have to write to if they want to have trade items basically

#

Since pet breeds only have a gold price and not a trade item field

brittle pasture
#

pet data has custom fields if you're willing to do string stuff

lucid iron
#

i think atra means u can bypass Register and put your own delegate over QueryTypeLookup["PET_ADOPTION"]?

rancid temple
#

I had considered that, but I'm not in love with that method

lucid iron
#

need reflection ofc

rancid temple
#

Depending on how many breeds you have for a pet, that string could get really wild

uncut viper
#

PetData has CustomFields, but PetBreed does not, so be careful there if you try it

#

you'd need to define the overrides in the pet itself

#

separate from the adoption info

brittle pasture
#

"OverrideItemForBreed.BreedId.1": "(O)Stone"
"OverrideItemCountForBreed.BreedId.1": "10"

#

if you really, really dont want a custom asset 🙃

#

increment number for extra items

rancid temple
#

Damn, I'm dumb as hell, I was thinking just one really long string lmao

#

Thanks, I'll have to weigh these choices I guess

uncut viper
#

shame its not one of the rare string to object customfields

brittle pasture
#

I think the only occurence of that is in ItemQueryContext, and it's not a data field

uncut viper
#

PowersData

brittle pasture
uncut viper
#

works as you'd expect if you read the customfields as a JObject with newtonsoft

#

(triggeractioncontext and gamestatequerycontex are also object customfields but those arent accessible with CP either obv)

#

((theyre barely accessible through normal C# means too))

fair scaffold
brittle pasture
#

every time I see a CheckConditions that passes in individual fields instead of a preconstructed context object I cri erytime

fair scaffold
#

i'm still stumped

uncut viper
#

i send individual fields in checkconditions but in my defense its much easier to do that in a transpiler

#

than construct a gamestatequerycontext

brittle pasture
#

now how would I transpile your mod code to add extra data to the context object

uncut viper
#

this is what i mean by barely accessible bc my first question is why bc i cannot think of a single reason why you'd ever want to, ever

#

but if you did, it would probably be easier to prefix the trigger action delegate itself

#

to add the customfields before i ran the trigger

#

or query. whatever

#

alternatively you can transpile my transpiler and NOP all my instructions or branch past them and write your own that construct a GSQContext

#

but have fun constructing a string object dictionary with IL

#

if you really wanna get fucky with it you can prefix false not my transpiler but the patch i send to harmony to transpile for me

#

the world is your oyster selph! go wild! i will close all your bug reports you open on my mod page

brittle pasture
#

I appreciate the concerning amount of brainstorming for a joke idea that I'd never do

uncut viper
#

those are my favourite things to brainstorm about

#

more fun brainstorming: all that work i mentioned above is also unnecessary. just call harmony.Unpatch on my transpiler on that function specifically then patch it yourself. Harmony just lets you do this, to anyone

#

probably wouldve been helpful for roku unpatching that DTZ prefix

velvet narwhal
#

i reiterate, harmony is scary

uncut viper
#

if you want to really just fuck up everyone you can just do harmony.UnpatchAll and it will remove every patch on every method ever from anyone

#

the MAD method of ensuring your code works

brittle pasture
#

New evil mod idea: Stardew Performance Enhancements and all it does is unpatch all other mod

uncut viper
#

it might even make it to the title screen

velvet narwhal
#

would that unpatch smapi

uncut viper
#

does SMAPI do any harmony patching?

calm nebula
#

Not currently

next plaza
#

It does have a few

uncut viper
#

we love to see a 2+ year old TemporaryHacks file

rancid musk
#

Bold of Pathos to name an entire directory TemporaryHacks

#

That folder will still exist centuries from now, I expect

calm nebula
#

Lol

#

You should see the message he prints when you disable the minihotfix

#

And have harmony mods installed

brave fable
#

truly the console log equivalent of the melting chocolate gorilla meme

rancid temple
uncut viper
#

tbf i was in that conversation i think and i forgot about it too

velvet narwhal
#

Hindsight 2020

rancid temple
#

Oh well, I'm sure I'll restructure that mod again in 1.6.9

velvet narwhal
#

Oh right I might have to wait on helping tea do furniture framework if Leroy is still having issue SDVpufferthink