#making-mods-general

1 messages ยท Page 385 of 1

idle elk
#

and at the same time I feel so dumb ๐Ÿ˜„
well from here we can only improve

urban patrol
#

weโ€™ve all made mistakes like that haha no worries

idle elk
#

TYSM!

latent mauve
#

I'm positive this has been asked before but I forget if any frameworks had come about to allow it, but: is there a way to prompt or mimic the floating leaf animations/ambience in the Woods map on a custom map without me having to use C#?

brittle pasture
#

I'm 89% sure that's in MMAP

latent mauve
#

I will take a look at that, thanks Selph!

lucid iron
#

i never made that kyuuchan_run

#

what is the floating leaf animation

round timber
#

like when its windy

#

leaves (or petals) fly thru the air

lucid iron
#

oh weather debris

#

i can make it i guess do u want it

tribal ore
lucid iron
#

that i did make

tribal ore
#

Nice!

tribal ore
#

Really nice. I was so disappointed that I couldn't get fireflies to happen in some of the events in OlderSeb

lucid iron
#

for events you can use the traction version AquaThumbsup

uncut viper
#

my docs are the main thing i pride myself on so thank you

latent mauve
#

I also wanted the "weather debris" during an event primarily, if that impacts anything, chu.

steel beacon
#

Hello all! I have a quick question. I am working on a mod that will have quite a few items in it. I would like to add Gift Tastes for modded characters, especially SVE and RSV. In general, do those mod authors need to be contacted to assign gift tastes in my mod? I am.not sure of the etiquette and permissions in this case.

lucid iron
#

if you make a temp map with the map prop it should work bolbthinking

#

could make a traction version tho

latent mauve
#

I'm cool with the effect being persistent, but it's that's easier to manage just during one event and there's another way I can do that instead

tribal ore
#

Will "--" work to disable a condition in a triggeraction for testing, btw?

lucid iron
#

put TRUE

tribal ore
#

So... instead of Weather Here Sun, Weather TRUE Here Sun ?

lucid iron
#

no TRUE is a gsq

#

Weather Here Sun -> TRUE

uncut viper
#

or just remove the Condition line

tribal ore
#

Oh. I could just delete it at that point. I just wanted to see if I could disable it without removing it so that I remember to put it back in later xD

uncut viper
#

or make it null

tribal ore
#

My brain likes to keep things in comments

blissful panther
#

