#making-mods-general

1 messages · Page 13 of 1

teal bridge
#

From a somewhat naive read-through, it looks like all that is really required for this to work is to call ShowConstructOptions("Wizard") (or replace "Wizard" with the "builder name" that is in the Building Data).

#

I'm not sure if that's doable in CP (I know next to nothing about CP) but it's one line of C#. Potentially, a bit trickier if it has to work with an actual NPC and be integrated with dialogue, vs. just an object or tile trigger.

latent mauve
#

Actually setting the Builder name in the Building data is possible in CP.

teal bridge
#

Yes, it is.

#

I'm just not sure if the ShowConstructOptions call can be done from a CP trigger.

latent mauve
#

Ah, the wiki decidedly says that part needs C# to build the menu

teal bridge
#

I think at least 99% of this can be done in CP and if there needs to be C# it's just a couple of lines.

lucid iron
#

i think you should add a tile action

patent lanceBOT
#

@rancid temple: follow up on the custom renovation decoration issue and the cooking recipe guide (6h ago)

lucid iron
#

to call this

teal bridge
#

Right, add a tile action and then hook performAction in the C#.

lucid iron
#

then ppl making maps just add the tile data (with the right builder name argument) and they r all set

latent mauve
#

Makes sense to me

teal bridge
#

Yeah, I suppose if someone wants to go create another "framework mod" to let any CP mod do this then that'll work too.

#

Otherwise, I think one of us could pretty easily add this to an existing CP mod.

hallow prism
#

STF had that

#

not sure if still working, but maybe a PR can be done?

brittle pasture
#

STF is deprecated and in maintenance mode

latent mauve
#

Isn't STF in performative-maintenance only status?

teal bridge
#

Yeah, I have it in my list because of some dependency and I get warnings about it.

merry rampart
#

im hesitant to use a mod that is deprecated

teal bridge
#

Don't worry about that.

brittle pasture
#

also correct me if I'm wrong but I think you also have to dehardcode Robin's messages after the build menu? Like if the building isn't an instant magical construction Robin will pop her mug out after building

teal bridge
#

Mainly what STF used to do is covered by CP now. All that's missing is the "action" code in C# which again is... a few lines.

brittle pasture
#

regardless of who was passed into the builder constructor

teal bridge
graceful warren
#

Hi is there a place where I can ask for help about a mod?

teal bridge
scenic tinsel
#

by the way, i have another question: so i still have modding alfa from the time i was working on my mod for 1.6 update before it came out. how do i-uh-exit it now 😆

brittle pasture
#

yeah then it would work, I was just pondering possibities for an actual builder framework

brittle pasture
paper sundial
#

Text is gray, are you sure it's installed, should auto update (Edit: auto-update is opt-in)

teal bridge
#

Sure, that's cool. As I said, if someone wants to make a whole framework for this, that's another way to solve it, but for what's being asked here there's no need to overengineer.

scenic tinsel
merry rampart
#

well this npc mod is nowhere near finished. im just unsure of how to get to the player to the custom area...

i'll consider all my options in the meanwhile

graceful warren
# scenic tinsel it's here!

oh it's not about installing a mod Or about issues with it (even though I do have issues with a mod called animated gemstones for some reason) but like I am stuck somewhere in it and it's a really popular mod so I thought if someone could guide me what to do ;-;

teal bridge
#

