#making-mods-general

1 messages · Page 574 of 1

verbal glacier
#

Create a folder named i18n, in the folder put a file named default.json. In the default.json you have the key "YourCharacterName.Mon":then you put your dialogue "Hi this is my Monday dialogue.". Then in your content.json you put your entries for your character. "Mon": {{i18n:YourCharacterName.Mon}}, it might be a good idea for you to look at how other mods do this get a better feel.

void aspen
#

An example mod from nexus basically shows how exactly i18n folder looks
you add folder to the same place your content and manifest are located

#

default json will have your keys and english text you add

#

and inside default json you will have stuff like this

{
"Key1":"Some text for your key.",
"Key2":"Some other text for your key."
}```

while in content json its gonna be like this

```json
{
"Name": "{{i18n:Key1}}"
}```
#

depending on language players use its gonna pick keys from its respective language file

#

not sure what exactly "son" does for your mod but

#

hope you get it

verbal glacier
void aspen
#

Oh I see

spark wharf
#

hello quick question, I'm pondering a mod that edits a vanilla shop, and I have a question about the "When" condition.. this guide I am looking at only uses days as an example, but can I use seasons as well?

barren tapir
#

Updated my potion textures and added textures for the other potions instead of having lunch!

spark wharf
spark wharf
#

Oh very useful to fill in the uncertainties of the other guide, thank you

verbal glacier
#

No problem SDVpufferheart

stoic chasm
#

It is me again, hello. I have a question regarding the dialogue box thing for my pride flags. Is there, like, a limit to have many characters fits on the screen? Does it work just like a normal dialogue box for an npc? I am confused again SDVpufferchickcry

torpid sparrow
#

did u test it?

#

and did it not work?

torpid sparrow
#

its a message box

#

similar but there's no portrait involved

#

nobody is speaking

stoic chasm
#

Not yet, not. I'm still figuring out the interior of the house (plus I have no idea how to actually get the house to show up in-game)

#

Ooh okay

stoic chasm
torpid sparrow
#

ah backedpotatoes, i was looking for u earlier but didnt want to ping

modest dagger
#

ping now ask for forgiveness later wem smh

torpid sparrow
torpid sparrow
stoic chasm
#

Okay, so basically don't worry about this right now? I can do that

eager tree
#

Hi! can anyone help me with something? I want to edit the bundle's page texture of another mod, Ginger Island Extra Location Redux, that uses Unloackable Bundles to add new bundles. How would I go to target the texture asset? I've tried multiple different ways but haven't been successful so far

eager tree
#

you can always @ me, its not a problem

torpid sparrow
# eager tree oh hello

hi! i was wondering if u had any inspo from hogwarts legacy for ur crystal retexture? i ask bc i just saw an article that said ur mod would be great for a hogwarts legacy playthrough and i was like huh

eager tree
#

i've never played hogwarts legacy. i didn't have inspo for it, but i can't tell if the crystals resemble something from the game or not

#

oh you're the creator of tilly!!! love your mod!!

torpid sparrow
#

thank u!!

torpid sparrow
eager tree
#

honestly, i like harry potter, but i try not to give attention to it due to the author. i didn't know about an article mentioning my mod lmao

torpid sparrow
#

i wish it focused on just ur wonderful work without tying it to something completely unrelated

eager tree
#

thank you <33

modest dagger
#

would y'all say this house is done

eager tree
#

it does look finished. i love the design!! may i suggest a few shadows, tho?

modest dagger
#

there are many shadows??? where did i miss?? 😭

torpid sparrow
#

not on da ground

#

where ur arches r

modest dagger
#

bugger

eager tree
#

I can see you added shadows, sorry, i wasn't trying to say there's none lmao
just to add a few more. for exemple, the game adds shadow to the left side of the roof of the houses

vale holly
#

how can I tell if an object is a treasure chest in the treasure room, I can see it has the id "(O)-1" but i'm not sure if this id is unique to it or if other stuff will have it.

modest dagger
#

more shadows

torpid sparrow
modest dagger
#

do u have more

torpid sparrow
#

si

modest dagger
#

then shoot

torpid sparrow
#

i would up the contrast on some of the shading; particularly the balcony railing/that orange colour everywhere

#

its a bit hard to tell its been shaded at all, making it look more 2d than u probably intended

#

just everywhere with this orange

#

here as well actually

modest dagger
#

😔

#

more contrast

#

got it

torpid sparrow
#

oh shadow for the balcony too

modest dagger
#

(i did notice i forgot that lmao)

torpid sparrow
#

this window has great contrast

modest dagger
#

this is 1/5 houses I need to make

#

the rest are all blank blocks

torpid sparrow
#

r they all thatmbig

modest dagger
#

no this is the second biggest

torpid sparrow
#

who lives there 👀

brittle pasture
barren tapir
#

You could also maybe make the brick lines a bit darker. I only just noticed them (though that may just be bc I'm on my phone).

Also, you could probably extend the left and right frames by 1 pixel (I circle what I mean in a sec)

blissful panther
#

So you went with the manual approach, @lucid iron? SDVkrobusgiggle

modest dagger
barren tapir
blissful panther
#

I'd be shocked if that conflicted with anything to be fair, yeah.

vale holly
lucid iron
#

But to elaborate what happens rn with just livestock bazaar

  1. At day started, trigger action spawns wild farm animals / pets. These are marked with a mod data
  2. When player interact with these wild animals they do a little event that results in their adoption or removal
#

I wonder if people would want the ability to do step 2 adopt or remove but use MEEP for step 1 spawning

blissful panther
#

I wonder if the day started trigger action spawning method would suffer from the same bug MEEP had for animals in the farmhouse and similar places...

barren tapir
#

IDK what MEEP is, but I'd say using MEEP bc it sounds adorable

lucid iron
#

Oh i haven't tested any of that cus i was just spawning them outside of farm kyuuchan_run

brittle pasture
lucid iron
#

I did actually need to delay the spawn to 1 tick after day started for some weird reason

#

Animal unstuck code jank

blissful panther
#

That was a hell of a one to track down... and I accidentally nerdsniped Casey into fixing it. SDVkrobusgiggle

modest dagger
lucid iron
#

But yeah rn there's no hard requirement just potential nice to have maybe

vale holly
barren tapir
#

Also, shouldn't the area under the porch have a shadow? IDK where the light source is from for buildings

modest dagger
#

there was but then I realise adding one there would genuinely make layering hell

#

so i'm going with light source in front in the top right

barren tapir
#

In that case you could probably put the left side of the building in shadow (IDK, shading is hard 😅)

blissful panther
barren tapir
autumn tide
#

ohh you're the one who made MEEP? that's cool!

#

ty for naming it MEEP

near imp
#

-# meep meep

barren tapir
#

BTW, does anyone else up the saturation of their original sprites by like 50% once they're finished?

I always forget just how saturated Stardew Valley is

rocky copper
tiny zealot
barren tapir
void aspen
#

warped my farmer to 30000 30000 cords and they lost all they clothes 😭

near imp
#

shoulda warped the clothes too not just the farmer ( /silly ) SDVkrobusgiggle

merry river
#

Is there any documentation on how to add dig spots with custom drops to custom maps? (I used ArtifactSpots but my drops aren't working?)

urban patrol
#

iirc it’s best done with a framework

#

i think vanilla has issues

merry river
urban patrol
#

one of these days i should learn FTM

void aspen
#

whats that

urban patrol
#

farm type manager

void aspen
#

ohh I see

tawdry hazel
#

I did ittttt (it's a personal use mod and I know it's a very silly thing) but I learnt so much so I wanted to share. I'm still finishing it up but went ahead and decorated it.

#

there's probably a bunch of furniture you guys will recognize, I feel like I have downloaded so many of the things you guys make

jaunty shuttle
#

Whoa that’s cool!!

tawdry hazel
#

I never liked the stuff I did with my southern room and now I like it 😄

royal stump
# merry river I was trying to do it with FTM and even if the dig spots show up, there is no dr...

That format for a dig spot should technically work; it'll very rarely have 0 items in it. I wouldn't recommend combining them that way, though; it'll output multiple items most of the time, and possibly several at once.

They'll be closer to normal dig spots if you use one item per "buried" entry, and weights instead of skip chances, e.g.:

"SpringItemIndex": [
  {
    "Category": "Buried",
    "SpawnWeight": 50,
    "Contents": [
      {
        "Name": "MM_ChampignonStarter",
        
      },
    ],
  },
  {
    "Category": "Buried",
    "SpawnWeight": 20,
    "Contents": [
      {
        "Name": "MM_BurgerShroomStarter"
      },
    ],
  },
  {
    "Category": "Buried",
    "SpawnWeight": 50,
    "Contents": [
      {
        "Name": "MM_GreatWoodMushroomStarter",
      },
    ],
  }, //etc for each possible item, and each season list

It might also help to add another spawn area for just dig spots, rather than treat them as one of several possible forage spawns.

#

edit: spawn weight should go on the buried item itself, not the contents list SDVpufferdizzy

median gull
#

just my recolor assets

wanton pine
#

Modifiying extant farm maps from SVE: So I am trying to add IF2R's shed footprints to the Frontier Farm map, and have this problem:

#

(This is in Tiled) Does anyone know of a tutorial on rerouting the tilesheets' er- folder reference(?) so I can fix this?

void aspen
#

holy smokes

lucid iron
wanton pine
#

Does it need to be unzipped or not? The instructions don't say.

wanton pine
#

The zipped folder you download it in

#

is it relocated to Tiled's plugin folder zipped or unzipped?

void aspen
#

whats inside the zip

#

its mostly always going unzipped

iron ridge
#

You have to unzip it

wanton pine
#

TY!

elder scarab
#

Hey everyone, can someone help me solve this problem? LockedDoorWarp Why doesn't the message appear saying that I posted this?It's locked and it's not working either Warp

#

Could someone help me?

karmic gust
#

I think discord compressed the video because I can't make out the text at all in the first one

elder scarab
royal stump
# elder scarab Here!

The part after 2000 seems incorrect. It should either be blank, or an NPC's name and friendship level, like LockedDoorWarp 3 9 ElliottHouse 1000 1800 Elliott 500

void aspen
#

What does this part mean I wonder

royal stump
#

I'm guessing they want it to display a custom locked message? but that isn't a feature of LockedDoorWarp

void aspen
#

Oh I see

#

It is possible to do if you use some time based changes I guess

#

by swapping locked door warp to something like a sign on when time is past 2000

calm nebula
#

Try conditional door iirc

#

The gsq one

royal stump
void aspen
#

Place on an interior door's bottom tile.
ooh

glossy plinth
void aspen
#

such a waste its doesnt work with locked door warps as well

#

or does it

rugged bolt
#

Is the wiki's bit on making NPCs outdated? The format for the "Dobson" example at the bottom looks really different from how I see a lot of NPCs I download when I open them.

Or... is it just that things are basically arranged a bit more neatly using the Include action to split the load of an NPC's different aspects into separate files that then get called on?

uncut viper
#

The official wiki is up to date.

proven spindle
rugged bolt
#

Gotcha. Okay, that's good to know. In that case I should be okay copying the format from another mod, then.

#

For some reason this stuff always makes me feel overwhelmed. xD

lucid iron
#

Include is just for you mostly

#

Besides organization it's qol if you have several patches that use the same When

#

With include only the top patch needs the When and all the inner patches inherits it

marble heron
#

Hi guys! I have been making a mod manager/launcher for Mac. I noticed that there wasn't an easy way to set up different modpacks on Mac, and it was kinda a pain to set them up so I could play with my friend who is on Windows, so I built a program for myself, but I think a lot more people would find this useful. https://github.com/josuediazflores/StardewValleyMod

GitHub

Contribute to josuediazflores/StardewValleyMod development by creating an account on GitHub.

rugged bolt
#

To make sure I understand correctly, when the target is "Characters" or "characters/Dialogue" etc, that means it's basically using content patcher to affix whatever's in fromfile to the original characters/portraits lists, right?

rugged bolt
#

In this context for NPCs it's usually "Load"

lucid iron
#

This is incorrect then

uncut viper
#

It is also incorrect regardless because "Characters/" and "Portraits/" are not lists

lucid iron
#

We'll use Characters/Dialogue/Dobson for example

uncut viper
#

They are not folders full of files

lucid iron
#

Dobson doesn't exist in vanilla so first a Load is needed to make this dialogue asset exist, people usually use just use a blank.json {} as FromFile here

#

Thereafter we can add dialogue using Action=EditData and Entries

rugged bolt
#

Okay that makes more sense

lucid iron
#

For a case where the vanilla asset exist you can do a Load but usually it's not the best idea

#

It will replace the vanilla asset with your file entirely, so other mods that expecting the vanilla file may be confused

rugged bolt
#

Okay, I think that gives me a better understanding of what I'm doing now ^_^

elder scarab
#

Can someone help me solve the problem? The message doesn't appear, and even when the time is up, we can't...

ornate trellis
#

is there, like a limit I can do when it comes to weapon speed?

#

cuz i think i just broke my farmer

#

oh yeah its the speed, huh. this was funny

rugged bolt
#

If my mod includes the custom maps the NPC uses, how do I refer to it in the schedule data?

i.e the internal map name in this case is "Custom_Chirthorpe_LovebirdsInt"

Do I just put it in like that (i.e Custom_Chirthorpe_LovebirdsInt 15 18) or do I need to add a prefix?

void aspen
#

This Action doesn't support any conditional messages besided NPC friendship related ones

void aspen
#

That's what NPC uses as well iirc

rugged bolt
#

what do you mean by location entry? As in what the map's called internally in the CustomLocations bit?

#

Then it's what I said - Custom_Chirthorpe_LovebirdsInt.

verbal glacier
rugged bolt
#

So no prefix necessary? I'm using Sirona as a reference but of course Sirona uses an external mod map for reference so it had a prefix attached.

verbal glacier
#

do you mean custom as prefix?

rugged bolt
#

I mean is this okay if the map in question is in the same mod, or so I need something else added on?:
900 Custom_Chirthorpe_LovebirdsInt 15 18 2

verbal glacier
#

no that should work

lucid iron
#

But anyways in 1.6 you should do EditData on Data/Locations to add entry for new locations

placid moon
#

Hello all - would someone be willing to share my new mod in the showcase? Just released it on nexus - I couldn't finish it in time for the modfest contest (thought it went until the end of March), but I'm happy to be able to just get it out into the world!
https://www.nexusmods.com/stardewvalley/mods/44466

Nexus Mods :: Stardew Valley

A content patcher mod to change the fish pond design to the Hoshi no Tsuyu no Tani theme.

rugged bolt
uncut viper
#

Chu is saying you should not be using CustomLocations like you just mentioned you were using

rugged bolt
#

Oh.

uncut viper
#

That is an outdated way of doing things

rugged bolt
#

I guess I did start this mod with an outdated tutorial... xD

uncut viper
#

And is a deprecated feature, meaning support and features are limited

lucid iron
#

Here is guide

#

Now general speaking you should actually do a kind of prefixing {{ModId}}_

#

This helps to make sure your stuff is unique

#

Do this for location id, npc id, all sorts of things tbh

rugged bolt
#

Ah, right...

#

So basically I can instead just call it {{ModId}}_Lovebirdsfarm?

#

So just to check my homework:

        //add the in-game locations
        {
            "LogName": "Load exterior farm tmx into Maps",
            "Action": "Load",
            "Target": "Maps/{{ModId}}_Lovebirdsfarm",
            "FromFile": "assets/Map.tmx"
        },
        {
            "LogName": "Add custom location to Locations",
            "Action": "EditData",
            "Target": "Data/Locations",
            "Entries": {
                "{{ModId}}_Lovebirdsfarm": {
                    "DisplayName": "Lovebirds Farm",
                    "CreateOnLoad": {
                        "MapPath": "Maps/{{ModId}}_Lovebirdsfarm"
                    }
                }
            }
        },
        {
            "LogName": "Load interior farm tmx into Maps",
            "Action": "Load",
            "Target": "Maps/{{ModId}}_Lovebirdsfarmint",
            "FromFile": "assets/Interior.tmx"
        },
        {
            "LogName": "Add custom location to Locations",
            "Action": "EditData",
            "Target": "Data/Locations",
            "Entries": {
                "{{ModId}}_Lovebirdsfarmint": {
                    "DisplayName": "Lovebirds Farm Indoors",
                    "CreateOnLoad": {
                        "MapPath": "Maps/{{ModId}}_Lovebirdsfarmint"
                    }
                }
            }
        },```
