#making-mods-general

1 messages · Page 347 of 1

woeful lintel
#

is it intended to record a static image?

pseudo vault
#

I mean for the worldmap

vernal crest
#

Yes...that's what the {{TargetWithoutPath}} is for. It does both of them.

pseudo vault
#

Oops

#

Thanks for explaining it

vernal crest
#

If you have just changed your FromFile to "FromFile": "Icon.png" you have done it wrong.

pseudo vault
#

No worries I did that part right I think

vernal crest
#

Okay yup, good work ^_^

#

Did you check your video before uploading it? Like Leroy, I'm just seeing you standing on your farm not moving.

#

(Stardew can be such a pain to take video of. I always have to go into windowed mode.)

pseudo vault
#

The recording broke

#

Yeah...

#

Is there an example for the worldmap icon? Not too familiar with stardew valley files.

vernal crest
#

Yup, LooseSprites/Farm_ranching_map.png

pseudo vault
#

I... don't think i can make one.

steel plaza
vernal crest
steel plaza
#

here it is basically both warp dont work, everything is on a single map file tho

vernal crest
#

Hm. My thought is how do you tell the game which cabin to warp to?

pseudo vault
#

Well, the map is tinier than the standard farm...

vernal crest
#

Put lots of extra forest around it then

pseudo vault
#

Okay...

hard fern
#

when in doubt making more trees

#

is a solution i stand by

vernal crest
#

Hm, there are those little intra-farm warp thingies aren't there

pseudo vault
#

intra what?

vernal crest
#

Intra-farm. As in it warps you to another place within the same map. (Intra = "within"). This is not related to your thing though, it's me thinking about Aki's thing.

#

DH made an intra-instanced-building warp proof of concept but I can't remember if he was reinventing the wheel or not.

vernal crest
gentle rose
#

I also wonder how this would work seeing as it’s an instanced building

#

can cabins get the cellar upgrade?

steel plaza
steel plaza
#

the only thing that is vanilla is the exterior

gentle rose
#

yeah ik, I was wondering because you may be able to look at the vanilla map to see how it handles it

#

but cellars aren’t intramap anyway

#

they are also instanced though, so worth taking a look

vernal crest
#

So you're trying a map property and a tile object property?

#

Chu was of the opinion that intra-map warps in instanced locations works so I'm trying to figure out if they have to be done a certain way or if they were just wrong lol

gentle rose
#

you guys got me to turn on my pc to take a look at unpacked files now SDVpuffersquee

hard fern
#

ugh i accidentally turned off the snapping for the objects layer on tiled and now i dont remember how to put it back 😭

vernal crest
#

Layer menu up top?

hard fern
#

that just shows stuff like visibility and merging layers

steel plaza
gentle rose
#

wait what map asset is used for the cabins

steel plaza
vernal crest
gentle rose
#

then why do your warps say Cabin?

hard fern
vernal crest
steel plaza
gentle rose
#

I’m probably just not awake and missing something ngl

#

can we see your full json

hard fern
hard fern
#

😔 sigh. my wip exterior map is done, but i need to now make the interior...

steel plaza
#

everything works just having issues with warps

gentle rose
#

what makes you think the map name is Cabin? /gen

pseudo vault
#

Why is there a Cave in the bottom of the Worldmap ranch file?

vernal crest
#

At the very least it would need to be yourmodid_Cabin, wouldn't it? Since that's the map you've specified as the indoor map?

gentle rose
#

regardless, it’s instanced so it’s more complicated than that iirc

#

unless it isn’t, honestly idk atp SDVkrobusgiggle

vernal crest
pseudo vault
#

And another thing as well, I have no clue how to make this fit in correctly...

vernal crest
#

Creative licence

ocean sailBOT
#

Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home Single Language, with 4 C# mods and 1 content packs.

vernal crest
#

I am starting to think it may not be possible (unless DH has already added his POC to MEEP)

gentle rose
#

wait, why did you change the map type from cabin to decoratable location

pseudo vault
#

That's the best I can come up with...I am bad at making a mountain.

gentle rose
#

I don't think decoratable locations are inherently instanced

#

try changing it back to cabin

#

if you don't mind me asking, what were you referencing to make the changes to the json for your mod? just so we can be on the same page because I'm struggling to figure out where certain decisions came from

vernal crest
pseudo vault
#

If you say so... Guess it's better than what Harvest Moon tried to do.

#

And question again. I am not sure what this is.

#

Do I need to add a Display name?

gentle rose
steel plaza
#

as for why i changed it to be a decoratable location is because in the main game you cant really change anything or decorate if you are not playing in multiplayer mode or with any other player

gentle rose
pseudo vault
gentle rose
#

nope, keep as is

#

the brackets in this specific case mean it's a special thing the game will change into whatever it needs to be

gentle rose
gentle rose
#

and can we see the new log?

#

(and new json since there have been a few changes now)

pseudo vault
#

Is there documentation for more lines like these? Maybe DailyBranches?

gentle rose
#

daily branches?

pseudo vault
#

I can't find them on modding maps or modding farmdata

#

Like uh

#

spawning the branches

#

you can axe

gentle rose
#

oh, that's usually referred to as debris

#

so you can look for that maybe?

#

but iirc it's done via a tile on the paths layer

pseudo vault
#

The issue is I don't know what page would have it...

gentle rose
#

modding maps would be my first bet

pseudo vault
#

sadly neither of them have any documentation about the MinDaily or MaxDaily

steel plaza
steel plaza
gentle rose
gentle rose
gentle rose
ocean sailBOT
#

Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home Single Language, with 4 C# mods and 1 content packs.

gentle rose
#

it's StardewValley.Shed, not StardewValley.Locations.Shed

pseudo vault
#

My folder is so cluttered as well... I don't even know what I can safely delete... Or if I screwed it up...

steel plaza
pseudo vault
#

:pepesad:

pseudo vault
steel plaza
gentle rose
#

Aki, can we see a log from you using the StardewValley.Locations.Cabin type, please?

steel plaza
steel plaza
gentle rose
steel plaza
gentle rose
steel plaza
ocean sailBOT
#

Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home Single Language, with 4 C# mods and 1 content packs.

steel plaza
#

yeah i think ill just stick to my old map lol, thanks for the help everyone

#

im glad that i didn't delete it lol

flat sluice
#

Hi,
I'm back again with yet another modding question (I know, I ask for help way too much).
This time - Appearances. I had a code that changed my NPC's clothes using Load and EditImage. But that's not ideal.
So, finally, I tried to rewrite the code to use Appearances (that would act the same), and as expected, I did something wrong (again). Neither the sprites nor the portraits are loading. Patch summary and patch export say that the appearance code block is correctly loaded into the game, which means that there is a problem with either their application or with the load commands.
Therefore, I'd like to ask for help with solving and fixing my problem of not loading the sprites and portraits of my NPCs.
SMAPI log: https://smapi.io/log/4870d6361fb0459c994d454cdddc1c37
Appearances JSON: https://smapi.io/json/content-patcher/08a01bd948b94d2c8dcd6f9c899393cc
EditImage JSON: https://smapi.io/json/content-patcher/7935db240ecd4a7195ba28ff169bdbc4

ocean sailBOT
#

Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Pro, with 81 C# mods and 33 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

vernal crest
flat sluice
vernal crest
#

Secondly, can you do a patch export on Data/Characters so we can see if your Appearance data was actually added?

vernal crest
#

IsIslandAttire means that it will only be used on Ginger Island

#

So you have effectively denied Eleanor any clothing on the mainland SDVkrobusgiggle

flat sluice
#

Let's try it again...

vernal crest
#

Why are you doing a mix of using Appearance and EditImage?

#

The point of using Appearance is to remove the need for EditImage except for overlays.

flat sluice
vernal crest
#

Ah, I see

#

Your seasonal stuff is still strange though

#

I'd recommend avoiding a conditional load and controlling it using the Appearance system instead so the textures are always present in the game's content pipeline.

flat sluice
vernal crest
#

Yeah

flat sluice
# vernal crest Yeah

Looks like you saved me again, because now it works! SDVpufferparty
Now, to solve all the conditions so it'll work like the old method.
How do I specify a part of Appearance code block to apply only if a CP config setting is turned to a specified value?

calm quiver
#

Hi, does anyone know what is meant by 'visual preset'

#

For the modding requirement

flat sluice
#

!vsc

ocean sailBOT
flat sluice
#

These, for example

vernal crest
calm quiver
#

ah

vernal crest
#

What modding requirement?

calm quiver
#

It's probably not that big a deal but

vernal crest
#