(Speaking of documentation, how do we maybe feel about a page on the modding wiki listing everything MMAP, BETAS, MEEP, etc. add?

Pros being we can add features to our respective mods without worrying about doing something that's already been done, and mod authors can find the features more easily.

Cons... well, someone has to write the wiki page. And we'd ideally need to keep it up to date.)

uncut viper
#

would that be much different from the current frameworks page?

calm nebula
#

I feel great about you doing the work DH

blissful panther
#

Honestly, I'd be up to making the page.

blissful panther
opaque field
ocean sailBOT
#

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

lucid iron
#

i think it'd be pretty hard to keep it up to date

#

and personally i never worry about doing smth already done kyuuchan_run

uncut viper
#

thatd be a very large list... BETAS alone adds 157 different features currently

opaque field
blissful panther
#

I suppose if we all just don't give two cares to reproducing effort, then it's definitely unnecessary. SDVkrobusgiggle

royal stump
#

it'd be nice to have a basic overview of maintained frameworks, but yeah, there's not a good way to succinctly describe all the features SDVpufferdizzy

tribal ore
royal stump
lucid iron
#

imo if it make sense for someone to use a feature from my framework with a thing from different otherwise unrelated framework nearly 100% of the time then i might as well add it to my framework

uncut viper
#

i also feel similarly, i think if a feature makes sense in your framework then it doesnt matter if its a duplicate

#

when they are completely or mostly unrelated is when i would direct someone to the other framework

#

but otherwise its fair game imo

#

otherwise i would just add a ton of trinket related stuff and steal chu's possibilities /j

lucid iron
#

my possibilities bolbphase

#

is this like, stealing karma

uncut viper
#

can you steal karma? asking for a friend

#

does stealing karma give you bad karma, thus offsetting the karma you stole?

lucid iron
blissful panther
#

I feel like the best way to make this work wouldn't even be feasible on a wiki page. It would be some kind of Stardew mod framework feature search engine, and that's just a tiny bit more work than a wiki page. SDVkrobusgiggle

lucid iron
#

idk i guess so

uncut viper
#

just load up everyones docs as an iframe and do one big Ctrl F SDVpuffersquee

royal stump
#

even if it's at a loss, just the idea of inflicting negative karma on someone else is concerning SDVpuffersquee

uncut viper
#

(the other problem, i feel, would be how do i know what someone else calls a feature?)

#

like the BETAS GSQ for checking the gold clock is GOLD_CLOCK_ACTIVE, but could just as easily be called FARM_TIME_STOPPED or something

lucid iron
#

also sometimes the features have slightly different quirks

royal stump
#

theoretically people could edit in links/mentions of similar/equivalent features too, but yeah, it's a fair amount of doc work

lucid iron
#

like say being an event command vs a traction

uncut viper
#

i think event command vs traction wouldnt even be listed in the same category

#

but i do still agree that even two tractions which do similar things can have similarly different quirks

gentle rose
#

anyway I'm off to check the feasibility of a specific crime

uncut viper
#

which crime

gentle rose
#

analysing the unpacked content maps folder and using it to get a version of the vanilla tilesheets with all the props and animations for easy importing

lucid iron
#

that seems like community service not crime

uncut viper
#

seems easy enough, though im less sure of that when it comes to Tiled plugins

gentle rose
#

so instead of finding a map that has it and copying from there, you can just import and everything will work

uncut viper
#

all just xml innit

lucid iron
#

ye

gentle rose
uncut viper
#

user error

#

wdym destroyed

gentle rose
#

but I feel like most people making maps will leave the vanilla maps mostly untouched so that they can work from them

#

like, edited it into oblivion

#

I don't want to checksum it but it does mean garbage in, garbage out

uncut viper
#

well as long as they didnt edit and save the vanilla stuff its fine, and if they did, id definitely call that user error

gentle rose
#

yeah, seems fair to me

#

also I feel like most edits wouldn't be to the tilesheets themselves

#

I'd probably have a script extract the metadata once and probably store it somewhere for future use, with an option to reextract it

lucid iron
#

just run stardewxnbhack from ur tiled plugin then

brittle pasture
gentle rose
lucid iron
#

in ancient chinese lore 3 means "a lot" and 9 means "all the stuff"

gentle rose
#

that's very close to ancient baby iro lore, where 4 meant "a lot"

lucid iron
#

4 is die

uncut viper
#

so what you're saying is i should release BETAS 9.0.0

gentle rose
#

(tbf to baby iro, 4 in hebrew is ARba and "a lot" is arBE)

lucid iron
#

i am hoping game can just eat this tbh

formal crown
#

(In Turkish, 100 means also "face" or "swim" depending on the context SDVkrobusgiggle)

lucid iron
#

at least for the simple building action case

tribal ore
#

@uncut viper Just a heads-up, WEATHER_FOR_TOMORROW wasn't working for me. When I changed all of the WEATHER calls to "Spiderbuttons.BETAS_WEATHER_FOR_TOMORROW Mountain Sun Wind" (for example), the patch just wouldn't apply. I recognize this is probably use error. FWIW, I made BETAS a required dependency in the manifest, and also tried a "HasMod" check when including all of the letter trigger actions

uncut viper
#

well im gonna need something a bit more specific than "the patch just wouldn't apply"

tribal ore
#

No worries. What I mean is that when I did a patch summary, the applied box wasn't checked

#

What can I get you? A log file?

lucid iron
#

GSQs dont have anything to do with cp applied though

#

were you using a token in that EditData

uncut viper
#

ah wait, WEATHER_FOR_TOMORROW takes a location context, not a location

tribal ore
uncut viper
#

no like a location context as in, Default, Desert, Island

#

Data/LocationContexts

#

you want Default

tribal ore
#

Multiple weather looks like it's ok to use though?

uncut viper
#

it is yes

tribal ore
#

And BETAS just rescued me from token hell, so I really really appreciate it

uncut viper
#

i appreciate you usin it SDVpufferheart

tribal ore
#

Been tearing my hair out for a week xD I can't tell you how happy I am to finally have a working solution to this

#

Now I just need to add the random timing people have been asking for

#

But at least I have an idea for that

lucid iron
#

@latent mauve do you care about obeying the normal woods debris rules? ie debris only spawn when no rain and not winter

latent mauve
lucid iron
#

ill just make it behave exactly like vanilla then

latent mauve
#

Sounds good!

lucid iron
latent mauve
#

taking a look to figure out what I need to apply to my location/map to get the effect and test it out

#

found it in the examples so I'll add that and check it out!

lucid iron
#

You need map property mushymato.MMAP_WoodsDebris T yep

#

The arg must be T

latent mauve
#

Hmm, doesn't seem to be doing anything visually.

#

Lemme make sure I don't have anything weird in my map properties that's preventing it

lucid iron
#

you have to enter the map for the leave spawning to happen

latent mauve
#

I did

lucid iron
#

also not raining not winter as mentioned

latent mauve
#

Yep, it's Spring 4, and not raining.

#

And the actual Woods has the leaves

#

My patch export is littered with "tile flip" and "rotation" values on the Objects layers, but the actual map property is showing as present.

#

(I added it via CP)

lucid iron
#

does the Backwoods example work for you

#
{
  "Action": "EditMap",
  "Target": "Maps/Backwoods",
  "MapProperties": {
    "mushymato.MMAP_WoodsDebris": "T"
  }
},
#

like this one

latent mauve
#

Yeah, I did that example but with my custom map's target, I'll try it targeting Backwoods now just to check

calm nebula
#

@gentle rose

latent mauve
#

ambient lighting happened but no leaves. Lemme try swapping weather conditions and sleeping just in case

gentle rose
latent mauve
lucid iron
#

it looks like you put mushymato.MMAP_WoodsLighting not mushymato.MMAP_WoodsDebris

latent mauve
#

I did both

#

Because both were in the CP Example

lucid iron
latent mauve
#

I've just commented out the lighting to try again.

#

but in case my code is somehow wrong, there's a screenshot

lucid iron
#

think i sent wrong thing first time Dokkan

latent mauve
#

That sorted it!

#

Just gotta fix my lightning in the the custom map now โค๏ธ

lucid iron
#

leaf

uncut viper
#

leaf

wraith aspen
brittle pasture
#

I think it's the schema complaining that BeforeId is not BeforeID (the correct form)

wraith aspen
#

ohh gotcha

brittle pasture
#

I don't think it matters?

wraith aspen
#

well i'll fix it anyway just in case, ty!

#

yeah that was it lmao

brittle pasture
#

if you're getting them too often you can reduce the chance

#

previously you used ignore base chance right? so getting them too often makes sense

wraith aspen
#

yes it was ignore base chance previously

brittle pasture
#

(if ignore base chance is true the item has to pass a 15% check before its own check)

wraith aspen
#

yeahh, i'm gonna test it with automate real quick and if i still feel like they're too common i'll lower the random chance too

#

on the file i made i was on spring 12th of year one and already had like almost 10 boxes so i felt like that was a bit too much

bleak vigil
#

Hey everyone first question here. I'm wondering the best route to take to make a placeable object/big craftable passable (no collision) and maybe be able to place it in the same spot as another object. Is this a CP, JA, or C# thing. I'm currently brute forcing extending the Object class which has been proven difficult so I wanted to make sure there wasn't an easier way.

calm nebula
#

Legitimately- why

bleak vigil
#

I want to make a craftable node you can place next to a machine to get info about that machine but with limited space it would be nice to be able to walk through it.

calm nebula
#

What about making it a moddata tag on the machine instead

uncut viper
#

(also the game stores placed objects in a dictionary keyed by the Tile its on, so...)

lucid iron
#

Make furniture?

#

Personally i was lazy and just let people press a button lol

#

You can perhaps make a tool item to act as the "button press"

#

What kinda info are you gonna give people PecoWant

calm nebula
#

I mean there is an overlay dictionary for stuff like quest items but seriously don't it's not worth it

#

Furniture maybe

#

(Rug?)

brittle pasture
#

rug is cool
mayhaps even path
in one of my WIPs some 'machines' are actually paths with passive effects

bleak vigil
#

I will try the moddata tag as well as the furniture idea! Thank you

lucid iron
#

Oh automate then

brittle pasture
#

4th cake SDVpufferwoke

lucid iron
#

Bakery

#

So it sounds absolutely like a C# mod yep

#

As for doing stuff I don't think it matters what you use since ultimately you gotta do a draw to show the info you want

#

The rug or the moddata is just for you to keep track of where draw

delicate smelt
#

look this bug,the players real maxhp is different to it shows in skill page,so if i wanna fix this bug,am i must use harmony?

brittle pasture
#

in fact, bonus combat levels (from food/buffs/etc.) does nothing (well, aside from monster spawning conditions)

uncut viper
#

if anything that seems like intended behavior if you ask me?

brittle pasture
#

the "bug" is that the level menu shows +75 max health

#

even though it's only +50 from the 10 real levels

#

you should have your buffs do something else other than giving combat levels

obtuse wigeon
#

Does anyone have a link to a guide on Content Patcher config files, I'm only seeing C# config files

#

Nevermind, I'm blind

pine elbow
#

how are yall

#

so do you make your own sprites or just recolor them? I'm asking for your opinion

obtuse wigeon
rigid musk
#

ouh its been so long since ive done anything mod related.. how do I do two versions of an event again? As in - if I want one version of the event to play before y3 and then another one to play after y3 how would I do that

#

[keeping the same event ID]

rigid musk
pine elbow
#

iim just learning how to make my own things its really complex

round timber
#

dont be afraid to use reference images, even if youre doing something from scratch. a lot of people/beginner artists think you have to be able to just create something perfectly from your brain without using reference images but that isnt true

pine elbow
#

i dont have the best hand eye and im a complete noob to making pixel art

round dock
#

!anyonecancook

ocean sailBOT
#
obtuse wigeon
delicate smelt
pine elbow
#

thanks anywhere to start

#

also i have trouble with art i need pixel art software i think i need ot know how make stardew pixels

dire kestrel
ocean sailBOT
#

Where to Start With SDV-Style Pixel Art
If you've never done pixel art before, don't stress! It's easy to pick up the basics - the key is to start small, ask for feedback, and incorporate that into your work.

To start, you'll want an art program. See a list of recommended programs in the !software command.

Here's some good beginner tutorials!
http://pixeljoint.com/forum/forum_posts.asp?TID=11299&PID=139322
https://medium.com/pixel-grimoire/how-to-start-making-pixel-art-2d1e31a5ceab

To start off, try opening an existing portrait and changing the outfit. Start small: edit a shirt pattern, change a jacket collar, or remove a scarf and draw the clothes underneath. Ask for feedback too! The best way to improve is learning how to identify what's wrong and why, so then you can work out how to fix it.

Here's more good tips from the artist of "Celeste":
General pixel art 1: https://www.patreon.com/posts/pixel-art-1-6971422
General pixel art 2: https://www.patreon.com/posts/pixel-art-part-2-11225146
Outlines: https://www.patreon.com/posts/outlines-14106192
Shading: https://www.patreon.com/posts/shading-13869731
Portraits: https://www.patreon.com/posts/portraits-8693396

SDV has a few quirks to remember too:

  • Colour limits: Limit the number of shades you use - stick to six including the outline.
  • Hue shifts: Rather than making shadows and highlights lighter or darker versions of the base tone, SDV shifts the hue too. Eg. a base orange will have yellow highlights and red shadows. This goes for skintones too!
  • Light source: SDV uses a top-right & slightly forward light source - check the vanilla art for reference.
    Most importantly, don't hesitate to ask questions and get advice from people. Have fun!
torpid sparrow
#

I need to find a way to incorporate some stained glass into my builds

obtuse wigeon
obtuse wigeon
humble timber
#

hey cheetos
how difficult would it be to edit monster drops to remove an item from the loot pool....

#

i assume not very unless im missing smth obvious

brittle pasture
#

some drops are in Data/Monsters (in annoying string-delimited forms)

#

others are hardcoded

humble timber
#

uh oh...

brittle pasture
#

which drop are you looking to yeet

red egret
humble timber
brittle pasture
#

good news, sap is in Data/Monsters (all four slime variants)

humble timber
#

whew!

red egret
#

Why do you mind sap btw?

humble timber
#

it clogs up inventory space

torpid sparrow
#

I love sap

#

For the quality fertilizer

#

I need all the sap in the world

red egret
#

Is there an auto-discard mod?

obtuse wigeon
#

There is, doesn't have a lot of downloads either

humble timber
#

thonk

obtuse wigeon
#

I've decided to tackle the config scheme for a Content Patcher mod, does it allow hyphenated options like Auto-Detect?

humble timber
#

that does seem kinda neat, but i'd honestly just rather make a quick edit to remove the drop from the pool myself

#

uuh
i dont see why not

#

?

obtuse wigeon
#

Wasn't sure if it wouldn't like it or not, I grew up with programs not accepting spaces in file names so just wanted to make sure

round timber
#

if you want a hyphen for stylistic purposes you could put that in the i18n instead

#

and then the actual config name is smooshed together

obtuse wigeon
#

I remember someone made an i18nifier, I can't seem to find it, any idea where I can get it to see what it does?

pine elbow
#

can you use photopea to save your sprites in a file that downloadble? Sorry if I didn't word that right

round timber
obtuse wigeon
obtuse wigeon
round timber
#

np!

shy harbor
#

Is there any way to list these downward whygod

opaque field
ocean sailBOT
#

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

urban patrol
opaque field
#

I'll reorder them and see if that does anything

urban patrol
#

i'm still not entirely clear on when order of patches matters and when it doesn't, but that would be my first thought, so worth a try!

rigid musk
tawdry warren
#

you don't need a trailing comma on the last one, but it's technically just a style choice shrug

shy harbor
#

I'll try it and see if it's just the editor being mad

tawdry warren
#

Hey Everyone! Just finished a new update for Level Extender! Fixed minor bugs, added a new config format (current config will auto update) as well as some new config options. Look forward to more updates! https://www.nexusmods.com/stardewvalley/mods/1471

Nexus Mods :: Stardew Valley

This mod extends your maximum skill levels to 100 and adds experience bars.

#

^^ If some beautiful orange named person could get this into #mod-showcase for me that would be epic โค๏ธ

round timber
#

donezo

tawdry warren
#

ty ty

urban patrol
rigid musk
#

ah.. yeah I know I can do that, I just thought there was another way instead of having to have another entry

#

thank you though :3

urban patrol
#

there may be! that was just my instinct :)

shy harbor
tawdry warren
pine elbow
#

when making sprite what called when i make them in aline one next to the other like with sprites is their a background think that makes this easier?

tawdry warren
brave fable
#

that's not valid json SDVpufferfush