void aspen
#

on the first glance it looks alright

rugged bolt
#

and then in the schedule I just put {{ModId}}_Lovebirdsfarm etc?

#

I'm starting to get very embarrassed about that name now. xD

lucid iron
#

Yep that's the id you should use to refer to your location

rugged bolt
#

For the map's built in data in Tiled, do I also use {{ModId}} or do I just use the name?

void aspen
void aspen
#

without {{ModId}}

rugged bolt
#

okay good, I trusted my suspicions on that one

#

Oh boy, now it's time to actually set up a schedule. That'll be fun. xD

eager tree
#

can anyone help me with something? I want to edit the bundle's page texture of another mod, Ginger Island Extra Location Redux (got permission to do it), which uses Unloackable Bundles to add new bundles. How would I go about targeting the texture asset? since it's not a game's asset

lucid iron
#

Content patcher patch orders only matter when they target the same asset

void aspen
#

so game consider Location data and Map file different assets generally

lucid iron
#

patch export UnlockableBundles/Bundles

#

This will get you the ub data kinda like if you unpacked

#

Then ShopTexture field would say what texture it's using

#

You can either Editimage that directly or EditData and change the value of that field to your own texture

eager tree
#

alright, thanks SDVpufferheart i'll try that

deep cypress
#

The French Translation version of Spacecore should be called SpaceCoeur.