Oh, something on Nexus?

calm quiver
#

Yeah

#

I'm uploading my texture pack rn

flat sluice
# calm quiver

Oh! Forget my words, then. I thought it as a UI for modding

vernal crest
#

Yeah no that's not anything to do with a text editor

#

It's asking if your mod includes a reshade preset or similar

#

Yours definitely does not

calm quiver
#

This is so stressful. I have zero good header images rip

flat sluice
ornate trellis
#

don't sweat it too much, nexus will throw any image through a grinder and make it look shit anyway

hard fern
#

I took like a really bad zoomed out photo of my map for the banner and nexus ate it anyways

calm quiver
#

lol okay

vernal crest
#

My knowledge that you can do funky stuff with CP tokens far surpasses my ability to know how to do said funky things. SinZ is always giving examples of ways you can use them that blow my mind.

flat sluice
vernal crest
#

I'm going to try to figure out if it's actually possible. You should probably work on setting it up with the conditional patches approach for when I inevitably fail xD

#

Oh yeah we could just use dynamic tokens

flat sluice
flat sluice
vernal crest
#

I forgot they were a thing lol

flat sluice
#

Well, DT's are set:

    {
      "Name": "DT_outfits",
      "Value": "one look only (ORG)",
      "When": {
        "Outfits": "one look only (ORG)"
      }
    },
    {
      "Name": "DT_outfits",
      "Value": "one look only",
      "When": {
        "Outfits": "one look only"
      }
    },
    {
      "Name": "DT_outfits",
      "Value": "vanilla",
      "When": {
        "Outfits": "vanilla"
      }
    },
    {
      "Name": "DT_outfits",
      "Value": "seasonal",
      "When": {
        "Outfits": "seasonal"
      }
    },    
vernal crest
#

Humm ok I think this might work "Condition": "{{Outfits |contains=seasonal}}"

#

Those DTs won't work for use in the Condition field, they aren't bools

#

But try what I just wrote before thinking about DTs because if it works, you won't even need the DT because you can just check right inside the Condition field SBVMischief

#

(Just do one. This is very experimental on my part due to thinking "this should work" but lacking the brainpower to actually reason through whether it will.)

flat sluice
ocean sailBOT
#

Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Pro, with 81 C# mods and 33 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

flat sluice
#

Oh, sorry! I duped the load patch!

vernal crest
#

Yup lol

flat sluice
#

Try no. 2...

vernal crest
#

Also GooseBonk stop testing with your play setup!!!

flat sluice
#

And FYI, I have ES and RSV there because I have patches with them (scheduling)

vernal crest
#

Okay stop testing with so many unnecessary mods then :P

#

You cannot tell me that you require Tractor Mod to test an NPC xD

flat sluice
#

Mods like DSV are there because then I can "look, say 'what on earth are they doing there with that code', and ask on Discord how to do that" SDVpuffersquee

vernal crest
#

I have a separate mods folder for things like that

#

Right now I have 5 different mods folders

calm quiver
#

Man I really hope I don't have any of the textures mismatched LMAO

#

I just checked a bunch of them but still

flat sluice
#

I have way too many full folder copies and I don't want to look for "why it is here, can I delete it"; but 1 game set, 2 modding sets, and 1 folder where VSC, Tiled, etc. is located.

hard fern
#

I have separate folders in my testing game mod folder 😔 where i separate mods by testing groups. I have one with basic framework and utility mods, another with sve for specific things, and another for when i was testing recolors ... You get the idea 😅

leaden solar
#

hello

flat sluice
leaden solar
#

i was wondering how to make my own NPC

hard fern
#

!noc

flat sluice
hard fern
#

Fuck

ocean sailBOT
#
Creating a Custom NPC

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

vernal crest
#

I symlink between all my folders so I only have one copy of any mod

leaden solar
#

is it possible to make an NPC that can sell things?

hard fern
#

Yeah, you just need them to have a shop

vernal crest
leaden solar
#

i wanna make heavenhold in Stardew as a portal

calm quiver
#

This makes me feel at ease

hard fern
#

Shops are on a completely different page on the wiki btw

vernal crest
#

Sometimes we discover them so quickly after publishing that there's not even any need for a version update because there have been zero downloads lol

hard fern
#

[[Modding:Shops]]

vernal crest
flat sluice
leaden solar
#

where to start when trying to mod? i wanna try lvl 1 so i can step to 100

vernal crest
#

Start with something very simple like replacing an NPC's portrait.

leaden solar
#

i kinda um

#

know it, but not the mod version

vernal crest
leaden solar
#

hmm, ill try to look for tutorials

flat sluice
ocean sailBOT
#

Making mods can be broadly divided into two categories:

Usually it’s easier to start with making content packs, since you don't need to learn programming.

hard fern
#

I think a good starting place is something like a mod to replace an image

#

It's simple, at least

vernal crest
#

But I linked you to the step by step guide to creating the mod, so once you do that part you can then scroll down and see how to replace Abigail's portrait with another image.

fossil osprey
#

Now that I think about it, there is a lot of people asking for a 1-to-100 on modding Stardew, maybe there is something to do

hard fern
#

I feel like it would be a little hard to come up with like... A comprehensive guide for all the levels

round dock
#

Also note that creating NPCs take a lot of time and effort, depending on how well fleshed-out you want your NPC to be.

calm quiver
#

Can I just drop all my files in one ZIP?

vernal crest
#

We have enough struggle just trying to keep the modding wiki up to date (a task we are woefully behind on) let alone trying to create comprehensive tutorials for every topic at every knowledge level.

vernal crest
# calm quiver Can I just drop all my files in one ZIP?

Are they meant to be modules that players can choose between or is it one "replace everything" mod? The answer either way is that all the files should be in one zip, but if they're modules you should have a config set up so people can enable or disable each module.

round dock
calm quiver
#

The json itself is organized if I want to parse it later

vernal crest
#

Then you definitely want it to be in one zip or you will have most users not actually installing most of the mod.

calm quiver
#

Ok that was what I was going to do lol just making sure

vernal crest
#

Just to be clear, you've got a mod folder named [CP] DawsonsCoolRetextures (example name of course lol) and inside that you have a manifest.json, content.json, and assets folder? And inside the assets folder are all your texture files, possibly split into further subfolders?

gentle rose
#

@steel plaza I just tested, it does work with type StardewValley.Shed

calm quiver
#

THE MOD IS UP

#

Thanks for the help everyone!

drowsy pewter
#

congrats!

halcyon nest
#

ok I have a. Silly question but I wanted to know if this was theoretically possible before I went further with this line of thought

I know typically npc locked doors (for bedrooms and stuff) are restricted for the 2 heart mark for friendship, but is it possible for me to restrict an area for a bit beyond that mark? Like say, 6-8 hearts?

gentle rose
#

conditional door I think?

halcyon nest
steel plaza
#

btw how do i change the source in Tiled to use the game files tilesheet?

gentle rose
vernal crest
#

Put your map in the game's Unpacked content map folder while editing

hard fern
#

Really?

#

Am i going crazy

halcyon nest
#

It’s two!

hard fern
#

Was it always 2????

halcyon nest
#

It’s been two since 1.5 at least

brave fable
#

they're pretty desperate in pelican town

gentle rose
steel plaza
hard fern
#

Why did i think it was 4 hearts ..

gentle rose
#

also, are you building a new building each time you change something?

halcyon nest
vernal crest
#

Once you do that, Tiled will tell you that it can't find the tilesheets. Point it to the ones in the folder your map is now in.

gentle rose
#

we're all confused I see SDVpuffersquee

hard fern
#

😔 this means ive gone several playthroughs raising hearts to 4 because i just assumed i couldn't enter their room???

#

For years 😭

halcyon nest
#

That’s the biggest oof of the century im so sorry

hard fern
vernal crest
#

Is there something interesting in NPCs' rooms?

brave fable
#

npcs, usually

hard fern
#

Speaking of NPC rooms

#

My weirdest pet peeve is not being able to have a bed against the left or right walls

#

It always has to be the wall at the top

vernal crest
#

Yeah I guess so. I always play with Custom Locks Updated so I always barge into their houses and rooms at all times of the day at whatever friendship level

#

It always confuses me when I forget to disable it while testing my own NPCs though lol

halcyon nest
steel plaza
vernal crest
#

It's not something that your users should be doing. Only you.

#

As long as the vanilla tilesheets are in the same folder as the map while you're editing the map (whatever folder that is) but deleted before you publish it, the map will use the vanilla tilesheets in the game's content files when in game.

steel plaza
#