shy harbor
#

It being one long line isn't giving me any actual issues it's just annoying to add to is all lol

brave fable
#

the short answer is you can't. the long answer is 'turn on word wrap'

uncut viper
#

you cant do that either ItsDan, it doesnt take a list

tawdry warren
uncut viper
#

you cant just give a different type to something that is not expecting it

tawdry warren
#

you can't make a json array for it?

brittle pasture
uncut viper
#

it takes a string. it only takes a string

tawdry warren
#

oh, I suppose I haven't had to do that for C# in a while. Too used to javascript for my day to day. my b

uncut viper
#

as someone who also does (too much some might say) javascript i do miss the type unsafety sometimes

#

CP could do it if it took objects instead of strings. it just doesnt

#

which is for the best, loathe as the javascript demon in us all is to admit it

tawdry warren
#

tbh, I haven't even used CP

uncut viper
#

im sure iro is somewhere wondering why they feel a disturbance

humble timber
#

i

#

was sitting here like WHY ISNT STARDROP DETECTING THIS MOD

#

i forgor a comma.

#

๐Ÿ’€

round timber
humble timber
#

okay YIPPEEEE i think it works

tawdry warren
#

is it worth making a curseforge account just to upload one mod?

humble timber
#

do not lmao
(imo anyway)

tawdry warren
#

good enough for me, unless someone provides a compelling reason otherwise

pine elbow
#

i think i can do this

opaque field
ocean sailBOT
#

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

uncut viper
#

so it doesnt exist

#

you have a load for Maps/{{ModId}}_IggyHouse though

opaque field
#

would that affect the npc not showing up overall?

uncut viper
#

well, are they supposed to spawn in their house that doesnt exist?

#

was there a reason you used Custom_IggyHouse instead of {{ModId}}_IggyHouse for the location name?

pine elbow
#

for my first mod do you reccomend i just recolor a sprite

opaque field
#

for their house location yeah but I have their schedule starting them in town

brave fable
#

what do you mean halloween puzzle dreams is no longer compatible ..

opaque field
#

I was trying to work off a template and honestly probably forgot to make sure to change it

uncut viper
#

if their home doesnt exist then the NPC probably cant exist

#

or maybe it does put them in town

#

idk

#

but its the cause of the error anyway

#

so it should be fixed anyway

opaque field
#

oh I forgot to load the other one that goes with it because I was just looking at how it works and put it in the wrong folder

#

def gonna fix it anyways

#

ty

uncut viper
#

i would change your Location id to use the ModId

#

the Custom_<name> format is from the old CP CustomLocations feature that is deprecated

#

which is probably why your template used it

#

also, as for why the validator did not show your whole file: the comments at the very top

#

if a file starts with comments, before the very first {, it breaks the validator

#

but you can still see the contents of the file if you click the "edit this file" link which is how i saw it

opaque field
#

ooooooh, okay. gotcha

#

i'll fix that too

round dock
#

Question, my item exists in the game but when I try to place it on the ground, it won't budge thonkid I wanted it to be placeable on a table and the player can just pick it up (it's jewelry)