rugged bolt
#

Alrighty, time to test my NPC! Now I just really hope it works because it takes forever to load with all my other mods... xD

eager tree
# lucid iron You can replace the shop texture in the UB data i think
{
     "Action": "EditData",
     "Target": "UnlockableBundles/Bundles",
     "Entries": {
          "mistyspring.GiEXredux.bundle.farming": {
                   "JunimoNoteTexture": "Mods/BackedPotatoes.CrystalIsland/Patches/PotatoesNote"
                }
            },
     "Priority": "Late"
        }, 
// this below is in the patches.json
{
    "Action": "Load",
    "Target": "Mods/BackedPotatoes.CrystalIsland/Patches/PotatoesNote",
    "FromFile": "assets/Compatibility/Bundles/IslandNoteOnly.png",
    "When": {
            "HasMod |contains=mistyspring.GiEXredux": true
        },
    "Priority": "High"
},

this is how it is in the patch export (erased other info)

  "mistyspring.GiEXredux.bundle.farming": {
    "JunimoNoteTexture": "Mods/mistyspring.GiEXredux/Textures/IslandNote",

ShopTexture is the bundles statue texture, which is not what i'm trying to edit, yet it is what vanishes when the edit is applied. I can't tell if the texture is applied bc the bundle stops working/i can't click on it, but patch summary says its applied SDVpufferflatbread could you give me some light on what im doing wrong

eager tree
lucid iron
#

Right now you bonked the entire entry

eager tree
#

ohhh, be right back lmao thank u

lucid iron
#

And yeah i wasn't super sure which texture field is the right one Dokkan

#

Hence docs

rugged bolt
#

Hm... Okay, Apparently my map looks AWFUL in winter when the tileset changes. I should've taken that into account. xD

uncut viper
#

Did you get caught by the grass edges no longer lining up

rugged bolt
#

Yeah.

Also... huh.
My NPC doesn't appear in-game. No smapi errors, he's just not there

long jungle
#

Hi!

"When": {"HasFlag|contains=Gil_Insect Head": "true"},

I am doing this condition to trigger something when the player has already claimed the Insect Head reward from the Adventurer's Guild.

But somehow, it doesn't work, and I'm assuming it's because of the space between Insect and Head. Can I use apostrophe (') to enclose the 'Gil_Insect Head' or should it work just fine without it?

uncut viper
#

the space shouldnt matter afaik

#

Are you sure its Gil_Insect Head and not Gil_Insects?

long jungle
rugged bolt
#

Eh I better head to bed, it's late. I'll try to figure this out later.

long jungle
#

As of now, I am only relying on the list of flags on the wiki

long jungle
uncut viper
#

You can check every event and stuff to see what flags they send but a lot of them exist only in the code

#

Which is where I found Gil_Insects just now, in some code that applies some fixes to 1.6 saves, which seems to replace Gil_Insect Head with Gil_Insects

#

It probably uses the key from Data/MonsterSlayerQuests

long jungle
#

Also, Button, I would love your opinion on a certain matter, if it's okay.

uncut viper
#

Plausibly. The list on the wiki is non-exhaustive and difficult to update because they can exist anywhere in the many tens of thousands of lines of code in the decompile

verbal glacier
#

MonsterSlayerQuests only links to "AdventureGuild_KillList_CaveInsects": "Cave Insects"

long jungle
#

See, my mod requires a framework mod in order for it to work.

But then, two days ago, the mod author of this framework mod suddenly deleted all of their mods with no warning.

I messaged and reached out to them 12 hours ago on Nexus Messages, hoping to at least be allowed to repost their mod with all credits to theirs.