ohhh ok ok thanks thanks

flat sluice
ocean sailBOT
#

Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 10 Pro, with 81 C# mods and 33 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

vernal crest
flat sluice
vernal crest
#

Season field

flat sluice
vernal crest
#

Instead of

"Condition": "{{Outfits |contains=vanilla}}, Season Winter"

have

"Condition": "{{Outfits |contains=vanilla}}",
"Season": "winter"
#

You're still using the season token in your load though??

vernal crest
#

The whole point of this was to remove that lol

opaque field
#

good morning! just double checking what my research seems to say - no go on events during festival days?

vernal crest
#

You shouldn't have to conditionally load anything

flat sluice
vernal crest
#

By just...loading them

#

One by one

#

Or with TargetWithoutPath if you like

opaque field
#

TargetWithoutPath is a friend if you have multiples (I do believe)

vernal crest
#

The reason I wanted you to avoid it was because if something goes strange and your condition doesn't get met at a time that it should, you might end up with a broken NPC who has no texture

steel plaza
flat sluice
# vernal crest The reason I wanted you to avoid it was because if something goes strange and yo...

So this:

    {
      "LogName": "Eleanor - NPCgraphics - default load command",
      "Action": "Load",
      "Priority": "High",
      "Target": "Characters/{{ModId}}_default, Portraits/{{ModId}}_default, Characters/{{ModId}}_rain, Portraits/{{ModId}}_rain, Characters/{{ModId}}_marriage, Portraits/{{ModId}}_marriage, Characters/{{ModId}}_vanilla, Portraits/{{ModId}}_vanilla, Characters/{{ModId}}_seasonal, Portraits/{{ModId}}_seasonal",
      "FromFile": "assets/NPC sprites and portraits/{{TargetPathOnly}}/{{Outfits}}/default.png"
    },
    {
      "LogName": "Eleanor - NPCgraphics - default load command",
      "Action": "Load",
      "Priority": "High + 10",
      "Target": "Characters/{{ModId}}_vanilla_winter, Portraits/{{ModId}}_vanilla_winter, Characters/{{ModId}}_seasonal, Portraits/{{ModId}}_seasonal",
      "FromFile": "assets/NPC sprites and portraits/{{TargetPathOnly}}/{{Outfits}}/{{Season}}.png"
    }```
is not correct?
vernal crest
vernal crest
#

Because it is based on a config option that changes

#

And also a season that changes

flat sluice
vernal crest
#

You can do it that way if you want to, but then there's no point in adding conditions to your Appearances. In fact, there's no point at all in using Appearances.

flat sluice
vernal crest
#

Right now, you're telling the game to put her in the exact same texture if it's raining or if it's not raining, if she's married or if she's not married, if it's a festival or if it's not a festival.

#

There's no point in having different Appearance entries that have the same texture fields

flat sluice
#

OH! That's the problem!

#

Because I use the same texture for them, I don't have to have them separate!

vernal crest
#

Halfway there!

flat sluice
#

So now I have only _default, _vanilla, _vanilla_winter and _season. I think I have to get rid of that _vanilla winter, or not?

vernal crest
#

I'm not quite sure what the differences are between your different outfit options. I think that default/vanilla are two different portrait styles but with the same outfit, while vanilla_winter is a winter outfit...but just for the vanilla portrait style? And then seasonal is...if she changes outfit in summer and fall but...which portrait style?

flat sluice
vernal crest
#

Okay so if there's no difference between default and vanilla except in winter, then you've got it the wrong way around. Yeet the vanilla entry and keep the vanilla_winter one. Because the vanilla entry is going to have the same result as the default one for three seasons of the year anyway.

vernal crest
#

And you don't need that vanilla folder

#

Just move the winter outfit into whichever of the "one look only" folders it matches

flat sluice
vernal crest
#

And then remove the default.png that's in the vanilla folder (along with removing the vanilla folder)

flat sluice
#

but OK

vernal crest
#

Yes, well, I want you to do that anyway lol

#

So that you stop loading conditionally

flat sluice
#

OK, (hopefully correctly) done

vernal crest
#

I can't tell the difference between your two one look only files so brb I am downloading them to look at them more closely

flat sluice
vernal crest
#

So for your appearances entries you need:

  • default, ORG
  • default, NON-ORG
  • summer
  • fall
  • winter

I think that's all

flat sluice
# vernal crest So for your appearances entries you need: - default, ORG - default, NON-ORG - su...
          "Id": "{{ModId}}_default_ORG",
          "Portrait": "Portraits/{{ModId}}_default_ORG",
          "Sprite": "Characters/{{ModId}}_default_ORG",
          "Precedence": 0, // priority
          "Condition": "{{Outfits |contains=one look only (ORG)}}"
        },
        "{{ModId}}_default_NON-ORG": {
          "Id": "{{ModId}}_default_NON-ORG",
          "Portrait": "Portraits/{{ModId}}_default_NON-ORG",
          "Sprite": "Characters/{{ModId}}_default_NON-ORG",
          "Precedence": -11, // priority
          "Condition": "{{Outfits |contains=one look only}}"
        },
        "{{ModId}}_summer": {
          "Id": "{{ModId}}_summer",
          "Portrait": "Portraits/{{ModId}}_summer",
          "Sprite": "Characters/{{ModId}}_summer",
          "Precedence": -20, // priority
          "Condition": "ANY \"{{Outfits |contains=vanilla}}\" \"{{Outfits |contains=seasonal}}\"",
          "Season": "summer"
        },
        "{{ModId}}_fall": {
          "Id": "{{ModId}}_fall",
          "Portrait": "Portraits/{{ModId}}_fall",
          "Sprite": "Characters/{{ModId}}_fall",
          "Precedence": 0, // priority
          "Condition": "ANY \"{{Outfits |contains=vanilla}}\" \"{{Outfits |contains=seasonal}}\"",
          "Season": "fall"
        },
        "{{ModId}}_winter": {
          "Id": "{{ModId}}_winter",
          "Portrait": "Portraits/{{ModId}}_winter",
          "Sprite": "Characters/{{ModId}}_winter",
          "Precedence": -11, // priority
          "Condition": "ANY \"{{Outfits |contains=vanilla}}\" \"{{Outfits |contains=seasonal}}\"",
          "Season": "winter"
        }```

I *hope* it is better now.
#

Maybe the last condition is unnecessary.

#

OH, a spring outfit is missing (seasonal only), should I add it there?

vernal crest
#

Is the spring outfit not the same as the default? I assumed it was

flat sluice
vernal crest
#

Ah ok yeah in that case you will need spring

flat sluice
#

Added

vernal crest
#

Now this setup will mean that she wears the same thing during rain, on festivals, when married, etc that she would on another day that meets the conditions. So if someone is using the seasonal outfits she'll go to a spring festival in her spring outfit etc.

#

You don't want to have your condition for the fall, spring, and summer ones having the vanilla option in them.

flat sluice
vernal crest
#

Because if someone chooses vanilla, they should be getting the default NON-ORG outfit in spring, summer, and fall.

vernal crest
flat sluice
#

