#making-mods-general

1 messages · Page 533 of 1

lucid iron
ocean sailBOT
#

Log Info: SMAPI 4.5.1 with SDV 1.6.15 build 24356 on Windows 11 (10.0.26200.0), with 44 C# mods and 57 content packs.
Suggested fixes: One or more mods are out of date, consider updating them

lucid iron
#

Yeah aba has the same symptom

vernal crest
#

No, those are both the logs from your Bug report section

#

Mine is because I have a More Grass pack with no winter sprites

lucid iron
vernal crest
#

I had just gone to look at your bug reports to see if their error was the same as mine lol

lucid iron
#

Hm I don't think I have any handling for that in the shim

gentle rose
#

not what I was suspecting, at least

lucid iron
#

You can slap a Condition !SEASON Winter on it but that's gonna need you to actually make content patcher pack

vernal crest
ocean sailBOT
#

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

lucid iron
#

I do something about it maybe™

vernal crest
#

But at this point I am just ignoring it because I'm going to convert it to a proper GV pack at some point anyway

lucid iron
#

Or actually maybe if u just make the winter folder

#

That might fix it lol

vernal crest
#

I'll check

lucid iron
#

But yes i will do smth about it once this puzzling nre thing is figured out

gentle rose
#

wait where’s the asset manager class 😭

#

oh github decided it hates me. thanks github

vernal crest
#

I've got elle's cuter grass too and I haven't experienced the error those other two are reporting, though tbh I don't know if I have actually saved since installing it

lucid iron
#

Sorry i was too lazy to make new file bolb

vernal crest
#

I'll try it in 10 minutes when I am in a save

lucid iron
#

Thank

vernal crest
#

Adding winter folder did fix my error lol

lucid iron
#

That is easy enough to check for on my end then

azure ridge
#

Is this where we talk about mods?

iron ridge
vernal crest
azure ridge
#

Many thanks!

vernal crest
# lucid iron Thank

All right, no error on save. I've got Elle's Cuter Earthy Grass. I assume she didn't do anything different (if it even matters) but thought I'd specify.

west thunder
#

now, i might be a dumbass, but is the whole format (2.8.0, 2.9.0) thing content patcher only or is it for everything

#

Is it for SMAPI?

proud wyvern
#

Each framework can decide its own fields in the files it reads

#

Content Patcher wants a Format in the content.json files it reads

#

Other frameworks may also want that, or not

#

SMAPI itself has no notion of a Format field for manifest.json

vernal crest
#

There is a minimum api version field for SMAPI in the manifest if you want to ensure your mod doesn't load in earlier versions of SMAPI, but that is optional.

#

Same with all the minimum version fields in the manifest.

west thunder
#

Would FTM want the format thing?

#

I'm making an FTM-only mod that relies on another mod that's CP-only.

lucid mulch
#

For content packs all smapi cares about is the manifest.json everything else is the frameworks responsibility

vernal crest
#

You can check the FTM documentation for the syntax that FTM requires, plus look at other FTM mods for examples

#

I haven't looked much at FTM mods but I don't think it has an analogue to CP's Format field

west thunder
#

Very well. Thanks.

royal stump
#

can confirm, there's no format field in FTM, it auto-updates files on load for better and worse
(so it auto-corrects any old fields, but also deletes comments/misspelled fields/etc)

proud wyvern
#

...i vote worse

royal stump
#

pretty much, it's on my to-undo list but a pain because it predates even being a content pack mod

west thunder
#

wait oh my god the real esca

west thunder
royal stump
#

I should be around for a bit, yeah
(feel free to @ me about my mods whenever, I just get called away a lot mid-thought sometimes)

west thunder
#

Stellar.

#

Is this the right structure for an FTM mod that only adds "new" monsters?

hallow prism
#

with the current error it is unlikely to work

royal stump
west thunder
#

Like so, yeah?

royal stump
#

that aside, the format should be fine
as far as I recall, FTM should ignore missing or null "Forage_Spawn_Settings" and such

west thunder
#

Kinda forgot that bit because I'll be filling it with more monsters.

west thunder
#

And since we're all here.

#

In this mod, I want to add new monsters to the Vanilla areas.

#

Mines, cavern, volcano, any dangerous counterparts.

#

I believe with the regular mines, it's UndergroundMine(floornumber)?

#

If that's the case, what about the remaining areas?

#

Especially when the skull caverns are infinite?

royal stump
#

it is, though FTM isn't actually great at that; it spawns things at the start of day or random times, and those levels only exist while someone is in them

#

the 2.0 stuff I'm releasing soonish is a CP format that can use trigger actions and target those better, but the FTM pack format's a bit awkward for it

#

that said, yeah, it's UndergroundMine[number] for both the mines and skull caverns; skull caverns are just the ones numbered 121 or higher, iirc

west thunder
#

What about the dangerous variants?

royal stump
#

as far as I know, those are the same locations, just with different content loaded and edits applied to the monsters that spawn

west thunder
#

So the monsters would appear on those floors regardless?

royal stump
#

yep, though there may be a mail flag or GSQ you can check to see if it's dangerous mode? I can't remember what triggers it offhand

west thunder
#

Right, now how are they named?

#

SkullCavern[number]?

#

VolcanoDungeon[number]?

#

In the volcano's case, do the start, dwarf floor and caldera count?

royal stump
#

the skull cavern is just also called UndergroundMine121/etc too, though I forget whether that exact number is where it starts

royal stump
#

UndergroundMine1 through UndergroundMine120 are the normal mine, and beyond that are skull cavern floors

#

except for one or two hardcoded ones like the mountain quarry mine, which is also UndergroundMine66366 or some such

hallow prism
#

77677 i think

#

let me check

royal stump
#

77377, apparently

hallow prism
#

"Floors": "77377",

#

i had the 7 and you had the 3

west thunder
#

Fascinating.

royal stump
#

and yeah, looks like VolcanoDungeon1, 2, etc is the format for the dungeon parts
I think caldera has its own unique name, and I'm not familiar with the dwarf part

west thunder
#

So... What the hell do I do here? Where does the UndergroundMine[number] go? And what do I put in the opposite field then?

#

Also, what does the last field mean? What terrain it can spawn on?

royal stump
#

with your current setup otherwise, "MapName": "UndergroundMine2" would make 4-8 bats spawn on floor 2 of the mines at randomly chosen times from 6AM to 2AM
if the map happens to exist when they decide to spawn, anyway

#

FTM can target multiple locations/maps with space-seprated names or prefixes, though, like "MapName": "prefix:UndergroundMine" would spawn 4-8 bats on literally every floor of the mines and skull caverns in the same way

west thunder
#

So, if I were to enter the cave at any time of the day, the bats should still appear?

royal stump
#

they can randomly spawn while you're there, but some bats probably won't spawn at all because the map doesn't exist

west thunder
#

But if it were, say, 6AM to 12AM and I were to come on in at 1AM, they'd all be extinct?

royal stump
#

as-is, it's assigning each of those 4-8 bats a random time to appear, and if it's temporary map that isn't currently loaded, FTM just skips them

#

going in at 1am, your spawns probably wouldn't appear, yeah

ornate drift
#

Does anyone have the sprites for the font and the dialogue box????

#

I'm not at my pc so i can't use content patcher yet

#

and it takes too long to download it on my phone

royal stump
#

I'm not sure if any mod is made to spawn things in the mines, though spacecore or maybe one of Erinthe's mods might target them better SDVpufferthink
but short of that, FTM's trigger-based spawns will make it more consistent in the future

west thunder
#

Would you recommend me to pursue it regardless?

woeful lintel
#

