#making-mods-general

1 messages Β· Page 196 of 1

dusk mulch
#

I have seen some people use priority patches to load their map before any other, like:

Priority is high, would make their map load then everything else load.

uncut viper
#

a priority of High would make their map load after other things

#

which i believe content patcher calls priority Late

dusk mulch
#

Oh, I havn't experimented with it yet so...

uncut viper
#

the later a patch is applied, the better its odds of winning when it comes to who overwrites who

lucid iron
#

This stuff only matters if u r patching a map

#

If it's your map that u r Load then just leave it at exclusive

reef kiln
#

Yay I am reading through the better crafting mod dev docs now. It looks possible. I may give it a shot as I want to play the mod agian.

tiny zealot
#

edits use Early/Default/Late

uncut viper
#

ah, id forgotten that about loads then, but i did assume they meant edits since they said map edits originally

languid aurora
#

If I want to create a new blank texture asset and then edit pieces into it from another texture in AssetRequested, do I need to load something for the texture first (like a blank texture) or should I just do ExtendImage as part of the editing before I start doing PatchImage?

lucid iron
#

do u care about maintaining the same sprite index

#

why r u gluing together the textures anyways

dusk mulch
#

well i found out whats wrong with my mod, but i have to wait until tommorow to get it fixed (its to do with a framework im using and the owner is in a different timezone)

languid aurora
#

I have 5 sprites that get combined in a variety of ways to make different textures, so I wanted to just have the 5 sprites in a PNG and then create the various textures from them in C#

lucid iron
#

u could just draw over them

#

i understand edting a texture to be fairly expensive thing to do

#

compared to just doing the layering in the draw method

languid aurora
#

Maybe I'm not explaining right. This is creating the texture asset when its requested, not as part of draw calls, so it should only really happen once for these

lucid iron
#

if you have 5 sprites and u want to make all combos of 2 that'd be 10 sprites u r making

brittle pasture
#