And in the default ones, she looks more like someone connected to magic than in what she normally wears (I'd say).

vernal crest
#

Your Appearance data looks okay

#

Your Loads are still wrong and I am going to explode xD

flat sluice
#

Should I just make them "from schratch"?

vernal crest
#

It might be easier for you, but it's up to you.

#

If you rearrange them in the folders and rename them you can use just one Load patch with a FromFile of "FromFile": "assets/NPC sprites and portraits/{{TargetWithoutPath}}.png"

#

But as long as you remove that {{Outfits}} token and the {{Season}} token, you can Load them however you like.

#

I'm too uncool for {{TargetWithoutPath}} and I load all of my images separately because I can't stand to change my file naming convention.

flat sluice
#

Got that, confirmed.
I'd try to find a way to properly load them.

gentle rose
#

@steel plaza please ask first to DM people, and if you want someone to see your messages, just ping? anyway, as I already told you when you asked, the only way for me to tell what's wrong is if you send the json and log for the version where you use the shed

#

I personally don't do mod support via DM so if you want help it will have to be here

young sluice
#

howdy folks! i'm having a little trouble with my gift tastes - i know it's being looked at by the game because I fixed an error that was coming up, but it doesn't seem to be doing anything

woeful lintel
#

don't know what's the context, but that's 100% conflicting with FF

gentle rose
#

chu you would know this

do we have a way to attach a tile property to a placeable object (so it's added to the map wherever the object is, moved when it's moved etc)

woeful lintel
#

Calcifer does this for Furniture

gentle rose
#

ooo

#

that's fun. is it on a specific layer

vernal crest
#

Isn't that already part of MMAP too?

#

Have you not been looking at chu's swimming rugs???

lucid iron
#

Idk why anyone would use this on a FF furniture

woeful lintel
#

oh ok, I see

#

good luck dealing with Furniture.draw then

lucid iron
#

Well it wasn't that bad really, less cursed than my building draw layer extensions kyuuchan_run

#

I've given up on altering the original draw beyond a conditional skip prefix so the jank remaining is draw layer z fighting Dokkan

vernal crest
#

The AcceptGift key for the Goldshroom has the typo too

lucid iron
#

The original motivation for this is actually "i want to steal building data model for tile properties"

vernal crest
#

Chu while you are here can intra-instanced-location-warping work in cabins?

brave fable
#

your loved one SDVpufferpleading

lucid iron
#

So I'm avoiding any feature that has savefile implications

lucid iron
vernal crest
#

Wait, I was asking about vanilla.

#

I wasn't reading your conversation xD

lucid iron
#

Vanilla doesn't have one

young sluice
vernal crest
#

Didn't you tell Aki a while ago that they could do intra-map warps for their cabins?

lucid iron
#

You gotta put the location name which unfortunately means u get bonked to main farmhouse

#

Cus i only made it yesterday aba

vernal crest
#

Was that in the context of using MMAP or something?

lucid iron
vernal crest
#

No you said it back in May!

lucid iron
#

Same location warp is fine with this

#

I was proposing yes but i wasn't too sure if it'd work (and it didn't )

#

So now u can make it work Dokkan

vernal crest
#

Welp I missed that bit

lucid iron
#

That said i was also thinking just

vernal crest
#

Did DH not put it in MEEP after all then?

lucid iron
#

No warps u walk behind a AlwaysFront bit of map lol

#

I made this cus it seems on theme with the other mmap building handling warps

vernal crest
lucid iron
#

Both sc and mmap respect layer

gentle rose
#

thank you for once again enabling my hypothetical crimes chu

lucid iron
#

Mmap has this but for paths (as in stone walkway floor)

gentle rose
#

anyway I managed to get intramap warps working in vanilla but not in a cabin, only in a building with type shed

lucid iron
#

But atm u can only have 1 kind of prop on all paths

#

Oh does it have special handling

#

Or do u only have 1 Shed

gentle rose
#

works in multiple sheds

lucid iron
#

Fun that's useful

gentle rose
#

and I couldn't be bothered to figure out why the cabin map was being overwritten ngl SDVpuffersquee

#

so it might work with cabins too

lucid iron
#

Well probably not the Cabin cabin

young sluice
#

{
"Action": "Include",
"FromFile": "npcs/Clint.json, npcs/Elliott.json, npcs/Evelyn.json, npcs/Gus.json, npcs/Harvey.json, npcs/Jodi.json, npcs/Lewis.json, npcs/Pierre.json, npcs/Willy.json"
},

lucid iron
#

But i thought they were making a shed that resembled cabin so

gentle rose
#

I figured it must because there's already instanced warps in cabins (to the cellar)

lucid iron
#

It should work out if they just change right

gentle rose
#

yup

#

but also I think it might genuinely work in regular cabins, I just cba to check lmao

lucid iron
#

Well u can't just give regular cabin the Shed type can u

#

I thought they needed Farmhouse

gentle rose
#

I'm not sure, I added it as a new building

lucid iron
#

Anyways enough of this what is ur crimes DokkanStare

gentle rose
#

ngl I forgor

lucid iron
#

NoU

gentle rose
#

but what if placeable warp

lucid iron
#

That's just an obelisk

gentle rose
#

but furniture placeable, not buildable

lucid iron
#

S&S has the kool version where u align items to create ur warp

#

C# things that one

vernal crest
# young sluice followup question: does this work to load in the gifttastes? saw it in a couple ...

Nope! An Include action just tells Content Patcher "go to the file specified and then read the patches inside that as though they were inside the content.json". It has no use* except for splitting your content.json up into more files so the content.json is less giant to read.

* Except for templating using LocalTokens but if you are new to the idea of Includes that's way too complex for me to dump on you right now so you can ignore it unless you want to explore templating.

lucid iron
#

But yeah I don't think anything stop u from making pocket obelisks

gentle rose
#

I think I remember what I was thinking but I think it would require to have passable placeable object

young sluice
gentle rose
#

and I'm not sure that's possible

young sluice
#

thanks for all the help ^^

lucid iron
#

Well u can just use a rug obviously

#

Or flooring

#

But i did implement collision maps for furniture so u can do a touchaction yea

gentle rose
#

the idea was a "no npcs allowed >:(" placeable object that would let people fix pathing problems themselves without having to edit mods

lucid iron
#

Pathing problems yggy

gentle rose
#

by having a passable placeable object with an npc blocking property

#

like when content mods end up with npcs in random places where you don't want them

lucid iron
#

Oh i mean i don't think placable warps like these count as npc doors

gentle rose
#

oh this isn't a placeable warp, it's the other thing

vernal crest
# young sluice Ah, shoot, okay - so how would I load in said gifttaste files like the json I fi...

Well, you actually don't want to load the gifttaste file (there's only one) unless you want to absolutely destroy compatibility with every other mod because it will completely overwrite the existing file with what you Load, meaning all of the vanilla tastes would be gone and so would anything added by any mods before yours.

However, if for some reason that appeals to you (lol) you'd do it like this:

{
      "Action": "Load",
      "Target": "Data/NPCGiftTastes",
      "FromFile": "assets/my_destructive_gift_tastes_file.json"
},
gentle rose
#

npcbarrier

#

or nopath

#

or npcpassable false

lucid iron
#

Well u can try but do note that some checks never goes through doesTileHaveProperty which is what's checking furniture properties

young sluice
#

Hahahaha okay yeah that's not what I meant xD Am I completely on the wrong lines to add additions to the gift tastes and reactions?

lucid iron
#

So it's not super clear if this would do anything

gentle rose
#

or shadow true (we have a lot of these tile props lmao)

lucid iron
#

But yeah if it worked i guess u can make a no npc zone flooring

gentle rose
#

or if you can do placeable map prop (?) you can completely blacklist a map using a sign

lucid iron
#

No u can't do that

#

I got zero intentions of implementing that

vernal crest
young sluice
lucid iron
#

See the nice thing about tile prop is that game itself respects a number of dynamic sources for it

#

No such convenience for map property so u gotta do persistence yourself and that's a pain

young sluice
#

it just isn't registering the dialogue or changes at all

vernal crest
# young sluice it just isn't registering the dialogue or changes at all

Can you please hop in game if you have quit and copy patch export Data/NPCGiftTastes into your SMAPI console, then follow what it says to find the file it exported and then pop that into the json validator and share the link? We're going to check if your patch is actually making it into the game.

vital lotus
#

Is anyone else experiencing not being able to opt in any mod on nexus mod rewards program? All my mods got opted out and can't be opted in. Upon pressing it says it's opted in but when checking the mod page it got opted out again

vernal crest
#

(Some people would get you to do a patch summary but those annoy me because they can be unclear about whether the patches were actually applied.)

lucid iron
gentle rose
vernal crest
vital lotus
#

ah i'll just wait it out, it's not like it's a big deal anw

#

that's good to know thank you 🙏

steel plaza
young sluice
vernal crest
young sluice
#

So, I fixed half of it - the object ID was GoldShroom, not Goldshroom - this has added it to the loved gifts (meaning I get the generic Clint 'Yes!' loved gift dialogue) but it's not loading the custom dialogue.

#

But yeah, that was my fault, serves me right for coding too early in the morning xD

vernal crest
#

Okay that's a good start!

#

So now we just go over your dialogue patch with a fine toothed comb

pseudo vault
#

And now my mind has shifted over to continuing my music mod port to 1.6 and I instantly have a new question...

#

I did the music like this instead of how the tutorial said it (Because I used a different music mod to learn from)

#

But I encountered an issue

#

This music mod was made with custom music back then which allowed new locations as well. But I can't get the sewer location to work because of this problem...

vernal crest
#

Ah ha! It needs to be the qualified item ID, @young sluice

#

It needs the (O) in front of it

young sluice
#

OH!

#

so like

#

"AcceptGift_(O)Alx.Additions_KeyFlower": "{{i18n:Alx_Clint_Keyflower}}"

#

?

#

Thankyou so so much!!!

pseudo vault
#

Wait. I think I fixed the issue somehow...

#

But now I don't know what I need to change "MusicDefault": "{{ModId}}_Music" into. My music pack has more than just a single track

vernal crest
pseudo vault
#

So... this is for the music track.
},
"sewer": {
"Id": "sewer",
"Category": "Music",
"FilePaths": ["{{AbsoluteFilePath: assets/sewer.ogg}}"],
"Looped": true,
"StreamedVorbis": false
},
and this is the new music cue (If I knew what to change...)
{
"Action": "EditData",
"Target": "Data/Locations",
"Fields": {
"Sewer": {
"MusicDefault": "{{ModId}}_Music"

#

Do I just change MusicDefault to sewer.ogg?

#

If this helps in any way, this is how it starts.

lucid iron
#

Are you planning on replacing the entire sound track?

pseudo vault
#

I haven't done that yet.

#

Just stuff like most overworld music

#

Not events

lucid iron
#

I'm not 100% certain but if the cue already exists, replacing via audiochanges would swap whole thing yep

#

No need to change other data

pseudo vault
#

Sadly Sewers and SeedShop were added by custom music before. So I need to add them...

lucid iron
#

Yeah that is still applicable

#

"already exists" means either vanilla or added by a mod before you did

#

If the location didn't have music and you wanna add music then load the song to {{ModId}}_sewer and swap the MusicDefault yep

pseudo vault
#

Is it okay to only add ModId to certain ones?

lucid iron
#

Sure it's just for disambiguation

#

If u wanna replace existing cue then you would use exact name

pseudo vault
#

disambiguation? Sorry I haven't heard that word yet.

lucid iron
#

{{ModId}} is like hey i added this

lucid iron
#

In general if u can prefix a string with {{ModId}}_ you should

#

Smapi enforce modid is unique in a mod loadout

pseudo vault
#

wait. what if it has more than one?

lucid iron
#

And so it's a reliable way to make sure no one else is accidentally overwriting you

#

What do you mean

pseudo vault
#

SeedShop here has two ogg files

#

With different names

lucid iron
#

That's normal, u just get a random one

pseudo vault
#

Okay. phew

lucid iron
#

For same cue

pseudo vault
#

Thanks

#

It took a few hours to get the custom music mods I did to work in 1.6 with Content P

#

So i'm glad this will work with cues

#

Luckily these were the only two I was missing.

#

I got music from so many games... as well as Harvest moon games. The porting never stops.

vernal crest
#

You won't be able to advertise any mods here that contain copyright material, just FYI

calm nebula
#

If it's .ogg StreamedVorbis should be true

#

If it is .wav it should not be

pseudo vault
#

Oh. Okay. what about sfxs? It said not to.

fathom hound
#

Is there a way for me to make this action null for MES?

calm nebula
#

For small sound effects (sub 5 s)?

fathom hound
# fathom hound Is there a way for me to make this action `null` for MES?

@distant radish heya, so I have the star crops mod which is a mod that's intended for just late game, but people that have MES installed are forced to remove it from getting OP seeds/trees too early. Is there a way I can just not have my modded items be included when someone has your mod installed?? Thanks.

lucid iron
#

Based on the description you can just give your seeds the seed_ship_banned tag

fathom hound
distant radish
#

Well, you already got your answer haha

fathom hound
distant radish
#

No problem SDVpufferheart

cedar turtle
#

I love funny mod interactions :3

flat sluice
# flat sluice Got that, confirmed. I'd try to find a way to properly load them.

@vernal crest, thanks so much for your help, because without it, I would never rewrite it so my mod would use Appearances, and if so, it would be very badly. You can check the result out if you want to: https://github.com/DenisSilent/Eleanor/tree/development_UNSTABLE!/[CP] Eleanor/assets
SDVpufferheart

GitHub

This Github repo is a repo for NPC Eleanor, which is a mod created by StrojvedouciDenis (a.k.a. DenisSilent or Denis001 (at Discord)) for game Stardew Valley. - DenisSilent/Eleanor

vernal crest
idle lantern
#

OneDrive is driving me crazy. I've disabled it, and tried uninstalling it completely. Somehow, it's turned itself right back on, and copied an old version of my Marnie mod from my laptop into my master mod copies.

lucid iron
#

have you tried installing gentoo 🐧

idle lantern
#

I'll look into it!

lucid iron
#

(im joking and telling you to install a linux distro)

#

even if you have one drive on, it only affects 1 folder right

#

can you just not put things in there

idle lantern
lucid iron
#

why

#

if it is some sorta school computer, you r prob getting slapped with organization software policies or something

idle lantern
#

Because Microsoft has tried its best to get rid of single log on. Right now it's not showing, but One Drive will occassionally show up before or after PC. Microsoft wants to link all of your computers together. They also lock your operating system to your CPU now.

#

No, it's my home computer. I don't do SDV on my work laptop. I don't want IT to ask why I'm looking up coding stuff 🙂

lucid iron
#

Cursed

vernal crest
#

I do not have one drive infecting my entire drive.

idle lantern
#

Before I had to rebuild my PC (CPU got destroyed by a lightning strike), I never had it either

vernal crest
#

Oh but I refuse win 11 so that might be related

lucid iron
#

I guess install linux is serious suggestion now if it seems unfixable

idle lantern
#

I've re-uninstalled it. I'll probably had to go fight it off of my laptop too

vernal crest
#

I reinstalled windows just a month or two ago

#

The only reason I'm not on Linux yet is PC game pass

#

As soon as that stops being good value for me I'm gone

#

Oh hey my send message button just came back

#

... And then immediately disappeared again. Discord what are you on

idle lantern
# vernal crest Oh but I refuse win 11 so that might be related

Northwest New MExico gets lightning storms and monsoons. Power pole in our neighborhood got hit, and we had a huge surge. It blasted my power supply to, and the CPU gave up the ghost. USB slots got feisty after that, and my videocard was very unhappy. 😦

idle lantern
vernal crest
#

Okay that sucks terribly for you but it makes a lot more sense than your computer being struck directly by lightning which was my initial impression

idle lantern
#

I'm so engrained in Windows usage - I've barely gotten used to MACOS because of teaching. My dad was a hacker in the 80s, and we had like 4 or 5 windows computers in the livingroom growing up.

idle lantern
#

I'm a bit intimidated by trying Linux

vernal crest
#

I install Linux on all my old laptops so I have casual exposure to a bunch of distros (but only lightweight baby ones)

#

There are some that emulate windows as closely as possible which can be helpful to ease into

fading walrus
#

I'm definitely partitioning my laptop once I'm done with my stupid thesis

ornate trellis
#

is there a way to make the viewport move but stay? viewport move demands a duration but i jsut want it to move down a little and stay there for the rest of the event or isnt that a thing

fading walrus
vernal crest
#

The duration is how you make it move

ornate trellis
#

oh wait i misunderstood, dindt I

vernal crest
#

You say "move at a rate of just one pixel at a time but do it for five seconds so overall it's 5 pixels please"

ornate trellis
#

hmm

vernal crest
#

(Imagine if that's actually how we had to write commands lol)

lucid iron
#

Can i shorten the please to pls

ornate trellis
#

i thought duration as in for that long and then it goes back to the original viewport

calm nebula
#

You have to use pls, but only in 60% of commands

#

If above, you get a Programmer Too Polite error

lucid iron
#

pls deliminated event command...

calm nebula
#

If below, you get a Programmer insufficient polite error

lucid iron
#

#pls#advancedMove

idle lantern
#

is it because I changed the location?

calm nebula
#

If your total number of event commands isn't divisible by 5 you have to add commands until it is

calm nebula
idle lantern
#

could you set the duration to 99999 and hold no one needs that long tog et through it?

vernal crest
#

It would move well and truly into the void with that duration

idle lantern
#

Ah. I was thinking the duration affected how long the viewport stayed changed, after moving

vernal crest
#

Viewport move is not "set to this position for X time". It's "move in this direction for X time"

ornate trellis
#

ok i misunderstood this command afterall

vernal crest
#

And apparently viewport clamp will just follow the farmer around like you've enabled camera follow on a Sim

ornate trellis
#

where the hell did i go on this map

vernal crest
#

If you want the viewport to just jump to a spot Void use the normal command, no move.

idle lantern
#

turn the farmer invisible, load a temp actor farmer, allow GreenScreenFarmer to do whatever you want?

ornate trellis
#

yeah i might do that

#

i jsut zoomed across the entire map

vernal crest
#

Did you put big numbers in for X and y?

ornate trellis
#

i did 2 6

#

but also the 5000 duration from the wiki as a test lol

#

felt like a fish slipping across the screen

vernal crest
#

viewport move -4 0 2000/

This moved the camera along at a walking pace for a few seconds.

#

At a farmer's walking pace to be exact

opaque field
#

arriving extremely late to that convo oops.

lucid iron
#

The important part is u can decide if u want it

opaque field
#

exactly!

ornate trellis
#

I'm feeling it

opaque field
#

oml I have like 3 events left to script. so desperately want it to happen on the same day as the flower fest but I'm pretty sure thassa no lmao

lucid iron
#

Well if the event isn't in cindersnap you should be able to do it

opaque field
#

33 out of 36 core events done! Oh??? If it doesn't, that changes things! (i do be knowings how to do the entypening good)

ornate trellis
#

hell yeah it worked

lucid iron
#

The problem is more "what if player miss flower dance" lol

#

Would be pain to wait whole year

ornate trellis
#

i personally prefer to not have events on festival days but you do you

idle lantern
opaque field
#

I definitely don't want them to wait a whole year, the idea that it would be someone walking the player home afterwards set at the BusStop

#

but it was just a lil idea to flesh out my story, so it's not a 'gotta have it' type thing cuz I don't want people to overstress about festivals and stuff

idle lantern
#

Pehaps set it before, and make it more of a cryptic prediction than a reaction?

opaque field
#

I'll scribble some ideas out as a treat for finishing the event I'm currently trying to finish (I'm so close to being done with the main storylines)

idle lantern
#

I haven't edited Marnie's schedule whatsoever, however - hurry Marnie has caused her to decide she'll drink anywhere.

hard delta
#

Hi. Can anyone kindly tell me how to make your C# IDE (JetBrains here) recognize changes or items you have made in a ContentPatcher patch, like you would C# libraries in a using statement or a reference? Thank you.

lucid iron
#

I don't think there's a way right now, you are asking for intellisense for content patcher

#

The primary way ppl debug is via patch summary

#

What's your particular goal here?

gaunt orbit
hard delta
# gaunt orbit What specifically are you trying to do?

I want to make new consumable items which give buffs and then custom buffs with custom logic. Making the logic in C# is fine but after trying to make the items in pure C# I looked at some CP items from another example mod and I think I can achieve my goal way better if I combine CP and C# rather than doing it all in C#

gaunt orbit
lucid iron
#

I mean you can just populate the assets from C#, it's no different than doing it with content patcher

hard delta
# gaunt orbit Okay. So how are you currently doing the custom buff stuff?

I made a dict which has each farmer as the key and the relevant data (buff timer, debuff potential) as the value, I keep track of it and when the consumable is going to be consumed it would do the relevant math and apply to that farmer. It would be easier if I could add attributes to the farmer object, but I heard harmony is a no go.

gaunt orbit
lucid iron
#

Farmer has modData

#

It's a string string dict for mod added data

#

But hm i think Buff might actually be ok to subclass cus it never goes into the save right

gaunt orbit
uncut viper
#

also harmony cant do that anyway, thats Cecil

lucid iron
#

What kinda buff do u hope to make DokkanStare

uncut viper
#

which is a no go

ivory plume
#

(I wouldn't say there's nothing wrong with using Harmony; you should be aware of the caveats when using it, and there are definite advantages to avoiding it if you can.)

lucid iron
#

Pathos what if buff data action on expire

#

I think it would open up zero harmony custom buffs (in less janky manner)

gaunt orbit
#

As chu mentioned, moddata can be used to store arbitrary string data, but I would actually use a ConditionalWeakTable instead if you need to associate information with the farmer temporarily

hard delta
ivory plume
uncut viper
#

why does vanilla even have a Buff.OnRemoved

#

its called but nothing seems to use it

hard delta
ivory plume
#

I assume it was meant to be used at some point, but then the logic that it was meant for was never implemented.

lucid iron
gaunt orbit
#

If chu can figure this out with trigger actions that would be the route to go for sure

hard delta
#

I was looking for a way to make the item itself since I wasn't having much success in making the custom buffs, and I looked at CP consumables and found out it's a lot easier to define custom consumable fields and such
pardon me for not being able to explain thoroughly, I should have made a prewritten thing with examples

uncut viper
#

well CP stuff is just the C# stuff but written in json

#

its the same fields and the same consumability and such that you'd write in C#

#

so you might have been going about adding an item via C# the wrong way?

lucid iron
#
  1. create the positive/negative buffs and a manager buff that is actually applied, do this by editing Data/Buffs with C# or cp
  2. in the manager buff's ActionsOnApply field, use If PLAYER_STAT ModId_TimesBuffedToday to gate some AddBuff that actually apply the real positive/negative buffs, also use IncrementStat ModId_TimesBuffed to count number of times the manager buff got applied today
  3. create a Data/TriggerActions entry to reset ModId_TimesBuffedToday at end of day
#

you may apply buff with food by editing Data/Objects to add your food with a Buffs list

#

since this would be a Data/Buffs buff, use BuffId instead of the fields there directly

#

none of the described steps require C#, but you may want non standard buff effects (that arent just +5 defense or -20 attack etc) so that'd need some C#

hard delta
#

so I am supposed to Inherit Buff, or what do you mean by Edit?

lucid iron
#

edit the game's content to have more data

#

content patcher basically does this stuff in the back for ppl who aren't in C#

hard delta
lucid iron
#

yea if u want u may still do the rest of the steps described, but register a custom GSQ to use instead of PLAYER_STAT

#

or just register a custom trigger action to run, instead of using If to do the logic

hard delta
lucid iron
#

but yea lots of zero harmony ways here go wild Dokkan

#

it'll help to take a look at Buff and BuffManager in the decompile for context

hard delta
#

Noted. Thank you for your help, it's late here but as soon as I can I will get back to the code and try it out.

lucid iron
#

these bits live in the GameData.dll instead of main one

hard delta
#

ohhh, I was only looking at Stardew Valley.dll, now I get why I couldn't find some stuff

lucid iron
#
ilspycmd -p --nested-directories -r "$GAMEPATH" -o SDV-CSharp "${GAMEPATH}/Stardew Valley.dll" "${GAMEPATH}/StardewValley.GameData.dll" -lv CSharp10_0
#

if u do this (with right $GAMEPATH value) u can decompile both into 1 folder

calm quiver
#

Does Stardew have a saturation setting or something? I just noticed that some of my stuff looks 'richer' in Aseprite than it does in game

lucid iron
#

lighting stuff perhaps?

#

u could try taking side by side screenshot to compare

hard delta
idle lantern
lucid iron
#

i use this cus ilspy avalonia is very tiny on my screen

idle lantern
#

I had to change that bottom one

calm quiver
#

Woahhh what the heck

#

I cant change it back

idle lantern
#

!

calm quiver
#

wait nvm

#

Im good

idle lantern
#

Try setting the setting back, then closing without saving

#

ah good

lucid iron
#

radioactive butter DokkanStare

idle lantern
#

it's organic

calm quiver
#

So Octree and Euclidean are the best?

idle lantern
#

I have no idea. Those just made mine match SDV

calm quiver
#

ah okay

idle lantern
#

I have to added hurdle that both of monitors have different color profiles so I don't know which one is closer to accurate

calm quiver
#

Well its weird because the spring objects do match

#

And I've been comparing mine to springobjects stuff

#

hmm. Maybe I'm just need to inspect it more

idle lantern
#

you can alsi uncheck/check the index

brisk wedge
#

which would be more brittle, is a prefix that re does some of the base game code and then returns false or a transpiler? I assume the transpiler? But returning false from prefixes is kinda not great either right

lucid iron
#

transpiler might explode on game update but it will be more compatible usually

#

whats the particular usecase

idle lantern
#

How do I make it so that Lewis' schedule that I've made override SVE's?

brisk wedge
#

I wanna give animals more golden crackers, but it feels like most of the golden cracker code is in the middle of some other function so I'm trying to figure out if I should use a transpiler or some prefix/postfix combo and patch other called functions called inside to get at values in the function

idle lantern
#

I've tried Priority: Default + 10

lucid iron
#

hmm

#

i think you can do a postfix here

#

vanilla

  • player giving cracker + hasnt eaten a cracker before + can eat crackers -> consume the cracker
    then ur postfix can be
  • player giving cracker + can eat crackers -> consume the cracker, but increment some moddata counter or w/e
brittle pasture
#

the actual hard part is making the output stack count increase
enjoy

lucid iron
#

for the effects that really depends on wtf this should even do monS

#

id probably transpile dayUpdate for that

brittle pasture
brisk wedge
#

oh nice didnt realize that already existed

#

wait whats a codematcher

lucid iron
#

its a thing for finding certain bits of IL

brisk wedge
#

I've just been using a for loop... my life is saved

ornate trellis
#

ough, the moment you forgor where to put the freindship points in an event question cuz you never used it

#

im staring at pennys vanilla bathhouse event and im like ConstanceLoading

idle lantern
#

Event ID/f Marlon 9000

ornate trellis
#

not that

idle lantern
#

oh

ornate trellis
#

in a question

idle lantern
#

if the dialogue option giveth or taketh?

ornate trellis
#

or maybe its that quickquestion doesnt allow it....but i swear i had a template i used way in the beginning where i jsut took it out, hm

#

My brain is a stone, it does not soak up knowledge at all.

idle lantern
#

/speak Leah "$q -1 null#Once you get past the outer layers, the true nature starts to show...#$r -1 0 event_sculpt1#It's the same with people.#$r -1 0 event_sculpt2#I actually prefer the look of raw, unadulterated wood.#$r -1 -100 event_sculpt3#(creepy) May I have a kiss?"

#

not a quick question, ohp

#

I can't figure out what I need to do. The wiki said if I threw in a dependency, my mod would come after it, therefore overiding it

ornate trellis
#

oh i figured it out, i think

#

tho i should probs use a fork quiestion so i can instantly end the event if you pick the mean answer...

#

time to find out how to fork

ornate trellis
#

wait....unless....

sharp torrent
#

Are there any utilities that can help me make a mod that adds items, without any programming experience?

ornate trellis
#

you dont need to be able to program to use Content Patcher

#

you just script

#

theres also a lotta tutorials

#

anyway, i ahte forks i wont use those help

sharp torrent
ornate trellis
#

you can make new objects with it

sharp torrent
#

Thanks

ornate trellis
#

new maps, new fish, new weapons...

urban patrol
ornate trellis
#

i do have an example but i dont quite get it

#

.....i might not use fork

idle lantern
#

I'm a dingbat and hate myself a little bit. I was using data/schedules again

ornate trellis
#

i gonna do a diff approach and use quickquestions afterall. next update gonna change event stuff around anyway so

languid solar
#

hey all, came here for two questions if this is the right channel
i want to know how to make a warp require the rusty key (in content patcher), and how the "summitboulder" object works because that one seems undocumented

brittle pasture
#

you can gate your map patch behind the host having the mail flag HasRustyKey with When conditions

lucid iron
#

if its an Action/TouchAction warp, they take mailflag as 3rd arg

brittle pasture
#

oh cool that works too

#

re: SummitBoulder, it just shows a message on interacting with it. getting rid of it is another map patch handled directly by the game

#

Farm_Eternal is the mail flag for perfection

languid solar
#

understood, thank you for the answers!

ornate trellis
#

yall, i need an extra pair of eyes telling me why my shit aint working in this event :(

haughty charm
#

Calling all cheetos!

We are considering changing how posts get published to #mod-showcase and who can publish them. We'd appreciate your feedback!

What we'd like to do is allow mod authors to both publish and unpublish their own posts in the showcase, and to publish posts on behalf of another.

When a mod author publishes a post on behalf of another server member, the original author, as well as the publishing mod author, would have the ability to unpublish the post.

Original etiquette rules will still apply: Don’t publish mods from people that aren’t in the server, and don’t publish (or un-publish) other people’s messages without their consent!

lucid iron
#

oh i always wanted to just do leah command on someone else's post

uncut viper
#

im assuming "on behalf of another" includes when the "another" does not have permissions to do so themselves?

haughty charm
lucid iron
#

tried it once b4 it didnt work

haughty charm
#

Sorry to have posted over you, Void. SDVpuffercactus

ornate trellis
ocean sailBOT
#

Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Pro, with 46 C# mods and 47 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

uncut viper
#

i imagine there'll be some way for the junimos to tell if someone is sneakily unpublishing their post and republishing it over and over relying on the original publishing to be deleted and thus no (public) evidence

ornate trellis
#

its ok i was formulating my actual question still anyway

uncut viper
#

(i know people would notice like "hey, i already saw this in the showcase earlier?" but without the original showcase still there it becomes a bit "trust me bro" if someone says that)

crude plank
uncut viper
#

then i see no issues with it especially as i stand to benefit SDVpuffersquee

calm nebula
#

(Atra gets to stay fabulous)

uncut viper
#

atra doesnt have things to showcase in the first place

#

unless... ?

calm nebula
#

True!

#

I get to stay fabulous regardless

lucid iron
#

-# smd

urban patrol
ornate trellis
haughty charm
twin wadi
#

yay!! my c# test mod worked 🙂

lucid iron
#

button pressed DokkanStare

#

what adventures will u have in dotnet lands?

brittle pasture
#

the logical next step of course is implementing a new minigame

ornate trellis
#

its till throwing the error evaporated

urban patrol
#

same one??

ornate trellis
#

unless i did it wrong...

#

and yeah same error

ornate trellis
ocean sailBOT
#

Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Pro, with 46 C# mods and 47 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

ornate trellis
#

it does plasy the second reply now tho but still has the error. i msut be formatting soemthing wrong but i cant make it out

languid solar
#

could the linebreaks present in the log have any clues? those dont seem normal

twin wadi
#

im hoping to make a mod that lets you "befriend" shadow people. so im probably going to make an event when you have krobus at 10 hearts, so after you've triggered that event, the shadow people eradication goal is removed and it makes you immune to shadow people (like the slime charmer ring). is this too ambitious for a c# beginner or is it fairly doable?

languid solar
#

i know lurking in the dark does that so its certainly possible but i havent looked into its code so idk how complex it is

haughty charm
#

SVE has a similar mechanic, as well

sour sleet
#

Can anyone help me with this error one of my testers has? They donated a mineral to Lilybrook's museum (CMF) and had already donated it to Gunther. After donating, the error popped up and the mineral had duplicated. Here's the error log: https://smapi.io/log/dca1a670257f4642a1abddbc06220a4b I can't seem to replicate the error again though? The error references Custom Museum Framework.

ocean sailBOT
#

Log Info: SMAPI 4.2.1 with SDV 1.6.15 build 24356 on Microsoft Windows 11 Home, with 21 C# mods and 23 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

twin wadi
# ornate trellis unless i did it wrong...

im not 100% sure, but i believe you can only have line breaks in the events directly before or after a slash / so i think you should probably remove the line break for the very first command and see if that works

ornate trellis
#

hm, ill remove the line breaks and test again

uncut viper
sour sleet
#

Appreciate it, thanks!

ornate trellis
#

yippie, it works now

brittle pasture
#

just to confirm DayEnding SMAPI events run before all the DayUpdate functions right

uncut viper
#

its right before Game1.newDayAfterFade if that helps

half tangle
twin wadi
#

could i theoretically make the shadow people mod idea with content patcher? add a heart event to krobus, raise a mail flag in the event, add a special power that gets unlocked with that mail flag? or am i missing something

#

or would i need c# to have the power take effect

calm nebula
half tangle
#

yeah, sometimes I do that, sometimes I don't, and sometimes doing that is wrong

calm nebula
lucid iron
#

i tried to draw a thing in RenderedActiveMenu and it eated my pointer NotteThink

#

oh i see it didnt eated mere hid (still not great

calm nebula
#

Yeah

#

Rendered active menu is after the cursor

lucid iron
#

how do i find mouse size

calm nebula
#

Many a modder has sighed, and either drew thr pointer again

#

Or sighed

lucid iron
#

no its ok im drawing a tooltip

calm nebula
#

And transpiled into thr draw metho

lucid iron
#

i can just move it

#

what is diff between getOldMouseX and getMouseX

calm nebula
#

Last frame this frame?

#

(No idea)

brittle pasture
calm nebula
#

Tbh selph once I tried to do the no despawn hoedirt thing by hooking that

brittle pasture
#

how did you read my mind as to what I'm trying to do

#

weh, do I need to go back into the Harmony mines for this

lucid iron
#

what r u doin

brittle pasture
proud kite
#

https://www.nexusmods.com/stardewvalley/mods/30895?tab=posts&BH=9 anyone with experience with this patcher here? // ive succesfully used it with CP mods but was wondering if it would work with AT mods too since im not where to find the target texture ex. (Mods\AuthorName)

Nexus Mods :: Stardew Valley

This mod is a dynamic patcher the user can input dog images from ANY dog mod for stardew into and will have it easily transformed into the format required for pet's enhanced mechanics code, providing

brittle pasture
#

your best bet is converting said AT pack to a CP pack using the vanilla skins mechanic

proud kite
#

makes sense

#

ill do that then

lucid iron
#

helps make multiplayer sync easier too

brittle pasture
#

I need elaboration pls how does warp help

lucid iron
#

well rn this flooring basically does something to a 7x7 area around itself right

#

it sounds like u were trying to do this in DayStarted and got bonked by the timing issues

#

if u do it on warp to undo any spawning/until, u can do it any time of day

#

i suppose u can do same thing in daystarted too actually, now that i read the desc more carefully kyuuchan_run

brittle pasture
#

hmm
what if tent kit on farm

lucid iron
#

store the state of hoedirt in a bool[] in dayending

#

overnight spawn do stuff

#

restore hoedirt in daystarted?

#

Gotta do smth about loading a save tho (pain)

#

Perhaps if u just say magic auto hoeing dw about it

twin wadi
#

hmm im trying to make the event to meet a shadow person and krobus together and then befriend them, so im thinking either the shadow person walks in on krobus and the player talking and blah blah, but i dont think shadow people would go to the sewers (or maybe they're visiting krobus?) OR krobus visits the shadow people at the entrance of the mines and the player walks in and stuff... which seems more natural?

half tangle
#

I'll toss in a "this may conflict with my mod Where the Spreading Weeds Are" comment but I don't have time to stay and chat rn. I transpile the spread weeds and stone method that handles the weeds destruction to get info - it might be simpler for you to just interrupt that method when relevant

lucid iron
#

Wtswa api to stop weed spread ez

half tangle
#

Sorry, I think the method is spawn weeds and stone

#

Golden clock easier 😄

#

wait... I totally could, though... I will think about this more in a few hours

#

wtswa notices where something would get destroyed... then just check if another mod asked that it not be destroyed on that tile... could even be very conditional... but not now I have IRL stuff

half tangle
proud kite
lucid iron
#

the Dog 1 is some kind of token

#

might be config?

proud kite
#

this stuff?

lucid iron
#

yea

#

btw get a better text editor

#

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

proud kite
#

sorry i have vs code im just lazy sometimes

#

ill open it up there

lucid iron
proud kite
#

the patcher just grabs all the textures in one pack under ex Mod\Author name and modifies them at once so im not sure if u mean do them one by one or just re format the original content.json

lucid iron
#

reformat it to not actually depend on any tokens

proud kite
#

gotcha gotcha

lucid iron
#

look at all the things depending on the Dog 1 token

proud kite
#

on it!

#

ty ty

young sluice
#

Howdy folks! What exactly is the location data of the Goby? Trying to put a legendary fish in the same spot but not sure exactly how I'd do it, I don't think it's just Forest

calm nebula
#

Goby might be hardcoded still

young sluice
#

Ah shoot, okay.

royal stump
#

that might be a different fish? Goby was added in 1.6 and isn't named in the code directly, at least
it just seems to use its entry in Data/Locations -> Forest, within this zone

"BobberPosition": {
  "X": 51,
  "Y": 100,
  "Width": 15,
  "Height": 255
},```
young sluice
#

Okay, cool!

light shore
#

hello again.. im done with my event, it works when I do debug ebi but in the game it doesnt trigger when i go to town

#

log doesnt give me any errors tho

twin wadi
#

can you send your json file of the event?

#

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

twin wadi
#

hmm seems like you made it trigger only when it's winter?

light shore
#

yeah and its winter

#

in the game

twin wadi
#

is the npc - NPCAtsushi - in the location currently?

light shore
#

normally yes but it is not there because I set the clock forward for the event

#

i thought it would be triggered even if there was no NPC like other events

twin wadi
#

it's because you added p NPCAtsushi as a precondition, which makes the event only trigger when the npc is in that location

#

it might be fixed if you remove that

light shore
#

oh lemme try

cedar turtle
#

Quick question.
If I were to remove one specific item (trash item) out of a mod adding fish.
Would it be enough if I comment the respective lines in the object.json so it doesn't pull the info anymore?

tawny ore
#

Commenting out the lines would be the same as deleting the lines as far as the json loading is concerned

cedar turtle
#

Eyup. Commenting out is more in a way of keeping a backup of those lines

#

thanks!

idle lantern
#

Could someone point me in the right direction: I've found how to put extra NPCs intoa festival, but not how to edit an NPC that's already programmed inside of it. Do I just include them in the 'Fields', 'set-up;, and it'll move them to the new location? Or will that duplicate them?

gaunt orbit
#

If you're using CP I think stringoperations is what you want?

light shore
#

this little mistake made me feel a little dumb

idle lantern
#

ty. Reading that, I think it isn't the append or replace that's getting me, it's the [MainEvent_additionalCharacters]. I can't find a reference at all to [mainEvent] as a stand alone, but mods like SVE or Ridgeside, don't have it to reference.

#

But, Marlon specifically, isn't listed under any of those additional characters lines, so I'm not sure how to move him nor Marnie

thin plover
#

Hi all. My research hasn't turned up any leads on the warping between the Town and the Sewer:

  1. Is there a way to modify where the player enters the sewers upon interacting with a tile/object that has the EnterSewer action? It looks like it defaults to 16, 11, and the "DefaultWarpLocation" map property doesn't seem to (and never seems to) work to override this.
  2. Interestingly, I don't see an action on the sewer map that warps the player to the Town (by interacting with the ladder). Is it possible to override the default if I've moved the sewer grate?
idle lantern
#

In the Sewer's base code, it has an arrival tile but I don't see a warp out on it. However, I haven't seen 'DefaultArrivalTile' as a command before, and it may work both ways? \

gaunt orbit
twin wadi
gaunt orbit
idle lantern
gaunt orbit
idle lantern
#

But there has to be a way to move characters, because in SVE, the vanilla characters are all moved.

Yes

gaunt orbit
#

Okay so you're trying to move an edited-in npc in a vanilla festival, yes?

idle lantern
#

Neither RSV not SVE reference the vanilla NPCs in their festival json

#

nor*

#

google searches got me a vague reference to temporaryFestival maps attached to the standard map

gaunt orbit
#

Sve probably just replaces the festival data entirely

#

Google is useless

idle lantern
#

But, then the vanimmal npcs data is somewhere and I feel dumb for being unable to find it 😦

gaunt orbit
#

Have you unpacked the game files?

twin wadi
gaunt orbit
idle lantern
#

it has a 'loadACtors Set-Up' reference, and a change to a temporary map.

inland cedar
#

is Constants.SaveFolderName available on non-host player?

gaunt orbit
idle lantern
#

The loadActors Set-Up line is nsetled in the "set up" line itself. I haven't been able to locate any other places, yet, that like... detail set ups

gaunt orbit
#

Hold on, I'm not at my computer

twin wadi
#

hmm it seems like an event command?

#

loadActors Set-Up idk lemme search on the wiki

gaunt orbit
#

Home a few minutes to dig out the game files

gaunt orbit
twin wadi
#

oh here

idle lantern
#

I don't see any festival data untl the Town.json for events

#

Ah!

twin wadi
#

i think there's a layer on the tmx file itself where the npcs are placed?

gaunt orbit
#

Ugh of course that's it

idle lantern
#

so I need to figure out how to find the temporary actors layer in the map.

#

thank you guys. I really appreciate your patience 🙂

gaunt orbit
#

On paths, probably

twin wadi
#

seems like there's a layer on the festival tmx (this is the luau festival)

#

its on the set-up layer, which is set on the loadActors command

#

there seems to be a tilesheet with the characters?

gaunt orbit
#

I stand corrected

half tangle
idle lantern
#

hm. When I open up my unpacked town, it doesn't have that Set-Up objects layer

twin wadi
#

i think you have to open a specific festival map

idle lantern
#

I wonder if I need to have something toggled

gaunt orbit
#

It will be the festival map defined by the event command

idle lantern
#

OH

#

oh jesus. I'm dumb as hell.

twin wadi
#

for example this isnt the beach tmx, its the beach-luau tmx

twin wadi
idle lantern
#

I got the load temporary map in my head as some sort of layer, and proceeded to Blind Eye every event map

royal stump
thin plover
# half tangle if memory serves, the sewer to town warp is entirely dependent on the ladder til...

I'm not seeing any properties beyond the standard ID, width, height, etc. on any of the ladder tiles when looking at the sewer map in Tiled. Does that mean that tile is hardcoded somewhere to warp the player to a specific X Y in Town?

Is there a way to override that by covering the tile with a new one and using an action? I tried putting an object on the buildings layer and giving it the property "Action - Warp Town 33 97" but that didn't work.