@lucid iron you might want to add tooltips or warnings for the non-obvious fields, because it seems like users won't know which type is which if they're not familiar with the Furniture Data (likely the case if they're using smithy in the first place).

royal stump
west thunder
#

Consistently, as in, like with any other regular monster?

royal stump
#

meaning the basic FTM setup may or may not spawn any monsters on a given day, it mostly depends on how long someone happens to be in the mines

woeful lintel
#

I don't think it's possible in vanilla for mural furniture: since there's only 1 tile of depth to place a furniture on the wall, 2 furniture displaying stuff in the same place will make z-fighting

#

although it's very possible with FF 👀

red egret
#

Oh

royal stump
#

there are some workarounds you can do, like spawning a lot of monsters, setting "MaximumSimultaneousSpawns" to a low number, and using a limited spawn area, but that will spawn more after they move toward the player

#

ultimately it just won't work the way the mines do, since the logic on those is "spawn some when the map loads, then spawn flyers on a random timer"

red egret
brave fable
#

even content patcher is a framework 🙂‍↕️ try it and see if it does what you need

west thunder
woeful lintel
royal stump
# west thunder So, I should probably wait for FTM to be updated?

probably, yeah, or see if another framework has more specific mine/volcano monster features
FTM's CP-controlled spawning should be ready for beta this month, I'm hoping, though I've got some medical stuff lined up
it'll be an optional download until it's tweaked and debugged a bit after that

west thunder
fervent horizon
#

Maybe we will just get a surprise 1.7 drop and all this monster stuff will be way easier

royal stump
#

I think SpaceCore's spawn group triggers work in dungeons, though I've never looked into them for not-plagiarising's sake SDVkrobusgiggle
and if so, you could try and trigger that when players change maps so it waits for the mine/cavern/etc floor it's targeting

west thunder
#

Also thank you for saving me from further procrastination, because I've been REALLY pulling myself away from starting a new Stardew save.

#

I'll be waiting.

#

to torment you with more questions /j

hallow igloo
#

is this the way to do this?

"HasFlag: hostPlayer |contains=RSV.FixedMinecart": false```
lucid iron
woeful lintel
#

oh yeah, translation is a thing

lucid iron
#

I think I probably won't translate since these r sorta keywords

#

But yes add description somewhere

red egret
#

Is there a use for wall furniture outside?

ornate drift
#

does anyone have the Stardew font

iron ridge
#

which one? what format?

ornate drift
#

The one that's used when NPCs talk

#

like the character dialogue box

iron ridge
#

in what? a png with the characters? a ttf/otf/woff2 file?

ornate drift
#

I'm actually looking for that dialogue box too but I can't find it ANYWHERE in the files for some reason

#

PNG works

iron ridge
#

LooseSprites/font_colored.png i believe is it

ornate drift
#

alrighty

#

I'm gonna need to convert it into an fnt file as well though

#

found it, thanks

ornate drift
calm nebula
#

What do u want this for?

#

Iirc there is a debug ckmmand to load any random text to an npc so

#

If it's just to make a screenshot u could do that

#

If you're making a generator iirc all the bits of that is somewhere in loosesprites/cursors

ornate drift
#

oh im trying to make a comm sheet with the same font/text box as stardew

#

its just for style

ornate drift
#

how come chinese, korean, and russian have FNT files but english doesnt?

red heart
#

I am so sorry for asking so many questions on here, but I think I formatted these quests right, but it's not working. Basically, converting a mod that needed the Quest Framework mod to 1.6. Here's the code: {
"Format": "2.8.0",
"Quests": [
{
"Action": "EditData",
"Target": "Data/Quests",
"Geraniums_Snapper": "ItemDelivery/Give Erich the Snap/On a rainy day, Araus did not arrive as expected, but at this moment Erich's mouth turned greedy./Bring Erich 10 Geraniums Snapper./Erich/{{ja:Geraniums Snapper}}/10/300/1/false/0",

"Sickse_Refrigerator": "ItemDelivery/Fridge Maintenance/Help Sickse Store repair the refrigerator so he can keep his job!/Bring Sickse 5 Battery Packs./Sickse/787/5/500/-1/false/0",

"Lovena_Honey": "ItemDelivery/Lovena's Honey Loanword/Lovena needs some honey to complete her new dish: Honey Lovena!/Bring Lovena 1 jar of Honey./Lovena/340/1/0/1/false/0",

"Erich_ReadingGlasses": "LostItem/Erich's Reading Glasses/Erich's reading glasses seem to have fallen on the road from Pine Forest Town to Pelican Town./Find Erich's reading glasses and return them to him./Erich/{{ja:Erich's Reading Glasses}}/1/0/-1/false/0",

"Help_From_AniceOrchard_Keg": "ItemDelivery/Anice Orchard's Help/Bring Michelange some oak resin for making small barrels./Bring Michelange 30 Oak Resin./Michelange/725/30/0/-1/false/0",

"Help_From_AniceOrchard_Preserves_Jar": "ItemDelivery/Anice's Sticky Situation/Bring some coal to Michelange so they can make jars./Bring Michelange 50 Coal./Michelange/382/50/0/-1/false/0"
]
}

#

Sorry for copying and pasting so much, I couldnt get the full code into a screenshot and I didn't know how to show the code

hallow prism
#

what isn't working?

#

aka : how are you testing stuff? do you obtain the quests and they are parsed wrong? do you fail to obtain them? are they giving error in log?

#

there are plenty of way things "don't work"

red heart
hallow prism
#

then it may be an issue with your manifest

#

!json share the manifest.json with that link

ocean sailBOT
#

JSON is a standard format for machine-readable text files that's used by Stardew Valley mods.

If you need help with a JSON file, you can upload it to smapi.io/json to see automatic validation and share the link here.

When making mods, it's recommended to edit your files in a text editor with JSON support, such as VS Code, Notepad++, or Sublime Text. These programs will check for syntax errors.

hallow prism
#

"ContentPackFor": {
"UniqueID": "PurrplingCat.QuestFramework",
"MinimumVersion": "1.2.0"
},

this is an issue

#

you would need CP instead

red heart
#

So do I just change the UniqueID to ContentPatcher

heady spire
#

Just a warning for those waiting for the jas adoption mod, i will try my best to get it into playtesting phase for its expected release of halfway of Feb, but i have exams this whole month, please forgive me for my sin of extending my expected time of release if i don't manage to rush it SDVpufferwaaah (will add this to a post on nexus' )

woeful lintel
ocean sailBOT
#

You can embed code in Discord using a series of three ` :
```
Your code can go here
Even if not a haiku
Just an example
```

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

red heart
#

Sorry about that

urban patrol
pale river
tranquil surge
#

Okay, working on FTM now. When setting the spawn chance, do the total of all amounts in a particular section, say ore spawning, need to equal less than 100%? Or does that not matter?

ie would this work, or would it break since the total is over 100%?
(Not writing the exact code, just showing a simplified example of my query)
"LevelTenSpawnChance":
"Stone": 55
"Copper": 55

red heart
ocean sailBOT
#

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

urban patrol
#

is the northern gulf the mod you're trying to edit? (i'm having trouble reading that log because it seems you copy pasted instead of uploading the file)

red heart
#

Yeah it is

#

I think I figured it out

#

I got the Content Patcher's UniqueID wrong

#

Nvm it's still not working

urban patrol
#

can you send another log?

#

and your manifest for good measure

outer garden
#

Hi everyone, I'm new here and I had some questions about modding.

I think this is the right place (well, the wiki took me here so I guess it is😅) but I was a bit curious about some general tips to mod/what do people use.
I'll be honest, I know pretty much nothing about modding or what do people use, I'm even "nervous" to ask here because I'm afraid this isn't the right place to ask (English isn't my first language so I just followed the link given to me, but I don't know if I'm in the right place, I'm using the translator for pretty much all of this) thanks in advance for the help and answers.
Sorry again it this is the wrong place to ask.

calm nebula
royal stump
outer garden
hallow prism
#

do you want to install mods

#

or make them?

outer garden
#

Make them

#

I got taken here by the Wiki link

hallow prism
#

ok! do you have example of what you want to do?

outer garden
#

Well, I wanted to start with something "simple" and make costum NPCs, at best their room or a small house, but nothing too big yet

#

Since I'm new to this

#

Costume* (?) I don't remember the correct spelling

hallow prism
#

custom

#

ok! you'll need to look at content patcher documentation

#

!contentpatcher

#

of course i have the wrong command

#

!cp

ocean sailBOT
urban patrol
#

!npc for an NPC especially i recommend tia's tutorial

ocean sailBOT
#
Creating a Custom NPC

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

ornate locust
#

Be warned: "Start off with something simple" is not a custom NPC LOL

outer garden
#

I know, it was bad phrasing from my side

ornate locust
#

that is more like leaping into the deep end

outer garden
#

As said before English is not my first language

urban patrol
#

NPCs have a lot of moving parts but if you have determination i believe you can do it. NPCs ate how i learned to mod

dry forum
#

!map

#

aw.. was hoping it was a command

ornate locust
#

That's fine, it's just a lot of people think it's simple and then get overwhelmed, so I'm giving a fair warning.

calm nebula
#

!mapmaking

ocean sailBOT
#

If you want to make mods that add or edit maps:

  1. Use Tiled to edit .tmx or .tbin files.

  2. Refer to the Maps wiki page for details on how maps work in Stardew Valley.

  3. Content Patcher allows you to create custom locations through editing Data/Locations

  4. Vanilla Maps can be edited via Content Patcher as well: EditMap

dry forum
#

Tysm!!

pale river
ornate locust
#

Knowing that it's not going to be simple and heading in warned gives better odds on finishing, I think

outer garden
#

Opposite to something like new zones or objects

urban patrol
#

yeah, being passionate about it will hopefully help allay any frustration you might have

outer garden
#

Also thanks a lot for all the answers!
I forgot to answer about it😅

outer garden
tranquil surge
outer garden
red heart
urban patrol
royal stump
# tranquil surge I'm referring to the section of the json where it specifically says "LevelTenSpa...

Neither, technically. LevelTenSpawnChance and StartingSpawnChance are how the ore system handles chances. SpawnWeight is used by forage/items, but works in a similar way. PercentChanceToSpawn is also for forage/items, but a separate mechanic (chance to not spawn, basically).

The readme's a bit unclear here, but the "(Global)" entries in this section describe the settings you're using:
https://github.com/Esca-MMC/FarmTypeManager?tab=readme-ov-file#ore-spawn-settings

red heart
#

Delete the crossed out part or the non-crossed out part?

urban patrol
pale river
royal stump
hollow root
#

i’m going to attempt my first heart event, wish me luck

urban patrol
# red heart It does

in that case, you'll need to keep the dependencies section (but still move content pack for outside of it) and list those mods underneath dependencies using their unique ids

pale river
red heart
#

Thanks for the help! (Sry for being kind of dumb with all of this)

urban patrol
#

we all start somewhere!

urban patrol
pale river
tranquil surge
royal stump
#

no, any total is fine

golden dagger
#

Hi friends! I'm running into a funky issue and have hit my frustration tipping point so I am here to ask for help. I'm working on an overlay mod that adds a banner to the abandoned JojaMart. The vanilla base version works great, but I want to include a variant for Elle's Town Buildings. The thing driving me nuts is that it is working 95% of the way. The overlay works other than one corner that is clipped, and I think it is an issue with the map / Town.tmx file maybe? Since it is a crisp corner at the (101,50) tile boundary. Has anyone bumped into something like this before?

gentle rose
#

you may need to put on a priority that’s higher than the one elle uses (maybe Late?)

golden dagger
#