If you have the map itself in a working state, and you have the building working, I think putting it all together is easy, just come back and ask (if someone hasn't already done the er, framework).

hallow prism
scenic tinsel
hallow prism
#

(but also it was in case the code in it was in a state good enough to worth using)

#

anyway yes, i'd love the feature cool

#

i wanted VMV to have its own place to sell animals 😄

merry rampart
scenic tinsel
merry rampart
#

i havent done the house pixel art or interior yet

brittle pasture
#

yeah that sounds cool, and I admit I did think about making it, though I am a bit swamped rn in both real life and modding related things rn
so if any other C# modders lurking in here want to make a "builders and animal sellers" framework mod feel free to go ahead

teal bridge
#

Well it would help to at least have something to test, even if it's not entirely complete.

merry rampart
#

well if said mod gets released i shall be on the lookout for it

hallow prism
scenic tinsel
graceful warren
teal bridge
#

(For the record, and speaking only for myself, I am not that interested in making a "builders and animal sellers framework", but I'm happy to help add a quick "FooBook" action glue for a mod that needs a custom buildable shop.)

hallow prism
scenic tinsel
scenic tinsel
hallow prism
#

yes, but pls, don't sent me serpent hugs, those are scary! /j

graceful warren
rain verge
#

Can you replace / edit an image asset after it has already been requested & loaded into memory? Say if you want to change it on save load, for example?

brittle pasture
#

C#? you can invalidate an asset to trigger another load

ashen oak
#

Oh, I'm not patching the constructor; I'm patching a function that returns a StardewValley.Object that it just allocated via new

scenic tinsel
rain verge
scenic tinsel
#

but definitely ask in sve server

#

they most definitely know

graceful warren
finite ginkgo
#

(not to be that person, but if you're not making a mod, the appropriate channel for this conversation would be #modded-stardew)

graceful warren
#

Should probably try ask there too

ashen oak
#

Q: If I want to enable/disable a patch via config option, is it better to just have the patch method early-exit when disabled or should I actually Unpatch

tough crater
#

That reminds me of the Instant Animals mod. For whatever reason, that mod WILL NOT WORK for me

lucid iron
ashen oak
#

adds to ideas.txt

lucid iron
#

unpatching means applying everyone else's patch again

#

prob not huge deal if u patch some specific func somewhere but best to not do that too much

ashen oak
#

Eh, I don't expect it to happen much

proud wyvern
#

It should be mostly transparent to other modders

#

That’s what already happens if any mod patches the same method you did

scenic tinsel
#

@hallow prism i just checked pins and saw that beta is in the works currently. ahh i feel like i am so behind everything. did things change a lot for 1.6.9? also, more practical question: did somebody finally write a documentation/guide for appearances thing for 1.6? that is, to be able to change an autfit for the sprite in the event

#

back in february it was so unclear i couldn't figure it out

hallow prism
#

(while i was pretty active in the 1.6 alpha i have no special knowledge on the 1.6.9 beta)

velvet narwhal
#

why did my response ping shocka, sorry

brittle ledge
velvet narwhal
#

school internet is janky

scenic tinsel
brittle ledge
#

!moddingwiki

ocean sailBOT
brittle ledge
#

You want the second link here!

scenic tinsel
#

thank you very much

#

oh my god finally
thank you to whomever wrote that

#

back in the day i tried to make it work by pure experemintation. it didn't work SDVkrobusgiggle

brittle ledge
#

Airyn did it, I believe!

#

(he doesn't like pings but I'll pass it along SDVpuffersquee )

scenic tinsel
#

Airyn 🥺🥺🥺 i feel so bad he really really helped me. And he wanted to include my shane into his seasonal mod too before i got sick 😔

hallow prism
scenic tinsel
teal bridge
#

Am I correct to assume that tile actions in CP can specify the entire argument list? (Seeing as how I never use CP, I can only look at the performAction code here...)

rancid temple
#

If by that do you mean are they just a string that can be virtually any length?

teal bridge
#

Yeah, for Jen's thing, if the action is e.g. construct wizard, will that get translated into ["construct", "wizard"] for the args?

lucid iron
#

yes

#

Bolb i finished it

teal bridge
#

Oh, you did it already?

lucid iron
#
internal sealed class ModEntry : Mod
{
    public override void Entry(IModHelper helper)
    {
        helper.Events.GameLoop.GameLaunched += OnGameLaunched;
    }

    private void OnGameLaunched(object? sender, GameLaunchedEventArgs e)
    {
        GameLocation.RegisterTileAction(
            ModManifest.UniqueID,
            (location, args, farmer, tile) =>
            {
                if (args.Length == 2)
                    location.ShowConstructOptions(args[1]);
                else if (args.Length == 3)
                    location.ShowConstructOptions(args[1], int.Parse(args[2]));
                else
                    return false;
                return true;
            }
        );
    }
}
teal bridge
#

Well, that saves me the trouble.

lucid iron
#

its nice cus u dont need to patch anything kyuuchan_run

teal bridge
#

Oh, you put the whole thing in C#. I was doing it so you could put a tile action in CP.

lucid iron
#

yea the corresponding map edit is like this

brittle pasture
#

the code is registering a new tile action for CP

lucid iron
#
{
    "Action": "EditMap",
    "Target": "Maps/BusStop",
    "MapTiles": [
        {
            "Position": {
                "X": 26,
                "Y": 21
            },
            "Layer": "Buildings",
            "SetProperties": {
                "Action": "mushymato.CustomBuilderTileAction Wizard"
            }
        }
    ]
}
#

or equiv in Tiled

#

@merry rampart do u want a 1.6.8 build i only did 1.6.9

gaunt orbit
#

OwO custom builders?

brittle pasture
#

yeah we talked about this earlier

lucid iron
#

oh yes wren was the one with the new tile actions mod right DokkanStare

#

do u want to eat it

deep plume
rancid temple
#

I am doing something similar for my crane game overhaul but mine needs to be able to accept different values so it's quite a bit messier lol

lucid iron
#

that said i wonder if this will actually work with a real custom builder think

#

since i didnt have data to test that part

gaunt orbit
teal bridge
#

I don't see why it wouldn't, I looked all over for reference to the Wizard shop and there were hardly any in the game code, just the trigger for it.

#

It's all determined by the Buildings data.

brittle pasture
#

I think it should, Robin dialogue issues notwithstanding

teal bridge
#

But Jen can do that.

gaunt orbit
#

Yeah pathos did a LOT of work to unhardcode buildings

lucid iron
#

i did notice that when i put wrong string as builder it gave a divide by 0 error monS

teal bridge
#

lol, well that's important for a framework I guess but not if it's just some bespoke code for a mod.

gaunt orbit
#

That sounds like a bug

merry rampart
teal bridge
#

What is specifically 1.6.9 about that? I have the same method in 1.6.8.

rancid temple
#

The version of SMAPI/SDV they had while building likely

teal bridge
#

Right, but I'm sure if she copies that code it'll work in 1.6.8 too.

lucid iron
#

i can switch to my 1.6.8 install if you are testing your npc on 1.6.8

#

nothing to do with the func signatures

teal bridge
#

1.7.0 will be able to divide by zero and enjoy it.

lucid iron
#

it should work in both

merry rampart
inland cedar
#

I have a token that registered base on the save data to use for editmap. since it can only be read on the main player, is there a way to send that token to farmhand?
api.RegisterToken(ModManifest, "IslandProgressLevel", ...

chrome fiber
#

Could someone help me?
For some reason that used to work correctly but now it doesn't.

#

I'm trying to get the npc to change clothes for the festival. I used to do it correctly but for some reason now I can't get it to work, do I have to make any changes?

hallow prism
#

is walter your npc

#

are you using appearance system?

chrome fiber
hallow prism
#

ok so you're likely not 😄 (it's a new thing in 1.6)

#

!patchsummary pls, it'll help people to have more info

ocean sailBOT
#

Can you do these steps to provide more info?

  1. Load your save and view the content that should be patched.
  2. Type patch summary directly into the SMAPI window and press enter.
  3. Upload your SMAPI log to https://smapi.io/log (see instructions on that page).
  4. Post the log link here.
hallow prism
#

(on right day, while you're in the event)

#

i have to go, good luck

patent lanceBOT
#

@brittle ledge: mark that as depreciated (8h ago)

copper kestrel
shadow vortex
#

Alright. My simple little first mod is published. Thanks to everyone who answered my questions and helped me figure it out.

silk ginkgo
#

would anyone know why my custom spouse room i've made has the window lighting when there isn't one there? i've checked all the layer properties in tiled and there doesn't seem to be anything that affects lighting so i'm really confused and don't even know where to start to fix the issue

pine ermine
#

@wanton pebble Would this be a clean solution to your problem? (mainly the last two)

wanton pebble
#

... that would be helpful, albeit a little awkward since it'd be adding a dependency for an entire date

pine ermine
#

Yeah, I don't like dependencies either.

rancid temple
#

In this case it would be the farm house

old edge
#

Having a difficult time. What's the best way to stop an event from triggering when entering a map? I currently have the event set up to trigger with an Action map property which is the only way I wish the event to be triggered by the game!

silk ginkgo
#

ahhh okay

teal bridge
shadow vortex
rancid temple
teal bridge
#

Any particular message you want attached to it?

shadow vortex
latent mauve
#

Friends, before I finalize this code, can someone remind me whether or not this will add the new entries or overwrite the entire group of entries? I'm hoping it does the former and just adds the new ones.

"Action":"EditData",
"Target": "Data/AdditionalWallpaperFlooring",
"Entries": {
"Fireredlily.MoreWalls": {
"Id": "Fireredlily.MoreWalls",
"Texture": "Maps/wallpapers_3",
"IsFlooring": false,
"Count": 7},
"Fireredlily.MoreFloors": {
"Id": "Fireredlily.MoreFloors",
"Texture": "Maps/wallpapers_3",
"IsFlooring": true,
"Count": 9}
}```
#

(I have code elsewhere to load them in with those target/texture names)

old edge
#

I think I may have to add the map property with some Game State Queries using when conditions?

rancid temple
uncut viper
rancid temple
#

It'll only overwrite if your key (ex. Fireredlily.MoreWalls) is the same as one already in the dictionary

latent mauve
teal bridge
#

Alright, showcase post is up! (First time doing that, glad I didn't screw it up.)

old edge
#

ok then idk how to use gamestate queries yet.

uncut viper
#

game state queries go in "Condition" fields
(that's not the only place but they're most commonly named that/used in em)
game state queries are vanilla behavior

drowsy pewter
#

game state queries are inside the game file data for the game to read, content patcher When fields are for CP to read to determine what to put into the game files

tiny zealot
#

could not have put it any more clearly. bravo

latent mauve
#

Okay, so step 2 of my Wallpaper/Flooring endeavor... How do I go about adding them as objects that can show up in the catalog? I looked at Data/Objects on the wiki and couldn't find what I'd need to list the Type and Category number as.

lucid iron
#

anyone know if ilspycmd works on linux think

#

when i tried i can decompile to IL, but not to a project

#

it makes the folders and then give up

tiny zealot
#

ILSpy works (i use it. i think mine might be old though?). one sec, there's a weird bug when you're writing out a decompile

lucid iron
#

i am try to use the dotnet tool

tiny zealot
#

ah, i see. carry on then (i can't answer your question)

lucid iron
#

oh yea that is the behavior i observe on avalonia ilspy yes, which does work

#

the behavior for ilspycmd is that, i can decompile to 1 big il file

#

but i can't decompile to csproj blobcatgooglyblep

pine ermine
#

Are you getting any errors?

latent mauve
#

well, nevermind on my issue I guess-- the objects seem to have added fine, I just can't rename them anything but Wallpaper or add descriptions unless I figure out how to add them formally in

I honestly got so used to custom objects that I forgot that Stardew doesn't actually name or describe any of the wallpapers or flooring at all, it's all generic text.

lucid iron
#

sometimes i get free(): invalid size

pine ermine
#

Oh

lucid iron
#

beyond that not really think

#

it prob segfaulted somewhere

gilded comet
#

want to make an item that can instantly grow a flower when used (like a fertilizer, but.. yk) but i'm not sure what item type to piggyback off of & patch for

#

idk if that's too powerful either. it would be hard to get but

tiny zealot
#

i don't think it's that powerful, unless you have those ridiculous modded flowers

lucid iron
#

do you want it to grow actually immediately or grow the next day?

tiny zealot
#

seems to me the best case with vanilla flowers is 2 or maybe 3 extra fairy rose honey harvests per year, and that's if you aren't using GI for honey

pine ermine
#

It could be filesystem issues

#

Like maybe you're out of storage space.

#

You could try using sudo maybe.

lucid iron
#

oh sudo worked KasumiDerp

#

i have like 400 gb free space though

#

glad you stopped me before i attempted to write my own cli tool using the ilspy backend

#

unfortunately the output all belong to root now, but ill live

pine ermine
#

That's why it wasn't working

#

Something must be wrong with the output path you specified.

lucid iron
#

no i definitely had write perms to it

#

otherwise it'd fail at making the folders

#

rather than at making files think

tiny zealot
#

partition space?

lucid iron
#

must be some funny win32 vs posix file write deal

#

come to think of it this is possibly the same issue affecting another dotnet tool i was trying to use

gilded comet
#

i imagine that's just like Crop.growCompletely() ?

#

i haven't checked the decompile for that though one sec

#

i have an idea for the whole situation lemme try it before coming back for help

lucid iron
#

yay docs

velvet narwhal
#

smh not trinker

lucid iron
#

only selph is allowed to call it that

#

i'll offer optional selph only version \s

lone knot
#

Is there a channel to discuss mods in general?

lucid iron
#

nope

velvet narwhal
lone knot
#

Oh I see. Thanks ^^

lucid iron
#

this channel is for people who make mods

#

you are welcome here if you ever want to do one wew

velvet narwhal
#

time to huff some copium and program my own github with c++

pine ermine
#

Why?

velvet narwhal
#

school assignment

pine ermine
#

github, or git?

velvet narwhal
#

i didn't read it, but probably just git

pine ermine
#

You're gonna need a lot more than C++ to make your own github SDVpuffermlem

velvet narwhal
#

i get to do one of my graduate level classes alongside a +1 intro level class, yay! i just LOVE screwy university credits!

#

i will not continue off topic, but it did make me realize i retained much more than i thought i did when i dove into c# for modding and it screwed with me for this "no point pop quiz"

olive spindle
#

i do not understand. what is wrong with my content.json file. i dont know programming stuff but i was following a tutorial to make content packs for this mod pretty exactly? any insight would be invaluable thank u :)

#

also heres. alink to the tutorial idk if that helps

tiny zealot
#

!json here is a validator you can use for your json files. i can see right away that you have some curly quotes in there (only straight quotes will work for 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.

ocean sailBOT
calm nebula
#

(I'm putting my bets on a BOM)

tiny zealot
#

but the line 1, position 1 error probably means you have a byte order mark (BOM) in your file, and you should use utf-8 without a BOM (the correct way to use utf-8) instead

olive spindle
#

okie thank U all so much :)

calm nebula
#

Hi ichor!

tiny zealot
#

hello! thank you for typing faster than me

calm nebula
#

Get VSCode, we'll get you set up correctly

teal bridge
# tiny zealot seems to me the best case with vanilla flowers is 2 or maybe 3 extra fairy rose ...

Don't forget the Fairy Dust. The diamond is the "harder" component to get but typically by late game you've got a shed dedicated to those whereas you have to make a painful trade of land for fairy roses vs. the actual crops you want to keg & cask.
Not to say it's unbalanced or anything, just that it can in fact be a pretty powerful effect at one point in the game since instant growth -> instant fairy rose -> instant fairy dust -> instant iridium starfruit/ancient fruit wine which is about 6k each.

vernal crest
#

Remind me in 4 hours to make a new modgroup for vanilla-ish testing

patent lanceBOT
#

you bet your tail I will abagaianye! (#6206045) (4h | <t:1724740602>)

vernal crest
teal bridge
#

On the casks, not the crops.

vernal crest
#

Yeah missed a word lol

teal bridge
#

Since you can only build so many casks (well, unless you use a mod that lets you fill the quarry with them etc.)

#

And they take literal months to complete.

tiny zealot
#

it's a fair point. i did forget about fairy dust, since i don't use it much

teal bridge
#

Yeah and to be fair I did say late game, when balance matters less anyway. You're not going to be dropping stacks of diamonds on that stuff until you're already well into the millions and grinding for the gold clock/perfection waivers.

#

As the resident "dude who does vanilla-difficulty challenges" I just figured I should fill in the blank there, didn't mean to argue or anything.

tiny zealot
gilded comet
#

to be fair i can make it quite hard to get

olive spindle
#

OKAY i am hoping i am not interrupting but i fixed all my formatting stuff the programs u mentioned were all very intuitive thank u :) um so the issue i am facing now is my pathing and i am hoping it will be the last one. so i need to lead the game to the asset i want to integrate into the content pack right? but it cant find it. heres the code from the tutorial i was copying and my code, i assumed the "moddedDogTexture" in the reference would be the name of the mod folder of the hypothetical example but maybe its something else? it really was not clear what i was meant to replace that with

teal bridge
gilded comet
#

^^^ i think that's unbalanced in the first place

brittle pasture
#

what pet are you trying to patch? a vanilla one, one from another mod, or your own?

olive spindle
#

one from another mod :) the texture i am trying to patch is pathed to Mods/[CP] Elle's Cuter Cats/assets/FoldSolidFawn.png i thought

brittle pasture
#

that's the actual file name. you want the name of the asset that file is written into with the Load action

#

for example looking through Elle's Cuter Cats mod I see that the Elle.CuterCats.FoldSolidFawn pet has the asset Mods\\Elle.CuterCats\\FoldSolidFawn set as its texture

#

so you want TargetTexture as ["Mods", "Elle.CuterCats", "FoldSolidFawn"]

plucky reef
#

this is making me rethink one of the profession bonuses, the capstone of one is a crop growth spell

olive spindle
#

AH I SEE

#

thank u so much

brittle pasture
#

(side note but that mod's content pack format is surpringly CP-like. I wonder why they decided to go with their own format instead of just using a CP asset)

velvet narwhal
#

(Is it an older mod?)

olive spindle
#

no its super new

#

so sorry. like think? i think its still wrong but idk where i misinterpreted u

brittle pasture
#

that looks fine to me. do you get any errors?

olive spindle
#

YES BUT THATS MY FAULT SORRY I SAVED THE ILE TO THE WRONG PLACE

#

okay nevermind i Am still getting this error i have no idea why

lucid iron
#

Hm is it expecting you to have a content patcher pack for adding in the pets to begin with?

brittle pasture
#

they're editing an existing mod

lucid iron
#

So texture loads would happen

brittle pasture
#

Elle's Cuter Cats, which loads Mods\\Elle.CuterCats\\FoldSolidFawn

#

(it is enabled right?)

olive spindle
#

elles cuter cats? yeah that one works fine

lucid iron
#

Ah do you have extensions enabled

#

Could be that you have a FoldSolidFawn.png.png situation

olive spindle
#

MAYBE. should i just try removing the extension in the fromtexture?

lucid iron
#

(it sure is a novel choice to have paths be a list of strings)

#

No you should turn on extensions in file explorer and double check the file name for FromTexture

olive spindle
#

okay i turned on file extensions and i dont think thats it?

brittle pasture
#

and these are files in your own mod folder right

#

not Elle's

olive spindle
#

OH THAT MIGHT BE IT

brittle pasture
#

...side note though, from my understanding of how this mod works, you will have to include modified versions of Elle's animal sprites in your Pets Enhanced content pack. do you have permissions to do so?

olive spindle
#

oh this is just for personal use. i want to give my kitty a treat. also i am not going to modify them bc im not planning on using any of the features that would require edited sprites. im just very weird about the fact that i cant feed my pets in sdv thats all

#

is that fine? i guess im not sure of the etiquitte

#

i was thinking i might ask later once i know how to do it

#

becasue someone else was commenting about it

brittle pasture
#

I think personal use is fine?

vernal crest
#

I've never heard of permissions that don't allow editing for personal use.

glad grove
#

A little question about buffs: I did find the common buffs in StardewValley.BuffEffects but I wonder where status effects like "Darkness", "Oil of Garlic Buff" or "Nauseated" are being set

olive spindle
#

okie dokie ^_^ yeah the prospect of completeing an ENTIRE content pack is a little much right now this is jsut for me to have one feature i want. but maybe later

brittle pasture
tiny zealot
glad grove
lucid iron
#

You can use applyBuff(string) to pick any Data/Buff items

#

Many special buffs are hardcoded to do their effect

glad grove
#

But that's just limited to those ones, no?

brittle pasture
#

There's Buffs, and there's Buff Effects that each Buff has

lucid iron
#

I.e. Game specifically check for a buff id and then do stuff

brittle pasture
#

what you're linking is the latter

lucid iron
#

!unpack

ocean sailBOT
#

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

lucid iron
#

Do this if u haven't already

brittle pasture
#

and there's also a bunch of hardcoded effects as chue mentioned

#

for example I can define a Buff named "Jinkies" that adds FarmingLevel 2, ForagingLevel 3, but Defense -2

vernal crest
#

Are there any cons to lumping all my Includes into one code block instead of having one code block per file?

velvet narwhal
#

(visual clarity)

lucid iron
#

Well maybe later you are like, hm I need a When here

#

Besides that nothing really Bolb

glad grove
#

ty 🙂

brittle pasture
#

Nauseated is hard coded

vernal crest
#

Cheers. I think I will combine most of the Includes and separate the special ones.

brittle pasture
#

the game checks if the player has buff ID 25 (Nauseated) and does its stuff in the eating function

lucid iron
#

Since you are do this in C# anyways u can just give the player multiple buffs at a time

#

The nauseated id 25 plus whatever custom

vernal crest
#

Nope, changed my mind. If I do separate ones it will be easier to add comments explaining what code is in each file (like that my Data/Locations stuff is in hiria_maps.json) because future me will forget and because I always have to hunt around when other mod authors put theirs into different files than I would expect.

velvet narwhal
#

man, i forgot button added a machine ready action and now i'm like "wait i can actually make the spouse useful--"

glad grove
brittle pasture
#

your spouse using ancient junimo magic to make a 2 months cask instantly ready

modest dagger
#

#justEmilyThings

gilded comet
#

how do i make a HUDMessage with an icon

#

oops nvm

patent lanceBOT
vernal crest
#

Aye aye cap'n SDVpuffersalute

#

Right, I now have four mod groups. That should be sufficient xD

latent mauve
#

Somebody talk me out of making more mod ideas, I just saw the laundry machines in H&W's bathroom set and thought to myself "it'd be kind of neat if you interacted with the laundry machines and randomly found a copy of your spouse's shirt/hat/etc that got left behind in the wash and is yours now."

paper sundial
#

(Otherwise, bonus idea: Repeatedly washing the same clothing item has a chance to turn it into plain cloth)

latent mauve
#

My problem is that my brain wants to make more little mod mechanics instead of finishing art for my big in-progress mod

blissful panther
#

Maybe we need a modder analogue to the mod ideas repo!

"Here, I made this fun mechanic in a thing because I just wanted to get it out of my system, now someone take it and handle maintaining it for forever please thanks bye!"

gilded comet
#

and someone should scoop up a bunch of those mechanics and call it ConglomerateCore

deep cypress
#

Hi loves! I just wanted to ask for a bit of help: I am working on the multiplayer bug for PolyamorySweet Rooms. I am able to make the Hosts's spouserooms appear, but they are only seen by the hand. The hand's spouserooms are only visible to the host. In the host's house, the host sees only a shell room. In the hand's house, the hand sees only the glitched room. In the other's house, they can see the rooms correctly. What do you think would be where I should look at fixing this?

scenic tinsel
inland cedar
#

is GameLocation.Objects on farmhand only return initial map object, not the current one?

[game] {X:86 Y:69}Weeds
[game] {X:87 Y:29}Twig
...```
deep cypress
#

Am looking at that, at the old 1.5 code for building farmhouses, how they work together, comparing 1.5 code to 1.6 code... have got the stuff to almost work. But not quite.

scenic tinsel
#

Maybe something in the location is wrong. That would be my first guess guess.

deep cypress
paper sundial
scenic tinsel
#

maybe the issue is that it is trying to place farmer's spouse room into hand's house and this is why it is glitching out?

inland cedar
deep cypress
#

(Removed the embeds to make this all much easier for people to not have to look at the same thing 500 times)

#

The farmhouse gets made for each farmer, __instance.owner defines the farmer or farmhand

scenic tinsel
# deep cypress The farmhouse gets made for each farmer, __instance.owner defines the farmer or ...

okay i see! so from my limited knowledge i could guess that the issue is in the initialization. You may probably want to check that each spouse data is specific to the unique __instance.owner, and then initialize room characteristics based on the spouse data for the owner of the house. Then, maybe kind of similar with the issue i faced before you could implement some code block that would update all the present farmer's view? For example, after a farmer A initializes their room, share relevant data with other connected farmers B and C to update their view as well. Maybe it could use some event triggers.

#

it is not much but that's what i could suggest from the brief glance

deep cypress
#

I will look into that, thanks so much love!!!

hallow prism
#

well done myself, i'm pretty sure this action #$action AddFriendshipPoints NPC 20 is very effective when you DON'T replace NPC with the actual NPC name!

sleek aurora
#

I'm trying to make flavored vinegar and CP gives me an error. I don’t understand what I’m doing wrong, because I took the FlavoredMead mod as a basis.

Error:
[Content Patcher] Can't apply data patch "MKCrafting > Machine Rules > code/Machines.json > Modify Vinegar Rules" to Data/Machines: the field '(BC)12' > 'OutputRules' > 'Default_UnmilledRice' doesn't match an existing target

Code:
"TargetField": ["(BC)12", "OutputRules", "Default_UnmilledRice", "OutputItem", "(O)419"],

hallow prism
#

i don't see this rule in vanilla

sleek aurora
#

This is the code from FlavoredMead and it works
"TargetField": ["(BC)12", "OutputRules", "Default_Honey", "OutputItem", "(O)459"],

#

Or should Default_Rice be used instead of Default_UnmilledRice?

hallow prism
#

it should be the name of what is in the file

tiny zealot
#

if you want to use unmilled rice, you probably need to add a "Default_UnmilledRice" rule instead of trying to edit it (it doesn't exist in the vanilla Data/Machines entry. consult your unpacked files)

hallow prism
#

it's why i'm telling you i don't see it, because i don't know if you want to use the vanilla one (that has a different name), or made a default_unmilledrice that i don't know about

sleek aurora
#

Both, I need to convert the vanilla recipe and add my own.

hallow prism
#

then to target vanilla one you need to match the exact ID

#

to add your own you will do a bit differently

sleek aurora
#

How exactly do I add my recipe?

hallow prism
#

!vmv has example (search trash in the machine file for ex) i have to go prepare lunch, see if someone has a simpler example to provide 🙂

ocean sailBOT
#

Visit Mount Vapius (https://www.nexusmods.com/stardewvalley/mods/9600) is an expansion mod that adds a new region in the mountains. Accessible by train, you'll enter the hamlet of Glimsap, with its tight-knit group of villagers, that holds a market twice a week. You'll get to explore new places, fight monsters, get new crops and forage, trade local coins for exclusive goods, and complete tasks to unlock special items, including machines, buildings, and animals.

sleek aurora
#

Thanks

marsh wraith
#

posting this here instead of the modded-farmers channel coz i’m too shy to interrupt the conversation going on there 👉👈 but i finally uploaded my leo arts to nexus!!!!!!!!!

i think i followed the tutorials i looked at to a T, but plz do tell me if anything is dysfunctional or funky :3c

https://www.nexusmods.com/stardewvalley/mods/27104

Nexus Mods :: Stardew Valley

Changes Leo's portraits and overworld sprites for my redesigns!!!! :D

round dock
#

Post it in modded farmers too! SMCHeartHugs

scenic tinsel
dense jolt
round dock
#

FROG :3

scenic tinsel
#

one day when i stop to scope creep myself i shall also publish my mod SDVkrobusgiggle

languid aurora
#

is a mod really done unless it has a three times bigger scope than you intended?

vernal crest
#

!json Please share your json file so we can check it

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.

finite ginkgo
#

no not really

woeful pasture
#

I’m so happy my custom NPC can enter/exit a coffin now. One step closer to making a vampire NPC. SDVpufferwow

tribal ember
#

does anyone know where shane's coop is in the tilesheets?

#

i havent been able to find it:/

rancid temple
#

Maps/spring_outdoorsTileSheet

#

Which means it has seasonal variants on each of those tilesheets as well

scenic tinsel
hard sand
#

hiya!! i was wondering if there are any ways to edit a map without getting too deep into coding

i'm using a custom farm mod i quite like but there's a bunch of minor issues that drive me up the wall (mostly misaligned textures/walls without collision/forage being able to spawn in out of bounds) and by the look of things it's never getting fixed officially

odd badge
#

Hello, I have a mod that patches the "pullFishFromWater" function from the fishing rod with harmony postfix, it works in multiple cases but the postfix (and prefix as I tested) is not called when Ridgeside Village is installed together. How can I find what is causing this?

gaunt orbit
hard sand
#

oh thank goodness there's a tool for that

vernal crest
# hard sand hiya!! i was wondering if there are any ways to edit a map without getting too d...

Like Wren said, you can just open it directly in Tiled. However, editing maps requires very careful management of tilesheets (the images used to make the maps) to avoid breaking things. You'll need to make sure that you have all the tilesheets that the map uses inside the same folder as the map while you're editing it. That might mean unpacking the game's contents and copying tilesheets in the mod folder (or copying the map file into the game's Maps folder, which is another way to do it).

hard sand
#

sounds a little complex

i guess i'll just give up on it for now

vernal crest
#

If you're good at following step by step instructions, I can give you personalised ones to follow

pine ermine
#

Run it without RSV first, add a breakpoint inside your patch. When you hit the breakpoint, use a "step-out" or three to step-out into the function that called "pullFishFromWater" and add a breakpoint somewhere before it. After you added a breakpoint there, run it again with RSV installed, and when you hit the breakpoint, step through, 1 line at a time until you figure out what's going wrong.

#

You may have to decompile the game depending on which debugger you use.

rancid temple
#

Ugh, almost done with actually finishing my recipe page on the modding wiki, brain feels like pudding SDVpufferdizzy

odd badge
pine ermine
#

That's why you need to add a breakpoint to the function that calls pullFishFromWater.

vernal crest
odd badge
pine ermine
#

You can step out into the game's code when debugging your mod with Visual Studio.

teal bridge
#

You can? I've never seen the debugger do that.

#

I thought you needed the special top secret repo for debugging in-game code.

rancid temple
#

Mine does it all the damn time

pine ermine
#

When it says "source not found" there's a link that says "decompile code"

rancid temple
#

Because I'm shit at debugging

hard sand
teal bridge
#

Maybe I have Just My Code on and didn't realize it. They keep changing all the debug options around...

rancid temple
#

You can decompile that extra code yourself, it just isn't decompiled by default

vernal crest
#

Cheetos can one of you please make a thread for rafi and me?

rancid temple
#

I can, uh, I don't remember what all goes into making a thread lol, a name right?

ornate trellis
#

thats p much it

#

maybe a desc

#

remember tho that only the thread owner can change it(and jiunimos)

vernal crest
#

Please call it

#

Map editing instructions

calm nebula
#

Meow

ornate trellis
#

woof

vernal crest
#

Meow

#

Tēnā koe rokugin!

#

Oh goody that one doesn't get censored

#

I need a way to type macrons without having to copy and paste from websites

brittle ledge
#

Add the IME for your desired language? I have that for Japanese.

vernal crest
#

/goes to google IME/

grizzled hinge
#

hey all - sorry for the probably obvious question, but where are the backgrounds for junimo kart found in the unpacked content folder? new to this whole thing

#

having trouble finding them but i may just be blind

lucid iron
grizzled hinge
#

ahhh thanks! swear i checked there

lucid iron
#

the bg is parallax so it's not 1 nice image

#

also its bw for use with color

grizzled hinge
#

no worries, i know how to handle that

#

i'm porting it into Celeste and we deal with that stuff pretty often there

final arch
#

void postfixes prevent other postfixes from running I assume? 😅

#

for now you can set the priority of your postifx higher so it runs before ours (which runs with standard prio)

rancid temple
#

Postfixes shouldn't affect each other

rancid temple
#

Prefixes are the ones that don't play well together

#

And transpilers to some degree

final arch
#

so wasnt 100% sure... but yeah would be news to me too tbh

#

@calm nebula do void postfixes prevent other postfixes from running?

rancid temple
#

It won't stop it from running, but depending on whichever one goes last is going to decide what the final result will be I guess

#

If they're all trying to change the result

royal stump
#

postfixes shouldn't ever affect whether any method runs, including each other

lucid iron
#

that postfix seems fine, besides the possibly not needed ref on __instance

royal stump
#

I'd assume it's more likely they might affect each others' behavior in some other way, but it's hard to guess w/o context

lucid iron
#

we gotta check what amadeus' postfix is doing

royal stump
#

the harmony_summary command might help, incidentally

pine ermine
#

It's more likely that neither of the postfixes are running in this case in my opinion.

#

We don't even have confirmation that pullFishFromWater is even being called right now.

calm nebula
#

Are you sure someone else isn't eating the entire call

pine ermine
#

No, we're not sure.

#

I had them add a breakpoint to the function that calls pullFishFromWater and that's what they are working on now.

#

I see a lot of frameworks are distributed as their own mod. Is it possible to distribute an assembly with each mod? I don't know if SMAPI gives each plugin it's own AssemblkyLoadContext or not.

lucid iron
#

what type of framework are you taking about?

lucid iron
#

the content pack ones or the content patcher add on ones

calm nebula
#

Shockah has a PR that would give each mod a context but I don't know details

pine ermine
#

I'm asking for my own project, Stardew.Tasks.

teal bridge
#

SMAPI does support private assemblies, but you have to opt in IIRC.

#

My guess is that bad things will happen if multiple mods want to use the same private assembly, but I've never attempted it.

pine ermine
#

Making Stardew.Tasks into it's own mod seems like overkill though.

teal bridge
#

Most of us tend not to do it that way, though; Shared Projects are easier to manage. (somewhat)

pine ermine
#

What's a shared project?

lucid iron
#

you can have project ref to some common thing

pine ermine
#

Oh, a project reference in a monorepo

#

Stardew.Tasks is suppose to be something any C# modder could use.

lucid iron
#

yea then that's just a core mod Bolb

pine ermine
#

So I need to make it a mod then.

teal bridge
#

It's not just a project reference, it's a reference to a Shared Project which doesn't use an actual DLL, it just includes the code directly.

lucid iron
#

i was confused earlier bc frameworks in stardew modding context usually refer to mods made for content mods to do stuff without C#

teal bridge
#

But yeah, if you want other modders to use it, well then you should just get it over with and make it a proper independent mod/API.

lucid iron
#

what are the features of Stardew.Tasks DokkanStare

teal bridge
#

Better to get it out of the way early because there are a lot of restrictions on what APIs you can expose.

pine ermine
lucid iron
#

ah yes the unittest stuff ukimasu2

#

but don't we just use it via nuget package in this case?

#

i thought it's not expected to end up in a user's actual mod list

pine ermine
#

For a the ValleyUnit.Sdk yeah, but Stardew.Tasks is a separate package that ValleyUnit just happens to depend on.

#

Stardew.Tasks just adds a buch of extensions methods for the IModHelpert.Events interfaces.

teal bridge
#

I might look at how Pathos has been doing it with the ModBuildConfig.

lucid iron
#

im not sure if this is the kind of thing that pintail can handle tbh, but ig you could offer it as shared project that other modders can submodule bolbthinking

teal bridge
#

Since this isn't really meant to be used by players, I think you sort of want to set something up so that assemblies are downloaded and referenced but not actually included in the release.

lucid iron
#

alternately sneak this into SMAPI itself as a PR kyuuchan_run

teal bridge
#

A private assembly might actually be the right choice here, but only used in "test/debug" configurations and not in release.

pine ermine
#

It has uses in actual release mods though.

teal bridge
#

Your call, but beware of scope creep.

#

If it's just for testing then you can design custom analyzers and build tasks to handle it without needing an actual mod. If you feel the need to make it an actual mod with an actual API, you're going to be severely limited on what kind of API you can expose from it.

pine ermine
#

It doesn't need an API though?

#

It works straight from any IModHelper instance.

teal bridge
#

I think you're missing something in here, somewhere... the only reason to have a framework mod is to expose some kind of API, whether it's for C# or CP.

#

Otherwise what is the point of it?

velvet narwhal
#

(slides in...... are quests given through mail still a c# coding requirement or have we circumvented it? i know we have the special orders but i'm assuming the question is about quests brought up with the lil accept button through mail)

teal bridge
#

Sorry, I'm not trying to be difficult, but you're kind of saying "I just want this to work like NuGet" and it just... doesn't. Not in Stardew.

lucid iron
#

need to add new Data/Quests entry ofc

pine ermine
#

So what you're saying is I'm required to only expose things via a "Mod Provided API"?

teal bridge
#

If its only purpose is to add extensions to an IModHelper and it maintains no state of its own then the options are either (a) a shared project that's included as a submodule, (b) a nuget package that has to be added as a private assembly (most modders will find a way to screw this up since it's rarely used and sketchily documented), or (c) an analyzer similar to Pathos's ModTranslationClassBuilder that silently adds code without changing the assembly surface at all.

#

Analyzers are your best option if you want users to be able to just add a NuGet package without being forced to take on in-game dependencies.

#

You could, rather than releasing the extension class as-is, release a source generator that essentially copy-pastes it into the target mod.

#

But yes, the only way different mods can talk to each other is through the Pintail API. Private assemblies are also a thing, but rarely used, and you're relying on the user of your tool/library/etc. to get it right.

#

We've all struggled with this problem more or less since we started modding; "here is some useful bit of code that I'd like to use over and over again, but it doesn't really work with Pintail and/or doesn't feel justified to make a framework mod out of". And the canonical solutions are monorepo + shared project, or separate repos + submodules + shared project.

brisk birch
#

Is there a way to launch SMAPI with the terminal through Stardrop? I can get the terminal if I launch thru Steam but I'd like to have my Stardrop profiles work

lucid iron
#

are you on mac

brisk birch
#

yeah

lucid iron
#

this is a known issue yea, you need to launch stardrop via terminal to get smapi terminal

brisk birch
#

I see

lucid iron
#

it'll replace stardrop's terminal

pine ermine
#

I could just release Stardew.Tasks as source package I guess.

teal bridge
#

You mean like using contentFiles?

pine ermine
#

Yah

#

I just gotta make sure I change it to use C# 8

teal bridge
#

Interesting, yeah. Didn't even consider that you could include source code files that way. (Hopefully they are actually included in compilation when you do that.)

pine ermine
#

They are

lucid iron
#

speaking of "bit of code to reuse", is there any built in generic for parsing string to generic type T?

pine ermine
#

I wish

lucid iron
#

i was use TypeDescriptor.GetConverter(typeof(T)) but it is not very convienant

teal bridge
#

You could use JSON for it.

lucid iron
#

hm but that means serializing modData dict to json and then back?

teal bridge
#

If this is modData then why would it need to be generic that way?

lucid iron
#

the use case is that i have modData key mushymato/ThisIsANumber yea

#

and i would parse it to int

teal bridge
#

Let me rephrase that slightly - how will your code actually know what type it is, at compile time, to choose the generic type arg? And if your code knows that, why does it need a generic parse method?

lucid iron
#

no i just dont want to write Parse func several times blobcatgooglyblep

teal bridge
#

I'm just having trouble imagining what kind of architecture that fits into.

lucid iron
#

would like to just use Parse<int>(somestring) and Parse<bool>(somestring)

teal bridge
#

You're storing keys in mod data but don't know what type they are until runtime?

#

But you still have to write Parse<int> and Parse<bool>, how is that substantively different from int.Parse and bool.Parse? Unless you're alluding to higher-order generics which C# definitely doesn't have.

lucid iron
#

hm yea now that we r talk about this i think im being too python brained again kyuuchan_run

teal bridge
#

There are solutions when dealing with non-primitive, user-defined types; for example, you can define a generic with new() constraint that also implements an interface, IParseable that takes ParseFrom(string). But I feel as though that's not really what you had in mind.

lucid iron
#

the actual convienance func i am wanting is a wrapper on Dictionary<string, string>.TryGetValue to get the string and then parse it to the expected type (likely a primative), or return to null if there's no string, or if it fails to parse

teal bridge
#

How do you determine the expected type?

#

This sounds like it can't be resolved at compile time and needs reflection somewhere.

lucid iron
#

but it sounds like what i ought to do is just write TryGetParsedInt and TryGetParsedBool for the types i know i need?

teal bridge
#

The dictionary in question is modData? You are trying to write some high level bridge that reads the dictionary with a schema, similar to how a JSON parser would look at the target type?

lucid iron
#

yea kinda

teal bridge
#

I'm not positive but I wonder if you could build a JObject or similar out of that entire dictionary and just treat it as actual JSON. This is assuming you're trying to deserialize to a known type. (If it's not a known type then I'm back to wondering about its purpose.)

#

Kinda sounds like a lot of work though, unless it's a very complex type.

lucid iron
#

yes on the known type, and yea it does seem like i should just avoid having to parse at all

teal bridge
#

So specific keys correspond to specific fields/types, it's not an arbitrary system in which the expected value type has to be guessed from the key, or some value prefix, etc... right?

lucid iron
#

Yeah the keys in modData are of known type since I (or the modders in general) would be the one adding stuff there Bolb

#

I doubt most mods need/want to deal with whatever keys in modData was added by others

teal bridge
#

It does sound like what you want is just a deserializer. I know JavaScriptSerializer used to work with string dictionaries, I think you can do it with Json.Net too.

#

Just copy the keys/values into a JSON object and deserialize it to your target type.

#

I mean, that's the most convenient way to do it given the tools already available. You could of course also write your own using attributes, source generators, or just general reflection kludge.

sleek aurora
#

I'm trying to make my own fruit tree, but the game complains about the texture:

[game] Failed loading texture MirandaKusland.MKCrafting/Items/FruitTrees/MK_Almond_Sapling.png for item (O)MK_AlmondSapling: asset doesn't exist.

Texture code:
{{ModId}}/Items/FruitTrees/MK_Almond_Sapling

Disk location:
Mods\MK Crafting\assets\Items\FruitTrees

What did I do wrong?

brittle pasture
#

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

hallow prism
#

yeah we need to see if it's properly loaded and all

brittle pasture
#

But if I have to guess you need to remove the .png part from the asset name

sleek aurora
#

File code:
{
"Changes":
[
{
"Action": "EditData",
"Target": "Data/Objects",
"Entries":
{
"MK_AlmondSapling":
{
"Name": "MK_AlmondSapling",
"Type": "Basic",
"Category": -74,
"DisplayName": "{{i18n:MK_AlmondSapling_name}}",
"Description": "{{i18n:MK_AlmondSapling_description}}",
"Texture": "{{ModId}}/Items/FruitTrees/MK_Almond_Sapling",
"Price": 3750,
},
}
},
]
}

drowsy pewter
#

thats not what your error says

#

wait

#

we need to see your texture load

#

please follow the json instructions instead of pasting portions here

sleek aurora
#

The validator shows the error Oops, found some issues with your JSON. But I took an example from a cornucopia, everything is the same except for the texture address and item ID. I don't understand what I should do 😢

lucid iron
#

do you want to send the link for people to look at

drowsy pewter
#

please just send stuff after the first time it's asked for

lucid iron
#

are you sure this is your entire content.json?

rancid temple
#

For sure it's not, or the error would be sooner than not finding a texture

sleek aurora
#

This is the part that adds the seedling as an object

drowsy pewter
#

well we need to see the texture load code

#

so please tell me if you have that or not

rancid temple
#

You should send the whole thing, your problem is not specific to this part

drowsy pewter
#

if you dont know what texture load code is, then please send the entire content.json file

#

or zip your mod and send it all, idk

sleek aurora
drowsy pewter
#

so you dont have any texture loads at all?

scenic tinsel
#

@sleek aurora https://smapi.io/json/content-patcher hey hey~ this is where you can upload and attach json files in the future~ first, it will tell you the errors you have automatically, second, you can just copy a link and send it in chat, so others can easily see your whole fileSDVpufferheart

drowsy pewter
#

Are any of your images working in the whole mod?

sleek aurora
#

Only wood and a keg of vinegar do not work. But I’ll finish the keg later

rancid temple
scenic tinsel
#

ah i see. didn't notice

sleek aurora
#

everything except the seedling

rancid temple
#

I don't see a Load for the texture of the seedling (sapling but still)

#

The same way you've loaded the textures for all your other things, you have to load the texture for the sapling as well

sleek aurora
#

This is in the files FruitTrees.json and FruitTrees_Sapling.json

rancid temple
#

Nope, I see where you're trying to use a texture you never loaded in those

sleek aurora
#

It seems that I did just that, only I corrected the path to the folder

scenic tinsel
drowsy pewter
#

If you're not doing that for anything, then i dont understand how you have any images working

grizzled hinge
#

(one more asset for fun)

rancid temple
#

Look at MK_Drill, you're literally doing it in there

drowsy pewter
#

Action: Load

#

this is what we call loading your texture

uncut viper
#

i wanna play Madeline kart so if you could just port Madeline into stardew too that would be great thanks

rancid temple
#

Based on the Russian comments, I'm guessing the language barrier is causing some issues

faint ingot
#

Hmmm is there a way to specify multiple time ranges? or do I need 2 full action blocks {
"Action": "EditImage",
"Target": "Characters/Shannon",
"FromFile": "assets/NPCs/Sprites/Shannon_PJs.png",
"When": {
"Time": "{{Range: 0710, 0750}}, {{Range:1930,2600}}",
"LocationName":"sdvhead.LawAndOrderSV_AboveJail"
},
"Update": "OnLocationChange, OnTimeChange"
},

vernal crest
#

!codeblock

ocean sailBOT
#

You can embed code in Discord using a series of three ` :

Your code can go here
Even if not a haiku
Just an example

For syntax highlighting, add the language code on the same line as the first (with a space between, like json). The usual codes are cs (C#) and json.

faint ingot
#
            "Action": "Load",
            "Target": "Cornucopia.MoreCrops/teabushes",
            "FromFile": "assets/teabushes_{{season}}.png"
        },``` sorry
drowsy pewter
#

lol

faint ingot
#

oops wrong code i'm bad at this lol { "Action": "EditImage", "Target": "Characters/Shannon", "FromFile": "assets/NPCs/Sprites/Shannon_PJs.png", "When": { "Time": "{{Range: 0710, 0750}}, {{Range:1930,2600}}", "LocationName":"sdvhead.LawAndOrderSV_AboveJail" }, "Update": "OnLocationChange, OnTimeChange" },

sleek aurora
#

Oh, suddenly I missed this moment, thank you 😊

vernal crest
rancid temple
#

Should be able to use Query

#

I'm not like 100% on the format of that though

faint ingot
#

I did ask something similar, at the time someone suggested using the individual times listed. This is a much larger block but if two ranges can't be used i can work around it

vernal crest
#

I know you can use two ranges, but I don't know if you can do so for time. I am trying to find where I have done it before.

faint ingot
#

also, that is a pretty amazing memory I think I asked over a month ago last time

vernal crest
#

Sorry to let you down, but I only remembered that someone had done so and it was only when I went to search for it that I saw it was you xD

rancid temple
#
"Query: ({{Time}} >= 0710 AND {{Time}} <= 0750) OR {{Time}} >= 1930 AND {{Time}} <= 2600": true

Maybe?

#

Gonna be honest, to me being able to use discord search at all is like a super power

#

It's the wackiest, most useless search I've ever interacted with and drives me insane every time I try to use it

lucid iron
#

it only really works if u hit the right combo of words

vernal crest
#

Ok since the double range setup that works with dialogue is one matching how you already have it (#making-mods-general message), I am going to say that you should definitely try rokugin's option.

lucid iron
#

in the future i can prob search from:rokugin wackiest to find this msg

vernal crest
#

It is terrible that you can't disable fuzzy searching

rancid temple
#

Except you will also get all results for wack and probably wacky and maybe event just EST because why the fuck not

uncut viper
#

god the ability to search for exact text in discord would save me so much headache

sinful schooner
#

is it possible to add Buildings using Content patcher?

vernal crest
#

Soz mate :P

faint ingot
# rancid temple ``` "Query: ({{Time}} >= 0710 AND {{Time}} <= 0750) OR {{Time}} >= 1930 AND {{Ti...

that didn't seem to work but maybe I have something else wrong. I will work around it. Thank you for trying. ''' {
"Action": "EditImage",
"Target": "Characters/Shannon",
"FromFile": "assets/NPCs/Sprites/Shannon_PJs.png",
"When": {
"Query: ({{Time}} >= 0710 AND {{Time}} <= 0750) OR {{Time}} >= 1930 AND {{Time}} <= 2600": true,
"LocationName":"sdvhead.LawAndOrderSV_AboveJail"
},
"Update": "OnLocationChange, OnTimeChange"
},

scenic tinsel
#

off topic: those who make pixel art for the mods and are not artists at all: how do you tackle your your impostor syndrome and avoid "hating" what you poured hours drawing into SDVpufferblob i thought if i step away, the piece of clothing i drew would look better, but it doesn't. it looks very "messy"

rancid temple
brittle pasture
#

(I moved the Data/Buildings schema at least, which is most of the relevant info)

vernal crest
lucid iron
rancid temple
pine elbow
#

Hey there guys, I wanted to slightly reshape the dining room renovation so I edited the FarmHouse_DiningRoom_Add.tbin, packed it back into a .xnb and threw it into the content/maps. It doesn't acknowledge changes but slightly breaks the side wall in-game. Am I doing something wrong, or maybe I should make a content pack out of it instead? (image 1 is what's supposed to be, 2 is what it is in-game)

rancid temple
#

You should definitely avoid XNB modding whenever possible (always)

faint ingot
pine elbow
scenic tinsel
rancid temple
#

XNB has some concerns, but the biggest issue I think is that you're just very unlikely to get any help with it

scenic tinsel
pine elbow
#

alright I'll make a CP mod and see if it works

rancid temple
#

At the very least, when you get stuck you can come here for help

#

(I was gonna correct that to if, but honestly even I still get stuck)

vernal crest
# scenic tinsel makes sense. i think i struggle with the good enough thing *siiigh*

I do too. For me, it helps to look at others' art - not just art that I think is better than mine, but also art that I think is worse - doesn't matter if someone else would disagree with me that my art is better than theirs - the point for me is to recognise that there will always be someone better and there will always be a way that something I do could be better, but also to be able to see that actually, from my perspective, I could be doing worse. It sounds mean but it's intended to be a reality-check, not a dunk on other people's work.

rancid temple
vernal crest
uncut viper
#

thats not a random parenthesis, theres a matching closing one

vernal crest
#

Nope, that was unclear

hallow prism
faint ingot
#

sorry I did try to use code block but it didn't format that time, maybe because it was in a quote-reply? Sorry I'm bad at discord.

vernal crest
#

There's a parenthesis set around the first AND pair but not the second.

rancid temple
uncut viper
#

i think the braces vs no braces thing roku is talking about is confusing me too bc where im looking at it it seems like it shouldnt have braces since its in the key?

rancid temple
#

Oh right, throw a second parenthesis pair around the second AND pair

#

You want it to evaluate both of those first and then the OR

uncut viper
#

you can actually probably just get rid of the Time <= 2600 check entirely

sinful schooner
#

is there a general Pixel = Grid Sqaure if that makes sense?

scenic tinsel
rancid temple
#

That's true, any time before 2600 is a valid time lol

hallow prism
vernal crest
#

Me either Lumi

lucid iron
#

do you mean render scale?

sinful schooner
#

prob

uncut viper
#

one tile is i believe 64x64 pixels

lucid iron
#

game renders at 4x by default

uncut viper
#

in screen pixels that is

lucid iron
#

so a 16x16 sprite like an item is 64x64 on screen

sinful schooner
#

i mean the amound of pixels in a grid sqaure

faint ingot
#

for now it is working to use two action blocks, I will see if I can play around with the query in a bit, thank you everyone for your help

vernal crest
#

What's a grid square?

lucid iron
rancid temple
#

If you mean in game, it's 64x64, if you mean in a tilesheet, it's commonly 16x16 but it differs depending on what sheet you're looking at

sinful schooner
rancid temple
#

Big craftables are 16x32

uncut viper
#

i assumed they were trying to calculate like what tile coordinate they'd be on if they were at x500 pixels and y270 pixels or something

rancid temple
#

Aquarium fish are like 24x24 or something right?

sinful schooner
hallow prism
#

this looks like maybe the building placement so 16 pixel for each tile

vernal crest
#

Oh for placing buildings?

sinful schooner
#

yea

vernal crest
#

Right. Well, each square is one tile and as everyone has been saying, each tile is 64x64 pixels in game but in your image editor you would be making it 16x16 for one tile (because the game renders it 4x the size)

#

It is 5am. Mistakes have been made SDVpuffersweats

rancid temple
#

Without knowing what you're trying to do, it's hard to know what kind of answer to give

pine elbow
#

Alright, I made the content pack, and now it's.. bugging differently

vernal crest
uncut viper
#

(speaking of mistakes, i finally fixed mine (using mathjax and colour coding to try and make my BETAS docs easier to read) and moved all the docs over to a personal website where i am finally free from the limitations of markdown formatting \o/)

vernal crest
#

Which...should be less painful than custom renos I think. Right roku?

pine elbow
vernal crest
#

Remind me in 6 hours to read the BETAS documentation

patent lanceBOT
#

Oh okay, abagaianye (#6207391) (6h | <t:1724806720>)

lucid iron
#

if you just filled it in with that 1 black tile then u should be ok

rancid temple
lucid iron
#

not having any tile would be a problem i think

uncut viper
#

(i even added a fancy button to bring up a code block example for all of the triggers if you need em SDVpufferheart)

vernal crest
rancid temple
vernal crest
#

(Are you still going to bring that up to Pathos?)

rancid temple
#

Yeah, I was trying to figure out how to word it yesterday but there was too much ambient noise (partner was home lol)

vernal crest
#

Fair

rancid temple
#

Definitely also that very mild anxiety of pinging Pathos lmao

pine elbow
#

So if I'm removing this part, it's as if I'm shifting the map to the right?

#

can I just fill it all with black squares instad?

lucid iron
#

what does it look like in the game rn?

#

or are you getting smapi error

rancid temple
#

Technically but also I think you just have to fix the rect transform the game is expecting

vernal crest
#

That part on the left doesn't matter

#

It's the fact that you've made it longer that is the issue

pine elbow
#

the piece with the palm is the only working wallpaper tile though

#

I don't really think I've made it longer..?

vernal crest
#

Although maybe removing the bit on the left is messing with the rects

pine elbow
#

or have I

#

Damn

rancid temple
#

Interesting, I assumed because it was a vanilla renovation that it wouldn't run into the decoratable location issue

lucid iron
#

i think this is cus there's another renovation there

#

to blow up the wall between kitchen and dining room

#

need to edit that to match

vernal crest
#

Vanilla size dining room

#

Yeah I think you're right Chue

pine elbow
#

Alright yeah, I shouldn't have meddled with .xnb, I've actually lost the vanilla file

#

Oh well it's a matter of 5 minutes

lucid iron
#

!reset

ocean sailBOT
#

Please reset your game files. This will fix any broken game files, but won't affect your save files or mods.

If you use XNB mods, see using XNB mods for more info about why they're deprecated, and a list of Content Patcher alternatives.

rancid temple
#

Yeah, that's another problem with XNB lol

vernal crest
#

I'd also recommend using a better method for unpacking your game contents so you can use .tmx files for your maps instead of .tbin

rancid temple
#

Man, now I'm about to test messing with vanilla renovations to see if they also get broken

vernal crest
#

Because .tbin is old and stinky

#

(Real reason: .tmx allows for tile rotations and editing the XML directly using a text editor and .tbin doesn't)

#

ī

#

Macrons!

pine elbow
#

Tile rotations sounds so sweet

vernal crest
#

Tēnā koutou!

#

(Hello everybody)

pine elbow
#

alright I've re-downloaded the game files, let's see if the original room works, if it does I'll try it without stretching the room downwards

vernal crest
#

If I get really frustrated because some part of my keyboard isn't working properly, please someone remind me I have changed my language to Māori!!

patent lanceBOT
lucid iron
#

cant you just switch with win space think

rancid temple
#

I don't actually know how to use quotes once they're made

vernal crest
#

Switching is easy! Remembering to switch is not easy lol

#

.quote 6231

patent lanceBOT
#
#6231

If I get really frustrated because some part of my keyboard isn't working properly, please someone remind me I have changed my language to Māori!!

vernal crest
#

Eyyyyyyyyy

lucid iron
#

sometimes i accidentally go to chinese IME when i code and put 。instead of . lol

rancid temple
#

That honestly feels just as hard to remember as the original message lmfao

vernal crest
#

xD

pine elbow
#

tfw when my spouse walks out of bounds and doesn't let me place the renovation down

velvet narwhal
#

"goodbye boundaries of this world, i'm going to a different game"

lucid iron
#

do u want to go to the universe where sinitic languages ppl invented computers and we gotta do like

公开 类 模组入口 : 模组 {
}
vernal crest
#

Apparently the Māori keyboard is identical to the Australian English keyboard except for allowing the use of tilde+vowel to add a macron. So I am safe!

#

I have changed my Windows display language to Te reo Māori and now I am in trouble because I can't read it

rancid temple
#

Well, no problems there

pine elbow
#

Huh

#

Well I got it working too but I have the wallpaper issue

rancid temple
#

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

rancid temple
#

Primarily wanted to make sure the issue with wallpaper and flooring that custom renovations have doesn't apply to modifying vanilla renovations

pine elbow
#

the only error it found was the version, i had 1.8 instead of 2.3.0

#

thanks a lot for the file

rancid temple
#

Generally, you'll want to be using the latest version (currently 2.3.0)

#

I know there are some cases where you want an older Format to force SMAPI to do some conversion stuff, but I don't know them

pine elbow
#

yeah, I just snatched the config from some other mod I had

#

the worst (or best) thing is that after I get it working I'll spend a couple of hours decorating the room because everything has to be P E R F E C T

rancid temple
vernal crest
#

It is

pine elbow
#

I spent like 4 hours for these 2 rooms

pine elbow
#

couldn't get my own to work

#

womp womp i guess

rancid temple
#

If you ever feel like tackling it, you can always use mine as a reference to see what's different

#

Referencing other peoples mods is the best way to learn

velvet narwhal
#

the hardest part is figuring out what mod to learn from

rancid temple
#

Yeah, you can basically grab Cornucopia and VMV and have quite a lot of it covered lol

#

Though, if you're new jumping into those can be daunting

velvet narwhal
#

don't learn from me, i am a problem

pine elbow
#

honestly I do very tiny alterations and do them rarely, plus so far everything that I've done has worked with no issues

#

and while I'm curious to learn a bit more about modding I don't really think my curiocity will overpower my desire to just play the game

rancid temple
#

Fair enough, everything I've actually released on Nexus has been stuff I made because I wanted to use it lol

#

Everything else I do for the sake of learning or teaching

pine elbow
#

the only thing that I might be overly curious about is making the mod that makes the time not pause in singleplayer

#

I've seen it done in Ridgeside Village because when you're fishing in the Ridge Forest the mobs are actually still hitting you, and the time is still going

#

At least I think the time is going, since mobs definitely do

rancid temple
#

Harsh, the only reason I still fish is because time pauses lol

velvet narwhal
rancid temple
#

Otherwise I find it too boring despite being the best money early on

pine elbow
#

I really like fishing, it just makes my brain release happy chemicals, and ever since I started playing alone I just noticed how looooong the days have become

#

plus I spend a lot of time talking to people, and when I've already done everything and talked to everyone and it's still like 7 PM I don't feel like finishing the day

#

but I don't have anything else to do so I just walk back and forth until it's like 10

lucid iron
#

the ridgeside forest thing is a FTM quirk i believe

rancid temple
#

I used to get really hung up on "using the whole day" but now I'll just got to bed at 10 AM, screw it

lucid iron
#

if you kill everything around you and manually freeze time the monsters wont spawn

pine elbow
#

What I found to occupy myself for a few days is purposefully doing all the quests that I have hanging

#

Although I think that I shouldn't complain because I haven't even been to ginger island after having unlocked it like 1 year ago

#

I always wanna go there from the very morning, but I always find something to occupy me until like 2 PM and then I like "eh, I'll go there tomorrow"

rancid temple
hallow prism
#

me searching on nexus "weird, i thought this was named wildflower something"
Big mistakes, it's wild flower something!!! totally different

sacred crag
#

I need a project.

#

A project I'm not gonna stop working on halfway through.

vernal crest
#

I had to slow time down because I was getting so stressed about getting things done. Sometimes I don't even finish tending to my farm for the day (crops, animals, machines) until 5pm

rancid temple
#

Nexus: search is too strict
Discord: search is too wild and free

sacred crag
#

But also I need to get rid of several projects I don't wanna do anymore.

velvet narwhal
#

the modder paradox

#

or better known as: the adhd paradox

vernal crest
#

Solution: make new project extremely tiny

rancid temple
#

laughs nervously in dozens of unfinished projects

next plaza
#

So many partially made mods

lucid iron
#

have u considered making a new arcade mini game for stardew it'll be very fufilling trust

velvet narwhal
#

don't believe chu

hallow prism
#

i like having some stuff already started, when i finish something it's easier to continue stuff than start from scratch

velvet narwhal
#

i think we all have at least one minigame in our pocket to start or work on

vernal crest
#

"When I finish something". Wonder that's like lol

next plaza
vernal crest
lucid iron
#

im bad at both of the minigames it's too much reaction speed for me

next plaza
#

Mini games? More like many games

calm nebula
#

These days I concern myself more with silly little python scripts that make my day to day life better

velvet narwhal
#

atra would offer a knitting mini game

calm nebula
#

It's great

#

I'm freeeeeeee

vernal crest
#

I'm imagining a python script to knit for you

rancid temple
#

Ugh, I really do want a skee-ball minigame now though

lucid iron
#

one day i'll get over fear of pixel art and make a bird pack i think

next plaza
#

Atra if I make you a knitting minigame would you get back into modding (/s, I know the answer is no)

lucid iron
#

need this creature on my farm

rancid temple
#

He looks loud

velvet narwhal
#

knitting minigame to create your own rugs /j

lucid iron
#

nah these dumb birds just stand beside the water and do nothing all day

velvet narwhal
#

just like me

lucid iron
#

i only ever seen 1 vid of their call

next plaza
#

Man you took my joke

#

I was gonna say like me except the computer

vernal crest
velvet narwhal
#

pau is a demon, we don't listen to the demon in our thoughts

rancid temple
#

Pau is the minigame tycoon

lucid iron
#

they have retractable neck though, unsure how that's gonna work in stardew with sprite bounds

velvet narwhal
#

i mean we have toppest of hats for fashion sense

lucid iron
#

yea i should amend "stardew" to "ornithologist's guild"

rancid temple
#

Just gotta patch draw and make your own sprite limits

teal bridge
dense tartan
#

Oh! I forgot to tell all y'all that I finished v1 of my Christmas mod! Thanks to everyone who helped me here.

ocean sailBOT
#

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

rancid temple
#

@ivory plume ran into an issue with adding custom farmhouse renovations that are supposed to have floors and walls that can be changed. The renovation is using the tiles from the walls_and_floors tileset as placeholder, but the walls/floor on the override that's applied can't be changed and don't switch to their defaults. When attempting to put a wallpaper or flooring down it consumes them but doesn't change.

Felt like the image might be pertinent, though I'm unsure what the StaticTile component is or how it factors in. Please let me know if you need anything else.

hallow prism
#

You have all the needed data? My custom farmhouse had same issue because i was missing a data

dense tartan
#

Without trying to sound like I'm begging, would it be possible to get a mod showcase of my holiday mod?

rancid temple
hallow prism
#

Ok! I remember some map property being needed and im not sure if renovation add those

#

(My phone definitively adds typo however)

rancid temple
#

Added the AdditionalRenovations, FloorIDs and WallIDs

round dock
vernal crest
#

When I was testing I am 100% certain that I had the correct map properties for floorIDs and wallIDs and also the correct object properties on the tiles themselves and it didn't work. I think three of us trying hopefully means we didn't miss anything.

dense tartan
# round dock Can you link your mod and what you want it to say? <:SDVpufferparty:962210129565...

Thank you! https://www.nexusmods.com/stardewvalley/mods/27219 - New mod to add nearly 60 new holiday decorations and one free crafting recipe. All available from Robin only from Fall 24 through Winter 28 each year.

Nexus Mods :: Stardew Valley

Sends you a new festive fence recipe and add almost 60 new holiday decorations to Robin's store. Items are only available from Fall 24 to Winter 28.

round dock
#

Posting on behalf of @dense tartan 🎄

"New mod to add nearly 60 new holiday decorations and one free crafting recipe. All available from Robin only from Fall 24 through Winter 28 each year."

https://www.nexusmods.com/stardewvalley/mods/27219

Nexus Mods :: Stardew Valley

Sends you a new festive fence recipe and add almost 60 new holiday decorations to Robin's store. Items are only available from Fall 24 to Winter 28.

#

Gah, it wont let me publish. :((

dense tartan
#

I saw it in modded-farmers...

rancid temple
#

Hah... I hope I didn't ping Pathos for nothing, just noticed I'm missing the Delimiter field from my AdditionalRenovations Append

latent mauve
#

I had the Delimiter field in mine when I sent it for initial testing, pretty sure of that

rancid temple
#

I'm gonna give it a try anyways, just gotta cover all my bases on that

#

No change, so at least it wasn't that particular bit of user error

latent mauve
#

I do appreciate y'all following up on this, I was going mad trying to figure out why it wasn't working

rancid temple
#

Playing with renovations is one of many things I'd been meaning to dip into, plus it dovetailed nicely with Aba finding an invalid tile GID error for me to play with

velvet narwhal
#

i love looking at other people's decorations, i am far far too lazy to constantly decorate my own home

rancid temple
#

I pretty much have the desire to do it one time and then I'll just live with the same exact house forever lmao

latent mauve
#

I want to fill in gaps left behind by the existing renovations in the vanilla farmhouse, so I figured I'd tackle adding a bathroom that way and then go on to add more "pre-fabricated" rooms (kinda like the Study in the Tears of the Kingdom house module things)

#

So I'll decorate the rooms for a specific purpose and then have a blank and let people pick prefab (and unalterable furniture) or not. xD

velvet narwhal
#

i decorated to hell and back for one savefile, kept it that way until i eventually deleted that savefile and now it's just testbeds SDVpufferclueless i would probably be the most benefitted from prefabs

latent mauve
#

The bathroom was just a convenient start since the 'bathtub' and 'mirror' are tileData that I can't really MOVE after placing them in the TMX. 🙂

#

At least not without figuring out how to attach them to a furniture object specifically, which, I don't want to even try.

rancid temple
#

Technically you can patch TileData in CP

velvet narwhal
#

nope don't fall into the trap, i'm avoiding the trap of creating a mirror with dynamic reflections mod

latent mauve
#

Brain hurts just thinking about attaching the TileData to moveable furniture

rancid temple
#

I essentially did that with my standalone crane game mod

#

By the time I get done with these crane game mods I'm going to have a whole family of products

latent mauve
#

I don't C# and I am resisting learning because it's bad enough I fall into CP rabbit holes

#

If I had C# knowledge, I don't think I'd be able to stop myself. LOL

velvet narwhal
#

it's a good stopgap

rancid temple
#

Well, I think you should be able to do it with a dependency on another mod

#

I think SpaceCore might have it? And Better Crafting I think has it

brittle pasture
#

SpaceCore does yeah

#

Better Crafting allows it for BigCraftables

rancid temple
#

Ah, that's right

brittle pasture
#

Calcifer as well

latent mauve
#

To be honest... As wonderful as SpaceCore is, I struggle to understand how to actually USE most of the features since there isn't really a tutorial or expansive documentation for many of them.

velvet narwhal
#

i guesstimate for spacecore, then inevitably casey tells me i'm wrong

rancid temple
#

Well, Casey is working on some new documentation

latent mauve
#

A lot of it is "go look at this mod" but some of the mod links are broken or the mod's not visible anymore

#

Yeah, when the new documentation is out, I'll definitely dive into it more

velvet narwhal
#

aba's working on the questions part of it, i've only delved into animations with sound

latent mauve
#

I tried to use the fence thing in SpaceCore to spawn in a coop and fence on a modded map (to mimic Meadow farm) and stumbled across the Y coordinate not being read, but that's been fixed now. 😄

ornate trellis
#

hoping to see that custom tools really is a spacecore feature so my dream of aluminium pickaxe can become reality SBVLmaoDog

#

anyway, bless bigger animations SDVpufferheart

latent mauve
#

SpaceCore is lovely, I just need more documentation to know what the heck I'm doing with it. 😛

ornate trellis
#

mood

velvet narwhal
#

bless animations with sounds, my lil hammering animation has the proper sound

spice inlet
#
public static Microsoft.Xna.Framework.Rectangle controllerMapSourceRect(Microsoft.Xna.Framework.Rectangle xboxSourceRect)
{
  return xboxSourceRect;
}

SDVpufferthinkblob huh moment

ornate trellis
#

who doesnt want this cool pickaxe /lh

ornate trellis
velvet narwhal
#

okay but it needs to swing

latent mauve
ornate trellis
latent mauve
#

I could see that being reskinned for an earthy/overgrown tree limb look with the irregular shape of the handle

ornate trellis
#

i love floppy hammer....

latent mauve
#

huh, I did not know those existed

#

But that makes more sense than what I was thinking

iron ridge
spice inlet
#

yeah, thought the same thing

#

sadly the sourceRectangles for the gamepad buttons don't really translate well

#

as they each have their own separate positions and sizes

#

so it only really makes sense for the more detailed button tutorial popups

iron ridge
#

The things on the side in a new game or the loading screen things?

dense tartan
#

So I'm working on adding a chest to my Christmas mod that looks like a present. I want to add one, not replace one. Everything appears to be working except the chest doesn't open - the animation doesn't play nor is there sound. Is chest data stored anywhere else besides BigCraftables?

spice inlet
#

loading screen things?

#

my idea is to display the button for gamepad users:

lucid iron
#

chests are kinda hardcoded

brittle pasture
lucid iron
#

yea that, also you could consider making an AT pack for the chest

dense tartan
#

I definitely considered the AT pack thing. That might be the easiest way to go.

@brittle pasture Thank you! I tend to prefer to limit the number of dependences. I wish I didn't have to rely on another mod or framework to add something like this and I'd prefer not to outright replace the chest graphic. Seems like AT is probably the way to go.

iron ridge
spice inlet
#

yeah that function makes most sense for them

#

but the singular button sprites don't have the same relative positions/proportions

#

the smaller ones in particular

lucid iron
iron ridge
#

Ahh that's the thing I was looking for ages ago, thanks

dense tartan
latent mauve
#

Expanded Storage is definitely your best option, I think, if you wanted a separate item

brittle pasture
#

There are definitely chest AT packs. The wiki only mentions recoloring as not supported

teal bridge
spice inlet
#

the way the game seems to handle it is to just display the xbox variant on pc?

#

I think doing the same is fine

teal bridge
#

Really? I guess I never noticed such a blatant hack since I do have an Xbox type controller.

#

Usually the low-tech solution offered by games is to let players pick which controller style they want to display. But that's only viable at a game level, not individual mods.

brittle pasture
#

the number of Steam games that actually detect the controller and show the correct prompts instead of just the XBOX one is a single digit number

#

none in my library that's for certain

lucid iron
#

Do u have a psp controller to try

brittle pasture
#

(source: PS4 controller user)

lucid iron
#

Ik the yakuza games did give button prompt options and would swap on the fly if u use keyboard+mouse temporarily during game

teal bridge
#

Swapping between controller and mouse prompts isn't that bad, there is actually a state to track the last input type.

#

Auto-detecting is definitely rare, hell maybe it's not even possible, but it is fairly common for games to allow customizing the controller type.

#

I was sure that Stardew had PS controller assets in there somewhere...

rancid temple
#

Unity's newer input system has built in detection for various gamepad types, easy enough to set up auto switching

#

The more annoying part is setting up the glyph swapping system

teal bridge
#

Yeah, look in LooseSprites/ControllerMaps, they're there!

#

I'll bet there's a configuration setting somewhere for the button prompts where you haven't looked.

#

The glyph swapping code is... okay, if you can just switch the entire texture or maybe an offset rect. Which looks like how SDV does it.

brittle pasture
rancid temple
#

Ah Steam Input, bane of my existence

teal bridge
#

Steam input breaks as many games as it fixes, ugh.

rancid temple
#

Neither as a user or a dev has it been a useful addition to my life

teal bridge
#

I can see why it's convenient if you don't want to actually have to write the controller remapping code (even though it's really not that big a deal if you just design for it in the first place). But it also ties you to Steam, so...

brittle pasture
#

Steam Input is useful for really exotic keybinds setups (like a mixed keyboard/controller/joysticks, which basically no game supports properly)
but who does that

#

maybe flightsims lol

teal bridge
#

Old meme, but I had to.

brittle pasture
#

but steam input is sooo easy

dense tartan
latent mauve
#

@rancid temple just to make triply sure, I've altered my WIP mod so I can swap between the patched room and renovation room TMX files freely via the config, and when the wallpaper and flooring are consumed in renovation-mode (which is a separate TMX with the same floor and Wall IDs), swapping to the patched room shows the changes from the consumed wallpaper and flooring that were used while in the renovation version of the room.

#

The visual changes are only in the MapEdit patched room, but the wallpapers and flooring get consumed in both

#

So yes, I have confirmation that the ID setup is 100% correct there

odd badge
# lucid iron we gotta check what amadeus' postfix is doing

@final arch @pine ermine i'm late but this is what my patch is doing. And the problem is not the annotations, I tested without them applying the patch by the Harmony object instance and didn't worked either. The breakpoint doesn't work because isn't even called.

pine ermine
#

Have you confirmed that it works without RSV?

lucid iron
#

is this meant to do stuff in the rsv summit farm?

#

once you built a fish pond

odd badge
#

yes, I only discovered it wasn't working because a user posted a comment. I tested they modpack and found it was RSV

odd badge
lucid iron
#

what if instead of harmony you add a handler to FishingRod.pullFishFromWaterEvent

teal bridge
#

If the mod patched DoFunction to not call pullFishFromWater at all, then maybe the postfix wouldn't run.

odd badge
lucid iron
#

did you try patch_summary

#

i forget if thats a spacecore thing or part of regular console commands

velvet narwhal
#

p sure that's smapi

odd badge
teal bridge
#

Does RSV have source? There's no link for it on Nexus.

velvet narwhal
#

i don't know how it looks when you're doing a c# though SDVpufferclueless