Unfortunately, when I checked again today, they have already deleted their Nexus Account. :(((

What do you suggest I do in this case to keep my mod working?

Should I completely remake their framework mod from scratch?

uncut viper
#

I did just check the decompile. The mail flag uses the key from MonsterSlayerQuests when you collect the reward.

#

(Prefixed with Gil_)

#

I would say your only option is to remake their framework mod from scratch. Unless they still have a GitHub account with the mod released on there.

long jungle
#

Well, thanks for the advice.

long jungle
fierce vault
#

I've seen some mods host their mod page images on nexus by adding them in the media section of their mod... so it got me wondering, would you also be able to added images hosted on nexus to your mod page if the url was from a different nexus mod? Or a media post, perhaps?

#

And would a differnt mod page's image work if it was hidden? SDVpufferthinkblob

calm nebula
#

People do that. I dont like it

fierce vault
#

Are you talking about putting the images in the media tab of the mod it's for? Because I do find that a bit annoying

#

Which is why I'm wondering if there's a workaround

#

Or, do you just not like the concept all together?

uncut viper
#

I find it preferable when the images for the mod are in that mods media tab.

calm nebula
#

Putting the images in some random hidden mod. I dislike that

fierce vault
hard fern
fierce vault
#

Like, a scroll saying features or something

uncut viper
#

Well, in that case I don't really care for the cute extra stuff in the first place, but thats just my opinion

fierce vault
uncut viper
#

But I also think putting them in a random hidden mod is taking an unnecessary risk that some day Nexus might not like people using fake hidden mod pages as image file storage when you can instead just toss them on Github

devout otter
#

I do it to showcase latest updates.

uncut viper
#

Those are the kinds of images I prefer when they are added to the mod pages images

fierce vault
cedar shell
#

@twilit quest Do you think you could help me a bit more with tiledata?

fierce vault
#

Lol

hard fern
fierce vault
devout otter
eager tree
#

i recently was looking for other hosting places other than imgur bc i read that ppl from UK can't see images from imgur (dunno if that's true). hidden media posts seem a nice alternative

fierce vault
uncut viper
#

With the benefit that people coming to look at your mod page 10 versions later also get to see the pretty images on display

fierce vault
#

I understand the importance of actual pictures in the media section. I wouldn't only put stuff that should be there on the modpage

cedar thorn
ocean sailBOT
#

Log Info: SMAPI v4.3.2.1 - 1762834431 with SDV 1.6.15 build 24354 on Android Unix 35.0.0.0, with 15 C# mods and 65 content packs.

eager tree
#

looks easier to read section by section

fierce vault
#

Yeah, I'm just fond of pretty mod page designs

#

I haven't made one yet, but I plan to

devout otter
#

Unfortunately I have an irrational aversion to putting images that are not 16:9/4:3 on a mod page's images tab. 😔

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

brittle pasture
cedar thorn
#

yeah i was a bit nervous to post in there for some reason

uncut viper
fierce vault
eager tree
brittle pasture
#

ah I've never heard of that one, was wondering what I missed for the frameworks page

#

this is why I only trust mods that are open source

eager tree
#

lmao

calm nebula
#

I only trust mods made by Pathos thanks

uncut viper
#

Tbf even if it was open source, it wouldnt matter if no one forked it before it was nuked

calm nebula
#

(I'm kidding)

brittle pasture
#

(but really, pls open source your C# mods)

eager tree
#

if i ever make one, i will, promise

brittle pasture
#

well there's EMC for custom slingshot ammo, though it doesn't add new slingshot type weapons

uncut viper
#

All my mods are on a timed-release open source dead mans license 😌

brittle pasture
#

Archery also got revived recently

devout otter
#

(I googled Slingshot Framework and arrived at this page I don't understand anything about.)

gaunt orbit
#

Part of me is like maybe I should just take all of my framework ideas and make one big one

uncut viper
#

Deriving core mods from first principles

devout otter
#

Wrencore.

uncut viper
#

Ive had so many little framework ideas over the last couple years that I've just shelved because theyre not big enough for a framework of their own, but putting them all in one would mean creating the oft-derided -core style mod

brittle pasture
brittle pasture
uncut viper
#

None of my ideas can be called "related enough" by any stretch

gaunt orbit
brittle pasture
#

(relatedly I rebranded MTF to Extra Crop Configs the other day. don't worry it's only a suffix; the other parts stay)

uncut viper
#

I mean, I don't deride core mods in the first place

gaunt orbit
#

Like the reason people kind of fell off coremods in 1.5 was bc the existing ones (like platotk) were really massive and invasive, which among other things made them difficult to maintain

lucid iron
calm nebula
brittle pasture
#

EMC = features related to man made objects, including machines
MTF/ECC = features related to produce made by the plant (Plantae) and mushroom (Fungae) kingdom
EAC = features related to produce made by the animal (Animalia) kingdom

uncut viper
lucid iron
#

I actually have a similar problem recently but instead of framework it's tiny qol things

gaunt orbit
#

But if you just have like, a handful of smaller features, it's fine bunch them together

brittle pasture
#

that covers 99% of all things ever made I think

lucid iron
#

I don't really think there's any issues with me just releasing them separately

#

But wow I hate making mod pages

uncut viper
#

Adoption is the issue

#

Unless the mod is Have More Kids

calm nebula
#

For small qol mods?

uncut viper
#

Well I wouldn't put a QOL feature for users in a core mod

#

A player-based QOL mod is just a mod

calm nebula
#

what about bacteria

lucid iron
#

Oh i mean like releasing 1 big qol suite mod vs 5 small qol mods

#

I know the second option is correct but I'm slacc on it very bard

uncut viper
#

Do we remember that we were talking about frameworks

gaunt orbit
#

The main reason I stopped maintaining aerocore is that it was more of a library than a framework, and most of what it did was either not very useful or got eaten by 1.6 or harmony

uncut viper
#

Not qol

calm nebula
#

No

brittle pasture
lucid iron
uncut viper
#

Jail time

hard fern
#

are the frameworks in the room with us

gaunt orbit
#

Pretty much the only thing in it that would still be useful at this point was the lighting patches

uncut viper
#

pronounced Cool Suite

calm nebula
#

Goes nicely with "experimental lag reduction"

gaunt orbit
#

Which I do want to make into a separate lighting rework mod

calm nebula
#

Look Selph y can't i make penicillin

lucid iron
#

I am also about to run into atracore's reason which is that there are caches in my machine mod which would be useful for a different unrelated mod

#

But i still rather just have 2 caches in memory it's fineeee

gaunt orbit
#

Ram may be expensive nowadays but memory is still comparatively cheap

brittle pasture
lucid iron
uncut viper
#

one of them was the per-NPC textabovehead greetings

lucid iron
#

But u put that in BETAS right

#

Kind of

uncut viper
#

no bc theres no way to trigger it appropriately

#

if someone wants Abigail to say Howdy! when she walks near Sam but wants Sam to say Yello! then theres no way to do that

calm nebula
# brittle pasture ~~I've been out of class for years did they invent that one recently~~

Archaea ( ar-KEE-ə) is a domain of organisms. Traditionally, Archaea included only its prokaryotic members, but has since been found to be paraphyletic, as eukaryotes are known to have evolved from archaea. Even though the domain Archaea cladistically includes eukaryotes, the term archaea (sing. archaeon ar-KEE-on; from Ancient Greek ἀρ...

uncut viper
#

also theyd just use the vanilla function for it and ruin it anyway

lucid iron
#

Oh the npc to npc version

#

I was thinking of the thing pierre does

uncut viper
#

well also NPC to PC

brittle pasture
#

yep they did invent that one recently

lucid iron
#

It's Farmer aaaa

#

That one i could do with BETAS location change and textabovehead i feel like

uncut viper
#

that one is already customizable im pretty sure but this feature would allow it to happen in more customizable circumstances

lucid iron
#

I had a vague idea of a mod to expand on npc to npc relationships

#

Make a UI for the relationship data so u can see it and stuff

#

But since this is the only solid concept in the pool of vague ideas i don't see myself doing it anytime soon

devout otter
uncut viper
#

will your mod let me open u p one of those charts that puts every NPC in a circle with different coloured strings attached between them to denote things like "dating" "siblings" "hate each others guts" etc

lucid iron
#

Yes exactly

#

Like shipping charts

uncut viper
#

will the strings have string physics

lucid iron
#

I dunno maybe if there's a nuget for d3 lol

devout otter
#

chu if this actually happend I would spend days just staring at it.

uncut viper
#

just throw enough vertex shaders at it im sure itll be fine

lucid iron
#
uncut viper
#

(i actually dont know how vertex shaders work if everything is secretly a quad)

lucid iron
#

Nice it does exist

#

Force directed graph goes brrr maybe

hard fern
lucid iron
#

Oh but this is for aspnet rather than normal C# right

lucid iron
#

Idk what that it sounds cursed

uncut viper
#

I don't know how normal vertex shaders work I've only used pixel shaders so far

#

Is it not limited to just moving those 4 vertexes around

gaunt orbit
#

Spritebatches still use 3d space it's just projected so that it's flat and the pixels line up

gritty bramble
#

Okay I need help cause I dont think Im extracting the vanilla tile sheets for some reason?

uncut viper
#

That's what I thought but couldn't see much use for that for any of my ideas

#

It wouldn't help turn a rectangle of a piece of string into a dangly physics based string

gritty bramble
#

this is alex's house (joshhouse file) and the og is supposed to have a single bed for Granny right? Or was it changed to a double in 1.6?

calm nebula
#

Changed to double in 1 6

#

George still doesnt get into bed

gritty bramble
#

I think the stardew chat gaslit the fuck out of me I was gonna cry

calm nebula
#

The new 1.6 maps are quite nice

gritty bramble
#

thank you!!!!!!

hard fern
#

goegre is glued to his wheelchair

gaunt orbit
#

It would probably be easier to just do it at the sprite layer though

uncut viper
#

I may one day mess around with it but alas I've got no ideas interesting enough to me atm to wanna bother with it

#

I do like the idea of being overkill and using an actual 3d mesh of a string though just for that relationship chart

#

Hop to it chu

lucid iron
#

nou

uncut viper
#

Scarily quick denial

calm nebula
#

So next sprint right

uncut viper
#

I still have stuff I wanna add to Festival Nudge soon and after that I think I wanna get back to work on Composer for a bit first

lucid iron
uncut viper
#

Where's the thinking one

lucid iron
#

i forgot it and need a heart scale to get it back

devout otter
#

My one Pokemon skill.

uncut viper
#

Oh yeah I also had that turn based combat mod I put on the backburner. Hmm

calm nebula
#

Do it

uncut viper
#

The blocker there is actually lack of ideas for skills lol

calm nebula
#

Skills?

uncut viper
#

Moves, attacks, whatever

#

chu said "pokemon skills" so I was just going off that even though I know theyre called moves

#

To make it clearer that I was talking about the idea of 4 Things To Do

calm nebula
#

slow blinks like a snake

karmic gust
#

Is this config section description wording clear enough?

"Only pair couples once. For example, if you pair Alex with Harvey (and you don't want Harvey to date someone in addition to Alex) you should leave Harvey's partner selection blank/turned off."

and this is what the config menu looks like

hard fern
karmic gust
#

yes

hard fern
#

this is great

#

the alex-ing

#

can i even set alex's partner as alex

karmic gust
#

no unfortunately lol

hard fern
#

sigh

#

no alex x alex

karmic gust
#

smh no self love

hard fern
#

oh god you're wumbed

karmic gust
#

why

buoyant moon
calm nebula
#

Maru loves penny and penny loves her books

proven spindle
#

we are all wumbus on this blessed day

karmic gust
#

oh, no if you select a partner in one of the dropdown menus they end up dating that NPC

buoyant moon
#

dynamic config so they can lock out other options when

karmic gust
#

I was seriously considering learning c# for a dynamic config menu but I just do not have the time lol

#

so I'm hoping the description is clear enough for users

uncut viper
#

It's not the easiest thing to do in the current iteration of GMCM anyway.

karmic gust
#

I'm very impressed with DSV's config menu! the photos changing as you select an option is cool

torpid sparrow
#

making wumbus general

#

we only make wumb

twilit quest
spark wharf
#

anyone available to help me figure out why my cursor isn't loading properly in game?

lucid iron
#

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

spark wharf
ocean sailBOT
#

Log Info: SMAPI 4.5.2 with SDV 1.6.15 build 24356 on Windows 10 (10.0.19045.0), with 146 C# mods and 167 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

spark wharf
#

I have ""Patchmode": "Replace"" so I don't know why..

lucid iron
#
20:14:03    TRACE    SMAPI    Content Patcher edited LooseSprites/Cursors (for the '(CP) Opossum Cursors' content pack).
20:14:04    TRACE    SMAPI    Content Patcher edited LooseSprites/Cursors (for the 'Teak & Teal Interface' content pack).
20:14:04    TRACE    SMAPI    Content Patcher edited LooseSprites/Cursors (for the 'WorldMap for Stardew Valley Expanded' content pack).
20:14:04    TRACE    SMAPI    Content Patcher edited LooseSprites/Cursors (for the 'DaisyNiko's Earthy Maps - All in One' content pack).
20:14:04    TRACE    SMAPI    Content Patcher edited LooseSprites/Cursors (for the 'Better Water' content pack).
20:14:04    TRACE    SMAPI    Content Patcher edited LooseSprites/Cursors (for the '(CP) Seasonal Portrait Backgrounds' content pack).
#

one of the mods after you is overriding your edits

#

use Priority Late

spark wharf
#

may I ask how to do that?

lucid iron
#

u want "Priority": "Late"

spark wharf
#

that did it, thank you!!

harsh drum
#

Hello guys, not sure if this was in the pinned messages or link, but does anyone have a guide for how to make a CP recolor mod? Would like to try making daisyniko earthy assets (like craftables)

autumn tide
#

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

harsh drum
#

Ty!

twilit quest
modest dagger
#

Sleep animation just needs to be specifically named character_sleep to work right like it doesn't need to occupy a specific spot in the tilesheet does it

wanton pine
#

Which tilesheet is the outdoor single wide bush on?

lucid iron
#

TileSheets/bushes

#

they aren't map usually

hollow saddle
#

Anyone know the portrait command for Jas sticking her finger in the air/explaining?

#

Also how to rotate lines by year?

uncut viper
#

You can just count which portrait index it is

hollow saddle
royal stump
#

yeah, should be $4 in that case

hollow saddle
#

I was trying $u x.x

#

Wait so when you count the indices you go left to right then top to bottom while looking at the portrait file?

hard fern
#

some keys have aliases

#

like $h for happy, which is also $1

#

so $u (unique) is $3

hollow saddle
hard fern
#

so if you have 8 expressions on a portrait sheet, they'll be from 0 - 7

hollow saddle
#

Thank you!! It’s always good to be reminded where we’re starting:)

cosmic skiff
#

does anyone know where in the code the big rewards for the community center are stored? I've only found a mention in a json for the minecart repair but im looking for the bridge repair and greenhouse

lucid iron
cosmic skiff
#

i want to switch the rewards for completing the forage and pantry bundles

warm relic
#

hello! does anyone know why this is happening?

cosmic skiff
#

couldnt find a mod to do it but i figured i could work out how to myself if i could actually find them

lucid iron
#

i think it's easier to switch their requirements than to switch the rewards

#

it's just how hardcoded it is blobcatgooglyblep

#

if you really wanted to do it then you gotta C#

#

!decompile

ocean sailBOT
lucid iron
#

check StardewValley/Locations/CommunityCenter.cs doAreaCompleteReward

brittle pasture
#

for maximum compatibility you should transpile the switch case

cosmic skiff
#

dang, i just wanted to unlock the greenhouse first because i have the challenging bundles mod and super small farm and it just makes sense to unlock it first. was hoping it would be relatively easy to do but i guess i gotta study a bit first

brittle pasture
#

well it's actually not too hard to switch a bunch of strings

lucid iron
#

u can just intercept the text local

#

but yea for ur own game i'd probably just install some sort of small greenhouse mod or pif

tender bloom
#

I would be scared of bricking the save if the bundles got messed up

cosmic skiff
#

anything code wise it beyond me, and yeah i can make a pif room but i wanted to keep the challenge and reward

tender bloom
#

I don’t think it’s a guaranteed side effect or anything but it has been reported

brave fable
# modest dagger i do enjoy feedback.

for some different feedback unrelated to what others have mentioned about shadow and palette, my concern is that the exterior outline edges of the building are almost universally less contrasting with the building and its background than the edges within the building.

for example, the window frames have greater contrast between their edges and fill colour as well as the plaster around them, even though they aren't significant or distinct from the building, while the building edge has a low contrast. the same applies to the rooftop, which should have a darker outline to distinguish it from the background when in the world.

on another note, buildings in sdv generally don't use blacked-out windows as a stylistic decision, so you might want to opt for a blue-green tone to match other buildings in the game 🪟

and as for shadows, the left-side upper-floor wall should be in shade from the extension with the balcony 🙂‍↕️ and i'd probably shade the entire left-side lower-floor beneath the awning haha

royal stump
latent mauve
warm relic
brave fable
#

could you send a larger screenshot that shows the full text?

cosmic skiff
latent mauve
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.

latent mauve
#

Was really hoping it was something simple like a missing quotation mark or an unescaped symbol

royal stump
#

yeah, that seems correct at a glance; you could try patch export Data/Characters and look at the json file it makes in the folder Stardew Valley/patch export, to see if it's correct in the game's data

brave fable
#

that isn't even close to the same value. are you sure you're editing/sharing the correct version from your Mods folder?

latent mauve
#

the one in the screenshot seems to be the equivalent of {{ModId}}_JabberW followed by something else that gets cut off, so that definitely seems to not match

#

(if you've edited the NPC data without closing the game or doing a patch reload, please try that first)

warm relic
warm relic
latent mauve
#

Do the patch export Data/Characters as suggested by Esca

#

also, have you done a patch reload recently?

warm relic
latent mauve
#

You type the command into the SMAPI console window

warm relic
latent mauve
#

patch reload <modid> (using your actual mod ID instead of <modid>) in the SMAPI console window will force SMAPI to reload your mod with any changes you've made since you last opened the game.

#

It's helpful if you've edited your JSON files or image assets while you had the game still open.

#

Otherwise, you have to quit Stardew Valley and reopen it to see any changes.

warm relic
#

did that but nothing changed

latent mauve
#

patch export should have created a folder (one level above your Mods folder) called patch export

#

Look inside it and find the Data_Characters.json file it created.

#

That will basically show you what the game filled in for all of the Data/Characters file entries including the base game and any changes to that data, at runtime.

#

You'll want to find your character's entry in that file and check what it has for the DisplayName

warm relic
#

oh

#

just saw it

#

it basically loaded an all null Data_Characters for him

#

not the one i included

latent mauve
#

okay, then that means something in your code is wrong, can you share your entire content.json or whatever JSON your Data/Characters entry is in? It might be an issue with another patch around it

#

(also, can you check your SMAPI log for errors?)

#

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

loud sandal
fierce vault
#

why is this channel not named making-mods-wumbus?

brave fable
fierce vault
#

I guess I understand 💔

rain inlet
#

making wumbus general

fierce vault
#

haha, boberry

#

has anyone called you that on accident?

#

oh, I didn’t even spell the misspelling right lol

warm relic
warm relic
#

also thanks to everyone that tried to help me on this one, i'm really grateful SDVemoteheart

loud sandal
#

No worries! It can be quite finnicky to resolve and it will completely fail if one small detail is wrong 😅

ornate drift
#

i wonder if anyone's tried making a concernedape NPC

#

would be kinda cute

ornate locust
#

Someone made a Qi as CA skin

ornate locust
#

Alright, I'm using a check like this to detect if a NPC is married. But I am trying to figure out how this would work with multiplayer. Like, say I want to see if Abigail is married to ANYBODY.
"Relationship:Abigail": "Married"

#

I know how to do that hypothetically, but it's ": anyPlayer" and I'm concerned with there already being a colon in that one

calm nebula
#

"Spouse:anyPlayer": "Abigail"

ornate locust
#

AHA thank you

proven spindle
#

Question, what's the key to patch this line from stringsfromcsfiles?

"Game1.cs.2782": "The wedding was wonderful... wasn't it, dear?$h#$e#Well, we can't forget about the farm... time to get to work.",

#

it's the only one left that i need to wumbusify

ornate locust
#

Alright, now how would I say I'm checking for a NPC to not be married to anybody? Like if I want to check if "Spouse:anyPlayer": "Abigail" is false. Does that work with a |contains?

proven spindle
ornate locust
#

That does not appear to work

proven spindle
#

darn SDVpufferflatbread

burnt geode
#

Is there any form of tag on abigail that you'd be able to search in reverse? so rather than checking whether a player is married to abigail, checking whether abigail is married at all? (don't know if that'd cause issues with any mods that add rival heart events)

hard fern
#

NPCs can't actually marry each other the way the player can

ornate locust
#

There are mods for that, but no, I don't think anything checks if a NPC is married. It doesn't tend to need to, it just needs to check if a player has married a NPC

#

but I want to make a change if both Haley and Emily have moved out of their home without layering map patches

#

I know how to make the patch go "yes, they have both married people" but I need the opposite so I can make the older patches NOT apply

hard fern
#

🤔

#

Wait im confused

#

Why would you need to check if they're not married if your map patches only apply if they are

ornate locust
#

I have one patch that applies if one is married

#

One patch that applies if the other is married

#

I want a third thing if they are both married

hard fern
#

Why not just use both patches then?

ornate locust
#

Which I could do by slapping on a layer on top, but... I'd rather turn off the old patches so it's not loading three map edits only to show the last one

#

I want a third thing if they are both married

#

it is not just Both Patches, it is a third different patch

hard fern
#

Oh

#

Hmm. And the spouse:anyplayer contains npc doesn't work?

ornate locust
#

Didn't when I tested it

#

Really I'd just ignore it if it was just one pair of NPCs, but the more modded stuff I do, the more "two people live here and can move out" problems I run into

hard fern
#

Im a little useless rn since my cat is preventing me from using my computer
... But hmm lemme see

ornate locust
#

It's fine for the hotel, but

#

if both guys move out of the odd jobs place, I feel like that whole back room will change

hard fern
#

Could you test if it works on just the host if you marry both haley and Emily? And have the condition just be spouse: npc for both

ornate locust
#

I guess I could? that seems like the part that'll work, but I need to be able to say "is no player married to this NPC" to be able to do much with it without just layering edits

#

Mm, actually it's showing an error, this may be one of those things you can't have two of in a condition. uuuugh

hard fern
ornate locust
#
 "Relationship:Haley": "Married",```
I can do this, but I still don't know if that'll work okay for multiplayer, and multiplayer is half the reason to make this change (Poly is the other)
#

hang on, let me check something

ornate locust
#

It does work, I am dumb and realized I put it in the wrong patch. I should not do this at 2 AM LOL thanks

proven spindle
#

its ok we're both up late lol

#

i was completely sure i was getting it wrong

uncut viper
#

In case it makes a difference to you for any other token/patch: using anyPlayer like that will add the value for every player into the resulting token set

fierce vault
#

I just started working on a map patch now when I should have done it earlier lol

uncut viper
#

i.e. it's not like it searches every player one by one and stops when it finds an answer

#

I don't know exactly when that might be an important difference to be aware of but it cant hurt to be aware of it

brave fable
#

awareness hurts me every day

uncut viper
#

And yet
You remain

ornate locust
#

I think Shiro moving out is gonna be my fav, because that space is gonna be all for my boy Yuuma

brave fable
#

and yet i persevere

uncut viper
#

Very wumbus of you

fierce vault
#

when using this on my map tile, I should put in {{i18n:blablabla}} in the string messageAction Message <string messageKey>because that's where the string will be located, right?

hard fern
fierce vault
#

Oh, so as it's own json? and then I just call the i18n from there?

uncut viper
#

(It can be in any asset, not just Strings/StringsFromMaps)

hard fern
uncut viper
#

Tiled cannot read your tokens, it doesnt know what to do with an i18n token

hard fern
#

But either way it needs to be Something that isn't a token

fierce vault
#

So, I could put it in data/dialogue then right?

uncut viper
#

You instead need to write one of two things:

  1. The key you added to Strings/StringsFromMaps
  2. A translation key like MyMod/MyStrings:TheKeyIWant

Whichever one you do, you add it with CP and give that key the i18n token instead

fierce vault
#

Ah, ok. I'll try that out

uncut viper
#

e.g.:

"Action": "EditData",
"Target": "Strings/StringsFromMaps",
"Entries": {
  "MyKeyWow": "{{i18n: youri18nkeyhere}}"
}

Then you would do Action Message MyKeyWow

fierce vault
#

thanks, wumbutton!

brave fable
#

??? ? ??

#

who is SQUATTING my domain

gentle rose
#

or me

#

one of the two

rain inlet
brave fable
#

as ever, the real criminal is the authority

gentle rose
#

mine is boncher so I assume avi is bouncer then

brave fable
#

dare i ask what Bouncer does

gentle rose
#

oh also no SDVpufferthinkblob a mystery then

#

avi is “the boncher”

brave fable
#

someone out there really just took Bouncer and bounced

fierce vault
#

my map patch shows up now! SDVpufferparty
However, my string is still not loading after reloading the i18n and the mod. I have what's shown in the photo below on the building's object layer, and I have this in the content json{ "Action": "EditData", "Target": "Strings/StringsFromMaps", "Entries": { "parcy.jack_poppy.patch.string":"{{i18n:parcy.jack_poppy.patch.string}}" }, }, Am I still missing something?

#

(The string in the photo is also "parcy.jack_poppy.patch.string")

verbal glacier
#

someone can correct me if i'm wrong but I believe you don't need ""

fierce vault
#

I was using a vanilla TMX as an example

#

and it had that, so I copied it

uncut viper
#

Is there a tile on the Buildings non-objects layer?

fierce vault
#

There is

#

it's the poppy I'm patching in

void aspen
#

Does your tile data has a name "TileData"?

#

That got me way too much

fierce vault
#

My tilename? Now that I think about it, I'm not sure where to look for that

#

OH

#

wait

void aspen
#

The square you added on objects layer, you added property Action to it

fierce vault
#

Yeah, it just clicked!

#

I was wondering why I didn't see that on my map

#

I had to add it separately lol

#

I'll try that out

void aspen
#

Did you added that property to the Tilesheet tile?

#

Didn't get you on this one

fierce vault
#

I haven't done anything to the tilesheet besides add it

#

I'll add the property tile to the correct layer and see if that fixes it

void aspen
#

In order to make action work, you need a visual tile on blue objects layer and a TileData square on purple objects layer

#

On the same coordinates

fierce vault
#

Yeah, I think I've got it. Thanks for the help!

#

I followed the wiki and enabled snap to grid in the view so that it would work, but anyone know if it's supposed to look like this?

verbal glacier
#

wiggle a little bit and it should snap to the tile

fierce vault
#

pressing the commands to take the screenshot offset the square a bit, it's corner is actually more centered

#

Oh

void aspen
#

Not having snap to grid enabled is scary

#

That's one of the things you should to when opening tiled for the first time

fierce vault
#

When I first started tiled to make my npc's room, I did it all wrong, and didn't reference the wiki as much as I need to. I relied on a video where the person teaching was also not a tile expert. It was a disaster, and I still have a folder full of tilesheet tsx files SDVpuffersweats

I've learned a lot since then, but definitely need to properly go through the whole maps wiki page at some point (and completely rebuild my npc's roomSDVpufferflat )

#

It's taken me so long to make his house (still designing the interior btw, and renovating the whole layout SDVpufferchickcry ), that I actually even didn't bother to put things on the right layers because I told myself I'd fix it all eventually. Well, fixing it all literally looks like just remaking the map now, because moving all that furniture to the "right" layer isn't worth it

brave fable
#

is there something up with nexus banner images? spenny appears broken and mine is just black

void aspen
#

They were buggy like this for a while now iirc

brave fable
#

there's also 2 entries in Files for the same file and one is stuck uploading. never run into these issues before

void aspen
#

Some sick april first jokes from Nexus ig

fierce vault
#

The poppy is covered, just no tiledata SDVpufferthinkblob

#

(on the screen)

verbal glacier
#

you put TileData as the name

fierce vault
#

Oh

verbal glacier
fierce vault
#

thank you, it looks right, now

brave fable
#

fuck it we bounce

rugged bolt
#

YES! It took a bunch of bugfixing because I had a load of old slip-ups in my code but my first NPC is actually in the game at last! 😄

Although apparently I've made another mistake because I put all the dialogue in i18n and now he just says "no translation". What did I miss there?

verbal glacier
#

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

verbal glacier
rugged bolt
verbal glacier
#

ah

void aspen
#

Where was it?

rugged bolt
#

I had it in my assets/data folder where all my other character jsons were

#

Now if only my character wasn't just a recoloured Pierre sprite but character sprites are...way beyond me. I'll just focus on trying to refine him a little

fierce vault
#

Oh

#

wait

#

Somehow my property ended up on a different layer again

#

yay! that solved it!

#

this little detail was total worth the effort (mostly because I'd have to learn this at somepoint for other stuff anyway!)

long jungle
#

Does anyone know the mail flag for when you reach floor 40/50 of the mines?

I believe there is an associated quest with that, which triggers the "Reach The Bottom" quest after you accomplish it.

fierce vault
#

Am I supposed to format separate dialogue boxes differently in map strings? because #$b# works in hereIt has a wonderful scent...#$b#You have a feeling Jack is at peace.but it shows this before the second message

#

Oh

#

Just using # fixed it lol

long jungle
verbal glacier
long jungle
#

Do you guys think me studying EMC to add new slingshot ammo, modify their damage, and if they explode or not much easier than making my own slingshot framework?

verbal glacier
#

I don't know anything about EMC myself so I am of no help sorry

long jungle
#

All good!

verbal glacier
rugged bolt
#

What's the best advice for fixing up tileset mismatches when the season changes?

swift falcon
#

i am loving the april fools mods

long jungle
calm nebula
#

Hey @ivory plume good morning!

#

Boxosoup found this mod that, when decompiled, has a bit of interesting code in it.

#

it seems to me to be calling out to that mangled url, extracting a script, and running it via powershell.

main falcon
#

Googling results in this

#

but yeah thats bad

long jungle
blissful panther
#

Could just be mis-configured in Cloudflare though, so it could spring to life at any point.

calm nebula
#

I did also report to Nexus

blissful panther
#

Same!

#

Along with the "obfuscated" (if you can call it that) URL portion from the decompile.

brittle pasture
swift falcon
#

Oh no i had that mod installed for a day

#

or so

#

dang it

#

didn't know i had to be careful downloading sv mods 😭

#

should i be concerned? :C

lucid iron
#

You should probably remove it yeah

#

We don't know what the payload does rn

brittle pasture
#

I'm probably petty but if a C# mod doesn't have source linked (and is not from a veritable author) I instantly dismiss them as not worth my time

swift falcon
#

Yeah i removed it instantly

blissful panther
# swift falcon should i be concerned? :C

Tough to say, since we haven't been able to see the payload itself yet. It's both possible that it was active when you were using it, or that it's never been active yet.

Standard procedure of remove it, full malware scan, have someone you trust who knows what they're doing do the same to be sure if possible, etc.

lucid iron
#

What about the author's other 2 mods

swift falcon
#

which ones is that

blissful panther
#

...oh. I guess I know what I'm doing when I get home.

swift falcon
#

hhm

#

whats the authors name?

#

i gotta double check i dont have any other mod from them

lucid iron
swift falcon
#

oop

#

banned

lucid iron
#

Banned

swift falcon
#

well know i cant know dang it

lucid iron
#

The other ones are Stardew Ghost Pet and Stardew Casino

swift falcon
#

Gahhh

blissful panther
#

There were also apparently two Flying Broomstick related mods they had?

wanton pine
#

Is the tile property "IsGreenhouse T²" for use on the greenhouse interior?

swift falcon
#

is there any way to see those now

blissful panther
#

Got it from Picky. Some of it might be visible via the API, but I can't do much checking of that from my phone!

swift falcon
#

Agh

lucid iron
#

And u don't need the 2 ofc, just T sufficient

#

The vanilla greenhouse is hardcoded to be a greenhouse

wanton pine
#

So if I'm adding a new level to it and that level is a different map....?
I'm assuming the same goes for the cellar.
Basically: how do I apply the hardcoding to a CP greenhouse & cellar?

#

(I am expanding the greenhouse, not making a new one.)

calm nebula
blissful panther
#

When I get home, I'm going to get up a cron job to run every minute to see if that payload URL comes to life.

lucid iron
#

And you can reach it by warp to same map

calm nebula
lucid iron
#

Otherwise you can just add those map properties

#

The IsGreenhouse one and the casks one

blissful panther
swift falcon
wanton pine
blissful panther
swift falcon
#

I checked my powershell logs for the day i played with the mods but i dont ser anything strange there either!

#

Hm

#

Ill do some password precautions too

ivory plume
swift falcon
#

thanks pathos😭

#

i i just read your end of month report too

#

i hope this isnt another malware case

wanton pine
worldly wadi
#

Hey how do I make a new wearable item? Ex: New ring with buffs that already exist

wanton pine
#

(there should be enough differences for this to be considered derivitve and not a knock off - completely different background, heavily altered layout, changed decorations etc)

torpid sparrow
#

is there a way to do italics for dialogue?

tiny zealot
#

not really

#

you could probably get the job done with font smasher somehow but i wouldn't really recommend it

#

the "somehow" here would be adding your own italic glyphs using either appropriate or inappropriate unicode code points, then using those to spell the words you need in italics

#

(the infelicities of how english/romance-language text is rendered in the dialogue font will also get in your way if you attempt this, so once again i advise against it)

torpid sparrow
#

its ok i just wanted to reference a book name

#

i can do without

hollow saddle
#

Does anyone know how to have dialogue alternate by year? I can’t have it random because multiple characters reference it on a specific day

autumn tide
#

pretty sure you can! one sec

hollow saddle
#

That was my issue too😭 unfortunately I want it to start at year 2 and alternate afterward

autumn tide
#

you could just use GSQs?

tiny zealot
#

you can hack around it with content patcher, for example by querying the current year and putting in the appropriate values

hollow saddle
#

Ah okay I’ll look into that thanks!!

tiny zealot
#

you can GSQ in a particular dialogue string to choose between two options with $query but i find it unwieldy

hollow saddle
#

Could either option allow you to check heart values with a character as well?

#

Actually nvm I’ve got it

tiny zealot
#

(C#) hey friends, i have a temporary GameLocation (not in location data) on my hands and i want to destroy it, ideally completely so the GC can clean it up. anybody have a good incantation for this?

brittle pasture
#

also I'm not quite sure what loading Maps/GlassPanels is doing

#

also if you're already replacing all of Maps/Greenhouse with a Load you don't need the unconditional edits on top since those edits can just be part of the loaded tmx

gaunt orbit
#

nexus won't let me edit my comment. Every time I do, it just reverts to the previous version

brittle pasture
#

it happens to me occasionally; the edits are actually saved they just arent propagated yet

torpid sparrow
#

"Wed4": "{{i18n:Wem.Bundle.Tilly.Wed4.{{Random:1,2}}}}", This is not working

My default says:
"Wem.Bundle.Tilly.winter_Wed4.1": "I stocked up on petals. Hopefully they last me through the season.",
"Wem.Bundle.Tilly.winter_Wed4.2": "$9My honey is crystallizing a lot faster in the cold. Ughhh.",

It gives the no translation error

#

yes i know i dont need to make the i18n key so long but i already did it so xd

brittle pasture
#

you're missing .winter in the code

torpid sparrow
#

thhanankkykykk yu

brittle pasture
#

or you're having superfluous .winter in the i18n

torpid sparrow
#

i edited the wrong entry

brittle pasture
tiny zealot
#

i've been trying various things but some reference to it seems to be sticking around so i end up with the same one again when i recreate

gaunt orbit
brittle pasture
#

there's also some reference to a previous location

tiny zealot
#

well, i am not adding it to the location list, so at least that seems correct

gaunt orbit
#

there might be a mod holding onto it?

worldly wadi
#

Can someone help me?

gaunt orbit
#

@tiny zealot I did find this snippet buried in the event end logic. not sure what it does but maybe useful?

tiny zealot
#

hmm. probably not related, but thanks

brittle pasture
#

at work rn so cant go into more details

whole prism
#

Giving Evelyn some love in future update :3

wanton pine
craggy goblet
# whole prism

Another person who abbreviates stuff :D
-# (for me it's the character names from one of the novels I'm working on so I don't get confused-)

worldly wadi
wanton pine
brittle pasture
#

no that's also wrong
Data/Locations is a data asset defining every location ingame

wanton pine
#

Arrgh

brittle pasture
#

you want to EditData it and insert your entry

#

[[Modding:Locations]]

brittle pasture
wanton pine
#

TY! I'm trying to get this right while attempting to navigate the github and community wiki modding guides and it's not going super smoothly.

latent mauve
#

Please note that prepending your location's name with Custom_ is also part of the old Custom Locations system, and for best practices, it is now recommended to use {{ModId}}_ instead.

void aspen
# wanton pine Is this better? }, "Changes":[ { "Action":"Load", ...

I suppose that's what you need to do iirc, just don't forget to swap Custom with {{ModId}}

        {
            "Action": "EditData",
            "Target": "Data/Locations",
            "Entries": {
                "{{ModId}}_GreenhouseCellar": {
                    "CreateOnLoad": {
                        "MapPath": "Maps/{{ModId}}_GreenhouseCellar"
                    }
                }
            }
        },
        {
            "Action": "Load",
            "Target": "Maps/{{ModId}}_GreenhouseCellar",
            "FromFile": "assets/Greenhouse_Cellar.tmx"
        },
#

ModId is something you do in the manifest so check it out as well

#

You create the location and you give the location its file

wanton pine
#

Much appreciated, I am rebuilding the json. Manifests are last on my to-do list because they require everything else to be spick and span.

whole prism
#

Hehe

wanton pine
#

"Type": "StardewValley.Locations.DecoratableLocation" goes right under the "MapPath", correct?

zealous owl
#

Ahoy, anyone know how to add a new location region to the crab pot settings? Defaults are freshwater and ocean, and I thought I could add a new context via the FishAreas line but I fear this is not the correct method

brittle pasture
#

FishAreas is how you do it

#

if you're editing an existing location you just have to be careful not to wipe data

calm nebula
zealous owl
blissful panther
severe cairn
#

Is it possible with content patcher to end an event in a different location, or do I have to do that with C#? I don't see ending in a different location as an option on any modding tutorial, so I'm guessing no, but I wanted to try asking in case it just wasn't mentioned there.

(I know C# well, and I plan to use it later, but then I gotta learn how to integrate them together a little earlier than planned lol, and events are scary enough as is 😂 )

swift falcon
calm nebula
#

I think you should use c# and define a custom event command

#

Very straightforward

severe cairn
#

nod nod :3
wait
omg. It IS there. Sorry lmao, its exactly what I need right now (earlier I needed to warp an NPC, not the farmer, but I changed it and forgot that doing it with just the farmer exists already)

Anyway thanks!

wanton pine
wraith bay
#

Can someone help me suss out what I've done wrong?

  • I have a manifest in my config now.
  • I have all three collection configs on the same page.
  • I have the versioning on each as 2.0.RevID. So Witchcore is 2.0.60 and SVVE is 2.0.105.
  • Each is using @ID on their update keys, so 20870@SVVE, 20870@AVW, and 20870@AVF:
    "Author": "JennaJuffuffles",
    "Version": "2.0.60",
    "Description": "Configuration load check for Aesthetic Valley Witchcore",
    "UniqueID": "jennajuffuffles.StardewValleyVERYConfigured.AVW",
    "UpdateKeys": [
        "Nexus:20870@AVW"
    ]

Mod version on the page is set to 2. And each file has their Version on Nexus set to match the version # so 2.0.60, etc
But in SMAPI, when loading Witchcore, I get the purple update notice:
[SMAPI] VERY Configured Witchcore 2.0.105: https://www.nexusmods.com/stardewvalley/mods/20870 (you have 2.0.60)

stark ocean
royal stump
verbal glacier
wraith bay
tiny zealot
blissful panther
tiny zealot
#

(well, i think in some situations i was getting the same location too. but i cleared up both problems, afaict)

buoyant moon
#

I guess LocalizedText doesn't work in mail? The wiki does say tokens like that are limited:

You can only use tokenizable strings in data fields that specifically allow them (which will be indicated in the wiki docs).

...but nothing on the mail data page indicates one way or another. Did some testing and seems like no, as far as I can tell, but wanted to be sure I wasn't missing anything.

tiny zealot
#

yeah the game only calls the token parser in some situations, and mail is not one of them

barren tapir
#

My first building asset.

#

It's going to be a building that let's you get the golden witch event before perfection! The awake/sleep versions will be for when it's activated (similar to the golden clock).

wanton pine
#

How do i fix this json issue?

After parsing a value an unexpected character was encountered: ". Path 'Changes[0].Entries.{{ModId}}_GreenhouseCellar.CreateOnLoad.MapPath', line 12, position 3.

#

the line in question:
"Type": "StardewValley.Locations.Cellar"

barren tapir
#

Did you forget the comma?

stark ocean
#

how do i get temporary npcs to not spawn in the town square? i created bare minimum dispositions for three characters so i could use them in a heart event, but i do not want them spawning in-game. i saw that having a home spawn location was optional according to the npc data in the stardew wiki, so i figured they wouldn't spawn in otherwise. kind of like the bear character who you bring maple syrup to in game.

calm nebula
#

You dont need add then to data/characters

#

You can just use them as temporary characters on heart events

stark ocean
#

yeahhh i tried that but it lowkey was not working </3 i wanted them to have portraits & whatnot when they spoke and i don't think i ever figured out how to implement that with the temporaryActor command

spiral lion
#

does anyone know what this command do (event) positionOffset <actor> <x> <y> [continue] ??

torpid sparrow
#

shifts the actor left right up or down by pixels

#

and not by tiles

#

it allows u to position actors more precisely

#

one use is having one npc move closer to another npc

#

you cant move them a full tile over bc they'd be overlapping

#

so positionOffset is the way to go

spiral lion
#

oh okay thank you! is it like teleporting or slowly moving

#

?

tiny zealot
#

the change is instant, so like teleporting

spiral lion
#

oh damn

#

does anyone know a good way to add a moving car to a scene?

tiny zealot
#

also be advised that using positionOffset may make future uses of the move command break for the NPC it is used on

spiral lion
#

😮

tiny zealot
#

(the event loop is pretty cursed. here be dragons)

wanton pine
proven spindle
wanton pine
torpid sparrow
#

you havent closed ur bracket

#

i think

#

oh i see ur config scheme

#

why is it in ur patch

proven spindle
#

configschema needs to be outside changes

torpid sparrow
#

that not right

#

it certainly cant go inside a load SMCPufferSquee

wanton pine
#

ah
I am not really a coder and putting the config after the loader made more sense to me.
Is it technically a missed bracket or is there an order its supposed to be in?

torpid sparrow
#
  1. it's INSIDE ur load patch not after
#
  1. it should be outside the Changes field
#

ConfigSchema goes right after format

#

this is my json with config schema

wanton pine
#

so the order should be: format > config (establishment) > changes (add new, replace extant, patch for seasons, patch for seasonal bgs) ?

torpid sparrow
#

yes

#

All of ur configs go between format and changes

#

and then u can use the actual tokens in changes

wanton pine
#

Is there anything special I need to do to close out the config schema?

void aspen
#

@upper forum tracking your profile now

torpid sparrow
#

close ur brackets

void aspen
#

can't wait to see your mod

upper forum
#

tyy, I can't wait to release it haha

#

32 portraits finished, a bunch left @_@

brittle pasture
#

I recommend using your editor's autoindentation/syntax highlighting if you aren't already

torpid sparrow
#

-# my favourite burger, is burger burger

#

-# i will put a burger inside another burger and unhinge my jaw like a snake

meager ledge
#

Hey folks! Veteran programmer, first-time modder here. How is everyone?

Was wondering what the quickest way is to get your question answered with SMAPI?

#

(I posted on Reddit but was curious if there was a better way)

torpid sparrow
brittle pasture
#

are you making a mod or just using them

meager ledge
#

(Sorry, need to step away for something but be back soon)

brittle pasture
#

and this channel if you're making mods

wanton pine
#

...How does one use CP's overlay function to replace part of the base layer with an entire multi-layer map? Does it do that by default or is there a way I need to tell it to do that?

#

I feel like it's default but feel the need to check

#

on that note, where do you specify patchmode > overlay > back ??

proven spindle
#

Start with an editmap entry

#

You set the layer in the tmx file that you put in the fromfile in that entry

#

And then a patchmode field in that entry, with the value being replace/replacebylayer/overlay

#

If the map you're targeting has a tile with only a back layer on it, and you want to keep that back layer visible while putting stuff on top of it on other layers, you can do a tmx for the fromfile that has those layers and then use patchmode overlay

#

Or you can include a back layer in the fromfile tmx file and do patchmode replace

past thistle
#

"Action": "EditData",
"Target": "Data/Events/Farm",
"Entries": {
"02661009/f Hakan 3500 /t 0600 1000":"distantBanjo/-1000 -1000/farmer 64 15 0 Hakan -100 -100 1/skippable/fade/pause 200/ viewport 64 15/

So, I have an issue with this code. basically the actor Hakan won't spawn in any tile i put him in. It can be 65 14 2, -100 -100 1, he could be the only npc in the code but for some reason he keeps loading at the viewport 64 15 location. I've even switched him to a vanilla npc but the vanilla npc even faces the same issue of loading in the view port location.

torpid sparrow
#

thats how farm is

#

you cant move around on farm

torpid sparrow
#

ive also tried to do this before i realized

past thistle
torpid sparrow
#

nod nod

past thistle
#

thanks for the quick reply man

torpid sparrow
#

:3

#

it makes u think ur crazy

severe cairn
#

Oh wow I heard the farm was a mess, but are there any other huge notable limitations to mention (or a link to a page with them) so I can slap ideas out of my brain before i get them

past thistle
severe cairn
#

guess thats why most farm interactions are just the characters standing in front of the farmhouse 😭

verbal glacier
#

-# also for the backwoods

torpid sparrow
#

there is no other choice lol

mellow laurel
#

wasn't there a mod for npcs in the backwoods now

severe cairn
#

knock, send mail, or LEAVE said the farmer

verbal glacier
#

oh really

mellow laurel
#

selph aSDVemoteheart

verbal glacier
#

selphSDVemoteheart

severe cairn
#

definition of hidden gem

stark ocean
#

is there a way to make the textbox smaller or am i cooked 😔

severe cairn
#

hidden SDVitemprismaticshard

torpid sparrow
#

dont fink so

#

a dialogue box is gonna dialogue box

stark ocean
#

dang it SDVpetcatangy

severe cairn
#

Does UI scale affect dialogue?

#

omg it does

#

not sure thru code, but changing UI scale does make the textbox smaller...

gaunt heath
#

Can you not set a message to display in a small box at a certain point in the schedule, like with Shane/Sam working at Joja?

#

I don't remember if that box was small

torpid sparrow
#

im not sure

#

its a schedule string or an animation string (both of them have animations when they work)

#

and i cant remember if u can do small text box