I set it to "Late" and didn't see any difference unfortunately, also have Elle's as an optional dependency so it should honor load order. The reason I think it might be the tmx is since it still appears this way on the Vanilla JojaMart, the only reason that my Vanilla-compatible version works is because the banner hangs in a different location I think.

gentle rose
#

ohhh what layer are you putting this on

#

the post might be on buildings or front

latent mauve
#

(if you are only editing the tilesheet and not making an actual map patch, then it's possible that the post it's pulling is not the same one you're expecting)

gentle rose
#

also that, yeah

golden dagger
#

The post is on front! You are seeing my thought process lol. I'm only using EditImage, so I definitely think that could be it. I'm just not sure how to change it

latent mauve
#

Several maps pull a different/flipped tile rather than what's actually adjacent on the tilesheet, it's odd that way.

#

Just to confirm, you're not using any other recolors while you're doing this?

golden dagger
#

No, I took all other mods (aside from debug and such) out

tranquil surge
#

Okay, thankfully setting up the FTM to spawn ores and plants was rather simple, but I'm not seeing anything in the FTM that can help with setting up the custom fishing rules I want for my farm map... What system should I use for combining Ocean, Forest, Mountain, and River/Town fish into a single water section on my map?

royal stump
latent mauve
urban patrol
tranquil surge
#

It's the formatting of the code that confounds me at this time honestly...

urban patrol
#

no, your target would be Data/Locations. it takes getting used to, but you can usually find correct targets by poking around in the unpacked files. where assets are located in the content pipeline (after being loaded by the game) mimics the folder structure of vanilla most of the time

#

don't worry, at some point it will click

#

i think you're trying to edit Farm location data, right?

tranquil surge
urban patrol
#

gotcha. someone feel free to correct me if farm location fish are weird in unexpected ways, but what you're going to want to do is use target fields , which are a way of drilling down into the data model without overwriting the whole thing

#

you should have your unpacked Data/Locations open to reference while you do this

uncut viper
#

If they are the ones adding the farm data in the first place, since this is a custom farm, they can just add it in the initial creation patch

urban patrol
#

ah even easier then

#

in that case, still have Data/Locations open for reference, but you can just copy paste whole sections of code and change what you want

tranquil surge
uncut viper
#

In your unpacked Data/Locations file, you should be able to look for "Farm_Riverland" to see how it does it

tranquil surge
#

And that just goes into my Content.json, right?

urban patrol
#

if it would make more sense for you to organize it using includes, you can, but otherwise yes

#

Include allows you to tell content.json "hey go to this json file and copy everything in it and paste it into this place in content.json" effectively

tranquil surge
#

But wait, if I'm wanting to edit certain aspects, would that even work?

golden dagger
urban patrol
tranquil surge
urban patrol
#

no, patches (a block of code with an action inside {}) go INSIDE of changes, not vice versa. that Changes needs to go in the other file

autumn tide
#

WAIT NO

urban patrol
#

claude changes doesn't go inside a patch

autumn tide
#

got confused

#

misread include SDVpufferwaaah

#

what nic said is right

#

the action to include basically means adding another file's contents into your main content.json file, so no edits would apply to the action of including something

tranquil surge
#

Okay, so if I want to make changes within the same file don't use include? Got it. 🙂

autumn tide
#

hm?

autumn tide
tranquil surge
#

Now do I need to copy-paste everything from the section that's getting changed, or can I just write the stuff that's actually being changed?

for example, if I'm not editing the "catchLimit" function, do I still need to include that in the "Entries" section, or can I just skip that bit in the content.json

autumn tide
#

could you clarify? copy-pasting the contents of another file is what the include does

urban patrol
#

we're referring to Changes: [ which is the list (as denoted by the square bracket) of patches (which are denoted by the curly braces) that apply when your mod is loaded. it has nothing to do with what changes you want to make; like i said, you can organize your files whatever way feels natural to you. but every Included file must have Changes: [ to tell content patcher "hey this is a list of patches that i want you to perform"

urban patrol
autumn tide
#

do you want me to send over a file that does include stuffs?

tranquil surge
# autumn tide could you clarify? copy-pasting the contents of another file is what the include...

I'm trying to edit what fish can be obtained on my farm map, so that I can get fish from every location.
To be more specific, here's some examples of what I'm going for:

  • In the summer there's a small (10%) chance to fish up some Desert fish.
  • When it rains, there's a tiny (1%) chance to spawn legendary fish.
  • After 12am on a rainy day, there's a slight (20%) chance to spawn night market fish.
  • Pond A has an equal chance to spawn Moutain Fish as Forest Fish.
  • Pond B has a weighted chance to spawn Town fish (75%) or Ocean Fish (25%).

Those are the kinds of things I want to add to my custom farm.

Does that make sense?

autumn tide
#

got it, not a fish person sadly :(

#

Include is just for nicer formatting rather than code functions afaik

tranquil surge
#

Because I'm trying to go for some miscellany stuff that isn't on the wiki as far as I'm aware, this is proving to be rather annoying honestly. Again, particularly the format. I don't care if it's messy, so long as it works, ya know?

autumn tide
#

I get that! no clue how to help with fish stuffs sadly :(

urban patrol
tranquil surge
# urban patrol have you looked at riverland farm like button suggested?

Yup. And the Beach and Forest farms as well. At this time, I've just copy-pasted what's in there, and am editing the values as best I can.

But the initial format before that is what I'm not confident on at this time... This is what I have before I actually enter all the changes to the fish entries.

  "Action": "EditData",
  "Target": "Data/Locations",
  "Entries": [
    "Fish": [

Though I'm not sure how to make it call only to my specific map, instead of overwriting all maps in the file...

urban patrol
#

that's what target field is used for. do you have a separate patch already written where you add your custom location? it's easier to add your fish data to that patch than to make a new patch with target field

tranquil surge
#

Because as I'm aware, this is all going into my content.json file...

urban patrol
#

patches go inside content.json, yes. remember that patch is a block of code inside {} that has an action

tranquil surge
#

Okay, then yeah. If it's all meant to be in the content.json file, then it's in the same file.

#

This is the whole file, minus the fish entries and the ending brackets.

{
"Format": "2.8.0",
"Changes": [
{
"Action": "EditData",
"Target": "Data/AdditionalFarms",
"Entries": {
"GrayFarm": {
"ID": "GrayFarm",
"ToolTipStringPath": "Strings/UI:GrayFarm",
"MapName": "GrayFarm"
}
}
},
{ //Load Map
"Action": "EditMap",
"Target": "Maps/Farm_Foraging",
"FromFile": "Assets/GrayFarm.tmx"
},
{ //Add Farm Description
"Action": "EditData",
"Target": "Strings/UI",
"Entries": {
"GrayFarm": "Forested Farm with Mining, Combat, Beach drops, Foraging, and access to all fishing locations"
}
},
{ //Edit Farm Fishing
"Action": "EditData",
"Target": "Data/Locations",
"Entries": [
"Fish": [
{

latent mauve
#

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

urban patrol
# tranquil surge This is the whole file, minus the fish entries and the ending brackets. { "Fo...

right now you're not adding any custom location, you're replacing the foraging farm map, which isn't ideal. ideally you would load your own map, and i'm not exactly sure how the farm location works, but i'm pretty sure you should also have a patch that targets data/locations and adds an entry which is your custom location.

the alternative (and which isn't ideal) is to edit a vanilla location that already exists, overwriting it like you do the map

tranquil surge
#

Again though, I'm just concerned about the fishing stuff for right now. How do I get the fishing adjustments I'm making to only apply to my farm instead of overwriting all maps?

urban patrol
urban patrol
latent mauve
#

Are you specifically overwriting the foraging map rather than creating a new map type on purpose?

#

Oops, missed the conversation above

tranquil surge
#

Oh, nevermind. Got to the section of the github that explains targetfields now.

urban patrol
#

oh good there you go SDVpufferthumbsup

tranquil surge
#

Strangely enough, the github placed a singular line explaining "TargetField" at the very bottom of the "Edit a Dictionary" section, which is why I completely missed it at first. lol

hollow root
#

What is the map name of Mayor Lewis’s house?

urban patrol
#

that's why i linked you to the section haha it can be hard to navigate if you don't already know what you're looking for

urban patrol
hollow root
#

Thanks!

hallow prism
#

it's because you used keys that don't exist

#

it's rain

hollow root
#

Aw, I can’t do separate schedules for specific days then?

#

with rain

hallow prism
#

there is currently no way to have specific rain schedules right now with the keys

#

you can have that with using CP conditions

hollow root
devout otter
#

Yeah, you can make a separate When patch for each rainy day.

torpid oriole
#

Hoi all, I'm new here 👋

I am working on a mod to add stray cats to the world.

Would anyone be willing to review the code?

It would be nice to have someone more experienced to help catch common mistakes / compatibility issues. It seems to work fine in my testing, but looks can be deceiving.

tranquil surge
urban patrol
#

https://pastebin.com/QUA3niDQ i feel like i must be misunderstanding when events are raised. right now it's logging a distance of about 2 from farmer to cursor, which should be in range to draw a green square, but i'm only seeing green immediately surrounding the farmer, like vanilla. is there an issue with when i call my methods? that's the only thing i can think of, but trying to do more extensive logging explodes my computer because it's trying to log every tick :( breakpoints don't help because it just stops the game on cursor moved etc

urban patrol
#

({ instead of [)

lucid iron
#

Pet enhanced and such

tranquil surge
lucid iron
#

The other thing I'd do is make sure you aren't persisting the wild Pet entities

torpid oriole
#

To avoid persisting them, I run a cleanup before world save, is there something else I can do?

tranquil surge
#

Okay, so if I'm creating a content pack and I'm using FTM as well, in the manifest file should the "ContentPackFor" section be for FarmTypeManager or ContentPatcher?

latent mauve
latent mauve
#

You'll just bundle the two mod folders together in the ZIP file you upload to NexusMods later (like how SVE does it, if you need an example of the organization)

tranquil surge
latent mauve
#

I left out most of the optional fields, LOL

tranquil surge
latent mauve
#

The wiki page for [[Modding: Location_Data]] will point out which fields are optional and what the default values are so you know if you can exclude them.

#

one day I will remember how to make the bot post the wiki page link

lucid mulch
#

You can also run the unpack with --clean and it'll generate it with all the defaults removed

latent mauve
#

oooh, that is trick I didn't know, neat.

dusk mulch
#

is the event where the junimos fix up the area of the community center after you finish a bundle hardcoded?

calm nebula
#

Basically

lucid mulch
#

I don't think it even uses the event system

tranquil surge
dusk mulch
#

oh, ty!

lucid mulch
#

In fact based on stuff speedrunners do where while one of them is going they path themselves to the next bundle and finish that too, that can't happen inside events

old edge
#

I am trying to make the player walk using c# but it’s difficult

torpid oriole
pale river
uncut viper
old edge
#

So far they are moving but they only float over to the tile they don’t animate

uncut viper
#

The input API simulates the actual movement key being pressed. It doesn't just move the player. So animations will work like they would as if the player actually pressed the button.

lucid mulch
#

The event tester predates that API but was kind of doing something similar (though never did movement) where it would just directly run the event handlers with the arguments needed to have the game run the logic I needed. Though it only really needed to do menu stuff

#

I did originally want to simulate controller input but that wasn't going anywhere

old edge
#

But if I simulate inputs how do I stop the player from making manual inputs

lucid iron
fickle lichen
#

hii i have a question, if i wanted to make a chair for my mod and wanted it to have multiple angles (like sdv chairs do, such as front, back, left and right) how can i do that? i use stardewmodsmithy :p

#

should i draw all the sprites in the same image? or make them separate?

lucid iron
#

You have to make a front texture for the chair

#

And you need to draw it like in sdv yea, the bounds are still 1 2

#

!unpack

ocean sailBOT
#

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

lucid iron
#

To pick a texture as front use right click

fickle lichen
# lucid iron You have to make a front texture for the chair

okay but like, if i make all the chair sprites in one singular image, i'm not sure about what smithy will do, i feel like it would look extremely bugged because it would try to load everything all at once instead of making it a rotable piece of furniture

#

wait does the word rotable exist

#

😭

#

well, you get my point ig

lucid iron
#

It's not going to do that?

#

You are usually better off putting the textures in 1 image bc you can move around the bounds freely

fickle lichen
#

oh, okay, thank god

lucid iron
#

But yeah I didn't make special handling for rotations atm

#

You have to kinda know to make a 1x2 size thing and then put rotation 4 PecoWant

#

1.1.0 feature trust

fickle lichen
#

for the whole sprite sheet, how many pixels should i use for the canvas? 32x64?

#

sorry if this sounds a little silly

#

i'm still learning

#

😅

fickle lichen
lucid iron
#

I recommend unpacking the game to see how vanilla does it

lucid iron
fickle lichen
#

i already unpacked it, but it confuses me, i'm not really sure.. should i do it like this?

#

like, horizontally

#

i think so

lucid iron
#

Yar rotations r wacky

fickle lichen
#

one last question, should i include both right and left rotations, or just one of them instead of both?

#

my guess is that it would be only one because that's how it looks in the unpacked files

ornate locust
#

This is HOUSE furniture not TILESHEET furniture, right?

lucid iron
fickle lichen
ornate locust
#

yee then, gets flipped

lucid iron
#

Make your bounds stuff match the left couch

fickle lichen
#

alrighty

#

thank you guys for your help :3

tranquil surge
#

So I'm not getting any error messages from the validator, but what is the correct format for a writing Content.json fish condition that has multiple values? Or are both of these options valid?

  1. "Condition": "SEASON Summer TIME 2300 2600 WEATHER Rainy"
  2. "Condition": ["Summer", "2300 2600", "Rainy"]
hallow prism
#

None

#

You need commas between the first ones

#

Wiki has examples, as well as game

tranquil surge
uncut viper
#

The validator is not showing that they are valid formats. It's saying they are both valid json, which they are.

#

But the game will not read either of those correctly because as Lumina says you need a comma between Game State Queries (which is what those SEASON, TIME, and WEATHER conditions are)

#

And the 2nd listed format won't work at all because it must be a string, not a list of strings.

tranquil surge
uncut viper
#

Yeah pretty much

tranquil surge
#

Thanks! I wasn't sure about the whole writing the type in all caps thing, or placing commas within the quotations, but good to know that's how to do it! 🙂

uncut viper
#

Game State Queries are generally quote-aware and will treat things in quotes as single arguments (though ofc a mod might read a game state query incorrectly), though you'll need to escape the quotes if you use them inside other quotes

#

As for the caps, some things are case sensitive and some things aren't. The names of the queries themselves I don't think are, but good to get into the habit of matching the case you see on the wiki

#

As a "just in case" thing

tranquil surge
halcyon finch
#

A few days ago, I asked around here for help with modding some animation stuff. I've finished the first version of the mod and uploaded it to Nexus.

It's my first time uploading something to Nexus, which I also don't use that much, and I might be a bit paranoid, but... If someone could look the page over to let me know if I made any mistakes, I would be very grateful.
https://www.nexusmods.com/stardewvalley/mods/42083

Nexus Mods :: Stardew Valley

Allows for unique Character Idle Poses without compromising the Character Walk animations.

quasi crow
#

Looks fine

#

also, neat!

fickle lichen
#

i'd like some advice before testing it in the game SDVpufferwaaah

tranquil surge
#

Can each body of water on my farm only have one kind of CrabPotFishType? SMAPI is giving me errors when I'm trying to load my farm map with both ocean and freshwater CrabPotFishType options across the board.

fickle lichen
#

this is NOT what i wanted 😭

fickle lichen
# fickle lichen sigh.

can someone please help me? what i want to do is just have a singular chair that can rotate if you right click it, not.. whatever this is 😭

brittle pasture
tranquil surge
brittle pasture
#

you should always post your full code for context; that line can be in a totally incorrect position as far as we know

#

also the correct spelling is ocean and freshwater

tranquil surge
brittle pasture
#

it's case sensitive

#

hmm that Position format doesn't look right

fickle lichen
brittle pasture
#

still to rjgraylight sorry 😅

fickle lichen
#

oh sorry!

brittle pasture
lucid iron
#

They gotta only cover 1 chair

#

The first chair

#

Also the type should be armchair iirc

fickle lichen
lucid iron
#

You can share the furniture.json generated by smithy for indepth help

tranquil surge
# brittle pasture Position should look like this: ```json "Position": { "X": 23,...

Yeah, I don't really understand that format. So was hoping to just use the simplified version...

Like I said though, I previously had a different version where it didn't differentiate between the ponds and just tried to apply it across all the water on my map. That would be the ideal, for all bodies of water to allow all kinds of crab pots. But SMAPI apparently didn't like that...

lucid iron
#

Yes but hrm your chairs also aren't tiled aligned

#

As mentioned before the white border is the texture bound, while the green square(s) is the space it occupies

#

If your texture is not in the white border then it'll get cutoff in game

fickle lichen
fickle lichen
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.

fickle lichen
#

hm, that's an issue

lucid iron
#

Yeah it's limitations of vanilla furniture

fickle lichen
lucid iron
#

But for now try making them bigger than needed

#

So they all get 32x32 space

brittle pasture
#

ok I'm probably wrong

#

when in doubt just write it out fully

tranquil surge
fickle lichen
#

i'm a bit confused

brittle pasture
#

then you can just use one global fish area

fickle lichen
lucid iron
#

Furniture work in 16x16 grids

brittle pasture
#

if you don't actually need the fish area to have different fish you don't need to specify all of them

uncut viper
brittle pasture
#

just one area without Position

lucid iron
#

You know how the generated data says 1 2

#

That translates to 16px wide and 32px tall

fickle lichen
fickle lichen
lucid iron
#

That's not what i said though, i meant that the smallest unit is 16x16

fickle lichen
#

OH sorry i misunderstood

lucid iron
#

But furniture can ofc span many tiles

lucid iron
tranquil surge
# brittle pasture then you can just use one global fish area

But again, the issue arises of whether or not I can apply both freshwater and ocean to all bodies of water on the map.

Which brings me back to my original question, the original SMAPI error. How can I have both ocean and freshwater crabpotfishtypes at the same time?

fickle lichen
lucid iron
#

That doesn't look like 16x32 lol

#

So I'd aim to make each chair fit in a 32x32 space, but the seating spots has all sorts of hardcoding to it

brittle pasture
#

if you can post your error that would help, but the idea is one fish area, no position, with both ocean and freshwater in the field (just like how you did it)

#

(the error is probably that your Position was invalid)

lucid iron
#

My recommendation is to go find a vanilla armchair sprite, and draw your's on top of it

fickle lichen
#

OH WIAT

#

WAIT

#

you're right 😭😭

#

god i'm such a silly goose

#

🥀

lucid iron
#

Well yes because smithy literally shows u how big the sprite is DokkanStare

#

Pls trust the white borders ok

fickle lichen
#

okay okay, so in summary the canvas should be 16x32, correct?

lucid iron
#

A single chair should be 16x32

#

You got 3 rotations so it'd be 48x32 total

fickle lichen
#

hmmmm

lucid iron
#

(but again it's good to just let smithy merge your textures to 1 atlas)

#

So you don't have to fiddle with several textures

fickle lichen
lucid iron
#

You can see how game itself fits all the furniture in 1 sheet too

lucid iron
tranquil surge
fickle lichen
lucid iron
#

Yeah you have to

#

Smithy doesn't change how furniture work at all (bc the point is that you don't install it in actual gameplay)

fickle lichen
#

hm, okay! i'll do just that (even if it'll be a little tedious lol)

lucid iron
#

Now game does have larger chairs (armchairs, benches)

#

You could choose to make one of those instead of chair if you want

#

Bc rotation is shenanigans i recommend closely following whatever the vanilla format is texture wise

brittle pasture
#

basically refresh everything for the full picture

fickle lichen
tranquil surge
fickle lichen
tranquil surge
lucid iron
#

pls look at vanilla blobcatgooglyblep

brittle pasture
lucid iron
#

it has examples for all this

brittle pasture
#

FishAreas is a list of objects; right now you only have one object assigned to it directly

lucid iron
#

u also need this thing

#

the Front texture

#

in smithy if you right click on a texture it'll automatically export that as Front

tranquil surge
brittle pasture
#

you dont swap it, you wrap it

#

[{}]

brittle pasture
#

see how the code when you had multiple areas was [{},{}]?

tranquil surge
#

Is that not what I'm doing?
"FishAreas": {
"CrabPotFishTypes": [ "ocean", "freshwater"],
"CrabPotJunkChance": 0.2
},

Or do you mean I should do...
"FishAreas": {
"CrabPotFishTypes": [ {"ocean"}, {"freshwater"}],
"CrabPotJunkChance": 0.2
},

brittle pasture
#

wrong code deleted

#

wait

tranquil surge
brittle pasture
#

ignore everything I said I mistook FishAreas for a list lmao

uncut viper
#

!embedcode

ocean sailBOT
#

You can embed code in Discord using a series of three ` :
```
Your code can go here
Even if not a haiku
Just an example
```

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

brittle pasture
#

serves me right for helping on my phone
gimme a moment

tranquil surge
brittle pasture
#
"FishAreas": {
  "Default": {
    "CrabPotFishTypes": ["ocean", "freshwater"],
    "CrabPotJunkChance": 0.2
  },
}
tranquil surge
brittle pasture
#

ok so FishAreas is a dictionary of string keys to object values; your previous codes just put the fields directly in FishAreas so the game interprets those as names for separate areas

#

so it thought your code was "define two fishing areas, one named CrabPotFishTypes and one named CrabPotJunkChance"

tranquil surge
#

Really? Strange. I guess in the location.json file, it does always specify a name or area, so I guess that tracks.

Making that the default won't make that the default across all maps though, right? Just my farm map?

brittle pasture
#

the name only needs to be unique per location so you're good

tranquil surge
#

Okay, well, the CP is working now. But now the FTM isn't... Once again, I'm stuck with the issue where nothing on my farm is spawning outside of vanilla behaviour...

#

Is there a validator for the FTM code, or how can I get help checking/fixing that?

brittle pasture
#

it's JSON so you can put it on the validator all the same

#

it just won't tell you if the fields are wrong

tranquil surge
brittle pasture
#

yeah def sounds like one of the fields is wrong

tranquil surge
#

I'm looking at the line it's calling out, and I just changed the value for the "StartingSpawnChance" from null to 1.
Is it supposed to stay as null for some reason instead of receiving an integer value?

brittle pasture
#

posting code again might help

calm nebula
#

Joja hisss

tranquil surge
brittle pasture
#

oh whoops I didnt see that

#

sorry

uncut viper
#

!log (Also RJGrayLight for future reference, this is the preferred way to share logs! In the following governor command. Sometimes issues might lie outside of what someone might think to screenshot.)

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.

brittle pasture
#

same with LevelTenSpawnChance

tranquil surge
#

An object? Not an integer for the percent chance of spawning?

brittle pasture
#

1 and 10 arent valid values

#

do you notice the second instance of those fields below

tranquil surge
brittle pasture
#

to fix the code sure

tranquil surge
#

YAY!!! Finally! After almost 60 hours, I've finally got it working!!! YAY!!! Thanks everyone for the help!!!

fickle lichen
#

should i test it in game?

old edge
#

So I’ve been trying to add my map to the bus stop ticket machine destination options but it’s taken so far 3 days and I found out I have to override the busstop code or else it won’t work bus locations seems to do this also. I tried reusing the code from vanilla but then I can’t get the farmer to behave like in vanilla the farmer doesn’t animate correctly but everything else works they just float when moving towards the bus doors unfortunately and I can’t figure it out

fickle lichen
#

i don't even know what i'm doing wrong..

lucid iron
fickle lichen
#

okay lemme try that

lucid iron
#

Also something useful is to set a keybind for opening the UI in game

#

You can then change stuff + test without exiting your save

old edge
#

I’m trying to build it in c#

brittle pasture
#

why not Central Station

old edge
#

I haven’t even looked at that one yet

#

And there is no train destination I would have to create an entirely new map

#

It’s a bus stop location

brittle pasture
#

I highly recommend using that over trying to reinvent the wheel

#

CS supports buses, trains and boats

old edge
#

It came to my attention people don’t like installing extra mods

#

I already have the code set up only thing is player doesn’t animate

brittle pasture
#

IMO you need CS compat anyway because it's quite likely yours won't be compatible with it

lucid iron
#

if u dont actually care about compat u can just make a minecart route

#

and pretend it's totally the bus

fickle lichen
lucid iron
#

i think CS is better tho, and u dont have to make it a hard req or anthing

old edge
#

I already have a few minecart destinations and I believe that would ruin the immersion

lucid iron
#

just add ur station when player has it

fickle lichen
brittle pasture
#

yeah if no CS = bus stop code
if CS = put it in the CS bus menu

fickle lichen
lucid iron
brittle pasture
#

I personally dislike that people have dependency aversion, but I also recognize that I'm a privileged Premium user

lucid iron
#

armchair is this size fyi

brittle pasture
#

but still SVE had 9 deps before 1.6

lucid iron
#

32x32

fickle lichen
#

should i use chair?

lucid iron
#

so u should pick chair AquaThumbsup

fickle lichen
#

oki!

lucid iron
fickle lichen
#

i can finally take a rest bro

#

thank you, like, THANK YOU so much chu

#

❤️

lucid iron
#

dont forget to do the Front texture

fickle lichen
#

it's already there?

#

front, right, and back

lucid iron
#

no the front texture is a different texture

lucid iron
#

have you unpacked your game content yet

fickle lichen
#

yes, i did

old edge
#

How come we can’t add when condition for those mods

lucid iron
# fickle lichen yes, i did

then you should take a look at TileSheets/furniture_2.png and the corresponding TileSheets/furniture_2Front.png for what im talking about Bolb

#

this thing is used to draw the chair's back above the player when you sit

lucid iron
fickle lichen
lucid iron
#

you can just do a check for those mods yea

#

in CP you do HasMod

#

in C# you do Helper.ModRegistry.IsLoaded("spacechase0.BiggerBackpack")

#

you can generally assume that the list of loaded mods will not change, and just completely not enable any logic related to custom bus station stuff when you know central station is loaded

uncut viper
#

"you can generally assume the list of loaded mods will not change" For Now

lucid iron
#

button threatening to change this

uncut viper
#

At the very least I can say I've looked into it more than one would if they had absolutely zero intention of trying it, but not enough to say that I will definitely try it

patent lanceBOT
low marlin
#

For HMK, can we detect the number of kids the player is having, so that a machine made to "generate babies" will stop functioning if the maximum number of children in a household has been reached?

old edge
#

So some people use bus locations mod how would I add a condition for that

uncut viper
#

What a concept

old edge
#

I’m so confused

#

I regret making bus stops my mod lol

lucid iron
#

i can do it real quick hold on

old edge
#

I was just gonna remove the bus stop method of getting to my map

low marlin
# lucid iron hm i never added a GSQ for that oop

Also, I still wonder if a custom NPC kid still need toddler sprites with arm waving/sitting animation like a regular toddler would (or that custom kid NPC sprites would need those frames as if they are toddlers)

calm nebula
low marlin
# calm nebula Interested in family planning i swe

I mean not that -

I am planning for making a machine that makes ||homunculus children out of specific materials (for aroace and/or magic/alchemy-themed runs)|| - and if the player already have whatever maximum number of children - that machine would not function anymore unless any number of children are doved

lucid iron
#

mushymato.HaveMoreKids_CAN_HAVE_CHILD <spouse> [kidId]

#

the check work just like the one in mushymato.HaveMoreKids_SetNewChildEvent

lucid iron
#

set the ToddlerAnim16To19 and ToddlerAnim20To23 fields to whatever frames you want

low marlin
#

Does this work if the player is having a roommate instead of a spouse (as in, having a roommate and then add a machine that can "generate" babies instead of adopt/having one biologically)?

#

(I mean for the GSQ)

lucid iron
#

a roommate is internally a spouse NotteThink

low marlin
lucid iron
#

it has to be 4 frames but u can repeat

lucid iron
#

if you have a roommate that has SpouseAdopts resolve to true tho you do get the special path hmk added where normal night event new child is possible even for roommate

#

and they'd use the adopt dialog (or whatever custom dialogue you put for them)

low marlin
# lucid iron it has to be 4 frames but u can repeat

The standard Growing Valley-derived child spritesheet only covers 4-directional movement and a 2-frame sitting/reading animation, like this:

Given that GV assets are free to use with credit - Should extra frames be added for compatibility?

lucid iron
#

nah u can just repeat frames ez

low marlin
low marlin
lucid iron
#

so when i did muffin cookie convert i did actually go edit their sprites (bc i didnt implement ToddlerAnim20To23 and such yet

#

what you basically want to do is "ToddlerAnim16To19": [0, 0, 1, 2, 3]

#

"ToddlerAnim20To23": [16, 16, 17, 17]

#

so that the frames get redirected basically

low marlin
#

What if the "ToddlerAnim16To19" property be just making the custom NPC kid stand in one place, as in all frames are frame 0?

lucid iron
#

sure

low marlin
#

Is this possible?

lucid iron
#

its up to u what do PecoWant

#

the num of frames do gotta match (and i actually typo'd myself earlier oop)

#

but what frames is your choice

low marlin
lucid iron
#

Yeah that's still the default

#

In vanilla the adopt flag really just affects the dialogue though, for fine control I recommend using the feature in hmk to add custom new child dialogue

#

I am eep now but feel free to ping questions I'll answer when wake

tranquil surge
#

Okay, so the CP changes I made aren't taking for my map.
And I think it might have something to do with the fact that there is no location in the Locations.json file for my custom map (GrayFarm). If I just want to overwrite my Forest Farm map file with my fishing changes, would I change the "DisplayName" value, would I add a "TargetField" condition, or would I do something else entirely?

#

Or is it just easier to somehow add a new location to the Locations.json file? (I suspect not, but idk for certain)

vernal crest
tranquil surge
vernal crest
vernal crest
#

Okay, you have both situations going on here. You're replacing the vanilla forest farm and making a new farm type.

tranquil surge
vernal crest
#

However, your Load patch for the non-replacer has the wrong Target

#

This patch

{
      "Action": "Load",
      "Target": "Assets/GrayFarm",
      "FromFile": "assets/GrayFarm.tmx"
    },

Needs to be like this instead

{
      "Action": "Load",
      "Target": "Maps/GrayFarm",
      "FromFile": "assets/GrayFarm.tmx"
    },
tranquil surge
#

Ah, yup. That tracks. Is that all you think I might need to do? Or is there more?

vernal crest
#

Once you've fixed that, you should be able to make a new save and select your custom farm type and then you will hopefully see your fish edits.

tranquil surge
vernal crest
#

And you can just delete this patch entirely because you don't need to edit the vanilla farm.

    {
      "Action": "EditMap",
      "Target": "Maps/Farm_Foraging",
      "FromFile": "Assets/GrayFarm.tmx"
    },
vernal crest
#

Once you've finished developing the mod to your satisfaction, if you have a real play save that you want to migrate to your new farm type, there's a mod to let you do so. But I'd definitely recommend you don't do that until you are finished testing and making your farm map.

tranquil surge
vernal crest
#

The map itself, yes

#

Because you're using the same .tmx file to replace the vanilla Forest farm as you are using to make your new farm location.

#

Alternatively, if you would rather keep this as a replacer you can remove all the AdditionalFarms stuff and change your Data/Locations entry key to "Farm_Forest" to edit the vanilla data.

tranquil surge
#

Ah, gotcha. So then, I should now see an option for my new farm when starting a new game then? I don't recall setting anything up for that yet honestly...

vernal crest
#

Almost everything in that content.json you shared with me is for creating a new farm type.

tranquil surge
#

Okay, so with the two edits you've suggested, it should be clean to go then?

vernal crest
#

Well, I have given you two completely opposing options, so you need to choose just one of them.

#

I gave my advice at first assuming that since you'd written all the json for a new farm type that it was your preference, but I may have been wrong.

tranquil surge
#

Okay, so for testing purposes, is there an easy way to remove all map debris via SMAPI?

vernal crest
#

debug clearfarm

tranquil surge
#

Does that debug command prevent spawning of new items?

vernal crest
#

No, it just clears everything that's present at the time of running the command

#

Trees, weeds, grass, wood, stumps, boulders etc

sleek flint
#

@vernal crest the green looks good on you SDVpufferowo

vernal crest
#

Also crops and hoed dirt etc

tranquil surge
#

Okay, then I guess I need to write up some code to change the FTM then as well...
Is that possible to do in the Content.JSON or is that going to have to be on a Case by Case basis? Because as I'm aware, that's save-specific code, right?

vernal crest
#

If you're not writing an FTM mod for it (which is not save-specific), then I am unsure what you're doing and cannot advise you on it.

tranquil surge
vernal crest
#

I've not personally done any FTM stuff and I found the github a bit confusing because I wasn't sure why the content pack info wasn't at the top (maybe when Esca wrote it, that was not what they expected people to do much? IDK)

tranquil surge
vernal crest
#

Yes, but in this instance you don't need to change anything FTM-related if you want to just migrate your current save to the new farm using Easy Farm Switcher (I assume - there might be complications I am unaware of).

tranquil surge
#

Also, I'm surely doing something wrong here. I'm trying to level my character's fishing level to level 5 to test the fishing stuff, but the debug command doesn't appear to be working? It's
Debug Levelup 1 5
Right?

vernal crest
#

Why are you saying that didn't work? It worked for me

tranquil surge
vernal crest
#

If it's because you saw this:
[Console Commands] Sent debug command to the game, but there was no output.

That doesn't mean it didn't work. It just means that the command doesn't result in any text to show you in the console itself. If you alt-tab back to the game you should see it work.

tranquil surge
vernal crest
#

You probably need to save for it to actually apply the level up

tranquil surge
#

nope, just saved to a new day and nothing changed on the fishing level front...

vernal crest
#

Oh, hm, right, you didn't see the description of that command: does not actually change the skill level

#

You need to use the experience command to actually increase the skill level

#

Sorry, I forgot it works that way (very strangely)

tranquil surge
ocean sailBOT
#

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

hollow root
#

Question, I want to completely replace the farmer with my own character, and I know I have to use fashion sense to do it, but how exactly would I go about it?

#

Would I have to make a new accessory for every part of my character so that it matches?

tranquil surge
ornate locust
#

Maybe a silly question, but why not add the year-round stuff to all the seasonal lists?

#

If yo ucan't get it working with the separate tables, anyway

hollow root
low marlin
#

And how are “spouse” and “kidId” supposed to be used in the GSQ’s context?

latent mauve
devout otter
brave fable
#

based on the method names, a bunch of stuff SDVdemetriums

#

RemoveGoblinNose and AddWeirdLight are outstanding

#

the bulk of it is festival setup including lights and map tiles, gassy overlay, colourful fireflies, adding lights, and shifting krobus around; but there's a lot more miscellaneous fluff that could possibly be covered by recent data model improvements

#

there's a handful of unique behaviours for the hats added, like the goblin nose mentioned before, and the shadow people masks that let you enter the festival and ignore damage from shadows elsewhere

#

and of course the pin-the-tail minigame, which is a minigame

#

(unrelated) utterly at a loss as to what a crow trinket critter would do that hasn't already been done lol

#

annoyingly also hard to make a nice looking old shiny coin with a hole in the middle. maybe crow egg is better visually and thematically

tranquil surge
devout otter
latent mauve
tranquil surge
tranquil surge
latent mauve
#

Area 1 would be your overall farm (or the farm minus the beach if your coordinates were specific enough), Area 2 would be the beach on your farm, etc.

#

Also, have you confirmed that Beach is a valid terrain type by using debug whereami in SMAPI on a beach tile in your farm?

#

I think you may need to use "Custom" and then set the CustomTileIndex for your 'beach' tiles

tranquil surge
latent mauve
#

FTM is very specific about which terrain types it will accept as valid arguments.

tranquil surge
latent mauve
#

It's not that much work at all.

#

I don't know how/if the Paths layer if your map TMX interacts with FTM

tranquil surge
latent mauve
tranquil surge
#

Twice that if I want reduced odds of spawning the further away from the water they are. Definitely not even gonna bother with that for now though.

vernal crest
#

You don't usually set tile properties via tile objects on the Paths layer, is that something the FTM docs directed you to do? Normally it's on the Back layer

#

Because the data has to be on the layer relating to the tile it's affecting

tranquil surge
#

Like, it's literally grayed out in Tiled, so not a valid option whatsoever.

vernal crest
#

So it's not letting you do this?

#

You have to be on the pink object layers, not the blue tile layers.

tranquil surge
vernal crest
#

No, you're thinking of tile properties, which is not what this is. These are tile objects and I'm editing the property only for this object.

latent mauve
#

Esca would be better to ask if/when they're around, but it looks like you can set the ExcludeCoordinates to grab a range or rectangular selection with a ; between two coordinates, which may help you to simplify the areas a bit. (the "lots of forage but not near the farmhouse" example image and code from the FTM docs)

tranquil surge
#

This is a screenshot of one of the bodies of water, and all the white boxes are where I want the beach tiles to be.

vernal crest
#

Okay, you should be able to just cut and paste those from the Paths layer to the Back layer.

#

Whether that will fix the issue you're having with FTM I do not know, but at least then they'll be on the right layer.

tranquil surge
#

Well, worth a shot at least. Doing that now.

vernal crest
#

Tile properties affect all instances of that tile because they're tied to the tile ID. Tile object properties are tied to the coordinates of the map that they are placed on, so the only affect those coordinates.

#

If it doesn't, then what lily is suggesting seems like the way to go.

tranquil surge
vernal crest
#

Did you change anything except the layer those objects were on?

tranquil surge
#

But I didn't touch anything on the normal foraging, so idk what's going on there...

vernal crest
#

Try changing those things back

#

(Make a copy of what you've got now, so if that isn't the problem you can reinstate your changes easily)

tranquil surge
vernal crest
tranquil surge
#

But even still, I should be able to create a custom tile type, surely? If I'm only restricted to choosing between dirt, stone, grass, and diggable, then that pretty much eliminates all possibility of customisability...

Again, I lament the loss of CFL, as things were so much simpler with that system that is no longer supported...

vernal crest
#

I think you are going to have to use IncludeCoordinates and ExcludeCoordinates like lily said.

#

Why do you think CFL isn't supported anymore? I'm using a CFL farm for my playthrough and lixx updated it only last year

tranquil surge
vernal crest
#

You don't really need to make it that fussy, imo

tranquil surge
vernal crest
#

You could have just pinged Lixx, I imagine

tranquil surge
vernal crest
#

Alternatively, use CustomTileIndex

tranquil surge
# vernal crest You could have just pinged Lixx, I imagine

I mean, there are three different versions of that username, none of which match exactly, so idk which would be correct, even had I thought to do so before I started this entire adventure 2 weeks ago and sunk over 60 hours into transferring everything to completely different systems...

vernal crest
#

Use an invisible tile, put it on your Back layer, list that as your IncludeTerrainType

#

Hey, no. Please don't be insulting to the people who are making these systems.

#

Any of this is only possible at all because of their hard work. Just because it's not exactly to your liking does not make it okay for you to call them broken.

#

Copy everything that's currently on the Back layers onto Back2 so they still look right

tranquil surge
#

Plus I should probably get some sleep. it's 4am where I'm at, and I've been at this since roughly 12 noon today with little to no noticable progress...

vernal crest
#

When you come back to it, give my suggestion of the CustomTileIndex a go. Should only take a couple of minutes to try it out.

#

If I haven't explained it well enough for you to know what to do, feel free to ping me to ask for more guidance.

tranquil surge
# vernal crest When you come back to it, give my suggestion of the CustomTileIndex a go. Should...

I mean, with what I have now, the WhereAmI is saying that the Terrain Type is Beach and Quarry for the two things I've set up that way. So there's that at least.

Unfortunately, it seems that it's just not gonna work unless I write up a bunch of include sections. And if I don't want forage spawning in or too far away from the water, I unfortunately need to be particular and write out the coordinates for all 57 TileData sections where I want the beach forage to spawn...

#

As for the CustomTileIndex, since that overwrites what that tile id counts as, and since I use all of the possible tiles in other sections of the map, then I'm sure that would just create even more issues.

vernal crest
# tranquil surge As for the CustomTileIndex, since that overwrites what that tile id counts as, a...

I think you have misunderstood what I was suggesting. I am suggesting changing your beach forage spawn area's IncludeTerrainTypes field to only contain "Custom", and then using CustomTileIndex to indicate a tile index on the tilesheet that you will then use to paint onto your map's Back layer in the places you want beach forage. By using an invisible tile you can ensure it won't be used elsewhere on the map.

#

Take tile ID 16 on spring_outdoorsTileSheet, for example. It's probably not used, given there's nothing on it.

tranquil surge
#

I think the part where I'm getting lost is the invisible tile thing...
Because there aren't any invisible tiles unless you're talking about the TileData sections. Right?

vernal crest
#

Nope

#

Right there to the top left of the big pink tree at the top right of spring_outdoorsTileSheet.png

#

And there's lots of others

tranquil surge
#

Okay, yeah, I see those. But when I try adding it to the back section, it just replaces the current map tile that's listed there...

vernal crest
#

Yes, that's why I said you'd copy and paste the existing Back tiles to a Back2 layer

#

So they'd be what was visible instead

vernal crest
#

You might end up with some strangeness if you try to hoe there

#

But I can't imagine you'd want to plant crops there if you're going to all this trouble to make forage spawn there

tranquil surge
tranquil surge
vernal crest
#

Well, you have to pick your battles

#

Probably still worth testing one tile to see what happens

tranquil surge
vernal crest
#

Alternatively, you could easily just edit the tilesheet

#

To give it the dirt appearance

#

Then you don't need the Back2 layer tiles

#

Or even add a new custom tilesheet to the map so there's no risk of the tiles ever being used in any other context because neither vanilla nor another mod would have used your custom tiles

#

(Making and using a custom tilesheet might seem daunting but it's actually pretty simple)

tranquil surge
#

Okay, so for the CustomTileIndex, I just put the ID of the invisible tile I used there, correct?

vernal crest
#

Yep

tranquil surge
#

Okay, thanks so much!
I'll test it out tomorrow once I've gotten some sleep. Spent 14 hours on this today alone, so here's to hoping...

ornate drift
#

ingame assets are so annoying to recreate 💔

vernal crest
#

Why are you trying to recreate assets? /curious

ornate drift
#

I'm planning on making a commission sheet for my Stardew Valley portraits

and i want the commission sheet to look exactly like Stardew's style

#

It's more of just "visual flare"

#

Like i thought that making an ordinary commission sheet would look too unappealing and boring

#

i did it XevYay

#

....now how do i stylize it think

lucid iron
#

The spouse is either Any or the particular spouse you want to check

#

Kidid also Any or particular kid

#

Now that I eep and woke tho I realized I forgot some checks here

low marlin
# lucid iron This goes in requiredcondition of trigger

So basically:

If the player have less than the maximum number of kids (either the vanilla limit of 2 or whatever limit HMK has) - The machine works like intended - But once the player hit that limit, the machine would refuse the input raw material (s) to "synthesise" a homunculus child unless any number of the player's children is doved - leaving room for other kids

ornate drift
#

could anyone send the font_colored.png image here

#

I'm not at my pc

hallow prism
#

we usually don't do that

ornate drift
#

oh? how come

vernal crest
#

Because we want to minimise the amount of unedited game content that is being distributed, given that it's not open source. We're privileged by CA to be able to use the game's assets to mod the game and we want to be as respectful of that privilege possible.

ornate drift
#

hmmm

#

Okay, yeah, that makes sense

#

I'll just go on my laptop then, thanks amicussippy

#

wait doesn't spriters resource have it?

lucid iron
vernal crest
lucid iron
#

But the thing i realized is that the check only works when u got actual spouse rn SMCPufferjail

vernal crest
#

(I'm not speaking as a moderator there, I'm unaware of any official policy existing about it)

lucid iron
#

So I'll update it to also check even when spouse=Any

ornate drift
#

alrighty

lucid iron
#

Speedy u can probably just use the scroll generator

ornate drift
#

what's that?

iron ridge
lucid iron
#

It's got the actual font right

ornate drift
#

Yeah but like, I don't want it specifically on a scroll
i wanna be able to use it in a pixel art program

#

but i guess i can copy and paste the text from the scroll and remove the scroll itself

#

This'll be useful regardless, thanks

carmine stream
#

hello hello, I’m looking to make a relatively simple mod, add a building to the town with two new npcs. i plan on dedicating the better part of a year to relearning and improving my basic coding skills and putting them to work to flesh out this project. that being said, anyone have ideas of a good place to start? I’ve already built out the story and lines etc, now it’s just time to put the work in

ocean sailBOT
#
Creating a Custom NPC

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

carmine stream
#

ooh, thanks for this

#

has that channel moved to a new location here?

lucid iron
#

If you mean #unknown that's a discord bug

vernal crest
#

If compatibility with other mods matters to you, I'd put some thought into that early on in the process because trying to add a building into Town is going to be tricky.

dawn ore
#

Hey folks. For a mod I'm working on I'd like to have a custom machine that outputs 1 item per day on normal days, and 3 items on windy or stormy days, so sort of like the soda machine but variable based on weather.

I've made a custom machine before and understand the basics syntax, but can't get the variability to work consistently. I've tried some different formatting of When and Condition fields but can't seem to get it right.

I'd also like that machine to appear in a custom map, how do I do that?

vernal crest
#

!json Can you share your json, please?

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.

dawn ore
#

I tried a few different iterations, here's one:
{
"Action": "EditData",
"Target": "Data/Machines",
"Entries": {
"(BC)ModName.BatteryDispenser": {
"OutputRules": [
{
"Id": "DailyBattery",
"Triggers": [
{
"Id": "DayUpdate",
"Trigger": "DayUpdate"
}
],
"OutputItem": [
{
"Condition": "WEATHER Here Wind ||| WEATHER Here Storm",
"ItemId": "(O)787",
"MinStack": 3,
"MaxStack": 3
},
{
"ItemId": "(O)787",
"MinStack": 1,
"MaxStack": 1
}
],
"MinutesUntilReady": 10
}
]
}
}
}

vernal crest
#

Please use the json validator website. That's why I linked it for you.

#

But this: "Condition": "WEATHER Here Wind ||| WEATHER Here Storm", is not valid syntax for a Condition field. Where did you get it from? (Just asking because if it's a tutorial we'll need to fix it)

dawn ore
#

Sorry for not posting the link!
I wasnt following a tutorial, I was experimenting with a few different things as I couldn't get it to work so was just throwing stuff at the wall to see what sticks to be honest!

vernal crest
#

Ah, I see. Well, if you have a look at the GSQ page it gives you an example for how to use OR in a GSQ. Let me find it for you.

brave fable
vernal crest
#

But basically if the command has a + at the end of its argument list, like WEATHER <location> <weather>+ it means you can list more than one possible value.

#

For weather, you use WEATHER Here Wind Storm

dawn ore
#

So no commas?

#

I think I tried with commas seperating them like a lost. I did see that page but didn't fully understand it sorry.

royal stump
#

commas are "and" logic, like "DAY_OF_MONTH 1, WEATHER Here Sun" = the date is 1 and it's sunny

dawn ore
#

Ah ok! Good to know..
Is there anything else wrong with my code? As even when in testing I put it with just one weather type each, ie Sun for one and Rain for the other, it still doesn't seem to fully work like I want it to.

royal stump
#

whereas "ANY \"DAY_OF_MONTH 1\" \"WEATHER Here Sun\"" = the date is 1 or it's sunny

royal stump
#

I'm not very familiar with machine stuff personally, but that could cause issues depending on when it checks the condition

dawn ore
#

Ok, so would the syntax be:
"Condition": "WEATHER Target Wind Storm",

brave fable
#

how long have i been writing if (random.NextDouble() < 0.1) when i could've been writing the far more 🆒 if (random.NextBool(0.1))

#

truly more revolutionary than random.ChooseFrom("(O)100", "(O)390")

dawn ore
#

Any other issues anyone can see with my block? I'm away from keyboard now but keen to get it fully solved tomorrow

royal stump
#

not that I'm aware of, at least

royal stump
vernal crest
#

Esca, does FTM spawn big craftables on maps?

royal stump
#

it can, yeah, either placed & operational or as pseudo-forage items

vernal crest
#

Or can it, rather

#

Cool, thanks. That's probably what Alex wants to have it appear on their map then

royal stump
#

(I think it can still do the latter, anyway? it's been a while and used to only do that)

dawn ore
#

Ok cool, I haven't used FTM at all myself but I know it's a fairly common dependency. Any hints to get me on the right track?

royal stump
#

there's an optional download on FTM's* nexus called Config Editor, which is an html file you can use to make a fresh content.json for an FTM pack and customize it with a UI

#

as far as machines go, you can spawn them with the "forage" section using an ID entry like this:
{"category": "big craftable", "name": "your machine's ID here"}
and you can use "limited number of spawns" set to 1 so it only spawns your machine one time

#

in the json itself w/o the editor, it'd look something like this

"SpringItemIndex": [
    {
        "category": "big craftable",
        "name": "your machine's ID here"
    }
],
/* put that in the other season lists too */
"LimitedNumberOfSpawns": 1```
dawn ore
#

Thanks!
Just before I go down that rabbit hole, to ask a broader question, is there an easier way to have a machine-type thing that the player can interact with to an item out of at a custom location, that varies by weather like we've discussed?

royal stump
#

if you just want it to be a persistent thing on the map that players can interact with on rain/storm days, a tile action might be viable too
though I'm not sure if there's really a simple way to set it up
e.g. the BETAS framework can run an action when players interact with a buildings-layer map tile
https://stardew.button.gay/docs/betas/mactions

#

though that does remind me, if you want prevent players just picking up your machine, FTM has a setting for that

{"category": "big craftable", "name": "your ID", "CanBePickedUp": false}```
vernal crest
#

I think Axell made a coffee machine using BETAS, couldn't tell you about conditions though

merry river
#

I have a question regarding recipe overrides in Space Core
I tried to override a custom recipe's ingredient with a context tag, the override setting can be toggled on and off via config and the override patches are gated behind the respective include
It doesn't seem like the override is working the way I intended it to though, so am I missing something? Instead of sugar there should be Sugar Item now
https://smapi.io/json/content-patcher/1fd63d223a394daa84ab870b6545f700
(just threw in the recipe patches in here so please don't mind the incorrectly positioned Changes)

#

For reference, this is the include patch in the content.json, the overrides file is in the same folder as the content json

    "When": { "Recipe Overrides": true },
    "Action": "Include",
    "FromFile": "Overrides.json",```
neon fern
#

Hi guys. I started playing arround with custom bush and i was wondering... is the quality gain by year planted feature hardcoded into fruit trees only? or it is possible to add it to custom bushes? ideally with content patcher 😅

vernal crest
merry river
vernal crest
# merry river Yes, it is

Have you tried trashing the ingredient and spawning a new one after enabling the override? Dunno if it's going to get instanced like other object data, but worth checking.

merry river
#

if that's what you mean

vernal crest
#

Hm yeah it usually updates when directly inside CJB

#

I was trying to avoid actually looking at the json so I could finish making my dinner lol

merry river
#

go make your dinner, this is not a live or die situation here SDVpuffersquee

vernal crest
#

Ok my 2 minute noodles are back in the microwave for another 5 minutes, let's do this

merry river
vernal crest
#

Looks like it! Try testing it

merry river
#

I forgot to add the context tag to sugar, let me fix it

#

wait, if someone uses cornucopia for example which has a lot of overrides and we both add the same context tag, would that cause a conflict?

vernal crest
#

Hmm, I am not knowledgeable enough to be sure. My guess is no.

frosty stump
#

Does making a mod that adds quests to you automatically based on your progress harder to do? Like a perfection helper mod but via quests

hallow prism
#

it may be a bit of work but should be doable, depending of the quests

merry river
torpid oriole
#

feeling dumb for having to ask but: how can I get my mod in the mod showcase channel?

iron ridge
#

have a mod author publish it

gentle rose
#

send a message with the link and a brief description

torpid oriole
#

Thanks!

dire spindle
#

Anyone know how I can possible try to make overgrown valley and sdve compatible with eachother as a patch for personal use? Is it even possible? Just wondering

#

I rlly like those 2 but sadly they can’t be used together :(

hard minnow
#

Hi, I'm making a custom NPC and I want to use high-resolution portraits with the HD Portraits framework.
​My question is: Do I still need to load a standard 64x64 pixel portrait in Portraits/NPCName for the NPC to spawn correctly? Or can I just load the HD image alone in content.json? I'm getting a "Failed to spawn NPC" error when I only use the HD file.

whole raptor
vernal crest
#

I don't know what overgrown valley is because I can't find it on Nexus but if it's an aesthetic mod of some kind then yes it's definitely possible to make compatible with SVE. Whether it's feasible...well, with enough determination you can do anything!

whole raptor
#

Same category as making good ol' SVR3 compatible with SVE

vernal crest
#

Ah, Lune's! That's cool.

#

Yup, same as what I'm doing to make all my mods fit together. Lots and lots of editing.

torpid oriole
ornate drift
#

Hopefully they don't have rabies though sideeye

lucid iron
#

Exciting sequel to random cats in events /lh

jaunty shuttle
#

Um so how would I make my NPC appear in-game? I just want to see one of the sprites so I can check/adjust the colors properly, it doesn't need to do literally anything except exist

autumn tide
#

hm, if it's just for sprites you could replace another NPC's sprites temporarily!

jaunty shuttle
#

How do?

#

Also do I need to set up a full spritesheet, like can I leave some blank or do I need to like grab the NPC's original sprites and frankenstien them on the same sheet or-

final arch
#

add your character to data/characters

#

and add the sprites; thats all I think? 🤔

autumn tide
#

lemme grab some resources for general mod stuffs!

#

!startmodding has some

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.

autumn tide
#

earlier i was thinking about asking to overhaul the startmodding command, here's the stuff I was writing:

Content packs are formatted text files, and don't need any prior programming knowledge. They rely on frameworks, which are mods made with C# that enable other mod authors to create a variety of content.
The most common framework mod is Content Patcher (aka CP). It's used for editing/adding to most vanilla assets. It can add/edit NPCs, maps, items, sprites, shops, and much more. To get started, see the SDV wiki's guide on Content Patcher, the Content Patcher documentation on GitHub, and the SDV wiki's list of framework mods. Note that some framework mods are extensions of Content Patcher, and will still require Content Patcher to run.
For further resources on creating content packs, check the modding index of the SDV wiki. There's also a dedicated modding wiki with specific tutorials, though it should be noted that the modding wiki may not be as up-to-date as the regular SDV wiki's modding index.

#

buttons json tutorial's great too, one sec

jaunty shuttle
#

Ahh ty

#

I have to mess with CP oh boy-

autumn tide
#

it's okay! CP is quite easy

#

just take your time

round dock
torpid oriole
#

Seems like it got quarantined on nexus 😭 does anyone have experience with this? It's just the dll and json...

uncut viper
#

You'll have to click the "How can I fix this?" on the file and follow their instructions to email them, unfortunately

lucid iron
#

you need selph.ExtraMachineConfig for this fyi

cedar turtle
#

How would I go on about adding an item for sale to a vanilla shop?
Specifically, I want to add dragon teeth to the volcano's dwarf shop. For maybe 200 cindershards (amount might change but cindershards in general I think are a decent compromise)

ornate locust
#

You'd be targeting VolcanoShop

cedar turtle
#

ty!

#

So all I need to check which are the corresponding IDs.

ornate locust
#
        "TradeItemAmount": 100,
        "Price": -1,```
Also you want this for the price
#

just change the amount, that'll do selling it for cindershards

cedar turtle
#

How would the folder structure look like? Can I just toss that into the content.json or would I need to specifically create a Data/shops.json?

ornate locust
#

What JSON stuff is in doesn't matter, it's mostly for organization or HasMod include purposes. So you can drop it in Content if you want, sure

cedar turtle
#

Gotcha, ty

cedar turtle
#

So it'd have to look like this?

ornate locust
#

Looks right to me

cedar turtle
#

Great, thanks. I'll try it out then

#

Smapi doesn't yell at me at least. That's a good thing SDVkrobusgiggle

#

Works perfectly fine!
Thanks again for the quick assist!

hallow prism
#

if i have a condition in an event using GSQ but i want this condition reversed
Should it be :
G !condition
!G condition
Or are both working?

cedar turtle
#

Don't want to clutter the modded channel too much
Is Kate highlighting things weird or is there actually a bracket too many now? Removing one doesn't make any difference. I just changed the 200 to {{PriceTooth}}

hallow prism
#

who is kate?

cedar turtle
#

kubuntu's default text editor

ornate locust
#

You have an extra } after ToothPrice

#

It should be {{ToothPrice}},

cedar turtle
#

True. (I don't know why I thought there should be one extra)

#

Doesn't change much though

#

Still doing it with those two but I guess that's just the editor being weird?

ornate locust
#

The one after Price -1 is also extra

#

Hard to pair {} with eyeballs sometimes