(I'd just prefix skip draw calls tbh)

lucid iron
#

alternatively u call draw 2 times and sleep

#

i am speak in C# btw not actually editing the images with gimp or w/e

languid aurora
#

So I'm going to end up with 5 texture assets that are 32x16, and I'll have filled them with various sprites with various layering of them from one 80 x 16 PNG file I loaded as IRawTextureData to copy out of.

#

I'm mostly jsut asking if I need to init the texture asset in some way, or if I can just do ExtendImage to make them the size I need before patching into them

lucid iron
#

the other thing is that whenever a source texture gets edited/invalidated

#

u need to redo the whole thing

#

r u sure this is worth it

languid aurora
#

I'm not doing anything with draw calls; these textures get assigned to objects as their texture

brittle pasture
#

we know you are not; what we're saying is that doing things with draw calls is easier

calm nebula
#

you can init it pretty easily though

#

(you will need to call new Texture2d)

#

you might as well make it the size you neede

strange dew
languid aurora
# calm nebula you might as well make it the size you neede

Maybe I'll just move my one sprite that ends up in the same place in each texture into its own PNG so I can just load that as the base for each, with spare room on the side so I don't have to do any extending. It sounds like that will de-complicate my overcomplicating of this some.

molten charm
#

For some reason my seeds won't plant :( i don't know what to do

lucid iron
#

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

rigid oriole
#

(M) isn't a prefix for either

#

Are mannequins their own type lol

strange dew
calm nebula
#

@ivory plume is this not allowed?

        {
            "Action": "Include",
            "FromFile": "assets/TriggerActionQuests/LocalCrops.json",
            "When":{
                "AllowedSkills": "farming"
            },
            "LocalTokens": {
                "CropCount": "{{Query: {{Year}} * 50 - 30}}",
                "MoneyReward": "{{Query: {{Year}} * 60}}"
            }
        }
calm nebula
#

do I need to do something silly like gate that patch be...let me try something

brittle pasture
#

actually 1.6.9 should make non-objects and bcs craftable

#

ah I see the issue

strange dew
#

i can craft it

brittle pasture
#

you have "is big craftable" set to true in your recipes

#

that will make the game try to craft (BC)(M)Mannequin

strange dew
#

OH i thought i fixed that

#

facepalm thanks

ivory plume
# calm nebula

Just to make sure, do you have the latest Content Patcher 2.5.1? I fixed an error similar to that in the latest update.

calm nebula
molten charm
#

can anyone help me fix my content json file?

reef kiln
#

I am sure someone can

#

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

lucid iron
calm nebula
#

nope!

#

that's weird to me too

teal bridge
#

I've run into that issue with overload resolution before. Not in that specific case but in other cases.

#

If two methods are identical except for optional params then the compiler can get confused. Trying to remember where precisely it happened and what I did to work around it...

lucid iron
#

i guess i'll settle with this assign to Action<SpriteBatch> thing

reef kiln
teal bridge
#

Actually, that may have been what I did as the workaround - assign it to a delegate, since delegates have to match exactly and ignore optionality.

rigid musk
#

for the event command end dialogue if I want multiple NPCs to have dialogue would i just have their names be spaced? like

end dialogue {{ModId}}_TheMrQi \"{{dialoguekeyhere}}\" Sandy \"{{otherdialoguekeyhere}}\"

rigid musk
#

what are the errors you're getting?

brittle pasture
#

your seed item is named "BoboberrySeeds" but your crop entry is named "FatMan.BoboberryCrop_Boboberryseeds"

#

they must match exactly

rigid musk
#

that too

brittle pasture
#

you can make both of them {{ModId}}_BoboberrySeeds

#

CP will automatically turn {{ModId}} into your unique mod id, ensuring compat

molten charm
#

I am grateful πŸ™

molten charm
tiny zealot
# molten charm wait what do you mean by this tho

your mod id is guaranteed to be unique among installed mods, so you should use it in every place that you are allowed to when assigning ids to things (items, locations, characters, etc.). that way it is impossible to collide with ids in other mods

uncut viper
#

assuming you follow the modid convention, ofc

ivory plume
#

({{ModId}} is a token which Content Patcher will automatically replace with the ID from your manifest.json file, and the {{ModId}}_SomeId format specifically is a convention which can be understood by troubleshooters and other mods. For example, Lookup Anything will show which mod added the item if it follows that format.)

amber nova
#

I'm thinking of getting into modding and I've been trying to think of good places to start. I don't need help ATM but I think I'll note my progress here

#

iirc, isn't the best IDE for SDV modding VSCode

uncut viper
#

the best IDE is subjective

amber nova
#

okay FIRE

teal bridge
lucid iron
#

people here with get u for saying VSCode is good for C#

#

see right here

amber nova
#

...so I can be lazy and continue to use IntelliJ? slight_smile_minecraft

lucid iron
#

use rider if u gotta jetbrain

latent mauve
#

Completely irrelevant to the actual functioning of the mod, but I giggled.

#

(this is in the Central Station alpha, btw, if you cared to fix it later, Pathos)

teal bridge
#

ESPRESSO ESPRESSO ESPRESSO

ivory plume
#

(Fixed!)

lucid iron
#

anyways it really doesn't matter what IDE u use tbh

ivory plume
#

Well, it might be hard to compile a .NET DLL with a Python IDE.

lucid iron
#

just dotnet build on command line

#

the important part is to set up ur project targeting net 6 i think

teal bridge
#

The main issues with non-traditional C# IDEs are (a) setup, (b) debugging and (c) hot reload.

lucid iron
#

!startmodding

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.

lucid iron
#

would try setting up the example button press mod here first

amber nova
#

If I could use IntelliJ that would be fire but you said use Rider?

#

I'll definitely look into that

brittle pasture
#

also as mentioned in the command you dont always need C#. many things can be done with content packs
in which case VSCode is fine

winter dust
#

Is it "Condition": "DAY_OF_WEEK Sunday" for a when condition?

vernal crest
#

A "when" condition is CP and a GSQ won't work with that.

brittle pasture
#

CP When and Game State Queries are separate things
(just clarifying in case you are confused)

winter dust
#

It was DayOfWeek, thanks for the help.

rigid musk
#

what DO people use to code here actually

#

with C# Specifically

winter dust
#

I use Visual studio Code.

lucid iron
#

i am the vscode degenerate yes

#

besides that theres selph on neovim or something?

rigid musk
#

while taking the course i was doing for C# I was also using VSC so

lucid iron
#

and the real IDE ppl who use vs community or rider

meager loom
#

What's the best way to go about making a door you click to warp to an interior?

vernal crest
#

I use VS22 for C#

rigid musk
#

i think either a touch action warp or a locked door warp if its an npc house

vernal crest
uncut viper
#

ill do anything in my power to not open up VSC, so i use Rider

meager loom
#

It's done in Tiled and not Content Patcher, right?

vernal crest
#

You can do it in CP if you want to but it's usually done in Tiled, yeah

lucid iron
#

i have too much attachment to where the keys go in vsc

meager loom
#

The only issue I'm having in tiled is I don't know how to create a Tile Data block

lucid iron
#

so i use it for every programming lang i use

rigid musk
#

you have to naem the tile tiledata

#

after making a like box object the size of a tile

lucid iron
#

turn on snap to grid

meager loom
#

This would all be on the Object layer right?

lucid iron
#

so that ur obj are 16x16 multiple

#

on one of the Object layer yes

rigid musk
#

on the objects layer for buildings yeah

meager loom
#

I guess i'm not understanding how to actually create the tile for data itself

#

If i'm on object layer i just can't select things

vernal crest
#

What step of the instructions are you getting stuck at?

meager loom
#

3

#

clicking on the tile does nothing

vernal crest
#

Oh, confusingly the instructions are kind of in the wrong order I see now

rigid musk
#

you have to make it with these things

#

specifically the box one

vernal crest
#

This is the part for making a new one

rigid musk
#

which is what the snap to grid mention is for

meager loom
#

ohhh its down there lmao gotchu

winter dust
#

Or you could edit the map file in xml with CSV encoding defined.

vernal crest
#

Secret third most difficult option lol

meager loom
#

how do i change the size? it's bigger than the tiles

winter dust
#

It's not difficult, I use it all the time.

lucid iron
#

how do u figure out the tile index yggy

#

i also edit the tmx directly sometimes but usually not for tiles

vernal crest
meager loom
#

It's set right on the map but the rectangles aren't

vernal crest
#

??

winter dust
meager loom
#

It also seems to snap in the center of tiles not on them

#

like in the cross between them

winter dust
lucid iron
#

this seems like a lot of adding in head but well, w/e floats ur boat

winter dust
#

Well, what do you mean by tileindex.

#

Because you're making me think of firstgid

vernal crest
lucid iron
#

this section (fyi this convo is not related to the TileData talk i was just wondering)

winter dust
#

Default size is 16x16.

winter dust
meager loom
#

It's snapping between them like this and the selection is bigger. map properties has tile size as 16x16

winter dust
#

And then use your arrow keys to move it around.

#

Make sure it lines up between the boxes.

vernal crest
rigid musk
#

I like the grey pool table btw (very off topic but)

meager loom
vernal crest
#

Because if you have snapping turned on you should just be able to drag from the top left of the tile you want to the bottom right and it will make an object on that tile

meager loom
vernal crest
#

The tool itself looks weird because it snaps to the lines and is bigger than a single tile, but the object you create should be inside the tile and only 16x16

rotund elm
#

Abagaianye Gib Hiria!

#

XD

meager loom
#

thank you lol

vernal crest
#

Now make sure you name it TileData because skipping that step trips many people up

meager loom
#

Also how do I open a default map as someone suggested earlier?

#

I wanna see how to do the touch warp

vernal crest
#

Have you unpacked your game files?

meager loom
vernal crest
#

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

rotund elm
ocean sailBOT
#

Oops, couldn't parse that file. Make sure you share a valid SMAPI log.

meager loom
vernal crest
#

Do that and then you will be able to go into the Content (Unpacked) folder, find the Maps folder, and then open a vanilla map.

rotund elm
vernal crest
rotund elm
#

Ok idr where to find the log file X|

#

is it in appdata

#

Oh I see I can fix this easy

tribal ore
#

I saw it. Tested on another notes that has gift tastes, and it looked fine. Thank you for the speedy patch!

rotund elm
#

Abagaianye taught me welllll

vernal crest
rotund elm
#

Whatttt definitely knew that was there........ I read... pshhhh

meager loom
#

Can the TileData be more than one tile large?

vernal crest
#

Yes it can, though the wiki says not to. There might be a reason for that but so far I haven't heard of any negative effects from doing a larger one.

meager loom
#

Okay it's just cuz the door is 2 tiles high

tiny zealot
#

i think it used to not work

lucid iron
#

it works now

amber nova
#

Does SMAPI have mixins?

lucid iron
#

not quite, the code patching library is harmony

vernal crest
#

Vanilla only puts a warp on the lower tile of a door so if you do the same it won't be out of place

lucid iron
#

!harmony

ocean sailBOT
#

Harmony is a framework for patching .NET code, allowing you to take any portion of the game's logic and insert or substitute your own. This gives you more flexibility and control than SMAPI helpers and events, at the cost of being typically more complex and difficult to use safely and correctly, and more likely to break with a future update of the game and/or SMAPI.

If you are trying to do something that isn't possible or practical with SMAPI alone, then Harmony is usually the solution.

For more information, refer to the following:

amber nova
#

AH okay

lucid iron
#

(im assuming you are talking about mincraft modding mixins)

vernal crest
#

Oh my what a neat and informative Harmony command! SDVkrobusgiggle

amber nova
#

Sorry I'm kind of on that FabricMC brainrot

#

I almost said MC Modding brainrot but Forge doesn't have mixins πŸ™„

rotund elm
#

I fixed itttttt SDVpufferdab SDVpufferdab SDVpufferparty SDVpufferchickbig2

lucid iron
#

the design of harmony and mixin is fairly different from what i read (im not a mc modder)

#

harmony is method based

amber nova
#

Harmony is probably similar to Forge

amber nova
#

EW but I can get used to it

lucid iron
#

there's a lot of things that don't really need any harmony though

#

what kind of mod do you want to make?

latent mauve
#

bummer, testing my Strings changes and I apparently found a few spots where the [CharacterNameNPC] token won't work. Guess I'll need to figure all those out so I can manually set those instead.

amber nova
#

Not sure yet! I wanna make good progress on this save before I make mods

#

But I think I'm gonna make it possible to "platonically marry"

latent mauve
#

(so far, the strings used on the world map and grandpa's letter are a no-go)

amber nova
lucid iron
#

i think u can do that already right think

vernal crest
lucid iron
#

spacecore?

lucid iron
#

you can always do your own take though

rotund elm
#

WHAT SIN HAVE I COMMITED

amber nova
#

What kind of saplings does it drop...

brittle pasture
#

not even SpaceCore, you can change dialogue and marriage type in vanilla, all without needing C#

vernal crest
#

Yeah just because a mod for something already exists that doesn't meant you shouldn't pursue your own if you want it. I just linked it in case you weren't aware of PPAF.

brittle pasture
#

like just make everyone like Krobus

amber nova
brittle pasture
#

the hardest part is changing dialogue/events

amber nova
#

I think at first all my mods will be NPC-centered

vernal crest
#

I always play with PPAF and 10 heart events for everyone

brittle pasture
#

(hmm PPAF does have a SMAPI component for some extras)

amber nova
#

Not a great texture artist or map maker so it'll be significantly easier 😁

lucid iron
#

npc centered mods is arguably easier to do in content for like, most of it

vernal crest
#

I started making an NPC. I am doing so much drawing and map-making lol

lucid iron
#

u can toss in C# for special behavior if u think of em, but dialogue schedule event etc r all content based

amber nova
#

I think my eventual end goal would be making brand new minigames

#

Would be insanely cool to see like a guitar hero styled rhythm game, for example

rotund elm
lucid iron
#

oh no not another one to the rhythm game mines

#

but hm that won't need harmony either

amber nova
#

lmao

lucid iron
#

just the part where u code up a mini game lol

rigid musk
#

Or maybe I did?

amber nova
#

😎

rigid musk
#

now im not sure

lucid iron
#

u won't find it anyer easier in C#

#

by content i mean it goes into the game content and game do things for u

brittle pasture
#

it's much more fun to fantasize about making mini games than actually making mini games

rigid musk
#

I mean making a mod for anything that doesn't involve C# is definitely easier than doing something for C#

amber nova
#

I tried adding the Stardew Valley fishing game to MC once

meager loom
#

So I made the TileData on the Buildings Object layer and add the property LockedDoorWarp 7 14 [MAP] 800 2000 is there something wrong with that?

rigid musk
#

But I gotta say making my mod that was focused on colored carrots was easier than making whatever horrible abomination I have created with this Qi mod

lucid iron
#

C# ez if u r already spaget

amber nova
#

Horrific, Mojang does NOT know how to make a good GUI system

rigid musk
#

I have like 2 hours of experience with C#

#

and that's me learning how to do the 'hello world' type stuff

lucid iron
#

dw concerned ape was winging that too

#

ill never figure out how the neighbour stuff work

vernal crest
meager loom
#

I notice doors in vanill maps have Action in one field and then LockedDoorWarp but when i Creat a string property the action part isnt there

rotund elm
#

It is a map clash due to Polycarts which I did not expect, and I am just gonna remove

rigid musk
#

and then in the box next ot it you put the locked door warp

rotund elm
#

I could fix it but there are so many of them it may be quite a few .tmxs I would have to look through

vernal crest
rotund elm
#

too much work

lucid iron
meager loom
#

Yeah when i created a string it didn't seem to ask for a name but copying one from a vanilla map worked

lucid iron
#

you need to press the + to add a property

#

cus u can have many props on 1 TileData

meager loom
#

Oh I guess that does say name lol

#

I just put the warp stuff in that

vernal crest
#

Understandable but yeah that's where you put "Action" and then once it's created you put the rest of it in to the right

latent mauve
#

Question regarding Central Station alpha: The bus locations should be open by default, except for the desert, right?

#

If no condition is set when adding the stop.

normal trout
#

Question for map makers, specifically for custom farm maps. How do you usually handle the multiplayer cabins? Do you genuinely find a way to fit in all 7, in both the close and further away setups? Do you actually put them in with the Order x tile property for each cabin and each paths tile? And what happens if I *don't * do that? Will it not work and be broken, or will it just have some other behavior? Trying to decide how much effort I have to put into this part of this map, because it's not a huge map πŸ˜… (And follow up question, do I have to do both the close together and the spread out forms? Can they be the same? How do I do that, if the tile has to be on paths? Becuase the map is barely big enough to hold all 7 possible cabins, let alone two iterations of them lol)

latent mauve
#

I'll make the custom TileData Actions if I need to, but was hoping to just use the bus and check that one real fast.

deep cypress
#

Random question: can one remove context tags from an item? Like,

if(goat==true)
{tag.name(β€œsteaksauce”).remove?

rotund elm
#

Now I made a whole farm map disappear guys... I'm so talented SDVpufferblargh

normal trout
#

(Been there lmao)

rotund elm
#

Like wtf I dont remember what I did and now the Frontier Farm is just non existent on all my saves... It said byeeee

#

fr XD

#

I love this, not a single log message to lead me in the right direction

meager loom
#

I would put a regular warp on the Back objects layer, right?

rotund elm
#

I think the buildings layer

brittle pasture
#

I don't really recommend messing with context tags in most situations

meager loom
normal trout
# meager loom I would put a regular warp on the Back objects layer, right?

Depends on what you're trying to do - there are several kinds of warps. The usual normal kind is in the map properties, not attached to a tile property. That's the one where, when your character touches that tile, it is warped according to the map property. Then there are the tile property warps - some on Back, some on Buildings. The usual one is on Buildings. Check out this page and scroll down to known properties or ctrl F for warp and see which use case fits your needs πŸ™‚ https://stardewvalleywiki.com/Modding:Maps#Map_properties

rotund elm
#

Ok what did polycarts do to my GAME!

meager loom
#

Ooohhh it goes in map properties? That would be why it wanted a from tile. I was very confused about that lol thank you!

#

Is that still an Action?

normal trout
#

Yeah, np! Warps can be super confusing until you get used to how they work. Feel free to reach out directly if you need more help with it!

#

It is not, no.

#

Can you show me exactly what you're trying to achieve so I know which kind of warp you're going for? Then I can walk you through it better πŸ™‚

meager loom
normal trout
#

Nice! Heck yeah! That's the best way to learn when you're messing with map properties, is to find an example and copy it! Then just tweak it to fit your needs with the proper data πŸ™‚

normal trout
#

Standard practice is one tile away from the warp for safe landing.

meager loom
normal trout
#

Ah, it's likely a formatting error. The properties are SO stupidly specific. Can you show me how you're trying to achieve it currently via a small screenshot?

meager loom
#

When I try to add another Warp in here it just goes to edit the current one

brazen arch
#

Are you using a linux?

normal trout
meager loom
#

Ohhh it looks like you just added another one in the same filed

normal trout
#

Though if you find your issue just from looking at that, I don't need to see it. The key is, you have one single space between the first warp and hte second, in the same field.

#

Yup!

meager loom
#

I figured there would be multiple Warp entries

normal trout
#

No commas, no anything - or it breaks.

#

And nope, just one entry or it won't work.

#

It adds them in a big obnoxious list that gets really hard to read sometimes πŸ₯²

meager loom
#

Yeah I don't see why you don't use the tiledata for this like the others. Keeps it consistant and you wouldn't have to specify a from

normal trout
#

I recommend using the little "..." button to expand the field out, and working with them in a bigger space so you can see clearly. Because idk if it's still the same as it used to be, but one incorrect space (or a missing space) can absolutely break EVERYTHING.

#

Because there are other warp types that do use tile data - this one specifically is usually used between different maps.

#

The ones that go on tiles are usually for other circumstances, like trap doors, doors to buildings, things you click on, etc.

gentle rose
#

!mh help for using mods goes here SDVpufferheart

ocean sailBOT
#

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

normal trout
#

And honestly, since this is most commonly used as a warp between separate map files entirely, it does make more sense to have it in the general map properties area rather than attached to a specific tile. It's safer that way, so you don't accidentally break your warps. And I'm sure there are technical reasons for it that are beyond me, too.

meager loom
#

True that makes sense. Also the ... thing is super helpful ty!

normal trout
#

Also, note that you can do these kinds of map property warps through your content.json file, too! Then you don't have to fiddle with the fields in Tiled. You'd do a EditMap and target the map properties!

normal trout
# meager loom True that makes sense. Also the `...` thing is super helpful ty!

Yw! I often actually will list all my warps on separate lines (hit enter) so I can clearly read them and check for their accuracy, and then when I'm sure they're right I'll backspace and very VERY carefully make sure I add that space back in and fix all the formatting πŸ˜… It's a little risky, but if you have more than three or four warps, that list gets so long that my eyes and brain honestly can't parse it if I don't do it that way. Or even, setting it up in a separate text editor window like sublime or notepad, and then copypasting it where it goes once it's all set up works well, too!

meager loom
winter dust
#

If my NPC is named {{ModId}}_NPC, then I have to reference that in events right?

meager loom
#

Luckily my mod isn't very location based so should be ok

normal trout
#

And advice that comes from struggles: if you've got a broken warp, it's almost ALWAYS incorrect syntax - a missing space, or an extra one. Or just two numbers that are accidentally squished in together, so SMAPI reads them as one and tells you you don't have enough arguments in your setup and jsut straight up wont' load anything, rip πŸ₯²

winter dust
#

Wasn't there an event editor or designer tool someone made?

vernal crest
#

Maybe Miss Coriel?

unique sigil
rotund elm
#

Genuinely so confused I could die. So IF2R works fine but if I select Frontier its the default farm map? Anyone have a clue what I did, I reinstalled SVE Frontier Farm all for testing

vernal crest
#

I just write my events multi-line and find them easy enough to do

unique sigil
#

it's just easier (and more readable) to add multiple warps via content patcher AddWarp.

normal trout
rotund elm
winter dust
vernal crest
#

I don't think it's up to date for 1.6 though

#

Unless she updated it while I was away

unique sigil
#

Warp should be a field,, if i interpeted these terms correctly (and whatever gets put in there are entries)

normal trout
#

Oh, no. They were talking about doing it like,

Warp | x y place z a
Warp | b c place d f

Which I don't think will work but I could be wrong, rather than the correct way of:

Warp | x y place z a b c place d f

unique sigil
#

oh yeah, the first example wouldnt work!

normal trout
#

Yup that's what I thought. I'm always happy to discuss and double check though, I certainly don't know everything! SDVpufferheart

unique sigil
#

now i miss making farm maps

winter dust
brittle pasture
rotund elm
#

Yes but selecting the standard farm would be choosing the frontier farm map right?

normal trout
# unique sigil now i miss making farm maps

You should go make one! Just for yourself and for fun, if you don't want the pressure of going all out for a releasable one! I'm doing one rn and having a really good time with it tbh :3 I think it's important for modders to make time for personal fun projects, not just making it into work.

unique sigil
brittle pasture
unique sigil
#

if 'selecting standard farm = choosing frontier farm', that means 'frontier farm is a replacement farm' (which it isn't)

rotund elm
#

Weird everytime I have used it it replaces the standard farm stg

#

ohhhh

#

ok i see

unique sigil
brittle pasture
#

you may be confusing it with IF2 or Grandpa's, which replaces the Standard farm

rotund elm
#

possibly, but its always been in the standard farm slot when making a new save right? cause thats what I chose before and it worked fine, now I cant get it to work, I reinstalled frontier farm, but no luck maybe I should try FTM?

brittle pasture
#

I don't think so?

rotund elm
#

It can't be as FTM is working fine, so I guess I'll have to report it as a bug to FlashShifter

ivory plume
#

(Here's a first draft of how mods could add their own NPCs/clutter to the Central Station map. Not sure if I'll go with this design yet though.)

royal stump
#

(I'm not sure I understand what the problem is, but yeah, FTM doesn't affect which farm loads, ever)
(code-wise, I mean; I guess somebody could put HasMod on the load SDVpufferdizzy)

rotund elm
#

So randomly Frontier Farm has decided to stop working, no errors or anything, no changes to it or any mods that would affect it

#

just stopped

#

If I switch to IF2R or any other farm map it works fine but FF doesn't

latent mauve
#

My [CharacterNameNPC] tokens appear to be broken everywhere now. sigh

#

Well, time to undo 3 hours of work and change them all back to the static NPC names

winter dust
#

What did Data/AntiSocialNPCs do again?

brittle pasture
#

make antisocial NPCs probably
that's a field on regular NPC data now

royal stump
# rotund elm If I switch to IF2R or any other farm map it works fine but FF doesn't

Like the others said, if installing IF2R or Grandpa's Farm replaces your farm, you're on standard. Frontier Farm never replaced the standard farm in any version, as far as I know; the AdditionalFarms system predates it. If you were using Frontier Farm on that save, and now it's showing you a standard farm layout, either your save was edited/corrupted or some other mod changed your farm type. SDVpufferdizzy

Which is all to say I don't think Flash can do anything about that, SVE shouldn't be capable of affecting it.

rotund elm
#

Ok, I'll try some more stuff out, but I also removed all other mods including my patch for polycarts and frontier and it's still not showing as an option in the new farm menu, so I am wondering if I managed to possibly break something else, idek, im so good at breaking thingsSDVpufferdead

royal stump
#

SDVpufferthinkblob something's probably up with the frontier pack if it's not showing a new farm type selection, yeah

#

directly, or missing requirements, etc

rotund elm
#

Alright I'll see if I can use debug commands to find some info and if not I'll just leave it tell a new update for FF comes out

royal stump
#

to be clear, the mod does work as uploaded, so I mean your local copy might have issues or not be loading for some reason
(for reference on my end)

#

(meanwhile I broke something very different SDVkrobusgiggle)

rotund elm
#

Omg so i did break something

#

LOL

#

Now I feel bad

#

Im so sorry XD

#

But how did I manage to break something with a content pack that would prevent it form being loaded is now my new question

royal stump
#

no worries, it gets confusing with how many farms are still standard swaps

#

I guess make sure the log says it's loading properly, re-download and compare the content.json files, etc

rotund elm
#

I'll double check but as far as I know when I removed all mods and added only FTM and CP it was still broken even if I used clean installs

#

maybe Ill try reinstalling CP and then smapi if it comes to it, but I don't see how that would impact much

royal stump
#

it requires SVE to be installed too, so remember to keep that part in

rotund elm
#

Oh I didn't see it as a dependency X| let me try that rq to be safe

#

Did I just see Hiria's creator peeping in SDVpuffereyes

vernal crest
#

Lol

rotund elm
#

Still none existent, but log shows it is being loaded properly

#

To be safe I am gonna remove everything make a backup of my mods list and start from scratch

#

Thats gonna be quicker tbh

unique sigil
rotund elm
#

Yea, but I think I'll cut it here, I'm not gonna bug FlashShifter over this since Esca proved it worked on their end

#

It's def something with my setup

vernal crest
#

Are you testing with a completely new copy of FF?

rotund elm
#

Yea and FTM and SVE and CP

#

I mean it is possible I accidentally deleted an important selected file in my typing but I feel if I did it would have crashed the game

vernal crest
#

You could open up the mod and see if it's got the AdditionalFarms code block.

#

I am merely languidly offering ideas because I am unable to pull myself together to do anything lol

royal stump
#

(ignore my typing, I was reminded of that test stuff earlier SDVkrobusgiggle)

rotund elm
#

LOL I kept thinking I was gonna interrupt you XD

#

it is present, so I am going to spare everyone and do what needs to be done

#

and I may have accidentally mixed up a file or two in my unpacked so this is probably for the best for future modding

#

but that was a different "incident" all together XD

vernal crest
#

I am curious you said you can "change to" IF2R, but like Esca said that is a standard farm replacer. Unless by changing to it you mean moving it in and out of your mods folder (or adding a period in front of the folder, etc)

meager loom
#

I'm trying to run this python script https://github.com/scriptsforweirdos/StardewJA2ConPat to convert my old JA stuff to CP but I'm getting the error FileNotFoundError: [WinError 3] The system cannot find the path specified: 'C:/Games/Modding/Modding Projects/Tools/1.6 Files/assets/textures/' I'm assuming I need to put something there but nothing about that seems to be specified in the docs.

GitHub

Python Converter for Stardew Valley Json Assets to Content Patcher - scriptsforweirdos/StardewJA2ConPat

rotund elm
vernal crest
#

Ah yeah okay that makes sense then

rotund elm
#

Just rookie tings SDVkrobusgiggle

vernal crest
meager loom
royal stump
#

So I poked this for ~a while~ earlier, and I think it's a bug with hiding/shadowing that isn't detected properly by the IDE, for what it's worth. SDVpufferdizzy

MenuWithInventory declaring a void draw(SpriteBatch b /*optional args*/) "above" the original class's virtual void draw(SpriteBatch b) is hiding it from derived classes. You can still override/Action/reflect/etc because those use params explicitly, but it can't be called with base after that. VS should warn about that if it's intentional hiding logic, but it doesn't seem to.

I couldn't find a workaround offhand, but even changing the arg names would've been enough to avoid it.

#

virtual/static/neither on the hiding method all work this way, though static at least causes a compiler error
(ps i missed "override" in C1, but it doesn't affect anything)

lucid iron
#

interest, but since i am just compile in dotnet build it'd be some kind of roslyn bug right

royal stump
#

yeah, I imagine it's just kind of a quirk of the priorities they use to resolve overloads

lucid iron
#

surprise mechanics

uncut viper
#

if you write the dll byte by byte yourself itll probably work the way you want

#

actually chu hear me out. transpile yourself

royal stump
#

that would work, it's just an issue with the language and not the method itself SDVkrobusgiggle

uncut viper
#

thats why you fix it in post SDVpufferthumbsup

#

but not postfix

lucid iron
#

dont u need like, cecil to change method sig

#

or hm, whatever smapi does

royal stump
#

I'm not sure if "use harmony to call one method properly" is faster than Action, but...maybe

uncut viper
#

its definitely not

royal stump
#

and yeah, Harmony can't mess with methods like that, I think Cecil can but I never looked into it

uncut viper
#

but i need to make crime jokes like these to distract myself from my head spinning trying to reflect my way through CP once again

lucid iron
#

did u buy some more mirrors

teal bridge
#

SMAPI uses Cecil, it just doesn't let us use Cecil.

uncut viper
proud wyvern
#

you don't need any Harmony patches for that anyway, you could use a DynamicMethod instead

teal bridge
#

I'm almost positive I was using a workaround that didn't involve any weirdness around dynamics or reflection. Wasn't able to actually find the instance, though.

#

Maybe naming the parameters? Although I think Esca said the args had the same names in both overloads...

lucid iron
#

its a base game method so i cant rly do anything about them

#

the delegate thing is fine/10 prob

teal bridge
#

Yeah, did the delegate thing not work?

lucid iron
#

yep it work

#

it just looks silly

teal bridge
#

Well, it looks silly because the base class is poorly written.

royal stump
#

MenuWithInventory inherits from something with virtual draw(SpriteBatch b), declares its own virtual draw(SpriteBatch b, optional = etc) method, and that seems to hide references to it when derived again

#

using anything other than b would let you target it with named args, but yeah

teal bridge
#

Overloads with optional params are somewhat OK (though still often confusing) when their signatures don't overlap. When they do, it's just... well, bad.

meager loom
#

does anyone know where the docs are for adding custom music to a map with content patcher? I'm having trouble coming up with anything

teal bridge
#

They cause issues in other places too, like with generic type inference.

lucid iron
#

do you have your own track that u want to use in ogg format?

royal stump
meager loom
#
{
    "Action": "EditData",
    "Target": "Data/Locations",
    "Fields": {
        "[LOCATION]": {
            "MusicDefault": "[{{ModId}}_Music]"
        }
    }
}
``` is this the correct format?
#

oof formatting

vernal crest
#

Are you creating this location or editing an existing one?

meager loom
#

It's a new location with my mod

vernal crest
#

Good news! SInce you're already editing Data/Locations for the music, you can just avoid using the old CustomLocations thing entirely

latent mauve
#

You might be required to use the new Data/Locations format for custom music.

lucid iron
#

We need to find every guide that mentions custom locations and update them

vernal crest
#

Example of making your location using the new way.

uncut viper
#

CustomLocations turns your stuff into a Data/Locations entry and iirc they go first... so i think its fine. i wouldnt really recommend it tho

#

i still think the CP docs themselves could be more in your face abt it being deprecated

vernal crest
#

So. I released a mod with // TODO: Forage and fish spawns in it. My only map is an indoor one.

latent mauve
meager loom
#

Awesome, thank you guys!

uncut viper
#

i mean with videos i think CustomLocations is the least of a new modders worries since it still works SDVpuffersquee

meager loom
#

Wait so with that new way, do I need to add the map some other way first?

vernal crest
#

Oh yeah I was going to go through the modding wiki and note everything that was outdated. But then I was sad and tired so I didn't.

#

Yes you do, like this

        //////////////////////////////////////
        // CUSTOM MAP LOADS
        //////////////////////////////////////
        // Load Apollo House Map
        {
            "LogName": "Load Apollo House map",
            "Action": "Load",
            "Target": "Maps/{{ModID}}_ApolloHouse",
            "FromFile": "assets/maps/Aba_ApolloHouse.tmx"
        },
#

The pretty header is not necessary

#

I just like them

meager loom
#

What's with the "CreatOnLoad" stuff about? I'm not sure if there's anything I'm missing cuz I'm not sure what map path is?

vernal crest
#

MapPath is the asset name you loaded the map file into in your Load code block. So Maps/{{ModID}}_ApolloHouse from my example. I'm not sure what happens if you don't have CreateOnLoad, since if you don't have a map I'm not sure what you're going to do with a location anyway.

latent mauve
#

CreateOnLoad is exactly what it sounds like: it creates the location (and it's associated map) when you load the save file.

#

(this also means if you update the physical file you are loading for your map source afterwards, you will not be able to see the changes until you reload the save, even if you tried to run patch reload)

vernal crest
#

By update the physical file, you mean loading a different .tmx file?

latent mauve
#

I mean changing the tmx file in Tiled and resaving it

vernal crest
#

I do that all the time

#

Patch reload does update those changes

latent mauve
#

It did not for my CreateOnLoad location, I had to exit to title and reopen the save

vernal crest
#

Strange.

latent mauve
#

If you use EditMap patches though, those get around it.

vernal crest
#

Is yours an AlwaysActive: true location?

latent mauve
#

Trust me, I ran into that issue with my apartment mod repeatedly while it was in development, LOL

vernal crest
#

I have four new locations between my two mods and all of them show my map changes immediately when I patch reload.

latent mauve
#

I don't think mine were AlwaysActive but I do not quite recall

#

All I know is that it wouldn't update on patch reload without reopening the save when I was attempting to fix the tiledata

#

But it's possible something changed since then, I am not sure how much more recent your maps are

vernal crest
#

That sucks. I've changed TileData without reloading saves as well.

#

Well, I was doing it last night at the most recent but I've been doing it since mid last year.

latent mauve
#

shrugs well, if it's only a me issue, then just consider my warning unnecessary, I guess!

#

I may just be cursed, considering my tokens also worked last night and just stopped working today during testing

uncut viper
#

(if one or both of you is ever able to figure out a consistent cause tho pathos may be interested, if its not some other thing coming into play)

#

but who knows where the issue actually lies. might be in CP, might be in SMAPI, might be a weird game oddity with certain specifics

#

one of those much less fixable than the others SDVpufferpensive

latent mauve
#

Yeah, I was developing in 2.4.0 CP, so could very well have been something that popped up in a specific build. I haven't done anything with the locations since.

meager loom
#

When setting the Home for an NPC, what does ID refer to here? It says Unique string id but the page for that references locations names but I thought thats what Location key is for.

"Home": [
    {
        "Id": "Default",
        "Location": "BusStop",
        "Tile": {
        "X": 4,
        "Y": 5
        }
    }
]
latent mauve
#

It's just an identifier so the game can label them uniquely, I think

gentle rose
#

I think Kisaa was also having problems with patch reloads for maps recently, actually. Interesting.

meager loom
latent mauve
#

Default is usually good for the normal home

#

In other cases, I personally think the condition is more helpful than the location name for an ID

#

For example, if you had a summer or winter home that was different, you could make the ID for those "summer" and "winter" to make it easier to know why the home changed

vernal crest
#

Both of my mods are still in 2.3.0

light bramble
ocean sailBOT
#

Log Info: SMAPI 4.1.10 with SDV 1.6.15 build 24356 on macOS Unix 15.3.0, with 11 C# mods and 3 content packs.

vernal crest
#

Yeah you changed the ID for your AdditionalFarms entry so the one the game was looking for doesn't exist anymore

latent mauve
#

Did you use FormerLocationName in your update?

uncut viper
#

yeah that will definitely break existing saves

latent mauve
#

They should be able to use Easy Farm Switcher to swap, I think

uncut viper
#

i dont think formerlocationname helps in this instance since its not a location thats changed but a farm type

#

its not location data

latent mauve
#

Yeah, I wasn't sure if the location data could be preserved that way with a farm or not

#

Gotcha

uncut viper
#

easy farm switcher from inside the farmhouse may be the only way to fix it besides undoing that change, which would then break it for saves made after the update

#

generally you never ever want to change IDs of things if you do not have to after release

light bramble
#

I mean button you told me I wouldn't need to do anything....

uncut viper
#

i did say its for location data

light bramble
#

but I asked about the farm name

uncut viper
#

and beneath that, you posted code for location data

vernal crest
#

You weren't asking Button about farm type

normal trout
#

Very random question, y'all. If I wanted a fully grown apple tree to spawn in when this custom farm map is loaded, and to behave like a normal apple tree (ie bears fruit in the fall only) what would I use for the two stages? I'm not super familiar with growth stages, especially with the trees. And I don't want to accidentally force spawn something and end up with apples in spring somehow lmao, if that's a possible bug I'd find a way πŸ˜‚

vernal crest
#

And a name implies display name

uncut viper
#

you asked me if you need FormerLocationName for a map. i said that FormerLocationName doesnt exist for maps. its for location data. you asked me if you'd need it if you changed a warp room name. i said yes

latent mauve
#
Optionally, you can override additional farm location behavior by editing Data/Locations. Each farm type can have its own entry, with a key in the form Farm_<farm type ID>. If omitted, it defaults to the location data for the standard farm layout.```
light bramble
#

To be fair I thought what I had asked was clear...I was asking if the map name internally changed if I would then have to use the former locations...I thought I was clear enought...

#

sorry

uncut viper
#

what i said at the time is that you cannot do that.

latent mauve
#

This is why I thought FormerLocationName had a shot at working

#

The thing I quoted

uncut viper
#

because a map does not HAVE a place to even set a formerlocationname

#

its a map

#

which is a different question to asking whether you can change the ID of a farm type

#

a Farm Type is not a Map and is not a Location

light bramble
#

...

#

I was unaware of this...

#

I thought they were interchangable

uncut viper
#

i apologize for not making sure we were on the same page at the time, however i did correctly answer what was asked

light bramble
#

Looking back at it yes you did answer what was asked XD

uncut viper
#

a Map is the like .tmx itself. thats a Map
a Location is basically a collection of information about a place, including which Map to use

vernal crest
light bramble
#

That's then though. and this is now...How do I go about helping this player get their layout back?

uncut viper
#

i would try the easy farm switcher thing

latent mauve
vernal crest
#

Stage 5 is what I would guess from the wiki

uncut viper
#

ive never used the mod nor have i needed it in this scenario either, so if you'd like you may want to try making a save with your old version, saving the gane, and then updating to your new version to recreate the error

#

and then see if Easy Farm Switcher can solve it

normal trout
uncut viper
#

alternatively, you can put up the old version as an Optional File on Nexus and put in the description that the newer version requires a new save

vernal crest
uncut viper
#

(angle brackets!)

vernal crest
#

Angle brackets

#

Haha thanks Button

uncut viper
#

<> angle brackets
[] brackets (or square brackets)
() parenthesis
{} braces (or curly brackets)

vernal crest
#

I'd even forgotten less than and greater than sign. All I could think was sideways chevrons.

normal trout
#

c h e > r o n s

#

ew I hate it

uncut viper
#

chevrons ARE much cooler ^v^

#

much cooler sounding i mean

meager loom
#

Do I have to tell an NPC how to get to my interior? I'm trying to get my npc to walk to my interior but he's just standing at his home location. He needs to walk like 2 maps over and use a LockedDoorWarp. Is there something I'm missing?

light bramble
#

feeling dumb rn

uncut viper
#

these things happen

#

whats important to remember is that modding is not important

#

so as long as you provide the old files just in case for users affected to use, its really not a big deal

#

so i wouldnt sweat it too much

latent mauve
#

Pathfinding is determined before the day start

#

Otherwise, try moving your destination point or checking for invisible tiles or similar blockers on the Building layer at the destination tile or the warps

dusk mulch
#

Is the fruit bat cave forgables hardcoded or can they be edited?

vernal crest
#

Well, being hardcoded doesn't stop them from being edited. But whether without C# I am not sure.

#

I know there are mods that do it but not how they achieve it.

stoic galleon
#

Hi, I have a question about the bus tickets. Does anyone know what codifies the animation after your buy the bus ticket and until you get into the bus? I'm trying to update a mod that recolors the bus that broke with 1.6, and it mostly works now, except for the short animation after the bus ticket is bought. The sprite seems to get stuck in place while running. Once the farmer gets into the bus it goes back to normal.

dusk mulch
#

mod idea thinking time....

uncut viper
#

check Desert.draw() for the getting into bus animation

#

(tho its kinda spread across a couple functions in there)

dusk mulch
#

Would I be abled to make a new event/weather in CP?

stoic galleon
#

Ok, I'll check that. Thanks.

uncut viper
dusk mulch
#

(I want to make a superhot weather/event, like the opposite of green rain)

dusk mulch
dusk mulch
#

ughhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh i really really dont want to animate a weather condition for the tv

#

ill do it later

rigid musk
#

how would I go about loading the sprites for a temp actor npc?

velvet narwhal
#

addTemporaryActor <NPCNAME> <WIDTH> <HEIGHT> <XPOSONMAP> <YPOSONMAP> <FACINGDIRECTION>

rigid musk
#

no no but like, how do I make the game pull the sprite itself if its

#

a custom one

hallow prism
#

you load it as you would for a npc

velvet narwhal
#

unrelated: what the hell happened to console commands page on the wiki

#

yeah you load it to Characters/<NpcName>

hallow prism
#

use a unique name

hard fern
#

Should I be concerned about the wiki page

velvet narwhal
#

it gave me JIRA ptsd

hallow prism
#

what is the issue?

vernal crest
#

Looks normal to me

molten owl
velvet narwhal
#

this don't look right

rigid musk
#

oh your wiki just isnt loading right

#

it happens sometimes

velvet narwhal
rigid musk
#

sorry for pinging you i forgot about the thing with you being active in conversation ope

velvet narwhal
#

no just the character sprite

hallow prism
#

just the portrait and sprites

#

well, portrait i use if they have dialogue

#

it's not mandatory

rigid musk
#

no portrait only sprite (i did not feel like doing allat)

#

so just loading an asset for characters/npcname

winter dust
#

Are there conversion guides for MFM to CP? The converter command doesn't list one.

hard fern
#

I don't know about conversion guides specifically, but the mail section on the wiki should tell you how to make mail with CP?

vernal crest
#

Not that I'm aware of. Mail in CP is very straightforward so it should be pretty easy to convert.

winter dust
#

It gives me the data, but not how to format it.

vernal crest
#

Here's an example if that's helpful

{
                "LogName": "Add Hiria's Mail",
                "Action": "EditData",
                "Target": "Data/mail",
                "Entries": {
                    "{{ModID}}_SpringTramp_Mail": "Kia ora, @.^^Just dropping you a note to say I'm off tramping for the next few days to go check on the huts and tracks in the area. Should be back Sunday. I'll bring you back a rock!^^- Hiria[#]Hiria's Spring Tramp"
                }
            }
rigid musk
#

hm.. for the sprites do they have to be laid out specifically like how other sprites are? i.e if i just have a forward and back facing sprite would i need to put them in the associated locations/indexes

hallow prism
#

which part do you have trouble with?

rigid musk
#

(im guessing i have to since it uh... worked.. but not quite)

vernal crest
#

Just pretend my actual text is in i18n because it will be one day

rigid musk
#

I shall do such then thank you

hallow prism
#

as the game use them automatically in some case

winter dust
hard fern
hallow prism
rigid musk
#

that seems to be the case here -I suppose I probably shouldnt use SVE as a reference when it comes to ... some things

#

idk how they work their magic

hallow prism
#

there are other ways to send mails but trigger action is the best for classic mail

#

SVE is a large mod so can be overwhelming

hard fern
#

... SDVpuffersweats i don't think sve is a good reference because of how large it is

rigid musk
#

yeeeeeeeahh.. but it was the only one i could recall off of the top of my head having used temp actors in cutscenes

hallow prism
#

!vmv has some temp actors, but is still a large mod

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.

winter dust
#

I mean, MFM doesn't have a direct conversion to what SDV uses, I don't see anywhere to define custom letter backgrounds or most of what else MFM gives you.

rigid musk
#

Which, by the way, I love the mod so far

#

its very beautiful

#

I have an example of making a custom letter bg if you need it

vernal crest
# winter dust Yeah, but I gotta do Trigger actions too right?

Not in every case, but yes. I have an example for that too.

        {
            "LogName": "Add Trigger Actions",
            "Action": "EditData",
            "Target": "Data/TriggerActions",
            "Entries": {
                "{{ModID}}_SpringTramp": {
                    "Id": "{{ModID}}_SpringTramp",
                    "Trigger": "DayStarted",
                    "Condition": "SEASON_DAY spring 18",
                    "Actions": [
                        "AddMail All {{ModID}}_SpringTramp_Mail now"
                    ]
                }

            }
        },
rigid musk
#

or using one

hallow prism
#

yeah CP can do letter background since quite a time

hard fern
#

sigh so many things I'm still not caught up on

hallow prism
#

and for other MFM stuff, i believe there's a lot CP can do too

vernal crest
#

I hacked up my trigger actions page to provide that example but I think the braces are okay

winter dust
hard fern
#

?

rigid musk
#

"angelofstars.qiweapons_mail": "[letterbg Mods\\AngelOfStars.Mrqifriendable\\QiLetterBG 0] [textcolor white] {{i18n:Aos.qiweapons.text|QiNameTitle= {{QiNameTitle}}}} [#]{{i18n:Aos.qiweapons.name}}",

rigid musk
#

that's an example of one of my mail entries :]

vernal crest
#

And Lily has shared her example of what that looks like

winter dust
# vernal crest

Is that letter text as in the i18n data you input or custom fields.

hallow prism
#

it's like all in the wiki, it gives you the bit, then you need to assemble those

unique sigil
# latent mauve All I know is that it wouldn't update on patch reload without reopening the save...

re: iro saying i was having problems patch reloading map changes as well: don't look at me, it's because central station's location is loaded this way:

            "Action": "EditData",
            "Target": "Data/Locations",
            "Entries": {
                "{{MainModId}}_CentralStation": {
                    "CreateOnLoad": {
                        "MapPath": "{{InternalAssetKey: assets/centralStation.tmx}}"
                    }
                }
            }
        },```
you may be experiencing a different problem. i have no problems patch reloading my usual maps!
hallow prism
#

but once you know what to look for you can look at mods/game to see example

vernal crest
hallow prism
#

pathos added a lot of the wiki info but can't be expected to make a full example each time. If you have trouble with something and feel it would be useful i suggest returning to the page once you got how it's done and then post an example

#

it's what i did on some of the stuff with target field when i needed more info and felt players may too, i edited wiki to add more details

vernal crest
#

The mail page could definitely do with an update to make it more clear how you actually send the mail. I'll add it to my to-do-one-day-unless-ichor-does-it-first list.

winter dust
#

Thanks for the help, these guides screw with my heads sometimes depending on what the instructions are saying.

rigid musk
#

i get that, i struggled with making my letter bg a thing too even though it was telling me what to do lol

#

Did I figure it out? yeah but it took a while

winter dust
#

Is there a conversion graph for friendship levels to points?

rigid musk
#

This IS the place for questions afterall

#

250 per heart level

vernal crest
#

I always just dissect other people's mods

winter dust
#

So 750 for Level 3.

rigid musk
#

yep :D

hard fern
#

I forget you can use odd numbers...

winter dust
hard fern
#

Rsv is also pretty big

vernal crest
#

I usually dissect smaller mods lol

hard fern
#

Easy to get lost in it

rigid musk
#

oh my god its 4 AM... I didnt even realize I was so focused on coding these events tbh_seen

#

I should probably sleep soon... probably

winter dust
#

In the game it uses a friendship level 2505 check for a penny event condition check at least once.

vernal crest
hallow prism
#

if it helps, VMV usually have example of a lot of 1.6 features and some of the 1.5.6 too (like the mail background) and is smaller in size than other expansions

#

lot of people told me it was helpful in figuring stuff out

rigid musk
#

thank you to you guys for helping me get these dudes in the game yippie

hard fern
#

Woah

#

Are those mr qis Bodyguard ?

rigid musk
#

quite the opposite lol

unique sigil
#

lilyyyy i am so excited for your mod!!

rigid musk
#

he doesnt need body guards

hard fern
#

Oh my

vernal crest
#

I like to think they're his children

rigid musk
unique sigil
#

your progress pics are very SDVpufferchef every time i come across them

#

i like stacking vanilla NPC expansions i would for sure yoink this

rigid musk
#

i just have to test 7 more events and then recode 9 for SVE

hard fern
#

... πŸ˜… do you ever know the feeling when you're not sure whether to ask a question or not because you probably already know the answer yourself ...

rigid musk
#

It's more of a "Mr.Qi Expansion" mod than just making him into an NPC considering everything but y'know

#

honestly its best to ask it anyways I think

#

maybe you'll answer it yourself but at least you're getting an answer

#

if you dont then you might just sit with out one for a while and thats no good

hard fern
#

Yeah, it probably is... But I'm good at overthinking

rigid musk
#

I get that for sure

winter dust
#

MFM apparently had a date parameter, did that ever do anything?

vernal crest
#

Do you mean did it work?

#

I would've hoped so

#

Also I can't believe Digus put the entire instructions for that mod in the mod page. I bet that took one million years to get the formatting right with Nexus's determination to destroy formatting.

hard fern
#

(sorry, wall from me incoming)

winter dust
#

I don't think CP has a comparable thing other than specifying it in conditions.

hard fern
#

πŸ˜… i feel a bit awkward about interrupting the convo with this question but i hoped to at least run it by people here before going to bouncer or something...

I don't know if this is "adult content" or not, because the rules don't say much about this specifically, but how much would i be able to get away with in regards to:

  • not visually depicted at all, but lots of discussion of animals dying (...well i don't know if it's lots, but at least one significant conversation about it in-game)

And would it still be allowed on this server? Or should I just forget about it and not bother with it at all SDVpuffersweats

vernal crest
winter dust
rigid musk
vernal crest
hard fern
vernal crest
#

I don't even know where the rule about not being allowed to mention NSFW mods even is. I can't see it in the rules list.

winter dust
#

I'm assuming I can add my own mail bg by adding a new entry to Data/letterBG?

#

Interesting, it's an image file.

hard fern
vernal crest
#

Oh it's in the mod-showcase channel pinned post. Which I have never read before because I didn't know it existed lol

hard fern
#

Oh. I have the showcase channel muted 😭

rigid musk
#

and then pull the asset location when referencing the bg

winter dust
#

Oh, so just load it? But don't I need a target?

rigid musk
#

nope

#

er well yes but

#

one second

vernal crest
#

You can't Load without a Target

#

What would you be loading to?

winter dust
rigid musk
#

"LogName": "AngelOfStars MrQi Friendship Assets", "Action": "Load", "Target": "Mods/AngelOfStars.Mrqifriendable/QiObjects, Mods/AngelOfStars.Mrqifriendable/QiCrops, Mods/AngelOfStars.Mrqifriendable/QiLetterBG, Mods/AngelOfStars.Mrqifriendable/vanillafurniture, Mods/AngelOfStars.Mrqifriendable/QiTiles, Mods/AngelOfStars.Mrqifriendable/QiNutRoomFixedTiles, Mods/AngelOfStars.Mrqifriendable/MrQiTextureFix, Mods/AngelOfStars.Mrqifriendable/QiWeapons, Mods/AngelOfStars.Mrqifriendable/QiFurniture, Mods/AngelOfStars.Mrqifriendable/QiCrow, Mods/AngelOfStars.Mrqifriendable/Blueberry_cat, Mods/AngelOfStars.Mrqifriendable/Blueberry_dog, Mods/AngelOfStars.Mrqifriendable/Iridium_cat, Mods/AngelOfStars.Mrqifriendable/Iridium_dog, Mods/AngelOfStars.Mrqifriendable/QiPetIcons", "FromFile":"assets/{{TargetWithoutPath}}.png" },
i load mine like this

#

its a whole lot of other things but

devout otter
#

The Target is just anything you want to name it as.

rigid musk
#

That's waht i was trying to get across

#

im a bit tired right now sorry xD

winter dust
#

Does {{ModId}} work in Target?

rigid musk
#

you dont have to edit a data entry though

winter dust
vernal crest
#

Yes it does

rigid musk
#

Probably honesty - i dont remember why I typed it out fully

vernal crest
#

There is no data/letterbg anyway

#

I assume the vanilla mail backgrounds are determined in the C# because they are not present in data/mail

hallow prism
#

separate the body of the letter and the title

winter dust
#

Oh, you can define a title?

hallow prism
#

yes

rigid musk
#

yeah its what shows up in the mail section

#

like when you look at all the mail you've had delivered :D

winter dust
#

Whats QiNameTitle for? Is that just a parameter that changes in your mod?

hallow prism
#

yes

vernal crest
#

Yeah Lily has a config option to change Qi's title, iirc?

#

Title...is that the right word? Mr/Ms/Mx etc

#

Honorific, that was the word I was thinking of

winter dust
#

I guess Tarniyar never defined titles for the Garden Village mail, so I guess I get to choose something for them now.

rigid musk
#

Yeah! :D I have a whole thing set up so that people can choose what they want Qi to be referred to as

winter dust
#

Is Keanu Reeves an option?

rigid musk
#

The Mx.Qi mod seemed to be popular so I figured I would just add my own stuff to it - unfortunately because of HOW i did it I kinda had to make my own patches to everything vanilla related (thus not compatible with said Mx.Qi mod) but I knew people would like it so

#

PFF

winter dust
#

Or Johnny Depp?

rigid musk
#

theoretically you could go into my mod files and change it to whatever

#

you can also change what he refers to YOU as so

winter dust
#

That's a challenge I accept.

rigid musk
#

its actually really easy

vernal crest
#

"Mr Anderson"

winter dust
#

You will behold the cursed monster I will create.

rigid musk
#

youd literally just change one of these

winter dust
rigid musk
#

wait no I dont think its that onepondering i think that one is just the translated display

vernal crest
#

Then he could be "Keanu Reeves Qi"

rigid musk
winter dust
#

Qianu Reeves.

rigid musk
#

Qianu Reeves...

#

I could make a mod that literally specifically only changes his name to that

#

it would be so easy oh my god i have to

winter dust
#

Dew it.

vernal crest
#

I made the mistake of reorganising my modding setup. But I did not finish, preferring instead to go have a breakdown. Now I would like to return to actually working on a mod, but the more work I do without fixing my setup and therefore backing up my work to Github, the more I am inviting Satan to personally smite my computer with lightning bolts of death and hard drive frying.

But I do not want to try to figure out how to finish reorganising.

winter dust
#

I have a folder where I do all my modding.

#

It has a lot of old versions of my mod in case I delete something and other mods I add compatibility with.

#

And of course many shortcuts and a. SMAPI launch shortcut.

vernal crest
#

My issue is that I cannot make a decision about mono repo vs single repo. So I have two mono repos and one single. Worst of both worlds.

#

Okay Aba you can do this

winter dust
#

For whatever reason Tarniyar included the entire Movies.json in Garden Village, unsure why.

#

And the entire MovieReactions.json?

vernal crest
#

Didn't know how to edit it?

#

I've seen mods that do that

#

Terrible for compat

winter dust
#

I mean at their current stage you can't date Hekate or Hephaestus.

rigid musk
winter dust
#

So I assume you can't take them to the movie/cinema?

winter dust
rigid musk
#

Why wouldnt you be able to take them to the movies?

unique sigil
winter dust
#

Idk, I assumed it was couples only.

unique sigil
#

definitely would install

winter dust
#

I never visited it when I played vanilla.

unique sigil
#

you can invite anyone to movie theater

#

doesnt have to be dating/spouse

winter dust
#

Then I guess I gotta make Movies data for them anyways.

rigid musk
#

Qianu Reeves...

winter dust
winter dust
rigid musk
#

WAHsnapped how is it not working alreayd

#

i cant spell

winter dust
rigid musk
#

point thats not a bug that's an ENDORSMENT
(thank you) Blushcat

#

my 10 minute mod

#

I could change his dialogue to say that though

velvet narwhal
# rigid musk

i'mma need i18n random keys as a toggle so i can get qi in a qi pao

rigid musk
#

I will not be scope creeped for a joke mod I will NOT

rigid musk
#

maybe just a little

#

that wouldnt be too hard

winter dust
velvet narwhal
#

i will offer the qi pao just say the word KEK

rigid musk
#

after i finalize another event i will add the dialogue line...

#

i dont know what you're asking me for Javi and I am going to avoid it at all costs like it's a plague

slender badger
#

A qipao is a Chinese style of dress πŸ˜†

velvet narwhal
#

yeah if qi gets randomized name into qi pao, he'd have a qi pao outfit SBVMischief

rigid musk
#

okay but do I change ALL of his dialogue lines to just say you're breathtaking or do I change only one...

rigid musk
#

that's also not hard

unique sigil
#

look at you, being scope creeped for a shitpost mod

#

rite of passage

rigid musk
#

(its nice to not work on events for once honestly)

velvet narwhal
rigid musk
hard fern
#

You're breathtaking

winter dust
#

I almost crashed my computer after almost running out of memory from a SMAPI crash.

#

Turns out, when you add something before the name your NPC like {{ModId}}_, don't forget to update anything or else.

rigid musk
#

yeahh... yeah

#

it causes a lot of issues

rigid musk
winter dust
#

Well right now it's trying to load something that is being loaded, not sure why it's printing an error, but I guess I'll find out.

rigid musk
#

i dont know how to set configs to only be allowed to be edited at the homescreen with GMCM though...

#

cause you have to re-load into the game to get his name to change

#

Reality can be whatever I want...

vernal crest
#

IIRC that's a C#-only thing for GMCM

#

To be able to require editing while not in save, I mean

rigid musk
#

I'll just add a warning at the end of the description lmao

proud wyvern
#

unless you're editing some custom modded assets and not vanilla ones

#

i'd report to Pathos

winter dust
#

I love cannot access file errors.

rigid musk
proud wyvern
#

the name not updating until save reload

rigid musk
#

Oh I just figured it's how the NPC is loaded in during the day / how name data is cached

#

or NPC data is cached in general

proud wyvern
#

yes but SMAPI propagates asset changes

winter dust
#

"Could not find file \Content\Portraits\HekateSS.xnb", I never defined my sprites as a portrait, and why can't it find my portrait?

vernal crest
#

!log

ocean sailBOT
#

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

Please share your SMAPI log file. To do so:

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

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

winter dust
#

You don't need to do the command.

rigid musk
#

do you have Hekate's portraits being loaded?

vernal crest
#

And your json

#

Please

winter dust
vernal crest
#

Sorry, I didn't know if you were familiar with the log parser.

#

I suppose I also don't know if you were actually asking for help or just venting.

vernal crest
#

You appear to be calling for Hekate's portrait before you actually Load it

rigid musk
#

mmm that might not be the issue either ngl

#

I had the same thing happen to me when I was doing my npc

#

for some unholy reason I had to name my portraits with my mod id in it

#

that was literally the ONLY thing that fixed it

devout otter
#

You make the TextureName of your character HekateSS but you don't Load any Portraits/HekateSS.

winter dust
rigid musk
#

to this day I will never understand this... never

#

but it works B')

vernal crest
#

I'd recommend adding your mod id to your Targets by the way

#

Lily do you not have file extensions turned on?

rigid musk
#

also Dolphin seems to have found an error :]

rigid musk
#

hopefully that's it- wdym?

velvet narwhal
vernal crest
rigid musk
#

uhh... i dont know how to enable that

winter dust
devout otter
#

It's both. You'd need corresponding Portraits/ and Characters/ defined by your TextureName.

vernal crest
#

You don't need to specify the TextureName field unless you want to change it from the default. You can though if you like having all the fields present even if you're sticking with their default value.

rigid musk
velvet narwhal
#

texture will default to the internal npc's name if it's set to null

vernal crest
ocean sailBOT
#
Hidden File Extensions

Windows and Mac hide most file extensions by default. If you are creating or updating mods, it's helpful to show file extensions so that you can be sure all mod files are named correctly.

To show file extensions on your computer:

On Windows 10, open File Explorer, click on the View tab, then check the File Name Extensions box.

On Windows 11, open File Explorer and click on View > Show > File Name Extensions.

On Mac, open Finder, and in the menu bar, click on Finder > Settings (or Preferences) > Advanced, then check the Show all filename extensions box.

rigid musk
#

catpeek but why did it work before... thats...

#

im not gonna ask questions honestly

#

i have a tiny little brain

vernal crest
#

You don't have to enable them. It just gives me pain to see a mod-maker with hidden file extensions lol

rigid musk
#

ooo... file extensions...

#

does this bring you joy

vernal crest
#

Don't worry Lily I also don't know why that matters. I don't set Hiria's TextureName and Hiria's file names are not the same but I don't run into the same error.

velvet narwhal
#

i live in Asset Hellℒ️ so i have no room to speak

vernal crest
#

As long as you have at least one portrait and sprite file with the same Target as your NPC internal name, TextureName shouldn't complain when it's default.

winter dust
# ocean sail

I've worked in IT for years, never understood why they would hide file extensions by default for users. Counterintuitive at times.

vernal crest
#

To encourage helplessness in users so they can be more easily exploited /cynical

#

Hum hum hum why is my Event Repeater broken

rigid musk
#

5 more events to test, 9 more to recode for SVE compatibility..

#

im so so so close to done

winter dust
#

I hate NPC creation.

rigid musk
#

I should sleep because I have D&D tonight but I want ... to be ... DONE

vernal crest
#

More importantly, why is my TDIT broken

rigid musk
#

Also I too hate NPC creation and yet... and yet

velvet narwhal
#

wdym it's fun

vernal crest
#

Oh I know why TDIT is broken. (In case Dolphin sees this and worries: it's entirely because I hadn't redone my symlink after updating, nothing wrong with the mod at all)

velvet narwhal
hard fern
#

I love NPC creation
<- has had writer's block for more than a month and ended up scrapping the original idea

velvet narwhal
#

though ig my idea of fun is breaking something or bending it until it breaks or i get tired of trying to break said thing

winter dust
#

"NPC {{ModId}}_Hekate can't load portraits from 'Portraits/{{ModId}}_Hekate': Could not find file."

#

I hate it.

hard fern
#

Did you forget the png

#

In your fromfile

winter dust
#

If it's TextureName again I'm killing something.

vernal crest
#

You have loaded "Target": "Portraits/Hekate" but TextureName is looking for "Target": "Portraits/{{ModId}}_Hekate"

winter dust
#

I don't see where that is?

#

All my entries have ModId In front of them.

vernal crest
#

Actually, that link is still showing your TextureName as "HekateSS"

winter dust
#

That's stupid, I just updated it.

vernal crest
#

Can you do a new validation and link that?

vernal crest
#

Okay, that's better

#

Yeah I don't see an issue immediately

#

Can you share your log?

twin moss
#

Hallooo!

Is it still possible to force the Farmhouse Upgrade(s) to take 1 day instead of 3 or did I miss something there?

winter dust
ocean sailBOT
#

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

rigid musk
#

what is the actual name of your portrait

#

like the asset's name

winter dust
#

Like file name?

rigid musk
#

mhm

winter dust
#

It's in the FromFile.

#

HekateP.png

rigid musk
#

i think they have to be the same

winter dust
#

That wouldn't make sense though, cause the From File doesn't care about the name of files normally.

rigid musk
#

i know trust me i know..

#

again I had the same issue with my qi portrait i dont know why it worked but renaming it fixed it

#

it might not be the issue in this case but worth a try no

vernal crest
#

Before you try that, can you try doing a patch export of the portrait?

rigid musk
#

idk how i forget about patch summaries..

vernal crest
#

patch export Portraits/{{ModId}}_Hekate

rigid musk
#

i do them all the time

winter dust
#

The game isn't open and I just changed the file name.

vernal crest
#

Ah

#

Well

#

Hooray, no errors except from my own mods

hallow prism
#

hmm

#

i wonder why it's not parsing the token

winter dust
#

It's not.

#

The patch export works when I type it manually.

hallow prism
#

i wonder why the token isn't parsed in the log

winter dust
#

And I wanna know why the game or CP isn't parsing it properly with file names and such.

vernal crest
#

Yeah by the time the gets it, the token should be gone, shouldn't it?

hallow prism
#

i should prepare myself something to eat, maybe i'll have better view of stuff when back

gentle rose
#

is it just not parsed in the log, or is that patch not parsing it at all? SDVpufferthinkblob

winter dust
#

It's being parsed partially in different areas.

#

And that's the annoying part.

hallow prism
#

i suggest a break then maybe attach the whole mod so people can try to look

vernal crest
#

Urgh I hate upper camel case

winter dust
#

I'm starting to give up on Content Patcher.

#

This is what made me go inactive with no enthusiasm to update WTDR for a year.

hallow prism
#

it will likely click eventually, but rest will do you good

vernal crest
#

I will have a look

vernal crest
twin moss
dusk mulch
#

Does anyone want to do some pixel art for my secret notes? I don't have a paypal so unless you have a donation link/patreon for the commision I can't pay anything. DM me if you are interested. (It is late for me so I may not be abled to respond straight away)

vernal crest
#

@rigid musk if you want to send me your Qi mod so I can check if it works for me having a different FromFile then I am happy to. Fine to be DMed if you'd rather do that way. No pressure to do it at all, but since Aeywoo's Hekate worked for me, your Qi might too.

rigid musk
#

whenallidoisforukermie I can send it in a little im currently doing event tweaking

#

this one is almost done though so :3