#
  "Changes": [
    {
      "Action": "EditData",
      "Target": "Data/Objects",
      "Entries": {
        "{{ModId}}_HaleyGift": {
            "Name": "HaleyGift",
            "DisplayName": "{{i18n:haleysgiftglhtitle}}",
            "Description": "{{i18n:haleysgiftglhdesc}}",
            "Type": "Basic",
            "Category": -24,
            "Price": 10000,
            "Texture": "Mods/{{ModId}}/HaleyGift",
            "SpriteIndex": 0,
            "CanBeGivenAsGift": false,
            "CanBeTrashed": true,
            "ExcludeFromFishingCollection": true,
            "ExcludeFromShippingCollection": true,
            "ExcludeFromRandomSale": true,
            "GeodeDropsDefaultItems": false,
            "GeodeDrops": null,
            "ArtifactSpotChances": null,
            "ContextTags": [
                "placeable",
                "prevent_loss_on_death",
                "category_furniture",    
                "not_museum_donatable"
                             ],
            "CustomFields": {}
        }
      }
    },
    {
      "Action": "Load",
      "Target": "Mods/{{ModId}}/HaleyGift",
      "FromFile": "assets/hnecklace.png"
    }
  ]
}```
#

Thank you!!! (or should I just make this regular furniture bc thonkid)

brave fable
#

im pretty sure you need to define it as a bigcraftable for it to be placeable

uncut viper
#

i think they want it like a coffee mug

#

cant you just place those on tables

#

or are those furnitures

brave fable
#

what

round dock
#

I accidentally placed it on the ground xD I tried picking it up and it wouldnt budge

uncut viper
#

(not the coffee item but the mug. am i just making up a mug item)

round dock
#

It's uhh caroline sized necklace (ornate, I believe)

brave fable
#

oh I see

#

remove the placeable tag if you just want it placed on furniture like tables

uncut viper
#

oh i thought you meant you couldnt place it on the groundf

#

like "when i tried to place it it wouldnt budge" = "it wouldnt place" in my mind

brave fable
#

no reading ๐Ÿค no thinking

round dock
#

Ah, sorry, I probably didn't word that properly. Haven't slept yet and my brain is mush (i should) SBVLmaoDog

uncut viper
#

i mean i did read it

round dock
#

Thank you, bluebs and button I'll go to remove that tag SDVpufferheart

uncut viper
#

but i feel like i cant be blamed for thinking "when i tried to do x, y happened" means x did not successfully occur SDVpuffersquee

round dock
#

oh def xD but yeah, I accidentally placed it on the ground and when I tried to remove it or place it like regular furniture, it wouldn't budge**

shy harbor
#

Time to figure out how to make a fruit tree LOOK

gaunt orbit
#

SDVpufferwaaah no string id support for farm type house interiors???

patent lanceBOT
gaunt orbit
#

how do I add this to the modding wishlist

calm nebula
brave fable
#

(is there a modding wishlist?)

torpid sparrow
#

Thereโ€™s the mod suggestions on GitHub

calm nebula
#

(Pathos has a todo list)

#

You may kindly petition for a spot on it

torpid sparrow
#

Oh pff suggestions for modding support and not mod ideas

opal tendon
opal tendon
#

oh

torpid sparrow
#

Things mod authors want to expand modding capabilities

calm nebula
brave fable
#

(for example, SDV1.6 was the deceptively innocent modding wishlist item of 'make int ids into string ids')

trim sand
#

Int IDs painpika

twilit quest
#

Good day, my friends. I hope you are all doing well. I am having an issue with a map that is supposed to warp into the farmhouse, but not to the front door (it's a temporary cellar replacement map, but for various reasons it's a separate location from the actual cellar). When I exit the temporary cellar, I always end up at the front door of the farmhouse. I've tried editing the Map Properties Warps, and I have tried adding actual TileData warps, but I still end up at the front door

uncut viper
#

yeah im pretty sure that just Happens

twilit quest
#

sighs

#

I do have the Farmhouse entry edited, so I guess it must be overriding everything else

#

Bleah, I guess I'll have to see if I can make it work as a temporary overlay on the cellar or something

#

Because the actual cellar (on which this map is based!) still works just fine >_<

tribal ore
#

Just checking: vanilla events do NOT generate the automatic eventSeent_<id>memory<time> conversation topics, right?

#

Only modded events?

uncut viper
#

every event does

#

not only that, but every conversation topic does

#

every CT gets a memory

tribal ore
#

Hmmmmm. The wiki made a point of it being modded events that receive them, so I assumed it wasn't both

#

I've done something else wrong with my trigger actions then

#

Fun!

uncut viper
#

caveat: the CT must naturally expire

#

also, the game has no idea what events are modded or not

tribal ore
#

And yep, I set the wrong event ID when trying to debug, so my trigger action wasn't going

#

Thanks, Button ๐Ÿ™‚

rigid musk
#

how would one do a when condition of year 3 +

brave fable
#

judging from the tokens guide,
"Year |contains=1, 2": "false"

rigid musk
#

you know.. i didnt even think of doing it that way

#

thank

#

I sent that before i finished typing thank you but you get what i mean lmao

uncut viper
#

id be surprised if you thought of doing it that way but then asked anyway /lh SDVpuffersquee

rigid musk
#

I was thinking of a different way but c ouldnt figure out how to do it

#

Alternatively - is there a GSQ and/or event for the trash bear

calm nebula
#

I'm gonna do negative years lol

rigid musk
#

going back in time

calm nebula
#

I'm just a smol language model

#

Time is meaningless to me

rigid musk
#

time is soup

calm nebula
#

Do i recognize the forward arrow of entropy

rigid musk
#

does anyone truly

uncut viper
#

theres a world state id trashBearDone

#

so WORLD_STATE_ID trashBearDone

brave fable
#

you know, i really thought it'd be simple to get cjb item spawner's item menu to realign its components correctly on gamewindowsizechanged

calm nebula
#

Just delete and resplendent the menu

brave fable
#

i can't even do the funny method every SDV menu does on resize where it just destroys itself and puts up a new one, since this one has state to preserve and also i hate doing that

#

remaking the item grab box is also hopeless since it'd take so much reduplication i may as well be rewriting the menu all over

calm nebula
#

Bluebs may I have one thing

brave fable
#

not a chance

calm nebula
#

Cjb puts itself back as the active menu after hitting the level up button

rigid musk
#

if i have two events with the same id but one has the precondition GameStateQuery WORLD_STATE_ID trashBearDone false and the other has it set to true will they each play when whichever query is true (depending on the other preconditions)

calm nebula
#

Ie, level up button then level up menu and then cjb puts self back

brave fable
#

i never use cjb cheats menu, i do not look at this request

calm nebula
#

You dont?

uncut viper
brave fable
#

nope, last time i used it was for growing crops for raised garden beds mod page images

uncut viper
#

just whichever one is triggered first

rigid musk
#

that's fine that's the plan

#

I just need an alternate of the event pending on if the trash bear has cleaned or not

brave fable
#

but i use cjb item spawner about 1000 times a day so this needs fixing for my sake

calm nebula
#

Ah

#

I use debug fin

#

Works great irl

brave fable
#

way, way, way, way, way, way, way too many keystrokes

calm nebula
#

Actually i just chat cheats lol

brave fable
#

there's also an always-on-chat-commands mod that lets you type / ingame instead of debug in the console

#

STILL too many keystrokes

calm nebula
uncut viper
#

i dont use that

calm nebula
#

Smh

brave fable
#

shame.

uncut viper
#

blueberry, you are perhaps the last person capable of making me feel shame

brave fable
#

i didn't know there was a queue

calm nebula
#

Before I ever go back to stardew I really need to take a look at chat cheat history and autocomplete

#

Anyways

#

Bluebs, how goes archery

brave fable
karmic gust
#

Woah that looks awesome

brave fable
#

the idea being it's a ranged weapon that takes more time and precision than a slingshot, meaning you need better positioning, but offers better damage, knockback, critical hits, etc

#

also a bit more commitment since you can't just fire rocks you pick up in the mines, and you can't slot the arrows into the bow so they'll be using an inventory slot

gaunt orbit
#

that looks really cool blueberry!

brave fable
#

thanks SDVpufferthumbsup wondering if i should give it a stamina cost, would make it out of line with other weapons though

naive wyvern
#

That is amazing oh my god

brave fable
#

wondering if i should even give it a hierarchy like with slingshots, or just have the bow/longbow be alternatives. bow can autofire, longbow cant. bow has no knockback or crits, longbow takes way longer to fire. bow has a better chance of hitting, longbow has a better reward for hitting

#

bow cant pierce, longbow can

#

i guess for realism, was wondering if i should drain stamina for holding the draw too long on the longbow

#

but that's probably just annoying

gaunt orbit
#

maybe just make it slow the player's speed while holding the draw?

brave fable
#

ah well you can't move while aiming, same as the slingshot

gaunt orbit
#

...huh I didn't actually know that

#

can you tell I hate slingshots lol

torpid sparrow
#

i only realized the usefulness of slingshots by watching some stardew speedruns

brave fable
#

same actually hahah

torpid sparrow
#

but i still cant really get the hang of them

brave fable
#

i just club spam. my beloved

gaunt orbit
#

I would use them if the damage was less sucky

brave fable
#

clearly what we need is a ranged/archery skill to improve slingshot/bow damage. mmhm

gaunt orbit
#

like you can do decent damage with it if you use high-value ammo, but like... a galaxy sword doesn't use ammo at all

brave fable
#

imo it just feels like they don't give enough oomf. either let me fire quickly, or let me do damage. hence the bows hahah

calm nebula
#

They're better for bombing

brave fable
#

unfortunately bombs do lickety squat damage

#

as i found out while making the rice cracker that makes your bomb damage higher

candid veldt
#

I'm a little stumped with an issue I'm having with my i18n in one of my events. All 9 of my other events have given me no issue (at least with the i18n), but all of a sudden, I'm getting this in my 10th event.

#

I'm getting an error from the validator, but I can't understand it. I did the same thing with these lines as all my other heart events, so I'm not sure why these specifically aren't working...

brave fable
#

you don't have {} braces around your i18n entries in the default file. is that your entire file, or just an excerpt?

candid veldt
#

just an excerpt, sorry for the confusion, and all my other lines in the default file are executing correctly.

#

I do have the braces in my actual default.json

gaunt orbit
#

not much visible progress to show, but I did some more work on my sourcegen thing.
I've confirmed that the strategy I'm using to strip marker attributes works as expected. I did some setup work in anticipation of more features I want to add, and I added a thing that bakes a MOD_ID constant into a global using so you can just plop it in your files anywhere.
I also made it so it automatically exports all your translation data to a strings asset so it can be used with token text. (specifically Mods/MOD_ID/Strings. Might make it configurable later if I can figure out a sensible way to do that.)

#

next on the list: inserting entries into list/dict assets from local json files, and marking methods as editors/loaders for specific assets
after that is gmcm stuff and maybe some other frills

ancient vine
#

Hello! Has anyone had issues with .OpenModMenu(ModManifest); from Generic Mod Config Menu?

#

There seems to be a UI overlapping issue, does anyone know how to fix it?

velvet narwhal
brave fable
#

are you opening your GMCM mod menu from within another custom UI? i used GenericModConfigMenu.OpenModMenuAsChildMenu(mod: ModEntry.Instance.ModManifest); to that effect

candid veldt
ancient vine
iron ridge
#

Is the xnb parser Microsoft.xna.framework.content.contentreader?

brave fable
#

pretty sure, yep SDVpufferthumbsup working on something good?

#

there's some extra fluff around ReflectiveReader but i haven't looked into it

grim valley
#

Perhaps an obvious question, but is it possible to use Contnet Patcher to send an NPC to an certain place at a certain time (basically updating thier schedule). Using something like onTime Change and toArea...or...something. Woudn't be asking if I got those to work ๐Ÿ™‚ I'd like to stay all CP and have an NPC show up at a few locations so you can catch them in action and then dialog.

mighty quest
#

anyone know a console command to quickly be able to read bundles? (i.e. skip the wizard cutscene to understand junimo?)

tender bloom
#

Iโ€™m not sure that CP has any capability to edit schedules in real time due to scheduling running overnight

#

(Iirc)

grim valley
#

Ah ok so I update the next day's schedule the day before. Thanks

tender bloom
#

The wiki page on commands doesnโ€™t seem to have anything

iron ridge
lucid lily
#

why does smapi say there are available updates right after i just downloaded a mod

#

then i go to smapi.io and it directs me to the place i just downloaded from...

#

sorry wrong spot will go to the right spot :))

boreal belfry
#

is it possible to make an AT mod where the texture is bigger than target? Such as making the mailbox larger?

tender bloom
#

I donโ€™t think so

ornate locust
#

Longbows and their draw hold tiring you out. Compound bow superiority, get a nice let-off so it's easier to hold in place once you pull it back far enough

inland rain
#

The absolute limit of my visual artistic abilities: marshmallows

tulip holly
#

hey i have a question as an absolute beginner to stardew modding & c#. what is the load order of stardew and how does it operate? i mean as in which files it loads first till last(or just the way the mods interrupt that order) and generally the logic behind injecting layers or editing/adding data through frameworks such as content patcher. i wanna know the logic before starting the mods if that makes sense and would appreciate any help!

lucid mulch
#

Only thing you can actually rely on is that mods load after their listed dependencies
and for stuff in the asset pipeline there is a priority system you can use to override load order

#

but thats mostly content patcher respecting that, C# mods are less attached to mod load order as it depends on the timing they used to register the event and if they had put any priority overrides on the event for handling asset operations

hard fern
#

๐Ÿค” is it possible to add additional produce to fruit trees or not?

mighty ginkgo
tulip holly
# lucid mulch Only thing you can actually rely on is that mods load after their listed depende...

meaning if i load an NPC's usual activity, afterwards i would load/edit/layer a change i created and then it would continue
or
it loads vanilla stuff first, then goes to the mod directory through smapi im guessing, and then content patcher does things through detecting files that command it to change stuff in the original data of the game?
or
same start as the last one but just layers on top of vanilla through smapi and content patcher each time you open the game

hard fern
#

i'll just make my own framework then im kidding i could never

tulip holly
lucid mulch
# tulip holly meaning if i load an NPC's usual activity, afterwards i would load/edit/layer a ...

The way the asset pipeline works (which is what Content patcher is an interface for) is that for a given asset (eg Data/Characters) there will be a single load that runs, if no load happens then smapi will fallback to trying a vanilla xnb load.
If vanilla also is missing that file then the asset load fails and an exception is raised.
If something loads, then the edits will run, sorted by priority and tie breaker is mostly done by load order, though its only since CP2.0 that cp patches even had access to priority and the world operated fine.

#

Within content patcher internal to a given content pack, in general the patches run in the order defined, earlier patches running before later patches (for a given asset at least)

tulip holly
#

so it goes to each folder in the mod folder individually(in some order alphabetically or not) goes through each json file and does the changes?

lucid mulch
#

mods get registered in roughly that order (but as a mod author you have no real agency in the folder name or relation with other mods)

tulip holly
#

and on a different note, how do i get information in game while making the changes. for example, i want to see the hex value of the color of the hair of the player and make a new NPC have that color in their hair? meaning outside of the mod loader or do i need to do it based on a saved game, but then how will it work on a new game?

tulip holly
lucid mulch
#

the manifest.json that all mods must have lists the dependencies

#

mods get found by searching the filesystem and the filesystem itself is roughly alphabetically sorted, but the dependency system can... delay your initialization until your dependencies are initialized.
there is no mechanism for a mod author* to load before something else, only after

lucid mulch
tulip holly
#

can i ask what defines a C# mod and if you have a guide/tutorial/code i can reverse engineer on how to begin writing the code? i know a few coding languages but never c# and never modded before

lucid mulch
tulip holly
#

thanks mate, appreciate it

dusty scarab
#

Say, when working on a custom map, is it better to pass things such as warps - from content patcher or the map file itself?

calm nebula
#

Either is fine! Just note you can't use CP tokens in the map file

delicate smelt
#

how to add a button in game menu?

brave fable
#

though i've not used it myself, so i don't know how it works โ˜€๏ธ

red egret
#

How do I go about changing what season do the crops grow in?

dusky sail
#

Content Patcher EditData, Target Data/Crops

red egret
#

aha ty

dusky sail
#

There's more to it but im not at my computer rn and i dont wanna specify incorrect information

red egret
#

np i will try what i can

#

is there a list of the crops numbers somewhere?

#

ah nvm found one

obtuse wigeon
#

I have a question about Content Patchers "When" condition, I have this action:

{
    "Action": "Load",
    "Target": "Maps/zzz_AtlasV_StoneWShadow",
    "FromFile": "Maps/Assets/zzz_AtlasV_{{season}}_StoneWShadow.png",
    "When": {
        "HasMod |contains=DaisyNiko.EarthyRecolour": false,
        "Material": "AutoDetect"
    }
},

Does a "When" condition like this mean this action occurs when the material(config option) is autodetect AND earthy recolour isn't present, or does it mean autodetect OR earthy recolour isn't present

obtuse wigeon
#

Perfect thank you

gentle rose
#

just saw the bug report on the mod page, are there no guards against bad audio files crashing the entire game?

(also, what does "tier 2 audio player" mean?)

ancient vine
obtuse wigeon
#

Trying to do config stuff, can you use something like "When Auto Detect option isn't selected" something like "HasMod |contains=<modName>": false but for a config option?

gentle rose
obtuse wigeon
ancient vine
#

I use Dispose() to stop the audio when exiting to the main menu too.

gentle rose
#

(I'm also not sure how you're calling it manually tbh haha)

lucid iron
#

Normally i only make dispose for IDisposable impl blobcatgooglyblep

dusky sail
#

just list everything that isn't autodetect

gentle rose
#

I'm not sure about why the reaction, I genuinely would like to know what you're doing to call the method manually out of interest

hard fern
#

theoretically, if i hypothetically wanted to make a mod that lets you add additional produce to a fruit tree upon harvesting, (so like, shaking an apple tree and getting apple + something else) how would i possibly go about that (asking for a friend)

obtuse wigeon
dusky sail
#

it'll only apply the one that's actively selected

obtuse wigeon
#

Ohh okay, thats perfect then, thank you!

dusky sail
#

in better words (rewording for my own neuroses not necessarily bc im concerned you didnt understand) a config token can only ever be one thing, so if it's a {{Material}} token it'll replace it with the one thing. But the When condition with multiple options inside the "" acts like an OR condition. so the condition will activate if Material is any of them

past knot
#

Does anyone know how to make an NPC a roomate candiate instead of marriage. Can be romanced has to be set to false, I know that

hard fern
#

you need an item with the "roommate_<Npcnamehere>" context tag iirc

gentle rose
#

"rewording for my own neuroses" same

#

I do that so often lmao

obtuse wigeon
dusky sail
#

im glad you benefitted as well then!

ornate trellis
#

hm, i wonder when we will get toe UIIS2s custom tree label thing thonking just so i have, like, a timeframe or something

delicate smelt
#

i wanna add a button in game pause menu,when press this button,open move farm buildings menu,but my code doesnt work,this button is not show,why

bleak spade
#

I'm struggling with the lampposts on my new Town map redesign. What's the simplist way of removing the vanilla light tiles and loading the new coordinates for DayTiles NightTiles and Light properties?

#

Because I've tried but there are still lights where the lampposts used to be, and no lights where they are now

#

I've tried both map properties in Tiled and in the content.json but it doesn't seem to fully work either way

#

(Both lampposts have been coded to light and show lit up in Tiled and content.json, but one isn't and the vanilla light placement is still showing)

plush helm
#

Any idea where I can find a tutorial abt adding/modifying a custom npc's "help wanted" requests? Ive found things about the special requests board but not the ordinary bulletin

vital lotus
#

assuming this the quest board outside pierre's, i think u can only exclude em

obtuse wigeon
#

I feel like I've seen content patcher mods adding new ones, so if you can remove them too you could do a bodge job by removing then adding a new modified one, however that may cause issues with compat

delicate smelt
#

do anyone knows how to add a new button in game pause menu,and when click this button,open move farm buildings menu?i tried to do it myself,but i met bug

hard fern
#

success

#

my tree now produces flowers and fruit

#

(randomly)

torpid sparrow
#

is cherry blossom?

hard fern
#

yeah

torpid sparrow
#

cute SDVpuffersquee

hard fern
#

what do players even use fruit tree fruit for in most cases ๐Ÿค” cooking? gifting? or money

torpid sparrow
#

i like how they look

#

and also cooking

obtuse wigeon
#

Visuals and cooking aswell, maybe wines if I don't have enough ancient fruit

hard fern
#

๐Ÿค” hmm i see i see

#

maybe i can make recipes for these flowers... but idk if i want to put that in a separate mod or not

#

eh i could put it up as an optional file

dusky sail
#

oh boy more recipes!!!!

#

i love having a giant cooking collection that ill never complete

humble timber
#

id say either config them to be optional within the main mod or additional file yeah

hard fern
#

yeah, the ideas i have for the recipes is kind of... random and varied LOL

#

and im thinking crafting recipes/machine produce bc idk what you're gonna do eating these. you could make tea, i guess....? potpourri?

obtuse wigeon
#

Making teas could be good, a different way of getting loved gifts for NPCs like the stardrop tea but not as over powered

calm nebula
#

Perfume

#

Bouquet

obtuse wigeon
#

You could make a crafting recipe or a machine for the flowers to turn them into something placeable on the ground for decoration, like small flower patches

calm nebula
#

Use bouquets to pair up the remaining npcs

hard fern
#

mm yeah.. maybe even pressed flower bookmarks as a gift

#

well, this is totally not the mod idea i had and still havent worked on

#

SDVpuffersweats im really good at finishing my wips i promise

obtuse wigeon
#

(please add a config for removing them from perfection if you can, I have so much stuff to craft already SDVpufferwaaah )

hard fern
#

oh, yeah, i wont forget to do that

#

generally the mods i made were kinda small in scale so i didnt include a perfection toggle

#

but for something bigger it would be a hassle to do everything XD

bleak spade
#

If I wanted to remove the vanilla exterior light source tiles using content patcher/Tiled, how would I go about doing that?

round dock
#

I yearn for more jewelry aSDVjunimouncer

bleak spade
#

(For instance, there used to be a lamppost somewhere but I moved it, but the light still appears at night)

torpid sparrow
round dock
shy harbor
#

Is there a way to split the code for my crop mod into different files or is it fine to have it all in one?

round dock
#

One will suffice

torpid sparrow
#

Jewelry does require you to get much more pixel per pixel SDVpufferwaaah

unreal spoke
#

You can split your content.json into multiple parts and include them if youโ€™d prefer that, though.

round dock
hard fern
#

SDVpuffersweats if you wait 5 years i might release my jewelry mod

patent lanceBOT
unreal spoke
#

โ€ฆ was I just ghost pinged?

torpid sparrow
#

In here?

bleak spade
#

Yeah sorry that was me

#

I replied with a question then realised the answer ๐Ÿ˜…

unreal spoke
#

Itโ€™s okay! I was just confused, ha.

bleak spade
#

I thought you were talking about lighting but then saw the post about crops

delicate smelt
proud wyvern
#

You never said whatโ€™s wrong with your code

calm nebula
#

Hi shockah!

#

Atra -> gym

shy harbor
delicate smelt
#

i added a "movebutton",and it should show when open pause menu,but it didnt

inland rain
#

you need to draw it manually

#

setting .visible doesn't do anything

#

I don't think?

delicate smelt
inland rain
#

there should be a draw method on the button

#

ClickableTextureComponent.draw maybe?

#

watch it's already a mod ๐Ÿซฃ

torpid sparrow
#

Modding fiend

inland rain
#

nvm

brittle ledge
delicate smelt
#

by the way,i also dont know how to define what it do after be clicked,i didnt find this method

inland rain
gentle rose
#

you see this tile? (spring_outdoorsTilesheet tile ID 598)

in farm_fishing, it's type dirt and buildable. in farm_combat, it's type stone

??? why...

(btw, none of the tiles similar to it in farm_fishing are dirt+buildable, they're all just stone)

gilded eagle
#

Im having a weird bug where im drawing a menu OnRendered, but the mouse icon keeps flickering as if it was being redrawn, does anyone know something that could cause this?

gentle rose
#

there's nothing special about the way it's being used in the fishing map, either...

#

I put lines of red tiles to the left of every place it shows up

hard fern
#

wonder if CA accidentally did that when he was making all the tiles next to it dirt

#

?

gentle rose
#

no, because those aren't buildable

#

strange

hard fern
#

๐Ÿ˜…

#

wow

gentle rose
#

oh actually the one below it is dirt + buildable on fishing farm, and just dirt on all the other farms SDVpufferthinkblob

#

oh I think it's to make the area in front of the warp statue buildable in the fishing map, because it isn't recessed into the wall like it is in the other maps

ornate trellis
#

hm, im trying to do MEEPs interactible tile thing to show an image but it doesnt work..

royal stump
bleak spade
#

Does anyone know how to remove a light effect from a vanilla lamppost that no longer exists?

#

I've removed a lamp but the area still lights up at night

ornate trellis
#

i might need help because i dont get any tile interaction at all thonking

bleak spade
#

Sorry to keep asking, but I hope someone is online who can help

fading walrus
#

(I think.)

twilit quest
twilit quest
fading walrus
#

Or the paths layer, yeah Thonk

twilit quest
#

Those would be where I would look first

bleak spade
#

This is what shows on Tiled (the circled area is what lights up)

twilit quest
bleak spade
#

I've also deleted the DayTiles and NightTiles and Light properties from Tiled to see what would happen and it is still lighting up the area

twilit quest
#

Hmm

bleak spade
#

(I've pasted them in a word doc so I didn't lose them)

twilit quest
bleak spade
#

Town and 17 86

twilit quest
# bleak spade Town and 17 86

That's definitely defined in the Map Properties. Have you tried it on a fresh save stripped of other mods? Another mod might be adding it

bleak spade
#

Ah good idea!

twilit quest
#

And - I've done this myself - make sure that the map version with the Light property removed is the one that you're actually using in your mods folder. ^_^;

#

I've updated a map and forgotten to copy it over many times ^_^;;;;;

#

But yeah, new save, stripped down, see if it works. If it does, either it's another mod interfering, or something carrying over - I've noticed that sometimes map properties don't reload after being changed.

ornate trellis
#

love it when i find the solution to my problem moments after i posted asking for help

fading walrus
gilded eagle
#

It is clearly being redrawn but i dont think i have any other event i can use

ornate trellis
bleak spade
tender bloom
#

Have you looked at the map properties with Lookup Anything?

bleak spade
#

What's Lookup Anything?

tender bloom
#

!la

ocean sailBOT
#

Lookup Anything is currently maintained by PathosChild, the creator and maintainer of SMAPI and dozens of other mods and all around cool person. Though Lookup Anything has been moved to 1.6, not all functionality is currently present. Machine logic, for example, changed drastically. A machine is NOT broken just because Lookup Anything shows no info. Once the dust settles, updates will most likely bring back these bits of missing functionality.

tender bloom
#

Interesting

#

I was hoping for. A link

#

If you enable some of the advanced options, you can look at tile properties, map properties, and other internal debug info for objects

bleak spade
#

Ooh that's interesting

gray bear
#

u can add a link to the command

blissful panther
#

PathosChild...

tender bloom
#

I cann but Iโ€™m on mobile

blissful panther
#

Lemme just... make a couple of tweaks to that. SDVkrobusgiggle

tender bloom
#

So itโ€™s annoying to format

gray bear
#

pathos has a child?

tender bloom
#

Could you also shorten it?

gray bear
tender bloom
#

It seems long and doesnโ€™t really actually say what the mod is

#

And while I agree pathos is cool maybe the command for LA isnโ€™t the place SDVpuffersquee

blissful panther
#

Yeah, I don't think we even really need half of that information in there now, right?

lucid iron
#

Pathoschild implements IPathos

gray bear
#

whats that

lucid iron
#

Y'know something i wanted for a while is a modifier key in LA

#

To enable complex lookup without going into gmcm

calm nebula
#

We need to have every command say pathos did a lot of things

#

Just all of them

#

Like !false

gray bear
#

pathos invented that

tender bloom
#

Lookup Anything is a mod that lets you view a lot more information about items in the game, as well as helps you debug when youโ€™re making mods if you turn on some of the extra information. https://www.nexusmods.com/stardewvalley/mods/541

Certain information may not be possible to view due to new 1.6 flexibility, such as <whatever is true>.

#

Good draft?

gray bear
calm nebula
#

Dont need thr last sentence

tender bloom
#

Is it still true machine logic isnโ€™t handled?

blissful panther
#

I like it! Not 100% sure what's true to go in there, though. SDVkrobusgiggle

calm nebula
#

I argue it should still say pathos is awesome

tender bloom
#

Haha

#

We could tinytext โ€œMade by Pathos, who is awesomeโ€ at the bottom

#

Instead of the last bit about whatever is is broken

calm nebula
#

Yes

gray bear
#

<whatever is true> is my favorite value

blissful panther
#

Yeah, is any of that information from the old command currently true?

#

Well, I guess the machine logic stuff specifically.

rigid oriole
#

I use LA all the time and look up machines in 1.6

bleak spade
#

I'm trying to use Lookup Anything but it's only letting me search spawnable items rather than light properties

blissful panther
#

Lookup Anything is a mod that lets you view a lot more information about items in the game, as well as helps you debug when youโ€™re making mods if you turn on some of the extra information.

Download from Nexus Mods.

Sadly missing the Pathos part. I don't know if he'd like that. SDVkrobusgiggle

tender bloom
#

But also I guess sort of subjective or something

blissful panther
#

It's definitely true! Subjectively, objectively true.

ocean sailBOT
#

New command added! You can use it like !la.

blissful panther
#

!la

ocean sailBOT
#

Lookup Anything is a mod that lets you view a lot more information about items in the game, as well as helps you debug when youโ€™re making mods if you turn on some of the extra information.

Download from Nexus Mods.

blissful panther
#

Much tidier. Thanks for doing basically the entire process!

tender bloom
#

Thanks for actually implementing it!

bleak spade
#

I've figured out the tile lookup thing

#

This is what it says

#

Where would I find out if there's a light property there?

obtuse wigeon
#

Are comments supported in the config.json generated by Content Patcher?

calm nebula
#

Afaik no

obtuse wigeon
#

Gotcha, I thought I'd check as comments aren't supported in json by default

royal stump
#

the parser used generally does tolerate and ignore comments, but they'll get demolished if a json file is ever generated/saved

#

(idk if CP specifically ever saves over config.json if it exists, though)

royal stump
bleak spade
#

Ah okay! Weirdly there aren't any light properties in my Town.tmx on Tiled yet they're there on the Lookup

blissful panther
#

They might be in the tileset itself.

royal stump
#

...except indoor and festivals only, so that's probably not why

#

ah, forceLoadPathLayerLights would also do it

bleak spade
#

This is what is showing

#

But in Tiled its this

#

Because I deleted the DayTiles and NightTiles and Light properties to see if that made a difference

royal stump
#

Town just uses the map property normally and not Paths, it looks like, so your edit probably isn't loading

urban patrol
#

map properties donโ€™t apply when you use EditMap instead of load

#

youโ€™ll have to do light in content patcher using text operations

#

because i assume you donโ€™t want to load the town map that would be very bad for compat

bleak spade
#

Just to clarify: I've made a replacement Town.tmx that replaces the entire vanilla one (although it's mainly small edits) - one of those is I moved some of the lamp posts around. However, when I tried to put in the coordinates of the new lamppost locations in the map properties section of Tiled it didn't work and the locations of the vanilla lamp posts still light up at night

#

So what I wanted to try and do is remove the vanilla light properties from the map, then find a way to get the new lamppost locations to light up at night

urban patrol
#

so you ARE loading the town map and itโ€™s still not showing up? strange

bleak spade
#

I'm assuming the vanilla light tile properties is coming through in my MapEdit town map

urban patrol
#

oh, yes, if youโ€™re using EditMap, it doesnโ€™t matter how much of the map you replace, it doesnโ€™t transfer map properties from Tiled so that would be why youโ€™re seeing vanilla lighting

#

if you want to remove and add to the light map property, youโ€™ll have to do it via a separate patch using content patcher

golden basin
#

I cant seem to get my closed message to work for my shop

#

if i were to link my shop on a json could someone take a look

urban patrol
#

which one, poppy shop or shaavarโ€™s animal phone?

golden basin
#

poppy shop

brittle pasture
#

(also your Items is inside the Owners entry, it should be outside of it)

golden basin
#

im not sure what that means

brittle pasture
#

you can look at the unpacked vanilla shop for examples

#

ClosedMessage also should be on the same level of the other fields, not inside Dialogues

golden basin
#

its just not workin yet but ill come back to it

bleak spade
urban patrol
bleak spade
#

Ah, so it targets the vanilla map underneath?

urban patrol
#

yep

bleak spade
#

Ahhh!

urban patrol
#

basically all EditMap does is replace tiles on the map

bleak spade
#

Would it be Search: 4? I guessed because 4 is the light property for the lampposts

#

And would that have to be within a new light-remover mod folder? Or can I put this into the custom town mod?

urban patrol
#

iโ€™ve never used RemoveDelimited, but i would expect for you to remove one lamppost light, you would search for โ€œ4 x yโ€?

urban patrol
bleak spade
#

Oh so put the light coordinates in Seach:

brittle pasture
uncut viper
#

nic can you double check that's actually the right format for text operations on map properties, im on mobile but at a glance the target field seems incorrect (also that snippet they posted isn't even using editmap)

stark wind
#

I have no idea if i had the problem when i started the game today, but I delieted a small mod while in game (CP) Cows, and now my cellar and spouse room are gone.

bleak spade
#

The cows have left and taken your spouse /jk

brittle pasture
ocean sailBOT
#

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

bleak spade
#

I've put all the light coordinates to remove in the 'search' field, what do I have to put in the Value and Delimiter field to replace them with nothing and have them be removed?

urban patrol
#

whoops sorry i had to help my mom move a table lol. make sure youโ€™re targeting Map Properties before lights with the text operations

#

value being an empty string makes sense to me, not sure about delimiter when removing things

#

if you want to see the format of the data youโ€™re editing, i think you can open your map in a text editor and find the map properties section. thatโ€™ll show you what to target

uncut viper
#

pretty sure you just can't use text operations if the value you want is a coordinate like that

#

because the value contains the delimiter

urban patrol
#

so would the move then be to overwrite it entirely? i was trying to get them to use Replace so that they could just modify vanilla ones with their own

uncut viper
#

yeah IDK any other way to do it besides c#

#

can just overwrite the vanilla ones completely with the same lights just without the one you want removed, set your patch priority to be super early, and hope for the best

urban patrol
#

yeah that sounds like it might be best

#

so @bleak spade ignore my suggestion about using text operations. instead add an EditMap patch and change the map properties to have the light values you want, and make that patch happen early if you want to increase chances of compatibility with other mods

#

thereโ€™s no such thing as AddLights like there is AddWarps, is there? i feel like that could be really useful, even if itโ€™s still accomplishable using other methods

lucid iron
#

add is doable as append text operation i think

#

the problem is text operation limitations when it comes to removing stuff

urban patrol
#

gotcha

#

out of interest does anyone know how text operations (specifically remove or replace) work? like do they iterate over a string to find x, or what?

lucid iron
#

yea

#

its a content patcher concept

urban patrol
#

does it stop once it finds x or does it run to the end?

lucid iron
#

i am confused by the question blobcatgooglyblep

#

theres different modes as u can see

urban patrol
#

i may not have enough coding knowledge to convey this lol. i assume the code uses a loop of some kind to look at the string

rigid oriole
#

Are you asking if it replaces first or all?

uncut viper
#

it splits it by delimiter then checks every entry

urban patrol
#

ohh so not what i was imagining okay

urban patrol
#

so when it splits it by delimiter it checks every entry and modifies the ones that match?

uncut viper
#

or just the first one

#

or just the last one

urban patrol
#

oh the user sets that i see

#

i know nothing about C#, only python and javaโ€”would it be 1) possible 2) relatively easy to make a framework that lets people do text operations via iterating over a string? the way i would do it in java would be using a loop and returning the modified string (i thinkโ€”itโ€™s been many years since i took that class)

blissful panther
#

C# is like a Java that hates you less.

urban patrol
#

GREAT because i dropped that class ๐Ÿ˜‚

uncut viper
#

the only reason ReplaceSubstring doesn't exist is because I didn't PR it at the same time I PR'd ReplaceDelimited, basically, so yeah, it'd be easy

urban patrol
#

maybe iโ€™ll dip my toe into that then! assuming i succeed, would it be better to PR it or release it separately as a framework? iโ€™m not sure of the etiquette there

uncut viper
#

Pathos is open to the idea of it in Content Patcher

urban patrol
#

excellent SDVpufferheart

obtuse wigeon
#

TIL that nexus doesn't use markdown, it uses BBCode, all that nice markdown for nothing

iron ridge
#

isn't perfect but usually works

obtuse wigeon
#

ngl I have no idea what the userscript directory is, I'll just re write it, atleast I'll get some practice in BBCode

iron ridge
patent lanceBOT
obtuse wigeon
#

Oh I thought I had to compile it myself to be able to use it, never mind๐Ÿคฆ

obtuse wigeon
#

Now that I have a mod that I'm happy with, could I request the Mod Author role please?

steep valve
#

Is there some way to use Content Patcher to add some sort of hidden variable to the game? I'm hoping to store a number related to a few specific characters without delving into any of the goopier coding aspects of modding

uncut viper
#

the answer is it depends on exactly what kind of data you want to store and exactly when you want to retrieve it

#

you cannot attach data to an NPC itself aside from what you can put in their CharacterData.CustomFields

steep valve
uncut viper
#

you probably want to increment a stat on the player then

steep valve
#

That seems what I'm looking for, except for the part where the stat will be removed when it reaches 0. Seems like something I'd need to be very careful about, which would be frustrating

uncut viper
#

your only other option is mail flags, which are just binary flags

#

if a stat reaches 0 and becomes removed you can always just increment it again later

urban patrol
steep valve
#

I'll have to look closer at Content Patcher and how it handles stats, then. Do you have a recommendation for a guide specifically on that topic?

uncut viper
#

its not content patcher handling stats

#

Content Patcher only interfaces with vanilla data

#

the game handles the stats

obtuse wigeon
steep valve
uncut viper
#

you want to read the Content Patcher documentation to learn how to use it and the relevant asset you want is likely Data/TriggerActions, as well as Data/Characters to edit their appearances

#

it doesnt interact with stats directly

#

you add a trigger action to the game (or some other means of firing the IncrementStat action whenever you'd like it to)

#

via Content Patcher

tropic remnant
#

Hello! I'm writing an event in the ScienceHouse and I can't get either of my NPCs to appear on screen. I'm pretty sure I have the right temporary map loaded (it triggers upon entering the farmhouse at night, but "takes place" in the ScienceHouse). Neither Sebastian nor Robin physically appear but I think I have their spawns loaded? The dialogue loads fine. Just my NPCs are invisible (and I don't think I made them invisible at any point). Edit: it seems to work fine if I put the event to trigger in the ScienceHouse and remove the temporary map version, but that doesn't work with the story I'm trying to do. ah well

uncut viper
#

Content Patcher doesnt even have a token for reading stats. it cannot read stats. but character appearances use Game State Queries, which are another vanilla mechanic and there is a GSQ for reading stats

steep valve
uncut viper
#

it should be quite simple, i think you just have a slight misunderstanding of what Content Patcher functionally is, but hopefully the docs make it clearer

pine elbow
#

learning c sharp is long but worth it

steep valve
# pine elbow learning c sharp is long but worth it

I'm in university for just that, funny enough. I've already got a semester of C# specifically under my belt. If you happen to know how to do the thing that I am trying to do in C#, I would love to discuss

#

I was just hoping that Content Patcher might, by some miracle, have this functionality so that I wouldn't need to turn to the dark arts

latent mauve
#

I also had some amusing weirdness in the form of invisible NPCs with shadows when I mistakenly tested an event that used the NpcVisibleHere <name> (alias was p) precondition when the NPC wasn't scheduled to be there yet. SDVkrobusgiggle

gaunt orbit
tropic remnant
# latent mauve would you mind sharing your event code? It could be something as simple as when ...

"2160420/f Sebastian 2500/t 600 2400/e 384882/w rainy/G PLAYER_NPC_RELATIONSHIP Current Sebastian Dating/n 21604Edit_10_H": "echos/-1000 -1000/Sebastian 6 24 0 Robin 8 18 2 farmer 1000 1000 0/changeToTemporaryMap ScienceHouse/skippable/viewport 6 20 true/pause 1000/move Sebastian 0 -4 3/move Sebastian -1 0 0 Robin -1 0 3/move Sebastian 0 -2 1/pause 200/speak Sebastian \"Dialogue.\" /pause 500/emote Sebastian 40/end warpout"

#

I've done other events like this (triggering in one location, loading in another) in Sam's house and it worked fine, so I'm unsure what's different here.

steep valve
gaunt orbit
steep valve
gaunt orbit
# steep valve Is it possible to mix C# and Content Patcher?

yes and no. You can't make a single mod that is both c# and cp, however

  • anything you can do with CP you can also do with c#
  • you can make a separate c# and cp mod, and package them together as a single zip.
    both techniques are commonly used
latent mauve
steep valve
gaunt orbit
#

how did it do it previously?

tropic remnant
latent mauve
tropic remnant
#

apologies I am fairly new to event coding@

latent mauve
#

Every vanilla example of a changeToTemporaryMap in an event shows warping the farmer and NPCs after it happens, but I'm not 100% sure on if that is required or if it just has to do with the positioning not being the same on both maps so it's just being used to realign the NPCs somewhere that makes sense.

tropic remnant
#

I could certainly add a warp for each NPC and see what happens!

steep valve
# gaunt orbit how did it do it previously?

It did not. This is a fully new thing that I'm hoping to add, eventually, maybe. Honestly, this is a very low stakes thing at the moment, but I'd like to know in case I decide to implenent this mechanic

gaunt orbit
#

aaaaah makes sense

tropic remnant
latent mauve
#

Awesome!

obtuse wigeon
#

Is it possible to read the config of other mods? I don't want to change anything in their config, I just want to be able to read their config so that if theres a setting that drastically changes something I can account for that?

uncut viper
#

not without a dependency called Cross-Mod Compatibility Tokens (CMCT) which adds content patcher tokens to do so

pine elbow
#

well gus the crop file all the crops are in it all their sprite how do i recolor just one sprite and refrence it

obtuse wigeon
#

Gotcha okay, do both mods have to have that as a dependancy or just my mod that reads the others config

uncut viper
#

just your mod

obtuse wigeon
#

Oh that's good to know

urban patrol
candid veldt
#

while working on my mod, I just learned that the ID for Leo's Song is sad_kid ๐Ÿ˜ฆ

sweet cloak
#

I still need to finish my mod but I haven't touched it in a long time
Having very little experience coding and trying to learn c# is hard

pine elbow
#

i heard recoloring is easier

ornate locust
#

That is a somewhat confusing statement, because recoloring just one piece of a sprite sheet involves doing an editimage patch with the coordinates and height/width so it knows what part of the image to replace

obtuse wigeon
#

I'm not sure how to word this but is there a way to remove part of the map overlay I put on a vanilla map without removing the vanilla map underneith? or is it better to split it into 2 tmx files and just not load the one that conflicts with another mod?

urban patrol
#

you donโ€™t have to split the tmx, you can just define two different rectangles in your EditMap patch and make on conditional on HasMod being false

#

clarification: have two different patches with different rectangles, i didnโ€™t word that clearly

obtuse wigeon
#

I completely forgot I could define the area that's applied, it's even in the json just commented out, thank you for the reminder

urban wigeon
#

Hi, so I'm trying to patch performLightningUpdate of Utility with harmony to obtain additional locations and not just the farm, mostly to allow lightning rods generate batteries outside farm, and its working without issues now, the only detail is that I wan't to recreate the lightning thunder effect and this is not working correctly in multiplayer split-screen:

if (Game1.player.currentLocation == location)
{
    Game1.flashAlpha = (float)(0.5 + Game1.random.NextDouble());
    Game1.playSound("thunder");
}

Game1.player is always obtaining the host player instead of the actual player, I guess cause this method only runs on host, so I was wondering, is there a way to check is there is an active player in the location, so no need to use Game1.player ? or obtain a second player with another method?

uncut viper
#

Game1.player will never grab only the host player. it will always grab the local player

pine elbow
#

generics are confusing as hell

urban wigeon
uncut viper
#

no, something else must be wrong with your code. Game1.player is always the local player. no ifs ands or buts about it

lucid iron
#

lightning is tied to Farm.lightningStrikeEvent

#

are you properly doing that bit

urban wigeon
#

yeah, thats why Im tryting to replicate the effect just with the flash and playsound, no need to access lightingStrikeEvent, as I said the generation of batteries is working fine, its only the visual and audio I want to replicate if another player is in the location of the lightning rod

lucid iron
#

Utility.performLightningUpdate is only called in mastergame (host player)

urban wigeon
#

yeah I guessed it was because of that that Game1.player is always the host, so theres no way to check if there is an active player in the additional location?

brittle pasture
# urban wigeon Hi, so I'm trying to patch performLightningUpdate of Utility with harmony to ob...

out of curiosity how did you implement this? asking because I will be interested with compatibility with Machine Terrain Framework (which adds custom lightning rods), and as well as Safe Lightning (not my mod, but also one you may want to take into account)
(MTF used to transpile performLightningUpdate, but switched to a conditionally skipping prefix so it can beat out Safe Lightning's own unconditionally skipping/reimplementing prefix)

urban wigeon
#

prefixing performLightningUpdate, just overriding the original behavior so instead of just checking the farm, checks for all my other custom locations

List<(GameLocation location, Vector2 tile)> lightningRods = new();
List<GameLocation> locationsToCheck = new List<GameLocation>
{
    Game1.getFarm(),
    Game1.getLocationFromName("Custom_MPF_Wilderness"),
    Game1.getLocationFromName("Custom_MPF_Forest"),
    Game1.getLocationFromName("Custom_MPF_Beach"),
    Game1.getLocationFromName("Custom_MPF_Riverland"),
    Game1.getLocationFromName("Custom_MPF_Meadowlands"),
    Game1.getLocationFromName("Custom_MPF_Hilltop")
};

foreach (GameLocation location in locationsToCheck)
{
    if (location == null)
        continue;

    foreach (KeyValuePair<Vector2, StardewValley.Object> pair in location.Objects.Pairs)
    {
        if (pair.Value?.QualifiedItemId == "(BC)9")
        {
            lightningRods.Add((location, pair.Key));
        }
    }
}
brittle pasture
#

is it also an unconditionally skipping prefix SDVpufferthink

pine elbow
#

you guys sometimes forget something about coding i do alot

brittle pasture
#

if so your mod won't be compatible with Safe Lightning; whoever has their skipping prefix runs first wins
(it can be somewhat compatible with MTF, as long as MTF's prefix runs first. 'somewhat' because custom rods won't work outside of the farm without further changes on my end)

uncut viper
#

you can check Game1.getAllFarmers or whatever its called

#

if you want the other players

urban wigeon
uncut viper
#

thats understandable, i just stress it is bc its a very important difference that could have significant impact on your code if misunderstood

lucid mulch
#

also that code wont work on farmhands anyway as non-alwaysactive locations dont have stable references

uncut viper
#

they wanted to know if they could check if a player was in another location, so if the farmhand is in the location then it should be fine

#

i would think

lucid mulch
#

if they are in it at the time, yes, but the other calls to getLocation iirc will return shadow realm locations not null

urban wigeon
# brittle pasture if so your mod won't be compatible with Safe Lightning; whoever has their skippi...

Yeah, for the moment in the mod I have this :p

if (this.Config.Lightning_Rod == true)
{
    harmony.Patch(
        original: AccessTools.Method(typeof(Utility), "performLightningUpdate"),
        prefix: new HarmonyMethod(typeof(performLightningUpdate_Patch), nameof(performLightningUpdate_Patch.Prefix))
    );
}

First I want the mod working, then I will work towards making if efficient and adding compatibility patches

tender bloom
#

The way that other locations work in farmhand MP is a little wonky I think? Like I think when you run โ€œdebug whereis Pamโ€ or whatever itโ€™s only 100% true on host

#

If thatโ€™s the shadow realm stuff

uncut viper
#

it would also be 100% true if the farmhand was in the same location as Pam or the location was AlwaysActive

#

unless thats what you meant by 100%

tender bloom
#

Ah yeah, I meant that on farmhand it is sometimes reliable and sometimes not

uncut viper
#

i wasnt sure if you meant "100% of the time" or "its like 90% as in itll say correct location but not coords"

tender bloom
#

I donโ€™t remember offhand which locations are alwaysactive and my current game Iโ€™m host, so i didnโ€™t remember exactly how reliable

uncut viper
#

the only ones you can 100% guarantee will be are places that Cabins can be built anyway

#

and even then, a mod might fuck that up

urban wigeon
# uncut viper you can check Game1.getAllFarmers or whatever its called

Working perfectly with this now, thank you

if (location is Farm f)
{
    f.lightningStrikeEvent.Fire(lightningStrikeEvent);
}
else if (Game1.getAllFarmers().Any(p => p.currentLocation == location))
{
    Game1.flashAlpha = (float)(0.5 + Game1.random.NextDouble());
    Game1.playSound("thunder");
}
#

It was working without this checks but It was annoying to hear the thunders when you were on mines or any other place outside the farm haha

#

and yeah, all the locations are AlwaysActive, i haven't had much trouble for now and this mod has been already up for quite a long time, I'm just doing some final retouches so all the additional locations work almost the same as the main farm

obtuse wigeon
#

Is there a command to regenerate terrain features from/using the paths layer?

brave fable
#

!rtf - like this, or something else?

ocean sailBOT
#

Reset Terrain Features (https://smapi.io/mods/#Reset_Terrain_Features) is a mod that lets you reset, clear, or generate everything that spawns on a map using an in-game menu. That's especially useful when changing maps mid-save, as the debris will otherwise use the old layout (causing things like trees in the water or bushes blocking exits).

obtuse wigeon
#

I'd prefer a command if that's possible, I just want to regenerate the bushes to make sure I've removed all the neccesary tiles on the Paths layer so I dont have bush growing out of the stone, it's not going to be a dependancy for the mod or anything, just for testing purposes

#

Oh wait no hang on that is what I'm looking for

#

I thought it was an action for the json files but nope, thank you!

vernal crest
obtuse wigeon
#

Unfortunately the unofficial update crashes my game on save load no error in the log either, it just ends.
Is there another way to regen bushes?

urban patrol
#

there's an action for it in BETAS i believe

obtuse wigeon
#

I don't really want to add it to my mod, I just want a one off regen bushes to make sure I removed the right Paths tiles

urban patrol
#

can you not load a new save to see?

obtuse wigeon
#

yes I can, I didn't think of that, I blame tiredness for that blunder, sorry SDVpuffergrimacing

urban patrol
#

no worries

dusky sail
#

Does the mod id automatically get prefixed to any custom items, or are their IDs just what I set them as. I think I confused myself

brittle pasture
#

yes, they are what you set them ass

#

you need to add {{ModId}} yourself

#

ok now I'm not gonna correct that typo SDVpufferwoke

round timber
#

good SDVpufferwoke

dusky sail
#

Thank you! Tbh no modid prefix is what i want so this works out well

brittle pasture
#

why not ๐Ÿคจ

dusky sail
#

I want two different mods of mine to be able to spawn the same item basically

#

And i do have a prefix on all my items its just not modid

brittle pasture
#

cornnucopia style I suppose

uncut viper
dusky sail
uncut viper
#

i wouldnt exactly call cornucopia a role model in this regard

urban patrol
gaunt orbit
#

asset stuff for sourcegen is done! Features:

  • invalidation and lazy-loading
  • if INotifyPropertyChanged is implemented, will notify when an asset property is invalidated
  • loading from local file
  • including entries in dictionaries/lists from local file (w/ automatic prefixing for keys)
  • use methods for loads/edits
  • export translations to strings file
    asset names starting with / are automatically prefixed with Mods/MOD_ID/
brittle pasture
#

(I will not do anything beyond pulling up this convenient fake shop menu, if you still want a LB-style overhaul and stare down the wacky farm warping code you're free to go ahead)

#

possibly newb question: what draw event do I use for stuff to appear above the active menu but still below the cursor

gaunt orbit
#

cursor is usually drawn by the active menu, so I don't think that's possible

#

may need to resort to menu replacement or harmony

brittle pasture
#

harmony it is (that button's already 50% harmony anyway)

wide lake
#

Just draw on top of the cursor and then re-draw it when you're done.

#

(Preferably by calling Game1.drawMouseCursor, and not by copying the draw code out of it like a certain quite popular UI mod does)

stuck thunder
#

I ran StardewXnbHack, but it's not giving me the cursors folder for some reason.
I need it for a specific sprite.
I ran it twice just to make sure, and it still didn't.
I am on Steam Deck btw (I use a dock connected to a TV and Keyboard + Mouse so I can use it as a PC)

devout otter
#

Not cursors folder.

#

A file named cursors.png